[
  {
    "path": ".codeflow.yml",
    "content": "secure:\n  required_reviews: 2\n  requires_mfa: true\n"
  },
  {
    "path": ".github/workflows/validate-templates.yml",
    "content": "name: Validate Templates\n\non:\n  pull_request:\n  push:\n    branches: [main]\n\nconcurrency:\n  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}\n  cancel-in-progress: true\n\njobs:\n  validate-template:\n    name: ${{ matrix.template }}\n    runs-on: ubuntu-latest\n    strategy:\n      matrix:\n        include:\n          - template: template-generic\n            setup_target: \"setup-task\"\n            setup_args: \"network=sepolia task=ci-test\"\n            task_dir_suffix: ci-test\n          - template: template-funding\n            setup_target: \"setup-funding\"\n            setup_args: \"network=sepolia\"\n            task_dir_suffix: funding\n          - template: template-gas-increase\n            setup_target: \"setup-gas-increase\"\n            setup_args: \"network=sepolia\"\n            task_dir_suffix: increase-gas-limit\n          - template: template-gas-and-elasticity-increase\n            setup_target: \"setup-gas-and-elasticity-increase\"\n            setup_args: \"network=sepolia\"\n            task_dir_suffix: increase-gas-and-elasticity-limit\n          - template: template-safe-management\n            setup_target: \"setup-safe-management\"\n            setup_args: \"network=sepolia\"\n            task_dir_suffix: safe-management\n          - template: template-upgrade-fault-proofs\n            setup_target: \"setup-upgrade-fault-proofs\"\n            setup_args: \"network=sepolia\"\n            task_dir_suffix: upgrade-fault-proofs\n          - template: template-pause-bridge-base\n            setup_target: \"setup-bridge-pause\"\n            setup_args: \"network=sepolia\"\n            task_dir_suffix: pause-bridge-base\n          - template: template-pause-superchain-config\n            setup_target: \"setup-superchain-config-pause\"\n            setup_args: \"network=sepolia\"\n            task_dir_suffix: pause-superchain-config\n          - template: template-set-bridge-partner-threshold\n            setup_target: \"setup-bridge-partner-threshold\"\n            setup_args: \"network=sepolia\"\n            task_dir_suffix: pause-bridge-base\n          - template: template-switch-to-permissioned-game\n            setup_target: \"setup-switch-to-permissioned-game\"\n            setup_args: \"network=sepolia\"\n            task_dir_suffix: switch-to-permissioned-game\n      fail-fast: false\n\n    steps:\n      - name: Harden the runner (Audit all outbound calls)\n        uses: step-security/harden-runner@a90bcbc6539c36a85cdfeb73f7e2f433735f215b # v2.15.0\n        with:\n          egress-policy: audit\n\n      - name: Checkout repository\n        uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1\n\n      # ── Foundry ──────────────────────────────────────────────────────\n      - name: Install Foundry\n        uses: foundry-rs/foundry-toolchain@82dee4ba654bd2146511f85f0d013af94670c4de # v1.4.0\n        with:\n          version: stable\n\n      # ── Setup & Dependencies ────────────────────────────────────────\n      - name: Create sample task from template\n        id: setup\n        run: |\n          make ${{ matrix.setup_target }} ${{ matrix.setup_args }}\n          TASK_DIR=\"sepolia/$(date +'%Y-%m-%d')-${{ matrix.task_dir_suffix }}\"\n          echo \"task_dir=$TASK_DIR\" >> \"$GITHUB_OUTPUT\"\n\n      - name: Install dependencies\n        working-directory: ${{ steps.setup.outputs.task_dir }}\n        run: make deps\n\n      # ── Validation ───────────────────────────────────────────────────\n      - name: Check Solidity formatting\n        working-directory: ${{ steps.setup.outputs.task_dir }}\n        run: |\n          echo \"==> forge fmt --check script/ (${{ matrix.template }})\"\n          if ! forge fmt --check script/; then\n            echo \"\"\n            echo \"::error::Formatting check failed for ${{ matrix.template }}. Run 'forge fmt script/' in the template directory to fix.\"\n            exit 1\n          fi\n\n      - name: Build (forge build)\n        working-directory: ${{ steps.setup.outputs.task_dir }}\n        run: |\n          echo \"==> forge build (${{ matrix.template }})\"\n          if ! forge build; then\n            echo \"\"\n            echo \"::error::Compilation failed for ${{ matrix.template }}. Check imports, types, and dependency versions.\"\n            exit 1\n          fi\n"
  },
  {
    "path": ".gitignore",
    "content": "# Executable cli binary\nbin/\n\ncache/\nout/\nlib/\n\n# Localhost and run-latest deploy scripts\n**/records/**/**/run-latest.json\nlocalhost/*/records/\n**/records/**/**/dry-run/\n\n# Test binary, built with `go test -c`\n*.test\n\n# Output of the go coverage tool, specifically when used with LiteIDE\n*.out\nout/\n\n/.idea/\n\nyarn-error.log\n\n.env.local\n\n.gitmodules\n\n.DS_Store\nsigner-tool/"
  },
  {
    "path": "LICENSE",
    "content": "MIT License\n\nCopyright (c) 2023-2026 Base\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "Makefile",
    "content": "FOUNDRY_COMMIT ?= 3b1129b5bc43ba22a9bcf4e4323c5a9df0023140\n\nPROJECT_DIR = $(network)/$(shell date +'%Y-%m-%d')-$(task)\nGAS_INCREASE_DIR = $(network)/$(shell date +'%Y-%m-%d')-increase-gas-limit\nGAS_AND_ELASTICITY_INCREASE_DIR = $(network)/$(shell date +'%Y-%m-%d')-increase-gas-and-elasticity-limit\nFAULT_PROOF_UPGRADE_DIR = $(network)/$(shell date +'%Y-%m-%d')-upgrade-fault-proofs\nSAFE_MANAGEMENT_DIR = $(network)/$(shell date +'%Y-%m-%d')-safe-management\nFUNDING_DIR = $(network)/$(shell date +'%Y-%m-%d')-funding\nSET_BASE_BRIDGE_PARTNER_THRESHOLD_DIR = $(network)/$(shell date +'%Y-%m-%d')-pause-bridge-base\nPAUSE_BRIDGE_BASE_DIR = $(network)/$(shell date +'%Y-%m-%d')-pause-bridge-base\nSWITCH_TO_PERMISSIONED_GAME_DIR=$(network)/$(shell date +'%Y-%m-%d')-switch-to-permissioned-game\nPAUSE_SUPERCHAIN_CONFIG_DIR = $(network)/$(shell date +'%Y-%m-%d')-pause-superchain-config\n\nTEMPLATE_GENERIC = setup-templates/template-generic\nTEMPLATE_GAS_INCREASE = setup-templates/template-gas-increase\nTEMPLATE_GAS_AND_ELASTICITY_INCREASE = setup-templates/template-gas-and-elasticity-increase\nTEMPLATE_UPGRADE_FAULT_PROOFS = setup-templates/template-upgrade-fault-proofs\nTEMPLATE_SAFE_MANAGEMENT = setup-templates/template-safe-management\nTEMPLATE_FUNDING = setup-templates/template-funding\nTEMPLATE_SET_BASE_BRIDGE_PARTNER_THRESHOLD = setup-templates/template-set-bridge-partner-threshold\nTEMPLATE_PAUSE_BRIDGE_BASE = setup-templates/template-pause-bridge-base\nTEMPLATE_SWITCH_TO_PERMISSIONED_GAME = setup-templates/template-switch-to-permissioned-game\nTEMPLATE_PAUSE_SUPERCHAIN_CONFIG = setup-templates/template-pause-superchain-config\n\nifndef $(GOPATH)\n    GOPATH=$(shell go env GOPATH)\n    export GOPATH\nendif\n\n.PHONY: install-foundry\ninstall-foundry:\n\tcurl -L https://foundry.paradigm.xyz | bash\n\t~/.foundry/bin/foundryup --commit $(FOUNDRY_COMMIT)\n\n##\n# Project Setup\n##\n# Run `make setup-task network=<network> task=<task>`\nsetup-task:\n\trm -rf $(TEMPLATE_GENERIC)/cache $(TEMPLATE_GENERIC)/lib $(TEMPLATE_GENERIC)/out\n\tcp -r $(TEMPLATE_GENERIC) $(PROJECT_DIR)\n\tmkdir -p $(network)/signatures/$(notdir $(PROJECT_DIR))\n\n# Run `make setup-gas-increase network=<network>`\nsetup-gas-increase:\n\trm -rf $(TEMPLATE_GAS_INCREASE)/cache $(TEMPLATE_GAS_INCREASE)/lib $(TEMPLATE_GAS_INCREASE)/out\n\tcp -r $(TEMPLATE_GAS_INCREASE) $(GAS_INCREASE_DIR)\n\tmkdir -p $(network)/signatures/$(notdir $(GAS_INCREASE_DIR))\n\n# Run `make setup-gas-increase network=<network>`\nsetup-gas-and-elasticity-increase:\n\trm -rf $(TEMPLATE_GAS_AND_ELASTICITY_INCREASE)/cache $(TEMPLATE_GAS_AND_ELASTICITY_INCREASE)/lib $(TEMPLATE_GAS_AND_ELASTICITY_INCREASE)/out\n\tcp -r $(TEMPLATE_GAS_AND_ELASTICITY_INCREASE) $(GAS_AND_ELASTICITY_INCREASE_DIR)\n\tmkdir -p $(network)/signatures/$(notdir $(GAS_AND_ELASTICITY_INCREASE_DIR))\n\n# Run `make setup-upgrade-fault-proofs network=<network>`\nsetup-upgrade-fault-proofs:\n\tcp -r $(TEMPLATE_UPGRADE_FAULT_PROOFS) $(FAULT_PROOF_UPGRADE_DIR)\n\tmkdir -p $(network)/signatures/$(notdir $(FAULT_PROOF_UPGRADE_DIR))\n\n# Run `make setup-safe-management network=<network>`\nsetup-safe-management:\n\trm -rf $(TEMPLATE_SAFE_MANAGEMENT)/cache $(TEMPLATE_SAFE_MANAGEMENT)/lib $(TEMPLATE_SAFE_MANAGEMENT)/out\n\tcp -r $(TEMPLATE_SAFE_MANAGEMENT) $(SAFE_MANAGEMENT_DIR)\n\tmkdir -p $(network)/signatures/$(notdir $(SAFE_MANAGEMENT_DIR))\n\n# Run `make setup-funding network=<network>`\nsetup-funding:\n\trm -rf $(TEMPLATE_FUNDING)/cache $(TEMPLATE_FUNDING)/lib $(TEMPLATE_FUNDING)/out\n\tcp -r $(TEMPLATE_FUNDING) $(FUNDING_DIR)\n\tmkdir -p $(network)/signatures/$(notdir $(FUNDING_DIR))\n\n# Run `make setup-bridge-partner-threshold network=<network>`\nsetup-bridge-partner-threshold:\n\trm -rf $(TEMPLATE_SET_BASE_BRIDGE_PARTNER_THRESHOLD)/cache $(TEMPLATE_SET_BASE_BRIDGE_PARTNER_THRESHOLD)/lib $(TEMPLATE_SET_BASE_BRIDGE_PARTNER_THRESHOLD)/out\n\tcp -r $(TEMPLATE_SET_BASE_BRIDGE_PARTNER_THRESHOLD) $(SET_BASE_BRIDGE_PARTNER_THRESHOLD_DIR)\n\tmkdir -p $(network)/signatures/$(notdir $(SET_BASE_BRIDGE_PARTNER_THRESHOLD_DIR))\n\n# Run `make setup-bridge-pause network=<network>`\nsetup-bridge-pause:\n\trm -rf $(TEMPLATE_PAUSE_BRIDGE_BASE)/cache $(TEMPLATE_PAUSE_BRIDGE_BASE)/lib $(TEMPLATE_PAUSE_BRIDGE_BASE)/out\n\tcp -r $(TEMPLATE_PAUSE_BRIDGE_BASE) $(PAUSE_BRIDGE_BASE_DIR)\n\tmkdir -p $(network)/signatures/$(notdir $(PAUSE_BRIDGE_BASE_DIR))\n\nsetup-switch-to-permissioned-game:\n\trm -rf $(TEMPLATE_SWITCH_TO_PERMISSIONED_GAME)/cache $(TEMPLATE_SWITCH_TO_PERMISSIONED_GAME)/lib $(TEMPLATE_SWITCH_TO_PERMISSIONED_GAME)/out\n\tcp -r $(TEMPLATE_SWITCH_TO_PERMISSIONED_GAME) $(SWITCH_TO_PERMISSIONED_GAME_DIR)\n\tmkdir -p $(network)/signatures/$(notdir $(SWITCH_TO_PERMISSIONED_GAME_DIR))\n\n# Run `make setup-superchain-config-pause network=<network>`\nsetup-superchain-config-pause:\n\trm -rf $(TEMPLATE_PAUSE_SUPERCHAIN_CONFIG)/cache $(TEMPLATE_PAUSE_SUPERCHAIN_CONFIG)/lib $(TEMPLATE_PAUSE_SUPERCHAIN_CONFIG)/out\n\tcp -r $(TEMPLATE_PAUSE_SUPERCHAIN_CONFIG) $(PAUSE_SUPERCHAIN_CONFIG_DIR)\n\tmkdir -p $(network)/signatures/$(notdir $(PAUSE_SUPERCHAIN_CONFIG_DIR))\n\n##\n# Solidity Setup\n##\n# Pinned tag for openzeppelin-contracts-upgradeable, installed via clone-oz-upgradeable.\nOZ_UPGRADEABLE_TAG=v4.7.3\n\n.PHONY: deps\ndeps: install-eip712sign clean-lib forge-deps clone-oz-upgradeable checkout-base-contracts-commit\n\n.PHONY: install-eip712sign\ninstall-eip712sign:\n\tgo install github.com/base/eip712sign@v0.0.11\n\n.PHONY: clean-lib\nclean-lib:\n\trm -rf lib\n\n.PHONY: forge-deps\nforge-deps:\n\tforge install --no-git github.com/foundry-rs/forge-std@0844d7e1fc5e60d77b68e469bff60265f236c398 \\\n\t\tgithub.com/OpenZeppelin/openzeppelin-contracts@v4.9.3 \\\n\t\tgithub.com/rari-capital/solmate@8f9b23f8838670afda0fd8983f2c41e8037ae6bc \\\n\t\tgithub.com/Saw-mon-and-Natalie/clones-with-immutable-args@105efee1b9127ed7f6fedf139e1fc796ce8791f2 \\\n\t\tgithub.com/Vectorized/solady@502cc1ea718e6fa73b380635ee0868b0740595f0 \\\n\t\tgithub.com/ethereum-optimism/lib-keccak@3b1e7bbb4cc23e9228097cfebe42aedaf3b8f2b9\n\n# Clone openzeppelin-contracts-upgradeable at the pinned tag without submodules.\n# This replaces `forge install --no-git` for this dependency because forge's\n# internal `git clone --recursive` populates the transitive lib/openzeppelin-contracts\n# submodule from master before checking out the tag. Git does not remove the\n# already-populated submodule directory on checkout, leaving an orphaned,\n# non-deterministic directory that changes day-to-day as master receives new commits.\n# Using --no-recurse-submodules avoids this entirely and ensures byte-identical\n# output across runs.\n.PHONY: clone-oz-upgradeable\nclone-oz-upgradeable:\n\trm -rf lib/openzeppelin-contracts-upgradeable\n\tgit clone --no-recurse-submodules --depth 1 --branch $(OZ_UPGRADEABLE_TAG) \\\n\t\thttps://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable.git \\\n\t\tlib/openzeppelin-contracts-upgradeable\n\trm -rf lib/openzeppelin-contracts-upgradeable/.git\n\n.PHONY: checkout-base-contracts-commit\ncheckout-base-contracts-commit:\n\t[ -n \"$(BASE_CONTRACTS_COMMIT)\" ] || (echo \"BASE_CONTRACTS_COMMIT must be set in .env\" && exit 1)\n\tforge install --no-git github.com/base/contracts@$(BASE_CONTRACTS_COMMIT)\n\n##\n# Task Signer Tool\n##\nSIGNER_TOOL_COMMIT=db50e4234a5475a3f109e61a83fd047924916b41\nSIGNER_TOOL_PATH=signer-tool\n\n.PHONY: checkout-signer-tool\ncheckout-signer-tool:\n\t[ -n \"$(SIGNER_TOOL_COMMIT)\" ] || (echo \"SIGNER_TOOL_COMMIT must be set in .env\" && exit 1)\n\trm -rf $(SIGNER_TOOL_PATH)\n\tmkdir -p $(SIGNER_TOOL_PATH)\n\tcd $(SIGNER_TOOL_PATH); \\\n\tgit init; \\\n\tgit remote add origin https://github.com/base/task-signing-tool.git; \\\n\tgit fetch --depth=1 origin $(SIGNER_TOOL_COMMIT); \\\n\tgit reset --hard FETCH_HEAD\n\n# Checkout and install signer-tool dependencies (used as a prerequisite by gen-validation targets)\n.PHONY: deps-signer-tool\ndeps-signer-tool: checkout-signer-tool\n\tcd $(SIGNER_TOOL_PATH) && npm ci\n\n.PHONY: sign-task\nsign-task: checkout-signer-tool\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tnpm run dev\n\n# Task origin signature variables (auto-derived, overridable).\n# These targets are designed to be invoked from task subdirectories\n# (e.g. sepolia/2026-02-19-superchain-separation/) that include this Makefile.\nTASK_NAME ?= $(notdir $(CURDIR))\nSIGNATURE_DIR ?= $(CURDIR)/../signatures/$(TASK_NAME)\n\n.PHONY: sign-as-task-creator\nsign-as-task-creator: deps-signer-tool\n\tcd $(SIGNER_TOOL_PATH) && \\\n\t\tnpx tsx scripts/genTaskOriginSig.ts sign \\\n\t\t--task-folder $(CURDIR) \\\n\t\t--signature-path $(SIGNATURE_DIR)\n\n.PHONY: sign-as-base-facilitator\nsign-as-base-facilitator: deps-signer-tool\n\tcd $(SIGNER_TOOL_PATH) && \\\n\t\tnpx tsx scripts/genTaskOriginSig.ts sign \\\n\t\t--task-folder $(CURDIR) \\\n\t\t--signature-path $(SIGNATURE_DIR) \\\n\t\t--facilitator base\n\n.PHONY: sign-as-sc-facilitator\nsign-as-sc-facilitator: deps-signer-tool\n\tcd $(SIGNER_TOOL_PATH) && \\\n\t\tnpx tsx scripts/genTaskOriginSig.ts sign \\\n\t\t--task-folder $(CURDIR) \\\n\t\t--signature-path $(SIGNATURE_DIR) \\\n\t\t--facilitator security-council\n\n##\n# Solidity Testing\n##\n.PHONY: solidity-test\nsolidity-test:\n\tforge test --ffi -vvv\n"
  },
  {
    "path": "Multisig.mk",
    "content": "# Multisig.mk — Global macros for multisig approve / execute workflows.\n#\n# Every task template should `include ../../Multisig.mk` and define at minimum:\n#   RPC_URL     — the RPC endpoint (typically $(L1_RPC_URL) or $(L2_RPC_URL))\n#   SCRIPT_NAME — the Forge script class name or .sol file path\n#\n# The two macros below (MULTISIG_APPROVE, MULTISIG_EXECUTE) are the canonical\n# way to invoke multisig operations. Signing is handled externally by the\n# task-signing-tool.\n#\n# ---------- Common fragments ----------\n\nLEDGER_HD_PATH = \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\"\n\nempty :=\nspace := $(empty) $(empty)\ncomma := ,\n\n# Join a whitespace-separated list with \", \" and normalize whitespace\ncomma_join = $(subst $(space),$(comma) ,$(strip $(foreach w,$(1),$(w))))\n\n# Validation helper for required variables\nrequire_vars = $(foreach _var,$(2),$(if $(strip $($(_var))),,$(error $(1): required variable $(_var) is not defined)))\n\n# ---------- Procedures ----------\n\n# MULTISIG_APPROVE: $(1)=address list (space-separated), $(2)=signatures (e.g., 0x or $(SIGNATURES))\ndefine MULTISIG_APPROVE\n$(call require_vars,MULTISIG_APPROVE,LEDGER_ACCOUNT RPC_URL SCRIPT_NAME) \\\n\tforge script --rpc-url $(RPC_URL) $(SCRIPT_NAME) \\\n\t--sig \"approve(address[],bytes)\" \"[$(call comma_join,$(1))]\" $(2) \\\n\t--ledger --hd-paths $(LEDGER_HD_PATH) --broadcast -vvvv\nendef\n\n# MULTISIG_EXECUTE: $(1)=signatures for run(bytes) (e.g., 0x or $(SIGNATURES))\ndefine MULTISIG_EXECUTE\n$(call require_vars,MULTISIG_EXECUTE,LEDGER_ACCOUNT RPC_URL SCRIPT_NAME) \\\n\tforge script --rpc-url $(RPC_URL) $(SCRIPT_NAME) \\\n\t--sig \"run(bytes)\" $(1) \\\n\t--ledger --hd-paths $(LEDGER_HD_PATH) --broadcast -vvvv\nendef\n\n# ---------- Validation file generation ----------\n\n# GEN_VALIDATION: Generate a validation JSON file for multisig signing.\n# $(1)=script_name, $(2)=safe_addr (comma-separated, or empty for []),\n# $(3)=sender, $(4)=output_file, $(5)=env_vars (optional prefix)\ndefine GEN_VALIDATION\n$(call require_vars,GEN_VALIDATION,RPC_URL LEDGER_ACCOUNT) \\\n\tcd $(SIGNER_TOOL_PATH) && \\\n\t\tnpx tsx scripts/genValidationFile.ts \\\n\t\t\t--rpc-url $(RPC_URL) \\\n\t\t\t--workdir $(CURDIR) \\\n\t\t\t--forge-cmd '$(if $(5),$(5) )forge script --rpc-url $(RPC_URL) $(1) --sig \"sign(address[])\" \"[$(2)]\" --sender $(3)' \\\n\t\t\t--ledger-id $(LEDGER_ACCOUNT) \\\n\t\t\t--out $(CURDIR)/validations/$(4)\nendef\n\n# ---------- Helpers ----------\n\n# GET_NONCE: Fetch the current nonce of a Safe contract.\n# $(1)=safe_address\ndefine GET_NONCE\n$(shell cast call $(1) \"nonce()\" --rpc-url $(RPC_URL) | cast to-dec)\nendef\n\n# ADDR_UPPER: Convert an address to uppercase (for env var construction).\n# Used to build per-Safe nonce override env vars passed to forge scripts,\n# e.g. SAFE_NONCE_$(call ADDR_UPPER,$(SAFE_ADDR))=$(NONCE_VALUE)\n# See mainnet/2026-02-19-superchain-separation for real-world usage.\n# $(1)=address\ndefine ADDR_UPPER\n$(shell echo \"$(1)\" | tr '[:lower:]' '[:upper:]')\nendef\n"
  },
  {
    "path": "README.md",
    "content": "![Base](logo.png)\n\n# contract-deployments\n\nThis repo contains execution code and artifacts related to Base contract deployments, upgrades, and calls. For actual contract implementations, see [base/contracts](https://github.com/base/contracts).\n\nThis repo is structured with each network having a high-level directory which contains subdirectories of any \"tasks\" (contract deployments/calls) that have happened for that network. Supported networks are `mainnet`, `sepolia`, `sepolia-alpha`, and `zeronet`.\n\n<!-- Badge row 1 - status -->\n\n[![GitHub contributors](https://img.shields.io/github/contributors/base/contract-deployments)](https://github.com/base/contract-deployments/graphs/contributors)\n[![GitHub commit activity](https://img.shields.io/github/commit-activity/w/base/contract-deployments)](https://github.com/base/contract-deployments/graphs/contributors)\n[![GitHub Stars](https://img.shields.io/github/stars/base/contract-deployments.svg)](https://github.com/base/contract-deployments/stargazers)\n![GitHub repo size](https://img.shields.io/github/repo-size/base/contract-deployments)\n[![GitHub](https://img.shields.io/github/license/base/contract-deployments?color=blue)](https://github.com/base/contract-deployments/blob/main/LICENSE)\n\n<!-- Badge row 2 - links and profiles -->\n\n[![Website base.org](https://img.shields.io/website-up-down-green-red/https/base.org.svg)](https://base.org)\n[![Blog](https://img.shields.io/badge/blog-up-green)](https://base.mirror.xyz/)\n[![Docs](https://img.shields.io/badge/docs-up-green)](https://docs.base.org/)\n[![Discord](https://img.shields.io/discord/1067165013397213286?label=discord)](https://base.org/discord)\n[![Twitter BuildOnBase](https://img.shields.io/twitter/follow/BuildOnBase?style=social)](https://x.com/BuildOnBase)\n\n<!-- Badge row 3 - detailed status -->\n\n[![GitHub pull requests by-label](https://img.shields.io/github/issues-pr-raw/base/contract-deployments)](https://github.com/base/contract-deployments/pulls)\n[![GitHub Issues](https://img.shields.io/github/issues-raw/base/contract-deployments.svg)](https://github.com/base/contract-deployments/issues)\n\n## Setup\n\nFirst, install forge if you don't have it already:\n\n- Run `make install-foundry` to install [`Foundry`](https://github.com/foundry-rs/foundry/commit/3b1129b5bc43ba22a9bcf4e4323c5a9df0023140).\n\nTo execute a new task, run one of the following commands (depending on the type of change you're making):\n\n- For a generic task: `make setup-task network=<network> task=<task-name>`\n- For gas increase tasks: `make setup-gas-increase network=<network>`\n- For combined gas, elasticity, and DA footprint gas scalar tasks: `make setup-gas-and-elasticity-increase network=<network>`\n- For fault proof upgrade: `make setup-upgrade-fault-proofs network=<network>`\n- For safe management tasks: `make setup-safe-management network=<network>`\n- For funding tasks: `make setup-funding network=<network>`\n- For updating the partner threshold in Base Bridge: `make setup-bridge-partner-threshold network=<network>`\n- For pausing / un-pausing Base Bridge: `make setup-bridge-pause network=<network>`\n- For switching to a permissioned game and retiring dispute games: `make setup-switch-to-permissioned-game network=<network>`\n- For pausing SuperchainConfig: `make setup-superchain-config-pause network=<network>`\n\nEach `setup-*` command also creates a matching `<network>/signatures/<task-dir-basename>/` directory for [task origin signing](#task-origin-signing). The parent `signatures/` directory is created automatically via `mkdir -p` for networks that do not yet have one.\n\nNext, `cd` into the directory that was created for you and follow the steps listed below for the relevant template.\n\nPlease note, for some older tasks (that have not yet been adapted to use the signer tool) you will need to manually create validation file(s) for your task as they are bespoke to each task and therefore not created automatically as a part of the templates. We use one validation Markdown file per multisig involved in the task, so if there's only one multisig involved in your task, then you can simply create a `VALIDATION.md` file at the root of your task containing the validation instructions, while if there are multiple multisigs involved in the task, then create a `validations/` sub-directory at the root of your task containing the corresponding validation Markdown files. If you need examples to work from, you can browse through similar past tasks in this repo and adapt them to your specific task. Also, please note that we have tooling to generate these files (like the `task-signer-tool`) which removes the manual aspect of creating these validation files, we will soon update these instructions to reflect how this process can be automated.\n\n## Network configuration\n\nEach network directory (`mainnet/`, `sepolia/`, `sepolia-alpha/`, `zeronet/`) contains a `.env` file that defines all contract addresses and network metadata for that chain. These variables are automatically available to every task via the `include ../.env` directive in each task's Makefile, so there is no need to manually load addresses in individual tasks or templates.\n\nThe network `.env` files contain:\n\n- **Network metadata** — `NETWORK`, `L1_RPC_URL`, `L2_RPC_URL`, `L1_CHAIN_ID`, `L2_CHAIN_ID`, `LEDGER_ACCOUNT`\n- **Admin addresses** — multisig addresses, proposer, challenger, batch sender, etc.\n- **L1 contract addresses** — proxy admin, bridges, dispute game factories, system config, etc.\n- **L2 contract addresses** — fee vaults, cross-domain messenger, standard bridge, etc.\n\nAll address variables are prefixed with `export` so they are available to child shell processes (Forge scripts, shell commands, etc.). Foundry scripts can access them via `vm.envAddress(\"VARIABLE_NAME\")`.\n\n> **Note:** If you need to add or update a contract address, edit the corresponding `{network}/.env` file directly. Do not create per-task address definitions unless they are truly task-specific.\n\n## Directory structure\n\nEach task will have a directory structure similar to the following:\n\n- **records/** Foundry will autogenerate files here from running commands\n- **script/** place to store any one-off Foundry scripts\n- **src/** place to store any one-off smart contracts (long-lived contracts should go in [base/contracts](https://github.com/base/contracts))\n- **.env** place to store task-specific environment variables (contract addresses are inherited from the network-level `.env`)\n\n## CI — Template Validation\n\nA GitHub Actions workflow automatically validates all 10 setup-templates on every pull request and on pushes to `main`.\n\n**What CI checks for each template:**\n\n1. **Solidity formatting** — `forge fmt --check script/` ensures formatting consistency.\n2. **Compilation** — `forge build` verifies that imports resolve, types are correct, and all dependencies are present.\n\nTemplates are validated in parallel using a matrix strategy, so failures are isolated per-template with clear error messages identifying the template and failure type.\n\n**How it works:**\n\n- Foundry stable is installed via the `foundry-rs/foundry-toolchain` GitHub Action.\n- For each template, the corresponding `make setup-*` target creates a task directory from the template.\n- `make deps` installs all dependencies (including base-contracts at the commit pinned in the template's `.env`).\n\n**What CI does NOT do:**\n\n- Does not run `forge script` (requires RPC URLs, env vars, and hardware wallets).\n- Does not run `forge test` (no test files exist in templates).\n- Does not run signing or execution targets (they depend on network state and hardware wallets).\n\n> See [`.github/workflows/validate-templates.yml`](.github/workflows/validate-templates.yml) for the full workflow definition.\n\n## Multisig macro convention\n\nAll task templates use global macros defined in [`Multisig.mk`](Multisig.mk) for multisig operations:\n\n| Macro              | Purpose                                                        | Key arguments                                                  |\n| ------------------ | -------------------------------------------------------------- | -------------------------------------------------------------- |\n| `MULTISIG_APPROVE` | Approve a transaction (nested safe hierarchy)                  | `(address_list, signatures)`                                   |\n| `MULTISIG_EXECUTE` | Execute an approved transaction on-chain                       | `(signatures)`                                                 |\n| `GEN_VALIDATION`   | Generate a validation JSON file for signers via the signer-tool | `(script_name, safe_addr, sender, output_file, env_vars)`     |\n\nTwo helper macros are also available for tasks that need nonce offset calculations or address manipulation:\n\n| Macro        | Purpose                                                 | Key arguments    |\n| ------------ | ------------------------------------------------------- | ---------------- |\n| `GET_NONCE`  | Fetch the current nonce of a Safe contract on-chain     | `(safe_address)` |\n| `ADDR_UPPER` | Convert an address to uppercase (for env var construction) | `(address)`     |\n\nSigning is handled externally by the [task-signing-tool](https://github.com/base/task-signing-tool).\n\nEvery template Makefile should include `Multisig.mk` and define at least two variables for the macros to work:\n\n```makefile\ninclude ../../Makefile\ninclude ../../Multisig.mk\ninclude ../.env\ninclude .env\n\nRPC_URL = $(L1_RPC_URL)       # or $(L2_RPC_URL)\nSCRIPT_NAME = MyScript         # class name or .sol file path\n```\n\nTemplates that generate validation files should use `GEN_VALIDATION` with the `deps-signer-tool` prerequisite (which checks out and installs the signer-tool):\n\n```makefile\ngen-validation: validate-config deps-signer-tool\n\t$(call GEN_VALIDATION,$(SCRIPT_NAME),,$(SENDER),base-signer.json,)\n```\n\nTemplates should use these macros rather than inline `forge script` / `eip712sign` / `bun run` invocations. The known exceptions are the incident-response pause templates, which pre-sign 20 future nonces in a loop using inline `eip712sign`; only their `execute-*` targets use `MULTISIG_EXECUTE`.\n\n## Task origin signing\n\nThe root Makefile provides three targets for generating cryptographic attestations (sigstore bundles) that prove who created and facilitated a task. These are inherited by all task Makefiles via `include ../../Makefile`.\n\n| Target                         | Purpose                                          |\n| ------------------------------ | ------------------------------------------------ |\n| `make sign-as-task-creator`    | Attest authorship of the task (run after setup)  |\n| `make sign-as-base-facilitator`| Attest Base team facilitation                    |\n| `make sign-as-sc-facilitator`  | Attest Security Council facilitation             |\n\nSignatures are stored in `<network>/signatures/<task-name>/`, where `<task-name>` is auto-derived from the task directory name. This directory is created automatically when you run any `setup-*` target (in both the root and Solana Makefiles), so it is ready for the signing tool when you invoke one of the targets below. Two variables control this behavior and can be overridden in a task's Makefile if the defaults are not appropriate:\n\n| Variable        | Default                                           | Description                        |\n| --------------- | ------------------------------------------------- | ---------------------------------- |\n| `TASK_NAME`     | `$(notdir $(CURDIR))` (directory basename)        | Name used to locate signature dir  |\n| `SIGNATURE_DIR` | `$(CURDIR)/../signatures/$(TASK_NAME)`            | Directory where signatures are stored |\n\nAll three targets depend on `deps-signer-tool`, which checks out and installs the [task-signing-tool](https://github.com/base/task-signing-tool) automatically.\n\n## Using the incident response template\n\nThis template contains scripts that will help us respond to incidents efficiently.\n\nTo use the template during an incident:\n\n1. Fill in the `.env` file with dependency commit numbers and any variables that need to be defined for the script you're running.\n1. Delete the other scripts that are not being used so that you don't run into build issues.\n1. Make sure the code compiles and check in the code.\n1. Have each signer pull the branch, and run the relevant signing command from the Makefile.\n\nTo add new incident response scripts:\n\n1. Any incident response-related scripts should be included in this template (should be generic, not specific to network), with specific TODOs wherever addresses or other details need to be filled in.\n1. Add the relevant make commands that would need to be run for the script to the template Makefile\n1. Add relevant mainnet addresses in comments to increase efficiency responding to an incident.\n\n## Using the generic template\n\nThis template can be used to do contract calls, upgrades, or one-off deployments.\n\n1. Specify the commit of [Base contracts code](https://github.com/base/contracts) you intend to use in the `.env` file\n1. Run `make deps`\n1. Put scripts in the `script` directory (see examples that are part of the template, for example, there is a file `BasicScript.s.sol`). See note below if running a task that requires a multisig to sign.\n1. Call scripts from the Makefile (see examples in the template Makefile that's copied over).\n\n## Using the gas limit increase template\n\nThis template is increasing the throughput on Base Chain.\n\n1. Ensure you have followed the instructions above in `setup`\n1. Go to the folder that was created using the `make setup-gas-increase network=<network>` step\n1. Fill in all TODOs (search for \"TODO\" in the folder) in the `.env` and `README` files. Tip: you can run `make deps` followed by `make sign-upgrade` to produce a Tenderly simulation which will help fill in several of the TODOs in the README (and also `make sign-rollback`).\n1. Check in the task when it's ready to sign and collect signatures from signers\n1. Once executed, check in the records files and mark the task `EXECUTED` in the README.\n\n## Using the combined gas limit, elasticity, and DA footprint gas scalar template\n\nThis template is used to update the gas limit, elasticity, and DA footprint gas scalar, or roll back the changes (if needed).\n\n1. Ensure you have followed the instructions above in `setup`, including running `make setup-gas-and-elasticity-increase network=<network>` and then go to the folder that was created by this command.\n1. Specify the commit of [Base contracts code](https://github.com/base/contracts) in the `.env` file.\n1. Run `make deps`.\n1. Fill in any task-specific variables in the `.env` file that have per-network comments (e.g., `OWNER_SAFE`, `SENDER`), using the value for your target network.\n1. Ensure the `SENDER` variable in the `.env` file is set to a signer of `OWNER_SAFE`.\n1. Set the `FROM_*` and `TO_*` values for gas limit and elasticity in the `.env` file.\n1. Calculate the DA footprint gas scalar with `make da-scalar TARGET_BLOB_COUNT=<value>` and set the `FROM_DA_FOOTPRINT_GAS_SCALAR` and `TO_DA_FOOTPRINT_GAS_SCALAR` values in the `.env` file.\n1. Build the contracts with `forge build`.\n1. Generate the validation file for signers with `make gen-validation`.\n1. Generate the rollback validation file for signers with `make gen-validation-rollback`.\n1. Double check the `cmd` field at the top of both of the generated validation files and ensure that the value passed to the `--sender` flag matches the `SENDER` env var already defined in the `.env` file.\n1. Ensure that all of the fields marked as `TODO` in the tasks's `README.md` have been properly filled out.\n1. Check in the task when it's ready to sign and request the facilitators to collect signatures from signers.\n1. Once executed, check in the records files and mark the task `EXECUTED` in the README.\n\n## Using the fault proof upgrade template\n\nThis template is used to upgrade the fault proof contracts. This is commonly done in conjunction with a hard fork.\n\n1. Ensure you have followed the instructions above in `setup`\n1. Go to the folder that was created using the `make setup-upgrade-fault-proofs network=<network>` step\n1. Specify the commit of [Base contracts code](https://github.com/base/contracts) you intend to use in the `.env` file\n1. Run `make deps`\n1. Add the new absolute prestate to the `.env` file. This can be found in the op-program prestates [standard-prestates.toml](https://github.com/ethereum-optimism/superchain-registry/blob/main/validation/standard/standard-prestates.toml) file.\n1. Network-specific contract addresses are loaded automatically from the network `.env` file. Fill in any remaining task-specific variables in the task's `.env` file.\n1. Build the contracts with `forge build`\n1. Remove the unneeded validations from `VALIDATION.md` and update the relevant validations accordingly\n1. Check in the task when it's ready to sign and collect signatures from signers\n1. Once executed, check in the records files and mark the task `EXECUTED` in the README.\n\n## Using the safe management template\n\nThis template is used to perform ownership management on a Gnosis Safe, like the incident multisig, specifically it can be used to change the owners of the multisig.\n\n1. Ensure you have followed the instructions above in `setup`, including running `make setup-safe-management network=<network>` and go to the folder that was created by this command.\n1. Specify the commit of [Base contracts code](https://github.com/base/contracts) you intend to use in the `.env` file.\n1. Enter the directory that was generated for the task (in the first step) and then run `make deps`.\n1. Specify the `OWNER_SAFE`, which is the safe multisig where an owner will be replaced and the `SENDER` which should be the address of a current signer of the multisig.\n1. Fill in the `OwnerDiff.json` inside the task's directory with the addresses to add to, and remove from, the multisig in their respective fields.\n1. Ensure that the `EXISTING_OWNERS_LENGTH` constant value inside the `script/UpdateSigners.s.sol` script is set appropriately, in particular that it equals the exact number of current members of the Incident Multisig Safe (prior to running the task).\n1. Build the contracts with `forge build`.\n1. Generate the validation file for signers with `make gen-validation`.\n1. Double check the `cmd` field at the top of the generated validation file at `validations/base-signer.json` and ensure that the value passed to the `--sender` flag matches the `SENDER` env var already defined in the `.env` file.\n1. Check in the task when it's ready to sign and request the facilitators to collect signatures from signers.\n1. Once executed, check in the records files and mark the task `EXECUTED` in the README.\n\n## Using the funding template\n\nThis template is used to fund addresses from a Gnosis Safe.\n\n1. Ensure you have followed the instructions above in `setup`.\n1. Run `make setup-funding network=<network>` and go to the folder that was created by this command.\n1. Specify the commit of [Base contracts code](https://github.com/base/contracts) you intend to use in the `.env` file.\n1. Run `make deps`.\n1. Specify the `SAFE`, which is the safe that will fund the addresses in the `.env` file.\n1. Specify the `recipients` and `funds` arrays (in 1e18 units) in the `funding.json` file.\n1. Build the contracts with `forge build`.\n1. Simulate the task with `make sign` and update the generic validations in `VALIDATION.md` with the real values.\n1. Check in the task when it's ready to sign and request the facilitators to collect signatures from signers.\n1. Once executed, check in the records files and mark the task `EXECUTED` in the README.\n\n## Using the Base Bridge set partner threshold template\n\nThis template is used to update the partner threshold in [Base Bridge](https://github.com/base/bridge), affecting the amount of required partner signatures to approve bridge messages.\n\n1. Ensure you have followed the instructions above in `setup`.\n1. Run `make setup-bridge-partner-threshold network=<network>` and go to the folder that was created by this command.\n1. Specify the commit of [Base contracts code](https://github.com/base/contracts) you intend to use in the `.env` file.\n1. Run `make deps`.\n1. Fill in any task-specific variables in the `.env` file that have per-network comments, using the value for your target network.\n1. Set the `NEW_THRESHOLD` variable in the `.env` file.\n1. Ensure the `--sender` flag in the `make gen-validation` command in the `Makefile` file is set to a signer for `OWNER_SAFE` in `.env`.\n1. Build the contracts with `forge build`.\n1. Generate the validation file for signers with `make gen-validation`.\n1. Check in the task when it's ready to sign and request the facilitators to collect signatures from signers.\n1. Once executed, check in the records files and mark the task `EXECUTED` in the README.\n\n## Using the pause Base Bridge template\n\nThis template is used to pause or un-pause [Base Bridge](https://github.com/base/bridge).\n\n1. Ensure you have followed the instructions above in `setup`.\n1. Run `make setup-bridge-pause network=<network>` and go to the folder that was created by this command.\n1. Specify the commit of [Base contracts code](https://github.com/base/contracts) you intend to use in the `.env` file.\n1. Run `make deps`.\n1. Fill in any task-specific variables in the `.env` file that have per-network comments (e.g., `L2_BRIDGE`), using the value for your target network.\n1. Set the `IS_PAUSED` variable to `true` or `false` in the `.env` file depending on if you intend to pause or unpause the bridge.\n1. Ensure the `SENDER` variable in the Makefile is set to a signer for `OWNER_SAFE`.\n1. Build the contracts with `forge build`.\n1. Generate the validation file for signers with `make gen-validation`.\n1. Check in the task when it's ready to sign and request the facilitators to collect signatures from signers.\n1. Once executed, check in the records files and mark the task `EXECUTED` in the README.\n\n## Using the Switch to Permissioned Game template\n\nThis template is used to switch Base to a Permissioned Game.\n\n1. Ensure you have followed the instructions above in `setup`.\n1. Run `make setup-switch-to-permissioned-game network=<network>` and go to the folder that was created by this command.\n1. Specify the commit of [Base contracts code](https://github.com/base/contracts) you intend to use in the `.env` file.\n1. Run `make deps`.\n1. Fill in any task-specific variables in the `.env` file that have per-network comments (e.g., `OWNER_SAFE`, `OP_SECURITY_COUNCIL_SAFE`, `SENDER`), using the value for your target network.\n1. Build the contracts with `forge build`.\n1. Generate the validation file for signers with `make gen-validation`.\n1. Check in the task when it's ready to sign and request the facilitators to collect signatures from signers.\n1. Once executed, check in the records files and mark the task `EXECUTED` in the README.\n\n## Using the pause SuperchainConfig template\n\nThis template is used to pause or un-pause the L1 SuperchainConfig contract.\n\n1. Ensure you have followed the instructions above in `setup`.\n1. Run `make setup-superchain-config-pause network=<network>` and go to the folder that was created by this command.\n1. Specify the commit of [Base contracts code](https://github.com/base/contracts) you intend to use in the `.env` file.\n1. Run `make deps`.\n1. Fill in any task-specific variables in the `.env` file that have per-network comments, using the value for your target network.\n1. Build the contracts with `forge build`.\n1. Sign the pause transaction with `make sign-pause` or generate the validation file for un-pausing with `make gen-validation-unpause`.\n1. Check in the task when it's ready to sign and request the facilitators to collect signatures from signers.\n1. Once executed, check in the records files and mark the task `EXECUTED` in the README.\n"
  },
  {
    "path": "SECURITY.md",
    "content": "# Security\n\n## Bug bounty program\n\nIn line with our strategy of being the safest way for users to access crypto:\n\n+ Coinbase is extending our [best-in-industry][1] million-dollar [HackerOne bug bounty program][2]\nto cover the Base network, the Base bridge contracts, and Base infrastructure.\n\n+ Coinbase's bug bounty program runs alongside Optimism's existing [Immunefi Bedrock bounty program][4]\nto support the open source [Bedrock][5] OP Stack framework.\n\n## Reporting vulnerabilities\n\nAll potential vulnerability reports can be submitted via the [HackerOne][6]\nplatform.\n\nThe HackerOne platform allows us to have a centralized and single reporting\nsource for us to deliver optimized SLA's and results. All reports submitted to\nthe platform are triaged around the clock by our team of Coinbase engineers\nwith domain knowledge, assuring the best quality of review.\n\nFor more information on reporting vulnerabilities and our HackerOne bug bounty\nprogram, view our [security program policies][7].\n\n[1]: https://www.coinbase.com/blog/celebrating-10-years-of-our-bug-bounty-program\n[2]: https://hackerone.com/coinbase?type=team \n[3]: https://stack.optimism.io/\n[4]: https://immunefi.com/bounty/optimism/\n[5]: https://stack.optimism.io/docs/releases/bedrock/\n[6]: https://hackerone.com/coinbase\n[7]: https://hackerone.com/coinbase?view_policy=true\n"
  },
  {
    "path": "mainnet/2023-06-14-deploy/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n##\n# Foundry commands\n##\n.PHONY: deploy\ndeploy:\n\t./inputs/construct-config.sh && \\\n\tforge script --rpc-url $(L1_RPC_URL) RunDeployBedrock\n\tjq --sort-keys . unsorted.json > deployed/addresses.json\n\tcp deployed/addresses.json ../addresses.json\n\trm unsorted.json inputs/foundry-config.json\n"
  },
  {
    "path": "mainnet/2023-06-14-deploy/deployed/addresses.json",
    "content": "{\n  \"AddressManager\": \"0x8EfB6B5c4767B09Dc9AA6Af4eAA89F749522BaE2\",\n  \"L1CrossDomainMessengerProxy\": \"0x866E82a600A1414e583f7F13623F1aC5d58b0Afa\",\n  \"L1ERC721BridgeProxy\": \"0x608d94945A64503E642E6370Ec598e519a2C1E53\",\n  \"L1StandardBridgeProxy\": \"0x3154Cf16ccdb4C6d922629664174b904d80F2C35\",\n  \"L2OutputOracleProxy\": \"0x56315b90c40730925ec5485cf004d835058518A0\",\n  \"OptimismMintableERC20FactoryProxy\": \"0x05cc379EBD9B30BbA19C6fA282AB29218EC61D84\",\n  \"OptimismPortalProxy\": \"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e\",\n  \"ProxyAdmin\": \"0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E\",\n  \"SystemConfigProxy\": \"0x73a79Fab69143498Ed3712e519A88a918e1f4072\",\n  \"SystemDictatorProxy\": \"0x1fE3fdd1F0193Dd657C0a9AAC37314D6B479E557\"\n}\n"
  },
  {
    "path": "mainnet/2023-06-14-deploy/execute/RunDeployBedrock.s.sol",
    "content": "\n// SPDX-License-Identifier: MIT\npragma solidity ^0.8.13;\n\nimport \"forge-std/Script.sol\";\nimport \"forge-std/StdJson.sol\";\nimport \"@base-contracts/script/deploy/l1/DeployBedrock.s.sol\";\n\ncontract RunDeployBedrock is Script {\n    function run() public {\n        DeployBedrock deployBedrock = new DeployBedrock();\n        deployBedrock.run();\n    }\n}"
  },
  {
    "path": "mainnet/2023-06-14-deploy/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nscript = 'execute'\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "mainnet/2023-06-14-deploy/inputs/construct-config.sh",
    "content": "#!/bin/bash\n\nDEPLOY_FIELDS='\"baseFeeVaultRecipient\",\"batchSenderAddress\",\"controller\",\"deployerAddress\",\"finalSystemOwner\",\"finalizationPeriodSeconds\",\"gasPriceOracleOverhead\",\"gasPriceOracleScalar\",\"l1ChainID\",\"l1FeeVaultRecipient\",\"l2BlockTime\",\"l2ChainID\",\"l2OutputOracleChallenger\",\"l2OutputOracleProposer\",\"l2OutputOracleStartingBlockNumber\",\"l2OutputOracleStartingTimestamp\",\"l2OutputOracleSubmissionInterval\",\"p2pSequencerAddress\",\"portalGuardian\",\"proxyAdminOwnerL2\",\"sequencerFeeVaultRecipient\"'\n\nDEPLOY_CONFIG_FILE=\"inputs/deploy-config.json\"\nMISC_CONFIG_FILE=\"inputs/misc-config.json\"\nFOUNDRY_CONFIG_FILE=\"inputs/foundry-config.json\"\n\n# Convert field from hex to decimal\nVALUE=$(jq -r '.l2GenesisBlockGasLimit' \"$DEPLOY_CONFIG_FILE\")\nGAS_LIMIT=$(printf %d $VALUE)\n\n# Construct config file which will be the input in deploy script\njq -s '.[0] * .[1]' \"$DEPLOY_CONFIG_FILE\" \"$MISC_CONFIG_FILE\" | \\\njq \"with_entries(select([.key] | inside([$DEPLOY_FIELDS])))\" | \\\njq --arg l2GenesisBlockGasLimit $GAS_LIMIT '. + {l2GenesisBlockGasLimit: $l2GenesisBlockGasLimit | tonumber}' | \\\njq --sort-keys | \\\njq '{\"deployConfig\": .}' > \"$FOUNDRY_CONFIG_FILE\"\n"
  },
  {
    "path": "mainnet/2023-06-14-deploy/inputs/deploy-config.json",
    "content": "{\n    \"numDeployConfirmations\": 1,\n  \n    \"finalSystemOwner\": \"0x9855054731540A48b28990B63DcF4f33d8AE46A1\",\n    \"portalGuardian\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n    \"controller\": \"0x6606d3c20cc94cc7aa1d430c0e83a5129976153a\",\n  \n    \"l1StartingBlockTag\": \"0x5c13d307623a926cd31415036c8b7fa14572f9dac64528e857a470511fc30771\",\n    \"l2GenesisBlockExtraData\": \"YWxsIHlvdXIgYmFzZSBhcmUgYmVsb25nIHRvIHlvdS4=\",\n  \n    \"l1ChainID\": 1,\n    \"l2ChainID\": 8453,\n    \"l2BlockTime\": 2,\n  \n    \"maxSequencerDrift\": 600,\n    \"sequencerWindowSize\": 3600,\n    \"channelTimeout\": 300,\n  \n    \"p2pSequencerAddress\": \"0xAf6E19BE0F9cE7f8afd49a1824851023A8249e8a\",\n    \"batchInboxAddress\": \"0xFf00000000000000000000000000000000008453\",\n    \"batchSenderAddress\": \"0x5050F69a9786F081509234F1a7F4684b5E5b76C9\",\n  \n    \"l2OutputOracleSubmissionInterval\": 1800,\n    \"l2OutputOracleStartingBlockNumber\": 0,\n    \"l2OutputOracleStartingTimestamp\": 1686789348,\n  \n    \"l2OutputOracleProposer\": \"0x642229f238fb9dE03374Be34B0eD8D9De80752c5\",\n    \"l2OutputOracleChallenger\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n  \n    \"finalizationPeriodSeconds\": 604800,\n  \n    \"proxyAdminOwner\": \"0x76A737DAC0c4eB926bd7d2D68b958A1ae6Ad6993\",\n    \"baseFeeVaultRecipient\": \"0x09C7bAD99688a55a2e83644BFAed09e62bDcCcBA\",\n    \"l1FeeVaultRecipient\": \"0x09C7bAD99688a55a2e83644BFAed09e62bDcCcBA\",\n    \"sequencerFeeVaultRecipient\": \"0x09C7bAD99688a55a2e83644BFAed09e62bDcCcBA\",\n\n    \"baseFeeVaultMinimumWithdrawalAmount\": \"0x1bc16d674ec80000\",\n    \"l1FeeVaultMinimumWithdrawalAmount\": \"0x1bc16d674ec80000\",\n    \"sequencerFeeVaultMinimumWithdrawalAmount\": \"0x1bc16d674ec80000\",\n    \"baseFeeVaultWithdrawalNetwork\": 1,\n    \"l1FeeVaultWithdrawalNetwork\": 1,\n    \"sequencerFeeVaultWithdrawalNetwork\": 1,\n  \n    \"gasPriceOracleOverhead\": 188,\n    \"gasPriceOracleScalar\": 684000,\n\n    \"l2GenesisBlockGasLimit\": \"0x1c9c380\",\n    \"l2GenesisBlockBaseFeePerGas\": \"0x3b9aca00\",\n    \"l2GenesisBlockCoinbase\": \"0x4200000000000000000000000000000000000011\",\n\n    \"enableGovernance\": false,\n  \n    \"eip1559Denominator\": 50,\n    \"eip1559Elasticity\": 6,\n    \n    \"l2GenesisRegolithTimeOffset\": \"0x0\"\n}\n"
  },
  {
    "path": "mainnet/2023-06-14-deploy/inputs/misc-config.json",
    "content": "{\n    \"deployerAddress\": \"0x6606d3c20cc94cc7aa1d430c0e83a5129976153a\"\n}"
  },
  {
    "path": "mainnet/2023-06-14-deploy/remappings.txt",
    "content": "@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/\n@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts\n@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts\n@rari-capital/solmate/=lib/solmate/\n@base-contracts/=lib/base-contracts"
  },
  {
    "path": "mainnet/2023-06-14-deploy-deterministic-proxy/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\ninclude .env.local\n\n##\n# Foundry commands\n##\n.PHONY: deploy-proxy\ndeploy-proxy:\n\tforge script DeterministicProxyDeploy --rpc-url $(L2_RPC_URL) --sig \"run(address,address,string)\" $(DEPLOYER) $(ADMIN) $(SALT) \\\n\t--private-key $(SIGNER_PRIVATE_KEY) --broadcast"
  },
  {
    "path": "mainnet/2023-06-14-deploy-deterministic-proxy/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2023-06-14-deploy-deterministic-proxy/records/DeterministicProxyDeploy.s.sol/84531/run-1686756835.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x9b3bc49600a04a77f0960a7e58ea3e5e0582c3eb3cb6fd29b9aea772ca3f991a\",\n      \"transactionType\": \"CREATE2\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0x09C7bAD99688a55a2e83644BFAed09e62bDcCcBA\",\n      \"function\": null,\n      \"arguments\": null,\n      \"rpc\": \"https://base-goerli.cbhq.net\",\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x21856935e5689490c72865f34cc665d0ff25664b\",\n        \"to\": \"0x4e59b44847b379578588920ca78fbf26c0b4956c\",\n        \"gas\": \"0xb4238\",\n        \"value\": \"0x0\",\n        \"data\": \"0xbf4491d8f9f2e3e841563ec19c29afb358f86d5bec100ce006569acd46b846d3608060405234801561001057600080fd5b5060405161094138038061094183398101604081905261002f916100b2565b6100388161003e565b506100e2565b60006100566000805160206109218339815191525490565b600080516020610921833981519152839055604080516001600160a01b038084168252851660208201529192507f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a15050565b6000602082840312156100c457600080fd5b81516001600160a01b03811681146100db57600080fd5b9392505050565b610830806100f16000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106d9565b610224565b6100a86100a33660046106f4565b610296565b6040516100b59190610777565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106d9565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ea565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060b565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81905560405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60006106357fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038390556040805173ffffffffffffffffffffffffffffffffffffffff8084168252851660208201529192507f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a15050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d457600080fd5b919050565b6000602082840312156106eb57600080fd5b610412826106b0565b60008060006040848603121561070957600080fd5b610712846106b0565b9250602084013567ffffffffffffffff8082111561072f57600080fd5b818601915086601f83011261074357600080fd5b81358181111561075257600080fd5b87602082850101111561076457600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a457858101830151858201604001528201610788565b818111156107b6576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea26469706673582212203e9545bbd92f25742cbe30879c764c7ecf7eb84d039a044082903938bc50f48364736f6c634300080f0033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610300000000000000000000000076a737dac0c4eb926bd7d2d68b958a1ae6ad6993\",\n        \"nonce\": \"0x6b\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0x9b3bc49600a04a77f0960a7e58ea3e5e0582c3eb3cb6fd29b9aea772ca3f991a\",\n      \"transactionIndex\": \"0x1\",\n      \"blockHash\": \"0x93a3b7c84f3f9f292bf076cb24ab7185896f4a66c893caf1f50939d64de73e3e\",\n      \"blockNumber\": \"0x583868\",\n      \"from\": \"0x21856935e5689490c72865f34CC665D0FF25664b\",\n      \"to\": \"0x4e59b44847b379578588920cA78FbF26c0B4956C\",\n      \"cumulativeGasUsed\": \"0x8dde3\",\n      \"gasUsed\": \"0x826ae\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x09C7bAD99688a55a2e83644BFAed09e62bDcCcBA\",\n          \"topics\": [\n            \"0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000076a737dac0c4eb926bd7d2d68b958a1ae6ad6993\",\n          \"blockHash\": \"0x93a3b7c84f3f9f292bf076cb24ab7185896f4a66c893caf1f50939d64de73e3e\",\n          \"blockNumber\": \"0x583868\",\n          \"transactionHash\": \"0x9b3bc49600a04a77f0960a7e58ea3e5e0582c3eb3cb6fd29b9aea772ca3f991a\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x0\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000010000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000100000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d05e32\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"path\": \"/Users/davidknott/Coinbase/base/contract-deployments/mainnet/2023-06-14-deploy-deterministic-proxy/records/DeterministicProxyDeploy.s.sol/84531/run-latest.json\",\n  \"returns\": {},\n  \"timestamp\": 1686756835,\n  \"chain\": 84531,\n  \"multi\": false,\n  \"commit\": \"f5b9bf2\"\n}"
  },
  {
    "path": "mainnet/2023-06-14-deploy-deterministic-proxy/remappings.txt",
    "content": "@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/\n@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts\n@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts\n@rari-capital/solmate/=lib/solmate/\n@base-contracts/=lib/base-contracts\n"
  },
  {
    "path": "mainnet/2023-06-14-deploy-deterministic-proxy/script/DeterministicProxyDeploy.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport { console } from \"forge-std/console.sol\";\nimport { Script } from \"forge-std/Script.sol\";\n\nimport { Proxy } from \"@eth-optimism-bedrock/contracts/universal/Proxy.sol\";\n\n/**\n * @title DeterministicProxyDeploy\n * @notice Script for setting deploying deterministic proxies.\n */\ncontract DeterministicProxyDeploy is Script {\n\n    function run(address deployer, address admin, string calldata salt) external {\n        console.log(\"Deployer: %s\", deployer);\n        console.log(\"Admin: %s\", admin);\n        console.log(\"salt: %s\", salt);\n        vm.startBroadcast(deployer);\n        Proxy proxy = new Proxy{ salt: keccak256(abi.encode(salt))}(admin);\n        vm.stopBroadcast();\n        console.log(\"Proxy address: %s\", address(proxy));\n    }\n}\n"
  },
  {
    "path": "mainnet/2023-06-14-test-tx/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n##\n# Foundry commands\n##\n.PHONY: test\ntest:\n\tforge script TestScript --rpc-url $(L1_RPC_URL)\n"
  },
  {
    "path": "mainnet/2023-06-14-test-tx/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2023-06-14-test-tx/remappings.txt",
    "content": "@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/\n@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts\n@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts\n@rari-capital/solmate/=lib/solmate/\n@base-contracts/=lib/base-contracts\n"
  },
  {
    "path": "mainnet/2023-06-14-test-tx/script/Test.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"forge-std/Script.sol\";\nimport \"src/Test.sol\";\n\ncontract TestScript is Script {\n    function run() public {\n        vm.broadcast(0x0996bb0F5d56BB72c85C50Bd92A950E9756dF117);\n        Test test = new Test();\n        vm.broadcast(0x0996bb0F5d56BB72c85C50Bd92A950E9756dF117);\n        test.increment();\n    }\n}\n"
  },
  {
    "path": "mainnet/2023-06-14-test-tx/src/Test.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\ncontract Test {\n    uint256 public number;\n\n    function setNumber(uint256 newNumber) public {\n        number = newNumber;\n    }\n\n    function increment() public {\n        number++;\n    }\n}\n"
  },
  {
    "path": "mainnet/2023-06-15-unpause-portal/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n##\n# Foundry commands\n##\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: unpause-portal\nunpause-portal:\n\tforge script --rpc-url $(L1_RPC_URL) RunUnpausePortal --sender $(SENDER) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\"  --sig \"run(address)\" $(INCIDENT_MULTISIG)\n"
  },
  {
    "path": "mainnet/2023-06-15-unpause-portal/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2023-06-15-unpause-portal/records/UnpausePortal.s.sol/1/run-1686800969.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x3306847757bd7c4c25e45c72b23e9a5e17d061bc7b9998b2ec752deae0703371\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n      \"function\": null,\n      \"arguments\": null,\n      \"rpc\": \"https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse\",\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x11ccb\",\n        \"value\": \"0x0\",\n        \"data\": \"0xd4d9bdcd46d4e76ba5ee7ce00812736a4c1b49a37842384ab0e36c51d04e49fa169090f8\",\n        \"nonce\": \"0x1\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": []\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0x3306847757bd7c4c25e45c72b23e9a5e17d061bc7b9998b2ec752deae0703371\",\n      \"transactionIndex\": \"0x16\",\n      \"blockHash\": \"0x108ebacb907288da33f41bef2de58b6c26b7c4828de9ce56a1b1b92006a44410\",\n      \"blockNumber\": \"0x10ac3e6\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n      \"cumulativeGasUsed\": \"0x38bda4\",\n      \"gasUsed\": \"0xce30\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x46d4e76ba5ee7ce00812736a4c1b49a37842384ab0e36c51d04e49fa169090f8\",\n            \"0x0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x108ebacb907288da33f41bef2de58b6c26b7c4828de9ce56a1b1b92006a44410\",\n          \"blockNumber\": \"0x10ac3e6\",\n          \"transactionHash\": \"0x3306847757bd7c4c25e45c72b23e9a5e17d061bc7b9998b2ec752deae0703371\",\n          \"transactionIndex\": \"0x16\",\n          \"logIndex\": \"0x52\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000800000000100000000000000000000000000000000000000000000000000000000000000000000000040000000008000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000800008000000000000000000000000080000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0x48d190b05\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"path\": \"/Users/anikaraghuvanshi/Documents/protocols/base-deployments/mainnet/2023-06-15-unpause-portal/records/UnpausePortal.s.sol/1/run-latest.json\",\n  \"returns\": {},\n  \"timestamp\": 1686800969,\n  \"chain\": 1,\n  \"multi\": false,\n  \"commit\": \"f826d66\"\n}"
  },
  {
    "path": "mainnet/2023-06-15-unpause-portal/records/UnpausePortal.s.sol/1/run-1686801711.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x994fac4468406b1a1b13a84278a99a497a9bbc3716f5cc60b3f35562e6f8d9ac\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n      \"function\": null,\n      \"arguments\": null,\n      \"rpc\": \"https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse\",\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0xa7a5e47d3959bf134e3ecdeb1f62e054f0d58a18\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x11ccb\",\n        \"value\": \"0x0\",\n        \"data\": \"0xd4d9bdcd46d4e76ba5ee7ce00812736a4c1b49a37842384ab0e36c51d04e49fa169090f8\",\n        \"nonce\": \"0x1\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0x994fac4468406b1a1b13a84278a99a497a9bbc3716f5cc60b3f35562e6f8d9ac\",\n      \"transactionIndex\": \"0x13\",\n      \"blockHash\": \"0x3b6ee9386c81bbc3e673647663c0de837263e403b0d779a654e8fcb5b92b0c7a\",\n      \"blockNumber\": \"0x10ac424\",\n      \"from\": \"0xa7a5e47D3959bf134e3EcdEb1f62e054f0D58a18\",\n      \"to\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n      \"cumulativeGasUsed\": \"0x13dd6d\",\n      \"gasUsed\": \"0xce30\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x46d4e76ba5ee7ce00812736a4c1b49a37842384ab0e36c51d04e49fa169090f8\",\n            \"0x000000000000000000000000a7a5e47d3959bf134e3ecdeb1f62e054f0d58a18\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x3b6ee9386c81bbc3e673647663c0de837263e403b0d779a654e8fcb5b92b0c7a\",\n          \"blockNumber\": \"0x10ac424\",\n          \"transactionHash\": \"0x994fac4468406b1a1b13a84278a99a497a9bbc3716f5cc60b3f35562e6f8d9ac\",\n          \"transactionIndex\": \"0x13\",\n          \"logIndex\": \"0x15\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00400000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000100000000000000000000000000800000000000000000000000000000000000000000000040000000008000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0x4412869cc\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"path\": \"/Users/michaeldehoog/src/contract-deployments/mainnet/2023-06-15-unpause-portal/records/UnpausePortal.s.sol/1/run-latest.json\",\n  \"returns\": {},\n  \"timestamp\": 1686801711,\n  \"chain\": 1,\n  \"multi\": false,\n  \"commit\": \"f826d66\"\n}"
  },
  {
    "path": "mainnet/2023-06-15-unpause-portal/records/UnpausePortal.s.sol/1/run-1686802144.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xe7e8f2173546f69c7cf6e4f5e7ce196b2a901b30899b425f8be4b738f276f6fd\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n      \"function\": null,\n      \"arguments\": null,\n      \"rpc\": \"https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse\",\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x969ffd102fbf304d4e401999333fe9397dac653d\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x11ccb\",\n        \"value\": \"0x0\",\n        \"data\": \"0xd4d9bdcd46d4e76ba5ee7ce00812736a4c1b49a37842384ab0e36c51d04e49fa169090f8\",\n        \"nonce\": \"0x0\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x2d34cf9e52ee11f6cc681a98d44e277e71dccf46b0491671051dce189f0122dc\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n      \"function\": null,\n      \"arguments\": null,\n      \"rpc\": \"https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse\",\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x969ffd102fbf304d4e401999333fe9397dac653d\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x18506\",\n        \"value\": \"0x0\",\n        \"data\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000010482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000043f4ba83a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c30000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000969ffd102fbf304d4e401999333fe9397dac653d000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a7a5e47d3959bf134e3ecdeb1f62e054f0d58a180000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x1\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0xe7e8f2173546f69c7cf6e4f5e7ce196b2a901b30899b425f8be4b738f276f6fd\",\n      \"transactionIndex\": \"0x11\",\n      \"blockHash\": \"0x69161d41d6fbaa911c1dfedae1ac9836b821c03c5eedc46707795d11d4d33261\",\n      \"blockNumber\": \"0x10ac446\",\n      \"from\": \"0x969ffD102fbF304d4e401999333FE9397DaC653D\",\n      \"to\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n      \"cumulativeGasUsed\": \"0x1e3ae9\",\n      \"gasUsed\": \"0xce30\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x46d4e76ba5ee7ce00812736a4c1b49a37842384ab0e36c51d04e49fa169090f8\",\n            \"0x000000000000000000000000969ffd102fbf304d4e401999333fe9397dac653d\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x69161d41d6fbaa911c1dfedae1ac9836b821c03c5eedc46707795d11d4d33261\",\n          \"blockNumber\": \"0x10ac446\",\n          \"transactionHash\": \"0xe7e8f2173546f69c7cf6e4f5e7ce196b2a901b30899b425f8be4b738f276f6fd\",\n          \"transactionIndex\": \"0x11\",\n          \"logIndex\": \"0x3a\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000040000000008000000400000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000004000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0x4320d2797\"\n    },\n    {\n      \"transactionHash\": \"0x2d34cf9e52ee11f6cc681a98d44e277e71dccf46b0491671051dce189f0122dc\",\n      \"transactionIndex\": \"0x10\",\n      \"blockHash\": \"0x6f03c2363fd0313344194353f08fd308873a28f073fd6d3fc3d616cd8deca273\",\n      \"blockNumber\": \"0x10ac447\",\n      \"from\": \"0x969ffD102fbF304d4e401999333FE9397DaC653D\",\n      \"to\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n      \"cumulativeGasUsed\": \"0x12ff6e\",\n      \"gasUsed\": \"0x119a6\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e\",\n          \"topics\": [\n            \"0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa\"\n          ],\n          \"data\": \"0x00000000000000000000000014536667cd30e52c0b458baaccb9fada7046e056\",\n          \"blockHash\": \"0x6f03c2363fd0313344194353f08fd308873a28f073fd6d3fc3d616cd8deca273\",\n          \"blockNumber\": \"0x10ac447\",\n          \"transactionHash\": \"0x2d34cf9e52ee11f6cc681a98d44e277e71dccf46b0491671051dce189f0122dc\",\n          \"transactionIndex\": \"0x10\",\n          \"logIndex\": \"0x18\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x46d4e76ba5ee7ce00812736a4c1b49a37842384ab0e36c51d04e49fa169090f80000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x6f03c2363fd0313344194353f08fd308873a28f073fd6d3fc3d616cd8deca273\",\n          \"blockNumber\": \"0x10ac447\",\n          \"transactionHash\": \"0x2d34cf9e52ee11f6cc681a98d44e277e71dccf46b0491671051dce189f0122dc\",\n          \"transactionIndex\": \"0x10\",\n          \"logIndex\": \"0x19\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000080000000040000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000008000000000000000000000000000000080000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000400\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0x42b80e8c1\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"path\": \"/Users/andrewflockhart/src/opensource/contract-deployments/mainnet/2023-06-15-unpause-portal/records/UnpausePortal.s.sol/1/run-latest.json\",\n  \"returns\": {},\n  \"timestamp\": 1686802144,\n  \"chain\": 1,\n  \"multi\": false,\n  \"commit\": \"f826d66\"\n}"
  },
  {
    "path": "mainnet/2023-06-15-unpause-portal/remappings.txt",
    "content": "@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/\n@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts\n@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts\n@rari-capital/solmate/=lib/solmate/\n@base-contracts/=lib/base-contracts\n"
  },
  {
    "path": "mainnet/2023-06-15-unpause-portal/script/UnpausePortal.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.13;\n\nimport \"forge-std/Script.sol\";\nimport \"@base-contracts/script/calls/UnpausePortal.s.sol\";\n\ncontract RunUnpausePortal is Script {\n    function run(address _safe) public {\n        UnpausePortal unpausePortal = new UnpausePortal();\n        unpausePortal.run(_safe);\n    }\n}"
  },
  {
    "path": "mainnet/2023-06-15-validate-deploy/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n##\n# Foundry commands\n##\n.PHONY: validate-deploy\nvalidate-deploy:\n\tforge script --rpc-url $(L1_RPC_URL) ValidateDeploy\n"
  },
  {
    "path": "mainnet/2023-06-15-validate-deploy/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2023-06-15-validate-deploy/remappings.txt",
    "content": "@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/\n@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts\n@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts\n@rari-capital/solmate/=lib/solmate/\n@base-contracts/=lib/base-contracts\n"
  },
  {
    "path": "mainnet/2023-06-15-validate-deploy/script/ValidateDeploy.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.13;\n\nimport \"forge-std/Script.sol\";\nimport \"@base-contracts/script/deploy/l1/CheckBedrockDeploy.s.sol\";\n\ncontract ValidateDeploy is Script {\n    function run() public {\n        CheckBedrockDeploy checkBedrockDeploy = new CheckBedrockDeploy();\n        checkBedrockDeploy.setup();\n        checkBedrockDeploy.run();\n    }\n}\n"
  },
  {
    "path": "mainnet/2023-06-21-transfer-system-cfg-owner/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n##\n# Foundry commands\n##\n.PHONY: sign\nsign:\n\tchmod +x ./sign.sh && ./sign.sh\n\n.PHONY: run\nrun:\n\tforge script --via-ir --rpc-url $(L1_RPC_URL) TransferSystemConfigOwner \\\n\t--sender $(SENDER) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --broadcast"
  },
  {
    "path": "mainnet/2023-06-21-transfer-system-cfg-owner/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2023-06-21-transfer-system-cfg-owner/records/TransferOwner.s.sol/1/run-1687552190.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x642679522ea3b74d7a28f73c27cda0f669b5027a24e08bc908c0b1de2cd16c5e\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x9855054731540A48b28990B63DcF4f33d8AE46A1\",\n      \"function\": null,\n      \"arguments\": null,\n      \"rpc\": \"https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse\",\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"to\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n        \"gas\": \"0x1e599\",\n        \"value\": \"0x0\",\n        \"data\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024f2fde38b00000000000000000000000014536667cd30e52c0b458baaccb9fada7046e056000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3142cedf9b438319df9e829087bcd24a29d59b0579d58ba7b3b2b63acd4300bb73eecf54d338a8bc64e8e2a10207fffb6f17bcec589be52f1e74e9dcc53f240881c491f929936e170ded4a37cb21d257776f6852b0d3ea6b54a1b9de949d88ef37e63c5e9bc67a279c51c4c84b96bdcc84ecb99edf6a3a58caa8afc5f2cf516474a1b15494416f2221546887108a50742844226e74c990fccab0b7881b1115101ef410d702a584750cf4deace25375fa94ed5360ef6438ec3914f249d5028ede702621b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x2\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": []\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0x642679522ea3b74d7a28f73c27cda0f669b5027a24e08bc908c0b1de2cd16c5e\",\n      \"transactionIndex\": \"0x16\",\n      \"blockHash\": \"0x2ae62c42c8fd33312e47dbf12e8c81b918f6791abd6529603a66699b671db13a\",\n      \"blockNumber\": \"0x10bb5ce\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": \"0x9855054731540A48b28990B63DcF4f33d8AE46A1\",\n      \"cumulativeGasUsed\": \"0x2ab71d\",\n      \"gasUsed\": \"0x14c09\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x73a79Fab69143498Ed3712e519A88a918e1f4072\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1\",\n            \"0x00000000000000000000000014536667cd30e52c0b458baaccb9fada7046e056\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x2ae62c42c8fd33312e47dbf12e8c81b918f6791abd6529603a66699b671db13a\",\n          \"blockNumber\": \"0x10bb5ce\",\n          \"transactionHash\": \"0x642679522ea3b74d7a28f73c27cda0f669b5027a24e08bc908c0b1de2cd16c5e\",\n          \"transactionIndex\": \"0x16\",\n          \"logIndex\": \"0x64\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9855054731540A48b28990B63DcF4f33d8AE46A1\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x41137f1c029bce8204a3dd563cbe824b5b30a215bdcef2f1fbff8ec92e68f4fc0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x2ae62c42c8fd33312e47dbf12e8c81b918f6791abd6529603a66699b671db13a\",\n          \"blockNumber\": \"0x10bb5ce\",\n          \"transactionHash\": \"0x642679522ea3b74d7a28f73c27cda0f669b5027a24e08bc908c0b1de2cd16c5e\",\n          \"transactionIndex\": \"0x16\",\n          \"logIndex\": \"0x65\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000400000000000000010000000000000000008000000800000040000000000008020000000000101000000000000000000000000000000000000000000000000000000000000000000000000000001000008000000000000000000000000000002000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000020000000000000000000000000000000000000000000000000000020000000000000000000000000000000000040000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0x4115a849a\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"path\": \"/Users/anikaraghuvanshi/Documents/protocols/base-deployments/mainnet/2023-06-21-transfer-system-cfg-owner/records/TransferOwner.s.sol/1/run-latest.json\",\n  \"returns\": {\n    \"0\": {\n      \"internal_type\": \"bool\",\n      \"value\": \"true\"\n    }\n  },\n  \"timestamp\": 1687552190,\n  \"chain\": 1,\n  \"multi\": false,\n  \"commit\": \"b381618\"\n}"
  },
  {
    "path": "mainnet/2023-06-21-transfer-system-cfg-owner/remappings.txt",
    "content": "@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/\n@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts\n@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts\n@rari-capital/solmate/=lib/solmate/\n@base-contracts/=lib/base-contracts\n"
  },
  {
    "path": "mainnet/2023-06-21-transfer-system-cfg-owner/script/TransferOwner.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"forge-std/Script.sol\";\nimport {\n    OwnableUpgradeable\n} from \"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\";\nimport { IMulticall3 } from \"forge-std/interfaces/IMulticall3.sol\";\nimport { SystemConfig } from \"@eth-optimism-bedrock/contracts/L1/SystemConfig.sol\";\nimport { MultisigBuilder } from \"@base-contracts/script/universal/MultisigBuilder.sol\";\n\ncontract TransferSystemConfigOwner is MultisigBuilder {\n    address constant internal SYSTEM_CONFIG_ADDR = 0x73a79Fab69143498Ed3712e519A88a918e1f4072;\n    address constant internal NEW_OWNER = 0x14536667Cd30e52C0b458BaACcB9faDA7046E056;\n    address constant internal CB_OWNER_SAFE = 0x9855054731540A48b28990B63DcF4f33d8AE46A1;\n\n    /**\n     * @notice Follow up assertions to ensure that the script ran to completion.\n     */\n    function _postCheck() internal override view {\n        require(OwnableUpgradeable(SYSTEM_CONFIG_ADDR).owner() == NEW_OWNER, \"Owner did not change\");\n    }\n\n    /**\n     * @notice Returns the safe address to execute the transaction from\n     */\n    function _ownerSafe() internal override view returns (address) {\n        return CB_OWNER_SAFE;\n    }\n\n    /**\n     * @notice Creates the calldata\n     */\n    function _buildCalls() internal override pure returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        calls[0] = IMulticall3.Call3({\n            target: SYSTEM_CONFIG_ADDR,\n            allowFailure: false,\n            callData: abi.encodeCall(\n                OwnableUpgradeable.transferOwnership,\n                (NEW_OWNER)\n            )\n        });\n\n        return calls;\n    }\n}\n"
  },
  {
    "path": "mainnet/2023-06-21-transfer-system-cfg-owner/sign.sh",
    "content": "#!/bin/bash\nset -e\n\nsource ../.env\nsource .env\n\npayload=$(forge script --via-ir --rpc-url ${L1_RPC_URL} TransferSystemConfigOwner --sig \"sign()\" | tee /dev/stderr | grep -A1 vvvvvvvv | grep -v vvvvvvvv)\ncd lib/base-contracts\necho \"${payload}\" | go run ./cmd/sign --ledger --hd-path \"m/44'/60'/${LEDGER_ACCOUNT}'/0/0\"\n"
  },
  {
    "path": "mainnet/2023-07-11-test-l2-safe/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n##\n# Foundry commands\n##\n.PHONY: deploy-test\ndeploy-test:\n\tforge script --rpc-url $(L2_RPC_URL) DeployTestProxy \\\n\t--sig \"run(address, address)\" $(DEPLOYER) $(L2_SAFE) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n##\n# MultisigBuilder commands\n##\n\n.PHONY: sign\nsign:\n\tcd lib/base-contracts && \\\n\tgo run ./cmd/sign --workdir ../.. --ledger -- forge script --via-ir --rpc-url $(L2_RPC_URL) TestL2Safe --sig \"sign()\"\n\n.PHONY: run\nrun:\n\tforge script --via-ir --rpc-url $(L2_RPC_URL) \\\n\tTestL2Safe --sig \"run(bytes)\" $(SIGNATURES) --sender $(SENDER) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2023-07-11-test-l2-safe/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2023-07-11-test-l2-safe/records/DeployTestProxy.s.sol/8453/run-1689807430.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x822d55506eb5af76227a2db3a2f5e459d2acb35cc4a983617b190dcfd1d018f2\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"ProxyAdmin\",\n      \"contractAddress\": \"0x21EB1F4C0b15336b83Ec574842C1fcfC9DF6d698\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\"\n      ],\n      \"rpc\": \"https://base-mainnet.cbhq.net\",\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"gas\": \"0x1ee52c\",\n        \"value\": \"0x0\",\n        \"data\": \"0x60803461007257601f62001bbd38819003918201601f19168301916001600160401b038311848410176100775780849260209460405283398101031261007257516001600160a01b0381168103610072576100629061005d3361008d565b61008d565b604051611ae39081620000da8239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b600080546001600160a01b039283166001600160a01b03198216811783556040519093909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a356fe6040608081526004908136101561001557600080fd5b600091823560e01c9081630652b57a1461124a57816307c8f7b0146111be578163204e1c7a14611165578163238181ae146110ea5781633ab76e9f146110975781636bd9f51614610ffa578163715018a614610f5b5781637eff275e14610d4e578163860f7cda14610b465781638d52d4a014610aa55781638da5cb5b14610a545781639623609d146105cc57816399a88ec4146103b3578382639b2ea4bd146102c657508163b794726214610281578163f2fde38b14610143575063f3b7dead146100e057600080fd5b3461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209073ffffffffffffffffffffffffffffffffffffffff6101376101326112ce565b61192f565b915191168152f35b5080fd5b90503461027d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d5761017c6112ce565b6101846115bc565b73ffffffffffffffffffffffffffffffffffffffff8091169182156101fa575060005492827fffffffffffffffffffffffff00000000000000000000000000000000000000008516176000555192167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600084a3f35b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152fd5b8280fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209060ff60035460a01c1690519015158152f35b91503461013f57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57803567ffffffffffffffff811161027d57610314903690830161159e565b9061031d6112f6565b6103256115bc565b73ffffffffffffffffffffffffffffffffffffffff60035416803b156103af5761037f938580948851968795869485937f9b2ea4bd000000000000000000000000000000000000000000000000000000008552840161163b565b03925af180156103a25761039257505051f35b61039b9061136c565b61013f5751f35b50505051903d90823e3d90fd5b8480fd5b83833461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f576103eb6112ce565b926103f46112f6565b6103fc6115bc565b73ffffffffffffffffffffffffffffffffffffffff80951694858552600160205260ff84862054169560038710156105a0578686979695961560001461048a5750803b156103af57849283602492885196879586947f3659cfe600000000000000000000000000000000000000000000000000000000865216908401525af180156103a25761039257505051f35b929392600181036105095750803b156103af578492836044927f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc94895197889687957f9b0b0fda0000000000000000000000000000000000000000000000000000000087528601521660248401525af180156103a25761039257505051f35b919450919291906002036105745790859392918452600260205261052e8585206113f0565b9260035416803b156103af5761037f938580948851968795869485937f9b2ea4bd000000000000000000000000000000000000000000000000000000008552840161163b565b6024866001857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024866021867f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b905060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d576106006112ce565b6106086112f6565b6044359267ffffffffffffffff91828511610a505736602386011215610a505761063c602495369087818601359101611567565b936106456115bc565b73ffffffffffffffffffffffffffffffffffffffff809116918289526020956001875260ff898b2054166003811015610a25578a959493929190610756576106c6908a80519a8b97889687967f4f1ef286000000000000000000000000000000000000000000000000000000008852169086015284015260448301906114ea565b039134905af1801561074c576106dd575b50505051f35b3d8086853e6106ec81856113af565b8301928281850312610748578051918211610748570182601f820112156103af578051916107198361152d565b93610726865195866113af565b8385528184840101116107485780610740940191016114b5565b3880806106d7565b8580fd5b84513d87823e3d90fd5b939796955093506107656115bc565b8189526001855260ff888a20541660038110156109fa57899493929190806108b45750813b156103af578851937f3659cfe600000000000000000000000000000000000000000000000000000000855216878401528383878183855af19283156108aa578493610892575b505b84825192019034905af13d1561088d573d6107ec8161152d565b906107f9875192836113af565b815286833d92013e5b1561080d5750505051f35b90602e9160849451937f08c379a00000000000000000000000000000000000000000000000000000000085528401528201527f50726f787941646d696e3a2063616c6c20746f2070726f78792061667465722060448201527f75706772616465206661696c65640000000000000000000000000000000000006064820152fd5b610802565b61089e9093919361136c565b61027d578291386107d0565b88513d86823e3d90fd5b600181036109495750813b156103af578851937f9b0b0fda0000000000000000000000000000000000000000000000000000000085527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc898601521686840152838360448183855af19283156108aa578493610931575b506107d2565b61093d9093919361136c565b61027d5782913861092b565b6002919293949550146000146109cf579088939291818552600286526109708986206113f0565b906003541693843b15610748576109b8948692838b8d51988995869485937f9b2ea4bd000000000000000000000000000000000000000000000000000000008552840161163b565b03925af19283156108aa57849361093157506107d2565b85896001897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b868a60218a7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b888b6021887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8680fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5773ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b50503461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610add6112ce565b602435906003821015610b425773ffffffffffffffffffffffffffffffffffffffff90610b086115bc565b16835260016020528183209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00835416911617905551f35b8380fd5b83833461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610b7e6112ce565b9267ffffffffffffffff6024358181116103af57610bb473ffffffffffffffffffffffffffffffffffffffff913690850161159e565b95610bbd6115bc565b168452602060028152838520928651928311610d225750610bde8354611319565b601f8111610cdf575b5080601f8311600114610c40575084958293949592610c35575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c191617905551f35b015190508580610c01565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08316968487528287209287905b898210610cc75750508360019596979810610c90575b505050811b01905551f35b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c19169055858080610c85565b80600185968294968601518155019501930190610c6f565b838652818620601f840160051c810191838510610d18575b601f0160051c01905b818110610d0d5750610be7565b868155600101610d00565b9091508190610cf7565b8560416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b83833461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610d866112ce565b92610d8f6112f6565b610d976115bc565b73ffffffffffffffffffffffffffffffffffffffff80951694858552600160205260ff848620541660038110156105a05780610e2057508585969594953b156103af57849283602492885196879586947f8f28397000000000000000000000000000000000000000000000000000000000865216908401525af180156103a25761039257505051f35b60018103610e7b57508585969594953b156103af57849283602492885196879586947f13af403500000000000000000000000000000000000000000000000000000000865216908401525af180156103a25761039257505051f35b9395509192600203610ef1578160035416803b156103af5784929183602492885196879586947ff2fde38b00000000000000000000000000000000000000000000000000000000865216908401525af18015610ee757610eda57509051f35b610ee39061136c565b9051f35b83513d84823e3d90fd5b610f578386519182917f08c379a0000000000000000000000000000000000000000000000000000000008352820160609060208152601e60208201527f50726f787941646d696e3a20756e6b6e6f776e2070726f78792074797065000060408201520190565b0390fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610f936115bc565b8173ffffffffffffffffffffffffffffffffffffffff8154927fffffffffffffffffffffffff0000000000000000000000000000000000000000841683555192167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08284a3f35b83833461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5773ffffffffffffffffffffffffffffffffffffffff6110486112ce565b168252600160205260ff8183205416905191600382101561106b57602083838152f35b806021857f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209073ffffffffffffffffffffffffffffffffffffffff600354169051908152f35b50503461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5761114e816111619373ffffffffffffffffffffffffffffffffffffffff6111406112ce565b1681526002602052206113f0565b90519182916020835260208301906114ea565b0390f35b50503461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209073ffffffffffffffffffffffffffffffffffffffff6101376111b96112ce565b61169b565b90503461027d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d573580151580910361027d576112026115bc565b7fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff74ff00000000000000000000000000000000000000006003549260a01b1691161760035551f35b90503461027d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d573573ffffffffffffffffffffffffffffffffffffffff811680910361027d576112a26115bc565b7fffffffffffffffffffffffff0000000000000000000000000000000000000000600354161760035551f35b6004359073ffffffffffffffffffffffffffffffffffffffff821682036112f157565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff821682036112f157565b90600182811c92168015611362575b602083101461133357565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691611328565b67ffffffffffffffff811161138057604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761138057604052565b906040519182600082549261140484611319565b9081845260019485811690816000146114735750600114611430575b505061142e925003836113af565b565b9093915060005260209081600020936000915b81831061145b57505061142e93508201013880611420565b85548884018501529485019487945091830191611443565b905061142e9550602093507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201013880611420565b918091926000905b8282106114d55750116114ce575050565b6000910152565b915080602091830151818601520182916114bd565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602093611526815180928187528780880191016114b5565b0116010190565b67ffffffffffffffff811161138057601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9291926115738261152d565b9161158160405193846113af565b8294818452818301116112f1578281602093846000960137010152565b9080601f830112156112f1578160206115b993359101611567565b90565b73ffffffffffffffffffffffffffffffffffffffff6000541633036115dd57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b9073ffffffffffffffffffffffffffffffffffffffff6116686020929594956040855260408501906114ea565b9416910152565b908160209103126112f1575173ffffffffffffffffffffffffffffffffffffffff811681036112f15790565b600073ffffffffffffffffffffffffffffffffffffffff80921680825260019160209183835260409460ff86842054166003811015611902578061174e5750506004935082908551948580927f5c60da1b0000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b6115b99250803d1061173d575b61173581836113af565b81019061166f565b503d61172b565b51903d90823e3d90fd5b80860361179a5750506004935082908551948580927faaf10f420000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b6002036118a45790839160035416908352600282528583209086519586927fbf40fac100000000000000000000000000000000000000000000000000000000845284600485015285918154916117ef83611319565b92836024880152868382169182600014611862575050600114611829575b50505082809103915afa93841561174457509261171e57505090565b87528587208793505b82841061184957505050820160440182803861180d565b80546044858c01015288968a9650909301928101611832565b90955060449350859492507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b820101913861180d565b85517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f50726f787941646d696e3a20756e6b6e6f776e2070726f7879207479706500006044820152606490fd5b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b600073ffffffffffffffffffffffffffffffffffffffff809216908181526020916001835260409360ff8584205416600381101561190257806119b15750509082600493928551948580927ff851a4400000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b600181036119fe5750509082600493928551948580927f893d20e80000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b909150600203611a4f57908260049392600354168551948580927f8da5cb5b0000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b83517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f50726f787941646d696e3a20756e6b6e6f776e2070726f7879207479706500006044820152606490fdfea26469706673582212206ce3996d0020ca145f7585b749245fa3ea49757895d59304087276c7fae1e40f64736f6c634300080f00330000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"nonce\": \"0x0\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": []\n    },\n    {\n      \"hash\": \"0xc0434db4f363b1a8487b962c09e86f91d0b41d1829cba196dfc252b428ee2ac0\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0xCFf6EbA9DD666C6AE51Ec35a3999A9715e5aAa87\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x21EB1F4C0b15336b83Ec574842C1fcfC9DF6d698\"\n      ],\n      \"rpc\": \"https://base-mainnet.cbhq.net\",\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"gas\": \"0xa12fb\",\n        \"value\": \"0x0\",\n        \"data\": \"0x6080346100b857601f61089638819003918201601f19168301916001600160401b038311848410176100bd578084926020946040528339810103126100b857516001600160a01b03808216918281036100b8577f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f926040927fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610392835493558351921682526020820152a16040516107c290816100d48239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561002c575b361561001f575b61001d6106aa565b005b6100276106aa565b610015565b6000803560e01c9081633659cfe614610093575080634f1ef2861461008a5780635c60da1b146100815780638f283970146100785763f851a4400361000e576100736104f0565b61000e565b50610073610422565b50610073610362565b506100736101d0565b3461012f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012f576100ca610132565b73ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103541633148015610127575b1561011e5761011990610647565b604051f35b506101196106aa565b50331561010b565b80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361015557565b600080fd5b919091602080825283519081818401526000945b8286106101ba575050601f817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09260409596116101ad575b0116010190565b60008582860101526101a6565b858101820151848701604001529481019461016e565b5060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015557610203610132565b6024359067ffffffffffffffff908183116101555736602384011215610155578260040135908282116101555736602483860101116101555761031f9360609273ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354163314801561035a575b156103485791602460009392849361029b84610647565b80604051938493018337810184815203915af4903d1561033d5750610313903d838111610330575b604051937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f850116011685019085821090821117610323575b60405283523d6000602085013e6105bc565b6040519182918261015a565b0390f35b61032b61058c565b610301565b61033861058c565b6102c3565b9150610313906105bc565b50505090506103556106aa565b610313565b503315610284565b50346101555760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610155576020600073ffffffffffffffffffffffffffffffffffffffff90817fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354163314801561041a575b1561040c57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54905b60405191168152f35b906104156106aa565b610403565b5033156103d9565b50346101555760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101555761045a610132565b73ffffffffffffffffffffffffffffffffffffffff907fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610382815416331480156104e8575b156104dd577f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f92826040938354935581845193168352166020820152a1005b50505061001d6106aa565b50331561049e565b50346101555760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610155576020600073ffffffffffffffffffffffffffffffffffffffff907fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103908282541633148015610584575b1561057957505460405191168152f35b9190506104156106aa565b503315610569565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b156105c357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c6564000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff90807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b6000604051a2565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff811615610708576000808092368280378136915af43d82803e15610704573d90f35b3d90fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a65640000000000000000000000000000000000000000000000000000006064820152fdfea2646970667358221220cda8c84ad0f53d583bdbfd81c99ffd0cc3a0dbb096a3ac63c6e408997f19a56d64736f6c634300080f003300000000000000000000000021eb1f4c0b15336b83ec574842c1fcfc9df6d698\",\n        \"nonce\": \"0x1\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": []\n    },\n    {\n      \"hash\": \"0x64491dc2d6222f24e7e64eabc033b48427837516ce071f478580c0a4f917c8ba\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"GasPriceOracle\",\n      \"contractAddress\": \"0x0a9F0F5B38951955ff68263510AD45Af71468D55\",\n      \"function\": null,\n      \"arguments\": null,\n      \"rpc\": \"https://base-mainnet.cbhq.net\",\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"gas\": \"0xb54b4\",\n        \"value\": \"0x0\",\n        \"data\": \"0x60e08060405234610040576001608052600060a052600060c0526109739081610046823960805181610135015260a0518161015f015260c051816101ac0152f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c9182630c18c1621461032c5782632e0f2625146102f4578263313ce567146102f457826349948e0e146102b8578263519b4bd31461027f57826354fd4d50146101005782636ef25c3a146100f5578263de26c4a1146100dc578263f45e65d81461009857505063fe173b9714610090575b600080fd5b61008b6104cb565b346100d857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d8576020906100d16105f4565b9051908152f35b5080fd5b346100d8576020906100d16100f03661040f565b61070b565b50505061008b6104cb565b903461027c57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027c57506101597f0000000000000000000000000000000000000000000000000000000000000000610800565b906101837f0000000000000000000000000000000000000000000000000000000000000000610800565b917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6101d07f0000000000000000000000000000000000000000000000000000000000000000610800565b926102576022865180966020998a6101f18185019788815193849201610496565b8301907f2e0000000000000000000000000000000000000000000000000000000000000091828d82015261022f8d8351938491602185019101610496565b01906021820152610248825180938d8785019101610496565b01036002810187520185610365565b6102738551968795818752519283809288015287870190610496565b01168101030190f35b80fd5b346100d857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d8576020906100d1610649565b346100d857602090620f42406102ec6102e46102d66100f03661040f565b6102de610649565b90610505565b6102de6105f4565b049051908152f35b346100d857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d8576020905160068152f35b346100d857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d8576020906100d1610565565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176103a657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff81116103a657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82011261008b5760043567ffffffffffffffff811161008b578160238201121561008b57806004013590610465826103d5565b926104736040519485610365565b8284526024838301011161008b5781600092602460209301838601378301015290565b918091926000905b8282106104b65750116104af575050565b6000910152565b9150806020918301518186015201829161049e565b503461008b5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008b576020604051488152f35b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821181151516610536570290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6040517f8b239f730000000000000000000000000000000000000000000000000000000081526020816004817342000000000000000000000000000000000000155afa9081156105e8576000916105ba575090565b906020823d82116105e0575b816105d360209383610365565b8101031261027c57505190565b3d91506105c6565b6040513d6000823e3d90fd5b6040517f9e8c49660000000000000000000000000000000000000000000000000000000081526020816004817342000000000000000000000000000000000000155afa9081156105e8576000916105ba575090565b6040517f5cf249690000000000000000000000000000000000000000000000000000000081526020816004817342000000000000000000000000000000000000155afa9081156105e8576000916105ba575090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146105365760010190565b9081518110156106dc570160200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600090805182915b81831061075d57505050610725610565565b908119811161053657017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbbf8111610536576104400190565b9091927fff0000000000000000000000000000000000000000000000000000000000000061078b85846106cb565b51166107cc577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb81116105365760046107c591019361069e565b9190610713565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffef81116105365760106107c591019361069e565b80156108f25780816000925b6108de575061081a826103d5565b916108286040519384610365565b808352817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610856836103d5565b013660208601375b61086757505090565b60018110610536577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190600a90603082820680198211610536570160f81b7fff000000000000000000000000000000000000000000000000000000000000001660001a6108d584866106cb565b5304908161085e565b916108ea600a9161069e565b92048061080c565b506040516040810181811067ffffffffffffffff8211176103a657604052600181527f300000000000000000000000000000000000000000000000000000000000000060208201529056fea2646970667358221220423e3494542a9935d3dd426265981eff23ee66563b708723970c29eca792028664736f6c634300080f0033\",\n        \"nonce\": \"0x2\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": []\n    },\n    {\n      \"hash\": \"0xfde936c2d7931991c489377399d507da4031d4d1df42e852d616a61383e97daf\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"GasPriceOracle\",\n      \"contractAddress\": \"0x25afe4249e4410DB5F20c6421d96E0F02C0f4E3B\",\n      \"function\": null,\n      \"arguments\": null,\n      \"rpc\": \"https://base-mainnet.cbhq.net\",\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"gas\": \"0xb54b4\",\n        \"value\": \"0x0\",\n        \"data\": \"0x60e08060405234610040576001608052600060a052600060c0526109739081610046823960805181610135015260a0518161015f015260c051816101ac0152f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c9182630c18c1621461032c5782632e0f2625146102f4578263313ce567146102f457826349948e0e146102b8578263519b4bd31461027f57826354fd4d50146101005782636ef25c3a146100f5578263de26c4a1146100dc578263f45e65d81461009857505063fe173b9714610090575b600080fd5b61008b6104cb565b346100d857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d8576020906100d16105f4565b9051908152f35b5080fd5b346100d8576020906100d16100f03661040f565b61070b565b50505061008b6104cb565b903461027c57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027c57506101597f0000000000000000000000000000000000000000000000000000000000000000610800565b906101837f0000000000000000000000000000000000000000000000000000000000000000610800565b917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6101d07f0000000000000000000000000000000000000000000000000000000000000000610800565b926102576022865180966020998a6101f18185019788815193849201610496565b8301907f2e0000000000000000000000000000000000000000000000000000000000000091828d82015261022f8d8351938491602185019101610496565b01906021820152610248825180938d8785019101610496565b01036002810187520185610365565b6102738551968795818752519283809288015287870190610496565b01168101030190f35b80fd5b346100d857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d8576020906100d1610649565b346100d857602090620f42406102ec6102e46102d66100f03661040f565b6102de610649565b90610505565b6102de6105f4565b049051908152f35b346100d857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d8576020905160068152f35b346100d857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d8576020906100d1610565565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176103a657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff81116103a657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82011261008b5760043567ffffffffffffffff811161008b578160238201121561008b57806004013590610465826103d5565b926104736040519485610365565b8284526024838301011161008b5781600092602460209301838601378301015290565b918091926000905b8282106104b65750116104af575050565b6000910152565b9150806020918301518186015201829161049e565b503461008b5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008b576020604051488152f35b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821181151516610536570290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6040517f8b239f730000000000000000000000000000000000000000000000000000000081526020816004817342000000000000000000000000000000000000155afa9081156105e8576000916105ba575090565b906020823d82116105e0575b816105d360209383610365565b8101031261027c57505190565b3d91506105c6565b6040513d6000823e3d90fd5b6040517f9e8c49660000000000000000000000000000000000000000000000000000000081526020816004817342000000000000000000000000000000000000155afa9081156105e8576000916105ba575090565b6040517f5cf249690000000000000000000000000000000000000000000000000000000081526020816004817342000000000000000000000000000000000000155afa9081156105e8576000916105ba575090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146105365760010190565b9081518110156106dc570160200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600090805182915b81831061075d57505050610725610565565b908119811161053657017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbbf8111610536576104400190565b9091927fff0000000000000000000000000000000000000000000000000000000000000061078b85846106cb565b51166107cc577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb81116105365760046107c591019361069e565b9190610713565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffef81116105365760106107c591019361069e565b80156108f25780816000925b6108de575061081a826103d5565b916108286040519384610365565b808352817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610856836103d5565b013660208601375b61086757505090565b60018110610536577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190600a90603082820680198211610536570160f81b7fff000000000000000000000000000000000000000000000000000000000000001660001a6108d584866106cb565b5304908161085e565b916108ea600a9161069e565b92048061080c565b506040516040810181811067ffffffffffffffff8211176103a657604052600181527f300000000000000000000000000000000000000000000000000000000000000060208201529056fea2646970667358221220423e3494542a9935d3dd426265981eff23ee66563b708723970c29eca792028664736f6c634300080f0033\",\n        \"nonce\": \"0x3\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": []\n    },\n    {\n      \"hash\": \"0xc7200f26d576867650850a2246de2e54f423a6d48ab89f0349e594e94c9de413\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"ProxyAdmin\",\n      \"contractAddress\": \"0x21EB1F4C0b15336b83Ec574842C1fcfC9DF6d698\",\n      \"function\": \"upgrade(address,address)\",\n      \"arguments\": [\n        \"0xCFf6EbA9DD666C6AE51Ec35a3999A9715e5aAa87\",\n        \"0x0a9F0F5B38951955ff68263510AD45Af71468D55\"\n      ],\n      \"rpc\": \"https://base-mainnet.cbhq.net\",\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"to\": \"0x21eb1f4c0b15336b83ec574842c1fcfc9df6d698\",\n        \"gas\": \"0x13bad\",\n        \"value\": \"0x0\",\n        \"data\": \"0x99a88ec4000000000000000000000000cff6eba9dd666c6ae51ec35a3999a9715e5aaa870000000000000000000000000a9f0f5b38951955ff68263510ad45af71468d55\",\n        \"nonce\": \"0x4\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": []\n    },\n    {\n      \"hash\": \"0xaa1a94bea1643e7f9c889bc0b35ee081d7af1388314becfa171343b5ec19ee34\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"ProxyAdmin\",\n      \"contractAddress\": \"0x21EB1F4C0b15336b83Ec574842C1fcfC9DF6d698\",\n      \"function\": \"transferOwnership(address)\",\n      \"arguments\": [\n        \"0xd94E416cf2c7167608B2515B7e4102B41efff94f\"\n      ],\n      \"rpc\": \"https://base-mainnet.cbhq.net\",\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"to\": \"0x21eb1f4c0b15336b83ec574842c1fcfc9df6d698\",\n        \"gas\": \"0x9ad8\",\n        \"value\": \"0x0\",\n        \"data\": \"0xf2fde38b000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f\",\n        \"nonce\": \"0x5\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": []\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0x822d55506eb5af76227a2db3a2f5e459d2acb35cc4a983617b190dcfd1d018f2\",\n      \"transactionIndex\": \"0x1\",\n      \"blockHash\": \"0x5f5eb64d649db23786041200b8afc4f8ebb4050f4508fb5a151973ee7a378188\",\n      \"blockNumber\": \"0x1706a0\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": null,\n      \"cumulativeGasUsed\": \"0x18be08\",\n      \"gasUsed\": \"0x17c3fb\",\n      \"contractAddress\": \"0x21EB1F4C0b15336b83Ec574842C1fcfC9DF6d698\",\n      \"logs\": [\n        {\n          \"address\": \"0x21EB1F4C0b15336b83Ec574842C1fcfC9DF6d698\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x5f5eb64d649db23786041200b8afc4f8ebb4050f4508fb5a151973ee7a378188\",\n          \"blockNumber\": \"0x1706a0\",\n          \"transactionHash\": \"0x822d55506eb5af76227a2db3a2f5e459d2acb35cc4a983617b190dcfd1d018f2\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x21EB1F4C0b15336b83Ec574842C1fcfC9DF6d698\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n            \"0x0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x5f5eb64d649db23786041200b8afc4f8ebb4050f4508fb5a151973ee7a378188\",\n          \"blockNumber\": \"0x1706a0\",\n          \"transactionHash\": \"0x822d55506eb5af76227a2db3a2f5e459d2acb35cc4a983617b190dcfd1d018f2\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x1\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000080000800000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001000000000000000001000000000000000000020000000000000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020800008000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d05e32\"\n    },\n    {\n      \"transactionHash\": \"0xc0434db4f363b1a8487b962c09e86f91d0b41d1829cba196dfc252b428ee2ac0\",\n      \"transactionIndex\": \"0x3\",\n      \"blockHash\": \"0xcf8fc146f6a54d89d3a8e54a9787c60b7d414b6a6707674f7865083d87fe278c\",\n      \"blockNumber\": \"0x1706a5\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": null,\n      \"cumulativeGasUsed\": \"0x9292a\",\n      \"gasUsed\": \"0x7bfd5\",\n      \"contractAddress\": \"0xCFf6EbA9DD666C6AE51Ec35a3999A9715e5aAa87\",\n      \"logs\": [\n        {\n          \"address\": \"0xCFf6EbA9DD666C6AE51Ec35a3999A9715e5aAa87\",\n          \"topics\": [\n            \"0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021eb1f4c0b15336b83ec574842c1fcfc9df6d698\",\n          \"blockHash\": \"0xcf8fc146f6a54d89d3a8e54a9787c60b7d414b6a6707674f7865083d87fe278c\",\n          \"blockNumber\": \"0x1706a5\",\n          \"transactionHash\": \"0xc0434db4f363b1a8487b962c09e86f91d0b41d1829cba196dfc252b428ee2ac0\",\n          \"transactionIndex\": \"0x3\",\n          \"logIndex\": \"0x0\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000020000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d05e32\"\n    },\n    {\n      \"transactionHash\": \"0x64491dc2d6222f24e7e64eabc033b48427837516ce071f478580c0a4f917c8ba\",\n      \"transactionIndex\": \"0x1\",\n      \"blockHash\": \"0x1187ae22e09b89111578e3c12a0e3021c03a5f3201b91c011066d4a53b01de92\",\n      \"blockNumber\": \"0x1706a7\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": null,\n      \"cumulativeGasUsed\": \"0x96e91\",\n      \"gasUsed\": \"0x8b750\",\n      \"contractAddress\": \"0x0a9F0F5B38951955ff68263510AD45Af71468D55\",\n      \"logs\": [],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d05e32\"\n    },\n    {\n      \"transactionHash\": \"0xfde936c2d7931991c489377399d507da4031d4d1df42e852d616a61383e97daf\",\n      \"transactionIndex\": \"0x1\",\n      \"blockHash\": \"0x3bebe921b6c6b816942227fe40e5110c448d2fda44793d74c3819749e1cd4c76\",\n      \"blockNumber\": \"0x1706a8\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": null,\n      \"cumulativeGasUsed\": \"0x96e91\",\n      \"gasUsed\": \"0x8b750\",\n      \"contractAddress\": \"0x25afe4249e4410DB5F20c6421d96E0F02C0f4E3B\",\n      \"logs\": [],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d05e32\"\n    },\n    {\n      \"transactionHash\": \"0xc7200f26d576867650850a2246de2e54f423a6d48ab89f0349e594e94c9de413\",\n      \"transactionIndex\": \"0x1\",\n      \"blockHash\": \"0x8587560f96c5de1e581b908bef0a3f8eb04a5775a819769f61cf931ccfaeb7ab\",\n      \"blockNumber\": \"0x1706ad\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": \"0x21EB1F4C0b15336b83Ec574842C1fcfC9DF6d698\",\n      \"cumulativeGasUsed\": \"0x18f1a\",\n      \"gasUsed\": \"0xd7d9\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0xCFf6EbA9DD666C6AE51Ec35a3999A9715e5aAa87\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x0000000000000000000000000a9f0f5b38951955ff68263510ad45af71468d55\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x8587560f96c5de1e581b908bef0a3f8eb04a5775a819769f61cf931ccfaeb7ab\",\n          \"blockNumber\": \"0x1706ad\",\n          \"transactionHash\": \"0xc7200f26d576867650850a2246de2e54f423a6d48ab89f0349e594e94c9de413\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x0\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000020000000000000000000000000100000000000000000000000000000000010000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d05e32\"\n    },\n    {\n      \"transactionHash\": \"0xaa1a94bea1643e7f9c889bc0b35ee081d7af1388314becfa171343b5ec19ee34\",\n      \"transactionIndex\": \"0x1\",\n      \"blockHash\": \"0xd72906a17efd61f22eb642ad006f719c853a8e17bc1ff12c49cc12c7c9a62c2c\",\n      \"blockNumber\": \"0x1706b0\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": \"0x21EB1F4C0b15336b83Ec574842C1fcfC9DF6d698\",\n      \"cumulativeGasUsed\": \"0x1275d\",\n      \"gasUsed\": \"0x701c\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x21EB1F4C0b15336b83Ec574842C1fcfC9DF6d698\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n            \"0x000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xd72906a17efd61f22eb642ad006f719c853a8e17bc1ff12c49cc12c7c9a62c2c\",\n          \"blockNumber\": \"0x1706b0\",\n          \"transactionHash\": \"0xaa1a94bea1643e7f9c889bc0b35ee081d7af1388314becfa171343b5ec19ee34\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x0\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000080080000800000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000200000000000000000000000000800008000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d05e32\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"path\": \"/Users/anikaraghuvanshi/Documents/protocols/base-deployments/mainnet/2023-07-11-test-l2-safe/records/DeployTestProxy.s.sol/8453/run-latest.json\",\n  \"returns\": {},\n  \"timestamp\": 1689807430,\n  \"chain\": 8453,\n  \"multi\": false,\n  \"commit\": \"0fa628c\"\n}"
  },
  {
    "path": "mainnet/2023-07-11-test-l2-safe/records/TestL2Safe.s.sol/8453/run-1689855846.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x683052176787193038fcb49ee4593837792c43ff2ad4d9f0592d75cb52250f81\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0xd94E416cf2c7167608B2515B7e4102B41efff94f\",\n      \"function\": null,\n      \"arguments\": null,\n      \"rpc\": \"https://base-mainnet.cbhq.net\",\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"to\": \"0xd94e416cf2c7167608b2515b7e4102b41efff94f\",\n        \"gas\": \"0x27f56\",\n        \"value\": \"0x0\",\n        \"data\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000014482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000021eb1f4c0b15336b83ec574842c1fcfc9df6d69800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000cff6eba9dd666c6ae51ec35a3999a9715e5aaa87000000000000000000000000004bc95c786dc50b42cc573458cc39ba82d98c09000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3bac938ef494c80e6855b16a6a9d2c46550f07b0c169bb07ced7e0e8e8a2161446caea17596af341eba8a5457c65022119d02b7dbe2c3f87972dcbf96b0f47fd31cccdd869fb6d98aed3761c124ec13c503e433e42308ad450cce9e31dc0c5315e916dc0ddd10d958e4127093ffd1fd2e3f73544bc77bcf0fa3a4851cda099a9bb21ccb9074ae44edf2c2037092dc4625f0c7e492b118344580e67b8e3190612b1ce541e76f3a54a2b7419f0b09b3ccc0ee90fd6667145c0c7b476b5f1dbcec21cea61b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x6\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": []\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0x683052176787193038fcb49ee4593837792c43ff2ad4d9f0592d75cb52250f81\",\n      \"transactionIndex\": \"0x1\",\n      \"blockHash\": \"0x23d4e026976b0bf91fe9db3cefbb227ccf59deaca81d77605293b3cdf7e1e61c\",\n      \"blockNumber\": \"0x176540\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": \"0xd94E416cf2c7167608B2515B7e4102B41efff94f\",\n      \"cumulativeGasUsed\": \"0x28620\",\n      \"gasUsed\": \"0x1cedf\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0xd94E416cf2c7167608B2515B7e4102B41efff94f\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000014482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000021eb1f4c0b15336b83ec574842c1fcfc9df6d69800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000cff6eba9dd666c6ae51ec35a3999a9715e5aaa87000000000000000000000000004bc95c786dc50b42cc573458cc39ba82d98c09000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3bac938ef494c80e6855b16a6a9d2c46550f07b0c169bb07ced7e0e8e8a2161446caea17596af341eba8a5457c65022119d02b7dbe2c3f87972dcbf96b0f47fd31cccdd869fb6d98aed3761c124ec13c503e433e42308ad450cce9e31dc0c5315e916dc0ddd10d958e4127093ffd1fd2e3f73544bc77bcf0fa3a4851cda099a9bb21ccb9074ae44edf2c2037092dc4625f0c7e492b118344580e67b8e3190612b1ce541e76f3a54a2b7419f0b09b3ccc0ee90fd6667145c0c7b476b5f1dbcec21cea61b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f0000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0x23d4e026976b0bf91fe9db3cefbb227ccf59deaca81d77605293b3cdf7e1e61c\",\n          \"blockNumber\": \"0x176540\",\n          \"transactionHash\": \"0x683052176787193038fcb49ee4593837792c43ff2ad4d9f0592d75cb52250f81\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xCFf6EbA9DD666C6AE51Ec35a3999A9715e5aAa87\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x000000000000000000000000004bc95c786dc50b42cc573458cc39ba82d98c09\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x23d4e026976b0bf91fe9db3cefbb227ccf59deaca81d77605293b3cdf7e1e61c\",\n          \"blockNumber\": \"0x176540\",\n          \"transactionHash\": \"0x683052176787193038fcb49ee4593837792c43ff2ad4d9f0592d75cb52250f81\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x1\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd94E416cf2c7167608B2515B7e4102B41efff94f\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xbdceb5cc27348442e4edc1b32489e3f7caca4fe7a502a186de1dc1a4337ac6050000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x23d4e026976b0bf91fe9db3cefbb227ccf59deaca81d77605293b3cdf7e1e61c\",\n          \"blockNumber\": \"0x176540\",\n          \"transactionHash\": \"0x683052176787193038fcb49ee4593837792c43ff2ad4d9f0592d75cb52250f81\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x2\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000400000000000000000000002400000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000040000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000400080200000000000004000000000000000000000000800000000000000020000000000000000000020000000000000000000000000020020000000000020000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d05e32\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"path\": \"/Users/anikaraghuvanshi/Documents/protocols/base-deployments/mainnet/2023-07-11-test-l2-safe/records/TestL2Safe.s.sol/8453/run-latest.json\",\n  \"returns\": {\n    \"0\": {\n      \"internal_type\": \"bool\",\n      \"value\": \"true\"\n    }\n  },\n  \"timestamp\": 1689855846,\n  \"chain\": 8453,\n  \"multi\": false,\n  \"commit\": \"97ebacb\"\n}"
  },
  {
    "path": "mainnet/2023-07-11-test-l2-safe/script/DeployTestProxy.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"forge-std/Script.sol\";\nimport \"@eth-optimism-bedrock/contracts/universal/ProxyAdmin.sol\";\nimport \"@eth-optimism-bedrock/contracts/l2/GasPriceOracle.sol\";\n\ncontract DeployTestProxy is Script {\n    function run(address deployer, address safeToTest) public {\n        // Deploy proxy admin contract\n        vm.broadcast(deployer);\n        ProxyAdmin proxyAdmin = new ProxyAdmin({\n            _owner: deployer\n        });\n        require(proxyAdmin.owner() == deployer, \"DeployTestProxy: proxyAdmin owner is incorrect\");\n\n        // Deploy an example proxy contract\n        vm.broadcast(deployer);\n        Proxy proxy = new Proxy({\n            _admin: address(proxyAdmin)\n        });\n        vm.prank(address(0));\n        require(proxy.admin() == address(proxyAdmin), \"DeployTestProxy: admin is incorrect\");\n\n        // Deploy 2 implementations - 1 will be set initially, 1 will be used in test upgrade\n        vm.broadcast(deployer);\n        GasPriceOracle implementation = new GasPriceOracle();\n        vm.broadcast(deployer);\n        GasPriceOracle implementation2 = new GasPriceOracle();\n\n        // Set implementation of proxy contract to first implementation\n        vm.broadcast(deployer);\n        proxyAdmin.upgrade({\n            _proxy: payable(proxy),\n            _implementation: address(implementation)\n        });\n        require(\n            proxyAdmin.getProxyImplementation(address(proxy)) == address(implementation),\n            \"DeployTestProxy: implementation did not get set\"\n        );\n\n        // Set safe we are testing to be the proxy admin owner\n        vm.broadcast(deployer);\n        proxyAdmin.transferOwnership(safeToTest);\n        require(proxyAdmin.owner() == safeToTest, \"DeployTestProxy: proxyAdmin owner did not transfer correctly\");\n\n        console.log(\"Deployed Addresses\");\n        console.log(\"ProxyAdmin: \", address(proxyAdmin));\n        console.log(\"Proxy: \", address(proxy));\n        console.log(\"Implementation: \", address(implementation));\n        console.log(\"Implementation2: \", address(implementation2));\n    }\n}\n"
  },
  {
    "path": "mainnet/2023-07-11-test-l2-safe/script/TestL2Safe.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {\n    OwnableUpgradeable\n} from \"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\";\nimport \"@base-contracts/script/universal/MultisigBuilder.sol\";\nimport \"@eth-optimism-bedrock/contracts/universal/ProxyAdmin.sol\";\n\ncontract TestL2Safe is MultisigBuilder {\n    address constant internal PROXY_ADMIN_CONTRACT = 0x21EB1F4C0b15336b83Ec574842C1fcfC9DF6d698;\n    address constant internal PROXY_CONTRACT = 0xCFf6EbA9DD666C6AE51Ec35a3999A9715e5aAa87;\n    address constant internal OLD_IMPLEMENTATION = 0x0a9F0F5B38951955ff68263510AD45Af71468D55;\n    address constant internal NEW_IMPLEMENTATION = 0x004BC95c786dc50b42cC573458cC39ba82d98C09;\n    address constant internal L2_SAFE = 0xd94E416cf2c7167608B2515B7e4102B41efff94f;\n\n    function _postCheck() internal override view {\n        ProxyAdmin proxyAdmin = ProxyAdmin(PROXY_ADMIN_CONTRACT);\n\n        // Check contract was upgraded\n        require(\n            proxyAdmin.getProxyImplementation(PROXY_CONTRACT) == NEW_IMPLEMENTATION,\n            \"TestL2Safe: implementation did not get set\"\n        );\n    }\n\n    function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) {\n        ProxyAdmin proxyAdmin = ProxyAdmin(PROXY_ADMIN_CONTRACT);\n        require(\n            proxyAdmin.getProxyImplementation(PROXY_CONTRACT) == OLD_IMPLEMENTATION,\n            \"TestL2Safe: implementation did not get set\"\n        );\n\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        // Upgrade a contract implementation\n        calls[0] = IMulticall3.Call3({\n            target: PROXY_ADMIN_CONTRACT,\n            allowFailure: false,\n            callData: abi.encodeCall(\n                ProxyAdmin.upgrade,\n                (payable(PROXY_CONTRACT), NEW_IMPLEMENTATION)\n            )\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal override view returns (address) {\n        return L2_SAFE;\n    }\n}"
  },
  {
    "path": "mainnet/2023-07-17-test-l1-nested-safe/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: deploy-test\ndeploy-test:\n\tforge script --rpc-url $(L1_RPC_URL) DeployTestProxy \\\n\t--sig \"run(address, address)\" $(DEPLOYER) $(NESTED_L1_SAFE_ADDR) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --slow --broadcast\n\n##\n# Commands for signers to run to test the nested safe\n##\n\n.PHONY: sign-op\nsign-op: deps\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) TestL1NestedSafe \\\n\t--sig \"sign(address)\" $(OP_SAFE_ADDR)\n\n\n.PHONY: sign-cb\nsign-cb: deps\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --via-ir --rpc-url $(L1_RPC_URL) TestL1NestedSafe \\\n\t--sig \"sign(address)\" $(CB_SAFE_ADDR)\n\n##\n# Commands for faciliators to run to test the nested safe\n##\n\n.PHONY: run\nrun: deps approve-op approve-cb execute\n\n.PHONY: approve-op\napprove-op:\n\tforge script --rpc-url $(L1_RPC_URL) TestL1NestedSafe \\\n\t--sig \"approve(address,bytes)\" $(OP_SAFE_ADDR) $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n.PHONY: approve-cb\napprove-cb:\n\tforge script --rpc-url $(L1_RPC_URL) TestL1NestedSafe \\\n\t--sig \"approve(address,bytes)\" $(CB_SAFE_ADDR) $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\nexecute:\n\tforge script --rpc-url $(L1_RPC_URL) TestL1NestedSafe \\\n\t--sig \"run()\" --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2023-07-17-test-l1-nested-safe/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2023-07-17-test-l1-nested-safe/records/DeployTestProxy.s.sol/1/run-1689870341.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xa8add070454091833554a71bacbbd28819c8fae2dee8bf2262285025545ee920\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"ProxyAdmin\",\n      \"contractAddress\": \"0x8735F6e34c3C97B2e1a1a9C9BbBf0D9b290c4151\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\"\n      ],\n      \"rpc\": \"https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse\",\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"gas\": \"0x1ee52c\",\n        \"value\": \"0x0\",\n        \"data\": \"0x60803461007257601f62001bbd38819003918201601f19168301916001600160401b038311848410176100775780849260209460405283398101031261007257516001600160a01b0381168103610072576100629061005d3361008d565b61008d565b604051611ae39081620000da8239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b600080546001600160a01b039283166001600160a01b03198216811783556040519093909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a356fe6040608081526004908136101561001557600080fd5b600091823560e01c9081630652b57a1461124a57816307c8f7b0146111be578163204e1c7a14611165578163238181ae146110ea5781633ab76e9f146110975781636bd9f51614610ffa578163715018a614610f5b5781637eff275e14610d4e578163860f7cda14610b465781638d52d4a014610aa55781638da5cb5b14610a545781639623609d146105cc57816399a88ec4146103b3578382639b2ea4bd146102c657508163b794726214610281578163f2fde38b14610143575063f3b7dead146100e057600080fd5b3461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209073ffffffffffffffffffffffffffffffffffffffff6101376101326112ce565b61192f565b915191168152f35b5080fd5b90503461027d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d5761017c6112ce565b6101846115bc565b73ffffffffffffffffffffffffffffffffffffffff8091169182156101fa575060005492827fffffffffffffffffffffffff00000000000000000000000000000000000000008516176000555192167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600084a3f35b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152fd5b8280fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209060ff60035460a01c1690519015158152f35b91503461013f57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57803567ffffffffffffffff811161027d57610314903690830161159e565b9061031d6112f6565b6103256115bc565b73ffffffffffffffffffffffffffffffffffffffff60035416803b156103af5761037f938580948851968795869485937f9b2ea4bd000000000000000000000000000000000000000000000000000000008552840161163b565b03925af180156103a25761039257505051f35b61039b9061136c565b61013f5751f35b50505051903d90823e3d90fd5b8480fd5b83833461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f576103eb6112ce565b926103f46112f6565b6103fc6115bc565b73ffffffffffffffffffffffffffffffffffffffff80951694858552600160205260ff84862054169560038710156105a0578686979695961560001461048a5750803b156103af57849283602492885196879586947f3659cfe600000000000000000000000000000000000000000000000000000000865216908401525af180156103a25761039257505051f35b929392600181036105095750803b156103af578492836044927f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc94895197889687957f9b0b0fda0000000000000000000000000000000000000000000000000000000087528601521660248401525af180156103a25761039257505051f35b919450919291906002036105745790859392918452600260205261052e8585206113f0565b9260035416803b156103af5761037f938580948851968795869485937f9b2ea4bd000000000000000000000000000000000000000000000000000000008552840161163b565b6024866001857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024866021867f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b905060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d576106006112ce565b6106086112f6565b6044359267ffffffffffffffff91828511610a505736602386011215610a505761063c602495369087818601359101611567565b936106456115bc565b73ffffffffffffffffffffffffffffffffffffffff809116918289526020956001875260ff898b2054166003811015610a25578a959493929190610756576106c6908a80519a8b97889687967f4f1ef286000000000000000000000000000000000000000000000000000000008852169086015284015260448301906114ea565b039134905af1801561074c576106dd575b50505051f35b3d8086853e6106ec81856113af565b8301928281850312610748578051918211610748570182601f820112156103af578051916107198361152d565b93610726865195866113af565b8385528184840101116107485780610740940191016114b5565b3880806106d7565b8580fd5b84513d87823e3d90fd5b939796955093506107656115bc565b8189526001855260ff888a20541660038110156109fa57899493929190806108b45750813b156103af578851937f3659cfe600000000000000000000000000000000000000000000000000000000855216878401528383878183855af19283156108aa578493610892575b505b84825192019034905af13d1561088d573d6107ec8161152d565b906107f9875192836113af565b815286833d92013e5b1561080d5750505051f35b90602e9160849451937f08c379a00000000000000000000000000000000000000000000000000000000085528401528201527f50726f787941646d696e3a2063616c6c20746f2070726f78792061667465722060448201527f75706772616465206661696c65640000000000000000000000000000000000006064820152fd5b610802565b61089e9093919361136c565b61027d578291386107d0565b88513d86823e3d90fd5b600181036109495750813b156103af578851937f9b0b0fda0000000000000000000000000000000000000000000000000000000085527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc898601521686840152838360448183855af19283156108aa578493610931575b506107d2565b61093d9093919361136c565b61027d5782913861092b565b6002919293949550146000146109cf579088939291818552600286526109708986206113f0565b906003541693843b15610748576109b8948692838b8d51988995869485937f9b2ea4bd000000000000000000000000000000000000000000000000000000008552840161163b565b03925af19283156108aa57849361093157506107d2565b85896001897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b868a60218a7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b888b6021887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8680fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5773ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b50503461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610add6112ce565b602435906003821015610b425773ffffffffffffffffffffffffffffffffffffffff90610b086115bc565b16835260016020528183209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00835416911617905551f35b8380fd5b83833461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610b7e6112ce565b9267ffffffffffffffff6024358181116103af57610bb473ffffffffffffffffffffffffffffffffffffffff913690850161159e565b95610bbd6115bc565b168452602060028152838520928651928311610d225750610bde8354611319565b601f8111610cdf575b5080601f8311600114610c40575084958293949592610c35575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c191617905551f35b015190508580610c01565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08316968487528287209287905b898210610cc75750508360019596979810610c90575b505050811b01905551f35b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c19169055858080610c85565b80600185968294968601518155019501930190610c6f565b838652818620601f840160051c810191838510610d18575b601f0160051c01905b818110610d0d5750610be7565b868155600101610d00565b9091508190610cf7565b8560416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b83833461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610d866112ce565b92610d8f6112f6565b610d976115bc565b73ffffffffffffffffffffffffffffffffffffffff80951694858552600160205260ff848620541660038110156105a05780610e2057508585969594953b156103af57849283602492885196879586947f8f28397000000000000000000000000000000000000000000000000000000000865216908401525af180156103a25761039257505051f35b60018103610e7b57508585969594953b156103af57849283602492885196879586947f13af403500000000000000000000000000000000000000000000000000000000865216908401525af180156103a25761039257505051f35b9395509192600203610ef1578160035416803b156103af5784929183602492885196879586947ff2fde38b00000000000000000000000000000000000000000000000000000000865216908401525af18015610ee757610eda57509051f35b610ee39061136c565b9051f35b83513d84823e3d90fd5b610f578386519182917f08c379a0000000000000000000000000000000000000000000000000000000008352820160609060208152601e60208201527f50726f787941646d696e3a20756e6b6e6f776e2070726f78792074797065000060408201520190565b0390fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610f936115bc565b8173ffffffffffffffffffffffffffffffffffffffff8154927fffffffffffffffffffffffff0000000000000000000000000000000000000000841683555192167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08284a3f35b83833461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5773ffffffffffffffffffffffffffffffffffffffff6110486112ce565b168252600160205260ff8183205416905191600382101561106b57602083838152f35b806021857f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209073ffffffffffffffffffffffffffffffffffffffff600354169051908152f35b50503461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5761114e816111619373ffffffffffffffffffffffffffffffffffffffff6111406112ce565b1681526002602052206113f0565b90519182916020835260208301906114ea565b0390f35b50503461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209073ffffffffffffffffffffffffffffffffffffffff6101376111b96112ce565b61169b565b90503461027d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d573580151580910361027d576112026115bc565b7fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff74ff00000000000000000000000000000000000000006003549260a01b1691161760035551f35b90503461027d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d573573ffffffffffffffffffffffffffffffffffffffff811680910361027d576112a26115bc565b7fffffffffffffffffffffffff0000000000000000000000000000000000000000600354161760035551f35b6004359073ffffffffffffffffffffffffffffffffffffffff821682036112f157565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff821682036112f157565b90600182811c92168015611362575b602083101461133357565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691611328565b67ffffffffffffffff811161138057604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761138057604052565b906040519182600082549261140484611319565b9081845260019485811690816000146114735750600114611430575b505061142e925003836113af565b565b9093915060005260209081600020936000915b81831061145b57505061142e93508201013880611420565b85548884018501529485019487945091830191611443565b905061142e9550602093507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201013880611420565b918091926000905b8282106114d55750116114ce575050565b6000910152565b915080602091830151818601520182916114bd565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602093611526815180928187528780880191016114b5565b0116010190565b67ffffffffffffffff811161138057601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9291926115738261152d565b9161158160405193846113af565b8294818452818301116112f1578281602093846000960137010152565b9080601f830112156112f1578160206115b993359101611567565b90565b73ffffffffffffffffffffffffffffffffffffffff6000541633036115dd57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b9073ffffffffffffffffffffffffffffffffffffffff6116686020929594956040855260408501906114ea565b9416910152565b908160209103126112f1575173ffffffffffffffffffffffffffffffffffffffff811681036112f15790565b600073ffffffffffffffffffffffffffffffffffffffff80921680825260019160209183835260409460ff86842054166003811015611902578061174e5750506004935082908551948580927f5c60da1b0000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b6115b99250803d1061173d575b61173581836113af565b81019061166f565b503d61172b565b51903d90823e3d90fd5b80860361179a5750506004935082908551948580927faaf10f420000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b6002036118a45790839160035416908352600282528583209086519586927fbf40fac100000000000000000000000000000000000000000000000000000000845284600485015285918154916117ef83611319565b92836024880152868382169182600014611862575050600114611829575b50505082809103915afa93841561174457509261171e57505090565b87528587208793505b82841061184957505050820160440182803861180d565b80546044858c01015288968a9650909301928101611832565b90955060449350859492507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b820101913861180d565b85517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f50726f787941646d696e3a20756e6b6e6f776e2070726f7879207479706500006044820152606490fd5b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b600073ffffffffffffffffffffffffffffffffffffffff809216908181526020916001835260409360ff8584205416600381101561190257806119b15750509082600493928551948580927ff851a4400000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b600181036119fe5750509082600493928551948580927f893d20e80000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b909150600203611a4f57908260049392600354168551948580927f8da5cb5b0000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b83517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f50726f787941646d696e3a20756e6b6e6f776e2070726f7879207479706500006044820152606490fdfea26469706673582212206ce3996d0020ca145f7585b749245fa3ea49757895d59304087276c7fae1e40f64736f6c634300080f00330000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"nonce\": \"0x5\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": []\n    },\n    {\n      \"hash\": null,\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0xB49D362028A668f5f29338361453D56BEB76d9F5\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x8735F6e34c3C97B2e1a1a9C9BbBf0D9b290c4151\"\n      ],\n      \"rpc\": \"https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse\",\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"gas\": \"0xa12fb\",\n        \"value\": \"0x0\",\n        \"data\": \"0x6080346100b857601f61089638819003918201601f19168301916001600160401b038311848410176100bd578084926020946040528339810103126100b857516001600160a01b03808216918281036100b8577f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f926040927fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610392835493558351921682526020820152a16040516107c290816100d48239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561002c575b361561001f575b61001d6106aa565b005b6100276106aa565b610015565b6000803560e01c9081633659cfe614610093575080634f1ef2861461008a5780635c60da1b146100815780638f283970146100785763f851a4400361000e576100736104f0565b61000e565b50610073610422565b50610073610362565b506100736101d0565b3461012f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012f576100ca610132565b73ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103541633148015610127575b1561011e5761011990610647565b604051f35b506101196106aa565b50331561010b565b80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361015557565b600080fd5b919091602080825283519081818401526000945b8286106101ba575050601f817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09260409596116101ad575b0116010190565b60008582860101526101a6565b858101820151848701604001529481019461016e565b5060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015557610203610132565b6024359067ffffffffffffffff908183116101555736602384011215610155578260040135908282116101555736602483860101116101555761031f9360609273ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354163314801561035a575b156103485791602460009392849361029b84610647565b80604051938493018337810184815203915af4903d1561033d5750610313903d838111610330575b604051937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f850116011685019085821090821117610323575b60405283523d6000602085013e6105bc565b6040519182918261015a565b0390f35b61032b61058c565b610301565b61033861058c565b6102c3565b9150610313906105bc565b50505090506103556106aa565b610313565b503315610284565b50346101555760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610155576020600073ffffffffffffffffffffffffffffffffffffffff90817fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354163314801561041a575b1561040c57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54905b60405191168152f35b906104156106aa565b610403565b5033156103d9565b50346101555760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101555761045a610132565b73ffffffffffffffffffffffffffffffffffffffff907fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610382815416331480156104e8575b156104dd577f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f92826040938354935581845193168352166020820152a1005b50505061001d6106aa565b50331561049e565b50346101555760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610155576020600073ffffffffffffffffffffffffffffffffffffffff907fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103908282541633148015610584575b1561057957505460405191168152f35b9190506104156106aa565b503315610569565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b156105c357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c6564000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff90807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b6000604051a2565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff811615610708576000808092368280378136915af43d82803e15610704573d90f35b3d90fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a65640000000000000000000000000000000000000000000000000000006064820152fdfea2646970667358221220cda8c84ad0f53d583bdbfd81c99ffd0cc3a0dbb096a3ac63c6e408997f19a56d64736f6c634300080f00330000000000000000000000008735f6e34c3c97b2e1a1a9c9bbbf0d9b290c4151\",\n        \"nonce\": \"0x6\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": []\n    },\n    {\n      \"hash\": null,\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"Test\",\n      \"contractAddress\": \"0x4A466E4a2b5106bD7f2d3B39d35ded2ACDF491a2\",\n      \"function\": null,\n      \"arguments\": null,\n      \"rpc\": \"https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse\",\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"gas\": \"0x2af6b\",\n        \"value\": \"0x0\",\n        \"data\": \"0x608080604052346100165761017d908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c9081633fb5c1cb1461010f5781638381f58a146100d3575063d09de08a1461004257600080fd5b346100d057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146100a3576001018155604051f35b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b80fd5b90503461010b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b57602091548152f35b5080fd5b90503461010b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b576004358255f3fea26469706673582212203aca407a88fb8972c737d9f028180c06c0092ccf80f40d83e1811d19ff2bf6bc64736f6c634300080f0033\",\n        \"nonce\": \"0x7\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": []\n    },\n    {\n      \"hash\": null,\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"Test\",\n      \"contractAddress\": \"0xEACccF3894Ef189A29a557F1B533932bf1ad8d11\",\n      \"function\": null,\n      \"arguments\": null,\n      \"rpc\": \"https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse\",\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"gas\": \"0x2af6b\",\n        \"value\": \"0x0\",\n        \"data\": \"0x608080604052346100165761017d908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c9081633fb5c1cb1461010f5781638381f58a146100d3575063d09de08a1461004257600080fd5b346100d057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146100a3576001018155604051f35b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b80fd5b90503461010b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b57602091548152f35b5080fd5b90503461010b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b576004358255f3fea26469706673582212203aca407a88fb8972c737d9f028180c06c0092ccf80f40d83e1811d19ff2bf6bc64736f6c634300080f0033\",\n        \"nonce\": \"0x8\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": []\n    },\n    {\n      \"hash\": null,\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"ProxyAdmin\",\n      \"contractAddress\": \"0x8735F6e34c3C97B2e1a1a9C9BbBf0D9b290c4151\",\n      \"function\": \"upgrade(address,address)\",\n      \"arguments\": [\n        \"0xB49D362028A668f5f29338361453D56BEB76d9F5\",\n        \"0x4A466E4a2b5106bD7f2d3B39d35ded2ACDF491a2\"\n      ],\n      \"rpc\": \"https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse\",\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"to\": \"0x8735f6e34c3c97b2e1a1a9c9bbbf0d9b290c4151\",\n        \"gas\": \"0x13bad\",\n        \"value\": \"0x0\",\n        \"data\": \"0x99a88ec4000000000000000000000000b49d362028a668f5f29338361453d56beb76d9f50000000000000000000000004a466e4a2b5106bd7f2d3b39d35ded2acdf491a2\",\n        \"nonce\": \"0x9\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": []\n    },\n    {\n      \"hash\": null,\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"ProxyAdmin\",\n      \"contractAddress\": \"0x8735F6e34c3C97B2e1a1a9C9BbBf0D9b290c4151\",\n      \"function\": \"transferOwnership(address)\",\n      \"arguments\": [\n        \"0x9B3245a57C339FC711921894c012A4FA53F5F343\"\n      ],\n      \"rpc\": \"https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse\",\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"to\": \"0x8735f6e34c3c97b2e1a1a9c9bbbf0d9b290c4151\",\n        \"gas\": \"0x9ad8\",\n        \"value\": \"0x0\",\n        \"data\": \"0xf2fde38b0000000000000000000000009b3245a57c339fc711921894c012a4fa53f5f343\",\n        \"nonce\": \"0xa\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": []\n    }\n  ],\n  \"receipts\": [],\n  \"libraries\": [],\n  \"pending\": [\n    \"0xa8add070454091833554a71bacbbd28819c8fae2dee8bf2262285025545ee920\"\n  ],\n  \"path\": \"/Users/anikaraghuvanshi/Documents/protocols/base-deployments/mainnet/2023-07-17-test-l1-nested-safe/records/DeployTestProxy.s.sol/1/run-latest.json\",\n  \"returns\": {},\n  \"timestamp\": 1689870341,\n  \"chain\": 1,\n  \"multi\": false,\n  \"commit\": \"f353845\"\n}"
  },
  {
    "path": "mainnet/2023-07-17-test-l1-nested-safe/records/DeployTestProxy.s.sol/1/run-1690069785.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x40f6df638e6cfc0b9f1493642eed13e0ea484a31814aebfd43a49fa6cd7fe97e\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0xB49D362028A668f5f29338361453D56BEB76d9F5\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x8735F6e34c3C97B2e1a1a9C9BbBf0D9b290c4151\"\n      ],\n      \"rpc\": \"https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse\",\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"gas\": \"0xa12fb\",\n        \"value\": \"0x0\",\n        \"data\": \"0x6080346100b857601f61089638819003918201601f19168301916001600160401b038311848410176100bd578084926020946040528339810103126100b857516001600160a01b03808216918281036100b8577f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f926040927fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610392835493558351921682526020820152a16040516107c290816100d48239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561002c575b361561001f575b61001d6106aa565b005b6100276106aa565b610015565b6000803560e01c9081633659cfe614610093575080634f1ef2861461008a5780635c60da1b146100815780638f283970146100785763f851a4400361000e576100736104f0565b61000e565b50610073610422565b50610073610362565b506100736101d0565b3461012f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012f576100ca610132565b73ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103541633148015610127575b1561011e5761011990610647565b604051f35b506101196106aa565b50331561010b565b80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361015557565b600080fd5b919091602080825283519081818401526000945b8286106101ba575050601f817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09260409596116101ad575b0116010190565b60008582860101526101a6565b858101820151848701604001529481019461016e565b5060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015557610203610132565b6024359067ffffffffffffffff908183116101555736602384011215610155578260040135908282116101555736602483860101116101555761031f9360609273ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354163314801561035a575b156103485791602460009392849361029b84610647565b80604051938493018337810184815203915af4903d1561033d5750610313903d838111610330575b604051937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f850116011685019085821090821117610323575b60405283523d6000602085013e6105bc565b6040519182918261015a565b0390f35b61032b61058c565b610301565b61033861058c565b6102c3565b9150610313906105bc565b50505090506103556106aa565b610313565b503315610284565b50346101555760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610155576020600073ffffffffffffffffffffffffffffffffffffffff90817fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354163314801561041a575b1561040c57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54905b60405191168152f35b906104156106aa565b610403565b5033156103d9565b50346101555760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101555761045a610132565b73ffffffffffffffffffffffffffffffffffffffff907fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610382815416331480156104e8575b156104dd577f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f92826040938354935581845193168352166020820152a1005b50505061001d6106aa565b50331561049e565b50346101555760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610155576020600073ffffffffffffffffffffffffffffffffffffffff907fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103908282541633148015610584575b1561057957505460405191168152f35b9190506104156106aa565b503315610569565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b156105c357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c6564000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff90807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b6000604051a2565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff811615610708576000808092368280378136915af43d82803e15610704573d90f35b3d90fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a65640000000000000000000000000000000000000000000000000000006064820152fdfea2646970667358221220cda8c84ad0f53d583bdbfd81c99ffd0cc3a0dbb096a3ac63c6e408997f19a56d64736f6c634300080f00330000000000000000000000008735f6e34c3c97b2e1a1a9c9bbbf0d9b290c4151\",\n        \"nonce\": \"0x6\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": []\n    },\n    {\n      \"hash\": null,\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"Test\",\n      \"contractAddress\": \"0x4A466E4a2b5106bD7f2d3B39d35ded2ACDF491a2\",\n      \"function\": null,\n      \"arguments\": null,\n      \"rpc\": \"https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse\",\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"gas\": \"0x2af6b\",\n        \"value\": \"0x0\",\n        \"data\": \"0x608080604052346100165761017d908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c9081633fb5c1cb1461010f5781638381f58a146100d3575063d09de08a1461004257600080fd5b346100d057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146100a3576001018155604051f35b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b80fd5b90503461010b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b57602091548152f35b5080fd5b90503461010b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b576004358255f3fea26469706673582212203aca407a88fb8972c737d9f028180c06c0092ccf80f40d83e1811d19ff2bf6bc64736f6c634300080f0033\",\n        \"nonce\": \"0x7\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": []\n    },\n    {\n      \"hash\": null,\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"Test\",\n      \"contractAddress\": \"0xEACccF3894Ef189A29a557F1B533932bf1ad8d11\",\n      \"function\": null,\n      \"arguments\": null,\n      \"rpc\": \"https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse\",\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"gas\": \"0x2af6b\",\n        \"value\": \"0x0\",\n        \"data\": \"0x608080604052346100165761017d908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c9081633fb5c1cb1461010f5781638381f58a146100d3575063d09de08a1461004257600080fd5b346100d057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146100a3576001018155604051f35b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b80fd5b90503461010b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b57602091548152f35b5080fd5b90503461010b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b576004358255f3fea26469706673582212203aca407a88fb8972c737d9f028180c06c0092ccf80f40d83e1811d19ff2bf6bc64736f6c634300080f0033\",\n        \"nonce\": \"0x8\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": []\n    },\n    {\n      \"hash\": null,\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x8735F6e34c3C97B2e1a1a9C9BbBf0D9b290c4151\",\n      \"function\": null,\n      \"arguments\": null,\n      \"rpc\": \"https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse\",\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"to\": \"0x8735f6e34c3c97b2e1a1a9c9bbbf0d9b290c4151\",\n        \"gas\": \"0x13bad\",\n        \"value\": \"0x0\",\n        \"data\": \"0x99a88ec4000000000000000000000000b49d362028a668f5f29338361453d56beb76d9f50000000000000000000000004a466e4a2b5106bd7f2d3b39d35ded2acdf491a2\",\n        \"nonce\": \"0x9\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": []\n    },\n    {\n      \"hash\": null,\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x8735F6e34c3C97B2e1a1a9C9BbBf0D9b290c4151\",\n      \"function\": null,\n      \"arguments\": null,\n      \"rpc\": \"https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse\",\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"to\": \"0x8735f6e34c3c97b2e1a1a9c9bbbf0d9b290c4151\",\n        \"gas\": \"0x9ad8\",\n        \"value\": \"0x0\",\n        \"data\": \"0xf2fde38b0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n        \"nonce\": \"0xa\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": []\n    }\n  ],\n  \"receipts\": [],\n  \"libraries\": [],\n  \"pending\": [\n    \"0x40f6df638e6cfc0b9f1493642eed13e0ea484a31814aebfd43a49fa6cd7fe97e\"\n  ],\n  \"path\": \"/Users/anikaraghuvanshi/Documents/protocols/base-deployments/mainnet/2023-07-17-test-l1-nested-safe/records/DeployTestProxy.s.sol/1/run-latest.json\",\n  \"returns\": {},\n  \"timestamp\": 1690069785,\n  \"chain\": 1,\n  \"multi\": false,\n  \"commit\": \"fcfde61\"\n}"
  },
  {
    "path": "mainnet/2023-07-17-test-l1-nested-safe/records/DeployTestProxy.s.sol/1/run-1690244404.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x0cf02d29a6cdf3ab0d0c64106c55a21c52ffea784bb0f7d069199919f9567828\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"ProxyAdmin\",\n      \"contractAddress\": \"0x22dE20d08660628d0f089aE45140DAEB7adbfc43\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\"\n      ],\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"gas\": \"0x1ee52c\",\n        \"value\": \"0x0\",\n        \"data\": \"0x60803461007257601f62001bbd38819003918201601f19168301916001600160401b038311848410176100775780849260209460405283398101031261007257516001600160a01b0381168103610072576100629061005d3361008d565b61008d565b604051611ae39081620000da8239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b600080546001600160a01b039283166001600160a01b03198216811783556040519093909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a356fe6040608081526004908136101561001557600080fd5b600091823560e01c9081630652b57a1461124a57816307c8f7b0146111be578163204e1c7a14611165578163238181ae146110ea5781633ab76e9f146110975781636bd9f51614610ffa578163715018a614610f5b5781637eff275e14610d4e578163860f7cda14610b465781638d52d4a014610aa55781638da5cb5b14610a545781639623609d146105cc57816399a88ec4146103b3578382639b2ea4bd146102c657508163b794726214610281578163f2fde38b14610143575063f3b7dead146100e057600080fd5b3461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209073ffffffffffffffffffffffffffffffffffffffff6101376101326112ce565b61192f565b915191168152f35b5080fd5b90503461027d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d5761017c6112ce565b6101846115bc565b73ffffffffffffffffffffffffffffffffffffffff8091169182156101fa575060005492827fffffffffffffffffffffffff00000000000000000000000000000000000000008516176000555192167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600084a3f35b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152fd5b8280fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209060ff60035460a01c1690519015158152f35b91503461013f57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57803567ffffffffffffffff811161027d57610314903690830161159e565b9061031d6112f6565b6103256115bc565b73ffffffffffffffffffffffffffffffffffffffff60035416803b156103af5761037f938580948851968795869485937f9b2ea4bd000000000000000000000000000000000000000000000000000000008552840161163b565b03925af180156103a25761039257505051f35b61039b9061136c565b61013f5751f35b50505051903d90823e3d90fd5b8480fd5b83833461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f576103eb6112ce565b926103f46112f6565b6103fc6115bc565b73ffffffffffffffffffffffffffffffffffffffff80951694858552600160205260ff84862054169560038710156105a0578686979695961560001461048a5750803b156103af57849283602492885196879586947f3659cfe600000000000000000000000000000000000000000000000000000000865216908401525af180156103a25761039257505051f35b929392600181036105095750803b156103af578492836044927f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc94895197889687957f9b0b0fda0000000000000000000000000000000000000000000000000000000087528601521660248401525af180156103a25761039257505051f35b919450919291906002036105745790859392918452600260205261052e8585206113f0565b9260035416803b156103af5761037f938580948851968795869485937f9b2ea4bd000000000000000000000000000000000000000000000000000000008552840161163b565b6024866001857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024866021867f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b905060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d576106006112ce565b6106086112f6565b6044359267ffffffffffffffff91828511610a505736602386011215610a505761063c602495369087818601359101611567565b936106456115bc565b73ffffffffffffffffffffffffffffffffffffffff809116918289526020956001875260ff898b2054166003811015610a25578a959493929190610756576106c6908a80519a8b97889687967f4f1ef286000000000000000000000000000000000000000000000000000000008852169086015284015260448301906114ea565b039134905af1801561074c576106dd575b50505051f35b3d8086853e6106ec81856113af565b8301928281850312610748578051918211610748570182601f820112156103af578051916107198361152d565b93610726865195866113af565b8385528184840101116107485780610740940191016114b5565b3880806106d7565b8580fd5b84513d87823e3d90fd5b939796955093506107656115bc565b8189526001855260ff888a20541660038110156109fa57899493929190806108b45750813b156103af578851937f3659cfe600000000000000000000000000000000000000000000000000000000855216878401528383878183855af19283156108aa578493610892575b505b84825192019034905af13d1561088d573d6107ec8161152d565b906107f9875192836113af565b815286833d92013e5b1561080d5750505051f35b90602e9160849451937f08c379a00000000000000000000000000000000000000000000000000000000085528401528201527f50726f787941646d696e3a2063616c6c20746f2070726f78792061667465722060448201527f75706772616465206661696c65640000000000000000000000000000000000006064820152fd5b610802565b61089e9093919361136c565b61027d578291386107d0565b88513d86823e3d90fd5b600181036109495750813b156103af578851937f9b0b0fda0000000000000000000000000000000000000000000000000000000085527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc898601521686840152838360448183855af19283156108aa578493610931575b506107d2565b61093d9093919361136c565b61027d5782913861092b565b6002919293949550146000146109cf579088939291818552600286526109708986206113f0565b906003541693843b15610748576109b8948692838b8d51988995869485937f9b2ea4bd000000000000000000000000000000000000000000000000000000008552840161163b565b03925af19283156108aa57849361093157506107d2565b85896001897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b868a60218a7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b888b6021887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8680fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5773ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b50503461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610add6112ce565b602435906003821015610b425773ffffffffffffffffffffffffffffffffffffffff90610b086115bc565b16835260016020528183209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00835416911617905551f35b8380fd5b83833461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610b7e6112ce565b9267ffffffffffffffff6024358181116103af57610bb473ffffffffffffffffffffffffffffffffffffffff913690850161159e565b95610bbd6115bc565b168452602060028152838520928651928311610d225750610bde8354611319565b601f8111610cdf575b5080601f8311600114610c40575084958293949592610c35575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c191617905551f35b015190508580610c01565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08316968487528287209287905b898210610cc75750508360019596979810610c90575b505050811b01905551f35b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c19169055858080610c85565b80600185968294968601518155019501930190610c6f565b838652818620601f840160051c810191838510610d18575b601f0160051c01905b818110610d0d5750610be7565b868155600101610d00565b9091508190610cf7565b8560416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b83833461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610d866112ce565b92610d8f6112f6565b610d976115bc565b73ffffffffffffffffffffffffffffffffffffffff80951694858552600160205260ff848620541660038110156105a05780610e2057508585969594953b156103af57849283602492885196879586947f8f28397000000000000000000000000000000000000000000000000000000000865216908401525af180156103a25761039257505051f35b60018103610e7b57508585969594953b156103af57849283602492885196879586947f13af403500000000000000000000000000000000000000000000000000000000865216908401525af180156103a25761039257505051f35b9395509192600203610ef1578160035416803b156103af5784929183602492885196879586947ff2fde38b00000000000000000000000000000000000000000000000000000000865216908401525af18015610ee757610eda57509051f35b610ee39061136c565b9051f35b83513d84823e3d90fd5b610f578386519182917f08c379a0000000000000000000000000000000000000000000000000000000008352820160609060208152601e60208201527f50726f787941646d696e3a20756e6b6e6f776e2070726f78792074797065000060408201520190565b0390fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610f936115bc565b8173ffffffffffffffffffffffffffffffffffffffff8154927fffffffffffffffffffffffff0000000000000000000000000000000000000000841683555192167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08284a3f35b83833461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5773ffffffffffffffffffffffffffffffffffffffff6110486112ce565b168252600160205260ff8183205416905191600382101561106b57602083838152f35b806021857f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209073ffffffffffffffffffffffffffffffffffffffff600354169051908152f35b50503461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5761114e816111619373ffffffffffffffffffffffffffffffffffffffff6111406112ce565b1681526002602052206113f0565b90519182916020835260208301906114ea565b0390f35b50503461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209073ffffffffffffffffffffffffffffffffffffffff6101376111b96112ce565b61169b565b90503461027d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d573580151580910361027d576112026115bc565b7fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff74ff00000000000000000000000000000000000000006003549260a01b1691161760035551f35b90503461027d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d573573ffffffffffffffffffffffffffffffffffffffff811680910361027d576112a26115bc565b7fffffffffffffffffffffffff0000000000000000000000000000000000000000600354161760035551f35b6004359073ffffffffffffffffffffffffffffffffffffffff821682036112f157565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff821682036112f157565b90600182811c92168015611362575b602083101461133357565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691611328565b67ffffffffffffffff811161138057604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761138057604052565b906040519182600082549261140484611319565b9081845260019485811690816000146114735750600114611430575b505061142e925003836113af565b565b9093915060005260209081600020936000915b81831061145b57505061142e93508201013880611420565b85548884018501529485019487945091830191611443565b905061142e9550602093507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201013880611420565b918091926000905b8282106114d55750116114ce575050565b6000910152565b915080602091830151818601520182916114bd565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602093611526815180928187528780880191016114b5565b0116010190565b67ffffffffffffffff811161138057601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9291926115738261152d565b9161158160405193846113af565b8294818452818301116112f1578281602093846000960137010152565b9080601f830112156112f1578160206115b993359101611567565b90565b73ffffffffffffffffffffffffffffffffffffffff6000541633036115dd57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b9073ffffffffffffffffffffffffffffffffffffffff6116686020929594956040855260408501906114ea565b9416910152565b908160209103126112f1575173ffffffffffffffffffffffffffffffffffffffff811681036112f15790565b600073ffffffffffffffffffffffffffffffffffffffff80921680825260019160209183835260409460ff86842054166003811015611902578061174e5750506004935082908551948580927f5c60da1b0000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b6115b99250803d1061173d575b61173581836113af565b81019061166f565b503d61172b565b51903d90823e3d90fd5b80860361179a5750506004935082908551948580927faaf10f420000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b6002036118a45790839160035416908352600282528583209086519586927fbf40fac100000000000000000000000000000000000000000000000000000000845284600485015285918154916117ef83611319565b92836024880152868382169182600014611862575050600114611829575b50505082809103915afa93841561174457509261171e57505090565b87528587208793505b82841061184957505050820160440182803861180d565b80546044858c01015288968a9650909301928101611832565b90955060449350859492507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b820101913861180d565b85517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f50726f787941646d696e3a20756e6b6e6f776e2070726f7879207479706500006044820152606490fd5b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b600073ffffffffffffffffffffffffffffffffffffffff809216908181526020916001835260409360ff8584205416600381101561190257806119b15750509082600493928551948580927ff851a4400000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b600181036119fe5750509082600493928551948580927f893d20e80000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b909150600203611a4f57908260049392600354168551948580927f8da5cb5b0000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b83517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f50726f787941646d696e3a20756e6b6e6f776e2070726f7879207479706500006044820152606490fdfea2646970667358221220b3646a53e64b8e84122cb5237e7e2d6572647b5d23280046916084ba4d9521cf64736f6c634300080f00330000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"nonce\": \"0xb\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xd699641ea41eca97ae3d8bfdf709e8703f0f61a6d23f30fb62f9fabb0756bb20\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0x0eFc8B14871AcE49fB9dea96D9DD0f2275Cf1FB2\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x22dE20d08660628d0f089aE45140DAEB7adbfc43\"\n      ],\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"gas\": \"0xa12fb\",\n        \"value\": \"0x0\",\n        \"data\": \"0x6080346100b857601f61089638819003918201601f19168301916001600160401b038311848410176100bd578084926020946040528339810103126100b857516001600160a01b03808216918281036100b8577f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f926040927fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610392835493558351921682526020820152a16040516107c290816100d48239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561002c575b361561001f575b61001d6106aa565b005b6100276106aa565b610015565b6000803560e01c9081633659cfe614610093575080634f1ef2861461008a5780635c60da1b146100815780638f283970146100785763f851a4400361000e576100736104f0565b61000e565b50610073610422565b50610073610362565b506100736101d0565b3461012f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012f576100ca610132565b73ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103541633148015610127575b1561011e5761011990610647565b604051f35b506101196106aa565b50331561010b565b80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361015557565b600080fd5b919091602080825283519081818401526000945b8286106101ba575050601f817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09260409596116101ad575b0116010190565b60008582860101526101a6565b858101820151848701604001529481019461016e565b5060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015557610203610132565b6024359067ffffffffffffffff908183116101555736602384011215610155578260040135908282116101555736602483860101116101555761031f9360609273ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354163314801561035a575b156103485791602460009392849361029b84610647565b80604051938493018337810184815203915af4903d1561033d5750610313903d838111610330575b604051937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f850116011685019085821090821117610323575b60405283523d6000602085013e6105bc565b6040519182918261015a565b0390f35b61032b61058c565b610301565b61033861058c565b6102c3565b9150610313906105bc565b50505090506103556106aa565b610313565b503315610284565b50346101555760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610155576020600073ffffffffffffffffffffffffffffffffffffffff90817fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354163314801561041a575b1561040c57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54905b60405191168152f35b906104156106aa565b610403565b5033156103d9565b50346101555760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101555761045a610132565b73ffffffffffffffffffffffffffffffffffffffff907fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610382815416331480156104e8575b156104dd577f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f92826040938354935581845193168352166020820152a1005b50505061001d6106aa565b50331561049e565b50346101555760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610155576020600073ffffffffffffffffffffffffffffffffffffffff907fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103908282541633148015610584575b1561057957505460405191168152f35b9190506104156106aa565b503315610569565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b156105c357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c6564000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff90807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b6000604051a2565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff811615610708576000808092368280378136915af43d82803e15610704573d90f35b3d90fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a65640000000000000000000000000000000000000000000000000000006064820152fdfea2646970667358221220169de5e14e84582f28acc78463b54e7f698b66aaf78a5a74b42529a220e5154064736f6c634300080f003300000000000000000000000022de20d08660628d0f089ae45140daeb7adbfc43\",\n        \"nonce\": \"0xc\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xe491b927a156e6389a18d700c0302b15f80c4d30bfa281931fe4116f02b5b4ee\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"Test\",\n      \"contractAddress\": \"0x393022B868955F9b62755dc348CB345d276e56BD\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"gas\": \"0x2af6b\",\n        \"value\": \"0x0\",\n        \"data\": \"0x608080604052346100165761017d908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c9081633fb5c1cb1461010f5781638381f58a146100d3575063d09de08a1461004257600080fd5b346100d057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146100a3576001018155604051f35b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b80fd5b90503461010b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b57602091548152f35b5080fd5b90503461010b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b576004358255f3fea2646970667358221220c8e0fcbf5afd571ed541c38933f9011dfb608ce209a00654b1845dd1b1ce61c364736f6c634300080f0033\",\n        \"nonce\": \"0xd\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x44e8cfa7da9285fe32d0114c1da4e452b362584d83a2ee8b02ccdd7841778ab9\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"Test\",\n      \"contractAddress\": \"0xC886155A80Ea5a48B2A4821388b20D75CFEBAA45\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"gas\": \"0x2af6b\",\n        \"value\": \"0x0\",\n        \"data\": \"0x608080604052346100165761017d908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c9081633fb5c1cb1461010f5781638381f58a146100d3575063d09de08a1461004257600080fd5b346100d057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146100a3576001018155604051f35b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b80fd5b90503461010b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b57602091548152f35b5080fd5b90503461010b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b576004358255f3fea2646970667358221220c8e0fcbf5afd571ed541c38933f9011dfb608ce209a00654b1845dd1b1ce61c364736f6c634300080f0033\",\n        \"nonce\": \"0xe\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xf3bd2ff06c7ce1774cc17f32c9dcb14f9d3b42dd47e50e217609f213226219fe\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"ProxyAdmin\",\n      \"contractAddress\": \"0x22dE20d08660628d0f089aE45140DAEB7adbfc43\",\n      \"function\": \"upgrade(address,address)\",\n      \"arguments\": [\n        \"0x0eFc8B14871AcE49fB9dea96D9DD0f2275Cf1FB2\",\n        \"0x393022B868955F9b62755dc348CB345d276e56BD\"\n      ],\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"to\": \"0x22de20d08660628d0f089ae45140daeb7adbfc43\",\n        \"gas\": \"0x13bad\",\n        \"value\": \"0x0\",\n        \"data\": \"0x99a88ec40000000000000000000000000efc8b14871ace49fb9dea96d9dd0f2275cf1fb2000000000000000000000000393022b868955f9b62755dc348cb345d276e56bd\",\n        \"nonce\": \"0xf\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": null,\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"ProxyAdmin\",\n      \"contractAddress\": \"0x22dE20d08660628d0f089aE45140DAEB7adbfc43\",\n      \"function\": \"transferOwnership(address)\",\n      \"arguments\": [\n        \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\"\n      ],\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"to\": \"0x22de20d08660628d0f089ae45140daeb7adbfc43\",\n        \"gas\": \"0x9ad8\",\n        \"value\": \"0x0\",\n        \"data\": \"0xf2fde38b0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n        \"nonce\": \"0xf\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0x0cf02d29a6cdf3ab0d0c64106c55a21c52ffea784bb0f7d069199919f9567828\",\n      \"transactionIndex\": \"0x43\",\n      \"blockHash\": \"0xc2c7f6889826b5817c8dfc836ed02fbcf3837b5fc6a0c97ad4b04840df09a659\",\n      \"blockNumber\": \"0x10f185b\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": null,\n      \"cumulativeGasUsed\": \"0x925770\",\n      \"gasUsed\": \"0x17c5b9\",\n      \"contractAddress\": \"0x22dE20d08660628d0f089aE45140DAEB7adbfc43\",\n      \"logs\": [\n        {\n          \"address\": \"0x22dE20d08660628d0f089aE45140DAEB7adbfc43\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xc2c7f6889826b5817c8dfc836ed02fbcf3837b5fc6a0c97ad4b04840df09a659\",\n          \"blockNumber\": \"0x10f185b\",\n          \"transactionHash\": \"0x0cf02d29a6cdf3ab0d0c64106c55a21c52ffea784bb0f7d069199919f9567828\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0xcb\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x22dE20d08660628d0f089aE45140DAEB7adbfc43\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n            \"0x0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xc2c7f6889826b5817c8dfc836ed02fbcf3837b5fc6a0c97ad4b04840df09a659\",\n          \"blockNumber\": \"0x10f185b\",\n          \"transactionHash\": \"0x0cf02d29a6cdf3ab0d0c64106c55a21c52ffea784bb0f7d069199919f9567828\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0xcc\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000000001000000000000800000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020800008000000000000000000000000000100002000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0x5b464b839\"\n    },\n    {\n      \"transactionHash\": \"0xd699641ea41eca97ae3d8bfdf709e8703f0f61a6d23f30fb62f9fabb0756bb20\",\n      \"transactionIndex\": \"0x19\",\n      \"blockHash\": \"0x88dc07c9848ac8fa9b2984d72bf8d22540a94cc352b1b3b3ac25353bf633a6a8\",\n      \"blockNumber\": \"0x10f185c\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": null,\n      \"cumulativeGasUsed\": \"0x39e5a3\",\n      \"gasUsed\": \"0x7c061\",\n      \"contractAddress\": \"0x0eFc8B14871AcE49fB9dea96D9DD0f2275Cf1FB2\",\n      \"logs\": [\n        {\n          \"address\": \"0x0eFc8B14871AcE49fB9dea96D9DD0f2275Cf1FB2\",\n          \"topics\": [\n            \"0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022de20d08660628d0f089ae45140daeb7adbfc43\",\n          \"blockHash\": \"0x88dc07c9848ac8fa9b2984d72bf8d22540a94cc352b1b3b3ac25353bf633a6a8\",\n          \"blockNumber\": \"0x10f185c\",\n          \"transactionHash\": \"0xd699641ea41eca97ae3d8bfdf709e8703f0f61a6d23f30fb62f9fabb0756bb20\",\n          \"transactionIndex\": \"0x19\",\n          \"logIndex\": \"0x68\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000800000000000000000010000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0x6373969be\"\n    },\n    {\n      \"transactionHash\": \"0xe491b927a156e6389a18d700c0302b15f80c4d30bfa281931fe4116f02b5b4ee\",\n      \"transactionIndex\": \"0xe\",\n      \"blockHash\": \"0xf8fb54ee035fb91ae48a25f523ab9aa1aca17119399413c60b850336b7f5cf0b\",\n      \"blockNumber\": \"0x10f185d\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": null,\n      \"cumulativeGasUsed\": \"0x1b24f7\",\n      \"gasUsed\": \"0x210e3\",\n      \"contractAddress\": \"0x393022B868955F9b62755dc348CB345d276e56BD\",\n      \"logs\": [],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0x61759ca8f\"\n    },\n    {\n      \"transactionHash\": \"0x44e8cfa7da9285fe32d0114c1da4e452b362584d83a2ee8b02ccdd7841778ab9\",\n      \"transactionIndex\": \"0x2a\",\n      \"blockHash\": \"0xf6846d2ccdde489bef9cc6cc2e195aa20230bb337323c9d6b060557b079b3919\",\n      \"blockNumber\": \"0x10f185f\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": null,\n      \"cumulativeGasUsed\": \"0x41e694\",\n      \"gasUsed\": \"0x210e3\",\n      \"contractAddress\": \"0xC886155A80Ea5a48B2A4821388b20D75CFEBAA45\",\n      \"logs\": [],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0x662301d7c\"\n    },\n    {\n      \"transactionHash\": \"0xf3bd2ff06c7ce1774cc17f32c9dcb14f9d3b42dd47e50e217609f213226219fe\",\n      \"transactionIndex\": \"0x11\",\n      \"blockHash\": \"0x1121460371e3a0785cca02ab30a1bc22378c8cb6cba6b1ac800a3257c3038252\",\n      \"blockNumber\": \"0x10f1861\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": \"0x22dE20d08660628d0f089aE45140DAEB7adbfc43\",\n      \"cumulativeGasUsed\": \"0x1bb77d\",\n      \"gasUsed\": \"0xd7d9\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x0eFc8B14871AcE49fB9dea96D9DD0f2275Cf1FB2\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x000000000000000000000000393022b868955f9b62755dc348cb345d276e56bd\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x1121460371e3a0785cca02ab30a1bc22378c8cb6cba6b1ac800a3257c3038252\",\n          \"blockNumber\": \"0x10f1861\",\n          \"transactionHash\": \"0xf3bd2ff06c7ce1774cc17f32c9dcb14f9d3b42dd47e50e217609f213226219fe\",\n          \"transactionIndex\": \"0x11\",\n          \"logIndex\": \"0x40\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000080000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000200\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0x631187499\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1690244404,\n  \"chain\": 1,\n  \"multi\": false,\n  \"commit\": \"d5b0e13\"\n}"
  },
  {
    "path": "mainnet/2023-07-17-test-l1-nested-safe/records/DeployTestProxy.s.sol/1/run-1690245053.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xf9caf546327eba313e80555c1182b22162bee9ff147e8a7532ecb89d12306035\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x22dE20d08660628d0f089aE45140DAEB7adbfc43\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"to\": \"0x22de20d08660628d0f089ae45140daeb7adbfc43\",\n        \"gas\": \"0x9ad8\",\n        \"value\": \"0x0\",\n        \"data\": \"0xf2fde38b0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n        \"nonce\": \"0x10\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0xf9caf546327eba313e80555c1182b22162bee9ff147e8a7532ecb89d12306035\",\n      \"transactionIndex\": \"0x2c\",\n      \"blockHash\": \"0xeb859eb9177775ec29972bf035ff3b62d498bd42ba8d93d963e1c98b5123b39f\",\n      \"blockNumber\": \"0x10f1896\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": \"0x22dE20d08660628d0f089aE45140DAEB7adbfc43\",\n      \"cumulativeGasUsed\": \"0x805cca\",\n      \"gasUsed\": \"0x701c\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x22dE20d08660628d0f089aE45140DAEB7adbfc43\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n            \"0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xeb859eb9177775ec29972bf035ff3b62d498bd42ba8d93d963e1c98b5123b39f\",\n          \"blockNumber\": \"0x10f1896\",\n          \"transactionHash\": \"0xf9caf546327eba313e80555c1182b22162bee9ff147e8a7532ecb89d12306035\",\n          \"transactionIndex\": \"0x2c\",\n          \"logIndex\": \"0x128\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000000001000000000000800000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000010000000000000000000000000000000000008000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800008000000000000000000000000000100002000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0x6816f895f\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1690245053,\n  \"chain\": 1,\n  \"multi\": false,\n  \"commit\": \"d5b0e13\"\n}"
  },
  {
    "path": "mainnet/2023-07-17-test-l1-nested-safe/records/TestL1NestedSafe.s.sol/1/approve-1691353255.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xa8894a76cb72ef4c37cdc8826b5627a4765f7de4c2e2d71ebf58dce1b8750cdd\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"type\": \"0x00\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"to\": \"0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a\",\n        \"gas\": \"0x27ee3\",\n        \"value\": \"0x0\",\n        \"data\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd1037dde67880dcaef16786b8278fabdaf34281ab4e6d4c6569d3183d4abfec3b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014500000000000000000000000042d27eea1ad6e22af6284f609847cb3cd56b9c640000000000000000000000000000000000000000000000000000000000000000010000000000000000000000004d014f3c5f33aa9cd1dc29ce29618d07ae666d15000000000000000000000000000000000000000000000000000000000000000001f22dad4f44d42f3da41a9c0d7b3450fdb266741081f6d06c00598d674e8b1468656af7a3bed6fa1b187b2e2cd97ad555fe4b5c20859a10289e51c9af585c14f41bb778bc1a1fe37b096bfe1805e16630883a1681d5faab4da1f8d99dd78f3f94b23a1e7f0f0344a1894adab9bd57e9856afc1390ef45aa38a144bc9a5aa100548e1b11abd9c45060ecba8a8e83d751be997d1ba9d60639d123126d182198c3ffadd53373d665ddb62b59e97a40413b58fb1de72f1af3201eae931826ebe34cae70191c000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x13\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {\n    \"0\": {\n      \"internal_type\": \"bool\",\n      \"value\": \"true\"\n    }\n  },\n  \"timestamp\": 1691353255,\n  \"chain\": 1,\n  \"multi\": false,\n  \"commit\": \"e8311b7\"\n}"
  },
  {
    "path": "mainnet/2023-07-17-test-l1-nested-safe/records/TestL1NestedSafe.s.sol/1/approve-1691353718.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x18854ee5440147455d65d7f6da40f15abc3775ebda37081a99f0af0245b24d15\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x9855054731540A48b28990B63DcF4f33d8AE46A1\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"type\": \"0x00\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"to\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n        \"gas\": \"0x22500\",\n        \"value\": \"0x0\",\n        \"data\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd1037dde67880dcaef16786b8278fabdaf34281ab4e6d4c6569d3183d4abfec3b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3f9de6615100507b026d8d5d40c709f2a11a8f53f1b75f2e096b36a10c7be65da7778f3181952d60322d146997dfe08f2dc0518a2e4c656c871ee62a82022d5cc1b5d75412c13913e5d2129889496aee8918b7621bf42940a76981d1f53f4c383c259af2da6e6c4c42df7af48a7c0041c1332c6c99f888c79b961e16076bd62c2b21b4bc4efd866b6ee740e95b82649290524bd987a52e1fc75e278a0be5d7d0d476a5d5b36389f0a8f9870d5f7375bd3bccd9fc50c1cfd73d899a5f1609eb524a5dc1c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x14\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0x18854ee5440147455d65d7f6da40f15abc3775ebda37081a99f0af0245b24d15\",\n      \"transactionIndex\": \"0x6f\",\n      \"blockHash\": \"0x6b3f6c1819c2f0ea485c8ce2044d88880f3e8c638067f8575240ad77d4324453\",\n      \"blockNumber\": \"0x1107efb\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": \"0x9855054731540A48b28990B63DcF4f33d8AE46A1\",\n      \"cumulativeGasUsed\": \"0xdab297\",\n      \"gasUsed\": \"0x18d78\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x1037dde67880dcaef16786b8278fabdaf34281ab4e6d4c6569d3183d4abfec3b\",\n            \"0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x6b3f6c1819c2f0ea485c8ce2044d88880f3e8c638067f8575240ad77d4324453\",\n          \"blockNumber\": \"0x1107efb\",\n          \"transactionHash\": \"0x18854ee5440147455d65d7f6da40f15abc3775ebda37081a99f0af0245b24d15\",\n          \"transactionIndex\": \"0x6f\",\n          \"logIndex\": \"0x1b0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9855054731540A48b28990B63DcF4f33d8AE46A1\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xf0dda5b9a6e1011c7e6e1028a64d5225350d65724b281870b7f2ec2c3b61af960000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x6b3f6c1819c2f0ea485c8ce2044d88880f3e8c638067f8575240ad77d4324453\",\n          \"blockNumber\": \"0x1107efb\",\n          \"transactionHash\": \"0x18854ee5440147455d65d7f6da40f15abc3775ebda37081a99f0af0245b24d15\",\n          \"transactionIndex\": \"0x6f\",\n          \"logIndex\": \"0x1b1\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000400000000000000010000000000000000008000000000000040000000000000000000000000101000004000000000000000000100000000000000000001000000000000000000000000000000000000008000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000002000000000000000000000000000000000000000000000000000004000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000100000000000000000\",\n      \"type\": \"0x0\",\n      \"effectiveGasPrice\": \"0x35bcbcde2\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {\n    \"0\": {\n      \"internal_type\": \"bool\",\n      \"value\": \"true\"\n    }\n  },\n  \"timestamp\": 1691353718,\n  \"chain\": 1,\n  \"multi\": false,\n  \"commit\": \"e8311b7\"\n}"
  },
  {
    "path": "mainnet/2023-07-17-test-l1-nested-safe/records/TestL1NestedSafe.s.sol/1/run-1691353817.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xb0d5eb05338c8ca7f2cedcc3181dadebd30a1dff2806ac93f169fe477de67750\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"type\": \"0x00\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"to\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n        \"gas\": \"0x20952\",\n        \"value\": \"0x0\",\n        \"data\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000014482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000022de20d08660628d0f089ae45140daeb7adbfc4300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec40000000000000000000000000efc8b14871ace49fb9dea96d9dd0f2275cf1fb2000000000000000000000000c886155a80ea5a48b2a4821388b20d75cfebaa45000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x15\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0xb0d5eb05338c8ca7f2cedcc3181dadebd30a1dff2806ac93f169fe477de67750\",\n      \"transactionIndex\": \"0x1d4\",\n      \"blockHash\": \"0x229ba86ba653a4d1daa472adaa36f05666269719b9a37b55324d6237e08cd767\",\n      \"blockNumber\": \"0x1107f03\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\n      \"cumulativeGasUsed\": \"0x18ea82a\",\n      \"gasUsed\": \"0x1796e\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x0eFc8B14871AcE49fB9dea96D9DD0f2275Cf1FB2\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x000000000000000000000000c886155a80ea5a48b2a4821388b20d75cfebaa45\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x229ba86ba653a4d1daa472adaa36f05666269719b9a37b55324d6237e08cd767\",\n          \"blockNumber\": \"0x1107f03\",\n          \"transactionHash\": \"0xb0d5eb05338c8ca7f2cedcc3181dadebd30a1dff2806ac93f169fe477de67750\",\n          \"transactionIndex\": \"0x1d4\",\n          \"logIndex\": \"0x28f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x1037dde67880dcaef16786b8278fabdaf34281ab4e6d4c6569d3183d4abfec3b0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x229ba86ba653a4d1daa472adaa36f05666269719b9a37b55324d6237e08cd767\",\n          \"blockNumber\": \"0x1107f03\",\n          \"transactionHash\": \"0xb0d5eb05338c8ca7f2cedcc3181dadebd30a1dff2806ac93f169fe477de67750\",\n          \"transactionIndex\": \"0x1d4\",\n          \"logIndex\": \"0x290\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000400000000000000080000000400000000000000000000000040000000010000000000000000000000004000000000000000000000000100000000000001000000000000000000000000002000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000020000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000\",\n      \"type\": \"0x0\",\n      \"effectiveGasPrice\": \"0x33bda724d\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {\n    \"0\": {\n      \"internal_type\": \"bool\",\n      \"value\": \"true\"\n    }\n  },\n  \"timestamp\": 1691353817,\n  \"chain\": 1,\n  \"multi\": false,\n  \"commit\": \"e8311b7\"\n}"
  },
  {
    "path": "mainnet/2023-07-17-test-l1-nested-safe/script/DeployTestProxy.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"forge-std/Script.sol\";\nimport \"@eth-optimism-bedrock/contracts/universal/ProxyAdmin.sol\";\nimport \"@base-contracts/src/Test.sol\";\n\ncontract DeployTestProxy is Script {\n    function run(address deployer, address safeToTest) public {\n        // Deploy proxy admin contract\n        vm.broadcast(deployer);\n        ProxyAdmin proxyAdmin = new ProxyAdmin({\n            _owner: deployer\n        });\n        require(proxyAdmin.owner() == deployer, \"DeployTestProxy: proxyAdmin owner is incorrect\");\n\n        // Deploy an example proxy contract\n        vm.broadcast(deployer);\n        Proxy proxy = new Proxy({\n            _admin: address(proxyAdmin)\n        });\n        vm.prank(address(0));\n        require(proxy.admin() == address(proxyAdmin), \"DeployTestProxy: admin is incorrect\");\n\n        // Deploy 2 implementations - 1 will be set initially, 1 will be used in test upgrade\n        vm.broadcast(deployer);\n        Test implementation = new Test();\n        vm.broadcast(deployer);\n        Test implementation2 = new Test();\n\n        // Set implementation of proxy contract to first implementation\n        vm.broadcast(deployer);\n        proxyAdmin.upgrade({\n            _proxy: payable(proxy),\n            _implementation: address(implementation)\n        });\n        require(\n            proxyAdmin.getProxyImplementation(address(proxy)) == address(implementation),\n            \"DeployTestProxy: implementation did not get set\"\n        );\n\n        // Set safe we are testing to be the proxy admin owner\n        vm.broadcast(deployer);\n        proxyAdmin.transferOwnership(safeToTest);\n        require(proxyAdmin.owner() == safeToTest, \"DeployTestProxy: proxyAdmin owner did not transfer correctly\");\n\n        console.log(\"DeployTestProxy: Deployed Addresses\");\n        console.log(\"ProxyAdmin: \", address(proxyAdmin));\n        console.log(\"Proxy: \", address(proxy));\n        console.log(\"Implementation: \", address(implementation));\n        console.log(\"Implementation2: \", address(implementation2));\n    }\n}"
  },
  {
    "path": "mainnet/2023-07-17-test-l1-nested-safe/script/TestL1NestedSafe.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {\n    OwnableUpgradeable\n} from \"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\";\nimport \"@base-contracts/script/universal/NestedMultisigBuilder.sol\";\nimport \"@eth-optimism-bedrock/contracts/universal/ProxyAdmin.sol\";\n\n\ncontract TestL1NestedSafe is NestedMultisigBuilder {\n    // ProxyAdminContract owned by the Nested L1 Safe\n    address constant internal PROXY_ADMIN_CONTRACT = 0x22dE20d08660628d0f089aE45140DAEB7adbfc43;\n    // An example proxy contract which originally points to the old implementation\n    address constant internal PROXY_CONTRACT = 0x0eFc8B14871AcE49fB9dea96D9DD0f2275Cf1FB2;\n    // Existing implementation contract for the proxy\n    address constant internal OLD_IMPLEMENTATION = 0x393022B868955F9b62755dc348CB345d276e56BD;\n    // Implementation contract we want to upgrade to\n    address constant internal NEW_IMPLEMENTATION = 0xC886155A80Ea5a48B2A4821388b20D75CFEBAA45;\n    // Safe we're testing, which is the owner of the Proxy contract\n    address constant internal NESTED_L1_SAFE = 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c;\n\n    function _postCheck() internal override view {\n        ProxyAdmin proxyAdmin = ProxyAdmin(PROXY_ADMIN_CONTRACT);\n\n        // Check contract was upgraded\n        require(\n            proxyAdmin.getProxyImplementation(PROXY_CONTRACT) == NEW_IMPLEMENTATION,\n            \"TestL1NestedSafe: implementation did not get set\"\n        );\n    }\n\n    function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) {\n        ProxyAdmin proxyAdmin = ProxyAdmin(PROXY_ADMIN_CONTRACT);\n        require(\n            proxyAdmin.getProxyImplementation(PROXY_CONTRACT) == OLD_IMPLEMENTATION,\n            \"TestL1NestedSafe: implementation did not get set\"\n        );\n\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        // Upgrade contract implementation\n        calls[0] = IMulticall3.Call3({\n            target: PROXY_ADMIN_CONTRACT,\n            allowFailure: false,\n            callData: abi.encodeCall(\n                ProxyAdmin.upgrade,\n                (payable(PROXY_CONTRACT), NEW_IMPLEMENTATION)\n            )\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal override view returns (address) {\n        return NESTED_L1_SAFE;\n    }\n}\n"
  },
  {
    "path": "mainnet/2023-07-19-challenger-1-of-2/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n##\n# Foundry commands\n##\n.PHONY: deploy-challenger\ndeploy-challenger:\n\tforge script -vvvv --rpc-url $(L1_RPC_URL) DeployChallenger \\\n\t--sig \"run(address,address,address,address)\" $(DEPLOYER) $(OP_SAFE) $(CB_SAFE) $(L2_OUTPUT_ORACLE_PROXY)\n\n##\n# Upgrade L2OutputOracle to use the new Challenger 1 of 2 multisig\n##\n\n.PHONY: upgrade-l2oo\nupgrade-l2oo: deps\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeL2OutputOracle --sig \"sign()\"\n\n.PHONY: upgrade-l2oo-run\nupgrade-l2oo-run: deps\n\tforge script --rpc-url $(L1_RPC_URL) \\\n\tUpgradeL2OutputOracle --sig \"run(bytes)\" $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --sender $(SENDER) \\\n\t--broadcast\n\n##\n# Testing commands for OP\n##\n\n.PHONY: test-challenger\ntest-challenger:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --via-ir --rpc-url $(L1_RPC_URL) DeleteL2OutputsOP --sig \"sign()\"\n\n.PHONY: test-challenger-run\ntest-challenger-run:\n\tforge script --via-ir --rpc-url $(L1_RPC_URL) \\\n\tDeleteL2OutputsOP --sig \"run(bytes)\" $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --sender $(SENDER) \\\n\t--broadcast\n\n##\n# Testing commands for CB\n##\n\n.PHONY: test-challenger-cb\ntest-challenger-cb:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --via-ir --rpc-url $(L1_RPC_URL) DeleteL2OutputsCB --sig \"sign()\"\n\n.PHONY: test-challenger-cb-run\ntest-challenger-cb-run:\n\tforge script --via-ir --rpc-url $(L1_RPC_URL) \\\n\tDeleteL2OutputsCB --sig \"run(bytes)\" $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" \\\n\t--broadcast\n"
  },
  {
    "path": "mainnet/2023-07-19-challenger-1-of-2/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2023-07-19-challenger-1-of-2/records/DeleteL2OutputsCB.s.sol/1/run-1690499220.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x6eea8a16853a52479be6d86bbfb6a188432965b2158523b4b5f3086e6139fa34\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x20041\",\n        \"value\": \"0x0\",\n        \"data\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000018482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000006f8c5ba3f59ea3e76300e3becdc231d65601782400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008409c5eabe0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002489c44cbb000000000000000000000000000000000000000000000000000000000000040300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c38fae0560c536879a8c179a01c96542d2bf30e0bb6d1d19c956d59d9b9115279f4a2ac12b1bd3664c3d9bc86313c7bdbcb4673e76798d05587e8bd721d0aa5c821b475a8202dc5ad3eb2186882a454ad2dde35e9608a466aa2d6267c793d31b241861244345375f9803b45231684ff9edcbe9320e9aebf1a8a061acf401dece39ee1cf8cc6f8ceb4d00115333dd310f0d12ab14fc280f9e6012ec918f364e8e9ee6dd77b672cc86104cac6f7ff3d82bc9a5644db3ac4c9f065424f7ebc69f40ade0081c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x12\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0x6eea8a16853a52479be6d86bbfb6a188432965b2158523b4b5f3086e6139fa34\",\n      \"transactionIndex\": \"0x1a\",\n      \"blockHash\": \"0xc1d34348722098d78e246576902c6ce55ffea613c9b625249d938848a34866d2\",\n      \"blockNumber\": \"0x10f6ab4\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n      \"cumulativeGasUsed\": \"0x3bbfa1\",\n      \"gasUsed\": \"0x172de\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x56315b90c40730925ec5485cf004d835058518A0\",\n          \"topics\": [\n            \"0x4ee37ac2c786ec85e87592d3c5c8a1dd66f8496dda3f125d9ea8ca5f657629b6\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000406\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000403\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xc1d34348722098d78e246576902c6ce55ffea613c9b625249d938848a34866d2\",\n          \"blockNumber\": \"0x10f6ab4\",\n          \"transactionHash\": \"0x6eea8a16853a52479be6d86bbfb6a188432965b2158523b4b5f3086e6139fa34\",\n          \"transactionIndex\": \"0x1a\",\n          \"logIndex\": \"0x9d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6F8C5bA3F59ea3E76300E3BEcDC231D656017824\",\n          \"topics\": [\n            \"0xcb847280fc429a1fa2adb0778d17d774edd25630d2f18643b2261da6499b0b0f\",\n            \"0x00000000000000000000000014536667cd30e52c0b458baaccb9fada7046e056\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002489c44cbb0000000000000000000000000000000000000000000000000000000000000403000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xc1d34348722098d78e246576902c6ce55ffea613c9b625249d938848a34866d2\",\n          \"blockNumber\": \"0x10f6ab4\",\n          \"transactionHash\": \"0x6eea8a16853a52479be6d86bbfb6a188432965b2158523b4b5f3086e6139fa34\",\n          \"transactionIndex\": \"0x1a\",\n          \"logIndex\": \"0x9e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x2d4445d5cad711ec3d2df79772bc11f11dd63584dd3ec88c336582525bde66570000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xc1d34348722098d78e246576902c6ce55ffea613c9b625249d938848a34866d2\",\n          \"blockNumber\": \"0x10f6ab4\",\n          \"transactionHash\": \"0x6eea8a16853a52479be6d86bbfb6a188432965b2158523b4b5f3086e6139fa34\",\n          \"transactionIndex\": \"0x1a\",\n          \"logIndex\": \"0x9f\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040040080000002020000000000000000000000000000000000001000001000080000000000000000000000000000000000000000000000000100008000000000010000000000000500000000000010000000000000000000800000000000000001000000000000000000000000000000000000000000000000000000000000000800000000000000800000000000000000004000000000000000000000020000000008000000000000000000000000000000000000000000030000000000000000000000000000000010000000000000000000000000000000020000000000000400000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0x85299cdab\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {\n    \"0\": {\n      \"internal_type\": \"bool\",\n      \"value\": \"true\"\n    }\n  },\n  \"timestamp\": 1690499220,\n  \"chain\": 1,\n  \"multi\": false,\n  \"commit\": \"5ac6c42\"\n}"
  },
  {
    "path": "mainnet/2023-07-19-challenger-1-of-2/records/DeleteL2OutputsOP.s.sol/1/run-1691703002.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x53827bc628182c8bb7ba33bb9ab38afc6e5d452a7c9295dcd789026472ff42ab\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"to\": \"0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a\",\n        \"gas\": \"0x24bb4\",\n        \"value\": \"0x0\",\n        \"data\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000018482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000006f8c5ba3f59ea3e76300e3becdc231d65601782400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008409c5eabe0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002489c44cbb000000000000000000000000000000000000000000000000000000000000054f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014594a09029d41f7b855fef06a9fa80e6bf8ab1809c3e49f86597e0b51a1bd52f6f6d5cc10ba8f3b09c7e2643051e17a9d351935f0c84714603787dd69030e53e7d1cec16c533b371cc13029ce2d53e48eb9ed1753c8f9d83440195faf2ef9359054b58e9de5bc04d2d3fd2d7336a7136869c7aea6c02a6cfc004df2aeda03ada68ac1c97df44d5136d3e53c22e66bd0e2a10a283601e6432dc721abe7e42c5d21c30535c00dd0f0f8f9931b18281fae108f2e66b2ab6d107319be4ce5f260c9770180b1bf60f0e4fe321e1988a058404e9cad560f31a3e15006f666d817abf05592fb472619cfb388503774298a9872a8b71ebd33aed357533c8994bc969ddc6697d3dad1c9ced8557dd6afd1688e96aec3ea102f39d7f748a7e427b9a2654b69f3e817976011878b881204b51377dc393f218efb2845f5b8c1a0cc64387dfae3e451fafab1b000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x17\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0x53827bc628182c8bb7ba33bb9ab38afc6e5d452a7c9295dcd789026472ff42ab\",\n      \"transactionIndex\": \"0x12\",\n      \"blockHash\": \"0x0ca6533f2d780f2932d76c853a278830146191b821c4c714a9397829f42d9e98\",\n      \"blockNumber\": \"0x110efca\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\",\n      \"cumulativeGasUsed\": \"0x295404\",\n      \"gasUsed\": \"0x1a97e\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x56315b90c40730925ec5485cf004d835058518A0\",\n          \"topics\": [\n            \"0x4ee37ac2c786ec85e87592d3c5c8a1dd66f8496dda3f125d9ea8ca5f657629b6\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000554\",\n            \"0x000000000000000000000000000000000000000000000000000000000000054f\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x0ca6533f2d780f2932d76c853a278830146191b821c4c714a9397829f42d9e98\",\n          \"blockNumber\": \"0x110efca\",\n          \"transactionHash\": \"0x53827bc628182c8bb7ba33bb9ab38afc6e5d452a7c9295dcd789026472ff42ab\",\n          \"transactionIndex\": \"0x12\",\n          \"logIndex\": \"0x24\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6F8C5bA3F59ea3E76300E3BEcDC231D656017824\",\n          \"topics\": [\n            \"0xcb847280fc429a1fa2adb0778d17d774edd25630d2f18643b2261da6499b0b0f\",\n            \"0x0000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002489c44cbb000000000000000000000000000000000000000000000000000000000000054f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x0ca6533f2d780f2932d76c853a278830146191b821c4c714a9397829f42d9e98\",\n          \"blockNumber\": \"0x110efca\",\n          \"transactionHash\": \"0x53827bc628182c8bb7ba33bb9ab38afc6e5d452a7c9295dcd789026472ff42ab\",\n          \"transactionIndex\": \"0x12\",\n          \"logIndex\": \"0x25\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xdb542075129e493902d94cf84b9ed3f6d0322c14df5898faa8acbb2abcb8e1730000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x0ca6533f2d780f2932d76c853a278830146191b821c4c714a9397829f42d9e98\",\n          \"blockNumber\": \"0x110efca\",\n          \"transactionHash\": \"0x53827bc628182c8bb7ba33bb9ab38afc6e5d452a7c9295dcd789026472ff42ab\",\n          \"transactionIndex\": \"0x12\",\n          \"logIndex\": \"0x26\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000400080000000000008000000000000000000000000000000040040080002000000000000000000000000000000000000000001000001000080000000000000000000000000004000000000000000000000100080000000000010000000000000000000000000000000000000001000000800000000000000001000000000000000000000000000000000000000000000000040000000000000800000000020000000000000000000000004000000000000000000000000000000008000000000000000800000000000000000000000000010000000000000000000000000000000000000000000000800000000400000000000000000000000400000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0x4f3e652ed\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {\n    \"0\": {\n      \"internal_type\": \"bool\",\n      \"value\": \"true\"\n    }\n  },\n  \"timestamp\": 1691703002,\n  \"chain\": 1,\n  \"multi\": false,\n  \"commit\": \"3cc0987\"\n}"
  },
  {
    "path": "mainnet/2023-07-19-challenger-1-of-2/records/DeployChallenger.s.sol/run-1689808110.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": null,\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"Challenger1of2\",\n      \"contractAddress\": \"0x6F8C5bA3F59ea3E76300E3BEcDC231D656017824\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\",\n        \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n        \"0x56315b90c40730925ec5485cf004d835058518A0\"\n      ],\n      \"rpc\": \"https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse\",\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x3885226c26c467b342220132ec9d0b311b2dd43c\",\n        \"gas\": \"0x8dd05\",\n        \"value\": \"0x0\",\n        \"data\": \"0x60e060405234801561001057600080fd5b5060405161096038038061096083398101604081905261002f916101e9565b6001600160a01b0383166100a25760405162461bcd60e51b815260206004820152602f60248201527f4368616c6c656e676572316f66323a206f705369676e65722063616e6e6f742060448201526e6265207a65726f206164647265737360881b60648201526084015b60405180910390fd5b6001600160a01b0382166101135760405162461bcd60e51b815260206004820152603260248201527f4368616c6c656e676572316f66323a206f746865725369676e65722063616e6e6044820152716f74206265207a65726f206164647265737360701b6064820152608401610099565b61012f816001600160a01b03166101be60201b6102a91760201c565b6101a15760405162461bcd60e51b815260206004820152603660248201527f4368616c6c656e676572316f66323a206c324f75747075744f7261636c65507260448201527f6f7879206d757374206265206120636f6e7472616374000000000000000000006064820152608401610099565b6001600160a01b0392831660805290821660a0521660c05261022c565b6001600160a01b03163b151590565b80516001600160a01b03811681146101e457600080fd5b919050565b6000806000606084860312156101fe57600080fd5b610207846101cd565b9250610215602085016101cd565b9150610223604085016101cd565b90509250925092565b60805160a05160c0516106f361026d60003960008181606b015261021501526000818160bb015261011c01526000818160e2015261015b01526106f36000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806309c5eabe1461005157806340f2b79d14610066578063b822d6d9146100b6578063f7bc369b146100dd575b600080fd5b61006461005f3660046104f6565b610104565b005b61008d7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61008d7f000000000000000000000000000000000000000000000000000000000000000081565b61008d7f000000000000000000000000000000000000000000000000000000000000000081565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016148061017d57503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016145b61020e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f4368616c6c656e676572316f66323a206d75737420626520616e20617070726f60448201527f766564207369676e657220746f2065786563757465000000000000000000000060648201526084015b60405180910390fd5b60006102537f00000000000000000000000000000000000000000000000000000000000000008360405180606001604052806021815260200161069d602191396102c5565b90503373ffffffffffffffffffffffffffffffffffffffff167fcb847280fc429a1fa2adb0778d17d774edd25630d2f18643b2261da6499b0b0f838360405161029d92919061063f565b60405180910390a25050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b60606102d484846000856102de565b90505b9392505050565b606082471015610370576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610205565b73ffffffffffffffffffffffffffffffffffffffff85163b6103ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610205565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610417919061066d565b60006040518083038185875af1925050503d8060008114610454576040519150601f19603f3d011682016040523d82523d6000602084013e610459565b606091505b5091509150610469828286610474565b979650505050505050565b606083156104835750816102d7565b8251156104935782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102059190610689565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121561050857600080fd5b813567ffffffffffffffff8082111561052057600080fd5b818401915084601f83011261053457600080fd5b813581811115610546576105466104c7565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561058c5761058c6104c7565b816040528281528760208487010111156105a557600080fd5b826020860160208301376000928101602001929092525095945050505050565b60005b838110156105e05781810151838201526020016105c8565b838111156105ef576000848401525b50505050565b6000815180845261060d8160208601602086016105c5565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60408152600061065260408301856105f5565b828103602084015261066481856105f5565b95945050505050565b6000825161067f8184602087016105c5565b9190910192915050565b6020815260006102d760208301846105f556fe4368616c6c656e676572316f66323a206661696c656420746f2065786563757465a26469706673582212203050fd4bff59df9dc9061449786283d671a5b5d9d504df4f5298a6dbe0605f4964736f6c634300080f00330000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a00000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000056315b90c40730925ec5485cf004d835058518a0\",\n        \"nonce\": \"0x0\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": []\n    },\n    {\n      \"hash\": null,\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"L2OutputOracle\",\n      \"contractAddress\": \"0x712D2596Bb1227D0a790efE1e9761a23Ad0EE121\",\n      \"function\": null,\n      \"arguments\": [\n        \"1800\",\n        \"2\",\n        \"0\",\n        \"0\",\n        \"0x642229f238fb9dE03374Be34B0eD8D9De80752c5\",\n        \"0x6F8C5bA3F59ea3E76300E3BEcDC231D656017824\",\n        \"604800\"\n      ],\n      \"rpc\": \"https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse\",\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x3885226c26c467b342220132ec9d0b311b2dd43c\",\n        \"gas\": \"0x1acdba\",\n        \"value\": \"0x0\",\n        \"data\": \"0x6101806040523480156200001257600080fd5b5060405162001b2b38038062001b2b833981016040819052620000359162000356565b6001608052600360a052600060c05285620000bd5760405162461bcd60e51b815260206004820152603460248201527f4c324f75747075744f7261636c653a204c3220626c6f636b2074696d65206d7560448201527f73742062652067726561746572207468616e203000000000000000000000000060648201526084015b60405180910390fd5b60008711620001355760405162461bcd60e51b815260206004820152603a60248201527f4c324f75747075744f7261636c653a207375626d697373696f6e20696e74657260448201527f76616c206d7573742062652067726561746572207468616e20300000000000006064820152608401620000b4565b60e08790526101008690526001600160a01b038084166101405282166101205261016081905262000167858562000174565b50505050505050620003be565b600054610100900460ff1615808015620001955750600054600160ff909116105b80620001c55750620001b2306200032a60201b620012691760201c565b158015620001c5575060005460ff166001145b6200022a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401620000b4565b6000805460ff1916600117905580156200024e576000805461ff0019166101001790555b42821115620002d45760405162461bcd60e51b8152602060048201526044602482018190527f4c324f75747075744f7261636c653a207374617274696e67204c322074696d65908201527f7374616d70206d757374206265206c657373207468616e2063757272656e742060648201526374696d6560e01b608482015260a401620000b4565b60028290556001839055801562000325576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b6001600160a01b03163b151590565b80516001600160a01b03811681146200035157600080fd5b919050565b600080600080600080600060e0888a0312156200037257600080fd5b87519650602088015195506040880151945060608801519350620003996080890162000339565b9250620003a960a0890162000339565b915060c0880151905092959891949750929550565b60805160a05160c05160e051610100516101205161014051610160516116e4620004476000396000818161041501526108f601526000818161036c0152610a66015260008181610236015261079001526000818161015a0152610f9d0152600081816101b60152610feb01526000610503015260006104da015260006104b101526116e46000f3fe6080604052600436106101435760003560e01c806388786272116100c0578063cf8e5cf011610074578063dcec334811610059578063dcec3348146103ce578063e4a30116146103e3578063f4daa2911461040357600080fd5b8063cf8e5cf01461038e578063d1de856c146103ae57600080fd5b80639aaab648116100a55780639aaab648146102eb578063a25ae557146102fe578063bffa7f0f1461035a57600080fd5b806388786272146102b357806389c44cbb146102c957600080fd5b806369f16eec116101175780636b4d98dd116100fc5780636b4d98dd1461022457806370872aa51461027d5780637f0064201461029357600080fd5b806369f16eec146101fa5780636abcf5631461020f57600080fd5b80622134cc146101485780634599c7881461018f578063529933df146101a457806354fd4d50146101d8575b600080fd5b34801561015457600080fd5b5061017c7f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020015b60405180910390f35b34801561019b57600080fd5b5061017c610437565b3480156101b057600080fd5b5061017c7f000000000000000000000000000000000000000000000000000000000000000081565b3480156101e457600080fd5b506101ed6104aa565b60405161018691906113f2565b34801561020657600080fd5b5061017c61054d565b34801561021b57600080fd5b5060035461017c565b34801561023057600080fd5b506102587f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610186565b34801561028957600080fd5b5061017c60015481565b34801561029f57600080fd5b5061017c6102ae366004611443565b61055f565b3480156102bf57600080fd5b5061017c60025481565b3480156102d557600080fd5b506102e96102e4366004611443565b610778565b005b6102e96102f936600461145c565b610a4e565b34801561030a57600080fd5b5061031e610319366004611443565b610ecd565b60408051825181526020808401516fffffffffffffffffffffffffffffffff908116918301919091529282015190921690820152606001610186565b34801561036657600080fd5b506102587f000000000000000000000000000000000000000000000000000000000000000081565b34801561039a57600080fd5b5061031e6103a9366004611443565b610f61565b3480156103ba57600080fd5b5061017c6103c9366004611443565b610f99565b3480156103da57600080fd5b5061017c610fe7565b3480156103ef57600080fd5b506102e96103fe36600461148e565b61101c565b34801561040f57600080fd5b5061017c7f000000000000000000000000000000000000000000000000000000000000000081565b600354600090156104a15760038054610452906001906114df565b81548110610462576104626114f6565b600091825260209091206002909102016001015470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16919050565b6001545b905090565b60606104d57f0000000000000000000000000000000000000000000000000000000000000000611285565b6104fe7f0000000000000000000000000000000000000000000000000000000000000000611285565b6105277f0000000000000000000000000000000000000000000000000000000000000000611285565b60405160200161053993929190611525565b604051602081830303815290604052905090565b6003546000906104a5906001906114df565b6000610569610437565b821115610623576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604860248201527f4c324f75747075744f7261636c653a2063616e6e6f7420676574206f7574707560448201527f7420666f72206120626c6f636b207468617420686173206e6f74206265656e2060648201527f70726f706f736564000000000000000000000000000000000000000000000000608482015260a4015b60405180910390fd5b6003546106d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604660248201527f4c324f75747075744f7261636c653a2063616e6e6f7420676574206f7574707560448201527f74206173206e6f206f7574707574732068617665206265656e2070726f706f7360648201527f6564207965740000000000000000000000000000000000000000000000000000608482015260a40161061a565b6003546000905b8082101561077157600060026106f5838561159b565b6106ff91906115e2565b90508460038281548110610715576107156114f6565b600091825260209091206002909102016001015470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1610156107675761076081600161159b565b925061076b565b8091505b506106df565b5092915050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461083d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f4c324f75747075744f7261636c653a206f6e6c7920746865206368616c6c656e60448201527f67657220616464726573732063616e2064656c657465206f7574707574730000606482015260840161061a565b60035481106108f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604360248201527f4c324f75747075744f7261636c653a2063616e6e6f742064656c657465206f7560448201527f747075747320616674657220746865206c6174657374206f757470757420696e60648201527f6465780000000000000000000000000000000000000000000000000000000000608482015260a40161061a565b7f000000000000000000000000000000000000000000000000000000000000000060038281548110610928576109286114f6565b6000918252602090912060016002909202010154610958906fffffffffffffffffffffffffffffffff16426114df565b10610a0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604660248201527f4c324f75747075744f7261636c653a2063616e6e6f742064656c657465206f7560448201527f74707574732074686174206861766520616c7265616479206265656e2066696e60648201527f616c697a65640000000000000000000000000000000000000000000000000000608482015260a40161061a565b6000610a1660035490565b90508160035581817f4ee37ac2c786ec85e87592d3c5c8a1dd66f8496dda3f125d9ea8ca5f657629b660405160405180910390a35050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610b39576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604160248201527f4c324f75747075744f7261636c653a206f6e6c79207468652070726f706f736560448201527f7220616464726573732063616e2070726f706f7365206e6577206f757470757460648201527f7300000000000000000000000000000000000000000000000000000000000000608482015260a40161061a565b610b41610fe7565b8314610bf5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604860248201527f4c324f75747075744f7261636c653a20626c6f636b206e756d626572206d757360448201527f7420626520657175616c20746f206e65787420657870656374656420626c6f6360648201527f6b206e756d626572000000000000000000000000000000000000000000000000608482015260a40161061a565b42610bff84610f99565b10610c8c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f4c324f75747075744f7261636c653a2063616e6e6f742070726f706f7365204c60448201527f32206f757470757420696e207468652066757475726500000000000000000000606482015260840161061a565b83610d19576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f4c324f75747075744f7261636c653a204c32206f75747075742070726f706f7360448201527f616c2063616e6e6f7420626520746865207a65726f2068617368000000000000606482015260840161061a565b8115610dd55781814014610dd5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604960248201527f4c324f75747075744f7261636c653a20626c6f636b206861736820646f65732060448201527f6e6f74206d61746368207468652068617368206174207468652065787065637460648201527f6564206865696768740000000000000000000000000000000000000000000000608482015260a40161061a565b82610ddf60035490565b857fa7aaf2512769da4e444e3de247be2564225c2e7a8f74cfe528e46e17d24868e242604051610e1191815260200190565b60405180910390a45050604080516060810182529283526fffffffffffffffffffffffffffffffff4281166020850190815292811691840191825260038054600181018255600091909152935160029094027fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b810194909455915190518216700100000000000000000000000000000000029116177fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85c90910155565b604080516060810182526000808252602082018190529181019190915260038281548110610efd57610efd6114f6565b600091825260209182902060408051606081018252600290930290910180548352600101546fffffffffffffffffffffffffffffffff8082169484019490945270010000000000000000000000000000000090049092169181019190915292915050565b60408051606081018252600080825260208201819052918101919091526003610f898361055f565b81548110610efd57610efd6114f6565b60007f000000000000000000000000000000000000000000000000000000000000000060015483610fca91906114df565b610fd491906115f6565b600254610fe1919061159b565b92915050565b60007f0000000000000000000000000000000000000000000000000000000000000000611012610437565b6104a5919061159b565b600054610100900460ff161580801561103c5750600054600160ff909116105b806110565750303b158015611056575060005460ff166001145b6110e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161061a565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561114057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b428211156111f7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526044602482018190527f4c324f75747075744f7261636c653a207374617274696e67204c322074696d65908201527f7374616d70206d757374206265206c657373207468616e2063757272656e742060648201527f74696d6500000000000000000000000000000000000000000000000000000000608482015260a40161061a565b60028290556001839055801561126457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b6060816000036112c857505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b81156112f257806112dc81611633565b91506112eb9050600a836115e2565b91506112cc565b60008167ffffffffffffffff81111561130d5761130d61166b565b6040519080825280601f01601f191660200182016040528015611337576020820181803683370190505b5090505b84156113ba5761134c6001836114df565b9150611359600a8661169a565b61136490603061159b565b60f81b818381518110611379576113796114f6565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506113b3600a866115e2565b945061133b565b949350505050565b60005b838110156113dd5781810151838201526020016113c5565b838111156113ec576000848401525b50505050565b60208152600082518060208401526114118160408501602087016113c2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b60006020828403121561145557600080fd5b5035919050565b6000806000806080858703121561147257600080fd5b5050823594602084013594506040840135936060013592509050565b600080604083850312156114a157600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000828210156114f1576114f16114b0565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600084516115378184602089016113c2565b80830190507f2e000000000000000000000000000000000000000000000000000000000000008082528551611573816001850160208a016113c2565b6001920191820152835161158e8160028401602088016113c2565b0160020195945050505050565b600082198211156115ae576115ae6114b0565b500190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826115f1576115f16115b3565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561162e5761162e6114b0565b500290565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611664576116646114b0565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000826116a9576116a96115b3565b50069056fea264697066735822122031bcd6d293dce43bb2aa0c060a708cc7e35290d9a378c1cb32ba6c46a0929ad964736f6c634300080f00330000000000000000000000000000000000000000000000000000000000000708000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000642229f238fb9de03374be34b0ed8d9de80752c50000000000000000000000006f8c5ba3f59ea3e76300e3becdc231d6560178240000000000000000000000000000000000000000000000000000000000093a80\",\n        \"nonce\": \"0x1\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": []\n    }\n  ],\n  \"receipts\": [],\n  \"libraries\": [],\n  \"pending\": [],\n  \"path\": \"/Users/anikaraghuvanshi/Documents/protocols/base-deployments/mainnet/2023-07-19-challenger-1-of-2/records/DeployChallenger.s.sol/1/dry-run/run-latest.json\",\n  \"returns\": {},\n  \"timestamp\": 1689808110,\n  \"chain\": 1,\n  \"multi\": false,\n  \"commit\": \"0da6b10\"\n}"
  },
  {
    "path": "mainnet/2023-07-19-challenger-1-of-2/records/UpgradeL2OO.s.sol/1/run-1690314255.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xb9c57e888d31644af161cd5766236250977ef94ecff01d26e47ec10255777059\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x9855054731540A48b28990B63DcF4f33d8AE46A1\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"to\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n        \"gas\": \"0x1e369\",\n        \"value\": \"0x0\",\n        \"data\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000014482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec400000000000000000000000056315b90c40730925ec5485cf004d835058518a0000000000000000000000000f2460d3433475c8008ceffe8283f07eb1447e39a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c36fd660d3de27f36ee1bf8b8adefa97cfee7bd39b7bfc8a1fee7a55d8a7c9d99716701f07395350b5c8846589c518c100f8d932ba403c1fee1306d63f2055640a1c75b2bdebf424bd9f07390b735ed836d5a7823f6b77bebd571f0ff33ad7e24eab32989ad1f9e9bc0cb682ab7c51b2ea4842dc9589cbde42c1f9ed03a8ad338a3f1bcb237cf4a78c5c8ababe7c46e3510225b73b5198c7ef1cecf06f637b95c365aa2b74aea272edbf5629b6557a902cfd1d83d16f9e88d0da7f69614f7342963dcf1c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x11\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0xb9c57e888d31644af161cd5766236250977ef94ecff01d26e47ec10255777059\",\n      \"transactionIndex\": \"0x10\",\n      \"blockHash\": \"0x8692814a174721df42d746e38ed696c604ff888a60bfb5d8a8a311243d0682ea\",\n      \"blockNumber\": \"0x10f2eed\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": \"0x9855054731540A48b28990B63DcF4f33d8AE46A1\",\n      \"cumulativeGasUsed\": \"0x158273\",\n      \"gasUsed\": \"0x15dfc\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x56315b90c40730925ec5485cf004d835058518A0\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x000000000000000000000000f2460d3433475c8008ceffe8283f07eb1447e39a\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x8692814a174721df42d746e38ed696c604ff888a60bfb5d8a8a311243d0682ea\",\n          \"blockNumber\": \"0x10f2eed\",\n          \"transactionHash\": \"0xb9c57e888d31644af161cd5766236250977ef94ecff01d26e47ec10255777059\",\n          \"transactionIndex\": \"0x10\",\n          \"logIndex\": \"0x2e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9855054731540A48b28990B63DcF4f33d8AE46A1\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x31073568dc209f87e855852601a16a9e95615f2d6c8f6da57b283f3bc14b73e90000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x8692814a174721df42d746e38ed696c604ff888a60bfb5d8a8a311243d0682ea\",\n          \"blockNumber\": \"0x10f2eed\",\n          \"transactionHash\": \"0xb9c57e888d31644af161cd5766236250977ef94ecff01d26e47ec10255777059\",\n          \"transactionIndex\": \"0x10\",\n          \"logIndex\": \"0x2f\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000400000000000000010000000400000000008000000000000040040000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000002000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000004000000000000000000400000000000000000000020000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0x7b9b59953\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {\n    \"0\": {\n      \"internal_type\": \"bool\",\n      \"value\": \"true\"\n    }\n  },\n  \"timestamp\": 1690314255,\n  \"chain\": 1,\n  \"multi\": false,\n  \"commit\": \"9584107\"\n}"
  },
  {
    "path": "mainnet/2023-07-19-challenger-1-of-2/script/DeleteL2OutputsCB.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"@eth-optimism-bedrock/contracts/L1/L2OutputOracle.sol\";\nimport \"@base-contracts/src/Challenger1of2.sol\";\nimport \"@base-contracts/script/universal/MultisigBuilder.sol\";\n\ncontract DeleteL2OutputsCB is MultisigBuilder {\n    address constant internal L2_OUTPUT_ORACLE_PROXY = 0x56315b90c40730925ec5485cf004d835058518A0;\n    address constant internal CHALLENGER = 0x6F8C5bA3F59ea3E76300E3BEcDC231D656017824;\n    address constant internal SAFE = 0x14536667Cd30e52C0b458BaACcB9faDA7046E056;\n\n    function _postCheck() internal override view {\n        // perform post execution checks\n    }\n\n    function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        L2OutputOracle l2OutputOracle = L2OutputOracle(L2_OUTPUT_ORACLE_PROXY);\n        bytes memory deleteL2OutputData = abi.encodeCall(\n            L2OutputOracle.deleteL2Outputs, (1027)\n        );\n\n        calls[0] = IMulticall3.Call3({\n            target: CHALLENGER,\n            allowFailure: false,\n            callData: abi.encodeCall(\n                Challenger1of2.execute, (deleteL2OutputData)\n            )\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal override view returns (address) {\n        return SAFE;\n    }\n}"
  },
  {
    "path": "mainnet/2023-07-19-challenger-1-of-2/script/DeleteL2OutputsOP.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"@eth-optimism-bedrock/contracts/L1/L2OutputOracle.sol\";\nimport \"@base-contracts/src/Challenger1of2.sol\";\nimport \"@base-contracts/script/universal/MultisigBuilder.sol\";\n\ncontract DeleteL2OutputsOP is MultisigBuilder {\n    address constant internal L2_OUTPUT_ORACLE_PROXY = 0x56315b90c40730925ec5485cf004d835058518A0;\n    address constant internal CHALLENGER = 0x6F8C5bA3F59ea3E76300E3BEcDC231D656017824;\n    address constant internal SAFE = 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A;\n\n    function _postCheck() internal override view {\n        // perform post execution checks\n    }\n\n    function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        L2OutputOracle l2OutputOracle = L2OutputOracle(L2_OUTPUT_ORACLE_PROXY);\n        bytes memory deleteL2OutputData = abi.encodeCall(\n            L2OutputOracle.deleteL2Outputs, (1359)\n        );\n\n        calls[0] = IMulticall3.Call3({\n            target: CHALLENGER,\n            allowFailure: false,\n            callData: abi.encodeCall(\n                Challenger1of2.execute, (deleteL2OutputData)\n            )\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal override view returns (address) {\n        return SAFE;\n    }\n}"
  },
  {
    "path": "mainnet/2023-07-19-challenger-1-of-2/script/DeployChallenger.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"forge-std/Script.sol\";\nimport { Challenger1of2 } from \"@base-contracts/src/Challenger1of2.sol\";\nimport \"@eth-optimism-bedrock/contracts/L1/L2OutputOracle.sol\";\n\ncontract DeployChallenger is Script {\n    function run(address deployer, address signer1, address signer2, address l2OutputOracleProxy) public {\n        vm.broadcast(deployer);\n        Challenger1of2 challenger = new Challenger1of2(signer1, signer2, l2OutputOracleProxy);\n        require(challenger.OP_SIGNER() == signer1, \"DeployChallenger: OP_SIGNER not set correctly\");\n        require(challenger.OTHER_SIGNER() == signer2, \"DeployChallenger: OTHER_SIGNER not set correctly\");\n        require(challenger.L2_OUTPUT_ORACLE_PROXY() == l2OutputOracleProxy, \"DeployChallenger: L2_OUTPUT_ORACLE_PROXY not set correctly\");\n\n        require(l2OutputOracleProxy != address(0), \"DeployChallenger: l2OutputOracleProxy is zero address\");\n\n        L2OutputOracle existingL2OO = L2OutputOracle(l2OutputOracleProxy);\n        uint256 oldSubmissionInterval = existingL2OO.SUBMISSION_INTERVAL();\n        uint256 oldL2BlockTime = existingL2OO.L2_BLOCK_TIME();\n        address oldProposer = existingL2OO.PROPOSER();\n        uint256 oldFinalizationPeriodSeconds = existingL2OO.FINALIZATION_PERIOD_SECONDS();\n\n        // Deploy L2OutputOracle new implementation with new challenger\n        vm.broadcast(deployer);\n        L2OutputOracle l2OutputOracleImpl = new L2OutputOracle({\n            _submissionInterval: oldSubmissionInterval,\n            _l2BlockTime: oldL2BlockTime,\n            _startingBlockNumber: 0,\n            _startingTimestamp: 0,\n            _proposer: oldProposer,\n            _challenger: address(challenger),\n            _finalizationPeriodSeconds: oldFinalizationPeriodSeconds            \n        });\n\n        require(l2OutputOracleImpl.CHALLENGER() == address(challenger), \"DeployChallenger: l2OutputOracle challenger is incorrect\");\n\n        require(l2OutputOracleImpl.SUBMISSION_INTERVAL() == oldSubmissionInterval, \"DeployChallenger: l2OutputOracle submissionInterval is incorrect\");\n        require(l2OutputOracleImpl.L2_BLOCK_TIME() == oldL2BlockTime, \"DeployChallenger: l2OutputOracle l2BlockTime is incorrect\");\n        require(l2OutputOracleImpl.startingBlockNumber() == 0, \"DeployChallenger: l2OutputOracle startingBlockNumber is incorrect\");\n        require(l2OutputOracleImpl.startingTimestamp() == 0, \"DeployChallenger: l2OutputOracle startingTimestamp is incorrect\");\n        require(l2OutputOracleImpl.PROPOSER() == oldProposer, \"DeployChallenger: l2OutputOracle proposer is incorrect\");\n        require(l2OutputOracleImpl.FINALIZATION_PERIOD_SECONDS() == oldFinalizationPeriodSeconds, \"DeployChallenger: l2OutputOracle finalizationPeriodSeconds is incorrect\");\n    }\n}\n"
  },
  {
    "path": "mainnet/2023-07-19-challenger-1-of-2/script/UpgradeL2OO.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"@eth-optimism-bedrock/contracts/L1/L2OutputOracle.sol\";\nimport \"@eth-optimism-bedrock/contracts/universal/ProxyAdmin.sol\";\nimport \"@base-contracts/script/universal/MultisigBuilder.sol\";\n\ncontract UpgradeL2OutputOracle is MultisigBuilder {\n    address constant internal PROXY_ADMIN_CONTRACT = 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E;\n    address constant internal PROXY_ADMIN_OWNER = 0x9855054731540A48b28990B63DcF4f33d8AE46A1; // Current L1 contract owner\n    address constant internal L2_OUTPUT_ORACLE_PROXY = 0x56315b90c40730925ec5485cf004d835058518A0;\n    address constant internal NEW_IMPLEMENTATION = 0xf2460D3433475C8008ceFfe8283F07EB1447E39a;\n    address constant internal CHALLENGER = 0x6F8C5bA3F59ea3E76300E3BEcDC231D656017824;\n    address constant internal SAFE = 0x9855054731540A48b28990B63DcF4f33d8AE46A1;\n\n    function _postCheck() internal override view {\n        ProxyAdmin proxyAdmin = ProxyAdmin(PROXY_ADMIN_CONTRACT);\n        require(\n            proxyAdmin.getProxyImplementation(L2_OUTPUT_ORACLE_PROXY).codehash == NEW_IMPLEMENTATION.codehash,\n            \"UpgradeL2OutputOracle: L2OutpuOracle not upgraded\"\n        );\n\n        L2OutputOracle l2OutputOracle = L2OutputOracle(L2_OUTPUT_ORACLE_PROXY);\n        require(l2OutputOracle.CHALLENGER() == CHALLENGER, \"UpgradeL2OutputOracle: Challenger was not set properly\");\n    }\n\n    function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) {\n        L2OutputOracle l2OutputOracle = L2OutputOracle(NEW_IMPLEMENTATION);\n        require(l2OutputOracle.CHALLENGER() == CHALLENGER, \"UpgradeL2OutputOracle: Challenger is incorrect\");\n\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        calls[0] = IMulticall3.Call3({\n            target: PROXY_ADMIN_CONTRACT,\n            allowFailure: false,\n            callData: abi.encodeCall(\n                ProxyAdmin.upgrade,\n                (payable(L2_OUTPUT_ORACLE_PROXY), NEW_IMPLEMENTATION)\n            )\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal override view returns (address) {\n        return SAFE;\n    }\n}"
  },
  {
    "path": "mainnet/2023-07-19-test-l2-nested-safe/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: deploy-test\ndeploy-test:\n\tforge script --rpc-url $(L2_RPC_URL) DeployTestProxy \\\n\t--sig \"run(address, address)\" $(DEPLOYER) $(NESTED_L2_SAFE_ADDR) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n##\n# Commands for signers to run to test the nested safe\n##\n\n.PHONY: sign-op\nsign-op: deps\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --via-ir --rpc-url $(L2_RPC_URL) TestNestedL2Safe \\\n\t--sig \"sign(address)\" $(OP_SAFE_ADDR)\n\n.PHONY: sign-cb\nsign-cb: deps\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --via-ir --rpc-url $(L2_RPC_URL) TestNestedL2Safe \\\n\t--sig \"sign(address)\" $(CB_SAFE_ADDR)\n\n##\n# Commands for faciliators to run to test the nested safe\n##\n\n.PHONY: approve-op\napprove-op:\n\tforge script --rpc-url $(L2_RPC_URL) TestNestedL2Safe \\\n\t--sig \"approve(address,bytes)\" $(OP_SAFE_ADDR) $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --sender $(SENDER) --broadcast\n\n.PHONY: approve-cb\napprove-cb:\n\tforge script --rpc-url $(L2_RPC_URL) TestNestedL2Safe \\\n\t--sig \"approve(address,bytes)\" $(CB_SAFE_ADDR) $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --sender $(SENDER) --broadcast\n\nexecute:\n\tforge script --rpc-url $(L2_RPC_URL) TestNestedL2Safe \\\n\t--sig \"run()\" --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" \\\n\t--sender $(SENDER) --broadcast"
  },
  {
    "path": "mainnet/2023-07-19-test-l2-nested-safe/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia_ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2023-07-19-test-l2-nested-safe/records/DeployTestProxy.s.sol/8453/run-1689883950.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x8331009ddb5ce69868002134222fc0f8dd21e4bab01cb416ac5996e7bfe1c9a1\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"ProxyAdmin\",\n      \"contractAddress\": \"0x4A466E4a2b5106bD7f2d3B39d35ded2ACDF491a2\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\"\n      ],\n      \"rpc\": \"https://developer-access-mainnet.base.org\",\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"gas\": \"0x1ee52c\",\n        \"value\": \"0x0\",\n        \"data\": \"0x60803461007257601f62001bbd38819003918201601f19168301916001600160401b038311848410176100775780849260209460405283398101031261007257516001600160a01b0381168103610072576100629061005d3361008d565b61008d565b604051611ae39081620000da8239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b600080546001600160a01b039283166001600160a01b03198216811783556040519093909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a356fe6040608081526004908136101561001557600080fd5b600091823560e01c9081630652b57a1461124a57816307c8f7b0146111be578163204e1c7a14611165578163238181ae146110ea5781633ab76e9f146110975781636bd9f51614610ffa578163715018a614610f5b5781637eff275e14610d4e578163860f7cda14610b465781638d52d4a014610aa55781638da5cb5b14610a545781639623609d146105cc57816399a88ec4146103b3578382639b2ea4bd146102c657508163b794726214610281578163f2fde38b14610143575063f3b7dead146100e057600080fd5b3461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209073ffffffffffffffffffffffffffffffffffffffff6101376101326112ce565b61192f565b915191168152f35b5080fd5b90503461027d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d5761017c6112ce565b6101846115bc565b73ffffffffffffffffffffffffffffffffffffffff8091169182156101fa575060005492827fffffffffffffffffffffffff00000000000000000000000000000000000000008516176000555192167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600084a3f35b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152fd5b8280fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209060ff60035460a01c1690519015158152f35b91503461013f57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57803567ffffffffffffffff811161027d57610314903690830161159e565b9061031d6112f6565b6103256115bc565b73ffffffffffffffffffffffffffffffffffffffff60035416803b156103af5761037f938580948851968795869485937f9b2ea4bd000000000000000000000000000000000000000000000000000000008552840161163b565b03925af180156103a25761039257505051f35b61039b9061136c565b61013f5751f35b50505051903d90823e3d90fd5b8480fd5b83833461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f576103eb6112ce565b926103f46112f6565b6103fc6115bc565b73ffffffffffffffffffffffffffffffffffffffff80951694858552600160205260ff84862054169560038710156105a0578686979695961560001461048a5750803b156103af57849283602492885196879586947f3659cfe600000000000000000000000000000000000000000000000000000000865216908401525af180156103a25761039257505051f35b929392600181036105095750803b156103af578492836044927f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc94895197889687957f9b0b0fda0000000000000000000000000000000000000000000000000000000087528601521660248401525af180156103a25761039257505051f35b919450919291906002036105745790859392918452600260205261052e8585206113f0565b9260035416803b156103af5761037f938580948851968795869485937f9b2ea4bd000000000000000000000000000000000000000000000000000000008552840161163b565b6024866001857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024866021867f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b905060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d576106006112ce565b6106086112f6565b6044359267ffffffffffffffff91828511610a505736602386011215610a505761063c602495369087818601359101611567565b936106456115bc565b73ffffffffffffffffffffffffffffffffffffffff809116918289526020956001875260ff898b2054166003811015610a25578a959493929190610756576106c6908a80519a8b97889687967f4f1ef286000000000000000000000000000000000000000000000000000000008852169086015284015260448301906114ea565b039134905af1801561074c576106dd575b50505051f35b3d8086853e6106ec81856113af565b8301928281850312610748578051918211610748570182601f820112156103af578051916107198361152d565b93610726865195866113af565b8385528184840101116107485780610740940191016114b5565b3880806106d7565b8580fd5b84513d87823e3d90fd5b939796955093506107656115bc565b8189526001855260ff888a20541660038110156109fa57899493929190806108b45750813b156103af578851937f3659cfe600000000000000000000000000000000000000000000000000000000855216878401528383878183855af19283156108aa578493610892575b505b84825192019034905af13d1561088d573d6107ec8161152d565b906107f9875192836113af565b815286833d92013e5b1561080d5750505051f35b90602e9160849451937f08c379a00000000000000000000000000000000000000000000000000000000085528401528201527f50726f787941646d696e3a2063616c6c20746f2070726f78792061667465722060448201527f75706772616465206661696c65640000000000000000000000000000000000006064820152fd5b610802565b61089e9093919361136c565b61027d578291386107d0565b88513d86823e3d90fd5b600181036109495750813b156103af578851937f9b0b0fda0000000000000000000000000000000000000000000000000000000085527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc898601521686840152838360448183855af19283156108aa578493610931575b506107d2565b61093d9093919361136c565b61027d5782913861092b565b6002919293949550146000146109cf579088939291818552600286526109708986206113f0565b906003541693843b15610748576109b8948692838b8d51988995869485937f9b2ea4bd000000000000000000000000000000000000000000000000000000008552840161163b565b03925af19283156108aa57849361093157506107d2565b85896001897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b868a60218a7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b888b6021887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8680fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5773ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b50503461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610add6112ce565b602435906003821015610b425773ffffffffffffffffffffffffffffffffffffffff90610b086115bc565b16835260016020528183209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00835416911617905551f35b8380fd5b83833461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610b7e6112ce565b9267ffffffffffffffff6024358181116103af57610bb473ffffffffffffffffffffffffffffffffffffffff913690850161159e565b95610bbd6115bc565b168452602060028152838520928651928311610d225750610bde8354611319565b601f8111610cdf575b5080601f8311600114610c40575084958293949592610c35575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c191617905551f35b015190508580610c01565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08316968487528287209287905b898210610cc75750508360019596979810610c90575b505050811b01905551f35b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c19169055858080610c85565b80600185968294968601518155019501930190610c6f565b838652818620601f840160051c810191838510610d18575b601f0160051c01905b818110610d0d5750610be7565b868155600101610d00565b9091508190610cf7565b8560416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b83833461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610d866112ce565b92610d8f6112f6565b610d976115bc565b73ffffffffffffffffffffffffffffffffffffffff80951694858552600160205260ff848620541660038110156105a05780610e2057508585969594953b156103af57849283602492885196879586947f8f28397000000000000000000000000000000000000000000000000000000000865216908401525af180156103a25761039257505051f35b60018103610e7b57508585969594953b156103af57849283602492885196879586947f13af403500000000000000000000000000000000000000000000000000000000865216908401525af180156103a25761039257505051f35b9395509192600203610ef1578160035416803b156103af5784929183602492885196879586947ff2fde38b00000000000000000000000000000000000000000000000000000000865216908401525af18015610ee757610eda57509051f35b610ee39061136c565b9051f35b83513d84823e3d90fd5b610f578386519182917f08c379a0000000000000000000000000000000000000000000000000000000008352820160609060208152601e60208201527f50726f787941646d696e3a20756e6b6e6f776e2070726f78792074797065000060408201520190565b0390fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610f936115bc565b8173ffffffffffffffffffffffffffffffffffffffff8154927fffffffffffffffffffffffff0000000000000000000000000000000000000000841683555192167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08284a3f35b83833461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5773ffffffffffffffffffffffffffffffffffffffff6110486112ce565b168252600160205260ff8183205416905191600382101561106b57602083838152f35b806021857f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209073ffffffffffffffffffffffffffffffffffffffff600354169051908152f35b50503461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5761114e816111619373ffffffffffffffffffffffffffffffffffffffff6111406112ce565b1681526002602052206113f0565b90519182916020835260208301906114ea565b0390f35b50503461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209073ffffffffffffffffffffffffffffffffffffffff6101376111b96112ce565b61169b565b90503461027d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d573580151580910361027d576112026115bc565b7fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff74ff00000000000000000000000000000000000000006003549260a01b1691161760035551f35b90503461027d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d573573ffffffffffffffffffffffffffffffffffffffff811680910361027d576112a26115bc565b7fffffffffffffffffffffffff0000000000000000000000000000000000000000600354161760035551f35b6004359073ffffffffffffffffffffffffffffffffffffffff821682036112f157565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff821682036112f157565b90600182811c92168015611362575b602083101461133357565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691611328565b67ffffffffffffffff811161138057604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761138057604052565b906040519182600082549261140484611319565b9081845260019485811690816000146114735750600114611430575b505061142e925003836113af565b565b9093915060005260209081600020936000915b81831061145b57505061142e93508201013880611420565b85548884018501529485019487945091830191611443565b905061142e9550602093507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201013880611420565b918091926000905b8282106114d55750116114ce575050565b6000910152565b915080602091830151818601520182916114bd565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602093611526815180928187528780880191016114b5565b0116010190565b67ffffffffffffffff811161138057601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9291926115738261152d565b9161158160405193846113af565b8294818452818301116112f1578281602093846000960137010152565b9080601f830112156112f1578160206115b993359101611567565b90565b73ffffffffffffffffffffffffffffffffffffffff6000541633036115dd57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b9073ffffffffffffffffffffffffffffffffffffffff6116686020929594956040855260408501906114ea565b9416910152565b908160209103126112f1575173ffffffffffffffffffffffffffffffffffffffff811681036112f15790565b600073ffffffffffffffffffffffffffffffffffffffff80921680825260019160209183835260409460ff86842054166003811015611902578061174e5750506004935082908551948580927f5c60da1b0000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b6115b99250803d1061173d575b61173581836113af565b81019061166f565b503d61172b565b51903d90823e3d90fd5b80860361179a5750506004935082908551948580927faaf10f420000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b6002036118a45790839160035416908352600282528583209086519586927fbf40fac100000000000000000000000000000000000000000000000000000000845284600485015285918154916117ef83611319565b92836024880152868382169182600014611862575050600114611829575b50505082809103915afa93841561174457509261171e57505090565b87528587208793505b82841061184957505050820160440182803861180d565b80546044858c01015288968a9650909301928101611832565b90955060449350859492507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b820101913861180d565b85517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f50726f787941646d696e3a20756e6b6e6f776e2070726f7879207479706500006044820152606490fd5b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b600073ffffffffffffffffffffffffffffffffffffffff809216908181526020916001835260409360ff8584205416600381101561190257806119b15750509082600493928551948580927ff851a4400000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b600181036119fe5750509082600493928551948580927f893d20e80000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b909150600203611a4f57908260049392600354168551948580927f8da5cb5b0000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b83517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f50726f787941646d696e3a20756e6b6e6f776e2070726f7879207479706500006044820152606490fdfea26469706673582212206ce3996d0020ca145f7585b749245fa3ea49757895d59304087276c7fae1e40f64736f6c634300080f00330000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"nonce\": \"0x7\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": []\n    },\n    {\n      \"hash\": \"0x7ea0284a062b7f9f52cc2810dbb9d64c0575f7fc11d3cf1d23ae9466a283254a\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0xEACccF3894Ef189A29a557F1B533932bf1ad8d11\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x4A466E4a2b5106bD7f2d3B39d35ded2ACDF491a2\"\n      ],\n      \"rpc\": \"https://developer-access-mainnet.base.org\",\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"gas\": \"0xa12fb\",\n        \"value\": \"0x0\",\n        \"data\": \"0x6080346100b857601f61089638819003918201601f19168301916001600160401b038311848410176100bd578084926020946040528339810103126100b857516001600160a01b03808216918281036100b8577f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f926040927fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610392835493558351921682526020820152a16040516107c290816100d48239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561002c575b361561001f575b61001d6106aa565b005b6100276106aa565b610015565b6000803560e01c9081633659cfe614610093575080634f1ef2861461008a5780635c60da1b146100815780638f283970146100785763f851a4400361000e576100736104f0565b61000e565b50610073610422565b50610073610362565b506100736101d0565b3461012f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012f576100ca610132565b73ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103541633148015610127575b1561011e5761011990610647565b604051f35b506101196106aa565b50331561010b565b80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361015557565b600080fd5b919091602080825283519081818401526000945b8286106101ba575050601f817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09260409596116101ad575b0116010190565b60008582860101526101a6565b858101820151848701604001529481019461016e565b5060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015557610203610132565b6024359067ffffffffffffffff908183116101555736602384011215610155578260040135908282116101555736602483860101116101555761031f9360609273ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354163314801561035a575b156103485791602460009392849361029b84610647565b80604051938493018337810184815203915af4903d1561033d5750610313903d838111610330575b604051937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f850116011685019085821090821117610323575b60405283523d6000602085013e6105bc565b6040519182918261015a565b0390f35b61032b61058c565b610301565b61033861058c565b6102c3565b9150610313906105bc565b50505090506103556106aa565b610313565b503315610284565b50346101555760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610155576020600073ffffffffffffffffffffffffffffffffffffffff90817fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354163314801561041a575b1561040c57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54905b60405191168152f35b906104156106aa565b610403565b5033156103d9565b50346101555760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101555761045a610132565b73ffffffffffffffffffffffffffffffffffffffff907fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610382815416331480156104e8575b156104dd577f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f92826040938354935581845193168352166020820152a1005b50505061001d6106aa565b50331561049e565b50346101555760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610155576020600073ffffffffffffffffffffffffffffffffffffffff907fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103908282541633148015610584575b1561057957505460405191168152f35b9190506104156106aa565b503315610569565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b156105c357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c6564000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff90807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b6000604051a2565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff811615610708576000808092368280378136915af43d82803e15610704573d90f35b3d90fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a65640000000000000000000000000000000000000000000000000000006064820152fdfea2646970667358221220cda8c84ad0f53d583bdbfd81c99ffd0cc3a0dbb096a3ac63c6e408997f19a56d64736f6c634300080f00330000000000000000000000004a466e4a2b5106bd7f2d3b39d35ded2acdf491a2\",\n        \"nonce\": \"0x8\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": []\n    },\n    {\n      \"hash\": \"0x0f1a5beb35ba69614ae4c630163aa382b3bab5de928c41b6eac328751487b7e1\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"Test\",\n      \"contractAddress\": \"0x37AbE6b9174403C0BAA9909D0D02aa50e6C06FA7\",\n      \"function\": null,\n      \"arguments\": null,\n      \"rpc\": \"https://developer-access-mainnet.base.org\",\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"gas\": \"0x2af6b\",\n        \"value\": \"0x0\",\n        \"data\": \"0x608080604052346100165761017d908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c9081633fb5c1cb1461010f5781638381f58a146100d3575063d09de08a1461004257600080fd5b346100d057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146100a3576001018155604051f35b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b80fd5b90503461010b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b57602091548152f35b5080fd5b90503461010b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b576004358255f3fea26469706673582212203aca407a88fb8972c737d9f028180c06c0092ccf80f40d83e1811d19ff2bf6bc64736f6c634300080f0033\",\n        \"nonce\": \"0x9\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": []\n    },\n    {\n      \"hash\": \"0xce2e11de4ad009d48b9808e03675fbb13c9b5dd6f315157d71592444acabac55\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"Test\",\n      \"contractAddress\": \"0xf71368e2D4664feBe17b120dcB9e53289e0b9D1D\",\n      \"function\": null,\n      \"arguments\": null,\n      \"rpc\": \"https://developer-access-mainnet.base.org\",\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"gas\": \"0x2af6b\",\n        \"value\": \"0x0\",\n        \"data\": \"0x608080604052346100165761017d908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c9081633fb5c1cb1461010f5781638381f58a146100d3575063d09de08a1461004257600080fd5b346100d057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146100a3576001018155604051f35b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b80fd5b90503461010b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b57602091548152f35b5080fd5b90503461010b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b576004358255f3fea26469706673582212203aca407a88fb8972c737d9f028180c06c0092ccf80f40d83e1811d19ff2bf6bc64736f6c634300080f0033\",\n        \"nonce\": \"0xa\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": []\n    },\n    {\n      \"hash\": \"0x843ee1ea3053c90ed26e2a6bbe951f2db20168b2940fefbab9fda3d7664bf070\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"ProxyAdmin\",\n      \"contractAddress\": \"0x4A466E4a2b5106bD7f2d3B39d35ded2ACDF491a2\",\n      \"function\": \"upgrade(address,address)\",\n      \"arguments\": [\n        \"0xEACccF3894Ef189A29a557F1B533932bf1ad8d11\",\n        \"0x37AbE6b9174403C0BAA9909D0D02aa50e6C06FA7\"\n      ],\n      \"rpc\": \"https://developer-access-mainnet.base.org\",\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"to\": \"0x4a466e4a2b5106bd7f2d3b39d35ded2acdf491a2\",\n        \"gas\": \"0x13bad\",\n        \"value\": \"0x0\",\n        \"data\": \"0x99a88ec4000000000000000000000000eacccf3894ef189a29a557f1b533932bf1ad8d1100000000000000000000000037abe6b9174403c0baa9909d0d02aa50e6c06fa7\",\n        \"nonce\": \"0xb\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": []\n    },\n    {\n      \"hash\": \"0xc831df8b01e39e758858f4de69c67005fdc1a7bbdd16025a99eb413397c660c7\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"ProxyAdmin\",\n      \"contractAddress\": \"0x4A466E4a2b5106bD7f2d3B39d35ded2ACDF491a2\",\n      \"function\": \"transferOwnership(address)\",\n      \"arguments\": [\n        \"0x2304CB33d95999dC29f4CeF1e35065e670a70050\"\n      ],\n      \"rpc\": \"https://developer-access-mainnet.base.org\",\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"to\": \"0x4a466e4a2b5106bd7f2d3b39d35ded2acdf491a2\",\n        \"gas\": \"0x9ac9\",\n        \"value\": \"0x0\",\n        \"data\": \"0xf2fde38b0000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050\",\n        \"nonce\": \"0xc\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": []\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0x8331009ddb5ce69868002134222fc0f8dd21e4bab01cb416ac5996e7bfe1c9a1\",\n      \"transactionIndex\": \"0x1\",\n      \"blockHash\": \"0x5932be196ddc45ee5b3d235d905ad8025586b01a947fb5bc542281a2099b3b77\",\n      \"blockNumber\": \"0x179c19\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": null,\n      \"cumulativeGasUsed\": \"0x187b30\",\n      \"gasUsed\": \"0x17c3fb\",\n      \"contractAddress\": \"0x4A466E4a2b5106bD7f2d3B39d35ded2ACDF491a2\",\n      \"logs\": [\n        {\n          \"address\": \"0x4A466E4a2b5106bD7f2d3B39d35ded2ACDF491a2\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x5932be196ddc45ee5b3d235d905ad8025586b01a947fb5bc542281a2099b3b77\",\n          \"blockNumber\": \"0x179c19\",\n          \"transactionHash\": \"0x8331009ddb5ce69868002134222fc0f8dd21e4bab01cb416ac5996e7bfe1c9a1\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x4A466E4a2b5106bD7f2d3B39d35ded2ACDF491a2\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n            \"0x0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x5932be196ddc45ee5b3d235d905ad8025586b01a947fb5bc542281a2099b3b77\",\n          \"blockNumber\": \"0x179c19\",\n          \"transactionHash\": \"0x8331009ddb5ce69868002134222fc0f8dd21e4bab01cb416ac5996e7bfe1c9a1\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x1\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000800000000000000000000000000008000000000000000000000800000000000000000000000000000000000000000000000000000000000001000000000000000002000000000000000000020000000000000000000800000000000000000000000000000000400000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020800008000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d05e32\"\n    },\n    {\n      \"transactionHash\": \"0x7ea0284a062b7f9f52cc2810dbb9d64c0575f7fc11d3cf1d23ae9466a283254a\",\n      \"transactionIndex\": \"0x1\",\n      \"blockHash\": \"0x38c5223f885ae61df1d015d6befe786110a625ce52b82d99e970c4b961b15b41\",\n      \"blockNumber\": \"0x179c1a\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": null,\n      \"cumulativeGasUsed\": \"0x8770a\",\n      \"gasUsed\": \"0x7bfd5\",\n      \"contractAddress\": \"0xEACccF3894Ef189A29a557F1B533932bf1ad8d11\",\n      \"logs\": [\n        {\n          \"address\": \"0xEACccF3894Ef189A29a557F1B533932bf1ad8d11\",\n          \"topics\": [\n            \"0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a466e4a2b5106bd7f2d3b39d35ded2acdf491a2\",\n          \"blockHash\": \"0x38c5223f885ae61df1d015d6befe786110a625ce52b82d99e970c4b961b15b41\",\n          \"blockNumber\": \"0x179c1a\",\n          \"transactionHash\": \"0x7ea0284a062b7f9f52cc2810dbb9d64c0575f7fc11d3cf1d23ae9466a283254a\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x0\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000200000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d05e32\"\n    },\n    {\n      \"transactionHash\": \"0x0f1a5beb35ba69614ae4c630163aa382b3bab5de928c41b6eac328751487b7e1\",\n      \"transactionIndex\": \"0x1\",\n      \"blockHash\": \"0xbe91bb99292fd4095aef346c5db130d60dafc32c386c8275b8c0fcc175a57d92\",\n      \"blockNumber\": \"0x179c1c\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": null,\n      \"cumulativeGasUsed\": \"0x30ad6\",\n      \"gasUsed\": \"0x210c9\",\n      \"contractAddress\": \"0x37AbE6b9174403C0BAA9909D0D02aa50e6C06FA7\",\n      \"logs\": [],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d05e32\"\n    },\n    {\n      \"transactionHash\": \"0xce2e11de4ad009d48b9808e03675fbb13c9b5dd6f315157d71592444acabac55\",\n      \"transactionIndex\": \"0x1\",\n      \"blockHash\": \"0xd7fcb4e5d7c9efe9844dd91aa491794c50e223d6a38b51a70d51b8c1a6ea0319\",\n      \"blockNumber\": \"0x179c1d\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": null,\n      \"cumulativeGasUsed\": \"0x2c80a\",\n      \"gasUsed\": \"0x210c9\",\n      \"contractAddress\": \"0xf71368e2D4664feBe17b120dcB9e53289e0b9D1D\",\n      \"logs\": [],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d05e32\"\n    },\n    {\n      \"transactionHash\": \"0x843ee1ea3053c90ed26e2a6bbe951f2db20168b2940fefbab9fda3d7664bf070\",\n      \"transactionIndex\": \"0x1\",\n      \"blockHash\": \"0x1d3c7132cbd556d9b34b8442403188ce5686c801093d68e666883fba4e0d5acd\",\n      \"blockNumber\": \"0x179c21\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": \"0x4A466E4a2b5106bD7f2d3B39d35ded2ACDF491a2\",\n      \"cumulativeGasUsed\": \"0x19d1e\",\n      \"gasUsed\": \"0xd7d9\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0xEACccF3894Ef189A29a557F1B533932bf1ad8d11\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x00000000000000000000000037abe6b9174403c0baa9909d0d02aa50e6c06fa7\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x1d3c7132cbd556d9b34b8442403188ce5686c801093d68e666883fba4e0d5acd\",\n          \"blockNumber\": \"0x179c21\",\n          \"transactionHash\": \"0x843ee1ea3053c90ed26e2a6bbe951f2db20168b2940fefbab9fda3d7664bf070\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x0\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000400000000000000000000000000000000000000000000000100000000000000000000000000000000100000000000000000000000000000000000000000002000000000000000000000000000000000200000000000000000000000000000000000000000400000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d05e32\"\n    },\n    {\n      \"transactionHash\": \"0xc831df8b01e39e758858f4de69c67005fdc1a7bbdd16025a99eb413397c660c7\",\n      \"transactionIndex\": \"0x1\",\n      \"blockHash\": \"0xefd0d544d4d48b2ac2a77508791fa0971a8e091127d327845fee58a87130b37e\",\n      \"blockNumber\": \"0x179c24\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": \"0x4A466E4a2b5106bD7f2d3B39d35ded2ACDF491a2\",\n      \"cumulativeGasUsed\": \"0x12751\",\n      \"gasUsed\": \"0x7010\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x4A466E4a2b5106bD7f2d3B39d35ded2ACDF491a2\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n            \"0x0000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xefd0d544d4d48b2ac2a77508791fa0971a8e091127d327845fee58a87130b37e\",\n          \"blockNumber\": \"0x179c24\",\n          \"transactionHash\": \"0xc831df8b01e39e758858f4de69c67005fdc1a7bbdd16025a99eb413397c660c7\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x0\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000800000000000000000000000000008000000000000000000000800000000000000000000000000000000000000000000000000000000000001000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000020080000000000000000000000000000000000000000000000000800008000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d05e32\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"path\": \"/Users/anikaraghuvanshi/Documents/protocols/base-deployments/mainnet/2023-07-19-test-l2-nested-safe/records/DeployTestProxy.s.sol/8453/run-latest.json\",\n  \"returns\": {},\n  \"timestamp\": 1689883950,\n  \"chain\": 8453,\n  \"multi\": false,\n  \"commit\": \"3ab76f8\"\n}"
  },
  {
    "path": "mainnet/2023-07-19-test-l2-nested-safe/records/TestNestedL2Safe.s.sol/8453/approve-1691008217.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xd4f905a1f4960008a3179b8e851e58c882cd77fb247ad6cfe78d16243c83ec73\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x28EDB11394eb271212ED66c08f2b7893C04C5D65\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"to\": \"0x28edb11394eb271212ed66c08f2b7893c04c5d65\",\n        \"gas\": \"0x340da\",\n        \"value\": \"0x0\",\n        \"data\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcde3cd8c929e96e6d955c0772c3aeefc3c01286956af96719e7b6d8e8f3ead41d700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000145ca58ff3fa9fb58de737b8878dc04cc4fd03a502d267bfd4f34adb868576bef77124710e9022b1e3951d73106e1eccbcb78ce4af98cf5fb0acafbda251904c8651b0d8bdd277a51f442b8c483337b27ffbf9246cdecf4965484fcdb75159620d5f22344e332d033f0585beb40b641dec406baccd067d4a951fbe4f2b2da2cab57c21c003e6e2fc71dafc9884fd7c521e3878139221883e56fd54fad242faa4d936c6a74e1ed3f4211feb341be4f6235f8caf8fb551b5c2aa481d93a9c0991863c795b1b23b5257fe52711df5739cc3d9faabd6002a4bcfd540ef2fe1ce75a64eed1438c4f8213cebd91421314b2f15c71d7165bbb52925fee3a61f794836e1ed20d1a9c1bed003af0c706ee69d224c46ea12ccc13a7dc0a7f351689f3648573bf665fef84095389ee767f46efe881b8a30a14e4e885253e625e1745b7bf162fcdfe47dc4f1c000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0xe\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0xd4f905a1f4960008a3179b8e851e58c882cd77fb247ad6cfe78d16243c83ec73\",\n      \"transactionIndex\": \"0x1\",\n      \"blockHash\": \"0xd8bafd3c72bf1e7a801e54488ed367baab6b55da6a96093ff7d5acd8795cb8de\",\n      \"blockNumber\": \"0x202ffa\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": \"0x28EDB11394eb271212ED66c08f2b7893C04C5D65\",\n      \"cumulativeGasUsed\": \"0x2f0ba\",\n      \"gasUsed\": \"0x23979\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x28EDB11394eb271212ED66c08f2b7893C04C5D65\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000440000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcde3cd8c929e96e6d955c0772c3aeefc3c01286956af96719e7b6d8e8f3ead41d700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000145ca58ff3fa9fb58de737b8878dc04cc4fd03a502d267bfd4f34adb868576bef77124710e9022b1e3951d73106e1eccbcb78ce4af98cf5fb0acafbda251904c8651b0d8bdd277a51f442b8c483337b27ffbf9246cdecf4965484fcdb75159620d5f22344e332d033f0585beb40b641dec406baccd067d4a951fbe4f2b2da2cab57c21c003e6e2fc71dafc9884fd7c521e3878139221883e56fd54fad242faa4d936c6a74e1ed3f4211feb341be4f6235f8caf8fb551b5c2aa481d93a9c0991863c795b1b23b5257fe52711df5739cc3d9faabd6002a4bcfd540ef2fe1ce75a64eed1438c4f8213cebd91421314b2f15c71d7165bbb52925fee3a61f794836e1ed20d1a9c1bed003af0c706ee69d224c46ea12ccc13a7dc0a7f351689f3648573bf665fef84095389ee767f46efe881b8a30a14e4e885253e625e1745b7bf162fcdfe47dc4f1c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f0000000000000000000000000000000000000000000000000000000000000005\",\n          \"blockHash\": \"0xd8bafd3c72bf1e7a801e54488ed367baab6b55da6a96093ff7d5acd8795cb8de\",\n          \"blockNumber\": \"0x202ffa\",\n          \"transactionHash\": \"0xd4f905a1f4960008a3179b8e851e58c882cd77fb247ad6cfe78d16243c83ec73\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x2304CB33d95999dC29f4CeF1e35065e670a70050\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xe3cd8c929e96e6d955c0772c3aeefc3c01286956af96719e7b6d8e8f3ead41d7\",\n            \"0x00000000000000000000000028edb11394eb271212ed66c08f2b7893c04c5d65\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xd8bafd3c72bf1e7a801e54488ed367baab6b55da6a96093ff7d5acd8795cb8de\",\n          \"blockNumber\": \"0x202ffa\",\n          \"transactionHash\": \"0xd4f905a1f4960008a3179b8e851e58c882cd77fb247ad6cfe78d16243c83ec73\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x1\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x28EDB11394eb271212ED66c08f2b7893C04C5D65\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xf242744b7156522129bb3ae507a7989beb8f5156249a237002072c3ff20778240000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xd8bafd3c72bf1e7a801e54488ed367baab6b55da6a96093ff7d5acd8795cb8de\",\n          \"blockNumber\": \"0x202ffa\",\n          \"transactionHash\": \"0xd4f905a1f4960008a3179b8e851e58c882cd77fb247ad6cfe78d16243c83ec73\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x2\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000800000000000040000000010000000000000000000000000000000000000000000100000000000000000000000000000000000020000000000000000040000000000000000800000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000100000002000400200000000000000004000000000000000000800000000000000000200000000000000000000000020000000000000000000000000000000000000000000000000200200000000000000000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d05e32\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {\n    \"0\": {\n      \"internal_type\": \"bool\",\n      \"value\": \"true\"\n    }\n  },\n  \"timestamp\": 1691008217,\n  \"chain\": 8453,\n  \"multi\": false,\n  \"commit\": \"c80a4e0\"\n}"
  },
  {
    "path": "mainnet/2023-07-19-test-l2-nested-safe/records/TestNestedL2Safe.s.sol/8453/approve-1691008879.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x8b8684b0c2468cba82232892c1206f7e764966146d189c97b4e9e2f62306fcac\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0xd94E416cf2c7167608B2515B7e4102B41efff94f\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"to\": \"0xd94e416cf2c7167608b2515b7e4102b41efff94f\",\n        \"gas\": \"0x262fa\",\n        \"value\": \"0x0\",\n        \"data\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcde3cd8c929e96e6d955c0772c3aeefc3c01286956af96719e7b6d8e8f3ead41d7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c34e42c34f521a87da4d7e342eef1879ff013730a17cd67978675f7ecfeecb7fab5c3f29358eacb165b5528d2b1369e147b414927b7d3813a9cc020d532b1ae7691c71f0fec855e5fca2026a2be4bda7e9355b07693a54925645c52e4db35db3c15f4dcac31ee7c2ceb2a79b1c13a43b910ec40f8a0fad612b1d296b7fd72a67d1fb1ba212502c970f0df88ce47e2c7e8fdf92735c5dae494fca58351cee3d160a0daf32f40e8d3296c973800823fcbef74d9afd2b2915952528c37a2b59d78da3fcf31b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0xf\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0x8b8684b0c2468cba82232892c1206f7e764966146d189c97b4e9e2f62306fcac\",\n      \"transactionIndex\": \"0x1\",\n      \"blockHash\": \"0xc7675d1cc336b3fa42d4320116057530e947efaedc173fb9429d498813b45c6b\",\n      \"blockNumber\": \"0x203144\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": \"0xd94E416cf2c7167608B2515B7e4102B41efff94f\",\n      \"cumulativeGasUsed\": \"0x27198\",\n      \"gasUsed\": \"0x1ba57\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0xd94E416cf2c7167608B2515B7e4102B41efff94f\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcde3cd8c929e96e6d955c0772c3aeefc3c01286956af96719e7b6d8e8f3ead41d7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c34e42c34f521a87da4d7e342eef1879ff013730a17cd67978675f7ecfeecb7fab5c3f29358eacb165b5528d2b1369e147b414927b7d3813a9cc020d532b1ae7691c71f0fec855e5fca2026a2be4bda7e9355b07693a54925645c52e4db35db3c15f4dcac31ee7c2ceb2a79b1c13a43b910ec40f8a0fad612b1d296b7fd72a67d1fb1ba212502c970f0df88ce47e2c7e8fdf92735c5dae494fca58351cee3d160a0daf32f40e8d3296c973800823fcbef74d9afd2b2915952528c37a2b59d78da3fcf31b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f0000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0xc7675d1cc336b3fa42d4320116057530e947efaedc173fb9429d498813b45c6b\",\n          \"blockNumber\": \"0x203144\",\n          \"transactionHash\": \"0x8b8684b0c2468cba82232892c1206f7e764966146d189c97b4e9e2f62306fcac\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x2304CB33d95999dC29f4CeF1e35065e670a70050\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xe3cd8c929e96e6d955c0772c3aeefc3c01286956af96719e7b6d8e8f3ead41d7\",\n            \"0x000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xc7675d1cc336b3fa42d4320116057530e947efaedc173fb9429d498813b45c6b\",\n          \"blockNumber\": \"0x203144\",\n          \"transactionHash\": \"0x8b8684b0c2468cba82232892c1206f7e764966146d189c97b4e9e2f62306fcac\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x1\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd94E416cf2c7167608B2515B7e4102B41efff94f\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x09a306e2d0420b80f50587f6e1608d7dfc48bfe61d9250166b14822a558e5ed90000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xc7675d1cc336b3fa42d4320116057530e947efaedc173fb9429d498813b45c6b\",\n          \"blockNumber\": \"0x203144\",\n          \"transactionHash\": \"0x8b8684b0c2468cba82232892c1206f7e764966146d189c97b4e9e2f62306fcac\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x2\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000080800000000000040000000010000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000040000000000000000800000000000000000400000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000400200000000000000004000000000000000000800000000000000004000000000000000000000000020000000200000000000000000000020000000000020000000000000000000000000000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d05e32\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {\n    \"0\": {\n      \"internal_type\": \"bool\",\n      \"value\": \"true\"\n    }\n  },\n  \"timestamp\": 1691008879,\n  \"chain\": 8453,\n  \"multi\": false,\n  \"commit\": \"c80a4e0\"\n}"
  },
  {
    "path": "mainnet/2023-07-19-test-l2-nested-safe/records/TestNestedL2Safe.s.sol/8453/run-1691009077.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x26d0b3a007b9ee526240c776dc5ecdc028fb4c7324a1ec2424ef677dac249a04\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x2304CB33d95999dC29f4CeF1e35065e670a70050\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"to\": \"0x2304cb33d95999dc29f4cef1e35065e670a70050\",\n        \"gas\": \"0x26772\",\n        \"value\": \"0x0\",\n        \"data\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000014482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004a466e4a2b5106bd7f2d3b39d35ded2acdf491a200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000eacccf3894ef189a29a557f1b533932bf1ad8d11000000000000000000000000f71368e2d4664febe17b120dcb9e53289e0b9d1d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000028edb11394eb271212ed66c08f2b7893c04c5d65000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x10\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0x26d0b3a007b9ee526240c776dc5ecdc028fb4c7324a1ec2424ef677dac249a04\",\n      \"transactionIndex\": \"0x1\",\n      \"blockHash\": \"0xd1e84d41968ca4ce93c4d88328ec2e1d3da610fc1c916b0ce811536126bfffdb\",\n      \"blockNumber\": \"0x2031a8\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": \"0x2304CB33d95999dC29f4CeF1e35065e670a70050\",\n      \"cumulativeGasUsed\": \"0x25c13\",\n      \"gasUsed\": \"0x1a4d2\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x2304CB33d95999dC29f4CeF1e35065e670a70050\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000014482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004a466e4a2b5106bd7f2d3b39d35ded2acdf491a200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000eacccf3894ef189a29a557f1b533932bf1ad8d11000000000000000000000000f71368e2d4664febe17b120dcb9e53289e0b9d1d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000028edb11394eb271212ed66c08f2b7893c04c5d65000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f0000000000000000000000000000000000000000000000000000000000000002\",\n          \"blockHash\": \"0xd1e84d41968ca4ce93c4d88328ec2e1d3da610fc1c916b0ce811536126bfffdb\",\n          \"blockNumber\": \"0x2031a8\",\n          \"transactionHash\": \"0x26d0b3a007b9ee526240c776dc5ecdc028fb4c7324a1ec2424ef677dac249a04\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xEACccF3894Ef189A29a557F1B533932bf1ad8d11\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x000000000000000000000000f71368e2d4664febe17b120dcb9e53289e0b9d1d\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xd1e84d41968ca4ce93c4d88328ec2e1d3da610fc1c916b0ce811536126bfffdb\",\n          \"blockNumber\": \"0x2031a8\",\n          \"transactionHash\": \"0x26d0b3a007b9ee526240c776dc5ecdc028fb4c7324a1ec2424ef677dac249a04\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x1\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x2304CB33d95999dC29f4CeF1e35065e670a70050\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xe3cd8c929e96e6d955c0772c3aeefc3c01286956af96719e7b6d8e8f3ead41d70000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xd1e84d41968ca4ce93c4d88328ec2e1d3da610fc1c916b0ce811536126bfffdb\",\n          \"blockNumber\": \"0x2031a8\",\n          \"transactionHash\": \"0x26d0b3a007b9ee526240c776dc5ecdc028fb4c7324a1ec2424ef677dac249a04\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x2\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000400000000001000000000000400000000000000000000000040000000010000000000000100000000000000000000000000000000100000000000000000000000000000000000000000002000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000100000000000400200000000000000024000000000000000000000000000000000000000020000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d05e32\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {\n    \"0\": {\n      \"internal_type\": \"bool\",\n      \"value\": \"true\"\n    }\n  },\n  \"timestamp\": 1691009077,\n  \"chain\": 8453,\n  \"multi\": false,\n  \"commit\": \"c80a4e0\"\n}"
  },
  {
    "path": "mainnet/2023-07-19-test-l2-nested-safe/script/DeployTestProxy.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"forge-std/Script.sol\";\nimport \"@eth-optimism-bedrock/contracts/universal/ProxyAdmin.sol\";\nimport \"@base-contracts/src/Test.sol\";\n\ncontract DeployTestProxy is Script {\n    function run(address deployer, address safeToTest) public {\n        // Deploy proxy admin contract\n        vm.broadcast(deployer);\n        ProxyAdmin proxyAdmin = new ProxyAdmin({\n            _owner: deployer\n        });\n        require(proxyAdmin.owner() == deployer, \"DeployTestProxy: proxyAdmin owner is incorrect\");\n\n        // Deploy an example proxy contract\n        vm.broadcast(deployer);\n        Proxy proxy = new Proxy({\n            _admin: address(proxyAdmin)\n        });\n        vm.prank(address(0));\n        require(proxy.admin() == address(proxyAdmin), \"DeployTestProxy: admin is incorrect\");\n\n        // Deploy 2 implementations - 1 will be set initially, 1 will be used in test upgrade\n        vm.broadcast(deployer);\n        Test implementation = new Test();\n        vm.broadcast(deployer);\n        Test implementation2 = new Test();\n\n        // Set implementation of proxy contract to first implementation\n        vm.broadcast(deployer);\n        proxyAdmin.upgrade({\n            _proxy: payable(proxy),\n            _implementation: address(implementation)\n        });\n        require(\n            proxyAdmin.getProxyImplementation(address(proxy)) == address(implementation),\n            \"DeployTestProxy: implementation did not get set\"\n        );\n\n        // Set safe we are testing to be the proxy admin owner\n        vm.broadcast(deployer);\n        proxyAdmin.transferOwnership(safeToTest);\n        require(proxyAdmin.owner() == safeToTest, \"DeployTestProxy: proxyAdmin owner did not transfer correctly\");\n\n        console.log(\"Deployed Addresses\");\n        console.log(\"ProxyAdmin: \", address(proxyAdmin));\n        console.log(\"Proxy: \", address(proxy));\n        console.log(\"Implementation: \", address(implementation));\n        console.log(\"Implementation2: \", address(implementation2));\n    }\n}"
  },
  {
    "path": "mainnet/2023-07-19-test-l2-nested-safe/script/TestNestedL2Safe.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {\n    OwnableUpgradeable\n} from \"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\";\nimport \"@base-contracts/script/universal/NestedMultisigBuilder.sol\";\nimport \"@eth-optimism-bedrock/contracts/universal/ProxyAdmin.sol\";\n\ncontract TestNestedL2Safe is NestedMultisigBuilder {\n    // ProxyAdminContract owned by the Nested L2 Safe\n    address constant internal PROXY_ADMIN_CONTRACT = 0x4A466E4a2b5106bD7f2d3B39d35ded2ACDF491a2;\n    // An example proxy contract which originally points to the old implementation\n    address constant internal PROXY_CONTRACT = 0xEACccF3894Ef189A29a557F1B533932bf1ad8d11;\n    // Existing implementation contract for the proxy\n    address constant internal OLD_IMPLEMENTATION = 0x37AbE6b9174403C0BAA9909D0D02aa50e6C06FA7;\n    // Implementation contract we want to upgrade to\n    address constant internal NEW_IMPLEMENTATION = 0xf71368e2D4664feBe17b120dcB9e53289e0b9D1D;\n    // Safe we're testing, which is the owner of the Proxy contract\n    address constant internal NESTED_L2_SAFE = 0x2304CB33d95999dC29f4CeF1e35065e670a70050;\n\n    function _postCheck() internal override view {\n        ProxyAdmin proxyAdmin = ProxyAdmin(PROXY_ADMIN_CONTRACT);\n\n        // Check contract was upgraded\n        require(\n            proxyAdmin.getProxyImplementation(PROXY_CONTRACT) == NEW_IMPLEMENTATION,\n            \"TestNestedL2Safe: implementation did not get set\"\n        );\n    }\n\n    function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) {\n        ProxyAdmin proxyAdmin = ProxyAdmin(PROXY_ADMIN_CONTRACT);\n        require(\n            proxyAdmin.getProxyImplementation(PROXY_CONTRACT) == OLD_IMPLEMENTATION,\n            \"TestNestedL2Safe: implementation did not get set\"\n        );\n\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        // Upgrade a contract implementation\n        calls[0] = IMulticall3.Call3({\n            target: PROXY_ADMIN_CONTRACT,\n            allowFailure: false,\n            callData: abi.encodeCall(\n                ProxyAdmin.upgrade,\n                (payable(PROXY_CONTRACT), NEW_IMPLEMENTATION)\n            )\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal override view returns (address) {\n        return NESTED_L2_SAFE;\n    }\n}"
  },
  {
    "path": "mainnet/2023-07-26-transfer-owner-nested-safes/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n##\n# Commands for transferring ownership of L1 and L2 contracts to corresponding nested multisigs\n# with CB and OP as signers\n##\n\n.PHONY: sign-l1\nsign-l1:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) TransferOwnerL1 --sig \"sign()\"\n\n.PHONY: sign-l2\nsign-l2:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L2_RPC_URL) TransferOwnerL2 --sig \"sign()\"\n\n.PHONY: run-l1\nrun-l1:\n\tforge script --rpc-url $(L1_RPC_URL) \\\n\tTransferOwnerL1 --sig \"run(bytes)\" $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --sender $(SENDER) -vvvv --broadcast\n\n.PHONY: run-l2\nrun-l2:\n\tforge script --rpc-url $(L2_RPC_URL) \\\n\tTransferOwnerL2 --sig \"run(bytes)\" $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --sender $(SENDER) -vvvv --broadcast\n\n\n.PHONY: run-local-l1\nrun-local-l1:\n\tforge script --rpc-url $(LOCAL_URL) \\\n\tTransferOwnerL1 --sig \"run(bytes)\" $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --sender $(SENDER) -vvvv --broadcast\n\n.PHONY: run-local-l2\nrun-local-l2:\n\tforge script --rpc-url $(LOCAL_URL) \\\n\tTransferOwnerL2 --sig \"run(bytes)\" $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --sender $(SENDER) -vvvv --broadcast\n\n# L1 SIGNATURES:\n# 6ca1ad47d86598e4c356fd05cb0b53d54077fed5a3c0b0e3384d0ad294fbdbcc0c216cc2262a33c4b1f1cac533bfaacb000bc5958708cb85ba09e966918761481c\n# 1cb7e2feab12ecf133c8a0978a6cd9322d0f9c5e1ba9e99fa1e32a4b07692b011b50b0a7ca2bd785c88dd61e2726d4d415543d336311243ec65dcbd208107fa21c\n# 65375e8e94c25600fd96df681a4d0b95f5fe761f973057ffab82a9e99edd5c6637f0bd489510ea56b882f97bd37cb725dbf5e11b673c65a59d2089789cc27c9d1c\n# 5de7066993f2b44fe5e948eafdcf343136bc8568bff989e3c5847ea7c9369f8275b5f0fcb7423c35dcecc01361859f9f9d9f47f61873e0d0b8bd5007f2329aee1b\n\n\n# L2 SIGNATURES:\n# d8991b12c271e8435510eb9e65868653319dd8ce1d2182606cbd0b4095e1623277b4602ce3533dbb17f5b2cf06c5e503bcc264c4aa2711df27ecaed1ca1e63661c\n# e671d199f47e3bc12d721988266fb5fd3285a0df670f92f936d9c354227fa4756d09e4d4d9be6ffee91cc3b0736425d656200a90b8d7142956412b15e03e62261b\n# 8b79ade36ecfd1063c127057d1e7832bce1bf2d7b40d28c35c6f3cf7056ce0bb0a836ba458f1db1ebd246b7f9894a96d8f548a6af4f65b1dcc5cc5192993b4071b\n# 281ebc7c95ca7f3f7572275638f0c4c9766a71cbb32b9602260246340c354af02e127b85e216d4144d39fb4f191df6d38e440a13805a1999df149a8fce33fad61c"
  },
  {
    "path": "mainnet/2023-07-26-transfer-owner-nested-safes/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2023-07-26-transfer-owner-nested-safes/records/TransferOwnerL1.s.sol/1/run-1691523415.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x655d851a6318c97851af75a9f7008ec439fbb2c6fa56adadc6aced045bdccb96\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x9855054731540A48b28990B63DcF4f33d8AE46A1\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"to\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n        \"gas\": \"0x1afab\",\n        \"value\": \"0x0\",\n        \"data\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024f2fde38b0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c365375e8e94c25600fd96df681a4d0b95f5fe761f973057ffab82a9e99edd5c6637f0bd489510ea56b882f97bd37cb725dbf5e11b673c65a59d2089789cc27c9d1c6ca1ad47d86598e4c356fd05cb0b53d54077fed5a3c0b0e3384d0ad294fbdbcc0c216cc2262a33c4b1f1cac533bfaacb000bc5958708cb85ba09e966918761481c1cb7e2feab12ecf133c8a0978a6cd9322d0f9c5e1ba9e99fa1e32a4b07692b011b50b0a7ca2bd785c88dd61e2726d4d415543d336311243ec65dcbd208107fa21c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x16\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0x655d851a6318c97851af75a9f7008ec439fbb2c6fa56adadc6aced045bdccb96\",\n      \"transactionIndex\": \"0x27\",\n      \"blockHash\": \"0xa61993fa02a0a59006a7773c1156ca4a0455dbb57b546533c8c74c0d98bf6042\",\n      \"blockNumber\": \"0x110b5c6\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": \"0x9855054731540A48b28990B63DcF4f33d8AE46A1\",\n      \"cumulativeGasUsed\": \"0x6fc89c\",\n      \"gasUsed\": \"0x13886\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1\",\n            \"0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xa61993fa02a0a59006a7773c1156ca4a0455dbb57b546533c8c74c0d98bf6042\",\n          \"blockNumber\": \"0x110b5c6\",\n          \"transactionHash\": \"0x655d851a6318c97851af75a9f7008ec439fbb2c6fa56adadc6aced045bdccb96\",\n          \"transactionIndex\": \"0x27\",\n          \"logIndex\": \"0xa6\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9855054731540A48b28990B63DcF4f33d8AE46A1\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x5fcef29eb014ece53a93d99312fd30a7d2959aeb0dfff50535902ae80750af350000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xa61993fa02a0a59006a7773c1156ca4a0455dbb57b546533c8c74c0d98bf6042\",\n          \"blockNumber\": \"0x110b5c6\",\n          \"transactionHash\": \"0x655d851a6318c97851af75a9f7008ec439fbb2c6fa56adadc6aced045bdccb96\",\n          \"transactionIndex\": \"0x27\",\n          \"logIndex\": \"0xa7\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000400000000000000010000000000000000008000000800000040000010000000000000000000101000010000000000000000000000000000000000000000000000000000000000000000000000001000008000000000000000000040000000002000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000010000000000000000000000000000000000008000000000000000000004000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0x7605c6da2\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {\n    \"0\": {\n      \"internal_type\": \"bool\",\n      \"value\": \"true\"\n    }\n  },\n  \"timestamp\": 1691523415,\n  \"chain\": 1,\n  \"multi\": false,\n  \"commit\": \"e731ff3\"\n}"
  },
  {
    "path": "mainnet/2023-07-26-transfer-owner-nested-safes/records/TransferOwnerL2.s.sol/8453/run-1691524273.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x719155702451385469e37c49b3321e6038ad512f8504400b7de4d07a4239cd77\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0xd94E416cf2c7167608B2515B7e4102B41efff94f\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"to\": \"0xd94e416cf2c7167608b2515b7e4102b41efff94f\",\n        \"gas\": \"0x2077f\",\n        \"value\": \"0x0\",\n        \"data\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004200000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024f2fde38b0000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c38b79ade36ecfd1063c127057d1e7832bce1bf2d7b40d28c35c6f3cf7056ce0bb0a836ba458f1db1ebd246b7f9894a96d8f548a6af4f65b1dcc5cc5192993b4071bd8991b12c271e8435510eb9e65868653319dd8ce1d2182606cbd0b4095e1623277b4602ce3533dbb17f5b2cf06c5e503bcc264c4aa2711df27ecaed1ca1e63661ce671d199f47e3bc12d721988266fb5fd3285a0df670f92f936d9c354227fa4756d09e4d4d9be6ffee91cc3b0736425d656200a90b8d7142956412b15e03e62261b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x11\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0x719155702451385469e37c49b3321e6038ad512f8504400b7de4d07a4239cd77\",\n      \"transactionIndex\": \"0x1\",\n      \"blockHash\": \"0xb59709f30075a3ebfcabe366a145e08ad24c6ef0229b597e074c1cb4037900cf\",\n      \"blockNumber\": \"0x241fe6\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": \"0xd94E416cf2c7167608B2515B7e4102B41efff94f\",\n      \"cumulativeGasUsed\": \"0x27229\",\n      \"gasUsed\": \"0x1781c\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0xd94E416cf2c7167608B2515B7e4102B41efff94f\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004200000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024f2fde38b0000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c38b79ade36ecfd1063c127057d1e7832bce1bf2d7b40d28c35c6f3cf7056ce0bb0a836ba458f1db1ebd246b7f9894a96d8f548a6af4f65b1dcc5cc5192993b4071bd8991b12c271e8435510eb9e65868653319dd8ce1d2182606cbd0b4095e1623277b4602ce3533dbb17f5b2cf06c5e503bcc264c4aa2711df27ecaed1ca1e63661ce671d199f47e3bc12d721988266fb5fd3285a0df670f92f936d9c354227fa4756d09e4d4d9be6ffee91cc3b0736425d656200a90b8d7142956412b15e03e62261b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000020000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f0000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0xb59709f30075a3ebfcabe366a145e08ad24c6ef0229b597e074c1cb4037900cf\",\n          \"blockNumber\": \"0x241fe6\",\n          \"transactionHash\": \"0x719155702451385469e37c49b3321e6038ad512f8504400b7de4d07a4239cd77\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x4200000000000000000000000000000000000018\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f\",\n            \"0x0000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xb59709f30075a3ebfcabe366a145e08ad24c6ef0229b597e074c1cb4037900cf\",\n          \"blockNumber\": \"0x241fe6\",\n          \"transactionHash\": \"0x719155702451385469e37c49b3321e6038ad512f8504400b7de4d07a4239cd77\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x1\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd94E416cf2c7167608B2515B7e4102B41efff94f\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x774dd0ca8bd50d90cd2c1d4500b294768ce211a5cb5174af9c00fa549f0eb3f70000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xb59709f30075a3ebfcabe366a145e08ad24c6ef0229b597e074c1cb4037900cf\",\n          \"blockNumber\": \"0x241fe6\",\n          \"transactionHash\": \"0x719155702451385469e37c49b3321e6038ad512f8504400b7de4d07a4239cd77\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x2\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000080000000800000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040400000000000000000000000000000000000000000000000000000008000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000400000000000400000004000000000000000200000000000000000004000000020080000000000000220000000200000000000000000000020000000000020000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2dfe6a7\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {\n    \"0\": {\n      \"internal_type\": \"bool\",\n      \"value\": \"true\"\n    }\n  },\n  \"timestamp\": 1691524273,\n  \"chain\": 8453,\n  \"multi\": false,\n  \"commit\": \"e731ff3\"\n}"
  },
  {
    "path": "mainnet/2023-07-26-transfer-owner-nested-safes/script/TransferOwnerL1.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {\n    OwnableUpgradeable\n} from \"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\";\nimport \"@base-contracts/script/universal/MultisigBuilder.sol\";\nimport \"@eth-optimism-bedrock/contracts/universal/ProxyAdmin.sol\";\n\ncontract TransferOwnerL1 is MultisigBuilder {\n    address constant internal PROXY_CONTRACT = 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E; \n    address constant internal OLD_OWNER = 0x9855054731540A48b28990B63DcF4f33d8AE46A1;\n    address constant internal NEW_OWNER = 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c;\n\n    function _postCheck() internal override view {\n        ProxyAdmin proxyAdmin = ProxyAdmin(PROXY_CONTRACT);\n        require(proxyAdmin.owner() == NEW_OWNER, \"ProxyAdmin owner did not get updated\");\n    }\n\n    function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        calls[0] = IMulticall3.Call3({\n            target: PROXY_CONTRACT,\n            allowFailure: false,\n            callData: abi.encodeCall(\n                OwnableUpgradeable.transferOwnership,\n                (NEW_OWNER)\n            )\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal override view returns (address) {\n        return OLD_OWNER;\n    }\n}"
  },
  {
    "path": "mainnet/2023-07-26-transfer-owner-nested-safes/script/TransferOwnerL2.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {\n    OwnableUpgradeable\n} from \"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\";\nimport \"@base-contracts/script/universal/MultisigBuilder.sol\";\nimport \"@eth-optimism-bedrock/contracts/universal/ProxyAdmin.sol\";\n\ncontract TransferOwnerL2 is MultisigBuilder {\n    address constant internal PROXY_CONTRACT = 0x4200000000000000000000000000000000000018; \n    address constant internal OLD_OWNER = 0xd94E416cf2c7167608B2515B7e4102B41efff94f;\n    address constant internal NEW_OWNER = 0x2304CB33d95999dC29f4CeF1e35065e670a70050;\n\n    function _postCheck() internal override view {\n        ProxyAdmin proxyAdmin = ProxyAdmin(PROXY_CONTRACT);\n        require(proxyAdmin.owner() == NEW_OWNER, \"ProxyAdmin owner did not get updated\");\n    }\n\n    function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        calls[0] = IMulticall3.Call3({\n            target: PROXY_CONTRACT,\n            allowFailure: false,\n            callData: abi.encodeCall(\n                OwnableUpgradeable.transferOwnership,\n                (NEW_OWNER)\n            )\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal override view returns (address) {\n        return OLD_OWNER;\n    }\n}"
  },
  {
    "path": "mainnet/2023-08-07-test-op-fee-nested-safe/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n##\n# Commands for signers to run to test the nested safe\n##\n.PHONY: sign-op\nsign-op:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --via-ir --rpc-url $(OP_L2_RPC_URL) TestNestedL2Safe \\\n\t--sig \"sign(address)\" $(OP_SAFE_ADDR)\n\n.PHONY: sign-cb\nsign-cb:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --via-ir --rpc-url $(OP_L2_RPC_URL) TestNestedL2Safe \\\n\t--sig \"sign(address)\" $(CB_SAFE_ADDR)\n\n##\n# Commands for faciliators to run to test the nested safe\n##\n\n.PHONY: approve-op\napprove-op:\n\tforge script --rpc-url $(OP_L2_RPC_URL) TestNestedL2Safe \\\n\t--sig \"approve(address,bytes)\" $(OP_SAFE_ADDR) $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --sender $(SENDER) --broadcast\n\n.PHONY: approve-cb\napprove-cb:\n\tforge script --rpc-url $(OP_L2_RPC_URL) TestNestedL2Safe \\\n\t--sig \"approve(address,bytes)\" $(CB_SAFE_ADDR) $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --sender $(SENDER) --broadcast\n\nexecute:\n\tforge script --rpc-url $(OP_L2_RPC_URL) TestNestedL2Safe \\\n\t--sig \"run()\" --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" \\\n\t--sender $(SENDER) --broadcast\n"
  },
  {
    "path": "mainnet/2023-08-07-test-op-fee-nested-safe/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia_ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2023-08-07-test-op-fee-nested-safe/records/TestNestedL2Safe.s.sol/10/run-1692981334.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x3c6048e644c83e90275654a711319ab836cbb27d163a33ee652249d39311a6ec\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6e1DFd5C1E22A4677663A81D24C6BA03561ef0f6\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"to\": \"0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6\",\n        \"gas\": \"0x2bf4e\",\n        \"value\": \"0x0\",\n        \"data\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec70940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd67c66df0e9d62c58cad922f6e070558232ede7524d9862ab58e3f79c27aea6e4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3db4add45930e2b18221802ed2ce16bc45c45e4e509fb7c75560a09a94d0a4cca020e68c1c6ddca688a39bb87de7ed25adfc0fbc29735bae3fdb97da6f22698751b5be62f366776190bcb8615be49f9bd0e130c0db23550ebe717eab01e1b3a8b072d7f8e7f1c278580c1c00e1d6fabad37e17cdfbf448a24ca0d2fbbb3c9c932f71ba5dfc890efe14006c2d92477ef6b6fcb23831579ab01e16d23ae1227f23e9470441ad37880b5f18b11c3ef6e02c4cfea70fdfe83bea6bab85849bbaaeebd11b11c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x0\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0x3c6048e644c83e90275654a711319ab836cbb27d163a33ee652249d39311a6ec\",\n      \"transactionIndex\": \"0x1\",\n      \"blockHash\": \"0x0e1eacd86bf85587c3c2deb13e16c9baabb913473ce9691be66843b372cb8438\",\n      \"blockNumber\": \"0x67a7f4c\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": \"0x6e1DFd5C1E22A4677663A81D24C6BA03561ef0f6\",\n      \"cumulativeGasUsed\": \"0x2b470\",\n      \"gasUsed\": \"0x1fd2f\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x6e1DFd5C1E22A4677663A81D24C6BA03561ef0f6\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec70940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd67c66df0e9d62c58cad922f6e070558232ede7524d9862ab58e3f79c27aea6e4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3db4add45930e2b18221802ed2ce16bc45c45e4e509fb7c75560a09a94d0a4cca020e68c1c6ddca688a39bb87de7ed25adfc0fbc29735bae3fdb97da6f22698751b5be62f366776190bcb8615be49f9bd0e130c0db23550ebe717eab01e1b3a8b072d7f8e7f1c278580c1c00e1d6fabad37e17cdfbf448a24ca0d2fbbb3c9c932f71ba5dfc890efe14006c2d92477ef6b6fcb23831579ab01e16d23ae1227f23e9470441ad37880b5f18b11c3ef6e02c4cfea70fdfe83bea6bab85849bbaaeebd11b11c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f0000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0x0e1eacd86bf85587c3c2deb13e16c9baabb913473ce9691be66843b372cb8438\",\n          \"blockNumber\": \"0x67a7f4c\",\n          \"transactionHash\": \"0x3c6048e644c83e90275654a711319ab836cbb27d163a33ee652249d39311a6ec\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x67c66df0e9d62c58cad922f6e070558232ede7524d9862ab58e3f79c27aea6e4\",\n            \"0x0000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f6\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x0e1eacd86bf85587c3c2deb13e16c9baabb913473ce9691be66843b372cb8438\",\n          \"blockNumber\": \"0x67a7f4c\",\n          \"transactionHash\": \"0x3c6048e644c83e90275654a711319ab836cbb27d163a33ee652249d39311a6ec\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x1\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6e1DFd5C1E22A4677663A81D24C6BA03561ef0f6\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x9168f47f5a3c5e91a37cc9c57555699ac807b6f7c8cc0c8944716819e78571d00000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x0e1eacd86bf85587c3c2deb13e16c9baabb913473ce9691be66843b372cb8438\",\n          \"blockNumber\": \"0x67a7f4c\",\n          \"transactionHash\": \"0x3c6048e644c83e90275654a711319ab836cbb27d163a33ee652249d39311a6ec\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x2\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x01000000400000000000000000000000000000200000000000000000040000000000000000000000000000000000000000000000000080100000000000000000000000000000000000000000100000000000040000000000000000010000000000000000400000000000000000000000000000000000000000800000000000000000000000000000008000000000000000000000000000000000000000000000000000000400000000000000000004000020000000000001000000000000000000000000000000000000000000020000000000000000000000000000000000000000000040000000000001000000000000000000000000100000000000000004\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d05e3a\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {\n    \"0\": {\n      \"internal_type\": \"bool\",\n      \"value\": \"true\"\n    }\n  },\n  \"timestamp\": 1692981334,\n  \"chain\": 10,\n  \"multi\": false,\n  \"commit\": \"88118c9\"\n}"
  },
  {
    "path": "mainnet/2023-08-07-test-op-fee-nested-safe/records/TestNestedL2Safe.s.sol/10/run-1692981492.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xc9e02dfb85a447ced5fc23321520c453b9c98bd47ea17c353d03c071b50ec724\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"to\": \"0x2501c477d0a35545a387aa4a3eee4292a9a8b3f0\",\n        \"gas\": \"0x262fa\",\n        \"value\": \"0x0\",\n        \"data\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec70940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd67c66df0e9d62c58cad922f6e070558232ede7524d9862ab58e3f79c27aea6e4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c32f67baf12d3c0f2232146f423800e516fbd9ef38fc014e51e6408e5f9440f7b35e63452969d76b23a995af81aa46dca50f26838b9bce6f90d68dcdf6ab0e7c071cfb50e7e7a05a07f0fe648749a0fb9efe5b5d1060c34164aa4fed6d01fbba0882386270f4c29a383471a2726931582e46cbfd636ed2a13832bdf631d3a9bf693e1b5661d6d46db9c8bc24802ab58b3f3f5db47aa86a85d694df3d796fba7fbbbd202e5ce3364c8d0eb2b52d2dc40a63d12c0b58ae88af36f17a1944d9113ae220901b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x1\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0xc9e02dfb85a447ced5fc23321520c453b9c98bd47ea17c353d03c071b50ec724\",\n      \"transactionIndex\": \"0x1\",\n      \"blockHash\": \"0xbbe89c90aa5c43057bb84deeb61d1144641504f525c1552179290f6f4bc1326e\",\n      \"blockNumber\": \"0x67a7f9b\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": \"0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0\",\n      \"cumulativeGasUsed\": \"0x27198\",\n      \"gasUsed\": \"0x1ba57\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec70940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd67c66df0e9d62c58cad922f6e070558232ede7524d9862ab58e3f79c27aea6e4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c32f67baf12d3c0f2232146f423800e516fbd9ef38fc014e51e6408e5f9440f7b35e63452969d76b23a995af81aa46dca50f26838b9bce6f90d68dcdf6ab0e7c071cfb50e7e7a05a07f0fe648749a0fb9efe5b5d1060c34164aa4fed6d01fbba0882386270f4c29a383471a2726931582e46cbfd636ed2a13832bdf631d3a9bf693e1b5661d6d46db9c8bc24802ab58b3f3f5db47aa86a85d694df3d796fba7fbbbd202e5ce3364c8d0eb2b52d2dc40a63d12c0b58ae88af36f17a1944d9113ae220901b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000640000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f0000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0xbbe89c90aa5c43057bb84deeb61d1144641504f525c1552179290f6f4bc1326e\",\n          \"blockNumber\": \"0x67a7f9b\",\n          \"transactionHash\": \"0xc9e02dfb85a447ced5fc23321520c453b9c98bd47ea17c353d03c071b50ec724\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x67c66df0e9d62c58cad922f6e070558232ede7524d9862ab58e3f79c27aea6e4\",\n            \"0x0000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f0\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xbbe89c90aa5c43057bb84deeb61d1144641504f525c1552179290f6f4bc1326e\",\n          \"blockNumber\": \"0x67a7f9b\",\n          \"transactionHash\": \"0xc9e02dfb85a447ced5fc23321520c453b9c98bd47ea17c353d03c071b50ec724\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x1\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x353b2a1c6d14523d93bac466fca06e2f7fb8f6137918eae41ae9c479049c00310000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xbbe89c90aa5c43057bb84deeb61d1144641504f525c1552179290f6f4bc1326e\",\n          \"blockNumber\": \"0x67a7f9b\",\n          \"transactionHash\": \"0xc9e02dfb85a447ced5fc23321520c453b9c98bd47ea17c353d03c071b50ec724\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x2\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00080080400000000000000000000000000000200000000000000000040800000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000100000000000040000000000000000010000000000000000400000000000000100800000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000200000000400000000000000000004000020000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000040000000000000000000000000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d05e35\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {\n    \"0\": {\n      \"internal_type\": \"bool\",\n      \"value\": \"true\"\n    }\n  },\n  \"timestamp\": 1692981492,\n  \"chain\": 10,\n  \"multi\": false,\n  \"commit\": \"88118c9\"\n}"
  },
  {
    "path": "mainnet/2023-08-07-test-op-fee-nested-safe/records/TestNestedL2Safe.s.sol/10/run-1692981620.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xa338d314e57e6895077b9d9926989dd56a8d6c0fccc3c1847dc12dcb10ebdc30\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"to\": \"0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940\",\n        \"gas\": \"0x234eb\",\n        \"value\": \"0x0\",\n        \"data\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000014482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004200000000000000000000000000000000000042000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044a9059cbb00000000000000000000000005301b36f071cefd01e564ec5ecce6864d12b0b00000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f00000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f6000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x2\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0xa338d314e57e6895077b9d9926989dd56a8d6c0fccc3c1847dc12dcb10ebdc30\",\n      \"transactionIndex\": \"0x1\",\n      \"blockHash\": \"0x733bb65177dcbb715f21cfa9bb9e65d2d87ef53ebd4f22e135e686aa361ecfe0\",\n      \"blockNumber\": \"0x67a7fdb\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": \"0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940\",\n      \"cumulativeGasUsed\": \"0x25040\",\n      \"gasUsed\": \"0x198ff\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000014482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004200000000000000000000000000000000000042000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044a9059cbb00000000000000000000000005301b36f071cefd01e564ec5ecce6864d12b0b00000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f00000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f6000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f0000000000000000000000000000000000000000000000000000000000000002\",\n          \"blockHash\": \"0x733bb65177dcbb715f21cfa9bb9e65d2d87ef53ebd4f22e135e686aa361ecfe0\",\n          \"blockNumber\": \"0x67a7fdb\",\n          \"transactionHash\": \"0xa338d314e57e6895077b9d9926989dd56a8d6c0fccc3c1847dc12dcb10ebdc30\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x4200000000000000000000000000000000000042\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x0000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec70940\",\n            \"0x00000000000000000000000005301b36f071cefd01e564ec5ecce6864d12b0b0\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000de0b6b3a7640000\",\n          \"blockHash\": \"0x733bb65177dcbb715f21cfa9bb9e65d2d87ef53ebd4f22e135e686aa361ecfe0\",\n          \"blockNumber\": \"0x67a7fdb\",\n          \"transactionHash\": \"0xa338d314e57e6895077b9d9926989dd56a8d6c0fccc3c1847dc12dcb10ebdc30\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x1\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x67c66df0e9d62c58cad922f6e070558232ede7524d9862ab58e3f79c27aea6e40000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x733bb65177dcbb715f21cfa9bb9e65d2d87ef53ebd4f22e135e686aa361ecfe0\",\n          \"blockNumber\": \"0x67a7fdb\",\n          \"transactionHash\": \"0xa338d314e57e6895077b9d9926989dd56a8d6c0fccc3c1847dc12dcb10ebdc30\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x2\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000800000040000000000000000020000008400000000000040001000000000000000000000000000000000000000000000000000000000000000000001000000010000000000000000000000000008000000000002000000000000000000000000000000000000000000400000000000000200004000020000000000000000000000000000000000002000000000000000000020000008000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d05e35\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {\n    \"0\": {\n      \"internal_type\": \"bool\",\n      \"value\": \"true\"\n    }\n  },\n  \"timestamp\": 1692981620,\n  \"chain\": 10,\n  \"multi\": false,\n  \"commit\": \"88118c9\"\n}"
  },
  {
    "path": "mainnet/2023-08-07-test-op-fee-nested-safe/script/TestNestedL2Safe.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"@base-contracts/script/universal/NestedMultisigBuilder.sol\";\nimport \"@eth-optimism-bedrock/contracts/universal/ProxyAdmin.sol\";\nimport { IERC20 } from \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\n\n\ncontract TestNestedL2Safe is NestedMultisigBuilder {\n    address constant internal OP_TOKEN_ADDR = 0x4200000000000000000000000000000000000042;\n    // OP Token Address\n    IERC20 constant internal OP_TOKEN = IERC20(OP_TOKEN_ADDR);\n    // 2-of-2 (CB + OP) fee vault\n    address constant internal NESTED_L2_SAFE = 0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940;\n    // Address to send OP test txn to\n    address constant internal SEND_OP_TO = 0x05301B36f071CEfD01e564EC5eCCe6864d12b0B0;\n\n    function _postCheck() internal override view {\n        uint256 opBalance =  OP_TOKEN.balanceOf(NESTED_L2_SAFE);\n\n        require(\n            opBalance == 0,\n            \"TestNestedL2Safe: script failed to transfer total balance\"\n        );\n    }\n\n    function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) {\n        uint256 opBalance = OP_TOKEN.balanceOf(NESTED_L2_SAFE);\n\n        require(\n            opBalance > 0 && opBalance <= 10 ether,\n            \"TestNestedL2Safe: transfer a test amount of OP to the nested l2 safe\"\n        );\n\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        calls[0] = IMulticall3.Call3({\n            target: OP_TOKEN_ADDR,\n            allowFailure: false,\n            callData: abi.encodeCall(\n                IERC20.transfer,\n                (SEND_OP_TO, opBalance)\n            )\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal override pure returns (address) {\n        return NESTED_L2_SAFE;\n    }\n}"
  },
  {
    "path": "mainnet/2023-08-15-support-eas/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n##\n# Commands for signers to run to test the nested safe\n##\n\n.PHONY: sign-op\nsign-op:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L2_RPC_URL) UpgradeToEAS \\\n\t--sig \"sign(address)\" $(OP_SAFE_ADDR)\n\n.PHONY: sign-cb\nsign-cb:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L2_RPC_URL) UpgradeToEAS \\\n\t--sig \"sign(address)\" $(CB_SAFE_ADDR)\n\n##\n# Commands for faciliators to run to test the nested safe\n##\n\n.PHONY: approve-op\napprove-op:\n\tforge script --rpc-url $(L2_RPC_URL) UpgradeToEAS \\\n\t--sig \"approve(address,bytes)\" $(OP_SAFE_ADDR) $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --sender $(SENDER) --broadcast\n\n.PHONY: approve-cb\napprove-cb:\n\tforge script --rpc-url $(L2_RPC_URL) UpgradeToEAS \\\n\t--sig \"approve(address,bytes)\" $(CB_SAFE_ADDR) $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --sender $(SENDER) --broadcast\n\nexecute:\n\tforge script --rpc-url $(L2_RPC_URL) UpgradeToEAS \\\n\t--sig \"run()\" --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --sender $(SENDER) --broadcast\n"
  },
  {
    "path": "mainnet/2023-08-15-support-eas/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2023-08-15-support-eas/records/UpgradeToEAS.s.sol/8453/run-1694183897.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x31f7e7bf3f6de2cc1b517cabff654f7a19ab707604016bdd0f9beeebd0a0c9fa\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x28EDB11394eb271212ED66c08f2b7893C04C5D65\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"to\": \"0x28edb11394eb271212ed66c08f2b7893c04c5d65\",\n        \"gas\": \"0x2b651\",\n        \"value\": \"0x0\",\n        \"data\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd28672159278d03a97d8e0dde8b878dd46695b873cb7871638785b4cca1dc2487000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001456df3db450818dbad1450d08524e174438fa1d87fd359432a769f92f05ae5d5676e9ea49a77939574d6c35cad24f2c6eabff9cd50e0a95f5f1a2d307a208fd9d31b386f53c3158f4926ee0f807faa8c56b9b6e3822b867e47add99ff0942681997618eb8ad40c4fad9dd7ca2f590f2580f4a993bb54051910b294ca8db3beb82d021c285dcb7e01b3decbb1fceee7dd14cb683adaca69e558a9e628ae2cc8ea6a731a2e0bef3c771a455beef00b3e72152f77c35b175d355bd26bc5c71a781e5b7a071c4086edb211005d65067d12f76d593d52a0d5331dd16aa251fe3a19e668e05458530263757682ab4b1bf634b12b3a614eb92404e06a254a8ea399b0cad79bd0991bdfadd33bcb95ab44e411c2f477218093f1d1414c0511e3b5343009ccb3d611b644188d221190267ff0b4af24150d4feb291700aac4945f28260bd71905e053ae1c000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x16\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0x31f7e7bf3f6de2cc1b517cabff654f7a19ab707604016bdd0f9beeebd0a0c9fa\",\n      \"transactionIndex\": \"0x1\",\n      \"blockHash\": \"0xa732d5240a818750cb5df94fe30296f10f8016af26e5ecccd6950a2651f9c16e\",\n      \"blockNumber\": \"0x386a7a\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": \"0x28EDB11394eb271212ED66c08f2b7893C04C5D65\",\n      \"cumulativeGasUsed\": \"0x2adee\",\n      \"gasUsed\": \"0x1f6ad\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x28EDB11394eb271212ED66c08f2b7893C04C5D65\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000440000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd28672159278d03a97d8e0dde8b878dd46695b873cb7871638785b4cca1dc2487000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001456df3db450818dbad1450d08524e174438fa1d87fd359432a769f92f05ae5d5676e9ea49a77939574d6c35cad24f2c6eabff9cd50e0a95f5f1a2d307a208fd9d31b386f53c3158f4926ee0f807faa8c56b9b6e3822b867e47add99ff0942681997618eb8ad40c4fad9dd7ca2f590f2580f4a993bb54051910b294ca8db3beb82d021c285dcb7e01b3decbb1fceee7dd14cb683adaca69e558a9e628ae2cc8ea6a731a2e0bef3c771a455beef00b3e72152f77c35b175d355bd26bc5c71a781e5b7a071c4086edb211005d65067d12f76d593d52a0d5331dd16aa251fe3a19e668e05458530263757682ab4b1bf634b12b3a614eb92404e06a254a8ea399b0cad79bd0991bdfadd33bcb95ab44e411c2f477218093f1d1414c0511e3b5343009ccb3d611b644188d221190267ff0b4af24150d4feb291700aac4945f28260bd71905e053ae1c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000020000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f0000000000000000000000000000000000000000000000000000000000000005\",\n          \"blockHash\": \"0xa732d5240a818750cb5df94fe30296f10f8016af26e5ecccd6950a2651f9c16e\",\n          \"blockNumber\": \"0x386a7a\",\n          \"transactionHash\": \"0x31f7e7bf3f6de2cc1b517cabff654f7a19ab707604016bdd0f9beeebd0a0c9fa\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x2304CB33d95999dC29f4CeF1e35065e670a70050\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x28672159278d03a97d8e0dde8b878dd46695b873cb7871638785b4cca1dc2487\",\n            \"0x00000000000000000000000028edb11394eb271212ed66c08f2b7893c04c5d65\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xa732d5240a818750cb5df94fe30296f10f8016af26e5ecccd6950a2651f9c16e\",\n          \"blockNumber\": \"0x386a7a\",\n          \"transactionHash\": \"0x31f7e7bf3f6de2cc1b517cabff654f7a19ab707604016bdd0f9beeebd0a0c9fa\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x1\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x28EDB11394eb271212ED66c08f2b7893C04C5D65\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x64882ac4ddd602403a7132eeea3750b6a9bcb3f09c5ef68afc6860721316e3f00000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xa732d5240a818750cb5df94fe30296f10f8016af26e5ecccd6950a2651f9c16e\",\n          \"blockNumber\": \"0x386a7a\",\n          \"transactionHash\": \"0x31f7e7bf3f6de2cc1b517cabff654f7a19ab707604016bdd0f9beeebd0a0c9fa\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x2\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000400000000000000000400000000000000000000000000000040000000010000000000000000000000000000000000000000000100000000000000000000000000000000000020000000000000000040000000000010000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000100000002000400200000000000000004000000000000000000000000000000000000200000000000000000000000020000000000000000000000000000000000000000000000000200200000000100000000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb3ea7681\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {\n    \"0\": {\n      \"internal_type\": \"bool\",\n      \"value\": \"true\"\n    }\n  },\n  \"timestamp\": 1694183897,\n  \"chain\": 8453,\n  \"multi\": false,\n  \"commit\": \"1b8a7ce\"\n}"
  },
  {
    "path": "mainnet/2023-08-15-support-eas/records/UpgradeToEAS.s.sol/8453/run-1694184082.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x57a4401e7ebd03f00febb1572904dbfad58b7269417b1def771e7e372b470ec5\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0xd94E416cf2c7167608B2515B7e4102B41efff94f\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"to\": \"0xd94e416cf2c7167608b2515b7e4102b41efff94f\",\n        \"gas\": \"0x262fa\",\n        \"value\": \"0x0\",\n        \"data\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd28672159278d03a97d8e0dde8b878dd46695b873cb7871638785b4cca1dc2487000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3e760b662394d0719cf7433996dd3e8744d3973bdcb2ed32eaa2953ea421960546fd959c9092339cba91244522eb8af876c82d32ad7238c56d85421ddaaa7c2231b9b440c5cd8cf1760d5dcd4d6f435edb0bdd72fa5895ed55acf850896f7b12e466b91edfc1108011c0e3482e6e28774ffafdc19e0a58301dd33b5d684baa8d7b41cdd21dfd62dedb0e28cf97e765d3ff9dd5e621d5a20b58a0dedc44d8afc7483b64cec9f1b750e883641075c1dd7c8ffe30e03949b85bde3ae7dcc2dfe4df954451c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x17\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0x57a4401e7ebd03f00febb1572904dbfad58b7269417b1def771e7e372b470ec5\",\n      \"transactionIndex\": \"0x4\",\n      \"blockHash\": \"0x7e78d0b068437d05c1c53bbc9ca89f00e13eb3b6b946a4d53f466bfbe2c22fac\",\n      \"blockNumber\": \"0x386ad6\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": \"0xd94E416cf2c7167608B2515B7e4102B41efff94f\",\n      \"cumulativeGasUsed\": \"0x6c6ca\",\n      \"gasUsed\": \"0x1ba57\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0xd94E416cf2c7167608B2515B7e4102B41efff94f\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd28672159278d03a97d8e0dde8b878dd46695b873cb7871638785b4cca1dc2487000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3e760b662394d0719cf7433996dd3e8744d3973bdcb2ed32eaa2953ea421960546fd959c9092339cba91244522eb8af876c82d32ad7238c56d85421ddaaa7c2231b9b440c5cd8cf1760d5dcd4d6f435edb0bdd72fa5895ed55acf850896f7b12e466b91edfc1108011c0e3482e6e28774ffafdc19e0a58301dd33b5d684baa8d7b41cdd21dfd62dedb0e28cf97e765d3ff9dd5e621d5a20b58a0dedc44d8afc7483b64cec9f1b750e883641075c1dd7c8ffe30e03949b85bde3ae7dcc2dfe4df954451c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000050000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f0000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0x7e78d0b068437d05c1c53bbc9ca89f00e13eb3b6b946a4d53f466bfbe2c22fac\",\n          \"blockNumber\": \"0x386ad6\",\n          \"transactionHash\": \"0x57a4401e7ebd03f00febb1572904dbfad58b7269417b1def771e7e372b470ec5\",\n          \"transactionIndex\": \"0x4\",\n          \"logIndex\": \"0x3\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x2304CB33d95999dC29f4CeF1e35065e670a70050\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x28672159278d03a97d8e0dde8b878dd46695b873cb7871638785b4cca1dc2487\",\n            \"0x000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x7e78d0b068437d05c1c53bbc9ca89f00e13eb3b6b946a4d53f466bfbe2c22fac\",\n          \"blockNumber\": \"0x386ad6\",\n          \"transactionHash\": \"0x57a4401e7ebd03f00febb1572904dbfad58b7269417b1def771e7e372b470ec5\",\n          \"transactionIndex\": \"0x4\",\n          \"logIndex\": \"0x4\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd94E416cf2c7167608B2515B7e4102B41efff94f\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xc398a97c2af4dac6478ca58886bfb11c7ceb494c782602db242452820721b7db0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x7e78d0b068437d05c1c53bbc9ca89f00e13eb3b6b946a4d53f466bfbe2c22fac\",\n          \"blockNumber\": \"0x386ad6\",\n          \"transactionHash\": \"0x57a4401e7ebd03f00febb1572904dbfad58b7269417b1def771e7e372b470ec5\",\n          \"transactionIndex\": \"0x4\",\n          \"logIndex\": \"0x5\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000400000000000000000400000000000000080000000000000040000000010000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000040000000000010000000000000000000000400000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000400200000000000000004000000000000000000000000000000000004000000000000000000000000020000000200000000000000000000020000000000020000000000000000000100000000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb3f90379\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {\n    \"0\": {\n      \"internal_type\": \"bool\",\n      \"value\": \"true\"\n    }\n  },\n  \"timestamp\": 1694184082,\n  \"chain\": 8453,\n  \"multi\": false,\n  \"commit\": \"1b8a7ce\"\n}"
  },
  {
    "path": "mainnet/2023-08-15-support-eas/records/UpgradeToEAS.s.sol/8453/run-1694184181.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x582b0cae963bb1ae3f7ec048fbc359b6dbff0dbfdcc033f301ff58c097755a27\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x2304CB33d95999dC29f4CeF1e35065e670a70050\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"to\": \"0x2304cb33d95999dc29f4cef1e35065e670a70050\",\n        \"gas\": \"0x353dd\",\n        \"value\": \"0x0\",\n        \"data\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000024482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000420000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000420000000000000000000000000000000000002000000000000000000000000075505a97bd334e7bd3c476893285569c4136fa0f00000000000000000000000000000000000000000000000000000000000000000000000000000000420000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec40000000000000000000000004200000000000000000000000000000000000021000000000000000000000000beb5fc579115071764c7423a4f12edde41f106ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000028edb11394eb271212ed66c08f2b7893c04c5d65000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x18\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0x582b0cae963bb1ae3f7ec048fbc359b6dbff0dbfdcc033f301ff58c097755a27\",\n      \"transactionIndex\": \"0x1\",\n      \"blockHash\": \"0x2e20144474d5f4f6f76477bc4c6f2b95d2a0a4b2ba5a0c28da81b2c9d36633e0\",\n      \"blockNumber\": \"0x386b08\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": \"0x2304CB33d95999dC29f4CeF1e35065e670a70050\",\n      \"cumulativeGasUsed\": \"0x34086\",\n      \"gasUsed\": \"0x24679\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x2304CB33d95999dC29f4CeF1e35065e670a70050\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000004a0000000000000000000000000000000000000000000000000000000000000024482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000420000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000420000000000000000000000000000000000002000000000000000000000000075505a97bd334e7bd3c476893285569c4136fa0f00000000000000000000000000000000000000000000000000000000000000000000000000000000420000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec40000000000000000000000004200000000000000000000000000000000000021000000000000000000000000beb5fc579115071764c7423a4f12edde41f106ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000028edb11394eb271212ed66c08f2b7893c04c5d65000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000020000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f0000000000000000000000000000000000000000000000000000000000000002\",\n          \"blockHash\": \"0x2e20144474d5f4f6f76477bc4c6f2b95d2a0a4b2ba5a0c28da81b2c9d36633e0\",\n          \"blockNumber\": \"0x386b08\",\n          \"transactionHash\": \"0x582b0cae963bb1ae3f7ec048fbc359b6dbff0dbfdcc033f301ff58c097755a27\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x4200000000000000000000000000000000000020\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x00000000000000000000000075505a97bd334e7bd3c476893285569c4136fa0f\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x2e20144474d5f4f6f76477bc4c6f2b95d2a0a4b2ba5a0c28da81b2c9d36633e0\",\n          \"blockNumber\": \"0x386b08\",\n          \"transactionHash\": \"0x582b0cae963bb1ae3f7ec048fbc359b6dbff0dbfdcc033f301ff58c097755a27\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x1\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x4200000000000000000000000000000000000021\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x000000000000000000000000beb5fc579115071764c7423a4f12edde41f106ed\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x2e20144474d5f4f6f76477bc4c6f2b95d2a0a4b2ba5a0c28da81b2c9d36633e0\",\n          \"blockNumber\": \"0x386b08\",\n          \"transactionHash\": \"0x582b0cae963bb1ae3f7ec048fbc359b6dbff0dbfdcc033f301ff58c097755a27\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x2\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x2304CB33d95999dC29f4CeF1e35065e670a70050\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x28672159278d03a97d8e0dde8b878dd46695b873cb7871638785b4cca1dc24870000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x2e20144474d5f4f6f76477bc4c6f2b95d2a0a4b2ba5a0c28da81b2c9d36633e0\",\n          \"blockNumber\": \"0x386b08\",\n          \"transactionHash\": \"0x582b0cae963bb1ae3f7ec048fbc359b6dbff0dbfdcc033f301ff58c097755a27\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x3\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000400000000000000000000000400000000000000000000000040000000010000000000000000000000000000000000000000000000040000000000000000000000000000000000000000002000000040000000000000000000000000000000008000000800000000000000000000000100000002000000000000000000000000000040000000000000000000080000000000000000000000000000100000000040400200000000000000004000000000000000000000000000000000000000020000000000000000000020000000000000000000000000000000004000000000800000020000000000000800000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb3eed0a8\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {\n    \"0\": {\n      \"internal_type\": \"bool\",\n      \"value\": \"true\"\n    }\n  },\n  \"timestamp\": 1694184181,\n  \"chain\": 8453,\n  \"multi\": false,\n  \"commit\": \"1b8a7ce\"\n}"
  },
  {
    "path": "mainnet/2023-08-15-support-eas/script/UpgradeToEAS.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"@eth-optimism-bedrock/src/universal/ProxyAdmin.sol\";\nimport \"@base-contracts/script/universal/NestedMultisigBuilder.sol\";\nimport \"@eth-optimism-bedrock/src/libraries/Predeploys.sol\";\n\ncontract UpgradeToEAS is NestedMultisigBuilder {\n    address internal PROXY_ADMIN_CONTRACT = Predeploys.PROXY_ADMIN;\n    address internal PROXY_ADMIN_OWNER = vm.envAddress(\"L2_NESTED_SAFE\");\n    address internal SCHEMA_REGISTRY_PROXY = Predeploys.SCHEMA_REGISTRY;\n    address internal EAS_PROXY = Predeploys.EAS;\n    address internal SCHEMA_REGISTRY_IMPLEMENTATION = vm.envAddress(\"REGISTRY_IMPL_ADDRESS\");\n    address internal EAS_IMPLEMENTATION = vm.envAddress(\"EAS_IMPL_ADDRESS\");\n\n    function _postCheck() internal override view {\n        ProxyAdmin proxyAdmin = ProxyAdmin(PROXY_ADMIN_CONTRACT);\n        require(proxyAdmin.getProxyImplementation(SCHEMA_REGISTRY_PROXY).codehash == SCHEMA_REGISTRY_IMPLEMENTATION.codehash);\n        require(proxyAdmin.getProxyImplementation(EAS_PROXY).codehash == EAS_IMPLEMENTATION.codehash);\n    }\n\n    function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](2);\n\n        calls[0] = IMulticall3.Call3({\n            target: PROXY_ADMIN_CONTRACT,\n            allowFailure: false,\n            callData: abi.encodeCall(\n                ProxyAdmin.upgrade,\n                (payable(SCHEMA_REGISTRY_PROXY), SCHEMA_REGISTRY_IMPLEMENTATION)\n            )\n        });\n\n        calls[1] = IMulticall3.Call3({\n            target: PROXY_ADMIN_CONTRACT,\n            allowFailure: false,\n            callData: abi.encodeCall(\n                ProxyAdmin.upgrade,\n                (payable(EAS_PROXY), EAS_IMPLEMENTATION)\n            )\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal override view returns (address) {\n        return PROXY_ADMIN_OWNER;\n    }\n}"
  },
  {
    "path": "mainnet/2023-08-22-fee-vault-fix/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n##\n# Foundry commands\n##\n.PHONY: deploy-new-implementations\ndeploy-new-implementations:\n\tforge script DeployNewFeeVaultsL2 --rpc-url $(L2_RPC_URL)\n\n.PHONY: verify-intermediate-implementations\nverify-intermediate-implementations:\n\t@forge verify-contract ${SEQUENCER_FEEVAULT_IMPL_INT} ./lib/base-contracts/src/fee-vault-fixes/FeeVault.sol:FeeVault --verifier ${VERIFIER} --verifier-url ${VERIFIER_URL} --chain-id ${L2_CHAIN_ID} --retries=1 --watch\n\t@forge verify-contract ${L1_FEEVAULT_IMPL_INT} ./lib/base-contracts/src/fee-vault-fixes/FeeVault.sol:FeeVault --verifier ${VERIFIER} --verifier-url ${VERIFIER_URL} --chain-id ${L2_CHAIN_ID} --retries=1 --watch\n\t@forge verify-contract ${BASE_FEEVAULT_IMPL_INT} ./lib/base-contracts/src/fee-vault-fixes/FeeVault.sol:FeeVault --verifier ${VERIFIER} --verifier-url ${VERIFIER_URL} --chain-id ${L2_CHAIN_ID} --retries=1 --watch\n\n.PHONY: verify-final-implementations\nverify-final-implementations: # submitted via UI since we ran into Cloudflare issues\n\t@forge verify-contract ${SEQUENCER_FEEVAULT_IMPL_FINAL} SequencerFeeVault --optimizer-runs=999999 --constructor-args $(shell cast abi-encode \"constructor(address,uint256,uint8)\" ${FEE_VAULT_RECIPIENT} ${MIN_WITHDRAWAL_AMOUNT} 1) --show-standard-json-input > etherscanSequencer.json\n\t@forge verify-contract ${L1_FEEVAULT_IMPL_FINAL} L1FeeVault --optimizer-runs=999999 --constructor-args $(shell cast abi-encode \"constructor(address,uint256,uint8)\" ${FEE_VAULT_RECIPIENT} ${MIN_WITHDRAWAL_AMOUNT} 1) --show-standard-json-input > etherscanL1.json\n\t@forge verify-contract ${BASE_FEEVAULT_IMPL_FINAL} BaseFeeVault --optimizer-runs=999999 --constructor-args $(shell cast abi-encode \"constructor(address,uint256,uint8)\" ${FEE_VAULT_RECIPIENT} ${MIN_WITHDRAWAL_AMOUNT} 1) --show-standard-json-input  > etherscanBase.json\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n##\n# Commands for signers to run to test the nested safe\n##\n.PHONY: sign-op\nsign-op:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --via-ir --rpc-url $(L2_RPC_URL) FixFeeVaultsL2 \\\n\t--sig \"sign(address)\" $(OP_SAFE_ADDR)\n\n.PHONY: sign-cb\nsign-cb:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --via-ir --rpc-url $(L2_RPC_URL) FixFeeVaultsL2 \\\n\t--sig \"sign(address)\" $(CB_SAFE_ADDR)\n\n##\n# Commands for faciliators to run to test the nested safe\n##\n\n.PHONY: approve-op\napprove-op:\n\tforge script --rpc-url $(L2_RPC_URL) FixFeeVaultsL2 \\\n\t--sig \"approve(address,bytes)\" $(OP_SAFE_ADDR) $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --sender $(SENDER) --broadcast\n\n.PHONY: approve-cb\napprove-cb:\n\tforge script --rpc-url $(L2_RPC_URL) FixFeeVaultsL2 \\\n\t--sig \"approve(address,bytes)\" $(CB_SAFE_ADDR) $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --sender $(SENDER) --broadcast\n\nexecute:\n\tforge script --rpc-url $(L2_RPC_URL) FixFeeVaultsL2 \\\n\t--sig \"run()\" --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" \\\n\t--sender $(SENDER) --broadcast\n"
  },
  {
    "path": "mainnet/2023-08-22-fee-vault-fix/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2023-08-22-fee-vault-fix/records/FixFeeVaultsL2.s.sol/8453/run-1693342112.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xc7b75ac23ff02c6f089079af1b17446f8f3d705740186cdd117f36ab7a1b175c\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0xd94E416cf2c7167608B2515B7e4102B41efff94f\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"to\": \"0xd94e416cf2c7167608b2515b7e4102b41efff94f\",\n        \"gas\": \"0x262d9\",\n        \"value\": \"0x0\",\n        \"data\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcddd750456c7810006b906ed75499fc5a6a75a5c3f5f6ead6bd44ef29c471f1266000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c31edeba57c571fbfc2bebb524ce797a2042b1c611077a33989d6e757c5da6d4165b125bdc3280b45ae50610eca556ad22d02a03b7b915c0bc92632009a42e47c31bceca4dd8ea154aecafade784a2c6eddc30654558f884f7181ea5ba5e2d05937b5131331539826fa57faf00f869927e4adc04c6353b0d6e13711fee826cc0afbb1b18b46d6e4ce253c2be9d451136b8e359673b8943d6325d63f136c57bd25e0bad2ad08c78a631b7ca584048a0c6fbf75c4318edfde8337f61850fcac2c8a168201c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x12\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0xc7b75ac23ff02c6f089079af1b17446f8f3d705740186cdd117f36ab7a1b175c\",\n      \"transactionIndex\": \"0x2\",\n      \"blockHash\": \"0xc2ef15b49d55d6bff6593cdf2593a3449b373f3dc15bfa0169fb6830060750e3\",\n      \"blockNumber\": \"0x31fe5d\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": \"0xd94E416cf2c7167608B2515B7e4102B41efff94f\",\n      \"cumulativeGasUsed\": \"0x32ffe\",\n      \"gasUsed\": \"0x1ba3f\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0xd94E416cf2c7167608B2515B7e4102B41efff94f\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcddd750456c7810006b906ed75499fc5a6a75a5c3f5f6ead6bd44ef29c471f1266000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c31edeba57c571fbfc2bebb524ce797a2042b1c611077a33989d6e757c5da6d4165b125bdc3280b45ae50610eca556ad22d02a03b7b915c0bc92632009a42e47c31bceca4dd8ea154aecafade784a2c6eddc30654558f884f7181ea5ba5e2d05937b5131331539826fa57faf00f869927e4adc04c6353b0d6e13711fee826cc0afbb1b18b46d6e4ce253c2be9d451136b8e359673b8943d6325d63f136c57bd25e0bad2ad08c78a631b7ca584048a0c6fbf75c4318edfde8337f61850fcac2c8a168201c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000030000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f0000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0xc2ef15b49d55d6bff6593cdf2593a3449b373f3dc15bfa0169fb6830060750e3\",\n          \"blockNumber\": \"0x31fe5d\",\n          \"transactionHash\": \"0xc7b75ac23ff02c6f089079af1b17446f8f3d705740186cdd117f36ab7a1b175c\",\n          \"transactionIndex\": \"0x2\",\n          \"logIndex\": \"0x1\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x2304CB33d95999dC29f4CeF1e35065e670a70050\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xdd750456c7810006b906ed75499fc5a6a75a5c3f5f6ead6bd44ef29c471f1266\",\n            \"0x000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xc2ef15b49d55d6bff6593cdf2593a3449b373f3dc15bfa0169fb6830060750e3\",\n          \"blockNumber\": \"0x31fe5d\",\n          \"transactionHash\": \"0xc7b75ac23ff02c6f089079af1b17446f8f3d705740186cdd117f36ab7a1b175c\",\n          \"transactionIndex\": \"0x2\",\n          \"logIndex\": \"0x2\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd94E416cf2c7167608B2515B7e4102B41efff94f\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xc93c7e239d24711d4e1e85fa9b000afa83d92630c2ece58d3beb8408c397a8610000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xc2ef15b49d55d6bff6593cdf2593a3449b373f3dc15bfa0169fb6830060750e3\",\n          \"blockNumber\": \"0x31fe5d\",\n          \"transactionHash\": \"0xc7b75ac23ff02c6f089079af1b17446f8f3d705740186cdd117f36ab7a1b175c\",\n          \"transactionIndex\": \"0x2\",\n          \"logIndex\": \"0x3\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000400000000000000000200000000000000080000000000000040020000010000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000040000000000000000000000000000000000400000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000400200000000000000004000000000000000000000000000000000004000000000000000000000000020000000200000000000000000000020000000000020000000000000000000000000000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb979fcda\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {\n    \"0\": {\n      \"internal_type\": \"bool\",\n      \"value\": \"true\"\n    }\n  },\n  \"timestamp\": 1693342112,\n  \"chain\": 8453,\n  \"multi\": false,\n  \"commit\": \"8deb75d\"\n}"
  },
  {
    "path": "mainnet/2023-08-22-fee-vault-fix/records/FixFeeVaultsL2.s.sol/8453/run-1693585668.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x092c643590d69c41f9dd764176f7052f10ac074ebce7a1102827de5a28644a27\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x28EDB11394eb271212ED66c08f2b7893C04C5D65\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"to\": \"0x28edb11394eb271212ed66c08f2b7893c04c5d65\",\n        \"gas\": \"0x2df3b\",\n        \"value\": \"0x0\",\n        \"data\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcddd750456c7810006b906ed75499fc5a6a75a5c3f5f6ead6bd44ef29c471f126600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000145b786454833d20c1ffe239af00e1a34ce2e9ec7b6fd79c72c189c34a3c62828b511db35d5d546a5d769c94015f9d85a9aedc51c266c79fcbbc715b9a43cdc9f5f1b8ee763459b2a1521812468e9cec726b83ffda26a4363c892523f688a909ec47c4933ba6d010ff739027236b6af4c020a988665f47903e2b64034db49482960ad1c8eee085e76480595e28632728f6bcc69d3043ef3a41f2f65cde186402609b6735111c86c2209f7e04c3d7c4eec040c18d10db66e0f57b033e3f0057504dad44b1c3a66a14663bf39a0d652ccafc641a5e921847297b2f2b3f3172d0efed879a2e42e31d129fd8119e201ff783bc34163cf7a77139d1d29cb8a40266ca8a2126a9a1c422c1f48e35c6e2c52ecef35ac68dffff9a090ef0bd8efdb5da543f5a19b5935567b2d522755c4849caeeb59b30e94de175242c6673b666219c8226ab61556b91b000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x13\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0x092c643590d69c41f9dd764176f7052f10ac074ebce7a1102827de5a28644a27\",\n      \"transactionIndex\": \"0x1\",\n      \"blockHash\": \"0xf4c2cd38f68446e86c42057840d03b7847f294d1f609c57cbb5528fc73527eee\",\n      \"blockNumber\": \"0x33da0f\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": \"0x28EDB11394eb271212ED66c08f2b7893C04C5D65\",\n      \"cumulativeGasUsed\": \"0x2adfa\",\n      \"gasUsed\": \"0x1f6b9\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x28EDB11394eb271212ED66c08f2b7893C04C5D65\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000440000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcddd750456c7810006b906ed75499fc5a6a75a5c3f5f6ead6bd44ef29c471f126600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000145b786454833d20c1ffe239af00e1a34ce2e9ec7b6fd79c72c189c34a3c62828b511db35d5d546a5d769c94015f9d85a9aedc51c266c79fcbbc715b9a43cdc9f5f1b8ee763459b2a1521812468e9cec726b83ffda26a4363c892523f688a909ec47c4933ba6d010ff739027236b6af4c020a988665f47903e2b64034db49482960ad1c8eee085e76480595e28632728f6bcc69d3043ef3a41f2f65cde186402609b6735111c86c2209f7e04c3d7c4eec040c18d10db66e0f57b033e3f0057504dad44b1c3a66a14663bf39a0d652ccafc641a5e921847297b2f2b3f3172d0efed879a2e42e31d129fd8119e201ff783bc34163cf7a77139d1d29cb8a40266ca8a2126a9a1c422c1f48e35c6e2c52ecef35ac68dffff9a090ef0bd8efdb5da543f5a19b5935567b2d522755c4849caeeb59b30e94de175242c6673b666219c8226ab61556b91b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f0000000000000000000000000000000000000000000000000000000000000005\",\n          \"blockHash\": \"0xf4c2cd38f68446e86c42057840d03b7847f294d1f609c57cbb5528fc73527eee\",\n          \"blockNumber\": \"0x33da0f\",\n          \"transactionHash\": \"0x092c643590d69c41f9dd764176f7052f10ac074ebce7a1102827de5a28644a27\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x2304CB33d95999dC29f4CeF1e35065e670a70050\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xdd750456c7810006b906ed75499fc5a6a75a5c3f5f6ead6bd44ef29c471f1266\",\n            \"0x00000000000000000000000028edb11394eb271212ed66c08f2b7893c04c5d65\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf4c2cd38f68446e86c42057840d03b7847f294d1f609c57cbb5528fc73527eee\",\n          \"blockNumber\": \"0x33da0f\",\n          \"transactionHash\": \"0x092c643590d69c41f9dd764176f7052f10ac074ebce7a1102827de5a28644a27\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x1\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x28EDB11394eb271212ED66c08f2b7893C04C5D65\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x0e3a554620e532941225007d142c7c78184bd44ca18203864cb657b36702dfd60000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xf4c2cd38f68446e86c42057840d03b7847f294d1f609c57cbb5528fc73527eee\",\n          \"blockNumber\": \"0x33da0f\",\n          \"transactionHash\": \"0x092c643590d69c41f9dd764176f7052f10ac074ebce7a1102827de5a28644a27\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x2\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000400000000000000000200000000000000000000000000000040020000010000000000000000000000000000000000000000000100000000000000000000000000000000000020000000000000000040000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000300000002000400200000000000000004000000000000000000000000000000000000200000000000000000000000020000000000000000000000000000000000000000000000000200200000000000000000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb9a210bf\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {\n    \"0\": {\n      \"internal_type\": \"bool\",\n      \"value\": \"true\"\n    }\n  },\n  \"timestamp\": 1693585668,\n  \"chain\": 8453,\n  \"multi\": false,\n  \"commit\": \"3f29786\"\n}"
  },
  {
    "path": "mainnet/2023-08-22-fee-vault-fix/records/FixFeeVaultsL2.s.sol/8453/run-1693589726.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x2304CB33d95999dC29f4CeF1e35065e670a70050\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"to\": \"0x2304cb33d95999dc29f4cef1e35065e670a70050\",\n        \"gas\": \"0x3d430\",\n        \"value\": \"0x0\",\n        \"data\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094000000000000000000000000000000000000000000000000000000000000007c482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000460000000000000000000000000000000000000000000000000000000000000054000000000000000000000000000000000000000000000000000000000000006a000000000000000000000000042000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c49623609d000000000000000000000000420000000000000000000000000000000000001100000000000000000000000054d194faae439fc3f8024801b0b9ebc91ebd39f5000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000244482f98d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000420000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec40000000000000000000000004200000000000000000000000000000000000011000000000000000000000000d53210ee20948ecff8b6b8180e29657e0ce8492d0000000000000000000000000000000000000000000000000000000000000000000000000000000042000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c49623609d000000000000000000000000420000000000000000000000000000000000001a000000000000000000000000d36f11023188134d0f4610ff0c6e01c1b11488f8000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000244482f98d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000420000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000420000000000000000000000000000000000001a0000000000000000000000000c9034b92351cf8f067379a1ffa4fa35f5af9dcc0000000000000000000000000000000000000000000000000000000000000000000000000000000042000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c49623609d0000000000000000000000004200000000000000000000000000000000000019000000000000000000000000b0b77878bbc76e29abe7584bda27ae3ce1a9059a000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000244482f98d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000420000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec400000000000000000000000042000000000000000000000000000000000000190000000000000000000000004e207bdf8aece56de86821f5370b2b993d08c9e90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000028edb11394eb271212ed66c08f2b7893c04c5d65000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x14\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528\",\n      \"transactionIndex\": \"0x1\",\n      \"blockHash\": \"0x43a163a1260691c7de5702735115a9f46543b57ef03f308f0130f22e99d85800\",\n      \"blockNumber\": \"0x33e1fc\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": \"0x2304CB33d95999dC29f4CeF1e35065e670a70050\",\n      \"cumulativeGasUsed\": \"0x37ce5\",\n      \"gasUsed\": \"0x2c5a4\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x2304CB33d95999dC29f4CeF1e35065e670a70050\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009600000000000000000000000000000000000000000000000000000000000000a2000000000000000000000000000000000000000000000000000000000000007c482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000460000000000000000000000000000000000000000000000000000000000000054000000000000000000000000000000000000000000000000000000000000006a000000000000000000000000042000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c49623609d000000000000000000000000420000000000000000000000000000000000001100000000000000000000000054d194faae439fc3f8024801b0b9ebc91ebd39f5000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000244482f98d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000420000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec40000000000000000000000004200000000000000000000000000000000000011000000000000000000000000d53210ee20948ecff8b6b8180e29657e0ce8492d0000000000000000000000000000000000000000000000000000000000000000000000000000000042000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c49623609d000000000000000000000000420000000000000000000000000000000000001a000000000000000000000000d36f11023188134d0f4610ff0c6e01c1b11488f8000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000244482f98d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000420000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000420000000000000000000000000000000000001a0000000000000000000000000c9034b92351cf8f067379a1ffa4fa35f5af9dcc0000000000000000000000000000000000000000000000000000000000000000000000000000000042000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c49623609d0000000000000000000000004200000000000000000000000000000000000019000000000000000000000000b0b77878bbc76e29abe7584bda27ae3ce1a9059a000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000244482f98d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000420000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec400000000000000000000000042000000000000000000000000000000000000190000000000000000000000004e207bdf8aece56de86821f5370b2b993d08c9e90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000028edb11394eb271212ed66c08f2b7893c04c5d65000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f0000000000000000000000000000000000000000000000000000000000000002\",\n          \"blockHash\": \"0x43a163a1260691c7de5702735115a9f46543b57ef03f308f0130f22e99d85800\",\n          \"blockNumber\": \"0x33e1fc\",\n          \"transactionHash\": \"0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x4200000000000000000000000000000000000011\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x00000000000000000000000054d194faae439fc3f8024801b0b9ebc91ebd39f5\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x43a163a1260691c7de5702735115a9f46543b57ef03f308f0130f22e99d85800\",\n          \"blockNumber\": \"0x33e1fc\",\n          \"transactionHash\": \"0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x1\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x4200000000000000000000000000000000000011\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x000000000000000000000000d53210ee20948ecff8b6b8180e29657e0ce8492d\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x43a163a1260691c7de5702735115a9f46543b57ef03f308f0130f22e99d85800\",\n          \"blockNumber\": \"0x33e1fc\",\n          \"transactionHash\": \"0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x2\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x420000000000000000000000000000000000001A\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x000000000000000000000000d36f11023188134d0f4610ff0c6e01c1b11488f8\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x43a163a1260691c7de5702735115a9f46543b57ef03f308f0130f22e99d85800\",\n          \"blockNumber\": \"0x33e1fc\",\n          \"transactionHash\": \"0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x3\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x420000000000000000000000000000000000001A\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x0000000000000000000000000c9034b92351cf8f067379a1ffa4fa35f5af9dcc\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x43a163a1260691c7de5702735115a9f46543b57ef03f308f0130f22e99d85800\",\n          \"blockNumber\": \"0x33e1fc\",\n          \"transactionHash\": \"0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x4\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x4200000000000000000000000000000000000019\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x000000000000000000000000b0b77878bbc76e29abe7584bda27ae3ce1a9059a\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x43a163a1260691c7de5702735115a9f46543b57ef03f308f0130f22e99d85800\",\n          \"blockNumber\": \"0x33e1fc\",\n          \"transactionHash\": \"0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x5\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x4200000000000000000000000000000000000019\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x0000000000000000000000004e207bdf8aece56de86821f5370b2b993d08c9e9\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x43a163a1260691c7de5702735115a9f46543b57ef03f308f0130f22e99d85800\",\n          \"blockNumber\": \"0x33e1fc\",\n          \"transactionHash\": \"0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x6\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x2304CB33d95999dC29f4CeF1e35065e670a70050\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xdd750456c7810006b906ed75499fc5a6a75a5c3f5f6ead6bd44ef29c471f12660000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x43a163a1260691c7de5702735115a9f46543b57ef03f308f0130f22e99d85800\",\n          \"blockNumber\": \"0x33e1fc\",\n          \"transactionHash\": \"0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x7\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000402000120000000000000000400000000000000010000000040000000010000000000000000000000000000000000000000000000000000000000000000000000001000110000000000002000000040400000000000000000000000002000000000100000000000000000000000000000000000000000000080000002000000000000000000000000000800010000000000002000000000000000100000000000400200000000000000004000000000100000000002000000000000004001020000000000000000000020000000000000000000040010000000000000000010000000080500004000080000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb9a0c86c\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {\n    \"0\": {\n      \"internal_type\": \"bool\",\n      \"value\": \"true\"\n    }\n  },\n  \"timestamp\": 1693589726,\n  \"chain\": 8453,\n  \"multi\": false,\n  \"commit\": \"3f29786\"\n}"
  },
  {
    "path": "mainnet/2023-08-22-fee-vault-fix/script/DeployNewFeeVaultsL2.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"forge-std/Script.sol\";\n\nimport { FeeVault } from \"@base-contracts/src/fee-vault-fixes/FeeVault.sol\";\n\nimport { SequencerFeeVault as SequencerFeeVault_Final } from \"@eth-optimism-bedrock/src/L2/SequencerFeeVault.sol\";\nimport { L1FeeVault as L1FeeVault_Final } from \"@eth-optimism-bedrock/src/L2/L1FeeVault.sol\";\nimport { FeeVault as OPFeeVault } from \"@eth-optimism-bedrock/src/universal/FeeVault.sol\";\nimport { BaseFeeVault as BaseFeeVault_Final } from \"@eth-optimism-bedrock/src/L2/BaseFeeVault.sol\";\n\n/**\n * @notice Deploys two (2) implementation contracts per fault for a total of six (6)\n *  1. The first contract sets the totalProcessed amount to some \"correct\" amount\n *  2. The second contract is final intended implementation\n */\ncontract DeployNewFeeVaultsL2 is Script {\n    address internal deployer = vm.envAddress(\"DEPLOYER\");\n\n    function run() public {\n        uint256 minWithdrawalAmount = vm.envUint(\"MIN_WITHDRAWAL_AMOUNT\");\n        address feeVaultRecipient = vm.envAddress(\"FEE_VAULT_RECIPIENT\");\n\n        // Intermediate implementation contracts\n        vm.broadcast(deployer);\n        FeeVault sfv = new FeeVault();\n\n        vm.broadcast(deployer);\n        FeeVault l1fv = new FeeVault();\n\n        vm.broadcast(deployer);\n        FeeVault bfv = new FeeVault();\n\n        // Final implementation contracts\n        vm.broadcast(deployer);\n        SequencerFeeVault_Final sfv_final = new SequencerFeeVault_Final(\n            feeVaultRecipient, \n            minWithdrawalAmount,  \n            OPFeeVault.WithdrawalNetwork.L2\n        );\n\n        vm.broadcast(deployer);\n        L1FeeVault_Final l1fv_final = new L1FeeVault_Final(\n            feeVaultRecipient, \n            minWithdrawalAmount,  \n            OPFeeVault.WithdrawalNetwork.L2\n        );\n\n        vm.broadcast(deployer);\n        BaseFeeVault_Final bfv_final = new BaseFeeVault_Final(\n            feeVaultRecipient, \n            minWithdrawalAmount,  \n            OPFeeVault.WithdrawalNetwork.L2\n        );\n\n        console.log(\"Sequencer Fee Vault (Intermediate): %s\", address(sfv));\n        console.log(\"L1 Fee Vault (Intermediate): %s\", address(l1fv));\n        console.log(\"Base Fee Vault (Intermediate): %s\", address(bfv));\n\n        console.log(\"Sequencer Fee Vault (Final): %s\", address(sfv_final));\n        console.log(\"L1 Fee Vault (Final): %s\", address(l1fv_final));\n        console.log(\"Base Fee Vault (Final): %s\", address(bfv_final));\n    }\n}"
  },
  {
    "path": "mainnet/2023-08-22-fee-vault-fix/script/FixFeeVaultsL2.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"@eth-optimism-bedrock/src/libraries/Predeploys.sol\";\n\nimport { IMulticall3 } from \"forge-std/interfaces/IMulticall3.sol\";\nimport \"@eth-optimism-bedrock/src/universal/ProxyAdmin.sol\";\n\nimport { SequencerFeeVault as SequencerFeeVault_Final } from \"@eth-optimism-bedrock/src/L2/SequencerFeeVault.sol\";\nimport { L1FeeVault as L1FeeVault_Final } from \"@eth-optimism-bedrock/src/L2/L1FeeVault.sol\";\nimport { BaseFeeVault as BaseFeeVault_Final } from \"@eth-optimism-bedrock/src/L2/BaseFeeVault.sol\";\n\nimport { FeeVault } from \"@base-contracts/src/fee-vault-fixes/FeeVault.sol\";\nimport \"../lib/base-contracts/script/universal/NestedMultisigBuilder.sol\";\n\n/**\n * @notice Upgrades the Fee Vaults through two implementation contracts:\n *  1. The first sets the totalProcessed amount to some \"correct\" amount\n *  2. The second sets the contract to the final intended implementation\n */\ncontract FixFeeVaultsL2 is NestedMultisigBuilder {\n    ProxyAdmin PROXY_ADMIN = ProxyAdmin(Predeploys.PROXY_ADMIN);\n\n    address payable internal SequencerFeeVault = payable(Predeploys.SEQUENCER_FEE_WALLET);\n    address payable internal L1FeeVault = payable(Predeploys.L1_FEE_VAULT);\n    address payable internal BaseFeeVault = payable(Predeploys.BASE_FEE_VAULT);\n\n    address internal SequencerFeeVaultImpl_1 = vm.envAddress(\"SEQUENCER_FEEVAULT_IMPL_INT\");\n    address internal L1FeeVaultImpl_1 = vm.envAddress(\"L1_FEEVAULT_IMPL_INT\");\n    address internal BaseFeeVaultImpl_1 = vm.envAddress(\"BASE_FEEVAULT_IMPL_INT\");\n\n    address payable internal SequencerFeeVaultImpl_Final = payable(vm.envAddress(\"SEQUENCER_FEEVAULT_IMPL_FINAL\"));\n    address payable internal L1FeeVaultImpl_Final = payable(vm.envAddress(\"L1_FEEVAULT_IMPL_FINAL\"));\n    address payable internal BaseFeeVaultImpl_Final = payable(vm.envAddress(\"BASE_FEEVAULT_IMPL_FINAL\"));\n\n    address internal L2_NESTED_SAFE = vm.envAddress(\"L2_NESTED_SAFE\");\n\n    uint256 internal SEQUENCER_VAULT_TARGET_TOTAL_PROCESSED = vm.envUint(\"SEQUENCER_VAULT_TARGET_TOTAL_PROCESSED\");\n    uint256 internal L1_VAULT_TARGET_TOTAL_PROCESSED = vm.envUint(\"L1_VAULT_TARGET_TOTAL_PROCESSED\");\n    uint256 internal BASE_VAULT_TARGET_TOTAL_PROCESSED = vm.envUint(\"BASE_VAULT_TARGET_TOTAL_PROCESSED\");\n\n    /**\n     * @notice Builds the following calls for each vault:\n     *   1. upgradeAndCall to intermediate implementation\n     *   2. upgrade to final implementation (w/ init as necessary)\n     */\n    function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) {\n\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](6);\n\n        bytes memory setTotalProcessedSequencer = abi.encodeCall(\n            FeeVault.setTotalProcessed, (SEQUENCER_VAULT_TARGET_TOTAL_PROCESSED)\n        );\n\n        bytes memory setTotalProcessedL1 = abi.encodeCall(\n            FeeVault.setTotalProcessed, (L1_VAULT_TARGET_TOTAL_PROCESSED)\n        );\n\n        bytes memory setTotalProcessedBase = abi.encodeCall(\n            FeeVault.setTotalProcessed, (BASE_VAULT_TARGET_TOTAL_PROCESSED)\n        );\n\n        ///\n        // SEQUENCER FEE VAULT CALLS\n        ///\n        calls[0] = IMulticall3.Call3({\n            target: Predeploys.PROXY_ADMIN,\n            allowFailure: false,\n            callData: abi.encodeCall(\n                PROXY_ADMIN.upgradeAndCall,\n                (\n                    SequencerFeeVault,\n                    SequencerFeeVaultImpl_1,\n                    setTotalProcessedSequencer\n                )\n            )\n        });\n\n        calls[1] = IMulticall3.Call3({\n            target: Predeploys.PROXY_ADMIN,\n            allowFailure: false,\n            callData: abi.encodeCall(\n                PROXY_ADMIN.upgrade,\n                (\n                    SequencerFeeVault,\n                    SequencerFeeVaultImpl_Final\n                )\n            )\n        });\n\n        ///\n        // L1 FEE VAULT CALLS\n        ///\n        calls[2] = IMulticall3.Call3({\n            target: Predeploys.PROXY_ADMIN,\n            allowFailure: false,\n            callData: abi.encodeCall(\n                PROXY_ADMIN.upgradeAndCall,\n                (\n                    L1FeeVault,\n                    L1FeeVaultImpl_1,\n                    setTotalProcessedL1\n                )\n            )\n        });\n\n        calls[3] = IMulticall3.Call3({\n            target: Predeploys.PROXY_ADMIN,\n            allowFailure: false,\n            callData: abi.encodeCall(\n                PROXY_ADMIN.upgrade,\n                (\n                    L1FeeVault,\n                    L1FeeVaultImpl_Final\n                )\n            )\n        });\n\n        ///\n        // BASE FEE VAULT CALLS\n        ///\n        calls[4] = IMulticall3.Call3({\n            target: Predeploys.PROXY_ADMIN,\n            allowFailure: false,\n            callData: abi.encodeCall(\n                PROXY_ADMIN.upgradeAndCall,\n                (\n                    BaseFeeVault,\n                    BaseFeeVaultImpl_1,\n                    setTotalProcessedBase\n                )\n            )\n        });\n\n        calls[5] = IMulticall3.Call3({\n            target: Predeploys.PROXY_ADMIN,\n            allowFailure: false,\n            callData: abi.encodeCall(\n                PROXY_ADMIN.upgrade,\n                (\n                    BaseFeeVault,\n                    BaseFeeVaultImpl_Final\n                )\n            )\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal override view returns (address) {\n        return L2_NESTED_SAFE;\n    }\n\n    /**\n     * @notice Checks for the following conditions:\n     *   1. The new implementation codehash matches the intended\n     *   2. The \"totalProcessed\" amount matches the target\n     */\n    function _postCheck() internal override view {\n        require(\n            PROXY_ADMIN.getProxyImplementation(SequencerFeeVault).codehash == SequencerFeeVaultImpl_Final.codehash,\n            \"FixFeeVaultsL2: SequencerFeeVault not upgraded\"\n        );\n        require(\n            SequencerFeeVault_Final(SequencerFeeVault).totalProcessed() == SEQUENCER_VAULT_TARGET_TOTAL_PROCESSED,\n            \"FixFeeVaultsL2: SequencerFeeVault incorrect total processed\"\n        );\n\n        require(\n            PROXY_ADMIN.getProxyImplementation(L1FeeVault).codehash == L1FeeVaultImpl_Final.codehash,\n            \"FixFeeVaultsL2: L1FeeVault not upgraded\"\n        );\n        require(\n            L1FeeVault_Final(L1FeeVault).totalProcessed() == L1_VAULT_TARGET_TOTAL_PROCESSED,\n            \"FixFeeVaultsL2: L1FeeVault incorrect total processed\"\n        );\n\n        require(\n            PROXY_ADMIN.getProxyImplementation(BaseFeeVault).codehash == BaseFeeVaultImpl_Final.codehash,\n            \"FixFeeVaultsL2: BaseFeeVault not upgraded\"\n        );\n        require(\n            BaseFeeVault_Final(BaseFeeVault).totalProcessed() == BASE_VAULT_TARGET_TOTAL_PROCESSED,\n            \"FixFeeVaultsL2: BaseFeeVault incorrect total processed\"\n        );\n    }\n}\n"
  },
  {
    "path": "mainnet/2023-08-28-deploy-revshare/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n##\n# Foundry commands\n##\n.PHONY: fee-disburser-ownership-transfer\nfee-disburser-ownership-transfer:\n\tforge script FeeDisburserOwnershipTransfer --rpc-url $(L2_RPC_URL)\n\n.PHONY: deploy-balance-tracker\ndeploy-balance-tracker:\n\t@forge script DeployBalanceTracker --rpc-url $(L1_RPC_URL) --sig \"run()\"\n\n.PHONY: deploy-fee-disburser\ndeploy-fee-disburser:\n\t@forge script DeployFeeDisburser --rpc-url $(L2_RPC_URL) --sig \"run()\"\n\n.PHONY: verify-balance-tracker\nverify-balance-tracker:\n\tforge verify-contract ${BALANCE_TRACKER_PROXY} Proxy --constructor-args $(shell cast abi-encode \"constructor(address)\" ${BALANCE_TRACKER_DEPLOYER}) --verifier ${VERIFIER} --verifier-url ${VERIFIER_URL} --chain-id ${BALANCE_TRACKER_CHAIN_ID} --retries=1 --etherscan-api-key ${ETHERSCAN_API_KEY} --watch \n\tforge verify-contract ${BALANCE_TRACKER_IMPL} ./lib/base-contracts/src/revenue-share/BalanceTracker.sol:BalanceTracker --constructor-args $(shell cast abi-encode \"constructor(address)\" ${PROFIT_WALLET}) --verifier ${VERIFIER} --verifier-url ${VERIFIER_URL}  --chain-id ${BALANCE_TRACKER_CHAIN_ID} --retries=1 --watch \n\n.PHONY: verify-fee-disburser\nverify-fee-disburser:\n\tforge verify-contract ${FEE_DISBURSER_IMPL} ./lib/base-contracts/src/revenue-share/FeeDisburser.sol:FeeDisburser --constructor-args $(shell cast abi-encode \"constructor(address,address,uint256)\" ${OPTIMISM_WALLET} ${BALANCE_TRACKER_PROXY} ${FEE_DISBURSEMENT_INTERVAL}) --verifier ${VERIFIER} --verifier-url ${VERIFIER_URL} --chain-id ${L2_CHAIN_ID} --num-of-optimizations=99999 --retries=1 --compiler-version v0.8.15+commit.e14f2714 --watch \n# forge verify-contract ${FEE_DISBURSER_PROXY} Proxy --constructor-args $(shell cast abi-encode \"constructor(address)\" ${FEE_DISBURSER_DEPLOYER}) --verifier ${VERIFIER} --verifier-url ${VERIFIER_URL} --chain-id ${L2_CHAIN_ID} --num-of-optimizations=99999 --retries=1 --compiler-version v0.8.15+commit.e14f2714 --watch\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n##\n# MultisigBuilder commands\n# The following commands can be used for tasks that utilize the MultisigBuilder.\n# Note that --ledger --hd-paths <PATH> can be replaced with --private-key $(PRIVATE_KEY)\n# in any command when using a local key.\n##\n\n.PHONY: sign-cb\nsign-cb:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script UpgradeToFeeDisburser --via-ir --rpc-url $(L2_RPC_URL) --sig \"sign()\"\n\n.PHONY: execute\nexecute:\n\t@forge script UpgradeToFeeDisburser --rpc-url $(L2_RPC_URL) \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --sender $(SENDER) --broadcast\n"
  },
  {
    "path": "mainnet/2023-08-28-deploy-revshare/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2023-08-28-deploy-revshare/records/UpgradeToFeeDisburser.s.sol/8453/run-1693609606.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x49e50b94dd7c45505380b0015b912b001354b9103fc5549d05a2b4bb7e433278\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0xd94E416cf2c7167608B2515B7e4102B41efff94f\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n        \"to\": \"0xd94e416cf2c7167608b2515b7e4102b41efff94f\",\n        \"gas\": \"0x27511\",\n        \"value\": \"0x0\",\n        \"data\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000009c7bad99688a55a2e83644bfaed09e62bdcccba0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000243659cfe600000000000000000000000045969d00739d518f0dde41920b67ce30395135a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c38d6d9497e3610815512d7dae0c0dc72101e58ee4562b7cd856e82bdb37279b2b5bf69f1a29d7d07b1aeb1aaee55ee7c26eab555ecc461b15766bb17495ee2ba21c5046942a48fd2639e0f4b80ec8615a0a848a49863d29354623c56c25369344744776077335ef8a0cdbbdcd9eb2c58954aa742926588de3c09675559f5bceccac1b3314cf2e482f0f01d3d6261cda7700825533b51501a9e414b7a35c71c32827b82a650c53ed1cd43fd407db95f0d0a41ac9d333b63d2a17e097569ccfd48ef4d81c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x15\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0x49e50b94dd7c45505380b0015b912b001354b9103fc5549d05a2b4bb7e433278\",\n      \"transactionIndex\": \"0x1\",\n      \"blockHash\": \"0xaf774db5fbd907294e95410bb6dd601e3d4a612ab650af46a6b3bc4cfdf25d2b\",\n      \"blockNumber\": \"0x3408d0\",\n      \"from\": \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n      \"to\": \"0xd94E416cf2c7167608B2515B7e4102B41efff94f\",\n      \"cumulativeGasUsed\": \"0x26557\",\n      \"gasUsed\": \"0x1ae22\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0xd94E416cf2c7167608B2515B7e4102B41efff94f\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000009c7bad99688a55a2e83644bfaed09e62bdcccba0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000243659cfe600000000000000000000000045969d00739d518f0dde41920b67ce30395135a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c38d6d9497e3610815512d7dae0c0dc72101e58ee4562b7cd856e82bdb37279b2b5bf69f1a29d7d07b1aeb1aaee55ee7c26eab555ecc461b15766bb17495ee2ba21c5046942a48fd2639e0f4b80ec8615a0a848a49863d29354623c56c25369344744776077335ef8a0cdbbdcd9eb2c58954aa742926588de3c09675559f5bceccac1b3314cf2e482f0f01d3d6261cda7700825533b51501a9e414b7a35c71c32827b82a650c53ed1cd43fd407db95f0d0a41ac9d333b63d2a17e097569ccfd48ef4d81c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000040000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f0000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0xaf774db5fbd907294e95410bb6dd601e3d4a612ab650af46a6b3bc4cfdf25d2b\",\n          \"blockNumber\": \"0x3408d0\",\n          \"transactionHash\": \"0x49e50b94dd7c45505380b0015b912b001354b9103fc5549d05a2b4bb7e433278\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x09C7bAD99688a55a2e83644BFAed09e62bDcCcBA\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x00000000000000000000000045969d00739d518f0dde41920b67ce30395135a0\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xaf774db5fbd907294e95410bb6dd601e3d4a612ab650af46a6b3bc4cfdf25d2b\",\n          \"blockNumber\": \"0x3408d0\",\n          \"transactionHash\": \"0x49e50b94dd7c45505380b0015b912b001354b9103fc5549d05a2b4bb7e433278\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x1\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd94E416cf2c7167608B2515B7e4102B41efff94f\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x6bdf56a2b0274bb026da9d8a89f05812cf88201698bcc24eee104e25bcc684f50000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xaf774db5fbd907294e95410bb6dd601e3d4a612ab650af46a6b3bc4cfdf25d2b\",\n          \"blockNumber\": \"0x3408d0\",\n          \"transactionHash\": \"0x49e50b94dd7c45505380b0015b912b001354b9103fc5549d05a2b4bb7e433278\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x2\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000400100200000000000000000400000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000040000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000400000000000000000004000000000000000000000000000000000000000020000000000000000000020000000000000000000000000000020000000000020000000000100000000000000000000800000004000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb4ff98cd\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {\n    \"0\": {\n      \"internal_type\": \"bool\",\n      \"value\": \"true\"\n    }\n  },\n  \"timestamp\": 1693609606,\n  \"chain\": 8453,\n  \"multi\": false,\n  \"commit\": \"29592ee\"\n}"
  },
  {
    "path": "mainnet/2023-08-28-deploy-revshare/script/DeployBalanceTracker.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport { console } from \"forge-std/console.sol\";\nimport { Script } from \"forge-std/Script.sol\";\n\nimport { Proxy } from \"@eth-optimism-bedrock/contracts/universal/Proxy.sol\";\nimport { BalanceTracker } from \"@base-contracts/src/revenue-share/BalanceTracker.sol\";\n\ncontract DeployBalanceTracker is Script {\n   address payable[] systemAddresses;\n   uint256[] targetBalances;\n\n   function run() external {\n        address deployer = vm.envAddress(\"BALANCE_TRACKER_DEPLOYER\");\n        address payable profitWallet = payable(vm.envAddress(\"PROFIT_WALLET\"));\n        address payable outputProposer = payable(vm.envAddress(\"OUTPUT_PROPOSER\"));\n        address payable batchSender = payable(vm.envAddress(\"BATCH_SENDER\"));\n        uint256 outputProposerTargetBalance = vm.envUint(\"OUTPUT_PROPOSER_TARGET_BALANCE\");\n        uint256 batchSenderTargetBalance = vm.envUint(\"BATCH_SENDER_TARGET_BALANCE\");\n        address admin = vm.envAddress(\"BALANCE_TRACKER_ADMIN\");\n        string memory salt = vm.envString(\"BALANCE_TRACKER_SALT\");\n\n        console.log(\"Deployer: %s\", deployer);\n        console.log(\"Profit Wallet: %s\", profitWallet);\n        console.log(\"Batch Sender: %s\", batchSender);\n        console.log(\"Output Proposer: %s\", outputProposer);\n        console.log(\"Batch Sender Target Balance: %s\", batchSenderTargetBalance);\n        console.log(\"Output Proposer Target Balance: %s\", outputProposerTargetBalance);\n        console.log(\"Admin: %s\", admin);\n        console.log(\"Salt: %s\", salt);\n\n        vm.broadcast(deployer);\n        BalanceTracker balanceTrackerImpl = new BalanceTracker(profitWallet);\n        require(balanceTrackerImpl.PROFIT_WALLET() == profitWallet, \"DeployBalanceTracker: incorrect profit wallet\");\n\n        systemAddresses.push(outputProposer);\n        systemAddresses.push(batchSender);\n        targetBalances.push(outputProposerTargetBalance);\n        targetBalances.push(batchSenderTargetBalance);\n\n        bytes memory initializeCall = abi.encodeCall(\n            BalanceTracker.initialize, (\n            systemAddresses,\n            targetBalances\n            )\n        );\n\n        vm.broadcast(deployer);\n        Proxy proxy = new Proxy{ salt: keccak256(abi.encode(salt))}(deployer);\n        vm.prank(address(0));\n        require(proxy.admin() == deployer, \"DeployBalanceTracker: incorrect proxy admin\");\n        vm.broadcast(deployer);\n        proxy.upgradeToAndCall(payable(address(balanceTrackerImpl)), initializeCall);\n        BalanceTracker balanceTracker = BalanceTracker(payable(address(proxy)));\n        require(balanceTracker.systemAddresses(0) == outputProposer, \"DeployBalanceTracker: incorrect output proposer\");\n        require(balanceTracker.systemAddresses(1) == batchSender, \"DeployBalanceTracker: incorrect batch sender\");\n        require(balanceTracker.targetBalances(0) == outputProposerTargetBalance, \"DeployBalanceTracker: incorrect output proposer target balance\");\n        require(balanceTracker.targetBalances(1) == batchSenderTargetBalance, \"DeployBalanceTracker: incorrect batch sender target balance\");\n\n        vm.broadcast(deployer);\n        proxy.changeAdmin(admin);\n        vm.prank(address(0));\n        require(proxy.admin() == admin, \"DeployBalanceTracker: incorrect proxy admin\");\n\n        console.log(\"Balance Tracker Impl address: %s\", address(balanceTrackerImpl));\n        console.log(\"Balance Tracker Proxy address: %s\", address(proxy));\n   }\n}"
  },
  {
    "path": "mainnet/2023-08-28-deploy-revshare/script/DeployFeeDisburser.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport { console } from \"forge-std/console.sol\";\nimport { Script } from \"forge-std/Script.sol\";\n\nimport { Proxy } from \"@eth-optimism-bedrock/contracts/universal/Proxy.sol\";\nimport { FeeDisburser } from \"@base-contracts/src/revenue-share/FeeDisburser.sol\";\n\ncontract DeployFeeDisburser is Script {\n   function run() external {\n        address deployer = vm.envAddress(\"FEE_DISBURSER_DEPLOYER\");\n        address payable optimismWallet = payable(vm.envAddress(\"OPTIMISM_WALLET\"));\n        address balanceTracker = vm.envAddress(\"BALANCE_TRACKER_PROXY\");\n        uint256 feeDisbursementInterval = vm.envUint(\"FEE_DISBURSEMENT_INTERVAL\");\n        address admin = vm.envAddress(\"FEE_DISBURSER_ADMIN\");\n        string memory salt = vm.envString(\"FEE_DISBURSER_SALT\");\n\n        console.log(\"Deployer: %s\", deployer);\n        console.log(\"Optimism Wallet: %s\", optimismWallet);\n        console.log(\"Balance Tracker: %s\", balanceTracker);\n        console.log(\"Fee Disbursement Interval: %s\", feeDisbursementInterval);\n        console.log(\"Admin: %s\", admin);\n        console.log(\"Salt: %s\", salt);\n\n        vm.broadcast(deployer);\n        FeeDisburser feeDisburserImpl = new FeeDisburser(\n            optimismWallet,\n            balanceTracker,\n            feeDisbursementInterval\n        );\n        require(feeDisburserImpl.OPTIMISM_WALLET() == optimismWallet, \"DeployFeeDisburser: incorrect optimism wallet\");\n        require(feeDisburserImpl.L1_WALLET() == balanceTracker, \"DeployFeeDisburser: incorrect l1 wallet\");\n        require(feeDisburserImpl.FEE_DISBURSEMENT_INTERVAL() == feeDisbursementInterval, \"DeployFeeDisburser: incorrect fee disbursement interval\");\n\n        console.log(\"Fee Disburser Impl address: %s\", address(feeDisburserImpl));\n   }\n}"
  },
  {
    "path": "mainnet/2023-08-28-deploy-revshare/script/FeeDisburserOwnershipTransfer.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"forge-std/Script.sol\";\nimport { Proxy } from \"@eth-optimism-bedrock/contracts/universal/Proxy.sol\";\n\ncontract FeeDisburserOwnershipTransfer is Script {\n    address internal _proxyContract = vm.envAddress(\"FEE_DISBURSER_PROXY\");\n    address internal _oldOwner = vm.envAddress(\"FEE_DISBURSER_EXISTING_OWNER\");\n    address internal _newOwner = vm.envAddress(\"CB_SAFE_ADDR\");\n\n    function run() public {\n        Proxy feeDisburserProxyContract = Proxy(payable(_proxyContract));\n\n        vm.broadcast(_oldOwner);\n        feeDisburserProxyContract.changeAdmin(_newOwner);\n\n        vm.prank(address(0));\n        require(\n            feeDisburserProxyContract.admin() == _newOwner,\n            \"FeeDisburserOwnershipTransfer: Proxy owner did not get updated\"\n        );\n    }\n}\n"
  },
  {
    "path": "mainnet/2023-08-28-deploy-revshare/script/UpgradeToFeeDisburser.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport { IMulticall3 } from \"forge-std/interfaces/IMulticall3.sol\";\n\nimport { Proxy } from \"@eth-optimism-bedrock/contracts/universal/Proxy.sol\";\n\nimport { MultisigBuilder } from \"@base-contracts/script/universal/MultisigBuilder.sol\";\nimport { FeeDisburser } from \"@base-contracts/src/revenue-share/FeeDisburser.sol\";\n\n/**\n * @notice Upgrades the FeeDisburser proxy contract\n */\ncontract UpgradeToFeeDisburser is MultisigBuilder {\n    address payable internal FEE_DISBURSER_PROXY = payable(vm.envAddress(\"FEE_DISBURSER_PROXY\"));\n    address payable internal FEE_DISBURSER_IMPL = payable(vm.envAddress(\"FEE_DISBURSER_IMPL\"));\n    address internal OPTIMISM_WALLET = vm.envAddress(\"OPTIMISM_WALLET\");\n    address internal CB_SAFE_ADDR = vm.envAddress(\"L2_CB_SAFE_ADDR\");\n\n    /**\n     * @notice Upgrades the FeeDisburser proxy to point to the FeeDisburser implementation contract\n     */\n    function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) {\n\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        ///\n        // FEE DISBURSER PROXY UPGRADE TO FEE DISBURSER IMPLEMENTATION CALL\n        ///\n        calls[0] = IMulticall3.Call3({\n            target: FEE_DISBURSER_PROXY,\n            allowFailure: false,\n            callData: abi.encodeCall(\n                Proxy.upgradeTo,\n                (\n                    FEE_DISBURSER_IMPL\n                )\n            )\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal override view returns (address) {\n        return CB_SAFE_ADDR;\n    }\n\n    /**\n     * @notice Checks that the FeeDisburser proxy is able to read an immutable variable on the FeeDisburser implementation contract.\n     */\n    function _postCheck() internal override view {\n        require(\n            FeeDisburser(FEE_DISBURSER_PROXY).OPTIMISM_WALLET() == OPTIMISM_WALLET,\n            \"UpgradeToFeeDisburser: FeeDisburser incorrect Optimism Wallet\"\n        );\n    }\n}\n"
  },
  {
    "path": "mainnet/2024-02-21-setup-smart-escrow/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n.PHONY: deploy-new-implementation\ndeploy-new-implementation:\n\tforge script --rpc-url $(OPTIMISM_RPC_URL) DeploySmartEscrow\n\n\n.PHONY: verify-implementation\nverify-implementation:\n\tforge verify-contract ${DEPLOYED_CONTRACT} SmartEscrow \\\n\t--constructor-args $(shell cast abi-encode \"constructor(address,address,address,address,address,uint256,uint256,uint256,uint256,uint256)\" ${BENEFACTOR} ${BENEFICIARY} ${BENEFACTOR_OWNER} ${BENEFICIARY_OWNER} ${NESTED_SAFE} ${START} ${END} ${VESTING_PERIOD_SECONDS} ${INITIAL_TOKENS} ${VESTING_EVENT_TOKENS}) \\\n\t--watch --chain-id $(OPTIMISM_CHAIN_ID) \\\n\t--compiler-version v0.8.15+commit.e14f2714 --num-of-optimizations=99999 --retries=1 \\\n\t--verifier-url https://api-optimistic.etherscan.io/api"
  },
  {
    "path": "mainnet/2024-02-21-setup-smart-escrow/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2024-02-21-setup-smart-escrow/records/DeploySmartEscrow.s.sol/10/run-1709074703.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": null,\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"SmartEscrow\",\n      \"contractAddress\": \"0x143F5773CFE5613ca94196d557c889134F47CB77\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0\",\n        \"0x635Fb974F09B269Bc750bF96338c29cF41430125\",\n        \"0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0\",\n        \"0x6e1DFd5C1E22A4677663A81D24C6BA03561ef0f6\",\n        \"0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940\",\n        \"1720674000\",\n        \"1878462000\",\n        \"7889400\",\n        \"17895697000000000000000000\",\n        \"4473924000000000000000000\"\n      ],\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0xbebe472f467888b197b90693b8852ad12a50b261\",\n        \"gas\": \"0x38dcc7\",\n        \"value\": \"0x0\",\n        \"data\": \"0x61012034620004c857601f620034da38819003918201601f1916830191906001600160401b03831184841017620004cd57816101409285926040958652833981010312620004c8576200005282620004e3565b9060209262000063848201620004e3565b9362000071838301620004e3565b916200008060608201620004e3565b926200008f60808301620004e3565b9160a081015160c082015160e083015191610100996101208b8601519501519b60018060a01b038098169182156200048457600180546001600160d01b0316610d2f60d71b179055600254928984166200042b578a98979695949392918d828c9360018060a01b03198097161760025560009d8e808052808252838120838252825260ff848220541615620003ef575b505050501680158015620003e4575b8015620003d9575b8015620003ce575b620003bd574284106200039f57848410156200038257851562000371578e156200036057856200016f8587620004f8565b10620003485785620001828587620004f8565b0662000323579189620002529d9e9f96949262000206999896948360035416176003551690600454161760045560805260a05260c05260e05289527f4764e59f4e0dd9ec7df76c5cd0edc4bc07903bf235ab0e0030cc6b7e6e52f27480865285845288862085831690818852855260ff8a8820541615620002e9575b50506200051a565b7fa5863d4faed73f441831bf2b55550cdbfecb5080dad2352ec834a2baf15aabdc9081845283815286842092851692838552815260ff878520541615620002ae575b505050506200051a565b51612efd9182620005bd833960805182818161087c0152612508015260a0518281816102580152612538015260c051828181610b860152612606015260e051828181610ff60152612682015251818181610c38015261262f0152f35b8184528381528684209083855252858320600160ff19825416179055600080516020620034ba83398151915233938751a43880808062000248565b8187528685528987208188528552898720600160ff198254161790553391600080516020620034ba833981519152888c51a43880620001fe565b5050506064935089519263dd76dcd560e01b8452600484015260248301526044820152fd5b8c51630bfa645d60e21b815260048101879052602490fd5b8c51630ea157a960e21b8152600490fd5b8c5163931ef49360e01b8152600490fd5b604484868f519163593d712f60e01b835260048301526024820152fd5b8c51632d6d2e3f60e21b815260048101859052426024820152604490fd5b8c5163ac0b3e2160e01b8152600490fd5b50898816156200013e565b50898c161562000136565b50898216156200012e565b808492818052528d828220908483525220600160ff198254161790558d600080516020620034ba83398151915281339451a48d388b8e6200011f565b8c5162461bcd60e51b8152600481018c9052602c60248201527f416363657373436f6e74726f6c3a2064656661756c742061646d696e20616c7260448201526b1958591e4819dc985b9d195960a21b6064820152608490fd5b8b5162461bcd60e51b8152600481018b9052601e60248201527f416363657373436f6e74726f6c3a20302064656661756c742061646d696e00006044820152606490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b0382168203620004c857565b81811062000504570390565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b031660008181527fa098a4b72d8f48fdff6ff26aa11ea7d7e669b41df6dc2ae0b4aeabe0ff9a4eb160205260408120549091907f34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb729060ff16156200058457505050565b808352826020526040832082845260205260408320600160ff19825416179055600080516020620034ba8339815191523393604051a456fe608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a7146121a957508163022d63fb1461216d578163046f7da2146120b45781630aa6220b14611fca5781630aaffd2a14611d8e5781630c08bf8814611b545781631a2c2a2b14611b125781631bfce85314611ad4578163224d7e5914611a87578163248a9ca314611a3f5781632806e3d6146118635781632a7117521461180a5781632f2ff15d1461168f57816336568abe1461146a57816338af3eed1461141857816350ad25551461101957816350bfeadc14610fc0578163634e93da14610e93578163649a5ec714610c5b578163677caf8114610c025781636efd06c114610ba95781637313ee5a14610b505781637ca4010114610af757816384ef8ffc14610a1957816386d1a69f14610abf5781638a81694c14610a6c5781638da5cb5b14610a1957816391d14854146109a9578163961325211461096c578163a1eda53c146108d8578163a217fddf1461089f578163be9a655514610846578163cc8463c8146107fc578163cefc142914610469578163cf6eefb714610402578163d547741f1461031657508063d602b9fd1461027b578063efbe1c1c146102235763fbccedae146101d257600080fd5b3461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f5760209061021861020f42612506565b600554906124fb565b9051908152f35b5080fd5b503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f576102b26126d5565b600180547fffffffffffff0000000000000000000000000000000000000000000000000000811690915560a01c65ffffffffffff166102ee5751f35b7f8886ebfc4259abdbc16601dd8fb5678e54878f47b3c34836cfc51154a9605109828251a151f35b9050346103fe57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe5780356103506122c0565b91811561037b57509081610378928552846020526103736001858720015461297f565b612b16565b51f35b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603760248201527f416363657373436f6e74726f6c3a2063616e2774206469726563746c7920726560448201527f766f6b652064656661756c742061646d696e20726f6c650000000000000000006064820152fd5b8280fd5b82843461046657807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104665750600154815173ffffffffffffffffffffffffffffffffffffffff8216815260a09190911c65ffffffffffff166020820152f35b80fd5b9050346103fe57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe5760015473ffffffffffffffffffffffffffffffffffffffff9190821633036107795760015473ffffffffffffffffffffffffffffffffffffffff8116919060a01c65ffffffffffff16801515908161076f575b50156106ec5760025492808416927fffffffffffffffffffffffff0000000000000000000000000000000000000000809516600255868052602093878552868820818952855260ff8789205416610687575b50600254928284166106055750169283911617600255838052838152828420828552815260ff83852054161561059c575b50507fffffffffffff00000000000000000000000000000000000000000000000000006001541660015551f35b838052838152828420908285525281832060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008254161790553390837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d818551a4388061056f565b608490858851917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602c60248201527f416363657373436f6e74726f6c3a2064656661756c742061646d696e20616c7260448201527f65616479206772616e74656400000000000000000000000000000000000000006064820152fd5b87805287855286882081895285528688207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541690553390887ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b818a51a43861053e565b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602860248201527f416363657373436f6e74726f6c3a207472616e736665722064656c6179206e6f60448201527f74207061737365640000000000000000000000000000000000000000000000006064820152fd5b90504211386104ec565b60849060208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602860248201527f416363657373436f6e74726f6c3a2070656e64696e672061646d696e206d757360448201527f74206163636570740000000000000000000000000000000000000000000000006064820152fd5b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f5760209065ffffffffffff61083e612c16565b915191168152f35b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f5751908152602090f35b82843461046657807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610466576002548060d01c9182151580610962575b15610954575065ffffffffffff6109509160a01c1691925b5165ffffffffffff928316815292909116602083015281906040820190565b0390f35b928392506109509150610931565b5042831015610919565b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f576020906005549051908152f35b9050346103fe57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe578160209360ff926109e86122c0565b9035825281865273ffffffffffffffffffffffffffffffffffffffff83832091168252855220541690519015158152f35b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f5760209073ffffffffffffffffffffffffffffffffffffffff600254169051908152f35b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f5760209073ffffffffffffffffffffffffffffffffffffffff600354169051908152f35b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f576103786123c2565b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57602090517f4764e59f4e0dd9ec7df76c5cd0edc4bc07903bf235ab0e0030cc6b7e6e52f2748152f35b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57602090517fa5863d4faed73f441831bf2b55550cdbfecb5080dad2352ec834a2baf15aabdc8152f35b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b83833461021f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57823565ffffffffffff93848216808303610e8f57610ca86126d5565b610cb142612e30565b9186610cbb612c16565b1680831115610e27575094959394507ff1038c18cf84a56e432fdbfaf746924b7ea511dfe03a6506a0ceba4888788d9b93610d0692916206978080821015610e2057505b1690612c4f565b906002548060d01c80610d9c575b50506002805473ffffffffffffffffffffffffffffffffffffffff1660a083901b79ffffffffffff0000000000000000000000000000000000000000161760d084901b7fffffffffffff000000000000000000000000000000000000000000000000000016179055835165ffffffffffff91821681529116602082015280604081010390a151f35b421115610df55779ffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff00000000000000000000000000000000000000000000000000006001549260301b169116176001555b8580610d14565b507f2b1fa2edafe6f7b9e97c1a9e0c3660e645beb2dcaa2d45bdbf9beaf5472e1ec5858551a1610dee565b9050610cff565b909650818110610e63577ff1038c18cf84a56e432fdbfaf746924b7ea511dfe03a6506a0ceba4888788d9b9495965090610d0692910390612c4f565b6024866011897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8480fd5b50503461021f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57610ecc612298565b610ed46126d5565b7f3377dc44241e779dd06afab5b788a35ca5f3b778836e2990bdb26a2a4b2e5ed66020610f11610f0342612e30565b610f0b612c16565b90612c4f565b600180547fffffffffffff0000000000000000000000000000000000000000000000000000811673ffffffffffffffffffffffffffffffffffffffff9690961695861760a084811b79ffffffffffff0000000000000000000000000000000000000000169190911790925565ffffffffffff911c8116610f96575b855191168152a251f35b7f8886ebfc4259abdbc16601dd8fb5678e54878f47b3c34836cfc51154a9605109878751a1610f8c565b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b9050346103fe576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261141457611053612298565b907f4764e59f4e0dd9ec7df76c5cd0edc4bc07903bf235ab0e0030cc6b7e6e52f274808652858252848620338752825260ff85872054161561114257505073ffffffffffffffffffffffffffffffffffffffff80911691821561111b5750600354908116908282036110c6575b50505051f35b7fffffffffffffffffffffffff0000000000000000000000000000000000000000839116176003557fd487b35f979307e581e6e2d4b6aa87dbddf2f124cef02b50e3792f4c31c76c7a848451a33880806110c0565b83517fac0b3e21000000000000000000000000000000000000000000000000000000008152fd5b8484918761114f33612caa565b9183519061115c826122e3565b604282528682019260603685378251156113e857603084538251906001918210156113bc5790607860218501536041915b8183116112f457505050611299576112906112458561125460487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097601f978c9760449c9b519687936112108b86019b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008d528251928391603789019101612ae1565b8401917f206973206d697373696e6720726f6c6520000000000000000000000000000000603784015251809386840190612ae1565b0103602881018552018361232e565b519788967f08c379a000000000000000000000000000000000000000000000000000000000885287015251809281602488015287870190612ae1565b01168101030190fd5b60648587808751927f08c379a000000000000000000000000000000000000000000000000000000000845283015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015611390577f3031323334353637383961626364656600000000000000000000000000000000901a6113318587612c6a565b53881c928015611364577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01919061118d565b60248260118b7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60248360328c7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b806032897f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b806032887f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b8380fd5b82843461046657807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610466575073ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b9050346103fe57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe5780356114a46122c0565b9181158061166b575b61155d575b3373ffffffffffffffffffffffffffffffffffffffff8416036114da57509061037891612b16565b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c6600000000000000000000000000000000006064820152fd5b60015473ffffffffffffffffffffffffffffffffffffffff8116159060a01c65ffffffffffff1681611659575b81611646575b50156115c3577fffffffffffff000000000000ffffffffffffffffffffffffffffffffffffffff600154166001556114b2565b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603560248201527f416363657373436f6e74726f6c3a206f6e6c792063616e2072656e6f756e636560448201527f20696e2074776f2064656c6179656420737465707300000000000000000000006064820152fd5b905065ffffffffffff4291161038611590565b65ffffffffffff81161515915061158a565b5073ffffffffffffffffffffffffffffffffffffffff8060025416908416146114ad565b9050346103fe57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe578035906116ca6122c0565b9082156117875750818452836020526116e86001848620015461297f565b8184528360205273ffffffffffffffffffffffffffffffffffffffff83852091169081855260205260ff83852054161561172157505051f35b8184528360205282842081855260205282842060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d858551a451f35b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603660248201527f416363657373436f6e74726f6c3a2063616e2774206469726563746c7920677260448201527f616e742064656661756c742061646d696e20726f6c65000000000000000000006064820152fd5b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57602090517f34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb728152f35b9050346103fe57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe5761189b6126d5565b60ff6006541615611a18578151907f70a0823100000000000000000000000000000000000000000000000000000000825230818301526020734200000000000000000000000000000000000042918184602481865afa9384156119db5786946119e5575b508361190a57858551f35b60035485517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216928101928352602083018690529390918391859182908a90829060400103925af19283156119db577f6352c5382c4a4578e712449ca65e83cdb392d045dfcf1cad9615189db2da244b936119ae575b5060035416928451908152a238808080858551f35b6119cd90833d85116119d4575b6119c5818361232e565b81019061236f565b5038611999565b503d6119bb565b85513d88823e3d90fd5b9093508181813d8311611a11575b6119fd818361232e565b81010312611a0d575192386118ff565b8580fd5b503d6119f3565b90517ff54eef56000000000000000000000000000000000000000000000000000000008152fd5b9050346103fe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe57816020936001923581528085522001549051908152f35b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57602090517342000000000000000000000000000000000000428152f35b8284346104665760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610466575061021860209235612506565b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f5760209060ff6006541690519015158152f35b9050346103fe57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe577f34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb72808452602090848252838520338652825260ff848620541615611c5057505060ff60065416611c295750611bd76123c2565b60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006006541617600655517f6d0d90585834980bd0e5603341ff50b06349c11e0bf9241d03f6d065f12a262b8282a1f35b90517f07c63c5a000000000000000000000000000000000000000000000000000000008152fd5b84611c5d94929433612caa565b91835190611c6a826122e3565b604282528682019260603685378251156113e857603084538251906001918210156113bc5790607860218501536041915b818311611d1e57505050611299576112906112458561125460487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097601f978c9760449c9b519687936112108b86019b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008d528251928391603789019101612ae1565b909192600f81166010811015611390577f3031323334353637383961626364656600000000000000000000000000000000901a611d5b8587612c6a565b53881c928015611364577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019190611c9b565b9050346103fe576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261141457611dc8612298565b907fa5863d4faed73f441831bf2b55550cdbfecb5080dad2352ec834a2baf15aabdc808652858252848620338752825260ff858720541615611e8c57505073ffffffffffffffffffffffffffffffffffffffff80911691821561111b57805491821691838303611e3757858551f35b7fffffffffffffffffffffffff00000000000000000000000000000000000000008491161790557fe72eaf6addaa195f3c83095031dd08f3a96808dcf047babed1fe4e4f69d6c622848451a338808080858551f35b84849187611e9933612caa565b91835190611ea6826122e3565b604282528682019260603685378251156113e857603084538251906001918210156113bc5790607860218501536041915b818311611f5a57505050611299576112906112458561125460487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097601f978c9760449c9b519687936112108b86019b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008d528251928391603789019101612ae1565b909192600f81166010811015611390577f3031323334353637383961626364656600000000000000000000000000000000901a611f978587612c6a565b53881c928015611364577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019190611ed7565b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f576120026126d5565b6002548060d01c80612030575b505073ffffffffffffffffffffffffffffffffffffffff6002541660025551f35b4211156120895779ffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff00000000000000000000000000000000000000000000000000006001549260301b169116176001555b388061200f565b507f2b1fa2edafe6f7b9e97c1a9e0c3660e645beb2dcaa2d45bdbf9beaf5472e1ec5828251a1612082565b9050346103fe57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe576120ec6126d5565b6006549060ff82161561214657507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600655517fab5f6dacf93a267a93a533de8a56370de8341bbd8102017307e7be375c3dda6a8282a1f35b82517ff54eef56000000000000000000000000000000000000000000000000000000008152fd5b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f5760209051620697808152f35b8491346103fe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe57357fffffffff0000000000000000000000000000000000000000000000000000000081168091036103fe57602092507f3149878600000000000000000000000000000000000000000000000000000000811490811561223b575b5015158152f35b7f7965db0b0000000000000000000000000000000000000000000000000000000081149150811561226e575b5083612234565b7f01ffc9a70000000000000000000000000000000000000000000000000000000091501483612267565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036122bb57565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff821682036122bb57565b6080810190811067ffffffffffffffff8211176122ff57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176122ff57604052565b908160209103126122bb575180151581036122bb5790565b81198111612393570190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60ff600654166124d1576123d542612506565b6123e260055480926124fb565b90816123ec575050565b816123f691612387565b600555600480546040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216928101929092526024820183905260208260448160007342000000000000000000000000000000000000425af19081156124c5577fc7798891864187665ac6dd119286e44ec13f014527aeeb2b8eb3fd413df93179926020926124a8575b506004541692604051908152a2565b6124be90833d81116119d4576119c5818361232e565b5038612499565b6040513d6000823e3d90fd5b60046040517f07c63c5a000000000000000000000000000000000000000000000000000000008152fd5b818110612393570390565b7f000000000000000000000000000000000000000000000000000000000000000080821015612536575050600090565b7f00000000000000000000000000000000000000000000000000000000000000008211156125fb5750506040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526020816024817342000000000000000000000000000000000000425afa80156124c5576000906125c8575b6125c5915060055490612387565b90565b6020823d82116125f3575b816125e06020938361232e565b8101031261046657506125c590516125b7565b3d91506125d3565b612604916124fb565b7f00000000000000000000000000000000000000000000000000000000000000009081156126a657047f0000000000000000000000000000000000000000000000000000000000000000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04811182151516612393576125c591027f0000000000000000000000000000000000000000000000000000000000000000612387565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b3360009081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602090815260408083205460ff161561271457505050565b61271d33612caa565b908381519061272b826122e3565b6042825284820195606036883782511561295257603087538251906001918210156129525790607860218501536041915b8183116128875750505061282b5760449392611290836127ed6048601f957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097519a8b916127de8b8401987f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008a526112108d8251928391603789019101612ae1565b0103602881018b52018961232e565b519687957f08c379a0000000000000000000000000000000000000000000000000000000008752600487015251809281602488015287870190612ae1565b6064848351907f08c379a000000000000000000000000000000000000000000000000000000000825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015612925577f3031323334353637383961626364656600000000000000000000000000000000901a6128c48587612c6a565b5360041c9280156128f8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01919061275c565b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526032600452fd5b6000908082526020908282526040808420338552835260ff8185205416156129a75750505050565b6129b033612caa565b918151906129bd826122e3565b6042825284820195606036883782511561295257603087538251906001918210156129525790607860218501536041915b818311612a705750505061282b5760449392611290836127ed6048601f957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097519a8b916127de8b8401987f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008a526112108d8251928391603789019101612ae1565b909192600f81166010811015612925577f3031323334353637383961626364656600000000000000000000000000000000901a612aad8587612c6a565b5360041c9280156128f8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0191906129ee565b918091926000905b828210612b01575011612afa575050565b6000910152565b91508060209183015181860152018291612ae9565b90811580612bf2575b612bc5575b6000918083528260205273ffffffffffffffffffffffffffffffffffffffff6040842092169182845260205260ff604084205416612b6157505050565b8083528260205260408320828452602052604083207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b3393604051a4565b7fffffffffffffffffffffffff000000000000000000000000000000000000000060025416600255612b24565b5073ffffffffffffffffffffffffffffffffffffffff806002541690821614612b1f565b6002548060d01c8015159081612c45575b5015612c3b5760a01c65ffffffffffff1690565b5060015460d01c90565b9050421138612c27565b9065ffffffffffff8080931691168092038111612393570190565b908151811015612c7b570160200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b604051906060820182811067ffffffffffffffff8211176122ff57604052602a8252602082016040368237825115612c7b57603090538151600190811015612c7b57607860218401536029905b808211612d65575050612d075790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f81166010811015612e02577f3031323334353637383961626364656600000000000000000000000000000000901a612da18486612c6a565b5360041c918015612dd4577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190612cf7565b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b65ffffffffffff90818111612e43571690565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201527f38206269747300000000000000000000000000000000000000000000000000006064820152fdfea26469706673582212205ca5c6914090ed2e302abfde2268602e29af32b2436316839f1424df02ba4ba264736f6c634300080f00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d0000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f0000000000000000000000000635fb974f09b269bc750bf96338c29cf414301250000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f00000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f60000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec7094000000000000000000000000000000000000000000000000000000000668f66d0000000000000000000000000000000000000000000000000000000006ff70e3000000000000000000000000000000000000000000000000000000000007861f80000000000000000000000000000000000000000000ecd8fada391afc1a4000000000000000000000000000000000000000000000003b363e7f0b6bf06900000\",\n        \"nonce\": \"0x0\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1709074703,\n  \"chain\": 10,\n  \"multi\": false,\n  \"commit\": \"5f709e1\"\n}"
  },
  {
    "path": "mainnet/2024-02-21-setup-smart-escrow/script/DeploySmartEscrow.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"forge-std/Script.sol\";\nimport \"@base-contracts/src/smart-escrow/SmartEscrow.sol\";\n\ncontract DeploySmartEscrow is Script {\n    address internal DEPLOYER = vm.envAddress(\"DEPLOYER\");\n    address internal BENEFACTOR = vm.envAddress(\"BENEFACTOR\");\n    address internal BENEFICIARY = vm.envAddress(\"BENEFICIARY\");\n    address internal BENEFACTOR_OWNER = vm.envAddress(\"BENEFACTOR_OWNER\");\n    address internal BENEFICIARY_OWNER = vm.envAddress(\"BENEFICIARY_OWNER\");\n    address internal ESCROW_OWNER = vm.envAddress(\"NESTED_SAFE\");\n    uint256 internal START = vm.envUint(\"START\");\n    uint256 internal END = vm.envUint(\"END\");\n    uint256 internal VESTING_PERIOD_SECONDS = vm.envUint(\"VESTING_PERIOD_SECONDS\");\n    uint256 internal INITIAL_TOKENS = vm.envUint(\"INITIAL_TOKENS\");\n    uint256 internal VESTING_EVENT_TOKENS = vm.envUint(\"VESTING_EVENT_TOKENS\");\n\n    function run() public {\n        vm.broadcast(DEPLOYER);\n        SmartEscrow smartEscrow = new SmartEscrow(\n            BENEFACTOR,\n            BENEFICIARY,\n            BENEFACTOR_OWNER,\n            BENEFICIARY_OWNER,\n            ESCROW_OWNER,\n            START,\n            END,\n            VESTING_PERIOD_SECONDS,\n            INITIAL_TOKENS,\n            VESTING_EVENT_TOKENS\n        );\n        require(smartEscrow.start() == START, \"DeploySmartEscrow: start time not set correctly\");\n        require(smartEscrow.end() == END, \"DeploySmartEscrow: end time not set correctly\");\n        require(smartEscrow.vestingPeriod() == VESTING_PERIOD_SECONDS, \"DeploySmartEscrow: vesting period incorrect\");\n        require(smartEscrow.initialTokens() == INITIAL_TOKENS, \"DeploySmartEscrow: number of initial tokens incorrect\");\n        require(smartEscrow.vestingEventTokens() == VESTING_EVENT_TOKENS, \"DeploySmartEscrow: number of vesting event tokens incorrect\");\n        require(smartEscrow.benefactor() == BENEFACTOR, \"DeploySmartEscrow: benefactor incorrect\"); \n        require(smartEscrow.beneficiary() == BENEFICIARY, \"DeploySmartEscrow: beneficiary incorrect\");\n        require(smartEscrow.released() == 0, \"DeploySmartEscrow: initial released value must bex zero\");\n        require(smartEscrow.contractTerminated() == false, \"DeploySmartEscrow: contract cannot initially be terminated\");\n    }\n}\n"
  },
  {
    "path": "mainnet/2024-02-23-transfer-op/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\ninstall-agora:\n\tforge install --no-git git@github.com:voteagora/optimism-gov.git\n\n.PHONY: sign-cb\nsign-cb:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(OPTIMISM_RPC_URL) TransferAndDelegateOPTokens \\\n\t--sig \"sign(address)\" $(CB_MULTISIG)\n\n.PHONY: sign-op\nsign-op:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(OPTIMISM_RPC_URL) TransferAndDelegateOPTokens \\\n\t--sig \"sign(address)\" $(OP_MULTISIG)\n\n\n.PHONY: approve-cb\napprove-cb:\n\tforge script --rpc-url $(OPTIMISM_RPC_URL) TransferAndDelegateOPTokens \\\n\t--sig \"approve(address,bytes)\" $(CB_MULTISIG) $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\"\n\n.PHONY: approve-op\napprove-op:\n\tforge script --rpc-url $(OPTIMISM_RPC_URL) TransferAndDelegateOPTokens \\\n\t--sig \"approve(address,bytes)\" $(OP_MULTISIG) $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\"\n\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(OPTIMISM_RPC_URL) TransferAndDelegateOPTokens \\\n\t--sig \"run()\" --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\""
  },
  {
    "path": "mainnet/2024-02-23-transfer-op/README.md",
    "content": "# Transfer and Delegate OP Tokens\n\nStatus: WILL NOT EXECUTE - see updated task in 2024-07-30-transfer-op\n\n## Objective\n\nWhen Base launched, Optimism granted a share of OP tokens to Coinbase. The token distribution occurs onchain, and vests over a period of 6 years, with the first vesting event in July 2024. A smart contract handles the logic to make the tokens available for distribution as they vest. This smart contract (the \"Smart Escrow Contract\") also receives OP tokens 1 year before they vest and stores them until vesting. However, since the Smart Escrow contract was not ready upon Base launch, the existing OP tokens are being stored in a 2-of-2 multisig with CB & OP signers (similar to the multisig used for Base's upgrade keys, except on the Optimism network). \n\nNow that the Smart Escrow contract is live, this task moves any existing OP tokens from the 2-of-2 multisig to the Smart Escrow contract.\n\nThe one caveat is that some amount of the tokens (the \"upfront grant\") is available to be used by Coinbase for governance purposes, and since the Smart Escrow contract does not support governance use cases, these tokens will remain in the 2-of-2 and be sent directly to Coinbase upon vesting in July 2024. In the meantime, we will do a 1 time delegation of these tokens to a Coinbase owned address, so they can be used for governance purposes prior to July. This delegation event is also handled in this signing task.\n\n## Approving the transaction\n\n### 1. Update repo and move to the appropriate folder:\n\n```\ncd contract-deployments\ngit pull\ncd mainnet/2024-02-23-transfer-op\nmake deps\nmake install-agora\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n``` shell\nmake sign-op # or make sign-cb for Coinbase signers\n```\n\nNote: there have been reports of some folks seeing this error `Error creating signer: error opening ledger: hidapi: failed to open device`. A fix is in progress, but not yet merged. If you come across this, open a new terminal and run the following to resolve the issue:\n```\ngit clone git@github.com:base-org/eip712sign.git\ncd eip712sign\ngo install\n```\n\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Optimism Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark \n\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Nested Multisig under the \"GnosisSafeProxy\" at address `0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000001\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000002\n```\n\n2. And for the same contract, verify that this specific execution is approved by the other signer multisig:\n\n```\nKey (if you are an OP signer): 0x36052d50e52fd56e1e5ef2bf9000ecb5fdb428f034f8a3e05880448b8f161877\nKey (if you are a CB signer): 0xff52d03d7d7be46582113567dad0fd34f0eebc222f5fc655b711ba09f22bdb1f\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000000\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000001\n```\n\n3. Verify that the nonce is incremented for your multisig.\n\nIf you are an OP signer - the OP Foundation Multisig should be under the \"GnosisSafeProxy\" at address `0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x000000000000000000000000000000000000000000000000000000000000007a\nAfter: 0x000000000000000000000000000000000000000000000000000000000000007b\n```\n\nIf you are a CB signer - the Coinbase Multisig should be under the address `0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000001\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000002\n```\n\n4. Verify that the state changes for the OP ERC20 token match the expected balance updates. Specifically, verify that the delegate  for the Nested Multisig is established as: `0x85e870a853a55c312bbfdb16c1f64d36916b6629`. Under the `_delegates` field, look for the following state change:\n\n```\n0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940      0x0000000000000000000000000000000000000000 -> 0x85e870a853a55c312bbfdb16c1f64d36916b6629\n```\n\n5. Under the \"Optimism ERC-20\" `_balances` field, look for the following state changes:\n\n```\n0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940      37580963000000000000000000 -> 10737418000000000000000000\n0x1a984e693f8a9c38f3ae1f1af14b677ac245dead      0 -> 26843545000000000000000000\n```\n\n6. Verify that the Agora \"Alligator Proxy\" subdelegate is established correctly. Under the \"ERC1967 Proxy\" at `0x7f08f3095530b67cdf8466b7a923607944136df0`, expand the state by clicking on the \"+\" for `0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940`. Verify that the following state change is expected:\n\n```\nmapping (address => mapping (address => tuple)) subdelegations\n  0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940\n    0x635fb974f09b269bc750bf96338c29cf41430125\n      maxRedelegations 0 -> 1\n      allowanceType 0 -> 10737418000000000000000000\n```\n\nHere, the associated events might help add some context. If necessary for clarity, cross check this state transition with the associated events in the \"Events\" tab:\n\nVerify that the call emitted `DelegateVotesChanged` with a new balance of `10737418000000000000000000` with details:\n```json\n{\n  \"delegate\": \"0x85e870a853a55c312bbfdb16c1f64d36916b6629\",\n  \"previousBalance\": \"0\",\n  \"newBalance\": \"10737418000000000000000000\"\n}\n```\n\nVerify that the call emitted `SubDelegation`, specifying an allowance of `10737418000000000000000000` with details:\n```json\n{\n  \"from\": \"0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940\",\n  \"to\": \"0x635fb974f09b269bc750bf96338c29cf41430125\",\n  \"subdelegationRules\": {\n    \"maxRedelegations\": 1,\n    \"blocksBeforeVoteCloses\": 0,\n    \"notValidBefore\": 0,\n    \"notValidAfter\": 0,\n    \"customRule\": \"0x0000000000000000000000000000000000000000\",\n    \"allowanceType\": 0,\n    \"allowance\": \"10737418000000000000000000\"\n  }\n}\n```\n\n7. Verify that the `L1FeeVault` at `0x420000000000000000000000000000000000001a` receives the gas associated with the call:\n\n_Note: the balance values here will not be exactly the same_\n```\nBalance     3335732882538676762398 -> 3335734048351707566580\n```\n\n8. Verify that the nonce for the sending address is appropriately incremented:\n\n_Note: the nonce value might be different depending on the nonce of the sending EOA_\n```\nNonce       0 -> 1\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafeL2.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the hash value may be\ndifferent:\n\n<img width=\"1195\" alt=\"image\" src=\"https://github.com/base-org/contract-deployments/assets/7411939/7d16806c-0408-4d5f-9212-bed4e6fc14f8\">\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n``` shell\nmake sign-op # or make sign-cb for Coinbase signers\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## [For Facilitator ONLY] How to execute the rehearsal\n\n### [After the rehearsal] Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\n   SIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make approve-cb` with Coinbase signer signatures.\n4. Run `make approve-op` with Optimism signer signatures.\n4. Run `make run` to execute the transaction onchain.\n\n"
  },
  {
    "path": "mainnet/2024-02-23-transfer-op/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.19\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n    '@agora=lib/optimism-gov/src',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2024-02-23-transfer-op/script/TransferAndDelegateOPTokens.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.19;\n\nimport \"@base-contracts/script/universal/NestedMultisigBuilder.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol\";\nimport \"@agora/structs/RulesV3.sol\";\nimport \"@agora/structs/AllowanceType.sol\";\nimport \"@agora/alligator/AlligatorOP_V5.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\n\ncontract TransferAndDelegateOPTokens is NestedMultisigBuilder {\n    IERC20 internal OP_TOKEN = IERC20(vm.envAddress(\"OP_TOKEN\"));\n\n    address internal NESTED_SAFE = vm.envAddress(\"NESTED_SAFE\");\n    address internal SMART_ESCROW = vm.envAddress(\"SMART_ESCROW_CONTRACT\");\n    address internal ALLIGATOR_PROXY = vm.envAddress(\"ALLIGATOR_PROXY\"); // Agora address which will allow for subdelegation\n    address internal BENEFICIARY = vm.envAddress(\"BENEFICIARY\");\n    uint256 internal UPFRONT_GRANT_TOKENS = vm.envUint(\"UPFRONT_GRANT_TOKENS\");\n    uint256 internal TOKENS_TO_TRANSFER = vm.envUint(\"TOKENS_TO_TRANSFER\");\n\n    function _postCheck() internal override view {\n        require(\n            OP_TOKEN.balanceOf(SMART_ESCROW) >= TOKENS_TO_TRANSFER,\n            \"TransferAndDelegateOPTokens: tokens not transferred to smart escrow\"\n        );\n        require(\n            OP_TOKEN.balanceOf(NESTED_SAFE) >= UPFRONT_GRANT_TOKENS,\n            \"TransferAndDelegateOPTokens: number of remaining tokens in nested safe is incorrect\"\n        );\n    }\n\n    function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](3);\n\n        // Double check that there are enough tokens to transfer\n        uint256 remainingTokens = OP_TOKEN.balanceOf(NESTED_SAFE) - TOKENS_TO_TRANSFER;\n        require(\n            remainingTokens >= UPFRONT_GRANT_TOKENS,\n            \"TransferAndDelegateOPTokens: not enough tokens to transfer\"\n        );\n\n        // Transfer collaboration grant tokens which are in the nested safe to smart escrow\n        // Tokens are sent to the contract 1 year before they vest, so this will be some subset of the\n        // total collaboration grant tokens\n        calls[0] = IMulticall3.Call3({\n            target: address(OP_TOKEN),\n            allowFailure: false,\n            callData: abi.encodeCall(\n                IERC20.transfer,\n                (SMART_ESCROW, TOKENS_TO_TRANSFER)\n            )\n        });\n        // Delegate governance tokens for initial grant to Agora's Alligator proxy,\n        // which will allow for subdelegations\n        calls[1] = IMulticall3.Call3({\n            target: address(OP_TOKEN),\n            allowFailure: false,\n            callData: abi.encodeCall(\n                ERC20Votes.delegate,\n                (AlligatorOPV5(ALLIGATOR_PROXY).proxyAddress(NESTED_SAFE))\n            )\n        });\n\n        // Setup subdelegation rules\n        // The intended functionality here is that the wallet we delegate to should be able to redelegate,\n        // but the wallet(s) it redelegates to should not be able to redelegate further.\n        // In addition, we want to delegate an absolute amount, since only the Upfront Grant tokens are eligible\n        // to be voted with before the 1 year vesting. There shouldn't be any additional OP tokens sent to this wallet,\n        // but if there are, we should not delegate them.\n        // The rest of the rules are set to the defaults and are not relevant for our use case.\n        SubdelegationRules memory subdelegationRules = SubdelegationRules({\n            maxRedelegations: 1,\n            blocksBeforeVoteCloses: 0,\n            notValidBefore: 0,\n            notValidAfter: 0,\n            customRule: address(0),\n            allowanceType: AllowanceType.Absolute,\n            allowance: UPFRONT_GRANT_TOKENS\n        });\n\n        // Delegate the tokens to the Coinbase owned address\n        calls[2] = IMulticall3.Call3({\n            target: ALLIGATOR_PROXY,\n            allowFailure: false,\n            callData: abi.encodeCall(\n                AlligatorOPV5.subdelegate,\n                (BENEFICIARY, subdelegationRules)\n            )\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal override view returns (address) {\n        return NESTED_SAFE;\n    }\n}\n"
  },
  {
    "path": "mainnet/2024-02-23-transfer-op/script/TransferUpfrontOPTokens.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.19;\n\nimport \"@base-contracts/script/universal/NestedMultisigBuilder.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\n\n// TODO: this script will be called after the upfront grant tokens have vested\ncontract TransferOPTokens is NestedMultisigBuilder {\n    address internal NESTED_SAFE = vm.envAddress(\"NESTED_SAFE\");\n    IERC20 public OP_TOKEN = IERC20(vm.envAddress(\"OP_TOKEN\"));\n    address public BENEFICIARY = vm.envAddress(\"BENEFICIARY\");\n    uint256 public UPFRONT_GRANT_TOKENS = vm.envUint(\"UPFRONT_GRANT_TOKENS\");\n\n    function _postCheck() internal override view {\n        require(\n            OP_TOKEN.balanceOf(BENEFICIARY) >= UPFRONT_GRANT_TOKENS,\n            \"TransferAndDelegateOPTokens: tokens not transferred to beneficiary\"\n        );\n    }\n\n    function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        // There should be UPFRONT_GRANT_TOKENS left in the NESTED_SAFE. However,\n        // there could be more since anyone could send OP to the safe, so check if the\n        // amount is greater than or equal\n        require(\n            OP_TOKEN.balanceOf(NESTED_SAFE) >= UPFRONT_GRANT_TOKENS,\n            \"TransferOPTokens: unexpected token amount in nested safe\"\n        );\n\n        // Transfer upfront grant tokens when they vest\n        calls[0] = IMulticall3.Call3({\n            target: address(OP_TOKEN),\n            allowFailure: false,\n            callData: abi.encodeCall(\n                IERC20.transfer,\n                (BENEFICIARY, UPFRONT_GRANT_TOKENS)\n            )\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal override view returns (address) {\n        return NESTED_SAFE;\n    }\n}"
  },
  {
    "path": "mainnet/2024-03-05-pause-unpause-test/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n##\n# Incident response commands\n# Note that --ledger --hd-paths <PATH> can be replaced with --private-key $(PRIVATE_KEY)\n# in any command when using a local key.\n##\n\n# Pause OptimismPortal Commands\n\n.PHONY: pause-portal-sign\npause-portal-sign:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) PausePortal --sig \"sign()\"\n\n.PHONY: pause-portal-run\npause-portal-run:\n\t@forge script --rpc-url $(L1_RPC_URL) \\\n\tPausePortal --sig \"run(bytes)\" $(PAUSE_SIGNATURES) \\\n\t--private-key $(EXECUTOR_PRIVATE_KEY) \\\n\t--broadcast\n\n# Unpause OptimismPortal Commands\n\n.PHONY: unpause-portal-sign\nunpause-portal-sign:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UnpausePortal --sig \"sign()\"\n\n.PHONY: unpause-portal-run\nunpause-portal-run:\n\t@forge script --rpc-url $(L1_RPC_URL) \\\n\tUnpausePortal --sig \"run(bytes)\" $(UNPAUSE_SIGNATURES) \\\n\t--private-key $(EXECUTOR_PRIVATE_KEY) \\\n\t--broadcast\n"
  },
  {
    "path": "mainnet/2024-03-05-pause-unpause-test/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "mainnet/2024-03-05-pause-unpause-test/records/PausePortal.s.sol/1/run-1711563045.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x1b192d40318c7d6913e7018aaf473e52da0d20f16edfdd66037bd3f4db355725\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0xfc47bbfdc5268dec8a53fd857e9a425d3bcce601\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x2207d\",\n        \"value\": \"0x0\",\n        \"data\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000010482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000048456cb59000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3b7b5f1fac45d842d9d8b04437e4b4e08939219d1082277a04ea7180eef39096b3a69625ad044290d63d394a43b6eb335c8ce30e67161f16caf6eaee6bfb0aed31cf2def34a8f4d9d988d246bc0b0f19a7d25c73cf2b72fe0362cf636ccbc31fa3b61cef23bd8893ca4f88424b469964c0830f532d663020503e51d07cef45a93351c3125898d82ef77f438eaeb937e0e9f60c9b995d5632da2cc7609592177a2426961b3ac535b5182705a74d2a62fe09bde72f3321b873f5bcac5653313f6a328a31b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x1\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [],\n  \"libraries\": [],\n  \"pending\": [\n    \"0x1b192d40318c7d6913e7018aaf473e52da0d20f16edfdd66037bd3f4db355725\"\n  ],\n  \"returns\": {\n    \"0\": {\n      \"internal_type\": \"bool\",\n      \"value\": \"true\"\n    }\n  },\n  \"timestamp\": 1711563045,\n  \"chain\": 1,\n  \"multi\": false,\n  \"commit\": \"9d5a610\"\n}"
  },
  {
    "path": "mainnet/2024-03-05-pause-unpause-test/records/PausePortal.s.sol/1/run-1711563069.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x1b192d40318c7d6913e7018aaf473e52da0d20f16edfdd66037bd3f4db355725\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0xfc47bbfdc5268dec8a53fd857e9a425d3bcce601\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x2207d\",\n        \"value\": \"0x0\",\n        \"data\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000010482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000048456cb59000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3b7b5f1fac45d842d9d8b04437e4b4e08939219d1082277a04ea7180eef39096b3a69625ad044290d63d394a43b6eb335c8ce30e67161f16caf6eaee6bfb0aed31cf2def34a8f4d9d988d246bc0b0f19a7d25c73cf2b72fe0362cf636ccbc31fa3b61cef23bd8893ca4f88424b469964c0830f532d663020503e51d07cef45a93351c3125898d82ef77f438eaeb937e0e9f60c9b995d5632da2cc7609592177a2426961b3ac535b5182705a74d2a62fe09bde72f3321b873f5bcac5653313f6a328a31b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x1\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0x1b192d40318c7d6913e7018aaf473e52da0d20f16edfdd66037bd3f4db355725\",\n      \"transactionIndex\": \"0x41\",\n      \"blockHash\": \"0xa7feea27c95ffee563a4d14eec7ef70d767d91cf1d9f737b378c9e1e397af587\",\n      \"blockNumber\": \"0x129f688\",\n      \"from\": \"0xfC47bBfDC5268Dec8A53fd857E9a425d3BCCE601\",\n      \"to\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n      \"cumulativeGasUsed\": \"0x532814\",\n      \"gasUsed\": \"0x18a34\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e\",\n          \"topics\": [\n            \"0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258\"\n          ],\n          \"data\": \"0x00000000000000000000000014536667cd30e52c0b458baaccb9fada7046e056\",\n          \"blockHash\": \"0xa7feea27c95ffee563a4d14eec7ef70d767d91cf1d9f737b378c9e1e397af587\",\n          \"blockNumber\": \"0x129f688\",\n          \"transactionHash\": \"0x1b192d40318c7d6913e7018aaf473e52da0d20f16edfdd66037bd3f4db355725\",\n          \"transactionIndex\": \"0x41\",\n          \"logIndex\": \"0x97\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x1099096c5fcc6504ffa58b7d5809fb9b0e29817305e829cc7ec14644ae6c2c140000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xa7feea27c95ffee563a4d14eec7ef70d767d91cf1d9f737b378c9e1e397af587\",\n          \"blockNumber\": \"0x129f688\",\n          \"transactionHash\": \"0x1b192d40318c7d6913e7018aaf473e52da0d20f16edfdd66037bd3f4db355725\",\n          \"transactionIndex\": \"0x41\",\n          \"logIndex\": \"0x98\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000400000000000000000000000000000010000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000008000000000000000000000000000000080000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xc4a167881\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {\n    \"0\": {\n      \"internal_type\": \"bool\",\n      \"value\": \"true\"\n    }\n  },\n  \"timestamp\": 1711563069,\n  \"chain\": 1,\n  \"multi\": false,\n  \"commit\": \"9d5a610\"\n}"
  },
  {
    "path": "mainnet/2024-03-05-pause-unpause-test/records/UnpausePortal.s.sol/1/run-1711567810.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x034df7b1db78a9fd6c3ce69e3e289d8bb40a3c62afa1896f565febd436cb097d\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0xfc47bbfdc5268dec8a53fd857e9a425d3bcce601\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x1c300\",\n        \"value\": \"0x0\",\n        \"data\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000010482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000043f4ba83a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3fa53f7f1d907f05c1c6f4397d031ce2edd438bd79206fc58a7aec15f88e0fc63184451eb7a347f89110b847328be0ea0fb0e0c27103116ac50bdddfef42c22be1b00034754ceeffcc5a84e2679302e2228841ee70ff4dd176d1c4e7d0f13ce9d6d66719a6e77a2e8ecb01321d433291e56bbd8327ba374b0776a3f1de7f1eae29b1cdbc5568c4ab4ae0990155cfd071f8b84e2707538bc47fc532fdbd6bab84de7c55b6804aa3ef5aa3e30d09bc25fcdb43b524b48ca2ca4061b4d19cdd82df674f81b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x3\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [],\n  \"libraries\": [],\n  \"pending\": [\n    \"0x034df7b1db78a9fd6c3ce69e3e289d8bb40a3c62afa1896f565febd436cb097d\"\n  ],\n  \"returns\": {\n    \"0\": {\n      \"internal_type\": \"bool\",\n      \"value\": \"true\"\n    }\n  },\n  \"timestamp\": 1711567810,\n  \"chain\": 1,\n  \"multi\": false,\n  \"commit\": \"a8f455d\"\n}"
  },
  {
    "path": "mainnet/2024-03-05-pause-unpause-test/records/UnpausePortal.s.sol/1/run-1711567828.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x034df7b1db78a9fd6c3ce69e3e289d8bb40a3c62afa1896f565febd436cb097d\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0xfc47bbfdc5268dec8a53fd857e9a425d3bcce601\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x1c300\",\n        \"value\": \"0x0\",\n        \"data\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000010482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000043f4ba83a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3fa53f7f1d907f05c1c6f4397d031ce2edd438bd79206fc58a7aec15f88e0fc63184451eb7a347f89110b847328be0ea0fb0e0c27103116ac50bdddfef42c22be1b00034754ceeffcc5a84e2679302e2228841ee70ff4dd176d1c4e7d0f13ce9d6d66719a6e77a2e8ecb01321d433291e56bbd8327ba374b0776a3f1de7f1eae29b1cdbc5568c4ab4ae0990155cfd071f8b84e2707538bc47fc532fdbd6bab84de7c55b6804aa3ef5aa3e30d09bc25fcdb43b524b48ca2ca4061b4d19cdd82df674f81b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x3\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0x034df7b1db78a9fd6c3ce69e3e289d8bb40a3c62afa1896f565febd436cb097d\",\n      \"transactionIndex\": \"0x180\",\n      \"blockHash\": \"0x09cd5bd9571ff580162cf4eca504f0759e86245a6836d36dea4cd88414a8d9b9\",\n      \"blockNumber\": \"0x129f7e7\",\n      \"from\": \"0xfC47bBfDC5268Dec8A53fd857E9a425d3BCCE601\",\n      \"to\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n      \"cumulativeGasUsed\": \"0x1787def\",\n      \"gasUsed\": \"0x13461\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e\",\n          \"topics\": [\n            \"0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa\"\n          ],\n          \"data\": \"0x00000000000000000000000014536667cd30e52c0b458baaccb9fada7046e056\",\n          \"blockHash\": \"0x09cd5bd9571ff580162cf4eca504f0759e86245a6836d36dea4cd88414a8d9b9\",\n          \"blockNumber\": \"0x129f7e7\",\n          \"transactionHash\": \"0x034df7b1db78a9fd6c3ce69e3e289d8bb40a3c62afa1896f565febd436cb097d\",\n          \"transactionIndex\": \"0x180\",\n          \"logIndex\": \"0x237\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x8e13036a1fe96ef3d6c1d261e50d9227c16c44a3e12c914ca72c8839ddae62ac0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x09cd5bd9571ff580162cf4eca504f0759e86245a6836d36dea4cd88414a8d9b9\",\n          \"blockNumber\": \"0x129f7e7\",\n          \"transactionHash\": \"0x034df7b1db78a9fd6c3ce69e3e289d8bb40a3c62afa1896f565febd436cb097d\",\n          \"transactionIndex\": \"0x180\",\n          \"logIndex\": \"0x238\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000080000000040000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000008000000000000000000000000000000080000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000400\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb03b27393\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {\n    \"0\": {\n      \"internal_type\": \"bool\",\n      \"value\": \"true\"\n    }\n  },\n  \"timestamp\": 1711567828,\n  \"chain\": 1,\n  \"multi\": false,\n  \"commit\": \"a8f455d\"\n}"
  },
  {
    "path": "mainnet/2024-03-05-pause-unpause-test/script/PausePortal.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"@base-contracts/script/universal/MultisigBuilder.sol\";\nimport \"@eth-optimism-bedrock/src/L1/OptimismPortal.sol\";\n\ncontract PausePortal is MultisigBuilder {\n    address internal OPTIMISM_PORTAL_PROXY = vm.envAddress(\"OPTIMISM_PORTAL_PROXY\");\n    address internal GUARDIAN = vm.envAddress(\"GUARDIAN\");\n\n    function _postCheck() internal override view {\n        OptimismPortal optimismPortal = OptimismPortal(payable(OPTIMISM_PORTAL_PROXY));\n        require(optimismPortal.paused() == true, \"PausePortal: Portal did not get paused\");\n    }\n\n    function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        calls[0] = IMulticall3.Call3({\n            target: OPTIMISM_PORTAL_PROXY,\n            allowFailure: false,\n            callData: abi.encodeCall(\n                OptimismPortal.pause, ()\n            )\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal override view returns (address) {\n        return GUARDIAN;\n    }\n\n    function _addOverrides(address _safe) internal override pure returns (SimulationStateOverride memory) {\n        return overrideSafeThresholdAndOwner(_safe, DEFAULT_SENDER);\n    }\n}\n"
  },
  {
    "path": "mainnet/2024-03-05-pause-unpause-test/script/UnpausePortal.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"@base-contracts/script/universal/MultisigBuilder.sol\";\nimport \"@eth-optimism-bedrock/src/L1/OptimismPortal.sol\";\n\ncontract UnpausePortal is MultisigBuilder {\n    address internal OPTIMISM_PORTAL_PROXY = vm.envAddress(\"OPTIMISM_PORTAL_PROXY\");\n    address internal GUARDIAN = vm.envAddress(\"GUARDIAN\");\n\n    function _postCheck() internal override view {\n        OptimismPortal optimismPortal = OptimismPortal(payable(OPTIMISM_PORTAL_PROXY));\n        require(optimismPortal.paused() == false, \"UnpausePortal: Portal did not get unpaused\");\n    }\n\n    function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        calls[0] = IMulticall3.Call3({\n            target: OPTIMISM_PORTAL_PROXY,\n            allowFailure: false,\n            callData: abi.encodeCall(\n                OptimismPortal.unpause, ()\n            )\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal override view returns (address) {\n        return GUARDIAN;\n    }\n\n    function _addOverrides(address _safe) internal override view returns (SimulationStateOverride memory) {\n        IGnosisSafe safe = IGnosisSafe(payable(_safe));\n        uint256 _nonce = _getNonce(safe);\n        return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce);\n    }\n\n    function _getNonce(IGnosisSafe safe) internal override view returns (uint256 nonce) {\n        uint256 _nonce = safe.nonce();\n        console.log(\"Safe current nonce:\", _nonce);\n        console.log(\"Incrementing by 1 to account for planned `Pause` tx\");\n        return _nonce+1;\n    }\n}\n"
  },
  {
    "path": "mainnet/2024-03-07-ecotone-sysconfig-updates/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: sign-update-gas-config\nsign-update-gas-config: \n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpdateGasConfig \\\n\t--sig \"sign()\"\n\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(L1_RPC_URL) UpdateGasConfig \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n\n.PHONY: sign-rollback-gas-config\nsign-rollback-gas-config: \n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) RollbackGasConfig \\\n\t--sig \"sign()\"\n\n\n.PHONY: execute-rollback\nexecute-rollback:\n\tforge script --rpc-url $(L1_RPC_URL) RollbackGasConfig \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2024-03-07-ecotone-sysconfig-updates/README.md",
    "content": "# Update Gas Config in L1 `SystemConfig`\n\nStatus: [EXECUTED](https://etherscan.io/tx/0xbdfcc812b029df5160b36b447eb90dfa85f0d1822995c835aed55cafc7097ace)\n\n## Objective\n\nAlong with the Ecotone hardfork, we need to make changes to the Gas Config in the L1 `SystemConfig` contract. Specifically, we need to set the `_overhead` and `_scalar` values by calling `setGasConfig`. This is an access-controlled method that only the Incident Multisig can call.\n\nThis runbook implements scripts to allow our signers to sign two different calls for our Incident Multisig:\n\n1. `UpdateGasConfig` -- This script will update the values according to our expected happy path wherein we are actively using Blobs\n2. `RollbackGasConfig` -- This script establishes a rollback call in the case we need to revert to using calldata\n\nThe values we are sending are statically defined in the `.env` file but were generated by running this [script](https://github.com/ethereum-optimism/optimism/tree/4b7627cbb94a75e478a34f33f91121ef6ae794b3/op-chain-ops/cmd/ecotone-scalar) against the values derived from this [document](https://docs.google.com/document/d/1xjqKTnNASVCX-S0-PNaMZBvBOcyiRJLOi5IWkySNUT8/edit?usp=sharing) put together by @cody-wang-cb.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow\n> the flow for both \"Approving the Update transaction\" and\n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed.\n\n## Approving the Update transaction\n\n### 1. Update repo and move to the appropriate folder:\n\n```\ncd contract-deployments\ngit pull\ncd mainnet/2024-03-07-ecotome-sysconfig-updates\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-update-gas-config\n```\n\nNote: there have been reports of some folks seeing this error `Error creating signer: error opening ledger: hidapi: failed to open device`. A fix is in progress, but not yet merged. If you come across this, open a new terminal and run the following to resolve the issue:\n\n```\ngit clone git@github.com:base-org/eip712sign.git\ncd eip712sign\ngo install\n```\n\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x000000000000000000000000000000000000000000000000000000000000000a\nAfter: 0x000000000000000000000000000000000000000000000000000000000000000b\n```\n\n2. Verify that gas config values are appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000065\nBefore: 0x00000000000000000000000000000000000000000000000000000000000000bc\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000000\n\nKey: 0x0000000000000000000000000000000000000000000000000000000000000066\nBefore: 0x00000000000000000000000000000000000000000000000000000000000a6fe0\nAfter: 0x010000000000000000000000000000000000000000000000000a118b0000044d\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-update-gas-config\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Approving the Rollback transaction\n\nComplete the above steps for `Approving the Update transaction` before continuing below.\n\n### 1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-rollback-gas-config\n```\n\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output. Once again paste this URL in your browser and click \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x000000000000000000000000000000000000000000000000000000000000000b\nAfter: 0x000000000000000000000000000000000000000000000000000000000000000c\n```\n\n2. Verify that gas config values are appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000065\nBefore: 0x00000000000000000000000000000000000000000000000000000000000000bc\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000000\n\nKey: 0x0000000000000000000000000000000000000000000000000000000000000066\nBefore: 0x00000000000000000000000000000000000000000000000000000000000a6fe0\nAfter: 0x01000000000000000000000000000000000000000000000000000000000a31c2\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-rollback-gas-config\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n> [!WARNING]  \n> ONLY PROCEED IF WE MUST FALLBACK TO CALLDATA\n\n## Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make approve-rollback-gas-config`\n4. Run `make execute-rollback` to execute the transaction onchain.\n"
  },
  {
    "path": "mainnet/2024-03-07-ecotone-sysconfig-updates/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2024-03-07-ecotone-sysconfig-updates/records/UpdateGasConfig.sol/1/run-1710375473.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xbdfcc812b029df5160b36b447eb90dfa85f0d1822995c835aed55cafc7097ace\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044935f029e0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000a118b0000044d00000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x7724fdaa4889f70d74c9412746b8c1016131fbcf89aae424cf38cdd7db91298f38538b0a96cf8a5f671cbde408c2266899a178cb8a98cc2e50045b18b02676ca1b48bbd3fe4fd985d6ca0b88319eccbf8ddd18ba3f4a580e3b18a1da6851e7886270ce9f42fe19c582ac1f5ae0d271b4878a42b690d336b5ecb73700975dca188c1c813795228ff60bbd3a78c6c2df97d14c4012d70143667e066d79517f23ad31973fadf3e01ded32a497e1a06e36baed5fc2c249bf2cca03ed0db8f86597e6a0fd1b\"\n      ],\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0xa7a5e47d3959bf134e3ecdeb1f62e054f0d58a18\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x1fa67\",\n        \"value\": \"0x0\",\n        \"data\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000014482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044935f029e0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000a118b0000044d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c37724fdaa4889f70d74c9412746b8c1016131fbcf89aae424cf38cdd7db91298f38538b0a96cf8a5f671cbde408c2266899a178cb8a98cc2e50045b18b02676ca1b48bbd3fe4fd985d6ca0b88319eccbf8ddd18ba3f4a580e3b18a1da6851e7886270ce9f42fe19c582ac1f5ae0d271b4878a42b690d336b5ecb73700975dca188c1c813795228ff60bbd3a78c6c2df97d14c4012d70143667e066d79517f23ad31973fadf3e01ded32a497e1a06e36baed5fc2c249bf2cca03ed0db8f86597e6a0fd1b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x5\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0xbdfcc812b029df5160b36b447eb90dfa85f0d1822995c835aed55cafc7097ace\",\n      \"transactionIndex\": \"0x25\",\n      \"blockHash\": \"0x82e5c2bba36a1d063dff22d594b9af2d9590ea0387b3046911ee5dae22e02544\",\n      \"blockNumber\": \"0x128790b\",\n      \"from\": \"0xa7a5e47D3959bf134e3EcdEb1f62e054f0D58a18\",\n      \"to\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n      \"cumulativeGasUsed\": \"0x4ea81a\",\n      \"gasUsed\": \"0x15a43\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x73a79Fab69143498Ed3712e519A88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000001\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000a118b0000044d\",\n          \"blockHash\": \"0x82e5c2bba36a1d063dff22d594b9af2d9590ea0387b3046911ee5dae22e02544\",\n          \"blockNumber\": \"0x128790b\",\n          \"transactionHash\": \"0xbdfcc812b029df5160b36b447eb90dfa85f0d1822995c835aed55cafc7097ace\",\n          \"transactionIndex\": \"0x25\",\n          \"logIndex\": \"0x68\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xbd697f40d0e3fd68eb3af70ead2140ceba49d3e82662fd3b70506200b0bda7c90000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x82e5c2bba36a1d063dff22d594b9af2d9590ea0387b3046911ee5dae22e02544\",\n          \"blockNumber\": \"0x128790b\",\n          \"transactionHash\": \"0xbdfcc812b029df5160b36b447eb90dfa85f0d1822995c835aed55cafc7097ace\",\n          \"transactionIndex\": \"0x25\",\n          \"logIndex\": \"0x69\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x0000000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000040000000000000000000000000000000000000001000000040000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000060000000000000000040000000000000000000000000000000000000008000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xcac57ea50\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {\n    \"0\": {\n      \"internal_type\": \"bool\",\n      \"value\": \"true\"\n    }\n  },\n  \"timestamp\": 1710375473,\n  \"chain\": 1,\n  \"commit\": \"25fd630\"\n}"
  },
  {
    "path": "mainnet/2024-03-07-ecotone-sysconfig-updates/script/RollbackGasConfig.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport {\n    MultisigBuilder,\n    Simulator,\n    IMulticall3, \n    IGnosisSafe,\n    console,\n    Enum\n} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\n\n// This script will be signed ahead of Ecotone but is not planned for execution. \n// If something goes wrong with the hardfork, we can rollback the config by executing \n// this pre-signed transaction.  \ncontract RollbackGasConfig is MultisigBuilder {\n\n    address internal SYSTEM_CONFIG_OWNER = vm.envAddress(\"SYSTEM_CONFIG_OWNER\");\n    address internal L1_SYSTEM_CONFIG = vm.envAddress(\"L1_SYSTEM_CONFIG_ADDRESS\");\n    uint256 internal FALLBACK_SCALAR = vm.envUint(\"FALLBACK_SCALAR\");\n\n    function _postCheck() internal override view {\n        require(SystemConfig(L1_SYSTEM_CONFIG).scalar() == FALLBACK_SCALAR);\n        require(SystemConfig(L1_SYSTEM_CONFIG).overhead() == 0);\n    }\n\n    function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        calls[0] = IMulticall3.Call3({\n            target: L1_SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(\n                SystemConfig.setGasConfig,\n                (\n                0, // overhead is not used post Ecotome\n                FALLBACK_SCALAR\n                )\n            )\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal override view returns (address) {\n        return SYSTEM_CONFIG_OWNER;\n    }\n\n    function _getNonce(IGnosisSafe safe) internal override view returns (uint256 nonce) {\n        uint256 _nonce = safe.nonce();\n        console.log(\"Safe current nonce:\", _nonce);\n        console.log(\"Incrememnting by 1 to account for planned `Update` tx\");\n        return _nonce+1;\n    }\n\n    function _addOverrides(address _safe) internal override view returns (SimulationStateOverride memory) {\n        IGnosisSafe safe = IGnosisSafe(payable(_safe));\n        uint256 _nonce = _getNonce(safe);\n        return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce);\n    }\n}"
  },
  {
    "path": "mainnet/2024-03-07-ecotone-sysconfig-updates/script/UpdateGasConfig.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport {\n    MultisigBuilder, \n    IMulticall3, \n    IGnosisSafe,\n    console,\n    Enum\n} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\n\ncontract UpdateGasConfig is MultisigBuilder {\n\n    address internal SYSTEM_CONFIG_OWNER = vm.envAddress(\"SYSTEM_CONFIG_OWNER\");\n    address internal L1_SYSTEM_CONFIG = vm.envAddress(\"L1_SYSTEM_CONFIG_ADDRESS\");\n    uint256 internal SCALAR = vm.envUint(\"SCALAR\");\n\n    function _postCheck() internal override view {\n        require(SystemConfig(L1_SYSTEM_CONFIG).scalar() == SCALAR);\n        require(SystemConfig(L1_SYSTEM_CONFIG).overhead() == 0);\n    }\n\n    function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        calls[0] = IMulticall3.Call3({\n            target: L1_SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(\n                SystemConfig.setGasConfig,\n                (\n                0, // overhead is not used post Ecotone\n                SCALAR\n                )\n            )\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal override view returns (address) {\n        return SYSTEM_CONFIG_OWNER;\n    }\n\n    function _addOverrides(address _safe) internal override pure returns (SimulationStateOverride memory) {\n        return overrideSafeThresholdAndOwner(_safe, DEFAULT_SENDER);\n    }\n    \n}"
  },
  {
    "path": "mainnet/2024-03-26-increase-gas-limit/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: sign-update-gas-limit\nsign-update-gas-limit: \n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpdateGaslimit \\\n\t--sig \"sign()\"\n\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(L1_RPC_URL) UpdateGaslimit \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n\n.PHONY: sign-rollback-gas-limit\nsign-rollback-gas-limit: \n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) RollbackGasLimit \\\n\t--sig \"sign()\"\n\n\n.PHONY: execute-rollback\nexecute-rollback:\n\tforge script --rpc-url $(L1_RPC_URL) RollbackGasLimit \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2024-03-26-increase-gas-limit/README.md",
    "content": "# Update Gas Limit in L1 `SystemConfig` \n\nStatus: IN TEST\n\n## Objective\n\nWe are updating the gas limit to improve TPS and reduce gas fees. \n\nThis runbook implements scripts which allow our signers to sign two different calls for our Incident Multisig: \n1. `UpdateGasLimit` -- This script will update the gas limit to our new limit of 45M gas \n2. `RollbackGasLimit` -- This script establishes a rollback call in the case we need to revert to 30M gas\n\nThe values we are sending are statically defined in the `.env`.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow \n> the flow for both \"Approving the Update transaction\" and \n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed. \n\n## Approving the Update transaction\n\n### 1. Update repo and move to the appropriate folder:\n```\ncd contract-deployments\ngit pull\ncd mainnet/2024-03-26-increase-gas-limit\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n``` shell\nmake sign-update-gas-limit\n```\n\nOnce you run the `make sign...` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark \n\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 13 to 14:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x000000000000000000000000000000000000000000000000000000000000000d\nAfter: 0x000000000000000000000000000000000000000000000000000000000000000e\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 30M to 45M:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x0000000000000000000000000000000000000000000000000000000001c9c380\nAfter: 0x0000000000000000000000000000000000000000000000000000000002aea540\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n``` shell\nmake sign-update-gas-limit\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n\n## Approving the Rollback transaction\n\nComplete the above steps for `Approving the Update transaction` before continuing below.\n\n### 1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n``` shell\nmake sign-rollback-gas-limit\n```\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output. Once again paste this URL in your browser and click \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark \n\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x000000000000000000000000000000000000000000000000000000000000000e\nAfter: 0x000000000000000000000000000000000000000000000000000000000000000f\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x0000000000000000000000000000000000000000000000000000000002aea540\nAfter: 0x0000000000000000000000000000000000000000000000000000000001c9c380\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n``` shell\nmake sign-rollback-gas-limit\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\n   SIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make execute`\n\n> [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK\n> Repeat the above, but replace the signatures with the signed\n> rollback signatures collected, the call `make execute-rollback`\n"
  },
  {
    "path": "mainnet/2024-03-26-increase-gas-limit/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2024-03-26-increase-gas-limit/records/UpdateGasLimit.sol/1/run-1711570739.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": null,\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x89ebc5eb7163470e23fcc24833eea6bb93a7b045\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x1e6f6\",\n        \"value\": \"0x0\",\n        \"data\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000002aea540000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c34d2b765a04e7d1777ea92bacb0628a8259615a8ee803f4822132c985695125d525f667a2caab089be727dd4a8d8639e67528b419e8bbcc1af3a0891478383fa71b3aec5a84ecf994bbb013b794346aff78e1654c355aa51e4e733704da9319d3895aa95918ee973c4e50a4e6b2ca9f1690374ddf88f86755128f23fac0151794cd1b79392e9669c78654fce77766ea2949dc0d3958169ea9f0bcf05b153d93c62ad77e659c060f812d6f7d0929f7d2f0b09ad5051576c716d38abed754c5dbc1a9521b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x1\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {\n    \"0\": {\n      \"internal_type\": \"bool\",\n      \"value\": \"true\"\n    }\n  },\n  \"timestamp\": 1711570739,\n  \"chain\": 1,\n  \"commit\": \"cff08ef\"\n}"
  },
  {
    "path": "mainnet/2024-03-26-increase-gas-limit/records/UpdateGasLimit.sol/1/run-1711570882.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xc094dde815aeebd14ac9fb6d7612434aa9da6113ea7d74add0ed59655a964871\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x89ebc5eb7163470e23fcc24833eea6bb93a7b045\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x1e6f6\",\n        \"value\": \"0x0\",\n        \"data\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000002aea540000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c34d2b765a04e7d1777ea92bacb0628a8259615a8ee803f4822132c985695125d525f667a2caab089be727dd4a8d8639e67528b419e8bbcc1af3a0891478383fa71b3aec5a84ecf994bbb013b794346aff78e1654c355aa51e4e733704da9319d3895aa95918ee973c4e50a4e6b2ca9f1690374ddf88f86755128f23fac0151794cd1b79392e9669c78654fce77766ea2949dc0d3958169ea9f0bcf05b153d93c62ad77e659c060f812d6f7d0929f7d2f0b09ad5051576c716d38abed754c5dbc1a9521b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x1\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0xc094dde815aeebd14ac9fb6d7612434aa9da6113ea7d74add0ed59655a964871\",\n      \"transactionIndex\": \"0x70\",\n      \"blockHash\": \"0xcf86abb6c8abdb79d3c624332f5cc4603a3d50998692aa2a602293fbd7df5333\",\n      \"blockNumber\": \"0x129f8d5\",\n      \"from\": \"0x89EBc5EB7163470e23fCc24833eeA6BB93A7b045\",\n      \"to\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n      \"cumulativeGasUsed\": \"0x7ffd75\",\n      \"gasUsed\": \"0x1608e\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x73a79Fab69143498Ed3712e519A88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000002\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000002aea540\",\n          \"blockHash\": \"0xcf86abb6c8abdb79d3c624332f5cc4603a3d50998692aa2a602293fbd7df5333\",\n          \"blockNumber\": \"0x129f8d5\",\n          \"transactionHash\": \"0xc094dde815aeebd14ac9fb6d7612434aa9da6113ea7d74add0ed59655a964871\",\n          \"transactionIndex\": \"0x70\",\n          \"logIndex\": \"0xf5\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x4c9d95f221cf985c7e78c5ca42bff76b10ba3e80df418ec9c6be6d8a73c247f50000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xcf86abb6c8abdb79d3c624332f5cc4603a3d50998692aa2a602293fbd7df5333\",\n          \"blockNumber\": \"0x129f8d5\",\n          \"transactionHash\": \"0xc094dde815aeebd14ac9fb6d7612434aa9da6113ea7d74add0ed59655a964871\",\n          \"transactionIndex\": \"0x70\",\n          \"logIndex\": \"0xf6\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xa093a24fd\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {\n    \"0\": {\n      \"internal_type\": \"bool\",\n      \"value\": \"true\"\n    }\n  },\n  \"timestamp\": 1711570882,\n  \"chain\": 1,\n  \"commit\": \"cff08ef\"\n}"
  },
  {
    "path": "mainnet/2024-03-26-increase-gas-limit/script/RollbackGasLimit.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport {\n    MultisigBuilder,\n    Simulator,\n    IMulticall3, \n    IGnosisSafe,\n    console,\n    Enum\n} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\n\n// This script will be signed ahead of our gas limit increase but isn't expected to be \n// executed. It will be available to us in the event we need to quickly rollback the gas limit. \ncontract RollbackGasLimit is MultisigBuilder {\n\n    address internal SYSTEM_CONFIG_OWNER = vm.envAddress(\"SYSTEM_CONFIG_OWNER\");\n    address internal L1_SYSTEM_CONFIG = vm.envAddress(\"L1_SYSTEM_CONFIG_ADDRESS\");\n    uint64 internal ROLLBACK_GAS_LIMIT = uint64(vm.envUint(\"ROLLBACK_GAS_LIMIT\"));\n\n    function _postCheck() internal override view {\n        require(SystemConfig(L1_SYSTEM_CONFIG).gasLimit() == ROLLBACK_GAS_LIMIT);\n    }\n\n    function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        calls[0] = IMulticall3.Call3({\n            target: L1_SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(\n                SystemConfig.setGasLimit,\n                (\n                ROLLBACK_GAS_LIMIT\n                )\n            )\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal override view returns (address) {\n        return SYSTEM_CONFIG_OWNER;\n    }\n\n    function _getNonce(IGnosisSafe) internal override view returns (uint256 nonce) {\n        nonce = vm.envUint(\"ROLLBACK_NONCE\");\n    }\n\n    function _addOverrides(address _safe) internal override view returns (SimulationStateOverride memory) {\n        IGnosisSafe safe = IGnosisSafe(payable(_safe));\n        uint256 _nonce = _getNonce(safe);\n        return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce);\n    }\n\n    // We need to expect that the gas limit will have been updated previously in our simulation\n    // Use this override to specifically set the gas limit to the expected update value.  \n    function _addGenericOverrides() internal override view returns (SimulationStateOverride memory) {\n        SimulationStorageOverride[] memory _stateOverrides = new SimulationStorageOverride[](1);\n        _stateOverrides[0] = SimulationStorageOverride({\n            key: 0x0000000000000000000000000000000000000000000000000000000000000068, // slot of gas limit\n            value: bytes32(vm.envUint(\"GAS_LIMIT\"))\n        });\n        return SimulationStateOverride({\n            contractAddress: L1_SYSTEM_CONFIG,\n            overrides: _stateOverrides\n        });\n    }\n}"
  },
  {
    "path": "mainnet/2024-03-26-increase-gas-limit/script/UpdateGasLimit.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport {\n    MultisigBuilder, \n    IMulticall3, \n    IGnosisSafe,\n    console,\n    Enum\n} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\n\ncontract UpdateGaslimit is MultisigBuilder {\n\n    address internal SYSTEM_CONFIG_OWNER = vm.envAddress(\"SYSTEM_CONFIG_OWNER\");\n    address internal L1_SYSTEM_CONFIG = vm.envAddress(\"L1_SYSTEM_CONFIG_ADDRESS\");\n    uint64 internal GAS_LIMIT = uint64(vm.envUint(\"GAS_LIMIT\"));\n\n    function _postCheck() internal override view {\n        require(SystemConfig(L1_SYSTEM_CONFIG).gasLimit() == GAS_LIMIT);\n    }\n\n    function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        calls[0] = IMulticall3.Call3({\n            target: L1_SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(\n                SystemConfig.setGasLimit,\n                (\n                GAS_LIMIT\n                )\n            )\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal override view returns (address) {\n        return SYSTEM_CONFIG_OWNER;\n    }\n\n    function _getNonce(IGnosisSafe) internal override view returns (uint256 nonce) {\n        nonce = vm.envUint(\"UPDATE_NONCE\");\n    }\n\n    function _addOverrides(address _safe) internal override view returns (SimulationStateOverride memory) {\n        IGnosisSafe safe = IGnosisSafe(payable(_safe));\n        uint256 _nonce = _getNonce(safe);\n        return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce);\n    }\n}"
  },
  {
    "path": "mainnet/2024-04-01-increase-gas-limit/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: sign-update-gas-limit\nsign-update-gas-limit: \n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpdateGaslimit \\\n\t--sig \"sign()\"\n\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(L1_RPC_URL) UpdateGaslimit \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n\n.PHONY: sign-rollback-gas-limit\nsign-rollback-gas-limit: \n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) RollbackGasLimit \\\n\t--sig \"sign()\"\n\n\n.PHONY: execute-rollback\nexecute-rollback:\n\tforge script --rpc-url $(L1_RPC_URL) RollbackGasLimit \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2024-04-01-increase-gas-limit/README.md",
    "content": "# Update Gas Limit in L1 `SystemConfig` \n\nStatus: DONE\n\n## Objective\n\nWe are updating the gas limit to improve TPS and reduce gas fees. \n\nThis runbook implements scripts which allow our signers to sign two different calls for our Incident Multisig: \n1. `UpdateGasLimit` -- This script will update the gas limit to our new limit of 60M gas \n2. `RollbackGasLimit` -- This script establishes a rollback call in the case we need to revert to 45M gas\n\nThe values we are sending are statically defined in the `.env`.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow \n> the flow for both \"Approving the Update transaction\" and \n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed. \n\n## Approving the Update transaction\n\n### 1. Update repo and move to the appropriate folder:\n```\ncd contract-deployments\ngit pull\ncd mainnet/2024-04-01-increase-gas-limit\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n``` shell\nmake sign-update-gas-limit\n```\n\nOnce you run the `make sign...` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark \n\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 14 to 15:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x000000000000000000000000000000000000000000000000000000000000000e\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000000f\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 30M to 45M:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x0000000000000000000000000000000000000000000000000000000002aea540\nAfter: 0x0000000000000000000000000000000000000000000000000000000003938700\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n``` shell\nmake sign-update-gas-limit\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n\n## Approving the Rollback transaction\n\nComplete the above steps for `Approving the Update transaction` before continuing below.\n\n### 1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n``` shell\nmake sign-rollback-gas-limit\n```\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output. Once again paste this URL in your browser and click \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark \n\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000000f\nAfter: 0x00000000000000000000000000000000000000000000000000000000000000010\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x0000000000000000000000000000000000000000000000000000000003938700\nAfter: 0x0000000000000000000000000000000000000000000000000000000002aea540\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n``` shell\nmake sign-rollback-gas-limit\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\n   SIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make execute`\n\n> [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK\n> Repeat the above, but replace the signatures with the signed\n> rollback signatures collected, the call `make execute-rollback`\n"
  },
  {
    "path": "mainnet/2024-04-01-increase-gas-limit/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2024-04-01-increase-gas-limit/records/UpdateGasLimit.sol/1/run-1712005481.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xd50a84ace00e13b5d3c484869ee1cc2403c69b0ac082589b854bedb2596c9b2c\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x89ebc5eb7163470e23fcc24833eea6bb93a7b045\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x2038a\",\n        \"value\": \"0x0\",\n        \"data\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000003938700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3372dd9f632ad25a117889fa38eb484635cfb0d026b2aa4cc493c0d4f7236825a09261c474f18b561b7eb6c92dffb22ed82c0f4640b093f94485677ab27016ef31b403ec77f654983bd0d9cb01bb027aa4b61fcb8c5e19d1c60b48de950510cdca04f310999a189a098457f2e32aa6ec77e8835e23e84cda7ea2ab5f0b1e60ec3431cc6bdb19923f04579c45136a817ad8f1a1d9b328783602060b36527083ce0c4e6312eee1403c9b3ea8225bcb2f187c10ce67747b0c822b769c74435f3a5f9136d1b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x2\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0xd50a84ace00e13b5d3c484869ee1cc2403c69b0ac082589b854bedb2596c9b2c\",\n      \"transactionIndex\": \"0x15\",\n      \"blockHash\": \"0x44588c053fd2f8dba2be1c7ce118ab700b71598a27277ccdc0104c6f48dc7350\",\n      \"blockNumber\": \"0x12a8410\",\n      \"from\": \"0x89EBc5EB7163470e23fCc24833eeA6BB93A7b045\",\n      \"to\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n      \"cumulativeGasUsed\": \"0x31aa50\",\n      \"gasUsed\": \"0x16082\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x73a79Fab69143498Ed3712e519A88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000002\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000003938700\",\n          \"blockHash\": \"0x44588c053fd2f8dba2be1c7ce118ab700b71598a27277ccdc0104c6f48dc7350\",\n          \"blockNumber\": \"0x12a8410\",\n          \"transactionHash\": \"0xd50a84ace00e13b5d3c484869ee1cc2403c69b0ac082589b854bedb2596c9b2c\",\n          \"transactionIndex\": \"0x15\",\n          \"logIndex\": \"0x7a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x2e3d97eaeb3bf5d5826de2c502ca892d2125386d4a95d6241278af773a524c950000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x44588c053fd2f8dba2be1c7ce118ab700b71598a27277ccdc0104c6f48dc7350\",\n          \"blockNumber\": \"0x12a8410\",\n          \"transactionHash\": \"0xd50a84ace00e13b5d3c484869ee1cc2403c69b0ac082589b854bedb2596c9b2c\",\n          \"transactionIndex\": \"0x15\",\n          \"logIndex\": \"0x7b\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0x630862591\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {\n    \"0\": {\n      \"internal_type\": \"bool\",\n      \"value\": \"true\"\n    }\n  },\n  \"timestamp\": 1712005481,\n  \"chain\": 1,\n  \"commit\": \"1d0c763\"\n}"
  },
  {
    "path": "mainnet/2024-04-01-increase-gas-limit/script/RollbackGasLimit.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport {\n    MultisigBuilder,\n    Simulator,\n    IMulticall3,\n    IGnosisSafe,\n    console,\n    Enum\n} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\n\n// This script will be signed ahead of our gas limit increase but isn't expected to be\n// executed. It will be available to us in the event we need to quickly rollback the gas limit.\ncontract RollbackGasLimit is MultisigBuilder {\n    address internal SYSTEM_CONFIG_OWNER = vm.envAddress(\"SYSTEM_CONFIG_OWNER\");\n    address internal L1_SYSTEM_CONFIG = vm.envAddress(\"L1_SYSTEM_CONFIG_ADDRESS\");\n    uint64 internal ROLLBACK_GAS_LIMIT = uint64(vm.envUint(\"ROLLBACK_GAS_LIMIT\"));\n\n    function _postCheck() internal view override {\n        require(SystemConfig(L1_SYSTEM_CONFIG).gasLimit() == ROLLBACK_GAS_LIMIT);\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        calls[0] = IMulticall3.Call3({\n            target: L1_SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(SystemConfig.setGasLimit, (ROLLBACK_GAS_LIMIT))\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return SYSTEM_CONFIG_OWNER;\n    }\n\n    function _getNonce(IGnosisSafe) internal view override returns (uint256 nonce) {\n        nonce = vm.envUint(\"ROLLBACK_NONCE\");\n    }\n\n    function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) {\n        IGnosisSafe safe = IGnosisSafe(payable(_safe));\n        uint256 _nonce = _getNonce(safe);\n        return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce);\n    }\n\n    // We need to expect that the gas limit will have been updated previously in our simulation\n    // Use this override to specifically set the gas limit to the expected update value.\n    function _addGenericOverrides() internal view override returns (SimulationStateOverride memory) {\n        SimulationStorageOverride[] memory _stateOverrides = new SimulationStorageOverride[](1);\n        _stateOverrides[0] = SimulationStorageOverride({\n            key: 0x0000000000000000000000000000000000000000000000000000000000000068, // slot of gas limit\n            value: bytes32(vm.envUint(\"GAS_LIMIT\"))\n        });\n        return SimulationStateOverride({contractAddress: L1_SYSTEM_CONFIG, overrides: _stateOverrides});\n    }\n}\n"
  },
  {
    "path": "mainnet/2024-04-01-increase-gas-limit/script/UpdateGasLimit.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport {\n    MultisigBuilder,\n    IMulticall3,\n    IGnosisSafe,\n    console,\n    Enum\n} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\n\ncontract UpdateGaslimit is MultisigBuilder {\n    address internal SYSTEM_CONFIG_OWNER = vm.envAddress(\"SYSTEM_CONFIG_OWNER\");\n    address internal L1_SYSTEM_CONFIG = vm.envAddress(\"L1_SYSTEM_CONFIG_ADDRESS\");\n    uint64 internal GAS_LIMIT = uint64(vm.envUint(\"GAS_LIMIT\"));\n\n    function _postCheck() internal view override {\n        require(SystemConfig(L1_SYSTEM_CONFIG).gasLimit() == GAS_LIMIT);\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        calls[0] = IMulticall3.Call3({\n            target: L1_SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(SystemConfig.setGasLimit, (GAS_LIMIT))\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return SYSTEM_CONFIG_OWNER;\n    }\n\n    function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) {\n        IGnosisSafe safe = IGnosisSafe(payable(_safe));\n        uint256 _nonce = _getNonce(safe);\n        return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce);\n    }\n}\n"
  },
  {
    "path": "mainnet/2024-04-12-deployERC20Factory/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n##\n# Deploy command\n##\n.PHONY: deploy\ndeploy:\n\tforge script RunERC20FactoryDeploy --rpc-url $(L2_RPC_URL) --broadcast\n\n.PHONY: verify\nverify:\n\tforge verify-contract 0x6922ac4dbdfedea3a1e5535f12c3171f2b964c91 OptimismMintableERC20Factory \\\n\t--watch --chain-id 8453 \\\n\t--num-of-optimizations=99999 --retries=1 \\\n\t--verifier-url \thttps://api.basescan.org/api "
  },
  {
    "path": "mainnet/2024-04-12-deployERC20Factory/deployed/addresses.json",
    "content": "{}\n"
  },
  {
    "path": "mainnet/2024-04-12-deployERC20Factory/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\n\n# note 'src/universal=lib/optimism/packages/contracts-bedrock/src/universal' is needed\n# for relative paths in optimism repo to work\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n    'src/universal=lib/optimism/packages/contracts-bedrock/src/universal' \n]\n\n"
  },
  {
    "path": "mainnet/2024-04-12-deployERC20Factory/records/RunERC20FactoryDeploy.s.sol/8453/run-1713280196.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xc46a22b5db8660781f89f3223d16e0551e867f68ecd3cebc649bc326fe7bf0ed\",\n      \"transactionType\": \"CREATE2\",\n      \"contractName\": \"OptimismMintableERC20Factory\",\n      \"contractAddress\": \"0x6922ac4dbdfedea3a1e5535f12c3171f2b964c91\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"from\": \"0xfd896bf5eba7e1b9843b91ef6182de16b547273b\",\n        \"to\": \"0x4e59b44847b379578588920ca78fbf26c0b4956c\",\n        \"gas\": \"0x2760bd\",\n        \"value\": \"0x0\",\n        \"input\": \"0x3078424135454400000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b5061001b6000610020565b610169565b600054610100900460ff16158080156100405750600054600160ff909116105b8061006b57506100593061015a60201b61059d1760201c565b15801561006b575060005460ff166001145b6100d25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff1916600117905580156100f5576000805461ff0019166101001790555b600180546001600160a01b0319166001600160a01b0384161790558015610156576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6001600160a01b03163b151590565b61207e806101786000396000f3fe60806040523480156200001157600080fd5b5060043610620000875760003560e01c8063c4d66de81162000062578063c4d66de81462000135578063ce5ac90f146200014e578063e78cea921462000165578063ee9a31a2146200018657600080fd5b806354fd4d50146200008c578063896f93d114620000e15780638cf0629c146200011e575b600080fd5b620000c96040518060400160405280600581526020017f312e392e3000000000000000000000000000000000000000000000000000000081525081565b604051620000d8919062000635565b60405180910390f35b620000f8620000f23660046200075d565b620001a5565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001620000d8565b620000f86200012f366004620007da565b620001bc565b6200014c6200014636600462000871565b620003ba565b005b620000f86200015f3660046200075d565b6200058c565b600154620000f89073ffffffffffffffffffffffffffffffffffffffff1681565b60015473ffffffffffffffffffffffffffffffffffffffff16620000f8565b6000620001b48484846200058c565b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff851662000267576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f4f7074696d69736d4d696e7461626c654552433230466163746f72793a206d7560448201527f73742070726f766964652072656d6f746520746f6b656e20616464726573730060648201526084015b60405180910390fd5b6000858585856040516020016200028294939291906200088f565b604051602081830303815290604052805190602001209050600081600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1688888888604051620002d290620005b9565b620002e2959493929190620008e9565b8190604051809103906000f590508015801562000303573d6000803e3d6000fd5b5090508073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fceeb8e7d520d7f3b65fc11a262b91066940193b05d4f93df07cfdced0eb551cf60405160405180910390a360405133815273ffffffffffffffffffffffffffffffffffffffff80891691908316907f52fe89dd5930f343d25650b62fd367bae47088bcddffd2a88350a6ecdd620cdb9060200160405180910390a39695505050505050565b600054610100900460ff1615808015620003db5750600054600160ff909116105b80620003f75750303b158015620003f7575060005460ff166001145b62000485576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016200025e565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015620004e457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841617905580156200058857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6000620001b48484846012620001bc565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b6116fa806200094f83390190565b6000815180845260005b81811015620005ef57602081850181015186830182015201620005d1565b8181111562000602576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006200064a6020830184620005c7565b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146200067657600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112620006bc57600080fd5b813567ffffffffffffffff80821115620006da57620006da6200067b565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156200072357620007236200067b565b816040528381528660208588010111156200073d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156200077357600080fd5b6200077e8462000651565b9250602084013567ffffffffffffffff808211156200079c57600080fd5b620007aa87838801620006aa565b93506040860135915080821115620007c157600080fd5b50620007d086828701620006aa565b9150509250925092565b60008060008060808587031215620007f157600080fd5b620007fc8562000651565b9350602085013567ffffffffffffffff808211156200081a57600080fd5b6200082888838901620006aa565b945060408701359150808211156200083f57600080fd5b506200084e87828801620006aa565b925050606085013560ff811681146200086657600080fd5b939692955090935050565b6000602082840312156200088457600080fd5b6200064a8262000651565b73ffffffffffffffffffffffffffffffffffffffff85168152608060208201526000620008c06080830186620005c7565b8281036040840152620008d48186620005c7565b91505060ff8316606083015295945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a060408301526200092460a0830186620005c7565b8281036060840152620009388186620005c7565b91505060ff83166080830152969550505050505056fe60e06040523480156200001157600080fd5b50604051620016fa380380620016fa833981016040819052620000349162000163565b828260036200004483826200029e565b5060046200005382826200029e565b5050506001600160a01b039384166080529390921660a052505060ff1660c0526200036a565b80516001600160a01b03811681146200009157600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620000be57600080fd5b81516001600160401b0380821115620000db57620000db62000096565b604051601f8301601f19908116603f0116810190828211818310171562000106576200010662000096565b816040528381526020925086838588010111156200012357600080fd5b600091505b8382101562000147578582018301518183018401529082019062000128565b83821115620001595760008385830101525b9695505050505050565b600080600080600060a086880312156200017c57600080fd5b620001878662000079565b9450620001976020870162000079565b60408701519094506001600160401b0380821115620001b557600080fd5b620001c389838a01620000ac565b94506060880151915080821115620001da57600080fd5b50620001e988828901620000ac565b925050608086015160ff811681146200020157600080fd5b809150509295509295909350565b600181811c908216806200022457607f821691505b6020821081036200024557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200029957600081815260208120601f850160051c81016020861015620002745750805b601f850160051c820191505b81811015620002955782815560010162000280565b5050505b505050565b81516001600160401b03811115620002ba57620002ba62000096565b620002d281620002cb84546200020f565b846200024b565b602080601f8311600181146200030a5760008415620002f15750858301515b600019600386901b1c1916600185901b17855562000295565b600085815260208120601f198616915b828110156200033b578886015182559484019460019091019084016200031a565b50858210156200035a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c051611344620003b6600039600061024401526000818161034b015281816103e001528181610625015261075c0152600081816101a9015261037101526113446000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c806370a08231116100d8578063ae1f6aaf1161008c578063dd62ed3e11610066578063dd62ed3e14610395578063e78cea9214610349578063ee9a31a2146103db57600080fd5b8063ae1f6aaf14610349578063c01e1bd61461036f578063d6c0b2c41461036f57600080fd5b80639dc29fac116100bd5780639dc29fac14610310578063a457c2d714610323578063a9059cbb1461033657600080fd5b806370a08231146102d257806395d89b411461030857600080fd5b806323b872dd1161012f5780633950935111610114578063395093511461026e57806340c10f191461028157806354fd4d501461029657600080fd5b806323b872dd1461022a578063313ce5671461023d57600080fd5b806306fdde031161016057806306fdde03146101f0578063095ea7b31461020557806318160ddd1461021857600080fd5b806301ffc9a71461017c578063033964be146101a4575b600080fd5b61018f61018a3660046110e3565b610402565b60405190151581526020015b60405180910390f35b6101cb7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019b565b6101f86104f3565b60405161019b919061112c565b61018f6102133660046111c8565b610585565b6002545b60405190815260200161019b565b61018f6102383660046111f2565b61059d565b60405160ff7f000000000000000000000000000000000000000000000000000000000000000016815260200161019b565b61018f61027c3660046111c8565b6105c1565b61029461028f3660046111c8565b61060d565b005b6101f86040518060400160405280600581526020017f312e332e3000000000000000000000000000000000000000000000000000000081525081565b61021c6102e036600461122e565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6101f8610735565b61029461031e3660046111c8565b610744565b61018f6103313660046111c8565b61085b565b61018f6103443660046111c8565b61092c565b7f00000000000000000000000000000000000000000000000000000000000000006101cb565b7f00000000000000000000000000000000000000000000000000000000000000006101cb565b61021c6103a3366004611249565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6101cb7f000000000000000000000000000000000000000000000000000000000000000081565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007f1d1d8b63000000000000000000000000000000000000000000000000000000007fec4fc8e3000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000085168314806104bb57507fffffffff00000000000000000000000000000000000000000000000000000000858116908316145b806104ea57507fffffffff00000000000000000000000000000000000000000000000000000000858116908216145b95945050505050565b6060600380546105029061127c565b80601f016020809104026020016040519081016040528092919081815260200182805461052e9061127c565b801561057b5780601f106105505761010080835404028352916020019161057b565b820191906000526020600020905b81548152906001019060200180831161055e57829003601f168201915b5050505050905090565b60003361059381858561093a565b5060019392505050565b6000336105ab858285610aee565b6105b6858585610bc5565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919061059390829086906106089087906112cf565b61093a565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146106d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603460248201527f4f7074696d69736d4d696e7461626c6545524332303a206f6e6c79206272696460448201527f67652063616e206d696e7420616e64206275726e00000000000000000000000060648201526084015b60405180910390fd5b6106e18282610e34565b8173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858260405161072991815260200190565b60405180910390a25050565b6060600480546105029061127c565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610809576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603460248201527f4f7074696d69736d4d696e7461626c6545524332303a206f6e6c79206272696460448201527f67652063616e206d696e7420616e64206275726e00000000000000000000000060648201526084016106ce565b6108138282610f27565b8173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405161072991815260200190565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091908381101561091f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016106ce565b6105b6828686840361093a565b600033610593818585610bc5565b73ffffffffffffffffffffffffffffffffffffffff83166109dc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff8216610a7f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610bbf5781811015610bb2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016106ce565b610bbf848484840361093a565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610c68576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff8216610d0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610dc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610bbf565b73ffffffffffffffffffffffffffffffffffffffff8216610eb1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016106ce565b8060026000828254610ec391906112cf565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8216610fca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015611080576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610ae1565b6000602082840312156110f557600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461112557600080fd5b9392505050565b600060208083528351808285015260005b818110156111595785810183015185820160400152820161113d565b8181111561116b576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146111c357600080fd5b919050565b600080604083850312156111db57600080fd5b6111e48361119f565b946020939093013593505050565b60008060006060848603121561120757600080fd5b6112108461119f565b925061121e6020850161119f565b9150604084013590509250925092565b60006020828403121561124057600080fd5b6111258261119f565b6000806040838503121561125c57600080fd5b6112658361119f565b91506112736020840161119f565b90509250929050565b600181811c9082168061129057607f821691505b6020821081036112c9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60008219821115611309577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b50019056fea26469706673582212209d6a73773a8b3ada7d4c6d75345f8313289c1253717e855c8b5987154ecfb2b164736f6c634300080f0033a2646970667358221220140bcd35f9aa69e12e198b590f3b728d5d198f14c15ca76f3877f10a18200c9464736f6c634300080f0033\",\n        \"nonce\": \"0x31\",\n        \"chainId\": \"0x2105\",\n        \"accessList\": null,\n        \"type\": null\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x854d7e\",\n      \"logs\": [\n        {\n          \"address\": \"0x6922ac4dbdfedea3a1e5535f12c3171f2b964c91\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0x42ee015799214a896ed6fc147c7313d98de0ec1b5a90f14cf9c4a4cdd2754a99\",\n          \"blockNumber\": \"0xca1beb\",\n          \"transactionHash\": \"0xc46a22b5db8660781f89f3223d16e0551e867f68ecd3cebc649bc326fe7bf0ed\",\n          \"transactionIndex\": \"0x39\",\n          \"logIndex\": \"0xab\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000080000000000004000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xc46a22b5db8660781f89f3223d16e0551e867f68ecd3cebc649bc326fe7bf0ed\",\n      \"transactionIndex\": \"0x39\",\n      \"blockHash\": \"0x42ee015799214a896ed6fc147c7313d98de0ec1b5a90f14cf9c4a4cdd2754a99\",\n      \"blockNumber\": \"0xca1beb\",\n      \"gasUsed\": \"0x1c8466\",\n      \"effectiveGasPrice\": \"0x8b60278\",\n      \"from\": \"0xfd896bf5eba7e1b9843b91ef6182de16b547273b\",\n      \"to\": \"0x4e59b44847b379578588920ca78fbf26c0b4956c\",\n      \"contractAddress\": \"0x6922ac4dbdfedea3a1e5535f12c3171f2b964c91\",\n      \"l1Fee\": \"0x1f74decdd95\",\n      \"l1GasPrice\": \"0x3be925d23\",\n      \"l1GasUsed\": \"0x1dce4\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1713280196,\n  \"chain\": 8453,\n  \"commit\": \"19ee800\"\n}"
  },
  {
    "path": "mainnet/2024-04-12-deployERC20Factory/script/RunERC20FactoryDeploy.s.sol",
    "content": "\n// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"forge-std/Script.sol\";\nimport {OptimismMintableERC20Factory} from \"@eth-optimism-bedrock/src/universal/OptimismMintableERC20Factory.sol\";\n\ncontract RunERC20FactoryDeploy is Script {\n    function run() public {\n        uint256 deployerPrivateKey = vm.envUint(\"PRIVATE_KEY\");\n        vm.startBroadcast(deployerPrivateKey);\n        new OptimismMintableERC20Factory{salt: '0xBA5ED'}();\n    }\n}"
  },
  {
    "path": "mainnet/2024-04-15-redeploy-smart-escrow/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n.PHONY: deploy-new-implementation\ndeploy-new-implementation:\n\tforge script --rpc-url $(OPTIMISM_RPC_URL) DeploySmartEscrow --ledger --hd-paths \"m/44'/60'/0'/0/0\" --broadcast\n\n.PHONY: verify-implementation\nverify-implementation:\n\tforge verify-contract ${DEPLOYED_CONTRACT} SmartEscrow \\\n\t--constructor-args $(shell cast abi-encode \"constructor(address,address,address,address,address,uint256,uint256,uint256,uint256,uint256)\" ${BENEFACTOR} ${BENEFICIARY} ${BENEFACTOR_OWNER} ${BENEFICIARY_OWNER} ${NESTED_SAFE} ${START} ${END} ${VESTING_PERIOD_SECONDS} ${INITIAL_TOKENS} ${VESTING_EVENT_TOKENS}) \\\n\t--watch --chain-id $(OPTIMISM_CHAIN_ID) \\\n\t--compiler-version v0.8.15+commit.e14f2714 --num-of-optimizations=99999 --retries=1 \\\n\t--verifier-url https://api-optimistic.etherscan.io/api"
  },
  {
    "path": "mainnet/2024-04-15-redeploy-smart-escrow/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2024-04-15-redeploy-smart-escrow/records/DeploySmartEscrow.s.sol/10/run-1713902413.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x64cc5975e6cb70883d8510243c7d5a1d32e61c2fdab221b5b7e8c9b814dbd3ca\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"SmartEscrow\",\n      \"contractAddress\": \"0x1a984E693F8A9C38f3AE1f1aF14b677ac245deAD\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0\",\n        \"0x635Fb974F09B269Bc750bF96338c29cF41430125\",\n        \"0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0\",\n        \"0x6e1DFd5C1E22A4677663A81D24C6BA03561ef0f6\",\n        \"0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940\",\n        \"1724976000\",\n        \"1882764000\",\n        \"7889400\",\n        \"17895697000000000000000000\",\n        \"4473924000000000000000000\"\n      ],\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x89ebc5eb7163470e23fcc24833eea6bb93a7b045\",\n        \"gas\": \"0x38dcc7\",\n        \"value\": \"0x0\",\n        \"data\": \"0x61012034620004c857601f620034da38819003918201601f1916830191906001600160401b03831184841017620004cd57816101409285926040958652833981010312620004c8576200005282620004e3565b9060209262000063848201620004e3565b9362000071838301620004e3565b916200008060608201620004e3565b926200008f60808301620004e3565b9160a081015160c082015160e083015191610100996101208b8601519501519b60018060a01b038098169182156200048457600180546001600160d01b0316610d2f60d71b179055600254928984166200042b578a98979695949392918d828c9360018060a01b03198097161760025560009d8e808052808252838120838252825260ff848220541615620003ef575b505050501680158015620003e4575b8015620003d9575b8015620003ce575b620003bd574284106200039f57848410156200038257851562000371578e156200036057856200016f8587620004f8565b10620003485785620001828587620004f8565b0662000323579189620002529d9e9f96949262000206999896948360035416176003551690600454161760045560805260a05260c05260e05289527f4764e59f4e0dd9ec7df76c5cd0edc4bc07903bf235ab0e0030cc6b7e6e52f27480865285845288862085831690818852855260ff8a8820541615620002e9575b50506200051a565b7fa5863d4faed73f441831bf2b55550cdbfecb5080dad2352ec834a2baf15aabdc9081845283815286842092851692838552815260ff878520541615620002ae575b505050506200051a565b51612efd9182620005bd833960805182818161087c0152612508015260a0518281816102580152612538015260c051828181610b860152612606015260e051828181610ff60152612682015251818181610c38015261262f0152f35b8184528381528684209083855252858320600160ff19825416179055600080516020620034ba83398151915233938751a43880808062000248565b8187528685528987208188528552898720600160ff198254161790553391600080516020620034ba833981519152888c51a43880620001fe565b5050506064935089519263dd76dcd560e01b8452600484015260248301526044820152fd5b8c51630bfa645d60e21b815260048101879052602490fd5b8c51630ea157a960e21b8152600490fd5b8c5163931ef49360e01b8152600490fd5b604484868f519163593d712f60e01b835260048301526024820152fd5b8c51632d6d2e3f60e21b815260048101859052426024820152604490fd5b8c5163ac0b3e2160e01b8152600490fd5b50898816156200013e565b50898c161562000136565b50898216156200012e565b808492818052528d828220908483525220600160ff198254161790558d600080516020620034ba83398151915281339451a48d388b8e6200011f565b8c5162461bcd60e51b8152600481018c9052602c60248201527f416363657373436f6e74726f6c3a2064656661756c742061646d696e20616c7260448201526b1958591e4819dc985b9d195960a21b6064820152608490fd5b8b5162461bcd60e51b8152600481018b9052601e60248201527f416363657373436f6e74726f6c3a20302064656661756c742061646d696e00006044820152606490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b0382168203620004c857565b81811062000504570390565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b031660008181527fa098a4b72d8f48fdff6ff26aa11ea7d7e669b41df6dc2ae0b4aeabe0ff9a4eb160205260408120549091907f34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb729060ff16156200058457505050565b808352826020526040832082845260205260408320600160ff19825416179055600080516020620034ba8339815191523393604051a456fe608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a7146121a957508163022d63fb1461216d578163046f7da2146120b45781630aa6220b14611fca5781630aaffd2a14611d8e5781630c08bf8814611b545781631a2c2a2b14611b125781631bfce85314611ad4578163224d7e5914611a87578163248a9ca314611a3f5781632806e3d6146118635781632a7117521461180a5781632f2ff15d1461168f57816336568abe1461146a57816338af3eed1461141857816350ad25551461101957816350bfeadc14610fc0578163634e93da14610e93578163649a5ec714610c5b578163677caf8114610c025781636efd06c114610ba95781637313ee5a14610b505781637ca4010114610af757816384ef8ffc14610a1957816386d1a69f14610abf5781638a81694c14610a6c5781638da5cb5b14610a1957816391d14854146109a9578163961325211461096c578163a1eda53c146108d8578163a217fddf1461089f578163be9a655514610846578163cc8463c8146107fc578163cefc142914610469578163cf6eefb714610402578163d547741f1461031657508063d602b9fd1461027b578063efbe1c1c146102235763fbccedae146101d257600080fd5b3461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f5760209061021861020f42612506565b600554906124fb565b9051908152f35b5080fd5b503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f576102b26126d5565b600180547fffffffffffff0000000000000000000000000000000000000000000000000000811690915560a01c65ffffffffffff166102ee5751f35b7f8886ebfc4259abdbc16601dd8fb5678e54878f47b3c34836cfc51154a9605109828251a151f35b9050346103fe57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe5780356103506122c0565b91811561037b57509081610378928552846020526103736001858720015461297f565b612b16565b51f35b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603760248201527f416363657373436f6e74726f6c3a2063616e2774206469726563746c7920726560448201527f766f6b652064656661756c742061646d696e20726f6c650000000000000000006064820152fd5b8280fd5b82843461046657807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104665750600154815173ffffffffffffffffffffffffffffffffffffffff8216815260a09190911c65ffffffffffff166020820152f35b80fd5b9050346103fe57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe5760015473ffffffffffffffffffffffffffffffffffffffff9190821633036107795760015473ffffffffffffffffffffffffffffffffffffffff8116919060a01c65ffffffffffff16801515908161076f575b50156106ec5760025492808416927fffffffffffffffffffffffff0000000000000000000000000000000000000000809516600255868052602093878552868820818952855260ff8789205416610687575b50600254928284166106055750169283911617600255838052838152828420828552815260ff83852054161561059c575b50507fffffffffffff00000000000000000000000000000000000000000000000000006001541660015551f35b838052838152828420908285525281832060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008254161790553390837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d818551a4388061056f565b608490858851917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602c60248201527f416363657373436f6e74726f6c3a2064656661756c742061646d696e20616c7260448201527f65616479206772616e74656400000000000000000000000000000000000000006064820152fd5b87805287855286882081895285528688207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541690553390887ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b818a51a43861053e565b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602860248201527f416363657373436f6e74726f6c3a207472616e736665722064656c6179206e6f60448201527f74207061737365640000000000000000000000000000000000000000000000006064820152fd5b90504211386104ec565b60849060208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602860248201527f416363657373436f6e74726f6c3a2070656e64696e672061646d696e206d757360448201527f74206163636570740000000000000000000000000000000000000000000000006064820152fd5b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f5760209065ffffffffffff61083e612c16565b915191168152f35b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f5751908152602090f35b82843461046657807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610466576002548060d01c9182151580610962575b15610954575065ffffffffffff6109509160a01c1691925b5165ffffffffffff928316815292909116602083015281906040820190565b0390f35b928392506109509150610931565b5042831015610919565b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f576020906005549051908152f35b9050346103fe57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe578160209360ff926109e86122c0565b9035825281865273ffffffffffffffffffffffffffffffffffffffff83832091168252855220541690519015158152f35b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f5760209073ffffffffffffffffffffffffffffffffffffffff600254169051908152f35b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f5760209073ffffffffffffffffffffffffffffffffffffffff600354169051908152f35b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f576103786123c2565b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57602090517f4764e59f4e0dd9ec7df76c5cd0edc4bc07903bf235ab0e0030cc6b7e6e52f2748152f35b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57602090517fa5863d4faed73f441831bf2b55550cdbfecb5080dad2352ec834a2baf15aabdc8152f35b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b83833461021f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57823565ffffffffffff93848216808303610e8f57610ca86126d5565b610cb142612e30565b9186610cbb612c16565b1680831115610e27575094959394507ff1038c18cf84a56e432fdbfaf746924b7ea511dfe03a6506a0ceba4888788d9b93610d0692916206978080821015610e2057505b1690612c4f565b906002548060d01c80610d9c575b50506002805473ffffffffffffffffffffffffffffffffffffffff1660a083901b79ffffffffffff0000000000000000000000000000000000000000161760d084901b7fffffffffffff000000000000000000000000000000000000000000000000000016179055835165ffffffffffff91821681529116602082015280604081010390a151f35b421115610df55779ffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff00000000000000000000000000000000000000000000000000006001549260301b169116176001555b8580610d14565b507f2b1fa2edafe6f7b9e97c1a9e0c3660e645beb2dcaa2d45bdbf9beaf5472e1ec5858551a1610dee565b9050610cff565b909650818110610e63577ff1038c18cf84a56e432fdbfaf746924b7ea511dfe03a6506a0ceba4888788d9b9495965090610d0692910390612c4f565b6024866011897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8480fd5b50503461021f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57610ecc612298565b610ed46126d5565b7f3377dc44241e779dd06afab5b788a35ca5f3b778836e2990bdb26a2a4b2e5ed66020610f11610f0342612e30565b610f0b612c16565b90612c4f565b600180547fffffffffffff0000000000000000000000000000000000000000000000000000811673ffffffffffffffffffffffffffffffffffffffff9690961695861760a084811b79ffffffffffff0000000000000000000000000000000000000000169190911790925565ffffffffffff911c8116610f96575b855191168152a251f35b7f8886ebfc4259abdbc16601dd8fb5678e54878f47b3c34836cfc51154a9605109878751a1610f8c565b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b9050346103fe576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261141457611053612298565b907f4764e59f4e0dd9ec7df76c5cd0edc4bc07903bf235ab0e0030cc6b7e6e52f274808652858252848620338752825260ff85872054161561114257505073ffffffffffffffffffffffffffffffffffffffff80911691821561111b5750600354908116908282036110c6575b50505051f35b7fffffffffffffffffffffffff0000000000000000000000000000000000000000839116176003557fd487b35f979307e581e6e2d4b6aa87dbddf2f124cef02b50e3792f4c31c76c7a848451a33880806110c0565b83517fac0b3e21000000000000000000000000000000000000000000000000000000008152fd5b8484918761114f33612caa565b9183519061115c826122e3565b604282528682019260603685378251156113e857603084538251906001918210156113bc5790607860218501536041915b8183116112f457505050611299576112906112458561125460487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097601f978c9760449c9b519687936112108b86019b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008d528251928391603789019101612ae1565b8401917f206973206d697373696e6720726f6c6520000000000000000000000000000000603784015251809386840190612ae1565b0103602881018552018361232e565b519788967f08c379a000000000000000000000000000000000000000000000000000000000885287015251809281602488015287870190612ae1565b01168101030190fd5b60648587808751927f08c379a000000000000000000000000000000000000000000000000000000000845283015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015611390577f3031323334353637383961626364656600000000000000000000000000000000901a6113318587612c6a565b53881c928015611364577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01919061118d565b60248260118b7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60248360328c7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b806032897f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b806032887f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b8380fd5b82843461046657807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610466575073ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b9050346103fe57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe5780356114a46122c0565b9181158061166b575b61155d575b3373ffffffffffffffffffffffffffffffffffffffff8416036114da57509061037891612b16565b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c6600000000000000000000000000000000006064820152fd5b60015473ffffffffffffffffffffffffffffffffffffffff8116159060a01c65ffffffffffff1681611659575b81611646575b50156115c3577fffffffffffff000000000000ffffffffffffffffffffffffffffffffffffffff600154166001556114b2565b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603560248201527f416363657373436f6e74726f6c3a206f6e6c792063616e2072656e6f756e636560448201527f20696e2074776f2064656c6179656420737465707300000000000000000000006064820152fd5b905065ffffffffffff4291161038611590565b65ffffffffffff81161515915061158a565b5073ffffffffffffffffffffffffffffffffffffffff8060025416908416146114ad565b9050346103fe57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe578035906116ca6122c0565b9082156117875750818452836020526116e86001848620015461297f565b8184528360205273ffffffffffffffffffffffffffffffffffffffff83852091169081855260205260ff83852054161561172157505051f35b8184528360205282842081855260205282842060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d858551a451f35b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603660248201527f416363657373436f6e74726f6c3a2063616e2774206469726563746c7920677260448201527f616e742064656661756c742061646d696e20726f6c65000000000000000000006064820152fd5b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57602090517f34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb728152f35b9050346103fe57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe5761189b6126d5565b60ff6006541615611a18578151907f70a0823100000000000000000000000000000000000000000000000000000000825230818301526020734200000000000000000000000000000000000042918184602481865afa9384156119db5786946119e5575b508361190a57858551f35b60035485517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216928101928352602083018690529390918391859182908a90829060400103925af19283156119db577f6352c5382c4a4578e712449ca65e83cdb392d045dfcf1cad9615189db2da244b936119ae575b5060035416928451908152a238808080858551f35b6119cd90833d85116119d4575b6119c5818361232e565b81019061236f565b5038611999565b503d6119bb565b85513d88823e3d90fd5b9093508181813d8311611a11575b6119fd818361232e565b81010312611a0d575192386118ff565b8580fd5b503d6119f3565b90517ff54eef56000000000000000000000000000000000000000000000000000000008152fd5b9050346103fe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe57816020936001923581528085522001549051908152f35b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57602090517342000000000000000000000000000000000000428152f35b8284346104665760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610466575061021860209235612506565b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f5760209060ff6006541690519015158152f35b9050346103fe57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe577f34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb72808452602090848252838520338652825260ff848620541615611c5057505060ff60065416611c295750611bd76123c2565b60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006006541617600655517f6d0d90585834980bd0e5603341ff50b06349c11e0bf9241d03f6d065f12a262b8282a1f35b90517f07c63c5a000000000000000000000000000000000000000000000000000000008152fd5b84611c5d94929433612caa565b91835190611c6a826122e3565b604282528682019260603685378251156113e857603084538251906001918210156113bc5790607860218501536041915b818311611d1e57505050611299576112906112458561125460487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097601f978c9760449c9b519687936112108b86019b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008d528251928391603789019101612ae1565b909192600f81166010811015611390577f3031323334353637383961626364656600000000000000000000000000000000901a611d5b8587612c6a565b53881c928015611364577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019190611c9b565b9050346103fe576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261141457611dc8612298565b907fa5863d4faed73f441831bf2b55550cdbfecb5080dad2352ec834a2baf15aabdc808652858252848620338752825260ff858720541615611e8c57505073ffffffffffffffffffffffffffffffffffffffff80911691821561111b57805491821691838303611e3757858551f35b7fffffffffffffffffffffffff00000000000000000000000000000000000000008491161790557fe72eaf6addaa195f3c83095031dd08f3a96808dcf047babed1fe4e4f69d6c622848451a338808080858551f35b84849187611e9933612caa565b91835190611ea6826122e3565b604282528682019260603685378251156113e857603084538251906001918210156113bc5790607860218501536041915b818311611f5a57505050611299576112906112458561125460487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097601f978c9760449c9b519687936112108b86019b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008d528251928391603789019101612ae1565b909192600f81166010811015611390577f3031323334353637383961626364656600000000000000000000000000000000901a611f978587612c6a565b53881c928015611364577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019190611ed7565b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f576120026126d5565b6002548060d01c80612030575b505073ffffffffffffffffffffffffffffffffffffffff6002541660025551f35b4211156120895779ffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff00000000000000000000000000000000000000000000000000006001549260301b169116176001555b388061200f565b507f2b1fa2edafe6f7b9e97c1a9e0c3660e645beb2dcaa2d45bdbf9beaf5472e1ec5828251a1612082565b9050346103fe57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe576120ec6126d5565b6006549060ff82161561214657507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600655517fab5f6dacf93a267a93a533de8a56370de8341bbd8102017307e7be375c3dda6a8282a1f35b82517ff54eef56000000000000000000000000000000000000000000000000000000008152fd5b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f5760209051620697808152f35b8491346103fe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe57357fffffffff0000000000000000000000000000000000000000000000000000000081168091036103fe57602092507f3149878600000000000000000000000000000000000000000000000000000000811490811561223b575b5015158152f35b7f7965db0b0000000000000000000000000000000000000000000000000000000081149150811561226e575b5083612234565b7f01ffc9a70000000000000000000000000000000000000000000000000000000091501483612267565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036122bb57565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff821682036122bb57565b6080810190811067ffffffffffffffff8211176122ff57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176122ff57604052565b908160209103126122bb575180151581036122bb5790565b81198111612393570190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60ff600654166124d1576123d542612506565b6123e260055480926124fb565b90816123ec575050565b816123f691612387565b600555600480546040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216928101929092526024820183905260208260448160007342000000000000000000000000000000000000425af19081156124c5577fc7798891864187665ac6dd119286e44ec13f014527aeeb2b8eb3fd413df93179926020926124a8575b506004541692604051908152a2565b6124be90833d81116119d4576119c5818361232e565b5038612499565b6040513d6000823e3d90fd5b60046040517f07c63c5a000000000000000000000000000000000000000000000000000000008152fd5b818110612393570390565b7f000000000000000000000000000000000000000000000000000000000000000080821015612536575050600090565b7f00000000000000000000000000000000000000000000000000000000000000008211156125fb5750506040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526020816024817342000000000000000000000000000000000000425afa80156124c5576000906125c8575b6125c5915060055490612387565b90565b6020823d82116125f3575b816125e06020938361232e565b8101031261046657506125c590516125b7565b3d91506125d3565b612604916124fb565b7f00000000000000000000000000000000000000000000000000000000000000009081156126a657047f0000000000000000000000000000000000000000000000000000000000000000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04811182151516612393576125c591027f0000000000000000000000000000000000000000000000000000000000000000612387565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b3360009081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602090815260408083205460ff161561271457505050565b61271d33612caa565b908381519061272b826122e3565b6042825284820195606036883782511561295257603087538251906001918210156129525790607860218501536041915b8183116128875750505061282b5760449392611290836127ed6048601f957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097519a8b916127de8b8401987f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008a526112108d8251928391603789019101612ae1565b0103602881018b52018961232e565b519687957f08c379a0000000000000000000000000000000000000000000000000000000008752600487015251809281602488015287870190612ae1565b6064848351907f08c379a000000000000000000000000000000000000000000000000000000000825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015612925577f3031323334353637383961626364656600000000000000000000000000000000901a6128c48587612c6a565b5360041c9280156128f8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01919061275c565b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526032600452fd5b6000908082526020908282526040808420338552835260ff8185205416156129a75750505050565b6129b033612caa565b918151906129bd826122e3565b6042825284820195606036883782511561295257603087538251906001918210156129525790607860218501536041915b818311612a705750505061282b5760449392611290836127ed6048601f957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097519a8b916127de8b8401987f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008a526112108d8251928391603789019101612ae1565b909192600f81166010811015612925577f3031323334353637383961626364656600000000000000000000000000000000901a612aad8587612c6a565b5360041c9280156128f8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0191906129ee565b918091926000905b828210612b01575011612afa575050565b6000910152565b91508060209183015181860152018291612ae9565b90811580612bf2575b612bc5575b6000918083528260205273ffffffffffffffffffffffffffffffffffffffff6040842092169182845260205260ff604084205416612b6157505050565b8083528260205260408320828452602052604083207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b3393604051a4565b7fffffffffffffffffffffffff000000000000000000000000000000000000000060025416600255612b24565b5073ffffffffffffffffffffffffffffffffffffffff806002541690821614612b1f565b6002548060d01c8015159081612c45575b5015612c3b5760a01c65ffffffffffff1690565b5060015460d01c90565b9050421138612c27565b9065ffffffffffff8080931691168092038111612393570190565b908151811015612c7b570160200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b604051906060820182811067ffffffffffffffff8211176122ff57604052602a8252602082016040368237825115612c7b57603090538151600190811015612c7b57607860218401536029905b808211612d65575050612d075790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f81166010811015612e02577f3031323334353637383961626364656600000000000000000000000000000000901a612da18486612c6a565b5360041c918015612dd4577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190612cf7565b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b65ffffffffffff90818111612e43571690565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201527f38206269747300000000000000000000000000000000000000000000000000006064820152fdfea26469706673582212201537e6be9e662cd495a74e478ad4873452a17d2942e39032dc044a52923bcb2a64736f6c634300080f00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d0000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f0000000000000000000000000635fb974f09b269bc750bf96338c29cf414301250000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f00000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f60000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec709400000000000000000000000000000000000000000000000000000000066d10b80000000000000000000000000000000000000000000000000000000007038b2e000000000000000000000000000000000000000000000000000000000007861f80000000000000000000000000000000000000000000ecd8fada391afc1a4000000000000000000000000000000000000000000000003b363e7f0b6bf06900000\",\n        \"nonce\": \"0x0\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0x64cc5975e6cb70883d8510243c7d5a1d32e61c2fdab221b5b7e8c9b814dbd3ca\",\n      \"transactionIndex\": \"0x1\",\n      \"blockHash\": \"0x51bb6c8812ecd400505e4946faa0e71a7f2ba730b27c7c85d244d0e36cfb8b3e\",\n      \"blockNumber\": \"0x71a1cc8\",\n      \"from\": \"0x89EBc5EB7163470e23fCc24833eeA6BB93A7b045\",\n      \"to\": null,\n      \"cumulativeGasUsed\": \"0x2c6c33\",\n      \"gasUsed\": \"0x2bc0e8\",\n      \"contractAddress\": \"0x1a984E693F8A9C38f3AE1f1aF14b677ac245deAD\",\n      \"logs\": [\n        {\n          \"address\": \"0x1a984E693F8A9C38f3AE1f1aF14b677ac245deAD\",\n          \"topics\": [\n            \"0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec70940\",\n            \"0x00000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x51bb6c8812ecd400505e4946faa0e71a7f2ba730b27c7c85d244d0e36cfb8b3e\",\n          \"blockNumber\": \"0x71a1cc8\",\n          \"transactionHash\": \"0x64cc5975e6cb70883d8510243c7d5a1d32e61c2fdab221b5b7e8c9b814dbd3ca\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x1a984E693F8A9C38f3AE1f1aF14b677ac245deAD\",\n          \"topics\": [\n            \"0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d\",\n            \"0x4764e59f4e0dd9ec7df76c5cd0edc4bc07903bf235ab0e0030cc6b7e6e52f274\",\n            \"0x0000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f0\",\n            \"0x00000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x51bb6c8812ecd400505e4946faa0e71a7f2ba730b27c7c85d244d0e36cfb8b3e\",\n          \"blockNumber\": \"0x71a1cc8\",\n          \"transactionHash\": \"0x64cc5975e6cb70883d8510243c7d5a1d32e61c2fdab221b5b7e8c9b814dbd3ca\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x1\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x1a984E693F8A9C38f3AE1f1aF14b677ac245deAD\",\n          \"topics\": [\n            \"0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d\",\n            \"0x34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb72\",\n            \"0x0000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f0\",\n            \"0x00000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x51bb6c8812ecd400505e4946faa0e71a7f2ba730b27c7c85d244d0e36cfb8b3e\",\n          \"blockNumber\": \"0x71a1cc8\",\n          \"transactionHash\": \"0x64cc5975e6cb70883d8510243c7d5a1d32e61c2fdab221b5b7e8c9b814dbd3ca\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x2\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x1a984E693F8A9C38f3AE1f1aF14b677ac245deAD\",\n          \"topics\": [\n            \"0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d\",\n            \"0xa5863d4faed73f441831bf2b55550cdbfecb5080dad2352ec834a2baf15aabdc\",\n            \"0x0000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f6\",\n            \"0x00000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x51bb6c8812ecd400505e4946faa0e71a7f2ba730b27c7c85d244d0e36cfb8b3e\",\n          \"blockNumber\": \"0x71a1cc8\",\n          \"transactionHash\": \"0x64cc5975e6cb70883d8510243c7d5a1d32e61c2fdab221b5b7e8c9b814dbd3ca\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x3\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x1a984E693F8A9C38f3AE1f1aF14b677ac245deAD\",\n          \"topics\": [\n            \"0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d\",\n            \"0x34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb72\",\n            \"0x0000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f6\",\n            \"0x00000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x51bb6c8812ecd400505e4946faa0e71a7f2ba730b27c7c85d244d0e36cfb8b3e\",\n          \"blockNumber\": \"0x71a1cc8\",\n          \"transactionHash\": \"0x64cc5975e6cb70883d8510243c7d5a1d32e61c2fdab221b5b7e8c9b814dbd3ca\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x4\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x01000004000000000000000000040000000000000000000000000000000800000000000000000000000000000000000000000000000080000000000800000000000000000000000000000000000000000000000001000002000000000000000000000000020000000000010100800800000000000000000000000000000000000000100000000000000000000000002000100000080000000000000000000000000000000000000000000000000000000000000000000000801000000000000200000000000000000000000000000000000001000000000900008000000020000000000000000000000201001000000201000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb665142c\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1713902413,\n  \"chain\": 10,\n  \"commit\": \"6a00b84\"\n}"
  },
  {
    "path": "mainnet/2024-04-15-redeploy-smart-escrow/script/DeploySmartEscrow.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"forge-std/Script.sol\";\nimport \"@base-contracts/src/smart-escrow/SmartEscrow.sol\";\n\ncontract DeploySmartEscrow is Script {\n    address internal BENEFACTOR = vm.envAddress(\"BENEFACTOR\");\n    address internal BENEFICIARY = vm.envAddress(\"BENEFICIARY\");\n    address internal BENEFACTOR_OWNER = vm.envAddress(\"BENEFACTOR_OWNER\");\n    address internal BENEFICIARY_OWNER = vm.envAddress(\"BENEFICIARY_OWNER\");\n    address internal ESCROW_OWNER = vm.envAddress(\"NESTED_SAFE\");\n    uint256 internal START = vm.envUint(\"START\");\n    uint256 internal END = vm.envUint(\"END\");\n    uint256 internal VESTING_PERIOD_SECONDS = vm.envUint(\"VESTING_PERIOD_SECONDS\");\n    uint256 internal INITIAL_TOKENS = vm.envUint(\"INITIAL_TOKENS\");\n    uint256 internal VESTING_EVENT_TOKENS = vm.envUint(\"VESTING_EVENT_TOKENS\");\n\n    function run() public {\n        vm.broadcast();\n        SmartEscrow smartEscrow = new SmartEscrow(\n            BENEFACTOR,\n            BENEFICIARY,\n            BENEFACTOR_OWNER,\n            BENEFICIARY_OWNER,\n            ESCROW_OWNER,\n            START,\n            END,\n            VESTING_PERIOD_SECONDS,\n            INITIAL_TOKENS,\n            VESTING_EVENT_TOKENS\n        );\n        require(smartEscrow.start() == START, \"DeploySmartEscrow: start time not set correctly\");\n        require(smartEscrow.end() == END, \"DeploySmartEscrow: end time not set correctly\");\n        require(smartEscrow.vestingPeriod() == VESTING_PERIOD_SECONDS, \"DeploySmartEscrow: vesting period incorrect\");\n        require(smartEscrow.initialTokens() == INITIAL_TOKENS, \"DeploySmartEscrow: number of initial tokens incorrect\");\n        require(smartEscrow.vestingEventTokens() == VESTING_EVENT_TOKENS, \"DeploySmartEscrow: number of vesting event tokens incorrect\");\n        require(smartEscrow.benefactor() == BENEFACTOR, \"DeploySmartEscrow: benefactor incorrect\"); \n        require(smartEscrow.beneficiary() == BENEFICIARY, \"DeploySmartEscrow: beneficiary incorrect\");\n        require(smartEscrow.released() == 0, \"DeploySmartEscrow: initial released value must bex zero\");\n        require(smartEscrow.contractTerminated() == false, \"DeploySmartEscrow: contract cannot initially be terminated\");\n    }\n}\n"
  },
  {
    "path": "mainnet/2024-04-17-upgrade-erc20-factory/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: sign-cb\nsign-cb:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L2_RPC_URL) UpgradeOptimismMintableERC20Factory \\\n\t--sig \"sign(address)\" $(BASE_SAFE)\n\n.PHONY: sign-op\nsign-op:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L2_RPC_URL) UpgradeOptimismMintableERC20Factory \\\n\t--sig \"sign(address)\" $(OP_SAFE)\n\n\n.PHONY: approve-cb\napprove-cb:\n\tforge script --rpc-url $(L2_RPC_URL) UpgradeOptimismMintableERC20Factory \\\n\t--sig \"approve(address,bytes)\" $(BASE_SAFE) $(SIGNATURES) \\\n\t-i 1 --broadcast\n\n.PHONY: approve-op\napprove-op:\n\tforge script --rpc-url $(L2_RPC_URL) UpgradeOptimismMintableERC20Factory \\\n\t--sig \"approve(address,bytes)\" $(OP_SAFE) $(SIGNATURES) \\\n\t-i 1 --broadcast\n\n.PHONY: run\nrun:\n\tforge script --rpc-url $(L2_RPC_URL) UpgradeOptimismMintableERC20Factory \\\n\t--sig \"run()\" -i 1 --broadcast"
  },
  {
    "path": "mainnet/2024-04-17-upgrade-erc20-factory/README.md",
    "content": "# Upgrade OptimismMintableERC20Factory implementation\n\nStatus: DONE\n\n## Objective\n\nThis task upgrades the `OptimismMintableERC20Factory` implementation, at address [0x4200000000000000000000000000000000000012](https://basescan.org/address/0x4200000000000000000000000000000000000012#code), to point to the newly deployed factory at address [0x6922ac4DbDfEdEa3a1E5535f12c3171f2b964C91](https://basescan.org/address/0x6922ac4dbdfedea3a1e5535f12c3171f2b964c91#code), effectively replacing the old implementation at address [0xc0D3c0d3C0d3c0d3c0D3c0d3c0D3c0D3c0D30012](https://basescan.org/address/0xc0d3c0d3c0d3c0d3c0d3c0d3c0d3c0d3c0d30012#code).\n\n## Approving the transaction\n\n### 1. Update repo and move to the appropriate folder:\n\n```\ncd contract-deployments\ngit pull\ncd mainnet/2024-04-17-upgrade-erc20-factory\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n``` shell\nmake sign-op # or make sign-cb for Coinbase signers\n```\n\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Base Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark \n\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Nested Multisig under the \"GnosisSafeProxy\" at address `0x2304cb33d95999dc29f4cef1e35065e670a70050`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000003\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000004\n```\n\n2. And for the same contract, verify that this specific execution is approved:\n\n```\nKey (if you are an OP signer): 0x9052fb3c2fd9cb5dd17446c311f63a63659a6f571458940b7f0aced851e51d55\nKey (if you are a CB signer): 0x967af9182a28f979962ecb388b54737ad2cbe53fbe8f354b8b1a0005bc9abcff\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000000\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000001\n```\n\n3. Verify that the nonce is incremented for your multisig:\n\nIf you are an OP signer - the OP Foundation Multisig should be under the \"GnosisSafeProxy\" at address `0x28edb11394eb271212ed66c08f2b7893c04c5d65`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000003\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000004\n```\n\nIf you are a CB signer - the Coinbase Multisig should be under the address `0xd94e416cf2c7167608b2515b7e4102b41efff94f`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000006\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000007\n```\n\n4. Verify that the new ERC20 factory implementation has been registered in the ERC20 factory \"Proxy\" at address `0x4200000000000000000000000000000000000012`:\n\n```\nKey: 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\nBefore: 0x000000000000000000000000c0d3c0d3c0d3c0d3c0d3c0d3c0d3c0d3c0d30012\nAfter: 0x0000000000000000000000006922ac4dbdfedea3a1e5535f12c3171f2b964c91\n```\n\n5. For the same contract, verify its `initialized` slot has been set to 1:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000000\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000000\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000001\n```\n\n6. For the same contract, verify the `bridge` address has been correctly registered:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000001\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000000\nAfter: 0x0000000000000000000000004200000000000000000000000000000000000010\n```\n\n7. Verify that the L1FeeVault at `0x420000000000000000000000000000000000001a` receives the gas associated with the call:\n\n```\nBalance 1132449259793366198 -> 1132449525791013671\n```\n\n8. Verify that the nonce for the sending address is appropriately incremented:\n\n```\nNonce 0 -> 1\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafeL2.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the hash value may be\ndifferent:\n\n![Screenshot 2024-04-18 at 18 53 26](https://github.com/base-org/contract-deployments/assets/33523487/85566275-feab-489d-87e9-6ebc4de7b823)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n``` shell\nmake sign-op # or make sign-cb for Coinbase signers\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## [For Facilitator ONLY] How to execute the rehearsal\n\n### [After the rehearsal] Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\n   SIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make approve-cb` with Coinbase signer signatures.\n4. Run `make approve-op` with Optimism signer signatures.\n4. Run `make run` to execute the transaction onchain.\n\n"
  },
  {
    "path": "mainnet/2024-04-17-upgrade-erc20-factory/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.19\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "mainnet/2024-04-17-upgrade-erc20-factory/records/UpgradeOptimismMintableERC20Factory.s.sol/8453/approve-latest.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x992c0522bcf6382fe21ee72fba6de17089041f9bbbe74969b9469c4528ad35f5\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0xd94e416cf2c7167608b2515b7e4102b41efff94f\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"from\": \"0x25f7fd8f50d522b266764cd3b230edaa8cbb9f75\",\n        \"to\": \"0xd94e416cf2c7167608b2515b7e4102b41efff94f\",\n        \"gas\": \"0x286da\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdd68c34c58f0a3573c1d34971f6f6bec3a5e30115af40bbebca7deef7c2b2b05a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c35bff4d396cbe3f79579735c69fd2e34bb2c330b12aab56a64a514f295a28b251713b26bbae9c47478f846ca1f901c8ad3c0e6aac78f0b6061b86b0a4001b5c551b5edc95c10d9d2773cb8e0b47f85ee00d9d15ce78c97d4b58f384d6b7ef16a568031eb6744c9781b43303394564da12ca4e84522ba3282552ca81736f3e6284091c68242ea9c5bfba07f39f96d8ae8ff38574d33c91fe716d5a4144cd48d768881666f2bd75dd22559b1c706384e7182b24260cfbdbcbe0c88ee943bd5f303d15ad1b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x1\",\n        \"chainId\": \"0x2105\",\n        \"accessList\": null,\n        \"type\": null\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x877879\",\n      \"logs\": [\n        {\n          \"address\": \"0xd94e416cf2c7167608b2515b7e4102b41efff94f\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdd68c34c58f0a3573c1d34971f6f6bec3a5e30115af40bbebca7deef7c2b2b05a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c35bff4d396cbe3f79579735c69fd2e34bb2c330b12aab56a64a514f295a28b251713b26bbae9c47478f846ca1f901c8ad3c0e6aac78f0b6061b86b0a4001b5c551b5edc95c10d9d2773cb8e0b47f85ee00d9d15ce78c97d4b58f384d6b7ef16a568031eb6744c9781b43303394564da12ca4e84522ba3282552ca81736f3e6284091c68242ea9c5bfba07f39f96d8ae8ff38574d33c91fe716d5a4144cd48d768881666f2bd75dd22559b1c706384e7182b24260cfbdbcbe0c88ee943bd5f303d15ad1b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000600000000000000000000000025f7fd8f50d522b266764cd3b230edaa8cbb9f750000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0x201ea855ec82fc044ca8466ee90f1e2c53e13a895a941721410ec64f98587c85\",\n          \"blockNumber\": \"0xe094ff\",\n          \"transactionHash\": \"0x992c0522bcf6382fe21ee72fba6de17089041f9bbbe74969b9469c4528ad35f5\",\n          \"transactionIndex\": \"0x35\",\n          \"logIndex\": \"0xee\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x2304cb33d95999dc29f4cef1e35065e670a70050\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xd68c34c58f0a3573c1d34971f6f6bec3a5e30115af40bbebca7deef7c2b2b05a\",\n            \"0x000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x201ea855ec82fc044ca8466ee90f1e2c53e13a895a941721410ec64f98587c85\",\n          \"blockNumber\": \"0xe094ff\",\n          \"transactionHash\": \"0x992c0522bcf6382fe21ee72fba6de17089041f9bbbe74969b9469c4528ad35f5\",\n          \"transactionIndex\": \"0x35\",\n          \"logIndex\": \"0xef\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd94e416cf2c7167608b2515b7e4102b41efff94f\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x425ff7de8089e09b363e054e29f962b92b70abfdb5b79a94f78820291d186d0e0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x201ea855ec82fc044ca8466ee90f1e2c53e13a895a941721410ec64f98587c85\",\n          \"blockNumber\": \"0xe094ff\",\n          \"transactionHash\": \"0x992c0522bcf6382fe21ee72fba6de17089041f9bbbe74969b9469c4528ad35f5\",\n          \"transactionIndex\": \"0x35\",\n          \"logIndex\": \"0xf0\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000402000000000200000000000000000000080000000000000040000000010000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000040000000000000000000000000000000002400000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000400200000000000000004000000000000000000000000000000000004000000000000000000000000020000000200000000000000000000020000000000020000000000000000000000000000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x992c0522bcf6382fe21ee72fba6de17089041f9bbbe74969b9469c4528ad35f5\",\n      \"transactionIndex\": \"0x35\",\n      \"blockHash\": \"0x201ea855ec82fc044ca8466ee90f1e2c53e13a895a941721410ec64f98587c85\",\n      \"blockNumber\": \"0xe094ff\",\n      \"gasUsed\": \"0x1ba4b\",\n      \"effectiveGasPrice\": \"0x262d623\",\n      \"from\": \"0x25f7fd8f50d522b266764cd3b230edaa8cbb9f75\",\n      \"to\": \"0xd94e416cf2c7167608b2515b7e4102b41efff94f\",\n      \"contractAddress\": null,\n      \"l1Fee\": \"0x26e2d51a53\",\n      \"l1GasPrice\": \"0x3ebbbae0a\",\n      \"l1GasUsed\": \"0x2330\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1716225767,\n  \"chain\": 8453,\n  \"commit\": \"0c9a57c\"\n}"
  },
  {
    "path": "mainnet/2024-04-17-upgrade-erc20-factory/records/UpgradeOptimismMintableERC20Factory.s.sol/8453/run-1716225695.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x8b7f5768820ab7e43551d41678a6bb4821790d55fc518049b252aef22a788268\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x28edb11394eb271212ed66c08f2b7893c04c5d65\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"from\": \"0x25f7fd8f50d522b266764cd3b230edaa8cbb9f75\",\n        \"to\": \"0x28edb11394eb271212ed66c08f2b7893c04c5d65\",\n        \"gas\": \"0x2df3b\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdd68c34c58f0a3573c1d34971f6f6bec3a5e30115af40bbebca7deef7c2b2b05a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001454cf23a182205aae6a70f2b14b4d94edf8788d44d1a6aee30c44b782bbb7245bd03a61e3caac45099fa1f60dff1497d826b91e9483bb20941f5ae877ef7e4916d1cf6f633d3258f5dc1064dfc9e2c0cc1396f1d23b02588f505698e4db25b8b57e03228a3cc1280dc32332fc2808de740efa45366b05535acab6d41e5d379afeb251cd4628c9d9f85d837835bba06f19c9ffc6f6b3a6a15b596aad1d244b9fe4cac891218832c216bed1550efdd33de98bbd1f5b4e5e6c3d1bf58e51a5ba8f1e53c291c1d13deccf1fc2c82e47376d79eb3aa72c643674db2d32543fcfefa023b3782611daca00952eb2962237b5f7277bbe7934c6698c31e0491e454f6ff72fc4f90e51c5ec4d82a1d1dce14cba489dd84befcbff730b30c39651722c6ba556191a6cac50a8392902eadd44e0e7fe8cfd711f2a300b5dfc2d7a693a969da1f8d640368f11b000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x0\",\n        \"chainId\": \"0x2105\",\n        \"accessList\": null,\n        \"type\": null\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x4cd982\",\n      \"logs\": [\n        {\n          \"address\": \"0x28edb11394eb271212ed66c08f2b7893c04c5d65\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000440000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdd68c34c58f0a3573c1d34971f6f6bec3a5e30115af40bbebca7deef7c2b2b05a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001454cf23a182205aae6a70f2b14b4d94edf8788d44d1a6aee30c44b782bbb7245bd03a61e3caac45099fa1f60dff1497d826b91e9483bb20941f5ae877ef7e4916d1cf6f633d3258f5dc1064dfc9e2c0cc1396f1d23b02588f505698e4db25b8b57e03228a3cc1280dc32332fc2808de740efa45366b05535acab6d41e5d379afeb251cd4628c9d9f85d837835bba06f19c9ffc6f6b3a6a15b596aad1d244b9fe4cac891218832c216bed1550efdd33de98bbd1f5b4e5e6c3d1bf58e51a5ba8f1e53c291c1d13deccf1fc2c82e47376d79eb3aa72c643674db2d32543fcfefa023b3782611daca00952eb2962237b5f7277bbe7934c6698c31e0491e454f6ff72fc4f90e51c5ec4d82a1d1dce14cba489dd84befcbff730b30c39651722c6ba556191a6cac50a8392902eadd44e0e7fe8cfd711f2a300b5dfc2d7a693a969da1f8d640368f11b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000300000000000000000000000025f7fd8f50d522b266764cd3b230edaa8cbb9f750000000000000000000000000000000000000000000000000000000000000005\",\n          \"blockHash\": \"0xf3fe0911eff8bf36e20fe365c96c9b5e40819038d7640fd322adca8c2a5337be\",\n          \"blockNumber\": \"0xe094db\",\n          \"transactionHash\": \"0x8b7f5768820ab7e43551d41678a6bb4821790d55fc518049b252aef22a788268\",\n          \"transactionIndex\": \"0x25\",\n          \"logIndex\": \"0x7e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x2304cb33d95999dc29f4cef1e35065e670a70050\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xd68c34c58f0a3573c1d34971f6f6bec3a5e30115af40bbebca7deef7c2b2b05a\",\n            \"0x00000000000000000000000028edb11394eb271212ed66c08f2b7893c04c5d65\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf3fe0911eff8bf36e20fe365c96c9b5e40819038d7640fd322adca8c2a5337be\",\n          \"blockNumber\": \"0xe094db\",\n          \"transactionHash\": \"0x8b7f5768820ab7e43551d41678a6bb4821790d55fc518049b252aef22a788268\",\n          \"transactionIndex\": \"0x25\",\n          \"logIndex\": \"0x7f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x28edb11394eb271212ed66c08f2b7893c04c5d65\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x786f290ae0a05633d6df5517ffde3878940c4437057e401ad69709db6e5bf49c0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xf3fe0911eff8bf36e20fe365c96c9b5e40819038d7640fd322adca8c2a5337be\",\n          \"blockNumber\": \"0xe094db\",\n          \"transactionHash\": \"0x8b7f5768820ab7e43551d41678a6bb4821790d55fc518049b252aef22a788268\",\n          \"transactionIndex\": \"0x25\",\n          \"logIndex\": \"0x80\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000402000000000200000000000000000000000000000000000040000000010000000000000000000000000000000000000000000100000000000000000000000000000000000020000000000000000040000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000100000002000400200000000000000004000000000000000000000000000000000000200000000000000000000000020000000000000000000000000000000000000000000000000200200000000000000000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x8b7f5768820ab7e43551d41678a6bb4821790d55fc518049b252aef22a788268\",\n      \"transactionIndex\": \"0x25\",\n      \"blockHash\": \"0xf3fe0911eff8bf36e20fe365c96c9b5e40819038d7640fd322adca8c2a5337be\",\n      \"blockNumber\": \"0xe094db\",\n      \"gasUsed\": \"0x1f6b9\",\n      \"effectiveGasPrice\": \"0x26b23e6\",\n      \"from\": \"0x25f7fd8f50d522b266764cd3b230edaa8cbb9f75\",\n      \"to\": \"0x28edb11394eb271212ed66c08f2b7893c04c5d65\",\n      \"contractAddress\": null,\n      \"l1Fee\": \"0x2e2c9f0e22\",\n      \"l1GasPrice\": \"0x3c5d69e2f\",\n      \"l1GasUsed\": \"0x2b6c\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1716225695,\n  \"chain\": 8453,\n  \"commit\": \"0c9a57c\"\n}"
  },
  {
    "path": "mainnet/2024-04-17-upgrade-erc20-factory/records/UpgradeOptimismMintableERC20Factory.s.sol/8453/run-1716225767.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x992c0522bcf6382fe21ee72fba6de17089041f9bbbe74969b9469c4528ad35f5\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0xd94e416cf2c7167608b2515b7e4102b41efff94f\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"from\": \"0x25f7fd8f50d522b266764cd3b230edaa8cbb9f75\",\n        \"to\": \"0xd94e416cf2c7167608b2515b7e4102b41efff94f\",\n        \"gas\": \"0x286da\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdd68c34c58f0a3573c1d34971f6f6bec3a5e30115af40bbebca7deef7c2b2b05a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c35bff4d396cbe3f79579735c69fd2e34bb2c330b12aab56a64a514f295a28b251713b26bbae9c47478f846ca1f901c8ad3c0e6aac78f0b6061b86b0a4001b5c551b5edc95c10d9d2773cb8e0b47f85ee00d9d15ce78c97d4b58f384d6b7ef16a568031eb6744c9781b43303394564da12ca4e84522ba3282552ca81736f3e6284091c68242ea9c5bfba07f39f96d8ae8ff38574d33c91fe716d5a4144cd48d768881666f2bd75dd22559b1c706384e7182b24260cfbdbcbe0c88ee943bd5f303d15ad1b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x1\",\n        \"chainId\": \"0x2105\",\n        \"accessList\": null,\n        \"type\": null\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x877879\",\n      \"logs\": [\n        {\n          \"address\": \"0xd94e416cf2c7167608b2515b7e4102b41efff94f\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdd68c34c58f0a3573c1d34971f6f6bec3a5e30115af40bbebca7deef7c2b2b05a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c35bff4d396cbe3f79579735c69fd2e34bb2c330b12aab56a64a514f295a28b251713b26bbae9c47478f846ca1f901c8ad3c0e6aac78f0b6061b86b0a4001b5c551b5edc95c10d9d2773cb8e0b47f85ee00d9d15ce78c97d4b58f384d6b7ef16a568031eb6744c9781b43303394564da12ca4e84522ba3282552ca81736f3e6284091c68242ea9c5bfba07f39f96d8ae8ff38574d33c91fe716d5a4144cd48d768881666f2bd75dd22559b1c706384e7182b24260cfbdbcbe0c88ee943bd5f303d15ad1b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000600000000000000000000000025f7fd8f50d522b266764cd3b230edaa8cbb9f750000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0x201ea855ec82fc044ca8466ee90f1e2c53e13a895a941721410ec64f98587c85\",\n          \"blockNumber\": \"0xe094ff\",\n          \"transactionHash\": \"0x992c0522bcf6382fe21ee72fba6de17089041f9bbbe74969b9469c4528ad35f5\",\n          \"transactionIndex\": \"0x35\",\n          \"logIndex\": \"0xee\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x2304cb33d95999dc29f4cef1e35065e670a70050\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xd68c34c58f0a3573c1d34971f6f6bec3a5e30115af40bbebca7deef7c2b2b05a\",\n            \"0x000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x201ea855ec82fc044ca8466ee90f1e2c53e13a895a941721410ec64f98587c85\",\n          \"blockNumber\": \"0xe094ff\",\n          \"transactionHash\": \"0x992c0522bcf6382fe21ee72fba6de17089041f9bbbe74969b9469c4528ad35f5\",\n          \"transactionIndex\": \"0x35\",\n          \"logIndex\": \"0xef\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd94e416cf2c7167608b2515b7e4102b41efff94f\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x425ff7de8089e09b363e054e29f962b92b70abfdb5b79a94f78820291d186d0e0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x201ea855ec82fc044ca8466ee90f1e2c53e13a895a941721410ec64f98587c85\",\n          \"blockNumber\": \"0xe094ff\",\n          \"transactionHash\": \"0x992c0522bcf6382fe21ee72fba6de17089041f9bbbe74969b9469c4528ad35f5\",\n          \"transactionIndex\": \"0x35\",\n          \"logIndex\": \"0xf0\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000402000000000200000000000000000000080000000000000040000000010000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000040000000000000000000000000000000002400000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000400200000000000000004000000000000000000000000000000000004000000000000000000000000020000000200000000000000000000020000000000020000000000000000000000000000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x992c0522bcf6382fe21ee72fba6de17089041f9bbbe74969b9469c4528ad35f5\",\n      \"transactionIndex\": \"0x35\",\n      \"blockHash\": \"0x201ea855ec82fc044ca8466ee90f1e2c53e13a895a941721410ec64f98587c85\",\n      \"blockNumber\": \"0xe094ff\",\n      \"gasUsed\": \"0x1ba4b\",\n      \"effectiveGasPrice\": \"0x262d623\",\n      \"from\": \"0x25f7fd8f50d522b266764cd3b230edaa8cbb9f75\",\n      \"to\": \"0xd94e416cf2c7167608b2515b7e4102b41efff94f\",\n      \"contractAddress\": null,\n      \"l1Fee\": \"0x26e2d51a53\",\n      \"l1GasPrice\": \"0x3ebbbae0a\",\n      \"l1GasUsed\": \"0x2330\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1716225767,\n  \"chain\": 8453,\n  \"commit\": \"0c9a57c\"\n}"
  },
  {
    "path": "mainnet/2024-04-17-upgrade-erc20-factory/records/UpgradeOptimismMintableERC20Factory.s.sol/8453/run-1716225813.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xf433ab504bcdb633914551cb2410aa89683d05db0062dca76fbe7a48297745c0\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x2304cb33d95999dc29f4cef1e35065e670a70050\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"from\": \"0x25f7fd8f50d522b266764cd3b230edaa8cbb9f75\",\n        \"to\": \"0x2304cb33d95999dc29f4cef1e35065e670a70050\",\n        \"gas\": \"0x34c8e\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000001c482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000042000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c49623609d00000000000000000000000042000000000000000000000000000000000000120000000000000000000000006922ac4dbdfedea3a1e5535f12c3171f2b964c9100000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c4d66de80000000000000000000000004200000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000028edb11394eb271212ed66c08f2b7893c04c5d65000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x2\",\n        \"chainId\": \"0x2105\",\n        \"accessList\": null,\n        \"type\": null\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x89e5c5\",\n      \"logs\": [\n        {\n          \"address\": \"0x2304cb33d95999dc29f4cef1e35065e670a70050\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000360000000000000000000000000000000000000000000000000000000000000042000000000000000000000000000000000000000000000000000000000000001c482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000042000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c49623609d00000000000000000000000042000000000000000000000000000000000000120000000000000000000000006922ac4dbdfedea3a1e5535f12c3171f2b964c9100000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c4d66de80000000000000000000000004200000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000028edb11394eb271212ed66c08f2b7893c04c5d65000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000300000000000000000000000025f7fd8f50d522b266764cd3b230edaa8cbb9f750000000000000000000000000000000000000000000000000000000000000002\",\n          \"blockHash\": \"0x3d8ff68456de669b562598b80fad2c50859d824e154dec89ef7eea35f29ccd92\",\n          \"blockNumber\": \"0xe09516\",\n          \"transactionHash\": \"0xf433ab504bcdb633914551cb2410aa89683d05db0062dca76fbe7a48297745c0\",\n          \"transactionIndex\": \"0x18\",\n          \"logIndex\": \"0xc5\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x4200000000000000000000000000000000000012\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x0000000000000000000000006922ac4dbdfedea3a1e5535f12c3171f2b964c91\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x3d8ff68456de669b562598b80fad2c50859d824e154dec89ef7eea35f29ccd92\",\n          \"blockNumber\": \"0xe09516\",\n          \"transactionHash\": \"0xf433ab504bcdb633914551cb2410aa89683d05db0062dca76fbe7a48297745c0\",\n          \"transactionIndex\": \"0x18\",\n          \"logIndex\": \"0xc6\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x4200000000000000000000000000000000000012\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0x3d8ff68456de669b562598b80fad2c50859d824e154dec89ef7eea35f29ccd92\",\n          \"blockNumber\": \"0xe09516\",\n          \"transactionHash\": \"0xf433ab504bcdb633914551cb2410aa89683d05db0062dca76fbe7a48297745c0\",\n          \"transactionIndex\": \"0x18\",\n          \"logIndex\": \"0xc7\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x2304cb33d95999dc29f4cef1e35065e670a70050\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xd68c34c58f0a3573c1d34971f6f6bec3a5e30115af40bbebca7deef7c2b2b05a0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x3d8ff68456de669b562598b80fad2c50859d824e154dec89ef7eea35f29ccd92\",\n          \"blockNumber\": \"0xe09516\",\n          \"transactionHash\": \"0xf433ab504bcdb633914551cb2410aa89683d05db0062dca76fbe7a48297745c0\",\n          \"transactionIndex\": \"0x18\",\n          \"logIndex\": \"0xc8\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000002400000000000000000000000400000000000000000000000040000000010000000000000000000000000000000000000000000000000000000000000000000000400000000000000000002000000040000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000080000000000000000100000000000400200000000000000404000000020000000000000000000000000000000020000000000000000000060000000000000000000000000000000000000000000000000000400000000000000000000100000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xf433ab504bcdb633914551cb2410aa89683d05db0062dca76fbe7a48297745c0\",\n      \"transactionIndex\": \"0x18\",\n      \"blockHash\": \"0x3d8ff68456de669b562598b80fad2c50859d824e154dec89ef7eea35f29ccd92\",\n      \"blockNumber\": \"0xe09516\",\n      \"gasUsed\": \"0x2417a\",\n      \"effectiveGasPrice\": \"0x25c3409\",\n      \"from\": \"0x25f7fd8f50d522b266764cd3b230edaa8cbb9f75\",\n      \"to\": \"0x2304cb33d95999dc29f4cef1e35065e670a70050\",\n      \"contractAddress\": null,\n      \"l1Fee\": \"0x2a11b13270\",\n      \"l1GasPrice\": \"0x5327c8b40\",\n      \"l1GasUsed\": \"0x1cb8\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1716225813,\n  \"chain\": 8453,\n  \"commit\": \"0c9a57c\"\n}"
  },
  {
    "path": "mainnet/2024-04-17-upgrade-erc20-factory/script/UpgradeOptimismMintableERC20Factory.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.19;\n\nimport \"@base-contracts/script/universal/NestedMultisigBuilder.sol\";\n\ninterface IProxyAdmin {\n    function upgradeAndCall(address payable proxy, address implementation, bytes memory data) external payable;\n}\n\ninterface IImpl {\n    function initialize(address _bridge) external;\n    function bridge() external returns (address);\n}\n\nbytes32 constant IMPLEMENTATION_KEY = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\n\ncontract UpgradeOptimismMintableERC20Factory is NestedMultisigBuilder {\n    address public BRIDGE = vm.envAddress(\"BRIDGE\");\n    address public PROXY_ADMIN = vm.envAddress(\"PROXY_ADMIN\");\n    address public ERC20_FACTORY = vm.envAddress(\"ERC20_FACTORY\");\n    address public ERC20_FACTORY_IMPL = vm.envAddress(\"ERC20_FACTORY_IMPL\");\n\n    address internal NESTED_SAFE = vm.envAddress(\"NESTED_SAFE\");\n\n    function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal override {\n        address impl = address(uint160(uint256(vm.load(ERC20_FACTORY, IMPLEMENTATION_KEY))));\n        if (impl != ERC20_FACTORY_IMPL) {\n            revert(\"Implementation not correctly set\");\n        }\n\n        address bridge_ = IImpl(ERC20_FACTORY).bridge();\n        if (bridge_ != BRIDGE) {\n            revert(\"Implementation not correctly initialized\");\n        }\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        calls[0] = IMulticall3.Call3({\n            target: address(PROXY_ADMIN),\n            allowFailure: false,\n            callData: abi.encodeCall(\n                IProxyAdmin.upgradeAndCall,\n                (payable(ERC20_FACTORY), ERC20_FACTORY_IMPL, abi.encodeCall(IImpl.initialize, (BRIDGE)))\n            )\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return NESTED_SAFE;\n    }\n}\n"
  },
  {
    "path": "mainnet/2024-04-30-deployTempERC20Factory/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n##\n# Deploy command\n##\n.PHONY: deploy\ndeploy:\n\tforge script RunERC20FactoryDeploy --rpc-url $(L2_RPC_URL) --broadcast --verify"
  },
  {
    "path": "mainnet/2024-04-30-deployTempERC20Factory/deployed/addresses.json",
    "content": "{}\n"
  },
  {
    "path": "mainnet/2024-04-30-deployTempERC20Factory/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\n\n# note 'src/universal=lib/optimism/packages/contracts-bedrock/src/universal' is needed\n# for relative paths in optimism repo to work\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n    'src/universal=lib/optimism/packages/contracts-bedrock/src/universal' \n]\n\n"
  },
  {
    "path": "mainnet/2024-04-30-deployTempERC20Factory/inputs/construct-config.sh",
    "content": "#!/bin/bash\n\nDEPLOY_FIELDS='\"baseFeeVaultRecipient\",\"batchSenderAddress\",\"controller\",\"deployerAddress\",\"finalSystemOwner\",\"finalizationPeriodSeconds\",\"gasPriceOracleOverhead\",\"gasPriceOracleScalar\",\"l1ChainID\",\"l1FeeVaultRecipient\",\"l2BlockTime\",\"l2ChainID\",\"l2OutputOracleChallenger\",\"l2OutputOracleProposer\",\"l2OutputOracleStartingBlockNumber\",\"l2OutputOracleStartingTimestamp\",\"l2OutputOracleSubmissionInterval\",\"p2pSequencerAddress\",\"portalGuardian\",\"proxyAdminOwnerL2\",\"sequencerFeeVaultRecipient\"'\n\nDEPLOY_CONFIG_FILE=\"inputs/deploy-config.json\"\nMISC_CONFIG_FILE=\"inputs/misc-config.json\"\nFOUNDRY_CONFIG_FILE=\"inputs/foundry-config.json\"\n\n# Convert field from hex to decimal\nVALUE=$(jq -r '.l2GenesisBlockGasLimit' \"$DEPLOY_CONFIG_FILE\")\nGAS_LIMIT=$(printf %d $VALUE)\n\n# Construct config file which will be the input in deploy script\njq -s '.[0] * .[1]' \"$DEPLOY_CONFIG_FILE\" \"$MISC_CONFIG_FILE\" | \\\njq \"with_entries(select([.key] | inside([$DEPLOY_FIELDS])))\" | \\\njq --arg l2GenesisBlockGasLimit $GAS_LIMIT '. + {l2GenesisBlockGasLimit: $l2GenesisBlockGasLimit | tonumber}' | \\\njq --sort-keys | \\\njq '{\"deployConfig\": .}' > \"$FOUNDRY_CONFIG_FILE\"\n"
  },
  {
    "path": "mainnet/2024-04-30-deployTempERC20Factory/inputs/deploy-config.json",
    "content": ""
  },
  {
    "path": "mainnet/2024-04-30-deployTempERC20Factory/inputs/misc-config.json",
    "content": ""
  },
  {
    "path": "mainnet/2024-04-30-deployTempERC20Factory/records/RunDeployERC20Factory.sol/8453/run-1714483769.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xd267280e459e3323d71da55c3f98543c5bc0c4a568de7e7233a7b709310797b8\",\n      \"transactionType\": \"CREATE2\",\n      \"contractName\": \"ERC20Factory\",\n      \"contractAddress\": \"0xf10122d428b4bc8a9d050d06a2037259b4c4b83b\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"from\": \"0xfd896bf5eba7e1b9843b91ef6182de16b547273b\",\n        \"to\": \"0x4e59b44847b379578588920ca78fbf26c0b4956c\",\n        \"gas\": \"0x2a33fe\",\n        \"value\": \"0x0\",\n        \"input\": \"0x3078424135454400000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b5061001b600061003d565b61003873420000000000000000000000000000000000001061003d565b610186565b600054610100900460ff161580801561005d5750600054600160ff909116105b8061008857506100763061017760201b61059d1760201c565b158015610088575060005460ff166001145b6100ef5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff191660011790558015610112576000805461ff0019166101001790555b600180546001600160a01b0319166001600160a01b0384161790558015610173576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6001600160a01b03163b151590565b61207e806101956000396000f3fe60806040523480156200001157600080fd5b5060043610620000875760003560e01c8063c4d66de81162000062578063c4d66de81462000135578063ce5ac90f146200014e578063e78cea921462000165578063ee9a31a2146200018657600080fd5b806354fd4d50146200008c578063896f93d114620000e15780638cf0629c146200011e575b600080fd5b620000c96040518060400160405280600581526020017f312e392e3000000000000000000000000000000000000000000000000000000081525081565b604051620000d8919062000635565b60405180910390f35b620000f8620000f23660046200075d565b620001a5565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001620000d8565b620000f86200012f366004620007da565b620001bc565b6200014c6200014636600462000871565b620003ba565b005b620000f86200015f3660046200075d565b6200058c565b600154620000f89073ffffffffffffffffffffffffffffffffffffffff1681565b60015473ffffffffffffffffffffffffffffffffffffffff16620000f8565b6000620001b48484846200058c565b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff851662000267576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f4f7074696d69736d4d696e7461626c654552433230466163746f72793a206d7560448201527f73742070726f766964652072656d6f746520746f6b656e20616464726573730060648201526084015b60405180910390fd5b6000858585856040516020016200028294939291906200088f565b604051602081830303815290604052805190602001209050600081600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1688888888604051620002d290620005b9565b620002e2959493929190620008e9565b8190604051809103906000f590508015801562000303573d6000803e3d6000fd5b5090508073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fceeb8e7d520d7f3b65fc11a262b91066940193b05d4f93df07cfdced0eb551cf60405160405180910390a360405133815273ffffffffffffffffffffffffffffffffffffffff80891691908316907f52fe89dd5930f343d25650b62fd367bae47088bcddffd2a88350a6ecdd620cdb9060200160405180910390a39695505050505050565b600054610100900460ff1615808015620003db5750600054600160ff909116105b80620003f75750303b158015620003f7575060005460ff166001145b62000485576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016200025e565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015620004e457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841617905580156200058857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6000620001b48484846012620001bc565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b6116fa806200094f83390190565b6000815180845260005b81811015620005ef57602081850181015186830182015201620005d1565b8181111562000602576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006200064a6020830184620005c7565b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146200067657600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112620006bc57600080fd5b813567ffffffffffffffff80821115620006da57620006da6200067b565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156200072357620007236200067b565b816040528381528660208588010111156200073d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156200077357600080fd5b6200077e8462000651565b9250602084013567ffffffffffffffff808211156200079c57600080fd5b620007aa87838801620006aa565b93506040860135915080821115620007c157600080fd5b50620007d086828701620006aa565b9150509250925092565b60008060008060808587031215620007f157600080fd5b620007fc8562000651565b9350602085013567ffffffffffffffff808211156200081a57600080fd5b6200082888838901620006aa565b945060408701359150808211156200083f57600080fd5b506200084e87828801620006aa565b925050606085013560ff811681146200086657600080fd5b939692955090935050565b6000602082840312156200088457600080fd5b6200064a8262000651565b73ffffffffffffffffffffffffffffffffffffffff85168152608060208201526000620008c06080830186620005c7565b8281036040840152620008d48186620005c7565b91505060ff8316606083015295945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a060408301526200092460a0830186620005c7565b8281036060840152620009388186620005c7565b91505060ff83166080830152969550505050505056fe60e06040523480156200001157600080fd5b50604051620016fa380380620016fa833981016040819052620000349162000163565b828260036200004483826200029e565b5060046200005382826200029e565b5050506001600160a01b039384166080529390921660a052505060ff1660c0526200036a565b80516001600160a01b03811681146200009157600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620000be57600080fd5b81516001600160401b0380821115620000db57620000db62000096565b604051601f8301601f19908116603f0116810190828211818310171562000106576200010662000096565b816040528381526020925086838588010111156200012357600080fd5b600091505b8382101562000147578582018301518183018401529082019062000128565b83821115620001595760008385830101525b9695505050505050565b600080600080600060a086880312156200017c57600080fd5b620001878662000079565b9450620001976020870162000079565b60408701519094506001600160401b0380821115620001b557600080fd5b620001c389838a01620000ac565b94506060880151915080821115620001da57600080fd5b50620001e988828901620000ac565b925050608086015160ff811681146200020157600080fd5b809150509295509295909350565b600181811c908216806200022457607f821691505b6020821081036200024557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200029957600081815260208120601f850160051c81016020861015620002745750805b601f850160051c820191505b81811015620002955782815560010162000280565b5050505b505050565b81516001600160401b03811115620002ba57620002ba62000096565b620002d281620002cb84546200020f565b846200024b565b602080601f8311600181146200030a5760008415620002f15750858301515b600019600386901b1c1916600185901b17855562000295565b600085815260208120601f198616915b828110156200033b578886015182559484019460019091019084016200031a565b50858210156200035a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c051611344620003b6600039600061024401526000818161034b015281816103e001528181610625015261075c0152600081816101a9015261037101526113446000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c806370a08231116100d8578063ae1f6aaf1161008c578063dd62ed3e11610066578063dd62ed3e14610395578063e78cea9214610349578063ee9a31a2146103db57600080fd5b8063ae1f6aaf14610349578063c01e1bd61461036f578063d6c0b2c41461036f57600080fd5b80639dc29fac116100bd5780639dc29fac14610310578063a457c2d714610323578063a9059cbb1461033657600080fd5b806370a08231146102d257806395d89b411461030857600080fd5b806323b872dd1161012f5780633950935111610114578063395093511461026e57806340c10f191461028157806354fd4d501461029657600080fd5b806323b872dd1461022a578063313ce5671461023d57600080fd5b806306fdde031161016057806306fdde03146101f0578063095ea7b31461020557806318160ddd1461021857600080fd5b806301ffc9a71461017c578063033964be146101a4575b600080fd5b61018f61018a3660046110e3565b610402565b60405190151581526020015b60405180910390f35b6101cb7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019b565b6101f86104f3565b60405161019b919061112c565b61018f6102133660046111c8565b610585565b6002545b60405190815260200161019b565b61018f6102383660046111f2565b61059d565b60405160ff7f000000000000000000000000000000000000000000000000000000000000000016815260200161019b565b61018f61027c3660046111c8565b6105c1565b61029461028f3660046111c8565b61060d565b005b6101f86040518060400160405280600581526020017f312e332e3000000000000000000000000000000000000000000000000000000081525081565b61021c6102e036600461122e565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6101f8610735565b61029461031e3660046111c8565b610744565b61018f6103313660046111c8565b61085b565b61018f6103443660046111c8565b61092c565b7f00000000000000000000000000000000000000000000000000000000000000006101cb565b7f00000000000000000000000000000000000000000000000000000000000000006101cb565b61021c6103a3366004611249565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6101cb7f000000000000000000000000000000000000000000000000000000000000000081565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007f1d1d8b63000000000000000000000000000000000000000000000000000000007fec4fc8e3000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000085168314806104bb57507fffffffff00000000000000000000000000000000000000000000000000000000858116908316145b806104ea57507fffffffff00000000000000000000000000000000000000000000000000000000858116908216145b95945050505050565b6060600380546105029061127c565b80601f016020809104026020016040519081016040528092919081815260200182805461052e9061127c565b801561057b5780601f106105505761010080835404028352916020019161057b565b820191906000526020600020905b81548152906001019060200180831161055e57829003601f168201915b5050505050905090565b60003361059381858561093a565b5060019392505050565b6000336105ab858285610aee565b6105b6858585610bc5565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919061059390829086906106089087906112cf565b61093a565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146106d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603460248201527f4f7074696d69736d4d696e7461626c6545524332303a206f6e6c79206272696460448201527f67652063616e206d696e7420616e64206275726e00000000000000000000000060648201526084015b60405180910390fd5b6106e18282610e34565b8173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858260405161072991815260200190565b60405180910390a25050565b6060600480546105029061127c565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610809576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603460248201527f4f7074696d69736d4d696e7461626c6545524332303a206f6e6c79206272696460448201527f67652063616e206d696e7420616e64206275726e00000000000000000000000060648201526084016106ce565b6108138282610f27565b8173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405161072991815260200190565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091908381101561091f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016106ce565b6105b6828686840361093a565b600033610593818585610bc5565b73ffffffffffffffffffffffffffffffffffffffff83166109dc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff8216610a7f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610bbf5781811015610bb2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016106ce565b610bbf848484840361093a565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610c68576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff8216610d0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610dc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610bbf565b73ffffffffffffffffffffffffffffffffffffffff8216610eb1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016106ce565b8060026000828254610ec391906112cf565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8216610fca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015611080576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610ae1565b6000602082840312156110f557600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461112557600080fd5b9392505050565b600060208083528351808285015260005b818110156111595785810183015185820160400152820161113d565b8181111561116b576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146111c357600080fd5b919050565b600080604083850312156111db57600080fd5b6111e48361119f565b946020939093013593505050565b60008060006060848603121561120757600080fd5b6112108461119f565b925061121e6020850161119f565b9150604084013590509250925092565b60006020828403121561124057600080fd5b6111258261119f565b6000806040838503121561125c57600080fd5b6112658361119f565b91506112736020840161119f565b90509250929050565b600181811c9082168061129057607f821691505b6020821081036112c9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60008219821115611309577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b50019056fea26469706673582212209d6a73773a8b3ada7d4c6d75345f8313289c1253717e855c8b5987154ecfb2b164736f6c634300080f0033a2646970667358221220a687cfe67e1c7171a707b2cd7a2d1a0ce8bd4b8d1c8be1013687c9d175d4ae4d64736f6c634300080f0033\",\n        \"nonce\": \"0x34\",\n        \"chainId\": \"0x2105\",\n        \"accessList\": null,\n        \"type\": null\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xdbe2a2\",\n      \"logs\": [\n        {\n          \"address\": \"0xf10122d428b4bc8a9d050d06a2037259b4c4b83b\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0xed29a0cc7a03a0e7ab4dacebb67069b2f3eb4a6390092f3badb4a4b1600d49c7\",\n          \"blockNumber\": \"0xd34aa0\",\n          \"transactionHash\": \"0xd267280e459e3323d71da55c3f98543c5bc0c4a568de7e7233a7b709310797b8\",\n          \"transactionIndex\": \"0x3d\",\n          \"logIndex\": \"0xdf\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf10122d428b4bc8a9d050d06a2037259b4c4b83b\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0xed29a0cc7a03a0e7ab4dacebb67069b2f3eb4a6390092f3badb4a4b1600d49c7\",\n          \"blockNumber\": \"0xd34aa0\",\n          \"transactionHash\": \"0xd267280e459e3323d71da55c3f98543c5bc0c4a568de7e7233a7b709310797b8\",\n          \"transactionIndex\": \"0x3d\",\n          \"logIndex\": \"0xe0\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xd267280e459e3323d71da55c3f98543c5bc0c4a568de7e7233a7b709310797b8\",\n      \"transactionIndex\": \"0x3d\",\n      \"blockHash\": \"0xed29a0cc7a03a0e7ab4dacebb67069b2f3eb4a6390092f3badb4a4b1600d49c7\",\n      \"blockNumber\": \"0xd34aa0\",\n      \"gasUsed\": \"0x1cdd7b\",\n      \"effectiveGasPrice\": \"0x53055f3\",\n      \"from\": \"0xfd896bf5eba7e1b9843b91ef6182de16b547273b\",\n      \"to\": \"0x4e59b44847b379578588920ca78fbf26c0b4956c\",\n      \"contractAddress\": \"0xf10122d428b4bc8a9d050d06a2037259b4c4b83b\",\n      \"l1Fee\": \"0x274d5b82438\",\n      \"l1GasPrice\": \"0x4ab614528\",\n      \"l1GasUsed\": \"0x1ddcc\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1714483769,\n  \"chain\": 8453,\n  \"commit\": \"da64ba9\"\n}"
  },
  {
    "path": "mainnet/2024-04-30-deployTempERC20Factory/script/RunDeployERC20Factory.sol",
    "content": "\n// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"forge-std/Script.sol\";\nimport {ERC20Factory} from \"../src/ERC20Factory.sol\";\n\ncontract RunERC20FactoryDeploy is Script {\n    function run() public {\n        uint256 deployerPrivateKey = vm.envUint(\"PRIVATE_KEY\");\n        vm.startBroadcast(deployerPrivateKey);\n        new ERC20Factory{salt: '0xBA5ED'}();\n    }\n}"
  },
  {
    "path": "mainnet/2024-04-30-deployTempERC20Factory/src/ERC20Factory.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {OptimismMintableERC20Factory} from \"@eth-optimism-bedrock/src/universal/OptimismMintableERC20Factory.sol\";\n\ncontract ERC20Factory is OptimismMintableERC20Factory {\n  constructor() {\n    initialize({ _bridge: address(0x4200000000000000000000000000000000000010 ) });\n  }\n}"
  },
  {
    "path": "mainnet/2024-05-28-increase-gas-limit/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: sign-update-gas-limit\nsign-update-gas-limit: \n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpdateGaslimit \\\n\t--sig \"sign()\"\n\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(L1_RPC_URL) UpdateGaslimit \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n\n.PHONY: sign-rollback-gas-limit\nsign-rollback-gas-limit: \n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) RollbackGasLimit \\\n\t--sig \"sign()\"\n\n\n.PHONY: execute-rollback\nexecute-rollback:\n\tforge script --rpc-url $(L1_RPC_URL) RollbackGasLimit \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2024-05-28-increase-gas-limit/README.md",
    "content": "# Update Gas Limit in L1 `SystemConfig` \n\nStatus: DONE\n\n## Objective\n\nWe are updating the gas limit to improve TPS and reduce gas fees. \n\nThis runbook implements scripts which allow our signers to sign two different calls for our Incident Multisig: \n1. `UpdateGasLimit` -- This script will update the gas limit to our new limit of 75M gas\n2. `RollbackGasLimit` -- This script establishes a rollback call in the case we need to revert to 60M gas\n\nThe values we are sending are statically defined in the `.env`.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow \n> the flow for both \"Approving the Update transaction\" and \n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed. \n\n## Approving the Update transaction\n\n### 1. Update repo and move to the appropriate folder:\n```\ncd contract-deployments\ngit pull\ncd mainnet/2024-05-28-increase-gas-limit\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n``` shell\nmake sign-update-gas-limit\n```\n\nOnce you run the `make sign...` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark \n\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 15 to 16:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x000000000000000000000000000000000000000000000000000000000000000f\nAfter: 0x00000000000000000000000000000000000000000000000000000000000000010\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 60M to 75M:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x0000000000000000000000000000000000000000000000000000000003938700\nAfter: 0x00000000000000000000000000000000000000000000000000000000047868c0\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n``` shell\nmake sign-update-gas-limit\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n\n## Approving the Rollback transaction\n\nComplete the above steps for `Approving the Update transaction` before continuing below.\n\n### 1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n``` shell\nmake sign-rollback-gas-limit\n```\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output. Once again paste this URL in your browser and click \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark \n\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x00000000000000000000000000000000000000000000000000000000000000010\nAfter: 0x00000000000000000000000000000000000000000000000000000000000000011\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x00000000000000000000000000000000000000000000000000000000047868c0\nAfter: 0x0000000000000000000000000000000000000000000000000000000003938700\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n``` shell\nmake sign-rollback-gas-limit\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\n   SIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make execute`\n\n> [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK\n> Repeat the above, but replace the signatures with the signed\n> rollback signatures collected, the call `make execute-rollback`\n"
  },
  {
    "path": "mainnet/2024-05-28-increase-gas-limit/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2024-05-28-increase-gas-limit/records/UpdateGasLimit.sol/1/run-1716922926.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x2d67ceecd5e7e9630c530628b5cd11377768d87cb82ca20afabaf6b91380d3b6\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c00000000000000000000000000000000000000000000000000000000047868c000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x7ff230436a4cbc2650bfb1af7bb7058d260f4c2a0c968445c170cbc7e9ae5a5d6db3499e9048e0952cd8012f47522deb177fa278f83cf9f1ede8ca1d041bea621c28b4ec6ad59fce294ed7931dbd96ae76cb579b69b5aeb9d8afeece5da621a84e69d65363fdda98b07c703dc103074feb525ebdf3e8bf0956f339f93f66a1b5de1c14c1e828b78fd497d905fe753b924d55ab523a5183d46b15a4ee42c9d1a15dbd5d55e48514e508e2b7951ca483e8e10f367f5577d309c46da7da459b1a1f2c881c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x49243dce94e0f5a1b08b9556bbec5a84363c3839\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x1e6f6\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c00000000000000000000000000000000000000000000000000000000047868c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c37ff230436a4cbc2650bfb1af7bb7058d260f4c2a0c968445c170cbc7e9ae5a5d6db3499e9048e0952cd8012f47522deb177fa278f83cf9f1ede8ca1d041bea621c28b4ec6ad59fce294ed7931dbd96ae76cb579b69b5aeb9d8afeece5da621a84e69d65363fdda98b07c703dc103074feb525ebdf3e8bf0956f339f93f66a1b5de1c14c1e828b78fd497d905fe753b924d55ab523a5183d46b15a4ee42c9d1a15dbd5d55e48514e508e2b7951ca483e8e10f367f5577d309c46da7da459b1a1f2c881c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x0\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x806665\",\n      \"logs\": [\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000002\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000047868c0\",\n          \"blockHash\": \"0x9f442c57026231d3b211c537f1000ffb37c329089f4b0f1a2a29abae68aa603e\",\n          \"blockNumber\": \"0x130b914\",\n          \"blockTimestamp\": \"0x66562a27\",\n          \"transactionHash\": \"0x2d67ceecd5e7e9630c530628b5cd11377768d87cb82ca20afabaf6b91380d3b6\",\n          \"transactionIndex\": \"0x66\",\n          \"logIndex\": \"0xeb\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xf43ed616bfdfa867044fe58bdc2f3f53b59ae78aae5ecf3a038a4979ddad67b10000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x9f442c57026231d3b211c537f1000ffb37c329089f4b0f1a2a29abae68aa603e\",\n          \"blockNumber\": \"0x130b914\",\n          \"blockTimestamp\": \"0x66562a27\",\n          \"transactionHash\": \"0x2d67ceecd5e7e9630c530628b5cd11377768d87cb82ca20afabaf6b91380d3b6\",\n          \"transactionIndex\": \"0x66\",\n          \"logIndex\": \"0xec\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x2d67ceecd5e7e9630c530628b5cd11377768d87cb82ca20afabaf6b91380d3b6\",\n      \"transactionIndex\": \"0x66\",\n      \"blockHash\": \"0x9f442c57026231d3b211c537f1000ffb37c329089f4b0f1a2a29abae68aa603e\",\n      \"blockNumber\": \"0x130b914\",\n      \"gasUsed\": \"0x1608e\",\n      \"effectiveGasPrice\": \"0x4c99f2932\",\n      \"from\": \"0x49243dce94e0f5a1b08b9556bbec5a84363c3839\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1716922926,\n  \"chain\": 1,\n  \"commit\": \"07007f5\"\n}"
  },
  {
    "path": "mainnet/2024-05-28-increase-gas-limit/script/RollbackGasLimit.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport {\n    MultisigBuilder,\n    Simulator,\n    IMulticall3,\n    IGnosisSafe,\n    console,\n    Enum\n} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\nimport { Vm } from \"forge-std/Vm.sol\";\n\n// This script will be signed ahead of our gas limit increase but isn't expected to be\n// executed. It will be available to us in the event we need to quickly rollback the gas limit.\ncontract RollbackGasLimit is MultisigBuilder {\n    address internal SYSTEM_CONFIG_OWNER = vm.envAddress(\"SYSTEM_CONFIG_OWNER\");\n    address internal L1_SYSTEM_CONFIG = vm.envAddress(\"L1_SYSTEM_CONFIG_ADDRESS\");\n    uint64 internal ROLLBACK_GAS_LIMIT = uint64(vm.envUint(\"ROLLBACK_GAS_LIMIT\"));\n\n    function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal override view {\n        assert(SystemConfig(L1_SYSTEM_CONFIG).gasLimit() == ROLLBACK_GAS_LIMIT);\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        calls[0] = IMulticall3.Call3({\n            target: L1_SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(SystemConfig.setGasLimit, (ROLLBACK_GAS_LIMIT))\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return SYSTEM_CONFIG_OWNER;\n    }\n\n    function _getNonce(IGnosisSafe) internal view override returns (uint256 nonce) {\n        nonce = vm.envUint(\"ROLLBACK_NONCE\");\n    }\n\n    function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) {\n        IGnosisSafe safe = IGnosisSafe(payable(_safe));\n        uint256 _nonce = _getNonce(safe);\n        return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce);\n    }\n\n    // We need to expect that the gas limit will have been updated previously in our simulation\n    // Use this override to specifically set the gas limit to the expected update value.\n    function _addGenericOverrides() internal view override returns (SimulationStateOverride memory) {\n        SimulationStorageOverride[] memory _stateOverrides = new SimulationStorageOverride[](1);\n        _stateOverrides[0] = SimulationStorageOverride({\n            key: 0x0000000000000000000000000000000000000000000000000000000000000068, // slot of gas limit\n            value: bytes32(vm.envUint(\"GAS_LIMIT\"))\n        });\n        return SimulationStateOverride({contractAddress: L1_SYSTEM_CONFIG, overrides: _stateOverrides});\n    }\n}\n"
  },
  {
    "path": "mainnet/2024-05-28-increase-gas-limit/script/UpdateGasLimit.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport {\n    MultisigBuilder,\n    IMulticall3,\n    IGnosisSafe,\n    console,\n    Enum\n} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\nimport { Vm } from \"forge-std/Vm.sol\";\n\ncontract UpdateGaslimit is MultisigBuilder {\n    address internal SYSTEM_CONFIG_OWNER = vm.envAddress(\"SYSTEM_CONFIG_OWNER\");\n    address internal L1_SYSTEM_CONFIG = vm.envAddress(\"L1_SYSTEM_CONFIG_ADDRESS\");\n    uint64 internal GAS_LIMIT = uint64(vm.envUint(\"GAS_LIMIT\"));\n\n    function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal override view {\n        assert(SystemConfig(L1_SYSTEM_CONFIG).gasLimit() == GAS_LIMIT);\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        calls[0] = IMulticall3.Call3({\n            target: L1_SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(SystemConfig.setGasLimit, (GAS_LIMIT))\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return SYSTEM_CONFIG_OWNER;\n    }\n\n    function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) {\n        IGnosisSafe safe = IGnosisSafe(payable(_safe));\n        uint256 _nonce = _getNonce(safe);\n        return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce);\n    }\n}\n"
  },
  {
    "path": "mainnet/2024-05-30-increase-gas-limit/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: sign-update-gas-limit\nsign-update-gas-limit: \n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpdateGaslimit \\\n\t--sig \"sign()\"\n\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(L1_RPC_URL) UpdateGaslimit \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n\n.PHONY: sign-rollback-gas-limit\nsign-rollback-gas-limit: \n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) RollbackGasLimit \\\n\t--sig \"sign()\"\n\n\n.PHONY: execute-rollback\nexecute-rollback:\n\tforge script --rpc-url $(L1_RPC_URL) RollbackGasLimit \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2024-05-30-increase-gas-limit/README.md",
    "content": "# Update Gas Limit in L1 `SystemConfig` \n\nStatus: DONE\n\n## Objective\n\nWe are updating the gas limit to improve TPS and reduce gas fees. \n\nThis runbook implements scripts which allow our signers to sign two different calls for our Incident Multisig: \n1. `UpdateGasLimit` -- This script will update the gas limit to our new limit of 90M gas\n2. `RollbackGasLimit` -- This script establishes a rollback call in the case we need to revert to 75M gas\n\nThe values we are sending are statically defined in the `.env`.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow \n> the flow for both \"Approving the Update transaction\" and \n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed. \n\n## Approving the Update transaction\n\n### 1. Update repo and move to the appropriate folder:\n```\ncd contract-deployments\ngit pull\ncd mainnet/2024-05-30-increase-gas-limit\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n``` shell\nmake sign-update-gas-limit\n```\n\nOnce you run the `make sign...` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark \n\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 15 to 16:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x000000000000000000000000000000000000000000000000000000000000000f\nAfter: 0x00000000000000000000000000000000000000000000000000000000000000010\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 75M to 90M:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x00000000000000000000000000000000000000000000000000000000047868c0\nAfter: 0x00000000000000000000000000000000000000000000000000000000055d4a80\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n``` shell\nmake sign-update-gas-limit\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n\n## Approving the Rollback transaction\n\nComplete the above steps for `Approving the Update transaction` before continuing below.\n\n### 1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n``` shell\nmake sign-rollback-gas-limit\n```\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output. Once again paste this URL in your browser and click \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark \n\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x00000000000000000000000000000000000000000000000000000000000000010\nAfter: 0x00000000000000000000000000000000000000000000000000000000000000011\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x00000000000000000000000000000000000000000000000000000000055d4a80\nAfter: 0x00000000000000000000000000000000000000000000000000000000047868c0\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n``` shell\nmake sign-rollback-gas-limit\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\n   SIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make execute`\n\n> [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK\n> Repeat the above, but replace the signatures with the signed\n> rollback signatures collected, the call `make execute-rollback`\n"
  },
  {
    "path": "mainnet/2024-05-30-increase-gas-limit/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2024-05-30-increase-gas-limit/script/RollbackGasLimit.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport {\n    MultisigBuilder,\n    Simulator,\n    IMulticall3,\n    IGnosisSafe,\n    console,\n    Enum\n} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\nimport { Vm } from \"forge-std/Vm.sol\";\n\n// This script will be signed ahead of our gas limit increase but isn't expected to be\n// executed. It will be available to us in the event we need to quickly rollback the gas limit.\ncontract RollbackGasLimit is MultisigBuilder {\n    address internal SYSTEM_CONFIG_OWNER = vm.envAddress(\"SYSTEM_CONFIG_OWNER\");\n    address internal L1_SYSTEM_CONFIG = vm.envAddress(\"L1_SYSTEM_CONFIG_ADDRESS\");\n    uint64 internal ROLLBACK_GAS_LIMIT = uint64(vm.envUint(\"ROLLBACK_GAS_LIMIT\"));\n\n    function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal override view {\n        assert(SystemConfig(L1_SYSTEM_CONFIG).gasLimit() == ROLLBACK_GAS_LIMIT);\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        calls[0] = IMulticall3.Call3({\n            target: L1_SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(SystemConfig.setGasLimit, (ROLLBACK_GAS_LIMIT))\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return SYSTEM_CONFIG_OWNER;\n    }\n\n    function _getNonce(IGnosisSafe) internal view override returns (uint256 nonce) {\n        nonce = vm.envUint(\"ROLLBACK_NONCE\");\n    }\n\n    function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) {\n        IGnosisSafe safe = IGnosisSafe(payable(_safe));\n        uint256 _nonce = _getNonce(safe);\n        return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce);\n    }\n\n    // We need to expect that the gas limit will have been updated previously in our simulation\n    // Use this override to specifically set the gas limit to the expected update value.\n    function _addGenericOverrides() internal view override returns (SimulationStateOverride memory) {\n        SimulationStorageOverride[] memory _stateOverrides = new SimulationStorageOverride[](1);\n        _stateOverrides[0] = SimulationStorageOverride({\n            key: 0x0000000000000000000000000000000000000000000000000000000000000068, // slot of gas limit\n            value: bytes32(vm.envUint(\"GAS_LIMIT\"))\n        });\n        return SimulationStateOverride({contractAddress: L1_SYSTEM_CONFIG, overrides: _stateOverrides});\n    }\n}\n"
  },
  {
    "path": "mainnet/2024-05-30-increase-gas-limit/script/UpdateGasLimit.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport {\n    MultisigBuilder,\n    IMulticall3,\n    IGnosisSafe,\n    console,\n    Enum\n} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\nimport { Vm } from \"forge-std/Vm.sol\";\n\ncontract UpdateGaslimit is MultisigBuilder {\n    address internal SYSTEM_CONFIG_OWNER = vm.envAddress(\"SYSTEM_CONFIG_OWNER\");\n    address internal L1_SYSTEM_CONFIG = vm.envAddress(\"L1_SYSTEM_CONFIG_ADDRESS\");\n    uint64 internal GAS_LIMIT = uint64(vm.envUint(\"GAS_LIMIT\"));\n\n    function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal override view {\n        assert(SystemConfig(L1_SYSTEM_CONFIG).gasLimit() == GAS_LIMIT);\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        calls[0] = IMulticall3.Call3({\n            target: L1_SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(SystemConfig.setGasLimit, (GAS_LIMIT))\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return SYSTEM_CONFIG_OWNER;\n    }\n\n    function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) {\n        IGnosisSafe safe = IGnosisSafe(payable(_safe));\n        uint256 _nonce = _getNonce(safe);\n        return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce);\n    }\n}\n"
  },
  {
    "path": "mainnet/2024-06-05-reredeploy-smart-escrow/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n.PHONY: deploy-new-implementation\ndeploy-new-implementation:\n\tforge script --rpc-url $(OPTIMISM_RPC_URL) DeploySmartEscrow --ledger --hd-paths \"m/44'/60'/0'/0/0\" --broadcast --verify\n\n.PHONY: verify-implementation\nverify-implementation:\n\tforge verify-contract ${DEPLOYED_CONTRACT} SmartEscrow \\\n\t--constructor-args $(shell cast abi-encode \"constructor(address,address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256)\" ${BENEFACTOR} ${BENEFICIARY} ${BENEFACTOR_OWNER} ${BENEFICIARY_OWNER} ${NESTED_SAFE} ${START} ${CLIFF_START} ${END} ${VESTING_PERIOD_SECONDS} ${INITIAL_TOKENS} ${VESTING_EVENT_TOKENS}) \\\n\t--watch --chain-id $(OPTIMISM_CHAIN_ID) \\\n\t--compiler-version v0.8.15+commit.e14f2714 --num-of-optimizations=99999 --retries=1 \\\n\t--verifier-url https://api-optimistic.etherscan.io/api\n"
  },
  {
    "path": "mainnet/2024-06-05-reredeploy-smart-escrow/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2024-06-05-reredeploy-smart-escrow/records/DeploySmartEscrow.s.sol/10/run-1719275042.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": null,\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"SmartEscrow\",\n      \"contractAddress\": \"0x90b8b3ee045930200643427b648a2b3b073f9a4b\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0\",\n        \"0x635Fb974F09B269Bc750bF96338c29cF41430125\",\n        \"0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0\",\n        \"0x6e1DFd5C1E22A4677663A81D24C6BA03561ef0f6\",\n        \"0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940\",\n        \"1720674000\",\n        \"1724976000\",\n        \"1878462000\",\n        \"7889400\",\n        \"17895697000000000000000000\",\n        \"4473924000000000000000000\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x89ebc5eb7163470e23fcc24833eea6bb93a7b045\",\n        \"gas\": \"0x393df7\",\n        \"value\": \"0x0\",\n        \"input\": \"0x610140346200052d57601f6200359138819003918201601f1916830191906001600160401b0383118484101762000532578161016092859260409586528339810103126200052d57620000528262000548565b90620000616020840162000548565b6200006e82850162000548565b906200007d6060860162000548565b916200008c6080870162000548565b9060a08701519560c08801519760e081015198610100998a830151916101209a6101408c8601519501519560018060a01b03809916998a15620004e957600180546001600160d01b0316610d2f60d71b179055600254918a831662000490578a908e8d60018060a01b03198096161760025560009d8e8080528060205282812082825260205260ff83822054161562000454575b505050168015801562000449575b80156200043e575b801562000433575b6200042257428410620004045785841015620003e657838510620003c85785851015620003aa578615620003995788156200038857866200018085886200055d565b106200037057866200019385886200055d565b066200034c57918a620002699d9c9b9a989694926200021d9a9896948360035416176003551690600454161760045560805260a05260c05260e0528a5288527f4764e59f4e0dd9ec7df76c5cd0edc4bc07903bf235ab0e0030cc6b7e6e52f274808552846020528785208483169081875260205260ff89872054161562000310575b50506200057f565b7fa5863d4faed73f441831bf2b55550cdbfecb5080dad2352ec834a2baf15aabdc808352826020528583209184169182845260205260ff868420541615620002d4575b5050506200057f565b5190612f4f92836200062284396080518381816108870152612631015260a0518381816108e0015261253b015260c0518381816102630152612569015260e051838181610bea015261265801525182818161105a01526126d4015251818181610c9c01526126810152f35b80835282602052858320828452602052858320600160ff198254161790556000805160206200357183398151915233938751a438808062000260565b81865285602052888620818752602052888620600160ff19825416179055339160008051602062003571833981519152878b51a4388062000215565b6064878f868991519263dd76dcd560e01b8452600484015260248301526044820152fd5b8d51630bfa645d60e21b815260048101889052602490fd5b8d51630ea157a960e21b8152600490fd5b8d5163931ef49360e01b8152600490fd5b50604484868f51916383de581f60e01b835260048301526024820152fd5b50604484848f5191635d617e9360e11b835260048301526024820152fd5b50604483868f519163593d712f60e01b835260048301526024820152fd5b8d51632d6d2e3f60e21b815260048101859052426024820152604490fd5b8d5163ac0b3e2160e01b8152600490fd5b508a8a16156200013e565b508a8d161562000136565b508a8216156200012e565b80805280602052828120828252602052828120600160ff198254161790556000805160206200357183398151915281339451a48e388e62000120565b8d5162461bcd60e51b815260206004820152602c60248201527f416363657373436f6e74726f6c3a2064656661756c742061646d696e20616c7260448201526b1958591e4819dc985b9d195960a21b6064820152608490fd5b8c5162461bcd60e51b815260206004820152601e60248201527f416363657373436f6e74726f6c3a20302064656661756c742061646d696e00006044820152606490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036200052d57565b81811062000569570390565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b031660008181527fa098a4b72d8f48fdff6ff26aa11ea7d7e669b41df6dc2ae0b4aeabe0ff9a4eb160205260408120549091907f34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb729060ff1615620005e957505050565b808352826020526040832082845260205260408320600160ff19825416179055600080516020620035718339815191523393604051a456fe608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a7146121dc57508163022d63fb146121a0578163046f7da2146120e75781630aa6220b14611ffd5781630aaffd2a14611dc15781630c08bf8814611bb85781631a2c2a2b14611b765781631bfce85314611b38578163224d7e5914611aeb578163248a9ca314611aa35781632806e3d6146118c75781632a7117521461186e5781632f2ff15d146116f357816336568abe146114ce57816338af3eed1461147c57816350ad25551461107d57816350bfeadc14611024578163634e93da14610ef7578163649a5ec714610cbf578163677caf8114610c665781636efd06c114610c0d5781637313ee5a14610bb45781637ca4010114610b5b57816384ef8ffc14610a7d57816386d1a69f14610b235781638a81694c14610ad05781638da5cb5b14610a7d57816391d1485414610a0d57816396132521146109d0578163a1eda53c1461093c578163a217fddf14610903578163b297c551146108aa578163be9a655514610851578163cc8463c814610807578163cefc142914610474578163cf6eefb71461040d578163d547741f1461032157508063d602b9fd14610286578063efbe1c1c1461022e5763fbccedae146101dd57600080fd5b3461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5760209061022361021a42612539565b6005549061252e565b9051908152f35b5080fd5b503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a576102bd612727565b600180547fffffffffffff0000000000000000000000000000000000000000000000000000811690915560a01c65ffffffffffff166102f95751f35b7f8886ebfc4259abdbc16601dd8fb5678e54878f47b3c34836cfc51154a9605109828251a151f35b90503461040957817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261040957803561035b6122f3565b918115610386575090816103839285528460205261037e600185872001546129d1565b612b68565b51f35b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603760248201527f416363657373436f6e74726f6c3a2063616e2774206469726563746c7920726560448201527f766f6b652064656661756c742061646d696e20726f6c650000000000000000006064820152fd5b8280fd5b82843461047157807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104715750600154815173ffffffffffffffffffffffffffffffffffffffff8216815260a09190911c65ffffffffffff166020820152f35b80fd5b90503461040957827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104095760015473ffffffffffffffffffffffffffffffffffffffff9190821633036107845760015473ffffffffffffffffffffffffffffffffffffffff8116919060a01c65ffffffffffff16801515908161077a575b50156106f75760025492808416927fffffffffffffffffffffffff0000000000000000000000000000000000000000809516600255868052602093878552868820818952855260ff8789205416610692575b50600254928284166106105750169283911617600255838052838152828420828552815260ff8385205416156105a7575b50507fffffffffffff00000000000000000000000000000000000000000000000000006001541660015551f35b838052838152828420908285525281832060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008254161790553390837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d818551a4388061057a565b608490858851917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602c60248201527f416363657373436f6e74726f6c3a2064656661756c742061646d696e20616c7260448201527f65616479206772616e74656400000000000000000000000000000000000000006064820152fd5b87805287855286882081895285528688207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541690553390887ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b818a51a438610549565b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602860248201527f416363657373436f6e74726f6c3a207472616e736665722064656c6179206e6f60448201527f74207061737365640000000000000000000000000000000000000000000000006064820152fd5b90504211386104f7565b60849060208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602860248201527f416363657373436f6e74726f6c3a2070656e64696e672061646d696e206d757360448201527f74206163636570740000000000000000000000000000000000000000000000006064820152fd5b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5760209065ffffffffffff610849612c68565b915191168152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5751908152602090f35b82843461047157807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610471576002548060d01c91821515806109c6575b156109b8575065ffffffffffff6109b49160a01c1691925b5165ffffffffffff928316815292909116602083015281906040820190565b0390f35b928392506109b49150610995565b504283101561097d565b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a576020906005549051908152f35b90503461040957817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610409578160209360ff92610a4c6122f3565b9035825281865273ffffffffffffffffffffffffffffffffffffffff83832091168252855220541690519015158152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5760209073ffffffffffffffffffffffffffffffffffffffff600254169051908152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5760209073ffffffffffffffffffffffffffffffffffffffff600354169051908152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a576103836123f5565b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f4764e59f4e0dd9ec7df76c5cd0edc4bc07903bf235ab0e0030cc6b7e6e52f2748152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517fa5863d4faed73f441831bf2b55550cdbfecb5080dad2352ec834a2baf15aabdc8152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b83833461022a5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57823565ffffffffffff93848216808303610ef357610d0c612727565b610d1542612e82565b9186610d1f612c68565b1680831115610e8b575094959394507ff1038c18cf84a56e432fdbfaf746924b7ea511dfe03a6506a0ceba4888788d9b93610d6a92916206978080821015610e8457505b1690612ca1565b906002548060d01c80610e00575b50506002805473ffffffffffffffffffffffffffffffffffffffff1660a083901b79ffffffffffff0000000000000000000000000000000000000000161760d084901b7fffffffffffff000000000000000000000000000000000000000000000000000016179055835165ffffffffffff91821681529116602082015280604081010390a151f35b421115610e595779ffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff00000000000000000000000000000000000000000000000000006001549260301b169116176001555b8580610d78565b507f2b1fa2edafe6f7b9e97c1a9e0c3660e645beb2dcaa2d45bdbf9beaf5472e1ec5858551a1610e52565b9050610d63565b909650818110610ec7577ff1038c18cf84a56e432fdbfaf746924b7ea511dfe03a6506a0ceba4888788d9b9495965090610d6a92910390612ca1565b6024866011897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8480fd5b50503461022a5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57610f306122cb565b610f38612727565b7f3377dc44241e779dd06afab5b788a35ca5f3b778836e2990bdb26a2a4b2e5ed66020610f75610f6742612e82565b610f6f612c68565b90612ca1565b600180547fffffffffffff0000000000000000000000000000000000000000000000000000811673ffffffffffffffffffffffffffffffffffffffff9690961695861760a084811b79ffffffffffff0000000000000000000000000000000000000000169190911790925565ffffffffffff911c8116610ffa575b855191168152a251f35b7f8886ebfc4259abdbc16601dd8fb5678e54878f47b3c34836cfc51154a9605109878751a1610ff0565b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b905034610409576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611478576110b76122cb565b907f4764e59f4e0dd9ec7df76c5cd0edc4bc07903bf235ab0e0030cc6b7e6e52f274808652858252848620338752825260ff8587205416156111a657505073ffffffffffffffffffffffffffffffffffffffff80911691821561117f57506003549081169082820361112a575b50505051f35b7fffffffffffffffffffffffff0000000000000000000000000000000000000000839116176003557fd487b35f979307e581e6e2d4b6aa87dbddf2f124cef02b50e3792f4c31c76c7a848451a3388080611124565b83517fac0b3e21000000000000000000000000000000000000000000000000000000008152fd5b848491876111b333612cfc565b918351906111c082612316565b6042825286820192606036853782511561144c57603084538251906001918210156114205790607860218501536041915b818311611358575050506112fd576112f46112a9856112b860487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097601f978c9760449c9b519687936112748b86019b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008d528251928391603789019101612b33565b8401917f206973206d697373696e6720726f6c6520000000000000000000000000000000603784015251809386840190612b33565b01036028810185520183612361565b519788967f08c379a000000000000000000000000000000000000000000000000000000000885287015251809281602488015287870190612b33565b01168101030190fd5b60648587808751927f08c379a000000000000000000000000000000000000000000000000000000000845283015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f811660108110156113f4577f3031323334353637383961626364656600000000000000000000000000000000901a6113958587612cbc565b53881c9280156113c8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0191906111f1565b60248260118b7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60248360328c7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b806032897f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b806032887f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b8380fd5b82843461047157807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610471575073ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b90503461040957817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104095780356115086122f3565b918115806116cf575b6115c1575b3373ffffffffffffffffffffffffffffffffffffffff84160361153e57509061038391612b68565b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c6600000000000000000000000000000000006064820152fd5b60015473ffffffffffffffffffffffffffffffffffffffff8116159060a01c65ffffffffffff16816116bd575b816116aa575b5015611627577fffffffffffff000000000000ffffffffffffffffffffffffffffffffffffffff60015416600155611516565b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603560248201527f416363657373436f6e74726f6c3a206f6e6c792063616e2072656e6f756e636560448201527f20696e2074776f2064656c6179656420737465707300000000000000000000006064820152fd5b905065ffffffffffff42911610386115f4565b65ffffffffffff8116151591506115ee565b5073ffffffffffffffffffffffffffffffffffffffff806002541690841614611511565b90503461040957817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104095780359061172e6122f3565b9082156117eb57508184528360205261174c600184862001546129d1565b8184528360205273ffffffffffffffffffffffffffffffffffffffff83852091169081855260205260ff83852054161561178557505051f35b8184528360205282842081855260205282842060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d858551a451f35b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603660248201527f416363657373436f6e74726f6c3a2063616e2774206469726563746c7920677260448201527f616e742064656661756c742061646d696e20726f6c65000000000000000000006064820152fd5b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb728152f35b90503461040957827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610409576118ff612727565b60ff6006541615611a7c578151907f70a0823100000000000000000000000000000000000000000000000000000000825230818301526020734200000000000000000000000000000000000042918184602481865afa938415611a3f578694611a49575b508361196e57858551f35b60035485517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216928101928352602083018690529390918391859182908a90829060400103925af1928315611a3f577f6352c5382c4a4578e712449ca65e83cdb392d045dfcf1cad9615189db2da244b93611a12575b5060035416928451908152a238808080858551f35b611a3190833d8511611a38575b611a298183612361565b8101906123a2565b50386119fd565b503d611a1f565b85513d88823e3d90fd5b9093508181813d8311611a75575b611a618183612361565b81010312611a7157519238611963565b8580fd5b503d611a57565b90517ff54eef56000000000000000000000000000000000000000000000000000000008152fd5b9050346104095760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261040957816020936001923581528085522001549051908152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517342000000000000000000000000000000000000428152f35b8284346104715760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610471575061022360209235612539565b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5760209060ff6006541690519015158152f35b90503461040957827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610409577f34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb7290818452602091848352838520338652835260ff848620541615611c8457505050611c326123f5565b60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006006541617600655517f6d0d90585834980bd0e5603341ff50b06349c11e0bf9241d03f6d065f12a262b8282a1f35b839085611c9033612cfc565b91835190611c9d82612316565b6042825286820192606036853782511561144c57603084538251906001918210156114205790607860218501536041915b818311611d51575050506112fd576112f46112a9856112b860487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097601f978c9760449c9b519687936112748b86019b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008d528251928391603789019101612b33565b909192600f811660108110156113f4577f3031323334353637383961626364656600000000000000000000000000000000901a611d8e8587612cbc565b53881c9280156113c8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019190611cce565b905034610409576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261147857611dfb6122cb565b907fa5863d4faed73f441831bf2b55550cdbfecb5080dad2352ec834a2baf15aabdc808652858252848620338752825260ff858720541615611ebf57505073ffffffffffffffffffffffffffffffffffffffff80911691821561117f57805491821691838303611e6a57858551f35b7fffffffffffffffffffffffff00000000000000000000000000000000000000008491161790557fe72eaf6addaa195f3c83095031dd08f3a96808dcf047babed1fe4e4f69d6c622848451a338808080858551f35b84849187611ecc33612cfc565b91835190611ed982612316565b6042825286820192606036853782511561144c57603084538251906001918210156114205790607860218501536041915b818311611f8d575050506112fd576112f46112a9856112b860487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097601f978c9760449c9b519687936112748b86019b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008d528251928391603789019101612b33565b909192600f811660108110156113f4577f3031323334353637383961626364656600000000000000000000000000000000901a611fca8587612cbc565b53881c9280156113c8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019190611f0a565b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57612035612727565b6002548060d01c80612063575b505073ffffffffffffffffffffffffffffffffffffffff6002541660025551f35b4211156120bc5779ffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff00000000000000000000000000000000000000000000000000006001549260301b169116176001555b3880612042565b507f2b1fa2edafe6f7b9e97c1a9e0c3660e645beb2dcaa2d45bdbf9beaf5472e1ec5828251a16120b5565b90503461040957827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104095761211f612727565b6006549060ff82161561217957507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600655517fab5f6dacf93a267a93a533de8a56370de8341bbd8102017307e7be375c3dda6a8282a1f35b82517ff54eef56000000000000000000000000000000000000000000000000000000008152fd5b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5760209051620697808152f35b8491346104095760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261040957357fffffffff00000000000000000000000000000000000000000000000000000000811680910361040957602092507f3149878600000000000000000000000000000000000000000000000000000000811490811561226e575b5015158152f35b7f7965db0b000000000000000000000000000000000000000000000000000000008114915081156122a1575b5083612267565b7f01ffc9a7000000000000000000000000000000000000000000000000000000009150148361229a565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036122ee57565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff821682036122ee57565b6080810190811067ffffffffffffffff82111761233257604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761233257604052565b908160209103126122ee575180151581036122ee5790565b811981116123c6570190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60ff600654166125045761240842612539565b612415600554809261252e565b908161241f575050565b81612429916123ba565b600555600480546040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216928101929092526024820183905260208260448160007342000000000000000000000000000000000000425af19081156124f8577fc7798891864187665ac6dd119286e44ec13f014527aeeb2b8eb3fd413df93179926020926124db575b506004541692604051908152a2565b6124f190833d8111611a3857611a298183612361565b50386124cc565b6040513d6000823e3d90fd5b60046040517f07c63c5a000000000000000000000000000000000000000000000000000000008152fd5b8181106123c6570390565b7f00000000000000000000000000000000000000000000000000000000000000008110156125675750600090565b7f000000000000000000000000000000000000000000000000000000000000000081111561262b57506040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526020816024817342000000000000000000000000000000000000425afa80156124f8576000906125f8575b6125f59150600554906123ba565b90565b6020823d8211612623575b8161261060209383612361565b8101031261047157506125f590516125e7565b3d9150612603565b612656907f00000000000000000000000000000000000000000000000000000000000000009061252e565b7f00000000000000000000000000000000000000000000000000000000000000009081156126f857047f0000000000000000000000000000000000000000000000000000000000000000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048111821515166123c6576125f591027f00000000000000000000000000000000000000000000000000000000000000006123ba565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b3360009081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602090815260408083205460ff161561276657505050565b61276f33612cfc565b908381519061277d82612316565b604282528482019560603688378251156129a457603087538251906001918210156129a45790607860218501536041915b8183116128d95750505061287d57604493926112f48361283f6048601f957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097519a8b916128308b8401987f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008a526112748d8251928391603789019101612b33565b0103602881018b520189612361565b519687957f08c379a0000000000000000000000000000000000000000000000000000000008752600487015251809281602488015287870190612b33565b6064848351907f08c379a000000000000000000000000000000000000000000000000000000000825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015612977577f3031323334353637383961626364656600000000000000000000000000000000901a6129168587612cbc565b5360041c92801561294a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0191906127ae565b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526032600452fd5b6000908082526020908282526040808420338552835260ff8185205416156129f95750505050565b612a0233612cfc565b91815190612a0f82612316565b604282528482019560603688378251156129a457603087538251906001918210156129a45790607860218501536041915b818311612ac25750505061287d57604493926112f48361283f6048601f957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097519a8b916128308b8401987f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008a526112748d8251928391603789019101612b33565b909192600f81166010811015612977577f3031323334353637383961626364656600000000000000000000000000000000901a612aff8587612cbc565b5360041c92801561294a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019190612a40565b918091926000905b828210612b53575011612b4c575050565b6000910152565b91508060209183015181860152018291612b3b565b90811580612c44575b612c17575b6000918083528260205273ffffffffffffffffffffffffffffffffffffffff6040842092169182845260205260ff604084205416612bb357505050565b8083528260205260408320828452602052604083207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b3393604051a4565b7fffffffffffffffffffffffff000000000000000000000000000000000000000060025416600255612b76565b5073ffffffffffffffffffffffffffffffffffffffff806002541690821614612b71565b6002548060d01c8015159081612c97575b5015612c8d5760a01c65ffffffffffff1690565b5060015460d01c90565b9050421138612c79565b9065ffffffffffff80809316911680920381116123c6570190565b908151811015612ccd570160200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b604051906060820182811067ffffffffffffffff82111761233257604052602a8252602082016040368237825115612ccd57603090538151600190811015612ccd57607860218401536029905b808211612db7575050612d595790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f81166010811015612e54577f3031323334353637383961626364656600000000000000000000000000000000901a612df38486612cbc565b5360041c918015612e26577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190612d49565b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b65ffffffffffff90818111612e95571690565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201527f38206269747300000000000000000000000000000000000000000000000000006064820152fdfea2646970667358221220884834a6b2b08cf753b96c3fd592057d40c23a7706a284fd65b2c26ebfac5ab564736f6c634300080f00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d0000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f0000000000000000000000000635fb974f09b269bc750bf96338c29cf414301250000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f00000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f60000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec7094000000000000000000000000000000000000000000000000000000000668f66d00000000000000000000000000000000000000000000000000000000066d10b80000000000000000000000000000000000000000000000000000000006ff70e3000000000000000000000000000000000000000000000000000000000007861f80000000000000000000000000000000000000000000ecd8fada391afc1a4000000000000000000000000000000000000000000000003b363e7f0b6bf06900000\",\n        \"nonce\": \"0x1\",\n        \"chainId\": \"0xa\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1719275042,\n  \"chain\": 10,\n  \"commit\": \"fef11c3\"\n}"
  },
  {
    "path": "mainnet/2024-06-05-reredeploy-smart-escrow/records/DeploySmartEscrow.s.sol/10/run-1719275101.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xfbf363d04cecc1d6eff88341741b430d478c75e957e5f0af8cbf6473c745fa79\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"SmartEscrow\",\n      \"contractAddress\": \"0x90b8b3ee045930200643427b648a2b3b073f9a4b\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0\",\n        \"0x635Fb974F09B269Bc750bF96338c29cF41430125\",\n        \"0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0\",\n        \"0x6e1DFd5C1E22A4677663A81D24C6BA03561ef0f6\",\n        \"0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940\",\n        \"1720674000\",\n        \"1724976000\",\n        \"1878462000\",\n        \"7889400\",\n        \"17895697000000000000000000\",\n        \"4473924000000000000000000\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x89ebc5eb7163470e23fcc24833eea6bb93a7b045\",\n        \"gas\": \"0x393df7\",\n        \"value\": \"0x0\",\n        \"input\": \"0x610140346200052d57601f6200359138819003918201601f1916830191906001600160401b0383118484101762000532578161016092859260409586528339810103126200052d57620000528262000548565b90620000616020840162000548565b6200006e82850162000548565b906200007d6060860162000548565b916200008c6080870162000548565b9060a08701519560c08801519760e081015198610100998a830151916101209a6101408c8601519501519560018060a01b03809916998a15620004e957600180546001600160d01b0316610d2f60d71b179055600254918a831662000490578a908e8d60018060a01b03198096161760025560009d8e8080528060205282812082825260205260ff83822054161562000454575b505050168015801562000449575b80156200043e575b801562000433575b6200042257428410620004045785841015620003e657838510620003c85785851015620003aa578615620003995788156200038857866200018085886200055d565b106200037057866200019385886200055d565b066200034c57918a620002699d9c9b9a989694926200021d9a9896948360035416176003551690600454161760045560805260a05260c05260e0528a5288527f4764e59f4e0dd9ec7df76c5cd0edc4bc07903bf235ab0e0030cc6b7e6e52f274808552846020528785208483169081875260205260ff89872054161562000310575b50506200057f565b7fa5863d4faed73f441831bf2b55550cdbfecb5080dad2352ec834a2baf15aabdc808352826020528583209184169182845260205260ff868420541615620002d4575b5050506200057f565b5190612f4f92836200062284396080518381816108870152612631015260a0518381816108e0015261253b015260c0518381816102630152612569015260e051838181610bea015261265801525182818161105a01526126d4015251818181610c9c01526126810152f35b80835282602052858320828452602052858320600160ff198254161790556000805160206200357183398151915233938751a438808062000260565b81865285602052888620818752602052888620600160ff19825416179055339160008051602062003571833981519152878b51a4388062000215565b6064878f868991519263dd76dcd560e01b8452600484015260248301526044820152fd5b8d51630bfa645d60e21b815260048101889052602490fd5b8d51630ea157a960e21b8152600490fd5b8d5163931ef49360e01b8152600490fd5b50604484868f51916383de581f60e01b835260048301526024820152fd5b50604484848f5191635d617e9360e11b835260048301526024820152fd5b50604483868f519163593d712f60e01b835260048301526024820152fd5b8d51632d6d2e3f60e21b815260048101859052426024820152604490fd5b8d5163ac0b3e2160e01b8152600490fd5b508a8a16156200013e565b508a8d161562000136565b508a8216156200012e565b80805280602052828120828252602052828120600160ff198254161790556000805160206200357183398151915281339451a48e388e62000120565b8d5162461bcd60e51b815260206004820152602c60248201527f416363657373436f6e74726f6c3a2064656661756c742061646d696e20616c7260448201526b1958591e4819dc985b9d195960a21b6064820152608490fd5b8c5162461bcd60e51b815260206004820152601e60248201527f416363657373436f6e74726f6c3a20302064656661756c742061646d696e00006044820152606490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036200052d57565b81811062000569570390565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b031660008181527fa098a4b72d8f48fdff6ff26aa11ea7d7e669b41df6dc2ae0b4aeabe0ff9a4eb160205260408120549091907f34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb729060ff1615620005e957505050565b808352826020526040832082845260205260408320600160ff19825416179055600080516020620035718339815191523393604051a456fe608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a7146121dc57508163022d63fb146121a0578163046f7da2146120e75781630aa6220b14611ffd5781630aaffd2a14611dc15781630c08bf8814611bb85781631a2c2a2b14611b765781631bfce85314611b38578163224d7e5914611aeb578163248a9ca314611aa35781632806e3d6146118c75781632a7117521461186e5781632f2ff15d146116f357816336568abe146114ce57816338af3eed1461147c57816350ad25551461107d57816350bfeadc14611024578163634e93da14610ef7578163649a5ec714610cbf578163677caf8114610c665781636efd06c114610c0d5781637313ee5a14610bb45781637ca4010114610b5b57816384ef8ffc14610a7d57816386d1a69f14610b235781638a81694c14610ad05781638da5cb5b14610a7d57816391d1485414610a0d57816396132521146109d0578163a1eda53c1461093c578163a217fddf14610903578163b297c551146108aa578163be9a655514610851578163cc8463c814610807578163cefc142914610474578163cf6eefb71461040d578163d547741f1461032157508063d602b9fd14610286578063efbe1c1c1461022e5763fbccedae146101dd57600080fd5b3461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5760209061022361021a42612539565b6005549061252e565b9051908152f35b5080fd5b503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a576102bd612727565b600180547fffffffffffff0000000000000000000000000000000000000000000000000000811690915560a01c65ffffffffffff166102f95751f35b7f8886ebfc4259abdbc16601dd8fb5678e54878f47b3c34836cfc51154a9605109828251a151f35b90503461040957817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261040957803561035b6122f3565b918115610386575090816103839285528460205261037e600185872001546129d1565b612b68565b51f35b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603760248201527f416363657373436f6e74726f6c3a2063616e2774206469726563746c7920726560448201527f766f6b652064656661756c742061646d696e20726f6c650000000000000000006064820152fd5b8280fd5b82843461047157807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104715750600154815173ffffffffffffffffffffffffffffffffffffffff8216815260a09190911c65ffffffffffff166020820152f35b80fd5b90503461040957827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104095760015473ffffffffffffffffffffffffffffffffffffffff9190821633036107845760015473ffffffffffffffffffffffffffffffffffffffff8116919060a01c65ffffffffffff16801515908161077a575b50156106f75760025492808416927fffffffffffffffffffffffff0000000000000000000000000000000000000000809516600255868052602093878552868820818952855260ff8789205416610692575b50600254928284166106105750169283911617600255838052838152828420828552815260ff8385205416156105a7575b50507fffffffffffff00000000000000000000000000000000000000000000000000006001541660015551f35b838052838152828420908285525281832060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008254161790553390837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d818551a4388061057a565b608490858851917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602c60248201527f416363657373436f6e74726f6c3a2064656661756c742061646d696e20616c7260448201527f65616479206772616e74656400000000000000000000000000000000000000006064820152fd5b87805287855286882081895285528688207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541690553390887ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b818a51a438610549565b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602860248201527f416363657373436f6e74726f6c3a207472616e736665722064656c6179206e6f60448201527f74207061737365640000000000000000000000000000000000000000000000006064820152fd5b90504211386104f7565b60849060208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602860248201527f416363657373436f6e74726f6c3a2070656e64696e672061646d696e206d757360448201527f74206163636570740000000000000000000000000000000000000000000000006064820152fd5b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5760209065ffffffffffff610849612c68565b915191168152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5751908152602090f35b82843461047157807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610471576002548060d01c91821515806109c6575b156109b8575065ffffffffffff6109b49160a01c1691925b5165ffffffffffff928316815292909116602083015281906040820190565b0390f35b928392506109b49150610995565b504283101561097d565b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a576020906005549051908152f35b90503461040957817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610409578160209360ff92610a4c6122f3565b9035825281865273ffffffffffffffffffffffffffffffffffffffff83832091168252855220541690519015158152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5760209073ffffffffffffffffffffffffffffffffffffffff600254169051908152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5760209073ffffffffffffffffffffffffffffffffffffffff600354169051908152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a576103836123f5565b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f4764e59f4e0dd9ec7df76c5cd0edc4bc07903bf235ab0e0030cc6b7e6e52f2748152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517fa5863d4faed73f441831bf2b55550cdbfecb5080dad2352ec834a2baf15aabdc8152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b83833461022a5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57823565ffffffffffff93848216808303610ef357610d0c612727565b610d1542612e82565b9186610d1f612c68565b1680831115610e8b575094959394507ff1038c18cf84a56e432fdbfaf746924b7ea511dfe03a6506a0ceba4888788d9b93610d6a92916206978080821015610e8457505b1690612ca1565b906002548060d01c80610e00575b50506002805473ffffffffffffffffffffffffffffffffffffffff1660a083901b79ffffffffffff0000000000000000000000000000000000000000161760d084901b7fffffffffffff000000000000000000000000000000000000000000000000000016179055835165ffffffffffff91821681529116602082015280604081010390a151f35b421115610e595779ffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff00000000000000000000000000000000000000000000000000006001549260301b169116176001555b8580610d78565b507f2b1fa2edafe6f7b9e97c1a9e0c3660e645beb2dcaa2d45bdbf9beaf5472e1ec5858551a1610e52565b9050610d63565b909650818110610ec7577ff1038c18cf84a56e432fdbfaf746924b7ea511dfe03a6506a0ceba4888788d9b9495965090610d6a92910390612ca1565b6024866011897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8480fd5b50503461022a5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57610f306122cb565b610f38612727565b7f3377dc44241e779dd06afab5b788a35ca5f3b778836e2990bdb26a2a4b2e5ed66020610f75610f6742612e82565b610f6f612c68565b90612ca1565b600180547fffffffffffff0000000000000000000000000000000000000000000000000000811673ffffffffffffffffffffffffffffffffffffffff9690961695861760a084811b79ffffffffffff0000000000000000000000000000000000000000169190911790925565ffffffffffff911c8116610ffa575b855191168152a251f35b7f8886ebfc4259abdbc16601dd8fb5678e54878f47b3c34836cfc51154a9605109878751a1610ff0565b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b905034610409576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611478576110b76122cb565b907f4764e59f4e0dd9ec7df76c5cd0edc4bc07903bf235ab0e0030cc6b7e6e52f274808652858252848620338752825260ff8587205416156111a657505073ffffffffffffffffffffffffffffffffffffffff80911691821561117f57506003549081169082820361112a575b50505051f35b7fffffffffffffffffffffffff0000000000000000000000000000000000000000839116176003557fd487b35f979307e581e6e2d4b6aa87dbddf2f124cef02b50e3792f4c31c76c7a848451a3388080611124565b83517fac0b3e21000000000000000000000000000000000000000000000000000000008152fd5b848491876111b333612cfc565b918351906111c082612316565b6042825286820192606036853782511561144c57603084538251906001918210156114205790607860218501536041915b818311611358575050506112fd576112f46112a9856112b860487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097601f978c9760449c9b519687936112748b86019b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008d528251928391603789019101612b33565b8401917f206973206d697373696e6720726f6c6520000000000000000000000000000000603784015251809386840190612b33565b01036028810185520183612361565b519788967f08c379a000000000000000000000000000000000000000000000000000000000885287015251809281602488015287870190612b33565b01168101030190fd5b60648587808751927f08c379a000000000000000000000000000000000000000000000000000000000845283015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f811660108110156113f4577f3031323334353637383961626364656600000000000000000000000000000000901a6113958587612cbc565b53881c9280156113c8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0191906111f1565b60248260118b7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60248360328c7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b806032897f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b806032887f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b8380fd5b82843461047157807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610471575073ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b90503461040957817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104095780356115086122f3565b918115806116cf575b6115c1575b3373ffffffffffffffffffffffffffffffffffffffff84160361153e57509061038391612b68565b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c6600000000000000000000000000000000006064820152fd5b60015473ffffffffffffffffffffffffffffffffffffffff8116159060a01c65ffffffffffff16816116bd575b816116aa575b5015611627577fffffffffffff000000000000ffffffffffffffffffffffffffffffffffffffff60015416600155611516565b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603560248201527f416363657373436f6e74726f6c3a206f6e6c792063616e2072656e6f756e636560448201527f20696e2074776f2064656c6179656420737465707300000000000000000000006064820152fd5b905065ffffffffffff42911610386115f4565b65ffffffffffff8116151591506115ee565b5073ffffffffffffffffffffffffffffffffffffffff806002541690841614611511565b90503461040957817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104095780359061172e6122f3565b9082156117eb57508184528360205261174c600184862001546129d1565b8184528360205273ffffffffffffffffffffffffffffffffffffffff83852091169081855260205260ff83852054161561178557505051f35b8184528360205282842081855260205282842060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d858551a451f35b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603660248201527f416363657373436f6e74726f6c3a2063616e2774206469726563746c7920677260448201527f616e742064656661756c742061646d696e20726f6c65000000000000000000006064820152fd5b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb728152f35b90503461040957827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610409576118ff612727565b60ff6006541615611a7c578151907f70a0823100000000000000000000000000000000000000000000000000000000825230818301526020734200000000000000000000000000000000000042918184602481865afa938415611a3f578694611a49575b508361196e57858551f35b60035485517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216928101928352602083018690529390918391859182908a90829060400103925af1928315611a3f577f6352c5382c4a4578e712449ca65e83cdb392d045dfcf1cad9615189db2da244b93611a12575b5060035416928451908152a238808080858551f35b611a3190833d8511611a38575b611a298183612361565b8101906123a2565b50386119fd565b503d611a1f565b85513d88823e3d90fd5b9093508181813d8311611a75575b611a618183612361565b81010312611a7157519238611963565b8580fd5b503d611a57565b90517ff54eef56000000000000000000000000000000000000000000000000000000008152fd5b9050346104095760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261040957816020936001923581528085522001549051908152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517342000000000000000000000000000000000000428152f35b8284346104715760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610471575061022360209235612539565b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5760209060ff6006541690519015158152f35b90503461040957827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610409577f34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb7290818452602091848352838520338652835260ff848620541615611c8457505050611c326123f5565b60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006006541617600655517f6d0d90585834980bd0e5603341ff50b06349c11e0bf9241d03f6d065f12a262b8282a1f35b839085611c9033612cfc565b91835190611c9d82612316565b6042825286820192606036853782511561144c57603084538251906001918210156114205790607860218501536041915b818311611d51575050506112fd576112f46112a9856112b860487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097601f978c9760449c9b519687936112748b86019b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008d528251928391603789019101612b33565b909192600f811660108110156113f4577f3031323334353637383961626364656600000000000000000000000000000000901a611d8e8587612cbc565b53881c9280156113c8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019190611cce565b905034610409576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261147857611dfb6122cb565b907fa5863d4faed73f441831bf2b55550cdbfecb5080dad2352ec834a2baf15aabdc808652858252848620338752825260ff858720541615611ebf57505073ffffffffffffffffffffffffffffffffffffffff80911691821561117f57805491821691838303611e6a57858551f35b7fffffffffffffffffffffffff00000000000000000000000000000000000000008491161790557fe72eaf6addaa195f3c83095031dd08f3a96808dcf047babed1fe4e4f69d6c622848451a338808080858551f35b84849187611ecc33612cfc565b91835190611ed982612316565b6042825286820192606036853782511561144c57603084538251906001918210156114205790607860218501536041915b818311611f8d575050506112fd576112f46112a9856112b860487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097601f978c9760449c9b519687936112748b86019b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008d528251928391603789019101612b33565b909192600f811660108110156113f4577f3031323334353637383961626364656600000000000000000000000000000000901a611fca8587612cbc565b53881c9280156113c8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019190611f0a565b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57612035612727565b6002548060d01c80612063575b505073ffffffffffffffffffffffffffffffffffffffff6002541660025551f35b4211156120bc5779ffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff00000000000000000000000000000000000000000000000000006001549260301b169116176001555b3880612042565b507f2b1fa2edafe6f7b9e97c1a9e0c3660e645beb2dcaa2d45bdbf9beaf5472e1ec5828251a16120b5565b90503461040957827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104095761211f612727565b6006549060ff82161561217957507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600655517fab5f6dacf93a267a93a533de8a56370de8341bbd8102017307e7be375c3dda6a8282a1f35b82517ff54eef56000000000000000000000000000000000000000000000000000000008152fd5b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5760209051620697808152f35b8491346104095760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261040957357fffffffff00000000000000000000000000000000000000000000000000000000811680910361040957602092507f3149878600000000000000000000000000000000000000000000000000000000811490811561226e575b5015158152f35b7f7965db0b000000000000000000000000000000000000000000000000000000008114915081156122a1575b5083612267565b7f01ffc9a7000000000000000000000000000000000000000000000000000000009150148361229a565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036122ee57565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff821682036122ee57565b6080810190811067ffffffffffffffff82111761233257604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761233257604052565b908160209103126122ee575180151581036122ee5790565b811981116123c6570190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60ff600654166125045761240842612539565b612415600554809261252e565b908161241f575050565b81612429916123ba565b600555600480546040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216928101929092526024820183905260208260448160007342000000000000000000000000000000000000425af19081156124f8577fc7798891864187665ac6dd119286e44ec13f014527aeeb2b8eb3fd413df93179926020926124db575b506004541692604051908152a2565b6124f190833d8111611a3857611a298183612361565b50386124cc565b6040513d6000823e3d90fd5b60046040517f07c63c5a000000000000000000000000000000000000000000000000000000008152fd5b8181106123c6570390565b7f00000000000000000000000000000000000000000000000000000000000000008110156125675750600090565b7f000000000000000000000000000000000000000000000000000000000000000081111561262b57506040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526020816024817342000000000000000000000000000000000000425afa80156124f8576000906125f8575b6125f59150600554906123ba565b90565b6020823d8211612623575b8161261060209383612361565b8101031261047157506125f590516125e7565b3d9150612603565b612656907f00000000000000000000000000000000000000000000000000000000000000009061252e565b7f00000000000000000000000000000000000000000000000000000000000000009081156126f857047f0000000000000000000000000000000000000000000000000000000000000000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048111821515166123c6576125f591027f00000000000000000000000000000000000000000000000000000000000000006123ba565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b3360009081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602090815260408083205460ff161561276657505050565b61276f33612cfc565b908381519061277d82612316565b604282528482019560603688378251156129a457603087538251906001918210156129a45790607860218501536041915b8183116128d95750505061287d57604493926112f48361283f6048601f957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097519a8b916128308b8401987f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008a526112748d8251928391603789019101612b33565b0103602881018b520189612361565b519687957f08c379a0000000000000000000000000000000000000000000000000000000008752600487015251809281602488015287870190612b33565b6064848351907f08c379a000000000000000000000000000000000000000000000000000000000825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015612977577f3031323334353637383961626364656600000000000000000000000000000000901a6129168587612cbc565b5360041c92801561294a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0191906127ae565b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526032600452fd5b6000908082526020908282526040808420338552835260ff8185205416156129f95750505050565b612a0233612cfc565b91815190612a0f82612316565b604282528482019560603688378251156129a457603087538251906001918210156129a45790607860218501536041915b818311612ac25750505061287d57604493926112f48361283f6048601f957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097519a8b916128308b8401987f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008a526112748d8251928391603789019101612b33565b909192600f81166010811015612977577f3031323334353637383961626364656600000000000000000000000000000000901a612aff8587612cbc565b5360041c92801561294a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019190612a40565b918091926000905b828210612b53575011612b4c575050565b6000910152565b91508060209183015181860152018291612b3b565b90811580612c44575b612c17575b6000918083528260205273ffffffffffffffffffffffffffffffffffffffff6040842092169182845260205260ff604084205416612bb357505050565b8083528260205260408320828452602052604083207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b3393604051a4565b7fffffffffffffffffffffffff000000000000000000000000000000000000000060025416600255612b76565b5073ffffffffffffffffffffffffffffffffffffffff806002541690821614612b71565b6002548060d01c8015159081612c97575b5015612c8d5760a01c65ffffffffffff1690565b5060015460d01c90565b9050421138612c79565b9065ffffffffffff80809316911680920381116123c6570190565b908151811015612ccd570160200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b604051906060820182811067ffffffffffffffff82111761233257604052602a8252602082016040368237825115612ccd57603090538151600190811015612ccd57607860218401536029905b808211612db7575050612d595790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f81166010811015612e54577f3031323334353637383961626364656600000000000000000000000000000000901a612df38486612cbc565b5360041c918015612e26577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190612d49565b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b65ffffffffffff90818111612e95571690565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201527f38206269747300000000000000000000000000000000000000000000000000006064820152fdfea2646970667358221220884834a6b2b08cf753b96c3fd592057d40c23a7706a284fd65b2c26ebfac5ab564736f6c634300080f00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d0000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f0000000000000000000000000635fb974f09b269bc750bf96338c29cf414301250000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f00000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f60000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec7094000000000000000000000000000000000000000000000000000000000668f66d00000000000000000000000000000000000000000000000000000000066d10b80000000000000000000000000000000000000000000000000000000006ff70e3000000000000000000000000000000000000000000000000000000000007861f80000000000000000000000000000000000000000000ecd8fada391afc1a4000000000000000000000000000000000000000000000003b363e7f0b6bf06900000\",\n        \"nonce\": \"0x1\",\n        \"chainId\": \"0xa\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x4cc674\",\n      \"logs\": [\n        {\n          \"address\": \"0x90b8b3ee045930200643427b648a2b3b073f9a4b\",\n          \"topics\": [\n            \"0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec70940\",\n            \"0x00000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x19df39a1e7cb42ea926ce18275e23d24644bb3c182f023ce805a625c7c2b3e5b\",\n          \"blockNumber\": \"0x7431a4f\",\n          \"transactionHash\": \"0xfbf363d04cecc1d6eff88341741b430d478c75e957e5f0af8cbf6473c745fa79\",\n          \"transactionIndex\": \"0x9\",\n          \"logIndex\": \"0x4f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x90b8b3ee045930200643427b648a2b3b073f9a4b\",\n          \"topics\": [\n            \"0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d\",\n            \"0x4764e59f4e0dd9ec7df76c5cd0edc4bc07903bf235ab0e0030cc6b7e6e52f274\",\n            \"0x0000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f0\",\n            \"0x00000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x19df39a1e7cb42ea926ce18275e23d24644bb3c182f023ce805a625c7c2b3e5b\",\n          \"blockNumber\": \"0x7431a4f\",\n          \"transactionHash\": \"0xfbf363d04cecc1d6eff88341741b430d478c75e957e5f0af8cbf6473c745fa79\",\n          \"transactionIndex\": \"0x9\",\n          \"logIndex\": \"0x50\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x90b8b3ee045930200643427b648a2b3b073f9a4b\",\n          \"topics\": [\n            \"0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d\",\n            \"0x34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb72\",\n            \"0x0000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f0\",\n            \"0x00000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x19df39a1e7cb42ea926ce18275e23d24644bb3c182f023ce805a625c7c2b3e5b\",\n          \"blockNumber\": \"0x7431a4f\",\n          \"transactionHash\": \"0xfbf363d04cecc1d6eff88341741b430d478c75e957e5f0af8cbf6473c745fa79\",\n          \"transactionIndex\": \"0x9\",\n          \"logIndex\": \"0x51\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x90b8b3ee045930200643427b648a2b3b073f9a4b\",\n          \"topics\": [\n            \"0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d\",\n            \"0xa5863d4faed73f441831bf2b55550cdbfecb5080dad2352ec834a2baf15aabdc\",\n            \"0x0000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f6\",\n            \"0x00000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x19df39a1e7cb42ea926ce18275e23d24644bb3c182f023ce805a625c7c2b3e5b\",\n          \"blockNumber\": \"0x7431a4f\",\n          \"transactionHash\": \"0xfbf363d04cecc1d6eff88341741b430d478c75e957e5f0af8cbf6473c745fa79\",\n          \"transactionIndex\": \"0x9\",\n          \"logIndex\": \"0x52\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x90b8b3ee045930200643427b648a2b3b073f9a4b\",\n          \"topics\": [\n            \"0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d\",\n            \"0x34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb72\",\n            \"0x0000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f6\",\n            \"0x00000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x19df39a1e7cb42ea926ce18275e23d24644bb3c182f023ce805a625c7c2b3e5b\",\n          \"blockNumber\": \"0x7431a4f\",\n          \"transactionHash\": \"0xfbf363d04cecc1d6eff88341741b430d478c75e957e5f0af8cbf6473c745fa79\",\n          \"transactionIndex\": \"0x9\",\n          \"logIndex\": \"0x53\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x01000004000000000000000000040000000000000000000000000000000800000000000000000000000000000000000000000000000080010000000800000100000000000000000000000000000000000000000001000002000000000000000020000000020000000000010100800800000000000000000000000000000000000000100000000000000000000000002000100000080000000000000000000000000000000000000000000000000000000000000000000000801000000000000200000000000000000000000000000000000001000000000900000000000020000000000000000000000201000000000200000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xfbf363d04cecc1d6eff88341741b430d478c75e957e5f0af8cbf6473c745fa79\",\n      \"transactionIndex\": \"0x9\",\n      \"blockHash\": \"0x19df39a1e7cb42ea926ce18275e23d24644bb3c182f023ce805a625c7c2b3e5b\",\n      \"blockNumber\": \"0x7431a4f\",\n      \"gasUsed\": \"0x2c0bb8\",\n      \"effectiveGasPrice\": \"0x3a7e77e\",\n      \"from\": \"0x89ebc5eb7163470e23fcc24833eea6bb93a7b045\",\n      \"to\": null,\n      \"contractAddress\": \"0x90b8b3ee045930200643427b648a2b3b073f9a4b\",\n      \"l1Fee\": \"0xcee548fdbb\",\n      \"l1GasPrice\": \"0xc47b93a4\",\n      \"l1GasUsed\": \"0x301bc\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1719275101,\n  \"chain\": 10,\n  \"commit\": \"fef11c3\"\n}"
  },
  {
    "path": "mainnet/2024-06-05-reredeploy-smart-escrow/records/DeploySmartEscrow.s.sol/10/run-1722111961.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xcec091a1fc84128278aec22d0ff93eefcc2da4f84b7641df8c2f13d50533a45a\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"SmartEscrow\",\n      \"contractAddress\": \"0xb3c2f9fc2727078ec3a2255410e83ba5b62c5b5f\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0\",\n        \"0x635Fb974F09B269Bc750bF96338c29cF41430125\",\n        \"0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0\",\n        \"0x6e1DFd5C1E22A4677663A81D24C6BA03561ef0f6\",\n        \"0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940\",\n        \"1720674000\",\n        \"1724976000\",\n        \"1878462000\",\n        \"7889400\",\n        \"28633115000000000000000000\",\n        \"4473924000000000000000000\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xbbc9b955be73ca4eeb28e988e9d21d2538978f03\",\n        \"gas\": \"0x393ad5\",\n        \"value\": \"0x0\",\n        \"input\": \"0x610140346200050757601f6200356b38819003918201601f1916830191906001600160401b038311848410176200050c578161016092859260409586528339810103126200050757620000528262000522565b90620000616020840162000522565b6200006e82850162000522565b906200007d6060860162000522565b916200008c6080870162000522565b9060a08701519560c08801519760e081015198610100998a830151916101209a6101408c8601519501519560018060a01b03809916998a15620004c357600180546001600160d01b0316610d2f60d71b179055600254918a83166200046a578a908e8d60018060a01b03198096161760025560009d8e8080528060205282812082825260205260ff8382205416156200042e575b505050168015801562000423575b801562000418575b80156200040d575b620003fc5785841015620003de57838510620003c05785851015620003a25786156200039157881562000380578662000178858862000537565b106200036857866200018b858862000537565b066200034457918a620002619d9c9b9a98969492620002159a9896948360035416176003551690600454161760045560805260a05260c05260e0528a5288527f4764e59f4e0dd9ec7df76c5cd0edc4bc07903bf235ab0e0030cc6b7e6e52f274808552846020528785208483169081875260205260ff89872054161562000308575b505062000559565b7fa5863d4faed73f441831bf2b55550cdbfecb5080dad2352ec834a2baf15aabdc808352826020528583209184169182845260205260ff868420541615620002cc575b50505062000559565b5190612f4f9283620005fc84396080518381816108870152612631015260a0518381816108e0015261253b015260c0518381816102630152612569015260e051838181610bea015261265801525182818161105a01526126d4015251818181610c9c01526126810152f35b80835282602052858320828452602052858320600160ff198254161790556000805160206200354b83398151915233938751a438808062000258565b81865285602052888620818752602052888620600160ff1982541617905533916000805160206200354b833981519152878b51a438806200020d565b6064878f868991519263dd76dcd560e01b8452600484015260248301526044820152fd5b8d51630bfa645d60e21b815260048101889052602490fd5b8d51630ea157a960e21b8152600490fd5b8d5163931ef49360e01b8152600490fd5b50604484868f51916383de581f60e01b835260048301526024820152fd5b50604484848f5191635d617e9360e11b835260048301526024820152fd5b50604483868f519163593d712f60e01b835260048301526024820152fd5b8d5163ac0b3e2160e01b8152600490fd5b508a8a16156200013e565b508a8d161562000136565b508a8216156200012e565b80805280602052828120828252602052828120600160ff198254161790556000805160206200354b83398151915281339451a48e388e62000120565b8d5162461bcd60e51b815260206004820152602c60248201527f416363657373436f6e74726f6c3a2064656661756c742061646d696e20616c7260448201526b1958591e4819dc985b9d195960a21b6064820152608490fd5b8c5162461bcd60e51b815260206004820152601e60248201527f416363657373436f6e74726f6c3a20302064656661756c742061646d696e00006044820152606490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036200050757565b81811062000543570390565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b031660008181527fa098a4b72d8f48fdff6ff26aa11ea7d7e669b41df6dc2ae0b4aeabe0ff9a4eb160205260408120549091907f34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb729060ff1615620005c357505050565b808352826020526040832082845260205260408320600160ff198254161790556000805160206200354b8339815191523393604051a456fe608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a7146121dc57508163022d63fb146121a0578163046f7da2146120e75781630aa6220b14611ffd5781630aaffd2a14611dc15781630c08bf8814611bb85781631a2c2a2b14611b765781631bfce85314611b38578163224d7e5914611aeb578163248a9ca314611aa35781632806e3d6146118c75781632a7117521461186e5781632f2ff15d146116f357816336568abe146114ce57816338af3eed1461147c57816350ad25551461107d57816350bfeadc14611024578163634e93da14610ef7578163649a5ec714610cbf578163677caf8114610c665781636efd06c114610c0d5781637313ee5a14610bb45781637ca4010114610b5b57816384ef8ffc14610a7d57816386d1a69f14610b235781638a81694c14610ad05781638da5cb5b14610a7d57816391d1485414610a0d57816396132521146109d0578163a1eda53c1461093c578163a217fddf14610903578163b297c551146108aa578163be9a655514610851578163cc8463c814610807578163cefc142914610474578163cf6eefb71461040d578163d547741f1461032157508063d602b9fd14610286578063efbe1c1c1461022e5763fbccedae146101dd57600080fd5b3461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5760209061022361021a42612539565b6005549061252e565b9051908152f35b5080fd5b503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a576102bd612727565b600180547fffffffffffff0000000000000000000000000000000000000000000000000000811690915560a01c65ffffffffffff166102f95751f35b7f8886ebfc4259abdbc16601dd8fb5678e54878f47b3c34836cfc51154a9605109828251a151f35b90503461040957817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261040957803561035b6122f3565b918115610386575090816103839285528460205261037e600185872001546129d1565b612b68565b51f35b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603760248201527f416363657373436f6e74726f6c3a2063616e2774206469726563746c7920726560448201527f766f6b652064656661756c742061646d696e20726f6c650000000000000000006064820152fd5b8280fd5b82843461047157807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104715750600154815173ffffffffffffffffffffffffffffffffffffffff8216815260a09190911c65ffffffffffff166020820152f35b80fd5b90503461040957827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104095760015473ffffffffffffffffffffffffffffffffffffffff9190821633036107845760015473ffffffffffffffffffffffffffffffffffffffff8116919060a01c65ffffffffffff16801515908161077a575b50156106f75760025492808416927fffffffffffffffffffffffff0000000000000000000000000000000000000000809516600255868052602093878552868820818952855260ff8789205416610692575b50600254928284166106105750169283911617600255838052838152828420828552815260ff8385205416156105a7575b50507fffffffffffff00000000000000000000000000000000000000000000000000006001541660015551f35b838052838152828420908285525281832060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008254161790553390837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d818551a4388061057a565b608490858851917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602c60248201527f416363657373436f6e74726f6c3a2064656661756c742061646d696e20616c7260448201527f65616479206772616e74656400000000000000000000000000000000000000006064820152fd5b87805287855286882081895285528688207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541690553390887ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b818a51a438610549565b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602860248201527f416363657373436f6e74726f6c3a207472616e736665722064656c6179206e6f60448201527f74207061737365640000000000000000000000000000000000000000000000006064820152fd5b90504211386104f7565b60849060208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602860248201527f416363657373436f6e74726f6c3a2070656e64696e672061646d696e206d757360448201527f74206163636570740000000000000000000000000000000000000000000000006064820152fd5b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5760209065ffffffffffff610849612c68565b915191168152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5751908152602090f35b82843461047157807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610471576002548060d01c91821515806109c6575b156109b8575065ffffffffffff6109b49160a01c1691925b5165ffffffffffff928316815292909116602083015281906040820190565b0390f35b928392506109b49150610995565b504283101561097d565b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a576020906005549051908152f35b90503461040957817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610409578160209360ff92610a4c6122f3565b9035825281865273ffffffffffffffffffffffffffffffffffffffff83832091168252855220541690519015158152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5760209073ffffffffffffffffffffffffffffffffffffffff600254169051908152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5760209073ffffffffffffffffffffffffffffffffffffffff600354169051908152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a576103836123f5565b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f4764e59f4e0dd9ec7df76c5cd0edc4bc07903bf235ab0e0030cc6b7e6e52f2748152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517fa5863d4faed73f441831bf2b55550cdbfecb5080dad2352ec834a2baf15aabdc8152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b83833461022a5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57823565ffffffffffff93848216808303610ef357610d0c612727565b610d1542612e82565b9186610d1f612c68565b1680831115610e8b575094959394507ff1038c18cf84a56e432fdbfaf746924b7ea511dfe03a6506a0ceba4888788d9b93610d6a92916206978080821015610e8457505b1690612ca1565b906002548060d01c80610e00575b50506002805473ffffffffffffffffffffffffffffffffffffffff1660a083901b79ffffffffffff0000000000000000000000000000000000000000161760d084901b7fffffffffffff000000000000000000000000000000000000000000000000000016179055835165ffffffffffff91821681529116602082015280604081010390a151f35b421115610e595779ffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff00000000000000000000000000000000000000000000000000006001549260301b169116176001555b8580610d78565b507f2b1fa2edafe6f7b9e97c1a9e0c3660e645beb2dcaa2d45bdbf9beaf5472e1ec5858551a1610e52565b9050610d63565b909650818110610ec7577ff1038c18cf84a56e432fdbfaf746924b7ea511dfe03a6506a0ceba4888788d9b9495965090610d6a92910390612ca1565b6024866011897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8480fd5b50503461022a5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57610f306122cb565b610f38612727565b7f3377dc44241e779dd06afab5b788a35ca5f3b778836e2990bdb26a2a4b2e5ed66020610f75610f6742612e82565b610f6f612c68565b90612ca1565b600180547fffffffffffff0000000000000000000000000000000000000000000000000000811673ffffffffffffffffffffffffffffffffffffffff9690961695861760a084811b79ffffffffffff0000000000000000000000000000000000000000169190911790925565ffffffffffff911c8116610ffa575b855191168152a251f35b7f8886ebfc4259abdbc16601dd8fb5678e54878f47b3c34836cfc51154a9605109878751a1610ff0565b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b905034610409576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611478576110b76122cb565b907f4764e59f4e0dd9ec7df76c5cd0edc4bc07903bf235ab0e0030cc6b7e6e52f274808652858252848620338752825260ff8587205416156111a657505073ffffffffffffffffffffffffffffffffffffffff80911691821561117f57506003549081169082820361112a575b50505051f35b7fffffffffffffffffffffffff0000000000000000000000000000000000000000839116176003557fd487b35f979307e581e6e2d4b6aa87dbddf2f124cef02b50e3792f4c31c76c7a848451a3388080611124565b83517fac0b3e21000000000000000000000000000000000000000000000000000000008152fd5b848491876111b333612cfc565b918351906111c082612316565b6042825286820192606036853782511561144c57603084538251906001918210156114205790607860218501536041915b818311611358575050506112fd576112f46112a9856112b860487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097601f978c9760449c9b519687936112748b86019b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008d528251928391603789019101612b33565b8401917f206973206d697373696e6720726f6c6520000000000000000000000000000000603784015251809386840190612b33565b01036028810185520183612361565b519788967f08c379a000000000000000000000000000000000000000000000000000000000885287015251809281602488015287870190612b33565b01168101030190fd5b60648587808751927f08c379a000000000000000000000000000000000000000000000000000000000845283015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f811660108110156113f4577f3031323334353637383961626364656600000000000000000000000000000000901a6113958587612cbc565b53881c9280156113c8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0191906111f1565b60248260118b7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60248360328c7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b806032897f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b806032887f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b8380fd5b82843461047157807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610471575073ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b90503461040957817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104095780356115086122f3565b918115806116cf575b6115c1575b3373ffffffffffffffffffffffffffffffffffffffff84160361153e57509061038391612b68565b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c6600000000000000000000000000000000006064820152fd5b60015473ffffffffffffffffffffffffffffffffffffffff8116159060a01c65ffffffffffff16816116bd575b816116aa575b5015611627577fffffffffffff000000000000ffffffffffffffffffffffffffffffffffffffff60015416600155611516565b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603560248201527f416363657373436f6e74726f6c3a206f6e6c792063616e2072656e6f756e636560448201527f20696e2074776f2064656c6179656420737465707300000000000000000000006064820152fd5b905065ffffffffffff42911610386115f4565b65ffffffffffff8116151591506115ee565b5073ffffffffffffffffffffffffffffffffffffffff806002541690841614611511565b90503461040957817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104095780359061172e6122f3565b9082156117eb57508184528360205261174c600184862001546129d1565b8184528360205273ffffffffffffffffffffffffffffffffffffffff83852091169081855260205260ff83852054161561178557505051f35b8184528360205282842081855260205282842060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d858551a451f35b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603660248201527f416363657373436f6e74726f6c3a2063616e2774206469726563746c7920677260448201527f616e742064656661756c742061646d696e20726f6c65000000000000000000006064820152fd5b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb728152f35b90503461040957827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610409576118ff612727565b60ff6006541615611a7c578151907f70a0823100000000000000000000000000000000000000000000000000000000825230818301526020734200000000000000000000000000000000000042918184602481865afa938415611a3f578694611a49575b508361196e57858551f35b60035485517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216928101928352602083018690529390918391859182908a90829060400103925af1928315611a3f577f6352c5382c4a4578e712449ca65e83cdb392d045dfcf1cad9615189db2da244b93611a12575b5060035416928451908152a238808080858551f35b611a3190833d8511611a38575b611a298183612361565b8101906123a2565b50386119fd565b503d611a1f565b85513d88823e3d90fd5b9093508181813d8311611a75575b611a618183612361565b81010312611a7157519238611963565b8580fd5b503d611a57565b90517ff54eef56000000000000000000000000000000000000000000000000000000008152fd5b9050346104095760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261040957816020936001923581528085522001549051908152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517342000000000000000000000000000000000000428152f35b8284346104715760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610471575061022360209235612539565b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5760209060ff6006541690519015158152f35b90503461040957827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610409577f34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb7290818452602091848352838520338652835260ff848620541615611c8457505050611c326123f5565b60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006006541617600655517f6d0d90585834980bd0e5603341ff50b06349c11e0bf9241d03f6d065f12a262b8282a1f35b839085611c9033612cfc565b91835190611c9d82612316565b6042825286820192606036853782511561144c57603084538251906001918210156114205790607860218501536041915b818311611d51575050506112fd576112f46112a9856112b860487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097601f978c9760449c9b519687936112748b86019b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008d528251928391603789019101612b33565b909192600f811660108110156113f4577f3031323334353637383961626364656600000000000000000000000000000000901a611d8e8587612cbc565b53881c9280156113c8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019190611cce565b905034610409576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261147857611dfb6122cb565b907fa5863d4faed73f441831bf2b55550cdbfecb5080dad2352ec834a2baf15aabdc808652858252848620338752825260ff858720541615611ebf57505073ffffffffffffffffffffffffffffffffffffffff80911691821561117f57805491821691838303611e6a57858551f35b7fffffffffffffffffffffffff00000000000000000000000000000000000000008491161790557fe72eaf6addaa195f3c83095031dd08f3a96808dcf047babed1fe4e4f69d6c622848451a338808080858551f35b84849187611ecc33612cfc565b91835190611ed982612316565b6042825286820192606036853782511561144c57603084538251906001918210156114205790607860218501536041915b818311611f8d575050506112fd576112f46112a9856112b860487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097601f978c9760449c9b519687936112748b86019b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008d528251928391603789019101612b33565b909192600f811660108110156113f4577f3031323334353637383961626364656600000000000000000000000000000000901a611fca8587612cbc565b53881c9280156113c8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019190611f0a565b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57612035612727565b6002548060d01c80612063575b505073ffffffffffffffffffffffffffffffffffffffff6002541660025551f35b4211156120bc5779ffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff00000000000000000000000000000000000000000000000000006001549260301b169116176001555b3880612042565b507f2b1fa2edafe6f7b9e97c1a9e0c3660e645beb2dcaa2d45bdbf9beaf5472e1ec5828251a16120b5565b90503461040957827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104095761211f612727565b6006549060ff82161561217957507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600655517fab5f6dacf93a267a93a533de8a56370de8341bbd8102017307e7be375c3dda6a8282a1f35b82517ff54eef56000000000000000000000000000000000000000000000000000000008152fd5b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5760209051620697808152f35b8491346104095760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261040957357fffffffff00000000000000000000000000000000000000000000000000000000811680910361040957602092507f3149878600000000000000000000000000000000000000000000000000000000811490811561226e575b5015158152f35b7f7965db0b000000000000000000000000000000000000000000000000000000008114915081156122a1575b5083612267565b7f01ffc9a7000000000000000000000000000000000000000000000000000000009150148361229a565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036122ee57565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff821682036122ee57565b6080810190811067ffffffffffffffff82111761233257604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761233257604052565b908160209103126122ee575180151581036122ee5790565b811981116123c6570190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60ff600654166125045761240842612539565b612415600554809261252e565b908161241f575050565b81612429916123ba565b600555600480546040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216928101929092526024820183905260208260448160007342000000000000000000000000000000000000425af19081156124f8577fc7798891864187665ac6dd119286e44ec13f014527aeeb2b8eb3fd413df93179926020926124db575b506004541692604051908152a2565b6124f190833d8111611a3857611a298183612361565b50386124cc565b6040513d6000823e3d90fd5b60046040517f07c63c5a000000000000000000000000000000000000000000000000000000008152fd5b8181106123c6570390565b7f00000000000000000000000000000000000000000000000000000000000000008110156125675750600090565b7f000000000000000000000000000000000000000000000000000000000000000081111561262b57506040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526020816024817342000000000000000000000000000000000000425afa80156124f8576000906125f8575b6125f59150600554906123ba565b90565b6020823d8211612623575b8161261060209383612361565b8101031261047157506125f590516125e7565b3d9150612603565b612656907f00000000000000000000000000000000000000000000000000000000000000009061252e565b7f00000000000000000000000000000000000000000000000000000000000000009081156126f857047f0000000000000000000000000000000000000000000000000000000000000000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048111821515166123c6576125f591027f00000000000000000000000000000000000000000000000000000000000000006123ba565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b3360009081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602090815260408083205460ff161561276657505050565b61276f33612cfc565b908381519061277d82612316565b604282528482019560603688378251156129a457603087538251906001918210156129a45790607860218501536041915b8183116128d95750505061287d57604493926112f48361283f6048601f957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097519a8b916128308b8401987f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008a526112748d8251928391603789019101612b33565b0103602881018b520189612361565b519687957f08c379a0000000000000000000000000000000000000000000000000000000008752600487015251809281602488015287870190612b33565b6064848351907f08c379a000000000000000000000000000000000000000000000000000000000825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015612977577f3031323334353637383961626364656600000000000000000000000000000000901a6129168587612cbc565b5360041c92801561294a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0191906127ae565b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526032600452fd5b6000908082526020908282526040808420338552835260ff8185205416156129f95750505050565b612a0233612cfc565b91815190612a0f82612316565b604282528482019560603688378251156129a457603087538251906001918210156129a45790607860218501536041915b818311612ac25750505061287d57604493926112f48361283f6048601f957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097519a8b916128308b8401987f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008a526112748d8251928391603789019101612b33565b909192600f81166010811015612977577f3031323334353637383961626364656600000000000000000000000000000000901a612aff8587612cbc565b5360041c92801561294a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019190612a40565b918091926000905b828210612b53575011612b4c575050565b6000910152565b91508060209183015181860152018291612b3b565b90811580612c44575b612c17575b6000918083528260205273ffffffffffffffffffffffffffffffffffffffff6040842092169182845260205260ff604084205416612bb357505050565b8083528260205260408320828452602052604083207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b3393604051a4565b7fffffffffffffffffffffffff000000000000000000000000000000000000000060025416600255612b76565b5073ffffffffffffffffffffffffffffffffffffffff806002541690821614612b71565b6002548060d01c8015159081612c97575b5015612c8d5760a01c65ffffffffffff1690565b5060015460d01c90565b9050421138612c79565b9065ffffffffffff80809316911680920381116123c6570190565b908151811015612ccd570160200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b604051906060820182811067ffffffffffffffff82111761233257604052602a8252602082016040368237825115612ccd57603090538151600190811015612ccd57607860218401536029905b808211612db7575050612d595790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f81166010811015612e54577f3031323334353637383961626364656600000000000000000000000000000000901a612df38486612cbc565b5360041c918015612e26577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190612d49565b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b65ffffffffffff90818111612e95571690565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201527f38206269747300000000000000000000000000000000000000000000000000006064820152fdfea26469706673582212201e3f138be6c5db61f35cd5a66b369b78cb1ff3e0b33ad92d7317aa6c3ad76e8f64736f6c634300080f00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d0000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f0000000000000000000000000635fb974f09b269bc750bf96338c29cf414301250000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f00000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f60000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec7094000000000000000000000000000000000000000000000000000000000668f66d00000000000000000000000000000000000000000000000000000000066d10b80000000000000000000000000000000000000000000000000000000006ff70e3000000000000000000000000000000000000000000000000000000000007861f800000000000000000000000000000000000000000017af4c463f2af5478c000000000000000000000000000000000000000000000003b363e7f0b6bf06900000\",\n        \"nonce\": \"0x0\",\n        \"chainId\": \"0xa\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x67d94f\",\n      \"logs\": [\n        {\n          \"address\": \"0xb3c2f9fc2727078ec3a2255410e83ba5b62c5b5f\",\n          \"topics\": [\n            \"0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec70940\",\n            \"0x000000000000000000000000bbc9b955be73ca4eeb28e988e9d21d2538978f03\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x442879acda748118c2358e8997d60ebada47b9b9f3c34c0043de0b7f462990c8\",\n          \"blockNumber\": \"0x758bf04\",\n          \"transactionHash\": \"0xcec091a1fc84128278aec22d0ff93eefcc2da4f84b7641df8c2f13d50533a45a\",\n          \"transactionIndex\": \"0x19\",\n          \"logIndex\": \"0x2e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb3c2f9fc2727078ec3a2255410e83ba5b62c5b5f\",\n          \"topics\": [\n            \"0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d\",\n            \"0x4764e59f4e0dd9ec7df76c5cd0edc4bc07903bf235ab0e0030cc6b7e6e52f274\",\n            \"0x0000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f0\",\n            \"0x000000000000000000000000bbc9b955be73ca4eeb28e988e9d21d2538978f03\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x442879acda748118c2358e8997d60ebada47b9b9f3c34c0043de0b7f462990c8\",\n          \"blockNumber\": \"0x758bf04\",\n          \"transactionHash\": \"0xcec091a1fc84128278aec22d0ff93eefcc2da4f84b7641df8c2f13d50533a45a\",\n          \"transactionIndex\": \"0x19\",\n          \"logIndex\": \"0x2f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb3c2f9fc2727078ec3a2255410e83ba5b62c5b5f\",\n          \"topics\": [\n            \"0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d\",\n            \"0x34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb72\",\n            \"0x0000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f0\",\n            \"0x000000000000000000000000bbc9b955be73ca4eeb28e988e9d21d2538978f03\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x442879acda748118c2358e8997d60ebada47b9b9f3c34c0043de0b7f462990c8\",\n          \"blockNumber\": \"0x758bf04\",\n          \"transactionHash\": \"0xcec091a1fc84128278aec22d0ff93eefcc2da4f84b7641df8c2f13d50533a45a\",\n          \"transactionIndex\": \"0x19\",\n          \"logIndex\": \"0x30\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb3c2f9fc2727078ec3a2255410e83ba5b62c5b5f\",\n          \"topics\": [\n            \"0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d\",\n            \"0xa5863d4faed73f441831bf2b55550cdbfecb5080dad2352ec834a2baf15aabdc\",\n            \"0x0000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f6\",\n            \"0x000000000000000000000000bbc9b955be73ca4eeb28e988e9d21d2538978f03\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x442879acda748118c2358e8997d60ebada47b9b9f3c34c0043de0b7f462990c8\",\n          \"blockNumber\": \"0x758bf04\",\n          \"transactionHash\": \"0xcec091a1fc84128278aec22d0ff93eefcc2da4f84b7641df8c2f13d50533a45a\",\n          \"transactionIndex\": \"0x19\",\n          \"logIndex\": \"0x31\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb3c2f9fc2727078ec3a2255410e83ba5b62c5b5f\",\n          \"topics\": [\n            \"0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d\",\n            \"0x34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb72\",\n            \"0x0000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f6\",\n            \"0x000000000000000000000000bbc9b955be73ca4eeb28e988e9d21d2538978f03\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x442879acda748118c2358e8997d60ebada47b9b9f3c34c0043de0b7f462990c8\",\n          \"blockNumber\": \"0x758bf04\",\n          \"transactionHash\": \"0xcec091a1fc84128278aec22d0ff93eefcc2da4f84b7641df8c2f13d50533a45a\",\n          \"transactionIndex\": \"0x19\",\n          \"logIndex\": \"0x32\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x01000004000000000000000000040000000000000000000000000000000800000000000100010000000000000000000000008000000080000020000800000000000000000000000000000000000000000000000001000000000000000000000000000000020000000000000100800800000000000000000000000000000020008000100000000000000000000000002000100000080000000000000000000000000000000000000000000000000000000000000000000000001000000000000200000000000000000000000000000000000001000000000900000000000020000000000000000000000201000000000200000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xcec091a1fc84128278aec22d0ff93eefcc2da4f84b7641df8c2f13d50533a45a\",\n      \"transactionIndex\": \"0x19\",\n      \"blockHash\": \"0x442879acda748118c2358e8997d60ebada47b9b9f3c34c0043de0b7f462990c8\",\n      \"blockNumber\": \"0x758bf04\",\n      \"gasUsed\": \"0x2c094d\",\n      \"effectiveGasPrice\": \"0x19202b\",\n      \"from\": \"0xbbc9b955be73ca4eeb28e988e9d21d2538978f03\",\n      \"to\": null,\n      \"contractAddress\": \"0xb3c2f9fc2727078ec3a2255410e83ba5b62c5b5f\",\n      \"l1BaseFeeScalar\": \"0x146b\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xf79c5\",\n      \"l1Fee\": \"0x7a5ea72ace8\",\n      \"l1GasPrice\": \"0x439eee246\",\n      \"l1GasUsed\": \"0x15a36\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1722111961,\n  \"chain\": 10,\n  \"commit\": \"59494bc\"\n}"
  },
  {
    "path": "mainnet/2024-06-05-reredeploy-smart-escrow/script/DeploySmartEscrow.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"forge-std/Script.sol\";\nimport \"@base-contracts/src/smart-escrow/SmartEscrow.sol\";\n\ncontract DeploySmartEscrow is Script {\n    address internal BENEFACTOR = vm.envAddress(\"BENEFACTOR\");\n    address internal BENEFICIARY = vm.envAddress(\"BENEFICIARY\");\n    address internal BENEFACTOR_OWNER = vm.envAddress(\"BENEFACTOR_OWNER\");\n    address internal BENEFICIARY_OWNER = vm.envAddress(\"BENEFICIARY_OWNER\");\n    address internal ESCROW_OWNER = vm.envAddress(\"NESTED_SAFE\");\n    uint256 internal START = vm.envUint(\"START\");\n    uint256 internal CLIFF_START = vm.envUint(\"CLIFF_START\");\n    uint256 internal END = vm.envUint(\"END\");\n    uint256 internal VESTING_PERIOD_SECONDS = vm.envUint(\"VESTING_PERIOD_SECONDS\");\n    uint256 internal INITIAL_TOKENS = vm.envUint(\"INITIAL_TOKENS\");\n    uint256 internal VESTING_EVENT_TOKENS = vm.envUint(\"VESTING_EVENT_TOKENS\");\n\n    function run() public {\n        vm.broadcast();\n        SmartEscrow smartEscrow = new SmartEscrow(\n            BENEFACTOR,\n            BENEFICIARY,\n            BENEFACTOR_OWNER,\n            BENEFICIARY_OWNER,\n            ESCROW_OWNER,\n            START,\n            CLIFF_START,\n            END,\n            VESTING_PERIOD_SECONDS,\n            INITIAL_TOKENS,\n            VESTING_EVENT_TOKENS\n        );\n        require(smartEscrow.start() == START, \"DeploySmartEscrow: start time not set correctly\");\n        require(smartEscrow.cliffStart() == CLIFF_START, \"DeploySmartEscrow: cliff start time not set correctly\");\n        require(smartEscrow.end() == END, \"DeploySmartEscrow: end time not set correctly\");\n        require(smartEscrow.vestingPeriod() == VESTING_PERIOD_SECONDS, \"DeploySmartEscrow: vesting period incorrect\");\n        require(smartEscrow.initialTokens() == INITIAL_TOKENS, \"DeploySmartEscrow: number of initial tokens incorrect\");\n        require(smartEscrow.vestingEventTokens() == VESTING_EVENT_TOKENS, \"DeploySmartEscrow: number of vesting event tokens incorrect\");\n        require(smartEscrow.benefactor() == BENEFACTOR, \"DeploySmartEscrow: benefactor incorrect\"); \n        require(smartEscrow.beneficiary() == BENEFICIARY, \"DeploySmartEscrow: beneficiary incorrect\");\n        require(smartEscrow.released() == 0, \"DeploySmartEscrow: initial released value must be zero\");\n        require(smartEscrow.contractTerminated() == false, \"DeploySmartEscrow: contract cannot initially be terminated\");\n    }\n}\n"
  },
  {
    "path": "mainnet/2024-06-17-increase-gas-limit/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: sign-update-gas-limit\nsign-update-gas-limit: \n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpdateGaslimit \\\n\t--sig \"sign()\"\n\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(L1_RPC_URL) UpdateGaslimit \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n\n.PHONY: sign-rollback-gas-limit\nsign-rollback-gas-limit: \n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) RollbackGasLimit \\\n\t--sig \"sign()\"\n\n\n.PHONY: execute-rollback\nexecute-rollback:\n\tforge script --rpc-url $(L1_RPC_URL) RollbackGasLimit \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2024-06-17-increase-gas-limit/README.md",
    "content": "# Update Gas Limit in L1 `SystemConfig` \n\nStatus: DONE\n\n## Objective\n\nWe are updating the gas limit to improve TPS and reduce gas fees. \n\nThis runbook implements scripts which allow our signers to sign two different calls for our Incident Multisig: \n1. `UpdateGasLimit` -- This script will update the gas limit to our new limit of 97.5M gas\n2. `RollbackGasLimit` -- This script establishes a rollback call in the case we need to revert to 90M gas\n\nThe values we are sending are statically defined in the `.env`.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow \n> the flow for both \"Approving the Update transaction\" and \n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed. \n\n## Approving the Update transaction\n\n### 1. Update repo and move to the appropriate folder:\n```\ncd contract-deployments\ngit pull\ncd mainnet/2024-06-17-increase-gas-limit\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n``` shell\nmake sign-update-gas-limit\n```\n\nOnce you run the `make sign...` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark \n\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 18 to 19:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000012\nAfter: 0x00000000000000000000000000000000000000000000000000000000000000013\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 90M to 97.5M:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x00000000000000000000000000000000000000000000000000000000055d4a80\nAfter: 0x0000000000000000000000000000000000000000000000000000000005cfbb60\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n``` shell\nmake sign-update-gas-limit\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n\n## Approving the Rollback transaction\n\nComplete the above steps for `Approving the Update transaction` before continuing below.\n\n### 1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n``` shell\nmake sign-rollback-gas-limit\n```\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output. Once again paste this URL in your browser and click \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark \n\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x00000000000000000000000000000000000000000000000000000000000000011\nAfter: 0x00000000000000000000000000000000000000000000000000000000000000012\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x0000000000000000000000000000000000000000000000000000000005cfbb60\nAfter: 0x00000000000000000000000000000000000000000000000000000000055d4a80\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n``` shell\nmake sign-rollback-gas-limit\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\n   SIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make execute`\n\n> [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK\n> Repeat the above, but replace the signatures with the signed\n> rollback signatures collected, the call `make execute-rollback`\n"
  },
  {
    "path": "mainnet/2024-06-17-increase-gas-limit/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2024-06-17-increase-gas-limit/script/RollbackGasLimit.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport {\n    MultisigBuilder,\n    Simulator,\n    IMulticall3,\n    IGnosisSafe,\n    console,\n    Enum\n} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\nimport { Vm } from \"forge-std/Vm.sol\";\n\n// This script will be signed ahead of our gas limit increase but isn't expected to be\n// executed. It will be available to us in the event we need to quickly rollback the gas limit.\ncontract RollbackGasLimit is MultisigBuilder {\n    address internal SYSTEM_CONFIG_OWNER = vm.envAddress(\"SYSTEM_CONFIG_OWNER\");\n    address internal L1_SYSTEM_CONFIG = vm.envAddress(\"L1_SYSTEM_CONFIG_ADDRESS\");\n    uint64 internal ROLLBACK_GAS_LIMIT = uint64(vm.envUint(\"ROLLBACK_GAS_LIMIT\"));\n\n    function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal override view {\n        assert(SystemConfig(L1_SYSTEM_CONFIG).gasLimit() == ROLLBACK_GAS_LIMIT);\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        calls[0] = IMulticall3.Call3({\n            target: L1_SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(SystemConfig.setGasLimit, (ROLLBACK_GAS_LIMIT))\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return SYSTEM_CONFIG_OWNER;\n    }\n\n    function _getNonce(IGnosisSafe) internal view override returns (uint256 nonce) {\n        nonce = vm.envUint(\"ROLLBACK_NONCE\");\n    }\n\n    function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) {\n        IGnosisSafe safe = IGnosisSafe(payable(_safe));\n        uint256 _nonce = _getNonce(safe);\n        return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce);\n    }\n\n    // We need to expect that the gas limit will have been updated previously in our simulation\n    // Use this override to specifically set the gas limit to the expected update value.\n    function _addGenericOverrides() internal view override returns (SimulationStateOverride memory) {\n        SimulationStorageOverride[] memory _stateOverrides = new SimulationStorageOverride[](1);\n        _stateOverrides[0] = SimulationStorageOverride({\n            key: 0x0000000000000000000000000000000000000000000000000000000000000068, // slot of gas limit\n            value: bytes32(vm.envUint(\"GAS_LIMIT\"))\n        });\n        return SimulationStateOverride({contractAddress: L1_SYSTEM_CONFIG, overrides: _stateOverrides});\n    }\n}\n"
  },
  {
    "path": "mainnet/2024-06-17-increase-gas-limit/script/UpdateGasLimit.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport {\n    MultisigBuilder,\n    IMulticall3,\n    IGnosisSafe,\n    console,\n    Enum\n} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\nimport { Vm } from \"forge-std/Vm.sol\";\n\ncontract UpdateGaslimit is MultisigBuilder {\n    address internal SYSTEM_CONFIG_OWNER = vm.envAddress(\"SYSTEM_CONFIG_OWNER\");\n    address internal L1_SYSTEM_CONFIG = vm.envAddress(\"L1_SYSTEM_CONFIG_ADDRESS\");\n    uint64 internal GAS_LIMIT = uint64(vm.envUint(\"GAS_LIMIT\"));\n\n    function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal override view {\n        assert(SystemConfig(L1_SYSTEM_CONFIG).gasLimit() == GAS_LIMIT);\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        calls[0] = IMulticall3.Call3({\n            target: L1_SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(SystemConfig.setGasLimit, (GAS_LIMIT))\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return SYSTEM_CONFIG_OWNER;\n    }\n\n    function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) {\n        IGnosisSafe safe = IGnosisSafe(payable(_safe));\n        uint256 _nonce = _getNonce(safe);\n        return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce);\n    }\n}\n"
  },
  {
    "path": "mainnet/2024-06-25-update-gas-config/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: sign-update-gas-config\nsign-update-gas-config: \n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpdateGasConfig \\\n\t--sig \"sign()\"\n\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(L1_RPC_URL) UpdateGasConfig \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\"\n\n\n.PHONY: sign-rollback-gas-config\nsign-rollback-gas-config: \n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) RollbackGasConfig \\\n\t--sig \"sign()\"\n\n\n.PHONY: execute-rollback\nexecute-rollback:\n\tforge script --rpc-url $(L1_RPC_URL) RollbackGasConfig \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\"\n"
  },
  {
    "path": "mainnet/2024-06-25-update-gas-config/README.md",
    "content": "# Update Gas Config in L1 `SystemConfig`\n\nStatus: EXECUTED\n\n## Objective\n\nBecause of the recently blob market fee dynamics, we had to pay extra priority fees in order for the blobs to be included in L1, which resulted in a net loss. Because of this, we wanted to tweak the gas scalar to do some L1 fee recovery.\n\nWe need to make changes to the Gas Config in the L1 `SystemConfig` contract. Specifically, we need to set the `_overhead` and `_scalar` values by calling `setGasConfig`. This is an access-controlled method that only the Incident Multisig can call.\n\nThis runbook implements scripts to allow our signers to sign two different calls for our Incident Multisig:\n\n1. `UpdateGasConfig` -- This script will update the values according to our expected new scalar values\n2. `RollbackGasConfig` -- This script establishes a rollback call in the case we need to revert to old values\n\n> [!IMPORTANT] We have two transactions to sign. Please follow\n> the flow for both \"Approving the Update transaction\" and\n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed.\n\n## Approving the Update transaction\n\n### 1. Update repo and move to the appropriate folder:\n\n```\ncd contract-deployments\ngit pull\ncd mainnet/2024-06-25-update-gas-config\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-update-gas-config\n```\n\nNote: there have been reports of some folks seeing this error `Error creating signer: error opening ledger: hidapi: failed to open device`. A fix is in progress, but not yet merged. If you come across this, open a new terminal and run the following to resolve the issue:\n\n```\ngit clone git@github.com:base-org/eip712sign.git\ncd eip712sign\ngo install\n```\n\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000013\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000014\n```\n\n2. Verify that gas config values are appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000066\nBefore: 0x010000000000000000000000000000000000000000000000000a118b0000044d\nAfter: 0x010000000000000000000000000000000000000000000000000a118b0000058a\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-update-gas-config\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Approving the Rollback transaction\n\nComplete the above steps for `Approving the Update transaction` before continuing below.\n\n### 1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-rollback-gas-config\n```\n\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output. Once again paste this URL in your browser and click \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000014\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000015\n```\n\n2. Verify that gas config values are appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000066\nBefore: 0x010000000000000000000000000000000000000000000000000a118b0000058a\nAfter: 0x010000000000000000000000000000000000000000000000000a118b0000044d\n```\n\nOr under Events tab there is the `ConfigUpdate` event\n\n```\n{\n\"version\":\"0\"\n\"updateType\":1\n\"data\":\"0x0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000a118b0000044d\"\n}\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-rollback-gas-config\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n> [!WARNING]  \n> ONLY PROCEED IF WE MUST FALLBACK TO CALLDATA\n\n## Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make approve-rollback-gas-config`\n4. Run `make execute-rollback` to execute the transaction onchain.\n"
  },
  {
    "path": "mainnet/2024-06-25-update-gas-config/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2024-06-25-update-gas-config/script/RollbackGasConfig.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport {\n    MultisigBuilder,\n    Simulator,\n    IMulticall3,\n    IGnosisSafe,\n    console,\n    Enum\n} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\nimport {Vm} from \"forge-std/Vm.sol\";\n\n// This script will be signed ahead of Ecotone but is not planned for execution.\n// If something goes wrong with the hardfork, we can rollback the config by executing\n// this pre-signed transaction.\ncontract RollbackGasConfig is MultisigBuilder {\n    address internal SYSTEM_CONFIG_OWNER = vm.envAddress(\"SYSTEM_CONFIG_OWNER\");\n    address internal L1_SYSTEM_CONFIG = vm.envAddress(\"L1_SYSTEM_CONFIG_ADDRESS\");\n    uint256 internal FALLBACK_SCALAR = vm.envUint(\"FALLBACK_SCALAR\");\n\n    function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal view override {\n        require(SystemConfig(L1_SYSTEM_CONFIG).scalar() == FALLBACK_SCALAR);\n        require(SystemConfig(L1_SYSTEM_CONFIG).overhead() == 0);\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        calls[0] = IMulticall3.Call3({\n            target: L1_SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(\n                SystemConfig.setGasConfig,\n                (\n                    0, // overhead is not used post Ecotome\n                    FALLBACK_SCALAR\n                )\n            )\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return SYSTEM_CONFIG_OWNER;\n    }\n\n    function _getNonce(IGnosisSafe safe) internal view override returns (uint256 nonce) {\n        uint256 _nonce = safe.nonce();\n        console.log(\"Safe current nonce:\", _nonce);\n        console.log(\"Incrememnting by 1 to account for planned `Update` tx\");\n        return _nonce + 1;\n    }\n\n    function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) {\n        IGnosisSafe safe = IGnosisSafe(payable(_safe));\n        uint256 _nonce = _getNonce(safe);\n        return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce);\n    }\n}\n"
  },
  {
    "path": "mainnet/2024-06-25-update-gas-config/script/UpdateGasConfig.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport {\n    MultisigBuilder,\n    IMulticall3,\n    IGnosisSafe,\n    console,\n    Enum\n} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\nimport {Vm} from \"forge-std/Vm.sol\";\n\ncontract UpdateGasConfig is MultisigBuilder {\n    address internal SYSTEM_CONFIG_OWNER = vm.envAddress(\"SYSTEM_CONFIG_OWNER\");\n    address internal L1_SYSTEM_CONFIG = vm.envAddress(\"L1_SYSTEM_CONFIG_ADDRESS\");\n    uint256 internal SCALAR = vm.envUint(\"SCALAR\");\n\n    function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal view override {\n        require(SystemConfig(L1_SYSTEM_CONFIG).scalar() == SCALAR);\n        require(SystemConfig(L1_SYSTEM_CONFIG).overhead() == 0);\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        calls[0] = IMulticall3.Call3({\n            target: L1_SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(\n                SystemConfig.setGasConfig,\n                (\n                    0, // overhead is not used post Ecotone\n                    SCALAR\n                )\n            )\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return SYSTEM_CONFIG_OWNER;\n    }\n\n    function _addOverrides(address _safe) internal pure override returns (SimulationStateOverride memory) {\n        return overrideSafeThresholdAndOwner(_safe, DEFAULT_SENDER);\n    }\n}\n"
  },
  {
    "path": "mainnet/2024-06-28-update-gas-config/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: sign-update-gas-config\nsign-update-gas-config: \n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpdateGasConfig \\\n\t--sig \"sign()\"\n\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(L1_RPC_URL) UpdateGasConfig \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\"\n\n\n.PHONY: sign-rollback-gas-config\nsign-rollback-gas-config: \n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) RollbackGasConfig \\\n\t--sig \"sign()\"\n\n\n.PHONY: execute-rollback\nexecute-rollback:\n\tforge script --rpc-url $(L1_RPC_URL) RollbackGasConfig \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\"\n"
  },
  {
    "path": "mainnet/2024-06-28-update-gas-config/README.md",
    "content": "# Update Gas Config in L1 `SystemConfig`\n\nStatus: EXECUTED\n\n## Objective\n\nBecause of the recently blob market fee dynamics, we had to pay extra priority fees in order for the blobs to be included in L1, which resulted in a net loss. Because of this, we wanted to tweak the gas scalar to see to do some L1 fee recovery.\n\nWe need to make changes to the Gas Config in the L1 `SystemConfig` contract. Specifically, we need to set the `_overhead` and `_scalar` values by calling `setGasConfig`. This is an access-controlled method that only the Incident Multisig can call.\n\nThis runbook implements scripts to allow our signers to sign two different calls for our Incident Multisig:\n\n1. `UpdateGasConfig` -- This script will update the values according to our expected new scalar values\n2. `RollbackGasConfig` -- This script establishes a rollback call in the case we need to revert to old values\n\n> [!IMPORTANT] We have two transactions to sign. Please follow\n> the flow for both \"Approving the Update transaction\" and\n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed.\n\n## Approving the Update transaction\n\n### 1. Update repo and move to the appropriate folder:\n\n```\ncd contract-deployments\ngit pull\ncd mainnet/2024-06-25-update-gas-config\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-update-gas-config\n```\n\nNote: there have been reports of some folks seeing this error `Error creating signer: error opening ledger: hidapi: failed to open device`. A fix is in progress, but not yet merged. If you come across this, open a new terminal and run the following to resolve the issue:\n\n```\ngit clone git@github.com:base-org/eip712sign.git\ncd eip712sign\ngo install\n```\n\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000013\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000014\n```\n\n2. Verify that gas config values are appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000066\nBefore: 0x010000000000000000000000000000000000000000000000000a118b0000044d\nAfter: 0x010000000000000000000000000000000000000000000000000a118b0000058a\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-update-gas-config\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Approving the Rollback transaction\n\nComplete the above steps for `Approving the Update transaction` before continuing below.\n\n### 1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-rollback-gas-config\n```\n\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output. Once again paste this URL in your browser and click \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000014\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000015\n```\n\n2. Verify that gas config values are appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000066\nBefore: 0x010000000000000000000000000000000000000000000000000a118b0000058a\nAfter: 0x010000000000000000000000000000000000000000000000000a118b0000044d\n```\n\nOr under Events tab there is the `ConfigUpdate` event\n\n```\n{\n\"version\":\"0\"\n\"updateType\":1\n\"data\":\"0x0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000a118b0000044d\"\n}\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-rollback-gas-config\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n> [!WARNING]  \n> ONLY PROCEED IF WE MUST FALLBACK TO CALLDATA\n\n## Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make approve-rollback-gas-config`\n4. Run `make execute-rollback` to execute the transaction onchain.\n"
  },
  {
    "path": "mainnet/2024-06-28-update-gas-config/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2024-06-28-update-gas-config/script/RollbackGasConfig.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport {\n    MultisigBuilder,\n    Simulator,\n    IMulticall3,\n    IGnosisSafe,\n    console,\n    Enum\n} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\nimport {Vm} from \"forge-std/Vm.sol\";\n\n// This script will be signed ahead of Ecotone but is not planned for execution.\n// If something goes wrong with the hardfork, we can rollback the config by executing\n// this pre-signed transaction.\ncontract RollbackGasConfig is MultisigBuilder {\n    address internal SYSTEM_CONFIG_OWNER = vm.envAddress(\"SYSTEM_CONFIG_OWNER\");\n    address internal L1_SYSTEM_CONFIG = vm.envAddress(\"L1_SYSTEM_CONFIG_ADDRESS\");\n    uint256 internal FALLBACK_SCALAR = vm.envUint(\"FALLBACK_SCALAR\");\n\n    function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal view override {\n        require(SystemConfig(L1_SYSTEM_CONFIG).scalar() == FALLBACK_SCALAR);\n        require(SystemConfig(L1_SYSTEM_CONFIG).overhead() == 0);\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        calls[0] = IMulticall3.Call3({\n            target: L1_SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(\n                SystemConfig.setGasConfig,\n                (\n                    0, // overhead is not used post Ecotome\n                    FALLBACK_SCALAR\n                )\n            )\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return SYSTEM_CONFIG_OWNER;\n    }\n\n    function _getNonce(IGnosisSafe safe) internal view override returns (uint256 nonce) {\n        uint256 _nonce = safe.nonce();\n        console.log(\"Safe current nonce:\", _nonce);\n        console.log(\"Incrememnting by 1 to account for planned `Update` tx\");\n        return _nonce + 1;\n    }\n\n    function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) {\n        IGnosisSafe safe = IGnosisSafe(payable(_safe));\n        uint256 _nonce = _getNonce(safe);\n        return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce);\n    }\n}\n"
  },
  {
    "path": "mainnet/2024-06-28-update-gas-config/script/UpdateGasConfig.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport {\n    MultisigBuilder,\n    IMulticall3,\n    IGnosisSafe,\n    console,\n    Enum\n} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\nimport {Vm} from \"forge-std/Vm.sol\";\n\ncontract UpdateGasConfig is MultisigBuilder {\n    address internal SYSTEM_CONFIG_OWNER = vm.envAddress(\"SYSTEM_CONFIG_OWNER\");\n    address internal L1_SYSTEM_CONFIG = vm.envAddress(\"L1_SYSTEM_CONFIG_ADDRESS\");\n    uint256 internal SCALAR = vm.envUint(\"SCALAR\");\n\n    function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal view override {\n        require(SystemConfig(L1_SYSTEM_CONFIG).scalar() == SCALAR);\n        require(SystemConfig(L1_SYSTEM_CONFIG).overhead() == 0);\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        calls[0] = IMulticall3.Call3({\n            target: L1_SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(\n                SystemConfig.setGasConfig,\n                (\n                    0, // overhead is not used post Ecotone\n                    SCALAR\n                )\n            )\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return SYSTEM_CONFIG_OWNER;\n    }\n\n    function _addOverrides(address _safe) internal pure override returns (SimulationStateOverride memory) {\n        return overrideSafeThresholdAndOwner(_safe, DEFAULT_SENDER);\n    }\n}\n"
  },
  {
    "path": "mainnet/2024-07-10-update-gas-config/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: sign-update-gas-config\nsign-update-gas-config: \n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpdateGasConfig \\\n\t--sig \"sign()\"\n\n.PHONY: execute\nexecute:\n\tforge script --broadcast --rpc-url $(L1_RPC_URL) UpdateGasConfig \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\"\n\n\n.PHONY: sign-rollback-gas-config\nsign-rollback-gas-config: \n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) RollbackGasConfig \\\n\t--sig \"sign()\"\n\n\n.PHONY: execute-rollback\nexecute-rollback:\n\tforge script --rpc-url $(L1_RPC_URL) RollbackGasConfig \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\"\n"
  },
  {
    "path": "mainnet/2024-07-10-update-gas-config/README.md",
    "content": "# Update Gas Config in L1 `SystemConfig`\n\nStatus: EXECUTED\n\n## Objective\n\nBecause of the recently blob market fee dynamics, we had to pay extra priority fees in order for the blobs to be included in L1, which resulted in a net loss. Because of this, we wanted to tweak the gas scalar to see to do some L1 fee recovery.\n\nWe need to make changes to the Gas Config in the L1 `SystemConfig` contract. Specifically, we need to set the `_overhead` and `_scalar` values by calling `setGasConfig`. This is an access-controlled method that only the Incident Multisig can call.\n\nThis runbook implements scripts to allow our signers to sign two different calls for our Incident Multisig:\n\n1. `UpdateGasConfig` -- This script will update the values according to our expected new scalar values\n2. `RollbackGasConfig` -- This script establishes a rollback call in the case we need to revert to old values\n\n> [!IMPORTANT] We have two transactions to sign. Please follow\n> the flow for both \"Approving the Update transaction\" and\n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed.\n\n## Approving the Update transaction\n\n### 1. Update repo and move to the appropriate folder:\n\n```\ncd contract-deployments\ngit pull\ncd mainnet/2024-07-10-update-gas-config\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-update-gas-config\n```\n\nNote: there have been reports of some folks seeing this error `Error creating signer: error opening ledger: hidapi: failed to open device`. A fix is in progress, but not yet merged. If you come across this, open a new terminal and run the following to resolve the issue:\n\n```\ngit clone git@github.com:base-org/eip712sign.git\ncd eip712sign\ngo install\n```\n\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000021\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000022\n```\n\n2. Verify that gas config values are appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000066\nBefore: 0x010000000000000000000000000000000000000000000000000a118b0000058a\nAfter: 0x01000000000000000000000000000000000000000000000000101c12000008dd\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-update-gas-config\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Approving the Rollback transaction\n\nComplete the above steps for `Approving the Update transaction` before continuing below.\n\n### 1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-rollback-gas-config\n```\n\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output. Once again paste this URL in your browser and click \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000014\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000015\n```\n\n2. Verify that gas config values are appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000066\nBefore: 0x010000000000000000000000000000000000000000000000000a118b0000058a\nAfter: 0x010000000000000000000000000000000000000000000000000a118b0000044d\n```\n\nOr under Events tab there is the `ConfigUpdate` event\n\n```\n{\n\"version\":\"0\"\n\"updateType\":1\n\"data\":\"0x0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000a118b0000058a\"\n}\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-rollback-gas-config\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n> [!WARNING]  \n> ONLY PROCEED IF WE MUST FALLBACK TO CALLDATA\n\n## Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make approve-rollback-gas-config`\n4. Run `make execute-rollback` to execute the transaction onchain.\n"
  },
  {
    "path": "mainnet/2024-07-10-update-gas-config/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2024-07-10-update-gas-config/script/RollbackGasConfig.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport {\n    MultisigBuilder,\n    Simulator,\n    IMulticall3,\n    IGnosisSafe,\n    console,\n    Enum\n} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\nimport {Vm} from \"forge-std/Vm.sol\";\n\n// This script will be signed ahead of Ecotone but is not planned for execution.\n// If something goes wrong with the hardfork, we can rollback the config by executing\n// this pre-signed transaction.\ncontract RollbackGasConfig is MultisigBuilder {\n    address internal SYSTEM_CONFIG_OWNER = vm.envAddress(\"SYSTEM_CONFIG_OWNER\");\n    address internal L1_SYSTEM_CONFIG = vm.envAddress(\"L1_SYSTEM_CONFIG_ADDRESS\");\n    uint256 internal FALLBACK_SCALAR = vm.envUint(\"FALLBACK_SCALAR\");\n\n    function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal view override {\n        require(SystemConfig(L1_SYSTEM_CONFIG).scalar() == FALLBACK_SCALAR);\n        require(SystemConfig(L1_SYSTEM_CONFIG).overhead() == 0);\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        calls[0] = IMulticall3.Call3({\n            target: L1_SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(\n                SystemConfig.setGasConfig,\n                (\n                    0, // overhead is not used post Ecotome\n                    FALLBACK_SCALAR\n                )\n            )\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return SYSTEM_CONFIG_OWNER;\n    }\n\n    function _getNonce(IGnosisSafe safe) internal view override returns (uint256 nonce) {\n        uint256 _nonce = safe.nonce();\n        console.log(\"Safe current nonce:\", _nonce);\n        console.log(\"Incrememnting by 1 to account for planned `Update` tx\");\n        return _nonce + 1;\n    }\n\n    function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) {\n        IGnosisSafe safe = IGnosisSafe(payable(_safe));\n        uint256 _nonce = _getNonce(safe);\n        return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce);\n    }\n}\n"
  },
  {
    "path": "mainnet/2024-07-10-update-gas-config/script/UpdateGasConfig.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport {\n    MultisigBuilder,\n    IMulticall3,\n    IGnosisSafe,\n    console,\n    Enum\n} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\nimport {Vm} from \"forge-std/Vm.sol\";\n\ncontract UpdateGasConfig is MultisigBuilder {\n    address internal SYSTEM_CONFIG_OWNER = vm.envAddress(\"SYSTEM_CONFIG_OWNER\");\n    address internal L1_SYSTEM_CONFIG = vm.envAddress(\"L1_SYSTEM_CONFIG_ADDRESS\");\n    uint256 internal SCALAR = vm.envUint(\"SCALAR\");\n\n    function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal view override {\n        require(SystemConfig(L1_SYSTEM_CONFIG).scalar() == SCALAR);\n        require(SystemConfig(L1_SYSTEM_CONFIG).overhead() == 0);\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        calls[0] = IMulticall3.Call3({\n            target: L1_SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(\n                SystemConfig.setGasConfig,\n                (\n                    0, // overhead is not used post Ecotone\n                    SCALAR\n                )\n            )\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return SYSTEM_CONFIG_OWNER;\n    }\n\n    function _addOverrides(address _safe) internal pure override returns (SimulationStateOverride memory) {\n        return overrideSafeThresholdAndOwner(_safe, DEFAULT_SENDER);\n    }\n}\n"
  },
  {
    "path": "mainnet/2024-07-16-increase-gas-limit/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: sign-update-gas-limit\nsign-update-gas-limit: \n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpdateGaslimit \\\n\t--sig \"sign()\"\n\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(L1_RPC_URL) UpdateGaslimit \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n\n.PHONY: sign-rollback-gas-limit\nsign-rollback-gas-limit: \n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) RollbackGasLimit \\\n\t--sig \"sign()\"\n\n\n.PHONY: execute-rollback\nexecute-rollback:\n\tforge script --rpc-url $(L1_RPC_URL) RollbackGasLimit \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2024-07-16-increase-gas-limit/README.md",
    "content": "# Update Gas Limit in L1 `SystemConfig` \n\nStatus: DONE\n\n## Objective\n\nWe are updating the gas limit to improve TPS and reduce gas fees. \n\nThis runbook implements scripts which allow our signers to sign two different calls for our Incident Multisig: \n1. `UpdateGasLimit` -- This script will update the gas limit to our new limit of 100.5M gas\n2. `RollbackGasLimit` -- This script establishes a rollback call in the case we need to revert to 97.5M gas\n\nThe values we are sending are statically defined in the `.env`.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow \n> the flow for both \"Approving the Update transaction\" and \n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed. \n\n## Approving the Update transaction\n\n### 1. Update repo and move to the appropriate folder:\n```\ncd contract-deployments\ngit pull\ncd mainnet/2024-07-16-increase-gas-limit\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n``` shell\nmake sign-update-gas-limit\n```\n\nOnce you run the `make sign...` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark \n\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 18 to 19:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000016\nAfter: 0x00000000000000000000000000000000000000000000000000000000000000017\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 90M to 97.5M:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x0000000000000000000000000000000000000000000000000000000005cfbb60\nAfter: 0x0000000000000000000000000000000000000000000000000000000006422c40\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n``` shell\nmake sign-update-gas-limit\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n\n## Approving the Rollback transaction\n\nComplete the above steps for `Approving the Update transaction` before continuing below.\n\n### 1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n``` shell\nmake sign-rollback-gas-limit\n```\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output. Once again paste this URL in your browser and click \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark \n\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x00000000000000000000000000000000000000000000000000000000000000017\nAfter: 0x00000000000000000000000000000000000000000000000000000000000000018\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x0000000000000000000000000000000000000000000000000000000006422c40\nAfter: 0x0000000000000000000000000000000000000000000000000000000005cfbb60\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n``` shell\nmake sign-rollback-gas-limit\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\n   SIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make execute`\n\n> [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK\n> Repeat the above, but replace the signatures with the signed\n> rollback signatures collected, the call `make execute-rollback`\n"
  },
  {
    "path": "mainnet/2024-07-16-increase-gas-limit/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2024-07-16-increase-gas-limit/script/RollbackGasLimit.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport {\n    MultisigBuilder,\n    Simulator,\n    IMulticall3,\n    IGnosisSafe,\n    console,\n    Enum\n} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\nimport { Vm } from \"forge-std/Vm.sol\";\n\n// This script will be signed ahead of our gas limit increase but isn't expected to be\n// executed. It will be available to us in the event we need to quickly rollback the gas limit.\ncontract RollbackGasLimit is MultisigBuilder {\n    address internal SYSTEM_CONFIG_OWNER = vm.envAddress(\"SYSTEM_CONFIG_OWNER\");\n    address internal L1_SYSTEM_CONFIG = vm.envAddress(\"L1_SYSTEM_CONFIG_ADDRESS\");\n    uint64 internal ROLLBACK_GAS_LIMIT = uint64(vm.envUint(\"ROLLBACK_GAS_LIMIT\"));\n\n    function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal override view {\n        assert(SystemConfig(L1_SYSTEM_CONFIG).gasLimit() == ROLLBACK_GAS_LIMIT);\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        calls[0] = IMulticall3.Call3({\n            target: L1_SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(SystemConfig.setGasLimit, (ROLLBACK_GAS_LIMIT))\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return SYSTEM_CONFIG_OWNER;\n    }\n\n    function _getNonce(IGnosisSafe) internal view override returns (uint256 nonce) {\n        nonce = vm.envUint(\"ROLLBACK_NONCE\");\n    }\n\n    function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) {\n        IGnosisSafe safe = IGnosisSafe(payable(_safe));\n        uint256 _nonce = _getNonce(safe);\n        return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce);\n    }\n\n    // We need to expect that the gas limit will have been updated previously in our simulation\n    // Use this override to specifically set the gas limit to the expected update value.\n    function _addGenericOverrides() internal view override returns (SimulationStateOverride memory) {\n        SimulationStorageOverride[] memory _stateOverrides = new SimulationStorageOverride[](1);\n        _stateOverrides[0] = SimulationStorageOverride({\n            key: 0x0000000000000000000000000000000000000000000000000000000000000068, // slot of gas limit\n            value: bytes32(vm.envUint(\"GAS_LIMIT\"))\n        });\n        return SimulationStateOverride({contractAddress: L1_SYSTEM_CONFIG, overrides: _stateOverrides});\n    }\n}\n"
  },
  {
    "path": "mainnet/2024-07-16-increase-gas-limit/script/UpdateGasLimit.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport {\n    MultisigBuilder,\n    IMulticall3,\n    IGnosisSafe,\n    console,\n    Enum\n} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\nimport { Vm } from \"forge-std/Vm.sol\";\n\ncontract UpdateGaslimit is MultisigBuilder {\n    address internal SYSTEM_CONFIG_OWNER = vm.envAddress(\"SYSTEM_CONFIG_OWNER\");\n    address internal L1_SYSTEM_CONFIG = vm.envAddress(\"L1_SYSTEM_CONFIG_ADDRESS\");\n    uint64 internal GAS_LIMIT = uint64(vm.envUint(\"GAS_LIMIT\"));\n\n    function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal override view {\n        assert(SystemConfig(L1_SYSTEM_CONFIG).gasLimit() == GAS_LIMIT);\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        calls[0] = IMulticall3.Call3({\n            target: L1_SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(SystemConfig.setGasLimit, (GAS_LIMIT))\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return SYSTEM_CONFIG_OWNER;\n    }\n\n    function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) {\n        IGnosisSafe safe = IGnosisSafe(payable(_safe));\n        uint256 _nonce = _getNonce(safe);\n        return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce);\n    }\n}\n"
  },
  {
    "path": "mainnet/2024-07-23-set-l1-resolver/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: sign-set-l1-resolver\nsign-set-l1-resolver: \n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) SetL1Resolver \\\n\t--sig \"sign()\"\n\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(L1_RPC_URL) SetL1Resolver \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2024-07-23-set-l1-resolver/README.md",
    "content": "# Update the `Resolver` of the `base.eth` name to the Basenames [L1Resolver](https://github.com/base-org/basenames/blob/v1.0.0/src/L1/L1Resolver.sol)\n\nStatus: EXECUTED\n\n## Objective\n\nFor the L2 infrastructure to function, the L1 `base.eth` name needs to enable CCIP-read via an [ERC-3668](https://eips.ethereum.org/EIPS/eip-3668) compliant resolver. The Basenames [L1Resolver](https://github.com/base-org/basenames/blob/v1.0.0/src/L1/L1Resolver.sol) contract implements this functionality.\n\nThis script interfaces with the ENS registry and changes the address of our `resolver` to the newly deployed L1 Resolver contract.\n\nThe values we are sending are statically defined in the `.env`.\n\n## Approving the Update transaction\n\n### 1. Update repo and move to the appropriate folder:\n\n```\ncd contract-deployments\ngit pull\ncd mainnet/2024-07-23-set-l1-resolver\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-set-l1-resolver\n```\n\nOnce you run the `make sign...` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNavigate to the `State` tab and check that the following state changes are reflected in the simulation;\n\nThe `resolver` address change in the ENS Registry. We expect that the resolver is being set\n_from_: [0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41](https://etherscan.io/address/0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41)\n_to_: [0x480F8F2FfE823Dc70F499Cc2542C42a3a6aD3f20](https://etherscan.io/address/0x480F8F2FfE823Dc70F499Cc2542C42a3a6aD3f20)\n\n**ENSRegistryWithFallback** _0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e_\n`mapping (bytes32 => tuple) records`\n`bytes32 node`: 0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\n_where_ `0xff1e...8e10` == `nodehash(base.eth)`\n\n**Key:** 0x0c2c38386d21b4257e636b2579f626b23f930fbee0cc73a52081e975ea266cff\n**Before:** 0x0000000000000000000000004976fb03c32e5b8cfe2b6ccb31c09ba78ebaba41\n**After:** 0x000000000000000000000000480f8f2ffe823dc70f499cc2542c42a3a6ad3f20\n\n**GnosisSafeProxy** _0x14536667Cd30e52C0b458BaACcB9faDA7046E056_\nIncrements the nonce from 24 -> 25\n**Key**: 0x0000000000000000000000000000000000000000000000000000000000000005\n**Before**: 0x0000000000000000000000000000000000000000000000000000000000000018\n**After**: 0x0000000000000000000000000000000000000000000000000000000000000019\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-set-l1-resolver\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Execute the output (For Facilitator)\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make execute`\n"
  },
  {
    "path": "mainnet/2024-07-23-set-l1-resolver/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2024-07-23-set-l1-resolver/script/SetL1Resolver.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {\n    MultisigBuilder,\n    IMulticall3,\n    IGnosisSafe,\n    console,\n    Enum\n} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\nimport { Vm } from \"forge-std/Vm.sol\";\n\ninterface Registry {\n    function setResolver(bytes32 node, address resolver) external;\n    function resolver(bytes32 node) external returns (address);\n}\n\ncontract SetL1Resolver is MultisigBuilder {\n\n    address internal ENS_REGISTRY = vm.envAddress(\"ENS_REGISTRY\");\n    address internal INCIDENT_MULTISIG = vm.envAddress(\"L1_INCIDENT_MULTISIG\");\n    bytes32 internal BASE_ETH_NODE = vm.envBytes32(\"BASE_ETH_NODEHASH\");\n    address internal L1_RESOLVER_ADDR = vm.envAddress(\"L1_RESOLVER_ADDR\");\n\n    /**\n     * @notice Follow up assertions to ensure that the script ran to completion.\n     */\n    function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal override {\n        assert(Registry(ENS_REGISTRY).resolver(BASE_ETH_NODE) == L1_RESOLVER_ADDR);\n    }\n\n    /**\n     * @notice Creates the calldata\n     */\n    function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        calls[0] = IMulticall3.Call3({\n            target: ENS_REGISTRY,\n            allowFailure: false,\n            callData: abi.encodeCall(Registry.setResolver, (BASE_ETH_NODE, L1_RESOLVER_ADDR))\n        });\n\n        return calls;\n    }\n\n    /**\n     * @notice Returns the safe address to execute the transaction from\n     */\n    function _ownerSafe() internal override view returns (address) {\n        return INCIDENT_MULTISIG;\n    }\n\n    function _addOverrides(address _safe) internal override view returns (SimulationStateOverride memory) {\n        IGnosisSafe safe = IGnosisSafe(payable(_safe));\n        uint256 _nonce = _getNonce(safe);\n        return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce);\n    }\n}"
  },
  {
    "path": "mainnet/2024-07-23-transfer-owner-balance-tracker/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: sign\nsign:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) BalanceTrackerOwnershipTransfer \\\n\t--sig \"sign()\"\n\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(L1_RPC_URL) BalanceTrackerOwnershipTransfer \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2024-07-23-transfer-owner-balance-tracker/README.md",
    "content": "# Transfer ownership of L1 `BalanceTracker` from the CB Upgrade multisig to the CB Incident multisig \n\nStatus: EXECUTED\nhttps://etherscan.io/tx/0x096cdc7349e9eba3ee7f69c103adfdc6565dbe36bb523fa84169391dee6b6e58\n\n## Objective\n\nTransfer the ownership of the L1 `BalanceTracker` contract from the CB Upgrade multisig to the CB Incident multisig.\nThis allows us to be more responsive to required balance changes for our batcher, proposer, and challenger addresses.\n\n## Approving the transaction\n\n### 1. Update repo and move to the appropriate folder:\n```\ncd contract-deployments\ngit pull\ncd mainnet/2024-07-23-transfer-owner-balance-tracker\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n``` shell\nmake sign\n```\n\nOnce you run the `make sign` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 1 validation, and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate the proxy admin has been updated correctly.\n\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark \n\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Upgrade Multisig under the \"GnosisSafeProxy\" at address `0x9855054731540A48b28990B63DcF4f33d8AE46A1`. We should see the nonce increment from 13 to 14:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x000000000000000000000000000000000000000000000000000000000000000d\nAfter: 0x000000000000000000000000000000000000000000000000000000000000000e\n```\n\n2. Verify that the admin is appropriately updated under \"Proxy\" at address `0x23B597f33f6f2621F77DA117523Dffd634cDf4ea`.\nWe should see that the admin change from 0x9855054731540a48b28990b63dcf4f33d8ae46a1 to 0x14536667cd30e52c0b458baaccb9fada7046e056:\n\n```\nKey: 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103\nBefore: 0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1\nAfter: 0x00000000000000000000000014536667cd30e52c0b458baaccb9fada7046e056\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n``` shell\nmake sign\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n\n## Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\n   SIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make execute`\n"
  },
  {
    "path": "mainnet/2024-07-23-transfer-owner-balance-tracker/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2024-07-23-transfer-owner-balance-tracker/records/BalanceTrackerOwnershipTransfer.sol/1/run-1721845061.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x096cdc7349e9eba3ee7f69c103adfdc6565dbe36bb523fa84169391dee6b6e58\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000023b597f33f6f2621f77da117523dffd634cdf4ea0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000248f28397000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x7a4ab5287caf68bd6620726b009659528ace3b0f76955e7e1df48825fcfe76651c3c295f3a0d689269f0fd0e9098c2c073a804b6de73eb3b91178999daffe4861cb9660001168bb9adffca1470990ce0687bd3e43fc39a65d5713ce98e53e3ad1439b52037612ce3ff8c00c67409bf372b0bc9fa481f4029cb58b8aa4dd294b9f11cac9cac18057524f35102cb25e75f901472cc64ef8501e1ad77860a12edf0b334188f6e565d03e1097dcc830e04f40ce8e3f8bb6867a708b70b5aee9f4b130a9b1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xbbc9b955be73ca4eeb28e988e9d21d2538978f03\",\n        \"to\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n        \"gas\": \"0x1c6e3\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000023b597f33f6f2621f77da117523dffd634cdf4ea0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000248f28397000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e056000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c37a4ab5287caf68bd6620726b009659528ace3b0f76955e7e1df48825fcfe76651c3c295f3a0d689269f0fd0e9098c2c073a804b6de73eb3b91178999daffe4861cb9660001168bb9adffca1470990ce0687bd3e43fc39a65d5713ce98e53e3ad1439b52037612ce3ff8c00c67409bf372b0bc9fa481f4029cb58b8aa4dd294b9f11cac9cac18057524f35102cb25e75f901472cc64ef8501e1ad77860a12edf0b334188f6e565d03e1097dcc830e04f40ce8e3f8bb6867a708b70b5aee9f4b130a9b1b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x22\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xcb0eae\",\n      \"logs\": [\n        {\n          \"address\": \"0x23b597f33f6f2621f77da117523dffd634cdf4ea\",\n          \"topics\": [\n            \"0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f\"\n          ],\n          \"data\": \"0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a100000000000000000000000014536667cd30e52c0b458baaccb9fada7046e056\",\n          \"blockHash\": \"0x300c6a0091e3a61726d2dc3912ef9a9c8311d16ffe1fba129dd2c731acc53423\",\n          \"blockNumber\": \"0x136f21b\",\n          \"blockTimestamp\": \"0x66a1453f\",\n          \"transactionHash\": \"0x096cdc7349e9eba3ee7f69c103adfdc6565dbe36bb523fa84169391dee6b6e58\",\n          \"transactionIndex\": \"0x86\",\n          \"logIndex\": \"0x1af\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x9d2b35eb0c456c40e19b8c8b9644c4459072d1f9ba81d803cccebe5a63bf0a3e0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x300c6a0091e3a61726d2dc3912ef9a9c8311d16ffe1fba129dd2c731acc53423\",\n          \"blockNumber\": \"0x136f21b\",\n          \"blockTimestamp\": \"0x66a1453f\",\n          \"transactionHash\": \"0x096cdc7349e9eba3ee7f69c103adfdc6565dbe36bb523fa84169391dee6b6e58\",\n          \"transactionIndex\": \"0x86\",\n          \"logIndex\": \"0x1b0\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000010000000000000000008000000000000040000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000008000000000000000000000000000000000100000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000040000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x096cdc7349e9eba3ee7f69c103adfdc6565dbe36bb523fa84169391dee6b6e58\",\n      \"transactionIndex\": \"0x86\",\n      \"blockHash\": \"0x300c6a0091e3a61726d2dc3912ef9a9c8311d16ffe1fba129dd2c731acc53423\",\n      \"blockNumber\": \"0x136f21b\",\n      \"gasUsed\": \"0x13709\",\n      \"effectiveGasPrice\": \"0xe191bd15\",\n      \"from\": \"0xbbc9b955be73ca4eeb28e988e9d21d2538978f03\",\n      \"to\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1721845061,\n  \"chain\": 1,\n  \"commit\": \"c75de44\"\n}"
  },
  {
    "path": "mainnet/2024-07-23-transfer-owner-balance-tracker/script/BalanceTrackerOwnershipTransfer.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport { Vm } from \"forge-std/Vm.sol\";\nimport { Proxy } from \"@eth-optimism-bedrock/src/universal/Proxy.sol\";\nimport {\n    MultisigBuilder,\n    IMulticall3,\n    IGnosisSafe\n} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\n\ncontract BalanceTrackerOwnershipTransfer is MultisigBuilder {\n    address internal _proxyContract = vm.envAddress(\"BALANCE_TRACKER_PROXY_ADDR\");\n    address internal _oldOwner = vm.envAddress(\"CB_UPGRADE_SAFE_ADDR\");\n    address internal _newOwner = vm.envAddress(\"CB_INCIDENT_SAFE_ADDR\");\n\n    function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal override {\n        Proxy proxy = Proxy(payable(_proxyContract));\n        vm.prank(_newOwner);\n        assert(proxy.admin() == _newOwner);\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        calls[0] = IMulticall3.Call3({\n            target: _proxyContract,\n            allowFailure: false,\n            callData: abi.encodeCall(Proxy.changeAdmin, (_newOwner))\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return _oldOwner;\n    }\n\n    function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) {\n        IGnosisSafe safe = IGnosisSafe(payable(_safe));\n        uint256 _nonce = _getNonce(safe);\n        return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce);\n    }\n}\n"
  },
  {
    "path": "mainnet/2024-07-24-increase-gas-limit/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: sign-update-gas-limit\nsign-update-gas-limit: \n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpdateGaslimit \\\n\t--sig \"sign()\"\n\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(L1_RPC_URL) UpdateGaslimit \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n\n.PHONY: sign-rollback-gas-limit\nsign-rollback-gas-limit: \n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) RollbackGasLimit \\\n\t--sig \"sign()\"\n\n\n.PHONY: execute-rollback\nexecute-rollback:\n\tforge script --rpc-url $(L1_RPC_URL) RollbackGasLimit \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2024-07-24-increase-gas-limit/README.md",
    "content": "# Update Gas Limit in L1 `SystemConfig` \n\nStatus: DONE\n\n## Objective\n\nWe are updating the gas limit to improve TPS and reduce gas fees. \n\nThis runbook implements scripts which allow our signers to sign two different calls for our Incident Multisig: \n1. `UpdateGasLimit` -- This script will update the gas limit to our new limit of 100.5M gas\n2. `RollbackGasLimit` -- This script establishes a rollback call in the case we need to revert to 97.5M gas\n\nThe values we are sending are statically defined in the `.env`.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow \n> the flow for both \"Approving the Update transaction\" and \n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed. \n\n## Approving the Update transaction\n\n### 1. Update repo and move to the appropriate folder:\n```\ncd contract-deployments\ngit pull\ncd mainnet/2024-07-24-increase-gas-limit\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n``` shell\nmake sign-update-gas-limit\n```\n\nOnce you run the `make sign...` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark \n\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 18 to 19:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000017\nAfter: 0x00000000000000000000000000000000000000000000000000000000000000018\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 105M to 112.5M:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x0000000000000000000000000000000000000000000000000000000006422C40\nAfter: 0x0000000000000000000000000000000000000000000000000000000006B49D20\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n``` shell\nmake sign-update-gas-limit\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n\n## Approving the Rollback transaction\n\nComplete the above steps for `Approving the Update transaction` before continuing below.\n\n### 1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n``` shell\nmake sign-rollback-gas-limit\n```\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output. Once again paste this URL in your browser and click \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark \n\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x00000000000000000000000000000000000000000000000000000000000000018\nAfter: 0x00000000000000000000000000000000000000000000000000000000000000019\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x0000000000000000000000000000000000000000000000000000000006B49D20\nAfter: 0x0000000000000000000000000000000000000000000000000000000006422C40\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n``` shell\nmake sign-rollback-gas-limit\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\n   SIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make execute`\n\n> [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK\n> Repeat the above, but replace the signatures with the signed\n> rollback signatures collected, the call `make execute-rollback`\n"
  },
  {
    "path": "mainnet/2024-07-24-increase-gas-limit/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2024-07-24-increase-gas-limit/script/RollbackGasLimit.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport {\n    MultisigBuilder,\n    Simulator,\n    IMulticall3,\n    IGnosisSafe,\n    console,\n    Enum\n} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\nimport { Vm } from \"forge-std/Vm.sol\";\n\n// This script will be signed ahead of our gas limit increase but isn't expected to be\n// executed. It will be available to us in the event we need to quickly rollback the gas limit.\ncontract RollbackGasLimit is MultisigBuilder {\n    address internal SYSTEM_CONFIG_OWNER = vm.envAddress(\"SYSTEM_CONFIG_OWNER\");\n    address internal L1_SYSTEM_CONFIG = vm.envAddress(\"L1_SYSTEM_CONFIG_ADDRESS\");\n    uint64 internal ROLLBACK_GAS_LIMIT = uint64(vm.envUint(\"ROLLBACK_GAS_LIMIT\"));\n\n    function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal override view {\n        assert(SystemConfig(L1_SYSTEM_CONFIG).gasLimit() == ROLLBACK_GAS_LIMIT);\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        calls[0] = IMulticall3.Call3({\n            target: L1_SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(SystemConfig.setGasLimit, (ROLLBACK_GAS_LIMIT))\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return SYSTEM_CONFIG_OWNER;\n    }\n\n    function _getNonce(IGnosisSafe) internal view override returns (uint256 nonce) {\n        nonce = vm.envUint(\"ROLLBACK_NONCE\");\n    }\n\n    function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) {\n        IGnosisSafe safe = IGnosisSafe(payable(_safe));\n        uint256 _nonce = _getNonce(safe);\n        return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce);\n    }\n\n    // We need to expect that the gas limit will have been updated previously in our simulation\n    // Use this override to specifically set the gas limit to the expected update value.\n    function _addGenericOverrides() internal view override returns (SimulationStateOverride memory) {\n        SimulationStorageOverride[] memory _stateOverrides = new SimulationStorageOverride[](1);\n        _stateOverrides[0] = SimulationStorageOverride({\n            key: 0x0000000000000000000000000000000000000000000000000000000000000068, // slot of gas limit\n            value: bytes32(vm.envUint(\"GAS_LIMIT\"))\n        });\n        return SimulationStateOverride({contractAddress: L1_SYSTEM_CONFIG, overrides: _stateOverrides});\n    }\n}\n"
  },
  {
    "path": "mainnet/2024-07-24-increase-gas-limit/script/UpdateGasLimit.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport {\n    MultisigBuilder,\n    IMulticall3,\n    IGnosisSafe,\n    console,\n    Enum\n} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\nimport { Vm } from \"forge-std/Vm.sol\";\n\ncontract UpdateGaslimit is MultisigBuilder {\n    address internal SYSTEM_CONFIG_OWNER = vm.envAddress(\"SYSTEM_CONFIG_OWNER\");\n    address internal L1_SYSTEM_CONFIG = vm.envAddress(\"L1_SYSTEM_CONFIG_ADDRESS\");\n    uint64 internal GAS_LIMIT = uint64(vm.envUint(\"GAS_LIMIT\"));\n\n    function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal override view {\n        assert(SystemConfig(L1_SYSTEM_CONFIG).gasLimit() == GAS_LIMIT);\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        calls[0] = IMulticall3.Call3({\n            target: L1_SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(SystemConfig.setGasLimit, (GAS_LIMIT))\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return SYSTEM_CONFIG_OWNER;\n    }\n\n    function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) {\n        IGnosisSafe safe = IGnosisSafe(payable(_safe));\n        uint256 _nonce = _getNonce(safe);\n        return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce);\n    }\n}\n"
  },
  {
    "path": "mainnet/2024-07-24-reduce-batcher-proposer-balance-targets/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: deploy\ndeploy:\n\tforge script --rpc-url $(L1_RPC_URL) DeployBalanceTracker \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n\n.PHONY: sign\nsign:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeBalanceTracker \\\n\t--sig \"sign()\"\n\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeBalanceTracker \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2024-07-24-reduce-batcher-proposer-balance-targets/README.md",
    "content": "# Reduce batcher / proposer target balances on `BalanceTracker`\n\nStatus: [EXECUTED](https://etherscan.io/tx/0x08f83f3d7dd6024f8ff8766c30b5f8c4e70a9dc997391284520281422941d0a9)\n\n## Objective\n\nUpgrade the L1 `BalanceTracker` contract to modify the batcher target balance to 550 ETH and the proposer to 50 ETH.\n\n## Approving the transaction\n\n### 1. Update repo and move to the appropriate folder:\n\n```\ncd contract-deployments\ngit pull\ncd mainnet/2024-07-24-reduce-batcher-proposer-balance-targets\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign\n```\n\nOnce you run the `make sign` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 1 validation, and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate the proxy implementation has been updated correctly.\n2. Validate the initializer variable has been incremented.\n3. Validate the two target balance values have been modified.\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Upgrade Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 24 to 25:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000018\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000019\n```\n\n2. Verify that the implementation is appropriately updated under \"Proxy\" at address `0x23B597f33f6f2621F77DA117523Dffd634cDf4ea`.\n   We should see that the implementation change from 0x54d194faae439fc3f8024801b0b9ebc91ebd39f5 to 0xb00fb2ead6c6150b11fc8b3a8cf7f8944c7dba7b:\n\n```\nKey: 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\nBefore: 0x00000000000000000000000054d194faae439fc3f8024801b0b9ebc91ebd39f5\nAfter: 0x000000000000000000000000b00fb2ead6c6150b11fc8b3a8cf7f8944c7dba7b\n```\n\n3. Verify that the initializer is appropriately updated under \"Proxy\" at address `0x23B597f33f6f2621F77DA117523Dffd634cDf4ea`.\n   We should see that the value change from 1 to 2:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000000\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000001\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000002\n```\n\n4. Verify that the proposer target balance is appropriately updated under \"Proxy\" at address `0x23B597f33f6f2621F77DA117523Dffd634cDf4ea`.\n   We should see the value change from 200 ETH to 50 ETH:\n\n```\nKey: 0x46bddb1178e94d7f2892ff5f366840eb658911794f2c3a44c450aa2c505186c1\nBefore: 0x00000000000000000000000000000000000000000000000ad78ebc5ac6200000\nAfter: 0x000000000000000000000000000000000000000000000002b5e3af16b1880000\n```\n\n5. Verify that the batcher target balance is appropriately updated under \"Proxy\" at address `0x23B597f33f6f2621F77DA117523Dffd634cDf4ea`.\n   We should see the value change from 1000 ETH to 550 ETH:\n\n```\nKey: 0x46bddb1178e94d7f2892ff5f366840eb658911794f2c3a44c450aa2c505186c2\nBefore: 0x00000000000000000000000000000000000000000000003635c9adc5dea00000\nAfter: 0x00000000000000000000000000000000000000000000001dd0c885f9a0d80000\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make execute`\n"
  },
  {
    "path": "mainnet/2024-07-24-reduce-batcher-proposer-balance-targets/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2024-07-24-reduce-batcher-proposer-balance-targets/records/DeployBalanceTracker.s.sol/1/run-1721866466.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x08f83f3d7dd6024f8ff8766c30b5f8c4e70a9dc997391284520281422941d0a9\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"BalanceTracker\",\n      \"contractAddress\": \"0xb00fb2ead6c6150b11fc8b3a8cf7f8944c7dba7b\",\n      \"function\": null,\n      \"arguments\": [\n        \"0xEc8103eb573150cB92f8AF612e0072843db2295F\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xa7a5e47d3959bf134e3ecdeb1f62e054f0d58a18\",\n        \"gas\": \"0x12d461\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60a03461018057601f61116138819003918201601f19168301916001600160401b038311848410176101855780849260209460405283398101031261018057516001600160a01b03811680820361018057156101205760805260005460ff8160081c166100cb5760ff80821610610090575b604051610fc5908161019c823960805181818161046b015261052e0152f35b60ff90811916176000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a138610071565b60405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b60405162461bcd60e51b815260206004820152603260248201527f42616c616e6365547261636b65723a2050524f4649545f57414c4c45542063616044820152716e6e6f74206265206164647265737328302960701b6064820152608490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe60806040526004361015610023575b361561001957600080fd5b610021610d77565b005b6000803560e01c9081630a5657201461009e575080636d1eb022146100955780637fbbe46f1461008c578063927a1a7714610083578063981949e81461007a5763ba69ebed0361000e5761007561048f565b61000e565b5061007561041f565b50610075610399565b506100756102c3565b50610075610180565b346101085760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610108576004359060345482101561010857507f46bddb1178e94d7f2892ff5f366840eb658911794f2c3a44c450aa2c505186c1015460805260206080f35b80fd5b507f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b603454811015610173575b60346000527f46bddb1178e94d7f2892ff5f366840eb658911794f2c3a44c450aa2c505186c10190600090565b61017b61010b565b610146565b50346101bb5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101bb57602060405160148152f35b600080fd5b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761023457604052565b61023c6101c0565b604052565b60209067ffffffffffffffff811161025b575b60051b0190565b6102636101c0565b610254565b9080601f830112156101bb5781359061028861028383610241565b6101f0565b9182938184526020808095019260051b8201019283116101bb578301905b8282106102b4575050505090565b813581529083019083016102a6565b50346101bb5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101bb5767ffffffffffffffff6004358181116101bb57366023820112156101bb5780600401359061032361028383610241565b908192808352602460208094019160051b830101913683116101bb57602401905b82821061036d57602435858782116101bb57610367610021923690600401610268565b9061066d565b813573ffffffffffffffffffffffffffffffffffffffff811681036101bb578152908301908301610344565b50346101bb5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101bb576004356033548110156101bb5773ffffffffffffffffffffffffffffffffffffffff60209160336000527f82a75bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a82015416604051908152f35b50346101bb5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101bb57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346101bb576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610108576001600281541461060f576002815560338054906104df8215156107de565b835b8281106105785784475a7fbadd9d7563efca77438dc132e885aa156837e0b784469f68fbd810cbfb6cda77610567610556858080808873ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168099f1151590565b604051948552939081906020820190565b0390a361057360018055565b604051f35b83908254811015610602575b8286526105fc6105ca827f82a75bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a82015473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff6105f56105eb8561013b565b90549060031b1c90565b9116610da5565b016104e1565b61060a61010b565b610584565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b9060005460ff8160081c161590816107d0575b501561074c576106f0916106ba60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006000541617600055565b6106eb6101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff6000541617600055565b610c17565b61071d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff60005416600055565b604051600281527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a1565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152fd5b6002915060ff161038610680565b156107e557565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f42616c616e6365547261636b65723a2073797374656d4164647265737365732060448201527f63616e6e6f7420686176652061206c656e677468206f66207a65726f000000006064820152fd5b1561087057565b60a46040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604760248201527f42616c616e6365547261636b65723a2073797374656d4164647265737365732060448201527f616e642074617267657442616c616e636573206c656e677468206d757374206260648201527f6520657175616c000000000000000000000000000000000000000000000000006084820152fd5b602091815181101561092f575b60051b010190565b61093761010b565b610927565b1561094357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f42616c616e6365547261636b65723a2073797374656d4164647265737365732060448201527f63616e6e6f7420636f6e7461696e2061646472657373283029000000000000006064820152fd5b156109ce57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f42616c616e6365547261636b65723a2074617267657442616c616e636573206360448201527f616e6e6f7420636f6e7461696e203020746172676574000000000000000000006064820152fd5b805190680100000000000000008211610b45575b60335482603355808310610b04575b5060208091019060336000527f82a75bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a826000925b848410610ab4575050505050565b6001838273ffffffffffffffffffffffffffffffffffffffff839451167fffffffffffffffffffffffff000000000000000000000000000000000000000086541617855501920193019290610aa6565b827f82a75bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a8291820191015b818110610b395750610a75565b60008155600101610b2c565b610b4d6101c0565b610a66565b805190680100000000000000008211610c0a575b60345482603455808310610bc9575b5060208091019060346000527f46bddb1178e94d7f2892ff5f366840eb658911794f2c3a44c450aa2c505186c16000925b848410610bb4575050505050565b60018382829351855501920193019290610ba6565b827f46bddb1178e94d7f2892ff5f366840eb658911794f2c3a44c450aa2c505186c191820191015b818110610bfe5750610b75565b60008155600101610bf1565b610c126101c0565b610b66565b91908251610c268115156107de565b60148111610ccd57610c3a82518214610869565b60005b818110610c62575050610c53610c589293610a52565b610b52565b610c60610f6f565b565b80610cb2610cab610c92610c786001958a61091a565b5173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b151561093c565b610cc7610cbf828661091a565b5115156109c7565b01610c3d565b60a46040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604460248201527f42616c616e6365547261636b65723a2073797374656d4164647265737365732060448201527f63616e6e6f7420686176652061206c656e67746820677265617465722074686160648201527f6e203230000000000000000000000000000000000000000000000000000000006084820152fd5b6040513481527f5741979df5f3e491501da74d3b0a83dd2496ab1f34929865b3e190a8ad75859a60203392a2565b9081319080821015610e9657818110610e6757034780821115610e2a5773ffffffffffffffffffffffffffffffffffffffff7f74273f98770936abfe9aad12868d2dbe403347b74b7f3a539d0359c123d5d31c915b610e256000808080858a5af19160405193849315159716958360209093929193604081019481520152565b0390a3565b507f74273f98770936abfe9aad12868d2dbe403347b74b7f3a539d0359c123d5d31c73ffffffffffffffffffffffffffffffffffffffff82610dfa565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b50506000907f74273f98770936abfe9aad12868d2dbe403347b74b7f3a539d0359c123d5d31c604073ffffffffffffffffffffffffffffffffffffffff8151938585528560208601521692a3565b15610eeb57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152fd5b610f8960ff60005460081c16610f8481610ee4565b610ee4565b6001805556fea26469706673582212201bbe4bed07edc5c0d14484e3edf4908a50755b1acce2cce42f9502403be7908e64736f6c634300080f0033000000000000000000000000ec8103eb573150cb92f8af612e0072843db2295f\",\n        \"nonce\": \"0x7\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xab0fe9\",\n      \"logs\": [\n        {\n          \"address\": \"0xb00fb2ead6c6150b11fc8b3a8cf7f8944c7dba7b\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000ff\",\n          \"blockHash\": \"0x77964bc9d82288323fe7e0ad8f486343a0a171d28b250579ee750f99048cf172\",\n          \"blockNumber\": \"0x136f906\",\n          \"blockTimestamp\": \"0x66a198df\",\n          \"transactionHash\": \"0x08f83f3d7dd6024f8ff8766c30b5f8c4e70a9dc997391284520281422941d0a9\",\n          \"transactionIndex\": \"0x4c\",\n          \"logIndex\": \"0x157\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000200000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x08f83f3d7dd6024f8ff8766c30b5f8c4e70a9dc997391284520281422941d0a9\",\n      \"transactionIndex\": \"0x4c\",\n      \"blockHash\": \"0x77964bc9d82288323fe7e0ad8f486343a0a171d28b250579ee750f99048cf172\",\n      \"blockNumber\": \"0x136f906\",\n      \"gasUsed\": \"0xe7d16\",\n      \"effectiveGasPrice\": \"0xa1130edb\",\n      \"from\": \"0xa7a5e47d3959bf134e3ecdeb1f62e054f0d58a18\",\n      \"to\": null,\n      \"contractAddress\": \"0xb00fb2ead6c6150b11fc8b3a8cf7f8944c7dba7b\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1721866466,\n  \"chain\": 1,\n  \"commit\": \"65b8deb\"\n}"
  },
  {
    "path": "mainnet/2024-07-24-reduce-batcher-proposer-balance-targets/script/DeployBalanceTracker.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport { console } from \"forge-std/console.sol\";\nimport { Script } from \"forge-std/Script.sol\";\n\nimport { BalanceTracker } from \"@base-contracts/src/revenue-share/BalanceTracker.sol\";\n\ncontract DeployBalanceTracker is Script {\n   function run() external {\n        address payable profitWallet = payable(vm.envAddress(\"PROFIT_WALLET\"));\n\n        console.log(\"Profit Wallet: %s\", profitWallet);\n\n        vm.broadcast();\n        BalanceTracker balanceTrackerImpl = new BalanceTracker(profitWallet);\n        require(balanceTrackerImpl.PROFIT_WALLET() == profitWallet, \"DeployBalanceTracker: incorrect profit wallet\");\n\n        console.log(\"Balance Tracker Impl address: %s\", address(balanceTrackerImpl));\n   }\n}\n"
  },
  {
    "path": "mainnet/2024-07-24-reduce-batcher-proposer-balance-targets/script/UpgradeBalanceTracker.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport { Vm } from \"forge-std/Vm.sol\";\nimport { console } from \"forge-std/console.sol\";\n\nimport { Proxy } from \"@eth-optimism-bedrock/src/universal/Proxy.sol\";\n\nimport { MultisigBuilder, IGnosisSafe, IMulticall3 } from \"@base-contracts/script/universal/MultisigBuilder.sol\";\nimport { BalanceTracker } from \"@base-contracts/src/revenue-share/BalanceTracker.sol\";\n\n/**\n * @notice Upgrades the BalanceTracker proxy contract\n */\ncontract UpgradeBalanceTracker is MultisigBuilder {\n    address internal ownerSafe = vm.envAddress(\"CB_INCIDENT_SAFE_ADDR\");\n    address payable internal proxy = payable(vm.envAddress(\"BALANCE_TRACKER_PROXY\"));\n    address payable internal implementation = payable(vm.envAddress(\"BALANCE_TRACKER_IMPLEMENTATION\"));\n\n    address payable internal profitWallet = payable(vm.envAddress(\"PROFIT_WALLET\"));\n    address payable internal outputProposer = payable(vm.envAddress(\"OUTPUT_PROPOSER\"));\n    address payable internal batchSender = payable(vm.envAddress(\"BATCH_SENDER\"));\n    uint256 internal outputProposerTargetBalance = vm.envUint(\"OUTPUT_PROPOSER_TARGET_BALANCE\");\n    uint256 internal batchSenderTargetBalance = vm.envUint(\"BATCH_SENDER_TARGET_BALANCE\");\n\n    function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) {\n        console.log(\"Batch Sender: %s\", batchSender);\n        console.log(\"Output Proposer: %s\", outputProposer);\n        console.log(\"Batch Sender Target Balance: %s\", batchSenderTargetBalance);\n        console.log(\"Output Proposer Target Balance: %s\", outputProposerTargetBalance);\n\n        address payable[] memory systemAddresses = new address payable[](2);\n        uint256[] memory targetBalances = new uint256[](2);\n        systemAddresses[0] = outputProposer;\n        systemAddresses[1] = batchSender;\n        targetBalances[0] = outputProposerTargetBalance;\n        targetBalances[1] = batchSenderTargetBalance;\n\n        bytes memory initializeCall = abi.encodeCall(\n            BalanceTracker.initialize, (\n                systemAddresses,\n                targetBalances\n            )\n        );\n\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        calls[0] = IMulticall3.Call3({\n            target: proxy,\n            allowFailure: false,\n            callData: abi.encodeCall(\n                Proxy.upgradeToAndCall,\n                (\n                    implementation,\n                    initializeCall\n                )\n            )\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal override view returns (address) {\n        return ownerSafe;\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal override {\n        vm.prank(ownerSafe);\n        require(\n            Proxy(proxy).implementation() == implementation,\n            \"UpgradeBalanceTracker: incorrect proxy implementation\"\n        );\n        require(\n            BalanceTracker(implementation).PROFIT_WALLET() == profitWallet,\n            \"UpgradeBalanceTracker: incorrect profit wallet\"\n        );\n        require(\n            BalanceTracker(proxy).systemAddresses(0) == outputProposer,\n            \"UpgradeBalanceTracker: incorrect output proposer\"\n        );\n        require(\n            BalanceTracker(proxy).systemAddresses(1) == batchSender,\n            \"UpgradeBalanceTracker: incorrect batch sender\"\n        );\n        require(\n            BalanceTracker(proxy).targetBalances(0) == outputProposerTargetBalance,\n            \"UpgradeBalanceTracker: incorrect output proposer target balance\"\n        );\n        require(\n            BalanceTracker(proxy).targetBalances(1) == batchSenderTargetBalance,\n            \"UpgradeBalanceTracker: incorrect batch sender target balance\"\n        );\n    }\n\n    function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) {\n        IGnosisSafe safe = IGnosisSafe(payable(_safe));\n        uint256 _nonce = _getNonce(safe);\n        return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce);\n    }\n}\n"
  },
  {
    "path": "mainnet/2024-07-30-set-new-l1-resolver/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: sign-set-l1-resolver\nsign-set-l1-resolver: \n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) SetL1Resolver \\\n\t--sig \"sign()\"\n\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(L1_RPC_URL) SetL1Resolver \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2024-07-30-set-new-l1-resolver/README.md",
    "content": "# Update the `Resolver` of the `base.eth` name to the Basenames [L1Resolver](https://github.com/base-org/basenames/blob/v1.0.0/src/L1/L1Resolver.sol)\n\nStatus: EXECUTED\nhttps://etherscan.io/tx/0x15a5263c5531d27f6f91cfe79167ddaf0db38a29ce50106ff0e3380b468722df\n\n## Objective\n\nThe L1 Resolver contract set via `2024-07-23-set-l1-resolver` runbook had a bug wherein generic `resolve` requests for the `base.eth` name itself were failing. This was due to the fact that the `rootResolver` does not implement the `resolve` method.\n\nThe issue with the contract was fixed in [this PR](https://github.com/base-org/basenames/pull/84) and deployed in [this SCM deploy](https://provisioning-reports.cbhq.net/smart-contracts/usernames/29?stage=apply&group=tf_apply). This runbook will set the resolver for the `base.eth` name to the newly deployed, fixed version of the L1 Resolver contract.\n\n## Approving the Update transaction\n\n### 1. Update repo and move to the appropriate folder:\n```\ncd contract-deployments\ngit pull\ncd mainnet/2024-07-30-set-new-l1-resolver\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n``` shell\nmake sign-set-l1-resolver\n```\n\nOnce you run the `make sign...` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark \n\n\n#### 3.2. Validate correctness of the state diff.\n\nNavigate to the `State` tab and check that the following state changes are reflected in the simulation; \n\nThe `resolver` address change in the ENS Registry. We expect that the resolver is being set\n_from_: [0x480f8f2ffe823dc70f499cc2542c42a3a6ad3f20](https://etherscan.io/address/0x480f8f2ffe823dc70f499cc2542c42a3a6ad3f20)\n_to_: [0xde9049636f4a1dfe0a64d1bfe3155c0a14c54f31](https://etherscan.io/address/0xde9049636f4a1dfe0a64d1bfe3155c0a14c54f31)\n\n**ENSRegistryWithFallback** _0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e_\n`mapping (bytes32 => tuple) records` \n`bytes32 node`: 0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\n_where_  `0xff1e...8e10` == `nodehash(base.eth)` \n\n**Key:** 0x0c2c38386d21b4257e636b2579f626b23f930fbee0cc73a52081e975ea266cff\n**Before:** 0x000000000000000000000000480f8f2ffe823dc70f499cc2542c42a3a6ad3f20\n**After:** 0x000000000000000000000000de9049636f4a1dfe0a64d1bfe3155c0a14c54f31\n\n**GnosisSafeProxy** _0x14536667Cd30e52C0b458BaACcB9faDA7046E056_\nIncrements the nonce from 26 -> 27\n**Key**: 0x0000000000000000000000000000000000000000000000000000000000000005\n**Before**: 0x000000000000000000000000000000000000000000000000000000000000001a\n**After**: 0x000000000000000000000000000000000000000000000000000000000000001b \n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n``` shell\nmake sign-set-l1-resolver\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n\n## Execute the output (For Facilitator)\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\n   SIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make execute`"
  },
  {
    "path": "mainnet/2024-07-30-set-new-l1-resolver/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2024-07-30-set-new-l1-resolver/records/SetL1Resolver.sol/1/run-1722367323.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x15a5263c5531d27f6f91cfe79167ddaf0db38a29ce50106ff0e3380b468722df\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70aff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10000000000000000000000000de9049636f4a1dfe0a64d1bfe3155c0a14c54f3100000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xf83d0e205c1f88016d56cce6bb07f73ef169f06b1a83073a58a59d106f00c60e25c21e934978ca21d5362100907315308bfdc1a95c502519852686946c2c5de91baebd5a5d3baaeae310e755260288790055082685117e177bbf8bff2e08e54ae46213c40c1f92586c0d9ad31390167c1af8dfad0129bbbe674e85b9614dcab6a41b4cb95310f4d6cdfc54386d0ff3cea84532ddf53fd6d77a7439b976acc7a5cd93368bc72022010f68ac6e6e505e79bfab9b94df88a9c2133998293436eead3c011c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x89ebc5eb7163470e23fcc24833eea6bb93a7b045\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x1d7f2\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000014482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70aff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10000000000000000000000000de9049636f4a1dfe0a64d1bfe3155c0a14c54f31000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3f83d0e205c1f88016d56cce6bb07f73ef169f06b1a83073a58a59d106f00c60e25c21e934978ca21d5362100907315308bfdc1a95c502519852686946c2c5de91baebd5a5d3baaeae310e755260288790055082685117e177bbf8bff2e08e54ae46213c40c1f92586c0d9ad31390167c1af8dfad0129bbbe674e85b9614dcab6a41b4cb95310f4d6cdfc54386d0ff3cea84532ddf53fd6d77a7439b976acc7a5cd93368bc72022010f68ac6e6e505e79bfab9b94df88a9c2133998293436eead3c011c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x5\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x9affb4\",\n      \"logs\": [\n        {\n          \"address\": \"0x00000000000c2e074ec69a0dfb2997ba6c7d2e1e\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\"\n          ],\n          \"data\": \"0x000000000000000000000000de9049636f4a1dfe0a64d1bfe3155c0a14c54f31\",\n          \"blockHash\": \"0xcd387705bb516adb6c01acbf6a15ba4fbf4d350ce5a6d3f1783cda47145f1370\",\n          \"blockNumber\": \"0x1379b31\",\n          \"blockTimestamp\": \"0x66a93d57\",\n          \"transactionHash\": \"0x15a5263c5531d27f6f91cfe79167ddaf0db38a29ce50106ff0e3380b468722df\",\n          \"transactionIndex\": \"0x6d\",\n          \"logIndex\": \"0x127\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xc84c34bbdd1f6207a1102effff0ba9b9c5c390737fb164faee39b2f4cb94c1ae0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xcd387705bb516adb6c01acbf6a15ba4fbf4d350ce5a6d3f1783cda47145f1370\",\n          \"blockNumber\": \"0x1379b31\",\n          \"blockTimestamp\": \"0x66a93d57\",\n          \"transactionHash\": \"0x15a5263c5531d27f6f91cfe79167ddaf0db38a29ce50106ff0e3380b468722df\",\n          \"transactionIndex\": \"0x6d\",\n          \"logIndex\": \"0x128\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000000002000000000000000000000000000000000000000000000000000020000000000000000000040000000000000000100000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000040000000000000000000000040000000000000004000004000000000000000000000000008000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000100000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x15a5263c5531d27f6f91cfe79167ddaf0db38a29ce50106ff0e3380b468722df\",\n      \"transactionIndex\": \"0x6d\",\n      \"blockHash\": \"0xcd387705bb516adb6c01acbf6a15ba4fbf4d350ce5a6d3f1783cda47145f1370\",\n      \"blockNumber\": \"0x1379b31\",\n      \"gasUsed\": \"0x142b3\",\n      \"effectiveGasPrice\": \"0x2746bac5d\",\n      \"from\": \"0x89ebc5eb7163470e23fcc24833eea6bb93a7b045\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1722367323,\n  \"chain\": 1,\n  \"commit\": \"d398f04\"\n}"
  },
  {
    "path": "mainnet/2024-07-30-set-new-l1-resolver/script/SetL1Resolver.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {\n    MultisigBuilder,\n    IMulticall3,\n    IGnosisSafe,\n    console,\n    Enum\n} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\nimport { Vm } from \"forge-std/Vm.sol\";\n\ninterface Registry {\n    function setResolver(bytes32 node, address resolver) external;\n    function resolver(bytes32 node) external returns (address);\n}\n\ncontract SetL1Resolver is MultisigBuilder {\n\n    address internal ENS_REGISTRY = vm.envAddress(\"ENS_REGISTRY\");\n    address internal INCIDENT_MULTISIG = vm.envAddress(\"L1_INCIDENT_MULTISIG\");\n    bytes32 internal BASE_ETH_NODE = vm.envBytes32(\"BASE_ETH_NODEHASH\");\n    address internal L1_RESOLVER_ADDR = vm.envAddress(\"L1_RESOLVER_ADDR\");\n\n    /**\n     * @notice Follow up assertions to ensure that the script ran to completion.\n     */\n    function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal override {\n        assert(Registry(ENS_REGISTRY).resolver(BASE_ETH_NODE) == L1_RESOLVER_ADDR);\n    }\n\n    /**\n     * @notice Creates the calldata\n     */\n    function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        calls[0] = IMulticall3.Call3({\n            target: ENS_REGISTRY,\n            allowFailure: false,\n            callData: abi.encodeCall(Registry.setResolver, (BASE_ETH_NODE, L1_RESOLVER_ADDR))\n        });\n\n        return calls;\n    }\n\n    /**\n     * @notice Returns the safe address to execute the transaction from\n     */\n    function _ownerSafe() internal override view returns (address) {\n        return INCIDENT_MULTISIG;\n    }\n\n    function _addOverrides(address _safe) internal override view returns (SimulationStateOverride memory) {\n        IGnosisSafe safe = IGnosisSafe(payable(_safe));\n        uint256 _nonce = _getNonce(safe);\n        return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce);\n    }\n}"
  },
  {
    "path": "mainnet/2024-07-30-transfer-op/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: sign-cb\nsign-cb:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(OPTIMISM_RPC_URL) TransferOPTokens \\\n\t--sig \"sign(address)\" $(CB_MULTISIG)\n\n.PHONY: sign-op\nsign-op:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(OPTIMISM_RPC_URL) TransferOPTokens \\\n\t--sig \"sign(address)\" $(OP_MULTISIG)\n\n\n.PHONY: approve-cb\napprove-cb:\n\tforge script --rpc-url $(OPTIMISM_RPC_URL) TransferOPTokens \\\n\t--sig \"approve(address,bytes)\" $(CB_MULTISIG) $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n.PHONY: approve-op\napprove-op:\n\tforge script --rpc-url $(OPTIMISM_RPC_URL) TransferOPTokens \\\n\t--sig \"approve(address,bytes)\" $(OP_MULTISIG) $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(OPTIMISM_RPC_URL) TransferOPTokens \\\n\t--sig \"run()\" --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2024-07-30-transfer-op/README.md",
    "content": "# Transfer OP Tokens to SmartEscrow\n\nStatus: EXECUTED\nTx hash: https://optimistic.etherscan.io/tx/0xf1278d1e3fca35113e2b411a58c69b993e1171021097afbdd6f6b02407deb0ce\n\n## Objective\n\nWhen Base launched, Optimism granted a share of OP tokens to Coinbase. The token distribution occurs onchain, and vests over a period of 6 years, with the first vesting event in July 2024. A smart contract handles the logic to make the tokens available for distribution as they vest. This smart contract (the \"Smart Escrow Contract\") also receives OP tokens 1 year before they vest and stores them until vesting. However, since the Smart Escrow contract was not ready upon Base launch, the existing OP tokens are being stored in a 2-of-2 multisig with CB & OP signers (similar to the multisig used for Base's upgrade keys, except on the Optimism network). \n\nNow that the Smart Escrow contract is live, this task moves any existing OP tokens from the 2-of-2 multisig to the Smart Escrow contract.\n\n## Approving the transaction\n\n### 1. Update repo and move to the appropriate folder:\n\n```\ncd contract-deployments\ngit pull\ncd mainnet/2024-07-30-transfer-op\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n``` shell\nmake sign-op # or make sign-cb for Coinbase signers\n```\n\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Optimism Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark \n\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Nested Multisig under the \"GnosisSafeProxy\" at address `0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000001\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000002\n```\n\n2. And for the same contract, verify that this specific execution is approved by the other signer multisig:\n\n```\nKey (if you are an OP signer): 0xca90537b72eefaa217070da5269b8eed78462a4399c1fa107670d1a4cab3301a\nKey (if you are a CB signer): 0x4e7d70e21746b3fcaf2ac086ca20325513b71ba63d976a9e3792a8921ab8d75e\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000000\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000001\n```\n\n3. Verify that the nonce is incremented for your multisig.\n\nIf you are an OP signer - the OP Foundation Multisig should be under the \"GnosisSafeProxy\" at address `0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000082\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000083\n```\n\nIf you are a CB signer - the Coinbase Multisig should be under the address `0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000002\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000003\n```\n\n4. Verify that the state changes for the OP ERC20 token match the expected balance updates.  Under the \"Optimism ERC-20\" `_balances` field, look for the following state changes:\n\n```\n0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940      42054887000000000000000000 -> 0\n0xb3c2f9fc2727078ec3a2255410e83ba5b62c5b5f      0 -> 42054887000000000000000000\n```\nThe raw state changes will look like this (if you convert the hex values to decimal you'll get the above values):\n\n```\nKey: 0x6d16b6fe5688f7b25d007e8e32e8ef55e43df772df001dd04dca46e4b074515a\nBefore: 0x00000000000000000000000000000000000000000022c977fe114f325b3c0000\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000000\n```\n\n```\nKey: 0x9c7ffc2d159d7a0a8143e9bb815194a3d0239701011646f61c42aefd6122e68c\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000000\nAfter: 0x00000000000000000000000000000000000000000022c977fe114f325b3c0000\n```\n\n5. Verify that the `L1FeeVault` at `0x420000000000000000000000000000000000001a` receives the gas associated with the call:\n\n_Note: the balance values here will not be exactly the same_\n```\nBalance     2523179754840340647 -> 2523179853060159772\n```\n\n6. Verify that the nonce for the sending address is appropriately incremented:\n\n_Note: the nonce value might be different depending on the nonce of the sending EOA_\n```\nNonce       0 -> 1\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafeL2.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the hash value may be\ndifferent:\n\n<img width=\"1195\" alt=\"image\" src=\"https://github.com/base-org/contract-deployments/assets/7411939/7d16806c-0408-4d5f-9212-bed4e6fc14f8\">\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n``` shell\nmake sign-op # or make sign-cb for Coinbase signers\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## [For Facilitator ONLY] How to execute the rehearsal\n\n### [After the rehearsal] Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\n   SIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make approve-cb` with Coinbase signer signatures.\n4. Run `make approve-op` with Optimism signer signatures.\n4. Run `make run` to execute the transaction onchain.\n\n"
  },
  {
    "path": "mainnet/2024-07-30-transfer-op/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.19\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2024-07-30-transfer-op/records/TransferOPTokens.s.sol/10/run-1723148142.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x85a6f0f9a3cceada295fdbe30b592ad1d6d44deeb71f61eb94281a1d9820fd94\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x2501c477d0a35545a387aa4a3eee4292a9a8b3f0\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec70940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd1d38be23d0b92d8ea16e4cff18261df02b6f458a98c310c206003927e82cb4b400000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xea948572255ca3205219cb336b2e33fbf7250ebddebe8e0fb5e53c658ac622db4c82c78576a13c8d4a84bf17aab86045320b1f9a7ded692ed23bbac519440a6a1b9b024bc5278146d33be19492c7987a883e719e1dd166b407a5b778d9e6bd93847a38e86a45ce36900f5d3bb17aa7ee6ea64f6c00ab48858e76b56f57fc80fbf91cb545be8e287db8b8a52062723860dfd68f494f64c174cb713659086d0027f6e13d74cdc8ef60ec1fb6bf8422319b305dbc9203dc046276d6ff3cc224ff782c571b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xbbc9b955be73ca4eeb28e988e9d21d2538978f03\",\n        \"to\": \"0x2501c477d0a35545a387aa4a3eee4292a9a8b3f0\",\n        \"gas\": \"0x262d9\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec70940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd1d38be23d0b92d8ea16e4cff18261df02b6f458a98c310c206003927e82cb4b4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3ea948572255ca3205219cb336b2e33fbf7250ebddebe8e0fb5e53c658ac622db4c82c78576a13c8d4a84bf17aab86045320b1f9a7ded692ed23bbac519440a6a1b9b024bc5278146d33be19492c7987a883e719e1dd166b407a5b778d9e6bd93847a38e86a45ce36900f5d3bb17aa7ee6ea64f6c00ab48858e76b56f57fc80fbf91cb545be8e287db8b8a52062723860dfd68f494f64c174cb713659086d0027f6e13d74cdc8ef60ec1fb6bf8422319b305dbc9203dc046276d6ff3cc224ff782c571b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x1\",\n        \"chainId\": \"0xa\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x23bbfa\",\n      \"logs\": [\n        {\n          \"address\": \"0x2501c477d0a35545a387aa4a3eee4292a9a8b3f0\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec70940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd1d38be23d0b92d8ea16e4cff18261df02b6f458a98c310c206003927e82cb4b4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3ea948572255ca3205219cb336b2e33fbf7250ebddebe8e0fb5e53c658ac622db4c82c78576a13c8d4a84bf17aab86045320b1f9a7ded692ed23bbac519440a6a1b9b024bc5278146d33be19492c7987a883e719e1dd166b407a5b778d9e6bd93847a38e86a45ce36900f5d3bb17aa7ee6ea64f6c00ab48858e76b56f57fc80fbf91cb545be8e287db8b8a52062723860dfd68f494f64c174cb713659086d0027f6e13d74cdc8ef60ec1fb6bf8422319b305dbc9203dc046276d6ff3cc224ff782c571b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000082000000000000000000000000bbc9b955be73ca4eeb28e988e9d21d2538978f030000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0x3a74b35c4aae824abee794a2ea820c5e74d391dfca1b3cd280fe0e0ca690202d\",\n          \"blockNumber\": \"0x760a6d7\",\n          \"transactionHash\": \"0x85a6f0f9a3cceada295fdbe30b592ad1d6d44deeb71f61eb94281a1d9820fd94\",\n          \"transactionIndex\": \"0xc\",\n          \"logIndex\": \"0x36\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x1d38be23d0b92d8ea16e4cff18261df02b6f458a98c310c206003927e82cb4b4\",\n            \"0x0000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f0\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x3a74b35c4aae824abee794a2ea820c5e74d391dfca1b3cd280fe0e0ca690202d\",\n          \"blockNumber\": \"0x760a6d7\",\n          \"transactionHash\": \"0x85a6f0f9a3cceada295fdbe30b592ad1d6d44deeb71f61eb94281a1d9820fd94\",\n          \"transactionIndex\": \"0xc\",\n          \"logIndex\": \"0x37\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x2501c477d0a35545a387aa4a3eee4292a9a8b3f0\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x913653b64ebbac3a3c1730bb0eefd07bad8f6f041cb81a4d9ec73d6e6cedfc160000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x3a74b35c4aae824abee794a2ea820c5e74d391dfca1b3cd280fe0e0ca690202d\",\n          \"blockNumber\": \"0x760a6d7\",\n          \"transactionHash\": \"0x85a6f0f9a3cceada295fdbe30b592ad1d6d44deeb71f61eb94281a1d9820fd94\",\n          \"transactionIndex\": \"0xc\",\n          \"logIndex\": \"0x38\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00080080400000000000000000000000000000000000000000000000040800000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000040000000000000000000000000000000000400000000000000100800000000000000000000000000000000000000000000000000000008000000000000000800000000000000000000000000000200000000400000000000000000004000020000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000041000000000000000000000000000000000000100000000100000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x85a6f0f9a3cceada295fdbe30b592ad1d6d44deeb71f61eb94281a1d9820fd94\",\n      \"transactionIndex\": \"0xc\",\n      \"blockHash\": \"0x3a74b35c4aae824abee794a2ea820c5e74d391dfca1b3cd280fe0e0ca690202d\",\n      \"blockNumber\": \"0x760a6d7\",\n      \"gasUsed\": \"0x1ba3f\",\n      \"effectiveGasPrice\": \"0x4c328\",\n      \"from\": \"0xbbc9b955be73ca4eeb28e988e9d21d2538978f03\",\n      \"to\": \"0x2501c477d0a35545a387aa4a3eee4292a9a8b3f0\",\n      \"contractAddress\": null,\n      \"l1BaseFeeScalar\": \"0x146b\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xf79c5\",\n      \"l1Fee\": \"0x1bf8110b73\",\n      \"l1GasPrice\": \"0xf033b36a\",\n      \"l1GasUsed\": \"0x1646\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {\n    \"0\": {\n      \"internal_type\": \"bool\",\n      \"value\": \"true\"\n    }\n  },\n  \"timestamp\": 1723148142,\n  \"chain\": 10,\n  \"commit\": \"bd8c139\"\n}"
  },
  {
    "path": "mainnet/2024-07-30-transfer-op/records/TransferOPTokens.s.sol/10/run-1723148655.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xec17834d43338eb7d762da16977cab8b699f0de56fa6caa0d94a7e2ee46afb8d\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec70940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd1d38be23d0b92d8ea16e4cff18261df02b6f458a98c310c206003927e82cb4b400000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x7db35fe0166e453288bdb41cd7250616d8d262c34c2da84d25cdf0bc47ba1e0524b53776ce20855d2fdbf039e497ae1bcecff725d01a73f5886858f2012d5a911b3a8cd86a3cd7cce6867917ac5793d423f4f712b09d10d4fd4e4c619628d8853649f237fe758843ab68c31d1cf5358ea7b09ee0f136475fda326abb1b1fed08261c0624cb29039a267550ed532d674c2fc2a04ef5fc1bbb3a6282d217304ff1a1f011ac21885ce4e058dd0b7eb761069120c3df862328acdbb05caf8f6d1e6b5bbd1c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xbbc9b955be73ca4eeb28e988e9d21d2538978f03\",\n        \"to\": \"0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6\",\n        \"gas\": \"0x262fa\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec70940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd1d38be23d0b92d8ea16e4cff18261df02b6f458a98c310c206003927e82cb4b4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c37db35fe0166e453288bdb41cd7250616d8d262c34c2da84d25cdf0bc47ba1e0524b53776ce20855d2fdbf039e497ae1bcecff725d01a73f5886858f2012d5a911b3a8cd86a3cd7cce6867917ac5793d423f4f712b09d10d4fd4e4c619628d8853649f237fe758843ab68c31d1cf5358ea7b09ee0f136475fda326abb1b1fed08261c0624cb29039a267550ed532d674c2fc2a04ef5fc1bbb3a6282d217304ff1a1f011ac21885ce4e058dd0b7eb761069120c3df862328acdbb05caf8f6d1e6b5bbd1c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x2\",\n        \"chainId\": \"0xa\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x27cb35\",\n      \"logs\": [\n        {\n          \"address\": \"0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec70940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd1d38be23d0b92d8ea16e4cff18261df02b6f458a98c310c206003927e82cb4b4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c37db35fe0166e453288bdb41cd7250616d8d262c34c2da84d25cdf0bc47ba1e0524b53776ce20855d2fdbf039e497ae1bcecff725d01a73f5886858f2012d5a911b3a8cd86a3cd7cce6867917ac5793d423f4f712b09d10d4fd4e4c619628d8853649f237fe758843ab68c31d1cf5358ea7b09ee0f136475fda326abb1b1fed08261c0624cb29039a267550ed532d674c2fc2a04ef5fc1bbb3a6282d217304ff1a1f011ac21885ce4e058dd0b7eb761069120c3df862328acdbb05caf8f6d1e6b5bbd1c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002000000000000000000000000bbc9b955be73ca4eeb28e988e9d21d2538978f030000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0x844f665032f1855532ce1656fab3bf1cfb99eb3c7745eac2e81c40f6ebc90a0e\",\n          \"blockNumber\": \"0x760a7d8\",\n          \"transactionHash\": \"0xec17834d43338eb7d762da16977cab8b699f0de56fa6caa0d94a7e2ee46afb8d\",\n          \"transactionIndex\": \"0x7\",\n          \"logIndex\": \"0x32\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x1d38be23d0b92d8ea16e4cff18261df02b6f458a98c310c206003927e82cb4b4\",\n            \"0x0000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f6\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x844f665032f1855532ce1656fab3bf1cfb99eb3c7745eac2e81c40f6ebc90a0e\",\n          \"blockNumber\": \"0x760a7d8\",\n          \"transactionHash\": \"0xec17834d43338eb7d762da16977cab8b699f0de56fa6caa0d94a7e2ee46afb8d\",\n          \"transactionIndex\": \"0x7\",\n          \"logIndex\": \"0x33\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xa4a1f210e7fb3edefa7ab402e08862cc4efb8ecd6dda7a7bd6ede3d77c27088b0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x844f665032f1855532ce1656fab3bf1cfb99eb3c7745eac2e81c40f6ebc90a0e\",\n          \"blockNumber\": \"0x760a7d8\",\n          \"transactionHash\": \"0xec17834d43338eb7d762da16977cab8b699f0de56fa6caa0d94a7e2ee46afb8d\",\n          \"transactionIndex\": \"0x7\",\n          \"logIndex\": \"0x34\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x01000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000080100000000000000000000000000000000000000000000000000000040000000000000000000000000000000000400000000000000000000000000000000000000000800000000000000000000000000000008000000000000000800000000000000000000000000000000000000400000000000000000004000020000000000001000000000000000000000000000000000000000000020000000000000000000000000000000000000000000041000000000001000000000000000000000000100000000100000004\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xec17834d43338eb7d762da16977cab8b699f0de56fa6caa0d94a7e2ee46afb8d\",\n      \"transactionIndex\": \"0x7\",\n      \"blockHash\": \"0x844f665032f1855532ce1656fab3bf1cfb99eb3c7745eac2e81c40f6ebc90a0e\",\n      \"blockNumber\": \"0x760a7d8\",\n      \"gasUsed\": \"0x1ba57\",\n      \"effectiveGasPrice\": \"0xa19d7\",\n      \"from\": \"0xbbc9b955be73ca4eeb28e988e9d21d2538978f03\",\n      \"to\": \"0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6\",\n      \"contractAddress\": null,\n      \"l1BaseFeeScalar\": \"0x146b\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xf79c5\",\n      \"l1Fee\": \"0x1d7a4b3e07\",\n      \"l1GasPrice\": \"0xfd28ad83\",\n      \"l1GasUsed\": \"0x1646\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {\n    \"0\": {\n      \"internal_type\": \"bool\",\n      \"value\": \"true\"\n    }\n  },\n  \"timestamp\": 1723148655,\n  \"chain\": 10,\n  \"commit\": \"bd8c139\"\n}"
  },
  {
    "path": "mainnet/2024-07-30-transfer-op/records/TransferOPTokens.s.sol/10/run-1723148770.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xf1278d1e3fca35113e2b411a58c69b993e1171021097afbdd6f6b02407deb0ce\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004200000000000000000000000000000000000042000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044a9059cbb000000000000000000000000b3c2f9fc2727078ec3a2255410e83ba5b62c5b5f00000000000000000000000000000000000000000022c977fe114f325b3c000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f00000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f6000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xbbc9b955be73ca4eeb28e988e9d21d2538978f03\",\n        \"to\": \"0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940\",\n        \"gas\": \"0x2565c\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000014482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004200000000000000000000000000000000000042000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044a9059cbb000000000000000000000000b3c2f9fc2727078ec3a2255410e83ba5b62c5b5f00000000000000000000000000000000000000000022c977fe114f325b3c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f00000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f6000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x3\",\n        \"chainId\": \"0xa\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x267ae0\",\n      \"logs\": [\n        {\n          \"address\": \"0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000014482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004200000000000000000000000000000000000042000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044a9059cbb000000000000000000000000b3c2f9fc2727078ec3a2255410e83ba5b62c5b5f00000000000000000000000000000000000000000022c977fe114f325b3c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f00000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f600000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000bbc9b955be73ca4eeb28e988e9d21d2538978f030000000000000000000000000000000000000000000000000000000000000002\",\n          \"blockHash\": \"0x1c18f647d5dd83be43b67d22b74bada49be470844267ac2a4a15ff254d8e45f8\",\n          \"blockNumber\": \"0x760a811\",\n          \"transactionHash\": \"0xf1278d1e3fca35113e2b411a58c69b993e1171021097afbdd6f6b02407deb0ce\",\n          \"transactionIndex\": \"0x11\",\n          \"logIndex\": \"0x3e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x4200000000000000000000000000000000000042\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x0000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec70940\",\n            \"0x000000000000000000000000b3c2f9fc2727078ec3a2255410e83ba5b62c5b5f\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000022c977fe114f325b3c0000\",\n          \"blockHash\": \"0x1c18f647d5dd83be43b67d22b74bada49be470844267ac2a4a15ff254d8e45f8\",\n          \"blockNumber\": \"0x760a811\",\n          \"transactionHash\": \"0xf1278d1e3fca35113e2b411a58c69b993e1171021097afbdd6f6b02407deb0ce\",\n          \"transactionIndex\": \"0x11\",\n          \"logIndex\": \"0x3f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x1d38be23d0b92d8ea16e4cff18261df02b6f458a98c310c206003927e82cb4b40000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x1c18f647d5dd83be43b67d22b74bada49be470844267ac2a4a15ff254d8e45f8\",\n          \"blockNumber\": \"0x760a811\",\n          \"transactionHash\": \"0xf1278d1e3fca35113e2b411a58c69b993e1171021097afbdd6f6b02407deb0ce\",\n          \"transactionIndex\": \"0x11\",\n          \"logIndex\": \"0x40\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000040000000000000000040000000000000000000000000000000000000000000000000000000000000800000840000000000000000020000008000000000000040001000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000008000000000002040000000000000000000000000000000000000000400000000000000000004000020000000000000000000000000000000000002000000000000000000020000008000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xf1278d1e3fca35113e2b411a58c69b993e1171021097afbdd6f6b02407deb0ce\",\n      \"transactionIndex\": \"0x11\",\n      \"blockHash\": \"0x1c18f647d5dd83be43b67d22b74bada49be470844267ac2a4a15ff254d8e45f8\",\n      \"blockNumber\": \"0x760a811\",\n      \"gasUsed\": \"0x19923\",\n      \"effectiveGasPrice\": \"0xff20c\",\n      \"from\": \"0xbbc9b955be73ca4eeb28e988e9d21d2538978f03\",\n      \"to\": \"0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940\",\n      \"contractAddress\": null,\n      \"l1BaseFeeScalar\": \"0x146b\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xf79c5\",\n      \"l1Fee\": \"0x11229b80b1\",\n      \"l1GasPrice\": \"0xdfde26fc\",\n      \"l1GasUsed\": \"0xea4\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {\n    \"0\": {\n      \"internal_type\": \"bool\",\n      \"value\": \"true\"\n    }\n  },\n  \"timestamp\": 1723148770,\n  \"chain\": 10,\n  \"commit\": \"bd8c139\"\n}"
  },
  {
    "path": "mainnet/2024-07-30-transfer-op/script/TransferOPTokens.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.19;\n\nimport \"@base-contracts/script/universal/NestedMultisigBuilder.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\n\ncontract TransferOPTokens is NestedMultisigBuilder {\n    address internal NESTED_SAFE = vm.envAddress(\"NESTED_SAFE\");\n    IERC20 public OP_TOKEN = IERC20(vm.envAddress(\"OP_TOKEN\"));\n    address internal SMART_ESCROW = vm.envAddress(\"SMART_ESCROW_CONTRACT\");\n    uint256 internal TOKENS_TO_TRANSFER = vm.envUint(\"TOKENS_TO_TRANSFER\");\n\n    function _postCheck() internal override view {\n        require(\n            OP_TOKEN.balanceOf(SMART_ESCROW) >= TOKENS_TO_TRANSFER,\n            \"TransferOPTokens: tokens not transferred to SmartEscrow contract\"\n        );\n    }\n\n    function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        // There should be TOKENS_TO_TRANSFER tokens in the NESTED_SAFE. However,\n        // there could be more since anyone could send OP to the safe, so check if the\n        // amount is greater than or equal\n        require(\n            OP_TOKEN.balanceOf(NESTED_SAFE) >= TOKENS_TO_TRANSFER,\n            \"TransferOPTokens: unexpected token amount in nested safe\"\n        );\n\n        // Transfer token to SmartEscrow contract\n        calls[0] = IMulticall3.Call3({\n            target: address(OP_TOKEN),\n            allowFailure: false,\n            callData: abi.encodeCall(\n                IERC20.transfer,\n                (SMART_ESCROW, TOKENS_TO_TRANSFER)\n            )\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal override view returns (address) {\n        return NESTED_SAFE;\n    }\n}"
  },
  {
    "path": "mainnet/2024-07-31-increase-gas-limit/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: sign-update-gas-limit\nsign-update-gas-limit: \n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpdateGaslimit \\\n\t--sig \"sign()\"\n\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(L1_RPC_URL) UpdateGaslimit \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n\n.PHONY: sign-rollback-gas-limit\nsign-rollback-gas-limit: \n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) RollbackGasLimit \\\n\t--sig \"sign()\"\n\n\n.PHONY: execute-rollback\nexecute-rollback:\n\tforge script --rpc-url $(L1_RPC_URL) RollbackGasLimit \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2024-07-31-increase-gas-limit/README.md",
    "content": "# Update Gas Limit in L1 `SystemConfig` \n\nStatus: DONE\n\n## Objective\n\nWe are updating the gas limit to improve TPS and reduce gas fees. \n\nThis runbook implements scripts which allow our signers to sign two different calls for our Incident Multisig: \n1. `UpdateGasLimit` -- This script will update the gas limit to our new limit of 120M gas\n2. `RollbackGasLimit` -- This script establishes a rollback call in the case we need to revert to 112.5M gas\n\nThe values we are sending are statically defined in the `.env`.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow \n> the flow for both \"Approving the Update transaction\" and \n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed. \n\n## Approving the Update transaction\n\n### 1. Update repo and move to the appropriate folder:\n```\ncd contract-deployments\ngit pull\ncd mainnet/2024-07-31-increase-gas-limit\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n``` shell\nmake sign-update-gas-limit\n```\n\nOnce you run the `make sign...` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark \n\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 27 to 28:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000027\nAfter: 0x00000000000000000000000000000000000000000000000000000000000000028\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 112.5M to 120M:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x0000000000000000000000000000000000000000000000000000000006422C40\nAfter: 0x0000000000000000000000000000000000000000000000000000000006B49D20\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n``` shell\nmake sign-update-gas-limit\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n\n## Approving the Rollback transaction\n\nComplete the above steps for `Approving the Update transaction` before continuing below.\n\n### 1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n``` shell\nmake sign-rollback-gas-limit\n```\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output. Once again paste this URL in your browser and click \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark \n\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x00000000000000000000000000000000000000000000000000000000000000018\nAfter: 0x00000000000000000000000000000000000000000000000000000000000000019\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x0000000000000000000000000000000000000000000000000000000006b49d20\nAfter: 0x0000000000000000000000000000000000000000000000000000000007270e00\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n``` shell\nmake sign-rollback-gas-limit\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\n   SIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make execute`\n\n> [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK\n> Repeat the above, but replace the signatures with the signed\n> rollback signatures collected, the call `make execute-rollback`\n"
  },
  {
    "path": "mainnet/2024-07-31-increase-gas-limit/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2024-07-31-increase-gas-limit/script/RollbackGasLimit.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport {\n    MultisigBuilder,\n    Simulator,\n    IMulticall3,\n    IGnosisSafe,\n    console,\n    Enum\n} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\nimport { Vm } from \"forge-std/Vm.sol\";\n\n// This script will be signed ahead of our gas limit increase but isn't expected to be\n// executed. It will be available to us in the event we need to quickly rollback the gas limit.\ncontract RollbackGasLimit is MultisigBuilder {\n    address internal SYSTEM_CONFIG_OWNER = vm.envAddress(\"SYSTEM_CONFIG_OWNER\");\n    address internal L1_SYSTEM_CONFIG = vm.envAddress(\"L1_SYSTEM_CONFIG_ADDRESS\");\n    uint64 internal ROLLBACK_GAS_LIMIT = uint64(vm.envUint(\"ROLLBACK_GAS_LIMIT\"));\n\n    function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal override view {\n        assert(SystemConfig(L1_SYSTEM_CONFIG).gasLimit() == ROLLBACK_GAS_LIMIT);\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        calls[0] = IMulticall3.Call3({\n            target: L1_SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(SystemConfig.setGasLimit, (ROLLBACK_GAS_LIMIT))\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return SYSTEM_CONFIG_OWNER;\n    }\n\n    function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) {\n        IGnosisSafe safe = IGnosisSafe(payable(_safe));\n        uint256 _incrementedNonce = _getNonce(safe) + 1;\n        return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _incrementedNonce);\n    }\n\n    // We need to expect that the gas limit will have been updated previously in our simulation\n    // Use this override to specifically set the gas limit to the expected update value.\n    function _addGenericOverrides() internal view override returns (SimulationStateOverride memory) {\n        SimulationStorageOverride[] memory _stateOverrides = new SimulationStorageOverride[](1);\n        _stateOverrides[0] = SimulationStorageOverride({\n            key: 0x0000000000000000000000000000000000000000000000000000000000000068, // slot of gas limit\n            value: bytes32(vm.envUint(\"GAS_LIMIT\"))\n        });\n        return SimulationStateOverride({contractAddress: L1_SYSTEM_CONFIG, overrides: _stateOverrides});\n    }\n}\n"
  },
  {
    "path": "mainnet/2024-07-31-increase-gas-limit/script/UpdateGasLimit.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport {\n    MultisigBuilder,\n    IMulticall3,\n    IGnosisSafe,\n    console,\n    Enum\n} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\nimport { Vm } from \"forge-std/Vm.sol\";\n\ncontract UpdateGaslimit is MultisigBuilder {\n    address internal SYSTEM_CONFIG_OWNER = vm.envAddress(\"SYSTEM_CONFIG_OWNER\");\n    address internal L1_SYSTEM_CONFIG = vm.envAddress(\"L1_SYSTEM_CONFIG_ADDRESS\");\n    uint64 internal GAS_LIMIT = uint64(vm.envUint(\"GAS_LIMIT\"));\n\n    function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal override view {\n        assert(SystemConfig(L1_SYSTEM_CONFIG).gasLimit() == GAS_LIMIT);\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        calls[0] = IMulticall3.Call3({\n            target: L1_SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(SystemConfig.setGasLimit, (GAS_LIMIT))\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return SYSTEM_CONFIG_OWNER;\n    }\n\n    function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) {\n        IGnosisSafe safe = IGnosisSafe(payable(_safe));\n        uint256 _nonce = _getNonce(safe);\n        return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce);\n    }\n}\n"
  },
  {
    "path": "mainnet/2024-08-27-disburse-basenames/Makefile",
    "content": "include ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\nifeq (sign,$(firstword $(MAKECMDGOALS)))\n  RUN_ARG := $(wordlist 2,$(words $(MAKECMDGOALS)),$(MAKECMDGOALS))\n  $(eval $(RUN_ARG):;@:)\nendif\n\n.PHONY: sign\nsign:\n\t./parser.sh \"disbursement$(RUN_ARG).csv\"; $(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L2_RPC_URL) DisburseBasenames \\\n\t--sig \"signWithNonce(uint256)\" $(RUN_ARG)\n\n\nifeq (execute,$(firstword $(MAKECMDGOALS)))\n  RUN_ARG := $(wordlist 2,$(words $(MAKECMDGOALS)),$(MAKECMDGOALS))\n  $(eval $(RUN_ARG):;@:)\nendif\n\n.PHONY: execute\nexecute:\n\t./parser.sh \"disbursement$(RUN_ARG).csv\"; forge script --rpc-url $(L2_RPC_URL) DisburseBasenames \\\n\t--sig \"executeWithNonce(uint256,bytes)\" $(RUN_ARG) $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n\n\nifndef $(GOPATH)\n    GOPATH=$(shell go env GOPATH)\n    export GOPATH\nendif\n\n##\n# Solidity Setup\n##\n.PHONY: deps\ndeps: install-eip712sign clean-lib forge-deps checkout-base-contracts-commit parser-setup\n\n.PHONY: install-eip712sign\ninstall-eip712sign:\n\tgo install github.com/base/eip712sign@v0.0.11\n\n.PHONY: clean-lib\nclean-lib:\n\trm -rf lib\n\n.PHONY: forge-deps\nforge-deps:\n\tforge install --no-git github.com/foundry-rs/forge-std \\\n\t\tgithub.com/base-org/basenames@108224def286db0d904b1848b3dfd5a6accce058\n\n.PHONY: checkout-base-contracts-commit\ncheckout-base-contracts-commit:\n\t[ -n \"$(BASE_CONTRACTS_COMMIT)\" ] || (echo \"BASE_CONTRACTS_COMMIT must be set in .env\" && exit 1)\n\trm -rf lib/base-contracts\n\tmkdir -p lib/base-contracts\n\tcd lib/base-contracts; \\\n\tgit init; \\\n\tgit remote add origin https://github.com/base-org/contracts.git; \\\n\tgit fetch --depth=1 origin $(BASE_CONTRACTS_COMMIT); \\\n\tgit reset --hard FETCH_HEAD\n\n.PHONY: parser-setup\nparser-setup:\n\tchmod +x parser.sh\n"
  },
  {
    "path": "mainnet/2024-08-27-disburse-basenames/README.md",
    "content": "To sign, multisig signers will need to:\n1. Clone the contract-deployments repo and checkout the disburse-basenames branch\n2. cd into the 2024-08-27-disburse-basenames directory\n3. run `make deps`\n4. run `make sign {NUMBER}` where `NUMBER` corresponds to both the `nonce` and the disbursement csv file. \n5. With your ledger connected, it will prompt you to sign the message hash\n6. With your ledger disconnected, this will generate a tenderly sim\n7. Copy the tenderly sim link into your browser. Grab the calldata blob and paste it into the `Enter raw input data` field on the left. Verify that the state transitions are valid. Specifically check that the NFT tokens are being sent to the addresses specified in the csv. \n"
  },
  {
    "path": "mainnet/2024-08-27-disburse-basenames/disbursement.json",
    "content": "{\n  \"singles\": [\n    {\n      \"name\": \"stargatefinance\",\n      \"addr\": \"0x81EAb64E630C4a2E3E849268A6B64cb76D1C8109\"\n    },\n    {\n      \"name\": \"caldera\",\n      \"addr\": \"0x87Ef0aB1189F76eBCaEe736A5EB8F639a8cF156d\"\n    },\n    {\n      \"name\": \"parallel\",\n      \"addr\": \"0x8982Bd35f40f95f348A06902474BE0b5872c1D31\"\n    },\n    {\n      \"name\": \"jumper\",\n      \"addr\": \"0x91aD352C1e419E6AA579F6a9307A7D88b28a147C\"\n    },\n    {\n      \"name\": \"bsx\",\n      \"addr\": \"0x974dD3B4e5E00BC3117Fbba15E521B6B5aFC151C\"\n    },\n    {\n      \"name\": \"ankr\",\n      \"addr\": \"0xA30a04384c162f4458aa5919a0FAE2db579d802a\"\n    },\n    {\n      \"name\": \"oku\",\n      \"addr\": \"0xa6e8772af29b29B9202a073f8E36f447689BEef6\"\n    },\n    {\n      \"name\": \"odos\",\n      \"addr\": \"0xa7471690db0c93a7F827D1894c78Df7379be11c0\"\n    },\n    {\n      \"name\": \"gelato\",\n      \"addr\": \"0xAabB54394E8dd61Dd70897E9c80be8de7C64A895\"\n    },\n    {\n      \"name\": \"aave\",\n      \"addr\": \"0xac140648435d03f784879cd789130F22Ef588Fcd\"\n    },\n    {\n      \"name\": \"rugfun\",\n      \"addr\": \"0xAC5D18e17267Df1D6fdf7E76F974f3a405fE14f1\"\n    },\n    {\n      \"name\": \"decent\",\n      \"addr\": \"0xAcCC1fe6537eb8EB56b31CcFC48Eb9363e8dd32E\"\n    },\n    {\n      \"name\": \"qidao\",\n      \"addr\": \"0xAd95A5fE898679B927C266eB2eDfAbC7fe268C27\"\n    },\n    {\n      \"name\": \"extrafinance\",\n      \"addr\": \"0xB04A484387a7242339DA615A63D2d49D8968aaDa\"\n    },\n    {\n      \"name\": \"drpc\",\n      \"addr\": \"0xB12C13975A4e928BC09432Dbd1eD3fd832Bf99e5\"\n    },\n    {\n      \"name\": \"worldmobile\",\n      \"addr\": \"0xB539e34936b0160A9c3b1E449f368e5942a9244C\"\n    },\n    {\n      \"name\": \"blast\",\n      \"addr\": \"0xb8950c47e8b9e539601cb47a167de8bf4cb1289e\"\n    },\n    {\n      \"name\": \"unifra\",\n      \"addr\": \"0xbDC205d09D602eCe9F2cc341F3CD02b045965A4d\"\n    }\n  ]\n}\n"
  },
  {
    "path": "mainnet/2024-08-27-disburse-basenames/disbursement1.csv",
    "content": "neodaoist,0x4BBa239C9cC83619228457502227D801e4738bA0\n"
  },
  {
    "path": "mainnet/2024-08-27-disburse-basenames/disbursement10.csv",
    "content": "superrare,0xBD57E27Bf41776170f94d99635A5e6f3C33956CB,,\r\ndegen,0x06A19654e0872Ba71c2261EA691Ecf8a0c677156,,\r\nonefootball,0x8Dd5437B96507AC4151D40de18492BD92418cdd9,,\r\njoyride,0xa8CAc43b28A7e5F0Ee797741195A920E88B8e7EB,,\r\nsyndicate,0x66B340673fcE10bd3bFbbe59997Ae188a16b6710,,\r\nseamless,0xA1b5f2cc9B407177CD8a4ACF1699fa0b99955A22,,\r\nduckycity,0xBCDAbE8eEdCc97f9a7C67094EBaaF8eb5cc9fc7C,,\r\nagora,0xC3FdAdbAe46798CD8762185A09C5b672A7aA36Bb,,\r\nbrightmoments,0xDbA4660C946F11e5E39CC3D2377AB3A79d070000,,\r\nfonbnk,0xf23102909b67E197B8376f99cFC8207eDeddb3D6,,\r\nxmtp,0x194c31cAe1418D5256E8c58e0d08Aee1046C6Ed0,,\r\ncoinage,0x0a5964503640F4558094962A8AC66B269981cB59,,"
  },
  {
    "path": "mainnet/2024-08-27-disburse-basenames/disbursement11.csv",
    "content": "talentprotocol,0xC925bD0E839E8e22A7DDEbe7f4C21b187deeC358,,\ntybg,0x2270a4ca23614eCE42905045b1fF2CB2a396c4Ff,,\nmorpho,0xeC5e4a3cE93c284441dC6a2Dd5F0D46a202F00a3,,\nmorphoblue,0xeC5e4a3cE93c284441dC6a2Dd5F0D46a202F00a3,,"
  },
  {
    "path": "mainnet/2024-08-27-disburse-basenames/disbursement12.csv",
    "content": "base,0x97bcd93504d89d9d236e773e8f5c20feae466e72,,\ncoinbasewallet,0x6c199d7B757Cb3E16bCb7fD666eAFb6609754bC0,,\ntrade,0xF28eFd5F546e3C0669E4A049AbeE25FDA18a4cf6,,"
  },
  {
    "path": "mainnet/2024-08-27-disburse-basenames/disbursement13.csv",
    "content": "baseapp,0x6c199d7B757Cb3E16bCb7fD666eAFb6609754bC0"
  },
  {
    "path": "mainnet/2024-08-27-disburse-basenames/disbursement14.csv",
    "content": "NOP"
  },
  {
    "path": "mainnet/2024-08-27-disburse-basenames/disbursement15.csv",
    "content": "basecamp,0xFeEa32fb5A83fFFF0ffDeC4F853377557FF80224"
  },
  {
    "path": "mainnet/2024-08-27-disburse-basenames/disbursement2.csv",
    "content": "dimo,0x0a3092E52BD2565e451E846f064D63dC6864FF06,,\n"
  },
  {
    "path": "mainnet/2024-08-27-disburse-basenames/disbursement3.csv",
    "content": "brian,0x5b76f5B8fc9D700624F78208132f91AD4e61a1f0,,\nbrianarmstrong,0x5b76f5B8fc9D700624F78208132f91AD4e61a1f0,,\ngregtusar,0x9a0877eA7B2A0ACD59e68D5594c09F09Bb95d94d,,\ngregorytusar,0x9a0877eA7B2A0ACD59e68D5594c09F09Bb95d94d,,\nalesiahaas,0xbeb981f82ea4a2bebd0cc366fa4fc11a94697976,,\nalesiajhaas,0xbeb981f82ea4a2bebd0cc366fa4fc11a94697976,,\njpollak,0x2211d1D0020DAEA8039E46Cf1367962070d77DA9,,\nmaxbranzburg,0x416e0C10a3760A35f1891455f30e415e96FBD779,,\npaulgrewal,0x9A34A73650396e603eDB3b12d56a9Ebf270a9720,,\npatchwork,0x0434A5D1D94cA3aa838B8C1F77f2da0b70ac357c,,\npods,0x050549F8c196Bf1bcC293172746c847fD4D77d9d,,\nllamao,0x08a3c2A819E3de7ACa384c798269B3Ce1CD0e437,,\ndefillama,0x08a3c2A819E3de7ACa384c798269B3Ce1CD0e437,,\nllama,0x08a3c2A819E3de7ACa384c798269B3Ce1CD0e437,,\nllamanodes,0x08a3c2A819E3de7ACa384c798269B3Ce1CD0e437,,\nrodeo,0x0C05C7e20Ae245ad9F8f2a3aF8e729c1eF5B6B77,,\nhighlight,0x168FEB2E7de2aC0c37a239261D3F9e1b396F22a2,,\nchronoforge,0x17A45F80eFd20594afE2c59D7e1Ae7AB0c6954Cc,,\narkham,0x19710D5180A69D89F9Aa464B33cc5c30AcA0Ce4a,,\nwagmigames,0x19E96afDE76D4eb120D9c0F1609E6e4AFa077fF3,,\nbeefy,0x1A07DceEfeEbBA3D1873e2B92BeF190d2f11C3cB,,\nrarible,0x1cf0dF2A5A20Cd61d68d4489eEBbf85b8d39e18a,,\nblockscout,0x242ba6d68FfEb4a098B591B32d370F973FF882B7,,\nsynfutures,0x27AebE9c8954fC9ccfC4B0d477396188B8bfd832,,\nsubquery,0x31E99bdA5939bA2e7528707507b017f43b67F89B,,\nrounds,0x322D9d4FAD6a33D27448cb646292E1bf893f40DD,,\nfarworld,0x33C5dFAB83B10E7f29b4D6bce7839F6125fbBa28,,\nrabby,0x341a1fBD51825E5a107DB54cCb3166DeBA145479,,\ndebank,0x341a1fBD51825E5a107DB54cCb3166DeBA145479,,\nmavia,0x354086d5ecFa27749732c7E931152B2517E3059A,,\navantis,0x3775AF82c6C5705140944cD515fE899214Fb0288,,\nl2beat,0x41626BA92c0C2a1aD38fC83920300434082B1870,,\ndynamic,0x475D59919aBced714a52E33511e505b94CfC6dBa,,\nnansen,0x4a7c6899cdcb379e284fbfd045462e751da4c7ce,,\nsignal,0x4AEf5F616C4F7f042EB292e57fc159F8b71C413E,,\ncooprecords,0x512b55b00d744fC2eDB8474f223a7498c3e5a7ce,,\niskra,0x5418707F24784906915bCE1304c7F290C7110F47,,\netherfi,0x54dcbE3cDFf4543316C020D35FA583c0C47a3850,,\nethlas,0x56592eCAd18Fe1b3438b21d718afd97885350AfC,,"
  },
  {
    "path": "mainnet/2024-08-27-disburse-basenames/disbursement4.csv",
    "content": "aavegotchi,0x027Ffd3c119567e85998f4E6B9c3d83D5702660c\r\nhypersub,0x0749D613185F4ad31CB6f9B525B5102b6a9b7AE3\r\nthirdweb,0x09Ac766EA8F52873a1EfD8813C118AFb7218eCD0\r\nyellow,0x0b379F1848fA2aab7790966373618F4B0Fea6A6e\r\nrampnetwork,0x0be2b18bB9B454427D43baae57b4f63938595910\r\nmetamask,0x0c54FcCd2e384b4BB6f2E405Bf5Cbc15a017AaFb\r\nfxhash,0x1014f9499259988e35F1C45F6aE6Aa9FBA011E80\r\nopencover,0x15b72e6d1343aA40A34833238890D78D5B2218F1\r\nhop,0x1ec078551A5ac8F0f51fAc57Ffc48Ea7d9A86E9d\r\naragonproject,0x210532ddfcd50c55ef40f5c3cf0dc05f7715de26\r\nomni,0x24974675deAc932Ca967015c00C28857Edf2452f\r\nmintify,0x2DCC7c4Ab800bF67380e2553BE1E6891A36F18E7\r\nblockpi,0x364020282B9A82f6Be32fd20Ff829b7F0AacD118\r\nmaple,0x3A5ab01B4E142F41f54a861c984D19C866Ec1736\r\nblocto,0x3f74f0af1FA2B2308dd157c7f163307e52e7fED4\r\ncoingecko,0x4Cdc86fa95Ec2704f0849825f1F8b077deeD8d39\r\ndappradar,0x54C8141B74953a2214Be9B38af2270245cC09FAc\r\nsuperbridge,0x56Bf3EB4d343C679a8bDd78d2729D11d6a2eA348\r\nbiconomy,0x59118EB3d4EDC922d4cBFa269963c21cBD3582bb\r\nlido,0x5A9d695c518e95CD6Ea101f2f25fC2AE18486A61\r\ngalxe,0x5aB0Fdc6F0CA9Ea178c95cECCf944A4ce1AedDdD\r\npinata,0x5ba9355a10611Ed4339526472a59bEfed3549bAD\r\ncrossmint,0x5CD2725A727886b78f182040A40DEEAd7c1F20Ca\r\nharvestfi,0x5cDb7E6Ae383F7c28c07C2C8B6963864ba3558C5\r\ndaylightxyz,0x6860A976Ad57C6C41d3697682CdAcE90c8db3c26\r\nsnapshot,0x6910d649F8c24c39e6010ACC62c65225E534Ea97\r\nchimpers,0x6Cc435F69fbac8cCdDc8757E46A9D4376FDB16b5\r\ngraphprotocol,0x6fc78dcc8A949d1530035bD577DCB21e9787100e\r\ndune,0x7058decc644317062f90525f4C1489AaF456e6B3\r\netherscan,0x71C7656EC7ab88b098defB751B7401B5f6d8976F\r\nalchemy,0x72EAa8ba8726a10D5e0d8441c592451C7C6670FC\r\nlavanetwork,0x751c3639c59Ac22fA1039BE7dd754EEc03d4a8C5\r\nrainbow,0x7a3d05c70581bD345fe117c06e45f9669205384f\r\nbonfire,0x7AcC1f792556A1dfF2BaB8c7c51342F2be49bE7f\r\nlayer3,0x7B0befc5B043148Cd7bD5cFeEEf7BC63D28edEC0\r\nzora,0x7bf90111Ad7C22bec9E9dFf8A01A44713CC1b1B6\r\nwatches,0x7CbC1044606B342c9158B438C54D43E7AA21ccc5\r\nnethermind,0x7D82569F9871726C3259aAc2E6057A745C70DC8C\r\neas,0x819068f71Ea2cdB93e001D7AA26CA732F62295fF"
  },
  {
    "path": "mainnet/2024-08-27-disburse-basenames/disbursement5.csv",
    "content": "coin,0x52E6De8B2AE95257E70B0E4B2321263a69594623,,"
  },
  {
    "path": "mainnet/2024-08-27-disburse-basenames/disbursement6.csv",
    "content": "sdgasdgasdg,0x7c0A9062E23e89b9EC7e514950Fc40bd07962fAb,,"
  },
  {
    "path": "mainnet/2024-08-27-disburse-basenames/disbursement7.csv",
    "content": "stargatefinance,0x81EAb64E630C4a2E3E849268A6B64cb76D1C8109,,\r\ncaldera,0x87Ef0aB1189F76eBCaEe736A5EB8F639a8cF156d,,\r\nparallel,0x8982Bd35f40f95f348A06902474BE0b5872c1D31,,\r\njumper,0x91aD352C1e419E6AA579F6a9307A7D88b28a147C,,\r\nbsx,0x974dD3B4e5E00BC3117Fbba15E521B6B5aFC151C,,\r\nankr,0xA30a04384c162f4458aa5919a0FAE2db579d802a,,\r\noku,0xa6e8772af29b29B9202a073f8E36f447689BEef6,,\r\nodos,0xa7471690db0c93a7F827D1894c78Df7379be11c0,,\r\ngelato,0xAabB54394E8dd61Dd70897E9c80be8de7C64A895,,\r\naave,0xac140648435d03f784879cd789130F22Ef588Fcd,,\r\nrugfun,0xAC5D18e17267Df1D6fdf7E76F974f3a405fE14f1,,\r\ndecent,0xAcCC1fe6537eb8EB56b31CcFC48Eb9363e8dd32E,,\r\nqidao,0xAd95A5fE898679B927C266eB2eDfAbC7fe268C27,,\r\nextrafinance,0xB04A484387a7242339DA615A63D2d49D8968aaDa,,\r\ndrpc,0xB12C13975A4e928BC09432Dbd1eD3fd832Bf99e5,,\r\nworldmobile,0xB539e34936b0160A9c3b1E449f368e5942a9244C,,\r\nblast,0xb8950c47e8b9e539601cb47a167de8bf4cb1289e,,\r\nunifra,0xbDC205d09D602eCe9F2cc341F3CD02b045965A4d,,"
  },
  {
    "path": "mainnet/2024-08-27-disburse-basenames/disbursement8.csv",
    "content": "flipsidecrypto,0xC2f41b3a1FF28Fd2A6EeE76EE12e51482fcFd11F,,\r\nflipside,0xC2f41b3a1FF28Fd2A6EeE76EE12e51482fcFd11F,,\r\nbalancer,0xC40DCFB13651e64C8551007aa57F9260827B6462,,\r\ngoldsky,0xC439D9737f2f5CB2a25d28d63e0a943bCa033384,,\r\ndefinitive,0xc50932eDd1c14272AA35324dfC45A19Ec57839Aa,,\r\nbifrost,0xcBB837942598089392555d93B22faCdFC990f197,,\r\nrefraction,0xCBfa3c438EBb86FF17b075a0a0b6f15a08DAFEA8,,\r\njojo,0xD0cFCf1899A749bf0398fc885DB7ee0479C05eFC,,\r\nquicknode,0xD10E24685c7CDD3cd3BaAA86b09C92Be28c834B6,,\r\nbountycaster,0xD5064bD244138fa4Ff1b9048D165491889af5C15,,\r\napedotstore,0xd52b1994E745c0eE5Bc7AD41414Da7d9E0815b66,,\r\nzklink,0xDC92D828A4B68110E8DA2d88C0bA42F4036b7289,,\r\nastaria,0xde032b9654a037F2976480DC2a89150a608F155a,,\r\nmorphex,0xE02Fb5C70aF32F80Aa7F9E8775FE7F12550348ec,,\r\nredstone,0xe6B210F1299a3B0D74BfA24D678A9dC1e2a27e34,,\r\nfriendtech,0xE764dA9bDeA91d845AAc2C7D53A8DfE59A369095,,\r\ndena,0xE7DEd29c38728Bb49A9CF71c3a274088bc51649A,,\r\nblockdaemon,0xeA5E01513e237D7aC72de5F0a5401e4FFcb567F2,,"
  },
  {
    "path": "mainnet/2024-08-27-disburse-basenames/disbursement9.csv",
    "content": "tokenterminal,0xeB67e286faf667A047e435EC90107122b0bC2C01,,\r\npartydao,0xEdDeb6f119cbFE24741a6333Dc69BffFCBD1dCA1,,\r\ndhedge,0xEE27793EBAf6a446c74C2cDd23Bba615e9472264,,\r\ncyberconnect,0xF18fE4dbA52E862C394924AC4E7F4b744ef1FAC0,,\r\ntitles,0xF2254525E9f2147990279BA450fb23432040dfdd,,\r\nprivy,0xF2A919977c6dE88dd8ed90feAADFcC5d65D66038,,\r\npancakeswap,0xf2Bb8d4f27028b8B8340B4e2C64Baa101C9Af46B,,\r\nfwb,0xf34292eB10BE9cB62be70bA2058e0d683839DaBC,,\r\nzeroex,0xf36b9f50E59870A24F42F9Ba43b2aD0A4b8f2F51,,\r\nburve,0xF3d5CAd1B841a1B3f0F9b7AD9a1262491418a414,,\r\nunlonely,0xf6B640ED09927C90185D3a7aF4b186317Cc8df3e,,\r\narpanetwork,0xf7A8f04C7fE7C8A6ED692Bdf5EE1658559cbE7Dc,,\r\nsushiswap,0xFcD4e19Dd044cBa929cF1EEfc1C181aE4f5beCe8,,\r\noptimism,0xFD99F59D3A446744E820D67b429fA2416780237c,,\r\nopx,0xFD99F59D3A446744E820D67b429fA2416780237c,,\r\nlevitate,0xFe754e81f888E49Ca940dFD94A65dEc007874F69,,\r\nmempool,0xFee13e85D30EEF68D2B279B35b85E05A2853367C,,\r\nljbrock,0x2Fc5d43245f0176E9816166586aE478F0AA0921f,,\r\ndwr,0xD7029BDEa1c17493893AAfE29AAD69EF892B8ff2,,"
  },
  {
    "path": "mainnet/2024-08-27-disburse-basenames/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.23\"\nvia-ir = true\nremappings = [\n    '@base-contracts/=lib/base-contracts',\n    'basenames/=lib/basenames/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2024-08-27-disburse-basenames/parser.sh",
    "content": "#!/bin/bash\njq -Rsn '\n  {\"singles\":\n    [inputs\n     | . / \"\\n\"\n     | (.[] | select(length > 0) | . / \",\") as $input\n     | {\"name\": $input[0], \"addr\": $input[1]}]}\n' <$1 > disbursement.json"
  },
  {
    "path": "mainnet/2024-08-27-disburse-basenames/records/DisburseBasenames.sol/8453/executeWithNonce-latest.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c3000000000000000000000000000000000000000000000000000000000000186000000000000000000000000000000000000000000000000000000000000019400000000000000000000000000000000000000000000000000000000000001a200000000000000000000000000000000000000000000000000000000000001ca00000000000000000000000000000000000000000000000000000000000001d800000000000000000000000000000000000000000000000000000000000001e800000000000000000000000000000000000000000000000000000000000001f60000000000000000000000000000000000000000000000000000000000000204000000000000000000000000000000000000000000000000000000000000022c000000000000000000000000000000000000000000000000000000000000023a000000000000000000000000000000000000000000000000000000000000024a00000000000000000000000000000000000000000000000000000000000002580000000000000000000000000000000000000000000000000000000000000266000000000000000000000000000000000000000000000000000000000000028e000000000000000000000000000000000000000000000000000000000000029c00000000000000000000000000000000000000000000000000000000000002ac00000000000000000000000000000000000000000000000000000000000002ba00000000000000000000000000000000000000000000000000000000000002c800000000000000000000000000000000000000000000000000000000000002f000000000000000000000000000000000000000000000000000000000000002fe000000000000000000000000000000000000000000000000000000000000030e000000000000000000000000000000000000000000000000000000000000031c000000000000000000000000000000000000000000000000000000000000032a000000000000000000000000000000000000000000000000000000000000035200000000000000000000000000000000000000000000000000000000000003600000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000037e000000000000000000000000000000000000000000000000000000000000038c00000000000000000000000000000000000000000000000000000000000003b400000000000000000000000000000000000000000000000000000000000003c200000000000000000000000000000000000000000000000000000000000003d200000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000003ee0000000000000000000000000000000000000000000000000000000000000416000000000000000000000000000000000000000000000000000000000000042400000000000000000000000000000000000000000000000000000000000004340000000000000000000000000000000000000000000000000000000000000442000000000000000000000000000000000000000000000000000000000000045000000000000000000000000000000000000000000000000000000000000004780000000000000000000000000000000000000000000000000000000000000486000000000000000000000000000000000000000000000000000000000000049600000000000000000000000000000000000000000000000000000000000004a400000000000000000000000000000000000000000000000000000000000004b200000000000000000000000000000000000000000000000000000000000004da00000000000000000000000000000000000000000000000000000000000004e800000000000000000000000000000000000000000000000000000000000004f800000000000000000000000000000000000000000000000000000000000005060000000000000000000000000000000000000000000000000000000000000514000000000000000000000000000000000000000000000000000000000000053c000000000000000000000000000000000000000000000000000000000000054a000000000000000000000000000000000000000000000000000000000000055a00000000000000000000000000000000000000000000000000000000000005680000000000000000000000000000000000000000000000000000000000000576000000000000000000000000000000000000000000000000000000000000059e00000000000000000000000000000000000000000000000000000000000005ac00000000000000000000000000000000000000000000000000000000000005bc00000000000000000000000000000000000000000000000000000000000005ca00000000000000000000000000000000000000000000000000000000000005d80000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000060e000000000000000000000000000000000000000000000000000000000000061e000000000000000000000000000000000000000000000000000000000000062c000000000000000000000000000000000000000000000000000000000000063a000000000000000000000000000000000000000000000000000000000000066200000000000000000000000000000000000000000000000000000000000006700000000000000000000000000000000000000000000000000000000000000680000000000000000000000000000000000000000000000000000000000000068e000000000000000000000000000000000000000000000000000000000000069c00000000000000000000000000000000000000000000000000000000000006c400000000000000000000000000000000000000000000000000000000000006d200000000000000000000000000000000000000000000000000000000000006e200000000000000000000000000000000000000000000000000000000000006f000000000000000000000000000000000000000000000000000000000000006fe000000000000000000000000000000000000000000000000000000000000072600000000000000000000000000000000000000000000000000000000000007340000000000000000000000000000000000000000000000000000000000000744000000000000000000000000000000000000000000000000000000000000075200000000000000000000000000000000000000000000000000000000000007600000000000000000000000000000000000000000000000000000000000000788000000000000000000000000000000000000000000000000000000000000079600000000000000000000000000000000000000000000000000000000000007a600000000000000000000000000000000000000000000000000000000000007b400000000000000000000000000000000000000000000000000000000000007c200000000000000000000000000000000000000000000000000000000000007ea00000000000000000000000000000000000000000000000000000000000007f8000000000000000000000000000000000000000000000000000000000000080800000000000000000000000000000000000000000000000000000000000008160000000000000000000000000000000000000000000000000000000000000824000000000000000000000000000000000000000000000000000000000000084c000000000000000000000000000000000000000000000000000000000000085a000000000000000000000000000000000000000000000000000000000000086a0000000000000000000000000000000000000000000000000000000000000878000000000000000000000000000000000000000000000000000000000000088600000000000000000000000000000000000000000000000000000000000008ae00000000000000000000000000000000000000000000000000000000000008bc00000000000000000000000000000000000000000000000000000000000008cc00000000000000000000000000000000000000000000000000000000000008da00000000000000000000000000000000000000000000000000000000000008e80000000000000000000000000000000000000000000000000000000000000910000000000000000000000000000000000000000000000000000000000000091e000000000000000000000000000000000000000000000000000000000000092e000000000000000000000000000000000000000000000000000000000000093c000000000000000000000000000000000000000000000000000000000000094a000000000000000000000000000000000000000000000000000000000000097200000000000000000000000000000000000000000000000000000000000009800000000000000000000000000000000000000000000000000000000000000990000000000000000000000000000000000000000000000000000000000000099e00000000000000000000000000000000000000000000000000000000000009ac00000000000000000000000000000000000000000000000000000000000009d400000000000000000000000000000000000000000000000000000000000009e200000000000000000000000000000000000000000000000000000000000009f20000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a0e0000000000000000000000000000000000000000000000000000000000000a360000000000000000000000000000000000000000000000000000000000000a440000000000000000000000000000000000000000000000000000000000000a540000000000000000000000000000000000000000000000000000000000000a620000000000000000000000000000000000000000000000000000000000000a700000000000000000000000000000000000000000000000000000000000000a980000000000000000000000000000000000000000000000000000000000000aa60000000000000000000000000000000000000000000000000000000000000ab60000000000000000000000000000000000000000000000000000000000000ac40000000000000000000000000000000000000000000000000000000000000ad20000000000000000000000000000000000000000000000000000000000000afa0000000000000000000000000000000000000000000000000000000000000b080000000000000000000000000000000000000000000000000000000000000b180000000000000000000000000000000000000000000000000000000000000b260000000000000000000000000000000000000000000000000000000000000b340000000000000000000000000000000000000000000000000000000000000b5c0000000000000000000000000000000000000000000000000000000000000b6a0000000000000000000000000000000000000000000000000000000000000b7a0000000000000000000000000000000000000000000000000000000000000b880000000000000000000000000000000000000000000000000000000000000b960000000000000000000000000000000000000000000000000000000000000bbe0000000000000000000000000000000000000000000000000000000000000bcc0000000000000000000000000000000000000000000000000000000000000bdc0000000000000000000000000000000000000000000000000000000000000bea0000000000000000000000000000000000000000000000000000000000000bf80000000000000000000000000000000000000000000000000000000000000c200000000000000000000000000000000000000000000000000000000000000c2e0000000000000000000000000000000000000000000000000000000000000c3e0000000000000000000000000000000000000000000000000000000000000c4c0000000000000000000000000000000000000000000000000000000000000c5a0000000000000000000000000000000000000000000000000000000000000c820000000000000000000000000000000000000000000000000000000000000c900000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000cae0000000000000000000000000000000000000000000000000000000000000cbc0000000000000000000000000000000000000000000000000000000000000ce40000000000000000000000000000000000000000000000000000000000000cf20000000000000000000000000000000000000000000000000000000000000d020000000000000000000000000000000000000000000000000000000000000d100000000000000000000000000000000000000000000000000000000000000d1e0000000000000000000000000000000000000000000000000000000000000d460000000000000000000000000000000000000000000000000000000000000d540000000000000000000000000000000000000000000000000000000000000d640000000000000000000000000000000000000000000000000000000000000d720000000000000000000000000000000000000000000000000000000000000d800000000000000000000000000000000000000000000000000000000000000da80000000000000000000000000000000000000000000000000000000000000db60000000000000000000000000000000000000000000000000000000000000dc60000000000000000000000000000000000000000000000000000000000000dd40000000000000000000000000000000000000000000000000000000000000de20000000000000000000000000000000000000000000000000000000000000e0a0000000000000000000000000000000000000000000000000000000000000e180000000000000000000000000000000000000000000000000000000000000e280000000000000000000000000000000000000000000000000000000000000e360000000000000000000000000000000000000000000000000000000000000e440000000000000000000000000000000000000000000000000000000000000e6c0000000000000000000000000000000000000000000000000000000000000e7a0000000000000000000000000000000000000000000000000000000000000e8a0000000000000000000000000000000000000000000000000000000000000e980000000000000000000000000000000000000000000000000000000000000ea60000000000000000000000000000000000000000000000000000000000000ece0000000000000000000000000000000000000000000000000000000000000edc0000000000000000000000000000000000000000000000000000000000000eec0000000000000000000000000000000000000000000000000000000000000efa0000000000000000000000000000000000000000000000000000000000000f080000000000000000000000000000000000000000000000000000000000000f300000000000000000000000000000000000000000000000000000000000000f3e0000000000000000000000000000000000000000000000000000000000000f4e0000000000000000000000000000000000000000000000000000000000000f5c0000000000000000000000000000000000000000000000000000000000000f6a0000000000000000000000000000000000000000000000000000000000000f920000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000fb00000000000000000000000000000000000000000000000000000000000000fbe0000000000000000000000000000000000000000000000000000000000000fcc0000000000000000000000000000000000000000000000000000000000000ff4000000000000000000000000000000000000000000000000000000000000100200000000000000000000000000000000000000000000000000000000000010120000000000000000000000000000000000000000000000000000000000001020000000000000000000000000000000000000000000000000000000000000102e00000000000000000000000000000000000000000000000000000000000010560000000000000000000000000000000000000000000000000000000000001064000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c61d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb2000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e627269616e2e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c61d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb20000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f061d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb20000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b000de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722130de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000017627269616e61726d7374726f6e672e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f00515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ada74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebda74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00da74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213da74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000126772656774757361722e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba0000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ae95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d243000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebe95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d24300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00e95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d2430000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213e95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d24300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000015677265676f727974757361722e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba00000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e92300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b006ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e92300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000013616c65736961686161732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a946979760000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a946979769621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe6000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af5943800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b008dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722138dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af5943800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014616c657369616a686161732e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe6000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a946979760000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a9469797628c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe60000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b4400000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b008e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b440000000000000000000000002211d1d0020daea8039e46cf1367962070d77da9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722138e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000106a706f6c6c616b2e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c0000000000000000000000002211d1d0020daea8039e46cf1367962070d77da90000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000002211d1d0020daea8039e46cf1367962070d77da9121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70abe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebbe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00be297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd77900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213be297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000156d61786272616e7a627572672e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd7790000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd779f80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f4087000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b003c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb00000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a9720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722133c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000137061756c67726577616c2e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f40870000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a97200000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a9720541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f40870000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70aacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00acb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa0000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213acb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000127061746368776f726b2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b0000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c7178863000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da33100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0068af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221368af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da3310000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000d706f64732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c7178863000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c71788630000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c01dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f0000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f68000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebd07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f6800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00d07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f6800000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e43700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f680000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6c6c616d616f2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c01dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f000000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e43701dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b002edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722132edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000012646566696c6c616d612e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437fe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cc048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e43700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e6c6c616d612e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cc048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437c048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c6f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b007cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722137cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000136c6c616d616e6f6465732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c6f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4376f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c69c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b1000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a3000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b004e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a30000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b77000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722134e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a30000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e726f64656f2e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c69c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b10000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b770000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b7769c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b10000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba6000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000012686967686c696768742e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba6000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a20000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a22cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba60000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f9000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ae830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebe830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00e830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d00000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213e830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000146368726f6e6f666f7267652e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f900000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cce3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f90000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea71000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70aa4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eba4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00a4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b00000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213a4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f61726b68616d2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea7100000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea710000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c1a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b008af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe00000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722138af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000137761676d6967616d65732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c1a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf00000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff30000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff31a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab0607000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ada56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebda56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00da56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df0000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213da56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e62656566792e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab06070000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab06070000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba31000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf0000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001072617269626c652e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba310000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba310000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f029000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b009adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722139adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000013626c6f636b73636f75742e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f029000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b70000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b7f81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f0290000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b1000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b006dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f00000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd832000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001373796e667574757265732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b100000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd8320000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd832e52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b10000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0038a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d00000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221338a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001173756271756572792e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd00000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ca644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e6200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0096e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221396e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e620000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f726f756e64732e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ca644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dd0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dda644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd8203442000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebd5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00d5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f00000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000011666172776f726c642e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd820344200000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba280000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba288ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd82034420000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0088c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221388c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec10000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e72616262792e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454792bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd98300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0076fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221376fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd9830000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f646562616e6b2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454793a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f9700000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b000a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722130a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f970000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e6d617669612e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059afa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ccc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70affc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d79800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00ffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d7980000000000000000000000003775af82c6c5705140944cd515fe899214fb028800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213ffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000106176616e7469732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ccc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a0000000000000000000000003775af82c6c5705140944cd515fe899214fb02880000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000003775af82c6c5705140944cd515fe899214fb0288cc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c5000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c5855000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c585500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b006f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c585500000000000000000000000041626ba92c0c2a1ad38fc83920300434082b1870000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c58550000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6c32626561742e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c500000000000000000000000041626ba92c0c2a1ad38fc83920300434082b18700000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000041626ba92c0c2a1ad38fc83920300434082b187028544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c50000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f83600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0054217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221354217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f8360000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001064796e616d69632e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cbd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c1000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b003572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad0000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7ce000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722133572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6e616e73656e2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cbd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c10000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7ce0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7cebd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c10000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b338168000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0077f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f0000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221377f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f7369676e616c2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b3381680000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b3381680000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba1584000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b923500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0040beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221340beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b923500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014636f6f707265636f7264732e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba1584000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba15840000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cdbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de42000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e3000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0050aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e30000000000000000000000005418707f24784906915bce1304c7f290c7110f470000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221350aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e30000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e69736b72612e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cdbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de420000000000000000000000005418707f24784906915bce1304c7f290c7110f470000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000005418707f24784906915bce1304c7f290c7110f47dbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de420000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc6762000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc676200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0029d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc676200000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a38500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221329d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc676200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010657468657266692e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea00000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a38500000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a38509ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac53848000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0054f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af00000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221354f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6574686c61732e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac5384800000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac5384800000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xf46e3c5ba38ec64b7f1be4a9237203356070d0f73392985f80ed7c361a87a51e69a58f15cbf05d93d7acbdb49a3dec24f74a10678bcc0eda013833d97e3379ff1b0179f49d60673c04ca5f44ac8ad2fc789d5918bceaff0f2d4e74a315e29213c93621dbfb064bb77124b87836ad33f38d6fd5276b8eca7425a2a0fc5f0d417d3a1b4f0e60537b2408f80fc8a5f9652bb0d65ae962f56275802383a40a9af80b7f3a04d6177fd66bf3afe3bd5b0fa993901fe9748001de2c4d857b92ecc74a0a8f101b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x89ebc5eb7163470e23fcc24833eea6bb93a7b045\",\n        \"to\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n        \"gas\": \"0x9c5160\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010900000000000000000000000000000000000000000000000000000000000001078482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c3000000000000000000000000000000000000000000000000000000000000186000000000000000000000000000000000000000000000000000000000000019400000000000000000000000000000000000000000000000000000000000001a200000000000000000000000000000000000000000000000000000000000001ca00000000000000000000000000000000000000000000000000000000000001d800000000000000000000000000000000000000000000000000000000000001e800000000000000000000000000000000000000000000000000000000000001f60000000000000000000000000000000000000000000000000000000000000204000000000000000000000000000000000000000000000000000000000000022c000000000000000000000000000000000000000000000000000000000000023a000000000000000000000000000000000000000000000000000000000000024a00000000000000000000000000000000000000000000000000000000000002580000000000000000000000000000000000000000000000000000000000000266000000000000000000000000000000000000000000000000000000000000028e000000000000000000000000000000000000000000000000000000000000029c00000000000000000000000000000000000000000000000000000000000002ac00000000000000000000000000000000000000000000000000000000000002ba00000000000000000000000000000000000000000000000000000000000002c800000000000000000000000000000000000000000000000000000000000002f000000000000000000000000000000000000000000000000000000000000002fe000000000000000000000000000000000000000000000000000000000000030e000000000000000000000000000000000000000000000000000000000000031c000000000000000000000000000000000000000000000000000000000000032a000000000000000000000000000000000000000000000000000000000000035200000000000000000000000000000000000000000000000000000000000003600000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000037e000000000000000000000000000000000000000000000000000000000000038c00000000000000000000000000000000000000000000000000000000000003b400000000000000000000000000000000000000000000000000000000000003c200000000000000000000000000000000000000000000000000000000000003d200000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000003ee0000000000000000000000000000000000000000000000000000000000000416000000000000000000000000000000000000000000000000000000000000042400000000000000000000000000000000000000000000000000000000000004340000000000000000000000000000000000000000000000000000000000000442000000000000000000000000000000000000000000000000000000000000045000000000000000000000000000000000000000000000000000000000000004780000000000000000000000000000000000000000000000000000000000000486000000000000000000000000000000000000000000000000000000000000049600000000000000000000000000000000000000000000000000000000000004a400000000000000000000000000000000000000000000000000000000000004b200000000000000000000000000000000000000000000000000000000000004da00000000000000000000000000000000000000000000000000000000000004e800000000000000000000000000000000000000000000000000000000000004f800000000000000000000000000000000000000000000000000000000000005060000000000000000000000000000000000000000000000000000000000000514000000000000000000000000000000000000000000000000000000000000053c000000000000000000000000000000000000000000000000000000000000054a000000000000000000000000000000000000000000000000000000000000055a00000000000000000000000000000000000000000000000000000000000005680000000000000000000000000000000000000000000000000000000000000576000000000000000000000000000000000000000000000000000000000000059e00000000000000000000000000000000000000000000000000000000000005ac00000000000000000000000000000000000000000000000000000000000005bc00000000000000000000000000000000000000000000000000000000000005ca00000000000000000000000000000000000000000000000000000000000005d80000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000060e000000000000000000000000000000000000000000000000000000000000061e000000000000000000000000000000000000000000000000000000000000062c000000000000000000000000000000000000000000000000000000000000063a000000000000000000000000000000000000000000000000000000000000066200000000000000000000000000000000000000000000000000000000000006700000000000000000000000000000000000000000000000000000000000000680000000000000000000000000000000000000000000000000000000000000068e000000000000000000000000000000000000000000000000000000000000069c00000000000000000000000000000000000000000000000000000000000006c400000000000000000000000000000000000000000000000000000000000006d200000000000000000000000000000000000000000000000000000000000006e200000000000000000000000000000000000000000000000000000000000006f000000000000000000000000000000000000000000000000000000000000006fe000000000000000000000000000000000000000000000000000000000000072600000000000000000000000000000000000000000000000000000000000007340000000000000000000000000000000000000000000000000000000000000744000000000000000000000000000000000000000000000000000000000000075200000000000000000000000000000000000000000000000000000000000007600000000000000000000000000000000000000000000000000000000000000788000000000000000000000000000000000000000000000000000000000000079600000000000000000000000000000000000000000000000000000000000007a600000000000000000000000000000000000000000000000000000000000007b400000000000000000000000000000000000000000000000000000000000007c200000000000000000000000000000000000000000000000000000000000007ea00000000000000000000000000000000000000000000000000000000000007f8000000000000000000000000000000000000000000000000000000000000080800000000000000000000000000000000000000000000000000000000000008160000000000000000000000000000000000000000000000000000000000000824000000000000000000000000000000000000000000000000000000000000084c000000000000000000000000000000000000000000000000000000000000085a000000000000000000000000000000000000000000000000000000000000086a0000000000000000000000000000000000000000000000000000000000000878000000000000000000000000000000000000000000000000000000000000088600000000000000000000000000000000000000000000000000000000000008ae00000000000000000000000000000000000000000000000000000000000008bc00000000000000000000000000000000000000000000000000000000000008cc00000000000000000000000000000000000000000000000000000000000008da00000000000000000000000000000000000000000000000000000000000008e80000000000000000000000000000000000000000000000000000000000000910000000000000000000000000000000000000000000000000000000000000091e000000000000000000000000000000000000000000000000000000000000092e000000000000000000000000000000000000000000000000000000000000093c000000000000000000000000000000000000000000000000000000000000094a000000000000000000000000000000000000000000000000000000000000097200000000000000000000000000000000000000000000000000000000000009800000000000000000000000000000000000000000000000000000000000000990000000000000000000000000000000000000000000000000000000000000099e00000000000000000000000000000000000000000000000000000000000009ac00000000000000000000000000000000000000000000000000000000000009d400000000000000000000000000000000000000000000000000000000000009e200000000000000000000000000000000000000000000000000000000000009f20000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a0e0000000000000000000000000000000000000000000000000000000000000a360000000000000000000000000000000000000000000000000000000000000a440000000000000000000000000000000000000000000000000000000000000a540000000000000000000000000000000000000000000000000000000000000a620000000000000000000000000000000000000000000000000000000000000a700000000000000000000000000000000000000000000000000000000000000a980000000000000000000000000000000000000000000000000000000000000aa60000000000000000000000000000000000000000000000000000000000000ab60000000000000000000000000000000000000000000000000000000000000ac40000000000000000000000000000000000000000000000000000000000000ad20000000000000000000000000000000000000000000000000000000000000afa0000000000000000000000000000000000000000000000000000000000000b080000000000000000000000000000000000000000000000000000000000000b180000000000000000000000000000000000000000000000000000000000000b260000000000000000000000000000000000000000000000000000000000000b340000000000000000000000000000000000000000000000000000000000000b5c0000000000000000000000000000000000000000000000000000000000000b6a0000000000000000000000000000000000000000000000000000000000000b7a0000000000000000000000000000000000000000000000000000000000000b880000000000000000000000000000000000000000000000000000000000000b960000000000000000000000000000000000000000000000000000000000000bbe0000000000000000000000000000000000000000000000000000000000000bcc0000000000000000000000000000000000000000000000000000000000000bdc0000000000000000000000000000000000000000000000000000000000000bea0000000000000000000000000000000000000000000000000000000000000bf80000000000000000000000000000000000000000000000000000000000000c200000000000000000000000000000000000000000000000000000000000000c2e0000000000000000000000000000000000000000000000000000000000000c3e0000000000000000000000000000000000000000000000000000000000000c4c0000000000000000000000000000000000000000000000000000000000000c5a0000000000000000000000000000000000000000000000000000000000000c820000000000000000000000000000000000000000000000000000000000000c900000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000cae0000000000000000000000000000000000000000000000000000000000000cbc0000000000000000000000000000000000000000000000000000000000000ce40000000000000000000000000000000000000000000000000000000000000cf20000000000000000000000000000000000000000000000000000000000000d020000000000000000000000000000000000000000000000000000000000000d100000000000000000000000000000000000000000000000000000000000000d1e0000000000000000000000000000000000000000000000000000000000000d460000000000000000000000000000000000000000000000000000000000000d540000000000000000000000000000000000000000000000000000000000000d640000000000000000000000000000000000000000000000000000000000000d720000000000000000000000000000000000000000000000000000000000000d800000000000000000000000000000000000000000000000000000000000000da80000000000000000000000000000000000000000000000000000000000000db60000000000000000000000000000000000000000000000000000000000000dc60000000000000000000000000000000000000000000000000000000000000dd40000000000000000000000000000000000000000000000000000000000000de20000000000000000000000000000000000000000000000000000000000000e0a0000000000000000000000000000000000000000000000000000000000000e180000000000000000000000000000000000000000000000000000000000000e280000000000000000000000000000000000000000000000000000000000000e360000000000000000000000000000000000000000000000000000000000000e440000000000000000000000000000000000000000000000000000000000000e6c0000000000000000000000000000000000000000000000000000000000000e7a0000000000000000000000000000000000000000000000000000000000000e8a0000000000000000000000000000000000000000000000000000000000000e980000000000000000000000000000000000000000000000000000000000000ea60000000000000000000000000000000000000000000000000000000000000ece0000000000000000000000000000000000000000000000000000000000000edc0000000000000000000000000000000000000000000000000000000000000eec0000000000000000000000000000000000000000000000000000000000000efa0000000000000000000000000000000000000000000000000000000000000f080000000000000000000000000000000000000000000000000000000000000f300000000000000000000000000000000000000000000000000000000000000f3e0000000000000000000000000000000000000000000000000000000000000f4e0000000000000000000000000000000000000000000000000000000000000f5c0000000000000000000000000000000000000000000000000000000000000f6a0000000000000000000000000000000000000000000000000000000000000f920000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000fb00000000000000000000000000000000000000000000000000000000000000fbe0000000000000000000000000000000000000000000000000000000000000fcc0000000000000000000000000000000000000000000000000000000000000ff4000000000000000000000000000000000000000000000000000000000000100200000000000000000000000000000000000000000000000000000000000010120000000000000000000000000000000000000000000000000000000000001020000000000000000000000000000000000000000000000000000000000000102e00000000000000000000000000000000000000000000000000000000000010560000000000000000000000000000000000000000000000000000000000001064000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c61d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb2000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e627269616e2e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c61d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb20000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f061d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb20000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b000de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722130de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000017627269616e61726d7374726f6e672e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f00515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ada74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebda74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00da74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213da74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000126772656774757361722e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba0000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ae95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d243000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebe95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d24300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00e95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d2430000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213e95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d24300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000015677265676f727974757361722e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba00000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e92300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b006ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e92300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000013616c65736961686161732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a946979760000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a946979769621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe6000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af5943800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b008dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722138dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af5943800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014616c657369616a686161732e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe6000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a946979760000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a9469797628c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe60000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b4400000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b008e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b440000000000000000000000002211d1d0020daea8039e46cf1367962070d77da9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722138e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000106a706f6c6c616b2e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c0000000000000000000000002211d1d0020daea8039e46cf1367962070d77da90000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000002211d1d0020daea8039e46cf1367962070d77da9121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70abe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebbe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00be297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd77900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213be297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000156d61786272616e7a627572672e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd7790000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd779f80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f4087000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b003c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb00000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a9720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722133c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000137061756c67726577616c2e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f40870000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a97200000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a9720541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f40870000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70aacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00acb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa0000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213acb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000127061746368776f726b2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b0000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c7178863000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da33100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0068af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221368af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da3310000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000d706f64732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c7178863000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c71788630000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c01dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f0000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f68000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebd07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f6800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00d07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f6800000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e43700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f680000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6c6c616d616f2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c01dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f000000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e43701dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b002edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722132edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000012646566696c6c616d612e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437fe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cc048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e43700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e6c6c616d612e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cc048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437c048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c6f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b007cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722137cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000136c6c616d616e6f6465732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c6f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4376f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c69c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b1000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a3000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b004e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a30000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b77000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722134e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a30000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e726f64656f2e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c69c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b10000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b770000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b7769c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b10000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba6000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000012686967686c696768742e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba6000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a20000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a22cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba60000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f9000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ae830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebe830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00e830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d00000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213e830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000146368726f6e6f666f7267652e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f900000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cce3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f90000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea71000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70aa4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eba4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00a4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b00000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213a4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f61726b68616d2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea7100000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea710000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c1a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b008af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe00000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722138af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000137761676d6967616d65732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c1a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf00000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff30000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff31a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab0607000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ada56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebda56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00da56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df0000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213da56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e62656566792e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab06070000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab06070000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba31000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf0000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001072617269626c652e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba310000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba310000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f029000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b009adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722139adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000013626c6f636b73636f75742e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f029000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b70000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b7f81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f0290000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b1000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b006dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f00000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd832000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001373796e667574757265732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b100000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd8320000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd832e52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b10000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0038a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d00000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221338a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001173756271756572792e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd00000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ca644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e6200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0096e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221396e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e620000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f726f756e64732e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ca644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dd0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dda644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd8203442000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebd5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00d5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f00000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000011666172776f726c642e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd820344200000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba280000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba288ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd82034420000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0088c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221388c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec10000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e72616262792e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454792bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd98300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0076fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221376fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd9830000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f646562616e6b2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454793a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f9700000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b000a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722130a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f970000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e6d617669612e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059afa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ccc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70affc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d79800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00ffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d7980000000000000000000000003775af82c6c5705140944cd515fe899214fb028800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213ffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000106176616e7469732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ccc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a0000000000000000000000003775af82c6c5705140944cd515fe899214fb02880000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000003775af82c6c5705140944cd515fe899214fb0288cc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c5000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c5855000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c585500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b006f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c585500000000000000000000000041626ba92c0c2a1ad38fc83920300434082b1870000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c58550000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6c32626561742e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c500000000000000000000000041626ba92c0c2a1ad38fc83920300434082b18700000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000041626ba92c0c2a1ad38fc83920300434082b187028544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c50000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f83600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0054217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221354217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f8360000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001064796e616d69632e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cbd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c1000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b003572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad0000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7ce000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722133572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6e616e73656e2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cbd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c10000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7ce0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7cebd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c10000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b338168000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0077f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f0000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221377f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f7369676e616c2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b3381680000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b3381680000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba1584000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b923500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0040beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221340beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b923500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014636f6f707265636f7264732e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba1584000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba15840000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cdbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de42000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e3000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0050aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e30000000000000000000000005418707f24784906915bce1304c7f290c7110f470000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221350aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e30000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e69736b72612e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cdbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de420000000000000000000000005418707f24784906915bce1304c7f290c7110f470000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000005418707f24784906915bce1304c7f290c7110f47dbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de420000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc6762000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc676200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0029d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc676200000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a38500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221329d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc676200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010657468657266692e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea00000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a38500000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a38509ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac53848000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0054f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af00000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221354f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6574686c61732e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac5384800000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac53848000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3f46e3c5ba38ec64b7f1be4a9237203356070d0f73392985f80ed7c361a87a51e69a58f15cbf05d93d7acbdb49a3dec24f74a10678bcc0eda013833d97e3379ff1b0179f49d60673c04ca5f44ac8ad2fc789d5918bceaff0f2d4e74a315e29213c93621dbfb064bb77124b87836ad33f38d6fd5276b8eca7425a2a0fc5f0d417d3a1b4f0e60537b2408f80fc8a5f9652bb0d65ae962f56275802383a40a9af80b7f3a04d6177fd66bf3afe3bd5b0fa993901fe9748001de2c4d857b92ecc74a0a8f101b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x3\",\n        \"chainId\": \"0x2105\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x13bf5ac\",\n      \"logs\": [\n        {\n          \"address\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000109200000000000000000000000000000000000000000000000000000000000010a20000000000000000000000000000000000000000000000000000000000001078482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c3000000000000000000000000000000000000000000000000000000000000186000000000000000000000000000000000000000000000000000000000000019400000000000000000000000000000000000000000000000000000000000001a200000000000000000000000000000000000000000000000000000000000001ca00000000000000000000000000000000000000000000000000000000000001d800000000000000000000000000000000000000000000000000000000000001e800000000000000000000000000000000000000000000000000000000000001f60000000000000000000000000000000000000000000000000000000000000204000000000000000000000000000000000000000000000000000000000000022c000000000000000000000000000000000000000000000000000000000000023a000000000000000000000000000000000000000000000000000000000000024a00000000000000000000000000000000000000000000000000000000000002580000000000000000000000000000000000000000000000000000000000000266000000000000000000000000000000000000000000000000000000000000028e000000000000000000000000000000000000000000000000000000000000029c00000000000000000000000000000000000000000000000000000000000002ac00000000000000000000000000000000000000000000000000000000000002ba00000000000000000000000000000000000000000000000000000000000002c800000000000000000000000000000000000000000000000000000000000002f000000000000000000000000000000000000000000000000000000000000002fe000000000000000000000000000000000000000000000000000000000000030e000000000000000000000000000000000000000000000000000000000000031c000000000000000000000000000000000000000000000000000000000000032a000000000000000000000000000000000000000000000000000000000000035200000000000000000000000000000000000000000000000000000000000003600000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000037e000000000000000000000000000000000000000000000000000000000000038c00000000000000000000000000000000000000000000000000000000000003b400000000000000000000000000000000000000000000000000000000000003c200000000000000000000000000000000000000000000000000000000000003d200000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000003ee0000000000000000000000000000000000000000000000000000000000000416000000000000000000000000000000000000000000000000000000000000042400000000000000000000000000000000000000000000000000000000000004340000000000000000000000000000000000000000000000000000000000000442000000000000000000000000000000000000000000000000000000000000045000000000000000000000000000000000000000000000000000000000000004780000000000000000000000000000000000000000000000000000000000000486000000000000000000000000000000000000000000000000000000000000049600000000000000000000000000000000000000000000000000000000000004a400000000000000000000000000000000000000000000000000000000000004b200000000000000000000000000000000000000000000000000000000000004da00000000000000000000000000000000000000000000000000000000000004e800000000000000000000000000000000000000000000000000000000000004f800000000000000000000000000000000000000000000000000000000000005060000000000000000000000000000000000000000000000000000000000000514000000000000000000000000000000000000000000000000000000000000053c000000000000000000000000000000000000000000000000000000000000054a000000000000000000000000000000000000000000000000000000000000055a00000000000000000000000000000000000000000000000000000000000005680000000000000000000000000000000000000000000000000000000000000576000000000000000000000000000000000000000000000000000000000000059e00000000000000000000000000000000000000000000000000000000000005ac00000000000000000000000000000000000000000000000000000000000005bc00000000000000000000000000000000000000000000000000000000000005ca00000000000000000000000000000000000000000000000000000000000005d80000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000060e000000000000000000000000000000000000000000000000000000000000061e000000000000000000000000000000000000000000000000000000000000062c000000000000000000000000000000000000000000000000000000000000063a000000000000000000000000000000000000000000000000000000000000066200000000000000000000000000000000000000000000000000000000000006700000000000000000000000000000000000000000000000000000000000000680000000000000000000000000000000000000000000000000000000000000068e000000000000000000000000000000000000000000000000000000000000069c00000000000000000000000000000000000000000000000000000000000006c400000000000000000000000000000000000000000000000000000000000006d200000000000000000000000000000000000000000000000000000000000006e200000000000000000000000000000000000000000000000000000000000006f000000000000000000000000000000000000000000000000000000000000006fe000000000000000000000000000000000000000000000000000000000000072600000000000000000000000000000000000000000000000000000000000007340000000000000000000000000000000000000000000000000000000000000744000000000000000000000000000000000000000000000000000000000000075200000000000000000000000000000000000000000000000000000000000007600000000000000000000000000000000000000000000000000000000000000788000000000000000000000000000000000000000000000000000000000000079600000000000000000000000000000000000000000000000000000000000007a600000000000000000000000000000000000000000000000000000000000007b400000000000000000000000000000000000000000000000000000000000007c200000000000000000000000000000000000000000000000000000000000007ea00000000000000000000000000000000000000000000000000000000000007f8000000000000000000000000000000000000000000000000000000000000080800000000000000000000000000000000000000000000000000000000000008160000000000000000000000000000000000000000000000000000000000000824000000000000000000000000000000000000000000000000000000000000084c000000000000000000000000000000000000000000000000000000000000085a000000000000000000000000000000000000000000000000000000000000086a0000000000000000000000000000000000000000000000000000000000000878000000000000000000000000000000000000000000000000000000000000088600000000000000000000000000000000000000000000000000000000000008ae00000000000000000000000000000000000000000000000000000000000008bc00000000000000000000000000000000000000000000000000000000000008cc00000000000000000000000000000000000000000000000000000000000008da00000000000000000000000000000000000000000000000000000000000008e80000000000000000000000000000000000000000000000000000000000000910000000000000000000000000000000000000000000000000000000000000091e000000000000000000000000000000000000000000000000000000000000092e000000000000000000000000000000000000000000000000000000000000093c000000000000000000000000000000000000000000000000000000000000094a000000000000000000000000000000000000000000000000000000000000097200000000000000000000000000000000000000000000000000000000000009800000000000000000000000000000000000000000000000000000000000000990000000000000000000000000000000000000000000000000000000000000099e00000000000000000000000000000000000000000000000000000000000009ac00000000000000000000000000000000000000000000000000000000000009d400000000000000000000000000000000000000000000000000000000000009e200000000000000000000000000000000000000000000000000000000000009f20000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a0e0000000000000000000000000000000000000000000000000000000000000a360000000000000000000000000000000000000000000000000000000000000a440000000000000000000000000000000000000000000000000000000000000a540000000000000000000000000000000000000000000000000000000000000a620000000000000000000000000000000000000000000000000000000000000a700000000000000000000000000000000000000000000000000000000000000a980000000000000000000000000000000000000000000000000000000000000aa60000000000000000000000000000000000000000000000000000000000000ab60000000000000000000000000000000000000000000000000000000000000ac40000000000000000000000000000000000000000000000000000000000000ad20000000000000000000000000000000000000000000000000000000000000afa0000000000000000000000000000000000000000000000000000000000000b080000000000000000000000000000000000000000000000000000000000000b180000000000000000000000000000000000000000000000000000000000000b260000000000000000000000000000000000000000000000000000000000000b340000000000000000000000000000000000000000000000000000000000000b5c0000000000000000000000000000000000000000000000000000000000000b6a0000000000000000000000000000000000000000000000000000000000000b7a0000000000000000000000000000000000000000000000000000000000000b880000000000000000000000000000000000000000000000000000000000000b960000000000000000000000000000000000000000000000000000000000000bbe0000000000000000000000000000000000000000000000000000000000000bcc0000000000000000000000000000000000000000000000000000000000000bdc0000000000000000000000000000000000000000000000000000000000000bea0000000000000000000000000000000000000000000000000000000000000bf80000000000000000000000000000000000000000000000000000000000000c200000000000000000000000000000000000000000000000000000000000000c2e0000000000000000000000000000000000000000000000000000000000000c3e0000000000000000000000000000000000000000000000000000000000000c4c0000000000000000000000000000000000000000000000000000000000000c5a0000000000000000000000000000000000000000000000000000000000000c820000000000000000000000000000000000000000000000000000000000000c900000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000cae0000000000000000000000000000000000000000000000000000000000000cbc0000000000000000000000000000000000000000000000000000000000000ce40000000000000000000000000000000000000000000000000000000000000cf20000000000000000000000000000000000000000000000000000000000000d020000000000000000000000000000000000000000000000000000000000000d100000000000000000000000000000000000000000000000000000000000000d1e0000000000000000000000000000000000000000000000000000000000000d460000000000000000000000000000000000000000000000000000000000000d540000000000000000000000000000000000000000000000000000000000000d640000000000000000000000000000000000000000000000000000000000000d720000000000000000000000000000000000000000000000000000000000000d800000000000000000000000000000000000000000000000000000000000000da80000000000000000000000000000000000000000000000000000000000000db60000000000000000000000000000000000000000000000000000000000000dc60000000000000000000000000000000000000000000000000000000000000dd40000000000000000000000000000000000000000000000000000000000000de20000000000000000000000000000000000000000000000000000000000000e0a0000000000000000000000000000000000000000000000000000000000000e180000000000000000000000000000000000000000000000000000000000000e280000000000000000000000000000000000000000000000000000000000000e360000000000000000000000000000000000000000000000000000000000000e440000000000000000000000000000000000000000000000000000000000000e6c0000000000000000000000000000000000000000000000000000000000000e7a0000000000000000000000000000000000000000000000000000000000000e8a0000000000000000000000000000000000000000000000000000000000000e980000000000000000000000000000000000000000000000000000000000000ea60000000000000000000000000000000000000000000000000000000000000ece0000000000000000000000000000000000000000000000000000000000000edc0000000000000000000000000000000000000000000000000000000000000eec0000000000000000000000000000000000000000000000000000000000000efa0000000000000000000000000000000000000000000000000000000000000f080000000000000000000000000000000000000000000000000000000000000f300000000000000000000000000000000000000000000000000000000000000f3e0000000000000000000000000000000000000000000000000000000000000f4e0000000000000000000000000000000000000000000000000000000000000f5c0000000000000000000000000000000000000000000000000000000000000f6a0000000000000000000000000000000000000000000000000000000000000f920000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000fb00000000000000000000000000000000000000000000000000000000000000fbe0000000000000000000000000000000000000000000000000000000000000fcc0000000000000000000000000000000000000000000000000000000000000ff4000000000000000000000000000000000000000000000000000000000000100200000000000000000000000000000000000000000000000000000000000010120000000000000000000000000000000000000000000000000000000000001020000000000000000000000000000000000000000000000000000000000000102e00000000000000000000000000000000000000000000000000000000000010560000000000000000000000000000000000000000000000000000000000001064000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c61d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb2000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e627269616e2e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c61d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb20000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f061d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb20000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b000de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722130de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000017627269616e61726d7374726f6e672e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f00515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ada74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebda74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00da74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213da74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000126772656774757361722e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba0000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ae95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d243000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebe95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d24300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00e95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d2430000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213e95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d24300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000015677265676f727974757361722e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba00000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e92300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b006ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e92300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000013616c65736961686161732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a946979760000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a946979769621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe6000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af5943800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b008dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722138dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af5943800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014616c657369616a686161732e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe6000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a946979760000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a9469797628c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe60000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b4400000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b008e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b440000000000000000000000002211d1d0020daea8039e46cf1367962070d77da9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722138e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000106a706f6c6c616b2e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c0000000000000000000000002211d1d0020daea8039e46cf1367962070d77da90000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000002211d1d0020daea8039e46cf1367962070d77da9121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70abe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebbe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00be297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd77900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213be297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000156d61786272616e7a627572672e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd7790000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd779f80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f4087000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b003c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb00000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a9720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722133c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000137061756c67726577616c2e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f40870000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a97200000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a9720541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f40870000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70aacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00acb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa0000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213acb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000127061746368776f726b2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b0000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c7178863000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da33100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0068af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221368af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da3310000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000d706f64732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c7178863000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c71788630000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c01dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f0000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f68000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebd07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f6800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00d07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f6800000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e43700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f680000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6c6c616d616f2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c01dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f000000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e43701dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b002edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722132edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000012646566696c6c616d612e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437fe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cc048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e43700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e6c6c616d612e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cc048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437c048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c6f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b007cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722137cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000136c6c616d616e6f6465732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c6f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4376f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c69c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b1000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a3000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b004e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a30000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b77000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722134e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a30000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e726f64656f2e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c69c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b10000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b770000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b7769c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b10000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba6000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000012686967686c696768742e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba6000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a20000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a22cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba60000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f9000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ae830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebe830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00e830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d00000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213e830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000146368726f6e6f666f7267652e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f900000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cce3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f90000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea71000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70aa4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eba4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00a4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b00000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213a4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f61726b68616d2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea7100000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea710000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c1a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b008af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe00000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722138af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000137761676d6967616d65732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c1a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf00000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff30000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff31a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab0607000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ada56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebda56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00da56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df0000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213da56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e62656566792e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab06070000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab06070000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba31000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf0000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001072617269626c652e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba310000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba310000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f029000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b009adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722139adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000013626c6f636b73636f75742e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f029000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b70000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b7f81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f0290000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b1000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b006dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f00000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd832000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001373796e667574757265732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b100000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd8320000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd832e52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b10000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0038a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d00000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221338a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001173756271756572792e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd00000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ca644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e6200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0096e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221396e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e620000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f726f756e64732e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ca644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dd0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dda644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd8203442000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebd5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00d5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f00000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000011666172776f726c642e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd820344200000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba280000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba288ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd82034420000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0088c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221388c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec10000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e72616262792e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454792bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd98300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0076fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221376fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd9830000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f646562616e6b2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454793a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f9700000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b000a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722130a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f970000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e6d617669612e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059afa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ccc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70affc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d79800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00ffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d7980000000000000000000000003775af82c6c5705140944cd515fe899214fb028800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213ffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000106176616e7469732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ccc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a0000000000000000000000003775af82c6c5705140944cd515fe899214fb02880000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000003775af82c6c5705140944cd515fe899214fb0288cc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c5000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c5855000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c585500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b006f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c585500000000000000000000000041626ba92c0c2a1ad38fc83920300434082b1870000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c58550000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6c32626561742e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c500000000000000000000000041626ba92c0c2a1ad38fc83920300434082b18700000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000041626ba92c0c2a1ad38fc83920300434082b187028544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c50000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f83600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0054217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221354217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f8360000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001064796e616d69632e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cbd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c1000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b003572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad0000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7ce000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722133572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6e616e73656e2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cbd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c10000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7ce0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7cebd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c10000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b338168000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0077f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f0000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221377f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f7369676e616c2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b3381680000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b3381680000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba1584000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b923500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0040beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221340beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b923500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014636f6f707265636f7264732e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba1584000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba15840000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cdbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de42000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e3000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0050aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e30000000000000000000000005418707f24784906915bce1304c7f290c7110f470000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221350aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e30000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e69736b72612e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cdbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de420000000000000000000000005418707f24784906915bce1304c7f290c7110f470000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000005418707f24784906915bce1304c7f290c7110f47dbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de420000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc6762000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc676200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0029d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc676200000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a38500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221329d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc676200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010657468657266692e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea00000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a38500000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a38509ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac53848000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0054f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af00000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221354f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6574686c61732e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac5384800000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac53848000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3f46e3c5ba38ec64b7f1be4a9237203356070d0f73392985f80ed7c361a87a51e69a58f15cbf05d93d7acbdb49a3dec24f74a10678bcc0eda013833d97e3379ff1b0179f49d60673c04ca5f44ac8ad2fc789d5918bceaff0f2d4e74a315e29213c93621dbfb064bb77124b87836ad33f38d6fd5276b8eca7425a2a0fc5f0d417d3a1b4f0e60537b2408f80fc8a5f9652bb0d65ae962f56275802383a40a9af80b7f3a04d6177fd66bf3afe3bd5b0fa993901fe9748001de2c4d857b92ecc74a0a8f101b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000300000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b0450000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x110\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x61d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb2\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x111\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x112\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000145b76f5b8fc9d700624f78208132f91ad4e61a1f0000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x113\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af\"\n          ],\n          \"data\": \"0x0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f0\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x114\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000e627269616e2e626173652e657468000000000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x115\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x61d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb2\"\n          ],\n          \"data\": \"0x0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f0\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x116\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f0\",\n            \"0x61d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb2\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x117\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x0515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x118\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x119\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000145b76f5b8fc9d700624f78208132f91ad4e61a1f0000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x11a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee\"\n          ],\n          \"data\": \"0x0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f0\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x11b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000017627269616e61726d7374726f6e672e626173652e657468000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x11c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x0515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee\"\n          ],\n          \"data\": \"0x0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f0\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x11d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f0\",\n            \"0x0515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x11e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x11f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0xda74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x120\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0xda74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000149a0877ea7b2a0acd59e68d5594c09f09bb95d94d000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x121\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0xda74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb\"\n          ],\n          \"data\": \"0x0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x122\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0xda74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000126772656774757361722e626173652e6574680000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x123\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba\"\n          ],\n          \"data\": \"0x0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x124\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d\",\n            \"0x715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x125\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba0\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x126\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0xe95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d243\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x127\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0xe95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d243\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000149a0877ea7b2a0acd59e68d5594c09f09bb95d94d000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x128\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0xe95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d243\"\n          ],\n          \"data\": \"0x0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x129\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0xe95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d243\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000015677265676f727974757361722e626173652e6574680000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x12a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba0\"\n          ],\n          \"data\": \"0x0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x12b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d\",\n            \"0x2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba0\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x12c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x9621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x12d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x12e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014beb981f82ea4a2bebd0cc366fa4fc11a94697976000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x12f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923\"\n          ],\n          \"data\": \"0x000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x130\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000013616c65736961686161732e626173652e65746800000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x131\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x9621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e\"\n          ],\n          \"data\": \"0x000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x132\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976\",\n            \"0x9621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x133\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x28c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe6\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x134\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x135\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014beb981f82ea4a2bebd0cc366fa4fc11a94697976000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x136\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438\"\n          ],\n          \"data\": \"0x000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x137\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000014616c657369616a686161732e626173652e657468000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x138\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x28c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe6\"\n          ],\n          \"data\": \"0x000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x139\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976\",\n            \"0x28c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe6\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x13a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x13b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x13c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000142211d1d0020daea8039e46cf1367962070d77da9000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x13d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44\"\n          ],\n          \"data\": \"0x0000000000000000000000002211d1d0020daea8039e46cf1367962070d77da9\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x13e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000106a706f6c6c616b2e626173652e65746800000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x13f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c\"\n          ],\n          \"data\": \"0x0000000000000000000000002211d1d0020daea8039e46cf1367962070d77da9\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x140\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x0000000000000000000000002211d1d0020daea8039e46cf1367962070d77da9\",\n            \"0x121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x141\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xf80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x142\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0xbe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x143\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0xbe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014416e0c10a3760a35f1891455f30e415e96fbd779000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x144\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0xbe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da\"\n          ],\n          \"data\": \"0x000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd779\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x145\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0xbe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000156d61786272616e7a627572672e626173652e6574680000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x146\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xf80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e\"\n          ],\n          \"data\": \"0x000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd779\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x147\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd779\",\n            \"0xf80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x148\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f4087\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x149\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x14a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000149a34a73650396e603edb3b12d56a9ebf270a9720000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x14b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0\"\n          ],\n          \"data\": \"0x0000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a9720\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x14c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000137061756c67726577616c2e626173652e65746800000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x14d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f4087\"\n          ],\n          \"data\": \"0x0000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a9720\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x14e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x0000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a9720\",\n            \"0x541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f4087\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x14f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x150\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0xacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x151\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0xacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000140434a5d1d94ca3aa838b8c1f77f2da0b70ac357c000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x152\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0xacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa\"\n          ],\n          \"data\": \"0x0000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x153\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0xacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000127061746368776f726b2e626173652e6574680000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x154\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b\"\n          ],\n          \"data\": \"0x0000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x155\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x0000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c\",\n            \"0x08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x156\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c7178863\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x157\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x158\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014050549f8c196bf1bcc293172746c847fd4d77d9d000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x159\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331\"\n          ],\n          \"data\": \"0x000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x15a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000d706f64732e626173652e65746800000000000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x15b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c7178863\"\n          ],\n          \"data\": \"0x000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x15c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d\",\n            \"0x64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c7178863\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x15d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x01dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f0\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x15e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0xd07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f68\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x15f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0xd07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f68\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001408a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x160\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0xd07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f68\"\n          ],\n          \"data\": \"0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x161\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0xd07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f68\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f6c6c616d616f2e626173652e6574680000000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x162\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x01dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f0\"\n          ],\n          \"data\": \"0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x163\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437\",\n            \"0x01dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f0\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x164\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xfe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x165\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x166\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001408a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x167\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e\"\n          ],\n          \"data\": \"0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x168\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000012646566696c6c616d612e626173652e6574680000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x169\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xfe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b\"\n          ],\n          \"data\": \"0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x16a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437\",\n            \"0xfe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x16b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xc048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x16c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x16d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001408a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x16e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d\"\n          ],\n          \"data\": \"0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x16f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000e6c6c616d612e626173652e657468000000000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x170\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xc048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d\"\n          ],\n          \"data\": \"0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x171\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437\",\n            \"0xc048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x172\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x6f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x173\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x174\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001408a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x175\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b\"\n          ],\n          \"data\": \"0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x176\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000136c6c616d616e6f6465732e626173652e65746800000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x177\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x6f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c\"\n          ],\n          \"data\": \"0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x178\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437\",\n            \"0x6f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x179\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x69c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b1\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x17a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a3\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x17b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a3\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000140c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b77000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x17c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a3\"\n          ],\n          \"data\": \"0x0000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b77\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x17d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a3\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000e726f64656f2e626173652e657468000000000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x17e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x69c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b1\"\n          ],\n          \"data\": \"0x0000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b77\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x17f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x0000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b77\",\n            \"0x69c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b1\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x180\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x2cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba6\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x181\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x182\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014168feb2e7de2ac0c37a239261d3f9e1b396f22a2000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x183\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5\"\n          ],\n          \"data\": \"0x000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a2\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x184\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000012686967686c696768742e626173652e6574680000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x185\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x2cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba6\"\n          ],\n          \"data\": \"0x000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a2\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x186\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a2\",\n            \"0x2cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba6\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x187\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xe3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f9\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x188\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0xe830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x189\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0xe830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001417a45f80efd20594afe2c59d7e1ae7ab0c6954cc000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x18a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0xe830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d\"\n          ],\n          \"data\": \"0x00000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x18b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0xe830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000146368726f6e6f666f7267652e626173652e657468000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x18c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xe3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f9\"\n          ],\n          \"data\": \"0x00000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x18d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x00000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc\",\n            \"0xe3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f9\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x18e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea71\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x18f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0xa4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x190\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0xa4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001419710d5180a69d89f9aa464b33cc5c30aca0ce4a000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x191\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0xa4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b\"\n          ],\n          \"data\": \"0x00000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x192\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0xa4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f61726b68616d2e626173652e6574680000000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x193\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea71\"\n          ],\n          \"data\": \"0x00000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x194\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x00000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a\",\n            \"0x3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea71\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x195\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x1a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x196\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x197\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001419e96afde76d4eb120d9c0f1609e6e4afa077ff3000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x198\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe\"\n          ],\n          \"data\": \"0x00000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff3\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x199\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000137761676d6967616d65732e626173652e65746800000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x19a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x1a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf\"\n          ],\n          \"data\": \"0x00000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff3\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x19b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x00000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff3\",\n            \"0x1a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x19c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab0607\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x19d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0xda56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x19e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0xda56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000141a07dceefeebba3d1873e2b92bef190d2f11c3cb000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x19f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0xda56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df\"\n          ],\n          \"data\": \"0x0000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1a0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0xda56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000e62656566792e626173652e657468000000000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1a1\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab0607\"\n          ],\n          \"data\": \"0x0000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1a2\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x0000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb\",\n            \"0x62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab0607\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1a3\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba31\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1a4\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1a5\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000141cf0df2a5a20cd61d68d4489eebbf85b8d39e18a000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1a6\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf\"\n          ],\n          \"data\": \"0x0000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1a7\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001072617269626c652e626173652e65746800000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1a8\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba31\"\n          ],\n          \"data\": \"0x0000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1a9\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x0000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a\",\n            \"0x9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba31\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1aa\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xf81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f029\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1ab\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1ac\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014242ba6d68ffeb4a098b591b32d370f973ff882b7000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1ad\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f\"\n          ],\n          \"data\": \"0x000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b7\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1ae\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000013626c6f636b73636f75742e626173652e65746800000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1af\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xf81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f029\"\n          ],\n          \"data\": \"0x000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b7\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1b0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b7\",\n            \"0xf81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f029\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1b1\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xe52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b1\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1b2\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1b3\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001427aebe9c8954fc9ccfc4b0d477396188b8bfd832000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1b4\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f\"\n          ],\n          \"data\": \"0x00000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd832\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1b5\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001373796e667574757265732e626173652e65746800000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1b6\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xe52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b1\"\n          ],\n          \"data\": \"0x00000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd832\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1b7\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x00000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd832\",\n            \"0xe52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b1\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1b8\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1b9\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1ba\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001431e99bda5939ba2e7528707507b017f43b67f89b000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1bb\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d\"\n          ],\n          \"data\": \"0x00000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1bc\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001173756271756572792e626173652e657468000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1bd\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd\"\n          ],\n          \"data\": \"0x00000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1be\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x00000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b\",\n            \"0x3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1bf\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xa644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1c0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1c1\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014322d9d4fad6a33d27448cb646292e1bf893f40dd000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1c2\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62\"\n          ],\n          \"data\": \"0x000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1c3\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f726f756e64732e626173652e6574680000000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1c4\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xa644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd\"\n          ],\n          \"data\": \"0x000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1c5\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dd\",\n            \"0xa644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1c6\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x8ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd8203442\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1c7\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0xd5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1c8\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0xd5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001433c5dfab83b10e7f29b4d6bce7839f6125fbba28000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1c9\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0xd5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f\"\n          ],\n          \"data\": \"0x00000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba28\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1ca\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0xd5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000011666172776f726c642e626173652e657468000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1cb\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x8ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd8203442\"\n          ],\n          \"data\": \"0x00000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba28\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1cc\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x00000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba28\",\n            \"0x8ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd8203442\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1cd\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x2bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1ce\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1cf\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014341a1fbd51825e5a107db54ccb3166deba145479000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1d0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1\"\n          ],\n          \"data\": \"0x000000000000000000000000341a1fbd51825e5a107db54ccb3166deba145479\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1d1\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000e72616262792e626173652e657468000000000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1d2\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x2bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab\"\n          ],\n          \"data\": \"0x000000000000000000000000341a1fbd51825e5a107db54ccb3166deba145479\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1d3\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x000000000000000000000000341a1fbd51825e5a107db54ccb3166deba145479\",\n            \"0x2bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1d4\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x3a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1d5\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1d6\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014341a1fbd51825e5a107db54ccb3166deba145479000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1d7\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983\"\n          ],\n          \"data\": \"0x000000000000000000000000341a1fbd51825e5a107db54ccb3166deba145479\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1d8\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f646562616e6b2e626173652e6574680000000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1d9\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x3a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c\"\n          ],\n          \"data\": \"0x000000000000000000000000341a1fbd51825e5a107db54ccb3166deba145479\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1da\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x000000000000000000000000341a1fbd51825e5a107db54ccb3166deba145479\",\n            \"0x3a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1db\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xfa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1dc\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1dd\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014354086d5ecfa27749732c7e931152b2517e3059a000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1de\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97\"\n          ],\n          \"data\": \"0x000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059a\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1df\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000e6d617669612e626173652e657468000000000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1e0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xfa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b\"\n          ],\n          \"data\": \"0x000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059a\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1e1\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059a\",\n            \"0xfa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1e2\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xcc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1e3\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0xffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1e4\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0xffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000143775af82c6c5705140944cd515fe899214fb0288000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1e5\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0xffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798\"\n          ],\n          \"data\": \"0x0000000000000000000000003775af82c6c5705140944cd515fe899214fb0288\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1e6\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0xffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000106176616e7469732e626173652e65746800000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1e7\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xcc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a\"\n          ],\n          \"data\": \"0x0000000000000000000000003775af82c6c5705140944cd515fe899214fb0288\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1e8\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x0000000000000000000000003775af82c6c5705140944cd515fe899214fb0288\",\n            \"0xcc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1e9\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x28544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c5\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1ea\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c5855\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1eb\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c5855\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001441626ba92c0c2a1ad38fc83920300434082b1870000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1ec\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c5855\"\n          ],\n          \"data\": \"0x00000000000000000000000041626ba92c0c2a1ad38fc83920300434082b1870\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1ed\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c5855\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f6c32626561742e626173652e6574680000000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1ee\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x28544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c5\"\n          ],\n          \"data\": \"0x00000000000000000000000041626ba92c0c2a1ad38fc83920300434082b1870\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1ef\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x00000000000000000000000041626ba92c0c2a1ad38fc83920300434082b1870\",\n            \"0x28544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c5\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1f0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1f1\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1f2\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014475d59919abced714a52e33511e505b94cfc6dba000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1f3\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836\"\n          ],\n          \"data\": \"0x000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1f4\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001064796e616d69632e626173652e65746800000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1f5\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c\"\n          ],\n          \"data\": \"0x000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1f6\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba\",\n            \"0x47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1f7\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xbd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c1\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1f8\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1f9\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000144a7c6899cdcb379e284fbfd045462e751da4c7ce000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1fa\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad\"\n          ],\n          \"data\": \"0x0000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7ce\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1fb\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f6e616e73656e2e626173652e6574680000000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1fc\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xbd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c1\"\n          ],\n          \"data\": \"0x0000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7ce\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1fd\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x0000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7ce\",\n            \"0xbd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c1\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1fe\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b338168\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1ff\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x200\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000144aef5f616c4f7f042eb292e57fc159f8b71c413e000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x201\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f\"\n          ],\n          \"data\": \"0x0000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x202\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f7369676e616c2e626173652e6574680000000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x203\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b338168\"\n          ],\n          \"data\": \"0x0000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x204\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x0000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e\",\n            \"0x10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b338168\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x205\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba1584\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x206\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x207\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014512b55b00d744fc2edb8474f223a7498c3e5a7ce000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x208\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235\"\n          ],\n          \"data\": \"0x000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x209\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000014636f6f707265636f7264732e626173652e657468000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x20a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba1584\"\n          ],\n          \"data\": \"0x000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x20b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce\",\n            \"0x0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba1584\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x20c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xdbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de42\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x20d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e3\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x20e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e3\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000145418707f24784906915bce1304c7f290c7110f47000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x20f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e3\"\n          ],\n          \"data\": \"0x0000000000000000000000005418707f24784906915bce1304c7f290c7110f47\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x210\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e3\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000e69736b72612e626173652e657468000000000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x211\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xdbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de42\"\n          ],\n          \"data\": \"0x0000000000000000000000005418707f24784906915bce1304c7f290c7110f47\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x212\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x0000000000000000000000005418707f24784906915bce1304c7f290c7110f47\",\n            \"0xdbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de42\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x213\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x9ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x214\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc6762\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x215\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc6762\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001454dcbe3cdff4543316c020d35fa583c0c47a3850000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x216\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc6762\"\n          ],\n          \"data\": \"0x00000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a3850\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x217\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc6762\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010657468657266692e626173652e65746800000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x218\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x9ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea\"\n          ],\n          \"data\": \"0x00000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a3850\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x219\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x00000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a3850\",\n            \"0x9ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x21a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac53848\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x21b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x21c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001456592ecad18fe1b3438b21d718afd97885350afc000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x21d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af\"\n          ],\n          \"data\": \"0x00000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x21e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f6574686c61732e626173652e6574680000000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x21f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac53848\"\n          ],\n          \"data\": \"0x00000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x220\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x00000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc\",\n            \"0x8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac53848\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x221\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x85b2a1d8f86f5bb736b84706e6d1455dd8f3fa758f8869bbe8a0831e7d9bacdd0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x222\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x12000000c851041018cda900100001018625100104100000050810801481060400000540040028c00810052105048180118220009364140200844210480ac00280a400008018002348040008800089000dd8040004002120210000125811000a0080424d286001550000040c0400904a00002020700840006100201082c2410008388400a001200c0004804001200000300008100020d2a000940408810120001428c0020e020000d810000267040480010c60195000000c4000400f52080e1a6060c002128a8800020002120032410821504010c0340420a0020001082008014081004d4a120002100000000832000004821420010400006000c00282120081\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n      \"transactionIndex\": \"0x43\",\n      \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n      \"blockNumber\": \"0x12884f7\",\n      \"gasUsed\": \"0x712bdc\",\n      \"effectiveGasPrice\": \"0x86457b\",\n      \"from\": \"0x89ebc5eb7163470e23fcc24833eea6bb93a7b045\",\n      \"to\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n      \"contractAddress\": null,\n      \"l1BaseFeeScalar\": \"0x8dd\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0x101c12\",\n      \"l1Fee\": \"0x1207cb4ce22\",\n      \"l1GasPrice\": \"0x12193f1bc\",\n      \"l1GasUsed\": \"0x1b710\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1725654743,\n  \"chain\": 8453,\n  \"commit\": \"b5dba18\"\n}"
  },
  {
    "path": "mainnet/2024-08-27-disburse-basenames/records/DisburseBasenames.sol/8453/run-1724878834.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": null,\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000004e000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9add86870ad77c8ab024c563497d69c18862f17319e90038228e67df37917bc2000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a24e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb24e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0024e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc0000000000000000000000004bba239c9cc83619228457502227d801e4738ba00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221324e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000126e656f64616f6973742e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9add86870ad77c8ab024c563497d69c18862f17319e90038228e67df37917bc20000000000000000000000004bba239c9cc83619228457502227d801e4738ba00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000004bba239c9cc83619228457502227d801e4738ba09add86870ad77c8ab024c563497d69c18862f17319e90038228e67df37917bc200000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xea715c754b882d8d78a8e79442c9fe47543338a6e22f71434431d3a3ec3d33b475970dc126cc6f84f9f1c3084bdb176df769ce54855253097f10ee2ac0e47e2b1cfab6a20814b72ef4c02d053c556c1859d423d5ca17c1723980651e65cd754b09416b3ded7ee3cdf4b6a4d3bcd19731732ec6f293d23e7827d3e998dfc685acb61ce466c8a22579193575a77425389ae3d4cdafe56f5abc5ad2cd5ab5a47d04317e18736aa301bc63279297f74eed17854d4b812ec2be6034335ec70e9e9ff467ea1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x89ebc5eb7163470e23fcc24833eea6bb93a7b045\",\n        \"to\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n        \"gas\": \"0x6d169\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000880000000000000000000000000000000000000000000000000000000000000070482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000004e000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9add86870ad77c8ab024c563497d69c18862f17319e90038228e67df37917bc2000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a24e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb24e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0024e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc0000000000000000000000004bba239c9cc83619228457502227d801e4738ba00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221324e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000126e656f64616f6973742e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9add86870ad77c8ab024c563497d69c18862f17319e90038228e67df37917bc20000000000000000000000004bba239c9cc83619228457502227d801e4738ba00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000004bba239c9cc83619228457502227d801e4738ba09add86870ad77c8ab024c563497d69c18862f17319e90038228e67df37917bc2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3ea715c754b882d8d78a8e79442c9fe47543338a6e22f71434431d3a3ec3d33b475970dc126cc6f84f9f1c3084bdb176df769ce54855253097f10ee2ac0e47e2b1cfab6a20814b72ef4c02d053c556c1859d423d5ca17c1723980651e65cd754b09416b3ded7ee3cdf4b6a4d3bcd19731732ec6f293d23e7827d3e998dfc685acb61ce466c8a22579193575a77425389ae3d4cdafe56f5abc5ad2cd5ab5a47d04317e18736aa301bc63279297f74eed17854d4b812ec2be6034335ec70e9e9ff467ea1b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x0\",\n        \"chainId\": \"0x2105\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1724878834,\n  \"chain\": 8453,\n  \"commit\": \"2aaef39\"\n}"
  },
  {
    "path": "mainnet/2024-08-27-disburse-basenames/records/DisburseBasenames.sol/8453/run-1724878939.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x7d1b625cd8aa58042ec8569ecc9309b32285b8c502cbbf21bc270bc16ef2ba50\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000004e000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9add86870ad77c8ab024c563497d69c18862f17319e90038228e67df37917bc2000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a24e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb24e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0024e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc0000000000000000000000004bba239c9cc83619228457502227d801e4738ba00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221324e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000126e656f64616f6973742e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9add86870ad77c8ab024c563497d69c18862f17319e90038228e67df37917bc20000000000000000000000004bba239c9cc83619228457502227d801e4738ba00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000004bba239c9cc83619228457502227d801e4738ba09add86870ad77c8ab024c563497d69c18862f17319e90038228e67df37917bc200000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xea715c754b882d8d78a8e79442c9fe47543338a6e22f71434431d3a3ec3d33b475970dc126cc6f84f9f1c3084bdb176df769ce54855253097f10ee2ac0e47e2b1cfab6a20814b72ef4c02d053c556c1859d423d5ca17c1723980651e65cd754b09416b3ded7ee3cdf4b6a4d3bcd19731732ec6f293d23e7827d3e998dfc685acb61ce466c8a22579193575a77425389ae3d4cdafe56f5abc5ad2cd5ab5a47d04317e18736aa301bc63279297f74eed17854d4b812ec2be6034335ec70e9e9ff467ea1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x89ebc5eb7163470e23fcc24833eea6bb93a7b045\",\n        \"to\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n        \"gas\": \"0x6d169\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000880000000000000000000000000000000000000000000000000000000000000070482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000004e000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9add86870ad77c8ab024c563497d69c18862f17319e90038228e67df37917bc2000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a24e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb24e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0024e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc0000000000000000000000004bba239c9cc83619228457502227d801e4738ba00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221324e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000126e656f64616f6973742e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9add86870ad77c8ab024c563497d69c18862f17319e90038228e67df37917bc20000000000000000000000004bba239c9cc83619228457502227d801e4738ba00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000004bba239c9cc83619228457502227d801e4738ba09add86870ad77c8ab024c563497d69c18862f17319e90038228e67df37917bc2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3ea715c754b882d8d78a8e79442c9fe47543338a6e22f71434431d3a3ec3d33b475970dc126cc6f84f9f1c3084bdb176df769ce54855253097f10ee2ac0e47e2b1cfab6a20814b72ef4c02d053c556c1859d423d5ca17c1723980651e65cd754b09416b3ded7ee3cdf4b6a4d3bcd19731732ec6f293d23e7827d3e998dfc685acb61ce466c8a22579193575a77425389ae3d4cdafe56f5abc5ad2cd5ab5a47d04317e18736aa301bc63279297f74eed17854d4b812ec2be6034335ec70e9e9ff467ea1b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x0\",\n        \"chainId\": \"0x2105\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xa5394a\",\n      \"logs\": [\n        {\n          \"address\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008a000000000000000000000000000000000000000000000000000000000000009a0000000000000000000000000000000000000000000000000000000000000070482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000004e000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9add86870ad77c8ab024c563497d69c18862f17319e90038228e67df37917bc2000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a24e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb24e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0024e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc0000000000000000000000004bba239c9cc83619228457502227d801e4738ba00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221324e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000126e656f64616f6973742e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9add86870ad77c8ab024c563497d69c18862f17319e90038228e67df37917bc20000000000000000000000004bba239c9cc83619228457502227d801e4738ba00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000004bba239c9cc83619228457502227d801e4738ba09add86870ad77c8ab024c563497d69c18862f17319e90038228e67df37917bc2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3ea715c754b882d8d78a8e79442c9fe47543338a6e22f71434431d3a3ec3d33b475970dc126cc6f84f9f1c3084bdb176df769ce54855253097f10ee2ac0e47e2b1cfab6a20814b72ef4c02d053c556c1859d423d5ca17c1723980651e65cd754b09416b3ded7ee3cdf4b6a4d3bcd19731732ec6f293d23e7827d3e998dfc685acb61ce466c8a22579193575a77425389ae3d4cdafe56f5abc5ad2cd5ab5a47d04317e18736aa301bc63279297f74eed17854d4b812ec2be6034335ec70e9e9ff467ea1b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b0450000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0x33cc5801aef7fc3c0bce2692e0924b8a41550721a25af4d6e59c72a1deb744c3\",\n          \"blockNumber\": \"0x12299b9\",\n          \"transactionHash\": \"0x7d1b625cd8aa58042ec8569ecc9309b32285b8c502cbbf21bc270bc16ef2ba50\",\n          \"transactionIndex\": \"0x3b\",\n          \"logIndex\": \"0xb4\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x9add86870ad77c8ab024c563497d69c18862f17319e90038228e67df37917bc2\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0x33cc5801aef7fc3c0bce2692e0924b8a41550721a25af4d6e59c72a1deb744c3\",\n          \"blockNumber\": \"0x12299b9\",\n          \"transactionHash\": \"0x7d1b625cd8aa58042ec8569ecc9309b32285b8c502cbbf21bc270bc16ef2ba50\",\n          \"transactionIndex\": \"0x3b\",\n          \"logIndex\": \"0xb5\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x24e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0x33cc5801aef7fc3c0bce2692e0924b8a41550721a25af4d6e59c72a1deb744c3\",\n          \"blockNumber\": \"0x12299b9\",\n          \"transactionHash\": \"0x7d1b625cd8aa58042ec8569ecc9309b32285b8c502cbbf21bc270bc16ef2ba50\",\n          \"transactionIndex\": \"0x3b\",\n          \"logIndex\": \"0xb6\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x24e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000144bba239c9cc83619228457502227d801e4738ba0000000000000000000000000\",\n          \"blockHash\": \"0x33cc5801aef7fc3c0bce2692e0924b8a41550721a25af4d6e59c72a1deb744c3\",\n          \"blockNumber\": \"0x12299b9\",\n          \"transactionHash\": \"0x7d1b625cd8aa58042ec8569ecc9309b32285b8c502cbbf21bc270bc16ef2ba50\",\n          \"transactionIndex\": \"0x3b\",\n          \"logIndex\": \"0xb7\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x24e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc\"\n          ],\n          \"data\": \"0x0000000000000000000000004bba239c9cc83619228457502227d801e4738ba0\",\n          \"blockHash\": \"0x33cc5801aef7fc3c0bce2692e0924b8a41550721a25af4d6e59c72a1deb744c3\",\n          \"blockNumber\": \"0x12299b9\",\n          \"transactionHash\": \"0x7d1b625cd8aa58042ec8569ecc9309b32285b8c502cbbf21bc270bc16ef2ba50\",\n          \"transactionIndex\": \"0x3b\",\n          \"logIndex\": \"0xb8\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x24e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000126e656f64616f6973742e626173652e6574680000000000000000000000000000\",\n          \"blockHash\": \"0x33cc5801aef7fc3c0bce2692e0924b8a41550721a25af4d6e59c72a1deb744c3\",\n          \"blockNumber\": \"0x12299b9\",\n          \"transactionHash\": \"0x7d1b625cd8aa58042ec8569ecc9309b32285b8c502cbbf21bc270bc16ef2ba50\",\n          \"transactionIndex\": \"0x3b\",\n          \"logIndex\": \"0xb9\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x9add86870ad77c8ab024c563497d69c18862f17319e90038228e67df37917bc2\"\n          ],\n          \"data\": \"0x0000000000000000000000004bba239c9cc83619228457502227d801e4738ba0\",\n          \"blockHash\": \"0x33cc5801aef7fc3c0bce2692e0924b8a41550721a25af4d6e59c72a1deb744c3\",\n          \"blockNumber\": \"0x12299b9\",\n          \"transactionHash\": \"0x7d1b625cd8aa58042ec8569ecc9309b32285b8c502cbbf21bc270bc16ef2ba50\",\n          \"transactionIndex\": \"0x3b\",\n          \"logIndex\": \"0xba\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x0000000000000000000000004bba239c9cc83619228457502227d801e4738ba0\",\n            \"0x9add86870ad77c8ab024c563497d69c18862f17319e90038228e67df37917bc2\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x33cc5801aef7fc3c0bce2692e0924b8a41550721a25af4d6e59c72a1deb744c3\",\n          \"blockNumber\": \"0x12299b9\",\n          \"transactionHash\": \"0x7d1b625cd8aa58042ec8569ecc9309b32285b8c502cbbf21bc270bc16ef2ba50\",\n          \"transactionIndex\": \"0x3b\",\n          \"logIndex\": \"0xbb\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xd1e990d9338585e4dac808ab282c82df149b71cc1c05bf5f5487bac4374a5e520000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x33cc5801aef7fc3c0bce2692e0924b8a41550721a25af4d6e59c72a1deb744c3\",\n          \"blockNumber\": \"0x12299b9\",\n          \"transactionHash\": \"0x7d1b625cd8aa58042ec8569ecc9309b32285b8c502cbbf21bc270bc16ef2ba50\",\n          \"transactionIndex\": \"0x3b\",\n          \"logIndex\": \"0xbc\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x1000000040000000180000000000014000000000040000000100108014000000000000000000000000000000000000000000000000001000000000000002800000040020000000024800000800000000010004000400000000000010000000000080020000000000000000000400000000000000000040000000001000000000002000000000000000000000010000000000080000004000000004000000000000000000040200004800000004000400000c000000000000000000040000020000000002000000000000002000024000000000000000040000000000000000000000000000000000000000000008000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x7d1b625cd8aa58042ec8569ecc9309b32285b8c502cbbf21bc270bc16ef2ba50\",\n      \"transactionIndex\": \"0x3b\",\n      \"blockHash\": \"0x33cc5801aef7fc3c0bce2692e0924b8a41550721a25af4d6e59c72a1deb744c3\",\n      \"blockNumber\": \"0x12299b9\",\n      \"gasUsed\": \"0x4a972\",\n      \"effectiveGasPrice\": \"0xb0294e\",\n      \"from\": \"0x89ebc5eb7163470e23fcc24833eea6bb93a7b045\",\n      \"to\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n      \"contractAddress\": null,\n      \"l1BaseFeeScalar\": \"0x8dd\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0x101c12\",\n      \"l1Fee\": \"0x1310c77ad9\",\n      \"l1GasPrice\": \"0xe070b217\",\n      \"l1GasUsed\": \"0x2570\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1724878939,\n  \"chain\": 8453,\n  \"commit\": \"2aaef39\"\n}"
  },
  {
    "path": "mainnet/2024-08-27-disburse-basenames/records/DisburseBasenames.sol/8453/run-1725393994.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xecd8731177baca817ab00383524431c3f0255746955bd93b95f85caa081ee20e\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000004e000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c95ed9349478445ce73193b3d39899fcb7050bf58f4b894a12bf4ffc0d249d669000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad9cac6c01589a9a8aef3ad147e4d8b4d65f9f30f0473703c1530f70f2cdf89f7000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebd9cac6c01589a9a8aef3ad147e4d8b4d65f9f30f0473703c1530f70f2cdf89f700000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00d9cac6c01589a9a8aef3ad147e4d8b4d65f9f30f0473703c1530f70f2cdf89f70000000000000000000000000a3092e52bd2565e451e846f064d63dc6864ff0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d9cac6c01589a9a8aef3ad147e4d8b4d65f9f30f0473703c1530f70f2cdf89f70000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000d64696d6f2e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c95ed9349478445ce73193b3d39899fcb7050bf58f4b894a12bf4ffc0d249d6690000000000000000000000000a3092e52bd2565e451e846f064d63dc6864ff060000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000a3092e52bd2565e451e846f064d63dc6864ff0695ed9349478445ce73193b3d39899fcb7050bf58f4b894a12bf4ffc0d249d66900000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xba5e070a9871aede73a6ee49c755d419d4ed2588814d246fa7f16fad3e70e38a472daf08c0b6cbb43616e351a35ef1261a6ce9dd9c33cafeb15f26561873211c1beda20c2e652c5eaef029c61b4e036b65626993e85f2dc1c32812bd4c223794285bf203e5db23ac29b8ab67d3666556f63ed672db60329d40f03940021f3153b31b982a7327b39aa75ae07738eafd18a08cdac4f43caf6d7db5718a22075224eb3a2501a77e7a431e89b59afe585252aa97ceac108474f6052f2392184f469e6f981b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x89ebc5eb7163470e23fcc24833eea6bb93a7b045\",\n        \"to\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n        \"gas\": \"0x641c5\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000880000000000000000000000000000000000000000000000000000000000000070482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000004e000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c95ed9349478445ce73193b3d39899fcb7050bf58f4b894a12bf4ffc0d249d669000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad9cac6c01589a9a8aef3ad147e4d8b4d65f9f30f0473703c1530f70f2cdf89f7000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebd9cac6c01589a9a8aef3ad147e4d8b4d65f9f30f0473703c1530f70f2cdf89f700000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00d9cac6c01589a9a8aef3ad147e4d8b4d65f9f30f0473703c1530f70f2cdf89f70000000000000000000000000a3092e52bd2565e451e846f064d63dc6864ff0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d9cac6c01589a9a8aef3ad147e4d8b4d65f9f30f0473703c1530f70f2cdf89f70000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000d64696d6f2e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c95ed9349478445ce73193b3d39899fcb7050bf58f4b894a12bf4ffc0d249d6690000000000000000000000000a3092e52bd2565e451e846f064d63dc6864ff060000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000a3092e52bd2565e451e846f064d63dc6864ff0695ed9349478445ce73193b3d39899fcb7050bf58f4b894a12bf4ffc0d249d669000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3ba5e070a9871aede73a6ee49c755d419d4ed2588814d246fa7f16fad3e70e38a472daf08c0b6cbb43616e351a35ef1261a6ce9dd9c33cafeb15f26561873211c1beda20c2e652c5eaef029c61b4e036b65626993e85f2dc1c32812bd4c223794285bf203e5db23ac29b8ab67d3666556f63ed672db60329d40f03940021f3153b31b982a7327b39aa75ae07738eafd18a08cdac4f43caf6d7db5718a22075224eb3a2501a77e7a431e89b59afe585252aa97ceac108474f6052f2392184f469e6f981b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x2\",\n        \"chainId\": \"0x2105\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x102c636\",\n      \"logs\": [\n        {\n          \"address\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008a000000000000000000000000000000000000000000000000000000000000009a0000000000000000000000000000000000000000000000000000000000000070482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000004e000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c95ed9349478445ce73193b3d39899fcb7050bf58f4b894a12bf4ffc0d249d669000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad9cac6c01589a9a8aef3ad147e4d8b4d65f9f30f0473703c1530f70f2cdf89f7000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebd9cac6c01589a9a8aef3ad147e4d8b4d65f9f30f0473703c1530f70f2cdf89f700000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00d9cac6c01589a9a8aef3ad147e4d8b4d65f9f30f0473703c1530f70f2cdf89f70000000000000000000000000a3092e52bd2565e451e846f064d63dc6864ff0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d9cac6c01589a9a8aef3ad147e4d8b4d65f9f30f0473703c1530f70f2cdf89f70000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000d64696d6f2e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c95ed9349478445ce73193b3d39899fcb7050bf58f4b894a12bf4ffc0d249d6690000000000000000000000000a3092e52bd2565e451e846f064d63dc6864ff060000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000a3092e52bd2565e451e846f064d63dc6864ff0695ed9349478445ce73193b3d39899fcb7050bf58f4b894a12bf4ffc0d249d669000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3ba5e070a9871aede73a6ee49c755d419d4ed2588814d246fa7f16fad3e70e38a472daf08c0b6cbb43616e351a35ef1261a6ce9dd9c33cafeb15f26561873211c1beda20c2e652c5eaef029c61b4e036b65626993e85f2dc1c32812bd4c223794285bf203e5db23ac29b8ab67d3666556f63ed672db60329d40f03940021f3153b31b982a7327b39aa75ae07738eafd18a08cdac4f43caf6d7db5718a22075224eb3a2501a77e7a431e89b59afe585252aa97ceac108474f6052f2392184f469e6f981b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000200000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b0450000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0xa9db9ba4e95ea3f1caf0ca0eb5179d1f1aca33e8062297d49fbe86bd8ecbdba8\",\n          \"blockNumber\": \"0x12687b0\",\n          \"transactionHash\": \"0xecd8731177baca817ab00383524431c3f0255746955bd93b95f85caa081ee20e\",\n          \"transactionIndex\": \"0x8f\",\n          \"logIndex\": \"0x143\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x95ed9349478445ce73193b3d39899fcb7050bf58f4b894a12bf4ffc0d249d669\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xa9db9ba4e95ea3f1caf0ca0eb5179d1f1aca33e8062297d49fbe86bd8ecbdba8\",\n          \"blockNumber\": \"0x12687b0\",\n          \"transactionHash\": \"0xecd8731177baca817ab00383524431c3f0255746955bd93b95f85caa081ee20e\",\n          \"transactionIndex\": \"0x8f\",\n          \"logIndex\": \"0x144\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0xd9cac6c01589a9a8aef3ad147e4d8b4d65f9f30f0473703c1530f70f2cdf89f7\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xa9db9ba4e95ea3f1caf0ca0eb5179d1f1aca33e8062297d49fbe86bd8ecbdba8\",\n          \"blockNumber\": \"0x12687b0\",\n          \"transactionHash\": \"0xecd8731177baca817ab00383524431c3f0255746955bd93b95f85caa081ee20e\",\n          \"transactionIndex\": \"0x8f\",\n          \"logIndex\": \"0x145\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0xd9cac6c01589a9a8aef3ad147e4d8b4d65f9f30f0473703c1530f70f2cdf89f7\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000140a3092e52bd2565e451e846f064d63dc6864ff06000000000000000000000000\",\n          \"blockHash\": \"0xa9db9ba4e95ea3f1caf0ca0eb5179d1f1aca33e8062297d49fbe86bd8ecbdba8\",\n          \"blockNumber\": \"0x12687b0\",\n          \"transactionHash\": \"0xecd8731177baca817ab00383524431c3f0255746955bd93b95f85caa081ee20e\",\n          \"transactionIndex\": \"0x8f\",\n          \"logIndex\": \"0x146\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0xd9cac6c01589a9a8aef3ad147e4d8b4d65f9f30f0473703c1530f70f2cdf89f7\"\n          ],\n          \"data\": \"0x0000000000000000000000000a3092e52bd2565e451e846f064d63dc6864ff06\",\n          \"blockHash\": \"0xa9db9ba4e95ea3f1caf0ca0eb5179d1f1aca33e8062297d49fbe86bd8ecbdba8\",\n          \"blockNumber\": \"0x12687b0\",\n          \"transactionHash\": \"0xecd8731177baca817ab00383524431c3f0255746955bd93b95f85caa081ee20e\",\n          \"transactionIndex\": \"0x8f\",\n          \"logIndex\": \"0x147\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0xd9cac6c01589a9a8aef3ad147e4d8b4d65f9f30f0473703c1530f70f2cdf89f7\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000d64696d6f2e626173652e65746800000000000000000000000000000000000000\",\n          \"blockHash\": \"0xa9db9ba4e95ea3f1caf0ca0eb5179d1f1aca33e8062297d49fbe86bd8ecbdba8\",\n          \"blockNumber\": \"0x12687b0\",\n          \"transactionHash\": \"0xecd8731177baca817ab00383524431c3f0255746955bd93b95f85caa081ee20e\",\n          \"transactionIndex\": \"0x8f\",\n          \"logIndex\": \"0x148\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x95ed9349478445ce73193b3d39899fcb7050bf58f4b894a12bf4ffc0d249d669\"\n          ],\n          \"data\": \"0x0000000000000000000000000a3092e52bd2565e451e846f064d63dc6864ff06\",\n          \"blockHash\": \"0xa9db9ba4e95ea3f1caf0ca0eb5179d1f1aca33e8062297d49fbe86bd8ecbdba8\",\n          \"blockNumber\": \"0x12687b0\",\n          \"transactionHash\": \"0xecd8731177baca817ab00383524431c3f0255746955bd93b95f85caa081ee20e\",\n          \"transactionIndex\": \"0x8f\",\n          \"logIndex\": \"0x149\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x0000000000000000000000000a3092e52bd2565e451e846f064d63dc6864ff06\",\n            \"0x95ed9349478445ce73193b3d39899fcb7050bf58f4b894a12bf4ffc0d249d669\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xa9db9ba4e95ea3f1caf0ca0eb5179d1f1aca33e8062297d49fbe86bd8ecbdba8\",\n          \"blockNumber\": \"0x12687b0\",\n          \"transactionHash\": \"0xecd8731177baca817ab00383524431c3f0255746955bd93b95f85caa081ee20e\",\n          \"transactionIndex\": \"0x8f\",\n          \"logIndex\": \"0x14a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x5fab38fc37a85da37fb6852832201f896ce0ba6f266efaae82314ddc62d393660000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xa9db9ba4e95ea3f1caf0ca0eb5179d1f1aca33e8062297d49fbe86bd8ecbdba8\",\n          \"blockNumber\": \"0x12687b0\",\n          \"transactionHash\": \"0xecd8731177baca817ab00383524431c3f0255746955bd93b95f85caa081ee20e\",\n          \"transactionIndex\": \"0x8f\",\n          \"logIndex\": \"0x14b\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x100000004000000018000000000001000000000004000000010000801400000000000000000000000000000000000000000000000000100000000000004280000000000000400002480000080000000001000400040000000000001000000000008002000000000000000000040000008000000000004000000000100000008000200000000000000000000000000000000000000000400000000400000000000000000004020008480000000400040000040000000000000000000400000a0000000002800000000000000000024000000000000000040000000000000000010000008000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xecd8731177baca817ab00383524431c3f0255746955bd93b95f85caa081ee20e\",\n      \"transactionIndex\": \"0x8f\",\n      \"blockHash\": \"0xa9db9ba4e95ea3f1caf0ca0eb5179d1f1aca33e8062297d49fbe86bd8ecbdba8\",\n      \"blockNumber\": \"0x12687b0\",\n      \"gasUsed\": \"0x487a8\",\n      \"effectiveGasPrice\": \"0x3bfd36\",\n      \"from\": \"0x89ebc5eb7163470e23fcc24833eea6bb93a7b045\",\n      \"to\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n      \"contractAddress\": null,\n      \"l1BaseFeeScalar\": \"0x8dd\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0x101c12\",\n      \"l1Fee\": \"0xefd8a62d5\",\n      \"l1GasPrice\": \"0xb1b54e4d\",\n      \"l1GasUsed\": \"0x252d\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1725393994,\n  \"chain\": 8453,\n  \"commit\": \"be9caef\"\n}"
  },
  {
    "path": "mainnet/2024-08-27-disburse-basenames/records/DisburseBasenames.sol/8453/run-1725654743.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c3000000000000000000000000000000000000000000000000000000000000186000000000000000000000000000000000000000000000000000000000000019400000000000000000000000000000000000000000000000000000000000001a200000000000000000000000000000000000000000000000000000000000001ca00000000000000000000000000000000000000000000000000000000000001d800000000000000000000000000000000000000000000000000000000000001e800000000000000000000000000000000000000000000000000000000000001f60000000000000000000000000000000000000000000000000000000000000204000000000000000000000000000000000000000000000000000000000000022c000000000000000000000000000000000000000000000000000000000000023a000000000000000000000000000000000000000000000000000000000000024a00000000000000000000000000000000000000000000000000000000000002580000000000000000000000000000000000000000000000000000000000000266000000000000000000000000000000000000000000000000000000000000028e000000000000000000000000000000000000000000000000000000000000029c00000000000000000000000000000000000000000000000000000000000002ac00000000000000000000000000000000000000000000000000000000000002ba00000000000000000000000000000000000000000000000000000000000002c800000000000000000000000000000000000000000000000000000000000002f000000000000000000000000000000000000000000000000000000000000002fe000000000000000000000000000000000000000000000000000000000000030e000000000000000000000000000000000000000000000000000000000000031c000000000000000000000000000000000000000000000000000000000000032a000000000000000000000000000000000000000000000000000000000000035200000000000000000000000000000000000000000000000000000000000003600000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000037e000000000000000000000000000000000000000000000000000000000000038c00000000000000000000000000000000000000000000000000000000000003b400000000000000000000000000000000000000000000000000000000000003c200000000000000000000000000000000000000000000000000000000000003d200000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000003ee0000000000000000000000000000000000000000000000000000000000000416000000000000000000000000000000000000000000000000000000000000042400000000000000000000000000000000000000000000000000000000000004340000000000000000000000000000000000000000000000000000000000000442000000000000000000000000000000000000000000000000000000000000045000000000000000000000000000000000000000000000000000000000000004780000000000000000000000000000000000000000000000000000000000000486000000000000000000000000000000000000000000000000000000000000049600000000000000000000000000000000000000000000000000000000000004a400000000000000000000000000000000000000000000000000000000000004b200000000000000000000000000000000000000000000000000000000000004da00000000000000000000000000000000000000000000000000000000000004e800000000000000000000000000000000000000000000000000000000000004f800000000000000000000000000000000000000000000000000000000000005060000000000000000000000000000000000000000000000000000000000000514000000000000000000000000000000000000000000000000000000000000053c000000000000000000000000000000000000000000000000000000000000054a000000000000000000000000000000000000000000000000000000000000055a00000000000000000000000000000000000000000000000000000000000005680000000000000000000000000000000000000000000000000000000000000576000000000000000000000000000000000000000000000000000000000000059e00000000000000000000000000000000000000000000000000000000000005ac00000000000000000000000000000000000000000000000000000000000005bc00000000000000000000000000000000000000000000000000000000000005ca00000000000000000000000000000000000000000000000000000000000005d80000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000060e000000000000000000000000000000000000000000000000000000000000061e000000000000000000000000000000000000000000000000000000000000062c000000000000000000000000000000000000000000000000000000000000063a000000000000000000000000000000000000000000000000000000000000066200000000000000000000000000000000000000000000000000000000000006700000000000000000000000000000000000000000000000000000000000000680000000000000000000000000000000000000000000000000000000000000068e000000000000000000000000000000000000000000000000000000000000069c00000000000000000000000000000000000000000000000000000000000006c400000000000000000000000000000000000000000000000000000000000006d200000000000000000000000000000000000000000000000000000000000006e200000000000000000000000000000000000000000000000000000000000006f000000000000000000000000000000000000000000000000000000000000006fe000000000000000000000000000000000000000000000000000000000000072600000000000000000000000000000000000000000000000000000000000007340000000000000000000000000000000000000000000000000000000000000744000000000000000000000000000000000000000000000000000000000000075200000000000000000000000000000000000000000000000000000000000007600000000000000000000000000000000000000000000000000000000000000788000000000000000000000000000000000000000000000000000000000000079600000000000000000000000000000000000000000000000000000000000007a600000000000000000000000000000000000000000000000000000000000007b400000000000000000000000000000000000000000000000000000000000007c200000000000000000000000000000000000000000000000000000000000007ea00000000000000000000000000000000000000000000000000000000000007f8000000000000000000000000000000000000000000000000000000000000080800000000000000000000000000000000000000000000000000000000000008160000000000000000000000000000000000000000000000000000000000000824000000000000000000000000000000000000000000000000000000000000084c000000000000000000000000000000000000000000000000000000000000085a000000000000000000000000000000000000000000000000000000000000086a0000000000000000000000000000000000000000000000000000000000000878000000000000000000000000000000000000000000000000000000000000088600000000000000000000000000000000000000000000000000000000000008ae00000000000000000000000000000000000000000000000000000000000008bc00000000000000000000000000000000000000000000000000000000000008cc00000000000000000000000000000000000000000000000000000000000008da00000000000000000000000000000000000000000000000000000000000008e80000000000000000000000000000000000000000000000000000000000000910000000000000000000000000000000000000000000000000000000000000091e000000000000000000000000000000000000000000000000000000000000092e000000000000000000000000000000000000000000000000000000000000093c000000000000000000000000000000000000000000000000000000000000094a000000000000000000000000000000000000000000000000000000000000097200000000000000000000000000000000000000000000000000000000000009800000000000000000000000000000000000000000000000000000000000000990000000000000000000000000000000000000000000000000000000000000099e00000000000000000000000000000000000000000000000000000000000009ac00000000000000000000000000000000000000000000000000000000000009d400000000000000000000000000000000000000000000000000000000000009e200000000000000000000000000000000000000000000000000000000000009f20000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a0e0000000000000000000000000000000000000000000000000000000000000a360000000000000000000000000000000000000000000000000000000000000a440000000000000000000000000000000000000000000000000000000000000a540000000000000000000000000000000000000000000000000000000000000a620000000000000000000000000000000000000000000000000000000000000a700000000000000000000000000000000000000000000000000000000000000a980000000000000000000000000000000000000000000000000000000000000aa60000000000000000000000000000000000000000000000000000000000000ab60000000000000000000000000000000000000000000000000000000000000ac40000000000000000000000000000000000000000000000000000000000000ad20000000000000000000000000000000000000000000000000000000000000afa0000000000000000000000000000000000000000000000000000000000000b080000000000000000000000000000000000000000000000000000000000000b180000000000000000000000000000000000000000000000000000000000000b260000000000000000000000000000000000000000000000000000000000000b340000000000000000000000000000000000000000000000000000000000000b5c0000000000000000000000000000000000000000000000000000000000000b6a0000000000000000000000000000000000000000000000000000000000000b7a0000000000000000000000000000000000000000000000000000000000000b880000000000000000000000000000000000000000000000000000000000000b960000000000000000000000000000000000000000000000000000000000000bbe0000000000000000000000000000000000000000000000000000000000000bcc0000000000000000000000000000000000000000000000000000000000000bdc0000000000000000000000000000000000000000000000000000000000000bea0000000000000000000000000000000000000000000000000000000000000bf80000000000000000000000000000000000000000000000000000000000000c200000000000000000000000000000000000000000000000000000000000000c2e0000000000000000000000000000000000000000000000000000000000000c3e0000000000000000000000000000000000000000000000000000000000000c4c0000000000000000000000000000000000000000000000000000000000000c5a0000000000000000000000000000000000000000000000000000000000000c820000000000000000000000000000000000000000000000000000000000000c900000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000cae0000000000000000000000000000000000000000000000000000000000000cbc0000000000000000000000000000000000000000000000000000000000000ce40000000000000000000000000000000000000000000000000000000000000cf20000000000000000000000000000000000000000000000000000000000000d020000000000000000000000000000000000000000000000000000000000000d100000000000000000000000000000000000000000000000000000000000000d1e0000000000000000000000000000000000000000000000000000000000000d460000000000000000000000000000000000000000000000000000000000000d540000000000000000000000000000000000000000000000000000000000000d640000000000000000000000000000000000000000000000000000000000000d720000000000000000000000000000000000000000000000000000000000000d800000000000000000000000000000000000000000000000000000000000000da80000000000000000000000000000000000000000000000000000000000000db60000000000000000000000000000000000000000000000000000000000000dc60000000000000000000000000000000000000000000000000000000000000dd40000000000000000000000000000000000000000000000000000000000000de20000000000000000000000000000000000000000000000000000000000000e0a0000000000000000000000000000000000000000000000000000000000000e180000000000000000000000000000000000000000000000000000000000000e280000000000000000000000000000000000000000000000000000000000000e360000000000000000000000000000000000000000000000000000000000000e440000000000000000000000000000000000000000000000000000000000000e6c0000000000000000000000000000000000000000000000000000000000000e7a0000000000000000000000000000000000000000000000000000000000000e8a0000000000000000000000000000000000000000000000000000000000000e980000000000000000000000000000000000000000000000000000000000000ea60000000000000000000000000000000000000000000000000000000000000ece0000000000000000000000000000000000000000000000000000000000000edc0000000000000000000000000000000000000000000000000000000000000eec0000000000000000000000000000000000000000000000000000000000000efa0000000000000000000000000000000000000000000000000000000000000f080000000000000000000000000000000000000000000000000000000000000f300000000000000000000000000000000000000000000000000000000000000f3e0000000000000000000000000000000000000000000000000000000000000f4e0000000000000000000000000000000000000000000000000000000000000f5c0000000000000000000000000000000000000000000000000000000000000f6a0000000000000000000000000000000000000000000000000000000000000f920000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000fb00000000000000000000000000000000000000000000000000000000000000fbe0000000000000000000000000000000000000000000000000000000000000fcc0000000000000000000000000000000000000000000000000000000000000ff4000000000000000000000000000000000000000000000000000000000000100200000000000000000000000000000000000000000000000000000000000010120000000000000000000000000000000000000000000000000000000000001020000000000000000000000000000000000000000000000000000000000000102e00000000000000000000000000000000000000000000000000000000000010560000000000000000000000000000000000000000000000000000000000001064000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c61d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb2000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e627269616e2e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c61d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb20000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f061d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb20000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b000de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722130de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000017627269616e61726d7374726f6e672e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f00515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ada74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebda74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00da74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213da74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000126772656774757361722e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba0000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ae95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d243000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebe95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d24300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00e95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d2430000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213e95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d24300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000015677265676f727974757361722e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba00000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e92300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b006ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e92300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000013616c65736961686161732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a946979760000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a946979769621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe6000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af5943800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b008dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722138dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af5943800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014616c657369616a686161732e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe6000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a946979760000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a9469797628c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe60000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b4400000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b008e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b440000000000000000000000002211d1d0020daea8039e46cf1367962070d77da9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722138e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000106a706f6c6c616b2e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c0000000000000000000000002211d1d0020daea8039e46cf1367962070d77da90000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000002211d1d0020daea8039e46cf1367962070d77da9121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70abe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebbe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00be297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd77900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213be297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000156d61786272616e7a627572672e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd7790000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd779f80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f4087000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b003c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb00000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a9720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722133c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000137061756c67726577616c2e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f40870000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a97200000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a9720541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f40870000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70aacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00acb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa0000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213acb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000127061746368776f726b2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b0000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c7178863000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da33100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0068af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221368af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da3310000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000d706f64732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c7178863000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c71788630000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c01dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f0000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f68000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebd07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f6800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00d07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f6800000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e43700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f680000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6c6c616d616f2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c01dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f000000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e43701dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b002edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722132edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000012646566696c6c616d612e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437fe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cc048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e43700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e6c6c616d612e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cc048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437c048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c6f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b007cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722137cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000136c6c616d616e6f6465732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c6f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4376f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c69c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b1000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a3000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b004e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a30000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b77000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722134e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a30000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e726f64656f2e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c69c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b10000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b770000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b7769c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b10000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba6000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000012686967686c696768742e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba6000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a20000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a22cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba60000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f9000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ae830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebe830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00e830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d00000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213e830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000146368726f6e6f666f7267652e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f900000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cce3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f90000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea71000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70aa4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eba4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00a4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b00000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213a4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f61726b68616d2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea7100000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea710000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c1a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b008af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe00000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722138af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000137761676d6967616d65732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c1a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf00000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff30000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff31a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab0607000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ada56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebda56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00da56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df0000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213da56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e62656566792e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab06070000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab06070000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba31000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf0000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001072617269626c652e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba310000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba310000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f029000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b009adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722139adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000013626c6f636b73636f75742e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f029000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b70000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b7f81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f0290000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b1000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b006dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f00000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd832000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001373796e667574757265732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b100000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd8320000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd832e52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b10000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0038a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d00000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221338a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001173756271756572792e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd00000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ca644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e6200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0096e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221396e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e620000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f726f756e64732e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ca644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dd0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dda644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd8203442000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebd5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00d5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f00000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000011666172776f726c642e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd820344200000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba280000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba288ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd82034420000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0088c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221388c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec10000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e72616262792e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454792bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd98300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0076fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221376fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd9830000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f646562616e6b2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454793a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f9700000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b000a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722130a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f970000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e6d617669612e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059afa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ccc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70affc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d79800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00ffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d7980000000000000000000000003775af82c6c5705140944cd515fe899214fb028800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213ffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000106176616e7469732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ccc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a0000000000000000000000003775af82c6c5705140944cd515fe899214fb02880000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000003775af82c6c5705140944cd515fe899214fb0288cc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c5000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c5855000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c585500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b006f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c585500000000000000000000000041626ba92c0c2a1ad38fc83920300434082b1870000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c58550000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6c32626561742e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c500000000000000000000000041626ba92c0c2a1ad38fc83920300434082b18700000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000041626ba92c0c2a1ad38fc83920300434082b187028544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c50000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f83600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0054217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221354217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f8360000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001064796e616d69632e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cbd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c1000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b003572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad0000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7ce000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722133572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6e616e73656e2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cbd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c10000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7ce0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7cebd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c10000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b338168000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0077f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f0000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221377f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f7369676e616c2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b3381680000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b3381680000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba1584000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b923500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0040beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221340beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b923500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014636f6f707265636f7264732e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba1584000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba15840000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cdbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de42000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e3000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0050aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e30000000000000000000000005418707f24784906915bce1304c7f290c7110f470000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221350aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e30000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e69736b72612e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cdbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de420000000000000000000000005418707f24784906915bce1304c7f290c7110f470000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000005418707f24784906915bce1304c7f290c7110f47dbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de420000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc6762000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc676200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0029d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc676200000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a38500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221329d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc676200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010657468657266692e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea00000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a38500000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a38509ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac53848000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0054f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af00000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221354f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6574686c61732e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac5384800000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac5384800000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xf46e3c5ba38ec64b7f1be4a9237203356070d0f73392985f80ed7c361a87a51e69a58f15cbf05d93d7acbdb49a3dec24f74a10678bcc0eda013833d97e3379ff1b0179f49d60673c04ca5f44ac8ad2fc789d5918bceaff0f2d4e74a315e29213c93621dbfb064bb77124b87836ad33f38d6fd5276b8eca7425a2a0fc5f0d417d3a1b4f0e60537b2408f80fc8a5f9652bb0d65ae962f56275802383a40a9af80b7f3a04d6177fd66bf3afe3bd5b0fa993901fe9748001de2c4d857b92ecc74a0a8f101b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x89ebc5eb7163470e23fcc24833eea6bb93a7b045\",\n        \"to\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n        \"gas\": \"0x9c5160\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010900000000000000000000000000000000000000000000000000000000000001078482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c3000000000000000000000000000000000000000000000000000000000000186000000000000000000000000000000000000000000000000000000000000019400000000000000000000000000000000000000000000000000000000000001a200000000000000000000000000000000000000000000000000000000000001ca00000000000000000000000000000000000000000000000000000000000001d800000000000000000000000000000000000000000000000000000000000001e800000000000000000000000000000000000000000000000000000000000001f60000000000000000000000000000000000000000000000000000000000000204000000000000000000000000000000000000000000000000000000000000022c000000000000000000000000000000000000000000000000000000000000023a000000000000000000000000000000000000000000000000000000000000024a00000000000000000000000000000000000000000000000000000000000002580000000000000000000000000000000000000000000000000000000000000266000000000000000000000000000000000000000000000000000000000000028e000000000000000000000000000000000000000000000000000000000000029c00000000000000000000000000000000000000000000000000000000000002ac00000000000000000000000000000000000000000000000000000000000002ba00000000000000000000000000000000000000000000000000000000000002c800000000000000000000000000000000000000000000000000000000000002f000000000000000000000000000000000000000000000000000000000000002fe000000000000000000000000000000000000000000000000000000000000030e000000000000000000000000000000000000000000000000000000000000031c000000000000000000000000000000000000000000000000000000000000032a000000000000000000000000000000000000000000000000000000000000035200000000000000000000000000000000000000000000000000000000000003600000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000037e000000000000000000000000000000000000000000000000000000000000038c00000000000000000000000000000000000000000000000000000000000003b400000000000000000000000000000000000000000000000000000000000003c200000000000000000000000000000000000000000000000000000000000003d200000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000003ee0000000000000000000000000000000000000000000000000000000000000416000000000000000000000000000000000000000000000000000000000000042400000000000000000000000000000000000000000000000000000000000004340000000000000000000000000000000000000000000000000000000000000442000000000000000000000000000000000000000000000000000000000000045000000000000000000000000000000000000000000000000000000000000004780000000000000000000000000000000000000000000000000000000000000486000000000000000000000000000000000000000000000000000000000000049600000000000000000000000000000000000000000000000000000000000004a400000000000000000000000000000000000000000000000000000000000004b200000000000000000000000000000000000000000000000000000000000004da00000000000000000000000000000000000000000000000000000000000004e800000000000000000000000000000000000000000000000000000000000004f800000000000000000000000000000000000000000000000000000000000005060000000000000000000000000000000000000000000000000000000000000514000000000000000000000000000000000000000000000000000000000000053c000000000000000000000000000000000000000000000000000000000000054a000000000000000000000000000000000000000000000000000000000000055a00000000000000000000000000000000000000000000000000000000000005680000000000000000000000000000000000000000000000000000000000000576000000000000000000000000000000000000000000000000000000000000059e00000000000000000000000000000000000000000000000000000000000005ac00000000000000000000000000000000000000000000000000000000000005bc00000000000000000000000000000000000000000000000000000000000005ca00000000000000000000000000000000000000000000000000000000000005d80000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000060e000000000000000000000000000000000000000000000000000000000000061e000000000000000000000000000000000000000000000000000000000000062c000000000000000000000000000000000000000000000000000000000000063a000000000000000000000000000000000000000000000000000000000000066200000000000000000000000000000000000000000000000000000000000006700000000000000000000000000000000000000000000000000000000000000680000000000000000000000000000000000000000000000000000000000000068e000000000000000000000000000000000000000000000000000000000000069c00000000000000000000000000000000000000000000000000000000000006c400000000000000000000000000000000000000000000000000000000000006d200000000000000000000000000000000000000000000000000000000000006e200000000000000000000000000000000000000000000000000000000000006f000000000000000000000000000000000000000000000000000000000000006fe000000000000000000000000000000000000000000000000000000000000072600000000000000000000000000000000000000000000000000000000000007340000000000000000000000000000000000000000000000000000000000000744000000000000000000000000000000000000000000000000000000000000075200000000000000000000000000000000000000000000000000000000000007600000000000000000000000000000000000000000000000000000000000000788000000000000000000000000000000000000000000000000000000000000079600000000000000000000000000000000000000000000000000000000000007a600000000000000000000000000000000000000000000000000000000000007b400000000000000000000000000000000000000000000000000000000000007c200000000000000000000000000000000000000000000000000000000000007ea00000000000000000000000000000000000000000000000000000000000007f8000000000000000000000000000000000000000000000000000000000000080800000000000000000000000000000000000000000000000000000000000008160000000000000000000000000000000000000000000000000000000000000824000000000000000000000000000000000000000000000000000000000000084c000000000000000000000000000000000000000000000000000000000000085a000000000000000000000000000000000000000000000000000000000000086a0000000000000000000000000000000000000000000000000000000000000878000000000000000000000000000000000000000000000000000000000000088600000000000000000000000000000000000000000000000000000000000008ae00000000000000000000000000000000000000000000000000000000000008bc00000000000000000000000000000000000000000000000000000000000008cc00000000000000000000000000000000000000000000000000000000000008da00000000000000000000000000000000000000000000000000000000000008e80000000000000000000000000000000000000000000000000000000000000910000000000000000000000000000000000000000000000000000000000000091e000000000000000000000000000000000000000000000000000000000000092e000000000000000000000000000000000000000000000000000000000000093c000000000000000000000000000000000000000000000000000000000000094a000000000000000000000000000000000000000000000000000000000000097200000000000000000000000000000000000000000000000000000000000009800000000000000000000000000000000000000000000000000000000000000990000000000000000000000000000000000000000000000000000000000000099e00000000000000000000000000000000000000000000000000000000000009ac00000000000000000000000000000000000000000000000000000000000009d400000000000000000000000000000000000000000000000000000000000009e200000000000000000000000000000000000000000000000000000000000009f20000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a0e0000000000000000000000000000000000000000000000000000000000000a360000000000000000000000000000000000000000000000000000000000000a440000000000000000000000000000000000000000000000000000000000000a540000000000000000000000000000000000000000000000000000000000000a620000000000000000000000000000000000000000000000000000000000000a700000000000000000000000000000000000000000000000000000000000000a980000000000000000000000000000000000000000000000000000000000000aa60000000000000000000000000000000000000000000000000000000000000ab60000000000000000000000000000000000000000000000000000000000000ac40000000000000000000000000000000000000000000000000000000000000ad20000000000000000000000000000000000000000000000000000000000000afa0000000000000000000000000000000000000000000000000000000000000b080000000000000000000000000000000000000000000000000000000000000b180000000000000000000000000000000000000000000000000000000000000b260000000000000000000000000000000000000000000000000000000000000b340000000000000000000000000000000000000000000000000000000000000b5c0000000000000000000000000000000000000000000000000000000000000b6a0000000000000000000000000000000000000000000000000000000000000b7a0000000000000000000000000000000000000000000000000000000000000b880000000000000000000000000000000000000000000000000000000000000b960000000000000000000000000000000000000000000000000000000000000bbe0000000000000000000000000000000000000000000000000000000000000bcc0000000000000000000000000000000000000000000000000000000000000bdc0000000000000000000000000000000000000000000000000000000000000bea0000000000000000000000000000000000000000000000000000000000000bf80000000000000000000000000000000000000000000000000000000000000c200000000000000000000000000000000000000000000000000000000000000c2e0000000000000000000000000000000000000000000000000000000000000c3e0000000000000000000000000000000000000000000000000000000000000c4c0000000000000000000000000000000000000000000000000000000000000c5a0000000000000000000000000000000000000000000000000000000000000c820000000000000000000000000000000000000000000000000000000000000c900000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000cae0000000000000000000000000000000000000000000000000000000000000cbc0000000000000000000000000000000000000000000000000000000000000ce40000000000000000000000000000000000000000000000000000000000000cf20000000000000000000000000000000000000000000000000000000000000d020000000000000000000000000000000000000000000000000000000000000d100000000000000000000000000000000000000000000000000000000000000d1e0000000000000000000000000000000000000000000000000000000000000d460000000000000000000000000000000000000000000000000000000000000d540000000000000000000000000000000000000000000000000000000000000d640000000000000000000000000000000000000000000000000000000000000d720000000000000000000000000000000000000000000000000000000000000d800000000000000000000000000000000000000000000000000000000000000da80000000000000000000000000000000000000000000000000000000000000db60000000000000000000000000000000000000000000000000000000000000dc60000000000000000000000000000000000000000000000000000000000000dd40000000000000000000000000000000000000000000000000000000000000de20000000000000000000000000000000000000000000000000000000000000e0a0000000000000000000000000000000000000000000000000000000000000e180000000000000000000000000000000000000000000000000000000000000e280000000000000000000000000000000000000000000000000000000000000e360000000000000000000000000000000000000000000000000000000000000e440000000000000000000000000000000000000000000000000000000000000e6c0000000000000000000000000000000000000000000000000000000000000e7a0000000000000000000000000000000000000000000000000000000000000e8a0000000000000000000000000000000000000000000000000000000000000e980000000000000000000000000000000000000000000000000000000000000ea60000000000000000000000000000000000000000000000000000000000000ece0000000000000000000000000000000000000000000000000000000000000edc0000000000000000000000000000000000000000000000000000000000000eec0000000000000000000000000000000000000000000000000000000000000efa0000000000000000000000000000000000000000000000000000000000000f080000000000000000000000000000000000000000000000000000000000000f300000000000000000000000000000000000000000000000000000000000000f3e0000000000000000000000000000000000000000000000000000000000000f4e0000000000000000000000000000000000000000000000000000000000000f5c0000000000000000000000000000000000000000000000000000000000000f6a0000000000000000000000000000000000000000000000000000000000000f920000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000fb00000000000000000000000000000000000000000000000000000000000000fbe0000000000000000000000000000000000000000000000000000000000000fcc0000000000000000000000000000000000000000000000000000000000000ff4000000000000000000000000000000000000000000000000000000000000100200000000000000000000000000000000000000000000000000000000000010120000000000000000000000000000000000000000000000000000000000001020000000000000000000000000000000000000000000000000000000000000102e00000000000000000000000000000000000000000000000000000000000010560000000000000000000000000000000000000000000000000000000000001064000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c61d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb2000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e627269616e2e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c61d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb20000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f061d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb20000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b000de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722130de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000017627269616e61726d7374726f6e672e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f00515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ada74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebda74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00da74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213da74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000126772656774757361722e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba0000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ae95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d243000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebe95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d24300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00e95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d2430000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213e95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d24300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000015677265676f727974757361722e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba00000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e92300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b006ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e92300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000013616c65736961686161732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a946979760000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a946979769621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe6000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af5943800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b008dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722138dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af5943800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014616c657369616a686161732e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe6000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a946979760000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a9469797628c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe60000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b4400000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b008e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b440000000000000000000000002211d1d0020daea8039e46cf1367962070d77da9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722138e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000106a706f6c6c616b2e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c0000000000000000000000002211d1d0020daea8039e46cf1367962070d77da90000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000002211d1d0020daea8039e46cf1367962070d77da9121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70abe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebbe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00be297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd77900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213be297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000156d61786272616e7a627572672e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd7790000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd779f80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f4087000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b003c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb00000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a9720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722133c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000137061756c67726577616c2e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f40870000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a97200000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a9720541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f40870000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70aacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00acb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa0000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213acb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000127061746368776f726b2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b0000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c7178863000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da33100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0068af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221368af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da3310000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000d706f64732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c7178863000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c71788630000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c01dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f0000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f68000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebd07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f6800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00d07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f6800000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e43700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f680000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6c6c616d616f2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c01dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f000000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e43701dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b002edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722132edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000012646566696c6c616d612e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437fe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cc048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e43700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e6c6c616d612e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cc048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437c048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c6f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b007cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722137cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000136c6c616d616e6f6465732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c6f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4376f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c69c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b1000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a3000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b004e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a30000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b77000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722134e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a30000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e726f64656f2e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c69c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b10000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b770000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b7769c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b10000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba6000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000012686967686c696768742e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba6000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a20000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a22cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba60000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f9000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ae830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebe830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00e830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d00000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213e830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000146368726f6e6f666f7267652e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f900000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cce3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f90000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea71000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70aa4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eba4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00a4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b00000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213a4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f61726b68616d2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea7100000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea710000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c1a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b008af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe00000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722138af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000137761676d6967616d65732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c1a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf00000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff30000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff31a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab0607000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ada56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebda56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00da56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df0000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213da56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e62656566792e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab06070000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab06070000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba31000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf0000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001072617269626c652e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba310000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba310000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f029000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b009adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722139adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000013626c6f636b73636f75742e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f029000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b70000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b7f81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f0290000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b1000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b006dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f00000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd832000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001373796e667574757265732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b100000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd8320000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd832e52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b10000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0038a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d00000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221338a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001173756271756572792e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd00000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ca644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e6200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0096e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221396e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e620000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f726f756e64732e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ca644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dd0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dda644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd8203442000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebd5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00d5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f00000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000011666172776f726c642e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd820344200000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba280000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba288ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd82034420000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0088c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221388c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec10000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e72616262792e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454792bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd98300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0076fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221376fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd9830000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f646562616e6b2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454793a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f9700000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b000a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722130a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f970000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e6d617669612e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059afa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ccc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70affc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d79800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00ffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d7980000000000000000000000003775af82c6c5705140944cd515fe899214fb028800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213ffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000106176616e7469732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ccc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a0000000000000000000000003775af82c6c5705140944cd515fe899214fb02880000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000003775af82c6c5705140944cd515fe899214fb0288cc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c5000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c5855000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c585500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b006f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c585500000000000000000000000041626ba92c0c2a1ad38fc83920300434082b1870000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c58550000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6c32626561742e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c500000000000000000000000041626ba92c0c2a1ad38fc83920300434082b18700000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000041626ba92c0c2a1ad38fc83920300434082b187028544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c50000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f83600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0054217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221354217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f8360000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001064796e616d69632e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cbd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c1000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b003572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad0000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7ce000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722133572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6e616e73656e2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cbd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c10000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7ce0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7cebd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c10000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b338168000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0077f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f0000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221377f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f7369676e616c2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b3381680000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b3381680000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba1584000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b923500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0040beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221340beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b923500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014636f6f707265636f7264732e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba1584000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba15840000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cdbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de42000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e3000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0050aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e30000000000000000000000005418707f24784906915bce1304c7f290c7110f470000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221350aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e30000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e69736b72612e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cdbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de420000000000000000000000005418707f24784906915bce1304c7f290c7110f470000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000005418707f24784906915bce1304c7f290c7110f47dbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de420000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc6762000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc676200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0029d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc676200000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a38500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221329d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc676200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010657468657266692e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea00000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a38500000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a38509ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac53848000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0054f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af00000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221354f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6574686c61732e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac5384800000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac53848000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3f46e3c5ba38ec64b7f1be4a9237203356070d0f73392985f80ed7c361a87a51e69a58f15cbf05d93d7acbdb49a3dec24f74a10678bcc0eda013833d97e3379ff1b0179f49d60673c04ca5f44ac8ad2fc789d5918bceaff0f2d4e74a315e29213c93621dbfb064bb77124b87836ad33f38d6fd5276b8eca7425a2a0fc5f0d417d3a1b4f0e60537b2408f80fc8a5f9652bb0d65ae962f56275802383a40a9af80b7f3a04d6177fd66bf3afe3bd5b0fa993901fe9748001de2c4d857b92ecc74a0a8f101b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x3\",\n        \"chainId\": \"0x2105\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x13bf5ac\",\n      \"logs\": [\n        {\n          \"address\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000109200000000000000000000000000000000000000000000000000000000000010a20000000000000000000000000000000000000000000000000000000000001078482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c3000000000000000000000000000000000000000000000000000000000000186000000000000000000000000000000000000000000000000000000000000019400000000000000000000000000000000000000000000000000000000000001a200000000000000000000000000000000000000000000000000000000000001ca00000000000000000000000000000000000000000000000000000000000001d800000000000000000000000000000000000000000000000000000000000001e800000000000000000000000000000000000000000000000000000000000001f60000000000000000000000000000000000000000000000000000000000000204000000000000000000000000000000000000000000000000000000000000022c000000000000000000000000000000000000000000000000000000000000023a000000000000000000000000000000000000000000000000000000000000024a00000000000000000000000000000000000000000000000000000000000002580000000000000000000000000000000000000000000000000000000000000266000000000000000000000000000000000000000000000000000000000000028e000000000000000000000000000000000000000000000000000000000000029c00000000000000000000000000000000000000000000000000000000000002ac00000000000000000000000000000000000000000000000000000000000002ba00000000000000000000000000000000000000000000000000000000000002c800000000000000000000000000000000000000000000000000000000000002f000000000000000000000000000000000000000000000000000000000000002fe000000000000000000000000000000000000000000000000000000000000030e000000000000000000000000000000000000000000000000000000000000031c000000000000000000000000000000000000000000000000000000000000032a000000000000000000000000000000000000000000000000000000000000035200000000000000000000000000000000000000000000000000000000000003600000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000037e000000000000000000000000000000000000000000000000000000000000038c00000000000000000000000000000000000000000000000000000000000003b400000000000000000000000000000000000000000000000000000000000003c200000000000000000000000000000000000000000000000000000000000003d200000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000003ee0000000000000000000000000000000000000000000000000000000000000416000000000000000000000000000000000000000000000000000000000000042400000000000000000000000000000000000000000000000000000000000004340000000000000000000000000000000000000000000000000000000000000442000000000000000000000000000000000000000000000000000000000000045000000000000000000000000000000000000000000000000000000000000004780000000000000000000000000000000000000000000000000000000000000486000000000000000000000000000000000000000000000000000000000000049600000000000000000000000000000000000000000000000000000000000004a400000000000000000000000000000000000000000000000000000000000004b200000000000000000000000000000000000000000000000000000000000004da00000000000000000000000000000000000000000000000000000000000004e800000000000000000000000000000000000000000000000000000000000004f800000000000000000000000000000000000000000000000000000000000005060000000000000000000000000000000000000000000000000000000000000514000000000000000000000000000000000000000000000000000000000000053c000000000000000000000000000000000000000000000000000000000000054a000000000000000000000000000000000000000000000000000000000000055a00000000000000000000000000000000000000000000000000000000000005680000000000000000000000000000000000000000000000000000000000000576000000000000000000000000000000000000000000000000000000000000059e00000000000000000000000000000000000000000000000000000000000005ac00000000000000000000000000000000000000000000000000000000000005bc00000000000000000000000000000000000000000000000000000000000005ca00000000000000000000000000000000000000000000000000000000000005d80000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000060e000000000000000000000000000000000000000000000000000000000000061e000000000000000000000000000000000000000000000000000000000000062c000000000000000000000000000000000000000000000000000000000000063a000000000000000000000000000000000000000000000000000000000000066200000000000000000000000000000000000000000000000000000000000006700000000000000000000000000000000000000000000000000000000000000680000000000000000000000000000000000000000000000000000000000000068e000000000000000000000000000000000000000000000000000000000000069c00000000000000000000000000000000000000000000000000000000000006c400000000000000000000000000000000000000000000000000000000000006d200000000000000000000000000000000000000000000000000000000000006e200000000000000000000000000000000000000000000000000000000000006f000000000000000000000000000000000000000000000000000000000000006fe000000000000000000000000000000000000000000000000000000000000072600000000000000000000000000000000000000000000000000000000000007340000000000000000000000000000000000000000000000000000000000000744000000000000000000000000000000000000000000000000000000000000075200000000000000000000000000000000000000000000000000000000000007600000000000000000000000000000000000000000000000000000000000000788000000000000000000000000000000000000000000000000000000000000079600000000000000000000000000000000000000000000000000000000000007a600000000000000000000000000000000000000000000000000000000000007b400000000000000000000000000000000000000000000000000000000000007c200000000000000000000000000000000000000000000000000000000000007ea00000000000000000000000000000000000000000000000000000000000007f8000000000000000000000000000000000000000000000000000000000000080800000000000000000000000000000000000000000000000000000000000008160000000000000000000000000000000000000000000000000000000000000824000000000000000000000000000000000000000000000000000000000000084c000000000000000000000000000000000000000000000000000000000000085a000000000000000000000000000000000000000000000000000000000000086a0000000000000000000000000000000000000000000000000000000000000878000000000000000000000000000000000000000000000000000000000000088600000000000000000000000000000000000000000000000000000000000008ae00000000000000000000000000000000000000000000000000000000000008bc00000000000000000000000000000000000000000000000000000000000008cc00000000000000000000000000000000000000000000000000000000000008da00000000000000000000000000000000000000000000000000000000000008e80000000000000000000000000000000000000000000000000000000000000910000000000000000000000000000000000000000000000000000000000000091e000000000000000000000000000000000000000000000000000000000000092e000000000000000000000000000000000000000000000000000000000000093c000000000000000000000000000000000000000000000000000000000000094a000000000000000000000000000000000000000000000000000000000000097200000000000000000000000000000000000000000000000000000000000009800000000000000000000000000000000000000000000000000000000000000990000000000000000000000000000000000000000000000000000000000000099e00000000000000000000000000000000000000000000000000000000000009ac00000000000000000000000000000000000000000000000000000000000009d400000000000000000000000000000000000000000000000000000000000009e200000000000000000000000000000000000000000000000000000000000009f20000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a0e0000000000000000000000000000000000000000000000000000000000000a360000000000000000000000000000000000000000000000000000000000000a440000000000000000000000000000000000000000000000000000000000000a540000000000000000000000000000000000000000000000000000000000000a620000000000000000000000000000000000000000000000000000000000000a700000000000000000000000000000000000000000000000000000000000000a980000000000000000000000000000000000000000000000000000000000000aa60000000000000000000000000000000000000000000000000000000000000ab60000000000000000000000000000000000000000000000000000000000000ac40000000000000000000000000000000000000000000000000000000000000ad20000000000000000000000000000000000000000000000000000000000000afa0000000000000000000000000000000000000000000000000000000000000b080000000000000000000000000000000000000000000000000000000000000b180000000000000000000000000000000000000000000000000000000000000b260000000000000000000000000000000000000000000000000000000000000b340000000000000000000000000000000000000000000000000000000000000b5c0000000000000000000000000000000000000000000000000000000000000b6a0000000000000000000000000000000000000000000000000000000000000b7a0000000000000000000000000000000000000000000000000000000000000b880000000000000000000000000000000000000000000000000000000000000b960000000000000000000000000000000000000000000000000000000000000bbe0000000000000000000000000000000000000000000000000000000000000bcc0000000000000000000000000000000000000000000000000000000000000bdc0000000000000000000000000000000000000000000000000000000000000bea0000000000000000000000000000000000000000000000000000000000000bf80000000000000000000000000000000000000000000000000000000000000c200000000000000000000000000000000000000000000000000000000000000c2e0000000000000000000000000000000000000000000000000000000000000c3e0000000000000000000000000000000000000000000000000000000000000c4c0000000000000000000000000000000000000000000000000000000000000c5a0000000000000000000000000000000000000000000000000000000000000c820000000000000000000000000000000000000000000000000000000000000c900000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000cae0000000000000000000000000000000000000000000000000000000000000cbc0000000000000000000000000000000000000000000000000000000000000ce40000000000000000000000000000000000000000000000000000000000000cf20000000000000000000000000000000000000000000000000000000000000d020000000000000000000000000000000000000000000000000000000000000d100000000000000000000000000000000000000000000000000000000000000d1e0000000000000000000000000000000000000000000000000000000000000d460000000000000000000000000000000000000000000000000000000000000d540000000000000000000000000000000000000000000000000000000000000d640000000000000000000000000000000000000000000000000000000000000d720000000000000000000000000000000000000000000000000000000000000d800000000000000000000000000000000000000000000000000000000000000da80000000000000000000000000000000000000000000000000000000000000db60000000000000000000000000000000000000000000000000000000000000dc60000000000000000000000000000000000000000000000000000000000000dd40000000000000000000000000000000000000000000000000000000000000de20000000000000000000000000000000000000000000000000000000000000e0a0000000000000000000000000000000000000000000000000000000000000e180000000000000000000000000000000000000000000000000000000000000e280000000000000000000000000000000000000000000000000000000000000e360000000000000000000000000000000000000000000000000000000000000e440000000000000000000000000000000000000000000000000000000000000e6c0000000000000000000000000000000000000000000000000000000000000e7a0000000000000000000000000000000000000000000000000000000000000e8a0000000000000000000000000000000000000000000000000000000000000e980000000000000000000000000000000000000000000000000000000000000ea60000000000000000000000000000000000000000000000000000000000000ece0000000000000000000000000000000000000000000000000000000000000edc0000000000000000000000000000000000000000000000000000000000000eec0000000000000000000000000000000000000000000000000000000000000efa0000000000000000000000000000000000000000000000000000000000000f080000000000000000000000000000000000000000000000000000000000000f300000000000000000000000000000000000000000000000000000000000000f3e0000000000000000000000000000000000000000000000000000000000000f4e0000000000000000000000000000000000000000000000000000000000000f5c0000000000000000000000000000000000000000000000000000000000000f6a0000000000000000000000000000000000000000000000000000000000000f920000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000fb00000000000000000000000000000000000000000000000000000000000000fbe0000000000000000000000000000000000000000000000000000000000000fcc0000000000000000000000000000000000000000000000000000000000000ff4000000000000000000000000000000000000000000000000000000000000100200000000000000000000000000000000000000000000000000000000000010120000000000000000000000000000000000000000000000000000000000001020000000000000000000000000000000000000000000000000000000000000102e00000000000000000000000000000000000000000000000000000000000010560000000000000000000000000000000000000000000000000000000000001064000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c61d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb2000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e627269616e2e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c61d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb20000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f061d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb20000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b000de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722130de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000017627269616e61726d7374726f6e672e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f00515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ada74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebda74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00da74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213da74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000126772656774757361722e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba0000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ae95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d243000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebe95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d24300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00e95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d2430000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213e95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d24300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000015677265676f727974757361722e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba00000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e92300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b006ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e92300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000013616c65736961686161732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a946979760000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a946979769621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe6000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af5943800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b008dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722138dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af5943800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014616c657369616a686161732e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe6000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a946979760000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a9469797628c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe60000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b4400000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b008e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b440000000000000000000000002211d1d0020daea8039e46cf1367962070d77da9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722138e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000106a706f6c6c616b2e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c0000000000000000000000002211d1d0020daea8039e46cf1367962070d77da90000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000002211d1d0020daea8039e46cf1367962070d77da9121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70abe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebbe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00be297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd77900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213be297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000156d61786272616e7a627572672e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd7790000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd779f80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f4087000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b003c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb00000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a9720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722133c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000137061756c67726577616c2e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f40870000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a97200000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a9720541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f40870000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70aacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00acb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa0000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213acb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000127061746368776f726b2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b0000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c7178863000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da33100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0068af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221368af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da3310000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000d706f64732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c7178863000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c71788630000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c01dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f0000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f68000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebd07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f6800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00d07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f6800000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e43700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f680000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6c6c616d616f2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c01dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f000000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e43701dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b002edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722132edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000012646566696c6c616d612e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437fe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cc048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e43700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e6c6c616d612e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cc048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437c048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c6f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b007cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722137cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000136c6c616d616e6f6465732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c6f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4376f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c69c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b1000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a3000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b004e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a30000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b77000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722134e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a30000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e726f64656f2e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c69c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b10000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b770000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b7769c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b10000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba6000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000012686967686c696768742e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba6000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a20000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a22cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba60000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f9000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ae830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebe830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00e830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d00000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213e830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000146368726f6e6f666f7267652e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f900000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cce3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f90000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea71000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70aa4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eba4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00a4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b00000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213a4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f61726b68616d2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea7100000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea710000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c1a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b008af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe00000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722138af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000137761676d6967616d65732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c1a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf00000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff30000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff31a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab0607000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ada56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebda56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00da56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df0000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213da56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e62656566792e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab06070000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab06070000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba31000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf0000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001072617269626c652e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba310000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba310000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f029000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b009adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722139adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000013626c6f636b73636f75742e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f029000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b70000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b7f81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f0290000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b1000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b006dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f00000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd832000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001373796e667574757265732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b100000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd8320000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd832e52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b10000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0038a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d00000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221338a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001173756271756572792e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd00000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ca644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e6200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0096e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221396e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e620000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f726f756e64732e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ca644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dd0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dda644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd8203442000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebd5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00d5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f00000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000011666172776f726c642e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd820344200000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba280000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba288ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd82034420000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0088c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221388c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec10000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e72616262792e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454792bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd98300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0076fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221376fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd9830000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f646562616e6b2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454793a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f9700000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b000a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722130a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f970000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e6d617669612e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059afa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ccc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70affc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d79800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00ffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d7980000000000000000000000003775af82c6c5705140944cd515fe899214fb028800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213ffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000106176616e7469732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ccc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a0000000000000000000000003775af82c6c5705140944cd515fe899214fb02880000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000003775af82c6c5705140944cd515fe899214fb0288cc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c5000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c5855000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c585500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b006f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c585500000000000000000000000041626ba92c0c2a1ad38fc83920300434082b1870000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c58550000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6c32626561742e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c500000000000000000000000041626ba92c0c2a1ad38fc83920300434082b18700000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000041626ba92c0c2a1ad38fc83920300434082b187028544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c50000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f83600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0054217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221354217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f8360000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001064796e616d69632e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cbd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c1000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b003572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad0000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7ce000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722133572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6e616e73656e2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cbd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c10000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7ce0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7cebd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c10000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b338168000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0077f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f0000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221377f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f7369676e616c2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b3381680000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b3381680000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba1584000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b923500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0040beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221340beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b923500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014636f6f707265636f7264732e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba1584000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba15840000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cdbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de42000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e3000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0050aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e30000000000000000000000005418707f24784906915bce1304c7f290c7110f470000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221350aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e30000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e69736b72612e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cdbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de420000000000000000000000005418707f24784906915bce1304c7f290c7110f470000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000005418707f24784906915bce1304c7f290c7110f47dbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de420000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc6762000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc676200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0029d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc676200000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a38500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221329d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc676200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010657468657266692e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea00000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a38500000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a38509ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac53848000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0054f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af00000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221354f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6574686c61732e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac5384800000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac53848000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3f46e3c5ba38ec64b7f1be4a9237203356070d0f73392985f80ed7c361a87a51e69a58f15cbf05d93d7acbdb49a3dec24f74a10678bcc0eda013833d97e3379ff1b0179f49d60673c04ca5f44ac8ad2fc789d5918bceaff0f2d4e74a315e29213c93621dbfb064bb77124b87836ad33f38d6fd5276b8eca7425a2a0fc5f0d417d3a1b4f0e60537b2408f80fc8a5f9652bb0d65ae962f56275802383a40a9af80b7f3a04d6177fd66bf3afe3bd5b0fa993901fe9748001de2c4d857b92ecc74a0a8f101b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000300000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b0450000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x110\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x61d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb2\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x111\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x112\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000145b76f5b8fc9d700624f78208132f91ad4e61a1f0000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x113\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af\"\n          ],\n          \"data\": \"0x0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f0\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x114\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000e627269616e2e626173652e657468000000000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x115\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x61d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb2\"\n          ],\n          \"data\": \"0x0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f0\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x116\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f0\",\n            \"0x61d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb2\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x117\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x0515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x118\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x119\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000145b76f5b8fc9d700624f78208132f91ad4e61a1f0000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x11a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee\"\n          ],\n          \"data\": \"0x0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f0\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x11b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000017627269616e61726d7374726f6e672e626173652e657468000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x11c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x0515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee\"\n          ],\n          \"data\": \"0x0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f0\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x11d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f0\",\n            \"0x0515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x11e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x11f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0xda74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x120\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0xda74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000149a0877ea7b2a0acd59e68d5594c09f09bb95d94d000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x121\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0xda74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb\"\n          ],\n          \"data\": \"0x0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x122\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0xda74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000126772656774757361722e626173652e6574680000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x123\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba\"\n          ],\n          \"data\": \"0x0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x124\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d\",\n            \"0x715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x125\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba0\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x126\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0xe95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d243\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x127\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0xe95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d243\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000149a0877ea7b2a0acd59e68d5594c09f09bb95d94d000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x128\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0xe95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d243\"\n          ],\n          \"data\": \"0x0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x129\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0xe95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d243\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000015677265676f727974757361722e626173652e6574680000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x12a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba0\"\n          ],\n          \"data\": \"0x0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x12b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d\",\n            \"0x2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba0\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x12c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x9621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x12d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x12e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014beb981f82ea4a2bebd0cc366fa4fc11a94697976000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x12f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923\"\n          ],\n          \"data\": \"0x000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x130\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000013616c65736961686161732e626173652e65746800000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x131\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x9621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e\"\n          ],\n          \"data\": \"0x000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x132\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976\",\n            \"0x9621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x133\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x28c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe6\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x134\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x135\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014beb981f82ea4a2bebd0cc366fa4fc11a94697976000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x136\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438\"\n          ],\n          \"data\": \"0x000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x137\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000014616c657369616a686161732e626173652e657468000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x138\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x28c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe6\"\n          ],\n          \"data\": \"0x000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x139\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976\",\n            \"0x28c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe6\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x13a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x13b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x13c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000142211d1d0020daea8039e46cf1367962070d77da9000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x13d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44\"\n          ],\n          \"data\": \"0x0000000000000000000000002211d1d0020daea8039e46cf1367962070d77da9\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x13e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000106a706f6c6c616b2e626173652e65746800000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x13f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c\"\n          ],\n          \"data\": \"0x0000000000000000000000002211d1d0020daea8039e46cf1367962070d77da9\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x140\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x0000000000000000000000002211d1d0020daea8039e46cf1367962070d77da9\",\n            \"0x121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x141\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xf80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x142\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0xbe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x143\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0xbe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014416e0c10a3760a35f1891455f30e415e96fbd779000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x144\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0xbe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da\"\n          ],\n          \"data\": \"0x000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd779\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x145\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0xbe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000156d61786272616e7a627572672e626173652e6574680000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x146\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xf80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e\"\n          ],\n          \"data\": \"0x000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd779\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x147\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd779\",\n            \"0xf80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x148\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f4087\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x149\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x14a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000149a34a73650396e603edb3b12d56a9ebf270a9720000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x14b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0\"\n          ],\n          \"data\": \"0x0000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a9720\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x14c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000137061756c67726577616c2e626173652e65746800000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x14d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f4087\"\n          ],\n          \"data\": \"0x0000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a9720\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x14e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x0000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a9720\",\n            \"0x541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f4087\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x14f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x150\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0xacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x151\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0xacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000140434a5d1d94ca3aa838b8c1f77f2da0b70ac357c000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x152\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0xacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa\"\n          ],\n          \"data\": \"0x0000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x153\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0xacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000127061746368776f726b2e626173652e6574680000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x154\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b\"\n          ],\n          \"data\": \"0x0000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x155\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x0000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c\",\n            \"0x08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x156\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c7178863\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x157\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x158\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014050549f8c196bf1bcc293172746c847fd4d77d9d000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x159\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331\"\n          ],\n          \"data\": \"0x000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x15a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000d706f64732e626173652e65746800000000000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x15b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c7178863\"\n          ],\n          \"data\": \"0x000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x15c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d\",\n            \"0x64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c7178863\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x15d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x01dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f0\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x15e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0xd07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f68\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x15f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0xd07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f68\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001408a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x160\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0xd07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f68\"\n          ],\n          \"data\": \"0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x161\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0xd07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f68\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f6c6c616d616f2e626173652e6574680000000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x162\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x01dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f0\"\n          ],\n          \"data\": \"0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x163\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437\",\n            \"0x01dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f0\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x164\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xfe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x165\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x166\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001408a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x167\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e\"\n          ],\n          \"data\": \"0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x168\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000012646566696c6c616d612e626173652e6574680000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x169\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xfe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b\"\n          ],\n          \"data\": \"0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x16a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437\",\n            \"0xfe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x16b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xc048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x16c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x16d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001408a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x16e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d\"\n          ],\n          \"data\": \"0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x16f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000e6c6c616d612e626173652e657468000000000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x170\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xc048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d\"\n          ],\n          \"data\": \"0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x171\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437\",\n            \"0xc048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x172\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x6f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x173\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x174\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001408a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x175\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b\"\n          ],\n          \"data\": \"0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x176\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000136c6c616d616e6f6465732e626173652e65746800000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x177\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x6f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c\"\n          ],\n          \"data\": \"0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x178\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437\",\n            \"0x6f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x179\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x69c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b1\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x17a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a3\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x17b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a3\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000140c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b77000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x17c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a3\"\n          ],\n          \"data\": \"0x0000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b77\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x17d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a3\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000e726f64656f2e626173652e657468000000000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x17e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x69c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b1\"\n          ],\n          \"data\": \"0x0000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b77\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x17f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x0000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b77\",\n            \"0x69c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b1\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x180\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x2cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba6\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x181\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x182\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014168feb2e7de2ac0c37a239261d3f9e1b396f22a2000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x183\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5\"\n          ],\n          \"data\": \"0x000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a2\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x184\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000012686967686c696768742e626173652e6574680000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x185\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x2cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba6\"\n          ],\n          \"data\": \"0x000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a2\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x186\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a2\",\n            \"0x2cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba6\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x187\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xe3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f9\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x188\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0xe830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x189\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0xe830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001417a45f80efd20594afe2c59d7e1ae7ab0c6954cc000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x18a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0xe830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d\"\n          ],\n          \"data\": \"0x00000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x18b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0xe830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000146368726f6e6f666f7267652e626173652e657468000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x18c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xe3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f9\"\n          ],\n          \"data\": \"0x00000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x18d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x00000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc\",\n            \"0xe3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f9\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x18e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea71\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x18f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0xa4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x190\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0xa4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001419710d5180a69d89f9aa464b33cc5c30aca0ce4a000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x191\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0xa4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b\"\n          ],\n          \"data\": \"0x00000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x192\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0xa4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f61726b68616d2e626173652e6574680000000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x193\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea71\"\n          ],\n          \"data\": \"0x00000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x194\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x00000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a\",\n            \"0x3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea71\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x195\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x1a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x196\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x197\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001419e96afde76d4eb120d9c0f1609e6e4afa077ff3000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x198\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe\"\n          ],\n          \"data\": \"0x00000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff3\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x199\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000137761676d6967616d65732e626173652e65746800000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x19a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x1a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf\"\n          ],\n          \"data\": \"0x00000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff3\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x19b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x00000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff3\",\n            \"0x1a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x19c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab0607\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x19d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0xda56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x19e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0xda56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000141a07dceefeebba3d1873e2b92bef190d2f11c3cb000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x19f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0xda56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df\"\n          ],\n          \"data\": \"0x0000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1a0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0xda56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000e62656566792e626173652e657468000000000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1a1\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab0607\"\n          ],\n          \"data\": \"0x0000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1a2\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x0000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb\",\n            \"0x62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab0607\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1a3\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba31\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1a4\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1a5\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000141cf0df2a5a20cd61d68d4489eebbf85b8d39e18a000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1a6\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf\"\n          ],\n          \"data\": \"0x0000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1a7\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001072617269626c652e626173652e65746800000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1a8\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba31\"\n          ],\n          \"data\": \"0x0000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1a9\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x0000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a\",\n            \"0x9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba31\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1aa\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xf81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f029\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1ab\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1ac\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014242ba6d68ffeb4a098b591b32d370f973ff882b7000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1ad\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f\"\n          ],\n          \"data\": \"0x000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b7\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1ae\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000013626c6f636b73636f75742e626173652e65746800000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1af\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xf81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f029\"\n          ],\n          \"data\": \"0x000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b7\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1b0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b7\",\n            \"0xf81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f029\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1b1\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xe52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b1\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1b2\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1b3\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001427aebe9c8954fc9ccfc4b0d477396188b8bfd832000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1b4\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f\"\n          ],\n          \"data\": \"0x00000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd832\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1b5\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001373796e667574757265732e626173652e65746800000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1b6\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xe52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b1\"\n          ],\n          \"data\": \"0x00000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd832\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1b7\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x00000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd832\",\n            \"0xe52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b1\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1b8\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1b9\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1ba\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001431e99bda5939ba2e7528707507b017f43b67f89b000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1bb\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d\"\n          ],\n          \"data\": \"0x00000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1bc\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001173756271756572792e626173652e657468000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1bd\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd\"\n          ],\n          \"data\": \"0x00000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1be\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x00000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b\",\n            \"0x3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1bf\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xa644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1c0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1c1\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014322d9d4fad6a33d27448cb646292e1bf893f40dd000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1c2\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62\"\n          ],\n          \"data\": \"0x000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1c3\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f726f756e64732e626173652e6574680000000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1c4\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xa644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd\"\n          ],\n          \"data\": \"0x000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1c5\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dd\",\n            \"0xa644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1c6\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x8ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd8203442\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1c7\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0xd5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1c8\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0xd5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001433c5dfab83b10e7f29b4d6bce7839f6125fbba28000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1c9\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0xd5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f\"\n          ],\n          \"data\": \"0x00000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba28\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1ca\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0xd5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000011666172776f726c642e626173652e657468000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1cb\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x8ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd8203442\"\n          ],\n          \"data\": \"0x00000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba28\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1cc\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x00000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba28\",\n            \"0x8ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd8203442\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1cd\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x2bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1ce\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1cf\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014341a1fbd51825e5a107db54ccb3166deba145479000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1d0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1\"\n          ],\n          \"data\": \"0x000000000000000000000000341a1fbd51825e5a107db54ccb3166deba145479\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1d1\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000e72616262792e626173652e657468000000000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1d2\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x2bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab\"\n          ],\n          \"data\": \"0x000000000000000000000000341a1fbd51825e5a107db54ccb3166deba145479\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1d3\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x000000000000000000000000341a1fbd51825e5a107db54ccb3166deba145479\",\n            \"0x2bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1d4\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x3a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1d5\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1d6\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014341a1fbd51825e5a107db54ccb3166deba145479000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1d7\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983\"\n          ],\n          \"data\": \"0x000000000000000000000000341a1fbd51825e5a107db54ccb3166deba145479\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1d8\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f646562616e6b2e626173652e6574680000000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1d9\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x3a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c\"\n          ],\n          \"data\": \"0x000000000000000000000000341a1fbd51825e5a107db54ccb3166deba145479\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1da\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x000000000000000000000000341a1fbd51825e5a107db54ccb3166deba145479\",\n            \"0x3a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1db\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xfa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1dc\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1dd\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014354086d5ecfa27749732c7e931152b2517e3059a000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1de\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97\"\n          ],\n          \"data\": \"0x000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059a\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1df\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000e6d617669612e626173652e657468000000000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1e0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xfa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b\"\n          ],\n          \"data\": \"0x000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059a\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1e1\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059a\",\n            \"0xfa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1e2\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xcc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1e3\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0xffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1e4\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0xffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000143775af82c6c5705140944cd515fe899214fb0288000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1e5\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0xffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798\"\n          ],\n          \"data\": \"0x0000000000000000000000003775af82c6c5705140944cd515fe899214fb0288\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1e6\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0xffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000106176616e7469732e626173652e65746800000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1e7\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xcc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a\"\n          ],\n          \"data\": \"0x0000000000000000000000003775af82c6c5705140944cd515fe899214fb0288\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1e8\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x0000000000000000000000003775af82c6c5705140944cd515fe899214fb0288\",\n            \"0xcc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1e9\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x28544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c5\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1ea\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c5855\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1eb\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c5855\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001441626ba92c0c2a1ad38fc83920300434082b1870000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1ec\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c5855\"\n          ],\n          \"data\": \"0x00000000000000000000000041626ba92c0c2a1ad38fc83920300434082b1870\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1ed\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c5855\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f6c32626561742e626173652e6574680000000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1ee\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x28544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c5\"\n          ],\n          \"data\": \"0x00000000000000000000000041626ba92c0c2a1ad38fc83920300434082b1870\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1ef\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x00000000000000000000000041626ba92c0c2a1ad38fc83920300434082b1870\",\n            \"0x28544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c5\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1f0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1f1\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1f2\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014475d59919abced714a52e33511e505b94cfc6dba000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1f3\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836\"\n          ],\n          \"data\": \"0x000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1f4\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001064796e616d69632e626173652e65746800000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1f5\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c\"\n          ],\n          \"data\": \"0x000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1f6\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba\",\n            \"0x47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1f7\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xbd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c1\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1f8\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1f9\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000144a7c6899cdcb379e284fbfd045462e751da4c7ce000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1fa\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad\"\n          ],\n          \"data\": \"0x0000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7ce\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1fb\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f6e616e73656e2e626173652e6574680000000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1fc\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xbd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c1\"\n          ],\n          \"data\": \"0x0000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7ce\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1fd\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x0000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7ce\",\n            \"0xbd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c1\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1fe\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b338168\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x1ff\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x200\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000144aef5f616c4f7f042eb292e57fc159f8b71c413e000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x201\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f\"\n          ],\n          \"data\": \"0x0000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x202\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f7369676e616c2e626173652e6574680000000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x203\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b338168\"\n          ],\n          \"data\": \"0x0000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x204\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x0000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e\",\n            \"0x10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b338168\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x205\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba1584\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x206\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x207\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014512b55b00d744fc2edb8474f223a7498c3e5a7ce000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x208\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235\"\n          ],\n          \"data\": \"0x000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x209\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000014636f6f707265636f7264732e626173652e657468000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x20a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba1584\"\n          ],\n          \"data\": \"0x000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x20b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce\",\n            \"0x0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba1584\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x20c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xdbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de42\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x20d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e3\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x20e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e3\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000145418707f24784906915bce1304c7f290c7110f47000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x20f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e3\"\n          ],\n          \"data\": \"0x0000000000000000000000005418707f24784906915bce1304c7f290c7110f47\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x210\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e3\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000e69736b72612e626173652e657468000000000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x211\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xdbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de42\"\n          ],\n          \"data\": \"0x0000000000000000000000005418707f24784906915bce1304c7f290c7110f47\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x212\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x0000000000000000000000005418707f24784906915bce1304c7f290c7110f47\",\n            \"0xdbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de42\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x213\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x9ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x214\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc6762\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x215\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc6762\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001454dcbe3cdff4543316c020d35fa583c0c47a3850000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x216\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc6762\"\n          ],\n          \"data\": \"0x00000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a3850\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x217\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc6762\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010657468657266692e626173652e65746800000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x218\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x9ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea\"\n          ],\n          \"data\": \"0x00000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a3850\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x219\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x00000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a3850\",\n            \"0x9ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x21a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac53848\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x21b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x21c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001456592ecad18fe1b3438b21d718afd97885350afc000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x21d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af\"\n          ],\n          \"data\": \"0x00000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x21e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f6574686c61732e626173652e6574680000000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x21f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac53848\"\n          ],\n          \"data\": \"0x00000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x220\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x00000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc\",\n            \"0x8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac53848\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x221\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x85b2a1d8f86f5bb736b84706e6d1455dd8f3fa758f8869bbe8a0831e7d9bacdd0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n          \"blockNumber\": \"0x12884f7\",\n          \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n          \"transactionIndex\": \"0x43\",\n          \"logIndex\": \"0x222\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x12000000c851041018cda900100001018625100104100000050810801481060400000540040028c00810052105048180118220009364140200844210480ac00280a400008018002348040008800089000dd8040004002120210000125811000a0080424d286001550000040c0400904a00002020700840006100201082c2410008388400a001200c0004804001200000300008100020d2a000940408810120001428c0020e020000d810000267040480010c60195000000c4000400f52080e1a6060c002128a8800020002120032410821504010c0340420a0020001082008014081004d4a120002100000000832000004821420010400006000c00282120081\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70\",\n      \"transactionIndex\": \"0x43\",\n      \"blockHash\": \"0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a\",\n      \"blockNumber\": \"0x12884f7\",\n      \"gasUsed\": \"0x712bdc\",\n      \"effectiveGasPrice\": \"0x86457b\",\n      \"from\": \"0x89ebc5eb7163470e23fcc24833eea6bb93a7b045\",\n      \"to\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n      \"contractAddress\": null,\n      \"l1BaseFeeScalar\": \"0x8dd\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0x101c12\",\n      \"l1Fee\": \"0x1207cb4ce22\",\n      \"l1GasPrice\": \"0x12193f1bc\",\n      \"l1GasUsed\": \"0x1b710\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1725654743,\n  \"chain\": 8453,\n  \"commit\": \"b5dba18\"\n}"
  },
  {
    "path": "mainnet/2024-08-27-disburse-basenames/records/DisburseBasenames.sol/8453/run-1745611292.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000003600000000000000000000000000000000000000000000000000000000000000440000000000000000000000000000000000000000000000000000000000000082000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000ae00000000000000000000000000000000000000000000000000000000000000bc00000000000000000000000000000000000000000000000000000000000000fa0000000000000000000000000000000000000000000000000000000000000108000000000000000000000000000000000000000000000000000000000000011800000000000000000000000000000000000000000000000000000000000001260000000000000000000000000000000000000000000000000000000000000134000000000000000000000000000000000000000000000000000000000000017200000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000019e00000000000000000000000000000000000000000000000000000000000001ac00000000000000000000000000000000000000000000000000000000000001ea00000000000000000000000000000000000000000000000000000000000001f8000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cb5d476799dff6b6d757dbae15d87228f4de24a51d5dc8691f781b13c9212043c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be9000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954ebd141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be90000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd71d141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be9000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014c925bd0e839e8e22a7ddebe7f4c21b187deec3580000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd71d141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be9000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014c925bd0e839e8e22a7ddebe7f4c21b187deec35800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be90000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001774616c656e7470726f746f636f6c2e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cb5d476799dff6b6d757dbae15d87228f4de24a51d5dc8691f781b13c9212043c000000000000000000000000c925bd0e839e8e22a7ddebe7f4c21b187deec3580000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000c925bd0e839e8e22a7ddebe7f4c21b187deec358b5d476799dff6b6d757dbae15d87228f4de24a51d5dc8691f781b13c9212043c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3de01aed86946337bae5d8d52ad7c687f30e6899c1a6759217606b8819f44e81000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a7dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954eb7dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd717dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000142270a4ca23614ece42905045b1ff2cb2a396c4ff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd717dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b0000000000000000000000000000000000000000000000000000000080002105000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000142270a4ca23614ece42905045b1ff2cb2a396c4ff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722137dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000d747962672e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3de01aed86946337bae5d8d52ad7c687f30e6899c1a6759217606b8819f44e810000000000000000000000002270a4ca23614ece42905045b1ff2cb2a396c4ff0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000002270a4ca23614ece42905045b1ff2cb2a396c4ff3de01aed86946337bae5d8d52ad7c687f30e6899c1a6759217606b8819f44e810000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c281335d191299304b6bdb3c4042efa6414c8988df37f941868fa00511796515e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954eb6560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd716560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd716560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6d6f7270686f2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c281335d191299304b6bdb3c4042efa6414c8988df37f941868fa00511796515e000000000000000000000000ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a30000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3281335d191299304b6bdb3c4042efa6414c8988df37f941868fa00511796515e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c506369533a4049ff6e824bf324d7af625a52b4612c9a04722db34c87c7345238000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a4d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc164000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954eb4d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc1640000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd714d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc164000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd714d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc164000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722134d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc164000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000136d6f7270686f626c75652e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c506369533a4049ff6e824bf324d7af625a52b4612c9a04722db34c87c7345238000000000000000000000000ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a30000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3506369533a4049ff6e824bf324d7af625a52b4612c9a04722db34c87c734523800000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x6711847e4d2515a63e4b3d5ab03837b016dffc08fa88b62c1036eb2c96516eaa5b96fb12c7b842a381b7b3dee76cb1a01cb0153569aa49a0866318209384d30d1cabb57f2031efc2c69395e2e7195226463408f0521af473faf96587bc0e78303e50b5dd750e003a1aff520daf70e30f3c4678fbd76b03f1f128ec820e513acd7f1b918ef7c0ded7679fce261707876649746c5fe614fcaf358f61fac6e67700511173972138b3acc2cd7281dd9be431cd0460b61e807dafd9a4785286e75a3aced31c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x89ebc5eb7163470e23fcc24833eea6bb93a7b045\",\n        \"to\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n        \"gas\": \"0x15a418\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000224000000000000000000000000000000000000000000000000000000000000020c482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000003600000000000000000000000000000000000000000000000000000000000000440000000000000000000000000000000000000000000000000000000000000082000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000ae00000000000000000000000000000000000000000000000000000000000000bc00000000000000000000000000000000000000000000000000000000000000fa0000000000000000000000000000000000000000000000000000000000000108000000000000000000000000000000000000000000000000000000000000011800000000000000000000000000000000000000000000000000000000000001260000000000000000000000000000000000000000000000000000000000000134000000000000000000000000000000000000000000000000000000000000017200000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000019e00000000000000000000000000000000000000000000000000000000000001ac00000000000000000000000000000000000000000000000000000000000001ea00000000000000000000000000000000000000000000000000000000000001f8000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cb5d476799dff6b6d757dbae15d87228f4de24a51d5dc8691f781b13c9212043c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be9000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954ebd141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be90000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd71d141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be9000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014c925bd0e839e8e22a7ddebe7f4c21b187deec3580000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd71d141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be9000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014c925bd0e839e8e22a7ddebe7f4c21b187deec35800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be90000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001774616c656e7470726f746f636f6c2e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cb5d476799dff6b6d757dbae15d87228f4de24a51d5dc8691f781b13c9212043c000000000000000000000000c925bd0e839e8e22a7ddebe7f4c21b187deec3580000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000c925bd0e839e8e22a7ddebe7f4c21b187deec358b5d476799dff6b6d757dbae15d87228f4de24a51d5dc8691f781b13c9212043c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3de01aed86946337bae5d8d52ad7c687f30e6899c1a6759217606b8819f44e81000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a7dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954eb7dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd717dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000142270a4ca23614ece42905045b1ff2cb2a396c4ff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd717dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b0000000000000000000000000000000000000000000000000000000080002105000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000142270a4ca23614ece42905045b1ff2cb2a396c4ff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722137dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000d747962672e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3de01aed86946337bae5d8d52ad7c687f30e6899c1a6759217606b8819f44e810000000000000000000000002270a4ca23614ece42905045b1ff2cb2a396c4ff0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000002270a4ca23614ece42905045b1ff2cb2a396c4ff3de01aed86946337bae5d8d52ad7c687f30e6899c1a6759217606b8819f44e810000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c281335d191299304b6bdb3c4042efa6414c8988df37f941868fa00511796515e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954eb6560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd716560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd716560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6d6f7270686f2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c281335d191299304b6bdb3c4042efa6414c8988df37f941868fa00511796515e000000000000000000000000ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a30000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3281335d191299304b6bdb3c4042efa6414c8988df37f941868fa00511796515e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c506369533a4049ff6e824bf324d7af625a52b4612c9a04722db34c87c7345238000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a4d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc164000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954eb4d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc1640000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd714d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc164000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd714d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc164000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722134d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc164000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000136d6f7270686f626c75652e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c506369533a4049ff6e824bf324d7af625a52b4612c9a04722db34c87c7345238000000000000000000000000ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a30000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3506369533a4049ff6e824bf324d7af625a52b4612c9a04722db34c87c7345238000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c36711847e4d2515a63e4b3d5ab03837b016dffc08fa88b62c1036eb2c96516eaa5b96fb12c7b842a381b7b3dee76cb1a01cb0153569aa49a0866318209384d30d1cabb57f2031efc2c69395e2e7195226463408f0521af473faf96587bc0e78303e50b5dd750e003a1aff520daf70e30f3c4678fbd76b03f1f128ec820e513acd7f1b918ef7c0ded7679fce261707876649746c5fe614fcaf358f61fac6e67700511173972138b3acc2cd7281dd9be431cd0460b61e807dafd9a4785286e75a3aced31c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x5\",\n        \"chainId\": \"0x2105\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x2da0687\",\n      \"logs\": [\n        {\n          \"address\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002260000000000000000000000000000000000000000000000000000000000000236000000000000000000000000000000000000000000000000000000000000020c482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000003600000000000000000000000000000000000000000000000000000000000000440000000000000000000000000000000000000000000000000000000000000082000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000ae00000000000000000000000000000000000000000000000000000000000000bc00000000000000000000000000000000000000000000000000000000000000fa0000000000000000000000000000000000000000000000000000000000000108000000000000000000000000000000000000000000000000000000000000011800000000000000000000000000000000000000000000000000000000000001260000000000000000000000000000000000000000000000000000000000000134000000000000000000000000000000000000000000000000000000000000017200000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000019e00000000000000000000000000000000000000000000000000000000000001ac00000000000000000000000000000000000000000000000000000000000001ea00000000000000000000000000000000000000000000000000000000000001f8000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cb5d476799dff6b6d757dbae15d87228f4de24a51d5dc8691f781b13c9212043c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be9000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954ebd141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be90000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd71d141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be9000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014c925bd0e839e8e22a7ddebe7f4c21b187deec3580000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd71d141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be9000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014c925bd0e839e8e22a7ddebe7f4c21b187deec35800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be90000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001774616c656e7470726f746f636f6c2e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cb5d476799dff6b6d757dbae15d87228f4de24a51d5dc8691f781b13c9212043c000000000000000000000000c925bd0e839e8e22a7ddebe7f4c21b187deec3580000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000c925bd0e839e8e22a7ddebe7f4c21b187deec358b5d476799dff6b6d757dbae15d87228f4de24a51d5dc8691f781b13c9212043c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3de01aed86946337bae5d8d52ad7c687f30e6899c1a6759217606b8819f44e81000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a7dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954eb7dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd717dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000142270a4ca23614ece42905045b1ff2cb2a396c4ff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd717dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b0000000000000000000000000000000000000000000000000000000080002105000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000142270a4ca23614ece42905045b1ff2cb2a396c4ff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722137dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000d747962672e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3de01aed86946337bae5d8d52ad7c687f30e6899c1a6759217606b8819f44e810000000000000000000000002270a4ca23614ece42905045b1ff2cb2a396c4ff0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000002270a4ca23614ece42905045b1ff2cb2a396c4ff3de01aed86946337bae5d8d52ad7c687f30e6899c1a6759217606b8819f44e810000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c281335d191299304b6bdb3c4042efa6414c8988df37f941868fa00511796515e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954eb6560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd716560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd716560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6d6f7270686f2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c281335d191299304b6bdb3c4042efa6414c8988df37f941868fa00511796515e000000000000000000000000ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a30000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3281335d191299304b6bdb3c4042efa6414c8988df37f941868fa00511796515e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c506369533a4049ff6e824bf324d7af625a52b4612c9a04722db34c87c7345238000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a4d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc164000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954eb4d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc1640000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd714d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc164000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd714d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc164000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722134d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc164000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000136d6f7270686f626c75652e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c506369533a4049ff6e824bf324d7af625a52b4612c9a04722db34c87c7345238000000000000000000000000ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a30000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3506369533a4049ff6e824bf324d7af625a52b4612c9a04722db34c87c7345238000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c36711847e4d2515a63e4b3d5ab03837b016dffc08fa88b62c1036eb2c96516eaa5b96fb12c7b842a381b7b3dee76cb1a01cb0153569aa49a0866318209384d30d1cabb57f2031efc2c69395e2e7195226463408f0521af473faf96587bc0e78303e50b5dd750e003a1aff520daf70e30f3c4678fbd76b03f1f128ec820e513acd7f1b918ef7c0ded7679fce261707876649746c5fe614fcaf358f61fac6e67700511173972138b3acc2cd7281dd9be431cd0460b61e807dafd9a4785286e75a3aced31c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000b00000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b0450000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e\",\n          \"blockNumber\": \"0x1c0c69c\",\n          \"transactionHash\": \"0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11\",\n          \"transactionIndex\": \"0x70\",\n          \"logIndex\": \"0x3f8\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xb5d476799dff6b6d757dbae15d87228f4de24a51d5dc8691f781b13c9212043c\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e\",\n          \"blockNumber\": \"0x1c0c69c\",\n          \"transactionHash\": \"0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11\",\n          \"transactionIndex\": \"0x70\",\n          \"logIndex\": \"0x3f9\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0xd141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be9\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e\",\n          \"blockNumber\": \"0x1c0c69c\",\n          \"transactionHash\": \"0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11\",\n          \"transactionIndex\": \"0x70\",\n          \"logIndex\": \"0x3fa\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0xd141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be9\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014c925bd0e839e8e22a7ddebe7f4c21b187deec358000000000000000000000000\",\n          \"blockHash\": \"0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e\",\n          \"blockNumber\": \"0x1c0c69c\",\n          \"transactionHash\": \"0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11\",\n          \"transactionIndex\": \"0x70\",\n          \"logIndex\": \"0x3fb\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0xd141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be9\"\n          ],\n          \"data\": \"0x000000000000000000000000c925bd0e839e8e22a7ddebe7f4c21b187deec358\",\n          \"blockHash\": \"0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e\",\n          \"blockNumber\": \"0x1c0c69c\",\n          \"transactionHash\": \"0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11\",\n          \"transactionIndex\": \"0x70\",\n          \"logIndex\": \"0x3fc\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0xd141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be9\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014c925bd0e839e8e22a7ddebe7f4c21b187deec358000000000000000000000000\",\n          \"blockHash\": \"0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e\",\n          \"blockNumber\": \"0x1c0c69c\",\n          \"transactionHash\": \"0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11\",\n          \"transactionIndex\": \"0x70\",\n          \"logIndex\": \"0x3fd\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0xd141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be9\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001774616c656e7470726f746f636f6c2e626173652e657468000000000000000000\",\n          \"blockHash\": \"0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e\",\n          \"blockNumber\": \"0x1c0c69c\",\n          \"transactionHash\": \"0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11\",\n          \"transactionIndex\": \"0x70\",\n          \"logIndex\": \"0x3fe\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xb5d476799dff6b6d757dbae15d87228f4de24a51d5dc8691f781b13c9212043c\"\n          ],\n          \"data\": \"0x000000000000000000000000c925bd0e839e8e22a7ddebe7f4c21b187deec358\",\n          \"blockHash\": \"0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e\",\n          \"blockNumber\": \"0x1c0c69c\",\n          \"transactionHash\": \"0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11\",\n          \"transactionIndex\": \"0x70\",\n          \"logIndex\": \"0x3ff\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x000000000000000000000000c925bd0e839e8e22a7ddebe7f4c21b187deec358\",\n            \"0xb5d476799dff6b6d757dbae15d87228f4de24a51d5dc8691f781b13c9212043c\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e\",\n          \"blockNumber\": \"0x1c0c69c\",\n          \"transactionHash\": \"0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11\",\n          \"transactionIndex\": \"0x70\",\n          \"logIndex\": \"0x400\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x3de01aed86946337bae5d8d52ad7c687f30e6899c1a6759217606b8819f44e81\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e\",\n          \"blockNumber\": \"0x1c0c69c\",\n          \"transactionHash\": \"0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11\",\n          \"transactionIndex\": \"0x70\",\n          \"logIndex\": \"0x401\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x7dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e\",\n          \"blockNumber\": \"0x1c0c69c\",\n          \"transactionHash\": \"0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11\",\n          \"transactionIndex\": \"0x70\",\n          \"logIndex\": \"0x402\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x7dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000142270a4ca23614ece42905045b1ff2cb2a396c4ff000000000000000000000000\",\n          \"blockHash\": \"0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e\",\n          \"blockNumber\": \"0x1c0c69c\",\n          \"transactionHash\": \"0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11\",\n          \"transactionIndex\": \"0x70\",\n          \"logIndex\": \"0x403\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x7dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b\"\n          ],\n          \"data\": \"0x0000000000000000000000002270a4ca23614ece42905045b1ff2cb2a396c4ff\",\n          \"blockHash\": \"0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e\",\n          \"blockNumber\": \"0x1c0c69c\",\n          \"transactionHash\": \"0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11\",\n          \"transactionIndex\": \"0x70\",\n          \"logIndex\": \"0x404\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x7dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000080002105000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000142270a4ca23614ece42905045b1ff2cb2a396c4ff000000000000000000000000\",\n          \"blockHash\": \"0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e\",\n          \"blockNumber\": \"0x1c0c69c\",\n          \"transactionHash\": \"0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11\",\n          \"transactionIndex\": \"0x70\",\n          \"logIndex\": \"0x405\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x7dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000d747962672e626173652e65746800000000000000000000000000000000000000\",\n          \"blockHash\": \"0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e\",\n          \"blockNumber\": \"0x1c0c69c\",\n          \"transactionHash\": \"0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11\",\n          \"transactionIndex\": \"0x70\",\n          \"logIndex\": \"0x406\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x3de01aed86946337bae5d8d52ad7c687f30e6899c1a6759217606b8819f44e81\"\n          ],\n          \"data\": \"0x0000000000000000000000002270a4ca23614ece42905045b1ff2cb2a396c4ff\",\n          \"blockHash\": \"0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e\",\n          \"blockNumber\": \"0x1c0c69c\",\n          \"transactionHash\": \"0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11\",\n          \"transactionIndex\": \"0x70\",\n          \"logIndex\": \"0x407\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x0000000000000000000000002270a4ca23614ece42905045b1ff2cb2a396c4ff\",\n            \"0x3de01aed86946337bae5d8d52ad7c687f30e6899c1a6759217606b8819f44e81\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e\",\n          \"blockNumber\": \"0x1c0c69c\",\n          \"transactionHash\": \"0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11\",\n          \"transactionIndex\": \"0x70\",\n          \"logIndex\": \"0x408\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x281335d191299304b6bdb3c4042efa6414c8988df37f941868fa00511796515e\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e\",\n          \"blockNumber\": \"0x1c0c69c\",\n          \"transactionHash\": \"0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11\",\n          \"transactionIndex\": \"0x70\",\n          \"logIndex\": \"0x409\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x6560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e\",\n          \"blockNumber\": \"0x1c0c69c\",\n          \"transactionHash\": \"0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11\",\n          \"transactionIndex\": \"0x70\",\n          \"logIndex\": \"0x40a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x6560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3000000000000000000000000\",\n          \"blockHash\": \"0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e\",\n          \"blockNumber\": \"0x1c0c69c\",\n          \"transactionHash\": \"0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11\",\n          \"transactionIndex\": \"0x70\",\n          \"logIndex\": \"0x40b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x6560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb\"\n          ],\n          \"data\": \"0x000000000000000000000000ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3\",\n          \"blockHash\": \"0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e\",\n          \"blockNumber\": \"0x1c0c69c\",\n          \"transactionHash\": \"0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11\",\n          \"transactionIndex\": \"0x70\",\n          \"logIndex\": \"0x40c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x6560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3000000000000000000000000\",\n          \"blockHash\": \"0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e\",\n          \"blockNumber\": \"0x1c0c69c\",\n          \"transactionHash\": \"0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11\",\n          \"transactionIndex\": \"0x70\",\n          \"logIndex\": \"0x40d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x6560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f6d6f7270686f2e626173652e6574680000000000000000000000000000000000\",\n          \"blockHash\": \"0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e\",\n          \"blockNumber\": \"0x1c0c69c\",\n          \"transactionHash\": \"0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11\",\n          \"transactionIndex\": \"0x70\",\n          \"logIndex\": \"0x40e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x281335d191299304b6bdb3c4042efa6414c8988df37f941868fa00511796515e\"\n          ],\n          \"data\": \"0x000000000000000000000000ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3\",\n          \"blockHash\": \"0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e\",\n          \"blockNumber\": \"0x1c0c69c\",\n          \"transactionHash\": \"0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11\",\n          \"transactionIndex\": \"0x70\",\n          \"logIndex\": \"0x40f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x000000000000000000000000ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3\",\n            \"0x281335d191299304b6bdb3c4042efa6414c8988df37f941868fa00511796515e\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e\",\n          \"blockNumber\": \"0x1c0c69c\",\n          \"transactionHash\": \"0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11\",\n          \"transactionIndex\": \"0x70\",\n          \"logIndex\": \"0x410\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x506369533a4049ff6e824bf324d7af625a52b4612c9a04722db34c87c7345238\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e\",\n          \"blockNumber\": \"0x1c0c69c\",\n          \"transactionHash\": \"0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11\",\n          \"transactionIndex\": \"0x70\",\n          \"logIndex\": \"0x411\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x4d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc164\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e\",\n          \"blockNumber\": \"0x1c0c69c\",\n          \"transactionHash\": \"0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11\",\n          \"transactionIndex\": \"0x70\",\n          \"logIndex\": \"0x412\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x4d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc164\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3000000000000000000000000\",\n          \"blockHash\": \"0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e\",\n          \"blockNumber\": \"0x1c0c69c\",\n          \"transactionHash\": \"0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11\",\n          \"transactionIndex\": \"0x70\",\n          \"logIndex\": \"0x413\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x4d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc164\"\n          ],\n          \"data\": \"0x000000000000000000000000ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3\",\n          \"blockHash\": \"0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e\",\n          \"blockNumber\": \"0x1c0c69c\",\n          \"transactionHash\": \"0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11\",\n          \"transactionIndex\": \"0x70\",\n          \"logIndex\": \"0x414\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x4d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc164\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3000000000000000000000000\",\n          \"blockHash\": \"0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e\",\n          \"blockNumber\": \"0x1c0c69c\",\n          \"transactionHash\": \"0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11\",\n          \"transactionIndex\": \"0x70\",\n          \"logIndex\": \"0x415\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x4d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc164\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000136d6f7270686f626c75652e626173652e65746800000000000000000000000000\",\n          \"blockHash\": \"0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e\",\n          \"blockNumber\": \"0x1c0c69c\",\n          \"transactionHash\": \"0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11\",\n          \"transactionIndex\": \"0x70\",\n          \"logIndex\": \"0x416\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x506369533a4049ff6e824bf324d7af625a52b4612c9a04722db34c87c7345238\"\n          ],\n          \"data\": \"0x000000000000000000000000ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3\",\n          \"blockHash\": \"0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e\",\n          \"blockNumber\": \"0x1c0c69c\",\n          \"transactionHash\": \"0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11\",\n          \"transactionIndex\": \"0x70\",\n          \"logIndex\": \"0x417\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x000000000000000000000000ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3\",\n            \"0x506369533a4049ff6e824bf324d7af625a52b4612c9a04722db34c87c7345238\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e\",\n          \"blockNumber\": \"0x1c0c69c\",\n          \"transactionHash\": \"0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11\",\n          \"transactionIndex\": \"0x70\",\n          \"logIndex\": \"0x418\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xeaa1f2b292b2b379edb04303b9a71300d4a6919de51fedd98bd943c7f2aeb73a0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e\",\n          \"blockNumber\": \"0x1c0c69c\",\n          \"transactionHash\": \"0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11\",\n          \"transactionIndex\": \"0x70\",\n          \"logIndex\": \"0x419\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x10000200400200001800000000000100000000000400000001000090140040004000000000000020000000000200000000000000000010100000000000028000000000000000000248000008000000000100048004000000000000140000000400800200000000000800000004000080000002000000400080000010c00000000420000000000000000000000000000000000000000040000000040000000000000000000402000048000000040004010404000008040000000000040009020000000002020000000000000000024202000000000000040000000000000000000000000000000000000800000000000000000400000001000000000004000004\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11\",\n      \"transactionIndex\": \"0x70\",\n      \"blockHash\": \"0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e\",\n      \"blockNumber\": \"0x1c0c69c\",\n      \"gasUsed\": \"0xecc1a\",\n      \"effectiveGasPrice\": \"0x190fa6\",\n      \"from\": \"0x89ebc5eb7163470e23fcc24833eea6bb93a7b045\",\n      \"to\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n      \"contractAddress\": null,\n      \"l1BaseFeeScalar\": \"0x8dd\",\n      \"l1BlobBaseFee\": \"0x2a232b13\",\n      \"l1BlobBaseFeeScalar\": \"0x101c12\",\n      \"l1Fee\": \"0xcc6a0b6696\",\n      \"l1GasPrice\": \"0x1e79d2d7\",\n      \"l1GasUsed\": \"0x47bc\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1745611292,\n  \"chain\": 8453,\n  \"commit\": \"7c40651\"\n}"
  },
  {
    "path": "mainnet/2024-08-27-disburse-basenames/records/DisburseBasenames.sol/8453/run-1749233082.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000000000000000086000000000000000000000000000000000000000000000000000000000000009600000000000000000000000000000000000000000000000000000000000000a400000000000000000000000000000000000000000000000000000000000000b200000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000fe000000000000000000000000000000000000000000000000000000000000010e000000000000000000000000000000000000000000000000000000000000011c000000000000000000000000000000000000000000000000000000000000012a00000000000000000000000000000000000000000000000000000000000001680000000000000000000000000000000000000000000000000000000000000176000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda5000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954eb6164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda50000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd716164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda5000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001497bcd93504d89d9d236e773e8f5c20feae466e720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd716164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda500000000000000000000000000000000000000000000000000000000800021050000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001497bcd93504d89d9d236e773e8f5c20feae466e72000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda50000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000d626173652e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f00000000000000000000000097bcd93504d89d9d236e773e8f5c20feae466e720000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000097bcd93504d89d9d236e773e8f5c20feae466e72f1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cb88a58ba805204d97fb517db6eb19b28604935a83ad04b4f5bccaab1d1d7072c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954ebd807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd71d807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000146c199d7b757cb3e16bcb7fd666eafb6609754bc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd71d807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa0000000000000000000000000000000000000000000000000000000080002105000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000146c199d7b757cb3e16bcb7fd666eafb6609754bc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000017636f696e6261736577616c6c65742e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cb88a58ba805204d97fb517db6eb19b28604935a83ad04b4f5bccaab1d1d7072c0000000000000000000000006c199d7b757cb3e16bcb7fd666eafb6609754bc00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000006c199d7b757cb3e16bcb7fd666eafb6609754bc0b88a58ba805204d97fb517db6eb19b28604935a83ad04b4f5bccaab1d1d7072c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf0ab6bbf074217bd209077ef38d1fe65034d0327dbceeb5dc94a0d7050798c99000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc1000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954eb6fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc10000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd716fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc1000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014f28efd5f546e3c0669e4a049abee25fda18a4cf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd716fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc1000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014f28efd5f546e3c0669e4a049abee25fda18a4cf6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc10000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e74726164652e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf0ab6bbf074217bd209077ef38d1fe65034d0327dbceeb5dc94a0d7050798c99000000000000000000000000f28efd5f546e3c0669e4a049abee25fda18a4cf60000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000f28efd5f546e3c0669e4a049abee25fda18a4cf6f0ab6bbf074217bd209077ef38d1fe65034d0327dbceeb5dc94a0d7050798c9900000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x41163b524ec4986c6bccc59cfba9312c8a30077b3ee24bac29603c92dd9d161208cbb4956736d88be824d42f9620126d716effe8863d1314ae75dbd8631f3d151c1904a510cfceecfb5fd4df7e99687149637f368796e1a6abc339c79900950829116833e32000b9d7cc4211830a5a10ef99fec3a791ee06f093919f7d2262014c1bb1c71aedcba038537e48fbc7d757e71a30be3f30321c0a29f19fd36254eb17582d5c94ed5c9524be1663cb40706632ca376e6a21bb1e3e92ce3487c6cf130b261c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x89ebc5eb7163470e23fcc24833eea6bb93a7b045\",\n        \"to\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n        \"gas\": \"0xf6b33\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a2000000000000000000000000000000000000000000000000000000000000018a482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000000000000000086000000000000000000000000000000000000000000000000000000000000009600000000000000000000000000000000000000000000000000000000000000a400000000000000000000000000000000000000000000000000000000000000b200000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000fe000000000000000000000000000000000000000000000000000000000000010e000000000000000000000000000000000000000000000000000000000000011c000000000000000000000000000000000000000000000000000000000000012a00000000000000000000000000000000000000000000000000000000000001680000000000000000000000000000000000000000000000000000000000000176000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda5000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954eb6164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda50000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd716164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda5000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001497bcd93504d89d9d236e773e8f5c20feae466e720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd716164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda500000000000000000000000000000000000000000000000000000000800021050000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001497bcd93504d89d9d236e773e8f5c20feae466e72000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda50000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000d626173652e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f00000000000000000000000097bcd93504d89d9d236e773e8f5c20feae466e720000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000097bcd93504d89d9d236e773e8f5c20feae466e72f1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cb88a58ba805204d97fb517db6eb19b28604935a83ad04b4f5bccaab1d1d7072c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954ebd807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd71d807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000146c199d7b757cb3e16bcb7fd666eafb6609754bc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd71d807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa0000000000000000000000000000000000000000000000000000000080002105000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000146c199d7b757cb3e16bcb7fd666eafb6609754bc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000017636f696e6261736577616c6c65742e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cb88a58ba805204d97fb517db6eb19b28604935a83ad04b4f5bccaab1d1d7072c0000000000000000000000006c199d7b757cb3e16bcb7fd666eafb6609754bc00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000006c199d7b757cb3e16bcb7fd666eafb6609754bc0b88a58ba805204d97fb517db6eb19b28604935a83ad04b4f5bccaab1d1d7072c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf0ab6bbf074217bd209077ef38d1fe65034d0327dbceeb5dc94a0d7050798c99000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc1000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954eb6fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc10000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd716fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc1000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014f28efd5f546e3c0669e4a049abee25fda18a4cf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd716fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc1000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014f28efd5f546e3c0669e4a049abee25fda18a4cf6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc10000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e74726164652e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf0ab6bbf074217bd209077ef38d1fe65034d0327dbceeb5dc94a0d7050798c99000000000000000000000000f28efd5f546e3c0669e4a049abee25fda18a4cf60000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000f28efd5f546e3c0669e4a049abee25fda18a4cf6f0ab6bbf074217bd209077ef38d1fe65034d0327dbceeb5dc94a0d7050798c99000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c341163b524ec4986c6bccc59cfba9312c8a30077b3ee24bac29603c92dd9d161208cbb4956736d88be824d42f9620126d716effe8863d1314ae75dbd8631f3d151c1904a510cfceecfb5fd4df7e99687149637f368796e1a6abc339c79900950829116833e32000b9d7cc4211830a5a10ef99fec3a791ee06f093919f7d2262014c1bb1c71aedcba038537e48fbc7d757e71a30be3f30321c0a29f19fd36254eb17582d5c94ed5c9524be1663cb40706632ca376e6a21bb1e3e92ce3487c6cf130b261c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x6\",\n        \"chainId\": \"0x2105\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x2f5c9b2\",\n      \"logs\": [\n        {\n          \"address\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a400000000000000000000000000000000000000000000000000000000000001b4000000000000000000000000000000000000000000000000000000000000018a482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000000000000000086000000000000000000000000000000000000000000000000000000000000009600000000000000000000000000000000000000000000000000000000000000a400000000000000000000000000000000000000000000000000000000000000b200000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000fe000000000000000000000000000000000000000000000000000000000000010e000000000000000000000000000000000000000000000000000000000000011c000000000000000000000000000000000000000000000000000000000000012a00000000000000000000000000000000000000000000000000000000000001680000000000000000000000000000000000000000000000000000000000000176000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda5000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954eb6164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda50000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd716164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda5000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001497bcd93504d89d9d236e773e8f5c20feae466e720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd716164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda500000000000000000000000000000000000000000000000000000000800021050000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001497bcd93504d89d9d236e773e8f5c20feae466e72000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda50000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000d626173652e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f00000000000000000000000097bcd93504d89d9d236e773e8f5c20feae466e720000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000097bcd93504d89d9d236e773e8f5c20feae466e72f1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cb88a58ba805204d97fb517db6eb19b28604935a83ad04b4f5bccaab1d1d7072c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954ebd807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd71d807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000146c199d7b757cb3e16bcb7fd666eafb6609754bc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd71d807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa0000000000000000000000000000000000000000000000000000000080002105000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000146c199d7b757cb3e16bcb7fd666eafb6609754bc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000017636f696e6261736577616c6c65742e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cb88a58ba805204d97fb517db6eb19b28604935a83ad04b4f5bccaab1d1d7072c0000000000000000000000006c199d7b757cb3e16bcb7fd666eafb6609754bc00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000006c199d7b757cb3e16bcb7fd666eafb6609754bc0b88a58ba805204d97fb517db6eb19b28604935a83ad04b4f5bccaab1d1d7072c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf0ab6bbf074217bd209077ef38d1fe65034d0327dbceeb5dc94a0d7050798c99000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc1000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954eb6fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc10000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd716fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc1000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014f28efd5f546e3c0669e4a049abee25fda18a4cf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd716fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc1000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014f28efd5f546e3c0669e4a049abee25fda18a4cf6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc10000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e74726164652e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf0ab6bbf074217bd209077ef38d1fe65034d0327dbceeb5dc94a0d7050798c99000000000000000000000000f28efd5f546e3c0669e4a049abee25fda18a4cf60000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000f28efd5f546e3c0669e4a049abee25fda18a4cf6f0ab6bbf074217bd209077ef38d1fe65034d0327dbceeb5dc94a0d7050798c99000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c341163b524ec4986c6bccc59cfba9312c8a30077b3ee24bac29603c92dd9d161208cbb4956736d88be824d42f9620126d716effe8863d1314ae75dbd8631f3d151c1904a510cfceecfb5fd4df7e99687149637f368796e1a6abc339c79900950829116833e32000b9d7cc4211830a5a10ef99fec3a791ee06f093919f7d2262014c1bb1c71aedcba038537e48fbc7d757e71a30be3f30321c0a29f19fd36254eb17582d5c94ed5c9524be1663cb40706632ca376e6a21bb1e3e92ce3487c6cf130b261c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b0450000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29\",\n          \"blockNumber\": \"0x1dc686b\",\n          \"transactionHash\": \"0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3\",\n          \"transactionIndex\": \"0xf0\",\n          \"logIndex\": \"0x1f8\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xf1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29\",\n          \"blockNumber\": \"0x1dc686b\",\n          \"transactionHash\": \"0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3\",\n          \"transactionIndex\": \"0xf0\",\n          \"logIndex\": \"0x1f9\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x6164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda5\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29\",\n          \"blockNumber\": \"0x1dc686b\",\n          \"transactionHash\": \"0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3\",\n          \"transactionIndex\": \"0xf0\",\n          \"logIndex\": \"0x1fa\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x6164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda5\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001497bcd93504d89d9d236e773e8f5c20feae466e72000000000000000000000000\",\n          \"blockHash\": \"0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29\",\n          \"blockNumber\": \"0x1dc686b\",\n          \"transactionHash\": \"0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3\",\n          \"transactionIndex\": \"0xf0\",\n          \"logIndex\": \"0x1fb\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x6164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda5\"\n          ],\n          \"data\": \"0x00000000000000000000000097bcd93504d89d9d236e773e8f5c20feae466e72\",\n          \"blockHash\": \"0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29\",\n          \"blockNumber\": \"0x1dc686b\",\n          \"transactionHash\": \"0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3\",\n          \"transactionIndex\": \"0xf0\",\n          \"logIndex\": \"0x1fc\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x6164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda5\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000800021050000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001497bcd93504d89d9d236e773e8f5c20feae466e72000000000000000000000000\",\n          \"blockHash\": \"0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29\",\n          \"blockNumber\": \"0x1dc686b\",\n          \"transactionHash\": \"0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3\",\n          \"transactionIndex\": \"0xf0\",\n          \"logIndex\": \"0x1fd\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x6164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda5\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000d626173652e626173652e65746800000000000000000000000000000000000000\",\n          \"blockHash\": \"0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29\",\n          \"blockNumber\": \"0x1dc686b\",\n          \"transactionHash\": \"0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3\",\n          \"transactionIndex\": \"0xf0\",\n          \"logIndex\": \"0x1fe\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xf1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f\"\n          ],\n          \"data\": \"0x00000000000000000000000097bcd93504d89d9d236e773e8f5c20feae466e72\",\n          \"blockHash\": \"0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29\",\n          \"blockNumber\": \"0x1dc686b\",\n          \"transactionHash\": \"0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3\",\n          \"transactionIndex\": \"0xf0\",\n          \"logIndex\": \"0x1ff\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x00000000000000000000000097bcd93504d89d9d236e773e8f5c20feae466e72\",\n            \"0xf1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29\",\n          \"blockNumber\": \"0x1dc686b\",\n          \"transactionHash\": \"0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3\",\n          \"transactionIndex\": \"0xf0\",\n          \"logIndex\": \"0x200\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xb88a58ba805204d97fb517db6eb19b28604935a83ad04b4f5bccaab1d1d7072c\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29\",\n          \"blockNumber\": \"0x1dc686b\",\n          \"transactionHash\": \"0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3\",\n          \"transactionIndex\": \"0xf0\",\n          \"logIndex\": \"0x201\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0xd807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29\",\n          \"blockNumber\": \"0x1dc686b\",\n          \"transactionHash\": \"0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3\",\n          \"transactionIndex\": \"0xf0\",\n          \"logIndex\": \"0x202\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0xd807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000146c199d7b757cb3e16bcb7fd666eafb6609754bc0000000000000000000000000\",\n          \"blockHash\": \"0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29\",\n          \"blockNumber\": \"0x1dc686b\",\n          \"transactionHash\": \"0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3\",\n          \"transactionIndex\": \"0xf0\",\n          \"logIndex\": \"0x203\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0xd807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa\"\n          ],\n          \"data\": \"0x0000000000000000000000006c199d7b757cb3e16bcb7fd666eafb6609754bc0\",\n          \"blockHash\": \"0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29\",\n          \"blockNumber\": \"0x1dc686b\",\n          \"transactionHash\": \"0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3\",\n          \"transactionIndex\": \"0xf0\",\n          \"logIndex\": \"0x204\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0xd807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000080002105000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000146c199d7b757cb3e16bcb7fd666eafb6609754bc0000000000000000000000000\",\n          \"blockHash\": \"0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29\",\n          \"blockNumber\": \"0x1dc686b\",\n          \"transactionHash\": \"0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3\",\n          \"transactionIndex\": \"0xf0\",\n          \"logIndex\": \"0x205\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0xd807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000017636f696e6261736577616c6c65742e626173652e657468000000000000000000\",\n          \"blockHash\": \"0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29\",\n          \"blockNumber\": \"0x1dc686b\",\n          \"transactionHash\": \"0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3\",\n          \"transactionIndex\": \"0xf0\",\n          \"logIndex\": \"0x206\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xb88a58ba805204d97fb517db6eb19b28604935a83ad04b4f5bccaab1d1d7072c\"\n          ],\n          \"data\": \"0x0000000000000000000000006c199d7b757cb3e16bcb7fd666eafb6609754bc0\",\n          \"blockHash\": \"0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29\",\n          \"blockNumber\": \"0x1dc686b\",\n          \"transactionHash\": \"0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3\",\n          \"transactionIndex\": \"0xf0\",\n          \"logIndex\": \"0x207\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x0000000000000000000000006c199d7b757cb3e16bcb7fd666eafb6609754bc0\",\n            \"0xb88a58ba805204d97fb517db6eb19b28604935a83ad04b4f5bccaab1d1d7072c\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29\",\n          \"blockNumber\": \"0x1dc686b\",\n          \"transactionHash\": \"0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3\",\n          \"transactionIndex\": \"0xf0\",\n          \"logIndex\": \"0x208\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xf0ab6bbf074217bd209077ef38d1fe65034d0327dbceeb5dc94a0d7050798c99\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29\",\n          \"blockNumber\": \"0x1dc686b\",\n          \"transactionHash\": \"0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3\",\n          \"transactionIndex\": \"0xf0\",\n          \"logIndex\": \"0x209\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x6fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc1\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29\",\n          \"blockNumber\": \"0x1dc686b\",\n          \"transactionHash\": \"0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3\",\n          \"transactionIndex\": \"0xf0\",\n          \"logIndex\": \"0x20a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x6fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc1\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014f28efd5f546e3c0669e4a049abee25fda18a4cf6000000000000000000000000\",\n          \"blockHash\": \"0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29\",\n          \"blockNumber\": \"0x1dc686b\",\n          \"transactionHash\": \"0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3\",\n          \"transactionIndex\": \"0xf0\",\n          \"logIndex\": \"0x20b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x6fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc1\"\n          ],\n          \"data\": \"0x000000000000000000000000f28efd5f546e3c0669e4a049abee25fda18a4cf6\",\n          \"blockHash\": \"0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29\",\n          \"blockNumber\": \"0x1dc686b\",\n          \"transactionHash\": \"0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3\",\n          \"transactionIndex\": \"0xf0\",\n          \"logIndex\": \"0x20c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x6fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc1\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014f28efd5f546e3c0669e4a049abee25fda18a4cf6000000000000000000000000\",\n          \"blockHash\": \"0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29\",\n          \"blockNumber\": \"0x1dc686b\",\n          \"transactionHash\": \"0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3\",\n          \"transactionIndex\": \"0xf0\",\n          \"logIndex\": \"0x20d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x6fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc1\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000e74726164652e626173652e657468000000000000000000000000000000000000\",\n          \"blockHash\": \"0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29\",\n          \"blockNumber\": \"0x1dc686b\",\n          \"transactionHash\": \"0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3\",\n          \"transactionIndex\": \"0xf0\",\n          \"logIndex\": \"0x20e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0xf0ab6bbf074217bd209077ef38d1fe65034d0327dbceeb5dc94a0d7050798c99\"\n          ],\n          \"data\": \"0x000000000000000000000000f28efd5f546e3c0669e4a049abee25fda18a4cf6\",\n          \"blockHash\": \"0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29\",\n          \"blockNumber\": \"0x1dc686b\",\n          \"transactionHash\": \"0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3\",\n          \"transactionIndex\": \"0xf0\",\n          \"logIndex\": \"0x20f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x000000000000000000000000f28efd5f546e3c0669e4a049abee25fda18a4cf6\",\n            \"0xf0ab6bbf074217bd209077ef38d1fe65034d0327dbceeb5dc94a0d7050798c99\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29\",\n          \"blockNumber\": \"0x1dc686b\",\n          \"transactionHash\": \"0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3\",\n          \"transactionIndex\": \"0xf0\",\n          \"logIndex\": \"0x210\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x01fe69784ab01f8a0aae3fa936e56ec7a030dadcb80461b8906c4e6ee36aa3220000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29\",\n          \"blockNumber\": \"0x1dc686b\",\n          \"transactionHash\": \"0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3\",\n          \"transactionIndex\": \"0xf0\",\n          \"logIndex\": \"0x211\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x1000000040000000180010000000010000000000040000000100808414000000000000000000000204000000000000000100000000001000000000000002800000000000000000024800000800000000010004000400000000000010000000002080020000000802010000000400000000000000000040000000001004000000002040400000000000000000000000000000000000104000000004000000000000000000040200004c000000040804100004000000800000000000040000020000000002000000000000000000024010001000000000040000000020000000000000000000000080000100000000000000000000020000000000000000008002\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3\",\n      \"transactionIndex\": \"0xf0\",\n      \"blockHash\": \"0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29\",\n      \"blockNumber\": \"0x1dc686b\",\n      \"gasUsed\": \"0xb29b4\",\n      \"effectiveGasPrice\": \"0x153ea3\",\n      \"from\": \"0x89ebc5eb7163470e23fcc24833eea6bb93a7b045\",\n      \"to\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n      \"contractAddress\": null,\n      \"l1BaseFeeScalar\": \"0x8dd\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0x101c12\",\n      \"l1Fee\": \"0x10699da770\",\n      \"l1GasPrice\": \"0x7570b7d4\",\n      \"l1GasUsed\": \"0x3d97\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1749233082,\n  \"chain\": 8453,\n  \"commit\": \"294c5a0\"\n}"
  },
  {
    "path": "mainnet/2024-08-27-disburse-basenames/records/DisburseBasenames.sol/8453/run-1757534662694.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xda7a7503eaa8e507e2eb55375a888e87337d08e826e37ecf021cb8ba3765a330\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000072000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c1efd509f11c0e255636c4798aba4db901883a0dfb4a8052ecf386d6677636982000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a15c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb7474000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954eb15c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb74740000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd7115c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb7474000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014feea32fb5a83ffff0ffdec4f853377557ff802240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd7115c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb7474000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014feea32fb5a83ffff0ffdec4f853377557ff802240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221315c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb7474000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000116261736563616d702e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c1efd509f11c0e255636c4798aba4db901883a0dfb4a8052ecf386d6677636982000000000000000000000000feea32fb5a83ffff0ffdec4f853377557ff802240000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000feea32fb5a83ffff0ffdec4f853377557ff802241efd509f11c0e255636c4798aba4db901883a0dfb4a8052ecf386d667763698200000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x44e75f88021c84ae3a1341748a421499e2899bd47bbbfd4b1880241d3ce5f1464483bab3073768b7a9a46426b4d4c6c8f3a7b8075c99dd3109d4fba786a131df1b88307ce07e67e1f6dcfd9e05d8696e19ed8789b5f7b13ac80d0dd72c6bd6071c7581913838c9377e1f47fc4fda73985352eaae6563646a732b2ecf36ca16d0961cbd94f3927059ebd9ecce3d679974752f2dee55825ac64161105f43cd7b7bbc576350c65f27a0cc476dff0158d76121ea57c5043ae76379625b53173e5c2a86121b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x89ebc5eb7163470e23fcc24833eea6bb93a7b045\",\n        \"to\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n        \"gas\": \"0x6c82b\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009e0000000000000000000000000000000000000000000000000000000000000086482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000072000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c1efd509f11c0e255636c4798aba4db901883a0dfb4a8052ecf386d6677636982000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a15c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb7474000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954eb15c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb74740000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd7115c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb7474000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014feea32fb5a83ffff0ffdec4f853377557ff802240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd7115c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb7474000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014feea32fb5a83ffff0ffdec4f853377557ff802240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221315c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb7474000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000116261736563616d702e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c1efd509f11c0e255636c4798aba4db901883a0dfb4a8052ecf386d6677636982000000000000000000000000feea32fb5a83ffff0ffdec4f853377557ff802240000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000feea32fb5a83ffff0ffdec4f853377557ff802241efd509f11c0e255636c4798aba4db901883a0dfb4a8052ecf386d6677636982000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c344e75f88021c84ae3a1341748a421499e2899bd47bbbfd4b1880241d3ce5f1464483bab3073768b7a9a46426b4d4c6c8f3a7b8075c99dd3109d4fba786a131df1b88307ce07e67e1f6dcfd9e05d8696e19ed8789b5f7b13ac80d0dd72c6bd6071c7581913838c9377e1f47fc4fda73985352eaae6563646a732b2ecf36ca16d0961cbd94f3927059ebd9ecce3d679974752f2dee55825ac64161105f43cd7b7bbc576350c65f27a0cc476dff0158d76121ea57c5043ae76379625b53173e5c2a86121b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x8\",\n        \"chainId\": \"0x2105\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x9909f6\",\n      \"logs\": [\n        {\n          \"address\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000b00000000000000000000000000000000000000000000000000000000000000086482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000072000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c1efd509f11c0e255636c4798aba4db901883a0dfb4a8052ecf386d6677636982000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a15c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb7474000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954eb15c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb74740000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd7115c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb7474000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014feea32fb5a83ffff0ffdec4f853377557ff802240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd7115c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb7474000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014feea32fb5a83ffff0ffdec4f853377557ff802240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221315c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb7474000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000116261736563616d702e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c1efd509f11c0e255636c4798aba4db901883a0dfb4a8052ecf386d6677636982000000000000000000000000feea32fb5a83ffff0ffdec4f853377557ff802240000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000feea32fb5a83ffff0ffdec4f853377557ff802241efd509f11c0e255636c4798aba4db901883a0dfb4a8052ecf386d6677636982000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c344e75f88021c84ae3a1341748a421499e2899bd47bbbfd4b1880241d3ce5f1464483bab3073768b7a9a46426b4d4c6c8f3a7b8075c99dd3109d4fba786a131df1b88307ce07e67e1f6dcfd9e05d8696e19ed8789b5f7b13ac80d0dd72c6bd6071c7581913838c9377e1f47fc4fda73985352eaae6563646a732b2ecf36ca16d0961cbd94f3927059ebd9ecce3d679974752f2dee55825ac64161105f43cd7b7bbc576350c65f27a0cc476dff0158d76121ea57c5043ae76379625b53173e5c2a86121b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b0450000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0x86666f8ccb278100cf53842bf3d0afcd0ef26de97c18820d3b82d4adbd246812\",\n          \"blockNumber\": \"0x21bbe72\",\n          \"blockTimestamp\": \"0x68c1d9c7\",\n          \"transactionHash\": \"0xda7a7503eaa8e507e2eb55375a888e87337d08e826e37ecf021cb8ba3765a330\",\n          \"transactionIndex\": \"0x2c\",\n          \"logIndex\": \"0xdc\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x1efd509f11c0e255636c4798aba4db901883a0dfb4a8052ecf386d6677636982\"\n          ],\n          \"data\": \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"blockHash\": \"0x86666f8ccb278100cf53842bf3d0afcd0ef26de97c18820d3b82d4adbd246812\",\n          \"blockNumber\": \"0x21bbe72\",\n          \"blockTimestamp\": \"0x68c1d9c7\",\n          \"transactionHash\": \"0xda7a7503eaa8e507e2eb55375a888e87337d08e826e37ecf021cb8ba3765a330\",\n          \"transactionIndex\": \"0x2c\",\n          \"logIndex\": \"0xdd\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0\",\n            \"0x15c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb7474\"\n          ],\n          \"data\": \"0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"blockHash\": \"0x86666f8ccb278100cf53842bf3d0afcd0ef26de97c18820d3b82d4adbd246812\",\n          \"blockNumber\": \"0x21bbe72\",\n          \"blockTimestamp\": \"0x68c1d9c7\",\n          \"transactionHash\": \"0xda7a7503eaa8e507e2eb55375a888e87337d08e826e37ecf021cb8ba3765a330\",\n          \"transactionIndex\": \"0x2c\",\n          \"logIndex\": \"0xde\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x15c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb7474\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014feea32fb5a83ffff0ffdec4f853377557ff80224000000000000000000000000\",\n          \"blockHash\": \"0x86666f8ccb278100cf53842bf3d0afcd0ef26de97c18820d3b82d4adbd246812\",\n          \"blockNumber\": \"0x21bbe72\",\n          \"blockTimestamp\": \"0x68c1d9c7\",\n          \"transactionHash\": \"0xda7a7503eaa8e507e2eb55375a888e87337d08e826e37ecf021cb8ba3765a330\",\n          \"transactionIndex\": \"0x2c\",\n          \"logIndex\": \"0xdf\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2\",\n            \"0x15c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb7474\"\n          ],\n          \"data\": \"0x000000000000000000000000feea32fb5a83ffff0ffdec4f853377557ff80224\",\n          \"blockHash\": \"0x86666f8ccb278100cf53842bf3d0afcd0ef26de97c18820d3b82d4adbd246812\",\n          \"blockNumber\": \"0x21bbe72\",\n          \"blockTimestamp\": \"0x68c1d9c7\",\n          \"transactionHash\": \"0xda7a7503eaa8e507e2eb55375a888e87337d08e826e37ecf021cb8ba3765a330\",\n          \"transactionIndex\": \"0x2c\",\n          \"logIndex\": \"0xe0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752\",\n            \"0x15c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb7474\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014feea32fb5a83ffff0ffdec4f853377557ff80224000000000000000000000000\",\n          \"blockHash\": \"0x86666f8ccb278100cf53842bf3d0afcd0ef26de97c18820d3b82d4adbd246812\",\n          \"blockNumber\": \"0x21bbe72\",\n          \"blockTimestamp\": \"0x68c1d9c7\",\n          \"transactionHash\": \"0xda7a7503eaa8e507e2eb55375a888e87337d08e826e37ecf021cb8ba3765a330\",\n          \"transactionIndex\": \"0x2c\",\n          \"logIndex\": \"0xe1\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc6d566a56a1aff6508b41f6c90ff131615583bcd\",\n          \"topics\": [\n            \"0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7\",\n            \"0x15c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb7474\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000116261736563616d702e626173652e657468000000000000000000000000000000\",\n          \"blockHash\": \"0x86666f8ccb278100cf53842bf3d0afcd0ef26de97c18820d3b82d4adbd246812\",\n          \"blockNumber\": \"0x21bbe72\",\n          \"blockTimestamp\": \"0x68c1d9c7\",\n          \"transactionHash\": \"0xda7a7503eaa8e507e2eb55375a888e87337d08e826e37ecf021cb8ba3765a330\",\n          \"transactionIndex\": \"0x2c\",\n          \"logIndex\": \"0xe2\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb94704422c2a1e396835a571837aa5ae53285a95\",\n          \"topics\": [\n            \"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82\",\n            \"0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10\",\n            \"0x1efd509f11c0e255636c4798aba4db901883a0dfb4a8052ecf386d6677636982\"\n          ],\n          \"data\": \"0x000000000000000000000000feea32fb5a83ffff0ffdec4f853377557ff80224\",\n          \"blockHash\": \"0x86666f8ccb278100cf53842bf3d0afcd0ef26de97c18820d3b82d4adbd246812\",\n          \"blockNumber\": \"0x21bbe72\",\n          \"blockTimestamp\": \"0x68c1d9c7\",\n          \"transactionHash\": \"0xda7a7503eaa8e507e2eb55375a888e87337d08e826e37ecf021cb8ba3765a330\",\n          \"transactionIndex\": \"0x2c\",\n          \"logIndex\": \"0xe3\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6\",\n            \"0x000000000000000000000000feea32fb5a83ffff0ffdec4f853377557ff80224\",\n            \"0x1efd509f11c0e255636c4798aba4db901883a0dfb4a8052ecf386d6677636982\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x86666f8ccb278100cf53842bf3d0afcd0ef26de97c18820d3b82d4adbd246812\",\n          \"blockNumber\": \"0x21bbe72\",\n          \"blockTimestamp\": \"0x68c1d9c7\",\n          \"transactionHash\": \"0xda7a7503eaa8e507e2eb55375a888e87337d08e826e37ecf021cb8ba3765a330\",\n          \"transactionIndex\": \"0x2c\",\n          \"logIndex\": \"0xe4\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xdb18c67f095948c472fd3dcc41e3d504ed98756ea3e692cacd9ce21bd2cd85130000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x86666f8ccb278100cf53842bf3d0afcd0ef26de97c18820d3b82d4adbd246812\",\n          \"blockNumber\": \"0x21bbe72\",\n          \"blockTimestamp\": \"0x68c1d9c7\",\n          \"transactionHash\": \"0xda7a7503eaa8e507e2eb55375a888e87337d08e826e37ecf021cb8ba3765a330\",\n          \"transactionIndex\": \"0x2c\",\n          \"logIndex\": \"0xe5\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x10000008400000001800000040000100000000000c10000001000080140000000000000000000000000000000000000000000000000010000000000000028000000000000000000248000008000000000100040004000000000000100000000000800200000000800000000004000000000000000000400000000010000000000020000000000000000000000800000000000000000040000000040000000000000800000402000048000000040004000004000000000000000000040000020000000002000000000000000000024000000000000000240000000000000000000000000000000000000000000000000002000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xda7a7503eaa8e507e2eb55375a888e87337d08e826e37ecf021cb8ba3765a330\",\n      \"transactionIndex\": \"0x2c\",\n      \"blockHash\": \"0x86666f8ccb278100cf53842bf3d0afcd0ef26de97c18820d3b82d4adbd246812\",\n      \"blockNumber\": \"0x21bbe72\",\n      \"gasUsed\": \"0x4e8f5\",\n      \"effectiveGasPrice\": \"0x23186f\",\n      \"from\": \"0x89ebc5eb7163470e23fcc24833eea6bb93a7b045\",\n      \"to\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n      \"contractAddress\": null,\n      \"l1BaseFeeScalar\": \"0x8dd\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0x101c12\",\n      \"l1Fee\": \"0x2e5e8d3e1\",\n      \"l1GasPrice\": \"0x20f72825\",\n      \"l1GasUsed\": \"0x26be\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1757534662694,\n  \"chain\": 8453,\n  \"commit\": \"ac9c068\"\n}"
  },
  {
    "path": "mainnet/2024-08-27-disburse-basenames/script/DisburseBasenames.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.15;\n\nimport {Registry} from \"basenames/L2/Registry.sol\";\nimport {BaseRegistrar} from \"basenames/L2/BaseRegistrar.sol\";\nimport {L2Resolver, NameResolver, Multicallable} from \"basenames/L2/L2Resolver.sol\";\nimport {BASE_ETH_NODE} from \"basenames/util/Constants.sol\";\nimport {\n    MultisigBuilder,\n    Simulator,\n    IMulticall3,\n    IGnosisSafe,\n    console,\n    Enum\n} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\nimport { Vm } from \"forge-std/Vm.sol\";\n\n\ninterface IERC721 {\n    function safeTransferFrom(address from, address to, uint256 id) external;\n}\n\ninterface AddrResolver {\n    function setAddr(bytes32 node, uint256 cointype, bytes memory addr) external;\n}\n\n\ncontract DisburseBasenames is MultisigBuilder {\n    address internal ECOSYSTEM_MULTISIG = vm.envAddress(\"ECOSYSTEM_MULTISIG\");\n    address internal BASE_REGISTRAR_ADDR = vm.envAddress(\"BASE_REGISTRAR_ADDR\");\n    address internal REGISTRY_ADDR = vm.envAddress(\"REGISTRY_ADDR\");\n    address internal L2_RESOLVER_ADDR = vm.envAddress(\"L2_RESOLVER_ADDR\");\n    uint256 NONCE;\n    uint256 constant ETH_COINTYPE = 60;\n    uint256 constant BASE_COINTYPE = 0x80000000 | 0x00002105;\n\n    function signWithNonce(uint256 nonce_) public {\n        NONCE = nonce_;\n        sign();\n    }\n\n    function executeWithNonce(uint256 nonce_, bytes calldata signatures) public {\n        NONCE = nonce_;\n        run(signatures);\n    }\n\n    struct Disbursement {\n        Single[] singles;\n    }\n\n    struct Single {\n        address addr;\n        string name;\n    }\n\n    function _parseFile() internal view returns (Disbursement memory) {\n        string memory json = vm.readFile(\"disbursement.json\");\n        bytes memory data = vm.parseJson(json);\n        return abi.decode(data, (Disbursement));\n    } \n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        Disbursement memory allData = _parseFile();\n        uint256 callcount = allData.singles.length * 5; // 5 calls per disbursement\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](callcount);\n\n        uint256 accumulator;\n        for(uint256 i; i < allData.singles.length; i++) {\n            IMulticall3.Call3[] memory singleCalls = new IMulticall3.Call3[](5);\n            singleCalls = _buildCallsForSingle(allData.singles[i]);\n            calls[accumulator++] = singleCalls[0];\n            calls[accumulator++] = singleCalls[1];\n            calls[accumulator++] = singleCalls[2];\n            calls[accumulator++] = singleCalls[3];\n            calls[accumulator++] = singleCalls[4];\n        }\n\n        return calls;\n    }\n\n    function _buildCallsForSingle(Single memory single) internal view returns (IMulticall3.Call3[] memory) {\n        uint256 id = _getIdFromName(single.name);\n        address addr = single.addr;\n        string memory name = single.name;\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](5);\n\n        // CALL 0 :: call reclaim to give the multisig permission to edit records for this name.\n        calls[0] = IMulticall3.Call3({\n            target: BASE_REGISTRAR_ADDR,\n            allowFailure: false,\n            callData: abi.encodeWithSelector(BaseRegistrar.reclaim.selector, id, ECOSYSTEM_MULTISIG)\n        });\n\n        // CALL 1 :: set the L2 resolver as the resolver for the node in the regsitry \n        calls[1] = IMulticall3.Call3({\n            target: REGISTRY_ADDR,\n            allowFailure: false,\n            callData: abi.encodeWithSelector(Registry.setResolver.selector, _getNodeFromId(id), L2_RESOLVER_ADDR)\n        });\n\n        // CALL 2 :: set the resolver data for the name using `setAddr` and `setName` encoded for multicall.\n        calls[2] = IMulticall3.Call3({\n            target: L2_RESOLVER_ADDR,\n            allowFailure: false,\n            callData: _buildResolverData(_getNodeFromId(id), addr, name)\n        });\n\n        // CALL 3 :: call reclaim on behalf of the new owner. \n        calls[3] = IMulticall3.Call3({\n            target: BASE_REGISTRAR_ADDR,\n            allowFailure: false,\n            callData: abi.encodeWithSelector(BaseRegistrar.reclaim.selector, id, addr)\n        });\n\n        // CALL 4 :: call safeTransferFrom to transfer the name to the new owner. \n        calls[4] = IMulticall3.Call3({\n            target: BASE_REGISTRAR_ADDR,\n            allowFailure: false,\n            callData: abi.encodeWithSelector(IERC721.safeTransferFrom.selector, ECOSYSTEM_MULTISIG, addr, id)\n        });\n\n        return calls;\n    }\n\n    function _getNodeFromId(uint256 id) internal pure returns (bytes32 node) {\n        node = keccak256(abi.encodePacked(BASE_ETH_NODE, bytes32(id)));\n    }\n\n    function _getIdFromName(string memory name) internal pure returns (uint256 id) {\n        id = uint256(keccak256(bytes(name)));\n    }\n\n    function _buildResolverData(bytes32 node, address addr, string memory name) internal pure returns (bytes memory data) {\n        bytes[] memory multicallData = new bytes[](3);\n        multicallData[0] = abi.encodeWithSelector(AddrResolver.setAddr.selector, node, ETH_COINTYPE, _addressToBytes(addr));\n        multicallData[1] = abi.encodeWithSelector(AddrResolver.setAddr.selector, node, BASE_COINTYPE, _addressToBytes(addr));\n        multicallData[2] = abi.encodeWithSelector(NameResolver.setName.selector, node, string.concat(name,\".base.eth\"));\n        return abi.encodeWithSelector(Multicallable.multicallWithNodeCheck.selector, node, multicallData);\n    }\n\n    /// @dev Multisig overrides for simulation and execution\n    function _ownerSafe() internal override view returns (address) {\n        return ECOSYSTEM_MULTISIG;\n    }\n\n    function _addOverrides(address _safe) internal override view returns (SimulationStateOverride memory) {\n        IGnosisSafe safe = IGnosisSafe(payable(_safe));\n        uint256 _nonce = _getNonce(safe);\n        return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce);\n    }\n\n    function _getNonce(IGnosisSafe) internal view override returns (uint256) {\n        return NONCE;\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal view override {\n        Disbursement memory data = _parseFile();\n        for(uint256 i; i < data.singles.length; i++){\n            Single memory s = data.singles[i];\n            bytes32 node = _getNodeFromId(_getIdFromName(s.name));\n            assert(Registry(REGISTRY_ADDR).owner(_getNodeFromId(_getIdFromName(s.name))) == s.addr);\n            assert(Registry(REGISTRY_ADDR).resolver(_getNodeFromId(_getIdFromName(s.name))) == L2_RESOLVER_ADDR);\n            assert(BaseRegistrar(BASE_REGISTRAR_ADDR).ownerOf(_getIdFromName(s.name)) == s.addr);\n            assert(L2Resolver(L2_RESOLVER_ADDR).addr(node) == s.addr);\n            assert(keccak256(bytes(L2Resolver(L2_RESOLVER_ADDR).name(node))) == keccak256(bytes(string.concat(s.name,\".base.eth\"))));\n        }\n    }\n\n    function _addressToBytes(address a) internal pure returns (bytes memory b) {\n        b = new bytes(20);\n        assembly {\n            mstore(add(b, 32), mul(a, exp(256, 12)))\n        }\n    }\n}\n"
  },
  {
    "path": "mainnet/2024-09-23-increase-gas-limit/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: sign-upgrade\nsign-upgrade: \n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \\\n\t--sig \"sign()\"\n\n.PHONY: execute-upgrade\nexecute-upgrade:\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n\n.PHONY: sign-rollback\nsign-rollback: \n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \\\n\t--sig \"sign()\"\n\n\n.PHONY: execute-rollback\nexecute-rollback:\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2024-09-23-increase-gas-limit/README.md",
    "content": "# Update Gas Limit in L1 `SystemConfig` \n\nStatus: DONE\n\n## Objective\n\nWe are updating the gas limit to improve TPS and reduce gas fees. \n\nThis runbook invokes two scripts which allow our signers to sign two different calls for our Incident Multisig, which are both defined in the [base-org/contracts](https://github.com/base-org/contracts) repository:\n1. `UpgradeGasLimit` -- This script will update the gas limit to our new limit of 120M gas\n2. `RollbackGasLimit` -- This script establishes a rollback call in the case we need to revert to  gas\n\nThe values we are sending are statically defined in the `.env`.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow \n> the flow for both \"Approving the Update transaction\" and \n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed. \n\n## Approving the Upgrade transaction\n\n### 1. Update repo and move to the appropriate folder:\n```\ncd contract-deployments\ngit pull\ncd mainnet/2024-09-23-increase-gas-limit\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n``` shell\nmake sign-upgrade\n```\n\nOnce you run the `make sign...` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark \n\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 31 to 32:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000031\nAfter: 0x00000000000000000000000000000000000000000000000000000000000000032\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 120M to 132M:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x0000000000000000000000000000000000000000000000000000000007270E00\nAfter: 0x0000000000000000000000000000000000000000000000000000000007DE2900\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n``` shell\nmake sign-upgrade\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n\n## Approving the Rollback transaction\n\nComplete the above steps for `Approving the Update transaction` before continuing below.\n\n### 1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n``` shell\nmake sign-rollback\n```\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output. Once again paste this URL in your browser and click \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark \n\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x00000000000000000000000000000000000000000000000000000000000000032\nAfter: 0x00000000000000000000000000000000000000000000000000000000000000033\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x0000000000000000000000000000000000000000000000000000000007DE2900\nAfter: 0x0000000000000000000000000000000000000000000000000000000007270E00\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n``` shell\nmake sign-rollback\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\n   SIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make execute-upgrade`\n\n> [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK\n> Repeat the above, but replace the signatures with the signed\n> rollback signatures collected, the call `make execute-rollback`\n"
  },
  {
    "path": "mainnet/2024-09-23-increase-gas-limit/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2024-09-23-increase-gas-limit/records/UpgradeGasLimit.sol/1/run-1727285381.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xae5e258b1c25a09a6357acb235de36ff077f7e0f0206de9cba222f97b01c21a6\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000007de290000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x017ff79766835f103551eaa646554b2292747942ca6e85d386d14a8f0c2cc82921657ea5aaba836a712b9573111a2198456350d4a04a0e5dbf927df64686b6621ca2247b84262a7ead7cbbdbf1ee3cf24461b17666409bafa7f1744b9501c2127c6e8e1a02612f4bbae23fbc90cd8768e17b9be6b74517504c3bd5fc3253ab95cf1b531ff49878d813d701adbd4515b25fd6061e3b1789e7f3546398b6790576f3494d972f8464a8d80bc965c0dac7ad2a04ce0495b5e8cb540488e4271a7d24d3761b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x26c72586fb396325f58718152fefa94e93cf177b\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x203dc\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000007de2900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3017ff79766835f103551eaa646554b2292747942ca6e85d386d14a8f0c2cc82921657ea5aaba836a712b9573111a2198456350d4a04a0e5dbf927df64686b6621ca2247b84262a7ead7cbbdbf1ee3cf24461b17666409bafa7f1744b9501c2127c6e8e1a02612f4bbae23fbc90cd8768e17b9be6b74517504c3bd5fc3253ab95cf1b531ff49878d813d701adbd4515b25fd6061e3b1789e7f3546398b6790576f3494d972f8464a8d80bc965c0dac7ad2a04ce0495b5e8cb540488e4271a7d24d3761b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x0\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xb05935\",\n      \"logs\": [\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000002\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000007de2900\",\n          \"blockHash\": \"0x1178bcf4fbd6ed52be60f51744b018c040371a8837957427e92f0b036a439d4a\",\n          \"blockNumber\": \"0x13dd3bf\",\n          \"transactionHash\": \"0xae5e258b1c25a09a6357acb235de36ff077f7e0f0206de9cba222f97b01c21a6\",\n          \"transactionIndex\": \"0x7c\",\n          \"logIndex\": \"0x176\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x2fdf94d3ee5d3c2b1adbcead732f1c2130e4f96a36bc75676f0cf2a5c3e7d08f0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x1178bcf4fbd6ed52be60f51744b018c040371a8837957427e92f0b036a439d4a\",\n          \"blockNumber\": \"0x13dd3bf\",\n          \"transactionHash\": \"0xae5e258b1c25a09a6357acb235de36ff077f7e0f0206de9cba222f97b01c21a6\",\n          \"transactionIndex\": \"0x7c\",\n          \"logIndex\": \"0x177\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xae5e258b1c25a09a6357acb235de36ff077f7e0f0206de9cba222f97b01c21a6\",\n      \"transactionIndex\": \"0x7c\",\n      \"blockHash\": \"0x1178bcf4fbd6ed52be60f51744b018c040371a8837957427e92f0b036a439d4a\",\n      \"blockNumber\": \"0x13dd3bf\",\n      \"gasUsed\": \"0x160ba\",\n      \"effectiveGasPrice\": \"0x676411ab4\",\n      \"from\": \"0x26c72586fb396325f58718152fefa94e93cf177b\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1727285381,\n  \"chain\": 1,\n  \"commit\": \"0f4b41a\"\n}"
  },
  {
    "path": "mainnet/2024-10-01-increase-gas-limit/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: sign-upgrade\nsign-upgrade: \n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \\\n\t--sig \"sign()\"\n\n.PHONY: execute-upgrade\nexecute-upgrade:\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n\n.PHONY: sign-rollback\nsign-rollback: \n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \\\n\t--sig \"sign()\"\n\n\n.PHONY: execute-rollback\nexecute-rollback:\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2024-10-01-increase-gas-limit/README.md",
    "content": "# Update Gas Limit in L1 `SystemConfig` \n\nStatus: DONE\n\n## Objective\n\nWe are updating the gas limit to improve TPS and reduce gas fees. \n\nThis runbook invokes two scripts which allow our signers to sign two different calls for our Incident Multisig, which are both defined in the [base-org/contracts](https://github.com/base-org/contracts) repository:\n1. `UpgradeGasLimit` -- This script will update the gas limit to our new limit of 144M gas\n2. `RollbackGasLimit` -- This script establishes a rollback call in the case we need to revert to  gas\n\nThe values we are sending are statically defined in the `.env`.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow \n> the flow for both \"Approving the Update transaction\" and \n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed. \n\n## Approving the Upgrade transaction\n\n### 1. Update repo and move to the appropriate folder:\n```\ncd contract-deployments\ngit pull\ncd mainnet/2024-09-23-increase-gas-limit\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n``` shell\nmake sign-upgrade\n```\n\nOnce you run the `make sign...` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark \n\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 32 to 33:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000020\nAfter: 0x00000000000000000000000000000000000000000000000000000000000000021\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 132M to 144M:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x0000000000000000000000000000000000000000000000000000000007DE2900\nAfter: 0x0000000000000000000000000000000000000000000000000000000008954400\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n``` shell\nmake sign-upgrade\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n\n## Approving the Rollback transaction\n\nComplete the above steps for `Approving the Update transaction` before continuing below.\n\n### 1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n``` shell\nmake sign-rollback\n```\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output. Once again paste this URL in your browser and click \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark \n\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x00000000000000000000000000000000000000000000000000000000000000021\nAfter: 0x00000000000000000000000000000000000000000000000000000000000000022\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x0000000000000000000000000000000000000000000000000000000008954400\nAfter: 0x0000000000000000000000000000000000000000000000000000000007DE2900\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n``` shell\nmake sign-rollback\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\n   SIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make execute-upgrade`\n\n> [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK\n> Repeat the above, but replace the signatures with the signed\n> rollback signatures collected, the call `make execute-rollback`\n"
  },
  {
    "path": "mainnet/2024-10-01-increase-gas-limit/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2024-10-01-increase-gas-limit/records/UpgradeGasLimit.sol/1/run-1727888979.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xed7e69063c77704b24d882df61e0640f92fc81c1f696a27e7814720a665c81dc\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000895440000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xe20392ad9d53434f8d8e8a494ecc8df24d4c397053473b14f093dc1a944e35a374761628c12c8c12c2c05453575c6a4cef651743438df6a77c09bd92187aacb01b4f6ff10fe354e4c4ec89a339b2ddcc8e57a5d7ed3b6de47a09e399ae8892038b3fa6c7de3d34b55f4ec78d9fa1424701f6d0f2a5c67608c5a543719ade066f8d1c7d9179112e06b3aab0209f941af28b212c316a3132767acaa1bf14e0f10d64a7262e34b5dc2fa3e8879d80d9e3155cd9398a0bd81de93ac7173a77509447bdf01c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x26c72586fb396325f58718152fefa94e93cf177b\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x203dc\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000008954400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3e20392ad9d53434f8d8e8a494ecc8df24d4c397053473b14f093dc1a944e35a374761628c12c8c12c2c05453575c6a4cef651743438df6a77c09bd92187aacb01b4f6ff10fe354e4c4ec89a339b2ddcc8e57a5d7ed3b6de47a09e399ae8892038b3fa6c7de3d34b55f4ec78d9fa1424701f6d0f2a5c67608c5a543719ade066f8d1c7d9179112e06b3aab0209f941af28b212c316a3132767acaa1bf14e0f10d64a7262e34b5dc2fa3e8879d80d9e3155cd9398a0bd81de93ac7173a77509447bdf01c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x1\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x151603f\",\n      \"logs\": [\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000002\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000008954400\",\n          \"blockHash\": \"0x4b3300ae320cf29ce2c64815bd02bdeedb11c12adf30b504f6ece51bba2ace08\",\n          \"blockNumber\": \"0x13e9770\",\n          \"transactionHash\": \"0xed7e69063c77704b24d882df61e0640f92fc81c1f696a27e7814720a665c81dc\",\n          \"transactionIndex\": \"0x81\",\n          \"logIndex\": \"0x245\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xfcf91431b8866c0f985d7f59d82af1f1ad64f6e94739b2124c454b17699684af0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x4b3300ae320cf29ce2c64815bd02bdeedb11c12adf30b504f6ece51bba2ace08\",\n          \"blockNumber\": \"0x13e9770\",\n          \"transactionHash\": \"0xed7e69063c77704b24d882df61e0640f92fc81c1f696a27e7814720a665c81dc\",\n          \"transactionIndex\": \"0x81\",\n          \"logIndex\": \"0x246\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xed7e69063c77704b24d882df61e0640f92fc81c1f696a27e7814720a665c81dc\",\n      \"transactionIndex\": \"0x81\",\n      \"blockHash\": \"0x4b3300ae320cf29ce2c64815bd02bdeedb11c12adf30b504f6ece51bba2ace08\",\n      \"blockNumber\": \"0x13e9770\",\n      \"gasUsed\": \"0x160ba\",\n      \"effectiveGasPrice\": \"0x86b1b9398\",\n      \"from\": \"0x26c72586fb396325f58718152fefa94e93cf177b\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1727888979,\n  \"chain\": 1,\n  \"commit\": \"c886565\"\n}"
  },
  {
    "path": "mainnet/2024-10-08-increase-gas-limit/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: sign-upgrade\nsign-upgrade:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \\\n\t--sig \"sign()\"\n\n.PHONY: execute-upgrade\nexecute-upgrade:\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n\n.PHONY: sign-rollback\nsign-rollback:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \\\n\t--sig \"sign()\"\n\n\n.PHONY: execute-rollback\nexecute-rollback:\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2024-10-08-increase-gas-limit/README.md",
    "content": "# Update Gas Limit in L1 `SystemConfig`\n\nStatus: DONE\n\n## Objective\n\nWe are updating the gas limit to improve TPS and reduce gas fees.\n\nThis runbook invokes two scripts which allow our signers to sign two different calls for our Incident Multisig, which are both defined in the [base-org/contracts](https://github.com/base-org/contracts) repository:\n\n1. `UpgradeGasLimit` -- This script will update the gas limit to our new limit of 156M gas\n2. `RollbackGasLimit` -- This script establishes a rollback call in the case we need to revert to gas\n\nThe values we are sending are statically defined in the `.env`.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow\n> the flow for both \"Approving the Update transaction\" and\n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed.\n\n## Approving the Upgrade transaction\n\n### 1. Update repo and move to the appropriate folder:\n\n```\ncd contract-deployments\ngit pull\ncd mainnet/2024-10-08-increase-gas-limit\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-upgrade\n```\n\nOnce you run the `make sign...` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 38 to 39:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000026\nAfter: 0x00000000000000000000000000000000000000000000000000000000000000027\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 144M to 156M:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x0000000000000000000000000000000000000000000000000000000008954400\nAfter: 0x00000000000000000000000000000000000000000000000000000000094c5f00\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-upgrade\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Approving the Rollback transaction\n\nComplete the above steps for `Approving the Update transaction` before continuing below.\n\n### 1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-rollback\n```\n\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output. Once again paste this URL in your browser and click \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x00000000000000000000000000000000000000000000000000000000000000027\nAfter: 0x00000000000000000000000000000000000000000000000000000000000000028\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x00000000000000000000000000000000000000000000000000000000094c5f00\nAfter: 0x0000000000000000000000000000000000000000000000000000000008954400\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-rollback\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make execute-upgrade`\n\n> [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK\n> Repeat the above, but replace the signatures with the signed\n> rollback signatures collected, the call `make execute-rollback`\n"
  },
  {
    "path": "mainnet/2024-10-08-increase-gas-limit/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2024-10-08-increase-gas-limit/records/UpgradeGasLimit.sol/1/run-1728494142.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xc9a0ada8d8b54df3e3459478972a336a7253c4881bc9c46c39b01a9be644b9d9\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c00000000000000000000000000000000000000000000000000000000094c5f0000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xefd839548737efa749602c32b4a5575d09fbd058ed0e7554b29de60492dc97ca250190d61946528dcc8fba42b8bf397708ff9df92d4f5b665a06021f1075e03b1c328748d63c46414f28a0a649b3626af38f2e9d90f3896cdc4287d24e73bfce6b6cd468c05ec06f3ecf6f0c8695e82ad6286cc4eb19134333655a2f79cf9e9df21cddce3a7652c14c4fc6ccfb1f32b4f1456843a6dbd91d66075010f19fbfeb3bad5ff1a76ad304a78ee6745785ebadf320e84294b067542f849d9ca9c27abb81371b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x26c72586fb396325f58718152fefa94e93cf177b\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x203dc\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c00000000000000000000000000000000000000000000000000000000094c5f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3efd839548737efa749602c32b4a5575d09fbd058ed0e7554b29de60492dc97ca250190d61946528dcc8fba42b8bf397708ff9df92d4f5b665a06021f1075e03b1c328748d63c46414f28a0a649b3626af38f2e9d90f3896cdc4287d24e73bfce6b6cd468c05ec06f3ecf6f0c8695e82ad6286cc4eb19134333655a2f79cf9e9df21cddce3a7652c14c4fc6ccfb1f32b4f1456843a6dbd91d66075010f19fbfeb3bad5ff1a76ad304a78ee6745785ebadf320e84294b067542f849d9ca9c27abb81371b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x3\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xd6b3aa\",\n      \"logs\": [\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000002\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000094c5f00\",\n          \"blockHash\": \"0xdda4e1c3ab7af1b072d9a166f33c01789fef74ffdd45c301a06a8fecad8e5f30\",\n          \"blockNumber\": \"0x13f5bba\",\n          \"transactionHash\": \"0xc9a0ada8d8b54df3e3459478972a336a7253c4881bc9c46c39b01a9be644b9d9\",\n          \"transactionIndex\": \"0x7b\",\n          \"logIndex\": \"0x212\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x61540d905a1cb953f53e6adf26e77e3ea285d23e1385226ae0c4dc697797fc9f0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xdda4e1c3ab7af1b072d9a166f33c01789fef74ffdd45c301a06a8fecad8e5f30\",\n          \"blockNumber\": \"0x13f5bba\",\n          \"transactionHash\": \"0xc9a0ada8d8b54df3e3459478972a336a7253c4881bc9c46c39b01a9be644b9d9\",\n          \"transactionIndex\": \"0x7b\",\n          \"logIndex\": \"0x213\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xc9a0ada8d8b54df3e3459478972a336a7253c4881bc9c46c39b01a9be644b9d9\",\n      \"transactionIndex\": \"0x7b\",\n      \"blockHash\": \"0xdda4e1c3ab7af1b072d9a166f33c01789fef74ffdd45c301a06a8fecad8e5f30\",\n      \"blockNumber\": \"0x13f5bba\",\n      \"gasUsed\": \"0x160ba\",\n      \"effectiveGasPrice\": \"0x807f2c9f6\",\n      \"from\": \"0x26c72586fb396325f58718152fefa94e93cf177b\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1728494142,\n  \"chain\": 1,\n  \"commit\": \"6807e75\"\n}"
  },
  {
    "path": "mainnet/2024-10-15-increase-gas-limit/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: sign-upgrade\nsign-upgrade:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \\\n\t--sig \"sign()\"\n\n.PHONY: execute-upgrade\nexecute-upgrade:\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n\n.PHONY: sign-rollback\nsign-rollback:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \\\n\t--sig \"sign()\"\n\n\n.PHONY: execute-rollback\nexecute-rollback:\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2024-10-15-increase-gas-limit/README.md",
    "content": "# Update Gas Limit in L1 `SystemConfig`\n\nStatus: DONE\n\n## Objective\n\nWe are updating the gas limit to improve TPS and reduce gas fees.\n\nThis runbook invokes two scripts which allow our signers to sign two different calls for our Incident Multisig, which are both defined in the [base-org/contracts](https://github.com/base-org/contracts) repository:\n\n1. `UpgradeGasLimit` -- This script will update the gas limit to our new limit of 168M gas\n2. `RollbackGasLimit` -- This script establishes a rollback call in the case we need to revert to gas\n\nThe values we are sending are statically defined in the `.env`.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow\n> the flow for both \"Approving the Update transaction\" and\n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed.\n\n## Approving the Upgrade transaction\n\n### 1. Update repo and move to the appropriate folder:\n\n```\ncd contract-deployments\ngit pull\ncd mainnet/2024-10-15-increase-gas-limit\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-upgrade\n```\n\nOnce you run the `make sign...` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 39 to 40:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000027\nAfter: 0x00000000000000000000000000000000000000000000000000000000000000028\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 156M to 168M:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x00000000000000000000000000000000000000000000000000000000094c5f00\nAfter: 0x000000000000000000000000000000000000000000000000000000000a037a00\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-upgrade\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Approving the Rollback transaction\n\nComplete the above steps for `Approving the Update transaction` before continuing below.\n\n### 1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-rollback\n```\n\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output. Once again paste this URL in your browser and click \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x00000000000000000000000000000000000000000000000000000000000000028\nAfter: 0x00000000000000000000000000000000000000000000000000000000000000029\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x000000000000000000000000000000000000000000000000000000000a037a00\nAfter: 0x00000000000000000000000000000000000000000000000000000000094c5f00\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-rollback\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make execute-upgrade`\n\n> [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK\n> Repeat the above, but replace the signatures with the signed\n> rollback signatures collected, the call `make execute-rollback`\n"
  },
  {
    "path": "mainnet/2024-10-15-increase-gas-limit/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2024-10-15-increase-gas-limit/records/UpgradeGasLimit.sol/1/run-1729105634.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x81e2e685546af58cd2a7d3616b7a7c409adaba4011dd30b34299b2418136d1e6\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000a037a0000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x65b913acf6667e62c73a4db4cf4e51eada9fe6bc3e548125e32c624ea162e03209c83650715abd8d335c42ed9d68559819e8059a76b80d892d69c1910a8e398c1bb084346d289c38ee73e8cfaa34f34ed63e1f4889064abdda737d0b28dab46cc82014610c0ec773fc5fdbab62817456d904b9b808120dd9f01fdb30e12b21117d1beeb21f6289490f3f5fc1936b53590ff8817bdc0ce36577fc3707455cdc755fa22bc902dfcfc1bd215ee8246c223a88da4098c40e4504230bb5e05f410fbcbb8d1c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x26c72586fb396325f58718152fefa94e93cf177b\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x203dc\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000a037a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c365b913acf6667e62c73a4db4cf4e51eada9fe6bc3e548125e32c624ea162e03209c83650715abd8d335c42ed9d68559819e8059a76b80d892d69c1910a8e398c1bb084346d289c38ee73e8cfaa34f34ed63e1f4889064abdda737d0b28dab46cc82014610c0ec773fc5fdbab62817456d904b9b808120dd9f01fdb30e12b21117d1beeb21f6289490f3f5fc1936b53590ff8817bdc0ce36577fc3707455cdc755fa22bc902dfcfc1bd215ee8246c223a88da4098c40e4504230bb5e05f410fbcbb8d1c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x4\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x2b8901\",\n      \"logs\": [\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000002\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000a037a00\",\n          \"blockHash\": \"0xf3105decf57433939e4ac5dc4fb5861b6649a7e575b57a3bd0c07c349a17ccae\",\n          \"blockNumber\": \"0x140218c\",\n          \"transactionHash\": \"0x81e2e685546af58cd2a7d3616b7a7c409adaba4011dd30b34299b2418136d1e6\",\n          \"transactionIndex\": \"0x33\",\n          \"logIndex\": \"0x4f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x50d5498ecfdf96896c94a91acdbe59d23a61898e76cec54e32c651f02691a8ec0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xf3105decf57433939e4ac5dc4fb5861b6649a7e575b57a3bd0c07c349a17ccae\",\n          \"blockNumber\": \"0x140218c\",\n          \"transactionHash\": \"0x81e2e685546af58cd2a7d3616b7a7c409adaba4011dd30b34299b2418136d1e6\",\n          \"transactionIndex\": \"0x33\",\n          \"logIndex\": \"0x50\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x81e2e685546af58cd2a7d3616b7a7c409adaba4011dd30b34299b2418136d1e6\",\n      \"transactionIndex\": \"0x33\",\n      \"blockHash\": \"0xf3105decf57433939e4ac5dc4fb5861b6649a7e575b57a3bd0c07c349a17ccae\",\n      \"blockNumber\": \"0x140218c\",\n      \"gasUsed\": \"0x160ba\",\n      \"effectiveGasPrice\": \"0x38a14f11b\",\n      \"from\": \"0x26c72586fb396325f58718152fefa94e93cf177b\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1729105634,\n  \"chain\": 1,\n  \"commit\": \"38f9bf6\"\n}"
  },
  {
    "path": "mainnet/2024-10-22-increase-gas-limit/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: sign-upgrade\nsign-upgrade:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \\\n\t--sig \"sign()\"\n\n.PHONY: execute-upgrade\nexecute-upgrade:\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n\n.PHONY: sign-rollback\nsign-rollback:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \\\n\t--sig \"sign()\"\n\n\n.PHONY: execute-rollback\nexecute-rollback:\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2024-10-22-increase-gas-limit/README.md",
    "content": "# Update Gas Limit in L1 `SystemConfig`\n\nStatus: DONE\n\n## Objective\n\nWe are updating the gas limit to improve TPS and reduce gas fees.\n\nThis runbook invokes two scripts which allow our signers to sign two different calls for our Incident Multisig, which are both defined in the [base-org/contracts](https://github.com/base-org/contracts) repository:\n\n1. `UpgradeGasLimit` -- This script will update the gas limit to our new limit of 180M gas\n2. `RollbackGasLimit` -- This script establishes a rollback call in the case we need to revert to gas\n\nThe values we are sending are statically defined in the `.env`.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow\n> the flow for both \"Approving the Update transaction\" and\n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed.\n\n## Approving the Upgrade transaction\n\n### 1. Update repo and move to the appropriate folder:\n\n```\ncd contract-deployments\ngit pull\ncd mainnet/2024-10-22-increase-gas-limit\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-upgrade\n```\n\nOnce you run the `make sign...` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 40 to 41:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000028\nAfter: 0x00000000000000000000000000000000000000000000000000000000000000029\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 168M to 180M:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x00000000000000000000000000000000000000000000000000000000a037a00\nAfter: 0x000000000000000000000000000000000000000000000000000000000aba9500\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-upgrade\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Approving the Rollback transaction\n\nComplete the above steps for `Approving the Update transaction` before continuing below.\n\n### 1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-rollback\n```\n\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output. Once again paste this URL in your browser and click \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x00000000000000000000000000000000000000000000000000000000000000029\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000002a\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x000000000000000000000000000000000000000000000000000000000aba9500\nAfter: 0x00000000000000000000000000000000000000000000000000000000a037a00\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-rollback\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make execute-upgrade`\n\n> [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK\n> Repeat the above, but replace the signatures with the signed\n> rollback signatures collected, the call `make execute-rollback`\n"
  },
  {
    "path": "mainnet/2024-10-22-increase-gas-limit/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2024-10-22-increase-gas-limit/records/UpgradeGasLimit.sol/1/run-1729703140.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x967ae038f533ae45588fbc24417079d87fc7c56fd548f925f1e84c7cf4bd11e6\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000aba950000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xbae61e31c37a835dd25e2412de67d186f0895234a3d83b29952cf349de95d4f61e1d7147c3179a2aea6a9064cc9544fbad4f1c0aca34a249f46cd41a1b56a7741b3c887d1fb6e978f46a6aa2da461c92e50e3bba673ea998d7591fb5d4292b86ab613ea4f43ea0355afd3a562f47ee879dc2de1b565e73484b243059dae0fb01bd1bc6e740112bdc7a0f468366a17261a9c499f39395be36628836ddcb2939fdc6fb00b22343c1cb14d40a455646c5a4c0d5febee2cf3d99bfdc9212d0efb50834661b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x26c72586fb396325f58718152fefa94e93cf177b\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x1e722\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000aba9500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3bae61e31c37a835dd25e2412de67d186f0895234a3d83b29952cf349de95d4f61e1d7147c3179a2aea6a9064cc9544fbad4f1c0aca34a249f46cd41a1b56a7741b3c887d1fb6e978f46a6aa2da461c92e50e3bba673ea998d7591fb5d4292b86ab613ea4f43ea0355afd3a562f47ee879dc2de1b565e73484b243059dae0fb01bd1bc6e740112bdc7a0f468366a17261a9c499f39395be36628836ddcb2939fdc6fb00b22343c1cb14d40a455646c5a4c0d5febee2cf3d99bfdc9212d0efb50834661b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x5\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xb02a80\",\n      \"logs\": [\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000002\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000aba9500\",\n          \"blockHash\": \"0xff408cbea48b007589b1f8b8b661aa827bcae34d117f94a567969c19a958e8b6\",\n          \"blockNumber\": \"0x140e325\",\n          \"transactionHash\": \"0x967ae038f533ae45588fbc24417079d87fc7c56fd548f925f1e84c7cf4bd11e6\",\n          \"transactionIndex\": \"0xb6\",\n          \"logIndex\": \"0xce\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x829d0f3f028a052136212c66ba3397d03615bd87111206838dc089bc8a2ea1e60000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xff408cbea48b007589b1f8b8b661aa827bcae34d117f94a567969c19a958e8b6\",\n          \"blockNumber\": \"0x140e325\",\n          \"transactionHash\": \"0x967ae038f533ae45588fbc24417079d87fc7c56fd548f925f1e84c7cf4bd11e6\",\n          \"transactionIndex\": \"0xb6\",\n          \"logIndex\": \"0xcf\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x967ae038f533ae45588fbc24417079d87fc7c56fd548f925f1e84c7cf4bd11e6\",\n      \"transactionIndex\": \"0xb6\",\n      \"blockHash\": \"0xff408cbea48b007589b1f8b8b661aa827bcae34d117f94a567969c19a958e8b6\",\n      \"blockNumber\": \"0x140e325\",\n      \"gasUsed\": \"0x160ae\",\n      \"effectiveGasPrice\": \"0x75b842ac4\",\n      \"from\": \"0x26c72586fb396325f58718152fefa94e93cf177b\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1729703140,\n  \"chain\": 1,\n  \"commit\": \"365a08a\"\n}"
  },
  {
    "path": "mainnet/2024-11-18-increase-max-gas-limit/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n# Overwriting this from top level makefile to change the branch\n.PHONY: checkout-op-commit\ncheckout-op-commit:\n\trm -rf lib/optimism\n\tmkdir -p lib/optimism\n\tcd lib/optimism; \\\n\tgit init; \\\n\tgit remote add origin $(OPTIMISM_REPO); \\\n\tgit fetch --depth=1 origin tag $(OPTIMISM_VERSION) --no-tags; \\\n\tgit checkout $(OPTIMISM_VERSION); \\\n\tgit apply ../../$(OPTIMISM_CONTRACT_PATCH)\n\n\n.PHONY: deploy\ndeploy:\n\tforge script --rpc-url $(L1_RPC_URL) DeploySystemConfig --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --verify --broadcast\n\n.PHONY: sign-cb\nsign-cb:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfig \\\n\t--sig \"sign(address)\" $(CB_MULTISIG)\n\n.PHONY: sign-op\nsign-op:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfig \\\n\t--sig \"sign(address)\" $(OP_MULTISIG)\n\n.PHONY: approve-cb\napprove-cb:\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfig \\\n\t--sig \"approve(address,bytes)\" $(CB_MULTISIG) $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n.PHONY: approve-op\napprove-op:\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfig \\\n\t--sig \"approve(address,bytes)\" $(OP_MULTISIG) $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n.PHONY: run-upgrade\nrun-upgrade:\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfig \\\n\t--sig \"run()\" --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2024-11-18-increase-max-gas-limit/README.md",
    "content": "# [EXECUTED] Upgrade to new system config with 400m max gas limit\nexecution hash: https://etherscan.io/tx/0x1fdbb2443b479fedc7a6e43400a5f09c883aa00d3e7b40bc7238a08e43625294\n\n## Objective\n\nBase is continuing to scale and we need higher block gas limit to support the increased demand. In this upgrade, we will change the SystemConfig implementation to a patched version\nthat sets the max gas limit to 400m.\n\n## Approving the transaction\n\n### 1. Update repo and move to the appropriate folder:\n\n```\ncd contract-deployments\ngit pull\ncd mainnet/2024-11-18-increase-max-gas-limit\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n``` shell\nmake sign-op # or make sign-cb for Coinbase signers\n```\n\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark \n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Nested Multisig under the \"GnosisSafeProxy\" at address `0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c`: Double confirm with [Base Contracts](https://docs.base.org/docs/base-contracts/#base-mainnet-1) `Proxy Admin Owner (L1)`\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000003\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000004\n```\n\n2. And for the same contract, verify that another key is set from 0 to 1 reflecting an entry in the approvedHashes mapping:\n\n```\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000000\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000001\n```\n\n3. Verify that the nonce is incremented for your multisig.\n\nIf you are an OP signer - the OP Foundation Multisig should be under the \"GnosisSafeProxy\" at address `0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A`: Double confirm with [Base Contracts](https://docs.base.org/docs/base-contracts/#base-mainnet-1) `L1 Nested Safe Signer (Optimism)`\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000060\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000061\n```\n\nIf you are a CB signer - the Coinbase Multisig should be under the address `0x9855054731540A48b28990B63DcF4f33d8AE46A1`: Double confirm with [Base Contracts](https://docs.base.org/docs/base-contracts/#base-mainnet-1) `L1 Nested Safe Signer (Coinbase)`\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x000000000000000000000000000000000000000000000000000000000000000f\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000010\n```\n\n1. Verify that the state changes for Base SystemConfigProxy `0x73a79Fab69143498Ed3712e519A88a918e1f4072` are correctly pointing to the new implementation: Double confirm with [Base Contracts](https://docs.base.org/docs/base-contracts/#ethereum-mainnet) `System Config`\n\n```\nKey: 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\nBefore: 0x000000000000000000000000f56d96b2535b932656d3c04ebf51babff241d886\nAfter: 0x00000000000000000000000045c4e267ae21e90f72c8abf43ddb5941c953482f\n```\n\nCurrent implementation: [0xf56d96b2535b932656d3c04ebf51babff241d886](https://etherscan.io/address/0xf56d96b2535b932656d3c04ebf51babff241d886#code)\n\nNew implementation: [0x45c4e267ae21e90f72c8abf43ddb5941c953482f](https://etherscan.io/address/0x45c4e267ae21e90f72c8abf43ddb5941c953482f#code)\n\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Summary\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n``` shell\nmake sign-op # or make sign-cb for Coinbase signers\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check that:\n1. signer address is the right one.\n2. domain hash and message hash match the ones you noted down.\n\n## [For Facilitator ONLY] Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\n   SIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `SIGNATURES=xxx make approve-cb` with Coinbase signer signatures.\n4. Run `SIGNATURES=xxx make approve-op` with Optimism signer signatures.\n5. Run `make run-upgrade` to execute the transaction onchain.\n"
  },
  {
    "path": "mainnet/2024-11-18-increase-max-gas-limit/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/',\n    'src/=lib/optimism/packages/contracts-bedrock/src/',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "mainnet/2024-11-18-increase-max-gas-limit/output",
    "content": "Start verifying contract `0x57563A1Ad5b07CEB7e77B395d767E6144699C887` deployed on sepolia\n"
  },
  {
    "path": "mainnet/2024-11-18-increase-max-gas-limit/patch/max-gas-limit.patch",
    "content": "diff --git a/packages/contracts-bedrock/src/L1/SystemConfig.sol b/packages/contracts-bedrock/src/L1/SystemConfig.sol\nindex 67a8353ae..ae72faf92 100644\n--- a/packages/contracts-bedrock/src/L1/SystemConfig.sol\n+++ b/packages/contracts-bedrock/src/L1/SystemConfig.sol\n@@ -87,7 +87,7 @@ contract SystemConfig is OwnableUpgradeable, ISemver, IGasToken {\n     /// @notice The maximum gas limit that can be set for L2 blocks. This limit is used to enforce that the blocks\n     ///         on L2 are not too large to process and prove. Over time, this value can be increased as various\n     ///         optimizations and improvements are made to the system at large.\n-    uint64 internal constant MAX_GAS_LIMIT = 200_000_000;\n+    uint64 internal constant MAX_GAS_LIMIT = 400_000_000;\n \n     /// @notice Fixed L2 gas overhead. Used as part of the L2 fee calculation.\n     uint256 public overhead;\n@@ -115,8 +115,8 @@ contract SystemConfig is OwnableUpgradeable, ISemver, IGasToken {\n     event ConfigUpdate(uint256 indexed version, UpdateType indexed updateType, bytes data);\n \n     /// @notice Semantic version.\n-    /// @custom:semver 2.2.0\n-    string public constant version = \"2.2.0\";\n+    /// @custom:semver 2.2.0+max-gas-limit-400M\n+    string public constant version = \"2.2.0+max-gas-limit-400M\";\n \n     /// @notice Constructs the SystemConfig contract. Cannot set\n     ///         the owner to `address(0)` due to the Ownable contract's\n"
  },
  {
    "path": "mainnet/2024-11-18-increase-max-gas-limit/records/DeploySystemConfig.s.sol/1/run-1733860170.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xfe5e4c2c2bdb05c50b19faab2180152427c997b846ab028d16fe43883ac9133f\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"SystemConfig\",\n      \"contractAddress\": \"0x45c4e267ae21e90f72c8abf43ddb5941c953482f\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"from\": \"0x73565876170a336fa02fde34eed03e3121f70ba6\",\n        \"gas\": \"0x24a69b\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60806040523480156200001157600080fd5b506200004962000032600160008051602062002b0983398151915262000c98565b60001b600019620000c960201b62000de81760201c565b6040805160c080820183526001808352602080840182905260028486015260006060808601829052608080870183905260a08088018490528851968701895283875293860183905296850182905284018190529483018590528201849052620000c39361dead9390928392839290918391908290620000cd565b62000dbb565b9055565b600054610100900460ff1615808015620000ee5750600054600160ff909116105b806200011e57506200010b30620004df60201b62000dec1760201c565b1580156200011e575060005460ff166001145b620001875760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015620001ab576000805461ff0019166101001790555b620001b5620004ee565b620001c08a62000556565b620001cb87620005d5565b620001d7898962000627565b620001e2866200068b565b620002197f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c0886620000c960201b62000de81760201c565b6200025f6200024a60017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc59862000c98565b60001b84620000c960201b62000de81760201c565b620002a96200029060017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce958063762000c98565b60001b8360000151620000c960201b62000de81760201c565b620002f3620002da60017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a862000c98565b60001b8360200151620000c960201b62000de81760201c565b6200033d6200032460017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad637762000c98565b60001b8360400151620000c960201b62000de81760201c565b620003876200036e60017f52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa90762000c98565b60001b8360600151620000c960201b62000de81760201c565b620003d1620003b860017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad62000c98565b60001b8360800151620000c960201b62000de81760201c565b6200041b6200040260017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d62000c98565b60001b8360a00151620000c960201b62000de81760201c565b6200042562000787565b6200043084620007f8565b6200043a62000b3c565b6001600160401b0316866001600160401b031610156200048c5760405162461bcd60e51b815260206004820152601f602482015260008051602062002aa983398151915260448201526064016200017e565b8015620004d3576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050505050565b6001600160a01b03163b151590565b600054610100900460ff166200054a5760405162461bcd60e51b815260206004820152602b602482015260008051602062002ae983398151915260448201526a6e697469616c697a696e6760a81b60648201526084016200017e565b6200055462000b69565b565b6200056062000bd0565b6001600160a01b038116620005c75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016200017e565b620005d28162000c2c565b50565b60678190556040805160208082018490528251808303909101815290820190915260005b600060008051602062002ac9833981519152836040516200061b919062000cb2565b60405180910390a35050565b60658290556066819055604080516020810184905290810182905260009060600160408051601f1981840301815291905290506001600060008051602062002ac9833981519152836040516200067e919062000cb2565b60405180910390a3505050565b6200069562000b3c565b6001600160401b0316816001600160401b03161015620006e75760405162461bcd60e51b815260206004820152601f602482015260008051602062002aa983398151915260448201526064016200017e565b6317d784006001600160401b0382161115620007465760405162461bcd60e51b815260206004820181905260248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206869676860448201526064016200017e565b606880546001600160401b0319166001600160401b0383169081179091556040805160208082019390935281518082039093018352810190526002620005f9565b620007bb620007a7600160008051602062002b0983398151915262000c98565b60001b62000c7e60201b62000e081760201c565b600003620005545762000554620007e3600160008051602062002b0983398151915262000c98565b60001b43620000c960201b62000de81760201c565b8060a001516001600160801b0316816060015163ffffffff161115620008875760405162461bcd60e51b815260206004820152603560248201527f53797374656d436f6e6669673a206d696e206261736520666565206d7573742060448201527f6265206c657373207468616e206d61782062617365000000000000000000000060648201526084016200017e565b6001816040015160ff1611620008f85760405162461bcd60e51b815260206004820152602f60248201527f53797374656d436f6e6669673a2064656e6f6d696e61746f72206d757374206260448201526e65206c6172676572207468616e203160881b60648201526084016200017e565b606854608082015182516001600160401b03909216916200091a919062000d0a565b63ffffffff1611156200095f5760405162461bcd60e51b815260206004820152601f602482015260008051602062002aa983398151915260448201526064016200017e565b6000816020015160ff1611620009d05760405162461bcd60e51b815260206004820152602f60248201527f53797374656d436f6e6669673a20656c6173746963697479206d756c7469706c60448201526e06965722063616e6e6f74206265203608c1b60648201526084016200017e565b8051602082015163ffffffff82169160ff90911690620009f290829062000d35565b620009fe919062000d67565b63ffffffff161462000a795760405162461bcd60e51b815260206004820152603760248201527f53797374656d436f6e6669673a20707265636973696f6e206c6f73732077697460448201527f6820746172676574207265736f75726365206c696d697400000000000000000060648201526084016200017e565b805160698054602084015160408501516060860151608087015160a09097015163ffffffff96871664ffffffffff199095169490941764010000000060ff948516021764ffffffffff60281b191665010000000000939092169290920263ffffffff60301b19161766010000000000009185169190910217600160501b600160f01b0319166a01000000000000000000009390941692909202600160701b600160f01b03191692909217600160701b6001600160801b0390921691909102179055565b60695460009062000b649063ffffffff6a010000000000000000000082048116911662000d96565b905090565b600054610100900460ff1662000bc55760405162461bcd60e51b815260206004820152602b602482015260008051602062002ae983398151915260448201526a6e697469616c697a696e6760a81b60648201526084016200017e565b620005543362000c2c565b6033546001600160a01b03163314620005545760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200017e565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b5490565b634e487b7160e01b600052601160045260246000fd5b60008282101562000cad5762000cad62000c82565b500390565b600060208083528351808285015260005b8181101562000ce15785810183015185820160400152820162000cc3565b8181111562000cf4576000604083870101525b50601f01601f1916929092016040019392505050565b600063ffffffff80831681851680830382111562000d2c5762000d2c62000c82565b01949350505050565b600063ffffffff8084168062000d5b57634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b600063ffffffff8083168185168183048111821515161562000d8d5762000d8d62000c82565b02949350505050565b60006001600160401b0382811684821680830382111562000d2c5762000d2c62000c82565b611cde8062000dcb6000396000f3fe608060405234801561001057600080fd5b50600436106102415760003560e01c80639b7d7f0a11610145578063e2a3285c116100bd578063f45e65d81161008c578063f8c68de011610071578063f8c68de01461058a578063fd32aa0f14610592578063ffa1ad741461059a57600080fd5b8063f45e65d81461056d578063f68016b71461057657600080fd5b8063e2a3285c14610541578063e81b2c6d14610549578063f2b4e61714610552578063f2fde38b1461055a57600080fd5b8063c4e8ddfa11610114578063cc731b02116100f9578063cc731b02146103fd578063dac6e63a14610531578063e0e2016d1461053957600080fd5b8063c4e8ddfa146103e2578063c9b26f61146103ea57600080fd5b80639b7d7f0a146103b7578063a7119869146103bf578063b40a817c146103c7578063bc49ce5f146103da57600080fd5b80631fd19ee1116101d857806354fd4d50116101a7578063715018a61161018c578063715018a61461037e5780638da5cb5b14610386578063935f029e146103a457600080fd5b806354fd4d501461032d5780635d73369c1461037657600080fd5b80631fd19ee1146102ee57806348cd4cb1146102f65780634add321d146102fe5780634f16540b1461030657600080fd5b80630bbb7968116102145780630bbb7968146102b55780630c18c162146102ca57806318d13918146102d357806319f5cea8146102e657600080fd5b806306c9265714610246578063078f29cf146102615780630a49cb031461028e5780630ae14b1b14610296575b600080fd5b61024e6105a2565b6040519081526020015b60405180910390f35b6102696105d0565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610258565b610269610609565b6317d784005b60405167ffffffffffffffff9091168152602001610258565b6102c86102c336600461196a565b610639565b005b61024e60655481565b6102c86102e1366004611aab565b610a37565b61024e610a4b565b610269610a76565b61024e610aa0565b61029c610ad0565b61024e7f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c0881565b6103696040518060400160405280601881526020017f322e322e302b6d61782d6761732d6c696d69742d3430304d000000000000000081525081565b6040516102589190611b38565b61024e610af6565b6102c8610b21565b60335473ffffffffffffffffffffffffffffffffffffffff16610269565b6102c86103b2366004611b4b565b610b35565b610269610b4b565b610269610b7b565b6102c86103d5366004611b6d565b610bab565b61024e610bbc565b610269610be7565b6102c86103f8366004611b88565b610c17565b6104c16040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152506040805160c08101825260695463ffffffff8082168352640100000000820460ff9081166020850152650100000000008304169383019390935266010000000000008104831660608301526a0100000000000000000000810490921660808201526e0100000000000000000000000000009091046fffffffffffffffffffffffffffffffff1660a082015290565b6040516102589190600060c08201905063ffffffff80845116835260ff602085015116602084015260ff6040850151166040840152806060850151166060840152806080850151166080840152506fffffffffffffffffffffffffffffffff60a08401511660a083015292915050565b610269610c28565b61024e610c58565b61024e610c83565b61024e60675481565b610269610cae565b6102c8610568366004611aab565b610cde565b61024e60665481565b60685461029c9067ffffffffffffffff1681565b61024e610d92565b61024e610dbd565b61024e600081565b6105cd60017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d611bd0565b81565b600061060461060060017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377611bd0565b5490565b905090565b600061060461060060017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad611bd0565b600054610100900460ff16158080156106595750600054600160ff909116105b806106735750303b158015610673575060005460ff166001145b610704576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561076257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61076a610e0c565b6107738a610cde565b61077c87610eab565b6107868989610f0c565b61078f86610f9d565b6107b87f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c08869055565b6107eb6107e660017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598611bd0565b849055565b61081f61081960017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637611bd0565b83519055565b61085661084d60017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8611bd0565b60208401519055565b61088d61088460017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377611bd0565b60408401519055565b6108c46108bb60017f52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa907611bd0565b60608401519055565b6108fb6108f260017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad611bd0565b60808401519055565b61093261092960017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d611bd0565b60a08401519055565b61093a6110f3565b6109438461115b565b61094b610ad0565b67ffffffffffffffff168667ffffffffffffffff1610156109c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f770060448201526064016106fb565b8015610a2b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050505050565b610a3f6115cf565b610a4881611650565b50565b6105cd60017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8611bd0565b60006106047f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c085490565b600061060461060060017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0611bd0565b6069546000906106049063ffffffff6a0100000000000000000000820481169116611be7565b6105cd60017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637611bd0565b610b296115cf565b610b3360006116d4565b565b610b3d6115cf565b610b478282610f0c565b5050565b600061060461060060017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d611bd0565b600061060461060060017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637611bd0565b610bb36115cf565b610a4881610f9d565b6105cd60017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598611bd0565b600061060461060060017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8611bd0565b610c1f6115cf565b610a4881610eab565b600061060461060060017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598611bd0565b6105cd60017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0611bd0565b6105cd60017f52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa907611bd0565b600061060461060060017f52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa907611bd0565b610ce66115cf565b73ffffffffffffffffffffffffffffffffffffffff8116610d89576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016106fb565b610a48816116d4565b6105cd60017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377611bd0565b6105cd60017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad611bd0565b9055565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b5490565b600054610100900460ff16610ea3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106fb565b610b3361174b565b60678190556040805160208082018490528251808303909101815290820190915260005b60007f1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be83604051610f009190611b38565b60405180910390a35050565b606582905560668190556040805160208101849052908101829052600090606001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529050600160007f1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be83604051610f909190611b38565b60405180910390a3505050565b610fa5610ad0565b67ffffffffffffffff168167ffffffffffffffff161015611022576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f770060448201526064016106fb565b6317d7840067ffffffffffffffff8216111561109a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206869676860448201526064016106fb565b606880547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff83169081179091556040805160208082019390935281518082039093018352810190526002610ecf565b61112161060060017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0611bd0565b600003610b3357610b3361115660017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0611bd0565b439055565b8060a001516fffffffffffffffffffffffffffffffff16816060015163ffffffff16111561120b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f53797374656d436f6e6669673a206d696e206261736520666565206d7573742060448201527f6265206c657373207468616e206d61782062617365000000000000000000000060648201526084016106fb565b6001816040015160ff16116112a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f53797374656d436f6e6669673a2064656e6f6d696e61746f72206d757374206260448201527f65206c6172676572207468616e2031000000000000000000000000000000000060648201526084016106fb565b6068546080820151825167ffffffffffffffff909216916112c39190611c13565b63ffffffff161115611331576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f770060448201526064016106fb565b6000816020015160ff16116113c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f53797374656d436f6e6669673a20656c6173746963697479206d756c7469706c60448201527f6965722063616e6e6f742062652030000000000000000000000000000000000060648201526084016106fb565b8051602082015163ffffffff82169160ff909116906113e8908290611c32565b6113f29190611c7c565b63ffffffff1614611485576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f53797374656d436f6e6669673a20707265636973696f6e206c6f73732077697460448201527f6820746172676574207265736f75726365206c696d697400000000000000000060648201526084016106fb565b805160698054602084015160408501516060860151608087015160a09097015163ffffffff9687167fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009095169490941764010000000060ff94851602177fffffffffffffffffffffffffffffffffffffffffffff0000000000ffffffffff166501000000000093909216929092027fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff1617660100000000000091851691909102177fffff0000000000000000000000000000000000000000ffffffffffffffffffff166a010000000000000000000093909416929092027fffff00000000000000000000000000000000ffffffffffffffffffffffffffff16929092176e0100000000000000000000000000006fffffffffffffffffffffffffffffffff90921691909102179055565b60335473ffffffffffffffffffffffffffffffffffffffff163314610b33576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106fb565b6116797f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c08829055565b6040805173ffffffffffffffffffffffffffffffffffffffff8316602082015260009101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290506003610ecf565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166117e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106fb565b610b33336116d4565b803573ffffffffffffffffffffffffffffffffffffffff8116811461180f57600080fd5b919050565b803567ffffffffffffffff8116811461180f57600080fd5b60405160c0810167ffffffffffffffff81118282101715611876577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b803563ffffffff8116811461180f57600080fd5b803560ff8116811461180f57600080fd5b600060c082840312156118b357600080fd5b60405160c0810181811067ffffffffffffffff821117156118fd577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290508061190c836117eb565b815261191a602084016117eb565b602082015261192b604084016117eb565b604082015261193c606084016117eb565b606082015261194d608084016117eb565b608082015261195e60a084016117eb565b60a08201525092915050565b6000806000806000806000806000898b0361026081121561198a57600080fd5b6119938b6117eb565b995060208b0135985060408b0135975060608b013596506119b660808c01611814565b95506119c460a08c016117eb565b945060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff40820112156119f657600080fd5b506119ff61182c565b611a0b60c08c0161187c565b8152611a1960e08c01611890565b6020820152611a2b6101008c01611890565b6040820152611a3d6101208c0161187c565b6060820152611a4f6101408c0161187c565b60808201526101608b01356fffffffffffffffffffffffffffffffff81168114611a7857600080fd5b60a08201529250611a8c6101808b016117eb565b9150611a9c8b6101a08c016118a1565b90509295985092959850929598565b600060208284031215611abd57600080fd5b611ac6826117eb565b9392505050565b6000815180845260005b81811015611af357602081850181015186830182015201611ad7565b81811115611b05576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611ac66020830184611acd565b60008060408385031215611b5e57600080fd5b50508035926020909101359150565b600060208284031215611b7f57600080fd5b611ac682611814565b600060208284031215611b9a57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015611be257611be2611ba1565b500390565b600067ffffffffffffffff808316818516808303821115611c0a57611c0a611ba1565b01949350505050565b600063ffffffff808316818516808303821115611c0a57611c0a611ba1565b600063ffffffff80841680611c70577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b92169190910492915050565b600063ffffffff80831681851681830481118215151615611c9f57611c9f611ba1565b0294935050505056fea264697066735822122074c7472e8301ca2f8267aee4ee0e71a54402f3da00f609a02e02dbc55452701264736f6c634300080f003353797374656d436f6e6669673a20676173206c696d697420746f6f206c6f77001d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069a11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0\",\n        \"nonce\": \"0x9\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xb741e9\",\n      \"logs\": [\n        {\n          \"address\": \"0x45c4e267ae21e90f72c8abf43ddb5941c953482f\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x00000000000000000000000073565876170a336fa02fde34eed03e3121f70ba6\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x6568d65255c0c78393ef00324d685577e9fa8c4d872d7bfd04a05eab7d4b8c29\",\n          \"blockNumber\": \"0x146255a\",\n          \"transactionHash\": \"0xfe5e4c2c2bdb05c50b19faab2180152427c997b846ab028d16fe43883ac9133f\",\n          \"transactionIndex\": \"0x81\",\n          \"logIndex\": \"0x10d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x45c4e267ae21e90f72c8abf43ddb5941c953482f\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x00000000000000000000000073565876170a336fa02fde34eed03e3121f70ba6\",\n            \"0x000000000000000000000000000000000000000000000000000000000000dead\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x6568d65255c0c78393ef00324d685577e9fa8c4d872d7bfd04a05eab7d4b8c29\",\n          \"blockNumber\": \"0x146255a\",\n          \"transactionHash\": \"0xfe5e4c2c2bdb05c50b19faab2180152427c997b846ab028d16fe43883ac9133f\",\n          \"transactionIndex\": \"0x81\",\n          \"logIndex\": \"0x10e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x45c4e267ae21e90f72c8abf43ddb5941c953482f\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x6568d65255c0c78393ef00324d685577e9fa8c4d872d7bfd04a05eab7d4b8c29\",\n          \"blockNumber\": \"0x146255a\",\n          \"transactionHash\": \"0xfe5e4c2c2bdb05c50b19faab2180152427c997b846ab028d16fe43883ac9133f\",\n          \"transactionIndex\": \"0x81\",\n          \"logIndex\": \"0x10f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x45c4e267ae21e90f72c8abf43ddb5941c953482f\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000001\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x6568d65255c0c78393ef00324d685577e9fa8c4d872d7bfd04a05eab7d4b8c29\",\n          \"blockNumber\": \"0x146255a\",\n          \"transactionHash\": \"0xfe5e4c2c2bdb05c50b19faab2180152427c997b846ab028d16fe43883ac9133f\",\n          \"transactionIndex\": \"0x81\",\n          \"logIndex\": \"0x110\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x45c4e267ae21e90f72c8abf43ddb5941c953482f\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000002\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0x6568d65255c0c78393ef00324d685577e9fa8c4d872d7bfd04a05eab7d4b8c29\",\n          \"blockNumber\": \"0x146255a\",\n          \"transactionHash\": \"0xfe5e4c2c2bdb05c50b19faab2180152427c997b846ab028d16fe43883ac9133f\",\n          \"transactionIndex\": \"0x81\",\n          \"logIndex\": \"0x111\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x45c4e267ae21e90f72c8abf43ddb5941c953482f\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0x6568d65255c0c78393ef00324d685577e9fa8c4d872d7bfd04a05eab7d4b8c29\",\n          \"blockNumber\": \"0x146255a\",\n          \"transactionHash\": \"0xfe5e4c2c2bdb05c50b19faab2180152427c997b846ab028d16fe43883ac9133f\",\n          \"transactionIndex\": \"0x81\",\n          \"logIndex\": \"0x112\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x04000000000010000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000008000000000000040000000000000000000000000000000000000001000002040000000002004000000000000000020000000000000000000800000000000000000000000000000000400000000000000000000004040000000000000000000080000000020000000000000800000000000000000100000400000000000000000000000000000000000000000400000000000000000000040000000000000000000000000000000060000000200000000000000000000000000000000000008000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xfe5e4c2c2bdb05c50b19faab2180152427c997b846ab028d16fe43883ac9133f\",\n      \"transactionIndex\": \"0x81\",\n      \"blockHash\": \"0x6568d65255c0c78393ef00324d685577e9fa8c4d872d7bfd04a05eab7d4b8c29\",\n      \"blockNumber\": \"0x146255a\",\n      \"gasUsed\": \"0x1c3418\",\n      \"effectiveGasPrice\": \"0x67b8573c2\",\n      \"from\": \"0x73565876170a336fa02fde34eed03e3121f70ba6\",\n      \"to\": null,\n      \"contractAddress\": \"0x45c4e267ae21e90f72c8abf43ddb5941c953482f\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1733860170,\n  \"chain\": 1,\n  \"commit\": \"433bdf5\"\n}"
  },
  {
    "path": "mainnet/2024-11-18-increase-max-gas-limit/records/UpgradeSystemConfig.s.sol/1/run-1733947633.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xa6477b520b8091ee24986b95606c8a5d0866ef23c055b376c5be33f8df1eaed5\",\n      \"transactionType\": \"CREATE2\",\n      \"contractName\": \"Simulation\",\n      \"contractAddress\": \"0x06036c9d89f70b103d47cb3a9e4a069658a5c667\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"from\": \"0x73565876170a336fa02fde34eed03e3121f70ba6\",\n        \"to\": \"0x4e59b44847b379578588920ca78fbf26c0b4956c\",\n        \"gas\": \"0x273e9d\",\n        \"input\": \"0x0000000000000000000000000000000000000000000000000000000000000000611ef061003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100555760003560e01c8062be68721461005a5780630482b1631461006f57806342257f7414610082578063986bfec3146100ab575b600080fd5b61006d610068366004611385565b6100be565b005b61006d61007d36600461140d565b610117565b61009561009036600461165a565b610b45565b6040516100a29190611686565b60405180910390f35b6100956100b9366004611700565b610bf0565b610112838383600060405190808252806020026020018201604052801561010c57816020015b6040805180820190915260008152606060208201528152602001906001900390816100e45790505b50610117565b505050565b604080518082018252601081527f54454e4445524c595f50524f4a45435400000000000000000000000000000000602082015290517fd145736c000000000000000000000000000000000000000000000000000000008152600091737109709ecfa91a80626ff3989d68f67f5b1dd12d9163d145736c9161019a916004016117bb565b600060405180830381865afa1580156101b7573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526101fd9190810190611802565b604080518082018252601181527f54454e4445524c595f555345524e414d45000000000000000000000000000000602082015290517fd145736c000000000000000000000000000000000000000000000000000000008152919250600091737109709ecfa91a80626ff3989d68f67f5b1dd12d9163d145736c916102849190600401611879565b600060405180830381865afa1580156102a1573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526102e79190810190611802565b60408051808201909152600381527f2535420000000000000000000000000000000000000000000000000000000000602082015290915060005b84518110156106a857600085828151811061033e5761033e6118c0565b6020026020010151905060008211156103745782604051602001610362919061190b565b60405160208183030381529060405292505b80516040517f56ca623e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911660048201528390737109709ecfa91a80626ff3989d68f67f5b1dd12d906356ca623e90602401600060405180830381865afa1580156103f7573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261043d9190810190611802565b60405160200161044e92919061194c565b604051602081830303815290604052925060005b8160200151518110156106715780156104985783604051602001610486919061190b565b60405160208183030381529060405293505b837f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663b11a19e8846020015184815181106104ee576104ee6118c0565b6020026020010151600001516040518263ffffffff1660e01b815260040161051891815260200190565b600060405180830381865afa158015610535573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261057b9190810190611802565b60208401518051737109709ecfa91a80626ff3989d68f67f5b1dd12d9163b11a19e891869081106105ae576105ae6118c0565b6020026020010151602001516040518263ffffffff1660e01b81526004016105d891815260200190565b600060405180830381865afa1580156105f5573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261063b9190810190611802565b60405160200161064d939291906119ce565b6040516020818303038152906040529350808061066990611abe565b915050610462565b50826040516020016106839190611af6565b60405160208183030381529060405292505080806106a090611abe565b915050610321565b50806040516020016106ba9190611b37565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0018152908290527f6900a3ae000000000000000000000000000000000000000000000000000000008252466004830152915060009083908590737109709ecfa91a80626ff3989d68f67f5b1dd12d90636900a3ae90602401600060405180830381865afa158015610757573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261079d9190810190611802565b6040517f56ca623e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906356ca623e90602401600060405180830381865afa15801561081b573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526108619190810190611802565b6040517f56ca623e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8b166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906356ca623e90602401600060405180830381865afa1580156108df573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526109259190810190611802565b8660405160200161093b96959493929190611b78565b6040516020818303038152906040529050611f2c8751600261095d9190611ce0565b82516109699190611d1d565b1115610a5b57806040516020016109809190611d35565b604051602081830303815290604052905061099a81610ca9565b6040517f71aad10d000000000000000000000000000000000000000000000000000000008152610a5690737109709ecfa91a80626ff3989d68f67f5b1dd12d906371aad10d906109ee908b90600401611d9c565b600060405180830381865afa158015610a0b573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610a519190810190611802565b610ca9565b610b3b565b6040517f71aad10d0000000000000000000000000000000000000000000000000000000081528190737109709ecfa91a80626ff3989d68f67f5b1dd12d906371aad10d90610aad908b90600401611d9c565b600060405180830381865afa158015610aca573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610b109190810190611802565b604051602001610b21929190611daf565b6040516020818303038152906040529050610b3b81610ca9565b5050505050505050565b6040805180820190915260008152606060208201526040805180820190915273ffffffffffffffffffffffffffffffffffffffff841681526000906020810182604051908082528060200260200182016040528015610bca57816020015b6040805180820190915260008082526020820152815260200190600190039081610ba35790505b5090529050610bd98482610d3b565b9050610be6848285610ded565b9150505b92915050565b6040805180820190915260008152606060208201526040805180820190915273ffffffffffffffffffffffffffffffffffffffff851681526000906020810182604051908082528060200260200182016040528015610c7557816020015b6040805180820190915260008082526020820152815260200190600190039081610c4e5790505b5090529050610c848582610d3b565b9050610c91858286610ea6565b9050610c9e858285610ded565b9150505b9392505050565b610d3881604051602401610cbd9190611d9c565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac000000000000000000000000000000000000000000000000000000001790526110b9565b50565b6040805180820190915260008152606060208201528273ffffffffffffffffffffffffffffffffffffffff1663e75235b86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbf9190611e07565b600103610dcd575080610bea565b604080518082019091526004815260016020820152610ca29083906110c2565b604080518082019091526000815260606020820152818473ffffffffffffffffffffffffffffffffffffffff1663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e729190611e07565b03610e7e575081610ca2565b604080518082019091526005815260208101839052610e9e9084906110c2565b949350505050565b60408051808201909152600081526060602082015260008473ffffffffffffffffffffffffffffffffffffffff1663a0e67e2b6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610f08573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610f4e9190810190611e20565b905060005b8151811015610fc4578373ffffffffffffffffffffffffffffffffffffffff16828281518110610f8557610f856118c0565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603610fb2578492505050610ca2565b80610fbc81611abe565b915050610f53565b50604080518082019091526003815260016020820152610fe59085906110c2565b604080518082019091527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0815273ffffffffffffffffffffffffffffffffffffffff8516602082015290945061103c9085906110c2565b6040805180820190915273ffffffffffffffffffffffffffffffffffffffff8516606082015260026080820152909450610c9e9085908060a08101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190528051602091820120825260019101526110c2565b610d38816111ff565b604080518082019091526000815260606020820152600083602001515160016110eb9190611d1d565b67ffffffffffffffff81111561110357611103611242565b60405190808252806020026020018201604052801561114857816020015b60408051808201909152600080825260208201528152602001906001900390816111215790505b50905060005b8460200151518110156111a95784602001518181518110611171576111716118c0565b602002602001015182828151811061118b5761118b6118c0565b602002602001018190525080806111a190611abe565b91505061114e565b508281856020015151815181106111c2576111c26118c0565b60209081029190910181019190915260408051808201909152945173ffffffffffffffffffffffffffffffffffffffff1685528401525090919050565b60006a636f6e736f6c652e6c6f679050600080835160208501845afa505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610d3857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561129457611294611242565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156112e1576112e1611242565b604052919050565b600067ffffffffffffffff82111561130357611303611242565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f83011261134057600080fd5b813561135361134e826112e9565b61129a565b81815284602083860101111561136857600080fd5b816020850160208301376000918101602001919091529392505050565b60008060006060848603121561139a57600080fd5b83356113a581611220565b9250602084013567ffffffffffffffff8111156113c157600080fd5b6113cd8682870161132f565b92505060408401356113de81611220565b809150509250925092565b600067ffffffffffffffff82111561140357611403611242565b5060051b60200190565b6000806000806080858703121561142357600080fd5b61142d8535611220565b8435935067ffffffffffffffff6020860135111561144a57600080fd5b61145a866020870135870161132f565b92506114696040860135611220565b6040850135915067ffffffffffffffff6060860135111561148957600080fd5b85601f60608701358701011261149e57600080fd5b6114b161134e60608701358701356113e9565b6060860135860180358083526020808401939260059290921b909101018810156114da57600080fd5b602060608801358801015b60608801358801803560051b0160200181101561164d5767ffffffffffffffff8135111561151257600080fd5b8035606089013589010160407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0828c0301121561154e57600080fd5b611556611271565b6115636020830135611220565b6020820135815267ffffffffffffffff6040830135111561158357600080fd5b8a603f60408401358401011261159857600080fd5b6115ae61134e60206040850135850101356113e9565b6020604084810135850182810135808552928401939260061b01018d10156115d557600080fd5b6040808501358501015b6040858101358601602081013560061b010181101561162e576040818f03121561160857600080fd5b611610611271565b813581526020808301358183015290845292909201916040016115df565b50806020840152505080855250506020830192506020810190506114e5565b5094979396509194505050565b6000806040838503121561166d57600080fd5b823561167881611220565b946020939093013593505050565b6020808252825173ffffffffffffffffffffffffffffffffffffffff168282015282810151604080840181905281516060850181905260009392830191849160808701905b808410156116f457845180518352860151868301529385019360019390930192908201906116cb565b50979650505050505050565b60008060006060848603121561171557600080fd5b833561172081611220565b9250602084013561173081611220565b929592945050506040919091013590565b60005b8381101561175c578181015183820152602001611744565b8381111561176b576000848401525b50505050565b60008151808452611789816020860160208601611741565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60408152601060408201527f54454e4445524c595f50524f4a454354000000000000000000000000000000006060820152608060208201526000610ca26080830184611771565b60006020828403121561181457600080fd5b815167ffffffffffffffff81111561182b57600080fd5b8201601f8101841361183c57600080fd5b805161184a61134e826112e9565b81815285602083850101111561185f57600080fd5b611870826020830160208601611741565b95945050505050565b60408152601160408201527f54454e4445524c595f555345524e414d450000000000000000000000000000006060820152608060208201526000610ca26080830184611771565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151611901818560208601611741565b9290920192915050565b6000825161191d818460208701611741565b7f2c00000000000000000000000000000000000000000000000000000000000000920191825250600101919050565b6000835161195e818460208801611741565b7f25374222636f6e747261637441646472657373223a22000000000000000000009083019081528351611998816016840160208801611741565b7f222c2273746f72616765223a253542000000000000000000000000000000000060169290910191820152602501949350505050565b600084516119e0818460208901611741565b7f253742226b6579223a22000000000000000000000000000000000000000000009083019081528451611a1a81600a840160208901611741565b7f222c2276616c7565223a22000000000000000000000000000000000000000000600a92909101918201528351611a58816015840160208801611741565b7f22253744000000000000000000000000000000000000000000000000000000006015929091019182015260190195945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611aef57611aef611a8f565b5060010190565b60008251611b08818460208701611741565b7f2535442537440000000000000000000000000000000000000000000000000000920191825250600601919050565b60008251611b49818460208701611741565b7f2535440000000000000000000000000000000000000000000000000000000000920191825250600301919050565b7f68747470733a2f2f64617368626f6172642e74656e6465726c792e636f2f0000815260008751611bb081601e850160208c01611741565b7f2f00000000000000000000000000000000000000000000000000000000000000601e918401918201528751611bed81601f840160208c01611741565b7f2f73696d756c61746f722f6e65773f6e6574776f726b3d000000000000000000601f92909101918201528651611c2b816036840160208b01611741565b7f26636f6e7472616374416464726573733d000000000000000000000000000000603692909101918201528551611c69816047840160208a01611741565b7f2666726f6d3d000000000000000000000000000000000000000000000000000060479290910191820152611ca1604d8201866118ef565b7f2673746174654f76657272696465733d0000000000000000000000000000000081529050611cd360108201856118ef565b9998505050505050505050565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611d1857611d18611a8f565b500290565b60008219821115611d3057611d30611a8f565b500190565b60008251611d47818460208701611741565b7f0a496e736572742074686520666f6c6c6f77696e672068657820696e746f20749201918252507f6865202752617720696e707574206461746127206669656c643a0000000000006020820152603a01919050565b602081526000610ca26020830184611771565b60008351611dc1818460208801611741565b7f2672617746756e6374696f6e496e7075743d00000000000000000000000000009083019081528351611dfb816012840160208801611741565b01601201949350505050565b600060208284031215611e1957600080fd5b5051919050565b60006020808385031215611e3357600080fd5b825167ffffffffffffffff811115611e4a57600080fd5b8301601f81018513611e5b57600080fd5b8051611e6961134e826113e9565b81815260059190911b82018301908381019087831115611e8857600080fd5b928401925b82841015611eaf578351611ea081611220565b82529284019290840190611e8d565b97965050505050505056fea2646970667358221220283474ba77b92d33cd2ac4c86126748fbbdefd6ee7a11433b35b02a8b7cadf7c64736f6c634300080f0033\",\n        \"nonce\": \"0xa\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xd7d72ffe2d13820943d52c543f5f0c7593e90fce6786569c4ed7d6e5f9fc9975\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd499da11d771fc773313dadbe714656d12e9ba8579a55b77bd3175d0177bafc1000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x521ed386e20c5aab4b66133e6f9b5bd6d4dc973ea8247a69f48832a2db3cd131719e69ddb48c9ab116c516161313fd43b7c48aa3457f41693c5697e18bed2b2f1b79ae6be514ea834a03b33cb5fcd592ddce7f83016dcbf96896020820df0a7147756cdd672eaef2be8a3ab3d80cbeaeb341fa8e4472de06ad43c1e074b48c80051c510aa6c94710b2a1dca0cc85b50254ccba9e985360e16486e2efddd25f45f21802e34642580601a2cc4b8a6039e3d633a583db2be6ec98c8bec5b7c7b72627c91b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x73565876170a336fa02fde34eed03e3121f70ba6\",\n        \"to\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n        \"gas\": \"0x22500\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd499da11d771fc773313dadbe714656d12e9ba8579a55b77bd3175d0177bafc10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3521ed386e20c5aab4b66133e6f9b5bd6d4dc973ea8247a69f48832a2db3cd131719e69ddb48c9ab116c516161313fd43b7c48aa3457f41693c5697e18bed2b2f1b79ae6be514ea834a03b33cb5fcd592ddce7f83016dcbf96896020820df0a7147756cdd672eaef2be8a3ab3d80cbeaeb341fa8e4472de06ad43c1e074b48c80051c510aa6c94710b2a1dca0cc85b50254ccba9e985360e16486e2efddd25f45f21802e34642580601a2cc4b8a6039e3d633a583db2be6ec98c8bec5b7c7b72627c91b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0xb\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x89a9c5\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xa6477b520b8091ee24986b95606c8a5d0866ef23c055b376c5be33f8df1eaed5\",\n      \"transactionIndex\": \"0x5c\",\n      \"blockHash\": \"0xb289eddb03a1f6011730eaf6839ababf71ace9b777aaef48932e1a6cdb956c9f\",\n      \"blockNumber\": \"0x14641a7\",\n      \"gasUsed\": \"0x1ad76f\",\n      \"effectiveGasPrice\": \"0x6935a1502\",\n      \"from\": \"0x73565876170a336fa02fde34eed03e3121f70ba6\",\n      \"to\": \"0x4e59b44847b379578588920ca78fbf26c0b4956c\",\n      \"contractAddress\": null\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xb1b9c2\",\n      \"logs\": [\n        {\n          \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x499da11d771fc773313dadbe714656d12e9ba8579a55b77bd3175d0177bafc10\",\n            \"0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xbe73c410136a09f21bebb79f1ffe6b7d44f1811403a852760dbf6095c7112bb9\",\n          \"blockNumber\": \"0x14641a8\",\n          \"transactionHash\": \"0xd7d72ffe2d13820943d52c543f5f0c7593e90fce6786569c4ed7d6e5f9fc9975\",\n          \"transactionIndex\": \"0x90\",\n          \"logIndex\": \"0x127\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xd433100360e0bd36b2894da9d0826ea34e59604a42b9665a5c5ca9d1c98c38600000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xbe73c410136a09f21bebb79f1ffe6b7d44f1811403a852760dbf6095c7112bb9\",\n          \"blockNumber\": \"0x14641a8\",\n          \"transactionHash\": \"0xd7d72ffe2d13820943d52c543f5f0c7593e90fce6786569c4ed7d6e5f9fc9975\",\n          \"transactionIndex\": \"0x90\",\n          \"logIndex\": \"0x128\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000010000000000000000008000000000000040000000000000000000000000101000004000000000000000000100000000000000000001000000000000000000000000000000000000008200000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000400000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000200000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xd7d72ffe2d13820943d52c543f5f0c7593e90fce6786569c4ed7d6e5f9fc9975\",\n      \"transactionIndex\": \"0x90\",\n      \"blockHash\": \"0xbe73c410136a09f21bebb79f1ffe6b7d44f1811403a852760dbf6095c7112bb9\",\n      \"blockNumber\": \"0x14641a8\",\n      \"gasUsed\": \"0x18d78\",\n      \"effectiveGasPrice\": \"0x654d98352\",\n      \"from\": \"0x73565876170a336fa02fde34eed03e3121f70ba6\",\n      \"to\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [\n    \"lib/base-contracts/script/universal/Simulation.sol:Simulation:0x06036C9d89F70b103d47CB3a9E4A069658A5C667\"\n  ],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1733947633,\n  \"chain\": 1,\n  \"commit\": \"2ed5d9a\"\n}"
  },
  {
    "path": "mainnet/2024-11-18-increase-max-gas-limit/records/UpgradeSystemConfig.s.sol/1/run-1733957906.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x6b534288283f8fd5489c40a3dcdb333f9d96554d5e3edadefd092503ade10685\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd499da11d771fc773313dadbe714656d12e9ba8579a55b77bd3175d0177bafc1000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x00000000000000000000000042d27eea1ad6e22af6284f609847cb3cd56b9c640000000000000000000000000000000000000000000000000000000000000000012fe0f37bf32df549f41324340b7c810b702d01892657f0ba0c3442299076674a4e41e6a22c1b4181aae0b317f1e9a7ec16230c0889ee65470d7247cc196a77ce1ce65a310bc16024cfcbf91ef97869a4db113b02f3f96a9a8a07a1745cdac738d15bf4f54a45638a9e4bdf289b71b372d44514bc6a6e177a0eb2445070f715aae61cf79b4f118225582f57ece302ff6de2b5f1d2f67d6435f65583f765af8bae449646a8aff7644214cbcbdf9b25b3f241b6da68490a82012d44c3502e0fdbd05e0a1c9c207529ba7dc127dc105b2bf86b607609f0131f9d8bcb7d17d7fd1b6f046a69737a9591ae496c8b29764ab74face3921a4d37373d19837d97306dc4a7a8ce2a1c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xbbc9b955BE73cA4eEB28E988e9D21D2538978F03\",\n        \"to\": \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\",\n        \"gas\": \"0x29137\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd499da11d771fc773313dadbe714656d12e9ba8579a55b77bd3175d0177bafc100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014500000000000000000000000042d27eea1ad6e22af6284f609847cb3cd56b9c640000000000000000000000000000000000000000000000000000000000000000012fe0f37bf32df549f41324340b7c810b702d01892657f0ba0c3442299076674a4e41e6a22c1b4181aae0b317f1e9a7ec16230c0889ee65470d7247cc196a77ce1ce65a310bc16024cfcbf91ef97869a4db113b02f3f96a9a8a07a1745cdac738d15bf4f54a45638a9e4bdf289b71b372d44514bc6a6e177a0eb2445070f715aae61cf79b4f118225582f57ece302ff6de2b5f1d2f67d6435f65583f765af8bae449646a8aff7644214cbcbdf9b25b3f241b6da68490a82012d44c3502e0fdbd05e0a1c9c207529ba7dc127dc105b2bf86b607609f0131f9d8bcb7d17d7fd1b6f046a69737a9591ae496c8b29764ab74face3921a4d37373d19837d97306dc4a7a8ce2a1c000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x26\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x966531\",\n      \"logs\": [\n        {\n          \"address\": \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x499da11d771fc773313dadbe714656d12e9ba8579a55b77bd3175d0177bafc10\",\n            \"0x0000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x7269d3d080fe0511e28d4cb01985fe522a40b7c763a47ce1ec5e3e57e75779ac\",\n          \"blockNumber\": \"0x14644fb\",\n          \"transactionHash\": \"0x6b534288283f8fd5489c40a3dcdb333f9d96554d5e3edadefd092503ade10685\",\n          \"transactionIndex\": \"0x4f\",\n          \"logIndex\": \"0xf3\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xec80cfb1f4522a8e2aa3da25517e04232a0b458dea38c43241052ff57cdc81390000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x7269d3d080fe0511e28d4cb01985fe522a40b7c763a47ce1ec5e3e57e75779ac\",\n          \"blockNumber\": \"0x14644fb\",\n          \"transactionHash\": \"0x6b534288283f8fd5489c40a3dcdb333f9d96554d5e3edadefd092503ade10685\",\n          \"transactionIndex\": \"0x4f\",\n          \"logIndex\": \"0xf4\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000002000000000000000000000004000000000000000000100000000000000000001000000000000000000000000000000000000000200000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000020000000000000000000000004000000000000000000000000000000008400000000000000800000000001000000000000000000000000000000000000000000000000000000000000000000200000400000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x6b534288283f8fd5489c40a3dcdb333f9d96554d5e3edadefd092503ade10685\",\n      \"transactionIndex\": \"0x4f\",\n      \"blockHash\": \"0x7269d3d080fe0511e28d4cb01985fe522a40b7c763a47ce1ec5e3e57e75779ac\",\n      \"blockNumber\": \"0x14644fb\",\n      \"gasUsed\": \"0x1c161\",\n      \"effectiveGasPrice\": \"0x4334ddbdf\",\n      \"from\": \"0xbbc9b955BE73cA4eEB28E988e9D21D2538978F03\",\n      \"to\": \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1733957906,\n  \"chain\": 1,\n  \"commit\": \"a56f5e7\"\n}"
  },
  {
    "path": "mainnet/2024-11-18-increase-max-gas-limit/records/UpgradeSystemConfig.s.sol/1/run-1733958067.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x1fdbb2443b479fedc7a6e43400a5f09c883aa00d3e7b40bc7238a08e43625294\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec400000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000045c4e267ae21e90f72c8abf43ddb5941c953482f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xbbc9b955BE73cA4eEB28E988e9D21D2538978F03\",\n        \"to\": \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\n        \"gas\": \"0x1d0d3\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000028482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec400000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000045c4e267ae21e90f72c8abf43ddb5941c953482f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x27\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xc0f8e1\",\n      \"logs\": [\n        {\n          \"address\": \"0x73a79Fab69143498Ed3712e519A88a918e1f4072\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x00000000000000000000000045c4e267ae21e90f72c8abf43ddb5941c953482f\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xc8d0b3e244dc6fb2caf52377f59b411dfa03d968632fb6f7a6cd0d4a82ba4a5c\",\n          \"blockNumber\": \"0x1464508\",\n          \"transactionHash\": \"0x1fdbb2443b479fedc7a6e43400a5f09c883aa00d3e7b40bc7238a08e43625294\",\n          \"transactionIndex\": \"0x90\",\n          \"logIndex\": \"0x193\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x499da11d771fc773313dadbe714656d12e9ba8579a55b77bd3175d0177bafc100000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xc8d0b3e244dc6fb2caf52377f59b411dfa03d968632fb6f7a6cd0d4a82ba4a5c\",\n          \"blockNumber\": \"0x1464508\",\n          \"transactionHash\": \"0x1fdbb2443b479fedc7a6e43400a5f09c883aa00d3e7b40bc7238a08e43625294\",\n          \"transactionIndex\": \"0x90\",\n          \"logIndex\": \"0x194\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000400000000000000000000000040010000000008000000000000000000004000000000000100000000000000000000000001000000000000000000000000002000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000040000000000000200000000000000000000000000000004000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x1fdbb2443b479fedc7a6e43400a5f09c883aa00d3e7b40bc7238a08e43625294\",\n      \"transactionIndex\": \"0x90\",\n      \"blockHash\": \"0xc8d0b3e244dc6fb2caf52377f59b411dfa03d968632fb6f7a6cd0d4a82ba4a5c\",\n      \"blockNumber\": \"0x1464508\",\n      \"gasUsed\": \"0x15087\",\n      \"effectiveGasPrice\": \"0x463c6a44d\",\n      \"from\": \"0xbbc9b955BE73cA4eEB28E988e9D21D2538978F03\",\n      \"to\": \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1733958067,\n  \"chain\": 1,\n  \"commit\": \"a56f5e7\"\n}"
  },
  {
    "path": "mainnet/2024-11-18-increase-max-gas-limit/script/DeploySystemConfig.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Script, console} from \"forge-std/Script.sol\";\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\n\ncontract DeploySystemConfig is Script {\n    function run() public {\n        vm.startBroadcast();\n        SystemConfig systemConfigImpl = new SystemConfig();\n        console.log(\"SystemConfig implementation deployed at: \", address(systemConfigImpl));\n        vm.stopBroadcast();\n    }\n}\n"
  },
  {
    "path": "mainnet/2024-11-18-increase-max-gas-limit/script/UpgradeSystemConfig.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\nimport \"@base-contracts/script/universal/NestedMultisigBuilder.sol\";\n\ninterface IProxyAdmin {\n    function upgrade(address _proxy, address _implementation) external;\n}\n\ninterface IProxy {\n    function implementation() external view returns (address);\n}\n\ncontract UpgradeSystemConfig is NestedMultisigBuilder {\n    address internal SAFE_ADDRESS = vm.envAddress(\"SAFE_ADDRESS\");\n    address internal PROXY_ADMIN_ADDRESS = vm.envAddress(\"PROXY_ADMIN_ADDRESS\");\n    address internal SYSTEM_CONFIG_ADDRESS = vm.envAddress(\"SYSTEM_CONFIG_ADDRESS\");\n    address internal NEW_IMPLEMENTATION = vm.envAddress(\"NEW_IMPLEMENTATION\");\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal override {\n        // NOTE: Bypass `proxyCallIfNotAdmin` modifier.\n        vm.prank(PROXY_ADMIN_ADDRESS);\n        require(IProxy(SYSTEM_CONFIG_ADDRESS).implementation() == NEW_IMPLEMENTATION);\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](3);\n\n        calls[0] = IMulticall3.Call3({\n            target: PROXY_ADMIN_ADDRESS,\n            allowFailure: false,\n            // NOTE: No need to call initialize as no storage would change (only changing `MAX_GAS_LIMIT` and `version`).\n            callData: abi.encodeCall(IProxyAdmin.upgrade, (SYSTEM_CONFIG_ADDRESS, NEW_IMPLEMENTATION))\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return SAFE_ADDRESS;\n    }\n}\n"
  },
  {
    "path": "mainnet/2024-12-04-increase-gas-limit/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: sign-upgrade\nsign-upgrade:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \\\n\t--sig \"sign()\"\n\n.PHONY: execute-upgrade\nexecute-upgrade:\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n\n.PHONY: sign-rollback\nsign-rollback:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \\\n\t--sig \"sign()\"\n\n\n.PHONY: execute-rollback\nexecute-rollback:\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2024-12-04-increase-gas-limit/README.md",
    "content": "# Update Gas Limit in L1 `SystemConfig`\n\nStatus: DONE\n\n## Objective\n\nWe are updating the gas limit to improve TPS and reduce gas fees.\n\nThis runbook invokes two scripts which allow our signers to sign two different calls for our Incident Multisig, which are both defined in the [base-org/contracts](https://github.com/base-org/contracts) repository:\n\n1. `UpgradeGasLimit` -- This script will update the gas limit to our new limit of 180M gas\n2. `RollbackGasLimit` -- This script establishes a rollback call in the case we need to revert to gas\n\nThe values we are sending are statically defined in the `.env`.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow\n> the flow for both \"Approving the Update transaction\" and\n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed.\n\n## Approving the Upgrade transaction\n\n### 1. Update repo and move to the appropriate folder:\n\n```\ncd contract-deployments\ngit pull\ncd mainnet/2024-12-04-increase-gas-limit\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-upgrade\n```\n\nOnce you run the `make sign...` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 41 to 42:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000029\nAfter: 0x000000000000000000000000000000000000000000000000000000000000002a\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 180M to 198M:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x00000000000000000000000000000000000000000000000000000000aba9500\nAfter: 0x000000000000000000000000000000000000000000000000000000000bcd3d80\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-upgrade\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Approving the Rollback transaction\n\nComplete the above steps for `Approving the Update transaction` before continuing below.\n\n### 1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-rollback\n```\n\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output. Once again paste this URL in your browser and click \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x000000000000000000000000000000000000000000000000000000000000002a\nAfter: 0x000000000000000000000000000000000000000000000000000000000000002b\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x000000000000000000000000000000000000000000000000000000000bcd3d80\nAfter: 0x00000000000000000000000000000000000000000000000000000000aba9500\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-rollback\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make execute-upgrade`\n\n> [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK\n> Repeat the above, but replace the signatures with the signed\n> rollback signatures collected, the call `make execute-rollback`\n"
  },
  {
    "path": "mainnet/2024-12-04-increase-gas-limit/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2024-12-04-increase-gas-limit/records/UpgradeGasLimit.sol/1/run-1733328181.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xa14ff02fbd97f66e8cc6c27652c2c203af56d7611ca377f98fb0e0e38f737f85\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000bcd3d8000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x757c71e3e951077dd3082eb76e4eb1ae939e97cc3c024e9c19c064ef768507c4177305b5cabbd6892e3a3ddf594bd4f623ace0622e4b2f9edc04b48fc4fb77ac1c9e86471cc9acf55c2caf297f7672da55e606cdd4eceedb97045a562ba35bf10214647ff949a7d27bb8b9bea676a842edd7cf1dbbb3afbb3dbfc4ed6c5bf32c571b35af538af352762ad9e18f2b78306c3f1f1af5a19f6189af7b38f7121655e37d298f91666cf5a1bf52acd3aa131f8279c1398b1920390cd1cf140f559a1f0ccd1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x73565876170a336fa02fde34eed03e3121f70ba6\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x1e752\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000bcd3d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3757c71e3e951077dd3082eb76e4eb1ae939e97cc3c024e9c19c064ef768507c4177305b5cabbd6892e3a3ddf594bd4f623ace0622e4b2f9edc04b48fc4fb77ac1c9e86471cc9acf55c2caf297f7672da55e606cdd4eceedb97045a562ba35bf10214647ff949a7d27bb8b9bea676a842edd7cf1dbbb3afbb3dbfc4ed6c5bf32c571b35af538af352762ad9e18f2b78306c3f1f1af5a19f6189af7b38f7121655e37d298f91666cf5a1bf52acd3aa131f8279c1398b1920390cd1cf140f559a1f0ccd1b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x7\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x9dac7e\",\n      \"logs\": [\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000002\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000bcd3d80\",\n          \"blockHash\": \"0x72c4ecde55db028fdcb5756cc256a3a524072eb65955d364f04121ec99699132\",\n          \"blockNumber\": \"0x1457918\",\n          \"transactionHash\": \"0xa14ff02fbd97f66e8cc6c27652c2c203af56d7611ca377f98fb0e0e38f737f85\",\n          \"transactionIndex\": \"0x8a\",\n          \"logIndex\": \"0xee\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xdb0af2544f678250773b553e85b42154552fadc014dfdff1882d81812295d2d70000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x72c4ecde55db028fdcb5756cc256a3a524072eb65955d364f04121ec99699132\",\n          \"blockNumber\": \"0x1457918\",\n          \"transactionHash\": \"0xa14ff02fbd97f66e8cc6c27652c2c203af56d7611ca377f98fb0e0e38f737f85\",\n          \"transactionIndex\": \"0x8a\",\n          \"logIndex\": \"0xef\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xa14ff02fbd97f66e8cc6c27652c2c203af56d7611ca377f98fb0e0e38f737f85\",\n      \"transactionIndex\": \"0x8a\",\n      \"blockHash\": \"0x72c4ecde55db028fdcb5756cc256a3a524072eb65955d364f04121ec99699132\",\n      \"blockNumber\": \"0x1457918\",\n      \"gasUsed\": \"0x160d0\",\n      \"effectiveGasPrice\": \"0xc9ebcc7ae\",\n      \"from\": \"0x73565876170a336fa02fde34eed03e3121f70ba6\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1733328181,\n  \"chain\": 1,\n  \"commit\": \"f4f835c\"\n}"
  },
  {
    "path": "mainnet/2024-12-11-increase-gas-limit/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: sign-upgrade\nsign-upgrade:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \\\n\t--sig \"sign()\"\n\n.PHONY: execute-upgrade\nexecute-upgrade:\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n\n.PHONY: sign-rollback\nsign-rollback:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \\\n\t--sig \"sign()\"\n\n\n.PHONY: execute-rollback\nexecute-rollback:\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2024-12-11-increase-gas-limit/README.md",
    "content": "# Update Gas Limit in L1 `SystemConfig`\n\nStatus: DONE\n\n## Objective\n\nWe are updating the gas limit to improve TPS and reduce gas fees.\n\nThis runbook invokes two scripts which allow our signers to sign two different calls for our Incident Multisig, which are both defined in the [base-org/contracts](https://github.com/base-org/contracts) repository:\n\n1. `UpgradeGasLimit` -- This script will update the gas limit to our new limit of 180M gas\n2. `RollbackGasLimit` -- This script establishes a rollback call in the case we need to revert to gas\n\nThe values we are sending are statically defined in the `.env`.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow\n> the flow for both \"Approving the Update transaction\" and\n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed.\n\n## Approving the Upgrade transaction\n\n### 1. Update repo and move to the appropriate folder:\n\n```\ncd contract-deployments\ngit pull\ncd mainnet/2024-12-11-increase-gas-limit\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-upgrade\n```\n\nOnce you run the `make sign...` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 44 to 45:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x000000000000000000000000000000000000000000000000000000000000002c\nAfter: 0x000000000000000000000000000000000000000000000000000000000000002d\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 198M to 216M:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x000000000000000000000000000000000000000000000000000000000bcd3d80\nAfter: 0x000000000000000000000000000000000000000000000000000000000cdfe600\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-upgrade\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Approving the Rollback transaction\n\nComplete the above steps for `Approving the Update transaction` before continuing below.\n\n### 1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-rollback\n```\n\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output. Once again paste this URL in your browser and click \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x000000000000000000000000000000000000000000000000000000000000002d\nAfter: 0x000000000000000000000000000000000000000000000000000000000000002e\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x000000000000000000000000000000000000000000000000000000000cdfe600\nAfter: 0x000000000000000000000000000000000000000000000000000000000bcd3d80\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-rollback\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make execute-upgrade`\n\n> [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK\n> Repeat the above, but replace the signatures with the signed\n> rollback signatures collected, the call `make execute-rollback`\n"
  },
  {
    "path": "mainnet/2024-12-11-increase-gas-limit/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2024-12-11-increase-gas-limit/records/UpgradeGasLimit.sol/1/run-1733962358.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xfd09126498cd8b4bb2c1b80d604a40e827c865a28f598baa217b6588fe2b6280\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000cdfe60000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x58e2d3211d217a52d7adee2b146290cd6e34d2b158a3bd55e9e4cc37e5a74e3e2ee3d2786ff1da421f63faaee50982f64095e85d8a313fa80df2ecc193f55cab1b14bb3e6b1750af308370f3afc7eb089788a4b3e931a4a1b24b255e736785ed436651dae7e21e444ad89abdadb1a9ffd731539a56c1f49331f04c0d3e0cf7f1db1b31a24461fad08d797d28c988b2f1d5831a9077ca6f0635ff3dbacf3a5117748d2150af1ad0c90ad5567977ae3bead55236c060997cba0f74a1f7999f722ee3ae1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x73565876170a336fa02fde34eed03e3121f70ba6\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x1e741\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000cdfe600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c358e2d3211d217a52d7adee2b146290cd6e34d2b158a3bd55e9e4cc37e5a74e3e2ee3d2786ff1da421f63faaee50982f64095e85d8a313fa80df2ecc193f55cab1b14bb3e6b1750af308370f3afc7eb089788a4b3e931a4a1b24b255e736785ed436651dae7e21e444ad89abdadb1a9ffd731539a56c1f49331f04c0d3e0cf7f1db1b31a24461fad08d797d28c988b2f1d5831a9077ca6f0635ff3dbacf3a5117748d2150af1ad0c90ad5567977ae3bead55236c060997cba0f74a1f7999f722ee3ae1b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0xc\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xcc2b6c\",\n      \"logs\": [\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000002\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000cdfe600\",\n          \"blockHash\": \"0xedb8d1619547f481a7b862d17375a713223e8e3a552fd61951e1985d2ad9e7ab\",\n          \"blockNumber\": \"0x146466c\",\n          \"transactionHash\": \"0xfd09126498cd8b4bb2c1b80d604a40e827c865a28f598baa217b6588fe2b6280\",\n          \"transactionIndex\": \"0x82\",\n          \"logIndex\": \"0x166\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x04fd6d68c63bf7ffd663c4570055a6211809985563a5c29917d9f09ad20ec15f0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xedb8d1619547f481a7b862d17375a713223e8e3a552fd61951e1985d2ad9e7ab\",\n          \"blockNumber\": \"0x146466c\",\n          \"transactionHash\": \"0xfd09126498cd8b4bb2c1b80d604a40e827c865a28f598baa217b6588fe2b6280\",\n          \"transactionIndex\": \"0x82\",\n          \"logIndex\": \"0x167\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xfd09126498cd8b4bb2c1b80d604a40e827c865a28f598baa217b6588fe2b6280\",\n      \"transactionIndex\": \"0x82\",\n      \"blockHash\": \"0xedb8d1619547f481a7b862d17375a713223e8e3a552fd61951e1985d2ad9e7ab\",\n      \"blockNumber\": \"0x146466c\",\n      \"gasUsed\": \"0x160c4\",\n      \"effectiveGasPrice\": \"0x440cd7521\",\n      \"from\": \"0x73565876170a336fa02fde34eed03e3121f70ba6\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1733962358,\n  \"chain\": 1,\n  \"commit\": \"2ed5d9a\"\n}"
  },
  {
    "path": "mainnet/2024-12-18-holocene-deployments/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n##\n# Deploy command\n##\n.PHONY: deploy\ndeploy:\n\tL2_CHAIN_ID=$(L2_CHAIN_ID) forge script --rpc-url $(L1_RPC_URL) DeployHoloceneContracts --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --verify --broadcast\n"
  },
  {
    "path": "mainnet/2024-12-18-holocene-deployments/README.md",
    "content": "# Deploy Holocene contracts\n\n## Objective\n\nTo support the Holocene Network Upgrade, we need to deploy the latest version of the following contracts:\n\n- [FaultDisputeGame](https://github.com/ethereum-optimism/optimism/blob/dff5f16c510e7f44f1be0574372ccb08bfec045c/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol)\n- [PermissionedDisputeGame](https://github.com/ethereum-optimism/optimism/blob/dff5f16c510e7f44f1be0574372ccb08bfec045c/packages/contracts-bedrock/src/dispute/PermissionedDisputeGame.sol)\n\n## Deploying the contracts\n\n### 1. Update repo and move to the appropriate folder:\n\n```\ncd contract-deployments\ngit pull\ncd mainnet/2024-12-18-holocene-deployments\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Deploy the contracts\n\n```\nmake deploy\n```\n"
  },
  {
    "path": "mainnet/2024-12-18-holocene-deployments/deployed/addresses.json",
    "content": "{}\n"
  },
  {
    "path": "mainnet/2024-12-18-holocene-deployments/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/',\n    '@solady-v0.0.245/=lib/solady-v0.0.245/src',\n    '@lib-keccak/=lib/lib-keccak/contracts/lib',\n    'src/=lib/optimism/packages/contracts-bedrock/src/',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "mainnet/2024-12-18-holocene-deployments/inputs/construct-config.sh",
    "content": "#!/bin/bash\n\nDEPLOY_FIELDS='\"baseFeeVaultRecipient\",\"batchSenderAddress\",\"controller\",\"deployerAddress\",\"finalSystemOwner\",\"finalizationPeriodSeconds\",\"gasPriceOracleOverhead\",\"gasPriceOracleScalar\",\"l1ChainID\",\"l1FeeVaultRecipient\",\"l2BlockTime\",\"l2ChainID\",\"l2OutputOracleChallenger\",\"l2OutputOracleProposer\",\"l2OutputOracleStartingBlockNumber\",\"l2OutputOracleStartingTimestamp\",\"l2OutputOracleSubmissionInterval\",\"p2pSequencerAddress\",\"portalGuardian\",\"proxyAdminOwnerL2\",\"sequencerFeeVaultRecipient\"'\n\nDEPLOY_CONFIG_FILE=\"inputs/deploy-config.json\"\nMISC_CONFIG_FILE=\"inputs/misc-config.json\"\nFOUNDRY_CONFIG_FILE=\"inputs/foundry-config.json\"\n\n# Convert field from hex to decimal\nVALUE=$(jq -r '.l2GenesisBlockGasLimit' \"$DEPLOY_CONFIG_FILE\")\nGAS_LIMIT=$(printf %d $VALUE)\n\n# Construct config file which will be the input in deploy script\njq -s '.[0] * .[1]' \"$DEPLOY_CONFIG_FILE\" \"$MISC_CONFIG_FILE\" | \\\njq \"with_entries(select([.key] | inside([$DEPLOY_FIELDS])))\" | \\\njq --arg l2GenesisBlockGasLimit $GAS_LIMIT '. + {l2GenesisBlockGasLimit: $l2GenesisBlockGasLimit | tonumber}' | \\\njq --sort-keys | \\\njq '{\"deployConfig\": .}' > \"$FOUNDRY_CONFIG_FILE\"\n"
  },
  {
    "path": "mainnet/2024-12-18-holocene-deployments/inputs/deploy-config.json",
    "content": ""
  },
  {
    "path": "mainnet/2024-12-18-holocene-deployments/inputs/misc-config.json",
    "content": ""
  },
  {
    "path": "mainnet/2024-12-18-holocene-deployments/records/DeployHoloceneContracts.s.sol/1/run-1734652451.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xb6178e6ff066add4d589c4e05f2947940d2adab55ce01207942e76a4a85524cb\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"FaultDisputeGame\",\n      \"contractAddress\": \"0xc5f3677c3c56db4031ab005a3c9c98e1b79d438e\",\n      \"function\": null,\n      \"arguments\": [\n        \"0\",\n        \"0x03f89406817db1ed7fd8b31e13300444652cdb0b9c509a674de43483b2f83568\",\n        \"73\",\n        \"30\",\n        \"10800\",\n        \"302400\",\n        \"0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C\",\n        \"0xa2f2aC6F5aF72e494A227d79Db20473Cf7A1FFE8\",\n        \"0xdB9091e48B1C42992A1213e6916184f9eBDbfEDf\",\n        \"8453\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xa7a5e47d3959bf134e3ecdeb1f62e054f0d58a18\",\n        \"gas\": \"0x674aa9\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6101c06040523480156200001257600080fd5b50604051620064b1380380620064b1833981016040819052620000359162000435565b620000436001607e6200050c565b60ff168811156200006757604051633beff19960e11b815260040160405180910390fd5b600019871480620000845750876200008188600162000532565b10155b15620000a35760405163e62ccf3960e01b815260040160405180910390fd5b6002871015620000c65760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b038016846001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200010f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013591906200054d565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000173573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019991906200056d565b1115620001b95760405163b4e1243360e01b815260040160405180910390fd5b6000620001da876001600160401b0316620003e260201b62000c891760201c565b620001f0906001600160401b0316600262000587565b90506000856001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000233573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025991906200054d565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000297573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002bd91906200056d565b620002dc896001600160401b0316620003e260201b62000c891760201c565b6001600160401b0316620002f1919062000532565b905060006200030c8383620003e560201b62003a261760201c565b90506001600160401b03811115620003375760405163235dfb2b60e21b815260040160405180910390fd5b62000356886001600160401b0316620003e260201b62000c891760201c565b6001600160401b0316816001600160401b03161115620003895760405163235dfb2b60e21b815260040160405180910390fd5b50505063ffffffff9099166101205260809790975260a09590955260c0939093526001600160401b039182166101a0521660e0526001600160a01b039081166101005290811661014052166101605261018052620005a9565b90565b6000818311620003f65781620003f8565b825b9392505050565b80516001600160401b03811681146200041757600080fd5b919050565b6001600160a01b03811681146200043257600080fd5b50565b6000806000806000806000806000806101408b8d0312156200045657600080fd5b8a5163ffffffff811681146200046b57600080fd5b809a505060208b0151985060408b0151975060608b015196506200049260808c01620003ff565b9550620004a260a08c01620003ff565b945060c08b0151620004b4816200041c565b60e08c0151909450620004c7816200041c565b6101008c0151909350620004db816200041c565b809250506101208b015190509295989b9194979a5092959850565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff841680821015620005295762000529620004f6565b90039392505050565b60008219821115620005485762000548620004f6565b500190565b6000602082840312156200056057600080fd5b8151620003f8816200041c565b6000602082840312156200058057600080fd5b5051919050565b6000816000190483118215151615620005a457620005a4620004f6565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051615d826200072f600039600081816106bb01528181611fbb015281816120260152612059015260008181610a1e01526139390152600081816106130152818161178a01526125e80152600081816105270152818161194c01528181612480015281816129ea0152613e1301526000818161088d015281816125a701526139c80152600081816104b401528181611eba015281816132420152613597015260008181610a7101528181610f6001528181611e2a01528181612089015281816120e801528181612bf60152612c38015260008181610aa401528181611c7301528181611d9901528181611ff7015281816130950152818161379601528181613f0a015281816146270152818161475501528181614856015261492b015260008181610b4b01528181611d3c01528181611e8e01528181612d0601528181612d8c01528181612f8b01526130b601526000818161078601526131540152615d826000f3fe6080604052600436106102f25760003560e01c806370872aa51161018f578063c6f0308c116100e1578063ec5e63081161008a578063fa24f74311610064578063fa24f74314610b18578063fa315aa914610b3c578063fe2bbeb214610b6f57600080fd5b8063ec5e630814610a95578063eff0f59214610ac8578063f8f43ff614610af857600080fd5b8063d6ae3cd5116100bb578063d6ae3cd514610a0f578063d8cc1a3c14610a42578063dabd396d14610a6257600080fd5b8063c6f0308c14610937578063cf09e0d0146109c1578063d5d44d80146109e257600080fd5b80638d450a9511610143578063bcef3b551161011d578063bcef3b55146108b7578063bd8da956146108f7578063c395e1ca1461091757600080fd5b80638d450a9514610777578063a445ece6146107aa578063bbdc02db1461087657600080fd5b80638129fc1c116101745780638129fc1c1461071a5780638980e0cc146107225780638b85902b1461073757600080fd5b806370872aa5146106f25780637b0f0adc1461070757600080fd5b80633fc8cef3116102485780635c0cba33116101fc5780636361506d116101d65780636361506d1461066c5780636b6716c0146106ac5780636f034409146106df57600080fd5b80635c0cba3314610604578063609d33341461063757806360e274641461064c57600080fd5b806354fd4d501161022d57806354fd4d501461055e57806357da950e146105b45780635a5fa2d9146105e457600080fd5b80633fc8cef314610518578063472777c61461054b57600080fd5b80632810e1d6116102aa57806337b1b2291161028457806337b1b229146104655780633a768463146104a55780633e3ac912146104d857600080fd5b80632810e1d6146103de5780632ad69aeb146103f357806330dbe5701461041357600080fd5b806319effeb4116102db57806319effeb414610339578063200d2ed21461038457806325fc2ace146103bf57600080fd5b806301935130146102f757806303c2924d14610319575b600080fd5b34801561030357600080fd5b506103176103123660046154e1565b610b9f565b005b34801561032557600080fd5b5061031761033436600461553c565b610ec0565b34801561034557600080fd5b506000546103669068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b34801561039057600080fd5b506000546103b290700100000000000000000000000000000000900460ff1681565b60405161037b919061558d565b3480156103cb57600080fd5b506008545b60405190815260200161037b565b3480156103ea57600080fd5b506103b2611566565b3480156103ff57600080fd5b506103d061040e36600461553c565b61180b565b34801561041f57600080fd5b506001546104409073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161037b565b34801561047157600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90033560601c610440565b3480156104b157600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610440565b3480156104e457600080fd5b50600054610508907201000000000000000000000000000000000000900460ff1681565b604051901515815260200161037b565b34801561052457600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610440565b6103176105593660046155ce565b611841565b34801561056a57600080fd5b506105a76040518060400160405280600581526020017f312e332e3100000000000000000000000000000000000000000000000000000081525081565b60405161037b9190615665565b3480156105c057600080fd5b506008546009546105cf919082565b6040805192835260208301919091520161037b565b3480156105f057600080fd5b506103d06105ff366004615678565b611853565b34801561061057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610440565b34801561064357600080fd5b506105a761188d565b34801561065857600080fd5b506103176106673660046156b6565b61189b565b34801561067857600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003603401356103d0565b3480156106b857600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610366565b6103176106ed3660046156e8565b611a42565b3480156106fe57600080fd5b506009546103d0565b6103176107153660046155ce565b61251b565b610317612528565b34801561072e57600080fd5b506002546103d0565b34801561074357600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401356103d0565b34801561078357600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b3480156107b657600080fd5b506108226107c5366004615678565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046fffffffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff1684565b60408051941515855263ffffffff90931660208501526fffffffffffffffffffffffffffffffff9091169183019190915273ffffffffffffffffffffffffffffffffffffffff16606082015260800161037b565b34801561088257600080fd5b5060405163ffffffff7f000000000000000000000000000000000000000000000000000000000000000016815260200161037b565b3480156108c357600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356103d0565b34801561090357600080fd5b50610366610912366004615678565b612a81565b34801561092357600080fd5b506103d0610932366004615727565b612c60565b34801561094357600080fd5b50610957610952366004615678565b612e43565b6040805163ffffffff909816885273ffffffffffffffffffffffffffffffffffffffff968716602089015295909416948601949094526fffffffffffffffffffffffffffffffff9182166060860152608085015291821660a08401521660c082015260e00161037b565b3480156109cd57600080fd5b506000546103669067ffffffffffffffff1681565b3480156109ee57600080fd5b506103d06109fd3660046156b6565b60036020526000908152604090205481565b348015610a1b57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b348015610a4e57600080fd5b50610317610a5d366004615759565b612eda565b348015610a6e57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610366565b348015610aa157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b348015610ad457600080fd5b50610508610ae3366004615678565b60046020526000908152604090205460ff1681565b348015610b0457600080fd5b50610317610b133660046155ce565b613509565b348015610b2457600080fd5b50610b2d6139c6565b60405161037b939291906157e3565b348015610b4857600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b348015610b7b57600080fd5b50610508610b8a366004615678565b60066020526000908152604090205460ff1681565b60008054700100000000000000000000000000000000900460ff166002811115610bcb57610bcb61555e565b14610c02576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610c55576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c8c367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013590565b90565b610ca3610c9e36869003860186615837565b613a40565b14610cda576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610cef9291906158c4565b604051809103902014610d2e576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d77610d7284848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613a9c92505050565b613b09565b90506000610d9e82600881518110610d9157610d916158d4565b6020026020010151613cbf565b9050602081511115610ddc576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401358103610e51576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054700100000000000000000000000000000000900460ff166002811115610eec57610eec61555e565b14610f23576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110610f3857610f386158d4565b906000526020600020906005020190506000610f5384612a81565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610fbc576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611005576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561102257508515155b156110bd578354640100000000900473ffffffffffffffffffffffffffffffffffffffff16600081156110555781611071565b600186015473ffffffffffffffffffffffffffffffffffffffff165b905061107d8187613d73565b50505060009485525050600660205250506040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046fffffffffffffffffffffffffffffffff16938101939093526001015473ffffffffffffffffffffffffffffffffffffffff166060830152611160576fffffffffffffffffffffffffffffffff6040820152600181526000869003611160578195505b600086826020015163ffffffff166111789190615932565b90506000838211611189578161118b565b835b602084015190915063ffffffff165b818110156112d75760008682815481106111b6576111b66158d4565b6000918252602080832090910154808352600690915260409091205490915060ff1661120e576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028281548110611223576112236158d4565b600091825260209091206005909102018054909150640100000000900473ffffffffffffffffffffffffffffffffffffffff161580156112805750600481015460408701516fffffffffffffffffffffffffffffffff9182169116115b156112c257600181015473ffffffffffffffffffffffffffffffffffffffff16606087015260048101546fffffffffffffffffffffffffffffffff1660408701525b505080806112cf9061594a565b91505061119a565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006fffffffffffffffffffffffffffffffff909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9093169290921790915584900361155b57606083015160008a815260066020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558915801561145757506000547201000000000000000000000000000000000000900460ff165b156114cc5760015473ffffffffffffffffffffffffffffffffffffffff1661147f818a613d73565b885473ffffffffffffffffffffffffffffffffffffffff909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611559565b61151373ffffffffffffffffffffffffffffffffffffffff8216156114f1578161150d565b600189015473ffffffffffffffffffffffffffffffffffffffff165b89613d73565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff1664010000000073ffffffffffffffffffffffffffffffffffffffff8316021788555b505b505050505050505050565b600080600054700100000000000000000000000000000000900460ff1660028111156115945761159461555e565b146115cb576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff1661162f576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008154811061165b5761165b6158d4565b6000918252602090912060059091020154640100000000900473ffffffffffffffffffffffffffffffffffffffff1614611696576001611699565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff9091161770010000000000000000000000000000000083600281111561174a5761174a61555e565b02179055600281111561175f5761175f61555e565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a27f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663838c2d1e6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156117f057600080fd5b505af1158015611804573d6000803e3d6000fd5b5050505090565b6005602052816000526040600020818154811061182757600080fd5b90600052602060002001600091509150505481565b905090565b61184e8383836001611a42565b505050565b6000818152600760209081526040808320600590925282208054825461188490610100900463ffffffff1682615982565b95945050505050565b606061183c60546020613e74565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260036020526040812080549082905590819003611900576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff3fef3a300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063f3fef3a390604401600060405180830381600087803b15801561199057600080fd5b505af11580156119a4573d6000803e3d6000fd5b5050505060008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611a02576040519150601f19603f3d011682016040523d82523d6000602084013e611a07565b606091505b505090508061184e576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054700100000000000000000000000000000000900460ff166002811115611a6e57611a6e61555e565b14611aa5576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028481548110611aba57611aba6158d4565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff8116845273ffffffffffffffffffffffffffffffffffffffff64010000000090910481169484019490945260018101549093169082015260028201546fffffffffffffffffffffffffffffffff908116606083015260038301546080830181905260049093015480821660a084015270010000000000000000000000000000000090041660c082015291508514611ba1576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156fffffffffffffffffffffffffffffffff83161760011b90506000611c61826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580611c9c5750611c997f00000000000000000000000000000000000000000000000000000000000000006002615932565b81145b8015611ca6575084155b15611cdd576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015611d03575086155b15611d3a576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115611d94576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611dbf7f00000000000000000000000000000000000000000000000000000000000000006001615932565b8103611dd157611dd186888588613ec6565b34611ddb83612c60565b14611e12576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611e1d88612a81565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603611e85576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611eb260017f0000000000000000000000000000000000000000000000000000000000000000615982565b8303611ff0577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f479190615999565b73ffffffffffffffffffffffffffffffffffffffff1663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fb591906159b6565b611fe9907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159cf565b9050612083565b61201b60017f0000000000000000000000000000000000000000000000000000000000000000615982565b830361205657611fe97f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff1660026159fb565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b6120b7817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615a2b565b67ffffffffffffffff166120d28367ffffffffffffffff1690565b67ffffffffffffffff16111561211957612116817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615a2b565b91505b6000604083901b421760008a8152608087901b6fffffffffffffffffffffffffffffffff8d1617602052604081209192509060008181526004602052604090205490915060ff1615612197576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001346fffffffffffffffffffffffffffffffff1681526020018c8152602001886fffffffffffffffffffffffffffffffff168152602001846fffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160020160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506080820151816003015560a08201518160040160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060c08201518160040160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505050600560008c8152602001908152602001600020600160028054905061242d9190615982565b81546001810183556000928352602083200155604080517fd0e30db0000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263d0e30db09234926004808301939282900301818588803b1580156124c557600080fd5b505af11580156124d9573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b61184e8383836000611a42565b60005471010000000000000000000000000000000000900460ff161561257a576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f7258a80700000000000000000000000000000000000000000000000000000000815263ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637258a807906024016040805180830381865afa15801561262e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126529190615a54565b90925090508161268e576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146126c157639824bdab6000526004601cfd5b80367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401351161275b576040517ff40239db000000000000000000000000000000000000000000000000000000008152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff8082526000602083018181527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe369081013560f01c90038035606090811c868801908152346fffffffffffffffffffffffffffffffff81811693890193845260149094013560808901908152600160a08a0181815242871660c08c019081526002805493840181558a529a5160059092027f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace81018054995173ffffffffffffffffffffffffffffffffffffffff908116640100000000027fffffffffffffffff000000000000000000000000000000000000000000000000909b1694909c16939093179890981790915592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf87018054918a167fffffffffffffffffffffffff000000000000000000000000000000000000000090921691909117905592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0860180549186167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090921691909117905591517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015551955182167001000000000000000000000000000000000295909116949094177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad29091015580547fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff167101000000000000000000000000000000000017815583517fd0e30db000000000000000000000000000000000000000000000000000000000815293517f00000000000000000000000000000000000000000000000000000000000000009092169363d0e30db093926004828101939282900301818588803b158015612a3057600080fd5b505af1158015612a44573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050505050565b600080600054700100000000000000000000000000000000900460ff166002811115612aaf57612aaf61555e565b14612ae6576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110612afb57612afb6158d4565b600091825260208220600590910201805490925063ffffffff90811614612b6a57815460028054909163ffffffff16908110612b3957612b396158d4565b906000526020600020906005020160040160109054906101000a90046fffffffffffffffffffffffffffffffff1690505b6004820154600090612ba290700100000000000000000000000000000000900467ffffffffffffffff165b67ffffffffffffffff1690565b612bb69067ffffffffffffffff1642615982565b612bd5612b95846fffffffffffffffffffffffffffffffff1660401c90565b67ffffffffffffffff16612be99190615932565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611612c365780611884565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612cff836fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115612d5e576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000612d798383615aa7565b9050670de0b6b3a76400006000612db0827f0000000000000000000000000000000000000000000000000000000000000000615abb565b90506000612dce612dc9670de0b6b3a764000086615abb565b614077565b90506000612ddc84846142d2565b90506000612dea8383614321565b90506000612df78261434f565b90506000612e1682612e11670de0b6b3a76400008f615abb565b614537565b90506000612e248b83614321565b9050612e30818d615abb565b9f9e505050505050505050505050505050565b60028181548110612e5357600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff8416955064010000000090930473ffffffffffffffffffffffffffffffffffffffff908116949216926fffffffffffffffffffffffffffffffff91821692918082169170010000000000000000000000000000000090041687565b60008054700100000000000000000000000000000000900460ff166002811115612f0657612f0661555e565b14612f3d576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028781548110612f5257612f526158d4565b6000918252602082206005919091020160048101549092506fffffffffffffffffffffffffffffffff16908715821760011b9050612fb17f00000000000000000000000000000000000000000000000000000000000000006001615932565b61304d826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1614613087576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080891561317e576130da7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000615982565b6001901b6130f9846fffffffffffffffffffffffffffffffff16614568565b6fffffffffffffffffffffffffffffffff166131159190615af8565b156131525761314961313a60016fffffffffffffffffffffffffffffffff8716615b0c565b865463ffffffff166000614607565b60030154613174565b7f00000000000000000000000000000000000000000000000000000000000000005b91508490506131a8565b600385015491506131a561313a6fffffffffffffffffffffffffffffffff86166001615b35565b90505b600882901b60088a8a6040516131bf9291906158c4565b6040518091039020901b14613200576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061320b8c6146eb565b9050600061321a836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e14ced3290613294908f908f908f908f908a90600401615ba9565b6020604051808303816000875af11580156132b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132d791906159b6565b600485015491149150600090600290613382906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61341e896fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6134289190615be3565b6134329190615c06565b60ff161590508115158103613473576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8754640100000000900473ffffffffffffffffffffffffffffffffffffffff16156134ca576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008054700100000000000000000000000000000000900460ff1660028111156135355761353561555e565b1461356c576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060008061357b8661471a565b9350935093509350600061359185858585614b23565b905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613600573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136249190615999565b90506001890361371c5773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a84613680367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156136f2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061371691906159b6565b5061155b565b600289036137485773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a8489613680565b600389036137745773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a8487613680565b600489036138fb5760006137ba6fffffffffffffffffffffffffffffffff85167f0000000000000000000000000000000000000000000000000000000000000000614bdd565b6009546137c79190615932565b6137d2906001615932565b9050367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135811061383b57367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036054013561383d565b805b905073ffffffffffffffffffffffffffffffffffffffff82166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af11580156138d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138f491906159b6565b505061155b565b60058903613994576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b6044820152600860648201526084810188905273ffffffffffffffffffffffffffffffffffffffff8216906352f0f3ad9060a4016136d3565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356060613a1f61188d565b9050909192565b6000818311613a355781613a37565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001613a7f949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003613aeb576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000613b1985614c8b565b919450925090506001816001811115613b3457613b3461555e565b14613b6b576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451613b778385615932565b14613bae576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b6040805180820190915260008082526020820152815260200190600190039081613bc55790505093506000835b8651811015613cb357600080613c386040518060400160405280858c60000151613c1c9190615982565b8152602001858c60200151613c319190615932565b9052614c8b565b509150915060405180604001604052808383613c549190615932565b8152602001848b60200151613c699190615932565b815250888581518110613c7e57613c7e6158d4565b6020908102919091010152613c94600185615932565b9350613ca08183615932565b613caa9084615932565b92505050613bf2565b50845250919392505050565b60606000806000613ccf85614c8b565b919450925090506000816001811115613cea57613cea61555e565b14613d21576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613d2b8284615932565b855114613d64576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61188485602001518484615129565b600281015473ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040812080546fffffffffffffffffffffffffffffffff90931692839290613dc2908490615932565b90915550506040517f7eee288d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018390527f00000000000000000000000000000000000000000000000000000000000000001690637eee288d90604401600060405180830381600087803b158015613e5757600080fd5b505af1158015613e6b573d6000803e3d6000fd5b50505050505050565b604051818152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b6000613ee56fffffffffffffffffffffffffffffffff84166001615b35565b90506000613ef582866001614607565b9050600086901a8380613fe15750613f2e60027f0000000000000000000000000000000000000000000000000000000000000000615af8565b6004830154600290613fd2906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b613fdc9190615c06565b60ff16145b156140395760ff811660011480613ffb575060ff81166002145b614034576040517ff40239db00000000000000000000000000000000000000000000000000000000815260048101889052602401612752565b613e6b565b60ff811615613e6b576040517ff40239db00000000000000000000000000000000000000000000000000000000815260048101889052602401612752565b6fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b17600082136140d657631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261430f57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b60008160001904831182021561433f5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d7821361437d57919050565b680755bf798b4a1bf1e5821261439b5763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000613a37670de0b6b3a76400008361454f86614077565b6145599190615c28565b6145639190615ce4565b61434f565b6000806145f5837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b600080826146505761464b6fffffffffffffffffffffffffffffffff86167f00000000000000000000000000000000000000000000000000000000000000006151be565b61466b565b61466b856fffffffffffffffffffffffffffffffff1661534a565b905060028481548110614680576146806158d4565b906000526020600020906005020191505b60048201546fffffffffffffffffffffffffffffffff8281169116146146e357815460028054909163ffffffff169081106146ce576146ce6158d4565b90600052602060002090600502019150614691565b509392505050565b60008060008060006146fc8661471a565b935093509350935061471084848484614b23565b9695505050505050565b600080600080600085905060006002828154811061473a5761473a6158d4565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614811906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161484b576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090614912906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561498757825463ffffffff166149517f00000000000000000000000000000000000000000000000000000000000000006001615932565b830361495b578391505b6002818154811061496e5761496e6158d4565b906000526020600020906005020193508094505061484f565b600481810154908401546fffffffffffffffffffffffffffffffff91821691166000816fffffffffffffffffffffffffffffffff166149f06149db856fffffffffffffffffffffffffffffffff1660011c90565b6fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff161490508015614abf576000614a28836fffffffffffffffffffffffffffffffff16614568565b6fffffffffffffffffffffffffffffffff161115614a93576000614a6a614a6260016fffffffffffffffffffffffffffffffff8616615b0c565b896001614607565b6003810154600490910154909c506fffffffffffffffffffffffffffffffff169a50614a999050565b6008549a505b600386015460048701549099506fffffffffffffffffffffffffffffffff169750614b15565b6000614ae1614a626fffffffffffffffffffffffffffffffff85166001615b35565b6003808901546004808b015492840154930154909e506fffffffffffffffffffffffffffffffff9182169d50919b50169850505b505050505050509193509193565b60006fffffffffffffffffffffffffffffffff841615614b905760408051602081018790526fffffffffffffffffffffffffffffffff8087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611884565b8282604051602001614bbe9291909182526fffffffffffffffffffffffffffffffff16602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614c6a847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614cce576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614cf3576000600160009450945094505050615122565b60b78111614e09576000614d08608083615982565b905080876000015111614d47576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614dbf57507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614df6576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250615122915050565b60bf8111614f67576000614e1e60b783615982565b905080876000015111614e5d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614ebf576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614f07576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f118184615932565b895111614f4a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f55836001615932565b97509550600094506151229350505050565b60f78111614fcc576000614f7c60c083615982565b905080876000015111614fbb576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250615122915050565b6000614fd960f783615982565b905080876000015111615018576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff0000000000000000000000000000000000000000000000000000000000000016600081900361507a576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c603781116150c2576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6150cc8184615932565b895111615105576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b615110836001615932565b97509550600194506151229350505050565b9193909250565b60608167ffffffffffffffff81111561514457615144615808565b6040519080825280601f01601f19166020018201604052801561516e576020820181803683370190505b50905081156151b75760006151838486615932565b90506020820160005b848110156151a457828101518282015260200161518c565b848111156151b3576000858301525b5050505b9392505050565b60008161525d846fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116152735763b34b5c226000526004601cfd5b61527c8361534a565b90508161531b826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611613a3a57613a37615331836001615932565b6fffffffffffffffffffffffffffffffff8316906153ef565b600081196001830116816153de827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061547c847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f8401126154aa57600080fd5b50813567ffffffffffffffff8111156154c257600080fd5b6020830191508360208285010111156154da57600080fd5b9250929050565b600080600083850360a08112156154f757600080fd5b608081121561550557600080fd5b50839250608084013567ffffffffffffffff81111561552357600080fd5b61552f86828701615498565b9497909650939450505050565b6000806040838503121561554f57600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60208101600383106155c8577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6000806000606084860312156155e357600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561562057602081850181015186830182015201615604565b81811115615632576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000613a3760208301846155fa565b60006020828403121561568a57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146156b357600080fd5b50565b6000602082840312156156c857600080fd5b81356151b781615691565b803580151581146156e357600080fd5b919050565b600080600080608085870312156156fe57600080fd5b84359350602085013592506040850135915061571c606086016156d3565b905092959194509250565b60006020828403121561573957600080fd5b81356fffffffffffffffffffffffffffffffff811681146151b757600080fd5b6000806000806000806080878903121561577257600080fd5b86359550615782602088016156d3565b9450604087013567ffffffffffffffff8082111561579f57600080fd5b6157ab8a838b01615498565b909650945060608901359150808211156157c457600080fd5b506157d189828a01615498565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061188460608301846155fa565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006080828403121561584957600080fd5b6040516080810181811067ffffffffffffffff82111715615893577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000821982111561594557615945615903565b500190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361597b5761597b615903565b5060010190565b60008282101561599457615994615903565b500390565b6000602082840312156159ab57600080fd5b81516151b781615691565b6000602082840312156159c857600080fd5b5051919050565b600067ffffffffffffffff8083168185168083038211156159f2576159f2615903565b01949350505050565b600067ffffffffffffffff80831681851681830481118215151615615a2257615a22615903565b02949350505050565b600067ffffffffffffffff83811690831681811015615a4c57615a4c615903565b039392505050565b60008060408385031215615a6757600080fd5b505080516020909101519092909150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082615ab657615ab6615a78565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615615af357615af3615903565b500290565b600082615b0757615b07615a78565b500690565b60006fffffffffffffffffffffffffffffffff83811690831681811015615a4c57615a4c615903565b60006fffffffffffffffffffffffffffffffff8083168185168083038211156159f2576159f2615903565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615bbd606083018789615b60565b8281036020840152615bd0818688615b60565b9150508260408301529695505050505050565b600060ff821660ff841680821015615bfd57615bfd615903565b90039392505050565b600060ff831680615c1957615c19615a78565b8060ff84160691505092915050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615c6957615c69615903565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615ca457615ca4615903565b60008712925087820587128484161615615cc057615cc0615903565b87850587128184161615615cd657615cd6615903565b505050929093029392505050565b600082615cf357615cf3615a78565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f800000000000000000000000000000000000000000000000000000000000000083141615615d4757615d47615903565b50059056fea26469706673582212200c2ab0d7a60a1fe8e3bd870cefc3b1dbdee450529a1609937b927b32be0271c064736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000000003f89406817db1ed7fd8b31e13300444652cdb0b9c509a674de43483b2f835680000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d400000000000000000000000005fe03a12c1236f9c22cb6479778ddaa4bce6299c000000000000000000000000a2f2ac6f5af72e494a227d79db20473cf7a1ffe8000000000000000000000000db9091e48b1c42992a1213e6916184f9ebdbfedf0000000000000000000000000000000000000000000000000000000000002105\",\n        \"nonce\": \"0xa\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x91f4f40a022f843841cab97cc75f9af29cb486160966c431171faa60222cae13\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"PermissionedDisputeGame\",\n      \"contractAddress\": \"0xf62c15e2f99d4869a925b8f57076cd85335832a2\",\n      \"function\": null,\n      \"arguments\": [\n        \"1\",\n        \"0x03f89406817db1ed7fd8b31e13300444652cdb0b9c509a674de43483b2f83568\",\n        \"73\",\n        \"30\",\n        \"10800\",\n        \"302400\",\n        \"0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C\",\n        \"0x3E8a0B63f57e975c268d610ece93da5f78c01321\",\n        \"0xdB9091e48B1C42992A1213e6916184f9eBDbfEDf\",\n        \"8453\",\n        \"0x642229f238fb9dE03374Be34B0eD8D9De80752c5\",\n        \"0x8Ca1E12404d16373Aef756179B185F27b2994F3a\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xa7a5e47d3959bf134e3ecdeb1f62e054f0d58a18\",\n        \"gas\": \"0x6a01e9\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6102006040523480156200001257600080fd5b50604051620067b4380380620067b4833981016040819052620000359162000468565b8b8b8b8b8b8b8b8b8b8b6200004d6001607e6200055b565b60ff168811156200007157604051633beff19960e11b815260040160405180910390fd5b6000198714806200008e5750876200008b88600162000581565b10155b15620000ad5760405163e62ccf3960e01b815260040160405180910390fd5b6002871015620000d05760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b038016846001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000119573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013f91906200059c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200017d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a39190620005bc565b1115620001c35760405163b4e1243360e01b815260040160405180910390fd5b6000620001e4876001600160401b03166200040860201b62000d051760201c565b620001fa906001600160401b03166002620005d6565b90506000856001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200023d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026391906200059c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002a1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c79190620005bc565b620002e6896001600160401b03166200040860201b62000d051760201c565b6001600160401b0316620002fb919062000581565b905060006200031683836200040b60201b620026401760201c565b90506001600160401b03811115620003415760405163235dfb2b60e21b815260040160405180910390fd5b62000360886001600160401b03166200040860201b62000d051760201c565b6001600160401b0316816001600160401b03161115620003935760405163235dfb2b60e21b815260040160405180910390fd5b50505063ffffffff9099166101205260809790975260a09590955260c0939093526001600160401b039182166101a0521660e0526001600160a01b03908116610100529081166101405290811661016052610180919091529182166101c052166101e05250620005f898505050505050505050565b90565b60008183116200041c57816200041e565b825b9392505050565b80516001600160401b03811681146200043d57600080fd5b919050565b6001600160a01b03811681146200045857600080fd5b50565b80516200043d8162000442565b6000806000806000806000806000806000806101808d8f0312156200048c57600080fd5b8c5163ffffffff81168114620004a157600080fd5b809c505060208d01519a5060408d0151995060608d01519850620004c860808e0162000425565b9750620004d860a08e0162000425565b9650620004e860c08e016200045b565b9550620004f860e08e016200045b565b9450620005096101008e016200045b565b93506101208d01519250620005226101408e016200045b565b9150620005336101608e016200045b565b90509295989b509295989b509295989b565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168082101562000578576200057862000545565b90039392505050565b6000821982111562000597576200059762000545565b500190565b600060208284031215620005af57600080fd5b81516200041e8162000442565b600060208284031215620005cf57600080fd5b5051919050565b6000816000190483118215151615620005f357620005f362000545565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051615ffd620007b76000396000818161058301528181611b1501526120b50152600081816108ce01528181611ad601528181611ba4015261207601526000818161070401528181613059015281816130c401526130f7015260008181610a9a015261255301526000818161065c01528181611806015261367901526000818161053d015281816119c801528181612a2d0152818161351e0152613a7b015260008181610909015281816125e201526136380152600081816104ca015281816121b101528181612f58015261436b015260008181610aed01528181610fdc01528181611d7a01528181611dbc01528181612ec8015281816131270152613186015260008181610b20015281816123b001528181612d1101528181612e3701528181613095015281816141be0152818161466d0152818161476e015281816148430152818161511a0152615346015260008181610bc701528181611e8a01528181611f1001528181612dda01528181612f2c015281816140b401526141df0152600081816107cf015261427d0152615ffd6000f3fe6080604052600436106103085760003560e01c806370872aa51161019a578063c6f0308c116100e1578063ec5e63081161008a578063fa24f74311610064578063fa24f74314610b94578063fa315aa914610bb8578063fe2bbeb214610beb57600080fd5b8063ec5e630814610b11578063eff0f59214610b44578063f8f43ff614610b7457600080fd5b8063d6ae3cd5116100bb578063d6ae3cd514610a8b578063d8cc1a3c14610abe578063dabd396d14610ade57600080fd5b8063c6f0308c146109b3578063cf09e0d014610a3d578063d5d44d8014610a5e57600080fd5b8063a445ece611610143578063bcef3b551161011d578063bcef3b5514610933578063bd8da95614610973578063c395e1ca1461099357600080fd5b8063a445ece6146107f3578063a8e4fb90146108bf578063bbdc02db146108f257600080fd5b80638980e0cc116101745780638980e0cc1461076b5780638b85902b146107805780638d450a95146107c057600080fd5b806370872aa51461073b5780637b0f0adc146107505780638129fc1c1461076357600080fd5b80633fc8cef31161025e5780635c0cba33116102075780636361506d116101e15780636361506d146106b55780636b6716c0146106f55780636f0344091461072857600080fd5b80635c0cba331461064d578063609d33341461068057806360e274641461069557600080fd5b806354fd4d501161023857806354fd4d50146105a757806357da950e146105fd5780635a5fa2d91461062d57600080fd5b80633fc8cef31461052e578063472777c614610561578063534db0e21461057457600080fd5b80632810e1d6116102c057806337b1b2291161029a57806337b1b2291461047b5780633a768463146104bb5780633e3ac912146104ee57600080fd5b80632810e1d6146103f45780632ad69aeb1461040957806330dbe5701461042957600080fd5b806319effeb4116102f157806319effeb41461034f578063200d2ed21461039a57806325fc2ace146103d557600080fd5b8063019351301461030d57806303c2924d1461032f575b600080fd5b34801561031957600080fd5b5061032d61032836600461575c565b610c1b565b005b34801561033b57600080fd5b5061032d61034a3660046157b7565b610f3c565b34801561035b57600080fd5b5060005461037c9068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103a657600080fd5b506000546103c890700100000000000000000000000000000000900460ff1681565b6040516103919190615808565b3480156103e157600080fd5b506008545b604051908152602001610391565b34801561040057600080fd5b506103c86115e2565b34801561041557600080fd5b506103e66104243660046157b7565b611887565b34801561043557600080fd5b506001546104569073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610391565b34801561048757600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90033560601c610456565b3480156104c757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156104fa57600080fd5b5060005461051e907201000000000000000000000000000000000000900460ff1681565b6040519015158152602001610391565b34801561053a57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b61032d61056f366004615849565b6118bd565b34801561058057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156105b357600080fd5b506105f06040518060400160405280600581526020017f312e332e3100000000000000000000000000000000000000000000000000000081525081565b60405161039191906158e0565b34801561060957600080fd5b50600854600954610618919082565b60408051928352602083019190915201610391565b34801561063957600080fd5b506103e66106483660046158f3565b6118cf565b34801561065957600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b34801561068c57600080fd5b506105f0611909565b3480156106a157600080fd5b5061032d6106b0366004615931565b611917565b3480156106c157600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003603401356103e6565b34801561070157600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061037c565b61032d610736366004615963565b611abe565b34801561074757600080fd5b506009546103e6565b61032d61075e366004615849565b611b7f565b61032d611b8c565b34801561077757600080fd5b506002546103e6565b34801561078c57600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401356103e6565b3480156107cc57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b3480156107ff57600080fd5b5061086b61080e3660046158f3565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046fffffffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff1684565b60408051941515855263ffffffff90931660208501526fffffffffffffffffffffffffffffffff9091169183019190915273ffffffffffffffffffffffffffffffffffffffff166060820152608001610391565b3480156108cb57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156108fe57600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610391565b34801561093f57600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356103e6565b34801561097f57600080fd5b5061037c61098e3660046158f3565b611c05565b34801561099f57600080fd5b506103e66109ae3660046159a2565b611de4565b3480156109bf57600080fd5b506109d36109ce3660046158f3565b611fc7565b6040805163ffffffff909816885273ffffffffffffffffffffffffffffffffffffffff968716602089015295909416948601949094526fffffffffffffffffffffffffffffffff9182166060860152608085015291821660a08401521660c082015260e001610391565b348015610a4957600080fd5b5060005461037c9067ffffffffffffffff1681565b348015610a6a57600080fd5b506103e6610a79366004615931565b60036020526000908152604090205481565b348015610a9757600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610aca57600080fd5b5061032d610ad93660046159d4565b61205e565b348015610aea57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061037c565b348015610b1d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610b5057600080fd5b5061051e610b5f3660046158f3565b60046020526000908152604090205460ff1681565b348015610b8057600080fd5b5061032d610b8f366004615849565b612123565b348015610ba057600080fd5b50610ba96125e0565b60405161039193929190615a5e565b348015610bc457600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610bf757600080fd5b5061051e610c063660046158f3565b60066020526000908152604090205460ff1681565b60008054700100000000000000000000000000000000900460ff166002811115610c4757610c476157d9565b14610c7e576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610cd1576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d08367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013590565b90565b610d1f610d1a36869003860186615ab2565b61265a565b14610d56576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610d6b929190615b3f565b604051809103902014610daa576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610df3610dee84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506126b692505050565b612723565b90506000610e1a82600881518110610e0d57610e0d615b4f565b60200260200101516128d9565b9050602081511115610e58576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401358103610ecd576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054700100000000000000000000000000000000900460ff166002811115610f6857610f686157d9565b14610f9f576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110610fb457610fb4615b4f565b906000526020600020906005020190506000610fcf84611c05565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015611038576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611081576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561109e57508515155b15611139578354640100000000900473ffffffffffffffffffffffffffffffffffffffff16600081156110d157816110ed565b600186015473ffffffffffffffffffffffffffffffffffffffff165b90506110f9818761298d565b50505060009485525050600660205250506040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046fffffffffffffffffffffffffffffffff16938101939093526001015473ffffffffffffffffffffffffffffffffffffffff1660608301526111dc576fffffffffffffffffffffffffffffffff60408201526001815260008690036111dc578195505b600086826020015163ffffffff166111f49190615bad565b905060008382116112055781611207565b835b602084015190915063ffffffff165b8181101561135357600086828154811061123257611232615b4f565b6000918252602080832090910154808352600690915260409091205490915060ff1661128a576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002828154811061129f5761129f615b4f565b600091825260209091206005909102018054909150640100000000900473ffffffffffffffffffffffffffffffffffffffff161580156112fc5750600481015460408701516fffffffffffffffffffffffffffffffff9182169116115b1561133e57600181015473ffffffffffffffffffffffffffffffffffffffff16606087015260048101546fffffffffffffffffffffffffffffffff1660408701525b5050808061134b90615bc5565b915050611216565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006fffffffffffffffffffffffffffffffff909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909316929092179091558490036115d757606083015160008a815260066020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055891580156114d357506000547201000000000000000000000000000000000000900460ff165b156115485760015473ffffffffffffffffffffffffffffffffffffffff166114fb818a61298d565b885473ffffffffffffffffffffffffffffffffffffffff909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff9091161788556115d5565b61158f73ffffffffffffffffffffffffffffffffffffffff82161561156d5781611589565b600189015473ffffffffffffffffffffffffffffffffffffffff165b8961298d565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff1664010000000073ffffffffffffffffffffffffffffffffffffffff8316021788555b505b505050505050505050565b600080600054700100000000000000000000000000000000900460ff166002811115611610576116106157d9565b14611647576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166116ab576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660026000815481106116d7576116d7615b4f565b6000918252602090912060059091020154640100000000900473ffffffffffffffffffffffffffffffffffffffff1614611712576001611715565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff909116177001000000000000000000000000000000008360028111156117c6576117c66157d9565b0217905560028111156117db576117db6157d9565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a27f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663838c2d1e6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561186c57600080fd5b505af1158015611880573d6000803e3d6000fd5b5050505090565b600560205281600052604060002081815481106118a357600080fd5b90600052602060002001600091509150505481565b905090565b6118ca8383836001611abe565b505050565b6000818152600760209081526040808320600590925282208054825461190090610100900463ffffffff1682615bfd565b95945050505050565b60606118b860546020612a8e565b73ffffffffffffffffffffffffffffffffffffffff811660009081526003602052604081208054908290559081900361197c576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff3fef3a300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063f3fef3a390604401600060405180830381600087803b158015611a0c57600080fd5b505af1158015611a20573d6000803e3d6000fd5b5050505060008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611a7e576040519150601f19603f3d011682016040523d82523d6000602084013e611a83565b606091505b50509050806118ca576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480611b3757503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016145b611b6d576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b7984848484612ae0565b50505050565b6118ca8383836000611abe565b3273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611bfb576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c036135b9565b565b600080600054700100000000000000000000000000000000900460ff166002811115611c3357611c336157d9565b14611c6a576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110611c7f57611c7f615b4f565b600091825260208220600590910201805490925063ffffffff90811614611cee57815460028054909163ffffffff16908110611cbd57611cbd615b4f565b906000526020600020906005020160040160109054906101000a90046fffffffffffffffffffffffffffffffff1690505b6004820154600090611d2690700100000000000000000000000000000000900467ffffffffffffffff165b67ffffffffffffffff1690565b611d3a9067ffffffffffffffff1642615bfd565b611d59611d19846fffffffffffffffffffffffffffffffff1660401c90565b67ffffffffffffffff16611d6d9190615bad565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611611dba5780611900565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080611e83836fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115611ee2576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000611efd8383615c43565b9050670de0b6b3a76400006000611f34827f0000000000000000000000000000000000000000000000000000000000000000615c57565b90506000611f52611f4d670de0b6b3a764000086615c57565b613b12565b90506000611f608484613d6d565b90506000611f6e8383613dbc565b90506000611f7b82613dea565b90506000611f9a82611f95670de0b6b3a76400008f615c57565b613fd2565b90506000611fa88b83613dbc565b9050611fb4818d615c57565b9f9e505050505050505050505050505050565b60028181548110611fd757600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff8416955064010000000090930473ffffffffffffffffffffffffffffffffffffffff908116949216926fffffffffffffffffffffffffffffffff91821692918082169170010000000000000000000000000000000090041687565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614806120d757503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016145b61210d576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61211b868686868686614003565b505050505050565b60008054700100000000000000000000000000000000900460ff16600281111561214f5761214f6157d9565b14612186576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060008061219586614632565b935093509350935060006121ab85858585614a3b565b905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561221a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061223e9190615c94565b9050600189036123365773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a8461229a367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af115801561230c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123309190615cb1565b506115d7565b600289036123625773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a848961229a565b6003890361238e5773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a848761229a565b600489036125155760006123d46fffffffffffffffffffffffffffffffff85167f0000000000000000000000000000000000000000000000000000000000000000614af5565b6009546123e19190615bad565b6123ec906001615bad565b9050367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135811061245557367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135612457565b805b905073ffffffffffffffffffffffffffffffffffffffff82166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af11580156124ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061250e9190615cb1565b50506115d7565b600589036125ae576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b6044820152600860648201526084810188905273ffffffffffffffffffffffffffffffffffffffff8216906352f0f3ad9060a4016122ed565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356060612639611909565b9050909192565b600081831161264f5781612651565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001612699949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003612705576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b6060600080600061273385614ba3565b91945092509050600181600181111561274e5761274e6157d9565b14612785576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84516127918385615bad565b146127c8576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816127df5790505093506000835b86518110156128cd576000806128526040518060400160405280858c600001516128369190615bfd565b8152602001858c6020015161284b9190615bad565b9052614ba3565b50915091506040518060400160405280838361286e9190615bad565b8152602001848b602001516128839190615bad565b81525088858151811061289857612898615b4f565b60209081029190910101526128ae600185615bad565b93506128ba8183615bad565b6128c49084615bad565b9250505061280c565b50845250919392505050565b606060008060006128e985614ba3565b919450925090506000816001811115612904576129046157d9565b1461293b576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129458284615bad565b85511461297e576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61190085602001518484615041565b600281015473ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040812080546fffffffffffffffffffffffffffffffff909316928392906129dc908490615bad565b90915550506040517f7eee288d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018390527f00000000000000000000000000000000000000000000000000000000000000001690637eee288d90604401600060405180830381600087803b158015612a7157600080fd5b505af1158015612a85573d6000803e3d6000fd5b50505050505050565b604051818152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b60008054700100000000000000000000000000000000900460ff166002811115612b0c57612b0c6157d9565b14612b43576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028481548110612b5857612b58615b4f565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff8116845273ffffffffffffffffffffffffffffffffffffffff64010000000090910481169484019490945260018101549093169082015260028201546fffffffffffffffffffffffffffffffff908116606083015260038301546080830181905260049093015480821660a084015270010000000000000000000000000000000090041660c082015291508514612c3f576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156fffffffffffffffffffffffffffffffff83161760011b90506000612cff826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580612d3a5750612d377f00000000000000000000000000000000000000000000000000000000000000006002615bad565b81145b8015612d44575084155b15612d7b576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015612da1575086155b15612dd8576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115612e32576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612e5d7f00000000000000000000000000000000000000000000000000000000000000006001615bad565b8103612e6f57612e6f868885886150d6565b34612e7983611de4565b14612eb0576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612ebb88611c05565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603612f23576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612f5060017f0000000000000000000000000000000000000000000000000000000000000000615bfd565b830361308e577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612fc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fe59190615c94565b73ffffffffffffffffffffffffffffffffffffffff1663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561302f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130539190615cb1565b613087907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615cca565b9050613121565b6130b960017f0000000000000000000000000000000000000000000000000000000000000000615bfd565b83036130f4576130877f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166002615cf6565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b613155817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615d26565b67ffffffffffffffff166131708367ffffffffffffffff1690565b67ffffffffffffffff1611156131b7576131b4817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615d26565b91505b6000604083901b421760008a8152608087901b6fffffffffffffffffffffffffffffffff8d1617602052604081209192509060008181526004602052604090205490915060ff1615613235576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001346fffffffffffffffffffffffffffffffff1681526020018c8152602001886fffffffffffffffffffffffffffffffff168152602001846fffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160020160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506080820151816003015560a08201518160040160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060c08201518160040160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505050600560008c815260200190815260200160002060016002805490506134cb9190615bfd565b81546001810183556000928352602083200155604080517fd0e30db0000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263d0e30db09234926004808301939282900301818588803b15801561356357600080fd5b505af1158015613577573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b60005471010000000000000000000000000000000000900460ff161561360b576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f7258a80700000000000000000000000000000000000000000000000000000000815263ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637258a807906024016040805180830381865afa1580156136bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136e39190615d4f565b90925090508161371f576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a1461375257639824bdab6000526004601cfd5b80367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135116137ec576040517ff40239db000000000000000000000000000000000000000000000000000000008152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff8082526000602083018181527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe369081013560f01c90038035606090811c868801908152346fffffffffffffffffffffffffffffffff81811693890193845260149094013560808901908152600160a08a0181815242871660c08c019081526002805493840181558a529a5160059092027f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace81018054995173ffffffffffffffffffffffffffffffffffffffff908116640100000000027fffffffffffffffff000000000000000000000000000000000000000000000000909b1694909c16939093179890981790915592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf87018054918a167fffffffffffffffffffffffff000000000000000000000000000000000000000090921691909117905592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0860180549186167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090921691909117905591517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015551955182167001000000000000000000000000000000000295909116949094177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad29091015580547fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff167101000000000000000000000000000000000017815583517fd0e30db000000000000000000000000000000000000000000000000000000000815293517f00000000000000000000000000000000000000000000000000000000000000009092169363d0e30db093926004828101939282900301818588803b158015613ac157600080fd5b505af1158015613ad5573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050505050565b6fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213613b7157631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a764000002158202613daa57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b600081600019048311820215613dda5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d78213613e1857919050565b680755bf798b4a1bf1e58212613e365763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000612651670de0b6b3a764000083613fea86613b12565b613ff49190615d73565b613ffe9190615e2f565b613dea565b60008054700100000000000000000000000000000000900460ff16600281111561402f5761402f6157d9565b14614066576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002878154811061407b5761407b615b4f565b6000918252602082206005919091020160048101549092506fffffffffffffffffffffffffffffffff16908715821760011b90506140da7f00000000000000000000000000000000000000000000000000000000000000006001615bad565b614176826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16146141b0576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008089156142a7576142037f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000615bfd565b6001901b614222846fffffffffffffffffffffffffffffffff16615287565b6fffffffffffffffffffffffffffffffff1661423e9190615e97565b1561427b5761427261426360016fffffffffffffffffffffffffffffffff8716615eab565b865463ffffffff166000615326565b6003015461429d565b7f00000000000000000000000000000000000000000000000000000000000000005b91508490506142d1565b600385015491506142ce6142636fffffffffffffffffffffffffffffffff86166001615ed4565b90505b600882901b60088a8a6040516142e8929190615b3f565b6040518091039020901b14614329576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006143348c61540a565b90506000614343836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e14ced32906143bd908f908f908f908f908a90600401615f48565b6020604051808303816000875af11580156143dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144009190615cb1565b6004850154911491506000906002906144ab906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b614547896fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6145519190615f82565b61455b9190615fa5565b60ff16159050811515810361459c576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8754640100000000900473ffffffffffffffffffffffffffffffffffffffff16156145f3576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b600080600080600085905060006002828154811061465257614652615b4f565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614729906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611614763576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f00000000000000000000000000000000000000000000000000000000000000009061482a906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561489f57825463ffffffff166148697f00000000000000000000000000000000000000000000000000000000000000006001615bad565b8303614873578391505b6002818154811061488657614886615b4f565b9060005260206000209060050201935080945050614767565b600481810154908401546fffffffffffffffffffffffffffffffff91821691166000816fffffffffffffffffffffffffffffffff166149086148f3856fffffffffffffffffffffffffffffffff1660011c90565b6fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff1614905080156149d7576000614940836fffffffffffffffffffffffffffffffff16615287565b6fffffffffffffffffffffffffffffffff1611156149ab57600061498261497a60016fffffffffffffffffffffffffffffffff8616615eab565b896001615326565b6003810154600490910154909c506fffffffffffffffffffffffffffffffff169a506149b19050565b6008549a505b600386015460048701549099506fffffffffffffffffffffffffffffffff169750614a2d565b60006149f961497a6fffffffffffffffffffffffffffffffff85166001615ed4565b6003808901546004808b015492840154930154909e506fffffffffffffffffffffffffffffffff9182169d50919b50169850505b505050505050509193509193565b60006fffffffffffffffffffffffffffffffff841615614aa85760408051602081018790526fffffffffffffffffffffffffffffffff8087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611900565b8282604051602001614ad69291909182526fffffffffffffffffffffffffffffffff16602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614b82847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614be6576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614c0b57600060016000945094509450505061503a565b60b78111614d21576000614c20608083615bfd565b905080876000015111614c5f576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614cd757507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614d0e576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001955093506000925061503a915050565b60bf8111614e7f576000614d3660b783615bfd565b905080876000015111614d75576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614dd7576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614e1f576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e298184615bad565b895111614e62576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e6d836001615bad565b975095506000945061503a9350505050565b60f78111614ee4576000614e9460c083615bfd565b905080876000015111614ed3576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60019550935084925061503a915050565b6000614ef160f783615bfd565b905080876000015111614f30576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614f92576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614fda576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614fe48184615bad565b89511161501d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b615028836001615bad565b975095506001945061503a9350505050565b9193909250565b60608167ffffffffffffffff81111561505c5761505c615a83565b6040519080825280601f01601f191660200182016040528015615086576020820181803683370190505b50905081156150cf57600061509b8486615bad565b90506020820160005b848110156150bc5782810151828201526020016150a4565b848111156150cb576000858301525b5050505b9392505050565b60006150f56fffffffffffffffffffffffffffffffff84166001615ed4565b9050600061510582866001615326565b9050600086901a83806151f1575061513e60027f0000000000000000000000000000000000000000000000000000000000000000615e97565b60048301546002906151e2906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6151ec9190615fa5565b60ff16145b156152495760ff81166001148061520b575060ff81166002145b615244576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016137e3565b612a85565b60ff811615612a85576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016137e3565b600080615314837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b6000808261536f5761536a6fffffffffffffffffffffffffffffffff86167f0000000000000000000000000000000000000000000000000000000000000000615439565b61538a565b61538a856fffffffffffffffffffffffffffffffff166155c5565b90506002848154811061539f5761539f615b4f565b906000526020600020906005020191505b60048201546fffffffffffffffffffffffffffffffff82811691161461540257815460028054909163ffffffff169081106153ed576153ed615b4f565b906000526020600020906005020191506153b0565b509392505050565b600080600080600061541b86614632565b935093509350935061542f84848484614a3b565b9695505050505050565b6000816154d8846fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116154ee5763b34b5c226000526004601cfd5b6154f7836155c5565b905081615596826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611612654576126516155ac836001615bad565b6fffffffffffffffffffffffffffffffff83169061566a565b60008119600183011681615659827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b6000806156f7847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261572557600080fd5b50813567ffffffffffffffff81111561573d57600080fd5b60208301915083602082850101111561575557600080fd5b9250929050565b600080600083850360a081121561577257600080fd5b608081121561578057600080fd5b50839250608084013567ffffffffffffffff81111561579e57600080fd5b6157aa86828701615713565b9497909650939450505050565b600080604083850312156157ca57600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810160038310615843577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b60008060006060848603121561585e57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561589b5760208185018101518683018201520161587f565b818111156158ad576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006126516020830184615875565b60006020828403121561590557600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461592e57600080fd5b50565b60006020828403121561594357600080fd5b81356150cf8161590c565b8035801515811461595e57600080fd5b919050565b6000806000806080858703121561597957600080fd5b8435935060208501359250604085013591506159976060860161594e565b905092959194509250565b6000602082840312156159b457600080fd5b81356fffffffffffffffffffffffffffffffff811681146150cf57600080fd5b600080600080600080608087890312156159ed57600080fd5b863595506159fd6020880161594e565b9450604087013567ffffffffffffffff80821115615a1a57600080fd5b615a268a838b01615713565b90965094506060890135915080821115615a3f57600080fd5b50615a4c89828a01615713565b979a9699509497509295939492505050565b63ffffffff841681528260208201526060604082015260006119006060830184615875565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060808284031215615ac457600080fd5b6040516080810181811067ffffffffffffffff82111715615b0e577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115615bc057615bc0615b7e565b500190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203615bf657615bf6615b7e565b5060010190565b600082821015615c0f57615c0f615b7e565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082615c5257615c52615c14565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615615c8f57615c8f615b7e565b500290565b600060208284031215615ca657600080fd5b81516150cf8161590c565b600060208284031215615cc357600080fd5b5051919050565b600067ffffffffffffffff808316818516808303821115615ced57615ced615b7e565b01949350505050565b600067ffffffffffffffff80831681851681830481118215151615615d1d57615d1d615b7e565b02949350505050565b600067ffffffffffffffff83811690831681811015615d4757615d47615b7e565b039392505050565b60008060408385031215615d6257600080fd5b505080516020909101519092909150565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615db457615db4615b7e565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615def57615def615b7e565b60008712925087820587128484161615615e0b57615e0b615b7e565b87850587128184161615615e2157615e21615b7e565b505050929093029392505050565b600082615e3e57615e3e615c14565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f800000000000000000000000000000000000000000000000000000000000000083141615615e9257615e92615b7e565b500590565b600082615ea657615ea6615c14565b500690565b60006fffffffffffffffffffffffffffffffff83811690831681811015615d4757615d47615b7e565b60006fffffffffffffffffffffffffffffffff808316818516808303821115615ced57615ced615b7e565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615f5c606083018789615eff565b8281036020840152615f6f818688615eff565b9150508260408301529695505050505050565b600060ff821660ff841680821015615f9c57615f9c615b7e565b90039392505050565b600060ff831680615fb857615fb8615c14565b8060ff8416069150509291505056fea2646970667358221220b6e75a171f3841af7d0083ce5fdb0a6dba89b46267c9bde293d74977c10951e964736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000000103f89406817db1ed7fd8b31e13300444652cdb0b9c509a674de43483b2f835680000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d400000000000000000000000005fe03a12c1236f9c22cb6479778ddaa4bce6299c0000000000000000000000003e8a0b63f57e975c268d610ece93da5f78c01321000000000000000000000000db9091e48b1c42992a1213e6916184f9ebdbfedf0000000000000000000000000000000000000000000000000000000000002105000000000000000000000000642229f238fb9de03374be34b0ed8d9de80752c50000000000000000000000008ca1e12404d16373aef756179b185f27b2994f3a\",\n        \"nonce\": \"0xb\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x187315e\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xb6178e6ff066add4d589c4e05f2947940d2adab55ce01207942e76a4a85524cb\",\n      \"transactionIndex\": \"0xa6\",\n      \"blockHash\": \"0x71775c9d532f6cd324b5df4b3f2755fa0646743e9b43837127a710d29afb00e3\",\n      \"blockNumber\": \"0x14725e6\",\n      \"gasUsed\": \"0x4f7ae2\",\n      \"effectiveGasPrice\": \"0x2893f095d\",\n      \"from\": \"0xa7a5e47d3959bf134e3ecdeb1f62e054f0d58a18\",\n      \"to\": null,\n      \"contractAddress\": \"0xc5f3677c3c56db4031ab005a3c9c98e1b79d438e\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xb2f7d9\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x91f4f40a022f843841cab97cc75f9af29cb486160966c431171faa60222cae13\",\n      \"transactionIndex\": \"0x56\",\n      \"blockHash\": \"0x2f27dfbfbfbf761f0b24446aa1a3cf2c8ae5ce9fd4b285992b8b5f43d313da13\",\n      \"blockNumber\": \"0x14725e7\",\n      \"gasUsed\": \"0x5191e5\",\n      \"effectiveGasPrice\": \"0x2d90bfb97\",\n      \"from\": \"0xa7a5e47d3959bf134e3ecdeb1f62e054f0d58a18\",\n      \"to\": null,\n      \"contractAddress\": \"0xf62c15e2f99d4869a925b8f57076cd85335832a2\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1734652451,\n  \"chain\": 1,\n  \"commit\": \"4caa545\"\n}"
  },
  {
    "path": "mainnet/2024-12-18-holocene-deployments/script/DeployHoloceneContracts.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Script} from \"forge-std/Script.sol\";\n\nimport {\n    FaultDisputeGame,\n    IAnchorStateRegistry,\n    IDelayedWETH,\n    IBigStepper\n} from \"@eth-optimism-bedrock/src/dispute/FaultDisputeGame.sol\";\nimport {PermissionedDisputeGame} from \"@eth-optimism-bedrock/src/dispute/PermissionedDisputeGame.sol\";\nimport {GameTypes, GameType, Duration, Claim} from \"@eth-optimism-bedrock/src/dispute/lib/Types.sol\";\n\ncontract DeployHoloceneContracts is Script {\n    GameType faultDisputeGameContractGameType = GameTypes.CANNON;\n    GameType permissionedDisputeGameContractGameType = GameTypes.PERMISSIONED_CANNON;\n\n    uint256 maxGameDepth = vm.envUint(\"MAX_GAME_DEPTH\");\n    uint256 splitDepth = vm.envUint(\"SPLIT_DEPTH\");\n    uint256 l2ChainId = vm.envUint(\"L2_CHAIN_ID\");\n\n    address proposer = vm.envAddress(\"PROPOSER_ADDRESS\");\n    address challenger = vm.envAddress(\"CHALLENGER_ADDRESS\");\n\n    Duration clockExtension = Duration.wrap(uint64(vm.envUint(\"CLOCK_EXTENSION\")));\n    Duration maxClockDuration = Duration.wrap(uint64(vm.envUint(\"MAX_CLOCK_DURATION\")));\n    Claim absolutePrestate = Claim.wrap(vm.envBytes32(\"ABSOLUTE_PRESTATE\"));\n\n    IDelayedWETH faultDisputeGameWeth = IDelayedWETH(payable(vm.envAddress(\"WETH_ADDRESS\")));\n    IDelayedWETH permissionedDisputeGameWeth = IDelayedWETH(payable(vm.envAddress(\"PERMISSIONED_WETH_ADDRESS\")));\n\n    IAnchorStateRegistry anchorStateRegistry =\n        IAnchorStateRegistry(payable(vm.envAddress(\"ANCHOR_STATE_REGISTRY_ADDRESS\")));\n    IBigStepper bigStepper = IBigStepper(payable(vm.envAddress(\"VM_ADDRESS\")));\n\n    function run() public {\n        vm.startBroadcast();\n        new FaultDisputeGame(\n            faultDisputeGameContractGameType,\n            absolutePrestate,\n            maxGameDepth,\n            splitDepth,\n            clockExtension,\n            maxClockDuration,\n            bigStepper,\n            faultDisputeGameWeth,\n            anchorStateRegistry,\n            l2ChainId\n        );\n\n        new PermissionedDisputeGame(\n            permissionedDisputeGameContractGameType,\n            absolutePrestate,\n            maxGameDepth,\n            splitDepth,\n            clockExtension,\n            maxClockDuration,\n            bigStepper,\n            permissionedDisputeGameWeth,\n            anchorStateRegistry,\n            l2ChainId,\n            proposer,\n            challenger\n        );\n        vm.stopBroadcast();\n    }\n}\n"
  },
  {
    "path": "mainnet/2024-12-18-increase-gas-limit/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: sign-upgrade\nsign-upgrade:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \\\n\t--sig \"sign()\"\n\n.PHONY: execute-upgrade\nexecute-upgrade:\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n\n.PHONY: sign-rollback\nsign-rollback:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \\\n\t--sig \"sign()\"\n\n\n.PHONY: execute-rollback\nexecute-rollback:\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2024-12-18-increase-gas-limit/README.md",
    "content": "# Update Gas Limit in L1 `SystemConfig`\n\nStatus: DONE\n\n## Objective\n\nWe are updating the gas limit to improve TPS and reduce gas fees.\n\nThis runbook invokes two scripts which allow our signers to sign two different calls for our Incident Multisig, which are both defined in the [base-org/contracts](https://github.com/base-org/contracts) repository:\n\n1. `UpgradeGasLimit` -- This script will update the gas limit to our new limit of 180M gas\n2. `RollbackGasLimit` -- This script establishes a rollback call in the case we need to revert to gas\n\nThe values we are sending are statically defined in the `.env`.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow\n> the flow for both \"Approving the Update transaction\" and\n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed.\n\n## Approving the Upgrade transaction\n\n### 1. Update repo and move to the appropriate folder:\n\n```\ncd contract-deployments\ngit pull\ncd mainnet/2024-12-18-increase-gas-limit\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-upgrade\n```\n\nOnce you run the `make sign...` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 45 to 46:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x000000000000000000000000000000000000000000000000000000000000002d\nAfter: 0x000000000000000000000000000000000000000000000000000000000000002e\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 216M to 240M:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x000000000000000000000000000000000000000000000000000000000cdfe600\nAfter: 0x000000000000000000000000000000000000000000000000000000000e4e1c00\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-upgrade\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Approving the Rollback transaction\n\nComplete the above steps for `Approving the Update transaction` before continuing below.\n\n### 1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-rollback\n```\n\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output. Once again paste this URL in your browser and click \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x000000000000000000000000000000000000000000000000000000000000002e\nAfter: 0x000000000000000000000000000000000000000000000000000000000000002f\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x000000000000000000000000000000000000000000000000000000000e4e1c00\nAfter: 0x000000000000000000000000000000000000000000000000000000000cdfe600\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-rollback\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make execute-upgrade`\n\n> [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK\n> Repeat the above, but replace the signatures with the signed\n> rollback signatures collected, the call `make execute-rollback`\n"
  },
  {
    "path": "mainnet/2024-12-18-increase-gas-limit/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2024-12-18-increase-gas-limit/records/UpgradeGasLimit.sol/1/run-1734551212.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x216445a4c7f5f9784e66ea2acc5cc5266c8b4e8d4a39af9fd101206ab42f0f19\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000e4e1c0000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xb8970e2cdde3d73be002a195ccb01ee8dacba365a5a15536f0537c76bbfeb0900fa1b820f0093466a2d8a234361f9d14c488fb38ec37004062ee42b9b27f66491cc2879ae8fc0ec705145e4d3470a69c3932de68a80cf0f3048bfef115267aed2811ab688813f0dad25d0a69a6c47ec766cf13ee45515083ecae1475bbbeeb8c5a1baef87e186ee1640e823a68580e5e298957078a4728647d5421211b1207e473fe3bc342a2a0a0243c65ec21d2d8410e581b3bef1a2d1a24515e26f8341f1ff8771b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x26c72586fb396325f58718152fefa94e93cf177b\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x1e730\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000e4e1c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3b8970e2cdde3d73be002a195ccb01ee8dacba365a5a15536f0537c76bbfeb0900fa1b820f0093466a2d8a234361f9d14c488fb38ec37004062ee42b9b27f66491cc2879ae8fc0ec705145e4d3470a69c3932de68a80cf0f3048bfef115267aed2811ab688813f0dad25d0a69a6c47ec766cf13ee45515083ecae1475bbbeeb8c5a1baef87e186ee1640e823a68580e5e298957078a4728647d5421211b1207e473fe3bc342a2a0a0243c65ec21d2d8410e581b3bef1a2d1a24515e26f8341f1ff8771b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x6\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xe985dc\",\n      \"logs\": [\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000002\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000e4e1c00\",\n          \"blockHash\": \"0xb869badbc4f1e78c9c624f06c8262b5d77c2f2c1839ef68b88dd3bba55103c74\",\n          \"blockNumber\": \"0x1470529\",\n          \"transactionHash\": \"0x216445a4c7f5f9784e66ea2acc5cc5266c8b4e8d4a39af9fd101206ab42f0f19\",\n          \"transactionIndex\": \"0xa7\",\n          \"logIndex\": \"0x147\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x0ec0c03ce1196c34b71a69695b73290d3dbfb7f934d9ce9f5c07992239935a500000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xb869badbc4f1e78c9c624f06c8262b5d77c2f2c1839ef68b88dd3bba55103c74\",\n          \"blockNumber\": \"0x1470529\",\n          \"transactionHash\": \"0x216445a4c7f5f9784e66ea2acc5cc5266c8b4e8d4a39af9fd101206ab42f0f19\",\n          \"transactionIndex\": \"0xa7\",\n          \"logIndex\": \"0x148\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x216445a4c7f5f9784e66ea2acc5cc5266c8b4e8d4a39af9fd101206ab42f0f19\",\n      \"transactionIndex\": \"0xa7\",\n      \"blockHash\": \"0xb869badbc4f1e78c9c624f06c8262b5d77c2f2c1839ef68b88dd3bba55103c74\",\n      \"blockNumber\": \"0x1470529\",\n      \"gasUsed\": \"0x160b8\",\n      \"effectiveGasPrice\": \"0x437d503d5\",\n      \"from\": \"0x26c72586fb396325f58718152fefa94e93cf177b\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1734551212,\n  \"chain\": 1,\n  \"commit\": \"d6b4b6c\"\n}"
  },
  {
    "path": "mainnet/2025-01-08-transfer-proxyadmin-owner-L1alias/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n##\n# NestedMultisigBuilder commands\n# The following commands can be used for tasks that utilize the NestedMultisigBuilder.\n# Note that --ledger --hd-paths <PATH> can be replaced with --private-key $(PRIVATE_KEY)\n# in any command when using a local key.\n# See more documentation on the various steps in NestedMultisigBuilder.sol.\n##\n\n# This step is run by signers on the \"children\" safes\n.PHONY: sign-cb\nsign-cb:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L2_RPC_URL) TransferOwner \\\n\t--sig \"sign(address)\" $(CB_SIGNER_SAFE_ADDR)\n\n.PHONY: sign-op\nsign-op:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L2_RPC_URL) TransferOwner \\\n\t--sig \"sign(address)\" $(OP_SIGNER_SAFE_ADDR)\n\n# This step is run once per \"child\" safe, and can be run by anyone (doesn't have to be a signer)\n.PHONY: approve-cb\napprove-cb:\n\tforge script --rpc-url $(L2_RPC_URL) TransferOwner \\\n\t--sig \"approve(address,bytes)\" $(CB_SIGNER_SAFE_ADDR) $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n.PHONY: approve-op\napprove-op:\n\tforge script --rpc-url $(L2_RPC_URL) TransferOwner \\\n\t--sig \"approve(address,bytes)\" $(OP_SIGNER_SAFE_ADDR) $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n# This step is run once after all children safes have approved and can be run by anyone (doesn't have to be a signer)\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(L2_RPC_URL) TransferOwner \\\n\t--sig \"run()\" --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast"
  },
  {
    "path": "mainnet/2025-01-08-transfer-proxyadmin-owner-L1alias/README.md",
    "content": "# Transfer Proxy Admin Owner L1 Alias\n\nStatus: EXECUTED https://basescan.org/tx/0x54d61996fe28795556fe87e57fcecb7d38d35aa0c58fa7b7ae42709453c0ff2c\n\n## Description\n\nThis script transfers the ownership of the L2 ProxyAdmin contract to the alias address of the L1ProxyAdminOwner. You can read more about address aliasing [here](https://docs.optimism.io/stack/differences#address-aliasing). This allows us to use the same multisig for both L1 and L2 ProxyAdmin owners.\n\n## Procedure\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd mainnet/2025-01-08-transfer-proxyadmin-owner-L1alias\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Run relevant script(s)\n\n#### 3.1 Sign the transaction\n\nCoinbase signer:\n\n```bash\nmake sign-cb\n```\n\nOptimism signer:\n\n```bash\nmake sign-op\n```\n\nYou will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and extract the domain hash and\nmessage hash to approve on your Ledger:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n##### 3.1.1 Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum mainnet or Sepolia. This must match the `<NETWORK_DIR>` from above.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not see the derivation path Note above.\n\n##### 3.1.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab, and refer to the \"State Validations\" instructions for the transaction you are signing.\nOnce complete return to this document to complete the signing.\n\n##### 3.1.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\nOnce the validations are done, it's time to actually sign the\ntransaction.\n\n> [!WARNING]\n> This is the most security critical part of the playbook: make sure the\n> domain hash and message hash in the following two places match:\n>\n> 1. On your Ledger screen.\n> 2. In the Tenderly simulation. You should use the same Tenderly\n>    simulation as the one you used to verify the state diffs, instead\n>    of opening the new one printed in the console.\n>\n> There is no need to verify anything printed in the console. There is\n> no need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```shell\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 3.1.4 Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## [For Facilitator ONLY] How to execute\n\n### Approve the transaction\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run the `make approve` command as described below to approve the transaction in each multisig.\n\nFor example, if the quorum is 2 and you get the following outputs:\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE01\nSignature: AAAA\n```\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE02\nSignature: BBBB\n```\n\nThen you should run:\n\nCoinbase facilitator:\n\n```bash\nSIGNATURES=AAAABBBB make approve-cb\n```\n\nOptimism facilitator:\n\n```bash\nSIGNATURES=AAAABBBB make approve-op\n```\n\n### Execute the transaction\n\nOnce the signatures have been submitted approving the transaction for all nested Safes run:\n\n```bash\nmake execute\n```\n"
  },
  {
    "path": "mainnet/2025-01-08-transfer-proxyadmin-owner-L1alias/VALIDATION.MD",
    "content": "# Validation\n\nThis document can be used to validate the state diff resulting from the execution of the upgrade\ntransactions.\n\nFor each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract:\n\n- The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur.\n- All addresses (in section headers and storage values) match the provided name, using the Etherscan and Superchain Registry links provided. This validates the bytecode deployed at the addresses contains the correct logic.\n- All key values match the semantic meaning provided, which can be validated using the storage layout links provided.\n\n## Nested Safe State Overrides and Changes\n\nThis task is executed by the nested 2/2 `ProxyAdminOwner` Safe. Refer to the\n[generic nested Safe execution validation document](https://github.com/ethereum-optimism/superchain-ops/blob/main/NESTED-VALIDATION.md)\nfor the expected state overrides and changes.\n\nThe `approvedHashes` mapping **key** of the `ProxyAdminOwner` (`0x2304CB33d95999dC29f4CeF1e35065e670a70050`) that should change during the simulation is\n\n- Base simulation: `0xcde595956d54c692d029b4d1dc86fafc883fb82f01147f60b6b964fa00f5c88b`\n- OP simulation: `0xb24bf3776c1f53a87c7f1ef62f639facf7791351b085317bd6ae049622adb10c`\n\ncalculated as explained in the nested validation doc:\n\n```sh\nSAFE_HASH=0x95d9b44bbd7e9b4f55023004e327ffa339986d5f7cc24feee87b3b19e0578049 # \"Nested hash:\"\nSAFE_ROLE=0xd94E416cf2c7167608B2515B7e4102B41efff94f # \"Council\" - Base\ncast index bytes32 $SAFE_HASH $(cast index address $SAFE_ROLE 8)\n# 0xcde595956d54c692d029b4d1dc86fafc883fb82f01147f60b6b964fa00f5c88b\n\nSAFE_ROLE=0x28EDB11394eb271212ED66c08f2b7893C04C5D65 # OP\ncast index bytes32 $SAFE_HASH $(cast index address $SAFE_ROLE 8)\n# 0xb24bf3776c1f53a87c7f1ef62f639facf7791351b085317bd6ae049622adb10c\n```\n\n## State Changes\n\n### `0x4200000000000000000000000000000000000018` (`ProxyAdmin`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n  **Before**: `0x0000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050` <br/>\n  **After**: `0x0000000000000000000000008cc51c3008b3f03fe483b28b8db90e19cf076a6d` <br/>\n  **Meaning**: Updates the `owner` of the `ProxyAdmin` contract from the current L2 Proxy Admin Owner (`0x2304CB33d95999dC29f4CeF1e35065e670a70050`) to the L1 Proxy Admin Owner alias (`0x8cc51c3008b3f03fe483b28b8db90e19cf076a6d`).\n"
  },
  {
    "path": "mainnet/2025-01-08-transfer-proxyadmin-owner-L1alias/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n]\nevm_version = \"shanghai\"\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "mainnet/2025-01-08-transfer-proxyadmin-owner-L1alias/records/TransferOwner.s.sol/8453/run-1738699790.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x10abe1c5025670e09ca8186822dbd1af4cbb6852aec43db7e2b21b135bee319e\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x28edb11394eb271212ed66c08f2b7893c04c5d65\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd95d9b44bbd7e9b4f55023004e327ffa339986d5f7cc24feee87b3b19e057804900000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000001da898d47e057bc9af0a5709f20acbff900bde600000000000000000000000000000000000000000000000000000000000000000016a817d3d3a77111551753ad4999e4c7cf70ae61cd0a28260b8d808413f36406a6833fc052889edd5698bd21b5497dfbe540d7a2969bfc27ec985bd3eece0244d1bee3f5f2358bba5840bbe94403938a28bf2c474bff16d0867a5af13ffc275aed539818baf56a49da0d790bacafdf0455af050307c5d2fb9e127cf6cf053a2f6b41bdee4aaa9f1875ca9954ee87e0f2c687476b5240030ce5dec7f9f1aa3a4865b0f79f78246c7d6ca04cb0f6b08c4835165578d175a8a0709ae288e127cb23230901c4f9f73b411024c9d9f34ea123b3c4d094c0eded72edbf29f233931f410ace7323d50a8a3dc8b3e3ee2c7f8bcd82f3aae5d26f252c3e608518896046c5713284e1c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xbbc9b955be73ca4eeb28e988e9d21d2538978f03\",\n        \"to\": \"0x28edb11394eb271212ed66c08f2b7893c04c5d65\",\n        \"gas\": \"0x2ae2d\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd95d9b44bbd7e9b4f55023004e327ffa339986d5f7cc24feee87b3b19e0578049000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001450000000000000000000000001da898d47e057bc9af0a5709f20acbff900bde600000000000000000000000000000000000000000000000000000000000000000016a817d3d3a77111551753ad4999e4c7cf70ae61cd0a28260b8d808413f36406a6833fc052889edd5698bd21b5497dfbe540d7a2969bfc27ec985bd3eece0244d1bee3f5f2358bba5840bbe94403938a28bf2c474bff16d0867a5af13ffc275aed539818baf56a49da0d790bacafdf0455af050307c5d2fb9e127cf6cf053a2f6b41bdee4aaa9f1875ca9954ee87e0f2c687476b5240030ce5dec7f9f1aa3a4865b0f79f78246c7d6ca04cb0f6b08c4835165578d175a8a0709ae288e127cb23230901c4f9f73b411024c9d9f34ea123b3c4d094c0eded72edbf29f233931f410ace7323d50a8a3dc8b3e3ee2c7f8bcd82f3aae5d26f252c3e608518896046c5713284e1c000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x10\",\n        \"chainId\": \"0x2105\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x3774957\",\n      \"logs\": [\n        {\n          \"address\": \"0x28edb11394eb271212ed66c08f2b7893c04c5d65\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000440000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd95d9b44bbd7e9b4f55023004e327ffa339986d5f7cc24feee87b3b19e0578049000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001450000000000000000000000001da898d47e057bc9af0a5709f20acbff900bde600000000000000000000000000000000000000000000000000000000000000000016a817d3d3a77111551753ad4999e4c7cf70ae61cd0a28260b8d808413f36406a6833fc052889edd5698bd21b5497dfbe540d7a2969bfc27ec985bd3eece0244d1bee3f5f2358bba5840bbe94403938a28bf2c474bff16d0867a5af13ffc275aed539818baf56a49da0d790bacafdf0455af050307c5d2fb9e127cf6cf053a2f6b41bdee4aaa9f1875ca9954ee87e0f2c687476b5240030ce5dec7f9f1aa3a4865b0f79f78246c7d6ca04cb0f6b08c4835165578d175a8a0709ae288e127cb23230901c4f9f73b411024c9d9f34ea123b3c4d094c0eded72edbf29f233931f410ace7323d50a8a3dc8b3e3ee2c7f8bcd82f3aae5d26f252c3e608518896046c5713284e1c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000004000000000000000000000000bbc9b955be73ca4eeb28e988e9d21d2538978f030000000000000000000000000000000000000000000000000000000000000005\",\n          \"blockHash\": \"0x7efcb84024a53fa51e683ef95dea4f826190b98b70df5f60696538237eefa03e\",\n          \"blockNumber\": \"0x18c0b95\",\n          \"transactionHash\": \"0x10abe1c5025670e09ca8186822dbd1af4cbb6852aec43db7e2b21b135bee319e\",\n          \"transactionIndex\": \"0xe3\",\n          \"logIndex\": \"0x305\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x2304cb33d95999dc29f4cef1e35065e670a70050\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x95d9b44bbd7e9b4f55023004e327ffa339986d5f7cc24feee87b3b19e0578049\",\n            \"0x00000000000000000000000028edb11394eb271212ed66c08f2b7893c04c5d65\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x7efcb84024a53fa51e683ef95dea4f826190b98b70df5f60696538237eefa03e\",\n          \"blockNumber\": \"0x18c0b95\",\n          \"transactionHash\": \"0x10abe1c5025670e09ca8186822dbd1af4cbb6852aec43db7e2b21b135bee319e\",\n          \"transactionIndex\": \"0xe3\",\n          \"logIndex\": \"0x306\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x28edb11394eb271212ed66c08f2b7893c04c5d65\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xd2fc780d0d5accfc9573e8f3a6a88a919345a8c58f8da7106e93aa1627c99a0a0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x7efcb84024a53fa51e683ef95dea4f826190b98b70df5f60696538237eefa03e\",\n          \"blockNumber\": \"0x18c0b95\",\n          \"transactionHash\": \"0x10abe1c5025670e09ca8186822dbd1af4cbb6852aec43db7e2b21b135bee319e\",\n          \"transactionIndex\": \"0xe3\",\n          \"logIndex\": \"0x307\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000004000000000000000000000040000000010000000000000000000000000000000000000000000100000000000000000000000000000000000020000000000000000040000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000500000002000400200000000000000004000000000000000000000000000000000000200000000000000000000000020000000000000000000000000000000000000000000000000200200000000000000000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x10abe1c5025670e09ca8186822dbd1af4cbb6852aec43db7e2b21b135bee319e\",\n      \"transactionIndex\": \"0xe3\",\n      \"blockHash\": \"0x7efcb84024a53fa51e683ef95dea4f826190b98b70df5f60696538237eefa03e\",\n      \"blockNumber\": \"0x18c0b95\",\n      \"gasUsed\": \"0x1f0c8\",\n      \"effectiveGasPrice\": \"0x13dfdc4\",\n      \"from\": \"0xbbc9b955be73ca4eeb28e988e9d21d2538978f03\",\n      \"to\": \"0x28edb11394eb271212ed66c08f2b7893c04c5d65\",\n      \"contractAddress\": null,\n      \"l1BaseFeeScalar\": \"0x8dd\",\n      \"l1BlobBaseFee\": \"0x17bc3c869\",\n      \"l1BlobBaseFeeScalar\": \"0x101c12\",\n      \"l1Fee\": \"0x2c439033457\",\n      \"l1GasPrice\": \"0xefe782b4\",\n      \"l1GasUsed\": \"0x1ba9\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1738699790,\n  \"chain\": 8453,\n  \"commit\": \"6e2cc87\"\n}"
  },
  {
    "path": "mainnet/2025-01-08-transfer-proxyadmin-owner-L1alias/records/TransferOwner.s.sol/8453/run-1738702467.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x0f728f220e11282b995a5d8ea5b57ab0654b7f2cbf40ab2b0b65c5880c5f86b2\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0xd94e416cf2c7167608b2515b7e4102b41efff94f\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd95d9b44bbd7e9b4f55023004e327ffa339986d5f7cc24feee87b3b19e057804900000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xa6c6fbd96718f0508a478d1bd81565340c38ea41851e42fcecb15a144597949526af08b558479fd2a1ba6ec3ec05fefba927be21f2153d7757a2ce4de94912141b804b0e570454e60b183a3bea03ff421731e6d6a7e1f5639f8f6a572416c1c697390cbb363c7feedf690015b50a99696d5ef0b3cd03e31cf1e7891792da03e5f81bcc4060a6ae6f639a605f047ec63399ede0a802b30e656f3fef378c30aff3ce76665f44d7261f7e734803a48f4e2ba7c62f553eaaaa1c3be865504582715cc24a1c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xbbc9b955be73ca4eeb28e988e9d21d2538978f03\",\n        \"to\": \"0xd94e416cf2c7167608b2515b7e4102b41efff94f\",\n        \"gas\": \"0x286da\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd95d9b44bbd7e9b4f55023004e327ffa339986d5f7cc24feee87b3b19e0578049000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3a6c6fbd96718f0508a478d1bd81565340c38ea41851e42fcecb15a144597949526af08b558479fd2a1ba6ec3ec05fefba927be21f2153d7757a2ce4de94912141b804b0e570454e60b183a3bea03ff421731e6d6a7e1f5639f8f6a572416c1c697390cbb363c7feedf690015b50a99696d5ef0b3cd03e31cf1e7891792da03e5f81bcc4060a6ae6f639a605f047ec63399ede0a802b30e656f3fef378c30aff3ce76665f44d7261f7e734803a48f4e2ba7c62f553eaaaa1c3be865504582715cc24a1c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x11\",\n        \"chainId\": \"0x2105\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x219c96e\",\n      \"logs\": [\n        {\n          \"address\": \"0xd94e416cf2c7167608b2515b7e4102b41efff94f\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd95d9b44bbd7e9b4f55023004e327ffa339986d5f7cc24feee87b3b19e0578049000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3a6c6fbd96718f0508a478d1bd81565340c38ea41851e42fcecb15a144597949526af08b558479fd2a1ba6ec3ec05fefba927be21f2153d7757a2ce4de94912141b804b0e570454e60b183a3bea03ff421731e6d6a7e1f5639f8f6a572416c1c697390cbb363c7feedf690015b50a99696d5ef0b3cd03e31cf1e7891792da03e5f81bcc4060a6ae6f639a605f047ec63399ede0a802b30e656f3fef378c30aff3ce76665f44d7261f7e734803a48f4e2ba7c62f553eaaaa1c3be865504582715cc24a1c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000008000000000000000000000000bbc9b955be73ca4eeb28e988e9d21d2538978f030000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0x7d5ea7aabf528c3ba93059b211f921b6cee9d8975210aadd8f86abbc8a31caaa\",\n          \"blockNumber\": \"0x18c10d0\",\n          \"transactionHash\": \"0x0f728f220e11282b995a5d8ea5b57ab0654b7f2cbf40ab2b0b65c5880c5f86b2\",\n          \"transactionIndex\": \"0x90\",\n          \"logIndex\": \"0x159\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x2304cb33d95999dc29f4cef1e35065e670a70050\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x95d9b44bbd7e9b4f55023004e327ffa339986d5f7cc24feee87b3b19e0578049\",\n            \"0x000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x7d5ea7aabf528c3ba93059b211f921b6cee9d8975210aadd8f86abbc8a31caaa\",\n          \"blockNumber\": \"0x18c10d0\",\n          \"transactionHash\": \"0x0f728f220e11282b995a5d8ea5b57ab0654b7f2cbf40ab2b0b65c5880c5f86b2\",\n          \"transactionIndex\": \"0x90\",\n          \"logIndex\": \"0x15a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd94e416cf2c7167608b2515b7e4102b41efff94f\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x8799780cc627b35caf50e48de1084aac7c844a84eb022504fa5d5b58528b29740000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x7d5ea7aabf528c3ba93059b211f921b6cee9d8975210aadd8f86abbc8a31caaa\",\n          \"blockNumber\": \"0x18c10d0\",\n          \"transactionHash\": \"0x0f728f220e11282b995a5d8ea5b57ab0654b7f2cbf40ab2b0b65c5880c5f86b2\",\n          \"transactionIndex\": \"0x90\",\n          \"logIndex\": \"0x15b\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000004000000080000000000000040000000010000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000040000000000000000000000000000000000400000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000000000400200000000000000004000000000000000000000000000000000004000000000000000000000000020000000200000000000000000000020000000000020000000000000000000000000000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x0f728f220e11282b995a5d8ea5b57ab0654b7f2cbf40ab2b0b65c5880c5f86b2\",\n      \"transactionIndex\": \"0x90\",\n      \"blockHash\": \"0x7d5ea7aabf528c3ba93059b211f921b6cee9d8975210aadd8f86abbc8a31caaa\",\n      \"blockNumber\": \"0x18c10d0\",\n      \"gasUsed\": \"0x1ba4b\",\n      \"effectiveGasPrice\": \"0x126c6d3\",\n      \"from\": \"0xbbc9b955be73ca4eeb28e988e9d21d2538978f03\",\n      \"to\": \"0xd94e416cf2c7167608b2515b7e4102b41efff94f\",\n      \"contractAddress\": null,\n      \"l1BaseFeeScalar\": \"0x8dd\",\n      \"l1BlobBaseFee\": \"0xcaa0f9d0\",\n      \"l1BlobBaseFeeScalar\": \"0x101c12\",\n      \"l1Fee\": \"0x136ba5617ea\",\n      \"l1GasPrice\": \"0xc5a2a4e9\",\n      \"l1GasUsed\": \"0x167c\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1738702467,\n  \"chain\": 8453,\n  \"commit\": \"6e2cc87\"\n}"
  },
  {
    "path": "mainnet/2025-01-08-transfer-proxyadmin-owner-L1alias/records/TransferOwner.s.sol/8453/run-1738702575.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x54d61996fe28795556fe87e57fcecb7d38d35aa0c58fa7b7ae42709453c0ff2c\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x2304cb33d95999dc29f4cef1e35065e670a70050\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004200000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024f2fde38b0000000000000000000000008cc51c3008b3f03fe483b28b8db90e19cf076a6d00000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x00000000000000000000000028edb11394eb271212ed66c08f2b7893c04c5d65000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xbbc9b955be73ca4eeb28e988e9d21d2538978f03\",\n        \"to\": \"0x2304cb33d95999dc29f4cef1e35065e670a70050\",\n        \"gas\": \"0x1cd69\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004200000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024f2fde38b0000000000000000000000008cc51c3008b3f03fe483b28b8db90e19cf076a6d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000028edb11394eb271212ed66c08f2b7893c04c5d65000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x12\",\n        \"chainId\": \"0x2105\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x204d9be\",\n      \"logs\": [\n        {\n          \"address\": \"0x2304cb33d95999dc29f4cef1e35065e670a70050\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000380000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004200000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024f2fde38b0000000000000000000000008cc51c3008b3f03fe483b28b8db90e19cf076a6d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000028edb11394eb271212ed66c08f2b7893c04c5d65000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f00000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000004000000000000000000000000bbc9b955be73ca4eeb28e988e9d21d2538978f030000000000000000000000000000000000000000000000000000000000000002\",\n          \"blockHash\": \"0xdb7a5b63e374da09c301ca1906246145e416f0e01dfa120959fc4c384a0c68b1\",\n          \"blockNumber\": \"0x18c1105\",\n          \"transactionHash\": \"0x54d61996fe28795556fe87e57fcecb7d38d35aa0c58fa7b7ae42709453c0ff2c\",\n          \"transactionIndex\": \"0x83\",\n          \"logIndex\": \"0xeb\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x4200000000000000000000000000000000000018\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050\",\n            \"0x0000000000000000000000008cc51c3008b3f03fe483b28b8db90e19cf076a6d\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xdb7a5b63e374da09c301ca1906246145e416f0e01dfa120959fc4c384a0c68b1\",\n          \"blockNumber\": \"0x18c1105\",\n          \"transactionHash\": \"0x54d61996fe28795556fe87e57fcecb7d38d35aa0c58fa7b7ae42709453c0ff2c\",\n          \"transactionIndex\": \"0x83\",\n          \"logIndex\": \"0xec\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x2304cb33d95999dc29f4cef1e35065e670a70050\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x95d9b44bbd7e9b4f55023004e327ffa339986d5f7cc24feee87b3b19e05780490000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xdb7a5b63e374da09c301ca1906246145e416f0e01dfa120959fc4c384a0c68b1\",\n          \"blockNumber\": \"0x18c1105\",\n          \"transactionHash\": \"0x54d61996fe28795556fe87e57fcecb7d38d35aa0c58fa7b7ae42709453c0ff2c\",\n          \"transactionIndex\": \"0x83\",\n          \"logIndex\": \"0xed\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000800000040000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040400000000000000000000000000000000000000000000000000000000000000000000000020000000000000400000000000000000000000000000000000000000000000000000000000000100000000000400200000000400000004000000000000000200000000000000000000000000020080000000000000220000400000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x54d61996fe28795556fe87e57fcecb7d38d35aa0c58fa7b7ae42709453c0ff2c\",\n      \"transactionIndex\": \"0x83\",\n      \"blockHash\": \"0xdb7a5b63e374da09c301ca1906246145e416f0e01dfa120959fc4c384a0c68b1\",\n      \"blockNumber\": \"0x18c1105\",\n      \"gasUsed\": \"0x14e0f\",\n      \"effectiveGasPrice\": \"0x1256cf4\",\n      \"from\": \"0xbbc9b955be73ca4eeb28e988e9d21d2538978f03\",\n      \"to\": \"0x2304cb33d95999dc29f4cef1e35065e670a70050\",\n      \"contractAddress\": null,\n      \"l1BaseFeeScalar\": \"0x8dd\",\n      \"l1BlobBaseFee\": \"0x12c0fa0ff\",\n      \"l1BlobBaseFeeScalar\": \"0x101c12\",\n      \"l1Fee\": \"0x11cfb63e37d\",\n      \"l1GasPrice\": \"0xc98d4c25\",\n      \"l1GasUsed\": \"0xe11\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1738702575,\n  \"chain\": 8453,\n  \"commit\": \"6e2cc87\"\n}"
  },
  {
    "path": "mainnet/2025-01-08-transfer-proxyadmin-owner-L1alias/script/TransferOwner.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {OwnableUpgradeable} from \"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\";\nimport \"@base-contracts/script/universal/NestedMultisigBuilder.sol\";\n\ncontract TransferOwner is NestedMultisigBuilder {\n    address internal _PROXY_ADMIN = vm.envAddress(\"PROXY_ADMIN\");\n    address internal _L2_PROXY_ADMIN_OWNER = vm.envAddress(\"L2_PROXY_ADMIN_OWNER\");\n    address internal _L1_PROXY_ADMIN_OWNER = vm.envAddress(\"L1_PROXY_ADMIN_OWNER\");\n\n    // Using example from OP L1 Proxy Admin to confirm accuracy of `_convertToAliasAddress`\n    address internal constant _OP_L1_PROXY_ADMIN = 0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A;\n    address internal constant _OP_L1_PROXY_ADMIN_ALIAS = 0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b;\n\n    /// @dev Confirm the alias address conversion is correct using Optimism L1 Proxy Admin as an example\n    constructor() {\n        require(\n            _convertToAliasAddress(_OP_L1_PROXY_ADMIN) == _OP_L1_PROXY_ADMIN_ALIAS,\n            \"Something wrong with ConvertToAlias\"\n        );\n    }\n\n    /// @dev Confirm the proxy admin owner is now the alias address of the L1 Proxy Admin Owner\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        OwnableUpgradeable proxyAdmin = OwnableUpgradeable(_PROXY_ADMIN);\n        require(\n            proxyAdmin.owner() == _convertToAliasAddress(_L1_PROXY_ADMIN_OWNER), \"ProxyAdmin owner did not get updated\"\n        );\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        calls[0] = IMulticall3.Call3({\n            target: _PROXY_ADMIN,\n            allowFailure: false,\n            callData: abi.encodeCall(OwnableUpgradeable.transferOwnership, (_convertToAliasAddress(_L1_PROXY_ADMIN_OWNER)))\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return _L2_PROXY_ADMIN_OWNER;\n    }\n\n    /// @dev An alias address is the original address + 0x1111000000000000000000000000000000001111\n    function _convertToAliasAddress(address addr) private pure returns (address) {\n        uint160 enumeratedAddress = uint160(addr);\n        uint160 offset = uint160(0x1111000000000000000000000000000000001111);\n        return address(enumeratedAddress + offset);\n    }\n}\n"
  },
  {
    "path": "mainnet/2025-01-15-increase-gas-limit/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: sign-upgrade\nsign-upgrade:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \\\n\t--sig \"sign()\"\n\n.PHONY: execute-upgrade\nexecute-upgrade:\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n\n.PHONY: sign-rollback\nsign-rollback:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \\\n\t--sig \"sign()\"\n\n\n.PHONY: execute-rollback\nexecute-rollback:\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast"
  },
  {
    "path": "mainnet/2025-01-15-increase-gas-limit/README.md",
    "content": "# Update Gas Limit in L1 `SystemConfig`\n\nStatus: DONE\n\n## Objective\n\nWe are updating the gas limit to improve TPS and reduce gas fees.\n\nThis runbook invokes two scripts which allow our signers to sign two different calls for our Incident Multisig, which are both defined in the [base-org/contracts](https://github.com/base-org/contracts) repository:\n\n1. `UpgradeGasLimit` -- This script will update the gas limit to our new limit of 252M gas\n2. `RollbackGasLimit` -- This script establishes a rollback call in the case we need to revert to gas\n\nThe values we are sending are statically defined in the `.env`.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow\n> the flow for both \"Approving the Update transaction\" and\n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed.\n\n## Approving the Upgrade transaction\n\n### 1. Update repo and move to the appropriate folder:\n\n```\ncd contract-deployments\ngit pull\ncd mainnet/2025-01-15-increase-gas-limit\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-upgrade\n```\n\nOnce you run the `make sign...` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 47 to 48:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x000000000000000000000000000000000000000000000000000000000000002f\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000030\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 240M to 252M:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x000000000000000000000000000000000000000000000000000000000e4e1c00\nAfter: 0x000000000000000000000000000000000000000000000000000000000f053700\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-upgrade\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Approving the Rollback transaction\n\nComplete the above steps for `Approving the Update transaction` before continuing below.\n\n### 1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-rollback\n```\n\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output. Once again paste this URL in your browser and click \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000030\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000031\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`:\n\n```\nKey: 0x000000000000000000000000000000000000000000000000000000000000006800\nBefore: 0x000000000000000000000000000000000000000000000000000000000f053700\nAfter: 0x000000000000000000000000000000000000000000000000000000000e4e1c00\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-rollback\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make execute-upgrade`\n\n> [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK\n> Repeat the above, but replace the signatures with the signed\n> rollback signatures collected, the call `make execute-rollback`\n"
  },
  {
    "path": "mainnet/2025-01-15-increase-gas-limit/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "mainnet/2025-01-15-increase-gas-limit/records/UpgradeGasLimit.sol/1/run-1736968347.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x4c2a555b7ec1f53070359ac0133c133f1ffdb0fa519fd38260b88e0088448663\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000f05370000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x2071d04403fbcff4a77436e02be38085e5eb2fbcd76529fdd9d5b9825378e5bb67ccd088c3631e5222e291f7f1c726ca1d74f80ccb6a30ff7b6b498a7c3e4d6b1ce31c878915ad4b6b63f9d0e7ca3556b98cb95b573f0ad7492a79b005761db6934a12f628473577b1aec30e75745c8d99893d9475a556fed634ce4eacded110d91c0c3ed272040f55a14fd211c8426eb46a620caf2aed5b4a02c56a022553696ae02d258783d931738e6dbb31c7feb22e24db6532854d7fb7d338e29c62fbf1477b1c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x26c72586fb396325f58718152fefa94e93cf177b\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x1e741\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000f053700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c32071d04403fbcff4a77436e02be38085e5eb2fbcd76529fdd9d5b9825378e5bb67ccd088c3631e5222e291f7f1c726ca1d74f80ccb6a30ff7b6b498a7c3e4d6b1ce31c878915ad4b6b63f9d0e7ca3556b98cb95b573f0ad7492a79b005761db6934a12f628473577b1aec30e75745c8d99893d9475a556fed634ce4eacded110d91c0c3ed272040f55a14fd211c8426eb46a620caf2aed5b4a02c56a022553696ae02d258783d931738e6dbb31c7feb22e24db6532854d7fb7d338e29c62fbf1477b1c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x7\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x267102\",\n      \"logs\": [\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000002\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000f053700\",\n          \"blockHash\": \"0xf18bea244215afca32aa1c580b252a435227067e2a125f523903cfc8b0a8528a\",\n          \"blockNumber\": \"0x14a1397\",\n          \"transactionHash\": \"0x4c2a555b7ec1f53070359ac0133c133f1ffdb0fa519fd38260b88e0088448663\",\n          \"transactionIndex\": \"0x31\",\n          \"logIndex\": \"0x39\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x96946cf710380631566c11c89283a81d247f1d6ac69f3fa0fc8c467133c792270000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xf18bea244215afca32aa1c580b252a435227067e2a125f523903cfc8b0a8528a\",\n          \"blockNumber\": \"0x14a1397\",\n          \"transactionHash\": \"0x4c2a555b7ec1f53070359ac0133c133f1ffdb0fa519fd38260b88e0088448663\",\n          \"transactionIndex\": \"0x31\",\n          \"logIndex\": \"0x3a\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x4c2a555b7ec1f53070359ac0133c133f1ffdb0fa519fd38260b88e0088448663\",\n      \"transactionIndex\": \"0x31\",\n      \"blockHash\": \"0xf18bea244215afca32aa1c580b252a435227067e2a125f523903cfc8b0a8528a\",\n      \"blockNumber\": \"0x14a1397\",\n      \"gasUsed\": \"0x160c4\",\n      \"effectiveGasPrice\": \"0x3e2b1fa9e\",\n      \"from\": \"0x26c72586fb396325f58718152fefa94e93cf177b\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1736968347,\n  \"chain\": 1,\n  \"commit\": \"b3ec061\"\n}"
  },
  {
    "path": "mainnet/2025-01-15-nested-ownership-transfer/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: deps\ndeps:\n\tforge install --no-git safe-global/safe-smart-account@21dc82410445637820f600c7399a804ad55841d5\n\n.PHONY: deploy\ndeploy:\n\tforge script --rpc-url $(L1_RPC_URL) DeploySafes --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv\n\n.PHONY: sign\nsign:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpdateSigners --sig \"sign()\"\n\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(L1_RPC_URL) UpdateSigners \\\n\t--sig \"run(bytes)\" $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv\n"
  },
  {
    "path": "mainnet/2025-01-15-nested-ownership-transfer/README.md",
    "content": "# Nested Ownership Transfer\n\nStatus: EXECUTED (https://etherscan.io/tx/0xfeff9bf53acee54f6f54a90140b893e07ab5e7e2b250b884b1caf2d2d3ea0b0f)\n\n## Procedure\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd mainnet/2025-01-15-nested-ownership-transfer\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Run relevant script(s)\n\n#### 3.1 Deploy new Safes\n\n```bash\nmake deploy\n```\n\nThis will output the new addresses of the `SafeA` and `SafeB` contracts to an `addresses.json` file. You will need to commit this file to the repo before signers can sign.\n\n#### 3.2 Sign the transaction\n\n```bash\nmake sign\n```\n\nYou will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and extract the domain hash and message hash to approve on your Ledger:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n##### 3.2.1 Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not see the derivation path Note above.\n\n##### 3.2.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab, and refer to the [State Validations](./VALIDATION.md) instructions for the transaction you are signing.\nOnce complete return to this document to complete the signing.\n\n##### 3.2.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\nOnce the validations are done, it's time to actually sign the\ntransaction.\n\n> [!WARNING]\n> This is the most security critical part of the playbook: make sure the\n> domain hash and message hash in the following two places match:\n>\n> 1. On your Ledger screen.\n> 2. In the Tenderly simulation. You should use the same Tenderly\n>    simulation as the one you used to verify the state diffs, instead\n>    of opening the new one printed in the console.\n>\n> There is no need to verify anything printed in the console. There is\n> no need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```shell\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n##### 3.2.4 Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n### [For Facilitator ONLY] How to execute\n\n#### Execute the transaction\n\n1. IMPORTANT: Ensure op-challenger has been updated before executing.\n1. Collect outputs from all participating signers.\n1. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"`.\n1. Run the `make execute` command as described below to execute the transaction.\n\nFor example, if the quorum is 2 and you get the following outputs:\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE01\nSignature: AAAA\n```\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE02\nSignature: BBBB\n```\n\nThen you should run:\n\n```bash\nSIGNATURES=AAAABBBB make execute\n```\n"
  },
  {
    "path": "mainnet/2025-01-15-nested-ownership-transfer/VALIDATION.md",
    "content": "# Validation\n\nThis document can be used to validate the inputs and result of the execution of the upgrade transaction which you are signing.\n\nThe steps are:\n\n1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes)\n2. [Verifying the state changes](#state-changes)\n\n## Expected Domain and Message Hashes\n\nFirst, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task.\n\n> [!CAUTION]\n>\n> Before signing, ensure the below hashes match what is on your ledger.\n>\n> ### CB Signer Safe: `0x9855054731540A48b28990B63DcF4f33d8AE46A1`\n>\n> - Domain Hash: `0x88aac3dc27cc1618ec43a87b3df21482acd24d172027ba3fbb5a5e625d895a0b`\n> - Message Hash: `0x6d94fb1830256047147a93745f0826cac47380b7c57a32625b1259e8a3f8e27c`\n\n# State Validations\n\nFor each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract:\n\n- The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur.\n- All addresses (in section headers and storage values) match the provided name, using the Etherscan and Superchain Registry links provided. This validates the bytecode deployed at the addresses contains the correct logic.\n- All key values match the semantic meaning provided, which can be validated using the storage layout links provided.\n\n## Task State Overrides\n\n### CB Signer Safe (`0x9855054731540A48b28990B63DcF4f33d8AE46A1`)\n\n- **Raw Slot**: `0x0000000000000000000000000000000000000000000000000000000000000004`\n  **Value**: `0x0000000000000000000000000000000000000000000000000000000000000001`\n  **Meaning**: Overrides the threshold to 1 so the simulation can occur.\n\n## Task State Changes\n\n### CB Signer Safe (`0x9855054731540A48b28990B63DcF4f33d8AE46A1`)\n\n- **Raw Slot**: `0x0000000000000000000000000000000000000000000000000000000000000003` \\\n  **Raw Old Value**: `0x0000000000000000000000000000000000000000000000000000000000000006` \\\n  **Raw New Value**: `0x0000000000000000000000000000000000000000000000000000000000000002` \\\n  **Value Type**: uint256 \\\n  **Decoded Old Value**: 6 \\\n  **Decoded New Value**: 2 \\\n  **Meaning**: Updates the owner count.\n\n- **Raw Slot**: `0x0000000000000000000000000000000000000000000000000000000000000004` \\\n  **Raw Old Value**: `0x0000000000000000000000000000000000000000000000000000000000000001` \\\n  **Raw New Value**: `0x0000000000000000000000000000000000000000000000000000000000000002` \\\n  **Value Type**: uint256 \\\n  **Decoded Old Value**: 1 \\\n  **Decoded New Value**: 2 \\\n  **Meaning**: Updates the safe's signing threshold. The previous value is actually 3, but the state diff presents this way because of the state override above.\n\n- **Raw Slot**: `0x0000000000000000000000000000000000000000000000000000000000000005` \\\n  **Raw Old Value**: `0x0000000000000000000000000000000000000000000000000000000000000014` \\\n  **Raw New Value**: `0x0000000000000000000000000000000000000000000000000000000000000015` \\\n  **Value Type**: uint256 \\\n  **Decoded Old Value**: 20 \\\n  **Decoded New Value**: 21 \\\n  **Meaning**: Nonce increment.\n\n- **Raw Slot**: `0x1772a703ae675a1daf302df5578a40ec15df2da0f370aaae76c24b3dc3cf5a82` \\\n  **Raw Old Value**: `0x0000000000000000000000003cd692ece8b6573a2220ae00d0deb98f0dffa9a1` \\\n  **Raw New Value**: `0x0000000000000000000000000000000000000000000000000000000000000000` \\\n  **Value Type**: address \\\n  **Decoded Old Value**: `0x3cd692eCE8b6573A2220ae00d0dEb98f0DfFA9a1` \\\n  **Decoded New Value**: `0x0000000000000000000000000000000000000000` \\\n  **Meaning**: Removes `0x6CD3850756b7894774Ab715D136F9dD02837De50` from the owners linked list. Confirm the storage key with `cast index address 0x6CD3850756b7894774Ab715D136F9dD02837De50 2`.\n\n- **Raw Slot**: `0x46b3491a8cd829af805c1f7fb76736ca5fd88e02a78fcec356aaa2b41bf599db` \\\n  **Raw Old Value**: `0x0000000000000000000000003dad2200849925bb46d9bf05afa5f7f213f4c18e` \\\n  **Raw New Value**: `0x0000000000000000000000000000000000000000000000000000000000000000` \\\n  **Value Type**: address \\\n  **Decoded Old Value**: `0x3Dad2200849925Bb46d9bF05aFa5f7F213F4c18E` \\\n  **Decoded New Value**: `0x0000000000000000000000000000000000000000` \\\n  **Meaning**: Removes `0x5FbEFA105bbd53b43bf537Cbc5cD30804Dd0c993` from the owners linked list. Confirm the storage key with `cast index address 0x5FbEFA105bbd53b43bf537Cbc5cD30804Dd0c993 2`.\n\n- **Raw Slot**: `0x758f7362f1c252e82fc720287a93c81366f743607812809705593fe1d7c3853f` \\\n  **Raw Old Value**: `0x0000000000000000000000000000000000000000000000000000000000000001` \\\n  **Raw New Value**: `0x0000000000000000000000000000000000000000000000000000000000000000` \\\n  **Value Type**: address \\\n  **Decoded Old Value**: `0x0000000000000000000000000000000000000001` \\\n  **Decoded New Value**: `0x0000000000000000000000000000000000000000` \\\n  **Meaning**: Removes `0xf9e320f3dA12E68af219d9E2A490Dd649f6B177c` from the owners linked list. Confirm the storage key with `cast index address 0xf9e320f3dA12E68af219d9E2A490Dd649f6B177c 2`.\n\n- **Raw Slot**: `0xc2eb038642409cacb7427667d194e7ffc6322f605a293c3088ea50e7387c0be8` \\\n  **Raw Old Value**: `0x000000000000000000000000b011a32ed8b4f70d9943a2199f539bbecd7b62f7` \\\n  **Raw New Value**: `0x0000000000000000000000000000000000000000000000000000000000000000` \\\n  **Value Type**: address \\\n  **Decoded Old Value**: `0xB011a32ED8b4F70D9943A2199F539bbeCd7b62F7` \\\n  **Decoded New Value**: `0x0000000000000000000000000000000000000000` \\\n  **Meaning**: Removes `0x3Dad2200849925Bb46d9bF05aFa5f7F213F4c18E` from the owners linked list. Confirm the storage key with `cast index address 0x3Dad2200849925Bb46d9bF05aFa5f7F213F4c18E 2`.\n\n- **Raw Slot**: `0xc68c82056a4782e6920506248dec06b7949eabf81d66a13e5e8ec70d4e8f4b13` \\\n  **Raw Old Value**: `0x0000000000000000000000000000000000000000000000000000000000000000` \\\n  **Raw New Value**: `0x0000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110` \\\n  **Value Type**: address \\\n  **Decoded Old Value**: `0x0000000000000000000000000000000000000000` \\\n  **Decoded New Value**: `0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110` \\\n  **Meaning**: Adds `0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd` to the owners linked list. Confirm the storage key with `cast index address 0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd 2`.\n\n- **Raw Slot**: `0xdaf8a00b5bed19da86efcb9f47bb7ded536a0ee70f1c43b062cb09e630709778` \\\n  **Raw Old Value**: `0x000000000000000000000000f9e320f3da12e68af219d9e2a490dd649f6b177c` \\\n  **Raw New Value**: `0x0000000000000000000000000000000000000000000000000000000000000000` \\\n  **Value Type**: address \\\n  **Decoded Old Value**: `0xf9e320f3dA12E68af219d9E2A490Dd649f6B177c` \\\n  **Decoded New Value**: `0x0000000000000000000000000000000000000000` \\\n  **Meaning**: Removes `0xB011a32ED8b4F70D9943A2199F539bbeCd7b62F7` from the owners linked list. Confirm the storage key with `cast index address 0xB011a32ED8b4F70D9943A2199F539bbeCd7b62F7 2`.\n\n- **Raw Slot**: `0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0` \\\n  **Raw Old Value**: `0x0000000000000000000000006cd3850756b7894774ab715d136f9dd02837de50` \\\n  **Raw New Value**: `0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd` \\\n  **Value Type**: address \\\n  **Decoded Old Value**: `0x6CD3850756b7894774Ab715D136F9dD02837De50` \\\n  **Decoded New Value**: `0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd` \\\n  **Meaning**: Sets the updated head of the owners linked list to `0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd`. Confirm storage key with `cast index address 0x0000000000000000000000000000000000000001 2`.\n\n- **Raw Slot**: `0xf2703bf6aed371ed0006c3f1370d925046c90122272e607d356ede2c94165357` \\\n  **Raw Old Value**: `0x0000000000000000000000000000000000000000000000000000000000000000` \\\n  **Raw New Value**: `0x0000000000000000000000000000000000000000000000000000000000000001` \\\n  **Value Type**: address \\\n  **Decoded Old Value**: `0x0000000000000000000000000000000000000000` \\\n  **Decoded New Value**: `0x0000000000000000000000000000000000000001` \\\n  **Meaning**: Sets the updated tail of the owners linked list to `0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110`. Confirm storage key with `cast index address 0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110 2`.\n\n- **Raw Slot**: `0xf50027dc233102bb13bb30a38326315505fe2452eaf2e2f78f1c0da0084d86c4` \\\n  **Raw Old Value**: `0x0000000000000000000000005fbefa105bbd53b43bf537cbc5cd30804dd0c993` \\\n  **Raw New Value**: `0x0000000000000000000000000000000000000000000000000000000000000000` \\\n  **Value Type**: address \\\n  **Decoded Old Value**: `0x5FbEFA105bbd53b43bf537Cbc5cD30804Dd0c993` \\\n  **Decoded New Value**: `0x0000000000000000000000000000000000000000` \\\n  **Meaning**: Removes `0x3cd692eCE8b6573A2220ae00d0dEb98f0DfFA9a1` from the owners linked list. Confirm the storage key with `cast index address 0x3cd692eCE8b6573A2220ae00d0dEb98f0DfFA9a1 2`.\n\n### Your Signer Address\n\n- Nonce increment\n"
  },
  {
    "path": "mainnet/2025-01-15-nested-ownership-transfer/addresses.json",
    "content": "{\n  \"SafeA\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n  \"SafeB\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\"\n}\n"
  },
  {
    "path": "mainnet/2025-01-15-nested-ownership-transfer/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "mainnet/2025-01-15-nested-ownership-transfer/records/DeploySafes.s.sol/1/run-1745514205.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xccd26920dc9b1bdc90df1ebb831bfb0bd8c6a65839f732a73ecf1709daa6b1ca\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67\",\n      \"function\": \"createProxyWithNonce(address,bytes,uint256)\",\n      \"arguments\": [\n        \"0x41675C099F32341bf84BFc5382aF534df5C7461a\",\n        \"0xb63e800d00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000fd0732dc9e303f09fcef3a7388ad10a83459ec9900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000006cd3850756b7894774ab715d136f9dd02837de500000000000000000000000003cd692ece8b6573a2220ae00d0deb98f0dffa9a10000000000000000000000005fbefa105bbd53b43bf537cbc5cd30804dd0c9930000000000000000000000003dad2200849925bb46d9bf05afa5f7f213f4c18e000000000000000000000000b011a32ed8b4f70d9943a2199f539bbecd7b62f7000000000000000000000000f9e320f3da12e68af219d9e2a490dd649f6b177c0000000000000000000000000000000000000000000000000000000000000000\",\n        \"0\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67\",\n        \"gas\": \"0x8656c\",\n        \"value\": \"0x0\",\n        \"input\": \"0x1688f0b900000000000000000000000041675c099f32341bf84bfc5382af534df5c7461a000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000204b63e800d00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000fd0732dc9e303f09fcef3a7388ad10a83459ec9900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000006cd3850756b7894774ab715d136f9dd02837de500000000000000000000000003cd692ece8b6573a2220ae00d0deb98f0dffa9a10000000000000000000000005fbefa105bbd53b43bf537cbc5cd30804dd0c9930000000000000000000000003dad2200849925bb46d9bf05afa5f7f213f4c18e000000000000000000000000b011a32ed8b4f70d9943a2199f539bbecd7b62f7000000000000000000000000f9e320f3da12e68af219d9e2a490dd649f6b177c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x0\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [\n        {\n          \"transactionType\": \"CREATE2\",\n          \"address\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n          \"initCode\": \"0x608060405234801561001057600080fd5b506040516101e63803806101e68339818101604052602081101561003357600080fd5b8101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806101c46022913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060ab806101196000396000f3fe608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea264697066735822122003d1488ee65e08fa41e58e888a9865554c535f2c77126a82cb4c0f917f31441364736f6c63430007060033496e76616c69642073696e676c65746f6e20616464726573732070726f766964656400000000000000000000000041675c099f32341bf84bfc5382af534df5c7461a\"\n        }\n      ],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x12c239a869d6ed67758af5f3884a7bf5bae603eb2cc1cfff01cd3e6444b5fed6\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67\",\n      \"function\": \"createProxyWithNonce(address,bytes,uint256)\",\n      \"arguments\": [\n        \"0x41675C099F32341bf84BFc5382aF534df5C7461a\",\n        \"0xb63e800d0000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000260000000000000000000000000fd0732dc9e303f09fcef3a7388ad10a83459ec99000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000005ff5c78ff194acc24c22daadde4d639ebf18acc600000000000000000000000082c80f34c4b5c153db76122a11aad2f77c99e766000000000000000000000000a8ee754fd1d069fb4b5d652730a0ca5e07a3fb060000000000000000000000001c56a6d2a6af643cea4e62e72b75b9bde8d62e2b000000000000000000000000a5657b88a0130a626fcdd6aaa59522373438cdfe00000000000000000000000021c7d1e6a81daca071ba94839ab74c39a25f851f000000000000000000000000a5959a39ca67b9fb473e4a3a898c611eeac9cb7300000000000000000000000018e982274f8c5b548d5aac7abef44d61504e1b3e00000000000000000000000099db5bba0db16e9ad05e3ff53310683cc3c971d20000000000000000000000000e8a99738a50d523871739c6d676554b0e34252f0000000000000000000000000000000000000000000000000000000000000000\",\n        \"0\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67\",\n        \"gas\": \"0xa7e08\",\n        \"value\": \"0x0\",\n        \"input\": \"0x1688f0b900000000000000000000000041675c099f32341bf84bfc5382af534df5c7461a000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000284b63e800d0000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000260000000000000000000000000fd0732dc9e303f09fcef3a7388ad10a83459ec99000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000005ff5c78ff194acc24c22daadde4d639ebf18acc600000000000000000000000082c80f34c4b5c153db76122a11aad2f77c99e766000000000000000000000000a8ee754fd1d069fb4b5d652730a0ca5e07a3fb060000000000000000000000001c56a6d2a6af643cea4e62e72b75b9bde8d62e2b000000000000000000000000a5657b88a0130a626fcdd6aaa59522373438cdfe00000000000000000000000021c7d1e6a81daca071ba94839ab74c39a25f851f000000000000000000000000a5959a39ca67b9fb473e4a3a898c611eeac9cb7300000000000000000000000018e982274f8c5b548d5aac7abef44d61504e1b3e00000000000000000000000099db5bba0db16e9ad05e3ff53310683cc3c971d20000000000000000000000000e8a99738a50d523871739c6d676554b0e34252f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x1\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [\n        {\n          \"transactionType\": \"CREATE2\",\n          \"address\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n          \"initCode\": \"0x608060405234801561001057600080fd5b506040516101e63803806101e68339818101604052602081101561003357600080fd5b8101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806101c46022913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060ab806101196000396000f3fe608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea264697066735822122003d1488ee65e08fa41e58e888a9865554c535f2c77126a82cb4c0f917f31441364736f6c63430007060033496e76616c69642073696e676c65746f6e20616464726573732070726f766964656400000000000000000000000041675c099f32341bf84bfc5382af534df5c7461a\"\n        }\n      ],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x7a0cf1\",\n      \"logs\": [\n        {\n          \"address\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n          \"topics\": [\n            \"0x141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a8\",\n            \"0x0000000000000000000000004e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fd0732dc9e303f09fcef3a7388ad10a83459ec9900000000000000000000000000000000000000000000000000000000000000060000000000000000000000006cd3850756b7894774ab715d136f9dd02837de500000000000000000000000003cd692ece8b6573a2220ae00d0deb98f0dffa9a10000000000000000000000005fbefa105bbd53b43bf537cbc5cd30804dd0c9930000000000000000000000003dad2200849925bb46d9bf05afa5f7f213f4c18e000000000000000000000000b011a32ed8b4f70d9943a2199f539bbecd7b62f7000000000000000000000000f9e320f3da12e68af219d9e2a490dd649f6b177c\",\n          \"blockHash\": \"0x5d7f55c31f609e39e104c87c4fd2b54d272bf04c5b121fdcf65dfa22984e4e83\",\n          \"blockNumber\": \"0x154e284\",\n          \"blockTimestamp\": \"0x680a6ec3\",\n          \"transactionHash\": \"0xccd26920dc9b1bdc90df1ebb831bfb0bd8c6a65839f732a73ecf1709daa6b1ca\",\n          \"transactionIndex\": \"0x4f\",\n          \"logIndex\": \"0xf7\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67\",\n          \"topics\": [\n            \"0x4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e235\",\n            \"0x0000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\"\n          ],\n          \"data\": \"0x00000000000000000000000041675c099f32341bf84bfc5382af534df5c7461a\",\n          \"blockHash\": \"0x5d7f55c31f609e39e104c87c4fd2b54d272bf04c5b121fdcf65dfa22984e4e83\",\n          \"blockNumber\": \"0x154e284\",\n          \"blockTimestamp\": \"0x680a6ec3\",\n          \"transactionHash\": \"0xccd26920dc9b1bdc90df1ebb831bfb0bd8c6a65839f732a73ecf1709daa6b1ca\",\n          \"transactionIndex\": \"0x4f\",\n          \"logIndex\": \"0xf8\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000008800000000000040000000000000000000500000000000000000000000100000000000000000000000800000000000200000000000000001000010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000010000000000000000100020000000000000000000000000001000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xccd26920dc9b1bdc90df1ebb831bfb0bd8c6a65839f732a73ecf1709daa6b1ca\",\n      \"transactionIndex\": \"0x4f\",\n      \"blockHash\": \"0x5d7f55c31f609e39e104c87c4fd2b54d272bf04c5b121fdcf65dfa22984e4e83\",\n      \"blockNumber\": \"0x154e284\",\n      \"gasUsed\": \"0x5bdb1\",\n      \"effectiveGasPrice\": \"0xf6edac59\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67\",\n      \"contractAddress\": null\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x67fabe\",\n      \"logs\": [\n        {\n          \"address\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n          \"topics\": [\n            \"0x141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a8\",\n            \"0x0000000000000000000000004e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fd0732dc9e303f09fcef3a7388ad10a83459ec99000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000005ff5c78ff194acc24c22daadde4d639ebf18acc600000000000000000000000082c80f34c4b5c153db76122a11aad2f77c99e766000000000000000000000000a8ee754fd1d069fb4b5d652730a0ca5e07a3fb060000000000000000000000001c56a6d2a6af643cea4e62e72b75b9bde8d62e2b000000000000000000000000a5657b88a0130a626fcdd6aaa59522373438cdfe00000000000000000000000021c7d1e6a81daca071ba94839ab74c39a25f851f000000000000000000000000a5959a39ca67b9fb473e4a3a898c611eeac9cb7300000000000000000000000018e982274f8c5b548d5aac7abef44d61504e1b3e00000000000000000000000099db5bba0db16e9ad05e3ff53310683cc3c971d20000000000000000000000000e8a99738a50d523871739c6d676554b0e34252f\",\n          \"blockHash\": \"0xca0e9e49c2efa5f2c6192ceacc1769ec8dc4227580b32c93ce5d49902d7d09c3\",\n          \"blockNumber\": \"0x154e286\",\n          \"blockTimestamp\": \"0x680a6edb\",\n          \"transactionHash\": \"0x12c239a869d6ed67758af5f3884a7bf5bae603eb2cc1cfff01cd3e6444b5fed6\",\n          \"transactionIndex\": \"0x48\",\n          \"logIndex\": \"0xb9\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67\",\n          \"topics\": [\n            \"0x4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e235\",\n            \"0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\"\n          ],\n          \"data\": \"0x00000000000000000000000041675c099f32341bf84bfc5382af534df5c7461a\",\n          \"blockHash\": \"0xca0e9e49c2efa5f2c6192ceacc1769ec8dc4227580b32c93ce5d49902d7d09c3\",\n          \"blockNumber\": \"0x154e286\",\n          \"blockTimestamp\": \"0x680a6edb\",\n          \"transactionHash\": \"0x12c239a869d6ed67758af5f3884a7bf5bae603eb2cc1cfff01cd3e6444b5fed6\",\n          \"transactionIndex\": \"0x48\",\n          \"logIndex\": \"0xba\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000001000000000000000000000000000000000000008000000000000000000000000800000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000008000000400000000000000000000000000500000000000000000000000100000000000010000000000800000000000200000000000000000000000000000000000000000000000000000000000000000000100000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000010000000000000000100020000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x12c239a869d6ed67758af5f3884a7bf5bae603eb2cc1cfff01cd3e6444b5fed6\",\n      \"transactionIndex\": \"0x48\",\n      \"blockHash\": \"0xca0e9e49c2efa5f2c6192ceacc1769ec8dc4227580b32c93ce5d49902d7d09c3\",\n      \"blockNumber\": \"0x154e286\",\n      \"gasUsed\": \"0x72c9b\",\n      \"effectiveGasPrice\": \"0xf878246c\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1745514205,\n  \"chain\": 1,\n  \"commit\": \"a324b9f\"\n}"
  },
  {
    "path": "mainnet/2025-01-15-nested-ownership-transfer/records/UpdateSigners.s.sol/1/run-1745938970.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xfeff9bf53acee54f6f54a90140b893e07ab5e7e2b250b884b1caf2d2d3ea0b0f\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000000000000000000000000000000000000000006c000000000000000000000000000000000000000000000000000000000000007c00000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a1100000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f1300000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a1100000000000000000000000006cd3850756b7894774ab715d136f9dd02837de500000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a1100000000000000000000000003cd692ece8b6573a2220ae00d0deb98f0dffa9a10000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a1100000000000000000000000005fbefa105bbd53b43bf537cbc5cd30804dd0c9930000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a1100000000000000000000000003dad2200849925bb46d9bf05afa5f7f213f4c18e0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000b011a32ed8b4f70d9943a2199f539bbecd7b62f70000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000f9e320f3da12e68af219d9e2a490dd649f6b177c000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x23081b5afc483c1dca2bb88fc3497339f9425cacdfc810e4acee719ab6bd8df34b42da9cba32cb2c543caa8b7590dc239ea8e5220d269e1c1199599425a746931c7e47a48d29b4eaefa81342a230360ffc4b8273116a38f968def10faa7b8049bc24f06616a727363509798753b321adbcaa39c4aeb2a7c5038ca3e8f2f9b47f631c3da87fcd8b6e0549329e433e635df83d8e61c2830ff8f4eba07f72272a83fbcb60e27b1b05efd9e26bc53cba1ff24bc93d6c472776a44042d564f657cef6b5e61c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n        \"gas\": \"0x3b096\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a80000000000000000000000000000000000000000000000000000000000000090482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000000000000000000000000000000000000000006c000000000000000000000000000000000000000000000000000000000000007c00000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a1100000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f1300000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a1100000000000000000000000006cd3850756b7894774ab715d136f9dd02837de500000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a1100000000000000000000000003cd692ece8b6573a2220ae00d0deb98f0dffa9a10000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a1100000000000000000000000005fbefa105bbd53b43bf537cbc5cd30804dd0c9930000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a1100000000000000000000000003dad2200849925bb46d9bf05afa5f7f213f4c18e0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000b011a32ed8b4f70d9943a2199f539bbecd7b62f70000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000f9e320f3da12e68af219d9e2a490dd649f6b177c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c323081b5afc483c1dca2bb88fc3497339f9425cacdfc810e4acee719ab6bd8df34b42da9cba32cb2c543caa8b7590dc239ea8e5220d269e1c1199599425a746931c7e47a48d29b4eaefa81342a230360ffc4b8273116a38f968def10faa7b8049bc24f06616a727363509798753b321adbcaa39c4aeb2a7c5038ca3e8f2f9b47f631c3da87fcd8b6e0549329e433e635df83d8e61c2830ff8f4eba07f72272a83fbcb60e27b1b05efd9e26bc53cba1ff24bc93d6c472776a44042d564f657cef6b5e61c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x3\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xbdbd39\",\n      \"logs\": [\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x0000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n          \"blockHash\": \"0x03c614325cb66093de5d20636b5aaaf652c29db808aba9e24a4304f669cb4010\",\n          \"blockNumber\": \"0x1556c3c\",\n          \"blockTimestamp\": \"0x6810ea17\",\n          \"transactionHash\": \"0xfeff9bf53acee54f6f54a90140b893e07ab5e7e2b250b884b1caf2d2d3ea0b0f\",\n          \"transactionIndex\": \"0x7e\",\n          \"logIndex\": \"0x169\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0x610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c93\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000002\",\n          \"blockHash\": \"0x03c614325cb66093de5d20636b5aaaf652c29db808aba9e24a4304f669cb4010\",\n          \"blockNumber\": \"0x1556c3c\",\n          \"blockTimestamp\": \"0x6810ea17\",\n          \"transactionHash\": \"0xfeff9bf53acee54f6f54a90140b893e07ab5e7e2b250b884b1caf2d2d3ea0b0f\",\n          \"transactionIndex\": \"0x7e\",\n          \"logIndex\": \"0x16a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n          \"blockHash\": \"0x03c614325cb66093de5d20636b5aaaf652c29db808aba9e24a4304f669cb4010\",\n          \"blockNumber\": \"0x1556c3c\",\n          \"blockTimestamp\": \"0x6810ea17\",\n          \"transactionHash\": \"0xfeff9bf53acee54f6f54a90140b893e07ab5e7e2b250b884b1caf2d2d3ea0b0f\",\n          \"transactionIndex\": \"0x7e\",\n          \"logIndex\": \"0x16b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x0000000000000000000000006cd3850756b7894774ab715d136f9dd02837de50\",\n          \"blockHash\": \"0x03c614325cb66093de5d20636b5aaaf652c29db808aba9e24a4304f669cb4010\",\n          \"blockNumber\": \"0x1556c3c\",\n          \"blockTimestamp\": \"0x6810ea17\",\n          \"transactionHash\": \"0xfeff9bf53acee54f6f54a90140b893e07ab5e7e2b250b884b1caf2d2d3ea0b0f\",\n          \"transactionIndex\": \"0x7e\",\n          \"logIndex\": \"0x16c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x0000000000000000000000003cd692ece8b6573a2220ae00d0deb98f0dffa9a1\",\n          \"blockHash\": \"0x03c614325cb66093de5d20636b5aaaf652c29db808aba9e24a4304f669cb4010\",\n          \"blockNumber\": \"0x1556c3c\",\n          \"blockTimestamp\": \"0x6810ea17\",\n          \"transactionHash\": \"0xfeff9bf53acee54f6f54a90140b893e07ab5e7e2b250b884b1caf2d2d3ea0b0f\",\n          \"transactionIndex\": \"0x7e\",\n          \"logIndex\": \"0x16d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x0000000000000000000000005fbefa105bbd53b43bf537cbc5cd30804dd0c993\",\n          \"blockHash\": \"0x03c614325cb66093de5d20636b5aaaf652c29db808aba9e24a4304f669cb4010\",\n          \"blockNumber\": \"0x1556c3c\",\n          \"blockTimestamp\": \"0x6810ea17\",\n          \"transactionHash\": \"0xfeff9bf53acee54f6f54a90140b893e07ab5e7e2b250b884b1caf2d2d3ea0b0f\",\n          \"transactionIndex\": \"0x7e\",\n          \"logIndex\": \"0x16e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x0000000000000000000000003dad2200849925bb46d9bf05afa5f7f213f4c18e\",\n          \"blockHash\": \"0x03c614325cb66093de5d20636b5aaaf652c29db808aba9e24a4304f669cb4010\",\n          \"blockNumber\": \"0x1556c3c\",\n          \"blockTimestamp\": \"0x6810ea17\",\n          \"transactionHash\": \"0xfeff9bf53acee54f6f54a90140b893e07ab5e7e2b250b884b1caf2d2d3ea0b0f\",\n          \"transactionIndex\": \"0x7e\",\n          \"logIndex\": \"0x16f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x000000000000000000000000b011a32ed8b4f70d9943a2199f539bbecd7b62f7\",\n          \"blockHash\": \"0x03c614325cb66093de5d20636b5aaaf652c29db808aba9e24a4304f669cb4010\",\n          \"blockNumber\": \"0x1556c3c\",\n          \"blockTimestamp\": \"0x6810ea17\",\n          \"transactionHash\": \"0xfeff9bf53acee54f6f54a90140b893e07ab5e7e2b250b884b1caf2d2d3ea0b0f\",\n          \"transactionIndex\": \"0x7e\",\n          \"logIndex\": \"0x170\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x000000000000000000000000f9e320f3da12e68af219d9e2a490dd649f6b177c\",\n          \"blockHash\": \"0x03c614325cb66093de5d20636b5aaaf652c29db808aba9e24a4304f669cb4010\",\n          \"blockNumber\": \"0x1556c3c\",\n          \"blockTimestamp\": \"0x6810ea17\",\n          \"transactionHash\": \"0xfeff9bf53acee54f6f54a90140b893e07ab5e7e2b250b884b1caf2d2d3ea0b0f\",\n          \"transactionIndex\": \"0x7e\",\n          \"logIndex\": \"0x171\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xf51603cedaa13c518857616fa4e855fe6408f1791b7f99604780990bbd84721a0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x03c614325cb66093de5d20636b5aaaf652c29db808aba9e24a4304f669cb4010\",\n          \"blockNumber\": \"0x1556c3c\",\n          \"blockTimestamp\": \"0x6810ea17\",\n          \"transactionHash\": \"0xfeff9bf53acee54f6f54a90140b893e07ab5e7e2b250b884b1caf2d2d3ea0b0f\",\n          \"transactionIndex\": \"0x7e\",\n          \"logIndex\": \"0x172\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000010000000000000000088000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000010000000000000000000000000000000000020004000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000001000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000400000000000000000000000008000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xfeff9bf53acee54f6f54a90140b893e07ab5e7e2b250b884b1caf2d2d3ea0b0f\",\n      \"transactionIndex\": \"0x7e\",\n      \"blockHash\": \"0x03c614325cb66093de5d20636b5aaaf652c29db808aba9e24a4304f669cb4010\",\n      \"blockNumber\": \"0x1556c3c\",\n      \"gasUsed\": \"0x2abde\",\n      \"effectiveGasPrice\": \"0x4b57825d\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1745938970,\n  \"chain\": 1,\n  \"commit\": \"8e14532\"\n}"
  },
  {
    "path": "mainnet/2025-01-15-nested-ownership-transfer/script/DeploySafes.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.24;\n\nimport {stdJson} from \"forge-std/StdJson.sol\";\nimport {Script} from \"forge-std/Script.sol\";\nimport {Safe} from \"safe-smart-account/contracts/Safe.sol\";\nimport {SafeProxyFactory} from \"safe-smart-account/contracts/proxies/SafeProxyFactory.sol\";\nimport {Strings} from \"@openzeppelin/contracts/utils/Strings.sol\";\nimport {console} from \"forge-std/console.sol\";\n\ncontract DeploySafes is Script {\n    using Strings for address;\n    using stdJson for string;\n\n    address public constant Z_ADDR = address(0);\n\n    address public immutable SAFE_IMPLEMENTATION;\n    address public immutable FALLBACK_HANDLER;\n    address public immutable SAFE_PROXY_FACTORY;\n    address public immutable OWNER_SAFE;\n\n    uint256 public immutable EXPECTED_OWNER_SAFE_THRESHOLD;\n    uint256 public immutable EXPECTED_OWNER_SAFE_OWNER_COUNT;\n    uint256 public immutable OWNER_SAFE_THRESHOLD;\n\n    uint256 public immutable SAFE_B_THRESHOLD;\n    uint256 public immutable EXPECTED_SAFE_B_OWNER_COUNT;\n\n    address[] public OWNER_SAFE_OWNERS;\n    address[] public SAFE_B_OWNERS;\n\n    constructor() {\n        SAFE_IMPLEMENTATION = vm.envAddress(\"L1_GNOSIS_SAFE_IMPLEMENTATION\");\n        FALLBACK_HANDLER = vm.envAddress(\"L1_GNOSIS_COMPATIBILITY_FALLBACK_HANDLER\");\n        SAFE_PROXY_FACTORY = vm.envAddress(\"SAFE_PROXY_FACTORY\");\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n\n        EXPECTED_OWNER_SAFE_THRESHOLD = vm.envUint(\"EXPECTED_OWNER_SAFE_THRESHOLD\");\n        EXPECTED_OWNER_SAFE_OWNER_COUNT = vm.envUint(\"EXPECTED_OWNER_SAFE_OWNER_COUNT\");\n\n        string memory rootPath = vm.projectRoot();\n        string memory path = string.concat(rootPath, \"/signers.json\");\n        string memory jsonData = vm.readFile(path);\n\n        SAFE_B_OWNERS = abi.decode(jsonData.parseRaw(\".signers\"), (address[]));\n\n        Safe ownerSafe = Safe(payable(OWNER_SAFE));\n        OWNER_SAFE_OWNERS = ownerSafe.getOwners();\n        OWNER_SAFE_THRESHOLD = ownerSafe.getThreshold();\n\n        SAFE_B_THRESHOLD = vm.envUint(\"SAFE_B_THRESHOLD\");\n        EXPECTED_SAFE_B_OWNER_COUNT = vm.envUint(\"EXPECTED_SAFE_B_OWNER_COUNT\");\n    }\n\n    function run() public {\n        require(EXPECTED_OWNER_SAFE_THRESHOLD == 3, \"Expected owner safe threshold must be 3\");\n        require(EXPECTED_OWNER_SAFE_OWNER_COUNT == 6, \"Expected owner safe owner count must be 6\");\n\n        require(SAFE_B_THRESHOLD == 7, \"Expected safe B threshold must be 7\");\n        require(EXPECTED_SAFE_B_OWNER_COUNT == 10, \"Expected safe B owner count must be 10\");\n\n        require(OWNER_SAFE_THRESHOLD == EXPECTED_OWNER_SAFE_THRESHOLD, \"Owner safe threshold must be 3\");\n        require(OWNER_SAFE_OWNERS.length == EXPECTED_OWNER_SAFE_OWNER_COUNT, \"Owner safe owners length must be 6\");\n\n        require(SAFE_B_OWNERS.length == EXPECTED_SAFE_B_OWNER_COUNT, \"Safe B owners length must be 10\");\n\n        console.log(\"Deploying SafeA with owners:\");\n        _printOwners(OWNER_SAFE_OWNERS);\n\n        console.log(\"Deploying SafeB with owners:\");\n        _printOwners(SAFE_B_OWNERS);\n\n        console.log(\"Threshold of SafeA:\", OWNER_SAFE_THRESHOLD);\n        console.log(\"Threshold of SafeB:\", SAFE_B_THRESHOLD);\n\n        vm.startBroadcast();\n        // First safe maintains the same owners + threshold as the current owner safe\n        address safeA = _createAndInitProxy(OWNER_SAFE_OWNERS, OWNER_SAFE_THRESHOLD);\n        // Second safe specifies its own owners + threshold\n        address safeB = _createAndInitProxy(SAFE_B_OWNERS, SAFE_B_THRESHOLD);\n        vm.stopBroadcast();\n        _postCheck(safeA, safeB);\n\n        vm.writeFile(\n            \"addresses.json\",\n            string.concat(\n                \"{\", \"\\\"SafeA\\\": \\\"\", safeA.toHexString(), \"\\\",\", \"\\\"SafeB\\\": \\\"\", safeB.toHexString(), \"\\\"\" \"}\"\n            )\n        );\n    }\n\n    function _postCheck(address safeAAddress, address safeBAddress) private view {\n        Safe safeA = Safe(payable(safeAAddress));\n        Safe safeB = Safe(payable(safeBAddress));\n\n        address[] memory safeAOwners = safeA.getOwners();\n        uint256 safeAThreshold = safeA.getThreshold();\n\n        address[] memory safeBOwners = safeB.getOwners();\n        uint256 safeBThreshold = safeB.getThreshold();\n\n        require(safeAThreshold == EXPECTED_OWNER_SAFE_THRESHOLD, \"PostCheck 1\");\n        require(safeAOwners.length == EXPECTED_OWNER_SAFE_OWNER_COUNT, \"PostCheck 2\");\n\n        require(safeBThreshold == SAFE_B_THRESHOLD, \"PostCheck 3\");\n        require(safeBOwners.length == EXPECTED_SAFE_B_OWNER_COUNT, \"PostCheck 4\");\n\n        for (uint256 i; i < safeAOwners.length; i++) {\n            require(safeAOwners[i] == OWNER_SAFE_OWNERS[i], \"PostCheck 5\");\n        }\n\n        for (uint256 i; i < safeBOwners.length; i++) {\n            require(safeBOwners[i] == SAFE_B_OWNERS[i], \"PostCheck 6\");\n        }\n\n        console.log(\"PostCheck passed\");\n    }\n\n    function _createAndInitProxy(address[] memory owners, uint256 threshold) private returns (address) {\n        bytes memory initializer =\n            abi.encodeCall(Safe.setup, (owners, threshold, Z_ADDR, \"\", FALLBACK_HANDLER, Z_ADDR, 0, payable(Z_ADDR)));\n        return address(SafeProxyFactory(SAFE_PROXY_FACTORY).createProxyWithNonce(SAFE_IMPLEMENTATION, initializer, 0));\n    }\n\n    function _printOwners(address[] memory owners) private pure {\n        for (uint256 i; i < owners.length; i++) {\n            console.logAddress(owners[i]);\n        }\n    }\n}\n"
  },
  {
    "path": "mainnet/2025-01-15-nested-ownership-transfer/script/UpdateSigners.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.24;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {stdJson} from \"forge-std/StdJson.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\n\nimport {MultisigBuilder} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {Safe} from \"safe-smart-account/contracts/Safe.sol\";\nimport {OwnerManager} from \"safe-smart-account/contracts/base/OwnerManager.sol\";\n\n// Adds `SAFE_A` and `SAFE_B` as owners to `OWNER_SAFE` and sets threshold to 2\n// `SAFE_A` should have same owners as `OWNER_SAFE`\n// `SAFE_A` should have same threshold as `OWNER_SAFE`\n// `SAFE_B` should be a 7-of-10 multisig\ncontract UpdateSigners is MultisigBuilder {\n    using stdJson for string;\n\n    address payable private SAFE_A;\n    address payable private SAFE_B;\n\n    uint256 internal constant THRESHOLD = 2;\n    address payable internal OWNER_SAFE = payable(vm.envAddress(\"OWNER_SAFE\"));\n    string private ADDRESSES;\n\n    address[] private A_OWNERS;\n    address[] private B_OWNERS;\n\n    uint256 private A_THRESHOLD;\n    uint256 private B_THRESHOLD;\n\n    function setUp() public {\n        string memory rootPath = vm.projectRoot();\n        string memory path = string.concat(rootPath, \"/addresses.json\");\n        ADDRESSES = vm.readFile(path);\n\n        SAFE_A = payable(ADDRESSES.readAddress(\".SafeA\"));\n        SAFE_B = payable(ADDRESSES.readAddress(\".SafeB\"));\n\n        A_OWNERS = Safe(SAFE_A).getOwners();\n        A_THRESHOLD = Safe(SAFE_A).getThreshold();\n\n        require(A_OWNERS.length == 6, \"A owners length must be 6\");\n        require(A_THRESHOLD == 3, \"A threshold must be 3\");\n\n        B_OWNERS = Safe(SAFE_B).getOwners();\n        B_THRESHOLD = Safe(SAFE_B).getThreshold();\n\n        require(B_OWNERS.length == 10, \"B owners length must be 10\");\n        require(B_THRESHOLD == 7, \"B threshold must be 7\");\n\n        address[] memory ownerSafeOwners = Safe(OWNER_SAFE).getOwners();\n        uint256 ownerSafeThreshold = Safe(OWNER_SAFE).getThreshold();\n\n        require(ownerSafeOwners.length == A_OWNERS.length, \"Precheck owner count mismatch - A\");\n        require(ownerSafeThreshold == A_THRESHOLD, \"Precheck threshold mismatch - A\");\n        for (uint256 i; i < ownerSafeOwners.length; i++) {\n            require(ownerSafeOwners[i] == A_OWNERS[i], \"Precheck owner mismatch - A\");\n        }\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        address[] memory aOwners = Safe(SAFE_A).getOwners();\n        address[] memory bOwners = Safe(SAFE_B).getOwners();\n\n        uint256 aThreshold = Safe(SAFE_A).getThreshold();\n        uint256 bThreshold = Safe(SAFE_B).getThreshold();\n\n        address[] memory ownerSafeOwners = Safe(OWNER_SAFE).getOwners();\n\n        uint256 ownerSafeThreshold = Safe(OWNER_SAFE).getThreshold();\n\n        require(aThreshold == A_THRESHOLD, \"Postcheck new signer threshold mismatch - A\");\n        require(bThreshold == B_THRESHOLD, \"Postcheck new signer threshold mismatch - B\");\n\n        require(aOwners.length == A_OWNERS.length, \"Postcheck length mismatch - A\");\n        require(bOwners.length == B_OWNERS.length, \"Postcheck length mismatch - B\");\n\n        require(ownerSafeThreshold == THRESHOLD, \"Postcheck owner threshold mismatch\");\n        require(ownerSafeOwners.length == 2, \"Postcheck owner count mismatch\");\n\n        require(ownerSafeOwners[0] == SAFE_B, \"Postcheck new signer mismatch - B\");\n        require(ownerSafeOwners[1] == SAFE_A, \"Postcheck new signer mismatch - A\");\n\n        for (uint256 i; i < aOwners.length; i++) {\n            require(aOwners[i] == A_OWNERS[i], \"PostCheck 5\");\n        }\n\n        for (uint256 i; i < bOwners.length; i++) {\n            require(bOwners[i] == B_OWNERS[i], \"PostCheck 6\");\n        }\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](2 + A_OWNERS.length);\n\n        calls[0] = IMulticall3.Call3({\n            target: OWNER_SAFE,\n            allowFailure: false,\n            callData: abi.encodeCall(OwnerManager.addOwnerWithThreshold, (SAFE_A, THRESHOLD))\n        });\n        calls[1] = IMulticall3.Call3({\n            target: OWNER_SAFE,\n            allowFailure: false,\n            callData: abi.encodeCall(OwnerManager.addOwnerWithThreshold, (SAFE_B, THRESHOLD))\n        });\n\n        address prevOwner = SAFE_A;\n\n        for (uint256 i; i < A_OWNERS.length; i++) {\n            calls[2 + i] = IMulticall3.Call3({\n                target: OWNER_SAFE,\n                allowFailure: false,\n                callData: abi.encodeCall(OwnerManager.removeOwner, (prevOwner, A_OWNERS[i], THRESHOLD))\n            });\n        }\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "mainnet/2025-01-15-nested-ownership-transfer/signers.json",
    "content": "{\n  \"signers\": [\n    \"0x5ff5C78ff194acc24C22DAaDdE4D639ebF18ACC6\",\n    \"0x82C80F34C4b5c153dB76122a11AaD2F77C99E766\",\n    \"0xa8ee754FD1d069fb4B5d652730A0ca5e07a3fb06\",\n    \"0x1C56A6d2A6Af643cea4E62e72B75B9bDe8d62e2B\",\n    \"0xA5657B88A0130a626fcDd6aAA59522373438CdFE\",\n    \"0x21C7D1e6A81Daca071bA94839ab74C39A25f851F\",\n    \"0xa5959a39cA67b9fb473E4A3A898C611EEAc9CB73\",\n    \"0x18e982274f8C5B548D5aAc7aBef44D61504e1b3E\",\n    \"0x99DB5BbA0db16e9aD05e3ff53310683CC3C971D2\",\n    \"0x0E8A99738a50D523871739c6d676554b0E34252f\"\n  ]\n}\n"
  },
  {
    "path": "mainnet/2025-01-22-increase-gas-limit/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: sign-upgrade\nsign-upgrade:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \\\n\t--sig \"sign()\"\n\n.PHONY: execute-upgrade\nexecute-upgrade:\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n\n.PHONY: sign-rollback\nsign-rollback:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \\\n\t--sig \"sign()\"\n\n\n.PHONY: execute-rollback\nexecute-rollback:\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2025-01-22-increase-gas-limit/README.md",
    "content": "# Update Gas Limit in L1 `SystemConfig`\n\nStatus: [EXECUTED](https://etherscan.io/tx/0x8d5f102659ce0442a583e69709b82170b9e18e0e693a9b505155ae3bba26e7b5)\n\n## Objective\n\nWe are updating the gas limit to improve TPS and reduce gas fees.\n\nThis runbook invokes two scripts which allow our signers to sign two different calls for our Incident Multisig, which are both defined in the [base-org/contracts](https://github.com/base-org/contracts) repository:\n\n1. `UpgradeGasLimit` -- This script will update the gas limit to our new limit of 180M gas\n2. `RollbackGasLimit` -- This script establishes a rollback call in the case we need to revert to gas\n\nThe values we are sending are statically defined in the `.env`.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow\n> the flow for both \"Approving the Update transaction\" and\n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed.\n\n## Approving the Upgrade transaction\n\n### 1. Update repo and move to the appropriate folder:\n\n```\ncd contract-deployments\ngit pull\ncd mainnet/2025-01-22-increase-gas-limit\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-upgrade\n```\n\nOnce you run the `make sign...` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 48 to 49:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000030\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000031\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 252M to 264M:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x000000000000000000000000000000000000000000000000000000000f053700\nAfter: 0x000000000000000000000000000000000000000000000000000000000fbc5200\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-upgrade\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Approving the Rollback transaction\n\nComplete the above steps for `Approving the Update transaction` before continuing below.\n\n### 1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-rollback\n```\n\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output. Once again paste this URL in your browser and click \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000031\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000032\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x000000000000000000000000000000000000000000000000000000000fbc5200\nAfter: 0x000000000000000000000000000000000000000000000000000000000f053700\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-rollback\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make execute-upgrade`\n\n> [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK\n> Repeat the above, but replace the signatures with the signed\n> rollback signatures collected, the call `make execute-rollback`\n"
  },
  {
    "path": "mainnet/2025-01-22-increase-gas-limit/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2025-01-22-increase-gas-limit/records/UpgradeGasLimit.sol/1/run-1737568790.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x8d5f102659ce0442a583e69709b82170b9e18e0e693a9b505155ae3bba26e7b5\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000fbc520000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xc486bff84018a09a6df707288c5cd54995f31a29f184598b2e9280cdca43ff2968123a4cdc2bdb6b95223ad40390229086cf96db08a9eb179c16342d39b717e81ca5ccdb3d6c3e283e11c30a153c176506d3f99e8d1841de5e1b9b346807d641ed008aba2ae175c5b738cfbd046be4ce1caa13c2f3eaa4792c52156582889ea56d1bb667630789dc7f6b7b59b7a096b766ba2d25ac6f1b788594e46489d0acadca4b093e1cec1fe10ddd041fc95c06b7f37ff1a0ea66e5db0e3885e2a099722026d81b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x26c72586fb396325f58718152fefa94e93cf177b\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x1e730\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000fbc5200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3c486bff84018a09a6df707288c5cd54995f31a29f184598b2e9280cdca43ff2968123a4cdc2bdb6b95223ad40390229086cf96db08a9eb179c16342d39b717e81ca5ccdb3d6c3e283e11c30a153c176506d3f99e8d1841de5e1b9b346807d641ed008aba2ae175c5b738cfbd046be4ce1caa13c2f3eaa4792c52156582889ea56d1bb667630789dc7f6b7b59b7a096b766ba2d25ac6f1b788594e46489d0acadca4b093e1cec1fe10ddd041fc95c06b7f37ff1a0ea66e5db0e3885e2a099722026d81b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x8\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xa68274\",\n      \"logs\": [\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000002\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000fbc5200\",\n          \"blockHash\": \"0xd47dd3d0714ce1557482789b0eaabdcec3bfdc5bd5ccac1cb9d6b86038b4e933\",\n          \"blockNumber\": \"0x14ad610\",\n          \"transactionHash\": \"0x8d5f102659ce0442a583e69709b82170b9e18e0e693a9b505155ae3bba26e7b5\",\n          \"transactionIndex\": \"0x7e\",\n          \"logIndex\": \"0x114\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x5da9d02e3cb60f664d7649cfc79ed3b6c55cd5107d897dff5cae54b4baaa1dab0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xd47dd3d0714ce1557482789b0eaabdcec3bfdc5bd5ccac1cb9d6b86038b4e933\",\n          \"blockNumber\": \"0x14ad610\",\n          \"transactionHash\": \"0x8d5f102659ce0442a583e69709b82170b9e18e0e693a9b505155ae3bba26e7b5\",\n          \"transactionIndex\": \"0x7e\",\n          \"logIndex\": \"0x115\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x8d5f102659ce0442a583e69709b82170b9e18e0e693a9b505155ae3bba26e7b5\",\n      \"transactionIndex\": \"0x7e\",\n      \"blockHash\": \"0xd47dd3d0714ce1557482789b0eaabdcec3bfdc5bd5ccac1cb9d6b86038b4e933\",\n      \"blockNumber\": \"0x14ad610\",\n      \"gasUsed\": \"0x160b8\",\n      \"effectiveGasPrice\": \"0x26686b6d5\",\n      \"from\": \"0x26c72586fb396325f58718152fefa94e93cf177b\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1737568790,\n  \"chain\": 1,\n  \"commit\": \"c28016b\"\n}"
  },
  {
    "path": "mainnet/2025-01-29-increase-gas-limit/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\nifndef ROLLBACK_NONCE_OFFSET\noverride ROLLBACK_NONCE_OFFSET = 1\nendif\n\n.PHONY: sign-upgrade\nsign-upgrade:\n\tFROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"sign()\"\n\n.PHONY: execute-upgrade\nexecute-upgrade:\n\tFROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n.PHONY: sign-rollback\nsign-rollback:\n\tFROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tSAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) \"nonce()\" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \\\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"sign()\"\n\n.PHONY: execute-rollback\nexecute-rollback:\n\tFROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tSAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) \"nonce()\" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2025-01-29-increase-gas-limit/README.md",
    "content": "# Update Gas Limit in L1 `SystemConfig`\n\nStatus: EXECUTED\n\n## Objective\n\nWe are updating the gas limit to improve TPS and reduce gas fees.\n\nThis runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, as defined in the [base-org/contracts](https://github.com/base-org/contracts) repository:\n\n`SetGasLimit` -- This script will update the gas limit to our new limit of 288M gas if invoked as part of the \"upgrade\" process, or revert to the old limit of 264M gas if invoked as part of the \"rollback\" process.\n\nThe values we are sending are statically defined in the `.env`.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow\n> the flow for both \"Approving the Update transaction\" and\n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed.\n\n## Approving the Upgrade transaction\n\n### 1. Update repo and move to the appropriate folder:\n\n```\ncd contract-deployments\ngit pull\ncd mainnet/2025-01-29-increase-gas-limit\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-upgrade\n```\n\nOnce you run the `make sign...` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 49 to 50:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000031\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000032\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 264000000 to 288000000:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x000000000000000000000000000000000000000000000000000000000fbc5200\nAfter: 0x00000000000000000000000000000000000000000000000000000000112a8800\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-upgrade\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Approving the Rollback transaction\n\nComplete the above steps for `Approving the Update transaction` before continuing below.\n\n### 1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-rollback\n```\n\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output. Once again paste this URL in your browser and click \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000032\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000033\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x00000000000000000000000000000000000000000000000000000000112a8800\nAfter: 0x000000000000000000000000000000000000000000000000000000000fbc5200\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-rollback\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make execute-upgrade`\n\n> [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK\n> Repeat the above, but replace the signatures with the signed\n> rollback signatures collected, the call `make execute-rollback`\n"
  },
  {
    "path": "mainnet/2025-01-29-increase-gas-limit/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2025-02-12-increase-gas-limit/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\nifndef ROLLBACK_NONCE_OFFSET\noverride ROLLBACK_NONCE_OFFSET = 1\nendif\n\n.PHONY: sign-upgrade\nsign-upgrade:\n\tFROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"sign()\"\n\n.PHONY: execute-upgrade\nexecute-upgrade:\n\tFROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n.PHONY: sign-rollback\nsign-rollback:\n\tFROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tSAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) \"nonce()\" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \\\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"sign()\"\n\n.PHONY: execute-rollback\nexecute-rollback:\n\tFROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tSAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) \"nonce()\" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2025-02-12-increase-gas-limit/README.md",
    "content": "# Update Gas Limit in L1 `SystemConfig`\n\nStatus: DONE\n\n## Objective\n\nWe are updating the gas limit to improve TPS and reduce gas fees.\n\nThis runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base-org/contracts) repository:\n\n`SetGasLimit` -- This script will update the gas limit to our new limit of TODO gas if invoked as part of the \"upgrade\" process, or revert to the old limit of TODO gas if invoked as part of the \"rollback\" process.\n\nThe values we are sending are statically defined in the `.env`.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow\n> the flow for both \"Approving the Update transaction\" and\n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed.\n\n## Approving the Upgrade transaction\n\n### 1. Update repo and move to the appropriate folder:\n\n```\ncd contract-deployments\ngit pull\ncd mainnet/2025-02-12-increase-gas-limit\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-upgrade\n```\n\nOnce you run the `make sign...` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 51 to 52:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000033\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000034\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from TODO to TODO:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x0000000000000000000000000000000000000000000000000000000005b8d800\nAfter: 0x0000000000000000000000000000000000000000000000000000000005f5e100\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-upgrade\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Approving the Rollback transaction\n\nComplete the above steps for `Approving the Update transaction` before continuing below.\n\n### 1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-rollback\n```\n\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output. Once again paste this URL in your browser and click \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000034\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000035\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x0000000000000000000000000000000000000000000000000000000005f5e100\nAfter: 0x0000000000000000000000000000000000000000000000000000000005b8d800\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-rollback\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make execute-upgrade`\n\n> [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK\n> Repeat the above, but replace the signatures with the signed\n> rollback signatures collected, the call `make execute-rollback`\n"
  },
  {
    "path": "mainnet/2025-02-12-increase-gas-limit/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2025-02-12-increase-gas-limit/records/SetGasLimit.sol/1/run-1739387882.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x6fc570103d7b91929313806022050ad1c24f1edca299a6b1afc77c7155a13da1\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000005f5e10000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x841ec425f53bd2889e1d3c44d153304b03861816bc475c67d2d9b39521edcbb726340c78bc65dcd032d720ca6fb65d1737f92160748e30a499b6f44f0e7329a01cf471e909b0dc9e6aa175fd2340130892d126dac15d387c7217246edc996647ce36f21956f0a3b21785fab77331a1bb7adb81b44adac0562f157ac619878a0b0f1b888f014868aeadf826a0c8b77faf88faa9ae4fe7f9289ffb2592d35c5c214ce559cf7af30781e7fc58db6d9741735989ee4acc65ca97501dadf3a995ea5c55321c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x73565876170a336fa02fde34eed03e3121f70ba6\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x1e75a\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000005f5e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3841ec425f53bd2889e1d3c44d153304b03861816bc475c67d2d9b39521edcbb726340c78bc65dcd032d720ca6fb65d1737f92160748e30a499b6f44f0e7329a01cf471e909b0dc9e6aa175fd2340130892d126dac15d387c7217246edc996647ce36f21956f0a3b21785fab77331a1bb7adb81b44adac0562f157ac619878a0b0f1b888f014868aeadf826a0c8b77faf88faa9ae4fe7f9289ffb2592d35c5c214ce559cf7af30781e7fc58db6d9741735989ee4acc65ca97501dadf3a995ea5c55321c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0xe\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xb05443\",\n      \"logs\": [\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000002\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000005f5e100\",\n          \"blockHash\": \"0x1d659f61cbeecddde9d0aeb7f4ce79f86052f4b8f2bb9125c53c9f6066981259\",\n          \"blockNumber\": \"0x14d22fa\",\n          \"transactionHash\": \"0x6fc570103d7b91929313806022050ad1c24f1edca299a6b1afc77c7155a13da1\",\n          \"transactionIndex\": \"0x7c\",\n          \"logIndex\": \"0x155\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x5f8808f9520ed34b2baedbab7146543b54f8e3890dd40bfe4917f0cccd85439b0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x1d659f61cbeecddde9d0aeb7f4ce79f86052f4b8f2bb9125c53c9f6066981259\",\n          \"blockNumber\": \"0x14d22fa\",\n          \"transactionHash\": \"0x6fc570103d7b91929313806022050ad1c24f1edca299a6b1afc77c7155a13da1\",\n          \"transactionIndex\": \"0x7c\",\n          \"logIndex\": \"0x156\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x6fc570103d7b91929313806022050ad1c24f1edca299a6b1afc77c7155a13da1\",\n      \"transactionIndex\": \"0x7c\",\n      \"blockHash\": \"0x1d659f61cbeecddde9d0aeb7f4ce79f86052f4b8f2bb9125c53c9f6066981259\",\n      \"blockNumber\": \"0x14d22fa\",\n      \"gasUsed\": \"0x160d6\",\n      \"effectiveGasPrice\": \"0x49ad423d\",\n      \"from\": \"0x73565876170a336fa02fde34eed03e3121f70ba6\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1739387882,\n  \"chain\": 1,\n  \"commit\": \"7ad4d5b\"\n}"
  },
  {
    "path": "mainnet/2025-02-19-increase-gas-limit/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\nifndef ROLLBACK_NONCE_OFFSET\noverride ROLLBACK_NONCE_OFFSET = 1\nendif\n\n.PHONY: sign-upgrade\nsign-upgrade:\n\tFROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"sign()\"\n\n.PHONY: execute-upgrade\nexecute-upgrade:\n\tFROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n.PHONY: sign-rollback\nsign-rollback:\n\tFROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tSAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) \"nonce()\" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \\\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"sign()\"\n\n.PHONY: execute-rollback\nexecute-rollback:\n\tFROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tSAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) \"nonce()\" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2025-02-19-increase-gas-limit/README.md",
    "content": "# Update Gas Limit in L1 `SystemConfig`\n\nStatus: DONE\n\n## Objective\n\nWe are updating the gas limit to improve TPS and reduce gas fees.\n\nThis runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base-org/contracts) repository:\n\n`SetGasLimit` -- This script will update the gas limit to our new limit of TODO gas if invoked as part of the \"upgrade\" process, or revert to the old limit of TODO gas if invoked as part of the \"rollback\" process.\n\nThe values we are sending are statically defined in the `.env`.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow\n> the flow for both \"Approving the Update transaction\" and\n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed.\n\n## Approving the Upgrade transaction\n\n### 1. Update repo and move to the appropriate folder:\n\n```\ncd contract-deployments\ngit pull\ncd mainnet/2025-02-19-increase-gas-limit\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-upgrade\n```\n\nOnce you run the `make sign...` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 54 to 55:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000036\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000037\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 100000000 to 104000000:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x0000000000000000000000000000000000000000000000000000000005f5e100\nAfter: 0x000000000000000000000000000000000000000000000000000000000632ea00\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-upgrade\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Approving the Rollback transaction\n\nComplete the above steps for `Approving the Update transaction` before continuing below.\n\n### 1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-rollback\n```\n\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output. Once again paste this URL in your browser and click \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000037\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000038\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x000000000000000000000000000000000000000000000000000000000632ea00\nAfter: 0x0000000000000000000000000000000000000000000000000000000005f5e100\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-rollback\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make execute-upgrade`\n\n> [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK\n> Repeat the above, but replace the signatures with the signed\n> rollback signatures collected, the call `make execute-rollback`\n"
  },
  {
    "path": "mainnet/2025-02-19-increase-gas-limit/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2025-02-19-increase-gas-limit/records/SetGasLimit.sol/1/run-1739987678.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xeac02f2c7bf9aa206dc1cfa36e9083e9686697c91f0473e74ab5621890d97ed3\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000632ea0000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xdbd4a13a444cbf1d946d4e72c97ce731d3f7c298d6ee97d3b4c9ff7d72f623647ad9fb32e02eafe87d60dc6fe9650cbe355c3f3f2389f27a0e521ec8710416c81c91dd6b7af4340b39244d432c6856a84e93054ed3810bb25781e6e83d498c837a7e3b1e5d393957912d0016a0f50cc48862334cf65cf2ad0eaf5116cb3b07ed911c63cac3bde2a61793d5e2cda85388ed4c30f6732f10a2b5fa7619ff633daba2104fb914d7e755de4e4de6ae8b60751610edbc4ea20b4ad2a05dc870ce1876a3031c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x203f3\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000632ea00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3dbd4a13a444cbf1d946d4e72c97ce731d3f7c298d6ee97d3b4c9ff7d72f623647ad9fb32e02eafe87d60dc6fe9650cbe355c3f3f2389f27a0e521ec8710416c81c91dd6b7af4340b39244d432c6856a84e93054ed3810bb25781e6e83d498c837a7e3b1e5d393957912d0016a0f50cc48862334cf65cf2ad0eaf5116cb3b07ed911c63cac3bde2a61793d5e2cda85388ed4c30f6732f10a2b5fa7619ff633daba2104fb914d7e755de4e4de6ae8b60751610edbc4ea20b4ad2a05dc870ce1876a3031c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x0\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xda4010\",\n      \"logs\": [\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000002\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000632ea00\",\n          \"blockHash\": \"0x47668fb8ebbed173d2ce9d1642df4439cf7b653bc3202bbf3265856b5a405301\",\n          \"blockNumber\": \"0x14de4b6\",\n          \"blockTimestamp\": \"0x67b61adb\",\n          \"transactionHash\": \"0xeac02f2c7bf9aa206dc1cfa36e9083e9686697c91f0473e74ab5621890d97ed3\",\n          \"transactionIndex\": \"0xbd\",\n          \"logIndex\": \"0x17b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x0d1c16809c392b04b126adbb0fa0e6c8716ab9831181f3dd4b0c79797a021cd70000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x47668fb8ebbed173d2ce9d1642df4439cf7b653bc3202bbf3265856b5a405301\",\n          \"blockNumber\": \"0x14de4b6\",\n          \"blockTimestamp\": \"0x67b61adb\",\n          \"transactionHash\": \"0xeac02f2c7bf9aa206dc1cfa36e9083e9686697c91f0473e74ab5621890d97ed3\",\n          \"transactionIndex\": \"0xbd\",\n          \"logIndex\": \"0x17c\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xeac02f2c7bf9aa206dc1cfa36e9083e9686697c91f0473e74ab5621890d97ed3\",\n      \"transactionIndex\": \"0xbd\",\n      \"blockHash\": \"0x47668fb8ebbed173d2ce9d1642df4439cf7b653bc3202bbf3265856b5a405301\",\n      \"blockNumber\": \"0x14de4b6\",\n      \"gasUsed\": \"0x160ca\",\n      \"effectiveGasPrice\": \"0x41a45694\",\n      \"from\": \"0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1739987678,\n  \"chain\": 1,\n  \"commit\": \"4bfbe29\"\n}"
  },
  {
    "path": "mainnet/2025-02-25-increase-gas-limit/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\nifndef ROLLBACK_NONCE_OFFSET\noverride ROLLBACK_NONCE_OFFSET = 1\nendif\n\n.PHONY: sign-upgrade\nsign-upgrade:\n\tFROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"sign()\"\n\n.PHONY: execute-upgrade\nexecute-upgrade:\n\tFROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n.PHONY: sign-rollback\nsign-rollback:\n\tFROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tSAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) \"nonce()\" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \\\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"sign()\"\n\n.PHONY: execute-rollback\nexecute-rollback:\n\tFROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tSAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) \"nonce()\" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2025-02-25-increase-gas-limit/README.md",
    "content": "# Update Gas Limit in L1 `SystemConfig`\n\nStatus: DONE\n\n## Objective\n\nWe are updating the gas limit to improve TPS and reduce gas fees.\n\nThis runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base-org/contracts) repository:\n\n`SetGasLimit` -- This script will update the gas limit to our new limit of 108 Mgas if invoked as part of the \"upgrade\" process, or revert to the old limit of 104 Mgas if invoked as part of the \"rollback\" process.\n\nThe values we are sending are statically defined in the `.env`.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow\n> the flow for both \"Approving the Update transaction\" and\n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed.\n\n## Approving the Upgrade transaction\n\n### 1. Update repo and move to the appropriate folder:\n\n```\ncd contract-deployments\ngit pull\ncd mainnet/2025-02-25-increase-gas-limit\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-upgrade\n```\n\nOnce you run the `make sign...` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 55 to 56:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000037\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000038\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 104000000 to 108000000:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x000000000000000000000000000000000000000000000000000000000632ea00\nAfter: 0x00000000000000000000000000000000000000000000000000000000066ff300\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-upgrade\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Approving the Rollback transaction\n\nComplete the above steps for `Approving the Update transaction` before continuing below.\n\n### 1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-rollback\n```\n\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output. Once again paste this URL in your browser and click \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000038\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000039\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x00000000000000000000000000000000000000000000000000000000066ff300\nAfter: 0x0000000000000000000000000000000000000000000000000000000006a20c00\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-rollback\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make execute-upgrade`\n\n> [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK\n> Repeat the above, but replace the signatures with the signed\n> rollback signatures collected, the call `make execute-rollback`\n"
  },
  {
    "path": "mainnet/2025-02-25-increase-gas-limit/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2025-02-25-increase-gas-limit/records/SetGasLimit.sol/1/run-1740593054.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x5a88354da7ce0b8f42b67ba4af43e455988c9cbb2f7c7e7ce1e9478f4ebd58ec\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c00000000000000000000000000000000000000000000000000000000066ff30000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x41488a1027d5baa6d17ae46c0cc5e5dfea048d573e642ec387d1dba8f2bd236969cc7acc9ea506951a520c420c192d0919f9825c3029f9c318a3cbab2782adf71b4513000f1a114386adda65376d46e3273637b76848201799c5d137b7d0c40f5f47cce4a4922a9217e16e164d73b84f27a7e37fe3f82edb0318beb572421324ca1bcb9cf070b8fa682422eb1884281b6566f06a0911bf0b9a177a22750b758a9cac5208958ef95f5c8216171404273409b8b9cff335f06157340f53a14250356d911c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x26c72586fb396325f58718152fefa94e93cf177b\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x203f3\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c00000000000000000000000000000000000000000000000000000000066ff300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c341488a1027d5baa6d17ae46c0cc5e5dfea048d573e642ec387d1dba8f2bd236969cc7acc9ea506951a520c420c192d0919f9825c3029f9c318a3cbab2782adf71b4513000f1a114386adda65376d46e3273637b76848201799c5d137b7d0c40f5f47cce4a4922a9217e16e164d73b84f27a7e37fe3f82edb0318beb572421324ca1bcb9cf070b8fa682422eb1884281b6566f06a0911bf0b9a177a22750b758a9cac5208958ef95f5c8216171404273409b8b9cff335f06157340f53a14250356d911c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0xa\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xd97bb2\",\n      \"logs\": [\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000002\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000066ff300\",\n          \"blockHash\": \"0x2a9d388c2d658e17fbf3de136800f882e6559ece9e8ffb2270d42de5d44fcc2c\",\n          \"blockNumber\": \"0x14ea892\",\n          \"transactionHash\": \"0x5a88354da7ce0b8f42b67ba4af43e455988c9cbb2f7c7e7ce1e9478f4ebd58ec\",\n          \"transactionIndex\": \"0x80\",\n          \"logIndex\": \"0x16c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x12a9032852a095146ad550d30bbb7c3f2750cc0ee9e5fa7729b3879a5f844f4e0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x2a9d388c2d658e17fbf3de136800f882e6559ece9e8ffb2270d42de5d44fcc2c\",\n          \"blockNumber\": \"0x14ea892\",\n          \"transactionHash\": \"0x5a88354da7ce0b8f42b67ba4af43e455988c9cbb2f7c7e7ce1e9478f4ebd58ec\",\n          \"transactionIndex\": \"0x80\",\n          \"logIndex\": \"0x16d\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x5a88354da7ce0b8f42b67ba4af43e455988c9cbb2f7c7e7ce1e9478f4ebd58ec\",\n      \"transactionIndex\": \"0x80\",\n      \"blockHash\": \"0x2a9d388c2d658e17fbf3de136800f882e6559ece9e8ffb2270d42de5d44fcc2c\",\n      \"blockNumber\": \"0x14ea892\",\n      \"gasUsed\": \"0x160ca\",\n      \"effectiveGasPrice\": \"0x647e7eb4\",\n      \"from\": \"0x26c72586fb396325f58718152fefa94e93cf177b\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1740593054,\n  \"chain\": 1,\n  \"commit\": \"9b5e28f\"\n}"
  },
  {
    "path": "mainnet/2025-03-05-increase-gas-limit/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\nifndef ROLLBACK_NONCE_OFFSET\noverride ROLLBACK_NONCE_OFFSET = 1\nendif\n\n.PHONY: sign-upgrade\nsign-upgrade:\n\tFROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"sign()\"\n\n.PHONY: execute-upgrade\nexecute-upgrade:\n\tFROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n.PHONY: sign-rollback\nsign-rollback:\n\tFROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tSAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) \"nonce()\" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \\\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"sign()\"\n\n.PHONY: execute-rollback\nexecute-rollback:\n\tFROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tSAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) \"nonce()\" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2025-03-05-increase-gas-limit/README.md",
    "content": "# Update Gas Limit in L1 `SystemConfig`\n\nStatus: DONE\n\n## Objective\n\nWe are updating the gas limit to improve TPS and reduce gas fees.\n\nThis runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base-org/contracts) repository:\n\n`SetGasLimit` -- This script will update the gas limit to our new limit of 108 Mgas if invoked as part of the \"upgrade\" process, or revert to the old limit of 104 Mgas if invoked as part of the \"rollback\" process.\n\nThe values we are sending are statically defined in the `.env`.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow\n> the flow for both \"Approving the Update transaction\" and\n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed.\n\n## Approving the Upgrade transaction\n\n### 1. Update repo and move to the appropriate folder:\n\n```\ncd contract-deployments\ngit pull\ncd mainnet/2025-03-05-increase-gas-limit\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-upgrade\n```\n\nOnce you run the `make sign...` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 55 to 56:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000038\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000039\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 104000000 to 108000000:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x00000000000000000000000000000000000000000000000000000000066ff300\nAfter: 0x0000000000000000000000000000000000000000000000000000000006acfc00\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-upgrade\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Approving the Rollback transaction\n\nComplete the above steps for `Approving the Update transaction` before continuing below.\n\n### 1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-rollback\n```\n\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output. Once again paste this URL in your browser and click \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000039\nAfter: 0x000000000000000000000000000000000000000000000000000000000000003a\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x0000000000000000000000000000000000000000000000000000000006acfc00\nAfter: 0x00000000000000000000000000000000000000000000000000000000066ff300\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-rollback\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make execute-upgrade`\n\n> [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK\n> Repeat the above, but replace the signatures with the signed\n> rollback signatures collected, the call `make execute-rollback`\n"
  },
  {
    "path": "mainnet/2025-03-05-increase-gas-limit/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2025-03-05-increase-gas-limit/records/SetGasLimit.sol/1/run-1741194410.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xa0f1c6b7132b770c5136fc6b87e0284ee7767f0066d3415a94e892a5f9c5e645\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000006acfc0000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xee10f86fe61655e9d4e74f4764868360ea8763d1861fa79139df6af8826f9e5c08316e92239f47107f3471fcf43b59a40e814ce95caf9fc2795c8606b076dd281c497b62d40410f73d02d97330a5b43da28c81c3fb1a0fd9d65c2b6e65b97cf799230f6f5a0851d9a33995a11afcc77a75539c33d6c8921fe2eb16613ba26cb6251c8dd0323b8f8f606fb2c405006489c9bcab1233025d678054f7b9d02a85729ecf78928444d16bc4b0f997f121f26a2414ab6d963ea9b75738d19f9d1032f9aafa1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x73565876170a336fa02fde34eed03e3121f70ba6\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x203f3\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000006acfc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3ee10f86fe61655e9d4e74f4764868360ea8763d1861fa79139df6af8826f9e5c08316e92239f47107f3471fcf43b59a40e814ce95caf9fc2795c8606b076dd281c497b62d40410f73d02d97330a5b43da28c81c3fb1a0fd9d65c2b6e65b97cf799230f6f5a0851d9a33995a11afcc77a75539c33d6c8921fe2eb16613ba26cb6251c8dd0323b8f8f606fb2c405006489c9bcab1233025d678054f7b9d02a85729ecf78928444d16bc4b0f997f121f26a2414ab6d963ea9b75738d19f9d1032f9aafa1b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0xf\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x114a4c2\",\n      \"logs\": [\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000002\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000006acfc00\",\n          \"blockHash\": \"0x92a936502a2902b526c7e30289624fb6ffbc62ec1ad05bed4b24acb8a291f239\",\n          \"blockNumber\": \"0x14f6b74\",\n          \"transactionHash\": \"0xa0f1c6b7132b770c5136fc6b87e0284ee7767f0066d3415a94e892a5f9c5e645\",\n          \"transactionIndex\": \"0x95\",\n          \"logIndex\": \"0x161\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xebf89c3651c520996802b1ee1c4ae86af24f677fae3b4262bce56eeba953ea9c0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x92a936502a2902b526c7e30289624fb6ffbc62ec1ad05bed4b24acb8a291f239\",\n          \"blockNumber\": \"0x14f6b74\",\n          \"transactionHash\": \"0xa0f1c6b7132b770c5136fc6b87e0284ee7767f0066d3415a94e892a5f9c5e645\",\n          \"transactionIndex\": \"0x95\",\n          \"logIndex\": \"0x162\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xa0f1c6b7132b770c5136fc6b87e0284ee7767f0066d3415a94e892a5f9c5e645\",\n      \"transactionIndex\": \"0x95\",\n      \"blockHash\": \"0x92a936502a2902b526c7e30289624fb6ffbc62ec1ad05bed4b24acb8a291f239\",\n      \"blockNumber\": \"0x14f6b74\",\n      \"gasUsed\": \"0x160ca\",\n      \"effectiveGasPrice\": \"0x3c4cd76b\",\n      \"from\": \"0x73565876170a336fa02fde34eed03e3121f70ba6\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1741194410,\n  \"chain\": 1,\n  \"commit\": \"5ef1678\"\n}"
  },
  {
    "path": "mainnet/2025-03-05-upgrade-fault-proofs/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: deploy\ndeploy:\n\tforge script --rpc-url $(L1_RPC_URL) DeployDisputeGames \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv\n\n##\n# NestedMultisigBuilder commands\n# The following commands can be used for tasks that utilize the NestedMultisigBuilder.\n# Note that --ledger --hd-paths <PATH> can be replaced with --private-key $(PRIVATE_KEY)\n# in any command when using a local key.\n# See more documentation on the various steps in NestedMultisigBuilder.sol.\n##\n\n# This step is run by signers on the \"children\" safes\n.PHONY: sign-cb\nsign-cb:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeDGF \\\n\t--sig \"sign(address)\" $(CB_SIGNER_SAFE_ADDR)\n\n.PHONY: sign-op\nsign-op:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeDGF \\\n\t--sig \"sign(address)\" $(OP_SIGNER_SAFE_ADDR)\n\n# This step is run once per \"child\" safe, and can be run by anyone (doesn't have to be a signer)\n.PHONY: approve-cb\napprove-cb:\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeDGF \\\n\t--sig \"approve(address,bytes)\" $(CB_SIGNER_SAFE_ADDR) $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n.PHONY: approve-op\napprove-op:\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeDGF \\\n\t--sig \"approve(address,bytes)\" $(OP_SIGNER_SAFE_ADDR) $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n# This step is run once after all children safes have approved and can be run by anyone (doesn't have to be a signer)\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeDGF \\\n\t--sig \"run()\" --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2025-03-05-upgrade-fault-proofs/README.md",
    "content": "# Upgrade Fault Proofs\n\nStatus: [EXECUTED](https://etherscan.io/tx/0xac0db12a427a31ccbaf4a154cf6d5acf0b83c791a4bd7f93a54c9b150b9aa668)\n\n## Description\n\nThis task contains two scripts. One for deploying new versions of the `FaultDisputeGame` and `PermissionedDisputeGame` contracts, and one for updating the `DisputeGameFactory` contract to reference the new dispute game contracts.\n\n## Procedure\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd mainnet/2025-03-05-upgrade-fault-proofs\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Run relevant script(s)\n\n#### 3.1 Deploy new Dispute Game Implementations\n\n```bash\nmake deploy\n```\n\nThis will output the new addresses of the `FaultDisputeGame` and `PermissionedDisputeGame` contracts to an `addresses.json` file. You will need to commit this file to the repo before signers can sign.\n\n#### 3.2 Sign the transaction\n\nCoinbase signer:\n\n```bash\nmake sign-cb\n```\n\nOp signer:\n\n```bash\nmake sign-op\n```\n\nYou will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and extract the domain hash and message hash to approve on your Ledger:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n##### 3.2.1 Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not see the derivation path Note above.\n\n##### 3.2.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab, and refer to the [State Validations](./VALIDATION.md) instructions for the transaction you are signing.\nOnce complete return to this document to complete the signing.\n\n##### 3.2.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\nOnce the validations are done, it's time to actually sign the\ntransaction.\n\n> [!WARNING]\n> This is the most security critical part of the playbook: make sure the\n> domain hash and message hash in the following two places match:\n>\n> 1. On your Ledger screen.\n> 2. In the Tenderly simulation. You should use the same Tenderly\n>    simulation as the one you used to verify the state diffs, instead\n>    of opening the new one printed in the console.\n>\n> There is no need to verify anything printed in the console. There is\n> no need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```shell\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n##### 3.2.4 Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n### [For Facilitator ONLY] How to execute\n\n#### Execute the transaction\n\n1. IMPORTANT: Ensure op-challenger has been updated before executing.\n1. Collect outputs from all participating signers.\n1. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"`.\n1. Run the `make approve` command as described below to execute the transaction.\n\nFor example, if the quorum is 2 and you get the following outputs:\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE01\nSignature: AAAA\n```\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE02\nSignature: BBBB\n```\n\nThen you should run:\n\nCoinbase facilitator:\n\n```bash\nSIGNATURES=AAAABBBB make approve-cb\n```\n\nOptimism facilitator:\n\n```bash\nSIGNATURES=AAAABBBB make approve-op\n```\n\n#### Execute the transaction\n\nOnce the signatures have been submitted approving the transaction for all nested Safes run:\n\n```bash\nmake execute\n```\n"
  },
  {
    "path": "mainnet/2025-03-05-upgrade-fault-proofs/VALIDATION.md",
    "content": "# Validation\n\nThis document can be used to validate the state diff resulting from the execution of the upgrade transactions.\n\nFor each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract:\n\n- The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur.\n- All addresses (in section headers and storage values) match the provided name, using the Etherscan and Superchain Registry links provided. This validates the bytecode deployed at the addresses contains the correct logic.\n- All key values match the semantic meaning provided, which can be validated using the storage layout links provided.\n\n## Expected Domain and Message Hashes\n\n> [!CAUTION]\n>\n> Before signing, ensure the below hashes match what is on your ledger.\n>\n> ### CB Signers\n>\n> - Domain Hash: `0x88aac3dc27cc1618ec43a87b3df21482acd24d172027ba3fbb5a5e625d895a0b`\n> - Message Hash: `0x9ef8cce91c002602265fd0d330b1295dc002966e87cd9dc90e2a76efef2517dc`\n>\n> ### OP Signers\n>\n> - Domain Hash: `0x4e6a6554de0308f5ece8ff736beed8a1b876d16f5c27cac8e466d7de0c703890`\n> - Message Hash: `0xc7991c24a74ab490b5fc16fb1ed3b21d1b2feea08a1caa0cf35e2da0be256303`\n\n## Expected Nested Hash\n\n`0x327dcf25f029c9623dbd799635f384b0c63acfcdeb2bded32fde3ebc6c878f0d`\n\n## Mainnet State Overrides\n\n### `0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c` (`ProxyAdminOwner`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n### Nested Safe\n\n[For CB Signers] `0x9855054731540A48b28990B63DcF4f33d8AE46A1` (`CB Nested Safe`)\n[For OP Signers] `0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A` (`OP Nested Safe`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000003` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the owner count to 1 so the transaction simulation can occur.\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n- **Key**: `0x316a0aac0d94f5824f0b66f5bbe94a8c360a17699a1d3a233aafcf7146e9f11c` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: This is owners[0xca11bde05977b3631167028862be2a173976ca11] -> 1, so the key can be derived from cast index address 0xca11bde05977b3631167028862be2a173976ca11 2.\n\n- **Key**: `0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0` <br/>\n  **Override**: `0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca11` <br/>\n  **Meaning**: This is owners[1] -> 0xca11bde05977b3631167028862be2a173976ca11, so the key can be derived from cast index address 0x0000000000000000000000000000000000000001 2.\n\n## Mainnet State Changes\n\n### `0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c` (`ProxyAdminOwner`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n  **Before**: `0x0000000000000000000000000000000000000000000000000000000000000006` <br/>\n  **After**: `0x0000000000000000000000000000000000000000000000000000000000000007` <br/>\n  **Meaning**: Nonce increment.\n\n#### For CB Signers\n\n- **Key**: `0x8cb5f50dcfb02589430ed0b4a4f27b2874c87b778dee6e2a74b223075947171c` <br/>\n  **Before**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n  **After**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Sets an approval for this transaction from the signer.\n  **Verify**: Compute the expected key with `cast index bytes32 $NESTED_HASH $(cast index address $NESTED_SAFE 8)`\n\n#### For OP Signers\n\n- **Key**: `0xf248e3d2bff4db2695f9a01b649a5d616c363e8f02c966a13778d0c4e7047c67` <br/>\n  **Before**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n  **After**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Sets an approval for this transaction from the signer.\n  **Verify**: Compute the expected key with `cast index bytes32 $NESTED_HASH $(cast index address $NESTED_SAFE 8)`\n\n### `0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e` (`DisputeGameFactory`)\n\n- **Key**: `0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e` <br/>\n  **Before**: `0x000000000000000000000000f62c15e2f99d4869a925b8f57076cd85335832a2` <br/>\n  **After**: `0x0000000000000000000000008cf5972cedf63b099406b3e7da81566885453d8e` <br/>\n  **Meaning**: Updates the `PermissionedDisputeGame` implementation address from `0xF62c15e2F99d4869A925B8F57076cD85335832A2` to `0x8cf5972cedf63b099406b3e7da81566885453d8e`.\n  **Verify**: You can verify the key derivation by running `cast index uint32 1 101` in your terminal.\n\n- **Key**: `0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b` <br/>\n  **Before**: `0x000000000000000000000000c5f3677c3c56db4031ab005a3c9c98e1b79d438e` <br/>\n  **After**: `0x000000000000000000000000fe884b822eddb5864e86626e088120c73c0a4364` <br/>\n  **Meaning**: Updates the `FaultDisputeGame` implementation address from `0xc5f3677c3C56DB4031ab005a3C9c98e1B79D438e` to `0xfe884b822eddb5864e86626e088120c73c0a4364`.\n  **Verify**: You can verify the key derivation by running `cast index uint32 0 101` in your terminal.\n\n### Nested Safe\n\n[For CB Signers] `0x9855054731540A48b28990B63DcF4f33d8AE46A1` (`CB Nested Safe`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n  **Before**: `0x0000000000000000000000000000000000000000000000000000000000000012` <br/>\n  **After**: `0x0000000000000000000000000000000000000000000000000000000000000013` <br/>\n  **Meaning**: Nonce increment.\n\n[For OP Signers] `0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A` (`OP Nested Safe`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n  **Before**: `0x0000000000000000000000000000000000000000000000000000000000000065` <br/>\n  **After**: `0x0000000000000000000000000000000000000000000000000000000000000066` <br/>\n  **Meaning**: Nonce increment.\n\n### Signing Address\n\nNonce increment.\n"
  },
  {
    "path": "mainnet/2025-03-05-upgrade-fault-proofs/addresses.json",
    "content": "{\n  \"faultDisputeGame\": \"0xfe884b822eddb5864e86626e088120c73c0a4364\",\n  \"permissionedDisputeGame\": \"0x8cf5972cedf63b099406b3e7da81566885453d8e\"\n}\n"
  },
  {
    "path": "mainnet/2025-03-05-upgrade-fault-proofs/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n    '@lib-keccak/=lib/lib-keccak/contracts/lib',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "mainnet/2025-03-05-upgrade-fault-proofs/records/DeployDisputeGames.s.sol/1/run-1742911814.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xac0db12a427a31ccbaf4a154cf6d5acf0b83c791a4bd7f93a54c9b150b9aa668\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"FaultDisputeGame\",\n      \"contractAddress\": \"0xfe884b822eddb5864e86626e088120c73c0a4364\",\n      \"function\": null,\n      \"arguments\": [\n        \"0\",\n        \"0x03f89406817db1ed7fd8b31e13300444652cdb0b9c509a674de43483b2f83568\",\n        \"73\",\n        \"30\",\n        \"10800\",\n        \"302400\",\n        \"0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C\",\n        \"0xa2f2aC6F5aF72e494A227d79Db20473Cf7A1FFE8\",\n        \"0xdB9091e48B1C42992A1213e6916184f9eBDbfEDf\",\n        \"8453\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x49243dce94e0f5a1b08b9556bbec5a84363c3839\",\n        \"gas\": \"0x674aa9\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6101c06040523480156200001257600080fd5b50604051620064b1380380620064b1833981016040819052620000359162000435565b620000436001607e6200050c565b60ff168811156200006757604051633beff19960e11b815260040160405180910390fd5b600019871480620000845750876200008188600162000532565b10155b15620000a35760405163e62ccf3960e01b815260040160405180910390fd5b6002871015620000c65760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b038016846001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200010f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013591906200054d565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000173573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019991906200056d565b1115620001b95760405163b4e1243360e01b815260040160405180910390fd5b6000620001da876001600160401b0316620003e260201b62000c891760201c565b620001f0906001600160401b0316600262000587565b90506000856001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000233573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025991906200054d565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000297573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002bd91906200056d565b620002dc896001600160401b0316620003e260201b62000c891760201c565b6001600160401b0316620002f1919062000532565b905060006200030c8383620003e560201b62003a261760201c565b90506001600160401b03811115620003375760405163235dfb2b60e21b815260040160405180910390fd5b62000356886001600160401b0316620003e260201b62000c891760201c565b6001600160401b0316816001600160401b03161115620003895760405163235dfb2b60e21b815260040160405180910390fd5b50505063ffffffff9099166101205260809790975260a09590955260c0939093526001600160401b039182166101a0521660e0526001600160a01b039081166101005290811661014052166101605261018052620005a9565b90565b6000818311620003f65781620003f8565b825b9392505050565b80516001600160401b03811681146200041757600080fd5b919050565b6001600160a01b03811681146200043257600080fd5b50565b6000806000806000806000806000806101408b8d0312156200045657600080fd5b8a5163ffffffff811681146200046b57600080fd5b809a505060208b0151985060408b0151975060608b015196506200049260808c01620003ff565b9550620004a260a08c01620003ff565b945060c08b0151620004b4816200041c565b60e08c0151909450620004c7816200041c565b6101008c0151909350620004db816200041c565b809250506101208b015190509295989b9194979a5092959850565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff841680821015620005295762000529620004f6565b90039392505050565b60008219821115620005485762000548620004f6565b500190565b6000602082840312156200056057600080fd5b8151620003f8816200041c565b6000602082840312156200058057600080fd5b5051919050565b6000816000190483118215151615620005a457620005a4620004f6565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051615d826200072f600039600081816106bb01528181611fbb015281816120260152612059015260008181610a1e01526139390152600081816106130152818161178a01526125e80152600081816105270152818161194c01528181612480015281816129ea0152613e1301526000818161088d015281816125a701526139c80152600081816104b401528181611eba015281816132420152613597015260008181610a7101528181610f6001528181611e2a01528181612089015281816120e801528181612bf60152612c38015260008181610aa401528181611c7301528181611d9901528181611ff7015281816130950152818161379601528181613f0a015281816146270152818161475501528181614856015261492b015260008181610b4b01528181611d3c01528181611e8e01528181612d0601528181612d8c01528181612f8b01526130b601526000818161078601526131540152615d826000f3fe6080604052600436106102f25760003560e01c806370872aa51161018f578063c6f0308c116100e1578063ec5e63081161008a578063fa24f74311610064578063fa24f74314610b18578063fa315aa914610b3c578063fe2bbeb214610b6f57600080fd5b8063ec5e630814610a95578063eff0f59214610ac8578063f8f43ff614610af857600080fd5b8063d6ae3cd5116100bb578063d6ae3cd514610a0f578063d8cc1a3c14610a42578063dabd396d14610a6257600080fd5b8063c6f0308c14610937578063cf09e0d0146109c1578063d5d44d80146109e257600080fd5b80638d450a9511610143578063bcef3b551161011d578063bcef3b55146108b7578063bd8da956146108f7578063c395e1ca1461091757600080fd5b80638d450a9514610777578063a445ece6146107aa578063bbdc02db1461087657600080fd5b80638129fc1c116101745780638129fc1c1461071a5780638980e0cc146107225780638b85902b1461073757600080fd5b806370872aa5146106f25780637b0f0adc1461070757600080fd5b80633fc8cef3116102485780635c0cba33116101fc5780636361506d116101d65780636361506d1461066c5780636b6716c0146106ac5780636f034409146106df57600080fd5b80635c0cba3314610604578063609d33341461063757806360e274641461064c57600080fd5b806354fd4d501161022d57806354fd4d501461055e57806357da950e146105b45780635a5fa2d9146105e457600080fd5b80633fc8cef314610518578063472777c61461054b57600080fd5b80632810e1d6116102aa57806337b1b2291161028457806337b1b229146104655780633a768463146104a55780633e3ac912146104d857600080fd5b80632810e1d6146103de5780632ad69aeb146103f357806330dbe5701461041357600080fd5b806319effeb4116102db57806319effeb414610339578063200d2ed21461038457806325fc2ace146103bf57600080fd5b806301935130146102f757806303c2924d14610319575b600080fd5b34801561030357600080fd5b506103176103123660046154e1565b610b9f565b005b34801561032557600080fd5b5061031761033436600461553c565b610ec0565b34801561034557600080fd5b506000546103669068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b34801561039057600080fd5b506000546103b290700100000000000000000000000000000000900460ff1681565b60405161037b919061558d565b3480156103cb57600080fd5b506008545b60405190815260200161037b565b3480156103ea57600080fd5b506103b2611566565b3480156103ff57600080fd5b506103d061040e36600461553c565b61180b565b34801561041f57600080fd5b506001546104409073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161037b565b34801561047157600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90033560601c610440565b3480156104b157600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610440565b3480156104e457600080fd5b50600054610508907201000000000000000000000000000000000000900460ff1681565b604051901515815260200161037b565b34801561052457600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610440565b6103176105593660046155ce565b611841565b34801561056a57600080fd5b506105a76040518060400160405280600581526020017f312e332e3100000000000000000000000000000000000000000000000000000081525081565b60405161037b9190615665565b3480156105c057600080fd5b506008546009546105cf919082565b6040805192835260208301919091520161037b565b3480156105f057600080fd5b506103d06105ff366004615678565b611853565b34801561061057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610440565b34801561064357600080fd5b506105a761188d565b34801561065857600080fd5b506103176106673660046156b6565b61189b565b34801561067857600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003603401356103d0565b3480156106b857600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610366565b6103176106ed3660046156e8565b611a42565b3480156106fe57600080fd5b506009546103d0565b6103176107153660046155ce565b61251b565b610317612528565b34801561072e57600080fd5b506002546103d0565b34801561074357600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401356103d0565b34801561078357600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b3480156107b657600080fd5b506108226107c5366004615678565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046fffffffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff1684565b60408051941515855263ffffffff90931660208501526fffffffffffffffffffffffffffffffff9091169183019190915273ffffffffffffffffffffffffffffffffffffffff16606082015260800161037b565b34801561088257600080fd5b5060405163ffffffff7f000000000000000000000000000000000000000000000000000000000000000016815260200161037b565b3480156108c357600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356103d0565b34801561090357600080fd5b50610366610912366004615678565b612a81565b34801561092357600080fd5b506103d0610932366004615727565b612c60565b34801561094357600080fd5b50610957610952366004615678565b612e43565b6040805163ffffffff909816885273ffffffffffffffffffffffffffffffffffffffff968716602089015295909416948601949094526fffffffffffffffffffffffffffffffff9182166060860152608085015291821660a08401521660c082015260e00161037b565b3480156109cd57600080fd5b506000546103669067ffffffffffffffff1681565b3480156109ee57600080fd5b506103d06109fd3660046156b6565b60036020526000908152604090205481565b348015610a1b57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b348015610a4e57600080fd5b50610317610a5d366004615759565b612eda565b348015610a6e57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610366565b348015610aa157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b348015610ad457600080fd5b50610508610ae3366004615678565b60046020526000908152604090205460ff1681565b348015610b0457600080fd5b50610317610b133660046155ce565b613509565b348015610b2457600080fd5b50610b2d6139c6565b60405161037b939291906157e3565b348015610b4857600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b348015610b7b57600080fd5b50610508610b8a366004615678565b60066020526000908152604090205460ff1681565b60008054700100000000000000000000000000000000900460ff166002811115610bcb57610bcb61555e565b14610c02576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610c55576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c8c367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013590565b90565b610ca3610c9e36869003860186615837565b613a40565b14610cda576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610cef9291906158c4565b604051809103902014610d2e576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d77610d7284848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613a9c92505050565b613b09565b90506000610d9e82600881518110610d9157610d916158d4565b6020026020010151613cbf565b9050602081511115610ddc576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401358103610e51576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054700100000000000000000000000000000000900460ff166002811115610eec57610eec61555e565b14610f23576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110610f3857610f386158d4565b906000526020600020906005020190506000610f5384612a81565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610fbc576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611005576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561102257508515155b156110bd578354640100000000900473ffffffffffffffffffffffffffffffffffffffff16600081156110555781611071565b600186015473ffffffffffffffffffffffffffffffffffffffff165b905061107d8187613d73565b50505060009485525050600660205250506040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046fffffffffffffffffffffffffffffffff16938101939093526001015473ffffffffffffffffffffffffffffffffffffffff166060830152611160576fffffffffffffffffffffffffffffffff6040820152600181526000869003611160578195505b600086826020015163ffffffff166111789190615932565b90506000838211611189578161118b565b835b602084015190915063ffffffff165b818110156112d75760008682815481106111b6576111b66158d4565b6000918252602080832090910154808352600690915260409091205490915060ff1661120e576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028281548110611223576112236158d4565b600091825260209091206005909102018054909150640100000000900473ffffffffffffffffffffffffffffffffffffffff161580156112805750600481015460408701516fffffffffffffffffffffffffffffffff9182169116115b156112c257600181015473ffffffffffffffffffffffffffffffffffffffff16606087015260048101546fffffffffffffffffffffffffffffffff1660408701525b505080806112cf9061594a565b91505061119a565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006fffffffffffffffffffffffffffffffff909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9093169290921790915584900361155b57606083015160008a815260066020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558915801561145757506000547201000000000000000000000000000000000000900460ff165b156114cc5760015473ffffffffffffffffffffffffffffffffffffffff1661147f818a613d73565b885473ffffffffffffffffffffffffffffffffffffffff909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611559565b61151373ffffffffffffffffffffffffffffffffffffffff8216156114f1578161150d565b600189015473ffffffffffffffffffffffffffffffffffffffff165b89613d73565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff1664010000000073ffffffffffffffffffffffffffffffffffffffff8316021788555b505b505050505050505050565b600080600054700100000000000000000000000000000000900460ff1660028111156115945761159461555e565b146115cb576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff1661162f576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008154811061165b5761165b6158d4565b6000918252602090912060059091020154640100000000900473ffffffffffffffffffffffffffffffffffffffff1614611696576001611699565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff9091161770010000000000000000000000000000000083600281111561174a5761174a61555e565b02179055600281111561175f5761175f61555e565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a27f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663838c2d1e6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156117f057600080fd5b505af1158015611804573d6000803e3d6000fd5b5050505090565b6005602052816000526040600020818154811061182757600080fd5b90600052602060002001600091509150505481565b905090565b61184e8383836001611a42565b505050565b6000818152600760209081526040808320600590925282208054825461188490610100900463ffffffff1682615982565b95945050505050565b606061183c60546020613e74565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260036020526040812080549082905590819003611900576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff3fef3a300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063f3fef3a390604401600060405180830381600087803b15801561199057600080fd5b505af11580156119a4573d6000803e3d6000fd5b5050505060008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611a02576040519150601f19603f3d011682016040523d82523d6000602084013e611a07565b606091505b505090508061184e576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054700100000000000000000000000000000000900460ff166002811115611a6e57611a6e61555e565b14611aa5576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028481548110611aba57611aba6158d4565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff8116845273ffffffffffffffffffffffffffffffffffffffff64010000000090910481169484019490945260018101549093169082015260028201546fffffffffffffffffffffffffffffffff908116606083015260038301546080830181905260049093015480821660a084015270010000000000000000000000000000000090041660c082015291508514611ba1576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156fffffffffffffffffffffffffffffffff83161760011b90506000611c61826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580611c9c5750611c997f00000000000000000000000000000000000000000000000000000000000000006002615932565b81145b8015611ca6575084155b15611cdd576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015611d03575086155b15611d3a576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115611d94576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611dbf7f00000000000000000000000000000000000000000000000000000000000000006001615932565b8103611dd157611dd186888588613ec6565b34611ddb83612c60565b14611e12576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611e1d88612a81565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603611e85576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611eb260017f0000000000000000000000000000000000000000000000000000000000000000615982565b8303611ff0577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f479190615999565b73ffffffffffffffffffffffffffffffffffffffff1663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fb591906159b6565b611fe9907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159cf565b9050612083565b61201b60017f0000000000000000000000000000000000000000000000000000000000000000615982565b830361205657611fe97f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff1660026159fb565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b6120b7817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615a2b565b67ffffffffffffffff166120d28367ffffffffffffffff1690565b67ffffffffffffffff16111561211957612116817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615a2b565b91505b6000604083901b421760008a8152608087901b6fffffffffffffffffffffffffffffffff8d1617602052604081209192509060008181526004602052604090205490915060ff1615612197576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001346fffffffffffffffffffffffffffffffff1681526020018c8152602001886fffffffffffffffffffffffffffffffff168152602001846fffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160020160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506080820151816003015560a08201518160040160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060c08201518160040160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505050600560008c8152602001908152602001600020600160028054905061242d9190615982565b81546001810183556000928352602083200155604080517fd0e30db0000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263d0e30db09234926004808301939282900301818588803b1580156124c557600080fd5b505af11580156124d9573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b61184e8383836000611a42565b60005471010000000000000000000000000000000000900460ff161561257a576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f7258a80700000000000000000000000000000000000000000000000000000000815263ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637258a807906024016040805180830381865afa15801561262e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126529190615a54565b90925090508161268e576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146126c157639824bdab6000526004601cfd5b80367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401351161275b576040517ff40239db000000000000000000000000000000000000000000000000000000008152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff8082526000602083018181527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe369081013560f01c90038035606090811c868801908152346fffffffffffffffffffffffffffffffff81811693890193845260149094013560808901908152600160a08a0181815242871660c08c019081526002805493840181558a529a5160059092027f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace81018054995173ffffffffffffffffffffffffffffffffffffffff908116640100000000027fffffffffffffffff000000000000000000000000000000000000000000000000909b1694909c16939093179890981790915592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf87018054918a167fffffffffffffffffffffffff000000000000000000000000000000000000000090921691909117905592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0860180549186167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090921691909117905591517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015551955182167001000000000000000000000000000000000295909116949094177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad29091015580547fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff167101000000000000000000000000000000000017815583517fd0e30db000000000000000000000000000000000000000000000000000000000815293517f00000000000000000000000000000000000000000000000000000000000000009092169363d0e30db093926004828101939282900301818588803b158015612a3057600080fd5b505af1158015612a44573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050505050565b600080600054700100000000000000000000000000000000900460ff166002811115612aaf57612aaf61555e565b14612ae6576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110612afb57612afb6158d4565b600091825260208220600590910201805490925063ffffffff90811614612b6a57815460028054909163ffffffff16908110612b3957612b396158d4565b906000526020600020906005020160040160109054906101000a90046fffffffffffffffffffffffffffffffff1690505b6004820154600090612ba290700100000000000000000000000000000000900467ffffffffffffffff165b67ffffffffffffffff1690565b612bb69067ffffffffffffffff1642615982565b612bd5612b95846fffffffffffffffffffffffffffffffff1660401c90565b67ffffffffffffffff16612be99190615932565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611612c365780611884565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612cff836fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115612d5e576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000612d798383615aa7565b9050670de0b6b3a76400006000612db0827f0000000000000000000000000000000000000000000000000000000000000000615abb565b90506000612dce612dc9670de0b6b3a764000086615abb565b614077565b90506000612ddc84846142d2565b90506000612dea8383614321565b90506000612df78261434f565b90506000612e1682612e11670de0b6b3a76400008f615abb565b614537565b90506000612e248b83614321565b9050612e30818d615abb565b9f9e505050505050505050505050505050565b60028181548110612e5357600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff8416955064010000000090930473ffffffffffffffffffffffffffffffffffffffff908116949216926fffffffffffffffffffffffffffffffff91821692918082169170010000000000000000000000000000000090041687565b60008054700100000000000000000000000000000000900460ff166002811115612f0657612f0661555e565b14612f3d576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028781548110612f5257612f526158d4565b6000918252602082206005919091020160048101549092506fffffffffffffffffffffffffffffffff16908715821760011b9050612fb17f00000000000000000000000000000000000000000000000000000000000000006001615932565b61304d826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1614613087576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080891561317e576130da7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000615982565b6001901b6130f9846fffffffffffffffffffffffffffffffff16614568565b6fffffffffffffffffffffffffffffffff166131159190615af8565b156131525761314961313a60016fffffffffffffffffffffffffffffffff8716615b0c565b865463ffffffff166000614607565b60030154613174565b7f00000000000000000000000000000000000000000000000000000000000000005b91508490506131a8565b600385015491506131a561313a6fffffffffffffffffffffffffffffffff86166001615b35565b90505b600882901b60088a8a6040516131bf9291906158c4565b6040518091039020901b14613200576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061320b8c6146eb565b9050600061321a836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e14ced3290613294908f908f908f908f908a90600401615ba9565b6020604051808303816000875af11580156132b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132d791906159b6565b600485015491149150600090600290613382906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61341e896fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6134289190615be3565b6134329190615c06565b60ff161590508115158103613473576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8754640100000000900473ffffffffffffffffffffffffffffffffffffffff16156134ca576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008054700100000000000000000000000000000000900460ff1660028111156135355761353561555e565b1461356c576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060008061357b8661471a565b9350935093509350600061359185858585614b23565b905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613600573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136249190615999565b90506001890361371c5773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a84613680367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156136f2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061371691906159b6565b5061155b565b600289036137485773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a8489613680565b600389036137745773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a8487613680565b600489036138fb5760006137ba6fffffffffffffffffffffffffffffffff85167f0000000000000000000000000000000000000000000000000000000000000000614bdd565b6009546137c79190615932565b6137d2906001615932565b9050367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135811061383b57367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036054013561383d565b805b905073ffffffffffffffffffffffffffffffffffffffff82166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af11580156138d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138f491906159b6565b505061155b565b60058903613994576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b6044820152600860648201526084810188905273ffffffffffffffffffffffffffffffffffffffff8216906352f0f3ad9060a4016136d3565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356060613a1f61188d565b9050909192565b6000818311613a355781613a37565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001613a7f949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003613aeb576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000613b1985614c8b565b919450925090506001816001811115613b3457613b3461555e565b14613b6b576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451613b778385615932565b14613bae576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b6040805180820190915260008082526020820152815260200190600190039081613bc55790505093506000835b8651811015613cb357600080613c386040518060400160405280858c60000151613c1c9190615982565b8152602001858c60200151613c319190615932565b9052614c8b565b509150915060405180604001604052808383613c549190615932565b8152602001848b60200151613c699190615932565b815250888581518110613c7e57613c7e6158d4565b6020908102919091010152613c94600185615932565b9350613ca08183615932565b613caa9084615932565b92505050613bf2565b50845250919392505050565b60606000806000613ccf85614c8b565b919450925090506000816001811115613cea57613cea61555e565b14613d21576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613d2b8284615932565b855114613d64576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61188485602001518484615129565b600281015473ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040812080546fffffffffffffffffffffffffffffffff90931692839290613dc2908490615932565b90915550506040517f7eee288d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018390527f00000000000000000000000000000000000000000000000000000000000000001690637eee288d90604401600060405180830381600087803b158015613e5757600080fd5b505af1158015613e6b573d6000803e3d6000fd5b50505050505050565b604051818152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b6000613ee56fffffffffffffffffffffffffffffffff84166001615b35565b90506000613ef582866001614607565b9050600086901a8380613fe15750613f2e60027f0000000000000000000000000000000000000000000000000000000000000000615af8565b6004830154600290613fd2906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b613fdc9190615c06565b60ff16145b156140395760ff811660011480613ffb575060ff81166002145b614034576040517ff40239db00000000000000000000000000000000000000000000000000000000815260048101889052602401612752565b613e6b565b60ff811615613e6b576040517ff40239db00000000000000000000000000000000000000000000000000000000815260048101889052602401612752565b6fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b17600082136140d657631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261430f57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b60008160001904831182021561433f5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d7821361437d57919050565b680755bf798b4a1bf1e5821261439b5763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000613a37670de0b6b3a76400008361454f86614077565b6145599190615c28565b6145639190615ce4565b61434f565b6000806145f5837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b600080826146505761464b6fffffffffffffffffffffffffffffffff86167f00000000000000000000000000000000000000000000000000000000000000006151be565b61466b565b61466b856fffffffffffffffffffffffffffffffff1661534a565b905060028481548110614680576146806158d4565b906000526020600020906005020191505b60048201546fffffffffffffffffffffffffffffffff8281169116146146e357815460028054909163ffffffff169081106146ce576146ce6158d4565b90600052602060002090600502019150614691565b509392505050565b60008060008060006146fc8661471a565b935093509350935061471084848484614b23565b9695505050505050565b600080600080600085905060006002828154811061473a5761473a6158d4565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614811906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161484b576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090614912906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561498757825463ffffffff166149517f00000000000000000000000000000000000000000000000000000000000000006001615932565b830361495b578391505b6002818154811061496e5761496e6158d4565b906000526020600020906005020193508094505061484f565b600481810154908401546fffffffffffffffffffffffffffffffff91821691166000816fffffffffffffffffffffffffffffffff166149f06149db856fffffffffffffffffffffffffffffffff1660011c90565b6fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff161490508015614abf576000614a28836fffffffffffffffffffffffffffffffff16614568565b6fffffffffffffffffffffffffffffffff161115614a93576000614a6a614a6260016fffffffffffffffffffffffffffffffff8616615b0c565b896001614607565b6003810154600490910154909c506fffffffffffffffffffffffffffffffff169a50614a999050565b6008549a505b600386015460048701549099506fffffffffffffffffffffffffffffffff169750614b15565b6000614ae1614a626fffffffffffffffffffffffffffffffff85166001615b35565b6003808901546004808b015492840154930154909e506fffffffffffffffffffffffffffffffff9182169d50919b50169850505b505050505050509193509193565b60006fffffffffffffffffffffffffffffffff841615614b905760408051602081018790526fffffffffffffffffffffffffffffffff8087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611884565b8282604051602001614bbe9291909182526fffffffffffffffffffffffffffffffff16602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614c6a847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614cce576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614cf3576000600160009450945094505050615122565b60b78111614e09576000614d08608083615982565b905080876000015111614d47576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614dbf57507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614df6576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250615122915050565b60bf8111614f67576000614e1e60b783615982565b905080876000015111614e5d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614ebf576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614f07576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f118184615932565b895111614f4a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f55836001615932565b97509550600094506151229350505050565b60f78111614fcc576000614f7c60c083615982565b905080876000015111614fbb576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250615122915050565b6000614fd960f783615982565b905080876000015111615018576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff0000000000000000000000000000000000000000000000000000000000000016600081900361507a576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c603781116150c2576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6150cc8184615932565b895111615105576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b615110836001615932565b97509550600194506151229350505050565b9193909250565b60608167ffffffffffffffff81111561514457615144615808565b6040519080825280601f01601f19166020018201604052801561516e576020820181803683370190505b50905081156151b75760006151838486615932565b90506020820160005b848110156151a457828101518282015260200161518c565b848111156151b3576000858301525b5050505b9392505050565b60008161525d846fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116152735763b34b5c226000526004601cfd5b61527c8361534a565b90508161531b826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611613a3a57613a37615331836001615932565b6fffffffffffffffffffffffffffffffff8316906153ef565b600081196001830116816153de827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061547c847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f8401126154aa57600080fd5b50813567ffffffffffffffff8111156154c257600080fd5b6020830191508360208285010111156154da57600080fd5b9250929050565b600080600083850360a08112156154f757600080fd5b608081121561550557600080fd5b50839250608084013567ffffffffffffffff81111561552357600080fd5b61552f86828701615498565b9497909650939450505050565b6000806040838503121561554f57600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60208101600383106155c8577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6000806000606084860312156155e357600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561562057602081850181015186830182015201615604565b81811115615632576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000613a3760208301846155fa565b60006020828403121561568a57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146156b357600080fd5b50565b6000602082840312156156c857600080fd5b81356151b781615691565b803580151581146156e357600080fd5b919050565b600080600080608085870312156156fe57600080fd5b84359350602085013592506040850135915061571c606086016156d3565b905092959194509250565b60006020828403121561573957600080fd5b81356fffffffffffffffffffffffffffffffff811681146151b757600080fd5b6000806000806000806080878903121561577257600080fd5b86359550615782602088016156d3565b9450604087013567ffffffffffffffff8082111561579f57600080fd5b6157ab8a838b01615498565b909650945060608901359150808211156157c457600080fd5b506157d189828a01615498565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061188460608301846155fa565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006080828403121561584957600080fd5b6040516080810181811067ffffffffffffffff82111715615893577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000821982111561594557615945615903565b500190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361597b5761597b615903565b5060010190565b60008282101561599457615994615903565b500390565b6000602082840312156159ab57600080fd5b81516151b781615691565b6000602082840312156159c857600080fd5b5051919050565b600067ffffffffffffffff8083168185168083038211156159f2576159f2615903565b01949350505050565b600067ffffffffffffffff80831681851681830481118215151615615a2257615a22615903565b02949350505050565b600067ffffffffffffffff83811690831681811015615a4c57615a4c615903565b039392505050565b60008060408385031215615a6757600080fd5b505080516020909101519092909150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082615ab657615ab6615a78565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615615af357615af3615903565b500290565b600082615b0757615b07615a78565b500690565b60006fffffffffffffffffffffffffffffffff83811690831681811015615a4c57615a4c615903565b60006fffffffffffffffffffffffffffffffff8083168185168083038211156159f2576159f2615903565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615bbd606083018789615b60565b8281036020840152615bd0818688615b60565b9150508260408301529695505050505050565b600060ff821660ff841680821015615bfd57615bfd615903565b90039392505050565b600060ff831680615c1957615c19615a78565b8060ff84160691505092915050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615c6957615c69615903565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615ca457615ca4615903565b60008712925087820587128484161615615cc057615cc0615903565b87850587128184161615615cd657615cd6615903565b505050929093029392505050565b600082615cf357615cf3615a78565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f800000000000000000000000000000000000000000000000000000000000000083141615615d4757615d47615903565b50059056fea264697066735822122009f1e45c4f315024e4f04a5b89d32ce43577e96a7582781ac417a31839b953d364736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000000003f89406817db1ed7fd8b31e13300444652cdb0b9c509a674de43483b2f835680000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d400000000000000000000000005fe03a12c1236f9c22cb6479778ddaa4bce6299c000000000000000000000000a2f2ac6f5af72e494a227d79db20473cf7a1ffe8000000000000000000000000db9091e48b1c42992a1213e6916184f9ebdbfedf0000000000000000000000000000000000000000000000000000000000002105\",\n        \"nonce\": \"0xa\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x9fb4d1524e8076b61f33cf659f44b61180a2ad035726a28d28e74ff57c931f4c\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"PermissionedDisputeGame\",\n      \"contractAddress\": \"0x8cf5972cedf63b099406b3e7da81566885453d8e\",\n      \"function\": null,\n      \"arguments\": [\n        \"1\",\n        \"0x03f89406817db1ed7fd8b31e13300444652cdb0b9c509a674de43483b2f83568\",\n        \"73\",\n        \"30\",\n        \"10800\",\n        \"302400\",\n        \"0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C\",\n        \"0x3E8a0B63f57e975c268d610ece93da5f78c01321\",\n        \"0xdB9091e48B1C42992A1213e6916184f9eBDbfEDf\",\n        \"8453\",\n        \"0x642229f238fb9dE03374Be34B0eD8D9De80752c5\",\n        \"0x8Ca1E12404d16373Aef756179B185F27b2994F3a\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x49243dce94e0f5a1b08b9556bbec5a84363c3839\",\n        \"gas\": \"0x6a01f8\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6102006040523480156200001257600080fd5b50604051620067b4380380620067b4833981016040819052620000359162000468565b8b8b8b8b8b8b8b8b8b8b6200004d6001607e6200055b565b60ff168811156200007157604051633beff19960e11b815260040160405180910390fd5b6000198714806200008e5750876200008b88600162000581565b10155b15620000ad5760405163e62ccf3960e01b815260040160405180910390fd5b6002871015620000d05760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b038016846001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000119573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013f91906200059c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200017d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a39190620005bc565b1115620001c35760405163b4e1243360e01b815260040160405180910390fd5b6000620001e4876001600160401b03166200040860201b62000d051760201c565b620001fa906001600160401b03166002620005d6565b90506000856001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200023d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026391906200059c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002a1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c79190620005bc565b620002e6896001600160401b03166200040860201b62000d051760201c565b6001600160401b0316620002fb919062000581565b905060006200031683836200040b60201b620026401760201c565b90506001600160401b03811115620003415760405163235dfb2b60e21b815260040160405180910390fd5b62000360886001600160401b03166200040860201b62000d051760201c565b6001600160401b0316816001600160401b03161115620003935760405163235dfb2b60e21b815260040160405180910390fd5b50505063ffffffff9099166101205260809790975260a09590955260c0939093526001600160401b039182166101a0521660e0526001600160a01b03908116610100529081166101405290811661016052610180919091529182166101c052166101e05250620005f898505050505050505050565b90565b60008183116200041c57816200041e565b825b9392505050565b80516001600160401b03811681146200043d57600080fd5b919050565b6001600160a01b03811681146200045857600080fd5b50565b80516200043d8162000442565b6000806000806000806000806000806000806101808d8f0312156200048c57600080fd5b8c5163ffffffff81168114620004a157600080fd5b809c505060208d01519a5060408d0151995060608d01519850620004c860808e0162000425565b9750620004d860a08e0162000425565b9650620004e860c08e016200045b565b9550620004f860e08e016200045b565b9450620005096101008e016200045b565b93506101208d01519250620005226101408e016200045b565b9150620005336101608e016200045b565b90509295989b509295989b509295989b565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168082101562000578576200057862000545565b90039392505050565b6000821982111562000597576200059762000545565b500190565b600060208284031215620005af57600080fd5b81516200041e8162000442565b600060208284031215620005cf57600080fd5b5051919050565b6000816000190483118215151615620005f357620005f362000545565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051615ffd620007b76000396000818161058301528181611b1501526120b50152600081816108ce01528181611ad601528181611ba4015261207601526000818161070401528181613059015281816130c401526130f7015260008181610a9a015261255301526000818161065c01528181611806015261367901526000818161053d015281816119c801528181612a2d0152818161351e0152613a7b015260008181610909015281816125e201526136380152600081816104ca015281816121b101528181612f58015261436b015260008181610aed01528181610fdc01528181611d7a01528181611dbc01528181612ec8015281816131270152613186015260008181610b20015281816123b001528181612d1101528181612e3701528181613095015281816141be0152818161466d0152818161476e015281816148430152818161511a0152615346015260008181610bc701528181611e8a01528181611f1001528181612dda01528181612f2c015281816140b401526141df0152600081816107cf015261427d0152615ffd6000f3fe6080604052600436106103085760003560e01c806370872aa51161019a578063c6f0308c116100e1578063ec5e63081161008a578063fa24f74311610064578063fa24f74314610b94578063fa315aa914610bb8578063fe2bbeb214610beb57600080fd5b8063ec5e630814610b11578063eff0f59214610b44578063f8f43ff614610b7457600080fd5b8063d6ae3cd5116100bb578063d6ae3cd514610a8b578063d8cc1a3c14610abe578063dabd396d14610ade57600080fd5b8063c6f0308c146109b3578063cf09e0d014610a3d578063d5d44d8014610a5e57600080fd5b8063a445ece611610143578063bcef3b551161011d578063bcef3b5514610933578063bd8da95614610973578063c395e1ca1461099357600080fd5b8063a445ece6146107f3578063a8e4fb90146108bf578063bbdc02db146108f257600080fd5b80638980e0cc116101745780638980e0cc1461076b5780638b85902b146107805780638d450a95146107c057600080fd5b806370872aa51461073b5780637b0f0adc146107505780638129fc1c1461076357600080fd5b80633fc8cef31161025e5780635c0cba33116102075780636361506d116101e15780636361506d146106b55780636b6716c0146106f55780636f0344091461072857600080fd5b80635c0cba331461064d578063609d33341461068057806360e274641461069557600080fd5b806354fd4d501161023857806354fd4d50146105a757806357da950e146105fd5780635a5fa2d91461062d57600080fd5b80633fc8cef31461052e578063472777c614610561578063534db0e21461057457600080fd5b80632810e1d6116102c057806337b1b2291161029a57806337b1b2291461047b5780633a768463146104bb5780633e3ac912146104ee57600080fd5b80632810e1d6146103f45780632ad69aeb1461040957806330dbe5701461042957600080fd5b806319effeb4116102f157806319effeb41461034f578063200d2ed21461039a57806325fc2ace146103d557600080fd5b8063019351301461030d57806303c2924d1461032f575b600080fd5b34801561031957600080fd5b5061032d61032836600461575c565b610c1b565b005b34801561033b57600080fd5b5061032d61034a3660046157b7565b610f3c565b34801561035b57600080fd5b5060005461037c9068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103a657600080fd5b506000546103c890700100000000000000000000000000000000900460ff1681565b6040516103919190615808565b3480156103e157600080fd5b506008545b604051908152602001610391565b34801561040057600080fd5b506103c86115e2565b34801561041557600080fd5b506103e66104243660046157b7565b611887565b34801561043557600080fd5b506001546104569073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610391565b34801561048757600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90033560601c610456565b3480156104c757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156104fa57600080fd5b5060005461051e907201000000000000000000000000000000000000900460ff1681565b6040519015158152602001610391565b34801561053a57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b61032d61056f366004615849565b6118bd565b34801561058057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156105b357600080fd5b506105f06040518060400160405280600581526020017f312e332e3100000000000000000000000000000000000000000000000000000081525081565b60405161039191906158e0565b34801561060957600080fd5b50600854600954610618919082565b60408051928352602083019190915201610391565b34801561063957600080fd5b506103e66106483660046158f3565b6118cf565b34801561065957600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b34801561068c57600080fd5b506105f0611909565b3480156106a157600080fd5b5061032d6106b0366004615931565b611917565b3480156106c157600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003603401356103e6565b34801561070157600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061037c565b61032d610736366004615963565b611abe565b34801561074757600080fd5b506009546103e6565b61032d61075e366004615849565b611b7f565b61032d611b8c565b34801561077757600080fd5b506002546103e6565b34801561078c57600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401356103e6565b3480156107cc57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b3480156107ff57600080fd5b5061086b61080e3660046158f3565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046fffffffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff1684565b60408051941515855263ffffffff90931660208501526fffffffffffffffffffffffffffffffff9091169183019190915273ffffffffffffffffffffffffffffffffffffffff166060820152608001610391565b3480156108cb57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156108fe57600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610391565b34801561093f57600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356103e6565b34801561097f57600080fd5b5061037c61098e3660046158f3565b611c05565b34801561099f57600080fd5b506103e66109ae3660046159a2565b611de4565b3480156109bf57600080fd5b506109d36109ce3660046158f3565b611fc7565b6040805163ffffffff909816885273ffffffffffffffffffffffffffffffffffffffff968716602089015295909416948601949094526fffffffffffffffffffffffffffffffff9182166060860152608085015291821660a08401521660c082015260e001610391565b348015610a4957600080fd5b5060005461037c9067ffffffffffffffff1681565b348015610a6a57600080fd5b506103e6610a79366004615931565b60036020526000908152604090205481565b348015610a9757600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610aca57600080fd5b5061032d610ad93660046159d4565b61205e565b348015610aea57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061037c565b348015610b1d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610b5057600080fd5b5061051e610b5f3660046158f3565b60046020526000908152604090205460ff1681565b348015610b8057600080fd5b5061032d610b8f366004615849565b612123565b348015610ba057600080fd5b50610ba96125e0565b60405161039193929190615a5e565b348015610bc457600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610bf757600080fd5b5061051e610c063660046158f3565b60066020526000908152604090205460ff1681565b60008054700100000000000000000000000000000000900460ff166002811115610c4757610c476157d9565b14610c7e576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610cd1576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d08367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013590565b90565b610d1f610d1a36869003860186615ab2565b61265a565b14610d56576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610d6b929190615b3f565b604051809103902014610daa576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610df3610dee84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506126b692505050565b612723565b90506000610e1a82600881518110610e0d57610e0d615b4f565b60200260200101516128d9565b9050602081511115610e58576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401358103610ecd576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054700100000000000000000000000000000000900460ff166002811115610f6857610f686157d9565b14610f9f576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110610fb457610fb4615b4f565b906000526020600020906005020190506000610fcf84611c05565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015611038576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611081576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561109e57508515155b15611139578354640100000000900473ffffffffffffffffffffffffffffffffffffffff16600081156110d157816110ed565b600186015473ffffffffffffffffffffffffffffffffffffffff165b90506110f9818761298d565b50505060009485525050600660205250506040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046fffffffffffffffffffffffffffffffff16938101939093526001015473ffffffffffffffffffffffffffffffffffffffff1660608301526111dc576fffffffffffffffffffffffffffffffff60408201526001815260008690036111dc578195505b600086826020015163ffffffff166111f49190615bad565b905060008382116112055781611207565b835b602084015190915063ffffffff165b8181101561135357600086828154811061123257611232615b4f565b6000918252602080832090910154808352600690915260409091205490915060ff1661128a576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002828154811061129f5761129f615b4f565b600091825260209091206005909102018054909150640100000000900473ffffffffffffffffffffffffffffffffffffffff161580156112fc5750600481015460408701516fffffffffffffffffffffffffffffffff9182169116115b1561133e57600181015473ffffffffffffffffffffffffffffffffffffffff16606087015260048101546fffffffffffffffffffffffffffffffff1660408701525b5050808061134b90615bc5565b915050611216565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006fffffffffffffffffffffffffffffffff909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909316929092179091558490036115d757606083015160008a815260066020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055891580156114d357506000547201000000000000000000000000000000000000900460ff165b156115485760015473ffffffffffffffffffffffffffffffffffffffff166114fb818a61298d565b885473ffffffffffffffffffffffffffffffffffffffff909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff9091161788556115d5565b61158f73ffffffffffffffffffffffffffffffffffffffff82161561156d5781611589565b600189015473ffffffffffffffffffffffffffffffffffffffff165b8961298d565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff1664010000000073ffffffffffffffffffffffffffffffffffffffff8316021788555b505b505050505050505050565b600080600054700100000000000000000000000000000000900460ff166002811115611610576116106157d9565b14611647576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166116ab576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660026000815481106116d7576116d7615b4f565b6000918252602090912060059091020154640100000000900473ffffffffffffffffffffffffffffffffffffffff1614611712576001611715565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff909116177001000000000000000000000000000000008360028111156117c6576117c66157d9565b0217905560028111156117db576117db6157d9565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a27f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663838c2d1e6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561186c57600080fd5b505af1158015611880573d6000803e3d6000fd5b5050505090565b600560205281600052604060002081815481106118a357600080fd5b90600052602060002001600091509150505481565b905090565b6118ca8383836001611abe565b505050565b6000818152600760209081526040808320600590925282208054825461190090610100900463ffffffff1682615bfd565b95945050505050565b60606118b860546020612a8e565b73ffffffffffffffffffffffffffffffffffffffff811660009081526003602052604081208054908290559081900361197c576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff3fef3a300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063f3fef3a390604401600060405180830381600087803b158015611a0c57600080fd5b505af1158015611a20573d6000803e3d6000fd5b5050505060008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611a7e576040519150601f19603f3d011682016040523d82523d6000602084013e611a83565b606091505b50509050806118ca576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480611b3757503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016145b611b6d576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b7984848484612ae0565b50505050565b6118ca8383836000611abe565b3273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611bfb576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c036135b9565b565b600080600054700100000000000000000000000000000000900460ff166002811115611c3357611c336157d9565b14611c6a576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110611c7f57611c7f615b4f565b600091825260208220600590910201805490925063ffffffff90811614611cee57815460028054909163ffffffff16908110611cbd57611cbd615b4f565b906000526020600020906005020160040160109054906101000a90046fffffffffffffffffffffffffffffffff1690505b6004820154600090611d2690700100000000000000000000000000000000900467ffffffffffffffff165b67ffffffffffffffff1690565b611d3a9067ffffffffffffffff1642615bfd565b611d59611d19846fffffffffffffffffffffffffffffffff1660401c90565b67ffffffffffffffff16611d6d9190615bad565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611611dba5780611900565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080611e83836fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115611ee2576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000611efd8383615c43565b9050670de0b6b3a76400006000611f34827f0000000000000000000000000000000000000000000000000000000000000000615c57565b90506000611f52611f4d670de0b6b3a764000086615c57565b613b12565b90506000611f608484613d6d565b90506000611f6e8383613dbc565b90506000611f7b82613dea565b90506000611f9a82611f95670de0b6b3a76400008f615c57565b613fd2565b90506000611fa88b83613dbc565b9050611fb4818d615c57565b9f9e505050505050505050505050505050565b60028181548110611fd757600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff8416955064010000000090930473ffffffffffffffffffffffffffffffffffffffff908116949216926fffffffffffffffffffffffffffffffff91821692918082169170010000000000000000000000000000000090041687565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614806120d757503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016145b61210d576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61211b868686868686614003565b505050505050565b60008054700100000000000000000000000000000000900460ff16600281111561214f5761214f6157d9565b14612186576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060008061219586614632565b935093509350935060006121ab85858585614a3b565b905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561221a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061223e9190615c94565b9050600189036123365773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a8461229a367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af115801561230c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123309190615cb1565b506115d7565b600289036123625773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a848961229a565b6003890361238e5773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a848761229a565b600489036125155760006123d46fffffffffffffffffffffffffffffffff85167f0000000000000000000000000000000000000000000000000000000000000000614af5565b6009546123e19190615bad565b6123ec906001615bad565b9050367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135811061245557367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135612457565b805b905073ffffffffffffffffffffffffffffffffffffffff82166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af11580156124ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061250e9190615cb1565b50506115d7565b600589036125ae576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b6044820152600860648201526084810188905273ffffffffffffffffffffffffffffffffffffffff8216906352f0f3ad9060a4016122ed565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356060612639611909565b9050909192565b600081831161264f5781612651565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001612699949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003612705576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b6060600080600061273385614ba3565b91945092509050600181600181111561274e5761274e6157d9565b14612785576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84516127918385615bad565b146127c8576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816127df5790505093506000835b86518110156128cd576000806128526040518060400160405280858c600001516128369190615bfd565b8152602001858c6020015161284b9190615bad565b9052614ba3565b50915091506040518060400160405280838361286e9190615bad565b8152602001848b602001516128839190615bad565b81525088858151811061289857612898615b4f565b60209081029190910101526128ae600185615bad565b93506128ba8183615bad565b6128c49084615bad565b9250505061280c565b50845250919392505050565b606060008060006128e985614ba3565b919450925090506000816001811115612904576129046157d9565b1461293b576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129458284615bad565b85511461297e576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61190085602001518484615041565b600281015473ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040812080546fffffffffffffffffffffffffffffffff909316928392906129dc908490615bad565b90915550506040517f7eee288d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018390527f00000000000000000000000000000000000000000000000000000000000000001690637eee288d90604401600060405180830381600087803b158015612a7157600080fd5b505af1158015612a85573d6000803e3d6000fd5b50505050505050565b604051818152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b60008054700100000000000000000000000000000000900460ff166002811115612b0c57612b0c6157d9565b14612b43576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028481548110612b5857612b58615b4f565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff8116845273ffffffffffffffffffffffffffffffffffffffff64010000000090910481169484019490945260018101549093169082015260028201546fffffffffffffffffffffffffffffffff908116606083015260038301546080830181905260049093015480821660a084015270010000000000000000000000000000000090041660c082015291508514612c3f576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156fffffffffffffffffffffffffffffffff83161760011b90506000612cff826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580612d3a5750612d377f00000000000000000000000000000000000000000000000000000000000000006002615bad565b81145b8015612d44575084155b15612d7b576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015612da1575086155b15612dd8576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115612e32576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612e5d7f00000000000000000000000000000000000000000000000000000000000000006001615bad565b8103612e6f57612e6f868885886150d6565b34612e7983611de4565b14612eb0576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612ebb88611c05565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603612f23576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612f5060017f0000000000000000000000000000000000000000000000000000000000000000615bfd565b830361308e577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612fc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fe59190615c94565b73ffffffffffffffffffffffffffffffffffffffff1663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561302f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130539190615cb1565b613087907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615cca565b9050613121565b6130b960017f0000000000000000000000000000000000000000000000000000000000000000615bfd565b83036130f4576130877f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166002615cf6565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b613155817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615d26565b67ffffffffffffffff166131708367ffffffffffffffff1690565b67ffffffffffffffff1611156131b7576131b4817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615d26565b91505b6000604083901b421760008a8152608087901b6fffffffffffffffffffffffffffffffff8d1617602052604081209192509060008181526004602052604090205490915060ff1615613235576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001346fffffffffffffffffffffffffffffffff1681526020018c8152602001886fffffffffffffffffffffffffffffffff168152602001846fffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160020160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506080820151816003015560a08201518160040160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060c08201518160040160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505050600560008c815260200190815260200160002060016002805490506134cb9190615bfd565b81546001810183556000928352602083200155604080517fd0e30db0000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263d0e30db09234926004808301939282900301818588803b15801561356357600080fd5b505af1158015613577573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b60005471010000000000000000000000000000000000900460ff161561360b576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f7258a80700000000000000000000000000000000000000000000000000000000815263ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637258a807906024016040805180830381865afa1580156136bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136e39190615d4f565b90925090508161371f576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a1461375257639824bdab6000526004601cfd5b80367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135116137ec576040517ff40239db000000000000000000000000000000000000000000000000000000008152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff8082526000602083018181527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe369081013560f01c90038035606090811c868801908152346fffffffffffffffffffffffffffffffff81811693890193845260149094013560808901908152600160a08a0181815242871660c08c019081526002805493840181558a529a5160059092027f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace81018054995173ffffffffffffffffffffffffffffffffffffffff908116640100000000027fffffffffffffffff000000000000000000000000000000000000000000000000909b1694909c16939093179890981790915592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf87018054918a167fffffffffffffffffffffffff000000000000000000000000000000000000000090921691909117905592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0860180549186167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090921691909117905591517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015551955182167001000000000000000000000000000000000295909116949094177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad29091015580547fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff167101000000000000000000000000000000000017815583517fd0e30db000000000000000000000000000000000000000000000000000000000815293517f00000000000000000000000000000000000000000000000000000000000000009092169363d0e30db093926004828101939282900301818588803b158015613ac157600080fd5b505af1158015613ad5573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050505050565b6fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213613b7157631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a764000002158202613daa57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b600081600019048311820215613dda5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d78213613e1857919050565b680755bf798b4a1bf1e58212613e365763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000612651670de0b6b3a764000083613fea86613b12565b613ff49190615d73565b613ffe9190615e2f565b613dea565b60008054700100000000000000000000000000000000900460ff16600281111561402f5761402f6157d9565b14614066576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002878154811061407b5761407b615b4f565b6000918252602082206005919091020160048101549092506fffffffffffffffffffffffffffffffff16908715821760011b90506140da7f00000000000000000000000000000000000000000000000000000000000000006001615bad565b614176826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16146141b0576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008089156142a7576142037f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000615bfd565b6001901b614222846fffffffffffffffffffffffffffffffff16615287565b6fffffffffffffffffffffffffffffffff1661423e9190615e97565b1561427b5761427261426360016fffffffffffffffffffffffffffffffff8716615eab565b865463ffffffff166000615326565b6003015461429d565b7f00000000000000000000000000000000000000000000000000000000000000005b91508490506142d1565b600385015491506142ce6142636fffffffffffffffffffffffffffffffff86166001615ed4565b90505b600882901b60088a8a6040516142e8929190615b3f565b6040518091039020901b14614329576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006143348c61540a565b90506000614343836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e14ced32906143bd908f908f908f908f908a90600401615f48565b6020604051808303816000875af11580156143dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144009190615cb1565b6004850154911491506000906002906144ab906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b614547896fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6145519190615f82565b61455b9190615fa5565b60ff16159050811515810361459c576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8754640100000000900473ffffffffffffffffffffffffffffffffffffffff16156145f3576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b600080600080600085905060006002828154811061465257614652615b4f565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614729906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611614763576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f00000000000000000000000000000000000000000000000000000000000000009061482a906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561489f57825463ffffffff166148697f00000000000000000000000000000000000000000000000000000000000000006001615bad565b8303614873578391505b6002818154811061488657614886615b4f565b9060005260206000209060050201935080945050614767565b600481810154908401546fffffffffffffffffffffffffffffffff91821691166000816fffffffffffffffffffffffffffffffff166149086148f3856fffffffffffffffffffffffffffffffff1660011c90565b6fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff1614905080156149d7576000614940836fffffffffffffffffffffffffffffffff16615287565b6fffffffffffffffffffffffffffffffff1611156149ab57600061498261497a60016fffffffffffffffffffffffffffffffff8616615eab565b896001615326565b6003810154600490910154909c506fffffffffffffffffffffffffffffffff169a506149b19050565b6008549a505b600386015460048701549099506fffffffffffffffffffffffffffffffff169750614a2d565b60006149f961497a6fffffffffffffffffffffffffffffffff85166001615ed4565b6003808901546004808b015492840154930154909e506fffffffffffffffffffffffffffffffff9182169d50919b50169850505b505050505050509193509193565b60006fffffffffffffffffffffffffffffffff841615614aa85760408051602081018790526fffffffffffffffffffffffffffffffff8087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611900565b8282604051602001614ad69291909182526fffffffffffffffffffffffffffffffff16602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614b82847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614be6576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614c0b57600060016000945094509450505061503a565b60b78111614d21576000614c20608083615bfd565b905080876000015111614c5f576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614cd757507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614d0e576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001955093506000925061503a915050565b60bf8111614e7f576000614d3660b783615bfd565b905080876000015111614d75576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614dd7576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614e1f576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e298184615bad565b895111614e62576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e6d836001615bad565b975095506000945061503a9350505050565b60f78111614ee4576000614e9460c083615bfd565b905080876000015111614ed3576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60019550935084925061503a915050565b6000614ef160f783615bfd565b905080876000015111614f30576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614f92576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614fda576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614fe48184615bad565b89511161501d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b615028836001615bad565b975095506001945061503a9350505050565b9193909250565b60608167ffffffffffffffff81111561505c5761505c615a83565b6040519080825280601f01601f191660200182016040528015615086576020820181803683370190505b50905081156150cf57600061509b8486615bad565b90506020820160005b848110156150bc5782810151828201526020016150a4565b848111156150cb576000858301525b5050505b9392505050565b60006150f56fffffffffffffffffffffffffffffffff84166001615ed4565b9050600061510582866001615326565b9050600086901a83806151f1575061513e60027f0000000000000000000000000000000000000000000000000000000000000000615e97565b60048301546002906151e2906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6151ec9190615fa5565b60ff16145b156152495760ff81166001148061520b575060ff81166002145b615244576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016137e3565b612a85565b60ff811615612a85576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016137e3565b600080615314837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b6000808261536f5761536a6fffffffffffffffffffffffffffffffff86167f0000000000000000000000000000000000000000000000000000000000000000615439565b61538a565b61538a856fffffffffffffffffffffffffffffffff166155c5565b90506002848154811061539f5761539f615b4f565b906000526020600020906005020191505b60048201546fffffffffffffffffffffffffffffffff82811691161461540257815460028054909163ffffffff169081106153ed576153ed615b4f565b906000526020600020906005020191506153b0565b509392505050565b600080600080600061541b86614632565b935093509350935061542f84848484614a3b565b9695505050505050565b6000816154d8846fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116154ee5763b34b5c226000526004601cfd5b6154f7836155c5565b905081615596826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611612654576126516155ac836001615bad565b6fffffffffffffffffffffffffffffffff83169061566a565b60008119600183011681615659827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b6000806156f7847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261572557600080fd5b50813567ffffffffffffffff81111561573d57600080fd5b60208301915083602082850101111561575557600080fd5b9250929050565b600080600083850360a081121561577257600080fd5b608081121561578057600080fd5b50839250608084013567ffffffffffffffff81111561579e57600080fd5b6157aa86828701615713565b9497909650939450505050565b600080604083850312156157ca57600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810160038310615843577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b60008060006060848603121561585e57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561589b5760208185018101518683018201520161587f565b818111156158ad576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006126516020830184615875565b60006020828403121561590557600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461592e57600080fd5b50565b60006020828403121561594357600080fd5b81356150cf8161590c565b8035801515811461595e57600080fd5b919050565b6000806000806080858703121561597957600080fd5b8435935060208501359250604085013591506159976060860161594e565b905092959194509250565b6000602082840312156159b457600080fd5b81356fffffffffffffffffffffffffffffffff811681146150cf57600080fd5b600080600080600080608087890312156159ed57600080fd5b863595506159fd6020880161594e565b9450604087013567ffffffffffffffff80821115615a1a57600080fd5b615a268a838b01615713565b90965094506060890135915080821115615a3f57600080fd5b50615a4c89828a01615713565b979a9699509497509295939492505050565b63ffffffff841681528260208201526060604082015260006119006060830184615875565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060808284031215615ac457600080fd5b6040516080810181811067ffffffffffffffff82111715615b0e577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115615bc057615bc0615b7e565b500190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203615bf657615bf6615b7e565b5060010190565b600082821015615c0f57615c0f615b7e565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082615c5257615c52615c14565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615615c8f57615c8f615b7e565b500290565b600060208284031215615ca657600080fd5b81516150cf8161590c565b600060208284031215615cc357600080fd5b5051919050565b600067ffffffffffffffff808316818516808303821115615ced57615ced615b7e565b01949350505050565b600067ffffffffffffffff80831681851681830481118215151615615d1d57615d1d615b7e565b02949350505050565b600067ffffffffffffffff83811690831681811015615d4757615d47615b7e565b039392505050565b60008060408385031215615d6257600080fd5b505080516020909101519092909150565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615db457615db4615b7e565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615def57615def615b7e565b60008712925087820587128484161615615e0b57615e0b615b7e565b87850587128184161615615e2157615e21615b7e565b505050929093029392505050565b600082615e3e57615e3e615c14565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f800000000000000000000000000000000000000000000000000000000000000083141615615e9257615e92615b7e565b500590565b600082615ea657615ea6615c14565b500690565b60006fffffffffffffffffffffffffffffffff83811690831681811015615d4757615d47615b7e565b60006fffffffffffffffffffffffffffffffff808316818516808303821115615ced57615ced615b7e565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615f5c606083018789615eff565b8281036020840152615f6f818688615eff565b9150508260408301529695505050505050565b600060ff821660ff841680821015615f9c57615f9c615b7e565b90039392505050565b600060ff831680615fb857615fb8615c14565b8060ff8416069150509291505056fea2646970667358221220bc931b2ee20208c16632a7dcd9ed8f036d3c35b01291fc2486bcabad1f932bbb64736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000000103f89406817db1ed7fd8b31e13300444652cdb0b9c509a674de43483b2f835680000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d400000000000000000000000005fe03a12c1236f9c22cb6479778ddaa4bce6299c0000000000000000000000003e8a0b63f57e975c268d610ece93da5f78c01321000000000000000000000000db9091e48b1c42992a1213e6916184f9ebdbfedf0000000000000000000000000000000000000000000000000000000000002105000000000000000000000000642229f238fb9de03374be34b0ed8d9de80752c50000000000000000000000008ca1e12404d16373aef756179b185f27b2994f3a\",\n        \"nonce\": \"0xb\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x5f0e06\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xac0db12a427a31ccbaf4a154cf6d5acf0b83c791a4bd7f93a54c9b150b9aa668\",\n      \"transactionIndex\": \"0xb\",\n      \"blockHash\": \"0xa4d3dc42b104ad9cbffa9c19a10c2dbce7380ce3a24220f075cf2ba528f17dff\",\n      \"blockNumber\": \"0x1519786\",\n      \"gasUsed\": \"0x4f7ae2\",\n      \"effectiveGasPrice\": \"0x224f7eb1\",\n      \"from\": \"0x49243dce94e0f5a1b08b9556bbec5a84363c3839\",\n      \"to\": null,\n      \"contractAddress\": \"0xfe884b822eddb5864e86626e088120c73c0a4364\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x8a99fc\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x9fb4d1524e8076b61f33cf659f44b61180a2ad035726a28d28e74ff57c931f4c\",\n      \"transactionIndex\": \"0x15\",\n      \"blockHash\": \"0xc212f8e60e34a0599d7509868780de6eec84c880b39f71eb97b6ebe9367b51e2\",\n      \"blockNumber\": \"0x1519787\",\n      \"gasUsed\": \"0x5191f1\",\n      \"effectiveGasPrice\": \"0x227b6f02\",\n      \"from\": \"0x49243dce94e0f5a1b08b9556bbec5a84363c3839\",\n      \"to\": null,\n      \"contractAddress\": \"0x8cf5972cedf63b099406b3e7da81566885453d8e\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1742911814,\n  \"chain\": 1,\n  \"commit\": \"4b7de5b\"\n}"
  },
  {
    "path": "mainnet/2025-03-05-upgrade-fault-proofs/script/DeployDisputeGames.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Script} from \"forge-std/Script.sol\";\n\nimport {\n    FaultDisputeGame,\n    IAnchorStateRegistry,\n    IDelayedWETH,\n    IBigStepper\n} from \"@eth-optimism-bedrock/src/dispute/FaultDisputeGame.sol\";\nimport {PermissionedDisputeGame} from \"@eth-optimism-bedrock/src/dispute/PermissionedDisputeGame.sol\";\nimport {GameTypes, Duration, Claim} from \"@eth-optimism-bedrock/src/dispute/lib/Types.sol\";\nimport {DisputeGameFactory} from \"@eth-optimism-bedrock/src/dispute/DisputeGameFactory.sol\";\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport {Strings} from \"@openzeppelin/contracts/utils/Strings.sol\";\n\n/// @notice This script deploys new versions of FaultDisputeGame and PermissionedDisputeGame with all the same\n///         parameters as the existing implementations excluding the absolute prestate.\ncontract DeployDisputeGames is Script {\n    using Strings for address;\n\n    SystemConfig internal _SYSTEM_CONFIG = SystemConfig(vm.envAddress(\"SYSTEM_CONFIG\"));\n    Claim absolutePrestate = Claim.wrap(vm.envBytes32(\"ABSOLUTE_PRESTATE\"));\n\n    DisputeGameFactory dgfProxy;\n\n    uint256 maxGameDepth;\n    uint256 splitDepth;\n    uint256 l2ChainId;\n    address proposer;\n    address challenger;\n    Duration clockExtension;\n    Duration maxClockDuration;\n    IDelayedWETH faultDisputeGameWeth;\n    IDelayedWETH permissionedDisputeGameWeth;\n    IAnchorStateRegistry anchorStateRegistry;\n    IBigStepper bigStepper;\n\n    function setUp() public {\n        dgfProxy = DisputeGameFactory(_SYSTEM_CONFIG.disputeGameFactory());\n        FaultDisputeGame currentFdg = FaultDisputeGame(address(dgfProxy.gameImpls(GameTypes.CANNON)));\n        PermissionedDisputeGame currentPdg =\n            PermissionedDisputeGame(address(dgfProxy.gameImpls(GameTypes.PERMISSIONED_CANNON)));\n\n        absolutePrestate = currentFdg.absolutePrestate();\n        maxGameDepth = currentFdg.maxGameDepth();\n        splitDepth = currentFdg.splitDepth();\n        clockExtension = currentFdg.clockExtension();\n        maxClockDuration = currentFdg.maxClockDuration();\n        bigStepper = currentFdg.vm();\n        faultDisputeGameWeth = currentFdg.weth();\n        anchorStateRegistry = currentFdg.anchorStateRegistry();\n        l2ChainId = currentFdg.l2ChainId();\n\n        permissionedDisputeGameWeth = currentPdg.weth();\n        proposer = currentPdg.proposer();\n        challenger = currentPdg.challenger();\n    }\n\n    function run() public {\n        (address fdg, address pdg) = _deployContracts();\n\n        vm.writeFile(\n            \"addresses.json\",\n            string.concat(\n                \"{\",\n                \"\\\"faultDisputeGame\\\": \\\"\",\n                fdg.toHexString(),\n                \"\\\",\",\n                \"\\\"permissionedDisputeGame\\\": \\\"\",\n                pdg.toHexString(),\n                \"\\\"\" \"}\"\n            )\n        );\n    }\n\n    function _deployContracts() private returns (address, address) {\n        vm.startBroadcast();\n        address fdg = address(\n            new FaultDisputeGame(\n                GameTypes.CANNON,\n                absolutePrestate,\n                maxGameDepth,\n                splitDepth,\n                clockExtension,\n                maxClockDuration,\n                bigStepper,\n                faultDisputeGameWeth,\n                anchorStateRegistry,\n                l2ChainId\n            )\n        );\n\n        address pdg = address(\n            new PermissionedDisputeGame(\n                GameTypes.PERMISSIONED_CANNON,\n                absolutePrestate,\n                maxGameDepth,\n                splitDepth,\n                clockExtension,\n                maxClockDuration,\n                bigStepper,\n                permissionedDisputeGameWeth,\n                anchorStateRegistry,\n                l2ChainId,\n                proposer,\n                challenger\n            )\n        );\n        vm.stopBroadcast();\n\n        return (fdg, pdg);\n    }\n}\n"
  },
  {
    "path": "mainnet/2025-03-05-upgrade-fault-proofs/script/UpgradeDGF.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {stdJson} from \"forge-std/StdJson.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\nimport {console} from \"forge-std/console.sol\";\n\nimport {NestedMultisigBuilder} from \"@base-contracts/script/universal/NestedMultisigBuilder.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {DisputeGameFactory, IDisputeGame} from \"@eth-optimism-bedrock/src/dispute/DisputeGameFactory.sol\";\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport {GameTypes, GameType, Duration, Hash} from \"@eth-optimism-bedrock/src/dispute/lib/Types.sol\";\nimport {FaultDisputeGame} from \"@eth-optimism-bedrock/src/dispute/FaultDisputeGame.sol\";\nimport {PermissionedDisputeGame} from \"@eth-optimism-bedrock/src/dispute/PermissionedDisputeGame.sol\";\n\n/// @notice This script updates the FaultDisputeGame and PermissionedDisputeGame implementations in the\n///         DisputeGameFactory contract.\ncontract UpgradeDGF is NestedMultisigBuilder {\n    using stdJson for string;\n\n    address internal _OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n\n    DisputeGameFactory dgfProxy;\n    address fdgImpl;\n    address pdgImpl;\n\n    function setUp() public {\n        string memory rootPath = vm.projectRoot();\n        string memory path = string.concat(rootPath, \"/addresses.json\");\n        string memory addresses = vm.readFile(path);\n\n        dgfProxy = DisputeGameFactory(SystemConfig(vm.envAddress(\"SYSTEM_CONFIG\")).disputeGameFactory());\n        fdgImpl = addresses.readAddress(\".faultDisputeGame\");\n        pdgImpl = addresses.readAddress(\".permissionedDisputeGame\");\n\n        _precheckDisputeGameImplementation(GameTypes.CANNON, fdgImpl);\n        _precheckDisputeGameImplementation(GameTypes.PERMISSIONED_CANNON, pdgImpl);\n    }\n\n    // Checks that the new game being set has the same configuration as the existing implementation with the exception\n    // of the absolutePrestate. This is the most common scenario where the game implementation is upgraded to provide an\n    // updated fault proof program that supports an upcoming hard fork.\n    function _precheckDisputeGameImplementation(GameType targetGameType, address newImpl) internal view {\n        console.log(\"pre-check new game implementations\", targetGameType.raw());\n\n        FaultDisputeGame currentImpl = FaultDisputeGame(address(dgfProxy.gameImpls(GameType(targetGameType))));\n        // No checks are performed if there is no prior implementation.\n        // When deploying the first implementation, it is recommended to implement custom checks.\n        if (address(currentImpl) == address(0)) {\n            return;\n        }\n        FaultDisputeGame faultDisputeGame = FaultDisputeGame(newImpl);\n        require(address(currentImpl.vm()) == address(faultDisputeGame.vm()), \"10\");\n        require(address(currentImpl.weth()) == address(faultDisputeGame.weth()), \"20\");\n        require(address(currentImpl.anchorStateRegistry()) == address(faultDisputeGame.anchorStateRegistry()), \"30\");\n        require(currentImpl.l2ChainId() == faultDisputeGame.l2ChainId(), \"40\");\n        require(currentImpl.splitDepth() == faultDisputeGame.splitDepth(), \"50\");\n        require(currentImpl.maxGameDepth() == faultDisputeGame.maxGameDepth(), \"60\");\n        require(\n            uint64(Duration.unwrap(currentImpl.maxClockDuration()))\n                == uint64(Duration.unwrap(faultDisputeGame.maxClockDuration())),\n            \"70\"\n        );\n        require(\n            uint64(Duration.unwrap(currentImpl.clockExtension()))\n                == uint64(Duration.unwrap(faultDisputeGame.clockExtension())),\n            \"80\"\n        );\n\n        if (targetGameType.raw() == GameTypes.PERMISSIONED_CANNON.raw()) {\n            PermissionedDisputeGame currentPDG = PermissionedDisputeGame(address(currentImpl));\n            PermissionedDisputeGame permissionedDisputeGame = PermissionedDisputeGame(address(faultDisputeGame));\n            require(address(currentPDG.proposer()) == address(permissionedDisputeGame.proposer()), \"90\");\n            require(address(currentPDG.challenger()) == address(permissionedDisputeGame.challenger()), \"100\");\n        }\n    }\n\n    // Confirm the stored implementations are updated and the anchor states still exist.\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        require(address(dgfProxy.gameImpls(GameTypes.CANNON)) == fdgImpl, \"post-110\");\n        require(address(dgfProxy.gameImpls(GameTypes.PERMISSIONED_CANNON)) == pdgImpl, \"post-120\");\n        _postcheckHasAnchorState(GameTypes.CANNON);\n        _postcheckHasAnchorState(GameTypes.PERMISSIONED_CANNON);\n    }\n\n    // Checks the anchor state for the source game type still exists after re-initialization. The actual anchor state\n    // may have been updated since the task was defined so just assert it exists, not that it has a specific value.\n    function _postcheckHasAnchorState(GameType gameType) internal view {\n        console.log(\"check anchor state exists\", gameType.raw());\n\n        FaultDisputeGame impl = FaultDisputeGame(address(dgfProxy.gameImpls(GameType(gameType))));\n        (Hash root, uint256 rootBlockNumber) = FaultDisputeGame(address(impl)).anchorStateRegistry().anchors(gameType);\n\n        require(root.raw() != bytes32(0), \"check-300\");\n        require(rootBlockNumber != 0, \"check-310\");\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](2);\n\n        calls[0] = IMulticall3.Call3({\n            target: address(dgfProxy),\n            allowFailure: false,\n            callData: abi.encodeCall(DisputeGameFactory.setImplementation, (GameTypes.CANNON, IDisputeGame(fdgImpl)))\n        });\n        calls[1] = IMulticall3.Call3({\n            target: address(dgfProxy),\n            allowFailure: false,\n            callData: abi.encodeCall(\n                DisputeGameFactory.setImplementation, (GameTypes.PERMISSIONED_CANNON, IDisputeGame(pdgImpl))\n            )\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return _OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "mainnet/2025-03-19-increase-gas-limit/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\nifndef ROLLBACK_NONCE_OFFSET\noverride ROLLBACK_NONCE_OFFSET = 1\nendif\n\n.PHONY: sign-upgrade\nsign-upgrade:\n\tFROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"sign()\"\n\n.PHONY: execute-upgrade\nexecute-upgrade:\n\tFROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n.PHONY: sign-rollback\nsign-rollback:\n\tFROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tSAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) \"nonce()\" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \\\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"sign()\"\n\n.PHONY: execute-rollback\nexecute-rollback:\n\tFROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tSAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) \"nonce()\" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2025-03-19-increase-gas-limit/README.md",
    "content": "# Update Gas Limit in L1 `SystemConfig`\n\nStatus: DONE\n\n## Objective\n\nWe are updating the gas limit to improve TPS and reduce gas fees.\n\nThis runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base-org/contracts) repository:\n\n`SetGasLimit` -- This script will update the gas limit to our new limit of 108 Mgas if invoked as part of the \"upgrade\" process, or revert to the old limit of 104 Mgas if invoked as part of the \"rollback\" process.\n\nThe values we are sending are statically defined in the `.env`.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow\n> the flow for both \"Approving the Update transaction\" and\n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed.\n\n## Approving the Upgrade transaction\n\n### 1. Update repo and move to the appropriate folder:\n\n```\ncd contract-deployments\ngit pull\ncd mainnet/2025-03-19-increase-gas-limit\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-upgrade\n```\n\nOnce you run the `make sign...` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 57 to 58:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000039\nAfter: 0x000000000000000000000000000000000000000000000000000000000000003a\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 112000000 to 116000000:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x0000000000000000000000000000000000000000000000000000000006acfc00\nAfter: 0x0000000000000000000000000000000000000000000000000000000006ea0500\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-upgrade\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Approving the Rollback transaction\n\nComplete the above steps for `Approving the Update transaction` before continuing below.\n\n### 1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-rollback\n```\n\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output. Once again paste this URL in your browser and click \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x000000000000000000000000000000000000000000000000000000000000003a\nAfter: 0x000000000000000000000000000000000000000000000000000000000000003b\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x0000000000000000000000000000000000000000000000000000000006ea0500\nAfter: 0x0000000000000000000000000000000000000000000000000000000006acfc00\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-rollback\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make execute-upgrade`\n\n> [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK\n> Repeat the above, but replace the signatures with the signed\n> rollback signatures collected, the call `make execute-rollback`\n"
  },
  {
    "path": "mainnet/2025-03-19-increase-gas-limit/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2025-03-19-increase-gas-limit/records/SetGasLimit.sol/1/run-1742400711.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x326789ce7962c3605511b6bf216d28ea9555e12482eb6700c3b6d0acf8b9b3ec\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000006ea050000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x48a4751f2f4641c6b81d78bc061413b140e8f0324e7d9d5cb44b30014d2e7a5f649a708bff88e1029c1346abd523627523e45ffa9c8876fee3a5d3978fef7a0d1ba26b700c992d5cfdba40a926a625b8713360ae7bb21cf77ce52764a4cfe12e6b2d306c904ca174b0e84d1d388e432511d0ebca5c53cd71790f06816842645af81bdf49a9fe0f8f74e482f866e51441cdc448300a1be5cc149c5acd5cb9f0ef3dfb013f49feae871c78dd84cef7787769cfe62527489772fe70f6e44fdc5158dc311c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x1e75a\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000006ea0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c348a4751f2f4641c6b81d78bc061413b140e8f0324e7d9d5cb44b30014d2e7a5f649a708bff88e1029c1346abd523627523e45ffa9c8876fee3a5d3978fef7a0d1ba26b700c992d5cfdba40a926a625b8713360ae7bb21cf77ce52764a4cfe12e6b2d306c904ca174b0e84d1d388e432511d0ebca5c53cd71790f06816842645af81bdf49a9fe0f8f74e482f866e51441cdc448300a1be5cc149c5acd5cb9f0ef3dfb013f49feae871c78dd84cef7787769cfe62527489772fe70f6e44fdc5158dc311c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x1\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xa422e1\",\n      \"logs\": [\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000002\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000006ea0500\",\n          \"blockHash\": \"0xeed006bfbeef7447162ba5864057470787073685af8cd6c05726bdb25571ecab\",\n          \"blockNumber\": \"0x150f1ea\",\n          \"blockTimestamp\": \"0x67daecc3\",\n          \"transactionHash\": \"0x326789ce7962c3605511b6bf216d28ea9555e12482eb6700c3b6d0acf8b9b3ec\",\n          \"transactionIndex\": \"0x98\",\n          \"logIndex\": \"0x122\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x3e9675ccacd24f91d050daea3f28cfd57d42cce6d1ac6d9665e1d3782f272e9e0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xeed006bfbeef7447162ba5864057470787073685af8cd6c05726bdb25571ecab\",\n          \"blockNumber\": \"0x150f1ea\",\n          \"blockTimestamp\": \"0x67daecc3\",\n          \"transactionHash\": \"0x326789ce7962c3605511b6bf216d28ea9555e12482eb6700c3b6d0acf8b9b3ec\",\n          \"transactionIndex\": \"0x98\",\n          \"logIndex\": \"0x123\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x326789ce7962c3605511b6bf216d28ea9555e12482eb6700c3b6d0acf8b9b3ec\",\n      \"transactionIndex\": \"0x98\",\n      \"blockHash\": \"0xeed006bfbeef7447162ba5864057470787073685af8cd6c05726bdb25571ecab\",\n      \"blockNumber\": \"0x150f1ea\",\n      \"gasUsed\": \"0x160d6\",\n      \"effectiveGasPrice\": \"0x5b1f5917\",\n      \"from\": \"0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1742400711,\n  \"chain\": 1,\n  \"commit\": \"42d3e25\"\n}"
  },
  {
    "path": "mainnet/2025-03-26-increase-gas-limit/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\nifndef ROLLBACK_NONCE_OFFSET\noverride ROLLBACK_NONCE_OFFSET = 1\nendif\n\n.PHONY: sign-upgrade\nsign-upgrade:\n\tFROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"sign()\"\n\n.PHONY: execute-upgrade\nexecute-upgrade:\n\tFROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n.PHONY: sign-rollback\nsign-rollback:\n\tFROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tSAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) \"nonce()\" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \\\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"sign()\"\n\n.PHONY: execute-rollback\nexecute-rollback:\n\tFROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tSAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) \"nonce()\" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2025-03-26-increase-gas-limit/README.md",
    "content": "# Update Gas Limit in L1 `SystemConfig`\n\nStatus: DONE\n\n## Objective\n\nWe are updating the gas limit to improve TPS and reduce gas fees.\n\nThis runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base-org/contracts) repository:\n\n`SetGasLimit` -- This script will update the gas limit to our new limit of 108 Mgas if invoked as part of the \"upgrade\" process, or revert to the old limit of 104 Mgas if invoked as part of the \"rollback\" process.\n\nThe values we are sending are statically defined in the `.env`.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow\n> the flow for both \"Approving the Update transaction\" and\n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed.\n\n## Approving the Upgrade transaction\n\n### 1. Update repo and move to the appropriate folder:\n\n```\ncd contract-deployments\ngit pull\ncd mainnet/2025-03-26-increase-gas-limit\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-upgrade\n```\n\nOnce you run the `make sign...` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 58 to 59:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x000000000000000000000000000000000000000000000000000000000000003a\nAfter: 0x000000000000000000000000000000000000000000000000000000000000003b\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 116000000 to 120000000:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x0000000000000000000000000000000000000000000000000000000006ea0500\nAfter: 0x0000000000000000000000000000000000000000000000000000000007270e00\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-upgrade\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Approving the Rollback transaction\n\nComplete the above steps for `Approving the Update transaction` before continuing below.\n\n### 1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-rollback\n```\n\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output. Once again paste this URL in your browser and click \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x000000000000000000000000000000000000000000000000000000000000003b\nAfter: 0x000000000000000000000000000000000000000000000000000000000000003c\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x0000000000000000000000000000000000000000000000000000000007270e00\nAfter: 0x0000000000000000000000000000000000000000000000000000000006ea0500\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-rollback\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make execute-upgrade`\n\n> [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK\n> Repeat the above, but replace the signatures with the signed\n> rollback signatures collected, the call `make execute-rollback`\n"
  },
  {
    "path": "mainnet/2025-03-26-increase-gas-limit/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2025-03-26-increase-gas-limit/records/SetGasLimit.sol/1/run-1743002773.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x797e6976cfc1e3b332e9ead3c8eb81fab30a928819922e176b388644aad3ab93\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000007270e0000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x2c6f159ae248018bc80d947d9a2a2fcae4090bcd7333c97462c68a31c7647fa82d4fa2c69ebbe6313d3d2389c43fc02cadc7cbf0ef8ef792f90aab09228f55b91c4f8484a3bfc6f100d07a76f99811ed02deeaf9fbd38f85544b9d7a163ab49d8c1572249bdae523c0fe771aa08d57569edf7682463a92c37d1b951770d17bebe71c5d7b61cf5fec33ca3b3282649abbf93e50a03a1bca0dce06d49b51eb188fe84b0b4b0b122b95be5e283d981397c01820c1aee67e6d27f4340b22cfcc0279be911c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x73565876170a336fa02fde34eed03e3121f70ba6\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x203f3\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000007270e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c32c6f159ae248018bc80d947d9a2a2fcae4090bcd7333c97462c68a31c7647fa82d4fa2c69ebbe6313d3d2389c43fc02cadc7cbf0ef8ef792f90aab09228f55b91c4f8484a3bfc6f100d07a76f99811ed02deeaf9fbd38f85544b9d7a163ab49d8c1572249bdae523c0fe771aa08d57569edf7682463a92c37d1b951770d17bebe71c5d7b61cf5fec33ca3b3282649abbf93e50a03a1bca0dce06d49b51eb188fe84b0b4b0b122b95be5e283d981397c01820c1aee67e6d27f4340b22cfcc0279be911c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x10\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xa90f82\",\n      \"logs\": [\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000002\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000007270e00\",\n          \"blockHash\": \"0xc242ff2a04f2356867effe57395a2c50f5ab203312934f5c029b81b17f5760b8\",\n          \"blockNumber\": \"0x151b500\",\n          \"transactionHash\": \"0x797e6976cfc1e3b332e9ead3c8eb81fab30a928819922e176b388644aad3ab93\",\n          \"transactionIndex\": \"0x91\",\n          \"logIndex\": \"0x119\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xec12a7a696d4613ec1397198b190dbdf2bdc02a5639f65b55f7515d0ba6d9d730000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xc242ff2a04f2356867effe57395a2c50f5ab203312934f5c029b81b17f5760b8\",\n          \"blockNumber\": \"0x151b500\",\n          \"transactionHash\": \"0x797e6976cfc1e3b332e9ead3c8eb81fab30a928819922e176b388644aad3ab93\",\n          \"transactionIndex\": \"0x91\",\n          \"logIndex\": \"0x11a\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x797e6976cfc1e3b332e9ead3c8eb81fab30a928819922e176b388644aad3ab93\",\n      \"transactionIndex\": \"0x91\",\n      \"blockHash\": \"0xc242ff2a04f2356867effe57395a2c50f5ab203312934f5c029b81b17f5760b8\",\n      \"blockNumber\": \"0x151b500\",\n      \"gasUsed\": \"0x160ca\",\n      \"effectiveGasPrice\": \"0x53cb2bf3\",\n      \"from\": \"0x73565876170a336fa02fde34eed03e3121f70ba6\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1743002773,\n  \"chain\": 1,\n  \"commit\": \"d47cce1\"\n}"
  },
  {
    "path": "mainnet/2025-04-07-init-smart-escrow-ownership-transfer/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nL2_RPC_URL=https://mainnet.optimism.io\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: sign-cb\nsign-cb:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L2_RPC_URL) InitOwnershipTransfer \\\n\t--sig \"sign(address)\" $(CB_SIGNER_SAFE_ADDR)\n\n.PHONY: sign-op\nsign-op:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L2_RPC_URL) InitOwnershipTransfer \\\n\t--sig \"sign(address)\" $(OP_SIGNER_SAFE_ADDR)\n\n.PHONY: approve-cb\napprove-cb:\n\tforge script --rpc-url $(L2_RPC_URL) InitOwnershipTransfer \\\n\t--sig \"approve(address,bytes)\" $(CB_SIGNER_SAFE_ADDR) $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv\n\n.PHONY: approve-op\napprove-op:\n\tforge script --rpc-url $(L2_RPC_URL) InitOwnershipTransfer \\\n\t--sig \"approve(address,bytes)\" $(OP_SIGNER_SAFE_ADDR) $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv\n\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(L2_RPC_URL) InitOwnershipTransfer \\\n\t--sig \"run()\" --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv\n"
  },
  {
    "path": "mainnet/2025-04-07-init-smart-escrow-ownership-transfer/README.md",
    "content": "# Initiate SmartEscrow Ownership Transfer\n\nStatus: PENDING\n\n## Description\n\nWe wish to update the owner of our [SmartEscrow](https://optimistic.etherscan.io/address/0xb3c2f9fc2727078ec3a2255410e83ba5b62c5b5f) contract on OP Mainnet to be the aliased address of our L1 [ProxyAdminOwner](https://etherscan.io/address/0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c). The `SmartEscrow` contract inherits access control mechanisms from OpenZeppelin's `AccessControlDefaultAdminRules`, which requires an ownership transfer to be invoked in two separate steps:\n\n1. Initiate the transfer to a new owner from the existing owner\n2. Accept the transfer from the pending new owner after a configured delay\n\nThis task represents the initiation step. A subsequent task will be written for ownership acceptance after a 5 day delay.\n\n## Procedure\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd mainnet/2025-04-07-init-smart-escrow-ownership-transfer\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Run relevant script(s)\n\n#### Sign the transaction\n\nCoinbase signer:\n\n```bash\nmake sign-cb\n```\n\nOp signer:\n\n```bash\nmake sign-op\n```\n\nYou will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and extract the domain hash and message hash to approve on your Ledger:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n##### 3.1 Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is OP Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not see the derivation path Note above.\n\n##### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab, and refer to the [State Validations](./VALIDATION.md) instructions for the transaction you are signing.\nOnce complete return to this document to complete the signing.\n\n##### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\nOnce the validations are done, it's time to actually sign the\ntransaction.\n\n> [!WARNING]\n> This is the most security critical part of the playbook: make sure the\n> domain hash and message hash in the following two places match:\n>\n> 1. On your Ledger screen.\n> 2. In the Tenderly simulation. You should use the same Tenderly\n>    simulation as the one you used to verify the state diffs, instead\n>    of opening the new one printed in the console.\n>\n> There is no need to verify anything printed in the console. There is\n> no need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```shell\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n##### 3.4 Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n### [For Facilitator ONLY] How to execute\n\n#### Approve the transaction\n\n1. IMPORTANT: Ensure op-challenger has been updated before executing.\n1. Collect outputs from all participating signers.\n1. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"`.\n1. Run the `make approve` command as described below to execute the transaction.\n\nFor example, if the quorum is 2 and you get the following outputs:\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE01\nSignature: AAAA\n```\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE02\nSignature: BBBB\n```\n\nThen you should run:\n\nCoinbase facilitator:\n\n```bash\nSIGNATURES=AAAABBBB make approve-cb\n```\n\nOptimism facilitator:\n\n```bash\nSIGNATURES=AAAABBBB make approve-op\n```\n\n#### Execute the transaction\n\nOnce the signatures have been submitted approving the transaction for all nested Safes run:\n\n```bash\nmake execute\n```\n"
  },
  {
    "path": "mainnet/2025-04-07-init-smart-escrow-ownership-transfer/VALIDATION.md",
    "content": "# Validation\n\nThis document can be used to validate the inputs and result of the execution of the upgrade transaction which you are\nsigning.\n\nThe steps are:\n\n1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes)\n2. [Verifying the state changes](#state-changes)\n\n## Expected Domain and Message Hashes\n\nFirst, we need to validate the domain and message hashes. These values should match both the values on your ledger and\nthe values printed to the terminal when you run the task.\n\n> [!CAUTION]\n>\n> Before signing, ensure the below hashes match what is on your ledger.\n>\n> ### Child Safe 1: `0x6e1DFd5C1E22A4677663A81D24C6BA03561ef0f6` (Base)\n>\n> - Domain Hash: `0x4ac8f60706331537a33c4a4cbda024cb722855e6b160a3e8b28ab487510598b1`\n> - Message Hash: `0x3a25fa618752b5d5408cef7c063ff8f08f6a833e3ac131666452d099c4cb1896`\n>\n> ### Child Safe 2: `0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0` (Optimism Foundation)\n>\n> - Domain Hash: `0xb34978142f4478f3e5633915597a756daa58a1a59a3e0234f9acd5444f1ca70e`\n> - Message Hash: `0x810c12369f2efe81a2a6825b3b41e8d9b4315ba44fdf286ff23d5c4637755689`\n\n# State Validations\n\nFor each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract:\n\n- The following state changes (and none others) are made to that contract. This validates that no unexpected state\n  changes occur.\n- All addresses (in section headers and storage values) match the provided name, using the Etherscan and Superchain\n  Registry links provided. This validates the bytecode deployed at the addresses contains the correct logic.\n- All key values match the semantic meaning provided, which can be validated using the storage layout links provided.\n\n## State Overrides\n\n### `0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940` (`ProxyAdminOwner` on OP Mainnet)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n### Nested Safe\n\n[For CB Signers] `0x6e1DFd5C1E22A4677663A81D24C6BA03561ef0f6` (`CB Nested Safe`)\n[For OP Signers] `0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0` (`OP Nested Safe`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000003` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the owner count to 1 so the transaction simulation can occur.\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n- **Key**: `0x316a0aac0d94f5824f0b66f5bbe94a8c360a17699a1d3a233aafcf7146e9f11c` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: This is owners[0xca11bde05977b3631167028862be2a173976ca11] -> 1, so the key can be derived from cast index address 0xca11bde05977b3631167028862be2a173976ca11 2.\n\n- **Key**: `0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0` <br/>\n  **Override**: `0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca11` <br/>\n  **Meaning**: This is owners[1] -> 0xca11bde05977b3631167028862be2a173976ca11, so the key can be derived from cast index address 0x0000000000000000000000000000000000000001 2.\n\n## Task State Changes\n\n<pre>\n<code>\n----- DecodedStateDiff[0] -----\n  Who:               0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940\n  Contract:          ProxyAdminOwner - OP Mainnet\n  Chain ID:          10\n  Raw Slot:          0x0000000000000000000000000000000000000000000000000000000000000005\n  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000002\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000003\n  Decoded Kind:      uint256\n  Decoded Old Value: 2\n  Decoded New Value: 3\n\n  Summary:           Increment nonce in ProxyAdminOwner\n\n----- DecodedStateDiff[1] -----\n  Who:               0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940\n  Contract:          ProxyAdminOwner - OP Mainnet\n  Chain ID:          10\n  Raw Slot:          0xe23f453082938f6d8fda616d15a8d5919aec431dff18fc69ddf7fd4cd01bd59e\n  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000001\n  Decoded Kind:      uint256\n  Decoded Old Value: 0\n  Decoded New Value: 1\n\n  Summary:           Transaction approval\n  Detail:            Approves the ownership transfer initiation transaction on behalf of the signing safe. The slot derivation depends on which safe is being signed for. This can be derived with `cast index bytes32 0xd806ab578902502aa5b3caf2d4a5d03b14a9e9522c8b9214ba4e05af1c39e2f4 $(cast index address $SIGNER_SAFE 8)`. For OP signers, the slot should be `0x8f6ea3dc592330bb5d3d2f07897e65e16fda3259be1ad4bc00d0033f29399eee`.\n----- DecodedStateDiff[2] -----\n  Who:               0x6e1DFd5C1E22A4677663A81D24C6BA03561ef0f6 or 0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0\n  Contract:          Signer Safe - OP Mainnet\n  Chain ID:          10\n  Raw Slot:          0x0000000000000000000000000000000000000000000000000000000000000005\n  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000001\n  Decoded Kind:      uint256\n  Decoded Old Value: 0\n  Decoded New Value: 1\n\n  Summary:           Increment nonce in Signer safe\n\n----- DecodedStateDiff[3] -----\n  Who:               0xb3C2f9fC2727078EC3A2255410e83BA5B62c5B5f\n  Contract:          SmartEscrow - OP Mainnet\n  Chain ID:          10\n  Raw Slot:          0x0000000000000000000000000000000000000000000000000000000000000001\n  Raw Old Value:     0x0000000697800000000000000000000000000000000000000000000000000000\n  Raw New Value:     0x000000069780000067fba22c8cc51c3008b3f03fe483b28b8db90e19cf076a6d\n  Decoded Kind:      uint48, uint48, address\n  Decoded Old Value: 432000, 0, 0x0000000000000000000000000000000000000000\n  Decoded New Value: 432000, 1744544300, 0x8cC51c3008b3f03Fe483B28B8Db90e19cF076a6d\n\n  Summary:           Sets the pending default admin for SmartEscrow\n  Detail:            This is a packed storage slot containing three values: `_currentDelay`, `_pendingDefaultAdminSchedule` and `_pendingDefaultAdmin`. The `_currentDelay` is set to 432000 which is 5 days (in seconds). `_pendingDefaultAdminSchedule` gets set to `block.timestamp + _currentDelay`. NOTE: the `_pendingDefaultAdminSchedule` may be different from what you see in you Tenderly simulation - this is ok! It's derived based on the current block.timestamp. The `_pendingDefaultAdmin` address gets set to `0x8cC51c3008b3f03Fe483B28B8Db90e19cF076a6d` which is the aliased address of `0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c` (`ProxyAdminOwner`).\n\nATTENTION TASK REVIEWER: It is safe to continue if `_pendingDefaultAdminSchedule` is different than what is seen in the Tenderly state diff.\n\n----- Additional Balance Changes -----\n  Who:               0x420000000000000000000000000000000000001A\n  Contract:          L1FeeValue - OP Mainnet\n  Chain ID:          10\n  Old Balance:       1892652089755161\n  New Balance:       1892663085405498\n\n  Summary:           L1 fees collected from the transaction\n  Detail:            Note: these values may differ from what you see in the Tenderly simulation - that is ok!\n\n----- Additional Nonce Changes -----\n  Who:               0x6CD3850756b7894774Ab715D136F9dD02837De50\n\n  Details:           Nonce Updates for all addresses listed above.\n  Summary:\n    - 0x6CD3850756b7894774Ab715D136F9dD02837De50 is the caller\n</pre>\n"
  },
  {
    "path": "mainnet/2025-04-07-init-smart-escrow-ownership-transfer/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "mainnet/2025-04-07-init-smart-escrow-ownership-transfer/script/InitOwnershipTransfer.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\n\nimport {NestedMultisigBuilder} from \"@base-contracts/script/universal/NestedMultisigBuilder.sol\";\nimport {AccessControlDefaultAdminRules} from \"@openzeppelin/contracts/access/AccessControlDefaultAdminRules.sol\";\nimport {AddressAliasHelper} from \"@eth-optimism-bedrock/src/vendor/AddressAliasHelper.sol\";\n\ncontract InitOwnershipTransfer is NestedMultisigBuilder {\n    using AddressAliasHelper for address;\n\n    address public immutable OWNER_SAFE;\n    address public immutable L1_SAFE;\n    address public immutable TARGET;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n        L1_SAFE = vm.envAddress(\"L1_SAFE\");\n        TARGET = vm.envAddress(\"TARGET\");\n    }\n\n    // Confirm the proxy admin owner is now the pending admin of SmartEscrow\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        AccessControlDefaultAdminRules target = AccessControlDefaultAdminRules(TARGET);\n        (address pendingAdmin,) = target.pendingDefaultAdmin();\n        require(pendingAdmin == L1_SAFE.applyL1ToL2Alias(), \"Pending admin is not L1_SAFE\");\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n\n        calls[0] = IMulticall3.Call3({\n            target: TARGET,\n            allowFailure: false,\n            callData: abi.encodeCall(AccessControlDefaultAdminRules.beginDefaultAdminTransfer, (L1_SAFE.applyL1ToL2Alias()))\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "mainnet/2025-04-07-update-fee-disperser-ownership/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nSCRIPT = OwnershipTransfer\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: deps\ndeps:\n\tgo install github.com/jackchuma/state-diff@v0.0.1-rc.5\n\n.PHONY: gen-validation\ngen-validation:\n\t$(GOPATH)/bin/state-diff --rpc $(L2_RPC_URL) -o VALIDATION.md \\\n\t-- forge script --rpc-url $(L2_RPC_URL) $(SCRIPT) \\\n\t--sig \"sign(address[])\" [] --sender 0xf9e320f3dA12E68af219d9E2A490Dd649f6B177c\n\n.PHONY: sign\nsign:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L2_RPC_URL) $(SCRIPT) --sig \"sign(address[])\" []\n\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(L2_RPC_URL) \\\n\t$(SCRIPT) --sig \"run(bytes)\" $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" \\\n\t--broadcast\n"
  },
  {
    "path": "mainnet/2025-04-07-update-fee-disperser-ownership/README.md",
    "content": "# Update FeeDispurser Ownership\n\nStatus: EXECUTED (https://basescan.org/tx/0x3e6e5afba12c7f16b52e0ca4c6ef3d7e069d39d91dda86672d7f8231cf79a351)\n\n## Description\n\nThis task updates the owner of our [FeeDispurser](https://basescan.org/address/0x09C7bAD99688a55a2e83644BFAed09e62bDcCcBA) contract on Base to be the aliased address of our [L1 upgrade multisig](https://etherscan.io/address/0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110).\n\n## Procedure\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd mainnet/2025-04-07-update-fee-disperser-ownership\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Run relevant script(s)\n\n#### Sign the transaction\n\n```bash\nmake sign\n```\n\nYou will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and extract the domain hash and message hash to approve on your Ledger:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n##### 3.1 Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Base.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not see the derivation path Note above.\n\n##### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab, and refer to the [State Validations](./VALIDATION.md) instructions for the transaction you are signing.\nOnce complete return to this document to complete the signing.\n\n##### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\nOnce the validations are done, it's time to actually sign the\ntransaction.\n\n> [!WARNING]\n> This is the most security critical part of the playbook: make sure the\n> domain hash and message hash in the following two places match:\n>\n> 1. On your Ledger screen.\n> 2. In the Tenderly simulation. You should use the same Tenderly\n>    simulation as the one you used to verify the state diffs, instead\n>    of opening the new one printed in the console.\n>\n> There is no need to verify anything printed in the console. There is\n> no need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```shell\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n##### 3.4 Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n### [For Facilitator ONLY] How to execute\n\n#### Execute the transaction\n\n1. IMPORTANT: Ensure op-challenger has been updated before executing.\n1. Collect outputs from all participating signers.\n1. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"`.\n1. Run the `make execute` command as described below to execute the transaction.\n\nFor example, if the quorum is 2 and you get the following outputs:\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE01\nSignature: AAAA\n```\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE02\nSignature: BBBB\n```\n\nThen you should run:\n\n```bash\nSIGNATURES=AAAABBBB make execute\n```\n"
  },
  {
    "path": "mainnet/2025-04-07-update-fee-disperser-ownership/VALIDATION.md",
    "content": "# Validation\n\nThis document can be used to validate the inputs and result of the execution of the upgrade transaction which you are signing.\n\n> [!NOTE]\n>\n> This document provides names for each contract address to add clarity to what you are seeing. These names will not be visible in the Tenderly UI. All that matters is that addresses and storage slot hex values match exactly what is presented in this document.\n\nThe steps are:\n\n1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes)\n2. [Verifying the state changes](#state-changes)\n\n## Expected Domain and Message Hashes\n\nFirst, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task.\n\n> [!CAUTION]\n>\n> Before signing, ensure the below hashes match what is on your ledger.\n>\n> ### CB Signer Safe - Base Mainnet: `0xd94E416cf2c7167608B2515B7e4102B41efff94f`\n>\n> - Domain Hash: `0xd16e718462d25bb73b8c6aba4611b4bc91c8e12dbf5180f9cd42af8080cffae9`\n> - Message Hash: `0x5595fa81192e986455f2270dc4341488deef7151bf5729f7997db641d4a01981`\n\n# State Validations\n\nFor each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract:\n\n- The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur.\n- All key values match the semantic meaning provided, which can be validated using the terminal commands provided.\n\n## State Overrides\n\n### CB Signer Safe - Base Mainnet (`0xd94E416cf2c7167608B2515B7e4102B41efff94f`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000003` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Sets the owner count to 1 so the transaction simulation can occur.\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n- **Key**: `0x316a0aac0d94f5824f0b66f5bbe94a8c360a17699a1d3a233aafcf7146e9f11c` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: This is owners[0xca11bde05977b3631167028862be2a173976ca11] -> 1, so the key can be derived from `cast index address 0xca11bde05977b3631167028862be2a173976ca11 2`.\n\n- **Key**: `0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0` <br/>\n  **Override**: `0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca11` <br/>\n  **Meaning**: This is owners[1] -> 0xca11bde05977b3631167028862be2a173976ca11, so the key can be derived from `cast index address 0x0000000000000000000000000000000000000001 2`.\n\n## Task State Changes\n\n### Fee Dispurser - Base Mainnet (`0x09C7bAD99688a55a2e83644BFAed09e62bDcCcBA`)\n\n0. **Key**: `0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103` <br/>\n   **Before**: `0x000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f` <br/>\n   **After**: `0x000000000000000000000000ad5b57feb77e294fd7bf5ebe9ab01caa0a90b221` <br/>\n   **Value Type**: address <br/>\n   **Decoded Old Value**: `0xd94E416cf2c7167608B2515B7e4102B41efff94f` <br/>\n   **Decoded New Value**: `0xaD5B57FEB77e294fD7BF5EBE9aB01caA0a90B221` <br/>\n   **Meaning**: Updates the proxy admin <br/>\n\n### CB Signer Safe - Base Mainnet (`0xd94E416cf2c7167608B2515B7e4102B41efff94f`)\n\n1. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000009` <br/>\n   **After**: `0x000000000000000000000000000000000000000000000000000000000000000a` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `9` <br/>\n   **Decoded New Value**: `10` <br/>\n   **Meaning**: Increments the nonce <br/>\n\n### Your Signer Address\n\n- Nonce increment\n\nYou can now navigate back to the [README](./README.md/#32-validate-correctness-of-the-state-diff) to continue the signing process.\n"
  },
  {
    "path": "mainnet/2025-04-07-update-fee-disperser-ownership/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "mainnet/2025-04-07-update-fee-disperser-ownership/records/OwnershipTransfer.s.sol/8453/run-1749317765.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x3e6e5afba12c7f16b52e0ca4c6ef3d7e069d39d91dda86672d7f8231cf79a351\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0xd94e416cf2c7167608b2515b7e4102b41efff94f\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000009c7bad99688a55a2e83644bfaed09e62bdcccba00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000248f283970000000000000000000000000ad5b57feb77e294fd7bf5ebe9ab01caa0a90b22100000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x68801fb4d3cb591cd71eee38abb07aa44a0d98e910633cad9b7bb7038104b30c596179bb37f0812be9479db30403a40dde8d3b0381d38da214b2fc085eb361ef1bb2f22c2e66a59a608970e64431ff501ecfd4af1778dd4aa76d1d7e892dc0c9e713bf51cd51005e66c18fa6e65e1437236f125691cb674fb3da6028b223c646bf1c894251e5b2cfe7a5978c377c6b246e4fed1c016c365ac765d6b6a90e59ae66e2204fc53714955405be5a8154014f3d428277ec8354fb3d382c6f7249ec9a44b21c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0xd94e416cf2c7167608b2515b7e4102b41efff94f\",\n        \"gas\": \"0x20bf3\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000144174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000009c7bad99688a55a2e83644bfaed09e62bdcccba00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000248f283970000000000000000000000000ad5b57feb77e294fd7bf5ebe9ab01caa0a90b221000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c368801fb4d3cb591cd71eee38abb07aa44a0d98e910633cad9b7bb7038104b30c596179bb37f0812be9479db30403a40dde8d3b0381d38da214b2fc085eb361ef1bb2f22c2e66a59a608970e64431ff501ecfd4af1778dd4aa76d1d7e892dc0c9e713bf51cd51005e66c18fa6e65e1437236f125691cb674fb3da6028b223c646bf1c894251e5b2cfe7a5978c377c6b246e4fed1c016c365ac765d6b6a90e59ae66e2204fc53714955405be5a8154014f3d428277ec8354fb3d382c6f7249ec9a44b21c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x0\",\n        \"chainId\": \"0x2105\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x219c93c\",\n      \"logs\": [\n        {\n          \"address\": \"0xd94e416cf2c7167608b2515b7e4102b41efff94f\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000000144174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000009c7bad99688a55a2e83644bfaed09e62bdcccba00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000248f283970000000000000000000000000ad5b57feb77e294fd7bf5ebe9ab01caa0a90b221000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c368801fb4d3cb591cd71eee38abb07aa44a0d98e910633cad9b7bb7038104b30c596179bb37f0812be9479db30403a40dde8d3b0381d38da214b2fc085eb361ef1bb2f22c2e66a59a608970e64431ff501ecfd4af1778dd4aa76d1d7e892dc0c9e713bf51cd51005e66c18fa6e65e1437236f125691cb674fb3da6028b223c646bf1c894251e5b2cfe7a5978c377c6b246e4fed1c016c365ac765d6b6a90e59ae66e2204fc53714955405be5a8154014f3d428277ec8354fb3d382c6f7249ec9a44b21c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000009000000000000000000000000644e3dedb0e4f83bfcf8f9992964d240224b74dc0000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0x5b38dba51d06af67a719dab2aa147421ed772a44065bd3d259b0f396e3787208\",\n          \"blockNumber\": \"0x1dd0dd0\",\n          \"transactionHash\": \"0x3e6e5afba12c7f16b52e0ca4c6ef3d7e069d39d91dda86672d7f8231cf79a351\",\n          \"transactionIndex\": \"0x90\",\n          \"logIndex\": \"0x166\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x09c7bad99688a55a2e83644bfaed09e62bdcccba\",\n          \"topics\": [\n            \"0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f\"\n          ],\n          \"data\": \"0x000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f000000000000000000000000ad5b57feb77e294fd7bf5ebe9ab01caa0a90b221\",\n          \"blockHash\": \"0x5b38dba51d06af67a719dab2aa147421ed772a44065bd3d259b0f396e3787208\",\n          \"blockNumber\": \"0x1dd0dd0\",\n          \"transactionHash\": \"0x3e6e5afba12c7f16b52e0ca4c6ef3d7e069d39d91dda86672d7f8231cf79a351\",\n          \"transactionIndex\": \"0x90\",\n          \"logIndex\": \"0x167\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd94e416cf2c7167608b2515b7e4102b41efff94f\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x92e349a39ace7e6b34f188a34b38fcbc9beba9311fe7d4883532a96e4d497cf00000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x5b38dba51d06af67a719dab2aa147421ed772a44065bd3d259b0f396e3787208\",\n          \"blockNumber\": \"0x1dd0dd0\",\n          \"transactionHash\": \"0x3e6e5afba12c7f16b52e0ca4c6ef3d7e069d39d91dda86672d7f8231cf79a351\",\n          \"transactionIndex\": \"0x90\",\n          \"logIndex\": \"0x168\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400100000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000008000000800000000000000000000000000000000010000000000000000000000000000000000000000000000000800000000000000400000000000000000004000000000000000000000000000000000000000000000000000000000000020000000000000400000000000000020000000000020000000000100000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x3e6e5afba12c7f16b52e0ca4c6ef3d7e069d39d91dda86672d7f8231cf79a351\",\n      \"transactionIndex\": \"0x90\",\n      \"blockHash\": \"0x5b38dba51d06af67a719dab2aa147421ed772a44065bd3d259b0f396e3787208\",\n      \"blockNumber\": \"0x1dd0dd0\",\n      \"gasUsed\": \"0x16642\",\n      \"effectiveGasPrice\": \"0xd306a\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0xd94e416cf2c7167608b2515b7e4102b41efff94f\",\n      \"contractAddress\": null,\n      \"l1BaseFeeScalar\": \"0x8dd\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0x101c12\",\n      \"l1Fee\": \"0x2cf5a480b\",\n      \"l1GasPrice\": \"0x38857e49\",\n      \"l1GasUsed\": \"0x15e9\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1749317765,\n  \"chain\": 8453,\n  \"commit\": \"2ac0ef1\"\n}"
  },
  {
    "path": "mainnet/2025-04-07-update-fee-disperser-ownership/script/OwnershipTransfer.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\n\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Proxy} from \"@eth-optimism-bedrock/src/universal/Proxy.sol\";\nimport {AddressAliasHelper} from \"@eth-optimism-bedrock/src/vendor/AddressAliasHelper.sol\";\n\ncontract OwnershipTransfer is MultisigScript {\n    using AddressAliasHelper for address;\n\n    address public immutable OWNER_SAFE;\n    address public immutable L1_SAFE;\n    address public immutable TARGET;\n\n    bytes32 public constant ADMIN_SLOT = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n        L1_SAFE = vm.envAddress(\"L1_SAFE\");\n        TARGET = vm.envAddress(\"TARGET\");\n    }\n\n    // Confirm the aliased L1 proxy admin owner is now the owner of the fee dispurser\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal override {\n        address expectedAdmin = L1_SAFE.applyL1ToL2Alias();\n\n        vm.prank(expectedAdmin);\n        address admin = Proxy(payable(TARGET)).admin();\n\n        require(admin == expectedAdmin, \"Admin is not L1_SAFE\");\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) {\n        IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n\n        calls[0] = IMulticall3.Call3Value({\n            target: TARGET,\n            allowFailure: false,\n            callData: abi.encodeCall(Proxy.changeAdmin, (L1_SAFE.applyL1ToL2Alias())),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "mainnet/2025-04-23-upgrade-fault-proofs/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: deploy\ndeploy:\n\tforge script --rpc-url $(L1_RPC_URL) DeployDisputeGames \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv\n\n.PHONY: sign-op\nsign-op:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeDGF \\\n\t--sig \"sign(address[])\" [$(OP_SIGNER_SAFE_ADDR)]\n\n.PHONY: approve-op\napprove-op:\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeDGF \\\n\t--sig \"approve(address[],bytes)\" [$(OP_SIGNER_SAFE_ADDR)] $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv\n\n.PHONY: sign-cb\nsign-cb:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeDGF \\\n\t--sig \"sign(address[])\" [$(CB_SIGNER_SAFE),$(COORDINATOR_SAFE_ADDR)]\n\n.PHONY: sign-sc\nsign-sc:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeDGF \\\n\t--sig \"sign(address[])\" [$(SECURITY_COUNCIL_SAFE),$(COORDINATOR_SAFE_ADDR)]\n\n.PHONY: approve-cb\napprove-cb:\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeDGF \\\n\t--sig \"approve(address[],bytes)\" [$(CB_SIGNER_SAFE),$(COORDINATOR_SAFE_ADDR)] $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv\n\n.PHONY: approve-sc\napprove-sc:\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeDGF \\\n\t--sig \"approve(address[],bytes)\" [$(SECURITY_COUNCIL_SAFE),$(COORDINATOR_SAFE_ADDR)] $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv\n\n.PHONY: approve-coordinator\napprove-coordinator:\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeDGF \\\n\t--sig \"approve(address[],bytes)\" [$(COORDINATOR_SAFE_ADDR)] 0x \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv\n\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeDGF \\\n\t--sig \"run(bytes)\" 0x --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv\n\n.PHONY: gen-validation-op\ngen-validation-op:\n\tif [ ! -d validations ]; then mkdir validations; fi\n\t$(GOPATH)/bin/state-diff --rpc $(L1_RPC_URL) -o validations/OP.md \\\n\t-- forge script --rpc-url $(L1_RPC_URL) UpgradeDGF \\\n\t--sig \"sign(address[])\" [$(OP_SIGNER_SAFE_ADDR)] --sender 0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\n\n.PHONY: gen-validation-cb\ngen-validation-cb:\n\tif [ ! -d validations ]; then mkdir validations; fi\n\t$(GOPATH)/bin/state-diff --rpc $(L1_RPC_URL) -o validations/cb_test.md \\\n\t-- forge script --rpc-url $(L1_RPC_URL) UpgradeDGF \\\n\t--sig \"sign(address[])\" [$(CB_SIGNER_SAFE),$(COORDINATOR_SAFE_ADDR)] --sender 0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\n\n.PHONY: gen-validation-sc\ngen-validation-sc:\n\tif [ ! -d validations ]; then mkdir validations; fi\n\t$(GOPATH)/bin/state-diff --rpc $(L1_RPC_URL) -o validations/sc_test.md \\\n\t-- forge script --rpc-url $(L1_RPC_URL) UpgradeDGF \\\n\t--sig \"sign(address[])\" [$(SECURITY_COUNCIL_SAFE),$(COORDINATOR_SAFE_ADDR)] --sender 0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\n"
  },
  {
    "path": "mainnet/2025-04-23-upgrade-fault-proofs/README.md",
    "content": "# Upgrade 15 - Fault Proof Upgrades for Isthmus\n\nStatus: [EXECUTED](https://etherscan.io/tx/0x3baaa485746af0bb3d0a054a44a37c997b49b5528e0b58d351f5be05eacc2718)\n\n## Description\n\nThis task upgrades the smart contracts as part of [Upgrade 15](https://docs.optimism.io/notices/upgrade-15) (governance approval [here](https://vote.optimism.io/proposals/8705916809146420472067303211131851783087744913535435360574720946039078686841)). Several contract changes needed for Isthmus were already included in Upgrade 14, so this upgrade mostly updates the fault proof contracts to be compatible with other changes in Isthmus.\n\nThis task contains two scripts. One for deploying new versions of the `FaultDisputeGame` and `PermissionedDisputeGame` contracts, and one for updating the `DisputeGameFactory` contract to reference the new dispute game contracts.\n\nIf this is your first signing task, follow the initial setup instructions below. If you have previously signed tasks in this repo, you can skip directly to the [Procedure](#procedure).\n\n## Initial Setup\n\nThese instructions are for initial setup of your development environment to install basic tools (e.g Go, Git etc.) needed for the rest of the README.\n\n### 1. Install Homebrew\n\nOpen your terminal and run the following command:\n\n```bash\n/bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\"\n```\n\n### 2. Once the installation completes, follow next steps\n\nYou should see \"next steps\" in your terminal. Copy/paste the suggested commands. They should look like:\n\n```bash\necho >> /Users/yourname/.zprofile\n    echo 'eval \"$(/opt/homebrew/bin/brew shellenv)\"' >> /Users/yourname/.zprofile\n    eval \"$(/opt/homebrew/bin/brew shellenv)\"\n```\n\n### 3. Install Golang\n\n```bash\nbrew install go\n```\n\n### 4. Install Foundry if Needed\n\nInside Terminal run:\n\n```bash\nforge --version\n```\n\nIf you see an output that starts with `forge Version`, you have foundry installed and can proceed to the next step.\n\nIf you do not get an output from `forge --version`, you need to install foundry with:\n\n```bash\ncurl -L https://foundry.paradigm.xyz | bash\n```\n\nAfter installation completes, quit / re-open your terminal and run:\n\n```bash\nfoundryup\n```\n\nIf you see a `libusb` warning (`warning: libusb not found...`), you can safely ignore it and continue to the next step.\n\n### 5. Make a free [Tenderly](https://tenderly.co/) account if you don't already have one.\n\nWe will use this later on for simulating and validating the task transaction.\n\n### 6. Clone Repo\n\nInside Terminal run:\n\n```bash\ngit clone https://github.com/base/contract-deployments.git\n```\n\n## Procedure\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd mainnet/2025-04-23-upgrade-fault-proofs\nmake deps\n```\n\n### 2. Setup Ledger\n\nConnect and unlock your Ledger with your 8-digit pin. Open the Ethereum application on Ledger so it displays the message \"Application is ready\".\n\n### 3. Produce Simulation\n\nRun one of the following commands in your terminal based on which signer you are. Please note that blind signing must first be enabled on your Ledger.\n\nSecurity Council signer:\n\n```bash\nmake sign-sc\n```\n\nCoinbase signer:\n\n```bash\nmake sign-cb\n```\n\nOptimism signer:\n\n```bash\nmake sign-op\n```\n\nYou will see a \"Simulation link\" from the output (yes, it's a big link). Paste the URL from your terminal in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary.\n\nIf you see the following text after the link in your terminal, \"Insert the following hex into the 'Raw input data' field:\", the following 2 steps are required.\n\n1. Click the \"Enter raw input data\" option towards the bottom of the `Contract` component on the left side of your screen in Tenderly.\n2. Paste the data string below \"Insert the following hex into the 'Raw input data' field:\" in your terminal into the \"Raw input data\" field.\n\nClick \"Simulate Transaction\".\n\nExample link below (just for reference):\n\n```txt\nhttps://dashboard.tenderly.co/TENDERLY_USERNAME/TENDERLY_PROJECT/simulator/new?network=1&contractAddress=0xcA11bde05977b3631167028862bE2a173976CA11&from=0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38&stateOverrides=%5B%7B\"contractAddress\":\"0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd\",\"storage\":%5B%7B\"key\":\"0x0000000000000000000000000000000000000000000000000000000000000004\",\"value\":\"0x0000000000000000000000000000000000000000000000000000000000000001\"%7D,%7B\"key\":\"0x0000000000000000000000000000000000000000000000000000000000000003\",\"value\":\"0x0000000000000000000000000000000000000000000000000000000000000001\"%7D,%7B\"key\":\"0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0\",\"value\":\"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca11\"%7D,%7B\"key\":\"0x316a0aac0d94f5824f0b66f5bbe94a8c360a17699a1d3a233aafcf7146e9f11c\",\"value\":\"0x0000000000000000000000000000000000000000000000000000000000000001\"%7D%5D%7D,%7B\"contractAddress\":\"0x9855054731540A48b28990B63DcF4f33d8AE46A1\",\"storage\":%5B%7B\"key\":\"0x0000000000000000000000000000000000000000000000000000000000000004\",\"value\":\"0x0000000000000000000000000000000000000000000000000000000000000001\"%7D%5D%7D,%7B\"contractAddress\":\"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\"storage\":%5B%7B\"key\":\"0x0000000000000000000000000000000000000000000000000000000000000004\",\"value\":\"0x0000000000000000000000000000000000000000000000000000000000000001\"%7D%5D%7D%5D\n```\n\n### 4. Validate Simulation\n\nWe will be performing 3 validations and extract the domain hash and message hash to approve on your Ledger:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n> [!NOTE]\n> Ensure you have \"Dev Mode\" turned on in Tenderly for these validations. This switch is usually located towards the top right of the Tenderly UI.\n\n#### 4.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Summary\" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not see the derivation path Note above.\n\n#### 4.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab.\n\n- If **Security Council Signer** refer to the [Security Council State Validations](./validations/SC.md) instructions for the transaction you are signing.\n\n- If **CB Signer** refer to the [CB State Validations](./validations/CB.md) instructions for the transaction you are signing.\n\n- If **OP Signer** refer to the [OP State Validations](./validations/OP.md) instructions for the transaction you are signing.\n\nOnce complete return to this document to complete the signing.\n\n#### 4.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve.\n\nGo back to the \"Summary\" tab in the Tenderly UI, and find the `Safe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger.\n\nIt will be a concatenation of `0x1901`, the domain hash, and the message hash, in the format: **`0x1901[domain hash][message hash]`**.\n\nNote down this value. You will need to compare it with the ones displayed on the Ledger screen at signing.\n\n### 5. Sign the Transaction\n\nOnce the validations are done, it's time to actually sign the transaction.\n\n**Note: if your ledger is displaying the lock screen, you will need to unlock your Ledger again before running the sign command.**\n\n> [!WARNING]\n> This is the most security critical part of the playbook: make sure the\n> domain hash and message hash in the following two places match:\n>\n> 1. On your Ledger screen.\n> 2. In the Tenderly simulation. You should use the same Tenderly\n>    simulation as the one you used to verify the state diffs, instead\n>    of opening the new one printed in the console.\n>\n> There is no need to verify anything printed in the console. There is\n> no need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this:\n\n```shell\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is your ledger address.\n\n### 6. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done!\n"
  },
  {
    "path": "mainnet/2025-04-23-upgrade-fault-proofs/addresses.json",
    "content": "{\"faultDisputeGame\": \"0xab91fb6cef84199145133f75cbd96b8a31f184ed\",\"permissionedDisputeGame\": \"0x7344da3a618b86cda67f8260c0cc2027d99f5b49\"}"
  },
  {
    "path": "mainnet/2025-04-23-upgrade-fault-proofs/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 200\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n    '@lib-keccak/=lib/lib-keccak/contracts/lib',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "mainnet/2025-04-23-upgrade-fault-proofs/records/DeployDisputeGames.s.sol/1/run-1745860191.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x0d255db3c8490310d1e4559f5b3333d16875be63f94fac356388f61b0563980a\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"FaultDisputeGame\",\n      \"contractAddress\": \"0xab91fb6cef84199145133f75cbd96b8a31f184ed\",\n      \"function\": null,\n      \"arguments\": [\n        \"(0, 0x03682932cec7ce0a3874b19675a6bbc923054a7b321efc7d3835187b172494b6, 73, 30, 10800, 302400, 0xF027F4A985560fb13324e943edf55ad6F1d15Dc1, 0xa2f2aC6F5aF72e494A227d79Db20473Cf7A1FFE8, 0x496286e5eE7758de84Dd17e6d2d97afC2ACE4cc7, 8453)\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b\",\n        \"gas\": \"0x529235\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6101c06040523480156200001257600080fd5b50604051620052163803806200521683398101604081905262000035916200052d565b620000436001607e62000600565b60ff16816040015111156200006b57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000955750604081015160608201516200009290600162000626565b10155b15620000b45760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000db5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000128573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014e919062000641565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b2919062000661565b1115620001d25760405163b4e1243360e01b815260040160405180910390fd5b6000620001f782608001516001600160401b03166200048060201b62000b7f1760201c565b6200020d906001600160401b031660026200067b565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000254573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027a919062000641565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002de919062000661565b6200030184608001516001600160401b03166200048060201b62000b7f1760201c565b6001600160401b031662000316919062000626565b905060006200033183836200048360201b620030a61760201c565b90506001600160401b038111156200035c5760405163235dfb2b60e21b815260040160405180910390fd5b6200037f8460a001516001600160401b03166200048060201b62000b7f1760201c565b6001600160401b0316816001600160401b03161115620003b25760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003d9856000015163ffffffff166200048060201b62000b7f1760201c565b63ffffffff1603620003fe5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015116610160529091015161018052506200069d565b90565b600081831162000494578162000496565b825b9392505050565b60405161014081016001600160401b0381118282101715620004cf57634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004ea57600080fd5b919050565b80516001600160401b0381168114620004ea57600080fd5b6001600160a01b03811681146200051d57600080fd5b50565b8051620004ea8162000507565b600061014082840312156200054157600080fd5b6200054b6200049d565b6200055683620004d5565b81526020830151602082015260408301516040820152606083015160608201526200058460808401620004ef565b60808201526200059760a08401620004ef565b60a0820152620005aa60c0840162000520565b60c0820152620005bd60e0840162000520565b60e0820152610100620005d281850162000520565b90820152610120928301519281019290925250919050565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8416808210156200061d576200061d620005ea565b90039392505050565b600082198211156200063c576200063c620005ea565b500190565b6000602082840312156200065457600080fd5b8151620004968162000507565b6000602082840312156200067457600080fd5b5051919050565b6000816000190483118215151615620006985762000698620005ea565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516149de620008386000396000818161068c01528181611a3401528181611a9e0152611ad001526000818161098b0152612ffe01526000818161060f01528181611f960152818161203e015281816120b4015281816121ce0152612522015260008181610515015281816114b00152818161157a01528181611e1a015261245a01526000818161081c015281816124f9015261306a0152600081816104c10152818161194d01528181612bab0152612d640152600081816109de01528181610d63015281816118d601528181611aff01528181611b5a015281816126f80152612738015260008181610a11015281816117930152818161185f01528181611a6f01528181612a5401528181612ee5015281816134e401528181613a1401528181613b2f01528181613b8d0152613bd8015260008181610ab80152818161181b015281816119210152818161277c015281816127e9015281816129ed0152612a750152600081816107410152612af801526149de6000f3fe6080604052600436106102e45760003560e01c80636f03440911610190578063c395e1ca116100dc578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610a65578063fa24f74314610a85578063fa315aa914610aa9578063fe2bbeb214610adc57600080fd5b8063dabd396d146109cf578063ec5e630814610a02578063eff0f59214610a3557600080fd5b8063c395e1ca146108a8578063c6f0308c146108c8578063cf09e0d01461093c578063d5d44d801461095c578063d6ae3cd51461097c578063d8cc1a3c146109af57600080fd5b80638b85902b11610149578063bbdc02db11610123578063bbdc02db14610805578063bcef3b5514610846578063bd8da9561461085b578063c0d8bb741461087b57600080fd5b80638b85902b1461071d5780638d450a9514610732578063a445ece61461076557600080fd5b80636f034409146106b057806370872aa5146106c3578063786b844b146106d85780637b0f0adc146106ed5780638129fc1c146107005780638980e0cc1461070857600080fd5b80633a7684631161024f57806357da950e11610208578063609d3334116101e2578063609d33341461063357806360e27464146106485780636361506d146106685780636b6716c01461067d57600080fd5b806357da950e146105b05780635a5fa2d9146105e05780635c0cba331461060057600080fd5b80633a768463146104b25780633e3ac912146104e55780633fc8cef314610506578063472777c614610539578063529d6a8c1461054c57806354fd4d501461057957600080fd5b806325fc2ace116102a157806325fc2ace146103f75780632810e1d6146104165780632ad69aeb1461042b57806330dbe5701461044b578063378dd48c1461048357806337b1b2291461049d57600080fd5b806301935130146102e957806303c2924d1461030b57806319effeb41461032b578063200d2ed21461036f578063222abf451461039d578063250e69bd146103dd575b600080fd5b3480156102f557600080fd5b506103096103043660046142bd565b610b0c565b005b34801561031757600080fd5b50610309610326366004614317565b610cea565b34801561033757600080fd5b5060005461035290600160401b90046001600160401b031681565b6040516001600160401b0390911681526020015b60405180910390f35b34801561037b57600080fd5b5060005461039090600160801b900460ff1681565b6040516103669190614370565b3480156103a957600080fd5b506103cd6103b8366004614398565b600c6020526000908152604090205460ff1681565b6040519015158152602001610366565b3480156103e957600080fd5b50600a546103cd9060ff1681565b34801561040357600080fd5b506008545b604051908152602001610366565b34801561042257600080fd5b50610390611195565b34801561043757600080fd5b50610408610446366004614317565b611315565b34801561045757600080fd5b5060015461046b906001600160a01b031681565b6040516001600160a01b039091168152602001610366565b34801561048f57600080fd5b50600d546103909060ff1681565b3480156104a957600080fd5b5061046b611346565b3480156104be57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046b565b3480156104f157600080fd5b506000546103cd90600160901b900460ff1681565b34801561051257600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046b565b6103096105473660046143b5565b611357565b34801561055857600080fd5b50610408610567366004614398565b60036020526000908152604090205481565b34801561058557600080fd5b50604080518082019091526005815264312e342e3160d81b60208201525b604051610366919061442e565b3480156105bc57600080fd5b506008546009546105cb919082565b60408051928352602083019190915201610366565b3480156105ec57600080fd5b506104086105fb366004614441565b611369565b34801561060c57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046b565b34801561063f57600080fd5b506105a36113a3565b34801561065457600080fd5b50610309610663366004614398565b6113b1565b34801561067457600080fd5b5061040861164c565b34801561068957600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610352565b6103096106be366004614468565b611658565b3480156106cf57600080fd5b50600954610408565b3480156106e457600080fd5b50610309611ec9565b6103096106fb3660046143b5565b612192565b61030961219f565b34801561071457600080fd5b50600254610408565b34801561072957600080fd5b506104086125b5565b34801561073e57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610408565b34801561077157600080fd5b506107c7610780366004614441565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b03166060820152608001610366565b34801561081157600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610366565b34801561085257600080fd5b506104086125c1565b34801561086757600080fd5b50610352610876366004614441565b6125cd565b34801561088757600080fd5b50610408610896366004614398565b600b6020526000908152604090205481565b3480156108b457600080fd5b506104086108c33660046144a9565b612760565b3480156108d457600080fd5b506108e86108e3366004614441565b6128a0565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e001610366565b34801561094857600080fd5b50600054610352906001600160401b031681565b34801561096857600080fd5b50610408610977366004614398565b612913565b34801561098857600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610408565b3480156109bb57600080fd5b506103096109ca3660046144d2565b61296b565b3480156109db57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610352565b348015610a0e57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610408565b348015610a4157600080fd5b506103cd610a50366004614441565b60046020526000908152604090205460ff1681565b348015610a7157600080fd5b50610309610a803660046143b5565b612cfc565b348015610a9157600080fd5b50610a9a613068565b6040516103669392919061455d565b348015610ab557600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610408565b348015610ae857600080fd5b506103cd610af7366004614441565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610b2b57610b2b614339565b14610b495760405163067fe19560e41b815260040160405180910390fd5b600054600160901b900460ff1615610b745760405163075173a960e11b815260040160405180910390fd5b610b82610b7f6125c1565b90565b610b99610b9436869003860186614598565b6130c0565b14610bb757604051639cc00b5b60e01b815260040160405180910390fd5b82606001358282604051610bcc92919061460b565b604051809103902014610bf25760405163d81d583b60e01b815260040160405180910390fd5b6000610c3b610c3684848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061311c92505050565b613170565b90506000610c6282600881518110610c5557610c5561461b565b60200260200101516132f4565b9050602081511115610c875760405163d81d583b60e01b815260040160405180910390fd5b602081810151825190910360031b1c610c9e6125b5565b8103610cbd57604051630b8ed88360e41b815260040160405180910390fd5b5050600180546001600160a01b0319163317905550506000805460ff60901b1916600160901b1790555050565b60008054600160801b900460ff166002811115610d0957610d09614339565b14610d275760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610d3c57610d3c61461b565b906000526020600020906005020190506000610d57846125cd565b90506001600160401b037f000000000000000000000000000000000000000000000000000000000000000081169082161015610da65760405163f2440b5360e01b815260040160405180910390fd5b60008481526006602052604090205460ff1615610dd65760405163f1a9458160e01b815260040160405180910390fd5b6000848152600560205260409020805480158015610df357508515155b15610e55578354600160201b90046001600160a01b031660008115610e185781610e27565b60018601546001600160a01b03165b9050610e338187613376565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b03166060830152610ed9576001600160801b036040820152600181526000869003610ed9578195505b600086826020015163ffffffff16610ef19190614647565b90506000838211610f025781610f04565b835b602084015190915063ffffffff165b8181101561100a576000868281548110610f2f57610f2f61461b565b6000918252602080832090910154808352600690915260409091205490915060ff16610f6e57604051634d03b32360e11b815260040160405180910390fd5b600060028281548110610f8357610f8361461b565b600091825260209091206005909102018054909150600160201b90046001600160a01b0316158015610fc95750600481015460408701516001600160801b039182169116115b15610ff55760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b505080806110029061465f565b915050610f13565b5063ffffffff818116602085810191825260008c815260079091526040908190208651815493519288015164ffffffffff1990941690151564ffffffff00191617610100929094169182029390931774ffffffffffffffffffffffffffffffff00000000001916650100000000006001600160801b03909316929092029190911782556060850151600190920180546001600160a01b0319166001600160a01b039093169290921790915584900361118a57606083015160008a8152600660205260409020805460ff19166001179055891580156110f15750600054600160901b900460ff165b15611137576001546001600160a01b031661110c818a613376565b88546001600160a01b03909116600160201b02640100000000600160c01b0319909116178855611188565b6111646001600160a01b0382161561114f578161115e565b60018901546001600160a01b03165b89613376565b8754640100000000600160c01b031916600160201b6001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156111b6576111b6614339565b146111d45760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff1661121f57604051634d03b32360e11b815260040160405180910390fd5b60006001600160a01b0316600260008154811061123e5761123e61461b565b6000918252602090912060059091020154600160201b90046001600160a01b03161461126b57600161126e565b60025b600080546001600160401b034216600160401b026fffffffffffffffff000000000000000019821681178355929350839260ff60801b191670ffffffffffffffffff00000000000000001990911617600160801b8360028111156112d4576112d4614339565b0217905560028111156112e9576112e9614339565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061133157600080fd5b90600052602060002001600091509150505481565b600061135260006133b8565b905090565b6113648383836001611658565b505050565b6000818152600760209081526040808320600590925282208054825461139a90610100900463ffffffff1682614678565b95945050505050565b6060611352605460206133db565b6113b9611ec9565b60006002600d5460ff1660028111156113d4576113d4614339565b036113f857506001600160a01b0381166000908152600b602052604090205461144e565b6001600d5460ff16600281111561141157611411614339565b0361143557506001600160a01b03811660009081526003602052604090205461144e565b6040516301e28f7d60e21b815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff16611512576001600160a01b038281166000818152600c602052604090819020805460ff1916600117905551637eee288d60e01b81526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b1580156114f657600080fd5b505af115801561150a573d6000803e3d6000fd5b505050505050565b80600003611533576040516317bfe5f760e01b815260040160405180910390fd5b6001600160a01b038281166000818152600b602090815260408083208390556003909152808220919091555163f3fef3a360e01b81526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b1580156115c057600080fd5b505af11580156115d4573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611625576040519150601f19603f3d011682016040523d82523d6000602084013e61162a565b606091505b5050905080611364576040516383e6cc6b60e01b815260040160405180910390fd5b6000611352603461341d565b60008054600160801b900460ff16600281111561167757611677614339565b146116955760405163067fe19560e41b815260040160405180910390fd5b6000600284815481106116aa576116aa61461b565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b03600160201b90910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c0820152915085146117545760405163180a019960e11b815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000611781826001600160801b031661343d565b60ff1690508615806117bc57506117b97f00000000000000000000000000000000000000000000000000000000000000006002614647565b81145b80156117c6575084155b156117e4576040516329098def60e21b815260040160405180910390fd5b600054600160901b900460ff1680156117fb575086155b156118195760405163075173a960e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000081111561185a576040516356f57b2b60e01b815260040160405180910390fd5b6118857f00000000000000000000000000000000000000000000000000000000000000006001614647565b810361189757611897868885886134a9565b346118a183612760565b146118bf57604051638620aa1960e01b815260040160405180910390fd5b60006118ca886125cd565b90506001600160401b037f000000000000000000000000000000000000000000000000000000000000000081169082160361191857604051630ce0744560e21b815260040160405180910390fd5b600061194560017f0000000000000000000000000000000000000000000000000000000000000000614678565b8303611a68577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119cd919061468f565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a2e91906146ac565b611a61907f00000000000000000000000000000000000000000000000000000000000000006001600160401b03166146c5565b9050611af9565b611a9360017f0000000000000000000000000000000000000000000000000000000000000000614678565b8303611acd57611a617f00000000000000000000000000000000000000000000000000000000000000006001600160401b031660026146f0565b507f00000000000000000000000000000000000000000000000000000000000000006001600160401b03165b611b2c817f00000000000000000000000000000000000000000000000000000000000000006001600160401b031661471f565b6001600160401b0316611b45836001600160401b031690565b6001600160401b03161115611b8a57611b87817f00000000000000000000000000000000000000000000000000000000000000006001600160401b031661471f565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff1615611be6576040516380497e3b60e01b815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c81526020019081526020016000206001600280549050611ddd9190614678565b81546001810183556000928352602080842090910191909155338252600b9052604081208054349290611e11908490614647565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015611e7357600080fd5b505af1158015611e87573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b6002600d5460ff166002811115611ee257611ee2614339565b1480611f0457506001600d5460ff166002811115611f0257611f02614339565b145b15611f0b57565b6000600d5460ff166002811115611f2457611f24614339565b14611f42576040516301e28f7d60e21b815260040160405180910390fd5b600054600160401b90046001600160401b03166001600160401b0316600003611f7e57604051636082930560e11b815260040160405180910390fd5b604051630314d2b360e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015611fe5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120099190614747565b90508061202957604051634851bd9b60e01b815260040160405180910390fd5b6040516317cf21a960e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561208a57600080fd5b505af192505050801561209b575060015b506040516324b5ce0b60e11b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa158015612103573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121279190614747565b9050801561214157600d805460ff1916600117905561214f565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f916121869160ff90911690614370565b60405180910390a15050565b6113648383836000611658565b600054600160881b900460ff16156121c95760405162dc149f60e41b815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015612229573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061224d9190614764565b90925090508161227057604051633535e1d960e11b815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146122a357639824bdab6000526004601cfd5b806122ac6125b5565b116122de576122b96125c1565b60405163f40239db60e01b81526004016122d591815260200190565b60405180910390fd5b6040805160e08101825263ffffffff8152600060208201526002918101612303611346565b6001600160a01b03168152602001346001600160801b031681526020016123286125c1565b815260016020820152604001426001600160801b0390811690915282546001808201855560009485526020808620855160059094020180549186015163ffffffff9094166001600160c01b031990921691909117600160201b6001600160a01b0394851602178155604085015191810180546001600160a01b031916929093169190911790915560608301516002820180546fffffffffffffffffffffffffffffffff19169184169190911790556080830151600382015560a083015160c090930151928216600160801b9390921692909202176004909101558054600160881b60ff60881b199091161781553490600b90612422611346565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008282546124519190614647565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156124b357600080fd5b505af11580156124c7573d6000803e3d6000fd5b50506000805467ffffffffffffffff1916426001600160401b0316179055505060408051630f27ce5f60e21b815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015612575573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125999190614788565b600a805460ff191663ffffffff92909216929092141790555050565b6000611352605461341d565b6000611352601461341d565b600080600054600160801b900460ff1660028111156125ee576125ee614339565b1461260c5760405163067fe19560e41b815260040160405180910390fd5b6000600283815481106126215761262161461b565b600091825260208220600590910201805490925063ffffffff9081161461268757815460028054909163ffffffff1690811061265f5761265f61461b565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b60048201546000906126b090600160801b90046001600160401b03165b6001600160401b031690565b6126c3906001600160401b031642614678565b6126d96126a4846001600160801b031660401c90565b6001600160401b03166126ec9190614647565b90506001600160401b037f0000000000000000000000000000000000000000000000000000000000000000166001600160401b0316816001600160401b031611612736578061139a565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612775836001600160801b031661343d565b60ff1690507f00000000000000000000000000000000000000000000000000000000000000008111156127bb576040516356f57b2b60e01b815260040160405180910390fd5b642e90edd00062061a806311e1a30060006127d683836147c4565b9050670de0b6b3a7640000600061280d827f00000000000000000000000000000000000000000000000000000000000000006147d8565b9050600061282b612826670de0b6b3a7640000866147d8565b61359e565b9050600061283984846137b4565b905060006128478383613803565b9050600061285482613831565b905060006128738261286e670de0b6b3a76400008f6147d8565b6139ae565b905060006128818b83613803565b905061288d818d6147d8565b9f9e505050505050505050505050505050565b600281815481106128b057600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff84169550600160201b9093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff16600281111561292e5761292e614339565b0361294f57506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b60008054600160801b900460ff16600281111561298a5761298a614339565b146129a85760405163067fe19560e41b815260040160405180910390fd5b6000600287815481106129bd576129bd61461b565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b9050612a137f00000000000000000000000000000000000000000000000000000000000000006001614647565b612a25826001600160801b031661343d565b60ff1614612a4657604051630bea7bb360e31b815260040160405180910390fd5b6000808915612b2257612a997f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000614678565b6001901b612aaf846001600160801b03166139df565b6001600160801b0316612ac291906147f7565b15612af657612aed612ade60016001600160801b03871661480b565b865463ffffffff1660006139fd565b60030154612b18565b7f00000000000000000000000000000000000000000000000000000000000000005b9150849050612b43565b60038501549150612b40612ade6001600160801b038616600161482b565b90505b600882901b60088a8a604051612b5a92919061460b565b6040518091039020901b14612b825760405163696550ff60e01b815260040160405180910390fd5b6000612b8d8c613ac6565b90506000612b9c836003015490565b6040516370a6769960e11b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced3290612bf0908f908f908f908f908a90600401614876565b6020604051808303816000875af1158015612c0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c3391906146ac565b600485015491149150600090600290612c54906001600160801b031661343d565b612c66896001600160801b031661343d565b612c7091906148b0565b612c7a91906148d3565b60ff161590508115158103612ca25760405163fb4e40dd60e01b815260040160405180910390fd5b8754600160201b90046001600160a01b031615612cd257604051639071e6af60e01b815260040160405180910390fd5b50508554640100000000600160c01b03191633600160201b02179095555050505050505050505050565b60008054600160801b900460ff166002811115612d1b57612d1b614339565b14612d395760405163067fe19560e41b815260040160405180910390fd5b600080600080612d4886613af5565b93509350935093506000612d5e85858585613d64565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612dc0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612de4919061468f565b905060018903612e8e576001600160a01b0381166352f0f3ad8a84612e0a610b7f61164c565b6040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af1158015612e64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e8891906146ac565b5061118a565b60028903612ead576001600160a01b0381166352f0f3ad8a8489612e0a565b60038903612ecc576001600160a01b0381166352f0f3ad8a8487612e0a565b60048903612fd9576000612f096001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000613e03565b600954612f169190614647565b612f21906001614647565b9050612f2b6125b5565b8110612f3e57612f396125b5565b612f40565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b6001600160e01b03191681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015612fae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fd291906146ac565b505061118a565b6005890361304c576040516352f0f3ad60e01b8152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a401612e45565b604051600162ec819b60e01b0319815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000600060606130956125c1565b915061309f6113a3565b9050909192565b60008183116130b557816130b7565b825b90505b92915050565b600081600001518260200151836040015184606001516040516020016130ff949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b6040805180820190915260008082526020820152815160000361315257604051635ab458fb60e01b815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b6060600080600061318085613e30565b91945092509050600181600181111561319b5761319b614339565b146131b9576040516325ce355f60e11b815260040160405180910390fd5b84516131c58385614647565b146131e357604051630b8aa6f760e31b815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816131fa5790505093506000835b86518110156132e85760008061326d6040518060400160405280858c600001516132519190614678565b8152602001858c602001516132669190614647565b9052613e30565b5091509150604051806040016040528083836132899190614647565b8152602001848b6020015161329e9190614647565b8152508885815181106132b3576132b361461b565b60209081029190910101526132c9600185614647565b93506132d58183614647565b6132df9084614647565b92505050613227565b50845250919392505050565b6060600080600061330485613e30565b91945092509050600081600181111561331f5761331f614339565b1461333d576040516307fe6cb960e21b815260040160405180910390fd5b6133478284614647565b85511461336757604051630b8aa6f760e31b815260040160405180910390fd5b61139a85602001518484614126565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b03909316929091906133af908490614647565b90915550505050565b6000806133cd3660011981013560f01c900390565b929092013560601c92915050565b606060006133f13660011981013560f01c900390565b905060405191508282528284820160208401378260208301016000815260208101604052505092915050565b6000806134323660011981013560f01c900390565b929092013592915050565b7e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b6001600160401b03831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60006134bf6001600160801b038416600161482b565b905060006134cf828660016139fd565b9050600086901a8380613531575061350860027f00000000000000000000000000000000000000000000000000000000000000006147f7565b6004830154600290613522906001600160801b031661343d565b61352c91906148d3565b60ff16145b156135705760ff81166001148061354b575060ff81166002145b61356b5760405163f40239db60e01b8152600481018890526024016122d5565b613595565b60ff8116156135955760405163f40239db60e01b8152600481018890526024016122d5565b50505050505050565b6001600160801b03811160071b81811c6001600160401b031060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b17600082136135f357631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a7640000021582026137f157637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b6000816000190483118202156138215763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b600068023f2fa8f6da5b9d2819821361384957919050565b680755bf798b4a1bf1e582126138675763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b60006130b7670de0b6b3a7640000836139c68661359e565b6139d091906148f5565b6139da919061497a565b613831565b6000806139eb8361343d565b600160ff919091161b90920392915050565b60008082613a3d57613a386001600160801b0386167f00000000000000000000000000000000000000000000000000000000000000006141ba565b613a4f565b613a4f856001600160801b0316614229565b905060028481548110613a6457613a6461461b565b906000526020600020906005020191505b60048201546001600160801b03828116911614613abe57815460028054909163ffffffff16908110613aa957613aa961461b565b90600052602060002090600502019150613a75565b509392505050565b6000806000806000613ad786613af5565b9350935093509350613aeb84848484613d64565b9695505050505050565b6000806000806000859050600060028281548110613b1557613b1561461b565b6000918252602090912060059091020160048101549091507f000000000000000000000000000000000000000000000000000000000000000090613b61906001600160801b031661343d565b60ff1611613b82576040516359a5ae1160e11b815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090613bbf906001600160801b031661343d565b60ff169250821115613c3457825463ffffffff16613bfe7f00000000000000000000000000000000000000000000000000000000000000006001614647565b8303613c08578391505b60028181548110613c1b57613c1b61461b565b9060005260206000209060050201935080945050613b86565b600481810154908401546001600160801b0391821691166000816001600160801b0316613c79613c6d856001600160801b031660011c90565b6001600160801b031690565b6001600160801b03161490508015613d12576000613c9f836001600160801b03166139df565b6001600160801b03161115613cef576000613ccf613cc760016001600160801b03861661480b565b8960016139fd565b6003810154600490910154909c506001600160801b03169a50613cf59050565b6008549a505b600386015460048701549099506001600160801b03169750613d56565b6000613d2b613cc76001600160801b038516600161482b565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b03841615613dbf5760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a0016040516020818303038152906040528051906020012061139a565b8282604051602001613de49291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080613e0f8461343d565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003613e5a57604051635ab458fb60e01b815260040160405180910390fd5b6020840151805160001a607f8111613e7f57600060016000945094509450505061411f565b60b78111613f17576000613e94608083614678565b905080876000015111613eba576040516366c9448560e01b815260040160405180910390fd5b6001838101516001600160f81b0319169082148015613ee65750600160ff1b6001600160f81b03198216105b15613f045760405163babb01dd60e01b815260040160405180910390fd5b506001955093506000925061411f915050565b60bf8111613ff9576000613f2c60b783614678565b905080876000015111613f52576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b0319166000819003613f835760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c60378111613fb25760405163babb01dd60e01b815260040160405180910390fd5b613fbc8184614647565b895111613fdc576040516366c9448560e01b815260040160405180910390fd5b613fe7836001614647565b975095506000945061411f9350505050565b60f7811161404557600061400e60c083614678565b905080876000015111614034576040516366c9448560e01b815260040160405180910390fd5b60019550935084925061411f915050565b600061405260f783614678565b905080876000015111614078576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b03191660008190036140a95760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c603781116140d85760405163babb01dd60e01b815260040160405180910390fd5b6140e28184614647565b895111614102576040516366c9448560e01b815260040160405180910390fd5b61410d836001614647565b975095506001945061411f9350505050565b9193909250565b6060816001600160401b0381111561414057614140614582565b6040519080825280601f01601f19166020018201604052801561416a576020820181803683370190505b50905081156141b357600061417f8486614647565b90506020820160005b848110156141a0578281015182820152602001614188565b848111156141af576000858301525b5050505b9392505050565b6000816141cf846001600160801b031661343d565b60ff16116141e55763b34b5c226000526004601cfd5b6141ee83614229565b905081614203826001600160801b031661343d565b60ff16116130ba576130b7614219836001614647565b6001600160801b0383169061424d565b6000811960018301168161423c8261343d565b60ff169390931c8015179392505050565b6000806142598461343d565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261428757600080fd5b5081356001600160401b0381111561429e57600080fd5b6020830191508360208285010111156142b657600080fd5b9250929050565b600080600083850360a08112156142d357600080fd5b60808112156142e157600080fd5b5083925060808401356001600160401b038111156142fe57600080fd5b61430a86828701614275565b9497909650939450505050565b6000806040838503121561432a57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061436d57634e487b7160e01b600052602160045260246000fd5b50565b6020810161437d8361434f565b91905290565b6001600160a01b038116811461436d57600080fd5b6000602082840312156143aa57600080fd5b81356141b381614383565b6000806000606084860312156143ca57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b81811015614407576020818501810151868301820152016143eb565b81811115614419576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006130b760208301846143e1565b60006020828403121561445357600080fd5b5035919050565b801515811461436d57600080fd5b6000806000806080858703121561447e57600080fd5b843593506020850135925060408501359150606085013561449e8161445a565b939692955090935050565b6000602082840312156144bb57600080fd5b81356001600160801b03811681146141b357600080fd5b600080600080600080608087890312156144eb57600080fd5b8635955060208701356144fd8161445a565b945060408701356001600160401b038082111561451957600080fd5b6145258a838b01614275565b9096509450606089013591508082111561453e57600080fd5b5061454b89828a01614275565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061139a60608301846143e1565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156145aa57600080fd5b604051608081018181106001600160401b03821117156145da57634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561465a5761465a614631565b500190565b60006001820161467157614671614631565b5060010190565b60008282101561468a5761468a614631565b500390565b6000602082840312156146a157600080fd5b81516141b381614383565b6000602082840312156146be57600080fd5b5051919050565b60006001600160401b038083168185168083038211156146e7576146e7614631565b01949350505050565b60006001600160401b038083168185168183048111821515161561471657614716614631565b02949350505050565b60006001600160401b038381169083168181101561473f5761473f614631565b039392505050565b60006020828403121561475957600080fd5b81516141b38161445a565b6000806040838503121561477757600080fd5b505080516020909101519092909150565b60006020828403121561479a57600080fd5b815163ffffffff811681146141b357600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826147d3576147d36147ae565b500490565b60008160001904831182151516156147f2576147f2614631565b500290565b600082614806576148066147ae565b500690565b60006001600160801b038381169083168181101561473f5761473f614631565b60006001600160801b038083168185168083038211156146e7576146e7614631565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60608152600061488a60608301878961484d565b828103602084015261489d81868861484d565b9150508260408301529695505050505050565b600060ff821660ff8416808210156148ca576148ca614631565b90039392505050565b600060ff8316806148e6576148e66147ae565b8060ff84160691505092915050565b60006001600160ff1b038184138284138082168684048611161561491b5761491b614631565b600160ff1b600087128281168783058912161561493a5761493a614631565b6000871292508782058712848416161561495657614956614631565b8785058712818416161561496c5761496c614631565b505050929093029392505050565b600082614989576149896147ae565b600160ff1b8214600019841416156149a3576149a3614631565b50059056fea264697066735822122042af6780a7c8dda46d8b2a5e18225ee0551564fb98a13883feff792f9f9e94d364736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000000003682932cec7ce0a3874b19675a6bbc923054a7b321efc7d3835187b172494b60000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d40000000000000000000000000f027f4a985560fb13324e943edf55ad6f1d15dc1000000000000000000000000a2f2ac6f5af72e494a227d79db20473cf7a1ffe8000000000000000000000000496286e5ee7758de84dd17e6d2d97afc2ace4cc70000000000000000000000000000000000000000000000000000000000002105\",\n        \"nonce\": \"0x6\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xaf6a01bd98b0ad5b06f96c78a218b4df164643844fd7cd602b70b9e1d12e07e6\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"PermissionedDisputeGame\",\n      \"contractAddress\": \"0x7344da3a618b86cda67f8260c0cc2027d99f5b49\",\n      \"function\": null,\n      \"arguments\": [\n        \"(1, 0x03682932cec7ce0a3874b19675a6bbc923054a7b321efc7d3835187b172494b6, 73, 30, 10800, 302400, 0xF027F4A985560fb13324e943edf55ad6F1d15Dc1, 0x3E8a0B63f57e975c268d610ece93da5f78c01321, 0x496286e5eE7758de84Dd17e6d2d97afC2ACE4cc7, 8453)\",\n        \"0x642229f238fb9dE03374Be34B0eD8D9De80752c5\",\n        \"0x8Ca1E12404d16373Aef756179B185F27b2994F3a\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b\",\n        \"gas\": \"0x54ce60\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6102006040523480156200001257600080fd5b50604051620054a0380380620054a083398101604081905262000035916200053b565b82620000446001607e6200064a565b60ff16816040015111156200006c57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000965750604081015160608201516200009390600162000670565b10155b15620000b55760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000dc5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000129573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014f91906200068b565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b39190620006ab565b1115620001d35760405163b4e1243360e01b815260040160405180910390fd5b6000620001f882608001516001600160401b03166200048e60201b62000c1b1760201c565b6200020e906001600160401b03166002620006c5565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000255573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027b91906200068b565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002df9190620006ab565b6200030284608001516001600160401b03166200048e60201b62000c1b1760201c565b6001600160401b031662000317919062000670565b905060006200033283836200049160201b620022951760201c565b90506001600160401b038111156200035d5760405163235dfb2b60e21b815260040160405180910390fd5b620003808460a001516001600160401b03166200048e60201b62000c1b1760201c565b6001600160401b0316816001600160401b03161115620003b35760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003da856000015163ffffffff166200048e60201b62000c1b1760201c565b63ffffffff1603620003ff5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015181166101605292015161018052509182166101c052166101e05250620006e7565b90565b6000818311620004a25781620004a4565b825b9392505050565b60405161014081016001600160401b0381118282101715620004dd57634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004f857600080fd5b919050565b80516001600160401b0381168114620004f857600080fd5b6001600160a01b03811681146200052b57600080fd5b50565b8051620004f88162000515565b60008060008385036101808112156200055357600080fd5b610140808212156200056457600080fd5b6200056e620004ab565b91506200057b86620004e3565b8252602086015160208301526040860151604083015260608601516060830152620005a960808701620004fd565b6080830152620005bc60a08701620004fd565b60a0830152620005cf60c087016200052e565b60c0830152620005e260e087016200052e565b60e0830152610100620005f78188016200052e565b8184015250610120808701518184015250819450620006188187016200052e565b935050506200062b61016085016200052e565b90509250925092565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168082101562000667576200066762000634565b90039392505050565b6000821982111562000686576200068662000634565b500190565b6000602082840312156200069e57600080fd5b8151620004a48162000515565b600060208284031215620006be57600080fd5b5051919050565b6000816000190483118215151615620006e257620006e262000634565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051614be5620008bb600039600081816105be015281816117310152611e9e01526000818161087d015281816116ff01528181611a630152611e6c0152600081816106f501528181612a0801528181612a720152612aa4015260008181610a2701526121ed0152600081816106780152818161184f015281816118f70152818161196d01528181612ecc015261322001526000818161054b0152818161154c0152818161161601528181612dee01526131580152600081816108b80152818161225901526131f70152600081816104f701528181611f530152818161292101526139a0015260008181610a7a01528181610dff01528181611bee01528181611c2e015281816128aa01528181612ad30152612b2e015260008181610aad015281816120d4015281816127670152818161283301528181612a430152818161384901528181613b2b01528181613b8901528181613bd4015281816141f101526142e0015260008181610b5401528181611c7201528181611cdf015281816127ef015281816128f5015281816137e2015261386a0152600081816107aa01526138ed0152614be56000f3fe60806040526004361061031a5760003560e01c80636f034409116101ab578063c0d8bb74116100f7578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b01578063fa24f74314610b21578063fa315aa914610b45578063fe2bbeb214610b7857600080fd5b8063dabd396d14610a6b578063ec5e630814610a9e578063eff0f59214610ad157600080fd5b8063cf09e0d0116100d1578063cf09e0d0146109d8578063d5d44d80146109f8578063d6ae3cd514610a18578063d8cc1a3c14610a4b57600080fd5b8063c0d8bb7414610917578063c395e1ca14610944578063c6f0308c1461096457600080fd5b80638b85902b11610164578063a8e4fb901161013e578063a8e4fb901461086e578063bbdc02db146108a1578063bcef3b55146108e2578063bd8da956146108f757600080fd5b80638b85902b146107865780638d450a951461079b578063a445ece6146107ce57600080fd5b80636f0344091461071957806370872aa51461072c578063786b844b146107415780637b0f0adc146107565780638129fc1c146107695780638980e0cc1461077157600080fd5b80633e3ac9121161026a57806357da950e11610223578063609d3334116101fd578063609d33341461069c57806360e27464146106b15780636361506d146106d15780636b6716c0146106e657600080fd5b806357da950e146106195780635a5fa2d9146106495780635c0cba331461066957600080fd5b80633e3ac9121461051b5780633fc8cef31461053c578063472777c61461056f578063529d6a8c14610582578063534db0e2146105af57806354fd4d50146105e257600080fd5b806325fc2ace116102d757806330dbe570116102b157806330dbe57014610481578063378dd48c146104b957806337b1b229146104d35780633a768463146104e857600080fd5b806325fc2ace1461042d5780632810e1d61461044c5780632ad69aeb1461046157600080fd5b8063019351301461031f57806303c2924d1461034157806319effeb414610361578063200d2ed2146103a5578063222abf45146103d3578063250e69bd14610413575b600080fd5b34801561032b57600080fd5b5061033f61033a3660046144c4565b610ba8565b005b34801561034d57600080fd5b5061033f61035c36600461451e565b610d86565b34801561036d57600080fd5b5060005461038890600160401b90046001600160401b031681565b6040516001600160401b0390911681526020015b60405180910390f35b3480156103b157600080fd5b506000546103c690600160801b900460ff1681565b60405161039c9190614577565b3480156103df57600080fd5b506104036103ee36600461459f565b600c6020526000908152604090205460ff1681565b604051901515815260200161039c565b34801561041f57600080fd5b50600a546104039060ff1681565b34801561043957600080fd5b506008545b60405190815260200161039c565b34801561045857600080fd5b506103c6611231565b34801561046d57600080fd5b5061043e61047c36600461451e565b6113b1565b34801561048d57600080fd5b506001546104a1906001600160a01b031681565b6040516001600160a01b03909116815260200161039c565b3480156104c557600080fd5b50600d546103c69060ff1681565b3480156104df57600080fd5b506104a16113e2565b3480156104f457600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104a1565b34801561052757600080fd5b5060005461040390600160901b900460ff1681565b34801561054857600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104a1565b61033f61057d3660046145bc565b6113f3565b34801561058e57600080fd5b5061043e61059d36600461459f565b60036020526000908152604090205481565b3480156105bb57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104a1565b3480156105ee57600080fd5b50604080518082019091526005815264312e342e3160d81b60208201525b60405161039c9190614635565b34801561062557600080fd5b50600854600954610634919082565b6040805192835260208301919091520161039c565b34801561065557600080fd5b5061043e610664366004614648565b611405565b34801561067557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104a1565b3480156106a857600080fd5b5061060c61143f565b3480156106bd57600080fd5b5061033f6106cc36600461459f565b61144d565b3480156106dd57600080fd5b5061043e6116e8565b3480156106f257600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610388565b61033f61072736600461466f565b6116f4565b34801561073857600080fd5b5060095461043e565b34801561074d57600080fd5b5061033f611782565b61033f6107643660046145bc565b611a4b565b61033f611a58565b34801561077d57600080fd5b5060025461043e565b34801561079257600080fd5b5061043e611aab565b3480156107a757600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061043e565b3480156107da57600080fd5b506108306107e9366004614648565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b0316606082015260800161039c565b34801561087a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104a1565b3480156108ad57600080fd5b5060405163ffffffff7f000000000000000000000000000000000000000000000000000000000000000016815260200161039c565b3480156108ee57600080fd5b5061043e611ab7565b34801561090357600080fd5b50610388610912366004614648565b611ac3565b34801561092357600080fd5b5061043e61093236600461459f565b600b6020526000908152604090205481565b34801561095057600080fd5b5061043e61095f3660046146b0565b611c56565b34801561097057600080fd5b5061098461097f366004614648565b611d96565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e00161039c565b3480156109e457600080fd5b50600054610388906001600160401b031681565b348015610a0457600080fd5b5061043e610a1336600461459f565b611e09565b348015610a2457600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061043e565b348015610a5757600080fd5b5061033f610a663660046146d9565b611e61565b348015610a7757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610388565b348015610aaa57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061043e565b348015610add57600080fd5b50610403610aec366004614648565b60046020526000908152604090205460ff1681565b348015610b0d57600080fd5b5061033f610b1c3660046145bc565b611eeb565b348015610b2d57600080fd5b50610b36612257565b60405161039c93929190614764565b348015610b5157600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061043e565b348015610b8457600080fd5b50610403610b93366004614648565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610bc757610bc7614540565b14610be55760405163067fe19560e41b815260040160405180910390fd5b600054600160901b900460ff1615610c105760405163075173a960e11b815260040160405180910390fd5b610c1e610c1b611ab7565b90565b610c35610c303686900386018661479f565b6122af565b14610c5357604051639cc00b5b60e01b815260040160405180910390fd5b82606001358282604051610c68929190614812565b604051809103902014610c8e5760405163d81d583b60e01b815260040160405180910390fd5b6000610cd7610cd284848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061230b92505050565b61235f565b90506000610cfe82600881518110610cf157610cf1614822565b60200260200101516124e3565b9050602081511115610d235760405163d81d583b60e01b815260040160405180910390fd5b602081810151825190910360031b1c610d3a611aab565b8103610d5957604051630b8ed88360e41b815260040160405180910390fd5b5050600180546001600160a01b0319163317905550506000805460ff60901b1916600160901b1790555050565b60008054600160801b900460ff166002811115610da557610da5614540565b14610dc35760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610dd857610dd8614822565b906000526020600020906005020190506000610df384611ac3565b90506001600160401b037f000000000000000000000000000000000000000000000000000000000000000081169082161015610e425760405163f2440b5360e01b815260040160405180910390fd5b60008481526006602052604090205460ff1615610e725760405163f1a9458160e01b815260040160405180910390fd5b6000848152600560205260409020805480158015610e8f57508515155b15610ef1578354600160201b90046001600160a01b031660008115610eb45781610ec3565b60018601546001600160a01b03165b9050610ecf8187612565565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b03166060830152610f75576001600160801b036040820152600181526000869003610f75578195505b600086826020015163ffffffff16610f8d919061484e565b90506000838211610f9e5781610fa0565b835b602084015190915063ffffffff165b818110156110a6576000868281548110610fcb57610fcb614822565b6000918252602080832090910154808352600690915260409091205490915060ff1661100a57604051634d03b32360e11b815260040160405180910390fd5b60006002828154811061101f5761101f614822565b600091825260209091206005909102018054909150600160201b90046001600160a01b03161580156110655750600481015460408701516001600160801b039182169116115b156110915760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b5050808061109e90614866565b915050610faf565b5063ffffffff818116602085810191825260008c815260079091526040908190208651815493519288015164ffffffffff1990941690151564ffffffff00191617610100929094169182029390931774ffffffffffffffffffffffffffffffff00000000001916650100000000006001600160801b03909316929092029190911782556060850151600190920180546001600160a01b0319166001600160a01b039093169290921790915584900361122657606083015160008a8152600660205260409020805460ff191660011790558915801561118d5750600054600160901b900460ff165b156111d3576001546001600160a01b03166111a8818a612565565b88546001600160a01b03909116600160201b02640100000000600160c01b0319909116178855611224565b6112006001600160a01b038216156111eb57816111fa565b60018901546001600160a01b03165b89612565565b8754640100000000600160c01b031916600160201b6001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff16600281111561125257611252614540565b146112705760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166112bb57604051634d03b32360e11b815260040160405180910390fd5b60006001600160a01b031660026000815481106112da576112da614822565b6000918252602090912060059091020154600160201b90046001600160a01b03161461130757600161130a565b60025b600080546001600160401b034216600160401b026fffffffffffffffff000000000000000019821681178355929350839260ff60801b191670ffffffffffffffffff00000000000000001990911617600160801b83600281111561137057611370614540565b02179055600281111561138557611385614540565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b600560205281600052604060002081815481106113cd57600080fd5b90600052602060002001600091509150505481565b60006113ee60006125a7565b905090565b61140083838360016116f4565b505050565b6000818152600760209081526040808320600590925282208054825461143690610100900463ffffffff168261487f565b95945050505050565b60606113ee605460206125ca565b611455611782565b60006002600d5460ff16600281111561147057611470614540565b0361149457506001600160a01b0381166000908152600b60205260409020546114ea565b6001600d5460ff1660028111156114ad576114ad614540565b036114d157506001600160a01b0381166000908152600360205260409020546114ea565b6040516301e28f7d60e21b815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff166115ae576001600160a01b038281166000818152600c602052604090819020805460ff1916600117905551637eee288d60e01b81526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b15801561159257600080fd5b505af11580156115a6573d6000803e3d6000fd5b505050505050565b806000036115cf576040516317bfe5f760e01b815260040160405180910390fd5b6001600160a01b038281166000818152600b602090815260408083208390556003909152808220919091555163f3fef3a360e01b81526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b15801561165c57600080fd5b505af1158015611670573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146116c1576040519150601f19603f3d011682016040523d82523d6000602084013e6116c6565b606091505b5050905080611400576040516383e6cc6b60e01b815260040160405180910390fd5b60006113ee603461260c565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806117535750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b611770576040516369c3779f60e11b815260040160405180910390fd5b61177c8484848461262c565b50505050565b6002600d5460ff16600281111561179b5761179b614540565b14806117bd57506001600d5460ff1660028111156117bb576117bb614540565b145b156117c457565b6000600d5460ff1660028111156117dd576117dd614540565b146117fb576040516301e28f7d60e21b815260040160405180910390fd5b600054600160401b90046001600160401b03166001600160401b031660000361183757604051636082930560e11b815260040160405180910390fd5b604051630314d2b360e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa15801561189e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c29190614896565b9050806118e257604051634851bd9b60e01b815260040160405180910390fd5b6040516317cf21a960e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561194357600080fd5b505af1925050508015611954575060015b506040516324b5ce0b60e11b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa1580156119bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e09190614896565b905080156119fa57600d805460ff19166001179055611a08565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f91611a3f9160ff90911690614577565b60405180910390a15050565b61140083838360006116f4565b326001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611aa1576040516369c3779f60e11b815260040160405180910390fd5b611aa9612e9d565b565b60006113ee605461260c565b60006113ee601461260c565b600080600054600160801b900460ff166002811115611ae457611ae4614540565b14611b025760405163067fe19560e41b815260040160405180910390fd5b600060028381548110611b1757611b17614822565b600091825260208220600590910201805490925063ffffffff90811614611b7d57815460028054909163ffffffff16908110611b5557611b55614822565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b6004820154600090611ba690600160801b90046001600160401b03165b6001600160401b031690565b611bb9906001600160401b03164261487f565b611bcf611b9a846001600160801b031660401c90565b6001600160401b0316611be2919061484e565b90506001600160401b037f0000000000000000000000000000000000000000000000000000000000000000166001600160401b0316816001600160401b031611611c2c5780611436565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080611c6b836001600160801b03166132b3565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115611cb1576040516356f57b2b60e01b815260040160405180910390fd5b642e90edd00062061a806311e1a3006000611ccc83836148c9565b9050670de0b6b3a76400006000611d03827f00000000000000000000000000000000000000000000000000000000000000006148dd565b90506000611d21611d1c670de0b6b3a7640000866148dd565b61331f565b90506000611d2f8484613535565b90506000611d3d8383613584565b90506000611d4a826135b2565b90506000611d6982611d64670de0b6b3a76400008f6148dd565b61372f565b90506000611d778b83613584565b9050611d83818d6148dd565b9f9e505050505050505050505050505050565b60028181548110611da657600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff84169550600160201b9093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff166002811115611e2457611e24614540565b03611e4557506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480611ec05750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b611edd576040516369c3779f60e11b815260040160405180910390fd5b6115a6868686868686613760565b60008054600160801b900460ff166002811115611f0a57611f0a614540565b14611f285760405163067fe19560e41b815260040160405180910390fd5b600080600080611f3786613af1565b93509350935093506000611f4d85858585613d60565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611faf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fd391906148fc565b90506001890361207d576001600160a01b0381166352f0f3ad8a84611ff9610c1b6116e8565b6040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af1158015612053573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120779190614919565b50611226565b6002890361209c576001600160a01b0381166352f0f3ad8a8489611ff9565b600389036120bb576001600160a01b0381166352f0f3ad8a8487611ff9565b600489036121c85760006120f86001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000613dff565b600954612105919061484e565b61211090600161484e565b905061211a611aab565b811061212d57612128611aab565b61212f565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b6001600160e01b03191681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af115801561219d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121c19190614919565b5050611226565b6005890361223b576040516352f0f3ad60e01b8152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a401612034565b604051600162ec819b60e01b0319815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000060006060612284611ab7565b915061228e61143f565b9050909192565b60008183116122a457816122a6565b825b90505b92915050565b600081600001518260200151836040015184606001516040516020016122ee949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b6040805180820190915260008082526020820152815160000361234157604051635ab458fb60e01b815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b6060600080600061236f85613e2c565b91945092509050600181600181111561238a5761238a614540565b146123a8576040516325ce355f60e11b815260040160405180910390fd5b84516123b4838561484e565b146123d257604051630b8aa6f760e31b815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816123e95790505093506000835b86518110156124d75760008061245c6040518060400160405280858c60000151612440919061487f565b8152602001858c60200151612455919061484e565b9052613e2c565b509150915060405180604001604052808383612478919061484e565b8152602001848b6020015161248d919061484e565b8152508885815181106124a2576124a2614822565b60209081029190910101526124b860018561484e565b93506124c4818361484e565b6124ce908461484e565b92505050612416565b50845250919392505050565b606060008060006124f385613e2c565b91945092509050600081600181111561250e5761250e614540565b1461252c576040516307fe6cb960e21b815260040160405180910390fd5b612536828461484e565b85511461255657604051630b8aa6f760e31b815260040160405180910390fd5b61143685602001518484614122565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b039093169290919061259e90849061484e565b90915550505050565b6000806125bc3660011981013560f01c900390565b929092013560601c92915050565b606060006125e03660011981013560f01c900390565b905060405191508282528284820160208401378260208301016000815260208101604052505092915050565b6000806126213660011981013560f01c900390565b929092013592915050565b60008054600160801b900460ff16600281111561264b5761264b614540565b146126695760405163067fe19560e41b815260040160405180910390fd5b60006002848154811061267e5761267e614822565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b03600160201b90910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c0820152915085146127285760405163180a019960e11b815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000612755826001600160801b03166132b3565b60ff169050861580612790575061278d7f0000000000000000000000000000000000000000000000000000000000000000600261484e565b81145b801561279a575084155b156127b8576040516329098def60e21b815260040160405180910390fd5b600054600160901b900460ff1680156127cf575086155b156127ed5760405163075173a960e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000081111561282e576040516356f57b2b60e01b815260040160405180910390fd5b6128597f0000000000000000000000000000000000000000000000000000000000000000600161484e565b810361286b5761286b868885886141b6565b3461287583611c56565b1461289357604051638620aa1960e01b815260040160405180910390fd5b600061289e88611ac3565b90506001600160401b037f00000000000000000000000000000000000000000000000000000000000000008116908216036128ec57604051630ce0744560e21b815260040160405180910390fd5b600061291960017f000000000000000000000000000000000000000000000000000000000000000061487f565b8303612a3c577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561297d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129a191906148fc565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a029190614919565b612a35907f00000000000000000000000000000000000000000000000000000000000000006001600160401b0316614932565b9050612acd565b612a6760017f000000000000000000000000000000000000000000000000000000000000000061487f565b8303612aa157612a357f00000000000000000000000000000000000000000000000000000000000000006001600160401b0316600261495d565b507f00000000000000000000000000000000000000000000000000000000000000006001600160401b03165b612b00817f00000000000000000000000000000000000000000000000000000000000000006001600160401b031661498c565b6001600160401b0316612b19836001600160401b031690565b6001600160401b03161115612b5e57612b5b817f00000000000000000000000000000000000000000000000000000000000000006001600160401b031661498c565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff1615612bba576040516380497e3b60e01b815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c81526020019081526020016000206001600280549050612db1919061487f565b81546001810183556000928352602080842090910191909155338252600b9052604081208054349290612de590849061484e565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015612e4757600080fd5b505af1158015612e5b573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b600054600160881b900460ff1615612ec75760405162dc149f60e41b815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015612f27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f4b91906149b4565b909250905081612f6e57604051633535e1d960e11b815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a14612fa157639824bdab6000526004601cfd5b80612faa611aab565b11612fdc57612fb7611ab7565b60405163f40239db60e01b8152600401612fd391815260200190565b60405180910390fd5b6040805160e08101825263ffffffff81526000602082015260029181016130016113e2565b6001600160a01b03168152602001346001600160801b03168152602001613026611ab7565b815260016020820152604001426001600160801b0390811690915282546001808201855560009485526020808620855160059094020180549186015163ffffffff9094166001600160c01b031990921691909117600160201b6001600160a01b0394851602178155604085015191810180546001600160a01b031916929093169190911790915560608301516002820180546fffffffffffffffffffffffffffffffff19169184169190911790556080830151600382015560a083015160c090930151928216600160801b9390921692909202176004909101558054600160881b60ff60881b199091161781553490600b906131206113e2565b6001600160a01b03166001600160a01b03168152602001908152602001600020600082825461314f919061484e565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156131b157600080fd5b505af11580156131c5573d6000803e3d6000fd5b50506000805467ffffffffffffffff1916426001600160401b0316179055505060408051630f27ce5f60e21b815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015613273573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061329791906149d8565b600a805460ff191663ffffffff92909216929092141790555050565b7e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b6001600160401b03831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6001600160801b03811160071b81811c6001600160401b031060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b176000821361337457631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261357257637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b6000816000190483118202156135a25763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b600068023f2fa8f6da5b9d281982136135ca57919050565b680755bf798b4a1bf1e582126135e85763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b60006122a6670de0b6b3a7640000836137478661331f565b61375191906149fe565b61375b9190614a83565b6135b2565b60008054600160801b900460ff16600281111561377f5761377f614540565b1461379d5760405163067fe19560e41b815260040160405180910390fd5b6000600287815481106137b2576137b2614822565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506138087f0000000000000000000000000000000000000000000000000000000000000000600161484e565b61381a826001600160801b03166132b3565b60ff161461383b57604051630bea7bb360e31b815260040160405180910390fd5b60008089156139175761388e7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061487f565b6001901b6138a4846001600160801b03166142ab565b6001600160801b03166138b79190614ab1565b156138eb576138e26138d360016001600160801b038716614ac5565b865463ffffffff1660006142c9565b6003015461390d565b7f00000000000000000000000000000000000000000000000000000000000000005b9150849050613938565b600385015491506139356138d36001600160801b0386166001614ae5565b90505b600882901b60088a8a60405161394f929190614812565b6040518091039020901b146139775760405163696550ff60e01b815260040160405180910390fd5b60006139828c614392565b90506000613991836003015490565b6040516370a6769960e11b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced32906139e5908f908f908f908f908a90600401614b30565b6020604051808303816000875af1158015613a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a289190614919565b600485015491149150600090600290613a49906001600160801b03166132b3565b613a5b896001600160801b03166132b3565b613a659190614b6a565b613a6f9190614b8d565b60ff161590508115158103613a975760405163fb4e40dd60e01b815260040160405180910390fd5b8754600160201b90046001600160a01b031615613ac757604051639071e6af60e01b815260040160405180910390fd5b50508554640100000000600160c01b03191633600160201b02179095555050505050505050505050565b6000806000806000859050600060028281548110613b1157613b11614822565b6000918252602090912060059091020160048101549091507f000000000000000000000000000000000000000000000000000000000000000090613b5d906001600160801b03166132b3565b60ff1611613b7e576040516359a5ae1160e11b815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090613bbb906001600160801b03166132b3565b60ff169250821115613c3057825463ffffffff16613bfa7f0000000000000000000000000000000000000000000000000000000000000000600161484e565b8303613c04578391505b60028181548110613c1757613c17614822565b9060005260206000209060050201935080945050613b82565b600481810154908401546001600160801b0391821691166000816001600160801b0316613c75613c69856001600160801b031660011c90565b6001600160801b031690565b6001600160801b03161490508015613d0e576000613c9b836001600160801b03166142ab565b6001600160801b03161115613ceb576000613ccb613cc360016001600160801b038616614ac5565b8960016142c9565b6003810154600490910154909c506001600160801b03169a50613cf19050565b6008549a505b600386015460048701549099506001600160801b03169750613d52565b6000613d27613cc36001600160801b0385166001614ae5565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b03841615613dbb5760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611436565b8282604051602001613de09291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080613e0b846132b3565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003613e5657604051635ab458fb60e01b815260040160405180910390fd5b6020840151805160001a607f8111613e7b57600060016000945094509450505061411b565b60b78111613f13576000613e9060808361487f565b905080876000015111613eb6576040516366c9448560e01b815260040160405180910390fd5b6001838101516001600160f81b0319169082148015613ee25750600160ff1b6001600160f81b03198216105b15613f005760405163babb01dd60e01b815260040160405180910390fd5b506001955093506000925061411b915050565b60bf8111613ff5576000613f2860b78361487f565b905080876000015111613f4e576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b0319166000819003613f7f5760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c60378111613fae5760405163babb01dd60e01b815260040160405180910390fd5b613fb8818461484e565b895111613fd8576040516366c9448560e01b815260040160405180910390fd5b613fe383600161484e565b975095506000945061411b9350505050565b60f7811161404157600061400a60c08361487f565b905080876000015111614030576040516366c9448560e01b815260040160405180910390fd5b60019550935084925061411b915050565b600061404e60f78361487f565b905080876000015111614074576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b03191660008190036140a55760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c603781116140d45760405163babb01dd60e01b815260040160405180910390fd5b6140de818461484e565b8951116140fe576040516366c9448560e01b815260040160405180910390fd5b61410983600161484e565b975095506001945061411b9350505050565b9193909250565b6060816001600160401b0381111561413c5761413c614789565b6040519080825280601f01601f191660200182016040528015614166576020820181803683370190505b50905081156141af57600061417b848661484e565b90506020820160005b8481101561419c578281015182820152602001614184565b848111156141ab576000858301525b5050505b9392505050565b60006141cc6001600160801b0384166001614ae5565b905060006141dc828660016142c9565b9050600086901a838061423e575061421560027f0000000000000000000000000000000000000000000000000000000000000000614ab1565b600483015460029061422f906001600160801b03166132b3565b6142399190614b8d565b60ff16145b1561427d5760ff811660011480614258575060ff81166002145b6142785760405163f40239db60e01b815260048101889052602401612fd3565b6142a2565b60ff8116156142a25760405163f40239db60e01b815260048101889052602401612fd3565b50505050505050565b6000806142b7836132b3565b600160ff919091161b90920392915050565b60008082614309576143046001600160801b0386167f00000000000000000000000000000000000000000000000000000000000000006143c1565b61431b565b61431b856001600160801b0316614430565b90506002848154811061433057614330614822565b906000526020600020906005020191505b60048201546001600160801b0382811691161461438a57815460028054909163ffffffff1690811061437557614375614822565b90600052602060002090600502019150614341565b509392505050565b60008060008060006143a386613af1565b93509350935093506143b784848484613d60565b9695505050505050565b6000816143d6846001600160801b03166132b3565b60ff16116143ec5763b34b5c226000526004601cfd5b6143f583614430565b90508161440a826001600160801b03166132b3565b60ff16116122a9576122a661442083600161484e565b6001600160801b03831690614454565b60008119600183011681614443826132b3565b60ff169390931c8015179392505050565b600080614460846132b3565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261448e57600080fd5b5081356001600160401b038111156144a557600080fd5b6020830191508360208285010111156144bd57600080fd5b9250929050565b600080600083850360a08112156144da57600080fd5b60808112156144e857600080fd5b5083925060808401356001600160401b0381111561450557600080fd5b6145118682870161447c565b9497909650939450505050565b6000806040838503121561453157600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061457457634e487b7160e01b600052602160045260246000fd5b50565b6020810161458483614556565b91905290565b6001600160a01b038116811461457457600080fd5b6000602082840312156145b157600080fd5b81356141af8161458a565b6000806000606084860312156145d157600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561460e576020818501810151868301820152016145f2565b81811115614620576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006122a660208301846145e8565b60006020828403121561465a57600080fd5b5035919050565b801515811461457457600080fd5b6000806000806080858703121561468557600080fd5b84359350602085013592506040850135915060608501356146a581614661565b939692955090935050565b6000602082840312156146c257600080fd5b81356001600160801b03811681146141af57600080fd5b600080600080600080608087890312156146f257600080fd5b86359550602087013561470481614661565b945060408701356001600160401b038082111561472057600080fd5b61472c8a838b0161447c565b9096509450606089013591508082111561474557600080fd5b5061475289828a0161447c565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061143660608301846145e8565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156147b157600080fd5b604051608081018181106001600160401b03821117156147e157634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561486157614861614838565b500190565b60006001820161487857614878614838565b5060010190565b60008282101561489157614891614838565b500390565b6000602082840312156148a857600080fd5b81516141af81614661565b634e487b7160e01b600052601260045260246000fd5b6000826148d8576148d86148b3565b500490565b60008160001904831182151516156148f7576148f7614838565b500290565b60006020828403121561490e57600080fd5b81516141af8161458a565b60006020828403121561492b57600080fd5b5051919050565b60006001600160401b0380831681851680830382111561495457614954614838565b01949350505050565b60006001600160401b038083168185168183048111821515161561498357614983614838565b02949350505050565b60006001600160401b03838116908316818110156149ac576149ac614838565b039392505050565b600080604083850312156149c757600080fd5b505080516020909101519092909150565b6000602082840312156149ea57600080fd5b815163ffffffff811681146141af57600080fd5b60006001600160ff1b0381841382841380821686840486111615614a2457614a24614838565b600160ff1b6000871282811687830589121615614a4357614a43614838565b60008712925087820587128484161615614a5f57614a5f614838565b87850587128184161615614a7557614a75614838565b505050929093029392505050565b600082614a9257614a926148b3565b600160ff1b821460001984141615614aac57614aac614838565b500590565b600082614ac057614ac06148b3565b500690565b60006001600160801b03838116908316818110156149ac576149ac614838565b60006001600160801b0380831681851680830382111561495457614954614838565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b606081526000614b44606083018789614b07565b8281036020840152614b57818688614b07565b9150508260408301529695505050505050565b600060ff821660ff841680821015614b8457614b84614838565b90039392505050565b600060ff831680614ba057614ba06148b3565b8060ff8416069150509291505056fea2646970667358221220f7ed1e8138fabb419e12943b164c707feba00282c8887ea78c4d88e07890192064736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000000103682932cec7ce0a3874b19675a6bbc923054a7b321efc7d3835187b172494b60000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d40000000000000000000000000f027f4a985560fb13324e943edf55ad6f1d15dc10000000000000000000000003e8a0b63f57e975c268d610ece93da5f78c01321000000000000000000000000496286e5ee7758de84dd17e6d2d97afc2ace4cc70000000000000000000000000000000000000000000000000000000000002105000000000000000000000000642229f238fb9de03374be34b0ed8d9de80752c50000000000000000000000008ca1e12404d16373aef756179b185f27b2994f3a\",\n        \"nonce\": \"0x7\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1ba0044\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x0d255db3c8490310d1e4559f5b3333d16875be63f94fac356388f61b0563980a\",\n      \"transactionIndex\": \"0xcc\",\n      \"blockHash\": \"0xebc8eaa4c264ac5a931efc852283c603e2967c19c325edfe2380aa46fb1975f2\",\n      \"blockNumber\": \"0x15552bc\",\n      \"gasUsed\": \"0x3f8429\",\n      \"effectiveGasPrice\": \"0x324e5664\",\n      \"from\": \"0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b\",\n      \"to\": null,\n      \"contractAddress\": \"0xab91fb6cef84199145133f75cbd96b8a31f184ed\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1fb3c8e\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xaf6a01bd98b0ad5b06f96c78a218b4df164643844fd7cd602b70b9e1d12e07e6\",\n      \"transactionIndex\": \"0xcd\",\n      \"blockHash\": \"0xebc8eaa4c264ac5a931efc852283c603e2967c19c325edfe2380aa46fb1975f2\",\n      \"blockNumber\": \"0x15552bc\",\n      \"gasUsed\": \"0x413c4a\",\n      \"effectiveGasPrice\": \"0x324e5664\",\n      \"from\": \"0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b\",\n      \"to\": null,\n      \"contractAddress\": \"0x7344da3a618b86cda67f8260c0cc2027d99f5b49\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1745860191,\n  \"chain\": 1,\n  \"commit\": \"c6a3d05\"\n}"
  },
  {
    "path": "mainnet/2025-04-23-upgrade-fault-proofs/records/UpgradeDGF.s.sol/1/approve-latest.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x95f9112b8156288fe22d0dd156c0d2b5a6ed1794122eb7dbc2c409f46d94059a\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd378644b143fa5f6becf1f80e7c66ebb76369df458d06f1d2a82ec1cae412480600000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b\",\n        \"to\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n        \"gas\": \"0x1ee6d\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd378644b143fa5f6becf1f80e7c66ebb76369df458d06f1d2a82ec1cae41248060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0xb\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x18e2b3e\",\n      \"logs\": [\n        {\n          \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x378644b143fa5f6becf1f80e7c66ebb76369df458d06f1d2a82ec1cae4124806\",\n            \"0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x3e05f5993c22ba8e907897c38b175624c6e265fd6746b8ece2f10dff178f4c18\",\n          \"blockNumber\": \"0x1563292\",\n          \"blockTimestamp\": \"0x681a4b8b\",\n          \"transactionHash\": \"0x95f9112b8156288fe22d0dd156c0d2b5a6ed1794122eb7dbc2c409f46d94059a\",\n          \"transactionIndex\": \"0x14f\",\n          \"logIndex\": \"0x242\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xbb32860528d49e6103c942c2d7ffeb7d2ff304e1c86cec7c2bc445c3a39213350000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x3e05f5993c22ba8e907897c38b175624c6e265fd6746b8ece2f10dff178f4c18\",\n          \"blockNumber\": \"0x1563292\",\n          \"blockTimestamp\": \"0x681a4b8b\",\n          \"transactionHash\": \"0x95f9112b8156288fe22d0dd156c0d2b5a6ed1794122eb7dbc2c409f46d94059a\",\n          \"transactionIndex\": \"0x14f\",\n          \"logIndex\": \"0x243\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000010000000000000000008000000000000040008000000000000000000000101000004000000000000000000100000000000000000001000000000000000000000000000000000000008000000000000000000000000000002400000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x95f9112b8156288fe22d0dd156c0d2b5a6ed1794122eb7dbc2c409f46d94059a\",\n      \"transactionIndex\": \"0x14f\",\n      \"blockHash\": \"0x3e05f5993c22ba8e907897c38b175624c6e265fd6746b8ece2f10dff178f4c18\",\n      \"blockNumber\": \"0x1563292\",\n      \"gasUsed\": \"0x165f5\",\n      \"effectiveGasPrice\": \"0x249b073b\",\n      \"from\": \"0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b\",\n      \"to\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1746553742,\n  \"chain\": 1,\n  \"commit\": \"f99353e\"\n}"
  },
  {
    "path": "mainnet/2025-04-23-upgrade-fault-proofs/records/UpgradeDGF.s.sol/1/run-1746550202.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x8ed0970d2a31e1734f74652a6a7d99084af8bceb54eb403aeaf545aa06a6c77f\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdbb32860528d49e6103c942c2d7ffeb7d2ff304e1c86cec7c2bc445c3a392133500000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x7b39fcc8f965aa445d4200f43c102511f3b1c1858ab5159c6e59a2355111df9530e1ddbc3e97804cf6b881e52f873770b7da96eca983a11000508f4b23ec4b081bcc37ec99fdd319072ea31e67ca0dc27adf9f42dbaaf7dd366c2d29a1a26c7500047ff2c8f70e3e66d615843d194714e7abf2d06a2a93eb28a624ceb06c04a6651b332aa81dbede99414a2ccb6eb875e77d0ad1d5bd6cfaba080729803dbd8661dd258ea9402c00a03f06f154314b99d14b52305f54cab04d908b61fb301e29db551bcabbdf8ffc2c3a5165f5764d35dca23647f9a17d2a0ff923857903a85d5dd8b605a7e8f3e2c68f1beab0ad1abd7c12be016d9bc0b81376f86f4f0a781866cd061c22dff2847e206e3f13ad78c46c179fae7da8ee272b3ac6d504ce8503d472ed8a39cce4bd57a95ba80353f969e30c3ffb4f72d8b895898b5c5b181f34675f60921c3d77f5d320e6bb1c75c8f746e168366c4c7dd45e7af35af03fd85ef329a7555418b34535893761935794eb445eba016fd9df427c87ea5941f503c05ae35dcd551b98d2d1a5965ee5fdbfcf0983cab3d280d2c899ba29240cae6af66026a8df245133b2007ac3440d2b27e6fb62fd1722c8ebf891b28537c9d49dfb8ada223543941c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b\",\n        \"to\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n        \"gas\": \"0x3278b\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdbb32860528d49e6103c942c2d7ffeb7d2ff304e1c86cec7c2bc445c3a3921335000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c77b39fcc8f965aa445d4200f43c102511f3b1c1858ab5159c6e59a2355111df9530e1ddbc3e97804cf6b881e52f873770b7da96eca983a11000508f4b23ec4b081bcc37ec99fdd319072ea31e67ca0dc27adf9f42dbaaf7dd366c2d29a1a26c7500047ff2c8f70e3e66d615843d194714e7abf2d06a2a93eb28a624ceb06c04a6651b332aa81dbede99414a2ccb6eb875e77d0ad1d5bd6cfaba080729803dbd8661dd258ea9402c00a03f06f154314b99d14b52305f54cab04d908b61fb301e29db551bcabbdf8ffc2c3a5165f5764d35dca23647f9a17d2a0ff923857903a85d5dd8b605a7e8f3e2c68f1beab0ad1abd7c12be016d9bc0b81376f86f4f0a781866cd061c22dff2847e206e3f13ad78c46c179fae7da8ee272b3ac6d504ce8503d472ed8a39cce4bd57a95ba80353f969e30c3ffb4f72d8b895898b5c5b181f34675f60921c3d77f5d320e6bb1c75c8f746e168366c4c7dd45e7af35af03fd85ef329a7555418b34535893761935794eb445eba016fd9df427c87ea5941f503c05ae35dcd551b98d2d1a5965ee5fdbfcf0983cab3d280d2c899ba29240cae6af66026a8df245133b2007ac3440d2b27e6fb62fd1722c8ebf891b28537c9d49dfb8ada223543941c00000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x9\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xff3a40\",\n      \"logs\": [\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xbb32860528d49e6103c942c2d7ffeb7d2ff304e1c86cec7c2bc445c3a3921335\",\n            \"0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xb5176ee9e8110fb6d2714223b0090ca55253849e764acfcdefe6e783dc4dafa7\",\n          \"blockNumber\": \"0x156316d\",\n          \"blockTimestamp\": \"0x681a3db7\",\n          \"transactionHash\": \"0x8ed0970d2a31e1734f74652a6a7d99084af8bceb54eb403aeaf545aa06a6c77f\",\n          \"transactionIndex\": \"0xab\",\n          \"logIndex\": \"0x192\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0xd031800a7be0b951f8ede1f17b2a9ebc0109838960a244d45b5dbfd4e9eb13a7\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xb5176ee9e8110fb6d2714223b0090ca55253849e764acfcdefe6e783dc4dafa7\",\n          \"blockNumber\": \"0x156316d\",\n          \"blockTimestamp\": \"0x681a3db7\",\n          \"transactionHash\": \"0x8ed0970d2a31e1734f74652a6a7d99084af8bceb54eb403aeaf545aa06a6c77f\",\n          \"transactionIndex\": \"0xab\",\n          \"logIndex\": \"0x193\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000001000000010000000000400000008000000000008040000000000000000000000800000000001000000000000000000100000000000000000000000000000000000000000000000000000000008000000000000400000000000000000400000000000000000000000000000000000000000000010000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010004000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x8ed0970d2a31e1734f74652a6a7d99084af8bceb54eb403aeaf545aa06a6c77f\",\n      \"transactionIndex\": \"0xab\",\n      \"blockHash\": \"0xb5176ee9e8110fb6d2714223b0090ca55253849e764acfcdefe6e783dc4dafa7\",\n      \"blockNumber\": \"0x156316d\",\n      \"gasUsed\": \"0x248a6\",\n      \"effectiveGasPrice\": \"0x4b3d75a3\",\n      \"from\": \"0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b\",\n      \"to\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1746550202,\n  \"chain\": 1,\n  \"commit\": \"22050bb\"\n}"
  },
  {
    "path": "mainnet/2025-04-23-upgrade-fault-proofs/records/UpgradeDGF.s.sol/1/run-1746550275.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xf169c25bbe0e53377266c939588b5a556ec8f2b633d57b0419ea1f0524010c1b\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdbb32860528d49e6103c942c2d7ffeb7d2ff304e1c86cec7c2bc445c3a392133500000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xb38c06514458a299ca0ba29e802068558cbc039d1f4a5629b094d898cabed2c26f583f8563d6a570bc6fddb53767f0b3fdd565b87d1ed74787d46927bfdffbe11bb28ffad0c8fcf77e0b0a944072cc0e8c8c0cd916a0559da28cf166cdd92343031b72715525bf23408b5fa5b4f4999258ae146b8afa0d4c25eb51868cd72e11f01b09b8c8ef54d12a97f1eef556e4404416c0a0ba73f9f43307ba475268a9054e9342cfdc29cf51e112e0d9531365010b410c5a59b463e0c6166085cfef41658bca1c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b\",\n        \"to\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n        \"gas\": \"0x2b5d5\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdbb32860528d49e6103c942c2d7ffeb7d2ff304e1c86cec7c2bc445c3a3921335000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3b38c06514458a299ca0ba29e802068558cbc039d1f4a5629b094d898cabed2c26f583f8563d6a570bc6fddb53767f0b3fdd565b87d1ed74787d46927bfdffbe11bb28ffad0c8fcf77e0b0a944072cc0e8c8c0cd916a0559da28cf166cdd92343031b72715525bf23408b5fa5b4f4999258ae146b8afa0d4c25eb51868cd72e11f01b09b8c8ef54d12a97f1eef556e4404416c0a0ba73f9f43307ba475268a9054e9342cfdc29cf51e112e0d9531365010b410c5a59b463e0c6166085cfef41658bca1c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0xa\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x20c3391\",\n      \"logs\": [\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xbb32860528d49e6103c942c2d7ffeb7d2ff304e1c86cec7c2bc445c3a3921335\",\n            \"0x0000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xa2c65ed56283d7fb20a7b903689126aa0bee3efab28287d3f22e496feaf56335\",\n          \"blockNumber\": \"0x1563173\",\n          \"blockTimestamp\": \"0x681a3dff\",\n          \"transactionHash\": \"0xf169c25bbe0e53377266c939588b5a556ec8f2b633d57b0419ea1f0524010c1b\",\n          \"transactionIndex\": \"0x133\",\n          \"logIndex\": \"0x354\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0xd702ae3bc1b23d18d82b5b5c9f2b8433154b62cbb1a22996e1400658ca6d751b\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xa2c65ed56283d7fb20a7b903689126aa0bee3efab28287d3f22e496feaf56335\",\n          \"blockNumber\": \"0x1563173\",\n          \"blockTimestamp\": \"0x681a3dff\",\n          \"transactionHash\": \"0xf169c25bbe0e53377266c939588b5a556ec8f2b633d57b0419ea1f0524010c1b\",\n          \"transactionIndex\": \"0x133\",\n          \"logIndex\": \"0x355\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000010000000000480000008000000000000040000000000000100000000000000000001000000000000000000100000000000000000000000000000000000000000000000000000000008000000800000000000040000000000400000000000000020000000000000000000000000000000000000000000000000000000000000000000001000010000000000000000000000000000000000000000000000000000000004000000000000000004000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000100000000000001000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xf169c25bbe0e53377266c939588b5a556ec8f2b633d57b0419ea1f0524010c1b\",\n      \"transactionIndex\": \"0x133\",\n      \"blockHash\": \"0xa2c65ed56283d7fb20a7b903689126aa0bee3efab28287d3f22e496feaf56335\",\n      \"blockNumber\": \"0x1563173\",\n      \"gasUsed\": \"0x1da6b\",\n      \"effectiveGasPrice\": \"0x46004310\",\n      \"from\": \"0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b\",\n      \"to\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1746550275,\n  \"chain\": 1,\n  \"commit\": \"22050bb\"\n}"
  },
  {
    "path": "mainnet/2025-04-23-upgrade-fault-proofs/records/UpgradeDGF.s.sol/1/run-1746553742.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x95f9112b8156288fe22d0dd156c0d2b5a6ed1794122eb7dbc2c409f46d94059a\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd378644b143fa5f6becf1f80e7c66ebb76369df458d06f1d2a82ec1cae412480600000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b\",\n        \"to\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n        \"gas\": \"0x1ee6d\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd378644b143fa5f6becf1f80e7c66ebb76369df458d06f1d2a82ec1cae41248060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0xb\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x18e2b3e\",\n      \"logs\": [\n        {\n          \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x378644b143fa5f6becf1f80e7c66ebb76369df458d06f1d2a82ec1cae4124806\",\n            \"0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x3e05f5993c22ba8e907897c38b175624c6e265fd6746b8ece2f10dff178f4c18\",\n          \"blockNumber\": \"0x1563292\",\n          \"blockTimestamp\": \"0x681a4b8b\",\n          \"transactionHash\": \"0x95f9112b8156288fe22d0dd156c0d2b5a6ed1794122eb7dbc2c409f46d94059a\",\n          \"transactionIndex\": \"0x14f\",\n          \"logIndex\": \"0x242\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xbb32860528d49e6103c942c2d7ffeb7d2ff304e1c86cec7c2bc445c3a39213350000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x3e05f5993c22ba8e907897c38b175624c6e265fd6746b8ece2f10dff178f4c18\",\n          \"blockNumber\": \"0x1563292\",\n          \"blockTimestamp\": \"0x681a4b8b\",\n          \"transactionHash\": \"0x95f9112b8156288fe22d0dd156c0d2b5a6ed1794122eb7dbc2c409f46d94059a\",\n          \"transactionIndex\": \"0x14f\",\n          \"logIndex\": \"0x243\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000010000000000000000008000000000000040008000000000000000000000101000004000000000000000000100000000000000000001000000000000000000000000000000000000008000000000000000000000000000002400000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x95f9112b8156288fe22d0dd156c0d2b5a6ed1794122eb7dbc2c409f46d94059a\",\n      \"transactionIndex\": \"0x14f\",\n      \"blockHash\": \"0x3e05f5993c22ba8e907897c38b175624c6e265fd6746b8ece2f10dff178f4c18\",\n      \"blockNumber\": \"0x1563292\",\n      \"gasUsed\": \"0x165f5\",\n      \"effectiveGasPrice\": \"0x249b073b\",\n      \"from\": \"0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b\",\n      \"to\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1746553742,\n  \"chain\": 1,\n  \"commit\": \"f99353e\"\n}"
  },
  {
    "path": "mainnet/2025-04-23-upgrade-fault-proofs/records/UpgradeDGF.s.sol/1/run-1746643611.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x3baaa485746af0bb3d0a054a44a37c997b49b5528e0b58d351f5be05eacc2718\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000014000000000000000000000000043edb88c4b80fdd2adff2412a7bebf9df42cb40e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ab91fb6cef84199145133f75cbd96b8a31f184ed0000000000000000000000000000000000000000000000000000000000000000000000000000000043edb88c4b80fdd2adff2412a7bebf9df42cb40e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004414f6b1a300000000000000000000000000000000000000000000000000000000000000010000000000000000000000007344da3a618b86cda67f8260c0cc2027d99f5b4900000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b\",\n        \"to\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n        \"gas\": \"0x1dbdd\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000284174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000014000000000000000000000000043edb88c4b80fdd2adff2412a7bebf9df42cb40e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ab91fb6cef84199145133f75cbd96b8a31f184ed0000000000000000000000000000000000000000000000000000000000000000000000000000000043edb88c4b80fdd2adff2412a7bebf9df42cb40e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004414f6b1a300000000000000000000000000000000000000000000000000000000000000010000000000000000000000007344da3a618b86cda67f8260c0cc2027d99f5b49000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0xd\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x440083\",\n      \"logs\": [\n        {\n          \"address\": \"0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e\",\n          \"topics\": [\n            \"0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de\",\n            \"0x000000000000000000000000ab91fb6cef84199145133f75cbd96b8a31f184ed\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xb4687d44d56926ad73155967e1a90eaa3b4e57bec1ef88f39c0e4123f6d80b31\",\n          \"blockNumber\": \"0x1564f46\",\n          \"blockTimestamp\": \"0x681baa97\",\n          \"transactionHash\": \"0x3baaa485746af0bb3d0a054a44a37c997b49b5528e0b58d351f5be05eacc2718\",\n          \"transactionIndex\": \"0x10\",\n          \"logIndex\": \"0x90\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e\",\n          \"topics\": [\n            \"0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de\",\n            \"0x0000000000000000000000007344da3a618b86cda67f8260c0cc2027d99f5b49\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000001\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xb4687d44d56926ad73155967e1a90eaa3b4e57bec1ef88f39c0e4123f6d80b31\",\n          \"blockNumber\": \"0x1564f46\",\n          \"blockTimestamp\": \"0x681baa97\",\n          \"transactionHash\": \"0x3baaa485746af0bb3d0a054a44a37c997b49b5528e0b58d351f5be05eacc2718\",\n          \"transactionIndex\": \"0x10\",\n          \"logIndex\": \"0x91\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x378644b143fa5f6becf1f80e7c66ebb76369df458d06f1d2a82ec1cae41248060000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xb4687d44d56926ad73155967e1a90eaa3b4e57bec1ef88f39c0e4123f6d80b31\",\n          \"blockNumber\": \"0x1564f46\",\n          \"blockTimestamp\": \"0x681baa97\",\n          \"transactionHash\": \"0x3baaa485746af0bb3d0a054a44a37c997b49b5528e0b58d351f5be05eacc2718\",\n          \"transactionIndex\": \"0x10\",\n          \"logIndex\": \"0x92\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000080040000000000000000000000002000000004000000000100000000000000000000040000001000000400000000000000000000001000000000040000000000000000000000000000020000000000000000000800000000400000040000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000004001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060400000000000040000000000000000200000000000000000000000000000000100\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x3baaa485746af0bb3d0a054a44a37c997b49b5528e0b58d351f5be05eacc2718\",\n      \"transactionIndex\": \"0x10\",\n      \"blockHash\": \"0xb4687d44d56926ad73155967e1a90eaa3b4e57bec1ef88f39c0e4123f6d80b31\",\n      \"blockNumber\": \"0x1564f46\",\n      \"gasUsed\": \"0x15885\",\n      \"effectiveGasPrice\": \"0x5b28adaf\",\n      \"from\": \"0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b\",\n      \"to\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1746643611,\n  \"chain\": 1,\n  \"commit\": \"4b1097f\"\n}"
  },
  {
    "path": "mainnet/2025-04-23-upgrade-fault-proofs/script/DeployDisputeGames.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Script} from \"forge-std/Script.sol\";\n\nimport {IAnchorStateRegistry, IDelayedWETH, IBigStepper} from \"@eth-optimism-bedrock/src/dispute/FaultDisputeGame.sol\";\nimport {\n    PermissionedDisputeGame, FaultDisputeGame\n} from \"@eth-optimism-bedrock/src/dispute/PermissionedDisputeGame.sol\";\nimport {GameTypes, GameType, Duration, Claim} from \"@eth-optimism-bedrock/src/dispute/lib/Types.sol\";\nimport {LibGameType, LibDuration} from \"@eth-optimism-bedrock/src/dispute/lib/LibUDT.sol\";\nimport {DisputeGameFactory} from \"@eth-optimism-bedrock/src/dispute/DisputeGameFactory.sol\";\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport {Strings} from \"@openzeppelin/contracts/utils/Strings.sol\";\nimport {console} from \"forge-std/console.sol\";\n\n/// @notice This script deploys new versions of FaultDisputeGame and PermissionedDisputeGame with all the same\n///         parameters as the existing implementations excluding the absolute prestate.\ncontract DeployDisputeGames is Script {\n    using Strings for address;\n    using LibDuration for Duration;\n    using LibGameType for GameType;\n\n    string public constant EXPECTED_VERSION = \"1.4.1\";\n\n    Claim immutable absolutePrestate;\n    SystemConfig immutable systemConfig;\n\n    FaultDisputeGame.GameConstructorParams fdgParams;\n    FaultDisputeGame.GameConstructorParams pdgParams;\n    address proposer;\n    address challenger;\n\n    constructor() {\n        absolutePrestate = Claim.wrap(vm.envBytes32(\"ABSOLUTE_PRESTATE\"));\n        systemConfig = SystemConfig(vm.envAddress(\"SYSTEM_CONFIG\"));\n    }\n\n    function setUp() public {\n        DisputeGameFactory dgfProxy = DisputeGameFactory(systemConfig.disputeGameFactory());\n        FaultDisputeGame currentFdg = FaultDisputeGame(address(dgfProxy.gameImpls(GameTypes.CANNON)));\n        PermissionedDisputeGame currentPdg =\n            PermissionedDisputeGame(address(dgfProxy.gameImpls(GameTypes.PERMISSIONED_CANNON)));\n\n        uint256 maxGameDepth = currentFdg.maxGameDepth();\n        uint256 splitDepth = currentFdg.splitDepth();\n        Duration clockExtension = currentFdg.clockExtension();\n        Duration maxClockDuration = currentFdg.maxClockDuration();\n        IBigStepper bigStepper = currentFdg.vm();\n        IAnchorStateRegistry anchorStateRegistry = currentFdg.anchorStateRegistry();\n        uint256 l2ChainId = currentFdg.l2ChainId();\n\n        proposer = currentPdg.proposer();\n        challenger = currentPdg.challenger();\n\n        fdgParams = FaultDisputeGame.GameConstructorParams({\n            gameType: GameTypes.CANNON,\n            absolutePrestate: absolutePrestate,\n            maxGameDepth: maxGameDepth,\n            splitDepth: splitDepth,\n            clockExtension: clockExtension,\n            maxClockDuration: maxClockDuration,\n            vm: bigStepper,\n            weth: currentFdg.weth(),\n            anchorStateRegistry: anchorStateRegistry,\n            l2ChainId: l2ChainId\n        });\n        pdgParams = FaultDisputeGame.GameConstructorParams({\n            gameType: GameTypes.PERMISSIONED_CANNON,\n            absolutePrestate: absolutePrestate,\n            maxGameDepth: maxGameDepth,\n            splitDepth: splitDepth,\n            clockExtension: clockExtension,\n            maxClockDuration: maxClockDuration,\n            vm: bigStepper,\n            weth: currentPdg.weth(),\n            anchorStateRegistry: anchorStateRegistry,\n            l2ChainId: l2ChainId\n        });\n    }\n\n    function _postCheck(address fdgImpl, address pdgImpl) private view {\n        FaultDisputeGame fdg = FaultDisputeGame(fdgImpl);\n        PermissionedDisputeGame pdg = PermissionedDisputeGame(pdgImpl);\n\n        require(Strings.equal(fdg.version(), EXPECTED_VERSION), \"Postcheck version 1\");\n        require(Strings.equal(pdg.version(), EXPECTED_VERSION), \"Postcheck version 2\");\n\n        require(fdg.gameType().raw() == GameTypes.CANNON.raw(), \"Postcheck 1\");\n        require(fdg.absolutePrestate().raw() == absolutePrestate.raw(), \"Postcheck 2\");\n        require(fdg.maxGameDepth() == fdgParams.maxGameDepth, \"Postcheck 3\");\n        require(fdg.splitDepth() == fdgParams.splitDepth, \"Postcheck 4\");\n        require(fdg.clockExtension().raw() == fdgParams.clockExtension.raw(), \"Postcheck 5\");\n        require(fdg.maxClockDuration().raw() == fdgParams.maxClockDuration.raw(), \"Postcheck 6\");\n        require(fdg.vm() == fdgParams.vm, \"Postcheck 7\");\n        require(fdg.weth() == fdgParams.weth, \"Postcheck 8\");\n        require(fdg.anchorStateRegistry() == fdgParams.anchorStateRegistry, \"Postcheck 9\");\n        require(fdg.l2ChainId() == fdgParams.l2ChainId, \"Postcheck 10\");\n\n        require(pdg.gameType().raw() == GameTypes.PERMISSIONED_CANNON.raw(), \"Postcheck 11\");\n        require(pdg.absolutePrestate().raw() == absolutePrestate.raw(), \"Postcheck 12\");\n        require(pdg.maxGameDepth() == pdgParams.maxGameDepth, \"Postcheck 13\");\n        require(pdg.splitDepth() == pdgParams.splitDepth, \"Postcheck 14\");\n        require(pdg.clockExtension().raw() == pdgParams.clockExtension.raw(), \"Postcheck 15\");\n        require(pdg.maxClockDuration().raw() == pdgParams.maxClockDuration.raw(), \"Postcheck 16\");\n        require(pdg.vm() == pdgParams.vm, \"Postcheck 17\");\n        require(pdg.weth() == pdgParams.weth, \"Postcheck 18\");\n        require(pdg.anchorStateRegistry() == pdgParams.anchorStateRegistry, \"Postcheck 19\");\n        require(pdg.l2ChainId() == pdgParams.l2ChainId, \"Postcheck 20\");\n        require(pdg.proposer() == proposer, \"Postcheck 21\");\n        require(pdg.challenger() == challenger, \"Postcheck 22\");\n    }\n\n    function run() public {\n        (address fdg, address pdg) = _deployContracts();\n        _postCheck(fdg, pdg);\n\n        vm.writeFile(\n            \"addresses.json\",\n            string.concat(\n                \"{\",\n                \"\\\"faultDisputeGame\\\": \\\"\",\n                fdg.toHexString(),\n                \"\\\",\",\n                \"\\\"permissionedDisputeGame\\\": \\\"\",\n                pdg.toHexString(),\n                \"\\\"\" \"}\"\n            )\n        );\n    }\n\n    function _deployContracts() private returns (address, address) {\n        console.log(\"FaultDisputeGame params:\");\n        console.logBytes(abi.encode(fdgParams));\n\n        console.log(\"PermissionedDisputeGame params:\");\n        console.logBytes(abi.encode(pdgParams, proposer, challenger));\n\n        vm.startBroadcast();\n        address fdg = address(new FaultDisputeGame(fdgParams));\n        address pdg = address(new PermissionedDisputeGame(pdgParams, proposer, challenger));\n        vm.stopBroadcast();\n\n        return (fdg, pdg);\n    }\n}\n"
  },
  {
    "path": "mainnet/2025-04-23-upgrade-fault-proofs/script/UpgradeDGF.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.24;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {stdJson} from \"forge-std/StdJson.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\nimport {console} from \"forge-std/console.sol\";\n\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {Strings} from \"@openzeppelin/contracts/utils/Strings.sol\";\n\ninterface IDisputeGameFactory {\n    function gameImpls(uint32) external view returns (address);\n    function setImplementation(uint32, address) external;\n}\n\ninterface IPermissionedDisputeGame {\n    function challenger() external view returns (address);\n    function proposer() external view returns (address);\n}\n\ninterface ISystemConfig {\n    function disputeGameFactory() external view returns (address);\n}\n\ninterface IFaultDisputeGame {\n    function version() external view returns (string memory);\n    function vm() external view returns (address);\n    function weth() external view returns (address);\n    function anchorStateRegistry() external view returns (address);\n    function l2ChainId() external view returns (uint64);\n    function splitDepth() external view returns (uint64);\n    function maxGameDepth() external view returns (uint64);\n    function maxClockDuration() external view returns (uint64);\n    function clockExtension() external view returns (uint64);\n}\n\ninterface IAnchorStateRegistry {\n    function anchors(uint32) external view returns (bytes32, uint256);\n}\n\n/// @notice This script updates the FaultDisputeGame and PermissionedDisputeGame implementations in the\n///         DisputeGameFactory contract.\ncontract UpgradeDGF is MultisigScript {\n    using stdJson for string;\n\n    string public constant EXPECTED_VERSION = \"1.4.1\";\n    uint32 public constant CANNON = 0;\n    uint32 public constant PERMISSIONED_CANNON = 1;\n\n    address public immutable OWNER_SAFE;\n    address public immutable SYSTEM_CONFIG;\n\n    IDisputeGameFactory public dgfProxy;\n    address public fdgImpl;\n    address public pdgImpl;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n        SYSTEM_CONFIG = vm.envAddress(\"SYSTEM_CONFIG\");\n    }\n\n    function setUp() public {\n        string memory rootPath = vm.projectRoot();\n        string memory path = string.concat(rootPath, \"/addresses.json\");\n        string memory addresses = vm.readFile(path);\n\n        dgfProxy = IDisputeGameFactory(ISystemConfig(SYSTEM_CONFIG).disputeGameFactory());\n        fdgImpl = addresses.readAddress(\".faultDisputeGame\");\n        pdgImpl = addresses.readAddress(\".permissionedDisputeGame\");\n\n        _precheckDisputeGameImplementation(CANNON, fdgImpl);\n        _precheckDisputeGameImplementation(PERMISSIONED_CANNON, pdgImpl);\n    }\n\n    // Checks that the new game being set has the same configuration as the existing implementation with the exception\n    // of the absolutePrestate. This is the most common scenario where the game implementation is upgraded to provide an\n    // updated fault proof program that supports an upcoming hard fork.\n    function _precheckDisputeGameImplementation(uint32 targetGameType, address newImpl) internal view {\n        console.log(\"pre-check new game implementations\", targetGameType);\n\n        IFaultDisputeGame currentImpl = IFaultDisputeGame(address(dgfProxy.gameImpls(targetGameType)));\n        // No checks are performed if there is no prior implementation.\n        // When deploying the first implementation, it is recommended to implement custom checks.\n        if (address(currentImpl) == address(0)) {\n            return;\n        }\n        IFaultDisputeGame faultDisputeGame = IFaultDisputeGame(newImpl);\n        require(Strings.equal(faultDisputeGame.version(), EXPECTED_VERSION), \"00\");\n        require(currentImpl.vm() == faultDisputeGame.vm(), \"10\");\n        require(currentImpl.weth() == faultDisputeGame.weth(), \"20\");\n        require(currentImpl.anchorStateRegistry() == faultDisputeGame.anchorStateRegistry(), \"30\");\n        require(currentImpl.l2ChainId() == faultDisputeGame.l2ChainId(), \"40\");\n        require(currentImpl.splitDepth() == faultDisputeGame.splitDepth(), \"50\");\n        require(currentImpl.maxGameDepth() == faultDisputeGame.maxGameDepth(), \"60\");\n        require(currentImpl.maxClockDuration() == faultDisputeGame.maxClockDuration(), \"70\");\n        require(currentImpl.clockExtension() == faultDisputeGame.clockExtension(), \"80\");\n\n        if (targetGameType == PERMISSIONED_CANNON) {\n            IPermissionedDisputeGame currentPDG = IPermissionedDisputeGame(address(currentImpl));\n            IPermissionedDisputeGame permissionedDisputeGame = IPermissionedDisputeGame(address(faultDisputeGame));\n            require(currentPDG.proposer() == permissionedDisputeGame.proposer(), \"90\");\n            require(currentPDG.challenger() == permissionedDisputeGame.challenger(), \"100\");\n        }\n    }\n\n    // Confirm the stored implementations are updated and the anchor states still exist.\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        require(dgfProxy.gameImpls(CANNON) == fdgImpl, \"post-110\");\n        require(dgfProxy.gameImpls(PERMISSIONED_CANNON) == pdgImpl, \"post-120\");\n        _postcheckHasAnchorState(CANNON);\n        _postcheckHasAnchorState(PERMISSIONED_CANNON);\n    }\n\n    // Checks the anchor state for the source game type still exists after re-initialization. The actual anchor state\n    // may have been updated since the task was defined so just assert it exists, not that it has a specific value.\n    function _postcheckHasAnchorState(uint32 gameType) internal view {\n        console.log(\"check anchor state exists\", gameType);\n\n        IFaultDisputeGame impl = IFaultDisputeGame(dgfProxy.gameImpls(gameType));\n        (bytes32 root, uint256 rootBlockNumber) = IAnchorStateRegistry(impl.anchorStateRegistry()).anchors(gameType);\n\n        require(root != bytes32(0), \"check-300\");\n        require(rootBlockNumber != 0, \"check-310\");\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) {\n        IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](2);\n\n        calls[0] = IMulticall3.Call3Value({\n            target: address(dgfProxy),\n            allowFailure: false,\n            callData: abi.encodeCall(IDisputeGameFactory.setImplementation, (CANNON, fdgImpl)),\n            value: 0\n        });\n        calls[1] = IMulticall3.Call3Value({\n            target: address(dgfProxy),\n            allowFailure: false,\n            callData: abi.encodeCall(IDisputeGameFactory.setImplementation, (PERMISSIONED_CANNON, pdgImpl)),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "mainnet/2025-04-23-upgrade-fault-proofs/validations/CB.md",
    "content": "# Validation for Coinbase Signers\n\nThis document can be used to validate the inputs and result of the execution of the upgrade transaction which you are signing.\n\n> [!NOTE]\n>\n> This document provides names for each contract address to add clarity to what you are seeing. These names will not be visible in the Tenderly UI. All that matters is that addresses and storage slot hex values match exactly what is presented in this document.\n\nThe steps are:\n\n1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes)\n2. [Verifying the state changes](#state-changes)\n\n## Expected Domain and Message Hashes\n\nFirst, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task.\n\n> [!CAUTION]\n>\n> Before signing, ensure the below hashes match what is on your ledger.\n>\n> ### CB Signer Safe - Mainnet: `0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110`\n>\n> - Domain Hash: `0xfb308368b8deca582e84a807d31c1bfcec6fda754061e2801b4d6be5cb52a8ac`\n> - Message Hash: `0xfb35bb9de829bcf7b4a682ac101da587ee4fbd8a00b678c27cf752645789cc31`\n\n# State Validations\n\nFor each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract:\n\n- The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur.\n- All key values match the semantic meaning provided, which can be validated using the terminal commands provided.\n\n## State Overrides\n\n### Proxy Admin Owner - Mainnet (`0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n### CB Coordinator Safe - Mainnet (`0x9855054731540A48b28990B63DcF4f33d8AE46A1`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n### CB Signer Safe - Mainnet (`0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000003` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Sets the owner count to 1 so the transaction simulation can occur.\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n- **Key**: `0x316a0aac0d94f5824f0b66f5bbe94a8c360a17699a1d3a233aafcf7146e9f11c` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: This is owners[0xca11bde05977b3631167028862be2a173976ca11] -> 1, so the key can be derived from `cast index address 0xca11bde05977b3631167028862be2a173976ca11 2`.\n\n- **Key**: `0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0` <br/>\n  **Override**: `0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca11` <br/>\n  **Meaning**: This is owners[1] -> 0xca11bde05977b3631167028862be2a173976ca11, so the key can be derived from `cast index address 0x0000000000000000000000000000000000000001 2`.\n\n## Task State Changes\n\n### Dispute Game Factory Proxy - Mainnet (`0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e`)\n\n0. **Key**: `0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e` <br/>\n   **Before**: `0x000000000000000000000000e749aa49c3edaf1dcb997ea3dac23dff72bcb826` <br/>\n   **After**: `0x0000000000000000000000007344da3a618b86cda67f8260c0cc2027d99f5b49` <br/>\n   **Value Type**: address <br/>\n   **Decoded Old Value**: `0xE749aA49c3eDAF1DCb997eA3DAC23dff72bcb826` <br/>\n   **Decoded New Value**: `0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49` <br/>\n   **Meaning**: Updates the `PermissionedDisputeGame` implementation address. You can verify the key derivation by running `cast index uint32 1 101` in your terminal. <br/>\n\n1. **Key**: `0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b` <br/>\n   **Before**: `0x000000000000000000000000e17d670043c3cdd705a3223b3d89a228a1f07f0f` <br/>\n   **After**: `0x000000000000000000000000ab91fb6cef84199145133f75cbd96b8a31f184ed` <br/>\n   **Value Type**: address <br/>\n   **Decoded Old Value**: `0xE17d670043c3cDd705a3223B3D89A228A1f07F0f` <br/>\n   **Decoded New Value**: `0xAB91FB6cef84199145133f75cBD96B8a31F184ED` <br/>\n   **Meaning**: Updates the `FaultDisputeGame` implementation address. You can verify the key derivation by running `cast index uint32 0 101` in your terminal. <br/>\n\n### Proxy Admin Owner - Mainnet (`0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c`)\n\n2. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000008` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000009` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `8` <br/>\n   **Decoded New Value**: `9` <br/>\n   **Meaning**: Increments the nonce <br/>\n\n3. **Key**: `0xb6dd246ed63451030f1723985e9b9585b536e679783d2a9c70d84aa5a465dcb7` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `0` <br/>\n   **Decoded New Value**: `1` <br/>\n   **Meaning**: Sets an approval for this transaction from the signer. Compute the expected raw slot key with `cast index bytes32 $NESTED_HASH $(cast index address $NESTED_SAFE 8)` where `NESTED_HASH` is `0x378644b143fa5f6becf1f80e7c66ebb76369df458d06f1d2a82ec1cae4124806` (you should see this in your terminal as the Nested hash for safe 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c) and `NESTED_SAFE` is `0x9855054731540A48b28990B63DcF4f33d8AE46A1`. <br/>\n\n### CB Coordinator Safe - Mainnet (`0x9855054731540A48b28990B63DcF4f33d8AE46A1`)\n\n4. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000015` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000016` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `21` <br/>\n   **Decoded New Value**: `22` <br/>\n   **Meaning**: Increments the nonce <br/>\n\n5. **Key**: `0xbb0e1c8c01e4568beec4555fc6acdf5ffe7d5c669a69fc2b4e6e0fae42db8834` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `0` <br/>\n   **Decoded New Value**: `1` <br/>\n   **Meaning**: Sets an approval for this transaction from the signer. Compute the expected raw slot key with `cast index bytes32 $NESTED_HASH $(cast index address $NESTED_SAFE 8)` where `NESTED_HASH` is `0xbb32860528d49e6103c942c2d7ffeb7d2ff304e1c86cec7c2bc445c3a3921335` (you should see this in your terminal as the Nested hash for safe 0x9855054731540A48b28990B63DcF4f33d8AE46A1) and `NESTED_SAFE` is `0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110`. <br/>\n\n### CB Signer Safe - Mainnet (`0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110`)\n\n6. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `0` <br/>\n   **Decoded New Value**: `1` <br/>\n   **Meaning**: Increments the nonce <br/>\n\n### Your Signer Address\n\n- Nonce increment\n\nYou can now navigate back to the [README](../README.md#43-extract-the-domain-hash-and-the-message-hash-to-approve) to continue the signing process.\n"
  },
  {
    "path": "mainnet/2025-04-23-upgrade-fault-proofs/validations/OP.md",
    "content": "# Validation for Optimism Signers\n\nThis document can be used to validate the inputs and result of the execution of the upgrade transaction which you are signing.\n\n> [!NOTE]\n>\n> This document provides names for each contract address to add clarity to what you are seeing. These names will not be visible in the Tenderly UI. All that matters is that addresses and storage slot hex values match exactly what is presented in this document.\n\nThe steps are:\n\n1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes)\n2. [Verifying the state changes](#state-changes)\n\n## Expected Domain and Message Hashes\n\nFirst, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task.\n\n> [!CAUTION]\n>\n> Before signing, ensure the below hashes match what is on your ledger.\n>\n> ### OP Signer Safe - Mainnet: `0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A`\n>\n> - Domain Hash: `0x4e6a6554de0308f5ece8ff736beed8a1b876d16f5c27cac8e466d7de0c703890`\n> - Message Hash: `0x622b6fc8b2a90dd7a4bf039496c1cbbb1ca0dd703f55c2ae407692080c054a9e`\n\n# State Validations\n\nFor each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract:\n\n- The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur.\n- All key values match the semantic meaning provided, which can be validated using the terminal commands provided.\n\n## State Overrides\n\n### Proxy Admin Owner - Mainnet (`0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n### OP Signer Safe - Mainnet (`0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000003` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Sets the owner count to 1 so the transaction simulation can occur.\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n- **Key**: `0x316a0aac0d94f5824f0b66f5bbe94a8c360a17699a1d3a233aafcf7146e9f11c` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: This is owners[0xca11bde05977b3631167028862be2a173976ca11] -> 1, so the key can be derived from `cast index address 0xca11bde05977b3631167028862be2a173976ca11 2`.\n\n- **Key**: `0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0` <br/>\n  **Override**: `0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca11` <br/>\n  **Meaning**: This is owners[1] -> 0xca11bde05977b3631167028862be2a173976ca11, so the key can be derived from `cast index address 0x0000000000000000000000000000000000000001 2`.\n\n## Task State Changes\n\n### Dispute Game Factory Proxy - Mainnet (`0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e`)\n\n0. **Key**: `0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e` <br/>\n   **Before**: `0x000000000000000000000000e749aa49c3edaf1dcb997ea3dac23dff72bcb826` <br/>\n   **After**: `0x0000000000000000000000007344da3a618b86cda67f8260c0cc2027d99f5b49` <br/>\n   **Value Type**: address <br/>\n   **Decoded Old Value**: `0xE749aA49c3eDAF1DCb997eA3DAC23dff72bcb826` <br/>\n   **Decoded New Value**: `0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49` <br/>\n   **Meaning**: Updates the `PermissionedDisputeGame` implementation address. You can verify the key derivation by running `cast index uint32 1 101` in your terminal. <br/>\n\n1. **Key**: `0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b` <br/>\n   **Before**: `0x000000000000000000000000e17d670043c3cdd705a3223b3d89a228a1f07f0f` <br/>\n   **After**: `0x000000000000000000000000ab91fb6cef84199145133f75cbd96b8a31f184ed` <br/>\n   **Value Type**: address <br/>\n   **Decoded Old Value**: `0xE17d670043c3cDd705a3223B3D89A228A1f07F0f` <br/>\n   **Decoded New Value**: `0xAB91FB6cef84199145133f75cBD96B8a31F184ED` <br/>\n   **Meaning**: Updates the `FaultDisputeGame` implementation address. You can verify the key derivation by running `cast index uint32 0 101` in your terminal. <br/>\n\n### Proxy Admin Owner - Mainnet (`0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c`)\n\n2. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000008` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000009` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `8` <br/>\n   **Decoded New Value**: `9` <br/>\n   **Meaning**: Increments the nonce <br/>\n\n3. **Key**: `0x677ccc35cbca06cc7e18392d16ec576e71fa6bee6c9228127ba81e2326729ab2` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `0` <br/>\n   **Decoded New Value**: `1` <br/>\n   **Meaning**: Sets an approval for this transaction from the signer. Compute the expected raw slot key with `cast index bytes32 $NESTED_HASH $(cast index address $NESTED_SAFE 8)` where `NESTED_HASH` is `0x378644b143fa5f6becf1f80e7c66ebb76369df458d06f1d2a82ec1cae4124806` (you should see this in your terminal as the Nested hash for safe 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c) and `NESTED_SAFE` is `0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A`. <br/>\n\n### OP Signer Safe - Mainnet (`0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A`)\n\n4. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000069` <br/>\n   **After**: `0x000000000000000000000000000000000000000000000000000000000000006a` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `105` <br/>\n   **Decoded New Value**: `106` <br/>\n   **Meaning**: Increments the nonce <br/>\n\n### Your Signer Address\n\n- Nonce increment\n\nYou can now navigate back to the [README](../README.md#43-extract-the-domain-hash-and-the-message-hash-to-approve) to continue the signing process.\n"
  },
  {
    "path": "mainnet/2025-04-23-upgrade-fault-proofs/validations/SC.md",
    "content": "# Validation for Security Council Signers\n\nThis document can be used to validate the inputs and result of the execution of the upgrade transaction which you are signing.\n\n> [!NOTE]\n>\n> This document provides names for each contract address to add clarity to what you are seeing. These names will not be visible in the Tenderly UI. All that matters is that addresses and storage slot hex values match exactly what is presented in this document.\n\nThe steps are:\n\n1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes)\n2. [Verifying the state changes](#state-changes)\n\n## Expected Domain and Message Hashes\n\nFirst, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task.\n\n> [!CAUTION]\n>\n> Before signing, ensure the below hashes match what is on your ledger.\n>\n> ### Security Council Safe - Mainnet: `0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd`\n>\n> - Domain Hash: `0x1fbfdc61ceb715f63cb17c56922b88c3a980f1d83873df2b9325a579753e8aa3`\n> - Message Hash: `0xfb35bb9de829bcf7b4a682ac101da587ee4fbd8a00b678c27cf752645789cc31`\n\n# State Validations\n\nFor each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract:\n\n- The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur.\n- All key values match the semantic meaning provided, which can be validated using the terminal commands provided.\n\n## State Overrides\n\n### Security Council Safe - Mainnet (`0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000003` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Sets the owner count to 1 so the transaction simulation can occur.\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n- **Key**: `0x316a0aac0d94f5824f0b66f5bbe94a8c360a17699a1d3a233aafcf7146e9f11c` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: This is owners[0xca11bde05977b3631167028862be2a173976ca11] -> 1, so the key can be derived from `cast index address 0xca11bde05977b3631167028862be2a173976ca11 2`.\n\n- **Key**: `0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0` <br/>\n  **Override**: `0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca11` <br/>\n  **Meaning**: This is owners[1] -> 0xca11bde05977b3631167028862be2a173976ca11, so the key can be derived from `cast index address 0x0000000000000000000000000000000000000001 2`.\n\n### Proxy Admin Owner - Mainnet (`0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n### CB Coordinator Safe - Mainnet (`0x9855054731540A48b28990B63DcF4f33d8AE46A1`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n## Task State Changes\n\n### Security Council Safe - Mainnet (`0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd`)\n\n0. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `0` <br/>\n   **Decoded New Value**: `1` <br/>\n   **Meaning**: Increments the nonce <br/>\n\n### Dispute Game Factory Proxy - Mainnet (`0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e`)\n\n1. **Key**: `0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e` <br/>\n   **Before**: `0x000000000000000000000000e749aa49c3edaf1dcb997ea3dac23dff72bcb826` <br/>\n   **After**: `0x0000000000000000000000007344da3a618b86cda67f8260c0cc2027d99f5b49` <br/>\n   **Value Type**: address <br/>\n   **Decoded Old Value**: `0xE749aA49c3eDAF1DCb997eA3DAC23dff72bcb826` <br/>\n   **Decoded New Value**: `0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49` <br/>\n   **Meaning**: Updates the `PermissionedDisputeGame` implementation address. You can verify the key derivation by running `cast index uint32 1 101` in your terminal. <br/>\n\n2. **Key**: `0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b` <br/>\n   **Before**: `0x000000000000000000000000e17d670043c3cdd705a3223b3d89a228a1f07f0f` <br/>\n   **After**: `0x000000000000000000000000ab91fb6cef84199145133f75cbd96b8a31f184ed` <br/>\n   **Value Type**: address <br/>\n   **Decoded Old Value**: `0xE17d670043c3cDd705a3223B3D89A228A1f07F0f` <br/>\n   **Decoded New Value**: `0xAB91FB6cef84199145133f75cBD96B8a31F184ED` <br/>\n   **Meaning**: Updates the `FaultDisputeGame` implementation address. You can verify the key derivation by running `cast index uint32 0 101` in your terminal. <br/>\n\n### Proxy Admin Owner - Mainnet (`0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c`)\n\n3. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000008` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000009` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `8` <br/>\n   **Decoded New Value**: `9` <br/>\n   **Meaning**: Increments the nonce <br/>\n\n4. **Key**: `0xb6dd246ed63451030f1723985e9b9585b536e679783d2a9c70d84aa5a465dcb7` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `0` <br/>\n   **Decoded New Value**: `1` <br/>\n   **Meaning**: Sets an approval for this transaction from the signer. Compute the expected raw slot key with `cast index bytes32 $NESTED_HASH $(cast index address $NESTED_SAFE 8)` where `NESTED_HASH` is `0x378644b143fa5f6becf1f80e7c66ebb76369df458d06f1d2a82ec1cae4124806` (you should see this in your terminal as the Nested hash for safe 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c) and `NESTED_SAFE` is `0x9855054731540A48b28990B63DcF4f33d8AE46A1`. <br/>\n\n### CB Coordinator Safe - Mainnet (`0x9855054731540A48b28990B63DcF4f33d8AE46A1`)\n\n5. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000015` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000016` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `21` <br/>\n   **Decoded New Value**: `22` <br/>\n   **Meaning**: Increments the nonce <br/>\n\n6. **Key**: `0xd44aa84538c38f5f557ad41295befbb0b175c0e64da81611575bb33319b6c9f5` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `0` <br/>\n   **Decoded New Value**: `1` <br/>\n   **Meaning**: Sets an approval for this transaction from the signer. Compute the expected raw slot key with `cast index bytes32 $NESTED_HASH $(cast index address $NESTED_SAFE 8)` where `NESTED_HASH` is `0xbb32860528d49e6103c942c2d7ffeb7d2ff304e1c86cec7c2bc445c3a3921335` (you should see this in your terminal as the Nested hash for safe 0x9855054731540A48b28990B63DcF4f33d8AE46A1) and `NESTED_SAFE` is `0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd`. <br/>\n\n### Your Signer Address\n\n- Nonce increment\n\nYou can now navigate back to the [README](../README.md#43-extract-the-domain-hash-and-the-message-hash-to-approve) to continue the signing process.\n"
  },
  {
    "path": "mainnet/2025-04-29-increase-gas-limit/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\nifndef ROLLBACK_NONCE_OFFSET\noverride ROLLBACK_NONCE_OFFSET = 1\nendif\n\n.PHONY: sign-upgrade\nsign-upgrade:\n\tFROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"sign(address[])\" []\n\n.PHONY: execute-upgrade\nexecute-upgrade:\n\tFROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n.PHONY: sign-rollback\nsign-rollback:\n\tFROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tSAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) \"nonce()\" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \\\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"sign(address[])\" []\n\n.PHONY: execute-rollback\nexecute-rollback:\n\tFROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tSAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) \"nonce()\" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2025-04-29-increase-gas-limit/README.md",
    "content": "# Update Gas Limit in L1 `SystemConfig`\n\nStatus: DONE\n\n## Objective\n\nWe are updating the gas limit to improve TPS and reduce gas fees.\n\nThis runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base-org/contracts) repository:\n\n`SetGasLimit` -- This script will update the gas limit to our new limit of 32.5 Mgas if invoked as part of the \"upgrade\" process, or revert to the old limit of 30 Mgas if invoked as part of the \"rollback\" process.\n\nThe values we are sending are statically defined in the `.env`.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow\n> the flow for both \"Approving the Update transaction\" and\n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed.\n\n## Approving the Upgrade transaction\n\n### 1. Update repo and move to the appropriate folder:\n\n```\ncd contract-deployments\ngit pull\ncd mainnet/2025-04-29-increase-gas-limit\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-upgrade\n```\n\nOnce you run the `make sign...` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 59 to 60:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x000000000000000000000000000000000000000000000000000000000000003b\nAfter: 0x000000000000000000000000000000000000000000000000000000000000003c\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 120000000 to 130000000:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x0000000000000000000000000000000000000000000000000000000007270e00\nAfter: 0x0000000000000000000000000000000000000000000000000000000007bfa480\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-upgrade\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Approving the Rollback transaction\n\nComplete the above steps for `Approving the Update transaction` before continuing below.\n\n### 1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-rollback\n```\n\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output. Once again paste this URL in your browser and click \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x000000000000000000000000000000000000000000000000000000000000003c\nAfter: 0x000000000000000000000000000000000000000000000000000000000000003d\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x0000000000000000000000000000000000000000000000000000000007bfa480\nAfter: 0x0000000000000000000000000000000000000000000000000000000007270e00\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-rollback\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make execute-upgrade`\n\n> [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK\n> Repeat the above, but replace the signatures with the signed\n> rollback signatures collected, the call `make execute-rollback`\n"
  },
  {
    "path": "mainnet/2025-04-29-increase-gas-limit/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2025-04-29-increase-gas-limit/records/SetGasLimit.sol/1/run-1746038678.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xf7cf62023fd5830c64ad28b284d97b62b65d9667aa5f67428c69581d000e7926\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000007bfa48000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x20654261c59ff3926955618417f46fd24b9d88e1d007a27fc722078719a8df3039d7720b59c114cef89553593528db0f6128386258bf0457e5d1157b02f677e81bb9e2050b7821036a4ed54ddb0387c4e442e46dd1d6c54c6f22db1b30766ed9f97864d6b377ec529d873f8b4a7e91f820d3368ee8b5160ee1d0cd6ae6e78c12611c4fdf2cd2c02c4ee51d05f02e3464c18f0dc65aadfa8ae99403cf9cd94c9c2a897cdaa3e319cb2a0892c57527653d955114b9aaf970844fb104a32fcabd9736711b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x1e857\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000144174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000007bfa480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c320654261c59ff3926955618417f46fd24b9d88e1d007a27fc722078719a8df3039d7720b59c114cef89553593528db0f6128386258bf0457e5d1157b02f677e81bb9e2050b7821036a4ed54ddb0387c4e442e46dd1d6c54c6f22db1b30766ed9f97864d6b377ec529d873f8b4a7e91f820d3368ee8b5160ee1d0cd6ae6e78c12611c4fdf2cd2c02c4ee51d05f02e3464c18f0dc65aadfa8ae99403cf9cd94c9c2a897cdaa3e319cb2a0892c57527653d955114b9aaf970844fb104a32fcabd9736711b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x8\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xf2b063\",\n      \"logs\": [\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000002\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000007bfa480\",\n          \"blockHash\": \"0x6af5286f21516dcbd886a620570a09d96587c9668eaf1a08d33997ac39a61bfc\",\n          \"blockNumber\": \"0x1558c6e\",\n          \"blockTimestamp\": \"0x68126f93\",\n          \"transactionHash\": \"0xf7cf62023fd5830c64ad28b284d97b62b65d9667aa5f67428c69581d000e7926\",\n          \"transactionIndex\": \"0x96\",\n          \"logIndex\": \"0x199\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xad05ed7def54516cce03ad2a56ebf80e5c6ddd3cfa2589d07c62f86284872ead0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x6af5286f21516dcbd886a620570a09d96587c9668eaf1a08d33997ac39a61bfc\",\n          \"blockNumber\": \"0x1558c6e\",\n          \"blockTimestamp\": \"0x68126f93\",\n          \"transactionHash\": \"0xf7cf62023fd5830c64ad28b284d97b62b65d9667aa5f67428c69581d000e7926\",\n          \"transactionIndex\": \"0x96\",\n          \"logIndex\": \"0x19a\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xf7cf62023fd5830c64ad28b284d97b62b65d9667aa5f67428c69581d000e7926\",\n      \"transactionIndex\": \"0x96\",\n      \"blockHash\": \"0x6af5286f21516dcbd886a620570a09d96587c9668eaf1a08d33997ac39a61bfc\",\n      \"blockNumber\": \"0x1558c6e\",\n      \"gasUsed\": \"0x1618e\",\n      \"effectiveGasPrice\": \"0x1b2207b1\",\n      \"from\": \"0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1746038678,\n  \"chain\": 1,\n  \"commit\": \"faffa71\"\n}"
  },
  {
    "path": "mainnet/2025-05-06-fund-ledgers/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: sign\nsign:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) FundScript \\\n\t--sig \"sign(address[])\" \"[]\" --sender 0x969ffD102fbF304d4e401999333FE9397DaC653D\n\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(L1_RPC_URL) FundScript \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv\n\n"
  },
  {
    "path": "mainnet/2025-05-06-fund-ledgers/README.md",
    "content": "# Funding\n\nStatus: [EXECUTED](https://etherscan.io/tx/0x022d62e853dfc9e8778181f6e8400f508d1a03fe99e9cbbf5076a7f669371903)\n\n## Description\n\nThis task contains a single script that can be used to fund addresses from a Gnosis Safe.\n\n## Procedure\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd mainnet/2025-05-06-fund-ledgers\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate, Validate, and Sign\n\n#### 3.1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following command:\n\n```bash\nmake sign\n```\n\nFor each run, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and extract the domain hash and\nmessage hash to approve on your Ledger:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n##### 3.1.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is `Mainnet`.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n\n##### 3.1.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab, and refer to the [Ethereum State](./VALIDATION.md) validation instructions for the transaction you are signing. Once complete return to this document to complete the signing.\n\n### 4. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\nOnce the validations are done, it's time to actually sign the\ntransaction.\n\n> [!WARNING]\n> This is the most security critical part of the playbook: make sure the\n> domain hash and message hash in the following three places match:\n>\n> 1. On your Ledger screen.\n> 2. In the terminal output.\n> 3. In the Tenderly simulation. You should use the same Tenderly\n>    simulation as the one you used to verify the state diffs, instead\n>    of opening the new one printed in the console.\n>\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```shell\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n#### 4.1. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n### [For Facilitator ONLY] How to execute\n\n#### Execute the transaction\n\n1. Collect outputs from all participating signers.\n1. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"`.\n1. Run the `make execute` command as described below to execute the transaction.\n\nFor example, if the quorum is 2 and you get the following outputs:\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE01\nSignature: AAAA\n```\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE02\nSignature: BBBB\n```\n\nThen you should run:\n\nCoinbase facilitator:\n\n```bash\nSIGNATURES=AAAABBBB make execute\n```\n"
  },
  {
    "path": "mainnet/2025-05-06-fund-ledgers/VALIDATION.md",
    "content": "# Validation for Coinbase Signers\n\nThis document can be used to validate the inputs and result of the execution of the funding transaction which you are signing.\n\n> [!NOTE]\n>\n> This document provides names for each contract address to add clarity to what you are seeing. These names will not be visible in the Tenderly UI. All that matters is that addresses and storage slot hex values match exactly what is presented in this document.\n\nThe steps are:\n\n1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes)\n2. [Verifying the state changes](#state-changes)\n\n## Expected Domain and Message Hashes\n\nFirst, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task.\n\n> [!CAUTION]\n>\n> Before signing, ensure the below hashes match what is on your ledger.\n>\n> - Domain Hash: `0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289`\n> - Message Hash: `0x006e270985d13c3ee735ee87e4cac32a64928adbb6d1438fb4270f570611c467`\n\n# State Validations\n\nFor each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract:\n\n- The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur.\n- All key values match the semantic meaning provided, which can be validated using the terminal commands provided.\n\n## State Overrides\n\n### Multisig - Mainnet (`0x14536667Cd30e52C0b458BaACcB9faDA7046E056`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000003` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Sets the owner count to 1 so the transaction simulation can occur.\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n- **Key**: `0x316a0aac0d94f5824f0b66f5bbe94a8c360a17699a1d3a233aafcf7146e9f11c` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Adds the Multicall3 as an owner of the Multisig (Multicall3 -> SENTINEL_OWNERS). The key can be derived from `cast index address 0xca11bde05977b3631167028862be2a173976ca11 2`.\n\n- **Key**: `0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0` <br/>\n  **Override**: `0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca11` <br/>\n  **Meaning**: Adds the Multicall3 as an owner of the Multisig (SENTINEL_OWNERS -> Multicall3). The key can be derived from `cast index address 0x0000000000000000000000000000000000000001 2`.\n\n## Task State Changes\n\n### Multisig - Mainnet (`0x14536667Cd30e52C0b458BaACcB9faDA7046E056`)\n\n0. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **Before**: `0x000000000000000000000000000000000000000000000000000000000000003d` <br/>\n   **After**: `0x000000000000000000000000000000000000000000000000000000000000003e` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `61` <br/>\n   **Decoded New Value**: `62` <br/>\n   **Meaning**: Increments the nonce <br/>\n\n1. **Balance**: <br/>\n   **Before**: `6901388753258052892` <br/>\n   **After**: `2901388753258052892` <br/>\n   **Decoded Old Value**: `6.901388753258052892 ETH` <br/>\n   **Decoded New Value**: `2.901388753258052892 ETH` <br/>\n   **Meaning**: Decreases the balance of the Multisig by 4.0 ETH. <br/>\n\n### Ledger - Mainnet (`0x24c3AE1AeDB8142D32BB6d3B988f5910F272D53b`)\n\n2. **Balance**: <br/>\n   **Before**: `73257648092217326` <br/>\n   **After**: `1073257648092217326` <br/>\n   **Decoded Old Value**: `0.73257648092217326 ETH` <br/>\n   **Decoded New Value**: `1.073257648092217326 ETH` <br/>\n   **Meaning**: Increases the balance of the Ledger by 1.0 ETH. <br/>\n\n### Ledger - Mainnet (`0x644e3DedB0e4F83Bfcf8F9992964d240224B74dc`)\n\n3. **Balance**: <br/>\n   **Before**: `196117821806170970` <br/>\n   **After**: `1196117821806170970` <br/>\n   **Decoded Old Value**: `0.196117821806170970 ETH` <br/>\n   **Decoded New Value**: `1.196117821806170970 ETH` <br/>\n   **Meaning**: Increases the balance of the Ledger by 1.0 ETH. <br/>\n\n### Ledger - Mainnet (`0x7Ad8E6B7B1f6D66F49559f20053Cef8a7b6c488E`)\n\n4. **Balance**: <br/>\n   **Before**: `99904441829080593` <br/>\n   **After**: `1099904441829080593` <br/>\n   **Decoded Old Value**: `0.099904441829080593 ETH` <br/>\n   **Decoded New Value**: `1.099904441829080593 ETH` <br/>\n   **Meaning**: Increases the balance of the Ledger by 1.0 ETH. <br/>\n\n### Ledger - Mainnet (`0x9bF96DCf51959915c8c343a3E50820Ad069A1859`)\n\n5. **Balance**: <br/>\n   **Before**: `0` <br/>\n   **After**: `1000000000000000000` <br/>\n   **Decoded Old Value**: `0.0 ETH` <br/>\n   **Decoded New Value**: `1.0 ETH` <br/>\n   **Meaning**: Increases the balance of the Ledger by 1.0 ETH. <br/>\n\n### Ledger - Mainnet (`0x969ffD102fbF304d4e401999333FE9397DaC653D`)\n\n- Nonce increment for the sender of the simulated transaction.\n\nYou can now navigate back to the [README](../README.md#4-extract-the-domain-hash-and-the-message-hash-to-approve) to continue the signing process.\n"
  },
  {
    "path": "mainnet/2025-05-06-fund-ledgers/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "mainnet/2025-05-06-fund-ledgers/funding.json",
    "content": "{\n    \"recipients\": [\n        \"0x7Ad8E6B7B1f6D66F49559f20053Cef8a7b6c488E\",\n        \"0x644e3DedB0e4F83Bfcf8F9992964d240224B74dc\",\n        \"0x24c3AE1AeDB8142D32BB6d3B988f5910F272D53b\",\n        \"0x9bf96dcf51959915c8c343a3e50820ad069a1859\"\n    ],\n    \"funds\": [\n        1000000000000000000,\n        1000000000000000000,\n        1000000000000000000,\n        1000000000000000000\n    ]\n}"
  },
  {
    "path": "mainnet/2025-05-06-fund-ledgers/records/Fund.s.sol/1/run-1747176781.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x022d62e853dfc9e8778181f6e8400f508d1a03fe99e9cbbf5076a7f669371903\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"4000000000000000000\",\n        \"0x174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002600000000000000000000000007ad8e6b7b1f6d66f49559f20053cef8a7b6c488e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000644e3dedb0e4f83bfcf8f9992964d240224b74dc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024c3ae1aedb8142d32bb6d3b988f5910f272d53b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009bf96dcf51959915c8c343a3e50820ad069a185900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x1e5ea0fd9b2723c6cea3fb18450e66158fcc57e64cc23add7ec74e89e86c1c6c17f71e25101cbb1ddd15aab77c59f4a5365809ad5711e2e414df2a34cb4d18351ca652ff885ed74c7f92adee3cb44e62bae4f2199ebdfe318ac08bbceedf43e063139fd300a24d1292da3e83f5b52aaa4ef478808784d80ec46d00c4b146510b141c36b6908848054a9f4facf5df59f9ff3f33cc7fc742f81f5e5bb1f7b6a98ea19e1ddd87bbb0279f2a9c08196edf205d9005f0b75908cabe0e8c217df7e3ffc27c1c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x30820\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000003782dace9d900000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004c00000000000000000000000000000000000000000000000000000000000000344174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002600000000000000000000000007ad8e6b7b1f6d66f49559f20053cef8a7b6c488e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000644e3dedb0e4f83bfcf8f9992964d240224b74dc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024c3ae1aedb8142d32bb6d3b988f5910f272d53b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009bf96dcf51959915c8c343a3e50820ad069a185900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c31e5ea0fd9b2723c6cea3fb18450e66158fcc57e64cc23add7ec74e89e86c1c6c17f71e25101cbb1ddd15aab77c59f4a5365809ad5711e2e414df2a34cb4d18351ca652ff885ed74c7f92adee3cb44e62bae4f2199ebdfe318ac08bbceedf43e063139fd300a24d1292da3e83f5b52aaa4ef478808784d80ec46d00c4b146510b141c36b6908848054a9f4facf5df59f9ff3f33cc7fc742f81f5e5bb1f7b6a98ea19e1ddd87bbb0279f2a9c08196edf205d9005f0b75908cabe0e8c217df7e3ffc27c1c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x1\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xd43626\",\n      \"logs\": [\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x779641866b5dcf8f40b73a2ba2e1fa54b33b2d26092718aa8274486aa6611fa70000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x8a0e38be677eddc68d65fea33d1d253207995a0ef7dac11931e96d01f4997f52\",\n          \"blockNumber\": \"0x156fa4f\",\n          \"blockTimestamp\": \"0x6823cd4b\",\n          \"transactionHash\": \"0x022d62e853dfc9e8778181f6e8400f508d1a03fe99e9cbbf5076a7f669371903\",\n          \"transactionIndex\": \"0x95\",\n          \"logIndex\": \"0x500\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x022d62e853dfc9e8778181f6e8400f508d1a03fe99e9cbbf5076a7f669371903\",\n      \"transactionIndex\": \"0x95\",\n      \"blockHash\": \"0x8a0e38be677eddc68d65fea33d1d253207995a0ef7dac11931e96d01f4997f52\",\n      \"blockNumber\": \"0x156fa4f\",\n      \"gasUsed\": \"0x231e7\",\n      \"effectiveGasPrice\": \"0x6ff6f687\",\n      \"from\": \"0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1747176781,\n  \"chain\": 1,\n  \"commit\": \"b4115a3\"\n}"
  },
  {
    "path": "mainnet/2025-05-06-fund-ledgers/script/Fund.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {console} from \"forge-std/console.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\n\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\n\ncontract FundScript is MultisigScript {\n    address internal immutable SAFE;\n\n    uint256 internal immutable SAFE_BALANCE_BEFORE;\n    uint256 internal immutable TOTAL_FUNDS;\n\n    address[] internal RECIPIENTS;\n    uint256[] internal FUNDS;\n    uint256[] internal RECIPIENT_BALANCES_BEFORE;\n\n    constructor() {\n        Chain memory chain = getChain(block.chainid);\n        console.log(\"Deploying on chain: %s\", chain.name);\n\n        SAFE = vm.envAddress(\"SAFE\");\n\n        string memory funding = vm.readFile(\"./funding.json\");\n        RECIPIENTS = vm.parseJsonAddressArray(funding, \".recipients\");\n        FUNDS = vm.parseJsonUintArray(funding, \".funds\");\n\n        uint256 totalFunds = 0;\n        RECIPIENT_BALANCES_BEFORE = new uint256[](RECIPIENTS.length);\n        for (uint256 i; i < RECIPIENTS.length; i++) {\n            RECIPIENT_BALANCES_BEFORE[i] = RECIPIENTS[i].balance;\n            totalFunds += FUNDS[i];\n        }\n\n        SAFE_BALANCE_BEFORE = SAFE.balance;\n        TOTAL_FUNDS = totalFunds;\n    }\n\n    function setUp() public view {\n        _precheck();\n    }\n\n    function _precheck() internal view {\n        require(RECIPIENTS.length == FUNDS.length, \"RECIPIENTS and FUNDS not same length\");\n        require(RECIPIENTS.length > 0, \"RECIPIENTS and FUNDS empty\");\n        require(SAFE.balance >= TOTAL_FUNDS, \"SAFE not enough balance\");\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) {\n        IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](RECIPIENTS.length);\n        for (uint256 i; i < RECIPIENTS.length; i++) {\n            calls[i] =\n                IMulticall3.Call3Value({target: RECIPIENTS[i], allowFailure: false, callData: \"\", value: FUNDS[i]});\n        }\n\n        return calls;\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        for (uint256 i; i < RECIPIENTS.length; i++) {\n            vm.assertEq(\n                RECIPIENTS[i].balance, RECIPIENT_BALANCES_BEFORE[i] + FUNDS[i], \"Recipient balance is not correct\"\n            );\n        }\n\n        vm.assertEq(SAFE.balance, SAFE_BALANCE_BEFORE - TOTAL_FUNDS, \"Owner safe balance is not correct\");\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return SAFE;\n    }\n}\n"
  },
  {
    "path": "mainnet/2025-05-07-increase-gas-limit/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\nifndef ROLLBACK_NONCE_OFFSET\noverride ROLLBACK_NONCE_OFFSET = 1\nendif\n\n.PHONY: sign-upgrade\nsign-upgrade:\n\tFROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"sign(address[])\" []\n\n.PHONY: execute-upgrade\nexecute-upgrade:\n\tFROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n.PHONY: sign-rollback\nsign-rollback:\n\tFROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tSAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) \"nonce()\" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \\\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"sign(address[])\" []\n\n.PHONY: execute-rollback\nexecute-rollback:\n\tFROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tSAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) \"nonce()\" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast"
  },
  {
    "path": "mainnet/2025-05-07-increase-gas-limit/README.md",
    "content": "# Update Gas Limit in L1 `SystemConfig`\n\nStatus: DONE\n\n## Objective\n\nWe are updating the gas limit to improve TPS and reduce gas fees.\n\nThis runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base-org/contracts) repository:\n\n`SetGasLimit` -- This script will update the gas limit to our new limit of 35 Mgas/s if invoked as part of the \"upgrade\" process, or revert to the old limit of 32.5 Mgas/s if invoked as part of the \"rollback\" process.\n\nThe values we are sending are statically defined in the `.env`.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow\n> the flow for both \"Approving the Update transaction\" and\n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed.\n\n## Approving the Upgrade transaction\n\n### 1. Update repo and move to the appropriate folder:\n\n```\ncd contract-deployments\ngit pull\ncd mainnet/2025-05-07-increase-gas-limit\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-upgrade\n```\n\nOnce you run the `make sign...` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 60 to 61:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x000000000000000000000000000000000000000000000000000000000000003c\nAfter: 0x000000000000000000000000000000000000000000000000000000000000003d\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 130000000 to 140000000:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x0000000000000000000000000000000000000000000000000000000007bfa480\nAfter: 0x0000000000000000000000000000000000000000000000000000000008583b00\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-upgrade\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Approving the Rollback transaction\n\nComplete the above steps for `Approving the Update transaction` before continuing below.\n\n### 1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-rollback\n```\n\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output. Once again paste this URL in your browser and click \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x000000000000000000000000000000000000000000000000000000000000003d\nAfter: 0x000000000000000000000000000000000000000000000000000000000000003e\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x0000000000000000000000000000000000000000000000000000000008583b00\nAfter: 0x0000000000000000000000000000000000000000000000000000000007bfa480\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-rollback\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make execute-upgrade`\n\n> [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK\n> Repeat the above, but replace the signatures with the signed\n> rollback signatures collected, the call `make execute-rollback`\n"
  },
  {
    "path": "mainnet/2025-05-07-increase-gas-limit/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2025-05-07-increase-gas-limit/records/SetGasLimit.sol/1/run-1746637693.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xd7a88d9d11f40e175c6e9773ecc368ece7f65037398ea17fdc31849b3243571b\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000008583b0000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x2d97cfbaa1c3c722100dbd793f9c2b8df50f8bb5878803ce6c953e92e54e2e652f5660fe782adb6a2015be08123b11156a07d59be7feb924c5f5a27dfd2f48d41ca80ca4f83b9251587b8dcfe5f6be23ffc47b998a8fbf6f1f5c577edb676c9ff449fdb6a9474ecd2a47502a4c9e4ec7b1f0cd6f5d585ad910e391c6aac30f77e71bd3fcbabee6aab99fc3b564c6ca0c2ace6e593b4a2c3632b6e8eb00fab92d663723b8beda33c0ebf37cd92578c1fd2a66dceed93a0faaf0b085ade0143a6b7f4c1c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x1e837\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000144174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000008583b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c32d97cfbaa1c3c722100dbd793f9c2b8df50f8bb5878803ce6c953e92e54e2e652f5660fe782adb6a2015be08123b11156a07d59be7feb924c5f5a27dfd2f48d41ca80ca4f83b9251587b8dcfe5f6be23ffc47b998a8fbf6f1f5c577edb676c9ff449fdb6a9474ecd2a47502a4c9e4ec7b1f0cd6f5d585ad910e391c6aac30f77e71bd3fcbabee6aab99fc3b564c6ca0c2ace6e593b4a2c3632b6e8eb00fab92d663723b8beda33c0ebf37cd92578c1fd2a66dceed93a0faaf0b085ade0143a6b7f4c1c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0xc\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x13da995\",\n      \"logs\": [\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000002\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000008583b00\",\n          \"blockHash\": \"0x93704c338947916ab44c502b82db04a184764179a3496be101c465e77fd2b9c1\",\n          \"blockNumber\": \"0x1564d5c\",\n          \"blockTimestamp\": \"0x681b937b\",\n          \"transactionHash\": \"0xd7a88d9d11f40e175c6e9773ecc368ece7f65037398ea17fdc31849b3243571b\",\n          \"transactionIndex\": \"0x10f\",\n          \"logIndex\": \"0x1df\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xc231b30725174b0efa99ba32b4b9ba847299ae4dbe08f3b449f9aa5106573d650000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x93704c338947916ab44c502b82db04a184764179a3496be101c465e77fd2b9c1\",\n          \"blockNumber\": \"0x1564d5c\",\n          \"blockTimestamp\": \"0x681b937b\",\n          \"transactionHash\": \"0xd7a88d9d11f40e175c6e9773ecc368ece7f65037398ea17fdc31849b3243571b\",\n          \"transactionIndex\": \"0x10f\",\n          \"logIndex\": \"0x1e0\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xd7a88d9d11f40e175c6e9773ecc368ece7f65037398ea17fdc31849b3243571b\",\n      \"transactionIndex\": \"0x10f\",\n      \"blockHash\": \"0x93704c338947916ab44c502b82db04a184764179a3496be101c465e77fd2b9c1\",\n      \"blockNumber\": \"0x1564d5c\",\n      \"gasUsed\": \"0x16176\",\n      \"effectiveGasPrice\": \"0x5345f9e0\",\n      \"from\": \"0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1746637693,\n  \"chain\": 1,\n  \"commit\": \"3960c5c\"\n}"
  },
  {
    "path": "mainnet/2025-05-13-incident-multisig-signers/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nSCRIPT = UpdateSigners\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: deps\ndeps: new-go-deps new-forge-deps\n\n.PHONY: new-go-deps\nnew-go-deps:\n\tgo install github.com/jackchuma/state-diff@v0.0.1\n\n.PHONY: new-forge-deps\nnew-forge-deps:\n\tforge install --no-git safe-global/safe-smart-account@186a21a74b327f17fc41217a927dea7064f74604\n\n.PHONY: gen-validation\ngen-validation:\n\t$(GOPATH)/bin/state-diff --rpc $(L1_RPC_URL) -o VALIDATION.md \\\n\t-- forge script --rpc-url $(L1_RPC_URL) $(SCRIPT) \\\n\t--sig \"sign(address[])\" [] --sender 0x24c3AE1AeDB8142D32BB6d3B988f5910F272D53b\n\n.PHONY: sign\nsign:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) $(SCRIPT) --sig \"sign(address[])\" []\n\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(L1_RPC_URL) \\\n\t$(SCRIPT) --sig \"run(bytes)\" $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" \\\n\t--broadcast -vvvv\n"
  },
  {
    "path": "mainnet/2025-05-13-incident-multisig-signers/OwnerDiff.json",
    "content": "{\n  \"OwnersToAdd\": [\n    \"0xB37B2D42cb0C10ebf96279CcECa2cBFc47C6f236\",\n    \"0x9bf96dcf51959915c8c343a3e50820ad069a1859\",\n    \"0xA31E1c38d5c37D8ECd0e94C80C0F7FD624d009A3\",\n    \"0x4427683AA1f0ff25ccDC4a5Db83010c1DE9b5fF4\",\n    \"0x541a833E4303EB56a45bE7E8E4A908db97568d1e\"\n  ],\n  \"OwnersToRemove\": [\n    \"0xe32868ec7762650DdE723e945D638A05900974F4\",\n    \"0xC29A4a69886d5ee1E08BDBbdd4e35558A668ee04\",\n    \"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F\",\n    \"0x969ffD102fbF304d4e401999333FE9397DaC653D\",\n    \"0xa7a5e47D3959bf134e3EcdEb1f62e054f0D58a18\"\n  ]\n}\n"
  },
  {
    "path": "mainnet/2025-05-13-incident-multisig-signers/README.md",
    "content": "# Update Mainnet Incident Multisig Signers\n\nStatus: EXECUTED (https://etherscan.io/tx/0x3afa96e86ed1898cc9cf1a8b37ac99c63754e3063aecd0910fb9e12b48b69fd8)\n\n## Description\n\nWe wish to update the owners of our [Incident Multisig](https://sepolia.etherscan.io/address/0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f) on Mainnet to be consistent with the current state of our Base Chain Eng team. This involves removing signers that are no longer closely involved with the team, and adding new team members as signers. The exact signer changes are outlined in the [OwnerDiff.json](./OwnerDiff.json) file.\n\nIf this is your first signing task, follow the initial setup instructions below. If you have previously signed tasks in this repo, you can skip directly to the [Procedure](#procedure).\n\n## Initial Setup\n\nThese instructions are for initial setup of your development environment to install basic tools (e.g Go, Git etc.) needed for the rest of the README.\n\n### 1. Install Homebrew\n\nOpen your terminal and run the following command:\n\n```bash\n/bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\"\n```\n\n### 2. Once the installation completes, follow next steps\n\nYou should see \"next steps\" in your terminal. Copy/paste the suggested commands. They should look like:\n\n```bash\necho >> /Users/yourname/.zprofile\n    echo 'eval \"$(/opt/homebrew/bin/brew shellenv)\"' >> /Users/yourname/.zprofile\n    eval \"$(/opt/homebrew/bin/brew shellenv)\"\n```\n\n### 3. Install Golang\n\n```bash\nbrew install go\n```\n\n### 4. Install Foundry if Needed\n\nInside Terminal run:\n\n```bash\nforge --version\n```\n\nIf you see an output that starts with `forge Version`, you have foundry installed and can proceed to the next step.\n\nIf you do not get an output from `forge --version`, you need to install foundry with:\n\n```bash\ncurl -L https://foundry.paradigm.xyz | bash\n```\n\nAfter installation completes, quit / re-open your terminal and run:\n\n```bash\nfoundryup\n```\n\nIf you see a `libusb` warning (`warning: libusb not found...`), you can safely ignore it and continue to the next step.\n\n### 5. Make a free [Tenderly](https://tenderly.co/) account if you don't already have one.\n\nWe will use this later on for simulating and validating the task transaction.\n\n### 6. Clone Repo\n\nInside Terminal run:\n\n```bash\ngit clone https://github.com/base/contract-deployments.git\n```\n\n## Procedure\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd mainnet/2025-05-13-incident-multisig-signers\nmake deps\n```\n\n### 2. Setup Ledger\n\nConnect and unlock your Ledger with your 8-digit pin. Open the Ethereum application on Ledger so it displays the message \"Application is ready\".\n\n### 3. Produce Simulation\n\nRun the following command in your terminal. Please note that blind signing must first be enabled on your Ledger.\n\n```bash\nmake sign\n```\n\nYou will see a \"Simulation link\" from the output (yes, it's a big link). Paste the URL from your terminal in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary.\n\nIf you see the following text after the link in your terminal, \"Insert the following hex into the 'Raw input data' field:\", the following 2 steps are required.\n\n1. Click the \"Enter raw input data\" option towards the bottom of the `Contract` component on the left side of your screen in Tenderly.\n2. Paste the data string below \"Insert the following hex into the 'Raw input data' field:\" in your terminal into the \"Raw input data\" field.\n\nClick \"Simulate Transaction\".\n\nExample link below (just for reference):\n\n```txt\nhttps://dashboard.tenderly.co/TENDERLY_USERNAME/TENDERLY_PROJECT/simulator/new?network=1&contractAddress=0xcA11bde05977b3631167028862bE2a173976CA11&from=0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38&stateOverrides=%5B%7B\"contractAddress\":\"0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd\",\"storage\":%5B%7B\"key\":\"0x0000000000000000000000000000000000000000000000000000000000000004\",\"value\":\"0x0000000000000000000000000000000000000000000000000000000000000001\"%7D,%7B\"key\":\"0x0000000000000000000000000000000000000000000000000000000000000003\",\"value\":\"0x0000000000000000000000000000000000000000000000000000000000000001\"%7D,%7B\"key\":\"0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0\",\"value\":\"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca11\"%7D,%7B\"key\":\"0x316a0aac0d94f5824f0b66f5bbe94a8c360a17699a1d3a233aafcf7146e9f11c\",\"value\":\"0x0000000000000000000000000000000000000000000000000000000000000001\"%7D%5D%7D,%7B\"contractAddress\":\"0x9855054731540A48b28990B63DcF4f33d8AE46A1\",\"storage\":%5B%7B\"key\":\"0x0000000000000000000000000000000000000000000000000000000000000004\",\"value\":\"0x0000000000000000000000000000000000000000000000000000000000000001\"%7D%5D%7D,%7B\"contractAddress\":\"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\"storage\":%5B%7B\"key\":\"0x0000000000000000000000000000000000000000000000000000000000000004\",\"value\":\"0x0000000000000000000000000000000000000000000000000000000000000001\"%7D%5D%7D%5D\n```\n\n### 4. Validate Simulation\n\nWe will be performing 3 validations and extract the domain hash and message hash to approve on your Ledger:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n> [!NOTE]\n> Ensure you have \"Dev Mode\" turned on in Tenderly for these validations. This switch is usually located towards the top right of the Tenderly UI.\n\n#### 4.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Summary\" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not see the derivation path Note above.\n\n#### 4.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab.\n\nRefer to the [Validation](./VALIDATION.md) instructions for the transaction you are signing.\n\nOnce complete return to this document to complete the signing.\n\n#### 4.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve.\n\nGo back to the \"Summary\" tab in the Tenderly UI, and find the `Safe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger.\n\nIt will be a concatenation of `0x1901`, the domain hash, and the message hash, in the format: **`0x1901[domain hash][message hash]`**.\n\nNote down this value. You will need to compare it with the ones displayed on the Ledger screen at signing.\n\n### 5. Sign the Transaction\n\nOnce the validations are done, it's time to actually sign the transaction.\n\n**Note: if your ledger is displaying the lock screen, you will need to unlock your Ledger again before running the sign command.**\n\n> [!WARNING]\n> This is the most security critical part of the playbook: make sure the\n> domain hash and message hash in the following two places match:\n>\n> 1. On your Ledger screen.\n> 2. In the Tenderly simulation. You should use the same Tenderly\n>    simulation as the one you used to verify the state diffs, instead\n>    of opening the new one printed in the console.\n>\n> There is no need to verify anything printed in the console. There is\n> no need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this:\n\n```shell\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is your ledger address.\n\n### 6. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done!\n"
  },
  {
    "path": "mainnet/2025-05-13-incident-multisig-signers/VALIDATION.md",
    "content": "# Validation\n\nThis document can be used to validate the inputs and result of the execution of the upgrade transaction which you are signing.\n\n> [!NOTE]\n>\n> This document provides names for each contract address to add clarity to what you are seeing. These names will not be visible in the Tenderly UI. All that matters is that addresses and storage slot hex values match exactly what is presented in this document.\n\nThe steps are:\n\n1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes)\n2. [Verifying the state changes](#state-changes)\n\n## Expected Domain and Message Hashes\n\nFirst, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task.\n\n> [!CAUTION]\n>\n> Before signing, ensure the below hashes match what is on your ledger.\n>\n> ### Incident Safe - Mainnet: `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`\n>\n> - Domain Hash: `0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289`\n> - Message Hash: `0xe243a7b102ee55fab372a2a658969edbdd4bc72f64ec3bc6d1b00df3c18186c7`\n\n# State Validations\n\nFor each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract:\n\n- The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur.\n- All key values match the semantic meaning provided, which can be validated using the terminal commands provided.\n\n## State Overrides\n\n### Incident Safe - Mainnet (`0x14536667Cd30e52C0b458BaACcB9faDA7046E056`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n- **Key**: `0xcb04adfc92ac8bcb063843650e7eccac4db23770c71f915f24843a4bac7f4c42` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Simulates an approval from msg.sender in order for the task simulation to succeed.\n\n## Task State Changes\n\n### Incident Safe - Mainnet (`0x14536667Cd30e52C0b458BaACcB9faDA7046E056`)\n\n0. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000003` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `1` <br/>\n   **Decoded New Value**: `3` <br/>\n   **Meaning**: Updates the execution threshold <br/>\n\n1. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **Before**: `0x000000000000000000000000000000000000000000000000000000000000003f` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000040` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `63` <br/>\n   **Decoded New Value**: `64` <br/>\n   **Meaning**: Increments the nonce <br/>\n\n2. **Key**: `0x3e47e5a7008d8f759d6280371eab88504a2da941f80f6ebfdd83b6154e409aff` <br/>\n   **Before**: `0x000000000000000000000000a7a5e47d3959bf134e3ecdeb1f62e054f0d58a18` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n   **Value Type**: address <br/>\n   **Decoded Old Value**: `0xa7a5e47D3959bf134e3EcdEb1f62e054f0D58a18` <br/>\n   **Decoded New Value**: `0x0000000000000000000000000000000000000000` <br/>\n   **Meaning**: Removes `0x969ffd102fbf304d4e401999333fe9397dac653d` from the owners list. This key can be derived from `cast index address 0x969ffd102fbf304d4e401999333fe9397dac653d 2`. <br/>\n\n3. **Key**: `0x3ec917e183b9e8fcc093eeab8fb03c822155d7e91a8de91af2ddd607da113e81` <br/>\n   **Before**: `0x000000000000000000000000969ffd102fbf304d4e401999333fe9397dac653d` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n   **Value Type**: address <br/>\n   **Decoded Old Value**: `0x969ffD102fbF304d4e401999333FE9397DaC653D` <br/>\n   **Decoded New Value**: `0x0000000000000000000000000000000000000000` <br/>\n   **Meaning**: Removes `0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f` from the owners list. This key can be derived from `cast index address 0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f 2`. <br/>\n\n4. **Key**: `0x56a2719ad2beef0c19441f84d407dd2c9784ca8c8f85fb6f5c8696628c63fd10` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n   **After**: `0x0000000000000000000000004427683aa1f0ff25ccdc4a5db83010c1de9b5ff4` <br/>\n   **Value Type**: address <br/>\n   **Decoded Old Value**: `0x0000000000000000000000000000000000000000` <br/>\n   **Decoded New Value**: `0x4427683AA1f0ff25ccDC4a5Db83010c1DE9b5fF4` <br/>\n   **Meaning**: Adds `0x541a833e4303eb56a45be7e8e4a908db97568d1e` to the owners mapping. This key can be derived from `cast index address 0x541a833e4303eb56a45be7e8e4a908db97568d1e 2`. <br/>\n\n5. **Key**: `0x62fe150de8c52e909210d81e8e6e1cf7130e5cd644fb4b95d1cdf9c7ffa67ce1` <br/>\n   **Before**: `0x0000000000000000000000005468985b560d966dedea2daf493f5756101137dc` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n   **Value Type**: address <br/>\n   **Decoded Old Value**: `0x5468985B560D966dEDEa2DAF493f5756101137DC` <br/>\n   **Decoded New Value**: `0x0000000000000000000000000000000000000000` <br/>\n   **Meaning**: Removes `0xe32868ec7762650dde723e945d638a05900974f4` from the owners list. This key can be derived from `cast index address 0xe32868ec7762650dde723e945d638a05900974f4 2`. <br/>\n\n6. **Key**: `0x680f53193021c7b5ff32fc6154805dcdc0fe6dae60134f899becf9139fee0f45` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n   **After**: `0x000000000000000000000000b37b2d42cb0c10ebf96279cceca2cbfc47c6f236` <br/>\n   **Value Type**: address <br/>\n   **Decoded Old Value**: `0x0000000000000000000000000000000000000000` <br/>\n   **Decoded New Value**: `0xB37B2D42cb0C10ebf96279CcECa2cBFc47C6f236` <br/>\n   **Meaning**: Adds `0x9bf96dcf51959915c8c343a3e50820ad069a1859` to the owners list. This key can be derived from `cast index address 0x9bf96dcf51959915c8c343a3e50820ad069a1859 2`. <br/>\n\n7. **Key**: `0x738e743b0e4f327810ae0f138c7c5012854e2f43043547bef588cf84df24f166` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n   **After**: `0x00000000000000000000000024c3ae1aedb8142d32bb6d3b988f5910f272d53b` <br/>\n   **Value Type**: address <br/>\n   **Decoded Old Value**: `0x0000000000000000000000000000000000000000` <br/>\n   **Decoded New Value**: `0x24c3AE1AeDB8142D32BB6d3B988f5910F272D53b` <br/>\n   **Meaning**: Adds `0xb37b2d42cb0c10ebf96279cceca2cbfc47c6f236` to the owners list. This key can be derived from `cast index address 0xb37b2d42cb0c10ebf96279cceca2cbfc47c6f236 2`. <br/>\n\n8. **Key**: `0x7ea68b3c8a7f7867f7b6d6e5bd030223645fb027b0eb1dd797ca76b222c926e4` <br/>\n   **Before**: `0x000000000000000000000000c29a4a69886d5ee1e08bdbbdd4e35558a668ee04` <br/>\n   **After**: `0x000000000000000000000000a3d3c103442f162856163d564b983ae538c6202d` <br/>\n   **Value Type**: address <br/>\n   **Decoded Old Value**: `0xC29A4a69886d5ee1E08BDBbdd4e35558A668ee04` <br/>\n   **Decoded New Value**: `0xa3D3c103442F162856163d564b983ae538c6202D` <br/>\n   **Meaning**: Removes `0xC29A4a69886d5ee1E08BDBbdd4e35558A668ee04` from the owners list. This key can be derived from `cast index address 0x92b79e6c995ee8b267ec1ac2743d1c1fbfffc447 2`. <br/>\n\n9. **Key**: `0x95d1aa1bb172c2bf1f8f9d26147578664d9c87a13833e5ec836b94816dd5e63c` <br/>\n   **Before**: `0x000000000000000000000000e32868ec7762650dde723e945d638a05900974f4` <br/>\n   **After**: `0x0000000000000000000000005468985b560d966dedea2daf493f5756101137dc` <br/>\n   **Value Type**: address <br/>\n   **Decoded Old Value**: `0xe32868ec7762650DdE723e945D638A05900974F4` <br/>\n   **Decoded New Value**: `0x5468985B560D966dEDEa2DAF493f5756101137DC` <br/>\n   **Meaning**: Removes `0xe32868ec7762650DdE723e945D638A05900974F4` from the owners list. This key can be derived from `cast index address 0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e 2`. <br/>\n\n10. **Key**: `0xaae1b570ab817af80d8c0d204fb15e028c217d77afad5a3c8113d93575274af8` <br/>\n    **Before**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n    **After**: `0x000000000000000000000000a31e1c38d5c37d8ecd0e94c80c0f7fd624d009a3` <br/>\n    **Value Type**: address <br/>\n    **Decoded Old Value**: `0x0000000000000000000000000000000000000000` <br/>\n    **Decoded New Value**: `0xA31E1c38d5c37D8ECd0e94C80C0F7FD624d009A3` <br/>\n    **Meaning**: Adds `0x4427683aa1f0ff25ccdc4a5db83010c1de9b5ff4` to the owners mapping. This key can be derived from `cast index address 0x4427683aa1f0ff25ccdc4a5db83010c1de9b5ff4 2`. <br/>\n\n11. **Key**: `0xabc107d46e415c7424b4c72993ba52c8e074fa848b10488b90787fa482da8347` <br/>\n    **Before**: `0x0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f` <br/>\n    **After**: `0x00000000000000000000000049243dce94e0f5a1b08b9556bbec5a84363c3839` <br/>\n    **Value Type**: address <br/>\n    **Decoded Old Value**: `0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F` <br/>\n    **Decoded New Value**: `0x49243DcE94e0f5A1B08b9556bBEc5a84363c3839` <br/>\n    **Meaning**: Removes `0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F` from the owners list. This key can be derived from `cast index address 0xa3d3c103442f162856163d564b983ae538c6202d 2`. <br/>\n\n12. **Key**: `0xb66edc9a114e89f02d0b7982582a48a539d388af46cfade8e93f01cba0973729` <br/>\n    **Before**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n    **After**: `0x0000000000000000000000009bf96dcf51959915c8c343a3e50820ad069a1859` <br/>\n    **Value Type**: address <br/>\n    **Decoded Old Value**: `0x0000000000000000000000000000000000000000` <br/>\n    **Decoded New Value**: `0x9bF96DCf51959915c8c343a3E50820Ad069A1859` <br/>\n    **Meaning**: Adds `0xa31e1c38d5c37d8ecd0e94c80c0f7fd624d009a3` to the owners list. This key can be derived from `cast index address 0xa31e1c38d5c37d8ecd0e94c80c0f7fd624d009a3 2`. <br/>\n\n13. **Key**: `0xca733c6877c078939a707e6eea1eb08fff5a682cadbaa29107c5aabdc24983b8` <br/>\n    **Before**: `0x000000000000000000000000a3d3c103442f162856163d564b983ae538c6202d` <br/>\n    **After**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n    **Value Type**: address <br/>\n    **Decoded Old Value**: `0xa3D3c103442F162856163d564b983ae538c6202D` <br/>\n    **Decoded New Value**: `0x0000000000000000000000000000000000000000` <br/>\n    **Meaning**: Removes `0xc29a4a69886d5ee1e08bdbbdd4e35558a668ee04` from the owners list. This key can be derived from `cast index address 0xc29a4a69886d5ee1e08bdbbdd4e35558a668ee04 2`. <br/>\n\n14. **Key**: `0xd4e846dd026aea5c5e68c86a209545a745eebd848b6efbdf801969a785e0fdd8` <br/>\n    **Before**: `0x00000000000000000000000049243dce94e0f5a1b08b9556bbec5a84363c3839` <br/>\n    **After**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n    **Value Type**: address <br/>\n    **Decoded Old Value**: `0x49243DcE94e0f5A1B08b9556bBEc5a84363c3839` <br/>\n    **Decoded New Value**: `0x0000000000000000000000000000000000000000` <br/>\n    **Meaning**: Removes `0xa7a5e47d3959bf134e3ecdeb1f62e054f0d58a18` from the owners list. This key can be derived from `cast index address 0xa7a5e47d3959bf134e3ecdeb1f62e054f0d58a18 2`. <br/>\n\n15. **Key**: `0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0` <br/>\n    **Before**: `0x00000000000000000000000024c3ae1aedb8142d32bb6d3b988f5910f272d53b` <br/>\n    **After**: `0x000000000000000000000000541a833e4303eb56a45be7e8e4a908db97568d1e` <br/>\n    **Value Type**: address <br/>\n    **Decoded Old Value**: `0x24c3AE1AeDB8142D32BB6d3B988f5910F272D53b` <br/>\n    **Decoded New Value**: `0x541a833E4303EB56a45bE7E8E4A908db97568d1e` <br/>\n    **Meaning**: Sets the head of the owners linked list. This key can be derived from `cast index address 0x0000000000000000000000000000000000000001 2`. <br/>\n\n### Your Signer Address\n\n- Nonce increment\n\nYou can now navigate back to the [README](../README.md#43-extract-the-domain-hash-and-the-message-hash-to-approve) to continue the signing process.\n"
  },
  {
    "path": "mainnet/2025-05-13-incident-multisig-signers/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "mainnet/2025-05-13-incident-multisig-signers/records/UpdateSigners.s.sol/1/run-1749035499.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x3afa96e86ed1898cc9cf1a8b37ac99c63754e3063aecd0910fb9e12b48b69fd8\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000003400000000000000000000000000000000000000000000000000000000000000440000000000000000000000000000000000000000000000000000000000000054000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000000000000000000088000000000000000000000000000000000000000000000000000000000000009a00000000000000000000000000000000000000000000000000000000000000ac000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000b37b2d42cb0c10ebf96279cceca2cbfc47c6f23600000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000009bf96dcf51959915c8c343a3e50820ad069a185900000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000a31e1c38d5c37d8ecd0e94c80c0f7fd624d009a300000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000004427683aa1f0ff25ccdc4a5db83010c1de9b5ff400000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000541a833e4303eb56a45be7e8e4a908db97568d1e00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e0560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000007ad8e6b7b1f6d66f49559f20053cef8a7b6c488e000000000000000000000000e32868ec7762650dde723e945d638a05900974f400000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e0560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd900000000000000000000000092b79e6c995ee8b267ec1ac2743d1c1fbfffc447000000000000000000000000c29a4a69886d5ee1e08bdbbdd4e35558a668ee0400000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e0560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a3d3c103442f162856163d564b983ae538c6202d0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e0560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a3d3c103442f162856163d564b983ae538c6202d000000000000000000000000969ffd102fbf304d4e401999333fe9397dac653d00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e0560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a3d3c103442f162856163d564b983ae538c6202d000000000000000000000000a7a5e47d3959bf134e3ecdeb1f62e054f0d58a18000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x48131d8227cb9fa838a8e8e5f0650de93cfea766c8e0a43795a5936a44e5460278851e0815ef26bc95a9dccb85f906fbf86cedd924bcdb980f6c876ce6e89aef1c8cb77dc59b1f6963e45e77153f69865691c855a79d5c072ef14987bd9ca07b7d34fafca5ec1d6a1ee370d9ae078e9c5c7c46fe946db3e9ec946081d70ed71ec21bc2b876613dba020b97f3d3565e08bc4504f6917e44b5f5e796ae9551f0330928006fc5eafadb7f3b05a5e85ef9883bb80cd3e55c2bbd4fccf3ee30a0fe25b8621c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x59de9\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000da00000000000000000000000000000000000000000000000000000000000000c24174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000003400000000000000000000000000000000000000000000000000000000000000440000000000000000000000000000000000000000000000000000000000000054000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000000000000000000088000000000000000000000000000000000000000000000000000000000000009a00000000000000000000000000000000000000000000000000000000000000ac000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000b37b2d42cb0c10ebf96279cceca2cbfc47c6f23600000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000009bf96dcf51959915c8c343a3e50820ad069a185900000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000a31e1c38d5c37d8ecd0e94c80c0f7fd624d009a300000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000004427683aa1f0ff25ccdc4a5db83010c1de9b5ff400000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000541a833e4303eb56a45be7e8e4a908db97568d1e00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e0560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000007ad8e6b7b1f6d66f49559f20053cef8a7b6c488e000000000000000000000000e32868ec7762650dde723e945d638a05900974f400000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e0560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd900000000000000000000000092b79e6c995ee8b267ec1ac2743d1c1fbfffc447000000000000000000000000c29a4a69886d5ee1e08bdbbdd4e35558a668ee0400000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e0560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a3d3c103442f162856163d564b983ae538c6202d0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e0560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a3d3c103442f162856163d564b983ae538c6202d000000000000000000000000969ffd102fbf304d4e401999333fe9397dac653d00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e0560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a3d3c103442f162856163d564b983ae538c6202d000000000000000000000000a7a5e47d3959bf134e3ecdeb1f62e054f0d58a180000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c348131d8227cb9fa838a8e8e5f0650de93cfea766c8e0a43795a5936a44e5460278851e0815ef26bc95a9dccb85f906fbf86cedd924bcdb980f6c876ce6e89aef1c8cb77dc59b1f6963e45e77153f69865691c855a79d5c072ef14987bd9ca07b7d34fafca5ec1d6a1ee370d9ae078e9c5c7c46fe946db3e9ec946081d70ed71ec21bc2b876613dba020b97f3d3565e08bc4504f6917e44b5f5e796ae9551f0330928006fc5eafadb7f3b05a5e85ef9883bb80cd3e55c2bbd4fccf3ee30a0fe25b8621c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x4\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x11160c7\",\n      \"logs\": [\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x000000000000000000000000b37b2d42cb0c10ebf96279cceca2cbfc47c6f236\",\n          \"blockHash\": \"0xdf82a3f85a9ad88ccc61ace389ff75a60e70feed3bdf226ab9300a3b0f95e21a\",\n          \"blockNumber\": \"0x15951ed\",\n          \"blockTimestamp\": \"0x684029e7\",\n          \"transactionHash\": \"0x3afa96e86ed1898cc9cf1a8b37ac99c63754e3063aecd0910fb9e12b48b69fd8\",\n          \"transactionIndex\": \"0x10b\",\n          \"logIndex\": \"0x1b1\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x0000000000000000000000009bf96dcf51959915c8c343a3e50820ad069a1859\",\n          \"blockHash\": \"0xdf82a3f85a9ad88ccc61ace389ff75a60e70feed3bdf226ab9300a3b0f95e21a\",\n          \"blockNumber\": \"0x15951ed\",\n          \"blockTimestamp\": \"0x684029e7\",\n          \"transactionHash\": \"0x3afa96e86ed1898cc9cf1a8b37ac99c63754e3063aecd0910fb9e12b48b69fd8\",\n          \"transactionIndex\": \"0x10b\",\n          \"logIndex\": \"0x1b2\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x000000000000000000000000a31e1c38d5c37d8ecd0e94c80c0f7fd624d009a3\",\n          \"blockHash\": \"0xdf82a3f85a9ad88ccc61ace389ff75a60e70feed3bdf226ab9300a3b0f95e21a\",\n          \"blockNumber\": \"0x15951ed\",\n          \"blockTimestamp\": \"0x684029e7\",\n          \"transactionHash\": \"0x3afa96e86ed1898cc9cf1a8b37ac99c63754e3063aecd0910fb9e12b48b69fd8\",\n          \"transactionIndex\": \"0x10b\",\n          \"logIndex\": \"0x1b3\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x0000000000000000000000004427683aa1f0ff25ccdc4a5db83010c1de9b5ff4\",\n          \"blockHash\": \"0xdf82a3f85a9ad88ccc61ace389ff75a60e70feed3bdf226ab9300a3b0f95e21a\",\n          \"blockNumber\": \"0x15951ed\",\n          \"blockTimestamp\": \"0x684029e7\",\n          \"transactionHash\": \"0x3afa96e86ed1898cc9cf1a8b37ac99c63754e3063aecd0910fb9e12b48b69fd8\",\n          \"transactionIndex\": \"0x10b\",\n          \"logIndex\": \"0x1b4\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x000000000000000000000000541a833e4303eb56a45be7e8e4a908db97568d1e\",\n          \"blockHash\": \"0xdf82a3f85a9ad88ccc61ace389ff75a60e70feed3bdf226ab9300a3b0f95e21a\",\n          \"blockNumber\": \"0x15951ed\",\n          \"blockTimestamp\": \"0x684029e7\",\n          \"transactionHash\": \"0x3afa96e86ed1898cc9cf1a8b37ac99c63754e3063aecd0910fb9e12b48b69fd8\",\n          \"transactionIndex\": \"0x10b\",\n          \"logIndex\": \"0x1b5\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x000000000000000000000000e32868ec7762650dde723e945d638a05900974f4\",\n          \"blockHash\": \"0xdf82a3f85a9ad88ccc61ace389ff75a60e70feed3bdf226ab9300a3b0f95e21a\",\n          \"blockNumber\": \"0x15951ed\",\n          \"blockTimestamp\": \"0x684029e7\",\n          \"transactionHash\": \"0x3afa96e86ed1898cc9cf1a8b37ac99c63754e3063aecd0910fb9e12b48b69fd8\",\n          \"transactionIndex\": \"0x10b\",\n          \"logIndex\": \"0x1b6\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x000000000000000000000000c29a4a69886d5ee1e08bdbbdd4e35558a668ee04\",\n          \"blockHash\": \"0xdf82a3f85a9ad88ccc61ace389ff75a60e70feed3bdf226ab9300a3b0f95e21a\",\n          \"blockNumber\": \"0x15951ed\",\n          \"blockTimestamp\": \"0x684029e7\",\n          \"transactionHash\": \"0x3afa96e86ed1898cc9cf1a8b37ac99c63754e3063aecd0910fb9e12b48b69fd8\",\n          \"transactionIndex\": \"0x10b\",\n          \"logIndex\": \"0x1b7\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f\",\n          \"blockHash\": \"0xdf82a3f85a9ad88ccc61ace389ff75a60e70feed3bdf226ab9300a3b0f95e21a\",\n          \"blockNumber\": \"0x15951ed\",\n          \"blockTimestamp\": \"0x684029e7\",\n          \"transactionHash\": \"0x3afa96e86ed1898cc9cf1a8b37ac99c63754e3063aecd0910fb9e12b48b69fd8\",\n          \"transactionIndex\": \"0x10b\",\n          \"logIndex\": \"0x1b8\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x000000000000000000000000969ffd102fbf304d4e401999333fe9397dac653d\",\n          \"blockHash\": \"0xdf82a3f85a9ad88ccc61ace389ff75a60e70feed3bdf226ab9300a3b0f95e21a\",\n          \"blockNumber\": \"0x15951ed\",\n          \"blockTimestamp\": \"0x684029e7\",\n          \"transactionHash\": \"0x3afa96e86ed1898cc9cf1a8b37ac99c63754e3063aecd0910fb9e12b48b69fd8\",\n          \"transactionIndex\": \"0x10b\",\n          \"logIndex\": \"0x1b9\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x000000000000000000000000a7a5e47d3959bf134e3ecdeb1f62e054f0d58a18\",\n          \"blockHash\": \"0xdf82a3f85a9ad88ccc61ace389ff75a60e70feed3bdf226ab9300a3b0f95e21a\",\n          \"blockNumber\": \"0x15951ed\",\n          \"blockTimestamp\": \"0x684029e7\",\n          \"transactionHash\": \"0x3afa96e86ed1898cc9cf1a8b37ac99c63754e3063aecd0910fb9e12b48b69fd8\",\n          \"transactionIndex\": \"0x10b\",\n          \"logIndex\": \"0x1ba\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x225ee979aaeaeb1603edcadfd6d5744c2ea9e7e235be97f828be88818a9bc0d60000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xdf82a3f85a9ad88ccc61ace389ff75a60e70feed3bdf226ab9300a3b0f95e21a\",\n          \"blockNumber\": \"0x15951ed\",\n          \"blockTimestamp\": \"0x684029e7\",\n          \"transactionHash\": \"0x3afa96e86ed1898cc9cf1a8b37ac99c63754e3063aecd0910fb9e12b48b69fd8\",\n          \"transactionIndex\": \"0x10b\",\n          \"logIndex\": \"0x1bb\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000010000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000040000000000000400000000000000000000000008000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x3afa96e86ed1898cc9cf1a8b37ac99c63754e3063aecd0910fb9e12b48b69fd8\",\n      \"transactionIndex\": \"0x10b\",\n      \"blockHash\": \"0xdf82a3f85a9ad88ccc61ace389ff75a60e70feed3bdf226ab9300a3b0f95e21a\",\n      \"blockNumber\": \"0x15951ed\",\n      \"gasUsed\": \"0x41106\",\n      \"effectiveGasPrice\": \"0x8314eca0\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1749035499,\n  \"chain\": 1,\n  \"commit\": \"db17f80\"\n}"
  },
  {
    "path": "mainnet/2025-05-13-incident-multisig-signers/script/UpdateSigners.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {stdJson} from \"forge-std/StdJson.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\n\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {GnosisSafe} from \"safe-smart-account/GnosisSafe.sol\";\nimport {OwnerManager} from \"safe-smart-account/base/OwnerManager.sol\";\n\ncontract UpdateSigners is MultisigScript {\n    using stdJson for string;\n\n    address public constant SENTINEL_OWNERS = address(0x1);\n\n    address public immutable OWNER_SAFE;\n    uint256 public immutable THRESHOLD;\n    address[] public EXISTING_OWNERS;\n\n    address[] public OWNERS_TO_ADD;\n    address[] public OWNERS_TO_REMOVE;\n\n    mapping(address => address) public ownerToPrevOwner;\n    mapping(address => address) public ownerToNextOwner;\n    mapping(address => bool) public expectedOwner;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n\n        GnosisSafe ownerSafe = GnosisSafe(payable(OWNER_SAFE));\n        THRESHOLD = ownerSafe.getThreshold();\n        EXISTING_OWNERS = ownerSafe.getOwners();\n\n        string memory rootPath = vm.projectRoot();\n        string memory path = string.concat(rootPath, \"/OwnerDiff.json\");\n        string memory jsonData = vm.readFile(path);\n\n        OWNERS_TO_ADD = abi.decode(jsonData.parseRaw(\".OwnersToAdd\"), (address[]));\n        OWNERS_TO_REMOVE = abi.decode(jsonData.parseRaw(\".OwnersToRemove\"), (address[]));\n    }\n\n    function setUp() external {\n        require(OWNERS_TO_ADD.length > 0, \"Precheck 00\");\n        require(OWNERS_TO_REMOVE.length > 0, \"Precheck 01\");\n        require(EXISTING_OWNERS.length == 14, \"Precheck 02\");\n\n        GnosisSafe ownerSafe = GnosisSafe(payable(OWNER_SAFE));\n        address prevOwner = SENTINEL_OWNERS;\n\n        for (uint256 i = OWNERS_TO_ADD.length; i > 0; i--) {\n            uint256 index = i - 1;\n            // Make sure owners to add are not already owners\n            require(!ownerSafe.isOwner(OWNERS_TO_ADD[index]), \"Precheck 03\");\n            // Prevent duplicates\n            require(!expectedOwner[OWNERS_TO_ADD[index]], \"Precheck 04\");\n\n            ownerToPrevOwner[OWNERS_TO_ADD[index]] = prevOwner;\n            ownerToNextOwner[prevOwner] = OWNERS_TO_ADD[index];\n            prevOwner = OWNERS_TO_ADD[index];\n            expectedOwner[OWNERS_TO_ADD[index]] = true;\n        }\n\n        for (uint256 i; i < EXISTING_OWNERS.length; i++) {\n            ownerToPrevOwner[EXISTING_OWNERS[i]] = prevOwner;\n            ownerToNextOwner[prevOwner] = EXISTING_OWNERS[i];\n            prevOwner = EXISTING_OWNERS[i];\n            expectedOwner[EXISTING_OWNERS[i]] = true;\n        }\n\n        for (uint256 i; i < OWNERS_TO_REMOVE.length; i++) {\n            // Make sure owners to remove are owners\n            require(ownerSafe.isOwner(OWNERS_TO_REMOVE[i]), \"Precheck 05\");\n            // Prevent duplicates\n            require(expectedOwner[OWNERS_TO_REMOVE[i]], \"Precheck 06\");\n            expectedOwner[OWNERS_TO_REMOVE[i]] = false;\n\n            // Remove from linked list to keep ownerToPrevOwner up to date\n            // Note: This works as long as the order of OWNERS_TO_REMOVE does not change during `_buildCalls()`\n            address nextOwner = ownerToNextOwner[OWNERS_TO_REMOVE[i]];\n            address prevPtr = ownerToPrevOwner[OWNERS_TO_REMOVE[i]];\n            ownerToPrevOwner[nextOwner] = prevPtr;\n            ownerToNextOwner[prevPtr] = nextOwner;\n        }\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        GnosisSafe ownerSafe = GnosisSafe(payable(OWNER_SAFE));\n        address[] memory postCheckOwners = ownerSafe.getOwners();\n        uint256 postCheckThreshold = ownerSafe.getThreshold();\n\n        uint256 expectedLength = EXISTING_OWNERS.length + OWNERS_TO_ADD.length - OWNERS_TO_REMOVE.length;\n\n        require(postCheckThreshold == THRESHOLD, \"Postcheck 00\");\n        require(postCheckOwners.length == expectedLength, \"Postcheck 01\");\n\n        for (uint256 i; i < postCheckOwners.length; i++) {\n            require(expectedOwner[postCheckOwners[i]], \"Postcheck 02\");\n        }\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) {\n        IMulticall3.Call3Value[] memory calls =\n            new IMulticall3.Call3Value[](OWNERS_TO_ADD.length + OWNERS_TO_REMOVE.length);\n\n        for (uint256 i; i < OWNERS_TO_ADD.length; i++) {\n            calls[i] = IMulticall3.Call3Value({\n                target: OWNER_SAFE,\n                allowFailure: false,\n                callData: abi.encodeCall(OwnerManager.addOwnerWithThreshold, (OWNERS_TO_ADD[i], THRESHOLD)),\n                value: 0\n            });\n        }\n\n        for (uint256 i; i < OWNERS_TO_REMOVE.length; i++) {\n            calls[OWNERS_TO_ADD.length + i] = IMulticall3.Call3Value({\n                target: OWNER_SAFE,\n                allowFailure: false,\n                callData: abi.encodeCall(\n                    OwnerManager.removeOwner, (ownerToPrevOwner[OWNERS_TO_REMOVE[i]], OWNERS_TO_REMOVE[i], THRESHOLD)\n                ),\n                value: 0\n            });\n        }\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "mainnet/2025-05-15-eip1559-denominator-reduction/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: sign\nsign:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) ReduceEip1559DenominatorScript \\\n\t--sig \"sign(address[])\" \"[]\"\n\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(L1_RPC_URL) ReduceEip1559DenominatorScript \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv"
  },
  {
    "path": "mainnet/2025-05-15-eip1559-denominator-reduction/README.md",
    "content": "# EIP-1559 Denominator 250 -> 50 Reduction\n\nStatus: [EXECUTED](https://etherscan.io/tx/0x7841cdb1fc6b4e28866c17e2d440f6c672cd24af4c4629b778ae019d0dc619e3)\n\n## Description\n\nThis task contains a single script that reduces the EIP-1559 denominator from 250 to 50.\n\n## Procedure\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd mainnet/2025-05-15-EIP1559-denominator-reduction\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate, Validate, and Sign\n\n#### 3.1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following command:\n\n```bash\nmake sign\n```\n\nFor each run, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and extract the domain hash and\nmessage hash to approve on your Ledger:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n##### 3.1.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is `Mainnet`.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n\n##### 3.1.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab, and refer to the [validations instructions](./VALIDATION.md) for the transaction you are signing. Once complete return to this document to complete the signing.\n\n### 4. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\nOnce the validations are done, it's time to actually sign the\ntransaction.\n\n> [!WARNING]\n> This is the most security critical part of the playbook: make sure the\n> domain hash and message hash in the following three places match:\n>\n> 1. On your Ledger screen.\n> 2. In the terminal output.\n> 3. In the Tenderly simulation. You should use the same Tenderly\n>    simulation as the one you used to verify the state diffs, instead\n>    of opening the new one printed in the console.\n>\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```shell\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n#### 4.1. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n### [For Facilitator ONLY] How to execute\n\n#### Execute the transaction\n\n1. Collect outputs from all participating signers.\n1. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"`.\n1. Run the `make execute` command as described below to execute the transaction.\n\nFor example, if the quorum is 2 and you get the following outputs:\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE01\nSignature: AAAA\n```\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE02\nSignature: BBBB\n```\n\nThen you should run:\n\nCoinbase facilitator:\n\n```bash\nSIGNATURES=AAAABBBB make execute\n```"
  },
  {
    "path": "mainnet/2025-05-15-eip1559-denominator-reduction/VALIDATION.md",
    "content": "# Validation for Coinbase Signers\n\nThis document can be used to validate the inputs and result of the execution of the EIP-1559 denominator reduction script which you are signing.\n\n> [!NOTE]\n>\n> This document provides names for each contract address to add clarity to what you are seeing. These names will not be visible in the Tenderly UI. All that matters is that addresses and storage slot hex values match exactly what is presented in this document.\n\nThe steps are:\n\n1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes)\n2. [Verifying the state changes](#state-changes)\n\n## Expected Domain and Message Hashes\n\nFirst, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task.\n\n> [!CAUTION]\n>\n> Before signing, ensure the below hashes match what is on your ledger.\n>\n> ### Incident Multisig - Mainnet: `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`\n>\n> - Domain Hash: `0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289`\n> - Message Hash: `0xec8524022c8c43daf2a8ec1ed0990e9f9870f2b420278190ac079782c7bd3241`\n\n# State Validations\n\nFor each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract:\n\n- The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur.\n- All key values match the semantic meaning provided, which can be validated using the terminal commands provided.\n\n## State Overrides\n\n### Incident Multisig - Mainnet (`0x14536667Cd30e52C0b458BaACcB9faDA7046E056`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n- **Key**: `0xb2e9994c6b31ed56228de129778956be15269b0c7c0536d91dd4772660ea897a` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Simulates an approval from msg.sender in order for the task simulation to succeed.\n\n## Task State Changes\n\n### Incident Multisig - Mainnet (`0x14536667Cd30e52C0b458BaACcB9faDA7046E056`)\n\n0. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **Before**: `0x000000000000000000000000000000000000000000000000000000000000003e` <br/>\n   **After**: `0x000000000000000000000000000000000000000000000000000000000000003f` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `62` <br/>\n   **Decoded New Value**: `63` <br/>\n   **Meaning**: Increments the nonce <br/>\n\n### SystemConfig - Mainnet (`0x73a79Fab69143498Ed3712e519A88a918e1f4072`)\n\n1. **Key**: `0x000000000000000000000000000000000000000000000000000000000000006a` <br/>\n   **Before**: `0x00000000000000000000000000000000000000000000000000000002000000fa` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000200000032` <br/>\n   **Value Type**: (uint32,uint32,uint32,uint32) <br/>\n   **Decoded Old Value**: operatorFeeConstant: `0`, operatorFeeScalar: `0`, eip1559Elasticity: `2`, eip1559Denominator: `250` <br/>\n   **Decoded New Value**: operatorFeeConstant: `0`, operatorFeeScalar: `0`, eip1559Elasticity: `2`, eip1559Denominator: `50` <br/>\n   **Meaning**: Sets the eip1559Denominator to 50 <br/>\n\n### Sender - Mainnet\n\n- Nonce increment for the sender of the simulated transaction.\n\nYou can now navigate back to the [README](../README.md#4-extract-the-domain-hash-and-the-message-hash-to-approve) to continue the signing process.\n"
  },
  {
    "path": "mainnet/2025-05-15-eip1559-denominator-reduction/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "mainnet/2025-05-15-eip1559-denominator-reduction/records/ReduceEip1559Denominator.s.sol/1/run-1748379182.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x7841cdb1fc6b4e28866c17e2d440f6c672cd24af4c4629b778ae019d0dc619e3\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b410000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x19f326d29db89b46f6c0c38673380a971011ab19d879394c907484be671e345c148db2113fa125262050f3149225ab7f5b5941d4a961d949fbb6b2d9143374cf1c7cf7eeb128e38ba04f1013f3a04723355a3cec1f2e84b6449f00a28d8e96b1d0065a687351c7013f709bd60202a541bd850c0ad9804b21de7ed33920d1b7a08b1c47af3d4efbf444082c807b380ef7f51d07a872db9bf2cbeccc8d307317711b2620d824caab28cc2ee2b0348ff26115a8ee614e533ca7e93d720d923732bfc3031c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x1f9fc\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e00000000000000000000000000000000000000000000000000000000000000164174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b4100000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c319f326d29db89b46f6c0c38673380a971011ab19d879394c907484be671e345c148db2113fa125262050f3149225ab7f5b5941d4a961d949fbb6b2d9143374cf1c7cf7eeb128e38ba04f1013f3a04723355a3cec1f2e84b6449f00a28d8e96b1d0065a687351c7013f709bd60202a541bd850c0ad9804b21de7ed33920d1b7a08b1c47af3d4efbf444082c807b380ef7f51d07a872db9bf2cbeccc8d307317711b2620d824caab28cc2ee2b0348ff26115a8ee614e533ca7e93d720d923732bfc3031c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x2\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xc2a34a\",\n      \"logs\": [\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000004\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000003200000002\",\n          \"blockHash\": \"0x12c0d17e76109952eb6d10dcc80e8979ffa6a288d1d2d5df42a1fd5c9362585d\",\n          \"blockNumber\": \"0x1587df6\",\n          \"blockTimestamp\": \"0x6836262b\",\n          \"transactionHash\": \"0x7841cdb1fc6b4e28866c17e2d440f6c672cd24af4c4629b778ae019d0dc619e3\",\n          \"transactionIndex\": \"0x99\",\n          \"logIndex\": \"0x1a5\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x3f5a337d48d68e036869505e5929c86e94e8cd3855f378aab2884bc878e977e40000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x12c0d17e76109952eb6d10dcc80e8979ffa6a288d1d2d5df42a1fd5c9362585d\",\n          \"blockNumber\": \"0x1587df6\",\n          \"blockTimestamp\": \"0x6836262b\",\n          \"transactionHash\": \"0x7841cdb1fc6b4e28866c17e2d440f6c672cd24af4c4629b778ae019d0dc619e3\",\n          \"transactionIndex\": \"0x99\",\n          \"logIndex\": \"0x1a6\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0000000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000008000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000004000000000000000000002000000000008000000000000000000000000000000000000000008000000000000000000020000000000000000040000000000000000000000000000000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x7841cdb1fc6b4e28866c17e2d440f6c672cd24af4c4629b778ae019d0dc619e3\",\n      \"transactionIndex\": \"0x99\",\n      \"blockHash\": \"0x12c0d17e76109952eb6d10dcc80e8979ffa6a288d1d2d5df42a1fd5c9362585d\",\n      \"blockNumber\": \"0x1587df6\",\n      \"gasUsed\": \"0x159f9\",\n      \"effectiveGasPrice\": \"0x5ca501000\",\n      \"from\": \"0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1748379182,\n  \"chain\": 1,\n  \"commit\": \"7c1a66b\"\n}"
  },
  {
    "path": "mainnet/2025-05-15-eip1559-denominator-reduction/script/ReduceEip1559Denominator.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\n\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\n\ninterface ISystemConfig {\n    function eip1559Elasticity() external view returns (uint32);\n    function eip1559Denominator() external view returns (uint32);\n    function setEIP1559Params(uint32 _denominator, uint32 _elasticity) external;\n}\n\ncontract ReduceEip1559DenominatorScript is MultisigScript {\n    address internal immutable OWNER_SAFE;\n    address internal immutable SYSTEM_CONFIG;\n\n    uint32 internal constant DENOMINATOR = 250;\n    uint32 internal constant ELASTICITY = 2;\n    uint32 internal constant NEW_DENOMINATOR = 50;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n        SYSTEM_CONFIG = vm.envAddress(\"SYSTEM_CONFIG\");\n    }\n\n    function setUp() external view {\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Denominator(), DENOMINATOR, \"Denominator mismatch\");\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity(), ELASTICITY, \"Elasticity mismatch\");\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Denominator(), NEW_DENOMINATOR, \"Denominator mismatch\");\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity(), ELASTICITY, \"Elasticity mismatch\");\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) {\n        IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n\n        calls[0] = IMulticall3.Call3Value({\n            target: SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(ISystemConfig.setEIP1559Params, (NEW_DENOMINATOR, ELASTICITY)),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "mainnet/2025-06-04-upgrade-system-config/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n# Overwriting this from top level makefile to change the branch\n.PHONY: checkout-op-commit\ncheckout-op-commit:\n\trm -rf lib/optimism\n\tmkdir -p lib/optimism\n\tcd lib/optimism; \\\n\tgit init; \\\n\tgit remote add origin $(OP_REPO); \\\n\tgit fetch --depth=1 origin tag $(OP_VERSION) --no-tags; \\\n\tgit checkout $(OP_VERSION); \\\n\tgit apply ../../$(OP_CONTRACT_PATCH)\n\n.PHONY: deps\ndeps: new-go-deps\n\n.PHONY: new-go-deps\nnew-go-deps:\n\tgo install github.com/jackchuma/state-diff@v0.0.3\n\n.PHONY: deploy\ndeploy:\n\tforge script --rpc-url $(L1_RPC_URL) DeploySystemConfigScript --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --verify --broadcast\n\n#\n#    ┌─────────────────────────────────────────────┐       ┌─────────────────────────────────────────────┐       ┌─────────────────────────────────────────────┐\n#    │                 Base Nested                 │       │             Base Security Council           │       │                    OP                       │\n#    │                  (3 of 6)                   │       │                 (7 of 10)                   │       │                 (5 of 7)                    │\n#    │  0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110 │       │  0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd │       │  0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A │\n#    └─────────────────────┬───────────────────────┘       └─────────────────────┬───────────────────────┘       └─────────────────────┬───────────────────────┘\n#                          │                                                     │                                                     │\n#                          └─────────────────┬───────────────────────────────────┘                                                     │      \n#                                            ▼                                                                                         │\n#                             ┌─────────────────────────────────────────────┐                                                          │\n#                             │                    Base                     │                                                          │\n#                             │  0x9855054731540A48b28990B63DcF4f33d8AE46A1 │                                                          │\n#                             └─────────────────────┬───────────────────────┘                                                          │\n#                                                   │                                                                                  │\n#                                                   └─────────────────┬────────────────────────────────────────────────────────────────┘\n#                                                                     ▼\n#                                            ┌─────────────────────────────────────────────┐\n#                                            │               ProxyAdminOwner               │\n#                                            │  0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c │\n#                                            └─────────────────────────────────────────────┘\n\n\n# OPTIMISM\n\n.PHONY: gen-validation-op\ngen-validation-op:\n\t$(GOPATH)/bin/state-diff --rpc $(L1_RPC_URL) -o OP_VALIDATION.md \\\n\t-- forge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \\\n\t--sig \"sign(address[])\" \"[$(OP_MULTISIG)]\" \\\n\t--sender 0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\n\n.PHONY: sign-op\nsign-op:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \\\n\t--sig  \"sign(address[])\" \"[$(OP_MULTISIG)]\" \n\n.PHONY: approve-op\napprove-op:\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \\\n\t--sig \"approve(address[],bytes)\" \"[$(OP_MULTISIG)]\" $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv\n\n# BASE NESTED\n\n.PHONY: gen-validation-cb\ngen-validation-cb:\n\t$(GOPATH)/bin/state-diff --rpc $(L1_RPC_URL) -o BASE_NESTED_VALIDATION.md \\\n\t-- forge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \\\n\t--sig \"sign(address[])\" \"[$(BASE_NESTED_MULTISIG), $(BASE_MULTISIG)]\" \\\n\t--sender 0x6CD3850756b7894774Ab715D136F9dD02837De50\n\n.PHONY: sign-cb\nsign-cb:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \\\n\t--sig \"sign(address[])\" \"[$(BASE_NESTED_MULTISIG), $(BASE_MULTISIG)]\"\n\n.PHONY: approve-cb\napprove-cb:\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \\\n\t--sig \"approve(address[],bytes)\" \"[$(BASE_NESTED_MULTISIG), $(BASE_MULTISIG)]\" $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv\n\n# BASE SC\n\n.PHONY: gen-validation-sc\ngen-validation-sc:\n\t$(GOPATH)/bin/state-diff --rpc $(L1_RPC_URL) -o BASE_SC_VALIDATION.md \\\n\t-- forge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \\\n\t--sig \"sign(address[])\" \"[$(BASE_SC_MULTISIG), $(BASE_MULTISIG)]\" \\\n\t--sender 0x5ff5C78ff194acc24C22DAaDdE4D639ebF18ACC6\n\n.PHONY: sign-sc\nsign-sc:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \\\n\t--sig \"sign(address[])\" \"[$(BASE_SC_MULTISIG), $(BASE_MULTISIG)]\"\n\n.PHONY: approve-sc\napprove-sc:\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \\\n\t--sig \"approve(address[],bytes)\" \"[$(BASE_SC_MULTISIG), $(BASE_MULTISIG)]\" $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv\n\n# BASE\n\n.PHONY: approve-base\napprove-base:\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \\\n\t--sig \"approve(address[],bytes)\" \"[$(BASE_MULTISIG)]\" 0x \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv\n\n# Execute\n\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \\\n\t--sig \"run(bytes)\" 0x --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv"
  },
  {
    "path": "mainnet/2025-06-04-upgrade-system-config/README.md",
    "content": "# Upgrade System Config\n\nStatus: [EXECUTED](https://etherscan.io/tx/0x289aeed24a156bbb3b03cbbe0ef4e5fc873436d41cf50c746cdd380ff26be89b)\n\n## Description\n\nThis task contains two scripts:\n1. `DeploySystemConfigScript` - This script deploys the new system config implementation.\n2. `UpgradeSystemConfigScript` - This script performs the upgrade to the new implementation deployed in the previous step.\n\nNOTE: Signers should not care about the `DeploySystemConfigScript` script as it will be ran before hand by the facilitator.\nThe rest of this document will focus on using the `UpgradeSystemConfigScript` script.\n\nWe are performing this upgrade as part of the larger [Upgrade 16](https://docs.optimism.io/notices/upgrade-16), which is scheduled to take place in the near future. This minimal code change is being done only on Base, to avoid Base from being blocked on scaling plan efforts prior to landing Upgrade 16.\n\n## Procedure\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd mainnet/2025-06-04-upgrade-system-config\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate, Validate, and Sign\n\n#### 3.1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following command:\n\nFor Optimism signers:\n```bash\nmake sign-op\n```\n\nFor Base signers:\n```bash\nmake sign-cb\n```\n\nFor Base Security Council signers:\n```bash\nmake sign-sc\n```\n\nFor each run, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and extract the domain hash and\nmessage hash to approve on your Ledger:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n##### 3.1.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Summary\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is `Mainnet`.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n\n##### 3.1.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab, and refer to the validations instructions for the transaction you are signing:\n\n- For Optimism signers: [validations instructions](./validations/OP_VALIDATION.md)\n- For Base signers: [validations instructions](./validations/BASE_NESTED_VALIDATION.md)\n- For Base Security Council signers: [validations instructions](./validations/BASE_SC_VALIDATION.md)\n\nOnce complete return to this document to complete the signing.\n\n### 4. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Summary\" tab, and find the\n`GnosisSafe.checkSignatures` (for Optimism signers) or `Safe.checkSignatures` (for Coinbase and Security Council signers) call.\nThis call's `data` parameter contains both the domain hash and the \nmessage hash that will show up in your Ledger.\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\nOnce the validations are done, it's time to actually sign the\ntransaction.\n\n> [!WARNING]\n> This is the most security critical part of the playbook: make sure the\n> domain hash and message hash in the following three places match:\n>\n> 1. On your Ledger screen.\n> 2. In the terminal output.\n> 3. In the Tenderly simulation. You should use the same Tenderly\n>    simulation as the one you used to verify the state diffs, instead\n>    of opening the new one printed in the console.\n>\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```shell\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n#### 4.1. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n"
  },
  {
    "path": "mainnet/2025-06-04-upgrade-system-config/addresses.json",
    "content": "{\n  \"systemConfig\": \"0x78FFE9209dFF6Fe1c9B6F3EFdF996BeE60346D0e\"\n}"
  },
  {
    "path": "mainnet/2025-06-04-upgrade-system-config/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n    '@lib-keccak/=lib/lib-keccak/contracts/lib',\n    'src/libraries/=lib/optimism/packages/contracts-bedrock/src/libraries',\n    'interfaces/universal/=lib/optimism/packages/contracts-bedrock/interfaces/universal',\n    'interfaces/L1/=lib/optimism/packages/contracts-bedrock/interfaces/L1',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "mainnet/2025-06-04-upgrade-system-config/patch/max-gas-limit.patch",
    "content": "diff --git a/packages/contracts-bedrock/src/L1/SystemConfig.sol b/packages/contracts-bedrock/src/L1/SystemConfig.sol\nindex e767bc64a..a7617d5e8 100644\n--- a/packages/contracts-bedrock/src/L1/SystemConfig.sol\n+++ b/packages/contracts-bedrock/src/L1/SystemConfig.sol\n@@ -87,7 +87,7 @@ contract SystemConfig is OwnableUpgradeable, ISemver {\n     /// @notice The maximum gas limit that can be set for L2 blocks. This limit is used to enforce that the blocks\n     ///         on L2 are not too large to process and prove. Over time, this value can be increased as various\n     ///         optimizations and improvements are made to the system at large.\n-    uint64 internal constant MAX_GAS_LIMIT = 200_000_000;\n+    uint64 internal constant MAX_GAS_LIMIT = 500_000_000;\n \n     /// @notice Fixed L2 gas overhead. Used as part of the L2 fee calculation.\n     ///         Deprecated since the Ecotone network upgrade\n@@ -136,9 +136,9 @@ contract SystemConfig is OwnableUpgradeable, ISemver {\n     event ConfigUpdate(uint256 indexed version, UpdateType indexed updateType, bytes data);\n \n     /// @notice Semantic version.\n-    /// @custom:semver 2.5.0\n+    /// @custom:semver 2.5.0+max-gas-limit-500M\n     function version() public pure virtual returns (string memory) {\n-        return \"2.5.0\";\n+        return \"2.5.0+max-gas-limit-500M\";\n     }\n \n     /// @notice Constructs the SystemConfig contract.\n"
  },
  {
    "path": "mainnet/2025-06-04-upgrade-system-config/records/DeploySystemConfig.s.sol/1/run-1749474907.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x6edf34537c8dc412faf6fe732ad68b4fa9d54285471e17b043acb589655d6963\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"SystemConfig\",\n      \"contractAddress\": \"0x78ffe9209dff6fe1c9b6f3efdf996bee60346d0e\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"from\": \"0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e\",\n        \"gas\": \"0x29829f\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60806040523480156200001157600080fd5b506200005a6200004360017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a062000130565b60001b6000196200006a60201b620010c61760201c565b620000646200006e565b62000156565b9055565b600054610100900460ff1615620000db5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156200012e576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000828210156200015157634e487b7160e01b600052601160045260246000fd5b500390565b61243380620001666000396000f3fe608060405234801561001057600080fd5b50600436106102ff5760003560e01c8063a71198691161019c578063dac6e63a116100ee578063f2fde38b11610097578063f8c68de011610071578063f8c68de0146107a6578063fd32aa0f146107ae578063ffa1ad74146107b657600080fd5b8063f2fde38b14610776578063f45e65d814610789578063f68016b71461079257600080fd5b8063e81b2c6d116100c8578063e81b2c6d14610745578063ec7075171461074e578063f2b4e6171461076e57600080fd5b8063dac6e63a1461072d578063e0e2016d14610735578063e2a3285c1461073d57600080fd5b8063c4e8ddfa11610150578063ca407f0c1161012a578063ca407f0c146105d6578063cc731b02146105e9578063d220a9e01461071d57600080fd5b8063c4e8ddfa146105a3578063c9b26f61146105ab578063c9ff2d16146105be57600080fd5b8063bc49ce5f11610181578063bc49ce5f1461056c578063bfb14fb714610574578063c0fd4b411461059057600080fd5b8063a711986914610551578063b40a817c1461055957600080fd5b806348cd4cb1116102555780635d73369c11610209578063935f029e116101e3578063935f029e146104c05780639b7d7f0a146104d3578063a39fac12146104db57600080fd5b80635d73369c14610492578063715018a61461049a5780638da5cb5b146104a257600080fd5b80634d5d9a2a1161023a5780634d5d9a2a146103fb5780634f16540b1461042c57806354fd4d501461045357600080fd5b806348cd4cb1146103eb5780634add321d146103f357600080fd5b8063155b6c6f116102b757806319f5cea81161029157806319f5cea8146103c85780631fd19ee1146103d057806321d7fde5146103d857600080fd5b8063155b6c6f1461037c57806316d3bc7f1461039157806318d13918146103b557600080fd5b80630a49cb03116102e85780630a49cb031461034c5780630ae14b1b146103545780630c18c1621461037357600080fd5b806306c9265714610304578063078f29cf1461031f575b600080fd5b61030c6107be565b6040519081526020015b60405180910390f35b6103276107ec565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610316565b610327610825565b631dcd65005b60405167ffffffffffffffff9091168152602001610316565b61030c60655481565b61038f61038a366004611f06565b610855565b005b606a5461035a906c01000000000000000000000000900467ffffffffffffffff1681565b61038f6103c3366004611f5d565b61086b565b61030c61087f565b6103276108aa565b61038f6103e6366004611f7f565b6108d4565b61030c6108e6565b61035a610916565b606a546104179068010000000000000000900463ffffffff1681565b60405163ffffffff9091168152602001610316565b61030c7f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c0881565b604080518082018252601881527f322e352e302b6d61782d6761732d6c696d69742d3530304d0000000000000000602082015290516103169190612014565b61030c61093c565b61038f610967565b60335473ffffffffffffffffffffffffffffffffffffffff16610327565b61038f6104ce366004612027565b61097b565b61032761098d565b6104e36109bd565b6040516103169190600060c08201905073ffffffffffffffffffffffffffffffffffffffff8084511683528060208501511660208401528060408501511660408401528060608501511660608401528060808501511660808401528060a08501511660a08401525092915050565b610327610ace565b61038f610567366004612049565b610afe565b61030c610b0f565b6068546104179068010000000000000000900463ffffffff1681565b61038f61059e366004611f7f565b610b3a565b610327610b4c565b61038f6105b9366004612064565b610b7c565b606a5461041790640100000000900463ffffffff1681565b61038f6105e43660046121a7565b610b8d565b6106ad6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152506040805160c08101825260695463ffffffff8082168352640100000000820460ff9081166020850152650100000000008304169383019390935266010000000000008104831660608301526a0100000000000000000000810490921660808201526e0100000000000000000000000000009091046fffffffffffffffffffffffffffffffff1660a082015290565b6040516103169190600060c08201905063ffffffff80845116835260ff602085015116602084015260ff6040850151166040840152806060850151166060840152806080850151166080840152506fffffffffffffffffffffffffffffffff60a08401511660a083015292915050565b606a546104179063ffffffff1681565b610327610f06565b61030c610f36565b61030c610f61565b61030c60675481565b606854610417906c01000000000000000000000000900463ffffffff1681565b610327610f8c565b61038f610784366004611f5d565b610fbc565b61030c60665481565b60685461035a9067ffffffffffffffff1681565b61030c611070565b61030c61109b565b61030c600081565b6107e960017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d612325565b81565b600061082061081c60017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377612325565b5490565b905090565b600061082061081c60017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad612325565b61085d6110ca565b610867828261114b565b5050565b6108736110ca565b61087c8161125b565b50565b6107e960017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8612325565b60006108207f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c085490565b6108dc6110ca565b6108678282611318565b600061082061081c60017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0612325565b6069546000906108209063ffffffff6a010000000000000000000082048116911661233c565b6107e960017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637612325565b61096f6110ca565b610979600061141d565b565b6109836110ca565b6108678282611494565b600061082061081c60017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d612325565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a08101919091526040518060c00160405280610a02610ace565b73ffffffffffffffffffffffffffffffffffffffff168152602001610a25610b4c565b73ffffffffffffffffffffffffffffffffffffffff168152602001610a486107ec565b73ffffffffffffffffffffffffffffffffffffffff168152602001610a6b610f8c565b73ffffffffffffffffffffffffffffffffffffffff168152602001610a8e610825565b73ffffffffffffffffffffffffffffffffffffffff168152602001610ab161098d565b73ffffffffffffffffffffffffffffffffffffffff169052919050565b600061082061081c60017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637612325565b610b066110ca565b61087c8161156a565b6107e960017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598612325565b610b426110ca565b61086782826116c0565b600061082061081c60017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8612325565b610b846110ca565b61087c81611892565b600054610100900460ff1615808015610bad5750600054600160ff909116105b80610bc75750303b158015610bc7575060005460ff166001145b610c58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610cb657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610cbe6118ba565b610cc78a610fbc565b610cd087611892565b610cda8989611318565b610ce38661156a565b610d0c7f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c08869055565b610d3f610d3a60017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598612325565b849055565b610d73610d6d60017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637612325565b83519055565b610daa610da160017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8612325565b60208401519055565b610de1610dd860017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377612325565b60408401519055565b610e18610e0f60017f52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa907612325565b60608401519055565b610e4f610e4660017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad612325565b60808401519055565b610e86610e7d60017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d612325565b60a08401519055565b610e8e611959565b610e97846119c1565b8015610efa57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050505050565b600061082061081c60017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598612325565b6107e960017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0612325565b6107e960017f52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa907612325565b600061082061081c60017f52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa907612325565b610fc46110ca565b73ffffffffffffffffffffffffffffffffffffffff8116611067576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610c4f565b61087c8161141d565b6107e960017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377612325565b6107e960017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad612325565b9055565b60335473ffffffffffffffffffffffffffffffffffffffff163314610979576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c4f565b606a80547fffffffffffffffffffffffff000000000000000000000000ffffffffffffffff166801000000000000000063ffffffff8516027fffffffffffffffffffffffff0000000000000000ffffffffffffffffffffffff16176c0100000000000000000000000067ffffffffffffffff841690810291909117909155604080516bffffffff000000000000000085831b16909217602083015260009101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060055b60007f1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be8360405161124e9190612014565b60405180910390a3505050565b6112847f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c08829055565b6040805173ffffffffffffffffffffffffffffffffffffffff8316602082015260009101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060035b60007f1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be8360405161130c9190612014565b60405180910390a35050565b606880547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff166801000000000000000063ffffffff8581169182027fffffffffffffffffffffffffffffffff00000000ffffffffffffffffffffffff16929092176c0100000000000000000000000092851692909202919091179091557f0100000000000000000000000000000000000000000000000000000000000000602083811b67ffffffff000000001690921717606681905560655460408051938401919091528201526000906060015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529050600161121d565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b7fff00000000000000000000000000000000000000000000000000000000000000811615611544576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f53797374656d436f6e6669673a207363616c61722065786365656473206d617860448201527f2e000000000000000000000000000000000000000000000000000000000000006064820152608401610c4f565b6065829055606681905560408051602081018490529081018290526000906060016113e6565b611572610916565b67ffffffffffffffff168167ffffffffffffffff1610156115ef576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f77006044820152606401610c4f565b631dcd650067ffffffffffffffff82161115611667576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f20686967686044820152606401610c4f565b606880547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff831690811790915560408051602080820193909352815180820390930183528101905260026112db565b60018263ffffffff161015611757576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53797374656d436f6e6669673a2064656e6f6d696e61746f72206d757374206260448201527f65203e3d203100000000000000000000000000000000000000000000000000006064820152608401610c4f565b60018163ffffffff1610156117ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f53797374656d436f6e6669673a20656c6173746963697479206d75737420626560448201527f203e3d20310000000000000000000000000000000000000000000000000000006064820152608401610c4f565b606a805463ffffffff83811664010000000081027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909316918616919091179190911790915560405160009161185b91602086811b67ffffffff0000000016909217910190815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529050600461121d565b60678190556040805160208082018490528251808303909101815290820190915260006112db565b600054610100900460ff16611951576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610c4f565b610979611e35565b61198761081c60017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0612325565b600003610979576109796119bc60017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0612325565b439055565b8060a001516fffffffffffffffffffffffffffffffff16816060015163ffffffff161115611a71576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f53797374656d436f6e6669673a206d696e206261736520666565206d7573742060448201527f6265206c657373207468616e206d6178206261736500000000000000000000006064820152608401610c4f565b6001816040015160ff1611611b08576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f53797374656d436f6e6669673a2064656e6f6d696e61746f72206d757374206260448201527f65206c6172676572207468616e203100000000000000000000000000000000006064820152608401610c4f565b6068546080820151825167ffffffffffffffff90921691611b299190612368565b63ffffffff161115611b97576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f77006044820152606401610c4f565b6000816020015160ff1611611c2e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f53797374656d436f6e6669673a20656c6173746963697479206d756c7469706c60448201527f6965722063616e6e6f74206265203000000000000000000000000000000000006064820152608401610c4f565b8051602082015163ffffffff82169160ff90911690611c4e908290612387565b611c5891906123d1565b63ffffffff1614611ceb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f53797374656d436f6e6669673a20707265636973696f6e206c6f73732077697460448201527f6820746172676574207265736f75726365206c696d69740000000000000000006064820152608401610c4f565b805160698054602084015160408501516060860151608087015160a09097015163ffffffff9687167fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009095169490941764010000000060ff94851602177fffffffffffffffffffffffffffffffffffffffffffff0000000000ffffffffff166501000000000093909216929092027fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff1617660100000000000091851691909102177fffff0000000000000000000000000000000000000000ffffffffffffffffffff166a010000000000000000000093909416929092027fffff00000000000000000000000000000000ffffffffffffffffffffffffffff16929092176e0100000000000000000000000000006fffffffffffffffffffffffffffffffff90921691909102179055565b600054610100900460ff16611ecc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610c4f565b6109793361141d565b803563ffffffff81168114611ee957600080fd5b919050565b803567ffffffffffffffff81168114611ee957600080fd5b60008060408385031215611f1957600080fd5b611f2283611ed5565b9150611f3060208401611eee565b90509250929050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611ee957600080fd5b600060208284031215611f6f57600080fd5b611f7882611f39565b9392505050565b60008060408385031215611f9257600080fd5b611f9b83611ed5565b9150611f3060208401611ed5565b6000815180845260005b81811015611fcf57602081850181015186830182015201611fb3565b81811115611fe1576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611f786020830184611fa9565b6000806040838503121561203a57600080fd5b50508035926020909101359150565b60006020828403121561205b57600080fd5b611f7882611eee565b60006020828403121561207657600080fd5b5035919050565b60405160c0810167ffffffffffffffff811182821017156120c7577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b803560ff81168114611ee957600080fd5b600060c082840312156120f057600080fd5b60405160c0810181811067ffffffffffffffff8211171561213a577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290508061214983611f39565b815261215760208401611f39565b602082015261216860408401611f39565b604082015261217960608401611f39565b606082015261218a60808401611f39565b608082015261219b60a08401611f39565b60a08201525092915050565b6000806000806000806000806000898b036102608112156121c757600080fd5b6121d08b611f39565b99506121de60208c01611ed5565b98506121ec60408c01611ed5565b975060608b0135965061220160808c01611eee565b955061220f60a08c01611f39565b945060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff408201121561224157600080fd5b5061224a61207d565b61225660c08c01611ed5565b815261226460e08c016120cd565b60208201526122766101008c016120cd565b60408201526122886101208c01611ed5565b606082015261229a6101408c01611ed5565b60808201526101608b01356fffffffffffffffffffffffffffffffff811681146122c357600080fd5b60a082015292506122d76101808b01611f39565b91506122e78b6101a08c016120de565b90509295985092959850929598565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015612337576123376122f6565b500390565b600067ffffffffffffffff80831681851680830382111561235f5761235f6122f6565b01949350505050565b600063ffffffff80831681851680830382111561235f5761235f6122f6565b600063ffffffff808416806123c5577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b92169190910492915050565b600063ffffffff808316818516818304811182151516156123f4576123f46122f6565b0294935050505056fea2646970667358221220284267a50d84ed1ce6fa056718d87932bdc0f7404023d81afeccdd7ed1beb31864736f6c634300080f0033\",\n        \"nonce\": \"0x3\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xddd21c\",\n      \"logs\": [\n        {\n          \"address\": \"0x78ffe9209dff6fe1c9b6f3efdf996bee60346d0e\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000ff\",\n          \"blockHash\": \"0xedfaf4f969366ea64c6d0dc85f8d2717cd18c44450c8f0a920c01143736af5b5\",\n          \"blockNumber\": \"0x159dff5\",\n          \"blockTimestamp\": \"0x6846de47\",\n          \"transactionHash\": \"0x6edf34537c8dc412faf6fe732ad68b4fa9d54285471e17b043acb589655d6963\",\n          \"transactionIndex\": \"0x82\",\n          \"logIndex\": \"0x185\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000010000000000000000000000000000000000000000000000000000800000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x6edf34537c8dc412faf6fe732ad68b4fa9d54285471e17b043acb589655d6963\",\n      \"transactionIndex\": \"0x82\",\n      \"blockHash\": \"0xedfaf4f969366ea64c6d0dc85f8d2717cd18c44450c8f0a920c01143736af5b5\",\n      \"blockNumber\": \"0x159dff5\",\n      \"gasUsed\": \"0x1ff0ad\",\n      \"effectiveGasPrice\": \"0x1a870dc8c\",\n      \"from\": \"0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e\",\n      \"to\": null,\n      \"contractAddress\": \"0x78ffe9209dff6fe1c9b6f3efdf996bee60346d0e\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1749474907,\n  \"chain\": 1,\n  \"commit\": \"ba53207\"\n}"
  },
  {
    "path": "mainnet/2025-06-04-upgrade-system-config/records/UpgradeSystemConfig.s.sol/1/approve-latest.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xef242d273ad8ee90d65c15fa39ec80899f69bc54795410c3fc573e4d181b4858\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd4a88dda4a880fe15d81d0ba56d70a2770da4a983f625755eb9c4d7c8de2aa2a200000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e\",\n        \"to\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n        \"gas\": \"0x1ee6d\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd4a88dda4a880fe15d81d0ba56d70a2770da4a983f625755eb9c4d7c8de2aa2a20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x7\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xffdd52\",\n      \"logs\": [\n        {\n          \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x4a88dda4a880fe15d81d0ba56d70a2770da4a983f625755eb9c4d7c8de2aa2a2\",\n            \"0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x8252b9651f9f0a9e02802ead159a097793a0fe92cb64dbb9e56deae2a4cc30e3\",\n          \"blockNumber\": \"0x15b872f\",\n          \"blockTimestamp\": \"0x685ad7bb\",\n          \"transactionHash\": \"0xef242d273ad8ee90d65c15fa39ec80899f69bc54795410c3fc573e4d181b4858\",\n          \"transactionIndex\": \"0xd8\",\n          \"logIndex\": \"0x18f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x2c6c1586b686483d280098fc0fa445fdf2c4d1d3dfad1a2aa17aac81d10cef9f0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x8252b9651f9f0a9e02802ead159a097793a0fe92cb64dbb9e56deae2a4cc30e3\",\n          \"blockNumber\": \"0x15b872f\",\n          \"blockTimestamp\": \"0x685ad7bb\",\n          \"transactionHash\": \"0xef242d273ad8ee90d65c15fa39ec80899f69bc54795410c3fc573e4d181b4858\",\n          \"transactionIndex\": \"0xd8\",\n          \"logIndex\": \"0x190\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000010000000000000000008000000000000040000000000000000000000400101000004000000000000000000100000000000000002001000000000000000000000000000000000000008000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xef242d273ad8ee90d65c15fa39ec80899f69bc54795410c3fc573e4d181b4858\",\n      \"transactionIndex\": \"0xd8\",\n      \"blockHash\": \"0x8252b9651f9f0a9e02802ead159a097793a0fe92cb64dbb9e56deae2a4cc30e3\",\n      \"blockNumber\": \"0x15b872f\",\n      \"gasUsed\": \"0x165f5\",\n      \"effectiveGasPrice\": \"0x17f92ba36\",\n      \"from\": \"0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e\",\n      \"to\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1750783934,\n  \"chain\": 1,\n  \"commit\": \"a848f2f\"\n}"
  },
  {
    "path": "mainnet/2025-06-04-upgrade-system-config/records/UpgradeSystemConfig.s.sol/1/run-1750783683.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x09615a8659677b942bf43f6e600d183f47084b4fbd09bb069c12c29a236bda54\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd2c6c1586b686483d280098fc0fa445fdf2c4d1d3dfad1a2aa17aac81d10cef9f00000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x855e34b851090eeedfdb71de27bbd0617619f739af989a54a39ea52db5685fe426cd1c6b29c0cc5f40ab916bd17483bb9b8cc995f68abcee07f6e494125b98041b4acdf4de54972a20ead0de868bafa06e63e60e414a308e9dc6443837325e40236ff43dd640bed41d1ae857785d73639b557a441c0df6e29ff41fc1d9a822c21d1b59f224f36fe78bd74a418e95abd7ee96e09d811279585b84786d243c2d24a74d1d013525cf3c1cb31809e8271b8b4a22e22d05ecb6cf1474e8c448fb5d96c7f31c2c687042c3a223664f2bff92590f7cce853dedd475923767fbca6d0f9d823ab07516780bdc396680a022fa63d7a73883738ddde95b4e3e1d06f1dcb9b7dcbc1e1b5abd4fcf454fe1ed0e80ff295b03fe1dc4f7e6cee4406d8079263f3a5f2540597db296bc8fcb7c88b19cefd5fe08830ef29dbe978238d258a67069cf2a9ea19e1b3d6c534083a62d5b42c382ec78107569992adab830ffae98533ff9a7c14d680a5b0a42610265abfc3cc21a71ae0ea14839ab3c254623723bb0c46bae125d3a991c8a85ddfcdeaf7feeb1d6e3bec28f8a39471ab3af5ba1034a9ccf3104f805ca88412fb58c4cb4f74deb42e25acc87faf01d2bbecc9576e2b28e17ff1eab202a7d1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e\",\n        \"to\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n        \"gas\": \"0x2f5a1\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd2c6c1586b686483d280098fc0fa445fdf2c4d1d3dfad1a2aa17aac81d10cef9f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c7855e34b851090eeedfdb71de27bbd0617619f739af989a54a39ea52db5685fe426cd1c6b29c0cc5f40ab916bd17483bb9b8cc995f68abcee07f6e494125b98041b4acdf4de54972a20ead0de868bafa06e63e60e414a308e9dc6443837325e40236ff43dd640bed41d1ae857785d73639b557a441c0df6e29ff41fc1d9a822c21d1b59f224f36fe78bd74a418e95abd7ee96e09d811279585b84786d243c2d24a74d1d013525cf3c1cb31809e8271b8b4a22e22d05ecb6cf1474e8c448fb5d96c7f31c2c687042c3a223664f2bff92590f7cce853dedd475923767fbca6d0f9d823ab07516780bdc396680a022fa63d7a73883738ddde95b4e3e1d06f1dcb9b7dcbc1e1b5abd4fcf454fe1ed0e80ff295b03fe1dc4f7e6cee4406d8079263f3a5f2540597db296bc8fcb7c88b19cefd5fe08830ef29dbe978238d258a67069cf2a9ea19e1b3d6c534083a62d5b42c382ec78107569992adab830ffae98533ff9a7c14d680a5b0a42610265abfc3cc21a71ae0ea14839ab3c254623723bb0c46bae125d3a991c8a85ddfcdeaf7feeb1d6e3bec28f8a39471ab3af5ba1034a9ccf3104f805ca88412fb58c4cb4f74deb42e25acc87faf01d2bbecc9576e2b28e17ff1eab202a7d1b00000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x4\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1347c96\",\n      \"logs\": [\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x2c6c1586b686483d280098fc0fa445fdf2c4d1d3dfad1a2aa17aac81d10cef9f\",\n            \"0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xd8991662036c8d047d2e02f14882afb75546c2a32bdc66e56051cae37b067834\",\n          \"blockNumber\": \"0x15b871a\",\n          \"blockTimestamp\": \"0x685ad6bf\",\n          \"transactionHash\": \"0x09615a8659677b942bf43f6e600d183f47084b4fbd09bb069c12c29a236bda54\",\n          \"transactionIndex\": \"0xc6\",\n          \"logIndex\": \"0x241\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0xcb2722bcd40389a4e5256df6bd25c54cf47549ffa2ad5319e9b8ec197d51f5af\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xd8991662036c8d047d2e02f14882afb75546c2a32bdc66e56051cae37b067834\",\n          \"blockNumber\": \"0x15b871a\",\n          \"blockTimestamp\": \"0x685ad6bf\",\n          \"transactionHash\": \"0x09615a8659677b942bf43f6e600d183f47084b4fbd09bb069c12c29a236bda54\",\n          \"transactionIndex\": \"0xc6\",\n          \"logIndex\": \"0x242\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000001000000010000000000000000008000000000008440020000000000000000000800000000200000000000000000000100000000400000000000000000000000000000000000000000000000008004000000000400000000000000000400000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x09615a8659677b942bf43f6e600d183f47084b4fbd09bb069c12c29a236bda54\",\n      \"transactionIndex\": \"0xc6\",\n      \"blockHash\": \"0xd8991662036c8d047d2e02f14882afb75546c2a32bdc66e56051cae37b067834\",\n      \"blockNumber\": \"0x15b871a\",\n      \"gasUsed\": \"0x2060a\",\n      \"effectiveGasPrice\": \"0x1910360e2\",\n      \"from\": \"0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e\",\n      \"to\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1750783683,\n  \"chain\": 1,\n  \"commit\": \"a848f2f\"\n}"
  },
  {
    "path": "mainnet/2025-06-04-upgrade-system-config/records/UpgradeSystemConfig.s.sol/1/run-1750783800.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x0dc874f63824da8a57ce69b5ef3859809b4002f2ff23c4a6329d5a7e60e85db9\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd2c6c1586b686483d280098fc0fa445fdf2c4d1d3dfad1a2aa17aac81d10cef9f00000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xbcdf58e13847f904924341de3db4f9090d3c2eb0004506bb982b9fd8f65ed4b2297dd21d65626e7fe5563707fb5d3fddd9bdcdf8a008702c43d7bfe33acb5fc21ca604c453e5a526ddd5a7e2bb3b1b3831a57daa4654c79a632752033f5c46e8735b391469fc3ab8b71485297e56186c9ac5f9c26f1a62575b683b67f8a3e6dd211b65a2c91c18cd65f5d81be3376c940d770a87e432e27970e920f3653c7a2bf6ec3d597c25b5204c77c360f2c237a7d5b13ccb14b267f7f3ace6e53a01f8ab47cb1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e\",\n        \"to\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n        \"gas\": \"0x232e5\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd2c6c1586b686483d280098fc0fa445fdf2c4d1d3dfad1a2aa17aac81d10cef9f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3bcdf58e13847f904924341de3db4f9090d3c2eb0004506bb982b9fd8f65ed4b2297dd21d65626e7fe5563707fb5d3fddd9bdcdf8a008702c43d7bfe33acb5fc21ca604c453e5a526ddd5a7e2bb3b1b3831a57daa4654c79a632752033f5c46e8735b391469fc3ab8b71485297e56186c9ac5f9c26f1a62575b683b67f8a3e6dd211b65a2c91c18cd65f5d81be3376c940d770a87e432e27970e920f3653c7a2bf6ec3d597c25b5204c77c360f2c237a7d5b13ccb14b267f7f3ace6e53a01f8ab47cb1b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x5\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x2121fb3\",\n      \"logs\": [\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x2c6c1586b686483d280098fc0fa445fdf2c4d1d3dfad1a2aa17aac81d10cef9f\",\n            \"0x0000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x5d28c32dbd69d62b0d32df7bf7431c9048c10f72d429449008b16f9c05da5694\",\n          \"blockNumber\": \"0x15b8724\",\n          \"blockTimestamp\": \"0x685ad737\",\n          \"transactionHash\": \"0x0dc874f63824da8a57ce69b5ef3859809b4002f2ff23c4a6329d5a7e60e85db9\",\n          \"transactionIndex\": \"0xe4\",\n          \"logIndex\": \"0x2f8\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0xb0645f9f7343b2cd988ee1e46c4fc43aa1badb73ab74504a1b7ab969a13de811\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x5d28c32dbd69d62b0d32df7bf7431c9048c10f72d429449008b16f9c05da5694\",\n          \"blockNumber\": \"0x15b8724\",\n          \"blockTimestamp\": \"0x685ad737\",\n          \"transactionHash\": \"0x0dc874f63824da8a57ce69b5ef3859809b4002f2ff23c4a6329d5a7e60e85db9\",\n          \"transactionIndex\": \"0xe4\",\n          \"logIndex\": \"0x2f9\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000010200000000000000008000000000000040020000000000100000000000000000200000000000000000000100200000000000000000000000000000000000000000000000000000008000000800000000000040000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000001000010000000000000040000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000100000000000001000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x0dc874f63824da8a57ce69b5ef3859809b4002f2ff23c4a6329d5a7e60e85db9\",\n      \"transactionIndex\": \"0xe4\",\n      \"blockHash\": \"0x5d28c32dbd69d62b0d32df7bf7431c9048c10f72d429449008b16f9c05da5694\",\n      \"blockNumber\": \"0x15b8724\",\n      \"gasUsed\": \"0x19787\",\n      \"effectiveGasPrice\": \"0x14dcd5a15\",\n      \"from\": \"0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e\",\n      \"to\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1750783800,\n  \"chain\": 1,\n  \"commit\": \"a848f2f\"\n}"
  },
  {
    "path": "mainnet/2025-06-04-upgrade-system-config/records/UpgradeSystemConfig.s.sol/1/run-1750783885.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xb7fbfc0a1846f779288a613e81fdd37f30207aced9bcd823f6a9c85996732d94\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd4a88dda4a880fe15d81d0ba56d70a2770da4a983f625755eb9c4d7c8de2aa2a200000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0e46aa86ee47e7011b0099d42def6b50920da1cffec7f2c43be58453edd46309299c6f5143120471534c6a0493b0fa8b5118288528060634046b682d6ca0e15c1b00000000000000000000000042d27eea1ad6e22af6284f609847cb3cd56b9c64000000000000000000000000000000000000000000000000000000000000000001ea2e7c05dae8558a7ab873166cfe4c84458ce595f5fbd53b571306645bdf751852ef6a3ee2f8542920b3faee302f3a0e095e0cf724356b5b290bf52c5c4273551c423a572a1199d6ddcaa530aae788e180e8a066d1fc2e2002e910cbd6568bdd394f734912e7b143c4f67a0d77f728c946898c784fbdf17f6ecd699e5c584cfaef1c7d2da14e4f46fed49fed1d0beab0ea02dbef1231bae222f31738054432bc69fb6ec65c6c0f249881741f1cde86949875e139846a37476e6c3c80f9682b36b0061c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e\",\n        \"to\": \"0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a\",\n        \"gas\": \"0x26ca3\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd4a88dda4a880fe15d81d0ba56d70a2770da4a983f625755eb9c4d7c8de2aa2a2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001450e46aa86ee47e7011b0099d42def6b50920da1cffec7f2c43be58453edd46309299c6f5143120471534c6a0493b0fa8b5118288528060634046b682d6ca0e15c1b00000000000000000000000042d27eea1ad6e22af6284f609847cb3cd56b9c64000000000000000000000000000000000000000000000000000000000000000001ea2e7c05dae8558a7ab873166cfe4c84458ce595f5fbd53b571306645bdf751852ef6a3ee2f8542920b3faee302f3a0e095e0cf724356b5b290bf52c5c4273551c423a572a1199d6ddcaa530aae788e180e8a066d1fc2e2002e910cbd6568bdd394f734912e7b143c4f67a0d77f728c946898c784fbdf17f6ecd699e5c584cfaef1c7d2da14e4f46fed49fed1d0beab0ea02dbef1231bae222f31738054432bc69fb6ec65c6c0f249881741f1cde86949875e139846a37476e6c3c80f9682b36b0061c000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x6\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xb41bc4\",\n      \"logs\": [\n        {\n          \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x4a88dda4a880fe15d81d0ba56d70a2770da4a983f625755eb9c4d7c8de2aa2a2\",\n            \"0x0000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf3e48d86bb7e0982f3f9a75be8f0cebeb5b26ca37d8f901a2889951ab348b410\",\n          \"blockNumber\": \"0x15b872b\",\n          \"blockTimestamp\": \"0x685ad78b\",\n          \"transactionHash\": \"0xb7fbfc0a1846f779288a613e81fdd37f30207aced9bcd823f6a9c85996732d94\",\n          \"transactionIndex\": \"0x82\",\n          \"logIndex\": \"0x138\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x93a03b347a043ebcdddcd6400722ae74fbe60ac1dd68ead7ee2af1c7d17968720000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xf3e48d86bb7e0982f3f9a75be8f0cebeb5b26ca37d8f901a2889951ab348b410\",\n          \"blockNumber\": \"0x15b872b\",\n          \"blockTimestamp\": \"0x685ad78b\",\n          \"transactionHash\": \"0xb7fbfc0a1846f779288a613e81fdd37f30207aced9bcd823f6a9c85996732d94\",\n          \"transactionIndex\": \"0x82\",\n          \"logIndex\": \"0x139\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000002000000000000400000000004000000000000000000100000000000000002001000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000040000000000000000000000020000000000000000000000004000000000000000000000000000000008000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000200000400000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xb7fbfc0a1846f779288a613e81fdd37f30207aced9bcd823f6a9c85996732d94\",\n      \"transactionIndex\": \"0x82\",\n      \"blockHash\": \"0xf3e48d86bb7e0982f3f9a75be8f0cebeb5b26ca37d8f901a2889951ab348b410\",\n      \"blockNumber\": \"0x15b872b\",\n      \"gasUsed\": \"0x1c155\",\n      \"effectiveGasPrice\": \"0x1a2e1f9fc\",\n      \"from\": \"0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e\",\n      \"to\": \"0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1750783885,\n  \"chain\": 1,\n  \"commit\": \"a848f2f\"\n}"
  },
  {
    "path": "mainnet/2025-06-04-upgrade-system-config/records/UpgradeSystemConfig.s.sol/1/run-1750783934.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xef242d273ad8ee90d65c15fa39ec80899f69bc54795410c3fc573e4d181b4858\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd4a88dda4a880fe15d81d0ba56d70a2770da4a983f625755eb9c4d7c8de2aa2a200000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e\",\n        \"to\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n        \"gas\": \"0x1ee6d\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd4a88dda4a880fe15d81d0ba56d70a2770da4a983f625755eb9c4d7c8de2aa2a20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x7\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xffdd52\",\n      \"logs\": [\n        {\n          \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x4a88dda4a880fe15d81d0ba56d70a2770da4a983f625755eb9c4d7c8de2aa2a2\",\n            \"0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x8252b9651f9f0a9e02802ead159a097793a0fe92cb64dbb9e56deae2a4cc30e3\",\n          \"blockNumber\": \"0x15b872f\",\n          \"blockTimestamp\": \"0x685ad7bb\",\n          \"transactionHash\": \"0xef242d273ad8ee90d65c15fa39ec80899f69bc54795410c3fc573e4d181b4858\",\n          \"transactionIndex\": \"0xd8\",\n          \"logIndex\": \"0x18f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x2c6c1586b686483d280098fc0fa445fdf2c4d1d3dfad1a2aa17aac81d10cef9f0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x8252b9651f9f0a9e02802ead159a097793a0fe92cb64dbb9e56deae2a4cc30e3\",\n          \"blockNumber\": \"0x15b872f\",\n          \"blockTimestamp\": \"0x685ad7bb\",\n          \"transactionHash\": \"0xef242d273ad8ee90d65c15fa39ec80899f69bc54795410c3fc573e4d181b4858\",\n          \"transactionIndex\": \"0xd8\",\n          \"logIndex\": \"0x190\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000010000000000000000008000000000000040000000000000000000000400101000004000000000000000000100000000000000002001000000000000000000000000000000000000008000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xef242d273ad8ee90d65c15fa39ec80899f69bc54795410c3fc573e4d181b4858\",\n      \"transactionIndex\": \"0xd8\",\n      \"blockHash\": \"0x8252b9651f9f0a9e02802ead159a097793a0fe92cb64dbb9e56deae2a4cc30e3\",\n      \"blockNumber\": \"0x15b872f\",\n      \"gasUsed\": \"0x165f5\",\n      \"effectiveGasPrice\": \"0x17f92ba36\",\n      \"from\": \"0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e\",\n      \"to\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1750783934,\n  \"chain\": 1,\n  \"commit\": \"a848f2f\"\n}"
  },
  {
    "path": "mainnet/2025-06-04-upgrade-system-config/records/UpgradeSystemConfig.s.sol/1/run-1750797290.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x289aeed24a156bbb3b03cbbe0ef4e5fc873436d41cf50c746cdd380ff26be89b\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004499a88ec400000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000078ffe9209dff6fe1c9b6f3efdf996bee60346d0e00000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e\",\n        \"to\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n        \"gas\": \"0x1addb\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e00000000000000000000000000000000000000000000000000000000000000164174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004499a88ec400000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000078ffe9209dff6fe1c9b6f3efdf996bee60346d0e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x8\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x16ad6f1\",\n      \"logs\": [\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x00000000000000000000000078ffe9209dff6fe1c9b6f3efdf996bee60346d0e\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xdbb7fd2724a0a749875e0c047ebeb771e086bb80ed758bc27a48b989e084e8f6\",\n          \"blockNumber\": \"0x15b8b83\",\n          \"blockTimestamp\": \"0x685b0be7\",\n          \"transactionHash\": \"0x289aeed24a156bbb3b03cbbe0ef4e5fc873436d41cf50c746cdd380ff26be89b\",\n          \"transactionIndex\": \"0x104\",\n          \"logIndex\": \"0x20e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x4a88dda4a880fe15d81d0ba56d70a2770da4a983f625755eb9c4d7c8de2aa2a20000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xdbb7fd2724a0a749875e0c047ebeb771e086bb80ed758bc27a48b989e084e8f6\",\n          \"blockNumber\": \"0x15b8b83\",\n          \"blockTimestamp\": \"0x685b0be7\",\n          \"transactionHash\": \"0x289aeed24a156bbb3b03cbbe0ef4e5fc873436d41cf50c746cdd380ff26be89b\",\n          \"transactionIndex\": \"0x104\",\n          \"logIndex\": \"0x20f\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000400000000000000000000000042000000000008000000000000000000004000000000000000000000000000000000000001000000000000000000000000002000001000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000040000000000000201000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x289aeed24a156bbb3b03cbbe0ef4e5fc873436d41cf50c746cdd380ff26be89b\",\n      \"transactionIndex\": \"0x104\",\n      \"blockHash\": \"0xdbb7fd2724a0a749875e0c047ebeb771e086bb80ed758bc27a48b989e084e8f6\",\n      \"blockNumber\": \"0x15b8b83\",\n      \"gasUsed\": \"0x13736\",\n      \"effectiveGasPrice\": \"0xb63673a4\",\n      \"from\": \"0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e\",\n      \"to\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1750797290,\n  \"chain\": 1,\n  \"commit\": \"a848f2f\"\n}"
  },
  {
    "path": "mainnet/2025-06-04-upgrade-system-config/script/DeploySystemConfig.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Script, console} from \"forge-std/Script.sol\";\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\n\ncontract DeploySystemConfigScript is Script {\n    SystemConfig systemConfigImpl;\n\n    function run() public {\n        vm.startBroadcast();\n        systemConfigImpl = new SystemConfig();\n        console.log(\"SystemConfig implementation deployed at: \", address(systemConfigImpl));\n        vm.stopBroadcast();\n\n        string memory obj = \"root\";\n        string memory json = vm.serializeAddress(obj, \"systemConfig\", address(systemConfigImpl));\n        vm.writeJson(json, \"addresses.json\");\n\n        _postCheck();\n    }\n\n    function _postCheck() internal view {\n        require(\n            keccak256(bytes(SystemConfig(systemConfigImpl).version())) == keccak256(\"2.5.0+max-gas-limit-500M\"),\n            \"SystemConfig version mismatch\"\n        );\n\n        require(SystemConfig(systemConfigImpl).maximumGasLimit() == 500_000_000, \"Maximum gas limit mismatch\");\n    }\n}\n"
  },
  {
    "path": "mainnet/2025-06-04-upgrade-system-config/script/UpgradeSystemConfig.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\n\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {console} from \"forge-std/console.sol\";\n\ninterface IProxyAdmin {\n    function upgrade(address _proxy, address _implementation) external;\n}\n\ninterface IProxy {\n    function implementation() external view returns (address);\n}\n\ncontract UpgradeSystemConfigScript is MultisigScript {\n    address internal immutable OWNER_SAFE;\n    address internal immutable PROXY_ADMIN;\n    address internal immutable SYSTEM_CONFIG;\n\n    address internal immutable NEW_IMPLEMENTATION;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n        PROXY_ADMIN = vm.envAddress(\"PROXY_ADMIN\");\n        SYSTEM_CONFIG = vm.envAddress(\"SYSTEM_CONFIG\");\n\n        string memory root = vm.projectRoot();\n        string memory path = string.concat(root, \"/addresses.json\");\n        string memory json = vm.readFile(path);\n        NEW_IMPLEMENTATION = vm.parseJsonAddress(json, \".systemConfig\");\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal override {\n        // NOTE: Bypass `proxyCallIfNotAdmin` modifier.\n        vm.prank(PROXY_ADMIN);\n        require(IProxy(SYSTEM_CONFIG).implementation() == NEW_IMPLEMENTATION);\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) {\n        IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n\n        calls[0] = IMulticall3.Call3Value({\n            target: PROXY_ADMIN,\n            allowFailure: false,\n            // NOTE: No need to call initialize as no storage would change (only changing `MAX_GAS_LIMIT` and `version`).\n            callData: abi.encodeCall(IProxyAdmin.upgrade, (SYSTEM_CONFIG, NEW_IMPLEMENTATION)),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "mainnet/2025-06-04-upgrade-system-config/validations/BASE_NESTED_VALIDATION.md",
    "content": "# Validation\n\nThis document can be used to validate the inputs and result of the execution of the upgrade transaction which you are signing.\n\n> [!NOTE]\n>\n> This document provides names for each contract address to add clarity to what you are seeing. These names will not be visible in the Tenderly UI. All that matters is that addresses and storage slot hex values match exactly what is presented in this document.\n\nThe steps are:\n\n1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes)\n2. [Verifying the state changes](#state-changes)\n\n## Expected Domain and Message Hashes\n\nFirst, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task.\n\n> [!CAUTION]\n>\n> Before signing, ensure the below hashes match what is on your ledger.\n>\n> ### Base Nested Multisig - Mainnet: `0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110`\n>\n> - Domain Hash: `0xfb308368b8deca582e84a807d31c1bfcec6fda754061e2801b4d6be5cb52a8ac`\n> - Message Hash: `0x0693f70caf333f60a20ad8e44b451bd4cea3d2703016c277d5b0d09ecd3c3638`\n\n# State Validations\n\nFor each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract:\n\n- The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur.\n- All key values match the semantic meaning provided, which can be validated using the terminal commands provided.\n\n## State Overrides\n\n### Proxy Admin Owner - Mainnet (`0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n### Base Multisig - Mainnet (`0x9855054731540A48b28990B63DcF4f33d8AE46A1`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n### Base Nested Multisig - Mainnet (`0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n- **Key**: `0x941b9cdcb5979673e06ce272a4b3851457b1a7a92c5034b46f0cdf4d3ffbf36d` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Simulates an approval from `msg.sender` in order for the task simulation to succeed. Note: The Key might be different as it corresponds to the slot associated with [your signer address](https://github.com/safe-global/safe-smart-account/blob/main/contracts/Safe.sol#L69).\n\n## Task State Changes\n\n### System Config (`0x73a79Fab69143498Ed3712e519A88a918e1f4072`)\n\n0. **Key**: `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc` <br/>\n   **Before**: `0x000000000000000000000000340f923e5c7cbb2171146f64169ec9d5a9ffe647` <br/>\n   **After**: `0x00000000000000000000000078ffe9209dff6fe1c9b6f3efdf996bee60346d0e` <br/>\n   **Value Type**: address <br/>\n   **Decoded Old Value**: `0x340f923e5c7cbb2171146f64169ec9d5a9ffe647` <br/>\n   **Decoded New Value**: `0x78ffe9209dff6fe1c9b6f3efdf996bee60346d0e` <br/>\n   **Meaning**: Updates the System Config implementation address <br/>\n\n### Proxy Admin Owner - Mainnet (`0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c`)\n\n1. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000009` <br/>\n   **After**: `0x000000000000000000000000000000000000000000000000000000000000000a` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `9` <br/>\n   **Decoded New Value**: `10` <br/>\n   **Meaning**: Increments the nonce <br/>\n\n2. **Key**: `0xe612a2ea19e8e76074e4469448baaa0076a49e88f2aa4915dcf5f8a73bf72c63` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `0` <br/>\n   **Decoded New Value**: `1` <br/>\n   **Meaning**: Sets approvedHashes[0x9855054731540a48b28990b63dcf4f33d8ae46a1][0x4a88dda4a880fe15d81d0ba56d70a2770da4a983f625755eb9c4d7c8de2aa2a2] to 1 (approved by the Base Multisig).\n\n### Base Multisig - Mainnet (`0x9855054731540A48b28990B63DcF4f33d8AE46A1`)\n\n3. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000016` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000017` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `22` <br/>\n   **Decoded New Value**: `23` <br/>\n   **Meaning**: Increments the nonce <br/>\n\n4. **Key**: `0x5adce382d964a1f2700576e57c00df690944e152a7647e602adee539676992ec` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `0` <br/>\n   **Decoded New Value**: `1` <br/>\n   **Meaning**: Sets approvedHashes[0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110][0x2c6c1586b686483d280098fc0fa445fdf2c4d1d3dfad1a2aa17aac81d10cef9f] to 1 (approved by the Base Nested Multisig).\n\n### Base Nested Multisig - Mainnet (`0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110`)\n\n5. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000002` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `1` <br/>\n   **Decoded New Value**: `2` <br/>\n   **Meaning**: Increments the nonce <br/>\n\n### Your Signer Address\n\n- Nonce increment\n\nYou can now navigate back to the [README](../README.md#4-extract-the-domain-hash-and-the-message-hash-to-approve) to continue the signing process.\n"
  },
  {
    "path": "mainnet/2025-06-04-upgrade-system-config/validations/BASE_SC_VALIDATION.md",
    "content": "# Validation\n\nThis document can be used to validate the inputs and result of the execution of the upgrade transaction which you are signing.\n\n> [!NOTE]\n>\n> This document provides names for each contract address to add clarity to what you are seeing. These names will not be visible in the Tenderly UI. All that matters is that addresses and storage slot hex values match exactly what is presented in this document.\n\nThe steps are:\n\n1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes)\n2. [Verifying the state changes](#state-changes)\n\n## Expected Domain and Message Hashes\n\nFirst, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task.\n\n> [!CAUTION]\n>\n> Before signing, ensure the below hashes match what is on your ledger.\n>\n> ### Base Security Council Multisig - Mainnet: `0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd`\n>\n> - Domain Hash: `0x1fbfdc61ceb715f63cb17c56922b88c3a980f1d83873df2b9325a579753e8aa3`\n> - Message Hash: `0x0693f70caf333f60a20ad8e44b451bd4cea3d2703016c277d5b0d09ecd3c3638`\n\n# State Validations\n\nFor each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract:\n\n- The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur.\n- All key values match the semantic meaning provided, which can be validated using the terminal commands provided.\n\n## State Overrides\n\n### Base Security Council Multisig - Mainnet (`0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n- **Key**: `0xb2462f25a14e413c43e63f6a6d256e11fb0da3733f2efef47b95c348ca164ff7` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Simulates an approval from `msg.sender` in order for the task simulation to succeed. Note: The Key might be different as it corresponds to the slot associated with [your signer address](https://github.com/safe-global/safe-smart-account/blob/main/contracts/Safe.sol#L69).\n\n### Proxy Admin Owner - Mainnet (`0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n### Base Multisig - Mainnet (`0x9855054731540A48b28990B63DcF4f33d8AE46A1`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n## Task State Changes\n\n### Base Security Council Multisig - Mainnet (`0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd`)\n\n0. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000002` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `1` <br/>\n   **Decoded New Value**: `2` <br/>\n   **Meaning**: Increments the nonce <br/>\n\n### System Config (`0x73a79Fab69143498Ed3712e519A88a918e1f4072`)\n\n1. **Key**: `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc` <br/>\n   **Before**: `0x000000000000000000000000340f923e5c7cbb2171146f64169ec9d5a9ffe647` <br/>\n   **After**: `0x00000000000000000000000078ffe9209dff6fe1c9b6f3efdf996bee60346d0e` <br/>\n   **Value Type**: address <br/>\n   **Decoded Old Value**: `0x340f923e5c7cbb2171146f64169ec9d5a9ffe647` <br/>\n   **Decoded New Value**: `0x78ffe9209dff6fe1c9b6f3efdf996bee60346d0e` <br/>\n   **Meaning**: Updates the System Config implementation address <br/>\n\n### Proxy Admin Owner - Mainnet (`0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c`)\n\n2. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000009` <br/>\n   **After**: `0x000000000000000000000000000000000000000000000000000000000000000a` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `9` <br/>\n   **Decoded New Value**: `10` <br/>\n   **Meaning**: Increments the nonce <br/>\n\n3. **Key**: `0xe612a2ea19e8e76074e4469448baaa0076a49e88f2aa4915dcf5f8a73bf72c63` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `0` <br/>\n   **Decoded New Value**: `1` <br/>\n   **Meaning**: Sets approvedHashes[0x9855054731540a48b28990b63dcf4f33d8ae46a1][0x4a88dda4a880fe15d81d0ba56d70a2770da4a983f625755eb9c4d7c8de2aa2a2] to 1 (approved by the Base Multisig).\n\n### Base Multisig - Mainnet (`0x9855054731540A48b28990B63DcF4f33d8AE46A1`)\n\n4. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000016` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000017` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `22` <br/>\n   **Decoded New Value**: `23` <br/>\n   **Meaning**: Increments the nonce <br/>\n\n5. **Key**: `0x96434cd01eccd775b18be28d6d4ab24f5c5ae955d63d845212994747cc9cd431` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `0` <br/>\n   **Decoded New Value**: `1` <br/>\n   **Meaning**: Sets approvedHashes[0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd][0x2c6c1586b686483d280098fc0fa445fdf2c4d1d3dfad1a2aa17aac81d10cef9f] to 1 (approved by the Base Security Council Multisig Multisig).\n\n### Your Signer Address\n\n- Nonce increment\n\nYou can now navigate back to the [README](../README.md#4-extract-the-domain-hash-and-the-message-hash-to-approve) to continue the signing process.\n"
  },
  {
    "path": "mainnet/2025-06-04-upgrade-system-config/validations/OP_VALIDATION.md",
    "content": "# Validation\n\nThis document can be used to validate the inputs and result of the execution of the upgrade transaction which you are signing.\n\n> [!NOTE]\n>\n> This document provides names for each contract address to add clarity to what you are seeing. These names will not be visible in the Tenderly UI. All that matters is that addresses and storage slot hex values match exactly what is presented in this document.\n\nThe steps are:\n\n1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes)\n2. [Verifying the state changes](#state-changes)\n\n## Expected Domain and Message Hashes\n\nFirst, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task.\n\n> [!CAUTION]\n>\n> Before signing, ensure the below hashes match what is on your ledger.\n>\n> ### OP Multisig - Mainnet: `0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A`\n>\n> - Domain Hash: `0x4e6a6554de0308f5ece8ff736beed8a1b876d16f5c27cac8e466d7de0c703890`\n> - Message Hash: `0xdcbebfee848d6675ec39aeb26a15cd28d2b9c514621bc143854af1a0c7c715a2`\n\n# State Validations\n\nFor each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract:\n\n- The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur.\n- All key values match the semantic meaning provided, which can be validated using the terminal commands provided.\n\n## State Overrides\n\n### Proxy Admin Owner - Mainnet (`0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n### OP Multisig - Mainnet (`0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n- **Key**: `0x1c78adc7ff77deba7d0b2df0ec6cdf879453dd4259eadcf28d08d05fef5ad52e` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Simulates an approval from `msg.sender` in order for the task simulation to succeed. Note: The Key might be different as it corresponds to the slot associated with [your signer address](https://github.com/safe-global/safe-smart-account/blob/main/contracts/Safe.sol#L69).\n\n## Task State Changes\n\n### System Config (`0x73a79Fab69143498Ed3712e519A88a918e1f4072`)\n\n0. **Key**: `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc` <br/>\n   **Before**: `0x000000000000000000000000340f923e5c7cbb2171146f64169ec9d5a9ffe647` <br/>\n   **After**: `0x00000000000000000000000078ffe9209dff6fe1c9b6f3efdf996bee60346d0e` <br/>\n   **Value Type**: address <br/>\n   **Decoded Old Value**: `0x340f923e5c7cbb2171146f64169ec9d5a9ffe647` <br/>\n   **Decoded New Value**: `0x78ffe9209dff6fe1c9b6f3efdf996bee60346d0e` <br/>\n   **Meaning**: Updates the System Config implementation address <br/>\n\n### Proxy Admin Owner - Mainnet (`0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c`)\n\n1. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000009` <br/>\n   **After**: `0x000000000000000000000000000000000000000000000000000000000000000a` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `9` <br/>\n   **Decoded New Value**: `10` <br/>\n   **Meaning**: Increments the nonce <br/>\n\n2. **Key**: `0x2d9dddc7b6b404b6b4d49c7d3bd597c29716b1108262a9a1589c20169d68dd70` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `0` <br/>\n   **Decoded New Value**: `1` <br/>\n   **Meaning**: Sets approvedHashes[0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a][0x4a88dda4a880fe15d81d0ba56d70a2770da4a983f625755eb9c4d7c8de2aa2a2] to 1 (approved by the OP Multisig).\n\n### OP Multisig - Mainnet (`0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A`)\n\n3. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **Before**: `0x000000000000000000000000000000000000000000000000000000000000006b` <br/>\n   **After**: `0x000000000000000000000000000000000000000000000000000000000000006c` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `107` <br/>\n   **Decoded New Value**: `108` <br/>\n   **Meaning**: Increments the nonce <br/>\n\n4. **Key**: `0x1c78adc7ff77deba7d0b2df0ec6cdf879453dd4259eadcf28d08d05fef5ad52e` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `1` <br/>\n   **Decoded New Value**: `0` <br/>\n   **Meaning**: Artifact of cleaning the approval from `msg.sender` that was set in the state overrides. This state change will NOT be present in the final transaction.\n\n### Your Signer Address\n\n- Nonce increment\n\nYou can now navigate back to the [README](../README.md#4-extract-the-domain-hash-and-the-message-hash-to-approve) to continue the signing process.\n"
  },
  {
    "path": "mainnet/2025-06-18-eip1559-elasticity-increase/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: sign\nsign:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) IncreaseEip1559ElasticityAndIncreaseGasLimitScript \\\n\t--sig \"sign(address[])\" \"[]\"\n\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(L1_RPC_URL) IncreaseEip1559ElasticityAndIncreaseGasLimitScript \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv"
  },
  {
    "path": "mainnet/2025-06-18-eip1559-elasticity-increase/README.md",
    "content": "# EIP-1559 Elasticity 2 -> 3 Increase and GasLimit 140000000 -> 150000000\n\nStatus: [EXECUTED](https://etherscan.io/tx/0xcc7c7eaf09ef2bee959aea547bef4cbb152c4921d97b0c56482c8696d49b05e6)\n\n## Description\n\nThis task contains a single script that increases the EIP-1559 elasticity from 2 to 3 and increases the gas limit from 140000000 to 15000000.\nBecause, our elasticity is being increased, this results in a per second gas target of 25Mgas/s (which is a decrease from our current 35Mgas/s).\n\n## Procedure\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd mainnet/2025-06-18-eip1559-elasticity-increase\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate, Validate, and Sign\n\n#### 3.1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following command:\n\n```bash\nmake sign\n```\n\nFor each run, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and extract the domain hash and\nmessage hash to approve on your Ledger:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n##### 3.1.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is `Mainnet`.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n\n##### 3.1.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab, and refer to the [validations instructions](./VALIDATION.md) for the transaction you are signing. Once complete return to this document to complete the signing.\n\n### 4. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\nOnce the validations are done, it's time to actually sign the\ntransaction.\n\n> [!WARNING]\n> This is the most security critical part of the playbook: make sure the\n> domain hash and message hash in the following three places match:\n>\n> 1. On your Ledger screen.\n> 2. In the terminal output.\n> 3. In the Tenderly simulation. You should use the same Tenderly\n>    simulation as the one you used to verify the state diffs, instead\n>    of opening the new one printed in the console.\n>\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```shell\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n#### 4.1. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n### [For Facilitator ONLY] How to execute\n\n#### Execute the transaction\n\n1. Collect outputs from all participating signers.\n1. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"`.\n1. Run the `make execute` command as described below to execute the transaction.\n\nFor example, if the quorum is 2 and you get the following outputs:\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE01\nSignature: AAAA\n```\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE02\nSignature: BBBB\n```\n\nThen you should run:\n\nCoinbase facilitator:\n\n```bash\nSIGNATURES=AAAABBBB make execute\n```"
  },
  {
    "path": "mainnet/2025-06-18-eip1559-elasticity-increase/VALIDATION.md",
    "content": "# Validation for Coinbase Signers\n\nThis document can be used to validate the inputs and result of the execution of the EIP-1559 elasticity increase and Gas Limit increase script which you are signing.\n\n> [!NOTE]\n>\n> This document provides names for each contract address to add clarity to what you are seeing. These names will not be visible in the Tenderly UI. All that matters is that addresses and storage slot hex values match exactly what is presented in this document.\n\nThe steps are:\n\n1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes)\n2. [Verifying the state changes](#state-changes)\n\n## Expected Domain and Message Hashes\n\nFirst, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task.\n\n> [!CAUTION]\n>\n> Before signing, ensure the below hashes match what is on your ledger.\n>\n> ### Incident Multisig - Mainnet: `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`\n>\n> - Domain Hash: `0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289`\n> - Message Hash: `0xa7fc708fdbaa8af29e5c1137193cf5d59c45d4634b587ff9e227b0cec8c5cdda`\n\n# State Validations\n\nFor each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract:\n\n- The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur.\n- All key values match the semantic meaning provided, which can be validated using the terminal commands provided.\n\n## State Overrides\n\n### Incident Multisig - Mainnet (`0x14536667Cd30e52C0b458BaACcB9faDA7046E056`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n- **Key**: `0xf1be6768d6f798cc122f889ccdbd55074910d6f15fb6c82e2473ee7a9a461239` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Simulates an approval from `msg.sender` in order for the task simulation to succeed. Note: The Key might be different as it corresponds to the slot associated with [your signer address](https://github.com/safe-global/safe-smart-account/blob/main/contracts/Safe.sol#L69)\n\n## Task State Changes\n\n### Incident Multisig - Mainnet (`0x14536667Cd30e52C0b458BaACcB9faDA7046E056`)\n\n0. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000040` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000041` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `64` <br/>\n   **Decoded New Value**: `65` <br/>\n   **Meaning**: Increments the nonce <br/>\n\n### SystemConfig - Mainnet (`0x73a79Fab69143498Ed3712e519A88a918e1f4072`)\n\n-  **Key**: `0x0000000000000000000000000000000000000000000000000000000000000068` <br/>\n   **Before**: `0x0000000000000000000000000000000000101c12000008dd0000000008583b00` <br/>\n   **After**: `0x0000000000000000000000000000000000101c12000008dd0000000008f0d180` <br/>\n   **Value Type**: (uint32,uint32,uint64) <br/>\n   **Decoded Old Value**: blobbasefeeScalar: `1055762`, operatorFeeScalar: `2269`, gasLimit: `140000000` <br/>\n   **Decoded New Value**: blobbasefeeScalar: `1055762`, operatorFeeScalar: `2269`, gasLimit: `150000000` <br/>\n   **Meaning**: Sets the gasLimit to 150000000 <br/>\n\n-  **Key**: `0x000000000000000000000000000000000000000000000000000000000000006a` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000200000032` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000300000032` <br/>\n   **Value Type**: (uint32,uint32,uint32,uint32) <br/>\n   **Decoded Old Value**: operatorFeeConstant: `0`, operatorFeeScalar: `0`, eip1559Elasticity: `2`, eip1559Denominator: `50` <br/>\n   **Decoded New Value**: operatorFeeConstant: `0`, operatorFeeScalar: `0`, eip1559Elasticity: `3`, eip1559Denominator: `50` <br/>\n   **Meaning**: Sets the eip1559Elasticity to 3 <br/>\n\n### Sender - Mainnet\n\n- Nonce increment for the sender of the simulated transaction.\n\nYou can now navigate back to the [README](../README.md#4-extract-the-domain-hash-and-the-message-hash-to-approve) to continue the signing process.\n"
  },
  {
    "path": "mainnet/2025-06-18-eip1559-elasticity-increase/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "mainnet/2025-06-18-eip1559-elasticity-increase/records/IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol/1/run-1750283342.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xcc7c7eaf09ef2bee959aea547bef4cbb152c4921d97b0c56482c8696d49b05e6\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000014000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b41000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000008f0d18000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x4c33f9abd7654b76ebcf996f5c47550bf572e1d908c3311c9bf1d3842586f4da1d8d1895b13e2fee212e08a82f2875d2209250e757b88c1a8b7875dbae768e631be0e79c2365bdf4e6fe6aaaafd5c077f8a6e506b4d6c632a7e73b290745d0555c7a4c321b8632a51db49f43c1540c6a9d5800877a4d8c16a5012d2a7bcbc1aec81bc32608033a08b80e40377db2cdd29ce15c12a5c154b62a9ac4da306d59dcd6fa0e9991b9c762c4ed8ef85204698b024db61beb81a8427409a4c6547e7631d4a01c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x24a31\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000000264174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000014000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b41000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000008f0d180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c34c33f9abd7654b76ebcf996f5c47550bf572e1d908c3311c9bf1d3842586f4da1d8d1895b13e2fee212e08a82f2875d2209250e757b88c1a8b7875dbae768e631be0e79c2365bdf4e6fe6aaaafd5c077f8a6e506b4d6c632a7e73b290745d0555c7a4c321b8632a51db49f43c1540c6a9d5800877a4d8c16a5012d2a7bcbc1aec81bc32608033a08b80e40377db2cdd29ce15c12a5c154b62a9ac4da306d59dcd6fa0e9991b9c762c4ed8ef85204698b024db61beb81a8427409a4c6547e7631d4a01c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0xe\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xd475e5\",\n      \"logs\": [\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000004\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000003200000003\",\n          \"blockHash\": \"0x98fd02372456d8bca39d62d523db2d4ac9d0939dcaa66dc55b47ab1d16de7f0d\",\n          \"blockNumber\": \"0x15ae54c\",\n          \"blockTimestamp\": \"0x6853344b\",\n          \"transactionHash\": \"0xcc7c7eaf09ef2bee959aea547bef4cbb152c4921d97b0c56482c8696d49b05e6\",\n          \"transactionIndex\": \"0xa1\",\n          \"logIndex\": \"0x19b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000002\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000008f0d180\",\n          \"blockHash\": \"0x98fd02372456d8bca39d62d523db2d4ac9d0939dcaa66dc55b47ab1d16de7f0d\",\n          \"blockNumber\": \"0x15ae54c\",\n          \"blockTimestamp\": \"0x6853344b\",\n          \"transactionHash\": \"0xcc7c7eaf09ef2bee959aea547bef4cbb152c4921d97b0c56482c8696d49b05e6\",\n          \"transactionIndex\": \"0xa1\",\n          \"logIndex\": \"0x19c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xbb518ed88401d46ea33415d66dfd48af4492f35622e1ac4cedd6e9adadbb2c020000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x98fd02372456d8bca39d62d523db2d4ac9d0939dcaa66dc55b47ab1d16de7f0d\",\n          \"blockNumber\": \"0x15ae54c\",\n          \"blockTimestamp\": \"0x6853344b\",\n          \"transactionHash\": \"0xcc7c7eaf09ef2bee959aea547bef4cbb152c4921d97b0c56482c8696d49b05e6\",\n          \"transactionIndex\": \"0xa1\",\n          \"logIndex\": \"0x19d\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000008000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000002000000000008000000000000000000000000000000000000000008000000000000000000020000000000000000040000000000000000000000000008000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xcc7c7eaf09ef2bee959aea547bef4cbb152c4921d97b0c56482c8696d49b05e6\",\n      \"transactionIndex\": \"0xa1\",\n      \"blockHash\": \"0x98fd02372456d8bca39d62d523db2d4ac9d0939dcaa66dc55b47ab1d16de7f0d\",\n      \"blockNumber\": \"0x15ae54c\",\n      \"gasUsed\": \"0x190d1\",\n      \"effectiveGasPrice\": \"0x323e3d41\",\n      \"from\": \"0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1750283342,\n  \"chain\": 1,\n  \"commit\": \"756f1a8\"\n}"
  },
  {
    "path": "mainnet/2025-06-18-eip1559-elasticity-increase/script/IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\n\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\n\ninterface ISystemConfig {\n    function eip1559Elasticity() external view returns (uint32);\n    function eip1559Denominator() external view returns (uint32);\n    function setEIP1559Params(uint32 _denominator, uint32 _elasticity) external;\n    function gasLimit() external view returns (uint64);\n    function setGasLimit(uint64 _gasLimit) external;\n}\n\ncontract IncreaseEip1559ElasticityAndIncreaseGasLimitScript is MultisigScript {\n    address internal immutable OWNER_SAFE;\n    address internal immutable SYSTEM_CONFIG;\n\n    uint32 internal constant DENOMINATOR = 50;\n    uint32 internal constant ELASTICITY = 2;\n    uint32 internal constant NEW_ELASTICITY = 3;\n    uint64 internal constant GAS_LIMIT = 140000000;\n    uint64 internal constant NEW_GAS_LIMIT = 150000000;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n        SYSTEM_CONFIG = vm.envAddress(\"SYSTEM_CONFIG\");\n    }\n\n    function setUp() external view {\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Denominator(), DENOMINATOR, \"Denominator mismatch\");\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity(), ELASTICITY, \"Elasticity mismatch\");\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).gasLimit(), GAS_LIMIT, \"Gas Limit mismatch\");\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Denominator(), DENOMINATOR, \"Denominator mismatch\");\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity(), NEW_ELASTICITY, \"Elasticity mismatch\");\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).gasLimit(), NEW_GAS_LIMIT, \"Gas Limit mismatch\");\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) {\n        IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](2);\n\n        calls[0] = IMulticall3.Call3Value({\n            target: SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(ISystemConfig.setEIP1559Params, (DENOMINATOR, NEW_ELASTICITY)),\n            value: 0\n        });\n\n        calls[1] = IMulticall3.Call3Value({\n            target: SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(ISystemConfig.setGasLimit, (NEW_GAS_LIMIT)),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "mainnet/2025-06-25-safe-swap-owner/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: sign\nsign:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) SwapOwner \\\n\t--sig \"sign()\"\n\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(L1_RPC_URL) SwapOwner \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv\n"
  },
  {
    "path": "mainnet/2025-06-25-safe-swap-owner/README.md",
    "content": "# Swap Owner on Gnosis Safe\n\nStatus: EXECUTED (https://etherscan.io/tx/0x47794b079d496a815d90eeaa17050f91aa6cd589dcd07da5a2f9e5f607c0baf2)\n\n## Description\n\nThis task contains a single script that can be used to swap an owner in a Gnosis Safe.\n\n## Procedure\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd mainnet/2025-06-25-safe-swap-owner\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate, Validate, and Sign\n\n#### 3.1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```bash\nmake sign\n```\n\nYou will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and extract the domain hash and\nmessage hash to approve on your Ledger:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n##### 3.1.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is `Mainnet`.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account.\n\n##### 3.1.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab, and refer to the [State Validations](./validations/VALIDATION.md) instructions for the transaction you are signing.\nOnce complete return to this document to complete the signing.\n\n### 4. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`Safe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\nOnce the validations are done, it's time to actually sign the\ntransaction.\n\n> [!WARNING]\n> This is the most security critical part of the playbook: make sure the\n> domain hash and message hash in the following three places match:\n>\n> 1. On your Ledger screen.\n> 2. In the terminal output.\n> 3. In the Tenderly simulation. You should use the same Tenderly\n>    simulation as the one you used to verify the state diffs, instead\n>    of opening the new one printed in the console.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```shell\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n#### 4.1. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n### [For Facilitator ONLY] How to execute\n\n#### Execute the transaction\n\n1. Collect outputs from all participating signers.\n1. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"`.\n1. Run the `make execute` command as described below to execute the transaction.\n\nFor example, if the quorum is 2 and you get the following outputs:\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE01\nSignature: AAAA\n```\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE02\nSignature: BBBB\n```\n\nThen you should run:\n\nCoinbase facilitator:\n\n```bash\nSIGNATURES=AAAABBBB make execute\n```\n"
  },
  {
    "path": "mainnet/2025-06-25-safe-swap-owner/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2025-06-25-safe-swap-owner/records/SwapOwner.s.sol/1/run-1752508958.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x47794b079d496a815d90eeaa17050f91aa6cd589dcd07da5a2f9e5f607c0baf2\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064e318b52b0000000000000000000000003cd692ece8b6573a2220ae00d0deb98f0dffa9a10000000000000000000000005fbefa105bbd53b43bf537cbc5cd30804dd0c9930000000000000000000000001c870776b168a9ffae80c51f050c611edd24674100000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x9ef1282d22f3186dc7e4ce380fde053bbbb67a72b65480ea784ecd7d70115f346655d4efe6e442fd8f92e1ac82eca09e0e21e20551ad8d4f848882f19ae3746d1b0e157d57dc1e27419b18740d98a6eb8b0cfda053dc5d44554d3e9e189c88d5760e6a45867ebbdd73e93cc4c27cf9a2d666a64b5aeab9879987b809af8013abb41c2e9eb713436620c57f7e9f52a65479b1ca86c88fbebb710cc81361991686786b7cb0548b949c91d65052b4ee5f99ecd7fd29736cba13d3d57a263f9b971a74191c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n        \"gas\": \"0x22268\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000184174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064e318b52b0000000000000000000000003cd692ece8b6573a2220ae00d0deb98f0dffa9a10000000000000000000000005fbefa105bbd53b43bf537cbc5cd30804dd0c9930000000000000000000000001c870776b168a9ffae80c51f050c611edd246741000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c39ef1282d22f3186dc7e4ce380fde053bbbb67a72b65480ea784ecd7d70115f346655d4efe6e442fd8f92e1ac82eca09e0e21e20551ad8d4f848882f19ae3746d1b0e157d57dc1e27419b18740d98a6eb8b0cfda053dc5d44554d3e9e189c88d5760e6a45867ebbdd73e93cc4c27cf9a2d666a64b5aeab9879987b809af8013abb41c2e9eb713436620c57f7e9f52a65479b1ca86c88fbebb710cc81361991686786b7cb0548b949c91d65052b4ee5f99ecd7fd29736cba13d3d57a263f9b971a74191c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0xf\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xc9bfec\",\n      \"logs\": [\n        {\n          \"address\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\",\n            \"0x0000000000000000000000005fbefa105bbd53b43bf537cbc5cd30804dd0c993\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x24ca27fd37ab767f60e76711da811ed3aa2c2b4929ba49bed6bfd47e18ebc86c\",\n          \"blockNumber\": \"0x15db54e\",\n          \"blockTimestamp\": \"0x68752a1b\",\n          \"transactionHash\": \"0x47794b079d496a815d90eeaa17050f91aa6cd589dcd07da5a2f9e5f607c0baf2\",\n          \"transactionIndex\": \"0xbe\",\n          \"logIndex\": \"0x14d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\",\n            \"0x0000000000000000000000001c870776b168a9ffae80c51f050c611edd246741\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x24ca27fd37ab767f60e76711da811ed3aa2c2b4929ba49bed6bfd47e18ebc86c\",\n          \"blockNumber\": \"0x15db54e\",\n          \"blockTimestamp\": \"0x68752a1b\",\n          \"transactionHash\": \"0x47794b079d496a815d90eeaa17050f91aa6cd589dcd07da5a2f9e5f607c0baf2\",\n          \"transactionIndex\": \"0xbe\",\n          \"logIndex\": \"0x14e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0xb565d49aaae2d6cb6c410f084cc258024a487ff044dc2d4d4c80bd28e3f12f4a\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x24ca27fd37ab767f60e76711da811ed3aa2c2b4929ba49bed6bfd47e18ebc86c\",\n          \"blockNumber\": \"0x15db54e\",\n          \"blockTimestamp\": \"0x68752a1b\",\n          \"transactionHash\": \"0x47794b079d496a815d90eeaa17050f91aa6cd589dcd07da5a2f9e5f607c0baf2\",\n          \"transactionIndex\": \"0xbe\",\n          \"logIndex\": \"0x14f\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000004000000040000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000010000000000000000000000000000000000000004000000000000000000000000000000000000001000010000000000000000000000000000000008000000001000001000100004000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000040000000010000400020000000000000000000008000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x47794b079d496a815d90eeaa17050f91aa6cd589dcd07da5a2f9e5f607c0baf2\",\n      \"transactionIndex\": \"0xbe\",\n      \"blockHash\": \"0x24ca27fd37ab767f60e76711da811ed3aa2c2b4929ba49bed6bfd47e18ebc86c\",\n      \"blockNumber\": \"0x15db54e\",\n      \"gasUsed\": \"0x18b97\",\n      \"effectiveGasPrice\": \"0x2597e274c\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1752508958,\n  \"chain\": 1,\n  \"commit\": \"23f9bb7\"\n}"
  },
  {
    "path": "mainnet/2025-06-25-safe-swap-owner/script/SwapOwner.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"@base-contracts/script/universal/MultisigBuilder.sol\";\nimport {IGnosisSafe} from \"@base-contracts/script/universal/IGnosisSafe.sol\";\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\n\ncontract SwapOwner is MultisigBuilder {\n    address internal OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n    address internal OLD_SIGNER = vm.envAddress(\"OLD_SIGNER\");\n    address internal NEW_SIGNER = vm.envAddress(\"NEW_SIGNER\");\n    address internal constant SENTINEL_OWNERS = address(0x1);\n\n    address[] internal safeOwners; // The list of all owners of the safe\n    address internal prevOwnerLinked; // The previous owner in Safe's linked list of owners\n\n    function setUp() public {\n        safeOwners = IGnosisSafe(OWNER_SAFE).getOwners();\n        _precheck();\n\n        // We need to locate the previous owner in the linked list of owners to properly swap out the target signer\n        for (uint256 i = 0; i < safeOwners.length; i++) {\n            if (safeOwners[i] == OLD_SIGNER) {\n                // There is a sentinel node as the head of the linked list, so we need to handle the first owner separately\n                if (i == 0) {\n                    prevOwnerLinked = SENTINEL_OWNERS;\n                } else {\n                    prevOwnerLinked = safeOwners[i - 1];\n                }\n                break;\n            }\n        }\n    }\n\n    function _precheck() internal view {\n        // Sanity checks on the current owner state of the safe\n        require(IGnosisSafe(OWNER_SAFE).isOwner(OLD_SIGNER), \"Signer to swap is not an owner\");\n        require(!IGnosisSafe(OWNER_SAFE).isOwner(NEW_SIGNER), \"New signer is already an owner\");\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) {\n        IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n\n        // While more roundabout then simply calling execTransaction with a swapOwner call, this still works and lets us use our existing tooling\n        calls[0] = IMulticall3.Call3Value({\n            target: OWNER_SAFE,\n            allowFailure: false,\n            callData: abi.encodeCall(IGnosisSafe.swapOwner, (prevOwnerLinked, OLD_SIGNER, NEW_SIGNER)),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        require(IGnosisSafe(OWNER_SAFE).isOwner(NEW_SIGNER), \"New signer was not added as an owner\");\n        require(!IGnosisSafe(OWNER_SAFE).isOwner(OLD_SIGNER), \"Old signer was not removed as an owner\");\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "mainnet/2025-06-25-safe-swap-owner/validations/VALIDATION.md",
    "content": "# Validation\n\nThis document can be used to validate the state diff resulting from the execution of the swap owner transaction.\n\nFor each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract:\n\n- The following state changes (and no others) are made to that contract. This validates that no unexpected state changes occur.\n- All addresses (in section headers and storage values) match the provided name, using the Etherscan links provided. This validates the bytecode deployed at the addresses contains the correct logic.\n- All key values match the semantic meaning provided, which can be validated using the storage layout links provided.\n\nThe steps are:\n\n1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes)\n2. [Verifying the state changes](#state-changes)\n\n## Expected Domain and Message Hashes\n\nFirst, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task.\n\n> [!CAUTION]\n>\n> Before signing, ensure the below hashes match what is on your ledger.\n>\n> ### Base Nested Multisig - Mainnet: `0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110`\n>\n> - Domain Hash: `0xfb308368b8deca582e84a807d31c1bfcec6fda754061e2801b4d6be5cb52a8ac`\n> - Message Hash: `0xf1160d2510c49ad09ba91899c9584a87bf4292a5272a2751796281a91cb8b9b4`\n\n# State Validations\n\n## State Overrides\n\n### Base Nested Multisig - Mainnet (`0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n- **Key**: `0x941b9cdcb5979673e06ce272a4b3851457b1a7a92c5034b46f0cdf4d3ffbf36d` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Simulates an approval from `msg.sender` in order for the task simulation to succeed. Note: The Key might be different as it corresponds to the slot associated with [your signer address](https://github.com/safe-global/safe-smart-account/blob/main/contracts/Safe.sol#L69).\n\n## State Changes\n\n### `0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110` (Base `GnosisSafeProxy`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n  **Before**: `0x0000000000000000000000000000000000000000000000000000000000000002` <br/>\n  **After**: `0x0000000000000000000000000000000000000000000000000000000000000003` <br/>\n  **Value Type**: uint256 <br/>\n  **Decoded Old Value**: `2` <br/>\n  **Decoded New Value**: `3` <br/>\n  **Meaning**: Increments the `nonce` value of the Gnosis Safe. <br/>\n  **Verify**: You can verify the value by running `cast storage <safe_address> 5 -r <rpc_url>` in your terminal. This value represents the _current_ nonce value.\n\n- **Key**: `0x41ed7d57be3aeb16e937147407ec4fe9778850776e44a977f984860d4294c66f` <br/>\n  **Before**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n  **After**: `0x0000000000000000000000003dad2200849925bb46d9bf05afa5f7f213f4c18e` <br/>\n  **Value Type**: address <br/>\n  **Decoded Old Value**: `0x0000000000000000000000000000000000000000` <br/>\n  **Decoded New Value**: `0x3Dad2200849925Bb46d9bF05aFa5f7F213F4c18E` <br/>\n  **Meaning**: Sets the address value at the mapping key `owners[newOwner]` to the next address in the list returned by `getOwners()`. This is the first step required to replace the `oldOwner` address in the linked list data structure of owners.  <br/>\n  **Verify**: You can verify the key derivation by running `cast index address <newOwner> 2` in your terminal. See the following section for an explanation of the storage and value calculations.\n\n- **Key**: `0x46b3491a8cd829af805c1f7fb76736ca5fd88e02a78fcec356aaa2b41bf599db` <br/>\n  **Before**: `0x0000000000000000000000003dad2200849925bb46d9bf05afa5f7f213f4c18e` <br/>\n  **After**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n  **Value Type**: address <br/>\n  **Decoded Old Value**: `0x3Dad2200849925Bb46d9bF05aFa5f7F213F4c18E` <br/>\n  **Decoded New Value**: `0x0000000000000000000000000000000000000000` <br/>\n  **Meaning**: Clears the address value at the mapping key `owners[oldOwner]`. This removes the final reference to the `oldOwner` from the `owners` linked list.  <br/>\n  **Verify**: You can verify the key derivation by running `cast index address <oldOwner> 2` in your terminal. See the following section for an explanation of the storage and value calculations.\n\n- **Key**: `0xf50027dc233102bb13bb30a38326315505fe2452eaf2e2f78f1c0da0084d86c4` <br/>\n  **Before**: `0x0000000000000000000000005fbefa105bbd53b43bf537cbc5cd30804dd0c993` <br/>\n  **After**: `0x0000000000000000000000001c870776b168a9ffae80c51f050c611edd246741` <br/>\n  **Value Type**: address <br/>\n  **Decoded Old Value**: `0x5FbEFA105bbd53b43bf537Cbc5cD30804Dd0c993` <br/>\n  **Decoded New Value**: `0x1c870776B168A9ffAE80c51f050C611eDd246741` <br/>\n  **Meaning**: Points the address value at mapping key `owners[prevOwner]` to the `newOwner` address. This is the second step required to replace the `oldOwner` address in the linked list data structure of owners.  <br/>\n  **Verify**: You can verify the key derivation by running `cast index address <prevOwner> 2` in your terminal. See the following section for an explanation of the storage and value calculations.\n\n### Your Signer Address\n\n- Nonce increment\n\n### `SwapOwner` Storage Calculations\n\nThe [`swapOwner`](https://github.com/safe-global/safe-smart-account/blob/8823fa3e44936e2aecf23bb97662eb0ffeff2f93/contracts/base/OwnerManager.sol#L94) function in the Gnosis Safe implementation will perform [three storage changes](https://github.com/safe-global/safe-smart-account/blob/8823fa3e44936e2aecf23bb97662eb0ffeff2f93/contracts/base/OwnerManager.sol#L106-L108):\n\n- Point the `newOwner` address to the owner address that was previously pointed to by the `oldOwner` that is being removed.\n- Point the `prevOwner` address to the `newOwner` address.\n- Remove the pointer value stored at the mapping of the `oldOwner` address.\n\nThese changes are needed on account of the data structure that holds the owners in the Gnosis Safe implementation being a singly-linked list. To calculate the expected storage locations of these mapping values, we can perform the following:\n\n#### Calculating `prevOwner`\n\nThe `prevOwner` is identified by the script, but can be manually checked by running the cast command:\n\n```sh\ncast call <safe_address> \"getOwners()(address[])\" -r <rpc_url>\n\n[0x6CD3850756b7894774Ab715D136F9dD02837De50, 0x3cd692eCE8b6573A2220ae00d0dEb98f0DfFA9a1, 0x5FbEFA105bbd53b43bf537Cbc5cD30804Dd0c993, 0x3Dad2200849925Bb46d9bF05aFa5f7F213F4c18E, 0xB011a32ED8b4F70D9943A2199F539bbeCd7b62F7, 0xf9e320f3dA12E68af219d9E2A490Dd649f6B177c]\n```\n\nThe order that the owner addresses are returned in indicates who the `prevOwner` and next owner values of the address to remove is. If the owner to remove is the 0th value, its `prevOwner` would be the special sentinel node value [`SENTINEL_OWNERS`](https://github.com/safe-global/safe-smart-account/blob/f9cc387f72640eb2c1d6ae8abe9d6ff25ca1ed3b/contracts/base/OwnerManager.sol#L17). Otherwise, if the owner to remove is the last value in the array, its next owner address would be the special sentinel node value [`SENTINEL_OWNERS`](https://github.com/safe-global/safe-smart-account/blob/f9cc387f72640eb2c1d6ae8abe9d6ff25ca1ed3b/contracts/base/OwnerManager.sol#L17).\n\n#### Calculating storage locations and values\n\nWith the order of the owners identified, we can calculate the expected storage mapping locations and their values. For the first change, the expected storage slot and value will be the following:\n\n**Storage Slot**: `cast index address <newOwner> 2`\n\n**Value**: The address immediately following `oldOwner` in the `getOwners` list, or the `SENTINEL_OWNERS` special value if the address is the last in the array.\n\nFor the second change, it will be:\n\n**Storage Slot**: `cast index address <prevOwner> 2`\n\n**Value**: `newOwner` address\n\nFor the final storage change, it will be:\n\n**Storage Slot**: `cast index address <oldOwner> 2`\n\n**Value**: `address(0)`\n\nNote that for all the above storage calculations, we used storage slot 2 as that is the location of the `owners` mapping in the Gnosis Safe storage layout. This can be confirmed with the following command: `cast storage <safe_address> -r <rpc_url> -e <etherscan_api_key>`. Also note that while the storage changes may not appear in the same order in the Tenderly simulation, there should still be 3 storage changes related to the `owner` linked list and one change for the `nonce` value on the `GnosisSafeProxy`. There should be no additional changes to the proxy besides these ones!\n"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/ARBITRUM_VALIDATION.md",
    "content": "# Arbitrum ETH Recovery\n\n## Approving the Recovery transaction\n\n### 1. Update repo and move to the appropriate folder:\n\n```\ncd contract-deployments\ngit pull\ncd mainnet/2025-07-24-eth-recovery\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n#### Arbitrum\n\n```shell\nmake sign-arb\n```\n\nOnce you run the `make sign...` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 65 to 66:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000041\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000042\n```\n\n2. Verify that the delayed message count incremented and delayed inbox account was added in the \"TransparentUpgradeableProxy\" at address`0x8315177aB297bA92A06054cE80a67Ed4DBd7ed3a`. Because this is the arbitrum bridge contract that is in public use\n   the exact changes may be different depending on when you run the script.\n   Typically Key `0x0000000000000000000000000000000000000000000000000000000000000006` should be incremented by one and a new\n   entry should be added to the delayed inbox (Key is a random hash and the change should be from `0` to some hash).\n\nExample delayed message count increment\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000006\nBefore: 0x00000000000000000000000000000000000000000000000000000000001f7896\nAfter: 0x00000000000000000000000000000000000000000000000000000000001f7897\n```\n\nExample entry\n\n```\nKey: 0xf652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f379b85d5\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000000\nAfter: 0xa75a3a7db6a5b6a4458a86058d0baeb45ca7bf04255214eb0bc849ce37d14627\n```\n\n3. Verify that the signer address nonce incremented by 1\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-arb\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/BASE_VALIDATION.md",
    "content": "# Base ETH Recovery\n\n## Approving the Recovery transaction\n\n### 1. Update repo and move to the appropriate folder:\n\n```\ncd contract-deployments\ngit pull\ncd mainnet/2025-07-24-eth-recovery\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n#### Base\n\n```shell\nmake sign-base{n}\n```\n\nOnce you run the `make sign...` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment by 1:\n\ne.g\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000043\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000044\n```\n\n2. Verify that the Proxy at address `0x49048044D57e1C92A77f79988d21Fa8fAF74E97e` `prevBoughtGas` and `prevBlockNum` have changed.\n   Note: that the prevBlockNum may be different\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000001\nBefore: 0x00000000015fa555000000000007e1760000000000000000000000003b9aca00\nAfter: 0x00000000015fa55700000000000f42400000000000000000000000003b9aca00\n```\n\n3. Verify that the signer address nonce incremented by 1\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-base{n}\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: deps\ndeps:\n\tforge install --no-git github.com/OffchainLabs/nitro-contracts@v3.1.1\n\n# ========== DEPLOYMENTS COMMANDS ==========\n\n.PHONY: deploy-implementation\ndeploy-implementation:\n\t@if [ -z \"$(RPC_URL)\" ]; then \\\n\t\techo \"Error: RPC_URL is required. Usage: make deploy-implementation RPC_URL=<url>\"; \\\n\t\texit 1; \\\n\tfi\n\tforge script --rpc-url $(RPC_URL) DeployRecoveryImplementation \\\n\t\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --sig \"run()\" --broadcast\n\n.PHONY: dry-run-deployments\ndry-run-deployments:\n\t@if [ -z \"$(RPC_URL)\" ]; then \\\n\t\techo \"Error: RPC_URL is required. Usage: make dry-run-deployments RPC_URL=<url>\"; \\\n\t\texit 1; \\\n\tfi\n\tforge script --rpc-url $(RPC_URL) DeployRecoveryProxies --sig \"run()\" --sender $(DEPLOYER)\n\n###################################################################################################\n#                                  Execute Recovery Commands\n###################################################################################################\n\nARBITRUM_BATCHES = 6 # batch size is 100 and there are 593 total addresses\nOPTIMISM_BATCHES = 4 # batch size is 100 and there are 349 total addresses\nBASE_BATCHES = 15 # batch size is 100 and there are 1407 total addresses\nBASE = base\nOPTIMISM = optimism\nSTARTING_SAFE_NONCE=65\n\n.PHONY: sign-arb\nsign-arb:\n\tfor i in $$(seq 0 $$(( $(ARBITRUM_BATCHES) - 1 ))); do \\\n\t\tSAFE_NONCE=$$(( $(STARTING_SAFE_NONCE) + $$i )) ADDRESS_INDEX=$$i $(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\t\t\tforge script --rpc-url $(L1_RPC_URL) ArbitrumExecuteRecovery --sig \"sign(address[])\" [] || exit 1; \\\n\t\techo \"Batch: $$((i + 1)) / $(ARBITRUM_BATCHES) completed\\n\"; \\\n\tdone\n\n.PHONY: execute-arb\nexecute-arb:\n\tforge script --rpc-url $(L1_RPC_URL) ArbitrumExecuteRecovery --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" \\\n\t\t--sig \"run(bytes)\" $(SIGNATURES) --broadcast\n\n\n.PHONY: sign-base\nsign-base:\n\tfor i in $$(seq 0 $$(( $(BASE_BATCHES) - 1 ))); do \\\n\t\tSAFE_NONCE=$$(( $(STARTING_SAFE_NONCE) + $$i )) ADDRESS_INDEX=$$i CHAIN=$(BASE) PORTAL=$(BASE_L1_PORTAL) $(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\t\t\tforge script --rpc-url $(L1_RPC_URL) OPStackExecuteRecovery --sig \"sign(address[])\" [] || exit 1; \\\n\t\techo \"Batch: $$((i + 1)) / $(BASE_BATCHES) completed\\n\"; \\\n\tdone\n\n.PHONY: execute-base\nexecute-base:\n\tCHAIN=$(BASE) PORTAL=$(BASE_L1_PORTAL) forge script --rpc-url $(L1_RPC_URL) OPStackExecuteRecovery \\\n\t\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --sig \"run(bytes)\" $(SIGNATURES) --broadcast\n\n.PHONY: sign-op\nsign-op:\n\tfor i in $$(seq 0 $$(( $(OPTIMISM_BATCHES) - 1 ))); do \\\n\t\tSAFE_NONCE=$$(( $(STARTING_SAFE_NONCE) + $$i )) ADDRESS_INDEX=$$i CHAIN=$(OPTIMISM) PORTAL=$(OPTIMISM_L1_PORTAL) $(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\t\t\tforge script --rpc-url $(L1_RPC_URL) OPStackExecuteRecovery --sig \"sign(address[])\" [] || exit 1; \\\n\t\techo \"Batch: $$((i + 1)) / $(OPTIMISM_BATCHES) completed\\n\"; \\\n\tdone\n\t\n.PHONY: execute-op\nexecute-op:\n\tCHAIN=$(OPTIMISM) PORTAL=$(OPTIMISM_L1_PORTAL) forge script --rpc-url $(L1_RPC_URL) OPStackExecuteRecovery \\\n\t\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --sig \"run(bytes)\" $(SIGNATURES) --broadcast\n"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/OPTIMISM_VALIDATION.md",
    "content": "# Optimism ETH Recovery\n\n## Approving the Recovery transaction\n\n### 1. Update repo and move to the appropriate folder:\n\n```\ncd contract-deployments\ngit pull\ncd mainnet/2025-07-24-eth-recovery\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n#### Optimism\n\n```shell\nmake sign-op\n```\n\nOnce you run the `make sign...` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 66 to 67:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000042\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000043\n```\n\n3. Verify that the signer address nonce incremented by 1\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-op\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/README.md",
    "content": "# ETH Recovery Contract Deployment\n\nStatus: EXECUTED\n\n## Description\n\nThis task deploys an ETH recovery system to recover funds mistakenly sent to the Base portal address on Ethereum mainnet. Users have been sending ETH to the same address (0x49048044D57e1C92A77f79988d21Fa8fAF74E97e) that exists on Ethereum as the Base portal contract.\n\nThe deployment consists of two separate phases:\n\n**Phase 1 - Implementation Deployment (via DeployRecoveryImplementation.s.sol)**\n\n> This deployment will be broadcasted and executed onchain directly from this script\n\n- **Command**: `make deploy-implementation RPC_URL=<your-rpc-url>`\n- Deploy the Recovery implementation contract from a separate EOA (NOT the DEPLOYER address)\n\n**Phase 2 - Proxy Deployment (via DeployRecoveryProxies.s.sol)**\n\n> This script will NOT broadcast or execute any deployment - it only generates the deployment artifacts that will be consumed by our key management system\n\n- **Command**: `make dry-run-deployments RPC_URL=<your-rpc-url>`\n- Generate artifacts for 6 Recovery proxy contract deployments to align the DEPLOYER's nonce\n- The first 5 deployments increment the nonce (deploying Recovery proxies allows potential fund recovery from these addresses if needed)\n- The 6th deployment will reach the target portal address (0x49048044D57e1C92A77f79988d21Fa8fAF74E97e) where the funds are located\n\nThe Recovery contract enables the incident multisig to rescue ETH from any deployed contract address.\n\n## Description\n\nWe need to sign recoveries for 3 different chains. Please follow the instructions for each respective chain:\n\n- [Arbitrum](./ARBITRUM_VALIDATION.md)\n- [Optimism](./OPTIMISM_VALIDATION.md)\n\nDue to the large number of recoveries for the Base chain, they are split into 5 seperate transactions\n\n- [BASE1](./BASE_VALIDATION.md)\n- [BASE2](./BASE_VALIDATION.md)\n- [BASE3](./BASE_VALIDATION.md)\n- [BASE4](./BASE_VALIDATION.md)\n- [BASE5](./BASE_VALIDATION.md)\n"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/output/arbitrum/recovery_addresses.json",
    "content": "{\n  \"addresses\": [\n    {\n      \"address\": \"0x2293014ca33b9d3db2bf2470c2f4ee3419f2c9c8\",\n      \"totalWei\": \"55000000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x38fa73d4d40b714cf10f9df0f3b0b83cfb93e1f5\",\n      \"totalWei\": \"7000000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x89b585df208c727829232d892a50806c3a20a4e6\",\n      \"totalWei\": \"1000000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb11e239910eaafa78fa925e566c20bc611fd4995\",\n      \"totalWei\": \"1000000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb8c30017b375bf675c2836c4c6b6ed5be214739d\",\n      \"totalWei\": \"1000000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5c07cd461a072ec4dd86ed6c062ebf62876246de\",\n      \"totalWei\": \"1000000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0dbdd871f45c6b4e9b508e60e3af9c4044a12fe5\",\n      \"totalWei\": \"500000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xeec38a8835bf98eb8f4abee900455a5175d836a3\",\n      \"totalWei\": \"500000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb5a8d8874aa28f7a355d165dfc4eaa8c84c2ad2d\",\n      \"totalWei\": \"500000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x39e746fb643789facb3031577eddf0ee996ea701\",\n      \"totalWei\": \"400000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x491f58f614627826cd31b5b74fe895d7c87da569\",\n      \"totalWei\": \"307000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe476c3a18fb117ecb16c986dcb09630bb3abe854\",\n      \"totalWei\": \"300000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3f922732b21f36e3226944ec7606acfdb55d35c1\",\n      \"totalWei\": \"275000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc1bb4d41cc0635e4349a4237dc42937111090fb7\",\n      \"totalWei\": \"250000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd3fb2231c5d761a2ac02aea235f67c2cd35672f9\",\n      \"totalWei\": \"249000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x11e6aed8d826b2097d08067c64d46084ca7a3f2f\",\n      \"totalWei\": \"208897480000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe5964fd10170c8291cf97552284d995a006e67ae\",\n      \"totalWei\": \"200000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6ddcab72b2d6f7593ec912bf3d4b43d455a78c64\",\n      \"totalWei\": \"192504551894991000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe0e9271b3ef10c0761a09cc813282e6c8f21dfd7\",\n      \"totalWei\": \"180000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x72e44b2bfcf28755b5c1d54442f18e2daec5b561\",\n      \"totalWei\": \"166086084358789081\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2c3d636f7adc34dcba3d787727a6b2225f43c3a5\",\n      \"totalWei\": \"150000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xce0a26ab5ebcd76cf87494c978003b5019dd52aa\",\n      \"totalWei\": \"130099889000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf3c3710cdbcbce065f912810e70cb78e0d9e0050\",\n      \"totalWei\": \"123000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x659e2dd7261ae1d24abdd74fec16512650afbc59\",\n      \"totalWei\": \"120000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xbdde25c38d17c0895bb98abbd6f42f4a3fc7a08e\",\n      \"totalWei\": \"115000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf67b3ceeafe13d8805e285b7722c719990b61960\",\n      \"totalWei\": \"110179514167842160\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa65673459a3361790691562183bce05af001872a\",\n      \"totalWei\": \"100000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1cd8f13e7bad6bbc7e766ae6fd4c0fd145b6dbfd\",\n      \"totalWei\": \"100000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x58a02121c0bb9915dad08fe699699fd300000000\",\n      \"totalWei\": \"100000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2e97bab47dfb1fd1395be6d86fcd48c19374b79b\",\n      \"totalWei\": \"100000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x265ef3e30fe964314a2b6ae6bfac32146ec73424\",\n      \"totalWei\": \"100000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xed6a4e0a7781e1f7e25054db9e29a4121bd6e842\",\n      \"totalWei\": \"100000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3300f6a0845258216e705d2abbe211c2c400617e\",\n      \"totalWei\": \"100000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x49121c6c995f76cca4b89ed8945fdb49164e39d8\",\n      \"totalWei\": \"100000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6e3d21a6c60b8bb00dc2bbc163665c0abea47d01\",\n      \"totalWei\": \"100000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0152aeb9e07f64aa6ee041f18ac647c75100000b\",\n      \"totalWei\": \"100000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa5bb368bc55aba37a5bd47c7f7bc87c6001080bf\",\n      \"totalWei\": \"100000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa85bb9720b83ae3e7df172de4067623b979bd4ed\",\n      \"totalWei\": \"83000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x12fda12b1c5f69b45fa15f2e5396b726d7c8a8fd\",\n      \"totalWei\": \"72728949405415487\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3a01b4a47b1c26aa098891a43da9524cf29231c8\",\n      \"totalWei\": \"69000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x50d4a329186dc01f23d66a4191e015001b82edc3\",\n      \"totalWei\": \"65924314376007565\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe4a760af5f784107789e6cf04b10da689d747440\",\n      \"totalWei\": \"63290534850000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x971df5505d4f442570ca9e05dc2dd1ecccfd7865\",\n      \"totalWei\": \"60000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xbdea881543543271ecefce91685cf1139765c18f\",\n      \"totalWei\": \"60000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xce39f85484a899a8a31268428698cdc908220f54\",\n      \"totalWei\": \"59951830920000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xbd2979093cc4940e856faa240b6f54bbf1dc59ae\",\n      \"totalWei\": \"59713737885000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1bc3e2c44e0b2dabb1b06a1890273571825d3e03\",\n      \"totalWei\": \"55000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x08713995371818c67f601cd347d8ba1740c03dc7\",\n      \"totalWei\": \"52000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb44ce48a53a79548dbafc3407b28bd37cb9f9956\",\n      \"totalWei\": \"50694186081245956\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8ad1816c73b623ff2abefd60efc2693264a40f4f\",\n      \"totalWei\": \"50000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x887b86b6b6957f7bbea88b8cefd392f39236a88c\",\n      \"totalWei\": \"50000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3294733d558fd893fad3c9ec18be7323e7bd7256\",\n      \"totalWei\": \"50000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe73fe7e6d4294da0e87cc50c7e8049996f8f02f2\",\n      \"totalWei\": \"50000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2056e236076e79a2f6ca92d78a6f74a5f8f932b7\",\n      \"totalWei\": \"45000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xebf35cdb22e31ceae5d9491f9f9093c6227cc112\",\n      \"totalWei\": \"40000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x58d51c00a48d36cf9c2bff92e98923c30d3446e0\",\n      \"totalWei\": \"40000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7344184be33f90c20b34efd96d3215f9c50cbecd\",\n      \"totalWei\": \"39210760000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6e7c0fefec5d9e781fe0643a346bead6ae3516a2\",\n      \"totalWei\": \"34530000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5ec3e02105ff5224dea33cbf47498ae726cbc69d\",\n      \"totalWei\": \"33900000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6622c534d9be477355cef0b59fcdcc25cbc2adf1\",\n      \"totalWei\": \"30102219200000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd8836dd5c4d56bcad868af0dd08085ea9f189b2c\",\n      \"totalWei\": \"30000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf614da1510b4b48057b01f3450e2717f1495f89f\",\n      \"totalWei\": \"30000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa20c043cd7f72e31bbc0a521f6fa7d29e46197d1\",\n      \"totalWei\": \"30000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x618b4c52ed90bc5978f33cf2b057fa65576a72c0\",\n      \"totalWei\": \"30000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xda22405545a6ea9df88cb2b0ebc52b7ad86fae13\",\n      \"totalWei\": \"30000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x02644e345b23767c8103dda301aa11cafd82b71e\",\n      \"totalWei\": \"30000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5045f7ae251d3386ec48a0c9283503ec9b0826f4\",\n      \"totalWei\": \"26000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcc439258055449a8aeeff7435d04f211fa665abf\",\n      \"totalWei\": \"25000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x8f38b0b5af86384b0eaeeb9bd893537a11908045\",\n      \"totalWei\": \"25000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa9a1c73e1e90b945fcc3507881a5e1a437ead162\",\n      \"totalWei\": \"25000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe1a85108fca08d3566c098b3b7eac1fe0f2219b0\",\n      \"totalWei\": \"24000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x14f1936819ff803400fa57b3878c8411910afec1\",\n      \"totalWei\": \"22740944800000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0dbbe14fa2fa8f150670ec127b46c61e83051c50\",\n      \"totalWei\": \"22500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x61a81af7e1f611a89d10dfad779d786ca840f480\",\n      \"totalWei\": \"21584284700000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xde29e31a9b1032c2f511d53b46253c4d096636bc\",\n      \"totalWei\": \"21000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5b6b4253ed08c4853ec1d5fa7b8e0c2286583243\",\n      \"totalWei\": \"20000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x837200baf9674d97243ec7ee31f8906b850f8c1d\",\n      \"totalWei\": \"20000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3c86b3d1dc8ae5744d6cf0f59c8913f11251e31d\",\n      \"totalWei\": \"20000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7a0785be7d4bc630bd82c2b16bf0a1c2329ecc88\",\n      \"totalWei\": \"20000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5c186f2323c093ccbf645088e6aade58227d0a0a\",\n      \"totalWei\": \"18259592327748940\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x712ddf49080261325a9a4b048a81294587ecaf8a\",\n      \"totalWei\": \"18000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc6c742376e969d5d973ec09d9bd813e1b6cc5d53\",\n      \"totalWei\": \"17765546362800692\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x73fccce878d100d8511e1604d6a8b4fd79fdf98f\",\n      \"totalWei\": \"17000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0xb7ee28d626e21a9c95e1ff70c89c5e5250563202\",\n      \"totalWei\": \"16000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcbafa86d910a2ebcc7c4db23c3f3b672d5956c19\",\n      \"totalWei\": \"15914924376237068\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x4fb97ebfb3d0fd199ee72ee2915bd6e0ab41131c\",\n      \"totalWei\": \"15453579815480000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xba6fa3a422f09895d7ec2c9e749c63061d56ad55\",\n      \"totalWei\": \"15171181846932776\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfc064084670b76ad53417e090e06f4b5fcca6cfe\",\n      \"totalWei\": \"15000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7e027e82e314082df67c7983fb7718fefd3b0edf\",\n      \"totalWei\": \"15000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc3f01f6e61c0cedba21b6e22ea5a005e7b5ece03\",\n      \"totalWei\": \"15000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6d79ae514cc2dd4287a4383b498dd5fd587b716b\",\n      \"totalWei\": \"15000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc6317dca3ab577fd956a346fa1b45bb4faf9b01b\",\n      \"totalWei\": \"14000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe691ca9e45b73de39971b06893053479feec123d\",\n      \"totalWei\": \"13912238615000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2feb6ea92ee8a03844bf21b1639fac29ec278db4\",\n      \"totalWei\": \"13735272200000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xce63e46660db5914593f986641d9133789477725\",\n      \"totalWei\": \"13221984299561099\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb9a3831adfd989690424cbeedf788c53681c8731\",\n      \"totalWei\": \"12800000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xab35ac8661e0011de2b4c20798410c015eaaf598\",\n      \"totalWei\": \"12000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6ec8b8cec5645066fda40c6c6d6c3b749a565755\",\n      \"totalWei\": \"12000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x615db6e9a20ad3b89ea9f17a54c9fc79a91537c6\",\n      \"totalWei\": \"11750000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe482498540424d9877d482b52987b8fb34a01018\",\n      \"totalWei\": \"11221360000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0f62f7f4dd6ada21a672153503795f9829afbd4e\",\n      \"totalWei\": \"11030000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xdf67d976307886ec39573eb979b1af790aea6787\",\n      \"totalWei\": \"11000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0e1924004217160b1a95e4db8e4b2104955275c4\",\n      \"totalWei\": \"11000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x391180ab65f7bd2943d468fb00f96a47f51f8953\",\n      \"totalWei\": \"11000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xff6a726f83286d8f54273b5b816762dfee47419d\",\n      \"totalWei\": \"10800000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf88a52b66a2432beee898f5514b85c43010dc668\",\n      \"totalWei\": \"10649173624126768\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xdd65143477647bae64a6e810ee629ead6428ba8b\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc4bc688d019bdc1b5e3b7b7f21d50de67ba793fc\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf68e7d0c6cce87c39df3057dc43ccb9a07db1e7c\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xde6785b0574e5867366d9e1732f968eac8b333bc\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8bbc42da742e9a5e0ee458a63be0bcd23f0b5912\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xbce3b9da85e4e095cb6b295240732056692fa67d\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2500b5bc31eb6356eef5e5068e8569dc2b0687f9\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x15354c9f64ab1d03e48e990bb946069ad1212a11\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x47db3260ebcdc9dcfff4963590a1ad012d0b01f0\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x59a493f5e2f318bc4bdd32e72c8c589b48821f4a\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfaf57f0a88fe6d2ea786b67ceca69e006e304381\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe5d85d5488f775b29357611ec3b6849681f62fa7\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc1149118bdc9190b65dfac37fbf00945d0fd29a7\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x33bc7bb9036bff104047d059eec208e43b0ecff1\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0xff24de32cfab08f833ba56d970a8ef61c3f0ae1e\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2713e1e0c988797027ccd6e47fc6cb74fcc88a31\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2af3a27712ec8489fbcafaf4a01ca3b873da47df\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x07f810a967b920f38c3e1042d220223c0abe2315\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x06fee2818ed2bfce2635b03a231ebbc9dd18860f\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0b687d1f5fc8829158bd80f5f34c13acc8c3fe4d\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xbc17e932126874f8cf2813fa620c3383c56b1b97\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc18567c8e5aa06c3689551ef08308b73ce76da7d\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc45410260af1edd40082253ee8ba0472d186b14b\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc8926707dbfef7feb52c22325c814b8a99667798\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x672005e26525c8253b0fdcfeaff5683459e77a98\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcf0c2e6345366d1c51bc71ec7330f26efedcd1ee\",\n      \"totalWei\": \"9943094100000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc7adfe2c9dce21049722f98dad47366ed5a3b800\",\n      \"totalWei\": \"9600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9cd939ba7c3d3c5443a2ccc164f85d03a4feb708\",\n      \"totalWei\": \"9152792695000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x87cd289b2358f88be6debb6a48b046d5ec00d8c9\",\n      \"totalWei\": \"9038283803186315\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2ff72c190330555f7aaa2406677272dc06bbfe85\",\n      \"totalWei\": \"9000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9ea536b0bf416cb073b4d8a9d7c95dacaeab0df6\",\n      \"totalWei\": \"9000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x85e93fe564fd241125dd3ca6b3fc3461f516ec80\",\n      \"totalWei\": \"8726600000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x647ada5bb7866f75b3056902a42a7a01bf14d5f4\",\n      \"totalWei\": \"8600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1ae0b6c7986cb529f8629a16617932f811b00227\",\n      \"totalWei\": \"8500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7fa46640cd3044833a44f41984228558f11a9128\",\n      \"totalWei\": \"8300033850594610\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x23e28ac0a7940d42f9c40672f7daad79cb0eb751\",\n      \"totalWei\": \"8000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xab5129827b504f20a6195d0f0896183391e513c8\",\n      \"totalWei\": \"7734503530000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe31b6fa5eb7bfefb4a28ed1c5e9d0ec5240b5e8b\",\n      \"totalWei\": \"7634420329370706\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x83c2472a80e7fc6478158fda5267f3002ffec3bf\",\n      \"totalWei\": \"7500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2b4dd11fe82d0359b262de601c8c6d7fb0cd520b\",\n      \"totalWei\": \"7500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe6b1cdcc40fe58a0f19e788366e25ccc97c8352f\",\n      \"totalWei\": \"7219920000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3df02dd4458570ad303f25a3233c908e534e152d\",\n      \"totalWei\": \"7200000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x5b136c570057b8a24fbbfe4b9988e9f84a1df4c9\",\n      \"totalWei\": \"7000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe9dc9f2a7a72c5cf87d1f5423333ea1b7a37c4b7\",\n      \"totalWei\": \"7000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1023b453299b4f564fad857e549341be93c64335\",\n      \"totalWei\": \"7000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfb252a35c42fc0a562db1e30f6d23bfd54584661\",\n      \"totalWei\": \"7000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6a5884fdb62e891beb8c6680e4a5cff4ba70dabc\",\n      \"totalWei\": \"7000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x20a9f42cc8e1872104689e0d7018c790630147f0\",\n      \"totalWei\": \"6729842277675424\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x545c9b5ff0838f85ed1873e385d674641dfd60f9\",\n      \"totalWei\": \"6200000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5bfbfef98c378c81debd9bb96d13d4da782af8f8\",\n      \"totalWei\": \"6182813059990977\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xef8c7fa2f1965703875a67b6df529e8316e09cad\",\n      \"totalWei\": \"6000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2a8dbc13916a49d826d1864cd9ac419eabf3981c\",\n      \"totalWei\": \"6000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x49801afcc5874c7cebd8d968f960a8cb6c7d7eee\",\n      \"totalWei\": \"6000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2b1f9460bf042f4b6c788a047b12f6f8d20cc420\",\n      \"totalWei\": \"6000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3687ccd5190b59d8d19a9ab61fba546d1335230d\",\n      \"totalWei\": \"5600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x085e73a8b959d3bdccab6427ad4427901f6afe09\",\n      \"totalWei\": \"5500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7f229c10714ad14cde790a0787642401017c4e74\",\n      \"totalWei\": \"5500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7a2d8d020ecb987646c0577e0dea83e178399c1e\",\n      \"totalWei\": \"5465940000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4b650a8bab0a0d3c8035afd466bc5d9bf6f1c752\",\n      \"totalWei\": \"5379033602822917\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x29b5e472e36daa709fdbbb727423276f44b7e5fc\",\n      \"totalWei\": \"5192370219009998\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8f2c67813ab735469035007212ef1a4ee30275d1\",\n      \"totalWei\": \"5100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xde9c059c8fdbe324081f83b29277d335370e2e13\",\n      \"totalWei\": \"5072282680000004\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4a5d3634b467ca6076e2e8f5c092812e2e5c1b69\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xedd37caf0f19179522f77b101fd1b00d3cd1a2a4\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x07f83a636b0e48f1693beb60426ce4c76b8faaad\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x45e0d89030d216290a865b4b6eeb9a07f1fd232d\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x50e01433711f0cde93d09856405f64a579fa5244\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xdb3202d37bb6a2e4e1315b7a5dbd217246a66666\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6f8392a5ee3e30be27229b52b24f4d2970754912\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x085c1bf97ce01758f3e92661e6776b8f5cdf8220\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x18b8db3291f4e2cceca0a3f9d301e56716b0e750\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x480c5963799c437ea3ce7e75bd2eb9561777a400\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x31658df07a63634fd15ea2ab8ca6a739cecc0a55\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcc5943ae36253dcef05815eab1bebc6a6b3253cb\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x03fcc43da662ea06aba5bc2475b1e28b3da7c382\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa508c16666c5b8981fa46eb32784fccc01942a71\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xff4fb0b65f143ac0a09ca78881d19df40a7919df\",\n      \"totalWei\": \"4900000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb74e3feefd937ecac8d0e0a7c5dbe1e2645a875e\",\n      \"totalWei\": \"4840000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x97f7c67b55b62a0024cfc4a92c0caab5ed0101dc\",\n      \"totalWei\": \"4829482068840000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1eaed3548e752bcaf48346dbce66f8d7678d7152\",\n      \"totalWei\": \"4774525490470189\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa9b3bf5e94a41f48ed69ac96c3a60d4c83c11b43\",\n      \"totalWei\": \"4500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xbaabf5e9f000521b51c8024dc4b62f1d81dbe5a7\",\n      \"totalWei\": \"4240000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfbe1cc2cfd738324815f8aafc8363c9336c440e3\",\n      \"totalWei\": \"4213910000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc5e7c8ce4c2005dd0957e7bd4ee51a4d5e028b9d\",\n      \"totalWei\": \"4000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x157c359e638b52f3045243b483501069cdddf6d2\",\n      \"totalWei\": \"4000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xbd2e42af2e4514aa35c988ef9059923b012fc9df\",\n      \"totalWei\": \"4000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2ab771be6bb220735871df5599d806103995d29f\",\n      \"totalWei\": \"4000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x17c497aab876553c1fb8e73f05cf4b6aca7559a7\",\n      \"totalWei\": \"4000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x233f033d7f1f7199be2ff9b3fcca21366be05b15\",\n      \"totalWei\": \"4000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe1a9229006d237b23a833c00b056fea8c0a342ca\",\n      \"totalWei\": \"3561830000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x1d4f8bc1b8cdeb52d08c8b7ae1cc97b19e9bab24\",\n      \"totalWei\": \"3500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x37c47758d6b36dc19f44d7beb7573b95a087f8b6\",\n      \"totalWei\": \"3400000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1ae2d1522045db426954ad278328b2be71348de6\",\n      \"totalWei\": \"3100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x06c922ab286196b558a0ef8dabd99e2b98bd4166\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7944bd762876335d995d93f667b9ff34c14fa911\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x468f360f46cd855683a55fa92ce7151b9bcb5dfa\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x947343951330a1e6f5d0ea83ca70e2cc0c043d17\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x84c795d8a1fdb9c4502810e4f7d9e04aafa74c97\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc77f24be2d46b421e1df7c45dbeb5fb0a8757e0a\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x60e7e15f8b7965313a210082a540c4874124e1b9\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc14a71ed6c30d66ddecfc905fa3f239045cfff50\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x64578d105ac98bbdc9c5a369df26afa87f88a9c8\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe31ef2dfce2c852570b5cc52bf02ec8236866755\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xca21911c178be6f71fcec1cd4b1595861f0881ec\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xac4ba977e5de6119d79e3e029add59d329826a3a\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x73382c6977ab57725e07c86033f0044ceb7fc12e\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc046bad2ca0430dcadefc40629f1e01d2c84f37e\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe6c4e160636c3843a1db207a954993cdfa68861a\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5d4036323f52619b9faf7d4dace12bee4669cb40\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x60e2cc1ecbdebbc2216ab2676198d68e73afcfd3\",\n      \"totalWei\": \"2955619788008196\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe1b47602816a3a63ba769851304a4a2a90c41816\",\n      \"totalWei\": \"2880518589371790\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x470e72141418c0eb71355e5d99244e635a989d95\",\n      \"totalWei\": \"2770000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcf8be0c141fb112eaf8fcc9b8406cbedbc6f296d\",\n      \"totalWei\": \"2718159479853002\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5e35f578fbfb8e197e411f6f043863f2e34bbec7\",\n      \"totalWei\": \"2600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf838055d17759a9ba621f9bb9160e76a0ed3e279\",\n      \"totalWei\": \"2600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5dcdc3f0fed4bb900707e88c76c2acc29ae80579\",\n      \"totalWei\": \"2500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x217b121d91b7211f3ab2d421aabe25615297dcc6\",\n      \"totalWei\": \"2500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x70aea4c511ec66d6fadb2e120802016cfb333e23\",\n      \"totalWei\": \"2500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfdc37f38cf5f063b59a333f01173f3b073becc5a\",\n      \"totalWei\": \"2500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0xe9c7363e3bbbc574b78433bddf699fac0587f6d4\",\n      \"totalWei\": \"2500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x86c45f56862571742262e4e3a5f2626f7797fb5e\",\n      \"totalWei\": \"2500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf59056ac7b9b7729c21b69faf09177b0a859024d\",\n      \"totalWei\": \"2400000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xdcc8f181295cfcd9ce83f8be87cb16902c2e1aef\",\n      \"totalWei\": \"2257569410713464\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xefad4323bac4d32fd5fc6c65886ea88239d9dcdb\",\n      \"totalWei\": \"2200000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2511b8479e7e0389a5c60f7ecdb4213bc3639c97\",\n      \"totalWei\": \"2200000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xab3a38a2be9bdf8d3298aa6edaa9c5cb6415ff44\",\n      \"totalWei\": \"2200000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xbdc985760b9b38680cf088ff19a9c310c24473c9\",\n      \"totalWei\": \"2134164234608674\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd020756ec0d08b6c1b300efee33197fdc2af70af\",\n      \"totalWei\": \"2108901497677755\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x402c296e569b90df069e883b4b35fde7394c13ac\",\n      \"totalWei\": \"2100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9d56652d48c5fcacc2fcac0aac8fe3e1a7c72672\",\n      \"totalWei\": \"2082733053165475\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3cd6c267c437bd4235b1e98b7eb044a831ebeec5\",\n      \"totalWei\": \"2080000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9c9ac2dc01ff6d9bc9b1dd42e18051eebca1fbf2\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3a3ad081cb10b004145a3ca5257bf5dc61e3d930\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x996376925b729404afad0094edb37f5356619ed4\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4aee7c1251d793fef8a4826e999b885370d07694\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1c270463428d780a47f6c9591a570bac837ce91b\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6bd92bc0ee369c99889b5dd2c5445d1ea757c84c\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xded3e1a39e33e200f3e6ef8596a1a16a503b8df6\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x92f66b95ea8eb2d8f1c32fcb650dac707bbaf17f\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6d700358ee6735dfccd3ffbba28281b76eb2dc78\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x595dc126cc1e7794f6b908f6046bf6834b04bacc\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x651445c41fa6d4dd1b93e8acacfdffb4478edef7\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9ced12517abe3c1a88ab4cee3ef518484facd9d6\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe7f1ddad8c5454e7d997aae8e510b6d666376b5a\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x169b931a328a6bf9f18199d6eb9649e44ba31002\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x236ba1d7e15cc1c689c6c9e2cc3317ba39f9d780\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8a53b9ed8dc15ffc4be9d4ab449f02041e513229\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb133045093d6ee2054c9d12929622f9170f7f77a\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcb13c912d0216a7d1c105e7a2173868731fabbed\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7db199a23d7361c09e0e41b4e040da035a6d6981\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0xe8316871c60a4044c3bdbdcc002286d6e2cd719a\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7e44b1067ed219c2756bad68cb118deb0d90dac6\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5b982abd6faf0e4ed6735af4b1ef68da1e5a7332\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8864a9372b7105f4aa1b8fe89840caff02373f50\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa616f0b2537cbd2b98ac445aa05068aa65084c8c\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x3cb7e258de4cf86f8e286ae3becd69b28d934c6d\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc5122d5a51d918833ee643e14304dd63de4f704d\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x22fa7a2c21b43e267420a1694180297fa1ab672f\",\n      \"totalWei\": \"1975149199634160\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc15fd0f9c8461a20f17baa99726f4b4518a1e66c\",\n      \"totalWei\": \"1970643068867200\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5dce675759bc4a1079a39b15425ad65429638552\",\n      \"totalWei\": \"1900000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5bdb91fdc1b48bcb8f724f9cdbda631a17057055\",\n      \"totalWei\": \"1800000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xec441cf14e685f48f91c39f56d0709672a589f82\",\n      \"totalWei\": \"1800000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa23766af8f0b8325a14ef4a15a7444d0f527932b\",\n      \"totalWei\": \"1800000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfeb8fb2a14f488f5fedc8586d26efbdeb76ecca8\",\n      \"totalWei\": \"1590000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x805c8f74a727977a17af1bce8d6bc7ebe59dd966\",\n      \"totalWei\": \"1501495983721591\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0xfce9ecbe07c9beb12de5174a8fb47db316faba83\",\n      \"totalWei\": \"1500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xee40362973c2a916268b3c9d40d28abaacbfef34\",\n      \"totalWei\": \"1500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x54a7bf4c221c299e9e4df21945a79147ed0231f2\",\n      \"totalWei\": \"1500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4079e80d6193d20bb807ca38ab929a40eb8bdddf\",\n      \"totalWei\": \"1500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x50fba4c771bde076a8a85550aeaed3657ea44f33\",\n      \"totalWei\": \"1500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe2798f433a0de7f26f85299d7294fda14caccf01\",\n      \"totalWei\": \"1459896749909458\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x05b116d8a35326cff3529ea1a23806323c5510a7\",\n      \"totalWei\": \"1400000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xea6d92746e7dd772f1b5415d4f316239dfeb34ec\",\n      \"totalWei\": \"1400000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x115db9a94996d8d653c8faa1356bb2e5aa533348\",\n      \"totalWei\": \"1400000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0fa6df67e7a36aa2439c0cba5bdd26ab4c81b25a\",\n      \"totalWei\": \"1400000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x659b166d934df2d179635749ca79078cc4dc4425\",\n      \"totalWei\": \"1302460000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xad191dd9ff581420bbf949ce6e9fd04b47f4586c\",\n      \"totalWei\": \"1300000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8f007e0dedbac5a6e515ec95ada04886127f38a1\",\n      \"totalWei\": \"1293510458032053\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x801769d65db922dd71825e62c2e84316d65b47fa\",\n      \"totalWei\": \"1280560000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa7beec5d0ab9785437dd14a6523fb1ffd9a42413\",\n      \"totalWei\": \"1200000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4782a0bf13e5626f982af0ac18ca5b39615dccb3\",\n      \"totalWei\": \"1200000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xae17b016fad147fcac758f0fbbb63c81af00f900\",\n      \"totalWei\": \"1200000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x772125f73a9660f296f1d1a0ad33c1010e0ae38c\",\n      \"totalWei\": \"1130000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xadd281007fb327dc4c8ee1791d2882058cd4db46\",\n      \"totalWei\": \"1105000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8f1f29fe5051ef9cf9e9c5d715d5d9a8d05cadba\",\n      \"totalWei\": \"1102000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1c5518241df88ef8d703101b9e721278f674a6d6\",\n      \"totalWei\": \"1100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1f15011e401d10da13e179d6fafbd95ac77b1b60\",\n      \"totalWei\": \"1100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0xd4d66acc07318b5b20cb46e684cdc7f5f1c148b0\",\n      \"totalWei\": \"1100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x40ce8113b0cbef58e2933a3176e1ee9fbf392ea8\",\n      \"totalWei\": \"1100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7a7aa4b8ed58cfc15d0a86babe65b3710d47d219\",\n      \"totalWei\": \"1100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb1ef7dd476848f4a5f4df44141d9658c0d255ffc\",\n      \"totalWei\": \"1100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x58f3bc4aed8f7bd5c0cb8de5ddde5c777f7bb86b\",\n      \"totalWei\": \"1072584472730881\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x00faf87b90a576561d25bbaba9aa334cdf05325b\",\n      \"totalWei\": \"1069107081765310\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe67b28f11daa6f9699f4653d90627296fd4e5491\",\n      \"totalWei\": \"1057141120411000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1b4c289c4f6e0565f1e432654254485c490679e9\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x01390192e7c025730a4426b12af78c23a548e10a\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb0556d287d885309d0b76f833f6e1710c8375344\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0641600d128321a5d78df90969b601f93a1278bd\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9f09f8a85ae21f8ee80564ee59881bd603476212\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x75c0921a7bfff8658659838e61fc083e662796f0\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6fd1dd3888cd5ce26dabb727f76348ccedfd3dd4\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xadddbf546e0467fc93efb29e8105177b4b45c2a1\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xdf3ddef9f03e42524c3b9294a97e442fe0f0c32e\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2a54e112b25d2f7b298b2db5dbc0644197f970a2\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x743d1bf4bb65f068ab12d9625de0d56bbe6916f5\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6ce9928f0f080c7ed4ae1f5940e7bca770f723c6\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb28dd7bcdebde0b09c40178e22960c84ab4953a2\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x18bb5e299f21cc9b98755065199d2ff654a385ec\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd9759e2fe6277d7d81c3d935d0dcac684d9b3236\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd54ff07f3f69c234b774f6398153dff62a5b82e3\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x93458952f6a1a1d37a31dcdde33da71f9fe7ce15\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe6222f4ff6f932f566ccbf305cee2a31ad517d37\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb2739b8ead8c553062104c8d5264c5141981392e\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf824b46157b0dda2032ee6fe123a8ec2be1cb4b7\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcc7a3300f6415bee7c2676ab9bb58e8506afd994\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfe1a7a08a0991bd33492e47574ba2174026aa792\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe4fb057c253cc5dd67d713118e0691590476bbc2\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6630b0a570fdff2c4832ef9bad9b50763877376f\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc0334ce5005ba6872ca0f9348b2d3102e7295bbf\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x78ef64daa741d0da7d8aeb0e0f5bf88950049cf2\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5306eac5828489bab3390ef97caef285ba06ab4d\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x175bcbf5b374bdecb8d987964d793412ab0cb6fe\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x269bfc984d07f8c5c93e3d9978c08d3eecbec387\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x822b4457a36d6439e765bfdc47a9849d77d0da5b\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc98d0307b36e5345f13b63110df31bfa99a2054d\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd7d9b49a30c4960b10a63159656955dd6a389d9d\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x76619eb9f77126da088e112ed5a933a10d1ecea0\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1b23c95f884760521a16e5ff64544d1e48b56d4e\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0bad698a19420eb7d69f8fcc15a7eb7dab2c1c69\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1e8948c603ab9ea99e21626d291678e9769d972f\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7990c9e20d431198d47e2d277c4b4bd175257687\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x32ed20dd2e84e281957f726e48f5f93901ea1f71\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x17dfc9222d183642a77efba84b320fc9d0f4ba24\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x49d786e4a52832e4380487eb7c99fc76aa94ff51\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x831100f2dd4039700143eab5e7a6c0acc0be07ad\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x711920225d713362dae08fdd83f762c99b2a6ff8\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3ba8adea5a9817c107388127693cdfa55021467a\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcd95228c1247b904d22deb51f4ef148499afca20\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf84cd10f0904474c1707e29db937e8f4c21d4da9\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xabddd183743e61a04a7b31de3dc68171ca3ed4cc\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc3fc1492197d3c19da46b8fe40ca08f01d2feab4\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4a6d5b892ad6ce7e8a433e43ba0f55569d883f6f\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe42a6c980a3c9fb0e8945d699a27f9e471ace4eb\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7a0ab6be13855ffaa592cc5bcecba5628849c5c7\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9d386325330ff9565821232435c67b253776fed9\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x45c719c91cdf2436ab699e7401e41fdf049e7e60\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd81a08a24cde557d2bd9cdd4033922be7d5cc3bb\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfc455cd4f6cee49288cb4e027e6782b409edb30c\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x13fc306ca025f52fb7f5af8a98bd8760c252916f\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x25f7e265ebd9e5f5fbee5da2a4f0fc8882c4f5f8\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc19621892d8ee431869324556e17051c378d2890\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x377a3a71309ca5cb23d319baf64de92a154103ad\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7efb596e6958e33c7d74ab73d5aa4817ff58d182\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xbd773880a0a06dc937fdef3b1b8e89623d1b206c\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0xa1922bd5ba2712f69501182612faaa15ca03604f\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xad1ca5603335ac4b05ce62b4303ee884ffde7751\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x47c7abbd2a4e4aaed5f782e01057fd62c3e1cc49\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6a0cc5056e775e3c30ac186eeace625db6f386ec\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc76aed5faa6d4f92836505a9d206e84aa855702a\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3fc9b78015cfdc24d1f8fa8cfec69e15cb47d47a\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5c357a5ee9605f880fbbf6d9aefbb70c26226225\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x50b4d75c959361c982643d1758e250f43c1b34c6\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x38566bad6c0c22986c451a76301f38b31555c952\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe1b54db8553c98414f23a37e6c32a956efc1d065\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc7e8921d5ed0665df082d1a4703fe401aa38024f\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc7971d9d68fec098576f689ddb546f24e5eeb742\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xba3214161617dee3311ebf9f32a4c4d20bb5ba6d\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4b40239453b529f2430dea36b8fe3fe4c4f08a2b\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x09ca4dfc81e6d2afbc9a928d4086c73571d801a8\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1dc87a873176ce0918e62d637ce1b3d1187f5a67\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3010d580f87c864c13f81c734f110d37d8e3360c\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x666ff1163aba759d1eaafe046e002740637050a6\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb9b4080ee5e800e041e9d2983b027affc0a18ee5\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x184583ebd702bae8fbc3d3bb91b7d5f7dff37cc9\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd65185f1d1bb39e2032f2e8098694c84e4dc2faa\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5ea169c1170609d3c293c81c68e6dd3a1c94be1b\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc106721fd730c7e249eb06d98c23770fad2960c0\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x51adbc10757512b235016a73f2800d6a2ee1153e\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xea764bd87153240a0b2bdea5d84aa51da25438ef\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x595228604281feffc818c4ed3e969f73d83042bc\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe777b5fd3fd9e3c857d07f8640cd0215c1117bbc\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x613fc42719284bdc058d41e592abec76ca75f6ba\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4671cb82243c8eee5c43690ea50331de0433c1cf\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9bada0378d056b9e2011b7282f4ff2582a86d868\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcb3ee425f8d841366a115ba4e8c1be7c0f9314c1\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x49059f3d8a9629a02d976b02e2710b8e0aea809a\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2b28bc4575529d7e321606a7417ad5367160e8b4\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb92bf70e8fbce2134ed02d91143d6869a056ecbc\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa276d4959c28546546b8fef6ba745149c76c9dff\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7acc1dff427c7b4022cd5bc2dd831d14b0320442\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd329b2c1c8de4f77f60d7dc2cc18c749479cb7ce\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3542982906984412ade912688a86d5610c9ab05b\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe713a305e3428be428483ef6cbbdc0a99258b456\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x338fa44629465aa93f7b1974288224f566984eb6\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xacc335dfc2389c30ba186648a74723efae1eb7db\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf4b5c3be7d9d3c96151354c16267b7f0c000730b\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcb71a8f2387fb6250c445939b61243f0be2f345a\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x59a327060047aee4fec76f08f687d0fbae5d8821\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0xdb39067dcf7defc9924ffe2858ec1cf3b807e69f\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7a5d92137382ec470b5311dc98feaf6b3765952c\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5f73a750ee8a89d4bcda67a5614638c0f7630654\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5ba79df032756e4ebd62a7b9943f20ebe7c10110\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x29cd744301308d23066169da6bb1d50ec6cb23b9\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xeca535e24b33d41c76adac6454723eb50ae650ac\",\n      \"totalWei\": \"991752349990979\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf3e46d3de660132c97892dc301d8c9f559bd821b\",\n      \"totalWei\": \"960000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x11c613bb14d81adf870f6b9fd9d8355ce353ca21\",\n      \"totalWei\": \"953464199991020\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0d87f0a041e0f203a44e08d70b67725ec16db455\",\n      \"totalWei\": \"950656057894108\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9f793eddfd0af484cd9cf6205be5f7f14a7110a4\",\n      \"totalWei\": \"900000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x96a0030c410b9eec033676e9ad205b658036963a\",\n      \"totalWei\": \"900000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0e6c6653d2178b3da85d5a4088adf51bed0ea344\",\n      \"totalWei\": \"900000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa325651d5d18953a327297a30fbe3240513fcce2\",\n      \"totalWei\": \"840000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcb56ce76812eb20bc165b9275ec3985723759707\",\n      \"totalWei\": \"800000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8adb5562647942886bfd2dfc215f717a3c019a6c\",\n      \"totalWei\": \"800000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf690cdbfb7546deedd96fa937526ddfc87a3003f\",\n      \"totalWei\": \"800000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe9bf5cc4b02213308bb47fa7d5c4228a34214e97\",\n      \"totalWei\": \"800000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x96aee4744ad5163d948247c71f885e5b901cf85f\",\n      \"totalWei\": \"800000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9f6fade63aba9fe7fc246466051e86e44c1afe27\",\n      \"totalWei\": \"800000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6d973c0d297a3b6ce0aaad2defa2120490ac81ad\",\n      \"totalWei\": \"800000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7ef38004cd4a990136b55ca791a02853e7df2182\",\n      \"totalWei\": \"762413664535309\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x226924749df696840b09b7e588a70c13815c37e1\",\n      \"totalWei\": \"700600000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x10103d79ac194eb0c4cc75742bda65c18dff335b\",\n      \"totalWei\": \"700000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x40379bf7c24fd4c84d980c306f25043eb13fd222\",\n      \"totalWei\": \"700000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcf31f6d1811fd4d9664f7e299cd5691928f9712e\",\n      \"totalWei\": \"675566121283188\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5f9ef2dfe7f11c9929db93c38c7cd1aecb9373dc\",\n      \"totalWei\": \"656283302493188\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6a2360e5819125dbd2ec3fea504ebab838e5e1cf\",\n      \"totalWei\": \"609910274974702\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1288134ef88a2c6b042b08dcaa4889646f6ee8d4\",\n      \"totalWei\": \"600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x55834b08368c0b9fbced31f69ec0b6e35aa8ce71\",\n      \"totalWei\": \"600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6ddc3eaf80d67abaf17d72ccff71e06f958cbf67\",\n      \"totalWei\": \"600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x95b4aaac2f5cfef54f5277147140cfdde15b8a36\",\n      \"totalWei\": \"600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x530c9c58549b4abfd74e24bd876ce983536001bb\",\n      \"totalWei\": \"600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7fcc8be7cbfb799cdc2162f1c6b1b1c813a1fa5c\",\n      \"totalWei\": \"600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa98405519353df4616cd34949f75c3a7f3d2da7b\",\n      \"totalWei\": \"600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf418849308e455f856d9b22bfee29e0783bad921\",\n      \"totalWei\": \"600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6858c3ed70e40279e60592f55c680243434b75d6\",\n      \"totalWei\": \"600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2700ae5779d5b5a549ad89149656af4394cc08ba\",\n      \"totalWei\": \"600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0737e8e41a9f4f1c5c24f305733eecc40b00bbd8\",\n      \"totalWei\": \"600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf6f2778d09efccd1f8e6423a22dbee8f9c75ddc5\",\n      \"totalWei\": \"594224893920443\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa5f225ddb3a93937f39dd2819463ff6e27218c10\",\n      \"totalWei\": \"583860000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcc5b3ac632f8690b3c87ff921fc0196976736584\",\n      \"totalWei\": \"570000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd7798a6b17b00484183fabe01451dd25703cea91\",\n      \"totalWei\": \"550000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x94eb34008b36a981a03b5b40df09f8a6d4c8d135\",\n      \"totalWei\": \"543172140000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xeb09ff0239c135c1b2eda6d6dfbf5ac94276b651\",\n      \"totalWei\": \"538624783203525\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc47d9828ea3bf950680d7227a4d498c5a8785ddc\",\n      \"totalWei\": \"534762217979775\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xbcbf79e6190579267f3b265c05ad9760905199f0\",\n      \"totalWei\": \"533256544390941\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x492828bd90d503863c74fcb05765d207cfeebea5\",\n      \"totalWei\": \"532796274688447\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2e96a32546ac73192fdb9bce2a95926c91f1f4e0\",\n      \"totalWei\": \"530000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xecec066ac76f02590dd7ff6201f556e6f079d257\",\n      \"totalWei\": \"529165858218828\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc462bf6cd158e3301dc1bcdb11f48107f0ea8c82\",\n      \"totalWei\": \"510000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe1eb555e3c7ebbcac3f92e0520a828bac8e90a1b\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x94424ee28fb7923f2a14bf663461e71ca79b6cfb\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1795dac5061d0a2184e447860f9dfee1c6bd31b8\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf4af0314a06ea7376da5bdecc33f6f9800f1ae28\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xab548f756bc06637fcb88aaf5f6b393848bed603\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x56597276ec74bede779f0e0ea8f4517c91c6e41d\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0dc2af2ac013d4082384c3403e4df53146623639\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0bd5ddea382e8d8d2c1d62a565067f519d4b5d0d\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd8f6cfe5133d1f44fd39b7bbe314c6b50811d77b\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x35e7444a2fa9719f21fc7037a12df517fa985f20\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7836547f7109f79d0add56f3225262aebf1cbbc6\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8a51ac0bf2f0bbfb137f6463f3ba385c4e971a28\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe4ab7e16ef9bda7f5fd2e39138a92c78f59f06ad\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa0680aaaa7fddb57a9f22a5c2bf18603d4c47f22\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xad8cfe9b7bb518234415eebb601d2c170866357b\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x11e7c5caa6dd51649dba8667b2edbd0ef65ca5b9\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x13c5dc21be92d96c69b154eb1beb24dd8fe8d15c\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x656a67fb456ae9a877c412ae70ec264edd2751f8\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xeedbaae668f3f84ea398b4a3d3263eb34677608c\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xaef0e114690203f5baa14ee7bd55954bdfb852a3\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5bc69c6576b9a3ceede457637d43272f050e709e\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3c4b41cb2805c544cb2d7760f2b81b89f2d55632\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8de80e5256555e49e8ec8e126a2a5cc459d76444\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa7a12a1d7000e40ecc18a62af456791b89cb2770\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xee23bfc7dff09e038be61f823dcd701b786a59b4\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8bc62c0fd236e600db725c414ba220ee30008926\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2f7a6a657832a868d5948c6e57833a834e044476\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd498f99bafd467c5d06556d433ba89e52686f74b\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2f95297410d1a7278a110280fcf8c0f38dd5fcfb\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1778d07c9f85ef0663e18c5bf8db042f70c3d08e\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa18ab38d0c8eace4869c43ff1e591d7eaffd3893\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xed363c3e7269f57b224f03f2b50bffa997942fdd\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcc1dbf73ffb6811a65661345e3d73e7b14e39b1b\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe83120006d095f311a7546c86be2879c7a604350\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7f9d2edb0a75bdc7d5360b06d33fdf21e08d0eaa\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa39ebc21130cc538161fb263bd34fe5cb1581b50\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc91af683bca743a05ce5c0feeda403039f6ea62a\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb5fa7a4025475780fa4d56e07755aee66301b92d\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0xbd58b1bd0effa1873c2f6aacf4398170454fd9bf\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xafebeed0e4b14c0d3f949f55e5158308af559793\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8d308cfd4c2dcf79b6eac010e20c5d7563aadb3c\",\n      \"totalWei\": \"481015004793409\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6d76153c524483f422b6d53192be2e60130e80c5\",\n      \"totalWei\": \"461518060060246\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb5489ba8c9c0f307f84ce722d28dfbadff04e415\",\n      \"totalWei\": \"447096612912695\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4e26fb3a0ca360b0ab813fa82a6679a197b4e333\",\n      \"totalWei\": \"442420000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x83f6f80495f6057a3a2985893ffbed9b57863d8c\",\n      \"totalWei\": \"409932226876105\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6080e863914e66e427998c6f4cdd72f990e648f0\",\n      \"totalWei\": \"400000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3f16dad4e21b353ede9bfedd29a4c1c07352e6e3\",\n      \"totalWei\": \"400000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x617af82a0420bdb424299159f0f3b2cf7eb2a6b5\",\n      \"totalWei\": \"400000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcf432b0da6b77f0357e44d5dd5f041a2715ce330\",\n      \"totalWei\": \"388447698989110\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x25f012acbcba769b3947552e5408d241b8aaddd8\",\n      \"totalWei\": \"366040373899517\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7eb651755e4ae913ef7952f6f334e3d07e518b8a\",\n      \"totalWei\": \"360000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x0bfca95e97b1557e9d4fdc9297a838ff54efb6d0\",\n      \"totalWei\": \"350000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x64f5de151ca43182d4b1b978c1864a4710920965\",\n      \"totalWei\": \"348890000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa987e980361f11e1f671e6f559009de958fdb08c\",\n      \"totalWei\": \"340000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3ba4f2d808020d4e12599b2dd0822478cdbe5fae\",\n      \"totalWei\": \"300000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd4f5bfe8efe9e8f9908c9e448d2cbea5fef90905\",\n      \"totalWei\": \"300000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x48c818a1b48d1287e81bf4ee8eecd2e0f7c2a3e1\",\n      \"totalWei\": \"300000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1e31f97b5b35da0932bcfa8406a1d10b171e579d\",\n      \"totalWei\": \"300000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfd27810e3be0a0431750a6be8f8dc6c156b9d743\",\n      \"totalWei\": \"300000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x67101435d1c6fc8570c6f1e5094692771eb3a68c\",\n      \"totalWei\": \"300000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc84c03c6cd89ce484790df99a78aa4127d7369ad\",\n      \"totalWei\": \"300000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa61abd3797558b1cffabc6fc7ac0a2ada09a3db7\",\n      \"totalWei\": \"300000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x48368579c5e4c0d14d5dc38c37daf4bf2461fcb8\",\n      \"totalWei\": \"300000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1a0a2244637a8fb376e8a129064066fcd7149506\",\n      \"totalWei\": \"300000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe7c65dbe91e4351cf18a1ad7e3e8a832b11447e6\",\n      \"totalWei\": \"294075187005105\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xebf5e91345343e110b06d0066cf83524f0447511\",\n      \"totalWei\": \"284340000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4f6bb5d34bc28181c4ecc873c2c3e26bfbdbeec9\",\n      \"totalWei\": \"278700000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf9e96b3190e5ae39fa8ea07c1e85d79e6e2671ac\",\n      \"totalWei\": \"270000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1b2d1f0540b091d74e6da9906544aecc746dfb8c\",\n      \"totalWei\": \"251815150220138\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb8e97da197da0c19e6c93519fadd5d3e692cb924\",\n      \"totalWei\": \"250000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x543948999989294cfb74cba5a7d9f501a84a12d7\",\n      \"totalWei\": \"249499752995245\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc7f2886d1ac8e743a3a45aaefffeea3ca21dff21\",\n      \"totalWei\": \"200000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb33ebb0f3507557738fec4ad87947d68981a7b40\",\n      \"totalWei\": \"200000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x47113d8eb18ef6462662b53214134cad0cb0d9d9\",\n      \"totalWei\": \"200000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd26cba91cfe85545902e54d313f699aaf1d9cf2b\",\n      \"totalWei\": \"199340000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf99bae1788861dbd31c1377b4d729f3035dcf6e2\",\n      \"totalWei\": \"191895506648630\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xaf0457138146e7d6c9c6f17685e33076b7a5a48e\",\n      \"totalWei\": \"187669012427341\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x090097fccc2be12e19e4e65ac159cd76c16455ca\",\n      \"totalWei\": \"183722580000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1896c0abeb1f6cee4d78b5544e34cf0bdd336c45\",\n      \"totalWei\": \"127688937930931\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8936a379cce9d9524b6a1e0d0a7e077c47df5c1a\",\n      \"totalWei\": \"120000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc0749b740cae8768b89547fedbc33eb45afc236c\",\n      \"totalWei\": \"106609808102345\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x159e79bbf88661616936f8b3c4cf332efb41a206\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x11bfdff29073dd89ced5a80ebe24a84b74928fcc\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe705b4c6fcddbe8d3b9f641138212f39f7a816fd\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4a3d2b1796c4cca1f3e4d37542d4773200e5474c\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd5454f9505f2374d5f1f1ed81528d6d26fae9322\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x89a443f05c5e7f1b0faf221db0868f87d63721c7\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7183d6b75f7f706a93cfdf2978b10d1e85c800a0\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1eab1f0f22c8421b7299240fa0d5fd75ef612624\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd7fcedb314053386c6a268d53a64c678e3c782b2\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0xf1a8238497c189fdd723308f13b5bc5689ef5e57\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf1e3d1ee3ea0f355291feafa95568d3f2f7cac58\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc0cd3824d1fb455b1871b0248248079db7e0c79e\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb066d85234a4a837f1045ef66b6f67aeb0a9dbf6\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x71193d5b9d465ef47e633ab7e04726e8c3b30000\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8171d002fcde510ff998a13036076b16a8761876\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0xe5239c9b7a156b83384a82ccd147978bb4d30a56\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x649229717e268cba9a0eecb5c671c83aad36cccf\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8e53709a3f0d16019fcc3253acec8ad0f3e9de1c\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x885a5b39c72849fd3098653a5f941a8818ad2710\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xdba62cba66bf4296208552d0495a0f05fed4214d\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5607ea3cdf7fc617d44fa7ce4bbd540ab6024b61\",\n      \"totalWei\": \"53258912879070\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xdf1e0be7c2c8ba46b9fd94edc12621501cc9409b\",\n      \"totalWei\": \"52956284587073\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x41a5b533df057e141736a2f8701c9976b55fad6d\",\n      \"totalWei\": \"33806626098720\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x54c5eb5d368e6aa7afdb169c18052576bbcac916\",\n      \"totalWei\": \"26493818579131\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xefcbceb9c6728c62cb813d5fca9081b8c23ba578\",\n      \"totalWei\": \"25179525000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x53db34bbbc682f05b423bb89934884e77cb88b13\",\n      \"totalWei\": \"24000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x99584423abb4d430ed1cbb902c01268299ff25ee\",\n      \"totalWei\": \"20000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x10d00f8fced0fa076e0b2885f26abf7a1abcd7b6\",\n      \"totalWei\": \"20000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x02a9db2e093067f4c00a2c583073375ba218f7bb\",\n      \"totalWei\": \"18225720000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc948268182b7b515b662e154ed47f42b9df2db1f\",\n      \"totalWei\": \"10662799624669\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe2265bd25235221852bd2dd59105cc45f302e2e0\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x878f2cfd94d7ed4e0468865a72a8ae9a0e9590f6\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5aeca0d8fd7b5ea72b95a4a2e8df63f7a3e76e16\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe544d807cf789ebce987da5431a4376d3376b872\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xed2bb379f793e3b8484bf7818e25b5aecfc252be\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0761282e8173a69e8fabd7876ac54060e4d1b661\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe635cd5b39774dbe60e1f1519fc54244971c00e4\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8dbfa2109318704a0e6c1683bf39c4275ee7b7ce\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6d26571a216dc81dbbb423ed095e592ca6304e93\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc7445cd6cc8303d4a2da4f785f5c37856ff6fc36\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd28bd1ff29772f8887f4240bc1691d00e7cf9dc2\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf6040b4bbb2d768ec77b54edbf5c88ccf8dcadeb\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x613ddc948ac426ae9ee663a56190b4b0a5f32474\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x08584c687c8885a55342e22b82103068fcab6b04\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc3b4c774080e9133fc2829894def07f66999e7f7\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc4dd1ea8729132aaebe2d41aa5c28dfb1cb94504\",\n      \"totalWei\": \"5028220889744\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc10f42d279935f14d1bd1e944544ccb0f37ae039\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf51fc6c0cad84c2826aa425bf2bb8ea4a0126678\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb49b1f49a1a0fcb3c4db2d0f045ea86b54a4c42d\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe950d7e5066c0412d8416bac74c45a499ef8b5fd\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x740478f00ea1c4fe7d7567e256b6dd0642a733e9\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa1980770d2277ce0ffa0ff2c2b7b19d59ac5f69e\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x92e2c20965ccff25f398512efc37af3b8021dfb7\",\n      \"totalWei\": \"200000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa8e8b427766cb8febe4fb07b31c43ea86d19d49e\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5d9fc8c2fc0b617643fbfb7c5e27839261475d4e\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd5c01e60ee9a8f5e5968dd95a5d1133515233707\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x490fc308d8dbcc067fa1f1fa2d755819824b4eb5\",\n      \"totalWei\": \"10000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x539ec54b911eb291830167e337b82c8d41e643b3\",\n      \"totalWei\": \"10000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    }\n  ]\n}"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/output/base/recovery_addresses.json",
    "content": "{\n  \"addresses\": [\n    {\n      \"address\": \"0x1696a911cb799608b1ccbfd84b21803dd615be6a\",\n      \"totalWei\": \"12057684490000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb000524c5de61cb27c01567cf82e6cdcd252d809\",\n      \"totalWei\": \"6000000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x201b5abfd44a8f9b75f0fe1bae74cdac7675e54b\",\n      \"totalWei\": \"4800000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfa89ec40699bbfd749c4eb6643dc2b22ff0e2aa6\",\n      \"totalWei\": \"2000000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x15ba3fca21f8b20f145e1536a433a65bfcda7ad6\",\n      \"totalWei\": \"1099888210000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x455405eaff9d4391bdb1ffd3cdd09953109a2aca\",\n      \"totalWei\": \"1000000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x329c8bec2e66633caf5289daf6a08a53e55308f9\",\n      \"totalWei\": \"1000000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x05b5f0f2c0107ee203132903a5dac30e587e7ad2\",\n      \"totalWei\": \"1000000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xdcd4d39c93990f366e601c3a083e90146d5d13d8\",\n      \"totalWei\": \"970000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x07cbc5bffee7b95cf72526df4da2e32ac9fd242e\",\n      \"totalWei\": \"960000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x366b6be122c14591010810cb5539410e076924a5\",\n      \"totalWei\": \"900000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xeada0167a1e12f43f53a39af051932e73ded6868\",\n      \"totalWei\": \"895760000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa40fed6138769b66de011ff72d9c9de53e6572f1\",\n      \"totalWei\": \"800000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x97fa3a7c5caedb67ad4bf5f233c34b28f9ac590d\",\n      \"totalWei\": \"697018000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5709577f162ea5b815104961ff955d9549ba5047\",\n      \"totalWei\": \"690000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfb4e07d3bb212a873816bc894f6c24ce84465a54\",\n      \"totalWei\": \"660000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xee4d973a7972935b0d613dc70f9e666a5e45a7ba\",\n      \"totalWei\": \"600000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8a82d146b24d224858f930566cba1b108589f94e\",\n      \"totalWei\": \"569696000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x16ea94d9e9bc03960355c57be2b68a5dc0a4b27f\",\n      \"totalWei\": \"542120014528816390\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4e1df28e4473673854d90fa847af1c90ea6606a9\",\n      \"totalWei\": \"535000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3c31e46acb52f230457c379249a04b1879e86f85\",\n      \"totalWei\": \"500000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xaf7ad8c63072c848d48abd44a3301b631ddfefcc\",\n      \"totalWei\": \"499900000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf66913fb65b77fb22cbad5864be4b56ea4f8c693\",\n      \"totalWei\": \"489976779361325916\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa654b921e43662422f86745dd2b14df8e9e4d595\",\n      \"totalWei\": \"443000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xdef28f5c5d71e0a0dbf34652d637762cdbc5d79e\",\n      \"totalWei\": \"420000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5e518d06bdf9d0ff04baef4448996b583e13e9fe\",\n      \"totalWei\": \"360000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x107308d558f116f83299d895c78e3de69fc6e809\",\n      \"totalWei\": \"330000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6f63e5830a3d72636f2aa35e6cc95c84c4240f82\",\n      \"totalWei\": \"307801441659709379\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3af0f1966186e9613d348b8eec103bbb5d271f4a\",\n      \"totalWei\": \"300000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x519fa95765135191a7ebcb83062c55454d7f4104\",\n      \"totalWei\": \"290000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5011739d37ef1939374a012573ab85b6bcea1cff\",\n      \"totalWei\": \"274691460000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4068c1fdeb99be166f4d43b14819b437344230f6\",\n      \"totalWei\": \"258000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0xe3dc66bf249ed8b6dec7a7a8c6f49fd78dcaf16e\",\n      \"totalWei\": \"229000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x86c24fbeb07b96392ad88daee44f98c2d4c590c3\",\n      \"totalWei\": \"222152410000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xbefc15f65274bbb680976513b6e74bf0181e46e4\",\n      \"totalWei\": \"220000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb283572bb0c56e1252c5acce6ee4686da9689b2c\",\n      \"totalWei\": \"200000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x21d83329ddb737e39ec7eb710eec84b3e0ff39c0\",\n      \"totalWei\": \"200000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7b284ead6f87c4084f7a91bfde4138ec72f354cf\",\n      \"totalWei\": \"200000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x005b41103d59ec8f966ea98229ba9409479e4ea0\",\n      \"totalWei\": \"200000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3a2ed3fcb00814e325eadbaba88bb903047c3fed\",\n      \"totalWei\": \"200000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x52652cdd2a98030bae46c8ac782150b2436c51e9\",\n      \"totalWei\": \"180000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd56de73036ca986fabbc144da080896ef274de1a\",\n      \"totalWei\": \"168548292501350902\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4657c4f5073c1ec77f52ae2671bb238fd21404a3\",\n      \"totalWei\": \"159729524671559990\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x438aba433d029f8576078f26d543037daf222222\",\n      \"totalWei\": \"137043588205698000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1a7e2ca67acc18cfd1ef492671bb5303a2c01266\",\n      \"totalWei\": \"134500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7f1be0566712941985b71d5fa625f5a5ea2add49\",\n      \"totalWei\": \"133000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd728489711d19410320617cbbd97da8f10831ddd\",\n      \"totalWei\": \"130000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x17254d13fb3bd85009b1b83426efeb7ff39249fa\",\n      \"totalWei\": \"120000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x47782f8494c090bf5faf0e79d8b6cc0b8e774352\",\n      \"totalWei\": \"110441409899806368\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf68d7facf1e78ae371480547da465c5a0a42fd2b\",\n      \"totalWei\": \"110000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3724cf4018a20c6fe227f7c710f97b5999aa1f6b\",\n      \"totalWei\": \"108662221447807990\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0e67ade795cd2a6918d273b3f59487aa180ad63d\",\n      \"totalWei\": \"107000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x09a09c3d229175859ec3a75e919767df04612354\",\n      \"totalWei\": \"101950579290138154\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xffa0a4e79f7297c99085a0c33224f3ad92c62f5d\",\n      \"totalWei\": \"101200000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x73999ec31f59499fd442e74380612bc376940abd\",\n      \"totalWei\": \"100000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x18b0a909c5fb8034822e0867431cdc957dc1cc1f\",\n      \"totalWei\": \"100000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3dd86905fd5e25f3c20338ccefeaafa94611124e\",\n      \"totalWei\": \"100000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x236ddcbec59db65e1641c11adab444bf159ae3b5\",\n      \"totalWei\": \"100000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x107e0c10f250824fb83380c65bc8e87baa0e4790\",\n      \"totalWei\": \"100000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x96440ab4988dfe0dcb4c288ac10bf1ead6fe1d1d\",\n      \"totalWei\": \"100000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1eb8f93282e7bf3b312e0a325a2d920697dbb68f\",\n      \"totalWei\": \"98844150000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x670d42465567ae7e449145cbc4f5de9d82dff827\",\n      \"totalWei\": \"98741000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x18eb2a28acb2170cb2f95d904889ef8d255e8d89\",\n      \"totalWei\": \"96278000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8fc8f5ee2e09eb75c8786bec8e4bb505c3d98b30\",\n      \"totalWei\": \"90000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5b16daa1f7d5c52994f46cc0cb2f8fe240cf093b\",\n      \"totalWei\": \"90000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb0c07fc40fda8a7cdf8a7683f66347ff5d6efe17\",\n      \"totalWei\": \"90000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf6af03657d52a0df99d588aec0d25400ceee9329\",\n      \"totalWei\": \"82000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x42fb1432fce71c7ad74bdfa362661d3502407e8f\",\n      \"totalWei\": \"76836920000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4658a8e637a7401f25b489fa27c96cde239d134c\",\n      \"totalWei\": \"76000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf2f9a2738a2f5340cca5fab5c2fdeba69e0d437c\",\n      \"totalWei\": \"72000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb8db687237cf16325758382431299f272072737e\",\n      \"totalWei\": \"70800000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x599a7c81ab278a329c20c1919b4d6f519ceb053a\",\n      \"totalWei\": \"70000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfdd80311e3bba62cc0999d7f3a9d39dcfb9527bb\",\n      \"totalWei\": \"67000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb66f681b57349ac241a97924f9f00cdf66512165\",\n      \"totalWei\": \"61500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x427a2f81ff4a400175e74925b166d49312fb9261\",\n      \"totalWei\": \"60730000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd24b891825af7a1c4ae730db222a6d6ada9ec275\",\n      \"totalWei\": \"59500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa7a90d5a67095a52073e3a71097ecb7d8d2af009\",\n      \"totalWei\": \"58000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xdceef88c8fe72fc73fd21924606f878c1a9e4c81\",\n      \"totalWei\": \"56335371090489785\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa7b7f1976dc6889c454e24bb7ee41c5c41b34764\",\n      \"totalWei\": \"55870000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1aa2b709e2f6308b4822a2e46f82f0bde2879bcf\",\n      \"totalWei\": \"55000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x93b9830e92e8e84e84f9bfb8f33a70af37b47854\",\n      \"totalWei\": \"50105373507752880\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0510b337b4b8f96dd0ac7423a8fe3eabaac6573e\",\n      \"totalWei\": \"50000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x310e8c519b3d8f2e48df16dd5eff5a0eb4070bed\",\n      \"totalWei\": \"50000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x98c251693513cb5e0d435c49f71a23094dcc6a6a\",\n      \"totalWei\": \"50000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xeb8b8e35faf85e53ed98f2271874b191f6296737\",\n      \"totalWei\": \"50000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2143ced53f12b1a244e6665769e0d3a063767479\",\n      \"totalWei\": \"50000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8ab9829ccc7704d8d453642a9928bdb4d98fddd4\",\n      \"totalWei\": \"50000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4e28f2bae5b7cab93836049e092419db1b7b8116\",\n      \"totalWei\": \"50000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xac57e69a55e2f3ca34ebb079e3f4a7088f36d727\",\n      \"totalWei\": \"49000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3bda4f7dce1121210163169bdbd75dd39c5a2173\",\n      \"totalWei\": \"45670000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x65f3019a75931101189ad7399847b2821a193e98\",\n      \"totalWei\": \"45000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9bb6000999a16c89ead0b7d1b1c08e644734597f\",\n      \"totalWei\": \"44282701407066770\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb0920b2153650c5871056b8a931ed5ba2a2e9b15\",\n      \"totalWei\": \"44000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0eb9281b7985e295a65682545ba1152a52c7d4fb\",\n      \"totalWei\": \"43100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x77c612a12169d247dbe508a0bce17353365ab47f\",\n      \"totalWei\": \"41282670000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x31594337cf57916ea3f9ac0e9f2aabf0c687e11d\",\n      \"totalWei\": \"40629423176554564\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc60003909d9a4895c40d90acc86409e79e4c1057\",\n      \"totalWei\": \"40000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa4516aee956f1fe7e43a8f21088e72bd369d6bf9\",\n      \"totalWei\": \"40000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x29ca71a8f2192cffc5fc0ed82fb893bd2f5db5e7\",\n      \"totalWei\": \"39000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x28f4310aaf879179221e519a97960e9542881712\",\n      \"totalWei\": \"39000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7446b433ef38688c6cf29d47594ca9f5d0e75ec4\",\n      \"totalWei\": \"38700000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb977c4972a98e65c7be0f8807c3ed5e64cab8c91\",\n      \"totalWei\": \"34699354875259360\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc4e510852ddb70c716af5cb0bcde0db00ef7a280\",\n      \"totalWei\": \"30000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x681bf9b2d70b77c3d9278865af9c8da6210908c6\",\n      \"totalWei\": \"30000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc17fcf6eb176569e2751f93e65660204f8d83e13\",\n      \"totalWei\": \"29500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4c4e2b618dc9f28dd6cbb5f1a024fead3249c2c8\",\n      \"totalWei\": \"28822154896672010\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb1833a29879ca6b0c2004833cf8ee565403566f6\",\n      \"totalWei\": \"28700000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x18f167fb09fc6e86c95e97eeb726d1de3089dfc0\",\n      \"totalWei\": \"28029363390885585\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5aea06cd79eb75df48b25837a445a8347fc2cc35\",\n      \"totalWei\": \"27523677554484075\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x914a6fb358bc0976070e44a32117218d388f6582\",\n      \"totalWei\": \"27270000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x20ffe0d07d7f7c2c21a24537538b4cde06c9048a\",\n      \"totalWei\": \"27260400000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xec65398e8f53f98b5eace635038194a85b355079\",\n      \"totalWei\": \"27000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfffc4f59e558ce6ef09a1f2184d3e84dee1ca153\",\n      \"totalWei\": \"26637401042055129\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xdb9fb1e7ea27eb9f2481442709a9f9733633de0c\",\n      \"totalWei\": \"26216960211420581\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6b25d98996f99cc322a404954376cb1bcb3409c4\",\n      \"totalWei\": \"26000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x58b1d79a2509f7d9efa4ec5c6122ffb08221a822\",\n      \"totalWei\": \"25000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xed9643d249293212a067bda8a851bd0a96206ea2\",\n      \"totalWei\": \"24786530000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc423809456d8aa52c2611a750e6c463368035bae\",\n      \"totalWei\": \"22304875509590646\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x62c8788f6fa08e150f930f8a8c4b62848c622a5f\",\n      \"totalWei\": \"22000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5cbe27489a35a22068c840d330681545c35896dc\",\n      \"totalWei\": \"21000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4db47230a858ae1f6461a1a8d76667c5a7378c2c\",\n      \"totalWei\": \"20960000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x514756d0c33b6f75c59067b926a6692ffe791e51\",\n      \"totalWei\": \"20552367423731588\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd3237b6c2cee115db0d4bfef4789f6b3373584c8\",\n      \"totalWei\": \"20000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x18ad1c88345cb2fd5e0963af9b7b67f09315c54a\",\n      \"totalWei\": \"20000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2adbe45964907ebeca94cac2d244ea83f67bd9e4\",\n      \"totalWei\": \"20000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7303ca4a88f866d91eb3903d285886ccf4a94993\",\n      \"totalWei\": \"20000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x787a66a377269f200e28de03cc033358a80f43ab\",\n      \"totalWei\": \"20000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0xead441807624cba5b309a8dc622a33a81622b61e\",\n      \"totalWei\": \"20000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7c350e2f7a296319cfda4f83b214232e89a6a7df\",\n      \"totalWei\": \"20000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7a76c97c6eebf3af522613be02683c2f20514370\",\n      \"totalWei\": \"20000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe222913573f61acd28e55d24abf23606e3f5cb8c\",\n      \"totalWei\": \"20000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf62fe60688734155e450d0aabd2e5798f394dd61\",\n      \"totalWei\": \"19800000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc0101b80723815c7cb590cdb3c7a8a53a3ba3257\",\n      \"totalWei\": \"19259015420790445\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4daa01798d81ce18360ae3dd4d0d6d33be4d6e6c\",\n      \"totalWei\": \"19000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xae7bc08aa50ca140945bbaa944f04b1bb03e3f64\",\n      \"totalWei\": \"19000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xbbf61f09aff0fc6f0da30b390e5d7562109d8324\",\n      \"totalWei\": \"19000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5dc42fcce46d1d9d71546ad35803dd7ad6976b84\",\n      \"totalWei\": \"19000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xeff424b93f54905c5a70230665ba866f3f7fa7cc\",\n      \"totalWei\": \"18400000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8eb882bdda4b0b7134424fe7a9640fe69cc3493e\",\n      \"totalWei\": \"18326823968269693\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x90ca7878be26fd29127c6d383c48d995c8c9ce61\",\n      \"totalWei\": \"18000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe78358a49d931db2a18dbe4a85a285620a3d95e7\",\n      \"totalWei\": \"17800000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5e27d99647f01b59e8ac4467facedc37fa0bdd2b\",\n      \"totalWei\": \"17653441619000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9664fc47ffd856ba312ab4007fce122a3afbb584\",\n      \"totalWei\": \"17543000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x74e1d68ff9b267e48126a9d2289c8598e295fdac\",\n      \"totalWei\": \"17001652709900660\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x43dbe9cb8659554a8239715561ca94eddea4b40e\",\n      \"totalWei\": \"16340000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8573e6b97084c0979ab2087efdb178b27beaf848\",\n      \"totalWei\": \"16264551829981079\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x934d697f66212c62fb1a8221c11ca7b3e7e7a17f\",\n      \"totalWei\": \"16000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa1fb9cdc9fd3dc3203044a730ce671ffbcd986a5\",\n      \"totalWei\": \"15800000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd9593cf755a011f993ae293dc935f659bebc37cd\",\n      \"totalWei\": \"15000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5854b90c3ea7b605e4bc4b34cfcec9ff0c5b05cf\",\n      \"totalWei\": \"15000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9b2f12393217b6a0d1fa10ceb7aa49858edeffe5\",\n      \"totalWei\": \"15000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8514b324c54150ddfe6b12c7f38a4b5e01e4ab14\",\n      \"totalWei\": \"15000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcd8e65c880d1f9fbf0ed977a69ae29bad5ecdb51\",\n      \"totalWei\": \"15000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x753ccfe3f00683b8f812985a6f4440340171ccb1\",\n      \"totalWei\": \"15000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf1e33195b419e1a1bb55cebc8d159ae5f665eb69\",\n      \"totalWei\": \"14555000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4b5883f3e0f201b0e2f453a82a97e353aa25041d\",\n      \"totalWei\": \"14000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd0b24fc5b54e9ccb3961217ce98b90dd438d692d\",\n      \"totalWei\": \"14000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x171e656419d223031c707e9db05fd94fb939bb7c\",\n      \"totalWei\": \"14000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x12912e4003bff2e71365129f7040ec9957071175\",\n      \"totalWei\": \"13970720593648001\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x01a18bd909f66d36d0dcfba103ac15f173dd28bc\",\n      \"totalWei\": \"13471170348337523\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7ece75b1b7dbb1b94439d33b5756cf3d679f8c1c\",\n      \"totalWei\": \"13000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc2d9e267554c86db22cdefc94d646346b36623bc\",\n      \"totalWei\": \"12917322564586538\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x459f3294d879530b1643c885a864e764f2b353e6\",\n      \"totalWei\": \"12900000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf1b792c5b5a70f8476ae6339a5a8ad8c670e4755\",\n      \"totalWei\": \"12740000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x53ae17210138785166858a2df8fc22e13cf153aa\",\n      \"totalWei\": \"12407067261360203\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc36c9bd0b67297d4135e176887af0c85a00ad962\",\n      \"totalWei\": \"12160000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2b66671cbcbe2f4ef0782e65fcce24ae69bf2e24\",\n      \"totalWei\": \"12000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3d1ac9f9848cdcda9b6f1765c91a13d68d74bcad\",\n      \"totalWei\": \"11900000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb85617d15ada455f6b58954f2063a12ab2ea7507\",\n      \"totalWei\": \"11787542133987838\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x47b8ad1b72d5e2700971e953a35457740b9954f9\",\n      \"totalWei\": \"11760000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xde5802130a46b2bfd4920ae43c965102f7166274\",\n      \"totalWei\": \"11100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb6e7bc53aac865895c18a0d6ace8456cab35c4c6\",\n      \"totalWei\": \"11086500000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc351accc1e82be5294d3080cbd6182a3acd2c54c\",\n      \"totalWei\": \"11000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa542b59486a23f54646100bc30e966966ee16bcb\",\n      \"totalWei\": \"10918500000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x91f31ffca781f45454cb0f651e6d359becb9fea4\",\n      \"totalWei\": \"10904538233880000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4d5e44ac19fdad3812c64f5802747adcfa0c5544\",\n      \"totalWei\": \"10878600000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xce1aa76dbdd77c092a1efd763c0f3c6aaffa1137\",\n      \"totalWei\": \"10725672164468000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x70d5e6a746566032ae5722aa3396a854440a60a9\",\n      \"totalWei\": \"10719090163626911\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4d43b234b645972785f11c56bd5bf078aa9468cd\",\n      \"totalWei\": \"10190000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xee8311fe397e2464f78b3732e74dcd65087e7187\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2bf0410bb32cbeb1f1121435526de8716cbe662d\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x295e8c23aa5f474bece1d5e08515087d0b7309ff\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4f05008a04e8d7ca6c497ce4ce927f1bff04ebec\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x562b7690bda71cf36a1030d1ef54a0be638bd457\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc1812a4bbd0321a0487492578df3afa7d19c004b\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x699e0e3c218f0800d01e12ddd9571ec18be33c61\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb8c4f7b36e1413afa6cc0d2d7f726c61d33f4eb9\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf995efa2876e442e2f6e0224f29db627d7702f39\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc6c3d91d0e909172c2ea724716ee59519b9f6132\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x604f60e4152c1ecbf85a12d1550630da7d6c6e25\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe8a45152f9032197494b1a1a2d07c33f4aa21329\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4b05288d9cc08a869a7de4266e609ac54f817f5c\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd7c0638543f7e0f781cb9ec612d3f447c212a1a8\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x448749280160d2126053330fa7a18f893943c455\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd65bd6e079235e9c84e3806cc05d0d01840b02f2\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x92892a31a0b965c2b5022d4ecb87533cd1eb8bbb\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9d677028e0e592d48fc8a8ddc910693301a4a450\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x833634e4add904be71635bbcec6e3a5e152683fb\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6f1bf6628a272767df396b71f8ff6348777145f8\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6d9bc2bbf55abb7e4fd88349df093aa5e2ed31ff\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x37ec5a0b4390516baa30206e6cf84e74dad4d989\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5d720ae0c5795ad9515310d0c53cc26541a4cc59\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe23cba3b9537ec6f55031eb3c9e619ce995769f0\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc153ad842675e853280a76e9b09cf20d4fa339cc\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd5433cf113cc4195d612b035e04aee92174ba8bf\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8c1b0096398f8f5723785f10fadde5f13f3683cd\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7d67a1bdf638da91c12d55756a802aa67cbc891c\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x488ae7ebdfd37569046199e8e72d6252bbea750a\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x23afc240f6b6ca64334cfc791d85130c8b348fb7\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf6404a6ffdfdce1b7b5b94e9dcc870165f2c35cf\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfd8f7a51b176d6c4572e08c93ec81f279a7fe516\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc540b64c3cd08010ce8c54533f8c1c68e738bf01\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf27a6346451cc3acc22392b31474f0bdbe4ee96f\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc4f5cc2d73025b63d170f213aa0ce42b2ef7213a\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x310f07ee4fa0c3a8a29cc3cb093899225c0b9f8a\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9a76c3cf9eb7b4c6cf4c226cbf302a743b6bc427\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8b87d657a530cc7e5decd181218bc5a3b103c0f3\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb3ddc2a5b4ebdb7640191906bd4195e23e17142c\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5aba902c17afd30c7abbc65d71bd5714a2671155\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4303f5a2204d52a64addaae7a56c96c5a8385886\",\n      \"totalWei\": \"9900000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8b301e7b29afc9b216133536c36758bc62a2a1c2\",\n      \"totalWei\": \"9788194350036706\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2832f7bc0698a3dda01df259e32a38e871797c00\",\n      \"totalWei\": \"9600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xec757ea51688857dcf3979ca220175512c979d63\",\n      \"totalWei\": \"9568500000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x240ee788c8bf7c57b489d0ecd4399022c9ee1149\",\n      \"totalWei\": \"9530000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe73bbf1f967a5c6ac21f519a8fbf6e9112a2568a\",\n      \"totalWei\": \"9500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xef6ce0774e4351ee5efe2fb90f462da9a9f64c37\",\n      \"totalWei\": \"9500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x34b64de5e1216aea807aa1ebf0b2b90d4abb17af\",\n      \"totalWei\": \"9500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xaff1410cc2f30ab6fb775915f6eb0000834abedb\",\n      \"totalWei\": \"9427217949422976\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xef0598fc615c1f9cb440d7004ce081cc345e3bf9\",\n      \"totalWei\": \"9230000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x529a33d72423f75525d6ad387bb9d3dd813e57f2\",\n      \"totalWei\": \"9109729668398743\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb8c3596418183967305ae7bca45706867170b853\",\n      \"totalWei\": \"9000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4df39400569c9fb58d30e2437876b8490b3f9b58\",\n      \"totalWei\": \"9000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe32d2bb82d67df9fc231dfc92b77e3385d5caca6\",\n      \"totalWei\": \"9000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe44eab390d98e9a8214b3b0594f2da39d4ae1228\",\n      \"totalWei\": \"9000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1a571070f88cd0b93e56be6bc60b1a77eb53f792\",\n      \"totalWei\": \"9000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x27a48f6a22f2221cc9110194df45df7f2559de60\",\n      \"totalWei\": \"9000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x39bd08abd60ecc1ec146de981360e08b7c8fda70\",\n      \"totalWei\": \"9000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0ed02b9d3aa0cf3d9daf0f9fe2d36f74fafdd5f9\",\n      \"totalWei\": \"9000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3f83ebc905f30c9b28e4f9c62e7f9b7bc3061d8d\",\n      \"totalWei\": \"9000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x17246ac1d35229d408600dadd2032e2c8884e060\",\n      \"totalWei\": \"9000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1bc2223a70285580a85ada1002b06f2eceb3dcd9\",\n      \"totalWei\": \"9000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x92ec39c2d52102be754b8120dd061d20e3f6bbc6\",\n      \"totalWei\": \"8990000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe80d315349e6cbc79280c9d30e536c00affe6ef7\",\n      \"totalWei\": \"8968490000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x552d54e355d99de530038d36904e5a5136703285\",\n      \"totalWei\": \"8831000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xde1aabf6c30d0cdf83e286bfd9c78e7bf9006fe6\",\n      \"totalWei\": \"8700000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd60ca9fd564237dd8959da8181fe31f0473f6000\",\n      \"totalWei\": \"8565225525548244\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1f67d841728739af9409628e2782bb13339de9f5\",\n      \"totalWei\": \"8538820000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x54137aeb20563a46984faf955acfb1dfb5e1463b\",\n      \"totalWei\": \"8300000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xea62cba9a8b9059975ded734113c959570d696dc\",\n      \"totalWei\": \"8216000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7f308da0d253ff1a478bf1f21fe4ca79f5c0b4e2\",\n      \"totalWei\": \"8208181367975506\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x35317039367d6b9246441927b0645c9920eb7dfe\",\n      \"totalWei\": \"8200306144762738\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf6d64a23ce944b56edb2cb582d3715f88b1308b2\",\n      \"totalWei\": \"8200000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0xe875ef3f70ed266385898672c0077567008251de\",\n      \"totalWei\": \"8048000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe5b97bde2e19eadb8ff2e76c92902827917291a4\",\n      \"totalWei\": \"8000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0xd2da3a07bf4cd039d5f36d22f22b6fe04bd56a86\",\n      \"totalWei\": \"8000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb31fa6f0029377820c5c01216da717244b61a957\",\n      \"totalWei\": \"8000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xae10b0e2754fea510b3a4a5c9d5117150aa3d11b\",\n      \"totalWei\": \"8000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa85c4ccb4e4e2b8180411c4d5b8afa01d9076669\",\n      \"totalWei\": \"7990000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1970d2f3c90e7fc871e9561151cb80225fa747d2\",\n      \"totalWei\": \"7827000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9cdf5cba9d49289b78cce868697a5bac558d4072\",\n      \"totalWei\": \"7100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xaeb7aeb5c9ce73a3393daffd5e0a53246dd744a5\",\n      \"totalWei\": \"7067757163252252\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x302fdf84dda2093201c65009943224f027025421\",\n      \"totalWei\": \"7038500000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe67700af96cde045a451889192572ef0a67366c5\",\n      \"totalWei\": \"7000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x240e2f86f720e1d879e2049efbcf5775c2fad69e\",\n      \"totalWei\": \"7000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3c7033ff8b4f2da51e69e5c97a3aa03366171df5\",\n      \"totalWei\": \"7000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3be2a617a86dd49bc8893ca04cea2e5f444f9c12\",\n      \"totalWei\": \"7000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0d094f02a5ebecb87bba32001ffa6ded671c715b\",\n      \"totalWei\": \"6750000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xdfa00af8784ebef0fe43306551821d21a0b0afd6\",\n      \"totalWei\": \"6411615464611000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x242e2d70d3adc00a9ef23ced6e88811fcefca788\",\n      \"totalWei\": \"6220000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0fb1b2afe60efb1d011e1d40c350f4308919e54a\",\n      \"totalWei\": \"6000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1566153f101ae25aac31de77444ac7f47bc3a338\",\n      \"totalWei\": \"6000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x864e77f5b2f7f064d7193fffb7da44f6b5bf095e\",\n      \"totalWei\": \"6000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x71d4287a1bbceabe03ad852e7134ee713b03113c\",\n      \"totalWei\": \"6000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3d333ab1874af29b6e23189196813e4aa1d4d0db\",\n      \"totalWei\": \"6000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x66e0753f0383de2ba96ae261c05d9cb8a98b4677\",\n      \"totalWei\": \"6000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6d32861ac85d87d1ade24cb689d599d53735295f\",\n      \"totalWei\": \"6000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x22eed5eeb29a21a6d19acf456dc09ca3a523217a\",\n      \"totalWei\": \"6000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xee6741d501ee2117794a086b3ffad076fb3f9173\",\n      \"totalWei\": \"5994250000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2deeaed21e561889a19e72b93a99fec8d8d4935e\",\n      \"totalWei\": \"5623000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x39fbb55428c2db69759423f4c1d8035e64560755\",\n      \"totalWei\": \"5600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa0af68e0f0b91e1339370653adfb93a646ef55a7\",\n      \"totalWei\": \"5379308489893624\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0c2e1f1759ae839899f8d33be0be7da3e6c90e1d\",\n      \"totalWei\": \"5345706862818471\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa34236de7fdedf1c62f6eef67bf0933becbae88a\",\n      \"totalWei\": \"5313355118089318\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x50f443729042913cc005f02b1436676e0acdc59a\",\n      \"totalWei\": \"5300000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0f6e57ea21728d429df5cabd15ce58d34d135d7d\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xdb5498bf2d75b813fc84ae377919dadde8b379ed\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x55d22408591f2a70af3e3a60de55d890a319bc58\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x459940714954bcfbb199de84a91b86d39e4c4f09\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x962da50223fd7e9fa35231a097ee1d95dd49bdc5\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4fd99f1154d8b0783e97fd1d21609c2556c6a2c9\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa55cab60687ed881dae236f8f4de16da8a725e3f\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3e90c48a1544ebe8d3041410b61362ae47896f83\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x01dee68947ecb9731b69ff0259436aa1038e17ea\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5c4000c91da93ba643d206ddbbfbf3fb06d4401b\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x270e43f3249677c01dc1ec7dcbf7bf93c8e8f666\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2eb1929b2b16df71d22ddc0966fa8ac5a40fa750\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd677ec2f08f5c06c11f727b62ccfd9a4ea03f0d0\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2a8651a3eeee50d778304d046bbbd4721da0fc43\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x89511764b6543674b8a0c7c4176ead725d832127\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd79c353b974eee9d022cb4e8ed9c56c11403f781\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd5d7c45ed25f47a5f28d764fdc0fff2c8067e7da\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xdee23022a5dfd70530e8ae177e16845e7d323899\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcf625acb72990273fa0541ca57f6261708a6ca98\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x58e52cf0167d5ed727892f1de4b425167a0afac5\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x52dd11832fee1483c00ad75ca4c8117b3f7149f8\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6c871284464c403e48a109f20493c3bfeb22c5a2\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa8570d0a724432ede22e66e86d0ceafea10321e5\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x014b729a2a65bd89faf38d50b84beb47007199e5\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6e878dadd06c66aee353c5a8611f824f52afb791\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4169be94679378422757a38e1ff39e60bc1b5666\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1d54ee6c2e15b168f35a578ca2bcf49f6a46c473\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x436769e28fe44402b2bbbdc915fd58bae6942129\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8e83447956385f30cd2b36ac39650ed77c57c752\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf1a131f0f2a8d54918d82fd4cc3e33ec5b66097b\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x1763cc485fc8c89d65ab3bf122dab7751c4de135\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xac13db99c028363e9d4bd2051665bc8d51505823\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x051d595e667731d1d5d34ec2a8e9a2af548d5b25\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcb1a64cd6fe0c93267c6639e9f469ea0e0af5c17\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9873b4bdefc0843a79f804de15640861d7886740\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2d83238e1b3b6ce8768de722ae841c7c30218a08\",\n      \"totalWei\": \"4995619897000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9409ee260479649d6229c974748bbc4b82733283\",\n      \"totalWei\": \"4900000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xdd8dad42c815eecf44b56e456fd10ef7cb2bf8d1\",\n      \"totalWei\": \"4847361047636078\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0634f86d3e8902f69fef5b72c73609b01ea3dad8\",\n      \"totalWei\": \"4843510000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa430bd6ac5e2523690861c7b5fdf37642f6e089e\",\n      \"totalWei\": \"4805394856625700\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x87043db9c9dd96be4ff7f31c82f7d0c94e4b6209\",\n      \"totalWei\": \"4800000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7eaf7e62fa4573a171be59cb6ccc4f2f5e2dfc19\",\n      \"totalWei\": \"4713000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x54f68f074631baf6cc3cfce882ed184199a46bbe\",\n      \"totalWei\": \"4700000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x72e0b63d8a1c2c5e034b78991fb9c5d4577b3d25\",\n      \"totalWei\": \"4500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x641c976a5e0ca47bc53011117db351ab111ae694\",\n      \"totalWei\": \"4265813503965874\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x00e2e53e62713c859e787ebea7421e4b5103a4b6\",\n      \"totalWei\": \"4000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x761bce9ff53a2654c4ffca9865f1ea1b1469891a\",\n      \"totalWei\": \"4000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa959a8d9f4388dffc6c0c6e978995fda5c388ee0\",\n      \"totalWei\": \"4000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5e7426339fb7dba498b414a2baac31edd5afaa96\",\n      \"totalWei\": \"4000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa8759e3d0dd7fc310fe27f24fd35f5f482177743\",\n      \"totalWei\": \"4000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2b714300668657dd65f1416ed15901fc9579f363\",\n      \"totalWei\": \"4000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x707c8386919c87dc03379484f9f4271f5dca81d5\",\n      \"totalWei\": \"4000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7b546efd637a616affd87e39c45899d9b5921c26\",\n      \"totalWei\": \"4000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2be20da4f2ad43c44d25e382c401b5ff6e38edb3\",\n      \"totalWei\": \"4000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x104af6c440d274a4abcb353c0ab85dc2f911e074\",\n      \"totalWei\": \"4000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa001308434a0a1cc150bbf897d23d55036959aaa\",\n      \"totalWei\": \"3940000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf4d697c97a0ba04bcb51790ae91f945ab115b64d\",\n      \"totalWei\": \"3816419326347469\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd183e2cbcdb42e6ce01215df5817185741b318ad\",\n      \"totalWei\": \"3300000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd3f35ca866bf08799b8082b729f92c06420d74ab\",\n      \"totalWei\": \"3230000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc1b70387480a055d4521fbea77022d7556506d54\",\n      \"totalWei\": \"3100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf1112b250db5934f967484d19b5cb57f9cafe1ba\",\n      \"totalWei\": \"3026185583857000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x15b13ac806b676a0218d8fe232b331b21adfc50a\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x88306d169930487bab41b091e2dbb972732e8a90\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcf93d80d16dacbe2e9fdab010bd1309d9dde001a\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc70a8cd6686bed6b986fa04cb6a64736e28b9658\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xae0fc38a9d05a92af7bdde596f076a2b7a8fedeb\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc3148e5a60e652bb910f938ad63ce5cdac4623e7\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x43ec14bd53ba12d5544290ba0604b643293a0391\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0c020e63355795dc2f0c772cd533ce8dc6f8957b\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x46e6d60abd111bfa1607587f3356c96272311cf0\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0xda614b9ef7fb65f911cdd1572f624c45613996c0\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x865c0db3d0fbe5df6f015ec66b9fef3c4557cc3b\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xea89cc0e2b09b483569451f5c4e57a8329c384d1\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd7cc26c9eabd7a61a3d4b34733a108d33f36c20a\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0c28871d7b2abfaedbc6152d76ebcd270c199b02\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xdbbb560872e2ab1edb31011bee8e499d837f8ee6\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x85332b5a8695d5b944983e7b7962134af2dcebd4\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x945c82bc3642c5a7d8148686e821abe745eb3960\",\n      \"totalWei\": \"2800000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xce47574d7938d8e8add709e96a6df8fd31c51c24\",\n      \"totalWei\": \"2789762130932000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xea343d5aad581030b86d18bf54bdf43bbbfa8cf3\",\n      \"totalWei\": \"2730000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcf538e512db740786d4a098fd0c887eda5f35047\",\n      \"totalWei\": \"2700000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd384f954f5f9c1e607c7d81e5b2bb92df5b6389f\",\n      \"totalWei\": \"2698960630261500\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2e387363c7ff1152aa3795effd098dd2bfc7b535\",\n      \"totalWei\": \"2697177134411125\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x23a97f8813b7ab1c48a6520b25f65e9324b4f58f\",\n      \"totalWei\": \"2690240346072518\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfc96f807b1fef88d5e3fbaba0e265eee2d7ac2b8\",\n      \"totalWei\": \"2598782583040000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9704f7a2c029e0aaa5fc56399711b0ea99af49df\",\n      \"totalWei\": \"2555339061552000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x853dc0c9257b35ae00a1a197981ff903ee160786\",\n      \"totalWei\": \"2548000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa07960cbb05906ccc23be936fb47fea1e0aeaf01\",\n      \"totalWei\": \"2522058580389158\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa5aa43a8862ff52f31d54580b64bd78bcc8c2666\",\n      \"totalWei\": \"2500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xbf37e9fc81f8dc95d2553386b67ec6afbb14ff1c\",\n      \"totalWei\": \"2500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xac4b0882e822e86811ccae3773a29b0f9888b86e\",\n      \"totalWei\": \"2500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6a543cfa7050054fc3c6a1f9c87fa27ba60e578a\",\n      \"totalWei\": \"2500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xdbdf965ba2ff4d6b1145eb3151708d2f8fd74281\",\n      \"totalWei\": \"2500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x83cd3aa778603fb579b3a657009658d2e1f09cc7\",\n      \"totalWei\": \"2500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0xb359eedc4fc2c9b0b11fa4a0d6cffcb7a5216f49\",\n      \"totalWei\": \"2500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xad7873d553a4f3d484511b2b931e606e96dada9c\",\n      \"totalWei\": \"2500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5509926ba42db380068f9a7c16e2e71f4c2cd134\",\n      \"totalWei\": \"2400000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7d4261ad19a5aaf0bc37f53eeb1969f4c672779a\",\n      \"totalWei\": \"2364000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1d1e1867a8729081b9a25a4763eb923d11c44b19\",\n      \"totalWei\": \"2200000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x84ddfafee4254dd2c35cd02e2ab4fc7e297d394a\",\n      \"totalWei\": \"2138905896161466\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4fc88b308723e5ff08003d696aed714768b359fa\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0xe32ff0be5ab1189979cbe85e76dffa3c13f32007\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x49a18d52460edee159af6b69406d3f518d4d48d7\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb10f2544a2fa388234e285b812bb42cb875b8c32\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd540393d07ca51b311c40c50e8b3f03b19521d4f\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1eb884803d6f931aae20676934a5d6b7623009b2\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xbd2241720848c6bffa8102eb88b05c077a2640ca\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9e49c39f36381b228509a1526b811f523a66996b\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa5a28794e78b949c3fc7954b9ab39dd27aaf4f7d\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xeae7ab6a65430456536d8087ed8251a5604b1f1b\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9fc7afe457693f0767b284f13ad6847189bda614\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xec4a2742bbcfba37234d91cf15224dc5e0da1a9e\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0d02ed24ef53c868ef407b266178aa162775569a\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa166b311978ac269b5d2e1e50608cd67f2f1d634\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0c3dc4ab7c446c8ad448b8037955adf4f76c239a\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe513b0b1ccb134398493f38ccb6f5a8bfb3c9a75\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf7577b736b0338ba3c1e82476242e9c49aed5669\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe15345ca41978e547f6e1fe97dc8a243df73b195\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe1d85d3101bd4761091c276007d4b1b0d21364a3\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1be6e8c65ba7de114db61240a23dfbf3b4d28cd2\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x075a4bd432e8e862733c8e41efb773d604f35e5c\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7543ae755256476f32ec2cb49c253c4e5d47b806\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4618a344d46132b4c9eaf43203d0f90f306e861e\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf1a3c278b6a8b49ac565d7f2100aff055a8ffb58\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xdabe322271e9722ff4844efb947f16e6ba8c72c5\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xbb50690db3897ca5b1f63cff6e0c061b93f9bfbd\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xab4dcbcbfe45e6dfa11f9fde2f86e0ad4140a98e\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6e5019c712827b5e7d30e1ada52b871582ca4349\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7abf799978c06bc2e79ecfd982f546b45e237271\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe758d32e844e87592abeec8432be09726d6825e4\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc9a6a0241ea3ba3a421e624ea6cf9465ff6816df\",\n      \"totalWei\": \"1911000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x36d23239b35477911c489738a9ea2f7d87cb4f23\",\n      \"totalWei\": \"1710000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd3654312f35be822222450bbf8f4706e2e47275b\",\n      \"totalWei\": \"1616004912654934\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd1695bdedc7efacb186967e695974170495b08e0\",\n      \"totalWei\": \"1600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x12d0ced4220f5acd0b0749bda0747a2051fbb280\",\n      \"totalWei\": \"1600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5d4e5de26d84e43ff66592c2b38c66c3c87cdee3\",\n      \"totalWei\": \"1550000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x33c888ccd7d1b861993e8bfcc12f485c1b8841fb\",\n      \"totalWei\": \"1520000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfc9dd302795e988c16973ba5ec86a1091532f3d9\",\n      \"totalWei\": \"1500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0fbcce7bb116f943d1340534d73b83f0aed67adf\",\n      \"totalWei\": \"1500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9e2d65ec85452ba115499d975fc28616a3850ac6\",\n      \"totalWei\": \"1397000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf9a5844ac0b81bc45f448f864d484e0ef5927d5f\",\n      \"totalWei\": \"1390353030096028\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7a47b8793497643eb997c3977afd1168a9014e2c\",\n      \"totalWei\": \"1378686346535031\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9aec2ca1fda225b1a5966ff458b51560ba206106\",\n      \"totalWei\": \"1365000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe6943a33a364b1aa7997f636574b127a67e7c110\",\n      \"totalWei\": \"1350000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb798dbfdfdbc1354490273911f1a1de25f29672b\",\n      \"totalWei\": \"1306648233776809\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x52c547e8332f97b6aeec09c30bd7c0b53dcc3f91\",\n      \"totalWei\": \"1222983529469400\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc2d3a3b40cf7581484b3dc6c663d80c2b2a999dc\",\n      \"totalWei\": \"1200000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5a716ede0235796ac3004d4a243054f3a8234231\",\n      \"totalWei\": \"1200000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1f1ff0587805b220b6128c17618a54e1b6cefe6a\",\n      \"totalWei\": \"1200000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe64d2b73aff7d771eff9cf9b5185a9f542aea5a5\",\n      \"totalWei\": \"1200000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf8f15c037746e38c3508d3343d094d6ff6dbf773\",\n      \"totalWei\": \"1200000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x87d88fa9c6882cb6bd4c65f5e0766ed48ca9c8ac\",\n      \"totalWei\": \"1200000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfb8ff1e56f2cf118d75c2a65275988dcfc327a33\",\n      \"totalWei\": \"1100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa50b5ca57355f128448ecb05efc2cc8973705cf5\",\n      \"totalWei\": \"1100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5beef1abbd43a347ff32c1089d3a36de35eb3a54\",\n      \"totalWei\": \"1084781064061746\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x020cfa8d14e643658e3d21073a87667d14064678\",\n      \"totalWei\": \"1072644874098308\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x408c76c4eaa072ea64d2833cb2c2e996fd0e9ac2\",\n      \"totalWei\": \"1070000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x48bc9e0175fee1316e4fa81980a396e57ab13304\",\n      \"totalWei\": \"1070000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x297822004929d4bbfefdd5934854e18036c17605\",\n      \"totalWei\": \"1066351026762800\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2d739942efe7d5c7310624f15b8fb6d80e60d6e0\",\n      \"totalWei\": \"1001548406124806\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x03511ae216f13121c0e7ed09d3fa35607cfbfbcf\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x1b4c289c4f6e0565f1e432654254485c490679e9\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0xd152926beefd40caef59040a2144980e481a59e3\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x43c718fc437d0130a3ea613e2d388c51e518ac7c\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x390d9a55eef37581f183afff7b0d4f8ebb8d23fd\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3ab26229b223e5bb9202de8c76ee169749d98f6a\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9b75dedc991e833e7fb13d9da2916a4a01adb65d\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xea89f597ad2315d75c91e08d2e4e3e1742dfc32a\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3b3b747aae49becb89b60c965400f0631d56fb5a\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0xec0bf38c27e01db8e7d14cd0477a250a90a5d4aa\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x516fdd279d2ac97bd7df16a34bb70905a0764bf0\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0xadf18d1b8a638f0c7e010902b238122df86e6d35\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2a76dae7b10583964c551f719919d12a685218b6\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb148d626245bdd8cf0ef8bde82de71b51d30d481\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb9ee31f0edb828754ea3d6a58520444841fff361\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4099ef095e75a5f3dd90f852ef81703b7e3b4864\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x01390192e7c025730a4426b12af78c23a548e10a\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x761210395a870290b00d053a987089b443c102fc\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x48c135036976cc6f535e748d85f50e699d36117f\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x66d0e830c96a64c928d1dfd7f59f4afaab1faee0\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7640554f93f776bfb369b25b5892283c5d437321\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8cd9f507ded07adbd0f6e99f15fb6a99de2d6285\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf6add57410671f0d028247ba202e4e8ed18526d1\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd4c9d0a589e87b44751012920e1aaa70cc7b9fe9\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x25be2281deb6b7e54b90e2e1e0e08c5f91a9d9b7\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x5890bedf1c84104408d8ac8238c74046eab00fbb\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe62a05e304d99d0dd74f8335d8ec57b294b99734\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa08caf92681c7e49739857c9e0a8bcf46e250549\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x58397edd048e0f9bb4ab58d565ed04137359bf47\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0c2b84703e2df44190b50e66e67d168b4a5a3508\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x50981b37d16f7090c0a968bd8ae9207a24b16925\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x13192b1056ed57eaa06bb7e49d70964a668e8604\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4cd9c5e0123111965f68d3fc60cab4ee6847dec1\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6effd03ef62f3e6f1652f77e0082f029293db5e2\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x19756118bb02fbe245f13ee470c212056e200fe0\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xeec8ee9d58718b4373dc8f2470d95a5a828eddad\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1eaed3548e752bcaf48346dbce66f8d7678d7152\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x80df31a5642996d08b8e5b2a442f05376305d335\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x80b2baa6839e7ed6d5352b6a48315a552abab534\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6ea5dea58401b6333cf2586c6d6043e32d72fdca\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc064c60c74cc6aa9f40390cc0a553512540e2d82\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf87e2e8be4dfe3abad1fb1923d53bacb76edd844\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0xf1e96a08e464e682f0651c3b31592e1f209ade6a\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3cc1a943b27c2af7c6dcf3be0137f66c2f22e712\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x38b4d6af668fb4f95fba4a16024f48785e9f4579\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7242bea729bd3ea78fe7a1cdf2750d6ef5d36735\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4fc93339d5cf5c219e610f5c9ccbfe16c41325e6\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x45805989f6381418268a12bfcfc1674fbb3afa67\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4d175082c67a3dee46b2bf3839cef3a40a886d71\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9808b31e686600afef493292923179df565ef86d\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4f75a5a1f9201507f9ec0df6da15d8c8a07bbedd\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x92b44e91e1b7cc6d25fd6b88f1cc331d8e34af1c\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5625fb2e22bda2b2fb7848bf5f2ec2ea2ac4001c\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xab8d9baa3e98fb64c6271df59555258175d0a437\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x62298dfdc6d0768964ceb32df36b1b00509717bf\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xda7d76944d68423abd74e6b1af13798c740d7349\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0435dc002ef3cdce44d4120b21c86bf36f7d5909\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb6b44f5b3e55b9e1acc7629e04c7efaf70c46fb2\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc1c1619e7eb4ad0509689d4db397ec1504ef916c\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x18ab150b48c7e0b2e52bb6618d65e791b89e3bfa\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd66678f6eba890aba5fcc36b93bcf8c82e69862c\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2c7741a41af2e9ec86a53580c2ecc5533b713de7\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xdc4d7980cc58fd574e23964bf5033b626323b2b1\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x78cd4e8fc59ab4152099efc1f4a1988e65505302\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x40c257a1be6aebb4b6124fceb823d6e36e36a0b5\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe598a2e86f2eaa7ebf4a22f5cf955b8a47878513\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa68ea64d500ca2978a5dd15ca9ae10a9b7e94043\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1678a92d29d75d53dce9f79742cbc2977227afc1\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7d265f4fe0db5a04b55d4917c17df701d004d0d7\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9f212e4124bc143dc568b0ce3b028b0d730fd402\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7a5651365cc4c3dab3aa10fced70992bca19c0ec\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9aedd3c92c82d664609c61a6303306474515ed7e\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1b18006b33787f55ee60d77bb63b543a84243aa0\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9fdc8a6d78a040e15ea08cb2ec83dfc83658b0f3\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xee8997717be2eb519dcc3a39f8c3fa820269442c\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xbb0e9260b0a67b05050179bd0fabfd83bda0480b\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcd70d32e9b0380399fa71ed195728e66974f3cdb\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2d4116bc342f59f52c6154bc37679d2bb619f11a\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x18b6690e5ccb9843a6be4afebea357c029c7b208\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc7020910a5ad738a721c2995a197f9e300e75939\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd567d8fe3c518be36460a3e7951228a60ea659ec\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6f82fb6991aae967e6f2761d85668d97c566fb54\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8eb57b741e9de6a5c1ff48811711014a1663cfd5\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x58ebf196143e1179b67c4613c9e13afba1afbcdd\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc4b932585321f6763997cddd7d0b3ee38e9759b8\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x840df06b064515451c26050e78fa80f03b33e5a5\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc86d28370fd44bba412529af429e641f67cfe2e5\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x58a39efb62bbdabcba6d0f5aef1723aede4b37b4\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe4e6ee168b269b2a6329358ae764398be7b1d714\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xab0f1b66f6d6a701efbdfe9ebaa7e2ef7bdfad70\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x76d52a2fc4b06685fa9f87eb880d598cda5b4613\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xda87ca0c0c2f77ca09e9107c9d5c89bf5f48e2c0\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5a4be146ba1fd4a2bbd265db2f1a3a3cf7b77236\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa09c588fc202efa43d75603fb6b7a6b4d8efb2e3\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x71d48c08e14e288e1bb97fdb84d2cc385b183609\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x63e55cdcb9451873eb774c6e66d4962a39c17386\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa03b7728351f0ac2a64531f6c03581c1ff0869a5\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe6e1f3779fbdda48583850908756ec2c2f356e5f\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfa2785ca21a99866e9dc597d6401fc94f1ec7b02\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xad9e8a415aa231fe00b51237b793245f484cc685\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x76368ac7199d8f3ccdb62647750031194a6dcd5a\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x067242ed93fddbe26a84fd1c5d761843f1a089be\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3eb5b7f40c90b2d9ed8ad3bf3b99ff450e4da81c\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x575eef39927ec1da8630b435bdf14828b9a0db64\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x12cac2184e9a9179619a4547c3930dea82d32f7f\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8dc73083df051e292112bce426fac354c850ee7c\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x680853ded226aa96d9264019dd23f7fbd44e5c97\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb4f11fd6f9a4c311a9eec2dc48714547edb0853d\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x093a57ed456b1d74d221f39535f0147bc37bad8e\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9a9b5e0c09c414319fbaa700a209eb3b91b19a10\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4eb6ebcfa62792a01e5005c453f39d63493a79b8\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x98774e4a949cc16e1c08b61f938d0bb572cbcbc2\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xae8b37267dba554e0a5858d5d5f3a2441c8e4da2\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2f1f2c9e865d3ec3cc0d98b2d3e1c04b8fa38d6e\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb7984454dafb5bea83a41460f38018fc12de6615\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x616ce82143e534238a2d283c3a7e6d4d8d4c756b\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe77ab99a3768b19f281bce1f847945618e78b458\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0xe1ba123ca59adc6a52ddb854c9fc6c576d5c2e69\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5a42962e6d406197df2cb6ae1a6a6896b440b17b\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xeddd192cea431365093b64899c9ec149744ddd2d\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe3aef7cf98488f57d0544612a7615d236015a7a4\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa3225048b696d119c39eb6a3cadf63f6d3e6e150\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x611dd6e54bd23557a0cf1db3027a1fed5c3c9656\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9de8498a65a4a70793be07f58e16d1db4f6a483b\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc85d9793b53c34c84a2daf0d1de1fafc2f4146e6\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9a299e6f9c966e77587928840ad53ef0fd9f5f17\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x191148c4615beee7fdfa894ef8a611621144a4a8\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9804cf118c7312f10cff4b97403c0ff4e3d0e06e\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x035dc03524a158e266498d876a7258745dcab878\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf3fa391b361871beaea5accf886ade427d6f62c9\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4408f4a75fc330b50ee6ab0db16610ba2364e95a\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7474d1d90557a9fee58cc9c50f7bebe71aca2c86\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc4cc7ae052bd0c401b1155d1fc736167917693b1\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x824c2d5c92a68d4ca4b5ba41c3c3a9fac0a75442\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfdc79905818aa8e0ff637c2627c98b1e8b5a54b5\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x985d4723d532745a75771f4c37331d12d79dd14c\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x13bc74e412fb20cbfec6f3bdea54e00b8352c55b\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x82337ef7f9d145eb40f34f4afdf3b3dc1795bbab\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5354fa6cab9ffc82be63544c21a5593304687982\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd7d4f4d454e624889bc5617f177dc0b4719bf94e\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8fc3f128aa09d0da1987bd8d55411fe57af32285\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x92616db33b534e8f2c5281396cb9c1dd88470365\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x13fb50d884a89d7234f869ee8c86fb8970000002\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb4f7d0536c3503f68f02a002f8b270091148e24f\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xaeef3484bf23c2b26b29b7f160ec416ea23d0845\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x48265550dac060e6ae30cf3a656be34712d038c4\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x546aaca4004a7caa9352a9ad0f725ddadb414500\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1b1d90ac8f9fd6a5864021b0b7de65803e841861\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1109809fe8f95144e82ee71dfb502480e61b0adc\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x142258ae288afe8b326123e54bc50b8d5856450c\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7b74e1cb77a59773bf6c62cef93a7224895b8f86\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf242d2cffe2a578e192f350212c62727fb948583\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2ac2dc3ff68f5e77281515d51e029020d4b16aca\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4e14e857ab1b7d495a3a96c5a9f3c8785756a335\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x163428be93a129c0e66e97a27ecf0c43c2a2b350\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x31f25b23b8b851765c6dd33f02c4729cf91f3ac2\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xed847ea7b5bbf0ef89113519cc9a0e152723604c\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x73c20e0f8ed6e3772a47aa1423897c444d3e4fe9\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x675aa1027c104c605ff7ad4aa9197c29df85d660\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8f8bd54b8c7dac94788ff5fb73628aff09db7f6a\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x75e86bf157388df68e714ae31cdcbb3727fc4b93\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd2a2683b327954d56dd7e75120c821ba7c328f27\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8c88393ed220d6566f9ef47cae1478bd5b45d7e4\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd7e9d18153de624713c18b1ca18a238c42033ea5\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x536299004d15c40458702cda4a99a1f1eec01505\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4e577a32c447d890c4d8a984d198c68f6204f836\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1056e8dd5b873be12428b8efd00b43996f81e3f7\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xebed72802bcfc5400b712caa56ee6db7cdcfe683\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x24fd0fcbcd5d09a900c3c18501d1688ccb5fbf14\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x576843032fe7c94bbce1e1e62556761008cadacc\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb53472b833f464189ddb27662df2a0dc96a90985\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x16201e6cfe70a6fe2e28fff8509afbebd48f028b\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf6945a33ce4e9425d094e53e1467fed7ea9a89f6\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd5ff53f48f14e9409b581e41a4cddfe0e97dc724\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4a395b0efc9907a195c81564c10a985c7e9f6a15\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc18767749fea9fafacfd18d45896443b04ed738a\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x31ce44f7a8a92208dfcbfca3358de9b70976a528\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x065dbf25eed046ca437b4913c7726d34fa60c7db\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xdfc69bb31ce173a088a860d0e66a532a1ee1504f\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcd6c0aea02d1857375592042474a8b2c6fdfe0ee\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x65245cfed3ccb8299c073ad15604327c18bb5413\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb43207657d01ec997e85cd95b8133fc6ec0292a6\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd94dbf2c1fc5b4c9ca277efc7ff19da7659d9925\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x762305a7ee4226a32e7c226b2897e7c7bc531631\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4d925ae054c5c8095eb80c3092cba85ac0135355\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2b987c3a64b465d91f02fd237c601d6d9acc7260\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5aed22bc89153d591c61d61e2325617b779353dd\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x941e920177ff53b3aaf805fa424d4e6469fe38d8\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa33d4cde3660a11a57b350573989b06a7a29e5dc\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x47a1d54f8b254aa708fd3ffc756a4c3131af6bf1\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2fdd6ca72f6c193d26843992095bfdd01bb9abe4\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9b7cb24f7ee022fe1c67199fcd99eae415dde47f\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7d7ff0c00ca185eb725a3f0c5a86c4968cf7eec8\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xeb74d2fe5037d4497423faa07e0979a0a1896884\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc1bf36108f95cfe451c1b4d06243adf71dc7f618\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x196a142872fcf4810395407c2b14f13f4f5a24da\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x917025d0db63d06d78aceb341645d895ff011d10\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf25af5572b696c979fe5ab8f5837f2d79c7adb73\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd041e54798b9292635e7b443adf8e695165bf822\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3eb681420eaadbe13c1a958dc6a6c28359654126\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1cb0846479b849e256203047b1cc838559028315\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcf187e2d65281f2473b11c6770db9c1fcd4da27a\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0b25e396b810baba459d5cc1eecffdde93536877\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1611e8e63c55c9a063426deb3e927ba877cdc63b\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4acb730619bfaa6b843dcb2d8c760deffc00b115\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf59d84e6632e3276315c225e463fab0ca860e19d\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xeca2a0d61f6ec5bfb41988804ec2c6465fce8e9c\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x61101724e4dfa1e64c3647eed544fbf741e2568b\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5e256d28fe21a7d95c4e7548476b9de250b056ab\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4e3fe31a4ce71347b1730acea5f85a5f562aeed4\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x790aed275ee4dc82ac2f8b7729b68c87330521d3\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x78c992008e8518fc2a9f00f26253e42968e79ce8\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa15fbe0518a44466d780fbd86ff5a6576fe5fda5\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1cbda05add081f3c147965e9de611ea6b3f356a6\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf74758efc2c42777e31773c58fddb75abdca5b0b\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x70ed1a1ef3713f3494fb93fa759d1db3a9ba1e43\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8c0da62b2f992ec731ce92fc30b1b5227d8c14a7\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5564fdeab81b6054fb5c08fdf7838a7a3ce2d10f\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x939f5cd7aeb98c97806fed124b370c6830551dfd\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9762cb5b41c6a5e8e7449cf86aeb5b6230ee71b4\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x724008bd0c49f7ffe5edfbe2b1c3b35a8ee1d4be\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xdb3f6c315fa914331410218919977ad7d03f5ff3\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7bba23f927a2a3e2e23c507ffbce47a837b7cfbf\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x303c48e228669b33d28eaef0ef4f6e0a5d1f5015\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5bb35886f7ec42c9873b2836d2dff00bb06fad45\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x11ed4fa723c5163366ee3c8a9e8824e81d6b3eb2\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x651de84663589f81ef7107e15bb90fbf53f436bc\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd316467b48cd04113dd895d9ad8649c2cb91692f\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2cd7ed2b2e7141a371fad78a5c5eb28d33d9d9a2\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x27b52106c0cd7cd30c4ca8230720c2f7ea686db0\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfc906f00b5a1ff25babd7c2b292591b797207985\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2d803aac11b1e28e57680848fb6ff3900d483744\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3af1570c1ab012290cc4917203b31117e4a4adb1\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x245f44d92cefff7d369677a1f6cf759f6e017d8b\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x56d8a130de8078c33e4a3f6377af6abcdfce4b51\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9fcbfaf1986b495a147c53e2b16c97ac9e98fc8e\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfc91638ca207e9d5e0f30de447656358b300720a\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x51a4b0d25fd704f6f431e6ea3b71cbd7e3feaee0\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xef9d710a8b3a4c99c3974a52c0377da6389ec270\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7a3551feba6bcc44c136e6e778305479451c61b2\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x987972218b91c3e3127948e62620d67caf4d16c7\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc98e65bb7648fccff1009b5e160cc878b1e30ecf\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x306aa5853ac89099b1c92a317c61a05d1c7dbdb5\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7f9d2edb0a75bdc7d5360b06d33fdf21e08d0eaa\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1bda0a00d113eee140757aa5603c7cca15295153\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x59a999ba2f390cb13cd37a2e4ba009632c1b6604\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x26e897ccadbd161e215f5e562196775a73b842e1\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe08fdcdd1effb28aa64dd4ea9dbbb0b498a8e991\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x31c4eb8260e7005aaa63d8093699f236ed9bff59\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x98c208bcdde8a2ad8a31c70d50a465ed4b864c4a\",\n      \"totalWei\": \"989000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc758b8bf1d2b8a9eaced09894111d809eceac412\",\n      \"totalWei\": \"900000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2b83da50c013c6e5753c76e5b6aea4252ecea9f7\",\n      \"totalWei\": \"900000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc788027714a45b917658f58348f962652e9fd4c0\",\n      \"totalWei\": \"900000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0f840f2986f0651a6cacf83a393eaa3e155311e3\",\n      \"totalWei\": \"900000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x425bba4000f568f9580227a479fd27fa7f2fbda3\",\n      \"totalWei\": \"900000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9e384d3393b225a145bffb709ebc88eb8292a5f3\",\n      \"totalWei\": \"900000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xdb59dd5a1e02645908746fd4dac69734a8559f6e\",\n      \"totalWei\": \"819965616108450\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x25242813b143c293b09bf948542e7ce6b0c3a9d3\",\n      \"totalWei\": \"800000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfd34b9ef5af3567c7d0cda889b7146792da46004\",\n      \"totalWei\": \"800000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe2ab63c863a6020ad7e1fce1e8518766f68eef88\",\n      \"totalWei\": \"707101062419346\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xedcae5edba43ac331ae04cce2096ca9b72dfba1b\",\n      \"totalWei\": \"700000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x25f078dc0922e9ad4a390bac9e2f7db6b747b7cc\",\n      \"totalWei\": \"700000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x01d0c05f9a9b74cebf8fcf2bbfa2257a50708929\",\n      \"totalWei\": \"700000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1265522e4e6f80988a88ec6fcab4e129cf4a593e\",\n      \"totalWei\": \"650000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7152cdffb2ca1d06b945609bb44de862875a3fbd\",\n      \"totalWei\": \"617816881744332\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1909a2a8605ff743d2d935ec04601b7f2a1ef6e9\",\n      \"totalWei\": \"600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8220d2b586b6842ef2bf5a0c2e464924b779dfe1\",\n      \"totalWei\": \"600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6730e78fa5116da41347eb4fe7b9ea53f1472a68\",\n      \"totalWei\": \"600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5e2f09c515d8ef09855385c551a27235e8bef9a9\",\n      \"totalWei\": \"600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x944ca2de4be2bc5379f358b127dd003114bdd5ae\",\n      \"totalWei\": \"600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb6d10e4e399f521aee33929dfa27769879ce693e\",\n      \"totalWei\": \"600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x11180325b253dad82be5855af67496ea2a7d2072\",\n      \"totalWei\": \"600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x70ca07279dd9d26b5768ef92b55e652fc9e9e7a7\",\n      \"totalWei\": \"600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6f6078ace0ff7d6f00b2089ad37fc1209a3c49c6\",\n      \"totalWei\": \"600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe772c5b0111e4fa2f16dbe4fb0806d7a936d613b\",\n      \"totalWei\": \"600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb27b99879dc7069c7b036824d6ff5f7b6cab97ce\",\n      \"totalWei\": \"600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x15fcce1a868658d0e9270be57c212e67ffe6886f\",\n      \"totalWei\": \"580000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf1fd3ac9ba02ebb647428df005531c53c6e28124\",\n      \"totalWei\": \"566000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd0fefdef1374051d908ce9543355f145126e70f2\",\n      \"totalWei\": \"560000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x726f49efb58a5545656931dd0c73e94fa4f11356\",\n      \"totalWei\": \"560000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd2f6944bb2dcd619813e8af9d1c3f36d79d63335\",\n      \"totalWei\": \"560000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc6628562f0cec8bb01c4ad9e3c862010806b7ea2\",\n      \"totalWei\": \"550000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8ed294be2b9babefcb29295787b19fbcebf6ef58\",\n      \"totalWei\": \"550000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xbfb476d5c49e3f002d9d89e01d658684d0629b9e\",\n      \"totalWei\": \"550000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb7012d498346216ee9df4d45a995542963e212f3\",\n      \"totalWei\": \"550000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5d1e8b6722fc4229de9ac0fd111ea4c44a5a64b9\",\n      \"totalWei\": \"545820245018700\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x03ddef73288e36987eb1c6df6349a02775a544f4\",\n      \"totalWei\": \"545000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5d34640eff3826b4736551e51edd75d5d8129e70\",\n      \"totalWei\": \"541697137130630\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0d6037eb6681d5af488f26861cb7270f8e726968\",\n      \"totalWei\": \"541672412938020\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb866297c54f5764fb21f2d6539eecaf274f635c1\",\n      \"totalWei\": \"541562190294122\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8f7d5e0e67f94ce5652058e7bf67a30c616b6849\",\n      \"totalWei\": \"540093868314313\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x65056f8c991847dd55dd2cc7f659271784a9745a\",\n      \"totalWei\": \"540000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x942ee0abf4ac0552fdfd414680d883555d05d7a1\",\n      \"totalWei\": \"540000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9cf4dbab25fd916d09f73217b6852cc2347d14ba\",\n      \"totalWei\": \"540000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x925717a3a1b386595f22fb01dbf974ced9c1b3f1\",\n      \"totalWei\": \"536208842620000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc82f4f59719bf7857a3a90b07d42de343b2bc194\",\n      \"totalWei\": \"533803080043772\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x89a531a45dd3dd725d755cccec2d49956da89647\",\n      \"totalWei\": \"532844537277804\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2f7f60f615a835a96a5825cc8c6daf855e1b9129\",\n      \"totalWei\": \"530222693531283\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x759b4e1bce18c62740d9df166aac7282fe4ceab4\",\n      \"totalWei\": \"530000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xccdd21dd7a46d804876242a9b8ba17bcdc9d9fa0\",\n      \"totalWei\": \"520000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa71d3a7806db90e01f12376b8d5b595c0af95bc8\",\n      \"totalWei\": \"510710000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x69b8378fe275d82b1085a9034d5a0cd71e9ca592\",\n      \"totalWei\": \"510000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0bc6cbf40d360007be783fbe341011d45c1db855\",\n      \"totalWei\": \"510000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9dd11beda19bcbfdb011c3228093cae2f0266452\",\n      \"totalWei\": \"510000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x21f0ee0e4e1078fad47c49ce4086740437cbeaf0\",\n      \"totalWei\": \"502620000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x250249f3f5d3c6860bd880ee4af0a334e0a0cba4\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xed3edf6c5fe600974770b5fd7d9ab25c913a752a\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x520603cc23ddee86c87a63e18aaba2bf46e37a2d\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x739d1b54808c309b032ce582d3175b2f0ca6a622\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x26e1e7c3be29b1efecc072f28c72499a1303a725\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x899dd1aa7b48bd343b502a515083e2b34c687ab9\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc7743958a82b51ad0fbbd239c17bfa6a7236d9d2\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x04037345df5ed2180a7fa3d25d42ad6e2c4ecab5\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6810f97136c06ba2fe144afbe4eb97b3c783207b\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc032792a55e9a09a6097ad3d4d548239f9cb6d07\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd7eda4366b535742c679ba5d8a1919f045a56005\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x32505addcaf7eb2b85ab391cc23e50faf15e985a\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe0847fbb6581987ca66e955bd6e5138a3642246a\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x46b848b490101f44cad5304f17e3dabff81e116d\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x312bdb6d28f34bf5c756933d500127bc8b7c719e\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8adbc04f0b9396c428ce246354ff347d9129eb85\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x23787e083f1c0c858a026f0d57afc9832204b8b0\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0d73cb6fc36c6c9ef68c9f98c461f8bb59032c49\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf75404a4b61cd01eb1b4939fc112512fe1c10f0e\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8d7de37f4f32d176242937e91af4982f284089c0\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xae91cb07b00d30446f0b1fa0848f0d354efdfc8a\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfb535d371d451fb417c7eb21299f862cc04811e4\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x370cf245752388d43181dbda57edb3543af10c86\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x92e25677ad5e89810836ca36981f4a3a84bad93a\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0xb01c0c14d10d7e77b470ee016f58124e61b48499\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x0a2086bdc057be62d535d2352f39b827b9882478\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x86d08566c4be8516fee3686f05a743d2e12d85ec\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3d09b85193d8fda1536a35351a1480ec1cf4334b\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x93790941273227ddc5e4f29d140c614f2bab2751\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x82a46bae1ca2ea372cec64e0ffff7e6a2e1bb0f9\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x155012b32d9881b571b3bdb5e16b5a8b44445a44\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd3c6a99a4d1f1cf3b74acd4f65857a20926e5481\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf48cbc850d4b0fa08e5075c135dee2e407405aae\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x039434be2cf69632bf03793fe88cb9bb792f2bc3\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x910d4d99fdfc92e9076542e8f2d2ceda4131a57a\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe0186fcae614de6f53f75cf3aa27d50109041659\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4ae7357ea855f649dfd84afd7740f4c482c856ca\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6f99cfcd97a86b5dac4542ab5b2a2af8a9cbf567\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x090fae9ec7d95e7fc9963a854bf3685ca6421722\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x238603aed394b2a19efa22a6e46374949dcfb38a\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x22a40ae5a69f40a375afc79455a98d9742bf3655\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x14c8d21949c01c277de3823443ccc3881c4652df\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5d155b8de2bd028f3a3a2998370cf94b27550c75\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe4db7b5697a1e0390d8da348c4871404440b9494\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x26500fbc806ee509b41ac6b05c0aa94f18832ba9\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6f1723f9f3c9bef79246003020345bdf61a1dec6\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf0359e93c0ea71d605400865f9bc3b2fa3fb254b\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd5d4b8a629086a52345491a4e8164af88154c1ee\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf43c52438b14064618b9992fb0016a378dadd8f0\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf0478e1189c21ddf83f15cb7979f43442106aeaf\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5b13df44a1b1f596aa4ef62233511e94d74b0428\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcd7f5dc410796a4e8d7e1dca7ac20445cf2c1c85\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x60700440491b6d13a35aa11015bfdbb4361bab5b\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7b88522dfb1a166c06b606ecb3ad2d9c6b7f053a\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x684ae210cdf21b3f8181759b49d365d87d08b7c5\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd5817164ea1244b8ca7d18b3861fd45dcbcef380\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7acd95e98e978391ccc140d120be87f138d7fca0\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x571472eb90edaf589035162cb8674fdbe0fe1b67\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2a6336cef40dc83dd8b16bd9a2633b9d2049edf6\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x53a567d00c6438ecd68c82c0601e6c565df2101c\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe34c296b3a9e8caa7f72f73b2f13d9ddce4e2427\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x059c66e8945b5d641fc16b3ee64928256fa19e6a\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb196f124b9881216fc9b8072c5798941201a7003\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe339b828125f0191ff5a6aca567db1c172e2f0d6\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3cabf1ca6ae455ac390150bf87689eadd957ee64\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa3b4892f672871dc28c0aa26688f1c43f0618197\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3bee34830a3c89b240a49633cdfae5429fb78a95\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf897422dbdcd47c0f30cf186cd65e53716852ef9\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe5b9e4a865382d4e3a7c7b8d6d29523a97be71ad\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0xafdafff6439c597b5d49c8650427681714abd40a\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x97497498e3b651de88da1cfb50c61a8d1d8ab3a4\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc66308d190dacdc803e043da5cd6ecd1e2158c3a\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xff289b410be1c180f77d716e0f07f591139f2ddf\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfab738889b445d589f85727c05fcb16c935b19be\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1a1982a361f2746c1994a7dbc407e7c0e004afe1\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x224636e700933193841b89c52f68a55e767fee5e\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4fac36db18a86dd8b17c5306e319fa608b270b58\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf983c9cc2816cb0a9ccade7fdafe9760a47a2cb9\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x626d3f8aeb247dae455dad85c65fdb004f6699d0\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x95f7ba743d92fcfd728afb88fa1a62f62dc72c90\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x2345ce41c77e85f566a85a75c84f3cd15d5b8546\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x603509391b2e0ed2992a506ac0c313fd4187b050\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x85b17659615fe7127aea0745982e9007c1285cd1\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6201c94d1b3df33f9a7b29e4259353b9cb4a9bec\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0be4bf64af045dc405f4e9bba4230607e5bef842\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x66c40b2baafc8d56f872451ed3fe13e310e2ce3b\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe538b5d7a04b13778779bf05ec09e404e3057faf\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x93a81ae13890400ff63f17d9755aeb6f47318c36\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1b15e7c2a7faa3cb3141b1078a37076d7f08847b\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd197509518a20610db751c9a04eb14c3a3a1330a\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1bd3176a95632ec0801d4d41520926e70bfe2a8b\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7dbef3d6289de0575406e6e4433d9cdb58fcaa0f\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x784c9ba7122224467a617c5f844817fbf1dfb4cf\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa783162ce2044ac9ac86fdae1c6088d4322ab344\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8bce8da512cee9191b2c3ef9aa6d894ece885b01\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0180baa3cca07402f3d2b09b2f2437c677e56d06\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x7e3fe574e68929cef4e6a7eedea1f66d20c1c095\",\n      \"totalWei\": \"450000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4d399d7445e78c68b96af66ac54c8a4edc913e9b\",\n      \"totalWei\": \"420000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd8fdda136f9f4bd543402a714d653413cc06ec23\",\n      \"totalWei\": \"403720000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0000e4090a1c217b90256eea1915fdfcd1bbae64\",\n      \"totalWei\": \"400000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xabd2a942d3d365563ffe8fed5e11f1d377c2d5d4\",\n      \"totalWei\": \"400000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6b2b94b69f03f3b3a917778e610f41f1318a5bf0\",\n      \"totalWei\": \"400000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x86348eda998780459d06b940f905145b25a397ca\",\n      \"totalWei\": \"373610402808100\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x45a139331f472c4702f1c756c0253f4c80564122\",\n      \"totalWei\": \"369000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xea98a37ce62f2342a3eb0ad9edd9181c383d8958\",\n      \"totalWei\": \"330000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x95d1ba73fd9d3b3a2ff491b312d5eb9f462a649a\",\n      \"totalWei\": \"310000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x90f6e68fe4bd0634fc5c7c1612c01ba80e95f8b2\",\n      \"totalWei\": \"309000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x926bb3319f0b27c8151931fd885a009279fe5417\",\n      \"totalWei\": \"304075216045441\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1168dc6686f19be98917b91c8e55e81176cf0cbf\",\n      \"totalWei\": \"300000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc82c3b298f5f574f42cbe041d5fe5121742c6a6a\",\n      \"totalWei\": \"300000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5c77b0988d2fe1d1be6d8757b19b0d42d96917bb\",\n      \"totalWei\": \"300000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x011478e8f9785eb5a8825afc9ff7524530d4f912\",\n      \"totalWei\": \"300000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1ed0c2113cdefa472d7841e0a21422d84d8f41fa\",\n      \"totalWei\": \"300000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc40409ed25b90650b1f1dfa220d96141e8b8fe03\",\n      \"totalWei\": \"300000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc1ec8a8a12ba56355e6a59cfc64010f165a522a0\",\n      \"totalWei\": \"300000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x63513dc903567285d3cac61e499fa1a082b78f36\",\n      \"totalWei\": \"297878998089000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb17fb3a034087b011545a15ede4b8b961bf84806\",\n      \"totalWei\": \"280000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x326a8825472bb0f4719998e708a1eeeb4473ed1b\",\n      \"totalWei\": \"270000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x57c5b9a0320a446a4b12488727fb0d8a6c2fb719\",\n      \"totalWei\": \"255930000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x76eac5cda3d3c80232a8a7bc126f7d6652a17da7\",\n      \"totalWei\": \"224000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x940f5293be23c4d06f9f561f2df79457d3782e1e\",\n      \"totalWei\": \"200000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x80bb826010b8c66457bb23b34b4640db69de8f2e\",\n      \"totalWei\": \"200000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9b863db993d8bb0c8b6514ea056baa57e38021b9\",\n      \"totalWei\": \"200000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc6fb9864b3e76c69a9716f242c86d3755071d499\",\n      \"totalWei\": \"200000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x71e6e71059f123c56b9b870b2fb763f4b743cc91\",\n      \"totalWei\": \"200000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7edfbd2d04505e74ea6ff6c1720275a9b16a3869\",\n      \"totalWei\": \"200000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x7bf499b5944673db7c2d9a27cc3ef72ce59ae1ba\",\n      \"totalWei\": \"163000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x48fd9ac268360bd394de9a63781010f4ab83ac88\",\n      \"totalWei\": \"143000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3310e91b1ba34d59986baf5da78afea79607b11b\",\n      \"totalWei\": \"132433491900368\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe1fa108524a7369824c2c5b019d43b78a5d0afa6\",\n      \"totalWei\": \"130000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x052d88166d15bb97b0ea58e295b1973ebfa58693\",\n      \"totalWei\": \"121000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7bfe971084d2d56c5ba0bfcc21f754c9a10671ec\",\n      \"totalWei\": \"120000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb06428af321598ea54cb34e14c9df3d3b09fe625\",\n      \"totalWei\": \"120000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfe222bd8fcc0d6cbec595d2ee000fc4c5f91b906\",\n      \"totalWei\": \"115049643921352\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb3fb4369d1079dc85c10ac6366b345925df71adb\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x540cb04ebab67e05a620b97bb367ac5e4ed68f09\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xef9d5de0d4b71c76b6147a6137f2978da3a73506\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x089da3a56d0ee629d83cc301d1722ab94fb673e7\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5e3c1a53f61e9cb9ff5fe89ac4fd8fcd3f7ea6eb\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x80b3fd7c78157262d289fad864fd3a1c6f7fb443\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd5ea63c170b6a6844e51b3978361be5f28b63daa\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9b9928501f034139195fdda9ad43c9ec9857fe61\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4ba85d44740d7c532e92acd171a79fb31b322483\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9cb720f52ac7e777e503c456da12e9670fae6ead\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xbdb2ab7c1dfa51c389b966bc5991e37c0120b1f7\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x344dc8824ae7ae66a3d68c81ee35da38d8918ec7\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xbf60fe40eb2b03a9a105697804987169c5fad184\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0b30cf796e8815157a1e3b8434edef6da4a1d362\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe428a0082eedbca76a516002cc66ce5bef42efb9\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9ebb2b1334186b5dbd1b2ae677a47fc89085115a\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x98f830348209e806116cf0ec52774448007e41e2\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3fdaca3beb3079cae2cca5a484fa1781d3c83403\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa9a04026574f342a041dfcc76c3a20e4bff9f5e6\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa063a289d0bcf2f26e6ddc242cb58d1ad34e5bd0\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x94d0deec69bd67d294b78487a758cfb763c6fe27\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x508d5484653431db879202b7ee326974ee570f83\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe6aeec13e8a19132678bf4d0541d99e9923f071a\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x061eacad9b5dc7a83f4b7458753f3e1bd3947c09\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcf354e360ea86320dea7f832bf81093d41bc035c\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x30ef0f115729f3110d492f2bdedf47a3a9471169\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x52f24cb949580a3fb12734222655cce34e9e1d4d\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe5e840cee9c90f3f8a25859552b298fcc90c2000\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x87d4a19c75ed144376ca14b1c27332513e5aaa99\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xbc08e5a74521faaa975583e3a8acbd7f74ba3f9c\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x204d3807481211d80c2ef467afcc6431f0dd567a\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x186e610cc55f7a3b76bc01fdc03ce57ad6024083\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6f8f55ad1be99cfd810417c07906d295762f87a5\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2be0ff6f4acc4215bc15ccaa5db913e83d98ede5\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0f479ec036e34e9a66becfeee1ac68495e891d70\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfa065cb1d1ce6af01b7d2d304d9b9e7ba11479e2\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xdcdce415cc8d7e363d5b7f662ce0a12ce61972e4\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf447115b338e6f03f7241734cef9b0a1b68936d9\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1f5e37348a490c60f09691d330c6e1c6e42aa488\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3024d5511f5fd48826cc4aac8ed875284f2cc1c6\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcc421ac7dbc5dd47356715c05f829125ff231653\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa664b904d8053bfebc881f1d36ac1476dbb0d1f2\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x826a5e358e814416aea3f760b2cf9a665cb55556\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x14297aeeb5d308b0e487daa1e28624c8819e19fb\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x599ff99d703c2720300b001b561169b42583a455\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1ae58eb47dd61819520e274f5cf3ca7c62679adc\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf4e2fc5424bf01691afd682a73c09afd992de1a7\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0493ef871f67bdbffd5a3907f7366dd0768590cc\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf4bb872c13dc5e61015fafde54ed970d113f4472\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3bf83c896a1c1ba5aa01dcaa09fda52e25d249a7\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb3866fac54bc1ff4d3656ad6131ea7076d9fc3a6\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6bc623fccb43a45943f82d6c890203b1ca81796a\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5b73b03b24996f3735f5e74c7724d9f98d34db4b\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x905c682c3a9fb309b2e90837b2384070c0bbad60\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x382de616dcaed5e126927edb34763d09215cc489\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x78209f878396850007b632d648edcfa771154fb6\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0e90a9867ec86bc06d1b52c394ebc6feace6cd3f\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x43e63b476b72ed9f35a4de0612d40199710aef6d\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x86612daabbe9833ec3d175ff8951b409791269eb\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8b3a49b827472f8529a5b3b8fa48ac407118ad34\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0xc9ee2604a982ce984fee23348861cd246ef1bc08\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4fd9f3f8e6029a6834d4f814044d748f1a48f0a4\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2152ec4c17875638d09d4b10a2ae3f31b07c3df5\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x6db1a3dbb95874b1840f37f1844729b6d4872b75\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x64f5de151ca43182d4b1b978c1864a4710920965\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xbee382c4ec028c62676b4e48f0d5048691f80881\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7fe33afe1109a52d7f6311cc0b8b8388d547ea5c\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe91b1d34ae27a4ea7f8ef21a0367ec562d479fbd\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4373c220edd895e90b994d5a7c9cdd7d2a951e3b\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6abc587081c7c9ebbdd84d8ca7dc9656cb64b76c\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2f670cef2ac736d1015c53207b81d390382e891c\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x91c02d87adcd691901d8889708e76bf37439a1a4\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x876b50bd18470f9d27882b713d705c4063edec5c\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb2c851ed3f04851c9dbec4adc1465c1352a153c4\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd58045868c84793d378876d31e17d90124c82e05\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x54a7ede07e5af20530ecb65f850ab7d20dd308e8\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x120a111e185b5137d3c4ef364be553384c6598e8\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6004496108ea4f454562a780fb536f87361a1c62\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xac6c79f3e48809088114b794b92b4ebb93bac97b\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc7fdb3f5063c133dea7a95d68e0b336053405312\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x862f088f9d0794ef021c03fc5ebe198308da9b51\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf240635e9fd0bd086e26a3808dbf0ded94a990fd\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x80466b5d78ba181e32c0810bd468fed1aba672d3\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x337dcb0a07961e39195c532f13937af7df9b6eef\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xde59972b741983f825c2f1fe41119be62c12d879\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x1435ad42a9eac4fbe74a625ac7cd47409624c753\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb68a5910d05ec5bd829dad8460527b52bd9eb9bc\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xdc5f533644831b1739d9b3d858c2bba9829b8376\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x85c6927bc5217873a07465638e767edd440db54d\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xbd6177d48696dc7d56c50e37dd162e6006180e5a\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfbc6809144a37ab60f221505ddf91c4dbd376b7a\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfe2d9c55f579aec7d56078e49faca3791b97b24c\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7dd9db83850b8c3f62dbe5f38a85bc7bafa0bb49\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb0d0641247334404e43f48742abfbc2a4153f7ed\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x82e2d2727395b315e461d56df8e46b3eb47c6e0f\",\n      \"totalWei\": \"98480000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0xd6f50e71de664d19e2781c09e2da37387c03f204\",\n      \"totalWei\": \"80000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x81eed6f3c2cf5d880f16841375a5994927876baf\",\n      \"totalWei\": \"80000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x870a61136ed491f97bb27e081e8adb3da4b74f18\",\n      \"totalWei\": \"79989000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xce741154e6627ac04a7e00ef289a53110ab9d3ef\",\n      \"totalWei\": \"71229853336000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd1c8305b509e3b0f870c5999648f14bfb6121c04\",\n      \"totalWei\": \"69050000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2799f2cff4f607462d052f0d33c1d1671674f32c\",\n      \"totalWei\": \"60000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x32618f82fb8d53de77e958b39fdbe8891bd34e1d\",\n      \"totalWei\": \"60000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x17858aba4338bc859cf27a3485eeee8ae5b15739\",\n      \"totalWei\": \"57503982150764\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9eb0da56e624a205563e89330ee9dc1dbfe2b105\",\n      \"totalWei\": \"54166779514124\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe60a61d91deb35d8ae7b6fd53bc21bde19e376e6\",\n      \"totalWei\": \"53849281246720\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x721d53b6986634e800f355ed18b1efc01b192ffe\",\n      \"totalWei\": \"51683593043388\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x4dbef3bfca8d83e57c09371a77a8add25678a5bb\",\n      \"totalWei\": \"50000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb8dfa020896f097fa28cdeaa7d56e77860669df5\",\n      \"totalWei\": \"50000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xdee108b504d604097df48daaa9db301b2f8742e8\",\n      \"totalWei\": \"50000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd1932824ff1c985f195aacf6ddccc152f77421f5\",\n      \"totalWei\": \"50000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x581377db9436609b8d1fefcef58750aaaeb1d291\",\n      \"totalWei\": \"40000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8fc9da6b28cd119644bab6cf8cd0eb44ff2a0014\",\n      \"totalWei\": \"40000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x37ee1fd3150b19d9e072e70e69071013ae620911\",\n      \"totalWei\": \"32000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1d06e5ff1510c1e25b9603abddcd2d872468267c\",\n      \"totalWei\": \"31500000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1f5a65ac9408f5478ff99184dc18a436f08e605e\",\n      \"totalWei\": \"30000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe23f9140bbd2a766867f20fc8e71b7abb17bde55\",\n      \"totalWei\": \"30000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1746cb8c15d19ce86c8eda4cc6d00f396fe6a9ff\",\n      \"totalWei\": \"29909493871545\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7623d7a3dd5c96178e48bd49d3d715dc7a0f5109\",\n      \"totalWei\": \"28500000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x50a62e383237a5659e0b83cb81fe4629745ce4ac\",\n      \"totalWei\": \"26774335193257\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x44ff225d45d358d519614b9985ecae6ca68829a0\",\n      \"totalWei\": \"25239640166000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf8f56f91c5b7793a8bdaf881aff6639803fef20e\",\n      \"totalWei\": \"20930000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6fa9b0c70fa3e528cb82f2f699c208dfbcc17e35\",\n      \"totalWei\": \"20000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x44d585fc510c5d30d909d83563fec8a47d8d264d\",\n      \"totalWei\": \"20000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6c8bf987ab3d9b2c756700689e9797efbb73b93e\",\n      \"totalWei\": \"20000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x13ba1a3ce15b9b7b21c8739a2f7376c9f82478e5\",\n      \"totalWei\": \"20000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x008f8333b7f79999a6039800c0bb559620661077\",\n      \"totalWei\": \"20000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x470e39b83a8517829cbbd74279aae0de7a4cb04e\",\n      \"totalWei\": \"17501170960040\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xee7031799fb3d362c729a04de80d6df6d71539aa\",\n      \"totalWei\": \"13000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5126f9f3522ed030f4728028e141026924bf1539\",\n      \"totalWei\": \"12143014890989\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0xdcb18e78fb0112c6fde6b55ff802783895d8aeee\",\n      \"totalWei\": \"12000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x06afe6aff701586643fbe13f837f6b843e4c1ac6\",\n      \"totalWei\": \"11500000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4dc0d32c3d30238bd6caf508c631202d62688885\",\n      \"totalWei\": \"10519000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x69c10a21cb95b5ce1e80db621d3421162dff7c13\",\n      \"totalWei\": \"10384735961754\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb4fceeae6b7f678a4a33f0ef7f37c640a7e91171\",\n      \"totalWei\": \"10104000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe0e5c9f687e89c08fea55f2a772b986236f4f09b\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4c6d1070a8b52f6e4e1c9d0f85aad6664007e158\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe54f5a1db7a3a7d0d2d93e2d50c9fa3e538edb9c\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0a3e5705a2acfa47ae86122eeac7dced7dcdbb4a\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe096fd8ef14901305a3cb8f2824961c3403d41b2\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x402231e1ba43112175c759202d1f806e093a196c\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa0329953610d575b5642803c804329ffe60aa07e\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb3ff66e0241f6a7ac65b73af48670e01ef732f50\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x284d2a52b206335992a155291ecd3e6ea3c5d9c7\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x56d01bd6cea47eae180a40e82797d1a9c2414d56\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8cf20c6df772c57fdc789f0427c8efb797586c1c\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8168cdbeb26874b668cc73a15294868ccf6a8d02\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x826946a3ad7160e97daaa07b2de714e12da2e38f\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x78b9d812289193cacb9e69ddc787c7b58e3f8d8b\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5908558b0a482d415e1592d3e49a7fae5f015533\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x548d9575043d1f31df5891d759874e3124593340\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1295058bc52349422f54c308fd18f003a002cec0\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xac7a56bb0041e4871bf046e38943401d9e9bb678\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x35f64e171ad10d12a56606c9b244b3fa2c917ee0\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xba572e4eaf49235ab716539caf8ed9f300b4939a\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x41f8ed0560b3aad02e2550a5d0bc07637c5d4149\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x460c41c83eb52f390be549a0e7ad0115a38547de\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfbb63776cc677d00b27190e464793136a26195b2\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4ccb6b4b8429acbac68bd4096e3ca45b5a06a44d\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb8a58aab3f729b9ab0ff96b9938eebdf78801eeb\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6682cede4f8bd59adbb103392f2780e71013aeca\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0xfc28421f3480a0fee6cacddbc693f40afd8905bb\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x88c846e8c51271390822aad661f9fb33d9229783\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4e9f235c205db2ee4dbde3aeed521787d25ca7df\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc3fc83c0da92558d9fe83d7385bb35d97df75a05\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x84f2e4fd7aa60f96a42c16c7b7b85c70f834c836\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x95ed90f8370e2018ed37a7c22bdf1f7616e6b74b\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcfbc6b751c6dbf7b13fcac5dfb1f48ba50856be5\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3d05ca3a3250f2652d0260d876a537b852d5a451\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7bac547c6202f6eef8a1441f5b33d08fa3310953\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0116b67d5d7facdb32a01304f771cd559db72747\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf353e3d6766ad556a7c69ea9f9b36fed1a0e231c\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x42d0fcc9430690fe77d4bc0a0da4d0f543bc0119\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x20443cdebee6bcfbfe8b6b008035972c2a978c31\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9f56982d40688aa9646448bc849328258d8f65b9\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1ce4e4ea21cf83d9606bd13eee5febc3aa910cb3\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xab6ce3f6d7d9fdeceb8d3f25a0ac2249ed871b14\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x00f4b68270dffb0c5af3a3dc06cd50922721a9b9\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3fc704f8691ba311974a13a24975dfef6ab0762d\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb3bc96a93e87cf81702df3f13f93d26dd6ab6f00\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb6683ad5656241b200421a0aca57c6e5c1a2b3ff\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x205594b3c519412339a918591fa224727bac94dc\",\n      \"totalWei\": \"9685000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x244853c783ced2a07057dbdac401297f24126f33\",\n      \"totalWei\": \"9680000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x28df6f58ed5c29a718d107bb61aa1660e08dfbea\",\n      \"totalWei\": \"9680000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc754422b9ee25e593b648f78004e599154d2f809\",\n      \"totalWei\": \"9100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0cf34cddc2bffcb0459aa4b16c48473a087edc5c\",\n      \"totalWei\": \"9068000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x91a0f65e9237f94f030f76a8cb55184311fe4ebd\",\n      \"totalWei\": \"9000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x456422c216de90168240702ae27365b76c6b0578\",\n      \"totalWei\": \"9000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xde1b5eb448c96439d3bb071676a5b744c202ddf0\",\n      \"totalWei\": \"8685710000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5ab9f5bb72b0e7bf91fbdcd330d92306c9d0cc5a\",\n      \"totalWei\": \"8334300000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x75d199a07a8acb8970d4caece529a382d7ceae52\",\n      \"totalWei\": \"8135410000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x56c5d4476a684fc407dea0bd4751dda900cd22ae\",\n      \"totalWei\": \"6880000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf7a68bcfa1f27c05dbfab4089dadbe63956bbf50\",\n      \"totalWei\": \"6000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x09edff44ded96f39c07ac95d68984ba42eec731f\",\n      \"totalWei\": \"5755296311431\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x15e6385ac70a89563f2b033c60232bde7fdabd54\",\n      \"totalWei\": \"5753408894770\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x52cb862def3fa15fefc97e04db09eeb3e32599e8\",\n      \"totalWei\": \"5469098227739\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa149349cf1e98da8f8f7af3744fe388cf2c81e36\",\n      \"totalWei\": \"5412924982273\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe655297ec821b42054c6dd52fd1634453813a7ba\",\n      \"totalWei\": \"5410962610248\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x37d9618a4b18edce503aa5e64ab70ed46cbaeefb\",\n      \"totalWei\": \"5000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x547710a1f715d60fe2f398d217e87a47b631cc15\",\n      \"totalWei\": \"5000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xef5f8ec38bce00e3c28c5ec1b78e3f5e62de6d71\",\n      \"totalWei\": \"5000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa608581e957ac3f2f09ce919dff16dce7b04dfaa\",\n      \"totalWei\": \"5000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xeddd4b59398e010d5425cb7ca87cb502f43ce1c2\",\n      \"totalWei\": \"5000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0xf014e860b32748d37f9615476d6bd9d80a253219\",\n      \"totalWei\": \"4900000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2aab691a3cfc2c53de76d93bd237a0fa60136811\",\n      \"totalWei\": \"4900000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x67306904f6e5d437730887317b4a33e84d267fee\",\n      \"totalWei\": \"4800000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5f48acc110523a10c39dea48446bbd43606982e5\",\n      \"totalWei\": \"4600000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa6f563181332394a46ef0af6677ac5d27ef35441\",\n      \"totalWei\": \"4532710000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5931374face7ae4c5b8f1f5435aed00d26d09ad3\",\n      \"totalWei\": \"4400000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xacd86084c943017000b9aaa0bc38081d352bd2b7\",\n      \"totalWei\": \"4178000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8b93e6152a4d42db628059af40dee0896055e1b9\",\n      \"totalWei\": \"4100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0e3e96001cc103f563c54bff3a7fc03527f89eaa\",\n      \"totalWei\": \"4000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd2ad2ce01ad27835746f72e396c2a130ab644433\",\n      \"totalWei\": \"3600000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9f71c380b21acc14c31eab3df8b42a59ce18a292\",\n      \"totalWei\": \"3500000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xecb9db060fae371b0850b12fa730c9dcf1c0909d\",\n      \"totalWei\": \"3500000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0b614c99d7ca9a0a1b9f1392b79853c1c16bd66c\",\n      \"totalWei\": \"3200000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6020dd652d87909870e0baef487faf6f16919d88\",\n      \"totalWei\": \"3000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0020fa1e681fbde5ceae324f393f40aaed013d06\",\n      \"totalWei\": \"3000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa27f5f10d719a922ae5356cf0659181a2ab1538e\",\n      \"totalWei\": \"3000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6c667dd148550eaec6c2405d0c6a41b178bd6b8b\",\n      \"totalWei\": \"2991933746619\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd4356331f98a771b4c15894d8398cd69fa9bb3c7\",\n      \"totalWei\": \"2300000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x830edac5247ce8c6bd1d2fba7c1080c44b082531\",\n      \"totalWei\": \"2100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa3dac1819c5b23d100f3dbda6fab69e2dabce965\",\n      \"totalWei\": \"2100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0b9b8afc5d1cd125a0443a77d4d0ec5befa568ea\",\n      \"totalWei\": \"2000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4bc68a43110a924169ff677532e5c47f5554418c\",\n      \"totalWei\": \"2000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6f06258ab391787093d7b55fce6b8533917e77ee\",\n      \"totalWei\": \"2000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x293fe082793d07ffb24adb9dd25d2dd23449344b\",\n      \"totalWei\": \"2000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5b9fa4d65e285a95dd9afbd1e357a19d9d4846b2\",\n      \"totalWei\": \"2000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x974e7cb09f98813c242e12ce7428649f124f8082\",\n      \"totalWei\": \"2000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa7c3fe296f14ebd0961868629eba94e5d69566be\",\n      \"totalWei\": \"2000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2155739dca65fb5935a48247d181feeedc0da0a6\",\n      \"totalWei\": \"2000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe631e67b7855173c5ded9b7de4ed92bda3763a06\",\n      \"totalWei\": \"1731824000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2a585078e660748b0b027e82b67d3716dd38439f\",\n      \"totalWei\": \"1497350000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x933a1425851911907928bfd1a11deea1dd582386\",\n      \"totalWei\": \"1200000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0c04fcfd4a57d7e16fe39965fcae0e5996ad2680\",\n      \"totalWei\": \"1160000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xbb87a9cb32a01cfbc122d596b0ae2fabb4272960\",\n      \"totalWei\": \"1150000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb97ea41b493316935a20f959f9c4f9cc648472f3\",\n      \"totalWei\": \"1140000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x37fea84a9780bebe3dedea3f0361e6803cbc68f2\",\n      \"totalWei\": \"1140000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2b96d4113ff5889a8962e18c517f109a1c1c8b34\",\n      \"totalWei\": \"1130000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xec5a39c7131366a1571a9d157bd2825011c5617d\",\n      \"totalWei\": \"1130000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7cc2ad1a4e9c9a1a2509730854ccd214ac28e57b\",\n      \"totalWei\": \"1130000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2cb7a3c3bd679bc729222381613089d91bddfbdf\",\n      \"totalWei\": \"1128977000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x763a0428caea9207095f3ad62e836aca4fb8e535\",\n      \"totalWei\": \"1125000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1bd5c8d2f219d10cd628b192dec96978a07ed099\",\n      \"totalWei\": \"1120000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0677558eae4886d6fd168ba4dd67024bb72b37fc\",\n      \"totalWei\": \"1120000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xde6b5d7e6f85fb98c99558c506dd43f13cdb0350\",\n      \"totalWei\": \"1120000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1293a5c33bbe3a2f0e2ba0f92e9c81faebf261a7\",\n      \"totalWei\": \"1110000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2c7baa596bf1d2f106f7763593720fb6e9904081\",\n      \"totalWei\": \"1110000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4b5bc29fff9b14903f291543e7afd693426dd60b\",\n      \"totalWei\": \"1100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd14f39a2ec103edabee2a1850e9c4bba46f22698\",\n      \"totalWei\": \"1100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6b076f09206e0f1e70b4c7a17eb5ddfe1287f27d\",\n      \"totalWei\": \"1100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa5c5f7d0bbabd72d7662e01b40d5d9a25635af70\",\n      \"totalWei\": \"1080000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xdf77fbaaae6ceb03d905bde4cdcc2c5b8baa907e\",\n      \"totalWei\": \"1070000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1cf96f8d594bf73fe9b7ae638b7f24a37733ab52\",\n      \"totalWei\": \"1050000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc8288c8ab5051e027b4793dce7207900dac8616f\",\n      \"totalWei\": \"1040003000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5a072a77686b04c4f710fc9e7c561d948f7d6dcb\",\n      \"totalWei\": \"1030000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x191c9dc2cd214b6497fa32c5ca7792f807842de3\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x23109f52fc3f4829f12e07ffb696d16690e9aad4\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x34f6c256608e4efba951a993c5cd8acbd2e42776\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8b69288becd1210e7bd1ceb9a92b4fefc1ca4bd0\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x13fd69b56c699d5e57940326c75e72485d333821\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe4709a08474a8313928267145f4aa2ec44fbf8d4\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8c640f57942acc9c17eb22cb0986a7b43b7d87c6\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x774f491c06c84783fa4c5bf95b6f64a30d9d8f61\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc7baa93faf121cbd4888adc3fcbe28d40b942614\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xbf8cd391ccc71073a1781a4f74847bc5f97a9600\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8d753926910da148ca582d4bae9176bd7a527ca1\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf2f2ca28f7840325578677acc6b6bfedb41b7410\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0a4eb272da9cf039c02b2dcd7de8cea569a280ef\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc8f1e19e9d68ac3c954929daacf6c87d4a2e95a7\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xbdbf0ca9a2fd679e99c67f9de2761b747bf3479f\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8900d194b2e4aff75ff8244552e774324889d392\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa4c3a95c65dbfa3cae102780e4fc1a58862a4b9e\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x48ec1fdf7d47fe7a96d8d0f3f505c3f81a092a03\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x646d49bc45e1939e679d4ad9d79e4204c2ef8a20\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa393037efff2479c40b227bbffd652ea0b703720\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x837e3405b5a11af3fa4ec7d4afe1c9f04693b141\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7ce21d95cd2e5065fa2e1cb7f44f913f2da9212e\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x69f9c3b61ca28cc70b1bc5f333e26db70405d733\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x93ce9ab599a2682604e3ebf7e837e3815d5ea9b0\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3ab8c2c27a9c1a0b396758a77719e361b87240d6\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x43b8e790624db8c537ade0b251a62257dd36df48\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4c122a2179f36f6259ea105c0b834130deb5d929\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xbef8dcfc2a1f3a2b282352ef32612a6c044aadd0\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfb1f97cc1ed546da125fa01d132e20da2343c567\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0d306e578ce0057d3dca4660232cb6d9a492d9df\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xde596a652395915d225945776d56098ec39c6c8f\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x45df4d29bb45052e8e8d7c9285036a3e68a18d94\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9978634b24f22a130d29f806d1c8b841e308161b\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1b5c4dd142d4513dee2edfe6a18e25ca67653822\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3ee4b083d881b99541e118fa3366ce48e6c1589b\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe7f1239f0cc08411e722d523b7c7245884c73a2d\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3d989f9f948bfc0217db498f802cf709066f7251\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3d55c084db798ce3abcaf0c50708aca3a011e4e6\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xbcf7968022f9c2fd10b2cfc47fdf0d890d67206a\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7f79de52ef869e142615b18299d0228ee1c4d045\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x80cd77685ed0b5bd3715d56ffa1dd5701e098687\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xdbf723293730bd6cfc359a414aebb01d3bb201d2\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9106a095c5678f110dae6e6160a42ca2a57fa6ac\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xbfda4afd332e77fc6ed379a62a48192a62a5b8c2\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5a0106b20a582ce07f2d959d322eeefa901fffad\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x561d15339eb536cdf58e5995a4cadef661d093c9\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3305889bfc01852957df14256462990700c54db4\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x817d55884a7bd7f4b8c350ee6a58d6ee57729e2a\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x19db26e00c1c2efb2aa302b03a92151d96aa6cbf\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x081cd8d8e02c10f1a0d47d8be0808c040a3896b1\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x726ee18f2a967139d8215ad69573c23f0acc01c3\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x43161d4fbf7c5bdf5629bbe2d037558e0c0ebe98\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4b78ce43801566cc84c7a251dfd9e1ce53752c8c\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcbae977601b55afa4111de24ff4aa24e06a58625\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb86a1ba78c5db12a8c093f3b83c58a02ab329f3c\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x68268a74c3a720338d1b56a8b9559d5813b080e6\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0cdd4ccc898a35f1598e517e916ace8de134506e\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb9280066733cfdf647b9ebb59c670becf3bdf59c\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x407383ce03aa643cec3a18a44f2185b239c273df\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2c2331f0a174606b44abba9d5682db96a776fad7\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6e6ad728c5a5e4fa84f1bc836e3ae50228e52dfb\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x24e9d00d2038c549d292fb572adaf449fa1c30eb\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x134dbd22768b5dbcc22264a2318c30e7138ec61e\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfe6939c22fdfc93141bd52a2b88353b76d9c749d\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfc72c9bf3353daab801e15a60d5d3ec3413fb2de\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7006094dcd29bcf2040009bcaf0626559dc34378\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa9da165216d0e1032b6db3985436e339cc3ba224\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xbd4106934dac10e2b65bc9390caedd45bd57ab04\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc261509bb99c1b9dd4f0e2b0cbe01ca8490d4ccf\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2d300cf2651b6dd52ed5c948ae8e6dbec4883c02\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x39453acb2c916039310b28e799bba8e262ba9a11\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xab4b1dbf08e7a219dbde10796c7f6c372be161fa\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x39ded12296c983e4e9137ae21957436aba3ef5af\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1b55bdc6f3569ff8e061372cffc76f4bec92bb58\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x08455a4855ec07384195a1a2378da31270597045\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3a8267cf536e00aca465f5bd70b8276674d4e28e\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb00795aa07c9950abbdbd1677f2ba2260e83229d\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5cc69616c6a7f041eca97ca7354fbafbfd4549fd\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xeccc8797b2dd85d9248fd3b7dc32e913a33b56f2\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf0757d6a48d23fe31699d529f1dc0e8763da97eb\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x24fb7ce1b8b6c8a8eab2d72eb69a32880ad3dbd6\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7ec4cf225b797c9ded326ebc9694a10103d98880\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x08ddfaee3b690aa100291cbe38d993c4baddec95\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd4027cc7ceb7916c598d019dcfe3cac2f8a9d65b\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x20b7be1df5f79a779bfe2b287693f133738ae307\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6513460ea3460396c8db2e54bffb7f0ef39463d8\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7cb3699eea9767bbe797a54369982bdf00a4db62\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb715841ff5bd993d88a0a7c9c14c30efeeb6f5fb\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfe1ae2189bc9920e283b46efd3e5a004a5aa8ecd\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf1784ba80220f0c5c4a4a4b66051b0afd34e788a\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x09aede0811eaefb926f300657e54bbd2fe6ee229\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7758ac8360541c886d4facc8b68968db76862d58\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x31c266c157d57155632e47046e35d2f640c6d203\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcdd469de67665eaf025da57a350750c960da5a58\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x028dd5a007676196d912968f64a10682db865850\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xad09015b215e85c4e29519eaa45af09290f21579\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xdfa9a81613a55884e99c2af8f96340b62f2f57f6\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0d6a9963f7b362c3d50cfdfdc9207b4d8e766c13\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x98242117840cdfefc6943eabb1bc09340643326c\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8a71d5797ca300383d21db761fd2f4e2f3d33140\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa4a9624aef063ad725ef9361ece47db553112aa3\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xacea66d815546c4a636efa83c93f7f06748035ea\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1c279c06a4f8918f03b32ef985290a5236e1b0fb\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe798356df129a74738933c474c3489f5ff7e3dcd\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5f23fe68a7a9cfead224e5f62480f37834d556ce\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8eb093010713cb58b2bf46992c1a07b592502271\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf6aeca1a83e6d0ec9064adcd7b60ee4ceefacf53\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4c92677321f60a0dc709bdc4a9a41766c4cb1c43\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x20d6b8c56a67ab6ae3423798ae40ded3a19c9a61\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4f49e89b1530387002734589e8d4227665e1f258\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x20134f2a91d7ceb746f54249f0626abc94f9858a\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4f0f2f2ca9612cfbc7ee77a9690919cd016812e1\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcf0a573a52dcb2b2c57c93c60ae4b2c4244244b6\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8cc62a24fd891d4cf7793423e52c1556671198b6\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x31577a229fc2ec0ad5630546d576dc753feeaafb\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x606a03cadd4b369b8066e748f328efd8772cc1d8\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3a9da8b89dcee94dcf55af051b0ac3b146ad7035\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x53787ee1b2628b8f2c3cd166e37c2a7617092dd3\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7abfa4e445890a6ad8d04de2bfb534a1710f522d\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe1d2349cca2d20c2c8d2a3d4a292ff7b97febda9\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7b3e46a6823db3718bf0d4dde0254be6060728cb\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x011230a5cfa00d171c41320f0bda47f6ec8596b3\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x829ee1e2e04f2689d63667e65eaa105c20e0cb6d\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcb73230d560454eb71da78087f588557b534d5a0\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4e68a02c458211f4fd016ba2b988bfa108ad0382\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x68f58fb15af6a6417f1ba5c33eacac2e5ae46723\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcc7897bb6c0e396a595c01d9fd55b304a60f3e65\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd81ad3c1315936797559454cab254dd71867f359\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9e53067855d1f5619d1ab8b7f7a9b944396111f8\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3f18879e511cbd6520a686cf3bb1c5413afc9b36\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x19f564dd97fe3ff3ca7cfdf2df5db2dbaf960b56\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa7ffd3f4e162ddef1e576f4b03322f236ceeb454\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x999490c494d0cea386d6936cede53b0203195930\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x132e5ca01addf97ba14ba083d6490f8dc43eeffc\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x288ab636ad77f0bef17cff8beb07828d48a60d01\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6bd64abc231238de0e523b06793b578770f3e5b9\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb92a6ee060f5fd6d71c3fc0708cb9bacf584e7fa\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8c52bc53f14107993a80736605ee8e5a115536db\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x71fbf5bfbb4a739d3eb21526fffa7aada7bef94f\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x15773e75e8665ec15eaee8c0006d87b3d059ad6d\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa4a3eabdf7d0a0e98c793915890a89e63bb39a77\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3619e40de14b98929c0bcac51e890c49263fdf9c\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x65b12ffb0dd7b7fdc81276db5bac10bad34fc284\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xeea8692028e67f5945640292298969d5a8eeb085\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x89efbd2c494a594517aa21c3335841e08c8dc7ce\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb7ebf31e678d3c3fc1da8447550f11421993fc90\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd98be577b6b15054c1937b1805c7ca5e2f9d965d\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x35c295f087dc430fb8ac940e2104e48d25c4b4f3\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x36d3fb5b39399a0d3968747f3b95637d7b1ff82b\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x80a885596d1e9d61b15beb0f44001ddd3b1b4a39\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd9529f1bbd43cad5bcc14f1f5156ad937bf9cf69\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2c5913a7da17a2890841ee01b94fc48f0ec44010\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x445119c4aa2d6bad74464d760c4df52b2761dbd5\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8296eac3de8a68ff557964414936a14644a1518f\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1c7d6e73ab8685eb796c6ead71accd9132c883a6\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfb3508dd82aed931b8bb97a81880c61bb2510212\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7eff5924eb3d70c10870ebb1ce244ae80d7967cf\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5a914e0c891145f4a0a9610a670e703149895322\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x55a1cd90c5fb0dd3abe513f547ed8068d960d3b4\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8fd4bade9eb2ef70c037993a1f5843e84f467f5e\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0bc708103ad4c076f0cb6faeaeec67c85bed525c\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8c72a952c259ebccbee01f28f43de45de61ed43b\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcf77b9812c69482dfc14344fa7e52e22177c74aa\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6e5db8dc6618d764aa95cebb167c3ea009412bc0\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x26c5081bfd43dbd31f73f7fdd96e86239fd9e052\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4dae6ec85f8ea5a663876578225b8f553d99b14a\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x35ee3a8fd1f2a847fb99778dc57b80ddb95fd814\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x47467ff4b00a8bf2b82fbb2ec11334b305a9c7dc\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe5dfb9bbecd05730157c61c7a42ea92b71181a1e\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0b3bbc230e910034c891d6867d8f7f1c54596175\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8743bf4c6bd1949df9d793a4e4df3fb030a82d10\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb8bf90b727776b18d1e23c2df3d5847ffaf5c621\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1e4999277fcc659ee148e49851cfab731bb54a34\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xabeac11f12a146c31ed27a144b71d442b2b89ae4\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5769f505b3bfebdbbd426ffcd96e75f84bfabe4e\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6371df16c64f1a2ef9320b8ba2ec8fe14fa06b1c\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb8c01585239c4156f0c46da9e74f10080a90919c\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xdcf1ef38e57c8e0d885a5799c2b8f2466263c52c\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7d689dff8af0587917b1b3e51e07ef0b3d46a927\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xed7be10ba5aeb59b06d53a6ed5fb0cc402ae681c\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7867c24d4dcc2b9790e1a1f33726594ae670a6ab\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0882203da99f616ac4c2af3b3aaaaa5c2cc50384\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc4f904e3bbafe50445c8a17a7dffece6c152c55a\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x297b0b83c9750506f65a0d89bbe1d259e8098d01\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcdc3367d113eb906993340806d380b4fbcf6e886\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9c2df67c7f432390b8768af4f92d10e51de3f151\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfa81ac4cb9518a97e1a07a6ea9e8203121be1eac\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9222ea5d7d78a5e726d2093f993ed123b05e6221\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xbb654f4e56d59cf980a9f144d4e6658d67ef66dd\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc3eef655183669e66c99accd63cdbce0f426f7b1\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc34ea057a181721fb6b8d0c58217517d3d1c19eb\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3e5e69bcb24b501350dc7ec5281b58b91e71d469\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x86b5def63aff58f9d90412fa0b057333f33f29a6\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5706c370dd72cdea864e27d0876a4c66070c5bd3\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x092eaf8a0dd18efbb514b280652273f746a0ce71\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4826eade1c9bf5ce3e9889b37aee0ad15df66e73\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4779381c539a138dfb2d83f80c57e3cd2add07e8\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x475abc90c3cab0d1e0be8411e5df5ab5cef76017\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x332a683bc22b4ed71ce31b301ef245790569ecd3\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x530e86aebcc9c40b889ca7dab1978ca4dd052fb8\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8642e07a7f91a160dcc86d86cf1def3d705a3f1d\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb5e3f7c4e31039e88c35832ac4b27fd90dcd94fb\",\n      \"totalWei\": \"968000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6fa133d719b467298ebe60563d29cac2d827dd5a\",\n      \"totalWei\": \"907000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xff6162ee001a76c864a3492ccaa60604ebe1035f\",\n      \"totalWei\": \"907000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x79c9374f405a8b5b9f65e7cf660056eadba01c58\",\n      \"totalWei\": \"552000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf673588e1b3280e87e98e7feeb85fdb27943853a\",\n      \"totalWei\": \"446390707931\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x597acba3f836e9fdbabcab75d6eaadfbbce7ffd8\",\n      \"totalWei\": \"268659763902\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6ae3b38ca5dd6f937898125324c134b67b11a802\",\n      \"totalWei\": \"200000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x74cd7d8c9b327ba961c788f151b8c5946bf115e3\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x20a4f1f9c16e913188c3c80934ac074b9f9b4997\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x90b3335eb95481f6ad6dcc8903c445911683b40b\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x26dd86cd10d92e925fe75b80faa51eba86bb9a83\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x68c5a0ee0a59b5f715c52ea06ea56fa84eab340c\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x83e359ddfd91b400b62dbcf95c8533dfe9798e25\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xbc1ee29016f945ea5867218c752ed05723a5e21a\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcf1d74e57ba61b19d42032beb08a9dd27a59cdfb\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xabde71a7b5f7b13d08fe7913d82577533e707708\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x18cb1ad37c19c39e1b2dd020c8ee0d07418924ff\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf11723ca71c8fc6fd8b18fb0575ff58c9c19a562\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0aedd8a6770a4c6e1a90d9b88e187db84635bbb7\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe8c107983f166d3ea3f7f53feed732616655cff4\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x30884ccb0505c5714038dfdb30ef0b92f922aa1b\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x081d9529ca3a2e085dd9434b48d630f15b9ab537\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0b11d7c4ebd294480d93cbf8b64cb8bf2546ba54\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xda59ab41714d3169897d37a7c185bb04dbae5785\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe2fafdf8d4a7fbe87417314412a439adeba37460\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x005318cdb1a8bcf5eb3e03eeca531dd18b9233bb\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7faddd52936df1ed13e8fd8b57b7b672264667f5\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0dd61b6756b84fafaecf68d32e4f8aadd95b7a90\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x572ab894165dbcf68770f34429d3c60d05141a82\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfe66defa163a42c0d38aef1ef3f041be05c2d2c0\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9a8dc3600aac1a7e6b6ef4fa8cfb7130122c0c47\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5ab040c9242d99eda30fd081254efa31310fb96c\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xaedfae956f093845965f3de458db26292e696c73\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x588e90af5066065290fc07400de761daafe60ebd\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0cbe59eae12536fca7ee8f5c649eb874591bb3f9\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9d7fa78b058455602bd0080038b6a11ca04fd268\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb1e434cb256a23d1df7032606c9d32453c2322f5\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3a3a98a4446e08c07221996b398084a9eae27f22\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4799d4272a04988c667a382192f1ab634b708c4b\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x082b145d0c02452148cf559c554fbfb75f5dd240\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb0a2208000403e279a4b9bc097b8e4a0945de619\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xdec89694eeec57137b7f8e080e038e103b7e4e91\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa0339d402a952a6bcbfab1fcf63a382770ec824a\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x35639b6c0b7fd6e6f959cd448d715eec35d8ff27\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1100d2c93d939000a30d45384a68c9ada99d3dac\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x205cd43d386a344cdfa90028f6896d254d5dd85e\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x88decaf8310fb0efe6ade3935c902564ad3f896a\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6eccf2bbca701610e2e4a35ff7c0fe341df1970a\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1a6fb65d94cba98425258d7c2fe94be353910c47\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa6e1ed5f5f628b47f4069377862ed5e45c4b85dd\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe661dbdcebeba61999840d2767291ef14f895dbe\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd1eb763eb974d33bc8dd65113a5127ca07389f74\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x46e6651cd50e1a0556a9d689dc46b3c51419b03a\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xae189c0789e690ba0d1756f59f949bf7de80d564\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2175d23a1cdc05d219bdcd0201462c40a01aa386\",\n      \"totalWei\": \"10000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x69e2da0829e8e3e992d234a6845a671c703cc3ec\",\n      \"totalWei\": \"10000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x33b4e31944bc8282c350d7e08b175d53d34ad2a8\",\n      \"totalWei\": \"10000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x928671ab2459d9a147b3ca985aece8cd22d033f1\",\n      \"totalWei\": \"10000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xdc4b05952b7b0292bcd3285effa518f3ec07bdad\",\n      \"totalWei\": \"10000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4df2ee0912c3de56d71880bbe72de7c171ee84ab\",\n      \"totalWei\": \"10000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xda39a9b060c237dcafb55dbeef43e42c9eef9418\",\n      \"totalWei\": \"10000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa6609fc627f76408a905f2607f351c17102ea4ee\",\n      \"totalWei\": \"10000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1b41a7635503f396a1a2dfcdc05b86cbd0f0c6ae\",\n      \"totalWei\": \"10000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc1dbc7966f7c71a4174bef75dcbf91ef829f4c0c\",\n      \"totalWei\": \"10000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa4c33c26b3c11cfd45b891ab1182fdc3c934df67\",\n      \"totalWei\": \"1000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9ebe547ee00899aca5ab99f05182f2d5b7f37827\",\n      \"totalWei\": \"57550000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x754b366243532aa193f855a794e51e6bb7e60b48\",\n      \"totalWei\": \"55000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3890beb1f106ada3a33a777dc6825bbfce182eda\",\n      \"totalWei\": \"20000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    }\n  ]\n}"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/output/optimism/recovery_addresses.json",
    "content": "{\n  \"addresses\": [\n    {\n      \"address\": \"0x88f5d29b88664371401b6786a01db137fc5fca61\",\n      \"totalWei\": \"800000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x623859f6da03a9bd9587acf4ba53863ce2c9e325\",\n      \"totalWei\": \"539500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x12f787d5833b8b65f9637a5d4bbb163b7db531e1\",\n      \"totalWei\": \"500000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xee49c8eddab1707b32db9c9263b85f9a38609d9c\",\n      \"totalWei\": \"300000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xde55a6f7e8fe05ae1264577705b4d43fb7e49e8d\",\n      \"totalWei\": \"208899743171606634\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x84356ffcaeb364f4e5bcbe71862a67c97842a16b\",\n      \"totalWei\": \"183000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xbc12a9b7da3cefe597c9e3f265b54342e22e2e64\",\n      \"totalWei\": \"90000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xddb1f53efd461ec0b71a967f08bfc2d71a2404dc\",\n      \"totalWei\": \"75000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc08fa3d9a67c74a7478964f470999b84af35d619\",\n      \"totalWei\": \"62976751942455917\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x77e15a151754ca638b89dc2fd5761de5c776bdf5\",\n      \"totalWei\": \"59781050000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x82dd4600e7ef8d1fe53fc1906b18fc511fa861ef\",\n      \"totalWei\": \"53880000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8e70e6a8cc1783e01a02fab76e0371251f65cfb2\",\n      \"totalWei\": \"50000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8aa7de0e5c4fe75b0e6f77fe62ad037aed05fc9f\",\n      \"totalWei\": \"50000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xbfe30abdec1c649ac8b7fc4b79d7c844722430d8\",\n      \"totalWei\": \"35000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2e75e9ceb9ed13e843628a5b277824e06e28c360\",\n      \"totalWei\": \"33034462512968948\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x44ebdb20908b124ae447b986b42e09c7ff65fee5\",\n      \"totalWei\": \"30000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x45d0765086c202fee211d55b6c010b51e978e379\",\n      \"totalWei\": \"26642155883255000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x673b8f5ed1520ec242d2e633defe45efa360bdc5\",\n      \"totalWei\": \"25000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd2881cda4aca733e5ba73b75196913e4a1c9d916\",\n      \"totalWei\": \"20000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x79dc78f23e2ec66aabdb98b584005b8305b09f27\",\n      \"totalWei\": \"19000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa0b0e61e3eafee16b8fa30d97bc49f4151070b43\",\n      \"totalWei\": \"16000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x88f96204a47c3bd173b672a49f010149c4bd802c\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc1ff5cedc90ecf6bf2888edc450975d57eb0d27e\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb7630685fd05c6c25ac7508be15d67309cd457c0\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfa18b9047ad29f8b66b556da8e97af1b6a57e39c\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc1e6158ad96dae1ed7e3a1d6358b1ed806ecd324\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3d5f396fed79ed47d52e4f76454d500971c662a6\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x786562bfdf880256a1a1e315bb0c48424b292fb1\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1d77d267830d91610e2bb5876013d7dccbc31186\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf41084c75a910abf87a5c669f4b5481621a21720\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb8d738d819e43283257a8768e51850da0469493b\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8c6fc47b64b15f1aa0bb32cf86237717cdbb5215\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcc439258055449a8aeeff7435d04f211fa665abf\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x51cd590315a39750775202c73a5c6ba70d684ea6\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x265ef3e30fe964314a2b6ae6bfac32146ec73424\",\n      \"totalWei\": \"10000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x93059a1683f5d250e739811ae783b06a6e89eeb2\",\n      \"totalWei\": \"8000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x427c15132273e795dc7bc46aa98e53898f8a2f69\",\n      \"totalWei\": \"7534973084083916\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6b071d291038c4c953e7777a0d465a380d17b2f4\",\n      \"totalWei\": \"7500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe36052d993875a8bb256d5a651802d196b922a52\",\n      \"totalWei\": \"7000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x886cf30e5f7c6f69ef1be1173a53a6dd04e76966\",\n      \"totalWei\": \"7000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5d53deebf69c3c8267231e30d69cb26e05e69caa\",\n      \"totalWei\": \"7000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x63b64520d7eef6e3fcdf2c2f8ffb022540bf9d51\",\n      \"totalWei\": \"6000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb241df251a541de2ac21e857a350692a909f1a78\",\n      \"totalWei\": \"5700000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa013880084168c4c57dd49a10f61a8efa009a10d\",\n      \"totalWei\": \"5558310000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd21856efedaba0e60a3df7e8bfa89adeffc6433e\",\n      \"totalWei\": \"5400559497963989\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x190cb8ac64c5ff16419ae7101b49803b4f16f239\",\n      \"totalWei\": \"5200000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcd526132dba5fe62a0e383c6342b86f06591988e\",\n      \"totalWei\": \"5100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd171713685a0162b78434a2abe9b5af7ffc22a22\",\n      \"totalWei\": \"5079163230814322\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6361cac2bd1391af556de4f24b76e21de71d7540\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x2c0df81c97f719fa2d3015b86f7ec1773c41166b\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x631478c1bd538902ba285bc1fc204577f8d12ef2\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x701a97be29a223b21c946fcc62c2afafdca53376\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0xf3f78c87e63c73d9f2ff96d6d45678730c29cb84\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc8cf6b03c2aa80de2579df02aa3bed1e716e1680\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2917814b19ea662dcb781531e749bb094841ae95\",\n      \"totalWei\": \"5000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x728b0bfc1f3979d59333b1d7da47da28d2d68f51\",\n      \"totalWei\": \"4280810000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa041e8fcfeb517d9682807b5c7822655e6d3da20\",\n      \"totalWei\": \"4000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x75ac15ef1951d82e28a7eaa336444a9feb0d8080\",\n      \"totalWei\": \"4000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf7368d3022a5ed5d882816cb7f2f34e2c683e962\",\n      \"totalWei\": \"4000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xbb5547f8b2cc4ff8d22fc5da655b97e8281abe8b\",\n      \"totalWei\": \"4000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x354bafd73ae7fa85e8dd3d9fbf58e176ac893f5d\",\n      \"totalWei\": \"3747092657571938\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x439be4bd928c390ce81481a60c919f7c5955098f\",\n      \"totalWei\": \"3500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8f5457f7776191bc2381e6ce63c10c9a87c61abf\",\n      \"totalWei\": \"3031710000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe7869b527c806d414597e814ce579be727e5610c\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x9e8d819703c20d73690ae7584ae60c2318beb7cd\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x217b121d91b7211f3ab2d421aabe25615297dcc6\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x029f781a6218d49b547ac058d0b045a07905e089\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4b5fb113a712fd3ab176bb530a6779f42f6275da\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x09aa0efaf1b2cff22869dd0dc2f0ebac78b6a1c9\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0b9effc1c884344e6d4d0da12e6d77c03d094b69\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x245c817bb7c5648cdaddc96cee166173094391f6\",\n      \"totalWei\": \"3000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa71bb7f374f1c42c3497e53512d247be9edb78b4\",\n      \"totalWei\": \"2620000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xef194d117fda93fe6ad2aedbf72a948ab65e8054\",\n      \"totalWei\": \"2600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0e86e604ce320e0a227b748d62c5ec4523825e3f\",\n      \"totalWei\": \"2600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x30981e13e59b0fa3c07c42faad64d8ec15c09342\",\n      \"totalWei\": \"2500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xea07b4680eea83ced3c8b1dde0862980253dc731\",\n      \"totalWei\": \"2500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcca65ea3449566d7cc2f6589ba126adc0c151eb7\",\n      \"totalWei\": \"2500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x31bf5793976c10aed933787896c394e158271fdf\",\n      \"totalWei\": \"2500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x670c82562f740b8e7e0d9dc19358072271672509\",\n      \"totalWei\": \"2500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc7177a8921f130078cee5ab430e336bcff303924\",\n      \"totalWei\": \"2494151661642273\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x065c8299c3c42b448d8ed3d297837370cbdec042\",\n      \"totalWei\": \"2289686435488506\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x73b3569042b1bb104f7fc74ee30925d62534d065\",\n      \"totalWei\": \"2200000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9c64605387a115cd2f382ea87a30c5188da1cf1b\",\n      \"totalWei\": \"2100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x9631288f4050f7cfbf77b77f8540decf6cfc7012\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x341ebe93e30ee11ae4e3ea4bf1492cdbf44f065a\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xefd36d022c0099579715382d5bc929f16e14a984\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x853793e1322b8b5f7ac5b1106013e746606459a9\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x854f2922c387c0d11698378f46dab496433e449a\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x62f89eaf4a53f81bece4ce9458c8a5bb902a1c87\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xbe2d5c4b0a80a2e9960e0969f3510b5c1efbde72\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x91eaf9003bb447fe0bc616821f9d728eb256258c\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x96ee49d020655ae66d5c678a238e48c44e5f65dd\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa27eacdcf251dbe4dfaf9b0865be8cb0195db0f5\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5d2e73dd5a395384961d60982a64cea4aea2dcfe\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd21895ecac23f5f3e9fa67180ca7e1fec3223140\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xaa89ca05646e598210a9478db27ef5e8c803a0bf\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xaae2040f30725e3ba320dc4de4a11e5979f21f13\",\n      \"totalWei\": \"2000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc4130e106837730560b534d64d488a502096fded\",\n      \"totalWei\": \"1800000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8c88244d23f96336439eb68c21326e29013b5b41\",\n      \"totalWei\": \"1800000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9b25e5fb1c608a6be07a8bdd354d6f09eb94a0cd\",\n      \"totalWei\": \"1563797547534053\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x1ae84f502350b987d3d3d289d50b0071acc5dcbc\",\n      \"totalWei\": \"1510362163270150\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0xefad4323bac4d32fd5fc6c65886ea88239d9dcdb\",\n      \"totalWei\": \"1500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7d41ca22a4a51c1dc4a714783a702339e6122cf8\",\n      \"totalWei\": \"1500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7fe717376713745147f88f72cc3211c287ea69e6\",\n      \"totalWei\": \"1500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1eefbe692290fa12c94f974306137d58a8ccc6dd\",\n      \"totalWei\": \"1500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xce6bdc76c2e51b4c3bf229a62f3401d9450f8d43\",\n      \"totalWei\": \"1500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x81e6614fd977fe5da99cc9c871024c9c0471c929\",\n      \"totalWei\": \"1473726000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa7c012c15d16f8c39f249818881fc51a91944492\",\n      \"totalWei\": \"1472890629688020\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x76e198617d0b09738f0a2061bb268893ea366673\",\n      \"totalWei\": \"1456420657439073\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0xcf952e428671a4ffb942ad4690d0aa103d983ccf\",\n      \"totalWei\": \"1412810198116972\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x4f92604ae46f09fe0e90227ad55c9066b595f2ef\",\n      \"totalWei\": \"1402479151607996\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0xba3a9f59ca96b490af6e5eaea078f624b66f81a2\",\n      \"totalWei\": \"1400000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0022251ccfb51d0c77218dd1c1bac68df7ca8098\",\n      \"totalWei\": \"1400000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9f460fa8548d552868297ad55608560bb89f447d\",\n      \"totalWei\": \"1400000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3d8835ba9afa8bac2e22b78b0fcb5ee496904481\",\n      \"totalWei\": \"1348537645776920\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x9407d0a9b44bc121013b179db8add2cae794da6e\",\n      \"totalWei\": \"1300000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8424b7bc704fe69ac3db0b00afa58da07055221e\",\n      \"totalWei\": \"1294596139945843\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x90f479347e6f915188f44014a0c729c9f74e3ee3\",\n      \"totalWei\": \"1269331399114058\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2666c323d1ec8b614792c9b0c9c082aedb9d13d5\",\n      \"totalWei\": \"1263554603423105\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfef171e25b6422f102bd6a68b807df01117f06cb\",\n      \"totalWei\": \"1200000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4fae8a3cc9deaf377a922a3349e3d7750a8ec65b\",\n      \"totalWei\": \"1186713128283689\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0xa2ab61c6a80fc1a68eadb38e6262bc22effcad7e\",\n      \"totalWei\": \"1160000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2a53ff9c496458c70f0b2750ed7820260821198f\",\n      \"totalWei\": \"1132777732826280\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0xc18458f9bd213d5c7348fbfc82ec096a478ae914\",\n      \"totalWei\": \"1130000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xab2b8867a18ad9efbb42a4ad4f4574fe7c7d5084\",\n      \"totalWei\": \"1100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x188c2eab876e98c1c6b0ebc37dac9a331a765563\",\n      \"totalWei\": \"1100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf3ea0cb4bbe49dbbc4462cc0e2db4bb573ec8998\",\n      \"totalWei\": \"1100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x700cc505f4a47c9337fe3478b939b33bfe3eebbd\",\n      \"totalWei\": \"1068013509829205\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd1a3524b0808b3393d9d64486d3b0fae34665be9\",\n      \"totalWei\": \"1067127665818300\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xbdde5f17970c2c15aa8cce0113bd266e645f8e1a\",\n      \"totalWei\": \"1066010000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9a30b6021f827465d5fdf2ff8a179acb43982f5e\",\n      \"totalWei\": \"1032151519843113\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb6f8f2b9a1048339559912590d800113d7cff030\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x433287f355db57bb0ac6528fecafd3b73b0838a4\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x826f2adc72e7f97663330ae61c20cbf01f6ada92\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x77fe2d8548082698d7d4be8045876928799e171c\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x599321b91d0e4e541f7d172ab1cacccc0d5a8e82\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7b281d3741f881f43a49bbfb12d85f4a1d6ac893\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd94dbf2c1fc5b4c9ca277efc7ff19da7659d9925\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x024813b4972428003c725ea756348dcd79b826e6\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc3cab030a79c98f47c3a3efef85db5ef4dd54b92\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfd9a3b43c5d3327675f689c954d063dc3e60ecc0\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2f0cda686cb448daf7cae161e57aff1e5258984d\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc2af996c138925f92011ac511d96fcd4737db231\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x93198168207e14f2d2ee4172a9b115487d92e915\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc83684d01c800a11905bb65c383b89e808514a18\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6a42c2205a7acf3e4dc403502b81cb7bc8b70751\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3b32cb66694500774dcc635f76aed145ba742d44\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x51c989f324e4dbfec2699b7cb6c81b268a9c87ff\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x403767138047ecc1a319213f7cf915b09b35d58a\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe1ef4b676e17fffcf951d543dc91d6debf46f937\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf825776e971da4400d9c98b09ee87ecb741ba301\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xed7679346494c7fd083022bccbb2669b11aa9841\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7e1eaf5b5736794b19df88722ca1c32af80cc2c5\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9514ea32e83b7a2b3fe1acc5b788d108e3be720d\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x566ad96e3814963024ba4620987bd0461040fcc0\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x66f3e026054f17ebc695ac4fbefaaed7e87f3623\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcaefd832536143e6c7985ca78f1e17fd0b05c4bf\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x81b47a508eff27ed82ccf367baea1d17289cdb16\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x81a2dda115e86fd0f22934fe857f799289e365e3\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x51363074d8fb3422aa8f45aa5a9639cbeb217289\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9c322e4edef47e1d5c3672361b7e009ecc93141c\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa275eeabd77d1d3f2d02bd56a49fda3cfd1b82bc\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1fc6544403f0ef9bf7ee486abb63240a796325ac\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x05875f986fdf0f7d307b71f036df7a621dcc5d1d\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xec9d11384f42066bd188300cca4069ddba942ee3\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x98e88e36cdec51b71d826d69c0965563bfb3f2a7\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe18c68edf591b495e3e8c8818482f724a55ffe80\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x691f54bbdf548a5e51eecf74d22bbff1991f1f4e\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3f9c1cfc1648ee5e18ed3dfa10e339bc9fb3dbcf\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x89d70e2da19ed3ccdd9317ac1bf4e08a5bdcc4bf\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x64749482806060993379609605585df950393cf9\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x10fdc636697403f7db3ad215e1433b116921a2f0\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf3fe547d0369e29272f7b19fa08f7fd750956978\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x15b57c8d84e7bd1ff71881d21376fd9b425e1ad7\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6529770a5c58ca859558670cf98171f600c48783\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x8f294a0acf670fc6e14e95d679ae86bfae2be6ec\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa34551ceb662aeee115d40482a0fd2d97e6f2050\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8362beec6f02a977fde4158bc5626329374de3c5\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x413c7c4f23f42588f417a978a0ff23f3f4fb39d9\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc9793cb631f299b7bd8d6c02910b11d865eda423\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd5e47de39144b095c0502d75358af0281d7eeae2\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1d0a3b2c27c53ed3b8fec23d4677e1a365ddb97d\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb583c187b1429fc08c6c7a7f926c0d56d42a5caa\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc1d075c75a88310395b0dfa6fcfdac5e7dbf91f3\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x57a8cf309a35e87156b149734dee943c6fb52d4d\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x856b044077c490fdd657290cbaf7edb132bc01fa\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc87d94e265ae61cc4eb1813f8b2445e6724c7c2e\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x507303b99c42f35058b00f6bb507cb2b094b616d\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfc414daf238a3cbea641f9eed8959ca6adaee3fd\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7b57dde6e443070ebf60564d1b5dd84a1fa0ce1c\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4572ef6fd7faa5325f31b984ace9d522c9c06b5f\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf78c3a7514055c8fdf95ac594eb2f27784e807db\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xdf847fb22c17a68a515d385e256a296590bf8103\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x74d7bc20202e57d64f1feec321fd391edae2bd12\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xdc29300acea4e2adf41056f619b6b503ab376bff\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc711d6cadd0e203a0fc8d82b21950cfa7616bf0f\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfb67ad972690550fe04f5bb264803f6478c11416\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb125dda6e005174aa2ae7570737ebfa7b518acef\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb0220190d75d21b6927653080a67e727c2ad91bd\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9716444f669e10573513fbdc0ad5d03c2e236fdc\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4ea887e70441fe1e7e30f06d381ee6186c305bce\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc25560e513de24d927fd1779fdce848e3d1a9907\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xca691d8aa8d32726832b6787c2576d5ef761c93d\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe1317eec6153bbfda53932b4f825badea66c1bf6\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcc0dc98ce0db0b73d27f9c496119c02d34f145b3\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc84a6b669ed75ca5194b13a46e2e0ffa645f6db1\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf8d05938941b37f7efbb0507210ea6577d9b7a91\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xedec3a757df24f1da06f14f6772d324ad66c6aa9\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2276816aec0c14697b0c9f15ccd99d8c475f8ed7\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xaa0dc16f7e07baf7b1df877281b8cb782ad37b0b\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf8b8f762ec18b32a67f5c94c57ab7bf620221547\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x570fdfdf72f55760913f18064875063ea7729265\",\n      \"totalWei\": \"1000000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc2386911c1dbe47ed63fc1dc4ff0fe84a8ca65c0\",\n      \"totalWei\": \"955840000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x070cca32b8324ed5f6039c1f0fe9a6eb47d99771\",\n      \"totalWei\": \"929599564026401\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7de7221723e9492c9ca365260479159a38c35fcf\",\n      \"totalWei\": \"910346521829621\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3b1628bf8584a218e0d97ebd1e4cc2c8645d2ae2\",\n      \"totalWei\": \"818994111432339\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb6170eacaa6aed67d64e095d419ce7fd8e7d4750\",\n      \"totalWei\": \"800000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xdf016d49bb059b6a1ec651bbc04c54de701f5c47\",\n      \"totalWei\": \"800000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9cf256b5933c3367f73d510c6e8ca98b0a294afc\",\n      \"totalWei\": \"800000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfe84b1d775efa42cc2e0dd1031dacbd241a3f881\",\n      \"totalWei\": \"792140000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x359791f496fb9e55340a227854214a27d4bb011a\",\n      \"totalWei\": \"700000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf924ab834ef511b6bd438baec36ac50d513a4e59\",\n      \"totalWei\": \"700000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xdc59b87b30512ba66dce3f0fe892d19db9abd0e6\",\n      \"totalWei\": \"677396486990312\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6d83ff41dfbf4d820359e4c78e487ed125f2c37f\",\n      \"totalWei\": \"640494899473544\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1e39c8102dfb89ce8d05a5add89da845b958ac0b\",\n      \"totalWei\": \"600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x73ca85522ef1fead38d567cd278561ff8248c3dc\",\n      \"totalWei\": \"600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe10701fdb62f3526a3ed06670e94a463401d8671\",\n      \"totalWei\": \"600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa1be19349c296c4c7125894672ebc1756493617a\",\n      \"totalWei\": \"600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7fa18723ef2a885dfee22b202c9df2274ac3453f\",\n      \"totalWei\": \"600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4d8c52776ddf0e615e3758a15ca766f9128acdcb\",\n      \"totalWei\": \"600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x8aa15d50c9d1dcc7ba5f92c550079ad14d1c42f7\",\n      \"totalWei\": \"600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcca5142ae99ed42dbdd3cd7df505abc1e73d32b2\",\n      \"totalWei\": \"600000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x96cb882e0fb501a46950db902d85c314feeaad29\",\n      \"totalWei\": \"579000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8c0bbf283640a058746db6f3d4fd3cbd7e526789\",\n      \"totalWei\": \"560000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf6c74bc3188bcfbae409378c546994aa166d0346\",\n      \"totalWei\": \"554433000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x30a37edb6051ebc5630d02732eae8fcdfaa001c4\",\n      \"totalWei\": \"550000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x17a79abefd7cc1592e3dec1edfe16dbf7e86079d\",\n      \"totalWei\": \"550000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x66fb69b0e14c3f71687cadfb9c2a5e5985d2ac74\",\n      \"totalWei\": \"545610000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd1e2654aa18e829232d777b4634603113a75ac28\",\n      \"totalWei\": \"541468353882057\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x745bdbca643fc419b138b3f2c5c0e67110381755\",\n      \"totalWei\": \"540000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5ebf6aafe796de90050f8e9a72f0c3e34ef0f537\",\n      \"totalWei\": \"537062696699213\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xfa12cc74c3bd1b3c29f72d816edfd1f0e376f5fa\",\n      \"totalWei\": \"533000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x18e93dc2744f2ab2cc112835c72bf5cbfd3468f4\",\n      \"totalWei\": \"532389229765882\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1f8f19347d0edc76dbb0dfe36d84cd11c91dcdc5\",\n      \"totalWei\": \"525613321047948\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xbf78308012b52ee1349108089e8e3de11562b155\",\n      \"totalWei\": \"522930502536213\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa1c22df31e708085dd1dc68507b60d26175894dc\",\n      \"totalWei\": \"520000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc07b987c2d572fdf76e93347742bde152c4b2bb3\",\n      \"totalWei\": \"520000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x12567ef4f6decdaa31f4e4d661a0783d423802a1\",\n      \"totalWei\": \"517080000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3094ea2500822117a3518cf76518c4f2ec1f01ca\",\n      \"totalWei\": \"515404141272300\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb4a1facb1b02097c32ea2f86722624d2377d6516\",\n      \"totalWei\": \"510000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x06df9021910c216a6fa7e6f119b65a7da723bc7a\",\n      \"totalWei\": \"510000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x41c969067b05c69f0e7877c7934ddbea1a3578fb\",\n      \"totalWei\": \"510000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x019251aab8dccd8bc4fe153a30798deea1dc1b01\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4c7b5ec93762ec4fb61fde287bb5342bd4748245\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x320a113f60cb2d2059965acdd97a22ca66771dc2\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x81247b89ffd0f385f92e571d772383c849637032\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe7f2004f57892ed3424998f994093e7924bd72c6\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1812fa2fb76945e9d9b683d7acbd48cf852d861b\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf351f0ea9e40cdd9d7473d9e5c173f0d31de0993\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa1040c9c11894f8d6e11c55c1d7bfbf4537361e9\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0b068417c7affb3aecddabf078421e094ae04032\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3640c0b55299d9e2b09f860efcbe972780a9fed2\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x60a8c5f12e745e6170fafa08fa434e2d4b299190\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x88f66de9a495bae3ce552b41e9682965ebf49fde\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8dd5b40af1e354cb72792184b138401ba82ad29c\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd7dd3cef544fed26a54fbbca7cb6080f80d61b07\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6698008f2b78aebeb8ffd7a720126548a3f39c15\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe3be4f5390c7760bfc095d6b1f63619b2d09639e\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8c235aac3e38eb2d5a9ae4164c23480b0a31522e\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x558fa82960ec3fa51af9ded2d5a846c597f8c28b\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xdff8ba45eb9a34074c1b2e14d4002add0fd61a18\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x69052d279e485b54c00e53f896609253e1f6f8ae\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa819a27c5d2e7c07f7739fcf2b620ed6b597023f\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x80c23f367474972ad6e2eb5f6ba3bf045efd8e8c\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x12f759cf8481148a29441628c3b75d5b5871cfdf\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf3c3f9f60bd25144738be81da0d8ec709d6c997c\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf9178e809cefaf2b219787336650a31552e52d5f\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x74ae5941f76f4810137aabc257e55a7ba374b3d5\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xccf0bcdf5491ddb100d42bd6944b12501b0a2991\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x254fc3950474e3bc7b8be0b463fc28ce557af0eb\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x66d8aa61be8c5a9e027fb3c5d1527e615fad9ca9\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xbab1b58bdf231522824d5eeafba249156700c71d\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd874ecda3e1ff9f0d2b4c80cb8c1caa095cd0725\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8e9f5b55d2c194b4af729a97ef1710bd745ba49c\",\n      \"totalWei\": \"500000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6080e863914e66e427998c6f4cdd72f990e648f0\",\n      \"totalWei\": \"441945878865728\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6432dfe5c8aa619e79d52a50ab7fa851b56d1548\",\n      \"totalWei\": \"414684000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1d8335a0a81f913f4c04644fe290e29115491231\",\n      \"totalWei\": \"401250000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe016a96735f97ef4120e50de2acfec221cd55b00\",\n      \"totalWei\": \"400000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xcc1f79f92ae827c66ef8a80ca1f2a05f75d01086\",\n      \"totalWei\": \"330000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xad0a0b434204ba0a2ad0e02e0d7627fa00c271cd\",\n      \"totalWei\": \"300000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7636b570ae87a0f9f49b920f734cf726c0b8d3d3\",\n      \"totalWei\": \"300000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2864c9bd73c0fc8ad3d5e3d77220ec53bc547040\",\n      \"totalWei\": \"300000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x96daf1d3bc516c60fd3c08009124f15a8721d06c\",\n      \"totalWei\": \"300000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9c78623a815e71281c3e7a4ffc5bf5f3c570c72c\",\n      \"totalWei\": \"300000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb7dca81ce67f685887fcd64f23f850cb45580758\",\n      \"totalWei\": \"300000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x2e6110b6cb83bda4bcf2891c676ef48900332987\",\n      \"totalWei\": \"300000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0d88ab85de9ad6416c13d2f6ae564b4944c510fb\",\n      \"totalWei\": \"300000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf40896cde395236756185e5a32b7857ba3e93236\",\n      \"totalWei\": \"300000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe5edfe0e968bf5dad6d023814989b536c0875676\",\n      \"totalWei\": \"300000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x6aeac243c090fa97e77ca77a4446be33615f07ae\",\n      \"totalWei\": \"272784680791814\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x301a843a7a9f8f00ca2604c4d44e5d6f64bcad59\",\n      \"totalWei\": \"267339033071411\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x59cc41a35621cc2d611600452270c93414eb5470\",\n      \"totalWei\": \"250000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xc600c544957edb041003bbe68ba14cecb3113e40\",\n      \"totalWei\": \"236410000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x7ecc66fc5757dd473824732d8855b8b80bef40a0\",\n      \"totalWei\": \"200000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x1351920815896ee2b027bcedc63e16ddb75b1453\",\n      \"totalWei\": \"200000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf22fb421de15ef56dc320d2b26f54769d3b35765\",\n      \"totalWei\": \"200000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xf2dbfb42722100af12a5789861d99312103a304d\",\n      \"totalWei\": \"200000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xdc00589c45e0200596916a0e2845f1dc2408b8a4\",\n      \"totalWei\": \"200000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x32378e36ae0d70f7cd6d112b89daf30fe0aee314\",\n      \"totalWei\": \"200000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa28ba0d8fefed47fc1accef68faeba3804309480\",\n      \"totalWei\": \"200000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x90cd1069d613250d73523fc463b3f64b1d8b05fb\",\n      \"totalWei\": \"162000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x9c563aec2b441187cb23597495343f6d5f5751ef\",\n      \"totalWei\": \"140000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x2be0251b28863c66047fd3ae16df619a9bab9bc6\",\n      \"totalWei\": \"125075191281766\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0985fa60ddf7ba252372edd620c23070814fbf6a\",\n      \"totalWei\": \"110000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x25e30122242bbc4c28b62d8e09b8bbf4c4af6ca5\",\n      \"totalWei\": \"107465060422230\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0eaec36364b2fce67031c2f7d924531838952339\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3a320f522aa6067a5ced2cf78ad52e2004b2f9dd\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x44c38fc7eba94f40e9756d6c43cb399b0e2fdcc6\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6d1b396c7fe59a42caae1b3613ee2af9048d3c42\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x861fc0f3c83b581609eb0c8eabadeb7dbf29b1ef\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5910a1713a01e3e7e0853287ae86278c01661173\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x67a4ca8c677c9b2f4d9fc7b7ceceb89d0cec2970\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x412b7bb2502aa48f5d50a5cf7153f16744d76d07\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4453a5001ea3942082b50723644e061b2ca7a901\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xac62e678d02ac2f24bf0c01602e4a8fe5cf02c88\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe8f479a33f0ce458c5d7ed22e438a76604efe609\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xd0575ae9f313bd8983ca17aa3941ff4031bce140\",\n      \"totalWei\": \"100000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x4818e7c8cd65662c9272fe2ec7f1cc2516149530\",\n      \"totalWei\": \"60000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x05ca4481a9b06f829cbe7db8743b01c746ed56f8\",\n      \"totalWei\": \"50000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x2f4d763f823dd6a48e76fa4d01ccc80777cd0ad5\",\n      \"totalWei\": \"50000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0b589695f0c11fb15b3fa53d29f6e7d709e7803e\",\n      \"totalWei\": \"40000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0bf3ba34cef4d524d02cfc2919c6e4d8c11bc6bd\",\n      \"totalWei\": \"30000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xa6e4a0aa265f7009dee7ee84d95d8cfce3d161ae\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xe67dff408974912e0011ab72997a8b58f8759f03\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x015421d227ad552b7fab1f1b383e6c93cb4c964a\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xb65d4f33bad72156d1738eda2ddd0f7b9406fdab\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x759d4b7158894d1f65f3c7d3ddd41135ba79d4ad\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x5ae4dafcdee3b1051f0ed2a471a4181bc3164bb4\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0b95b0322eb8654f5709a6c43b2cc8b9acd452cb\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x53a41265e10f66c987fb2e55a48939e1c50f3ea4\",\n      \"totalWei\": \"10000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x00161dd9179154421b0d493c91294c34d1398f1f\",\n      \"totalWei\": \"1094145778576\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x277f0eca887881aaa6e6112ee3e5c442d9ba9462\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xadddbf546e0467fc93efb29e8105177b4b45c2a1\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x6cd5af97ba90bed182ed8e68791004f2d4e31a9c\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x8059cc341b41dc765c621ba52ca2d9e9d9284e12\",\n      \"totalWei\": \"1000000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x0949c8d6aa7ad809ea08216f327ecf8a3c6b6518\",\n      \"totalWei\": \"251287850232\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"CONTRACT\"\n    },\n    {\n      \"address\": \"0x81dbaaa0f6230812bbd55ca04233503232829214\",\n      \"totalWei\": \"161354125461\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0x3c004cd31d452b897aca4bb4cbb566bd0e5f6294\",\n      \"totalWei\": \"100000000000\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    },\n    {\n      \"address\": \"0xebe85f2043bb1d669e4917f3b014ff5bc4863d71\",\n      \"totalWei\": \"24995875681\",\n      \"category\": \"NORMAL\",\n      \"addressType\": \"EOA\"\n    }\n  ]\n}"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/records/ArbitrumExecuteRecovery.s.sol/1/run-1754080993.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xd1d742b3ce253e279a9ff7c1a6220ea7b05b76a6e3d1b199d2d939def69e2ff0\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881\",\n        \"5000000000000000\",\n        \"0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001ac4679b6ded00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000007735940000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000002293014ca33b9d3db2bf2470c2f4ee3419f2c9c800000000000000000000000038fa73d4d40b714cf10f9df0f3b0b83cfb93e1f500000000000000000000000089b585df208c727829232d892a50806c3a20a4e6000000000000000000000000b11e239910eaafa78fa925e566c20bc611fd4995000000000000000000000000b8c30017b375bf675c2836c4c6b6ed5be214739d0000000000000000000000005c07cd461a072ec4dd86ed6c062ebf62876246de0000000000000000000000000dbdd871f45c6b4e9b508e60e3af9c4044a12fe5000000000000000000000000eec38a8835bf98eb8f4abee900455a5175d836a3000000000000000000000000b5a8d8874aa28f7a355d165dfc4eaa8c84c2ad2d00000000000000000000000039e746fb643789facb3031577eddf0ee996ea701000000000000000000000000491f58f614627826cd31b5b74fe895d7c87da569000000000000000000000000e476c3a18fb117ecb16c986dcb09630bb3abe8540000000000000000000000003f922732b21f36e3226944ec7606acfdb55d35c1000000000000000000000000c1bb4d41cc0635e4349a4237dc42937111090fb7000000000000000000000000d3fb2231c5d761a2ac02aea235f67c2cd35672f900000000000000000000000011e6aed8d826b2097d08067c64d46084ca7a3f2f000000000000000000000000e5964fd10170c8291cf97552284d995a006e67ae0000000000000000000000006ddcab72b2d6f7593ec912bf3d4b43d455a78c64000000000000000000000000e0e9271b3ef10c0761a09cc813282e6c8f21dfd700000000000000000000000072e44b2bfcf28755b5c1d54442f18e2daec5b5610000000000000000000000002c3d636f7adc34dcba3d787727a6b2225f43c3a5000000000000000000000000ce0a26ab5ebcd76cf87494c978003b5019dd52aa000000000000000000000000f3c3710cdbcbce065f912810e70cb78e0d9e0050000000000000000000000000659e2dd7261ae1d24abdd74fec16512650afbc59000000000000000000000000bdde25c38d17c0895bb98abbd6f42f4a3fc7a08e000000000000000000000000f67b3ceeafe13d8805e285b7722c719990b61960000000000000000000000000a65673459a3361790691562183bce05af001872a0000000000000000000000001cd8f13e7bad6bbc7e766ae6fd4c0fd145b6dbfd00000000000000000000000058a02121c0bb9915dad08fe699699fd3000000000000000000000000000000002e97bab47dfb1fd1395be6d86fcd48c19374b79b000000000000000000000000265ef3e30fe964314a2b6ae6bfac32146ec73424000000000000000000000000ed6a4e0a7781e1f7e25054db9e29a4121bd6e8420000000000000000000000003300f6a0845258216e705d2abbe211c2c400617e00000000000000000000000049121c6c995f76cca4b89ed8945fdb49164e39d80000000000000000000000006e3d21a6c60b8bb00dc2bbc163665c0abea47d010000000000000000000000000152aeb9e07f64aa6ee041f18ac647c75100000b000000000000000000000000a5bb368bc55aba37a5bd47c7f7bc87c6001080bf000000000000000000000000a85bb9720b83ae3e7df172de4067623b979bd4ed00000000000000000000000012fda12b1c5f69b45fa15f2e5396b726d7c8a8fd0000000000000000000000003a01b4a47b1c26aa098891a43da9524cf29231c800000000000000000000000050d4a329186dc01f23d66a4191e015001b82edc3000000000000000000000000e4a760af5f784107789e6cf04b10da689d747440000000000000000000000000971df5505d4f442570ca9e05dc2dd1ecccfd7865000000000000000000000000bdea881543543271ecefce91685cf1139765c18f000000000000000000000000ce39f85484a899a8a31268428698cdc908220f54000000000000000000000000bd2979093cc4940e856faa240b6f54bbf1dc59ae0000000000000000000000001bc3e2c44e0b2dabb1b06a1890273571825d3e0300000000000000000000000008713995371818c67f601cd347d8ba1740c03dc7000000000000000000000000b44ce48a53a79548dbafc3407b28bd37cb9f99560000000000000000000000008ad1816c73b623ff2abefd60efc2693264a40f4f000000000000000000000000887b86b6b6957f7bbea88b8cefd392f39236a88c0000000000000000000000003294733d558fd893fad3c9ec18be7323e7bd7256000000000000000000000000e73fe7e6d4294da0e87cc50c7e8049996f8f02f20000000000000000000000002056e236076e79a2f6ca92d78a6f74a5f8f932b7000000000000000000000000ebf35cdb22e31ceae5d9491f9f9093c6227cc11200000000000000000000000058d51c00a48d36cf9c2bff92e98923c30d3446e00000000000000000000000007344184be33f90c20b34efd96d3215f9c50cbecd0000000000000000000000006e7c0fefec5d9e781fe0643a346bead6ae3516a20000000000000000000000005ec3e02105ff5224dea33cbf47498ae726cbc69d0000000000000000000000006622c534d9be477355cef0b59fcdcc25cbc2adf1000000000000000000000000d8836dd5c4d56bcad868af0dd08085ea9f189b2c000000000000000000000000f614da1510b4b48057b01f3450e2717f1495f89f000000000000000000000000a20c043cd7f72e31bbc0a521f6fa7d29e46197d1000000000000000000000000618b4c52ed90bc5978f33cf2b057fa65576a72c0000000000000000000000000da22405545a6ea9df88cb2b0ebc52b7ad86fae1300000000000000000000000002644e345b23767c8103dda301aa11cafd82b71e0000000000000000000000005045f7ae251d3386ec48a0c9283503ec9b0826f4000000000000000000000000cc439258055449a8aeeff7435d04f211fa665abf0000000000000000000000008f38b0b5af86384b0eaeeb9bd893537a11908045000000000000000000000000a9a1c73e1e90b945fcc3507881a5e1a437ead162000000000000000000000000e1a85108fca08d3566c098b3b7eac1fe0f2219b000000000000000000000000014f1936819ff803400fa57b3878c8411910afec10000000000000000000000000dbbe14fa2fa8f150670ec127b46c61e83051c5000000000000000000000000061a81af7e1f611a89d10dfad779d786ca840f480000000000000000000000000de29e31a9b1032c2f511d53b46253c4d096636bc0000000000000000000000005b6b4253ed08c4853ec1d5fa7b8e0c2286583243000000000000000000000000837200baf9674d97243ec7ee31f8906b850f8c1d0000000000000000000000003c86b3d1dc8ae5744d6cf0f59c8913f11251e31d0000000000000000000000007a0785be7d4bc630bd82c2b16bf0a1c2329ecc880000000000000000000000005c186f2323c093ccbf645088e6aade58227d0a0a000000000000000000000000712ddf49080261325a9a4b048a81294587ecaf8a000000000000000000000000c6c742376e969d5d973ec09d9bd813e1b6cc5d5300000000000000000000000073fccce878d100d8511e1604d6a8b4fd79fdf98f000000000000000000000000b7ee28d626e21a9c95e1ff70c89c5e5250563202000000000000000000000000cbafa86d910a2ebcc7c4db23c3f3b672d5956c190000000000000000000000004fb97ebfb3d0fd199ee72ee2915bd6e0ab41131c000000000000000000000000ba6fa3a422f09895d7ec2c9e749c63061d56ad55000000000000000000000000fc064084670b76ad53417e090e06f4b5fcca6cfe0000000000000000000000007e027e82e314082df67c7983fb7718fefd3b0edf000000000000000000000000c3f01f6e61c0cedba21b6e22ea5a005e7b5ece030000000000000000000000006d79ae514cc2dd4287a4383b498dd5fd587b716b000000000000000000000000c6317dca3ab577fd956a346fa1b45bb4faf9b01b000000000000000000000000e691ca9e45b73de39971b06893053479feec123d0000000000000000000000002feb6ea92ee8a03844bf21b1639fac29ec278db4000000000000000000000000ce63e46660db5914593f986641d9133789477725000000000000000000000000b9a3831adfd989690424cbeedf788c53681c8731000000000000000000000000ab35ac8661e0011de2b4c20798410c015eaaf5980000000000000000000000006ec8b8cec5645066fda40c6c6d6c3b749a565755000000000000000000000000615db6e9a20ad3b89ea9f17a54c9fc79a91537c6000000000000000000000000e482498540424d9877d482b52987b8fb34a010180000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000002fb474098f67c00000000000000000000000000000000000000000000000000006124fee993bc00000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000000000000000000000000000058d15e1762800000000000000000000000000000000000000000000000000000442aedf9a0b80000000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000003d0ff0b013b800000000000000000000000000000000000000000000000000003782dace9d900000000000000000000000000000000000000000000000000000374a02e4512800000000000000000000000000000000000000000000000000002e62726b9dfd00000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002abe9deb958c098000000000000000000000000000000000000000000000000027f7d0bdb920000000000000000000000000000000000000000000000000000024e0e69ec5757d90000000000000000000000000000000000000000000000000214e8348c4f000000000000000000000000000000000000000000000000000001ce3528e529aa0000000000000000000000000000000000000000000000000001b4fbd92b5f800000000000000000000000000000000000000000000000000001aa535d3d0c000000000000000000000000000000000000000000000000000001988fe4052b800000000000000000000000000000000000000000000000000001876faf337fd570000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a00000000000000000000000000000000000000000000000000000126e00f6c5b8000000000000000000000000000000000000000000000000000010262981a32783f00000000000000000000000000000000000000000000000000f523226980800000000000000000000000000000000000000000000000000000ea35d08c716f8d00000000000000000000000000000000000000000000000000e0da67f760f48000000000000000000000000000000000000000000000000000d529ae9e86000000000000000000000000000000000000000000000000000000d529ae9e86000000000000000000000000000000000000000000000000000000d4fddf619ef20000000000000000000000000000000000000000000000000000d4255406d8a14000000000000000000000000000000000000000000000000000c3663566a5800000000000000000000000000000000000000000000000000000b8bdb97852000000000000000000000000000000000000000000000000000000b41a17f98cdb0400000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec50000000000000000000000000000000000000000000000000000009fdf42f6e48000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008b4dfa7d2c5000000000000000000000000000000000000000000000000000007aacda2018200000000000000000000000000000000000000000000000000000786fded1e2c000000000000000000000000000000000000000000000000000006af1cf125df000000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000005c5edcbc2900000000000000000000000000000000000000000000000000000058d15e176280000000000000000000000000000000000000000000000000000058d15e176280000000000000000000000000000000000000000000000000000058d15e17628000000000000000000000000000000000000000000000000000005543df729c00000000000000000000000000000000000000000000000000000050cac4d0a92800000000000000000000000000000000000000000000000000004fefa17b724000000000000000000000000000000000000000000000000000004caecae6463f00000000000000000000000000000000000000000000000000004a9b638448800000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000040df00a2705d4c000000000000000000000000000000000000000000000000003ff2e795f50000000000000000000000000000000000000000000000000000003f1dab98320a34000000000000000000000000000000000000000000000000003c6568f12e80000000000000000000000000000000000000000000000000000038d7ea4c68000000000000000000000000000000000000000000000000000000388a8a1612a40c0000000000000000000000000000000000000000000000000036e6f2ef68eac00000000000000000000000000000000000000000000000000035e61c08cf2d2800000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a180000000000000000000000000000000000000000000000000000031bced02db000000000000000000000000000000000000000000000000000000316d1b78ad73c00000000000000000000000000000000000000000000000000030cc28445fd200000000000000000000000000000000000000000000000000002ef9531d66b08b000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002aa1efb94e0000000000000000000000000000000000000000000000000000002aa1efb94e00000000000000000000000000000000000000000000000000000029be90101c60000000000000000000000000000000000000000000000000000027ddc478b260000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xd782ca9f4611379f55fdfcb6dbcb40b47ea05c82dad08f836088eb9d9e43155b2952da9bea6e6f776522d46d9f81a8617b52ab43f5216ac50f975869bf2b6bd71c6a0031805af471a0dd887a4852a827fb624f0e1cc27f2e959289f107731443464ea562d4a17e44df8e20d45b625066d4ddaab7e9031350257ba786c50b3d71cb1cd5c79c3a9b08910b2b3bcb0e3cc70a17c6046fa24c15472b05756cd45e0827f279bba575e95b93ec9833fc29ae07d40232e18460e233b0fe1fd8ca0a2f65732c1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x67bc2\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc698398810000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d600000000000000000000000000000000000000000000000000000000000001be4174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001ac4679b6ded00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000007735940000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000002293014ca33b9d3db2bf2470c2f4ee3419f2c9c800000000000000000000000038fa73d4d40b714cf10f9df0f3b0b83cfb93e1f500000000000000000000000089b585df208c727829232d892a50806c3a20a4e6000000000000000000000000b11e239910eaafa78fa925e566c20bc611fd4995000000000000000000000000b8c30017b375bf675c2836c4c6b6ed5be214739d0000000000000000000000005c07cd461a072ec4dd86ed6c062ebf62876246de0000000000000000000000000dbdd871f45c6b4e9b508e60e3af9c4044a12fe5000000000000000000000000eec38a8835bf98eb8f4abee900455a5175d836a3000000000000000000000000b5a8d8874aa28f7a355d165dfc4eaa8c84c2ad2d00000000000000000000000039e746fb643789facb3031577eddf0ee996ea701000000000000000000000000491f58f614627826cd31b5b74fe895d7c87da569000000000000000000000000e476c3a18fb117ecb16c986dcb09630bb3abe8540000000000000000000000003f922732b21f36e3226944ec7606acfdb55d35c1000000000000000000000000c1bb4d41cc0635e4349a4237dc42937111090fb7000000000000000000000000d3fb2231c5d761a2ac02aea235f67c2cd35672f900000000000000000000000011e6aed8d826b2097d08067c64d46084ca7a3f2f000000000000000000000000e5964fd10170c8291cf97552284d995a006e67ae0000000000000000000000006ddcab72b2d6f7593ec912bf3d4b43d455a78c64000000000000000000000000e0e9271b3ef10c0761a09cc813282e6c8f21dfd700000000000000000000000072e44b2bfcf28755b5c1d54442f18e2daec5b5610000000000000000000000002c3d636f7adc34dcba3d787727a6b2225f43c3a5000000000000000000000000ce0a26ab5ebcd76cf87494c978003b5019dd52aa000000000000000000000000f3c3710cdbcbce065f912810e70cb78e0d9e0050000000000000000000000000659e2dd7261ae1d24abdd74fec16512650afbc59000000000000000000000000bdde25c38d17c0895bb98abbd6f42f4a3fc7a08e000000000000000000000000f67b3ceeafe13d8805e285b7722c719990b61960000000000000000000000000a65673459a3361790691562183bce05af001872a0000000000000000000000001cd8f13e7bad6bbc7e766ae6fd4c0fd145b6dbfd00000000000000000000000058a02121c0bb9915dad08fe699699fd3000000000000000000000000000000002e97bab47dfb1fd1395be6d86fcd48c19374b79b000000000000000000000000265ef3e30fe964314a2b6ae6bfac32146ec73424000000000000000000000000ed6a4e0a7781e1f7e25054db9e29a4121bd6e8420000000000000000000000003300f6a0845258216e705d2abbe211c2c400617e00000000000000000000000049121c6c995f76cca4b89ed8945fdb49164e39d80000000000000000000000006e3d21a6c60b8bb00dc2bbc163665c0abea47d010000000000000000000000000152aeb9e07f64aa6ee041f18ac647c75100000b000000000000000000000000a5bb368bc55aba37a5bd47c7f7bc87c6001080bf000000000000000000000000a85bb9720b83ae3e7df172de4067623b979bd4ed00000000000000000000000012fda12b1c5f69b45fa15f2e5396b726d7c8a8fd0000000000000000000000003a01b4a47b1c26aa098891a43da9524cf29231c800000000000000000000000050d4a329186dc01f23d66a4191e015001b82edc3000000000000000000000000e4a760af5f784107789e6cf04b10da689d747440000000000000000000000000971df5505d4f442570ca9e05dc2dd1ecccfd7865000000000000000000000000bdea881543543271ecefce91685cf1139765c18f000000000000000000000000ce39f85484a899a8a31268428698cdc908220f54000000000000000000000000bd2979093cc4940e856faa240b6f54bbf1dc59ae0000000000000000000000001bc3e2c44e0b2dabb1b06a1890273571825d3e0300000000000000000000000008713995371818c67f601cd347d8ba1740c03dc7000000000000000000000000b44ce48a53a79548dbafc3407b28bd37cb9f99560000000000000000000000008ad1816c73b623ff2abefd60efc2693264a40f4f000000000000000000000000887b86b6b6957f7bbea88b8cefd392f39236a88c0000000000000000000000003294733d558fd893fad3c9ec18be7323e7bd7256000000000000000000000000e73fe7e6d4294da0e87cc50c7e8049996f8f02f20000000000000000000000002056e236076e79a2f6ca92d78a6f74a5f8f932b7000000000000000000000000ebf35cdb22e31ceae5d9491f9f9093c6227cc11200000000000000000000000058d51c00a48d36cf9c2bff92e98923c30d3446e00000000000000000000000007344184be33f90c20b34efd96d3215f9c50cbecd0000000000000000000000006e7c0fefec5d9e781fe0643a346bead6ae3516a20000000000000000000000005ec3e02105ff5224dea33cbf47498ae726cbc69d0000000000000000000000006622c534d9be477355cef0b59fcdcc25cbc2adf1000000000000000000000000d8836dd5c4d56bcad868af0dd08085ea9f189b2c000000000000000000000000f614da1510b4b48057b01f3450e2717f1495f89f000000000000000000000000a20c043cd7f72e31bbc0a521f6fa7d29e46197d1000000000000000000000000618b4c52ed90bc5978f33cf2b057fa65576a72c0000000000000000000000000da22405545a6ea9df88cb2b0ebc52b7ad86fae1300000000000000000000000002644e345b23767c8103dda301aa11cafd82b71e0000000000000000000000005045f7ae251d3386ec48a0c9283503ec9b0826f4000000000000000000000000cc439258055449a8aeeff7435d04f211fa665abf0000000000000000000000008f38b0b5af86384b0eaeeb9bd893537a11908045000000000000000000000000a9a1c73e1e90b945fcc3507881a5e1a437ead162000000000000000000000000e1a85108fca08d3566c098b3b7eac1fe0f2219b000000000000000000000000014f1936819ff803400fa57b3878c8411910afec10000000000000000000000000dbbe14fa2fa8f150670ec127b46c61e83051c5000000000000000000000000061a81af7e1f611a89d10dfad779d786ca840f480000000000000000000000000de29e31a9b1032c2f511d53b46253c4d096636bc0000000000000000000000005b6b4253ed08c4853ec1d5fa7b8e0c2286583243000000000000000000000000837200baf9674d97243ec7ee31f8906b850f8c1d0000000000000000000000003c86b3d1dc8ae5744d6cf0f59c8913f11251e31d0000000000000000000000007a0785be7d4bc630bd82c2b16bf0a1c2329ecc880000000000000000000000005c186f2323c093ccbf645088e6aade58227d0a0a000000000000000000000000712ddf49080261325a9a4b048a81294587ecaf8a000000000000000000000000c6c742376e969d5d973ec09d9bd813e1b6cc5d5300000000000000000000000073fccce878d100d8511e1604d6a8b4fd79fdf98f000000000000000000000000b7ee28d626e21a9c95e1ff70c89c5e5250563202000000000000000000000000cbafa86d910a2ebcc7c4db23c3f3b672d5956c190000000000000000000000004fb97ebfb3d0fd199ee72ee2915bd6e0ab41131c000000000000000000000000ba6fa3a422f09895d7ec2c9e749c63061d56ad55000000000000000000000000fc064084670b76ad53417e090e06f4b5fcca6cfe0000000000000000000000007e027e82e314082df67c7983fb7718fefd3b0edf000000000000000000000000c3f01f6e61c0cedba21b6e22ea5a005e7b5ece030000000000000000000000006d79ae514cc2dd4287a4383b498dd5fd587b716b000000000000000000000000c6317dca3ab577fd956a346fa1b45bb4faf9b01b000000000000000000000000e691ca9e45b73de39971b06893053479feec123d0000000000000000000000002feb6ea92ee8a03844bf21b1639fac29ec278db4000000000000000000000000ce63e46660db5914593f986641d9133789477725000000000000000000000000b9a3831adfd989690424cbeedf788c53681c8731000000000000000000000000ab35ac8661e0011de2b4c20798410c015eaaf5980000000000000000000000006ec8b8cec5645066fda40c6c6d6c3b749a565755000000000000000000000000615db6e9a20ad3b89ea9f17a54c9fc79a91537c6000000000000000000000000e482498540424d9877d482b52987b8fb34a010180000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000002fb474098f67c00000000000000000000000000000000000000000000000000006124fee993bc00000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000000000000000000000000000058d15e1762800000000000000000000000000000000000000000000000000000442aedf9a0b80000000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000003d0ff0b013b800000000000000000000000000000000000000000000000000003782dace9d900000000000000000000000000000000000000000000000000000374a02e4512800000000000000000000000000000000000000000000000000002e62726b9dfd00000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002abe9deb958c098000000000000000000000000000000000000000000000000027f7d0bdb920000000000000000000000000000000000000000000000000000024e0e69ec5757d90000000000000000000000000000000000000000000000000214e8348c4f000000000000000000000000000000000000000000000000000001ce3528e529aa0000000000000000000000000000000000000000000000000001b4fbd92b5f800000000000000000000000000000000000000000000000000001aa535d3d0c000000000000000000000000000000000000000000000000000001988fe4052b800000000000000000000000000000000000000000000000000001876faf337fd570000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a00000000000000000000000000000000000000000000000000000126e00f6c5b8000000000000000000000000000000000000000000000000000010262981a32783f00000000000000000000000000000000000000000000000000f523226980800000000000000000000000000000000000000000000000000000ea35d08c716f8d00000000000000000000000000000000000000000000000000e0da67f760f48000000000000000000000000000000000000000000000000000d529ae9e86000000000000000000000000000000000000000000000000000000d529ae9e86000000000000000000000000000000000000000000000000000000d4fddf619ef20000000000000000000000000000000000000000000000000000d4255406d8a14000000000000000000000000000000000000000000000000000c3663566a5800000000000000000000000000000000000000000000000000000b8bdb97852000000000000000000000000000000000000000000000000000000b41a17f98cdb0400000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec50000000000000000000000000000000000000000000000000000009fdf42f6e48000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008b4dfa7d2c5000000000000000000000000000000000000000000000000000007aacda2018200000000000000000000000000000000000000000000000000000786fded1e2c000000000000000000000000000000000000000000000000000006af1cf125df000000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000005c5edcbc2900000000000000000000000000000000000000000000000000000058d15e176280000000000000000000000000000000000000000000000000000058d15e176280000000000000000000000000000000000000000000000000000058d15e17628000000000000000000000000000000000000000000000000000005543df729c00000000000000000000000000000000000000000000000000000050cac4d0a92800000000000000000000000000000000000000000000000000004fefa17b724000000000000000000000000000000000000000000000000000004caecae6463f00000000000000000000000000000000000000000000000000004a9b638448800000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000040df00a2705d4c000000000000000000000000000000000000000000000000003ff2e795f50000000000000000000000000000000000000000000000000000003f1dab98320a34000000000000000000000000000000000000000000000000003c6568f12e80000000000000000000000000000000000000000000000000000038d7ea4c68000000000000000000000000000000000000000000000000000000388a8a1612a40c0000000000000000000000000000000000000000000000000036e6f2ef68eac00000000000000000000000000000000000000000000000000035e61c08cf2d2800000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a180000000000000000000000000000000000000000000000000000031bced02db000000000000000000000000000000000000000000000000000000316d1b78ad73c00000000000000000000000000000000000000000000000000030cc28445fd200000000000000000000000000000000000000000000000000002ef9531d66b08b000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002aa1efb94e0000000000000000000000000000000000000000000000000000002aa1efb94e00000000000000000000000000000000000000000000000000000029be90101c60000000000000000000000000000000000000000000000000000027ddc478b2600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3d782ca9f4611379f55fdfcb6dbcb40b47ea05c82dad08f836088eb9d9e43155b2952da9bea6e6f776522d46d9f81a8617b52ab43f5216ac50f975869bf2b6bd71c6a0031805af471a0dd887a4852a827fb624f0e1cc27f2e959289f107731443464ea562d4a17e44df8e20d45b625066d4ddaab7e9031350257ba786c50b3d71cb1cd5c79c3a9b08910b2b3bcb0e3cc70a17c6046fa24c15472b05756cd45e0827f279bba575e95b93ec9833fc29ae07d40232e18460e233b0fe1fd8ca0a2f65732c1b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x1e\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xf5aa91\",\n      \"logs\": [\n        {\n          \"address\": \"0x8315177ab297ba92a06054ce80a67ed4dbd7ed3a\",\n          \"topics\": [\n            \"0x5e3c1311ea442664e8b1611bfabef659120ea7a0a2cfc0667700bebc69cbffe1\",\n            \"0x00000000000000000000000000000000000000000000000000000000001f7ba2\",\n            \"0x9b65c35f8651ca5bfd69e7cef050195a2c4d06319a8d221b70276ad797c59419\"\n          ],\n          \"data\": \"0x0000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f000000000000000000000000000000000000000000000000000000000000000900000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167a1661952c46f21c55d025098cfebe4e2793d2f253c13a7bfb2dae16209000c5a000000000000000000000000000000000000000000000000000000002bd9058500000000000000000000000000000000000000000000000000000000688d26df\",\n          \"blockHash\": \"0x0f7972b001a63b2971c694a67e2e3aeb632191b1bf8226f70307486c03b60cf0\",\n          \"blockNumber\": \"0x15fb1f6\",\n          \"blockTimestamp\": \"0x688d26df\",\n          \"transactionHash\": \"0xd1d742b3ce253e279a9ff7c1a6220ea7b05b76a6e3d1b199d2d939def69e2ff0\",\n          \"transactionIndex\": \"0xb7\",\n          \"logIndex\": \"0x1bf\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x4dbd4fc535ac27206064b68ffcf827b0a60bab3f\",\n          \"topics\": [\n            \"0xff64905f73a67fb594e0f940a8075a860db489ad991e032f48c81123eb52d60b\",\n            \"0x00000000000000000000000000000000000000000000000000000000001f7ba2\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000001aa400000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000025646667cd30e52c0b458baaccb9fada7046f16700000000000000000000000025646667cd30e52c0b458baaccb9fada7046f16700000000000000000000000000000000000000000000000000000000001e848000000000000000000000000000000000000000000000000000000000773594000000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000002293014ca33b9d3db2bf2470c2f4ee3419f2c9c800000000000000000000000038fa73d4d40b714cf10f9df0f3b0b83cfb93e1f500000000000000000000000089b585df208c727829232d892a50806c3a20a4e6000000000000000000000000b11e239910eaafa78fa925e566c20bc611fd4995000000000000000000000000b8c30017b375bf675c2836c4c6b6ed5be214739d0000000000000000000000005c07cd461a072ec4dd86ed6c062ebf62876246de0000000000000000000000000dbdd871f45c6b4e9b508e60e3af9c4044a12fe5000000000000000000000000eec38a8835bf98eb8f4abee900455a5175d836a3000000000000000000000000b5a8d8874aa28f7a355d165dfc4eaa8c84c2ad2d00000000000000000000000039e746fb643789facb3031577eddf0ee996ea701000000000000000000000000491f58f614627826cd31b5b74fe895d7c87da569000000000000000000000000e476c3a18fb117ecb16c986dcb09630bb3abe8540000000000000000000000003f922732b21f36e3226944ec7606acfdb55d35c1000000000000000000000000c1bb4d41cc0635e4349a4237dc42937111090fb7000000000000000000000000d3fb2231c5d761a2ac02aea235f67c2cd35672f900000000000000000000000011e6aed8d826b2097d08067c64d46084ca7a3f2f000000000000000000000000e5964fd10170c8291cf97552284d995a006e67ae0000000000000000000000006ddcab72b2d6f7593ec912bf3d4b43d455a78c64000000000000000000000000e0e9271b3ef10c0761a09cc813282e6c8f21dfd700000000000000000000000072e44b2bfcf28755b5c1d54442f18e2daec5b5610000000000000000000000002c3d636f7adc34dcba3d787727a6b2225f43c3a5000000000000000000000000ce0a26ab5ebcd76cf87494c978003b5019dd52aa000000000000000000000000f3c3710cdbcbce065f912810e70cb78e0d9e0050000000000000000000000000659e2dd7261ae1d24abdd74fec16512650afbc59000000000000000000000000bdde25c38d17c0895bb98abbd6f42f4a3fc7a08e000000000000000000000000f67b3ceeafe13d8805e285b7722c719990b61960000000000000000000000000a65673459a3361790691562183bce05af001872a0000000000000000000000001cd8f13e7bad6bbc7e766ae6fd4c0fd145b6dbfd00000000000000000000000058a02121c0bb9915dad08fe699699fd3000000000000000000000000000000002e97bab47dfb1fd1395be6d86fcd48c19374b79b000000000000000000000000265ef3e30fe964314a2b6ae6bfac32146ec73424000000000000000000000000ed6a4e0a7781e1f7e25054db9e29a4121bd6e8420000000000000000000000003300f6a0845258216e705d2abbe211c2c400617e00000000000000000000000049121c6c995f76cca4b89ed8945fdb49164e39d80000000000000000000000006e3d21a6c60b8bb00dc2bbc163665c0abea47d010000000000000000000000000152aeb9e07f64aa6ee041f18ac647c75100000b000000000000000000000000a5bb368bc55aba37a5bd47c7f7bc87c6001080bf000000000000000000000000a85bb9720b83ae3e7df172de4067623b979bd4ed00000000000000000000000012fda12b1c5f69b45fa15f2e5396b726d7c8a8fd0000000000000000000000003a01b4a47b1c26aa098891a43da9524cf29231c800000000000000000000000050d4a329186dc01f23d66a4191e015001b82edc3000000000000000000000000e4a760af5f784107789e6cf04b10da689d747440000000000000000000000000971df5505d4f442570ca9e05dc2dd1ecccfd7865000000000000000000000000bdea881543543271ecefce91685cf1139765c18f000000000000000000000000ce39f85484a899a8a31268428698cdc908220f54000000000000000000000000bd2979093cc4940e856faa240b6f54bbf1dc59ae0000000000000000000000001bc3e2c44e0b2dabb1b06a1890273571825d3e0300000000000000000000000008713995371818c67f601cd347d8ba1740c03dc7000000000000000000000000b44ce48a53a79548dbafc3407b28bd37cb9f99560000000000000000000000008ad1816c73b623ff2abefd60efc2693264a40f4f000000000000000000000000887b86b6b6957f7bbea88b8cefd392f39236a88c0000000000000000000000003294733d558fd893fad3c9ec18be7323e7bd7256000000000000000000000000e73fe7e6d4294da0e87cc50c7e8049996f8f02f20000000000000000000000002056e236076e79a2f6ca92d78a6f74a5f8f932b7000000000000000000000000ebf35cdb22e31ceae5d9491f9f9093c6227cc11200000000000000000000000058d51c00a48d36cf9c2bff92e98923c30d3446e00000000000000000000000007344184be33f90c20b34efd96d3215f9c50cbecd0000000000000000000000006e7c0fefec5d9e781fe0643a346bead6ae3516a20000000000000000000000005ec3e02105ff5224dea33cbf47498ae726cbc69d0000000000000000000000006622c534d9be477355cef0b59fcdcc25cbc2adf1000000000000000000000000d8836dd5c4d56bcad868af0dd08085ea9f189b2c000000000000000000000000f614da1510b4b48057b01f3450e2717f1495f89f000000000000000000000000a20c043cd7f72e31bbc0a521f6fa7d29e46197d1000000000000000000000000618b4c52ed90bc5978f33cf2b057fa65576a72c0000000000000000000000000da22405545a6ea9df88cb2b0ebc52b7ad86fae1300000000000000000000000002644e345b23767c8103dda301aa11cafd82b71e0000000000000000000000005045f7ae251d3386ec48a0c9283503ec9b0826f4000000000000000000000000cc439258055449a8aeeff7435d04f211fa665abf0000000000000000000000008f38b0b5af86384b0eaeeb9bd893537a11908045000000000000000000000000a9a1c73e1e90b945fcc3507881a5e1a437ead162000000000000000000000000e1a85108fca08d3566c098b3b7eac1fe0f2219b000000000000000000000000014f1936819ff803400fa57b3878c8411910afec10000000000000000000000000dbbe14fa2fa8f150670ec127b46c61e83051c5000000000000000000000000061a81af7e1f611a89d10dfad779d786ca840f480000000000000000000000000de29e31a9b1032c2f511d53b46253c4d096636bc0000000000000000000000005b6b4253ed08c4853ec1d5fa7b8e0c2286583243000000000000000000000000837200baf9674d97243ec7ee31f8906b850f8c1d0000000000000000000000003c86b3d1dc8ae5744d6cf0f59c8913f11251e31d0000000000000000000000007a0785be7d4bc630bd82c2b16bf0a1c2329ecc880000000000000000000000005c186f2323c093ccbf645088e6aade58227d0a0a000000000000000000000000712ddf49080261325a9a4b048a81294587ecaf8a000000000000000000000000c6c742376e969d5d973ec09d9bd813e1b6cc5d5300000000000000000000000073fccce878d100d8511e1604d6a8b4fd79fdf98f000000000000000000000000b7ee28d626e21a9c95e1ff70c89c5e5250563202000000000000000000000000cbafa86d910a2ebcc7c4db23c3f3b672d5956c190000000000000000000000004fb97ebfb3d0fd199ee72ee2915bd6e0ab41131c000000000000000000000000ba6fa3a422f09895d7ec2c9e749c63061d56ad55000000000000000000000000fc064084670b76ad53417e090e06f4b5fcca6cfe0000000000000000000000007e027e82e314082df67c7983fb7718fefd3b0edf000000000000000000000000c3f01f6e61c0cedba21b6e22ea5a005e7b5ece030000000000000000000000006d79ae514cc2dd4287a4383b498dd5fd587b716b000000000000000000000000c6317dca3ab577fd956a346fa1b45bb4faf9b01b000000000000000000000000e691ca9e45b73de39971b06893053479feec123d0000000000000000000000002feb6ea92ee8a03844bf21b1639fac29ec278db4000000000000000000000000ce63e46660db5914593f986641d9133789477725000000000000000000000000b9a3831adfd989690424cbeedf788c53681c8731000000000000000000000000ab35ac8661e0011de2b4c20798410c015eaaf5980000000000000000000000006ec8b8cec5645066fda40c6c6d6c3b749a565755000000000000000000000000615db6e9a20ad3b89ea9f17a54c9fc79a91537c6000000000000000000000000e482498540424d9877d482b52987b8fb34a010180000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000002fb474098f67c00000000000000000000000000000000000000000000000000006124fee993bc00000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000000000000000000000000000058d15e1762800000000000000000000000000000000000000000000000000000442aedf9a0b80000000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000003d0ff0b013b800000000000000000000000000000000000000000000000000003782dace9d900000000000000000000000000000000000000000000000000000374a02e4512800000000000000000000000000000000000000000000000000002e62726b9dfd00000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002abe9deb958c098000000000000000000000000000000000000000000000000027f7d0bdb920000000000000000000000000000000000000000000000000000024e0e69ec5757d90000000000000000000000000000000000000000000000000214e8348c4f000000000000000000000000000000000000000000000000000001ce3528e529aa0000000000000000000000000000000000000000000000000001b4fbd92b5f800000000000000000000000000000000000000000000000000001aa535d3d0c000000000000000000000000000000000000000000000000000001988fe4052b800000000000000000000000000000000000000000000000000001876faf337fd570000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a00000000000000000000000000000000000000000000000000000126e00f6c5b8000000000000000000000000000000000000000000000000000010262981a32783f00000000000000000000000000000000000000000000000000f523226980800000000000000000000000000000000000000000000000000000ea35d08c716f8d00000000000000000000000000000000000000000000000000e0da67f760f48000000000000000000000000000000000000000000000000000d529ae9e86000000000000000000000000000000000000000000000000000000d529ae9e86000000000000000000000000000000000000000000000000000000d4fddf619ef20000000000000000000000000000000000000000000000000000d4255406d8a14000000000000000000000000000000000000000000000000000c3663566a5800000000000000000000000000000000000000000000000000000b8bdb97852000000000000000000000000000000000000000000000000000000b41a17f98cdb0400000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec50000000000000000000000000000000000000000000000000000009fdf42f6e48000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008b4dfa7d2c5000000000000000000000000000000000000000000000000000007aacda2018200000000000000000000000000000000000000000000000000000786fded1e2c000000000000000000000000000000000000000000000000000006af1cf125df000000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000005c5edcbc2900000000000000000000000000000000000000000000000000000058d15e176280000000000000000000000000000000000000000000000000000058d15e176280000000000000000000000000000000000000000000000000000058d15e17628000000000000000000000000000000000000000000000000000005543df729c00000000000000000000000000000000000000000000000000000050cac4d0a92800000000000000000000000000000000000000000000000000004fefa17b724000000000000000000000000000000000000000000000000000004caecae6463f00000000000000000000000000000000000000000000000000004a9b638448800000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000040df00a2705d4c000000000000000000000000000000000000000000000000003ff2e795f50000000000000000000000000000000000000000000000000000003f1dab98320a34000000000000000000000000000000000000000000000000003c6568f12e80000000000000000000000000000000000000000000000000000038d7ea4c68000000000000000000000000000000000000000000000000000000388a8a1612a40c0000000000000000000000000000000000000000000000000036e6f2ef68eac00000000000000000000000000000000000000000000000000035e61c08cf2d2800000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a180000000000000000000000000000000000000000000000000000031bced02db000000000000000000000000000000000000000000000000000000316d1b78ad73c00000000000000000000000000000000000000000000000000030cc28445fd200000000000000000000000000000000000000000000000000002ef9531d66b08b000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002aa1efb94e0000000000000000000000000000000000000000000000000000002aa1efb94e00000000000000000000000000000000000000000000000000000029be90101c60000000000000000000000000000000000000000000000000000027ddc478b2600000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x0f7972b001a63b2971c694a67e2e3aeb632191b1bf8226f70307486c03b60cf0\",\n          \"blockNumber\": \"0x15fb1f6\",\n          \"blockTimestamp\": \"0x688d26df\",\n          \"transactionHash\": \"0xd1d742b3ce253e279a9ff7c1a6220ea7b05b76a6e3d1b199d2d939def69e2ff0\",\n          \"transactionIndex\": \"0xb7\",\n          \"logIndex\": \"0x1c0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x6d43b3b0c1266d35e4aa26f5fe7cda6954e96a65283b900dfe5638a0c6f3d3f20000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x0f7972b001a63b2971c694a67e2e3aeb632191b1bf8226f70307486c03b60cf0\",\n          \"blockNumber\": \"0x15fb1f6\",\n          \"blockTimestamp\": \"0x688d26df\",\n          \"transactionHash\": \"0xd1d742b3ce253e279a9ff7c1a6220ea7b05b76a6e3d1b199d2d939def69e2ff0\",\n          \"transactionIndex\": \"0xb7\",\n          \"logIndex\": \"0x1c1\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000440000000000002000000000040000000000000000000000120000000000000000000000000000000000000000000000000000000000200000800000008000000000002000000000400000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000104000020000000000000000000004000040000000000000000000000000028000000000000000000000000000000000000000000000000000001000080000000000000000000000040000000000000000000000000000000000000000004000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xd1d742b3ce253e279a9ff7c1a6220ea7b05b76a6e3d1b199d2d939def69e2ff0\",\n      \"transactionIndex\": \"0xb7\",\n      \"blockHash\": \"0x0f7972b001a63b2971c694a67e2e3aeb632191b1bf8226f70307486c03b60cf0\",\n      \"blockNumber\": \"0x15fb1f6\",\n      \"gasUsed\": \"0x46eec\",\n      \"effectiveGasPrice\": \"0x2e3b5f85\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1754080993,\n  \"chain\": 1,\n  \"commit\": \"1fa78b1\"\n}"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/records/ArbitrumExecuteRecovery.s.sol/1/run-1754082985.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xa6760bec7a1fd87904ccb6c178123972b59bb10cc53016e58261e30d61b619f3\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881\",\n        \"5000000000000000\",\n        \"0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001ac4679b6ded00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000007735940000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000000f62f7f4dd6ada21a672153503795f9829afbd4e000000000000000000000000df67d976307886ec39573eb979b1af790aea67870000000000000000000000000e1924004217160b1a95e4db8e4b2104955275c4000000000000000000000000391180ab65f7bd2943d468fb00f96a47f51f8953000000000000000000000000ff6a726f83286d8f54273b5b816762dfee47419d000000000000000000000000f88a52b66a2432beee898f5514b85c43010dc668000000000000000000000000dd65143477647bae64a6e810ee629ead6428ba8b000000000000000000000000c4bc688d019bdc1b5e3b7b7f21d50de67ba793fc000000000000000000000000f68e7d0c6cce87c39df3057dc43ccb9a07db1e7c000000000000000000000000de6785b0574e5867366d9e1732f968eac8b333bc0000000000000000000000008bbc42da742e9a5e0ee458a63be0bcd23f0b5912000000000000000000000000bce3b9da85e4e095cb6b295240732056692fa67d0000000000000000000000002500b5bc31eb6356eef5e5068e8569dc2b0687f900000000000000000000000015354c9f64ab1d03e48e990bb946069ad1212a1100000000000000000000000047db3260ebcdc9dcfff4963590a1ad012d0b01f000000000000000000000000059a493f5e2f318bc4bdd32e72c8c589b48821f4a000000000000000000000000faf57f0a88fe6d2ea786b67ceca69e006e304381000000000000000000000000e5d85d5488f775b29357611ec3b6849681f62fa7000000000000000000000000c1149118bdc9190b65dfac37fbf00945d0fd29a700000000000000000000000033bc7bb9036bff104047d059eec208e43b0ecff1000000000000000000000000ff24de32cfab08f833ba56d970a8ef61c3f0ae1e0000000000000000000000002713e1e0c988797027ccd6e47fc6cb74fcc88a310000000000000000000000002af3a27712ec8489fbcafaf4a01ca3b873da47df00000000000000000000000007f810a967b920f38c3e1042d220223c0abe231500000000000000000000000006fee2818ed2bfce2635b03a231ebbc9dd18860f0000000000000000000000000b687d1f5fc8829158bd80f5f34c13acc8c3fe4d000000000000000000000000bc17e932126874f8cf2813fa620c3383c56b1b97000000000000000000000000c18567c8e5aa06c3689551ef08308b73ce76da7d000000000000000000000000c45410260af1edd40082253ee8ba0472d186b14b000000000000000000000000c8926707dbfef7feb52c22325c814b8a99667798000000000000000000000000672005e26525c8253b0fdcfeaff5683459e77a98000000000000000000000000cf0c2e6345366d1c51bc71ec7330f26efedcd1ee000000000000000000000000c7adfe2c9dce21049722f98dad47366ed5a3b8000000000000000000000000009cd939ba7c3d3c5443a2ccc164f85d03a4feb70800000000000000000000000087cd289b2358f88be6debb6a48b046d5ec00d8c90000000000000000000000002ff72c190330555f7aaa2406677272dc06bbfe850000000000000000000000009ea536b0bf416cb073b4d8a9d7c95dacaeab0df600000000000000000000000085e93fe564fd241125dd3ca6b3fc3461f516ec80000000000000000000000000647ada5bb7866f75b3056902a42a7a01bf14d5f40000000000000000000000001ae0b6c7986cb529f8629a16617932f811b002270000000000000000000000007fa46640cd3044833a44f41984228558f11a912800000000000000000000000023e28ac0a7940d42f9c40672f7daad79cb0eb751000000000000000000000000ab5129827b504f20a6195d0f0896183391e513c8000000000000000000000000e31b6fa5eb7bfefb4a28ed1c5e9d0ec5240b5e8b00000000000000000000000083c2472a80e7fc6478158fda5267f3002ffec3bf0000000000000000000000002b4dd11fe82d0359b262de601c8c6d7fb0cd520b000000000000000000000000e6b1cdcc40fe58a0f19e788366e25ccc97c8352f0000000000000000000000003df02dd4458570ad303f25a3233c908e534e152d0000000000000000000000005b136c570057b8a24fbbfe4b9988e9f84a1df4c9000000000000000000000000e9dc9f2a7a72c5cf87d1f5423333ea1b7a37c4b70000000000000000000000001023b453299b4f564fad857e549341be93c64335000000000000000000000000fb252a35c42fc0a562db1e30f6d23bfd545846610000000000000000000000006a5884fdb62e891beb8c6680e4a5cff4ba70dabc00000000000000000000000020a9f42cc8e1872104689e0d7018c790630147f0000000000000000000000000545c9b5ff0838f85ed1873e385d674641dfd60f90000000000000000000000005bfbfef98c378c81debd9bb96d13d4da782af8f8000000000000000000000000ef8c7fa2f1965703875a67b6df529e8316e09cad0000000000000000000000002a8dbc13916a49d826d1864cd9ac419eabf3981c00000000000000000000000049801afcc5874c7cebd8d968f960a8cb6c7d7eee0000000000000000000000002b1f9460bf042f4b6c788a047b12f6f8d20cc4200000000000000000000000003687ccd5190b59d8d19a9ab61fba546d1335230d000000000000000000000000085e73a8b959d3bdccab6427ad4427901f6afe090000000000000000000000007f229c10714ad14cde790a0787642401017c4e740000000000000000000000007a2d8d020ecb987646c0577e0dea83e178399c1e0000000000000000000000004b650a8bab0a0d3c8035afd466bc5d9bf6f1c75200000000000000000000000029b5e472e36daa709fdbbb727423276f44b7e5fc0000000000000000000000008f2c67813ab735469035007212ef1a4ee30275d1000000000000000000000000de9c059c8fdbe324081f83b29277d335370e2e130000000000000000000000004a5d3634b467ca6076e2e8f5c092812e2e5c1b69000000000000000000000000edd37caf0f19179522f77b101fd1b00d3cd1a2a400000000000000000000000007f83a636b0e48f1693beb60426ce4c76b8faaad00000000000000000000000045e0d89030d216290a865b4b6eeb9a07f1fd232d00000000000000000000000050e01433711f0cde93d09856405f64a579fa5244000000000000000000000000db3202d37bb6a2e4e1315b7a5dbd217246a666660000000000000000000000006f8392a5ee3e30be27229b52b24f4d2970754912000000000000000000000000085c1bf97ce01758f3e92661e6776b8f5cdf822000000000000000000000000018b8db3291f4e2cceca0a3f9d301e56716b0e750000000000000000000000000480c5963799c437ea3ce7e75bd2eb9561777a40000000000000000000000000031658df07a63634fd15ea2ab8ca6a739cecc0a55000000000000000000000000cc5943ae36253dcef05815eab1bebc6a6b3253cb00000000000000000000000003fcc43da662ea06aba5bc2475b1e28b3da7c382000000000000000000000000a508c16666c5b8981fa46eb32784fccc01942a71000000000000000000000000ff4fb0b65f143ac0a09ca78881d19df40a7919df000000000000000000000000b74e3feefd937ecac8d0e0a7c5dbe1e2645a875e00000000000000000000000097f7c67b55b62a0024cfc4a92c0caab5ed0101dc0000000000000000000000001eaed3548e752bcaf48346dbce66f8d7678d7152000000000000000000000000a9b3bf5e94a41f48ed69ac96c3a60d4c83c11b43000000000000000000000000baabf5e9f000521b51c8024dc4b62f1d81dbe5a7000000000000000000000000fbe1cc2cfd738324815f8aafc8363c9336c440e3000000000000000000000000c5e7c8ce4c2005dd0957e7bd4ee51a4d5e028b9d000000000000000000000000157c359e638b52f3045243b483501069cdddf6d2000000000000000000000000bd2e42af2e4514aa35c988ef9059923b012fc9df0000000000000000000000002ab771be6bb220735871df5599d806103995d29f00000000000000000000000017c497aab876553c1fb8e73f05cf4b6aca7559a7000000000000000000000000233f033d7f1f7199be2ff9b3fcca21366be05b15000000000000000000000000e1a9229006d237b23a833c00b056fea8c0a342ca0000000000000000000000001d4f8bc1b8cdeb52d08c8b7ae1cc97b19e9bab2400000000000000000000000037c47758d6b36dc19f44d7beb7573b95a087f8b60000000000000000000000001ae2d1522045db426954ad278328b2be71348de600000000000000000000000006c922ab286196b558a0ef8dabd99e2b98bd4166000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000272fb9ffdf600000000000000000000000000000000000000000000000000000271471148780000000000000000000000000000000000000000000000000000027147114878000000000000000000000000000000000000000000000000000002714711487800000000000000000000000000000000000000000000000000000265e8af39300000000000000000000000000000000000000000000000000000025d55df3047d30000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc1000000000000000000000000000000000000000000000000000000235330ffcc7d0000000000000000000000000000000000000000000000000000221b262dd800000000000000000000000000000000000000000000000000000020846a9d49cbc000000000000000000000000000000000000000000000000000201c456f77d48b000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001f00cbe518d000000000000000000000000000000000000000000000000000001e8da789118000000000000000000000000000000000000000000000000000001e32b478974000000000000000000000000000000000000000000000000000001d7cd63949d532000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001b7a7d6f6b6e80000000000000000000000000000000000000000000000000001b1f76ffcc5452000000000000000000000000000000000000000000000000001aa535d3d0c000000000000000000000000000000000000000000000000000001aa535d3d0c0000000000000000000000000000000000000000000000000000019a67a9ee820000000000000000000000000000000000000000000000000000019945ca26200000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000017e8c1825af1a0000000000000000000000000000000000000000000000000001606ddfd9b80000000000000000000000000000000000000000000000000000015f73c582745c1000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca700000000000000000000000000000000000000000000000000000013e52b9abe000000000000000000000000000000000000000000000000000000138a388a43c00000000000000000000000000000000000000000000000000000138a388a43c00000000000000000000000000000000000000000000000000000136b3e5410480000000000000000000000000000000000000000000000000000131c33db2193050000000000000000000000000000000000000000000000000012726ee67247ce00000000000000000000000000000000000000000000000000121e6c485ac00000000000000000000000000000000000000000000000000000120536d7577e040000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011688627664000000000000000000000000000000000000000000000000000001131f450b68000000000000000000000000000000000000000000000000000001128636b298e400000000000000000000000000000000000000000000000000010f667d7d49d2d000000000000000000000000000000000000000000000000000ffcb9e57d4000000000000000000000000000000000000000000000000000000f1041edd90000000000000000000000000000000000000000000000000000000ef88760aa5c00000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000ca7772be67c00000000000000000000000000000000000000000000000000000c6f3b40b6c000000000000000000000000000000000000000000000000000000c1448303c8000000000000000000000000000000000000000000000000000000b036efecdc000000000000000000000000000000000000000000000000000000aa87bee5380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x1e4a939daa0a8c32d9fd54abcbe1c1684d79b271871fe3eee98538a96889a74b491f92e1488866e512b9a0c6cf597e677919a6fd8f0bc426ac8c26ca0c2784c11bedd2eed241d8fc312a56e2125bec23f3141150c42de2aab7a9210e25e9e273de6d3b435cc125a3079aaae4359f0506662450604a2dbd5a503f8c483d2e41e5711baa9b204495873d7587ee27ef54dbb60ef0f959fa0892d72f349664630729bc16297e4286af32008f30c64d56b2d0cc9fc9030ec06d1e0e4c371b490a75b85a521c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x61e0e\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc698398810000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d600000000000000000000000000000000000000000000000000000000000001be4174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001ac4679b6ded00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000007735940000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000000f62f7f4dd6ada21a672153503795f9829afbd4e000000000000000000000000df67d976307886ec39573eb979b1af790aea67870000000000000000000000000e1924004217160b1a95e4db8e4b2104955275c4000000000000000000000000391180ab65f7bd2943d468fb00f96a47f51f8953000000000000000000000000ff6a726f83286d8f54273b5b816762dfee47419d000000000000000000000000f88a52b66a2432beee898f5514b85c43010dc668000000000000000000000000dd65143477647bae64a6e810ee629ead6428ba8b000000000000000000000000c4bc688d019bdc1b5e3b7b7f21d50de67ba793fc000000000000000000000000f68e7d0c6cce87c39df3057dc43ccb9a07db1e7c000000000000000000000000de6785b0574e5867366d9e1732f968eac8b333bc0000000000000000000000008bbc42da742e9a5e0ee458a63be0bcd23f0b5912000000000000000000000000bce3b9da85e4e095cb6b295240732056692fa67d0000000000000000000000002500b5bc31eb6356eef5e5068e8569dc2b0687f900000000000000000000000015354c9f64ab1d03e48e990bb946069ad1212a1100000000000000000000000047db3260ebcdc9dcfff4963590a1ad012d0b01f000000000000000000000000059a493f5e2f318bc4bdd32e72c8c589b48821f4a000000000000000000000000faf57f0a88fe6d2ea786b67ceca69e006e304381000000000000000000000000e5d85d5488f775b29357611ec3b6849681f62fa7000000000000000000000000c1149118bdc9190b65dfac37fbf00945d0fd29a700000000000000000000000033bc7bb9036bff104047d059eec208e43b0ecff1000000000000000000000000ff24de32cfab08f833ba56d970a8ef61c3f0ae1e0000000000000000000000002713e1e0c988797027ccd6e47fc6cb74fcc88a310000000000000000000000002af3a27712ec8489fbcafaf4a01ca3b873da47df00000000000000000000000007f810a967b920f38c3e1042d220223c0abe231500000000000000000000000006fee2818ed2bfce2635b03a231ebbc9dd18860f0000000000000000000000000b687d1f5fc8829158bd80f5f34c13acc8c3fe4d000000000000000000000000bc17e932126874f8cf2813fa620c3383c56b1b97000000000000000000000000c18567c8e5aa06c3689551ef08308b73ce76da7d000000000000000000000000c45410260af1edd40082253ee8ba0472d186b14b000000000000000000000000c8926707dbfef7feb52c22325c814b8a99667798000000000000000000000000672005e26525c8253b0fdcfeaff5683459e77a98000000000000000000000000cf0c2e6345366d1c51bc71ec7330f26efedcd1ee000000000000000000000000c7adfe2c9dce21049722f98dad47366ed5a3b8000000000000000000000000009cd939ba7c3d3c5443a2ccc164f85d03a4feb70800000000000000000000000087cd289b2358f88be6debb6a48b046d5ec00d8c90000000000000000000000002ff72c190330555f7aaa2406677272dc06bbfe850000000000000000000000009ea536b0bf416cb073b4d8a9d7c95dacaeab0df600000000000000000000000085e93fe564fd241125dd3ca6b3fc3461f516ec80000000000000000000000000647ada5bb7866f75b3056902a42a7a01bf14d5f40000000000000000000000001ae0b6c7986cb529f8629a16617932f811b002270000000000000000000000007fa46640cd3044833a44f41984228558f11a912800000000000000000000000023e28ac0a7940d42f9c40672f7daad79cb0eb751000000000000000000000000ab5129827b504f20a6195d0f0896183391e513c8000000000000000000000000e31b6fa5eb7bfefb4a28ed1c5e9d0ec5240b5e8b00000000000000000000000083c2472a80e7fc6478158fda5267f3002ffec3bf0000000000000000000000002b4dd11fe82d0359b262de601c8c6d7fb0cd520b000000000000000000000000e6b1cdcc40fe58a0f19e788366e25ccc97c8352f0000000000000000000000003df02dd4458570ad303f25a3233c908e534e152d0000000000000000000000005b136c570057b8a24fbbfe4b9988e9f84a1df4c9000000000000000000000000e9dc9f2a7a72c5cf87d1f5423333ea1b7a37c4b70000000000000000000000001023b453299b4f564fad857e549341be93c64335000000000000000000000000fb252a35c42fc0a562db1e30f6d23bfd545846610000000000000000000000006a5884fdb62e891beb8c6680e4a5cff4ba70dabc00000000000000000000000020a9f42cc8e1872104689e0d7018c790630147f0000000000000000000000000545c9b5ff0838f85ed1873e385d674641dfd60f90000000000000000000000005bfbfef98c378c81debd9bb96d13d4da782af8f8000000000000000000000000ef8c7fa2f1965703875a67b6df529e8316e09cad0000000000000000000000002a8dbc13916a49d826d1864cd9ac419eabf3981c00000000000000000000000049801afcc5874c7cebd8d968f960a8cb6c7d7eee0000000000000000000000002b1f9460bf042f4b6c788a047b12f6f8d20cc4200000000000000000000000003687ccd5190b59d8d19a9ab61fba546d1335230d000000000000000000000000085e73a8b959d3bdccab6427ad4427901f6afe090000000000000000000000007f229c10714ad14cde790a0787642401017c4e740000000000000000000000007a2d8d020ecb987646c0577e0dea83e178399c1e0000000000000000000000004b650a8bab0a0d3c8035afd466bc5d9bf6f1c75200000000000000000000000029b5e472e36daa709fdbbb727423276f44b7e5fc0000000000000000000000008f2c67813ab735469035007212ef1a4ee30275d1000000000000000000000000de9c059c8fdbe324081f83b29277d335370e2e130000000000000000000000004a5d3634b467ca6076e2e8f5c092812e2e5c1b69000000000000000000000000edd37caf0f19179522f77b101fd1b00d3cd1a2a400000000000000000000000007f83a636b0e48f1693beb60426ce4c76b8faaad00000000000000000000000045e0d89030d216290a865b4b6eeb9a07f1fd232d00000000000000000000000050e01433711f0cde93d09856405f64a579fa5244000000000000000000000000db3202d37bb6a2e4e1315b7a5dbd217246a666660000000000000000000000006f8392a5ee3e30be27229b52b24f4d2970754912000000000000000000000000085c1bf97ce01758f3e92661e6776b8f5cdf822000000000000000000000000018b8db3291f4e2cceca0a3f9d301e56716b0e750000000000000000000000000480c5963799c437ea3ce7e75bd2eb9561777a40000000000000000000000000031658df07a63634fd15ea2ab8ca6a739cecc0a55000000000000000000000000cc5943ae36253dcef05815eab1bebc6a6b3253cb00000000000000000000000003fcc43da662ea06aba5bc2475b1e28b3da7c382000000000000000000000000a508c16666c5b8981fa46eb32784fccc01942a71000000000000000000000000ff4fb0b65f143ac0a09ca78881d19df40a7919df000000000000000000000000b74e3feefd937ecac8d0e0a7c5dbe1e2645a875e00000000000000000000000097f7c67b55b62a0024cfc4a92c0caab5ed0101dc0000000000000000000000001eaed3548e752bcaf48346dbce66f8d7678d7152000000000000000000000000a9b3bf5e94a41f48ed69ac96c3a60d4c83c11b43000000000000000000000000baabf5e9f000521b51c8024dc4b62f1d81dbe5a7000000000000000000000000fbe1cc2cfd738324815f8aafc8363c9336c440e3000000000000000000000000c5e7c8ce4c2005dd0957e7bd4ee51a4d5e028b9d000000000000000000000000157c359e638b52f3045243b483501069cdddf6d2000000000000000000000000bd2e42af2e4514aa35c988ef9059923b012fc9df0000000000000000000000002ab771be6bb220735871df5599d806103995d29f00000000000000000000000017c497aab876553c1fb8e73f05cf4b6aca7559a7000000000000000000000000233f033d7f1f7199be2ff9b3fcca21366be05b15000000000000000000000000e1a9229006d237b23a833c00b056fea8c0a342ca0000000000000000000000001d4f8bc1b8cdeb52d08c8b7ae1cc97b19e9bab2400000000000000000000000037c47758d6b36dc19f44d7beb7573b95a087f8b60000000000000000000000001ae2d1522045db426954ad278328b2be71348de600000000000000000000000006c922ab286196b558a0ef8dabd99e2b98bd4166000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000272fb9ffdf600000000000000000000000000000000000000000000000000000271471148780000000000000000000000000000000000000000000000000000027147114878000000000000000000000000000000000000000000000000000002714711487800000000000000000000000000000000000000000000000000000265e8af39300000000000000000000000000000000000000000000000000000025d55df3047d30000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc1000000000000000000000000000000000000000000000000000000235330ffcc7d0000000000000000000000000000000000000000000000000000221b262dd800000000000000000000000000000000000000000000000000000020846a9d49cbc000000000000000000000000000000000000000000000000000201c456f77d48b000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001f00cbe518d000000000000000000000000000000000000000000000000000001e8da789118000000000000000000000000000000000000000000000000000001e32b478974000000000000000000000000000000000000000000000000000001d7cd63949d532000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001b7a7d6f6b6e80000000000000000000000000000000000000000000000000001b1f76ffcc5452000000000000000000000000000000000000000000000000001aa535d3d0c000000000000000000000000000000000000000000000000000001aa535d3d0c0000000000000000000000000000000000000000000000000000019a67a9ee820000000000000000000000000000000000000000000000000000019945ca26200000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000017e8c1825af1a0000000000000000000000000000000000000000000000000001606ddfd9b80000000000000000000000000000000000000000000000000000015f73c582745c1000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca700000000000000000000000000000000000000000000000000000013e52b9abe000000000000000000000000000000000000000000000000000000138a388a43c00000000000000000000000000000000000000000000000000000138a388a43c00000000000000000000000000000000000000000000000000000136b3e5410480000000000000000000000000000000000000000000000000000131c33db2193050000000000000000000000000000000000000000000000000012726ee67247ce00000000000000000000000000000000000000000000000000121e6c485ac00000000000000000000000000000000000000000000000000000120536d7577e040000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011688627664000000000000000000000000000000000000000000000000000001131f450b68000000000000000000000000000000000000000000000000000001128636b298e400000000000000000000000000000000000000000000000000010f667d7d49d2d000000000000000000000000000000000000000000000000000ffcb9e57d4000000000000000000000000000000000000000000000000000000f1041edd90000000000000000000000000000000000000000000000000000000ef88760aa5c00000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000ca7772be67c00000000000000000000000000000000000000000000000000000c6f3b40b6c000000000000000000000000000000000000000000000000000000c1448303c8000000000000000000000000000000000000000000000000000000b036efecdc000000000000000000000000000000000000000000000000000000aa87bee53800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c31e4a939daa0a8c32d9fd54abcbe1c1684d79b271871fe3eee98538a96889a74b491f92e1488866e512b9a0c6cf597e677919a6fd8f0bc426ac8c26ca0c2784c11bedd2eed241d8fc312a56e2125bec23f3141150c42de2aab7a9210e25e9e273de6d3b435cc125a3079aaae4359f0506662450604a2dbd5a503f8c483d2e41e5711baa9b204495873d7587ee27ef54dbb60ef0f959fa0892d72f349664630729bc16297e4286af32008f30c64d56b2d0cc9fc9030ec06d1e0e4c371b490a75b85a521c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x24\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xbde905\",\n      \"logs\": [\n        {\n          \"address\": \"0x8315177ab297ba92a06054ce80a67ed4dbd7ed3a\",\n          \"topics\": [\n            \"0x5e3c1311ea442664e8b1611bfabef659120ea7a0a2cfc0667700bebc69cbffe1\",\n            \"0x00000000000000000000000000000000000000000000000000000000001f7bc1\",\n            \"0xa856672f23924f19ca6acd5250b7214efc730591e7e532fb973362e5b96ddf18\"\n          ],\n          \"data\": \"0x0000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f000000000000000000000000000000000000000000000000000000000000000900000000000000000000000025646667cd30e52c0b458baaccb9fada7046f1676d2cee55f0c7b883708fcf65e307d3df24a37fae9621a89c653bcb1d0f052bca00000000000000000000000000000000000000000000000000000000187001a600000000000000000000000000000000000000000000000000000000688d2ea7\",\n          \"blockHash\": \"0xb43bb11ab1696831d3f7e93d4d8dae945c6e7479f438fe1d41f7814322076e54\",\n          \"blockNumber\": \"0x15fb29b\",\n          \"blockTimestamp\": \"0x688d2ea7\",\n          \"transactionHash\": \"0xa6760bec7a1fd87904ccb6c178123972b59bb10cc53016e58261e30d61b619f3\",\n          \"transactionIndex\": \"0x9a\",\n          \"logIndex\": \"0x13f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x4dbd4fc535ac27206064b68ffcf827b0a60bab3f\",\n          \"topics\": [\n            \"0xff64905f73a67fb594e0f940a8075a860db489ad991e032f48c81123eb52d60b\",\n            \"0x00000000000000000000000000000000000000000000000000000000001f7bc1\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000001aa400000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000025646667cd30e52c0b458baaccb9fada7046f16700000000000000000000000025646667cd30e52c0b458baaccb9fada7046f16700000000000000000000000000000000000000000000000000000000001e848000000000000000000000000000000000000000000000000000000000773594000000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000000f62f7f4dd6ada21a672153503795f9829afbd4e000000000000000000000000df67d976307886ec39573eb979b1af790aea67870000000000000000000000000e1924004217160b1a95e4db8e4b2104955275c4000000000000000000000000391180ab65f7bd2943d468fb00f96a47f51f8953000000000000000000000000ff6a726f83286d8f54273b5b816762dfee47419d000000000000000000000000f88a52b66a2432beee898f5514b85c43010dc668000000000000000000000000dd65143477647bae64a6e810ee629ead6428ba8b000000000000000000000000c4bc688d019bdc1b5e3b7b7f21d50de67ba793fc000000000000000000000000f68e7d0c6cce87c39df3057dc43ccb9a07db1e7c000000000000000000000000de6785b0574e5867366d9e1732f968eac8b333bc0000000000000000000000008bbc42da742e9a5e0ee458a63be0bcd23f0b5912000000000000000000000000bce3b9da85e4e095cb6b295240732056692fa67d0000000000000000000000002500b5bc31eb6356eef5e5068e8569dc2b0687f900000000000000000000000015354c9f64ab1d03e48e990bb946069ad1212a1100000000000000000000000047db3260ebcdc9dcfff4963590a1ad012d0b01f000000000000000000000000059a493f5e2f318bc4bdd32e72c8c589b48821f4a000000000000000000000000faf57f0a88fe6d2ea786b67ceca69e006e304381000000000000000000000000e5d85d5488f775b29357611ec3b6849681f62fa7000000000000000000000000c1149118bdc9190b65dfac37fbf00945d0fd29a700000000000000000000000033bc7bb9036bff104047d059eec208e43b0ecff1000000000000000000000000ff24de32cfab08f833ba56d970a8ef61c3f0ae1e0000000000000000000000002713e1e0c988797027ccd6e47fc6cb74fcc88a310000000000000000000000002af3a27712ec8489fbcafaf4a01ca3b873da47df00000000000000000000000007f810a967b920f38c3e1042d220223c0abe231500000000000000000000000006fee2818ed2bfce2635b03a231ebbc9dd18860f0000000000000000000000000b687d1f5fc8829158bd80f5f34c13acc8c3fe4d000000000000000000000000bc17e932126874f8cf2813fa620c3383c56b1b97000000000000000000000000c18567c8e5aa06c3689551ef08308b73ce76da7d000000000000000000000000c45410260af1edd40082253ee8ba0472d186b14b000000000000000000000000c8926707dbfef7feb52c22325c814b8a99667798000000000000000000000000672005e26525c8253b0fdcfeaff5683459e77a98000000000000000000000000cf0c2e6345366d1c51bc71ec7330f26efedcd1ee000000000000000000000000c7adfe2c9dce21049722f98dad47366ed5a3b8000000000000000000000000009cd939ba7c3d3c5443a2ccc164f85d03a4feb70800000000000000000000000087cd289b2358f88be6debb6a48b046d5ec00d8c90000000000000000000000002ff72c190330555f7aaa2406677272dc06bbfe850000000000000000000000009ea536b0bf416cb073b4d8a9d7c95dacaeab0df600000000000000000000000085e93fe564fd241125dd3ca6b3fc3461f516ec80000000000000000000000000647ada5bb7866f75b3056902a42a7a01bf14d5f40000000000000000000000001ae0b6c7986cb529f8629a16617932f811b002270000000000000000000000007fa46640cd3044833a44f41984228558f11a912800000000000000000000000023e28ac0a7940d42f9c40672f7daad79cb0eb751000000000000000000000000ab5129827b504f20a6195d0f0896183391e513c8000000000000000000000000e31b6fa5eb7bfefb4a28ed1c5e9d0ec5240b5e8b00000000000000000000000083c2472a80e7fc6478158fda5267f3002ffec3bf0000000000000000000000002b4dd11fe82d0359b262de601c8c6d7fb0cd520b000000000000000000000000e6b1cdcc40fe58a0f19e788366e25ccc97c8352f0000000000000000000000003df02dd4458570ad303f25a3233c908e534e152d0000000000000000000000005b136c570057b8a24fbbfe4b9988e9f84a1df4c9000000000000000000000000e9dc9f2a7a72c5cf87d1f5423333ea1b7a37c4b70000000000000000000000001023b453299b4f564fad857e549341be93c64335000000000000000000000000fb252a35c42fc0a562db1e30f6d23bfd545846610000000000000000000000006a5884fdb62e891beb8c6680e4a5cff4ba70dabc00000000000000000000000020a9f42cc8e1872104689e0d7018c790630147f0000000000000000000000000545c9b5ff0838f85ed1873e385d674641dfd60f90000000000000000000000005bfbfef98c378c81debd9bb96d13d4da782af8f8000000000000000000000000ef8c7fa2f1965703875a67b6df529e8316e09cad0000000000000000000000002a8dbc13916a49d826d1864cd9ac419eabf3981c00000000000000000000000049801afcc5874c7cebd8d968f960a8cb6c7d7eee0000000000000000000000002b1f9460bf042f4b6c788a047b12f6f8d20cc4200000000000000000000000003687ccd5190b59d8d19a9ab61fba546d1335230d000000000000000000000000085e73a8b959d3bdccab6427ad4427901f6afe090000000000000000000000007f229c10714ad14cde790a0787642401017c4e740000000000000000000000007a2d8d020ecb987646c0577e0dea83e178399c1e0000000000000000000000004b650a8bab0a0d3c8035afd466bc5d9bf6f1c75200000000000000000000000029b5e472e36daa709fdbbb727423276f44b7e5fc0000000000000000000000008f2c67813ab735469035007212ef1a4ee30275d1000000000000000000000000de9c059c8fdbe324081f83b29277d335370e2e130000000000000000000000004a5d3634b467ca6076e2e8f5c092812e2e5c1b69000000000000000000000000edd37caf0f19179522f77b101fd1b00d3cd1a2a400000000000000000000000007f83a636b0e48f1693beb60426ce4c76b8faaad00000000000000000000000045e0d89030d216290a865b4b6eeb9a07f1fd232d00000000000000000000000050e01433711f0cde93d09856405f64a579fa5244000000000000000000000000db3202d37bb6a2e4e1315b7a5dbd217246a666660000000000000000000000006f8392a5ee3e30be27229b52b24f4d2970754912000000000000000000000000085c1bf97ce01758f3e92661e6776b8f5cdf822000000000000000000000000018b8db3291f4e2cceca0a3f9d301e56716b0e750000000000000000000000000480c5963799c437ea3ce7e75bd2eb9561777a40000000000000000000000000031658df07a63634fd15ea2ab8ca6a739cecc0a55000000000000000000000000cc5943ae36253dcef05815eab1bebc6a6b3253cb00000000000000000000000003fcc43da662ea06aba5bc2475b1e28b3da7c382000000000000000000000000a508c16666c5b8981fa46eb32784fccc01942a71000000000000000000000000ff4fb0b65f143ac0a09ca78881d19df40a7919df000000000000000000000000b74e3feefd937ecac8d0e0a7c5dbe1e2645a875e00000000000000000000000097f7c67b55b62a0024cfc4a92c0caab5ed0101dc0000000000000000000000001eaed3548e752bcaf48346dbce66f8d7678d7152000000000000000000000000a9b3bf5e94a41f48ed69ac96c3a60d4c83c11b43000000000000000000000000baabf5e9f000521b51c8024dc4b62f1d81dbe5a7000000000000000000000000fbe1cc2cfd738324815f8aafc8363c9336c440e3000000000000000000000000c5e7c8ce4c2005dd0957e7bd4ee51a4d5e028b9d000000000000000000000000157c359e638b52f3045243b483501069cdddf6d2000000000000000000000000bd2e42af2e4514aa35c988ef9059923b012fc9df0000000000000000000000002ab771be6bb220735871df5599d806103995d29f00000000000000000000000017c497aab876553c1fb8e73f05cf4b6aca7559a7000000000000000000000000233f033d7f1f7199be2ff9b3fcca21366be05b15000000000000000000000000e1a9229006d237b23a833c00b056fea8c0a342ca0000000000000000000000001d4f8bc1b8cdeb52d08c8b7ae1cc97b19e9bab2400000000000000000000000037c47758d6b36dc19f44d7beb7573b95a087f8b60000000000000000000000001ae2d1522045db426954ad278328b2be71348de600000000000000000000000006c922ab286196b558a0ef8dabd99e2b98bd4166000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000272fb9ffdf600000000000000000000000000000000000000000000000000000271471148780000000000000000000000000000000000000000000000000000027147114878000000000000000000000000000000000000000000000000000002714711487800000000000000000000000000000000000000000000000000000265e8af39300000000000000000000000000000000000000000000000000000025d55df3047d30000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc1000000000000000000000000000000000000000000000000000000235330ffcc7d0000000000000000000000000000000000000000000000000000221b262dd800000000000000000000000000000000000000000000000000000020846a9d49cbc000000000000000000000000000000000000000000000000000201c456f77d48b000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001f00cbe518d000000000000000000000000000000000000000000000000000001e8da789118000000000000000000000000000000000000000000000000000001e32b478974000000000000000000000000000000000000000000000000000001d7cd63949d532000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001b7a7d6f6b6e80000000000000000000000000000000000000000000000000001b1f76ffcc5452000000000000000000000000000000000000000000000000001aa535d3d0c000000000000000000000000000000000000000000000000000001aa535d3d0c0000000000000000000000000000000000000000000000000000019a67a9ee820000000000000000000000000000000000000000000000000000019945ca26200000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000017e8c1825af1a0000000000000000000000000000000000000000000000000001606ddfd9b80000000000000000000000000000000000000000000000000000015f73c582745c1000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca700000000000000000000000000000000000000000000000000000013e52b9abe000000000000000000000000000000000000000000000000000000138a388a43c00000000000000000000000000000000000000000000000000000138a388a43c00000000000000000000000000000000000000000000000000000136b3e5410480000000000000000000000000000000000000000000000000000131c33db2193050000000000000000000000000000000000000000000000000012726ee67247ce00000000000000000000000000000000000000000000000000121e6c485ac00000000000000000000000000000000000000000000000000000120536d7577e040000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011688627664000000000000000000000000000000000000000000000000000001131f450b68000000000000000000000000000000000000000000000000000001128636b298e400000000000000000000000000000000000000000000000000010f667d7d49d2d000000000000000000000000000000000000000000000000000ffcb9e57d4000000000000000000000000000000000000000000000000000000f1041edd90000000000000000000000000000000000000000000000000000000ef88760aa5c00000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000ca7772be67c00000000000000000000000000000000000000000000000000000c6f3b40b6c000000000000000000000000000000000000000000000000000000c1448303c8000000000000000000000000000000000000000000000000000000b036efecdc000000000000000000000000000000000000000000000000000000aa87bee53800000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xb43bb11ab1696831d3f7e93d4d8dae945c6e7479f438fe1d41f7814322076e54\",\n          \"blockNumber\": \"0x15fb29b\",\n          \"blockTimestamp\": \"0x688d2ea7\",\n          \"transactionHash\": \"0xa6760bec7a1fd87904ccb6c178123972b59bb10cc53016e58261e30d61b619f3\",\n          \"transactionIndex\": \"0x9a\",\n          \"logIndex\": \"0x140\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xe8013f6ff7c420b175951fa16f7fcba8400cb18c2bc8444e274c5e982c7277620000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xb43bb11ab1696831d3f7e93d4d8dae945c6e7479f438fe1d41f7814322076e54\",\n          \"blockNumber\": \"0x15fb29b\",\n          \"blockTimestamp\": \"0x688d2ea7\",\n          \"transactionHash\": \"0xa6760bec7a1fd87904ccb6c178123972b59bb10cc53016e58261e30d61b619f3\",\n          \"transactionIndex\": \"0x9a\",\n          \"logIndex\": \"0x141\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000440000000000002420000000000000000000000000000000120000000000000000000000000000000000000000000000000020000000000000000000008000000000002000000000400000000000000000000000000000000000004000000000080000000000000000000000000000000000000000000000000000001000000000000000100000020000000000000000000004000040000000000000000000000000008000000000000000000080000000000000000000000000000000001000080000000000000000000000000000000000000000000000000000000000000000004000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xa6760bec7a1fd87904ccb6c178123972b59bb10cc53016e58261e30d61b619f3\",\n      \"transactionIndex\": \"0x9a\",\n      \"blockHash\": \"0xb43bb11ab1696831d3f7e93d4d8dae945c6e7479f438fe1d41f7814322076e54\",\n      \"blockNumber\": \"0x15fb29b\",\n      \"gasUsed\": \"0x46dd8\",\n      \"effectiveGasPrice\": \"0x18d3ccab\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1754082985,\n  \"chain\": 1,\n  \"commit\": \"1fa78b1\"\n}"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/records/ArbitrumExecuteRecovery.s.sol/1/run-1754083142.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x0881bb6552fdefd78b6d3f1605b36bff2e3c4e4f953296ea271d70df4f16b391\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881\",\n        \"5000000000000000\",\n        \"0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001ac4679b6ded00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000007735940000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000007944bd762876335d995d93f667b9ff34c14fa911000000000000000000000000468f360f46cd855683a55fa92ce7151b9bcb5dfa000000000000000000000000947343951330a1e6f5d0ea83ca70e2cc0c043d1700000000000000000000000084c795d8a1fdb9c4502810e4f7d9e04aafa74c97000000000000000000000000c77f24be2d46b421e1df7c45dbeb5fb0a8757e0a00000000000000000000000060e7e15f8b7965313a210082a540c4874124e1b9000000000000000000000000c14a71ed6c30d66ddecfc905fa3f239045cfff5000000000000000000000000064578d105ac98bbdc9c5a369df26afa87f88a9c8000000000000000000000000e31ef2dfce2c852570b5cc52bf02ec8236866755000000000000000000000000ca21911c178be6f71fcec1cd4b1595861f0881ec000000000000000000000000ac4ba977e5de6119d79e3e029add59d329826a3a00000000000000000000000073382c6977ab57725e07c86033f0044ceb7fc12e000000000000000000000000c046bad2ca0430dcadefc40629f1e01d2c84f37e000000000000000000000000e6c4e160636c3843a1db207a954993cdfa68861a0000000000000000000000005d4036323f52619b9faf7d4dace12bee4669cb4000000000000000000000000060e2cc1ecbdebbc2216ab2676198d68e73afcfd3000000000000000000000000e1b47602816a3a63ba769851304a4a2a90c41816000000000000000000000000470e72141418c0eb71355e5d99244e635a989d95000000000000000000000000cf8be0c141fb112eaf8fcc9b8406cbedbc6f296d0000000000000000000000005e35f578fbfb8e197e411f6f043863f2e34bbec7000000000000000000000000f838055d17759a9ba621f9bb9160e76a0ed3e2790000000000000000000000005dcdc3f0fed4bb900707e88c76c2acc29ae80579000000000000000000000000217b121d91b7211f3ab2d421aabe25615297dcc600000000000000000000000070aea4c511ec66d6fadb2e120802016cfb333e23000000000000000000000000fdc37f38cf5f063b59a333f01173f3b073becc5a000000000000000000000000e9c7363e3bbbc574b78433bddf699fac0587f6d400000000000000000000000086c45f56862571742262e4e3a5f2626f7797fb5e000000000000000000000000f59056ac7b9b7729c21b69faf09177b0a859024d000000000000000000000000dcc8f181295cfcd9ce83f8be87cb16902c2e1aef000000000000000000000000efad4323bac4d32fd5fc6c65886ea88239d9dcdb0000000000000000000000002511b8479e7e0389a5c60f7ecdb4213bc3639c97000000000000000000000000ab3a38a2be9bdf8d3298aa6edaa9c5cb6415ff44000000000000000000000000bdc985760b9b38680cf088ff19a9c310c24473c9000000000000000000000000d020756ec0d08b6c1b300efee33197fdc2af70af000000000000000000000000402c296e569b90df069e883b4b35fde7394c13ac0000000000000000000000009d56652d48c5fcacc2fcac0aac8fe3e1a7c726720000000000000000000000003cd6c267c437bd4235b1e98b7eb044a831ebeec50000000000000000000000009c9ac2dc01ff6d9bc9b1dd42e18051eebca1fbf20000000000000000000000003a3ad081cb10b004145a3ca5257bf5dc61e3d930000000000000000000000000996376925b729404afad0094edb37f5356619ed40000000000000000000000004aee7c1251d793fef8a4826e999b885370d076940000000000000000000000001c270463428d780a47f6c9591a570bac837ce91b0000000000000000000000006bd92bc0ee369c99889b5dd2c5445d1ea757c84c000000000000000000000000ded3e1a39e33e200f3e6ef8596a1a16a503b8df600000000000000000000000092f66b95ea8eb2d8f1c32fcb650dac707bbaf17f0000000000000000000000006d700358ee6735dfccd3ffbba28281b76eb2dc78000000000000000000000000595dc126cc1e7794f6b908f6046bf6834b04bacc000000000000000000000000651445c41fa6d4dd1b93e8acacfdffb4478edef70000000000000000000000009ced12517abe3c1a88ab4cee3ef518484facd9d6000000000000000000000000e7f1ddad8c5454e7d997aae8e510b6d666376b5a000000000000000000000000169b931a328a6bf9f18199d6eb9649e44ba31002000000000000000000000000236ba1d7e15cc1c689c6c9e2cc3317ba39f9d7800000000000000000000000008a53b9ed8dc15ffc4be9d4ab449f02041e513229000000000000000000000000b133045093d6ee2054c9d12929622f9170f7f77a000000000000000000000000cb13c912d0216a7d1c105e7a2173868731fabbed0000000000000000000000007db199a23d7361c09e0e41b4e040da035a6d6981000000000000000000000000e8316871c60a4044c3bdbdcc002286d6e2cd719a0000000000000000000000007e44b1067ed219c2756bad68cb118deb0d90dac60000000000000000000000005b982abd6faf0e4ed6735af4b1ef68da1e5a73320000000000000000000000008864a9372b7105f4aa1b8fe89840caff02373f50000000000000000000000000a616f0b2537cbd2b98ac445aa05068aa65084c8c0000000000000000000000003cb7e258de4cf86f8e286ae3becd69b28d934c6d000000000000000000000000c5122d5a51d918833ee643e14304dd63de4f704d00000000000000000000000022fa7a2c21b43e267420a1694180297fa1ab672f000000000000000000000000c15fd0f9c8461a20f17baa99726f4b4518a1e66c0000000000000000000000005dce675759bc4a1079a39b15425ad654296385520000000000000000000000005bdb91fdc1b48bcb8f724f9cdbda631a17057055000000000000000000000000ec441cf14e685f48f91c39f56d0709672a589f82000000000000000000000000a23766af8f0b8325a14ef4a15a7444d0f527932b000000000000000000000000feb8fb2a14f488f5fedc8586d26efbdeb76ecca8000000000000000000000000805c8f74a727977a17af1bce8d6bc7ebe59dd966000000000000000000000000fce9ecbe07c9beb12de5174a8fb47db316faba83000000000000000000000000ee40362973c2a916268b3c9d40d28abaacbfef3400000000000000000000000054a7bf4c221c299e9e4df21945a79147ed0231f20000000000000000000000004079e80d6193d20bb807ca38ab929a40eb8bdddf00000000000000000000000050fba4c771bde076a8a85550aeaed3657ea44f33000000000000000000000000e2798f433a0de7f26f85299d7294fda14caccf0100000000000000000000000005b116d8a35326cff3529ea1a23806323c5510a7000000000000000000000000ea6d92746e7dd772f1b5415d4f316239dfeb34ec000000000000000000000000115db9a94996d8d653c8faa1356bb2e5aa5333480000000000000000000000000fa6df67e7a36aa2439c0cba5bdd26ab4c81b25a000000000000000000000000659b166d934df2d179635749ca79078cc4dc4425000000000000000000000000ad191dd9ff581420bbf949ce6e9fd04b47f4586c0000000000000000000000008f007e0dedbac5a6e515ec95ada04886127f38a1000000000000000000000000801769d65db922dd71825e62c2e84316d65b47fa000000000000000000000000a7beec5d0ab9785437dd14a6523fb1ffd9a424130000000000000000000000004782a0bf13e5626f982af0ac18ca5b39615dccb3000000000000000000000000ae17b016fad147fcac758f0fbbb63c81af00f900000000000000000000000000772125f73a9660f296f1d1a0ad33c1010e0ae38c000000000000000000000000add281007fb327dc4c8ee1791d2882058cd4db460000000000000000000000008f1f29fe5051ef9cf9e9c5d715d5d9a8d05cadba0000000000000000000000001c5518241df88ef8d703101b9e721278f674a6d60000000000000000000000001f15011e401d10da13e179d6fafbd95ac77b1b60000000000000000000000000d4d66acc07318b5b20cb46e684cdc7f5f1c148b000000000000000000000000040ce8113b0cbef58e2933a3176e1ee9fbf392ea80000000000000000000000007a7aa4b8ed58cfc15d0a86babe65b3710d47d219000000000000000000000000b1ef7dd476848f4a5f4df44141d9658c0d255ffc00000000000000000000000058f3bc4aed8f7bd5c0cb8de5ddde5c777f7bb86b00000000000000000000000000faf87b90a576561d25bbaba9aa334cdf05325b000000000000000000000000e67b28f11daa6f9699f4653d90627296fd4e54910000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000a801edb8e2b04000000000000000000000000000000000000000000000000000a3bd0ff49d58e0000000000000000000000000000000000000000000000000009d74ce20720000000000000000000000000000000000000000000000000000009a826d23d4fca00000000000000000000000000000000000000000000000000093cafac6a800000000000000000000000000000000000000000000000000000093cafac6a80000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf04000000000000000000000000000000000000000000000000000000886c98b7600000000000000000000000000000000000000000000000000000008053f56c807780000000000000000000000000000000000000000000000000007d0e36a8180000000000000000000000000000000000000000000000000000007d0e36a8180000000000000000000000000000000000000000000000000000007d0e36a81800000000000000000000000000000000000000000000000000000079502d518a02200000000000000000000000000000000000000000000000000077e08e4a2a7bb000000000000000000000000000000000000000000000000000775f05a0740000000000000000000000000000000000000000000000000000007663c13cbbfa3000000000000000000000000000000000000000000000000000763bfbd22000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000070463426c2ef00000000000000000000000000000000000000000000000000007004a181952800000000000000000000000000000000000000000000000000006c00a3912c0000000000000000000000000000000000000000000000000000006651728988000000000000000000000000000000000000000000000000000000665172898800000000000000000000000000000000000000000000000000000066517289880000000000000000000000000000000000000000000000000000005a618b93160000000000000000000000000000000000000000000000000000005559a46bdcc770000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c00000000000000000000000000000000000000000000000000000052fc4b32fe5d20000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004a09499a2580000000000000000000000000000000000000000000000000000049e57d635400000000000000000000000000000000000000000000000000000049870df5d3fb500000000000000000000000000000000000000000000000000048ca99be9e00000000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb0000000000000000000000000000000000000000000000000000000403baa098a0000000000000000000000000000000000000000000000000000003ecfddc7a10000000000000000000000000000000000000000000000000000003ea435e8ae0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003cf82887d1d010000000000000000000000000000000000000000000000000003cc58e3d5e1be0000000000000000000000000000000000000000000000000003c176d8f5a5780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x312f22437eebfb4bb58d1c64a4b537284c6597c3a4b47641ea9acb41ef03b8db2560862e255c0c81138d10693999d6dbfaec6c2c7c27d87b445247a284118c381c895a7258065445824f0c30ceb795c49dbcd6f31302ebfa555148177eb7847d104c6ca462e75b311cfaf130221c65bc40321c50f93f6a1bac3de808f94899e9491c2eda6fcf4e2769e415be51c32beba418a2f17d86cbe9a19e4f6a721c462c201a63c30396b7c50036abcbb06b19b31934394b4baef0112523318366a113d2393b1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x67b59\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc698398810000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d600000000000000000000000000000000000000000000000000000000000001be4174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001ac4679b6ded00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000007735940000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000007944bd762876335d995d93f667b9ff34c14fa911000000000000000000000000468f360f46cd855683a55fa92ce7151b9bcb5dfa000000000000000000000000947343951330a1e6f5d0ea83ca70e2cc0c043d1700000000000000000000000084c795d8a1fdb9c4502810e4f7d9e04aafa74c97000000000000000000000000c77f24be2d46b421e1df7c45dbeb5fb0a8757e0a00000000000000000000000060e7e15f8b7965313a210082a540c4874124e1b9000000000000000000000000c14a71ed6c30d66ddecfc905fa3f239045cfff5000000000000000000000000064578d105ac98bbdc9c5a369df26afa87f88a9c8000000000000000000000000e31ef2dfce2c852570b5cc52bf02ec8236866755000000000000000000000000ca21911c178be6f71fcec1cd4b1595861f0881ec000000000000000000000000ac4ba977e5de6119d79e3e029add59d329826a3a00000000000000000000000073382c6977ab57725e07c86033f0044ceb7fc12e000000000000000000000000c046bad2ca0430dcadefc40629f1e01d2c84f37e000000000000000000000000e6c4e160636c3843a1db207a954993cdfa68861a0000000000000000000000005d4036323f52619b9faf7d4dace12bee4669cb4000000000000000000000000060e2cc1ecbdebbc2216ab2676198d68e73afcfd3000000000000000000000000e1b47602816a3a63ba769851304a4a2a90c41816000000000000000000000000470e72141418c0eb71355e5d99244e635a989d95000000000000000000000000cf8be0c141fb112eaf8fcc9b8406cbedbc6f296d0000000000000000000000005e35f578fbfb8e197e411f6f043863f2e34bbec7000000000000000000000000f838055d17759a9ba621f9bb9160e76a0ed3e2790000000000000000000000005dcdc3f0fed4bb900707e88c76c2acc29ae80579000000000000000000000000217b121d91b7211f3ab2d421aabe25615297dcc600000000000000000000000070aea4c511ec66d6fadb2e120802016cfb333e23000000000000000000000000fdc37f38cf5f063b59a333f01173f3b073becc5a000000000000000000000000e9c7363e3bbbc574b78433bddf699fac0587f6d400000000000000000000000086c45f56862571742262e4e3a5f2626f7797fb5e000000000000000000000000f59056ac7b9b7729c21b69faf09177b0a859024d000000000000000000000000dcc8f181295cfcd9ce83f8be87cb16902c2e1aef000000000000000000000000efad4323bac4d32fd5fc6c65886ea88239d9dcdb0000000000000000000000002511b8479e7e0389a5c60f7ecdb4213bc3639c97000000000000000000000000ab3a38a2be9bdf8d3298aa6edaa9c5cb6415ff44000000000000000000000000bdc985760b9b38680cf088ff19a9c310c24473c9000000000000000000000000d020756ec0d08b6c1b300efee33197fdc2af70af000000000000000000000000402c296e569b90df069e883b4b35fde7394c13ac0000000000000000000000009d56652d48c5fcacc2fcac0aac8fe3e1a7c726720000000000000000000000003cd6c267c437bd4235b1e98b7eb044a831ebeec50000000000000000000000009c9ac2dc01ff6d9bc9b1dd42e18051eebca1fbf20000000000000000000000003a3ad081cb10b004145a3ca5257bf5dc61e3d930000000000000000000000000996376925b729404afad0094edb37f5356619ed40000000000000000000000004aee7c1251d793fef8a4826e999b885370d076940000000000000000000000001c270463428d780a47f6c9591a570bac837ce91b0000000000000000000000006bd92bc0ee369c99889b5dd2c5445d1ea757c84c000000000000000000000000ded3e1a39e33e200f3e6ef8596a1a16a503b8df600000000000000000000000092f66b95ea8eb2d8f1c32fcb650dac707bbaf17f0000000000000000000000006d700358ee6735dfccd3ffbba28281b76eb2dc78000000000000000000000000595dc126cc1e7794f6b908f6046bf6834b04bacc000000000000000000000000651445c41fa6d4dd1b93e8acacfdffb4478edef70000000000000000000000009ced12517abe3c1a88ab4cee3ef518484facd9d6000000000000000000000000e7f1ddad8c5454e7d997aae8e510b6d666376b5a000000000000000000000000169b931a328a6bf9f18199d6eb9649e44ba31002000000000000000000000000236ba1d7e15cc1c689c6c9e2cc3317ba39f9d7800000000000000000000000008a53b9ed8dc15ffc4be9d4ab449f02041e513229000000000000000000000000b133045093d6ee2054c9d12929622f9170f7f77a000000000000000000000000cb13c912d0216a7d1c105e7a2173868731fabbed0000000000000000000000007db199a23d7361c09e0e41b4e040da035a6d6981000000000000000000000000e8316871c60a4044c3bdbdcc002286d6e2cd719a0000000000000000000000007e44b1067ed219c2756bad68cb118deb0d90dac60000000000000000000000005b982abd6faf0e4ed6735af4b1ef68da1e5a73320000000000000000000000008864a9372b7105f4aa1b8fe89840caff02373f50000000000000000000000000a616f0b2537cbd2b98ac445aa05068aa65084c8c0000000000000000000000003cb7e258de4cf86f8e286ae3becd69b28d934c6d000000000000000000000000c5122d5a51d918833ee643e14304dd63de4f704d00000000000000000000000022fa7a2c21b43e267420a1694180297fa1ab672f000000000000000000000000c15fd0f9c8461a20f17baa99726f4b4518a1e66c0000000000000000000000005dce675759bc4a1079a39b15425ad654296385520000000000000000000000005bdb91fdc1b48bcb8f724f9cdbda631a17057055000000000000000000000000ec441cf14e685f48f91c39f56d0709672a589f82000000000000000000000000a23766af8f0b8325a14ef4a15a7444d0f527932b000000000000000000000000feb8fb2a14f488f5fedc8586d26efbdeb76ecca8000000000000000000000000805c8f74a727977a17af1bce8d6bc7ebe59dd966000000000000000000000000fce9ecbe07c9beb12de5174a8fb47db316faba83000000000000000000000000ee40362973c2a916268b3c9d40d28abaacbfef3400000000000000000000000054a7bf4c221c299e9e4df21945a79147ed0231f20000000000000000000000004079e80d6193d20bb807ca38ab929a40eb8bdddf00000000000000000000000050fba4c771bde076a8a85550aeaed3657ea44f33000000000000000000000000e2798f433a0de7f26f85299d7294fda14caccf0100000000000000000000000005b116d8a35326cff3529ea1a23806323c5510a7000000000000000000000000ea6d92746e7dd772f1b5415d4f316239dfeb34ec000000000000000000000000115db9a94996d8d653c8faa1356bb2e5aa5333480000000000000000000000000fa6df67e7a36aa2439c0cba5bdd26ab4c81b25a000000000000000000000000659b166d934df2d179635749ca79078cc4dc4425000000000000000000000000ad191dd9ff581420bbf949ce6e9fd04b47f4586c0000000000000000000000008f007e0dedbac5a6e515ec95ada04886127f38a1000000000000000000000000801769d65db922dd71825e62c2e84316d65b47fa000000000000000000000000a7beec5d0ab9785437dd14a6523fb1ffd9a424130000000000000000000000004782a0bf13e5626f982af0ac18ca5b39615dccb3000000000000000000000000ae17b016fad147fcac758f0fbbb63c81af00f900000000000000000000000000772125f73a9660f296f1d1a0ad33c1010e0ae38c000000000000000000000000add281007fb327dc4c8ee1791d2882058cd4db460000000000000000000000008f1f29fe5051ef9cf9e9c5d715d5d9a8d05cadba0000000000000000000000001c5518241df88ef8d703101b9e721278f674a6d60000000000000000000000001f15011e401d10da13e179d6fafbd95ac77b1b60000000000000000000000000d4d66acc07318b5b20cb46e684cdc7f5f1c148b000000000000000000000000040ce8113b0cbef58e2933a3176e1ee9fbf392ea80000000000000000000000007a7aa4b8ed58cfc15d0a86babe65b3710d47d219000000000000000000000000b1ef7dd476848f4a5f4df44141d9658c0d255ffc00000000000000000000000058f3bc4aed8f7bd5c0cb8de5ddde5c777f7bb86b00000000000000000000000000faf87b90a576561d25bbaba9aa334cdf05325b000000000000000000000000e67b28f11daa6f9699f4653d90627296fd4e54910000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000a801edb8e2b04000000000000000000000000000000000000000000000000000a3bd0ff49d58e0000000000000000000000000000000000000000000000000009d74ce20720000000000000000000000000000000000000000000000000000009a826d23d4fca00000000000000000000000000000000000000000000000000093cafac6a800000000000000000000000000000000000000000000000000000093cafac6a80000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf04000000000000000000000000000000000000000000000000000000886c98b7600000000000000000000000000000000000000000000000000000008053f56c807780000000000000000000000000000000000000000000000000007d0e36a8180000000000000000000000000000000000000000000000000000007d0e36a8180000000000000000000000000000000000000000000000000000007d0e36a81800000000000000000000000000000000000000000000000000000079502d518a02200000000000000000000000000000000000000000000000000077e08e4a2a7bb000000000000000000000000000000000000000000000000000775f05a0740000000000000000000000000000000000000000000000000000007663c13cbbfa3000000000000000000000000000000000000000000000000000763bfbd22000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000070463426c2ef00000000000000000000000000000000000000000000000000007004a181952800000000000000000000000000000000000000000000000000006c00a3912c0000000000000000000000000000000000000000000000000000006651728988000000000000000000000000000000000000000000000000000000665172898800000000000000000000000000000000000000000000000000000066517289880000000000000000000000000000000000000000000000000000005a618b93160000000000000000000000000000000000000000000000000000005559a46bdcc770000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c00000000000000000000000000000000000000000000000000000052fc4b32fe5d20000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004a09499a2580000000000000000000000000000000000000000000000000000049e57d635400000000000000000000000000000000000000000000000000000049870df5d3fb500000000000000000000000000000000000000000000000000048ca99be9e00000000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb0000000000000000000000000000000000000000000000000000000403baa098a0000000000000000000000000000000000000000000000000000003ecfddc7a10000000000000000000000000000000000000000000000000000003ea435e8ae0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003cf82887d1d010000000000000000000000000000000000000000000000000003cc58e3d5e1be0000000000000000000000000000000000000000000000000003c176d8f5a57800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3312f22437eebfb4bb58d1c64a4b537284c6597c3a4b47641ea9acb41ef03b8db2560862e255c0c81138d10693999d6dbfaec6c2c7c27d87b445247a284118c381c895a7258065445824f0c30ceb795c49dbcd6f31302ebfa555148177eb7847d104c6ca462e75b311cfaf130221c65bc40321c50f93f6a1bac3de808f94899e9491c2eda6fcf4e2769e415be51c32beba418a2f17d86cbe9a19e4f6a721c462c201a63c30396b7c50036abcbb06b19b31934394b4baef0112523318366a113d2393b1b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x25\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x10fc91a\",\n      \"logs\": [\n        {\n          \"address\": \"0x8315177ab297ba92a06054ce80a67ed4dbd7ed3a\",\n          \"topics\": [\n            \"0x5e3c1311ea442664e8b1611bfabef659120ea7a0a2cfc0667700bebc69cbffe1\",\n            \"0x00000000000000000000000000000000000000000000000000000000001f7bc3\",\n            \"0xb73431799190c6632c8bb69f33c96a59abb90bf407cbd24cc32e09d8c8ddf271\"\n          ],\n          \"data\": \"0x0000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f000000000000000000000000000000000000000000000000000000000000000900000000000000000000000025646667cd30e52c0b458baaccb9fada7046f1678f72fa24ee95ed59c9d771c35c7781f49c5590bfebecc4bf9dfc6d2081fc79400000000000000000000000000000000000000000000000000000000013e7467d00000000000000000000000000000000000000000000000000000000688d2f43\",\n          \"blockHash\": \"0x0e94715b50e89be5c8e884dd8fd554bc92faf328ba3dfca2f130e3d093152132\",\n          \"blockNumber\": \"0x15fb2a8\",\n          \"blockTimestamp\": \"0x688d2f43\",\n          \"transactionHash\": \"0x0881bb6552fdefd78b6d3f1605b36bff2e3c4e4f953296ea271d70df4f16b391\",\n          \"transactionIndex\": \"0x87\",\n          \"logIndex\": \"0x200\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x4dbd4fc535ac27206064b68ffcf827b0a60bab3f\",\n          \"topics\": [\n            \"0xff64905f73a67fb594e0f940a8075a860db489ad991e032f48c81123eb52d60b\",\n            \"0x00000000000000000000000000000000000000000000000000000000001f7bc3\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000001aa400000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000025646667cd30e52c0b458baaccb9fada7046f16700000000000000000000000025646667cd30e52c0b458baaccb9fada7046f16700000000000000000000000000000000000000000000000000000000001e848000000000000000000000000000000000000000000000000000000000773594000000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000007944bd762876335d995d93f667b9ff34c14fa911000000000000000000000000468f360f46cd855683a55fa92ce7151b9bcb5dfa000000000000000000000000947343951330a1e6f5d0ea83ca70e2cc0c043d1700000000000000000000000084c795d8a1fdb9c4502810e4f7d9e04aafa74c97000000000000000000000000c77f24be2d46b421e1df7c45dbeb5fb0a8757e0a00000000000000000000000060e7e15f8b7965313a210082a540c4874124e1b9000000000000000000000000c14a71ed6c30d66ddecfc905fa3f239045cfff5000000000000000000000000064578d105ac98bbdc9c5a369df26afa87f88a9c8000000000000000000000000e31ef2dfce2c852570b5cc52bf02ec8236866755000000000000000000000000ca21911c178be6f71fcec1cd4b1595861f0881ec000000000000000000000000ac4ba977e5de6119d79e3e029add59d329826a3a00000000000000000000000073382c6977ab57725e07c86033f0044ceb7fc12e000000000000000000000000c046bad2ca0430dcadefc40629f1e01d2c84f37e000000000000000000000000e6c4e160636c3843a1db207a954993cdfa68861a0000000000000000000000005d4036323f52619b9faf7d4dace12bee4669cb4000000000000000000000000060e2cc1ecbdebbc2216ab2676198d68e73afcfd3000000000000000000000000e1b47602816a3a63ba769851304a4a2a90c41816000000000000000000000000470e72141418c0eb71355e5d99244e635a989d95000000000000000000000000cf8be0c141fb112eaf8fcc9b8406cbedbc6f296d0000000000000000000000005e35f578fbfb8e197e411f6f043863f2e34bbec7000000000000000000000000f838055d17759a9ba621f9bb9160e76a0ed3e2790000000000000000000000005dcdc3f0fed4bb900707e88c76c2acc29ae80579000000000000000000000000217b121d91b7211f3ab2d421aabe25615297dcc600000000000000000000000070aea4c511ec66d6fadb2e120802016cfb333e23000000000000000000000000fdc37f38cf5f063b59a333f01173f3b073becc5a000000000000000000000000e9c7363e3bbbc574b78433bddf699fac0587f6d400000000000000000000000086c45f56862571742262e4e3a5f2626f7797fb5e000000000000000000000000f59056ac7b9b7729c21b69faf09177b0a859024d000000000000000000000000dcc8f181295cfcd9ce83f8be87cb16902c2e1aef000000000000000000000000efad4323bac4d32fd5fc6c65886ea88239d9dcdb0000000000000000000000002511b8479e7e0389a5c60f7ecdb4213bc3639c97000000000000000000000000ab3a38a2be9bdf8d3298aa6edaa9c5cb6415ff44000000000000000000000000bdc985760b9b38680cf088ff19a9c310c24473c9000000000000000000000000d020756ec0d08b6c1b300efee33197fdc2af70af000000000000000000000000402c296e569b90df069e883b4b35fde7394c13ac0000000000000000000000009d56652d48c5fcacc2fcac0aac8fe3e1a7c726720000000000000000000000003cd6c267c437bd4235b1e98b7eb044a831ebeec50000000000000000000000009c9ac2dc01ff6d9bc9b1dd42e18051eebca1fbf20000000000000000000000003a3ad081cb10b004145a3ca5257bf5dc61e3d930000000000000000000000000996376925b729404afad0094edb37f5356619ed40000000000000000000000004aee7c1251d793fef8a4826e999b885370d076940000000000000000000000001c270463428d780a47f6c9591a570bac837ce91b0000000000000000000000006bd92bc0ee369c99889b5dd2c5445d1ea757c84c000000000000000000000000ded3e1a39e33e200f3e6ef8596a1a16a503b8df600000000000000000000000092f66b95ea8eb2d8f1c32fcb650dac707bbaf17f0000000000000000000000006d700358ee6735dfccd3ffbba28281b76eb2dc78000000000000000000000000595dc126cc1e7794f6b908f6046bf6834b04bacc000000000000000000000000651445c41fa6d4dd1b93e8acacfdffb4478edef70000000000000000000000009ced12517abe3c1a88ab4cee3ef518484facd9d6000000000000000000000000e7f1ddad8c5454e7d997aae8e510b6d666376b5a000000000000000000000000169b931a328a6bf9f18199d6eb9649e44ba31002000000000000000000000000236ba1d7e15cc1c689c6c9e2cc3317ba39f9d7800000000000000000000000008a53b9ed8dc15ffc4be9d4ab449f02041e513229000000000000000000000000b133045093d6ee2054c9d12929622f9170f7f77a000000000000000000000000cb13c912d0216a7d1c105e7a2173868731fabbed0000000000000000000000007db199a23d7361c09e0e41b4e040da035a6d6981000000000000000000000000e8316871c60a4044c3bdbdcc002286d6e2cd719a0000000000000000000000007e44b1067ed219c2756bad68cb118deb0d90dac60000000000000000000000005b982abd6faf0e4ed6735af4b1ef68da1e5a73320000000000000000000000008864a9372b7105f4aa1b8fe89840caff02373f50000000000000000000000000a616f0b2537cbd2b98ac445aa05068aa65084c8c0000000000000000000000003cb7e258de4cf86f8e286ae3becd69b28d934c6d000000000000000000000000c5122d5a51d918833ee643e14304dd63de4f704d00000000000000000000000022fa7a2c21b43e267420a1694180297fa1ab672f000000000000000000000000c15fd0f9c8461a20f17baa99726f4b4518a1e66c0000000000000000000000005dce675759bc4a1079a39b15425ad654296385520000000000000000000000005bdb91fdc1b48bcb8f724f9cdbda631a17057055000000000000000000000000ec441cf14e685f48f91c39f56d0709672a589f82000000000000000000000000a23766af8f0b8325a14ef4a15a7444d0f527932b000000000000000000000000feb8fb2a14f488f5fedc8586d26efbdeb76ecca8000000000000000000000000805c8f74a727977a17af1bce8d6bc7ebe59dd966000000000000000000000000fce9ecbe07c9beb12de5174a8fb47db316faba83000000000000000000000000ee40362973c2a916268b3c9d40d28abaacbfef3400000000000000000000000054a7bf4c221c299e9e4df21945a79147ed0231f20000000000000000000000004079e80d6193d20bb807ca38ab929a40eb8bdddf00000000000000000000000050fba4c771bde076a8a85550aeaed3657ea44f33000000000000000000000000e2798f433a0de7f26f85299d7294fda14caccf0100000000000000000000000005b116d8a35326cff3529ea1a23806323c5510a7000000000000000000000000ea6d92746e7dd772f1b5415d4f316239dfeb34ec000000000000000000000000115db9a94996d8d653c8faa1356bb2e5aa5333480000000000000000000000000fa6df67e7a36aa2439c0cba5bdd26ab4c81b25a000000000000000000000000659b166d934df2d179635749ca79078cc4dc4425000000000000000000000000ad191dd9ff581420bbf949ce6e9fd04b47f4586c0000000000000000000000008f007e0dedbac5a6e515ec95ada04886127f38a1000000000000000000000000801769d65db922dd71825e62c2e84316d65b47fa000000000000000000000000a7beec5d0ab9785437dd14a6523fb1ffd9a424130000000000000000000000004782a0bf13e5626f982af0ac18ca5b39615dccb3000000000000000000000000ae17b016fad147fcac758f0fbbb63c81af00f900000000000000000000000000772125f73a9660f296f1d1a0ad33c1010e0ae38c000000000000000000000000add281007fb327dc4c8ee1791d2882058cd4db460000000000000000000000008f1f29fe5051ef9cf9e9c5d715d5d9a8d05cadba0000000000000000000000001c5518241df88ef8d703101b9e721278f674a6d60000000000000000000000001f15011e401d10da13e179d6fafbd95ac77b1b60000000000000000000000000d4d66acc07318b5b20cb46e684cdc7f5f1c148b000000000000000000000000040ce8113b0cbef58e2933a3176e1ee9fbf392ea80000000000000000000000007a7aa4b8ed58cfc15d0a86babe65b3710d47d219000000000000000000000000b1ef7dd476848f4a5f4df44141d9658c0d255ffc00000000000000000000000058f3bc4aed8f7bd5c0cb8de5ddde5c777f7bb86b00000000000000000000000000faf87b90a576561d25bbaba9aa334cdf05325b000000000000000000000000e67b28f11daa6f9699f4653d90627296fd4e54910000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000a801edb8e2b04000000000000000000000000000000000000000000000000000a3bd0ff49d58e0000000000000000000000000000000000000000000000000009d74ce20720000000000000000000000000000000000000000000000000000009a826d23d4fca00000000000000000000000000000000000000000000000000093cafac6a800000000000000000000000000000000000000000000000000000093cafac6a80000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf04000000000000000000000000000000000000000000000000000000886c98b7600000000000000000000000000000000000000000000000000000008053f56c807780000000000000000000000000000000000000000000000000007d0e36a8180000000000000000000000000000000000000000000000000000007d0e36a8180000000000000000000000000000000000000000000000000000007d0e36a81800000000000000000000000000000000000000000000000000000079502d518a02200000000000000000000000000000000000000000000000000077e08e4a2a7bb000000000000000000000000000000000000000000000000000775f05a0740000000000000000000000000000000000000000000000000000007663c13cbbfa3000000000000000000000000000000000000000000000000000763bfbd22000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000070463426c2ef00000000000000000000000000000000000000000000000000007004a181952800000000000000000000000000000000000000000000000000006c00a3912c0000000000000000000000000000000000000000000000000000006651728988000000000000000000000000000000000000000000000000000000665172898800000000000000000000000000000000000000000000000000000066517289880000000000000000000000000000000000000000000000000000005a618b93160000000000000000000000000000000000000000000000000000005559a46bdcc770000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c00000000000000000000000000000000000000000000000000000052fc4b32fe5d20000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004a09499a2580000000000000000000000000000000000000000000000000000049e57d635400000000000000000000000000000000000000000000000000000049870df5d3fb500000000000000000000000000000000000000000000000000048ca99be9e00000000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb0000000000000000000000000000000000000000000000000000000403baa098a0000000000000000000000000000000000000000000000000000003ecfddc7a10000000000000000000000000000000000000000000000000000003ea435e8ae0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003cf82887d1d010000000000000000000000000000000000000000000000000003cc58e3d5e1be0000000000000000000000000000000000000000000000000003c176d8f5a57800000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x0e94715b50e89be5c8e884dd8fd554bc92faf328ba3dfca2f130e3d093152132\",\n          \"blockNumber\": \"0x15fb2a8\",\n          \"blockTimestamp\": \"0x688d2f43\",\n          \"transactionHash\": \"0x0881bb6552fdefd78b6d3f1605b36bff2e3c4e4f953296ea271d70df4f16b391\",\n          \"transactionIndex\": \"0x87\",\n          \"logIndex\": \"0x201\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xe92aabe7c5fbbc8af35436e06655a25c0847c303ade4f2303f0a2145581759ee0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x0e94715b50e89be5c8e884dd8fd554bc92faf328ba3dfca2f130e3d093152132\",\n          \"blockNumber\": \"0x15fb2a8\",\n          \"blockTimestamp\": \"0x688d2f43\",\n          \"transactionHash\": \"0x0881bb6552fdefd78b6d3f1605b36bff2e3c4e4f953296ea271d70df4f16b391\",\n          \"transactionIndex\": \"0x87\",\n          \"logIndex\": \"0x202\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000020000000000000000000000000000000000000440000000000002000000000000000000000000000040000120000000000000000000000000000000000000000000000000000000000000000000000008000000000002000000000400000000000000000000000000000000000000000000000080000000020000000000000000000000000000000000000000000000000000000000000100000020000000000000000000004000040000000000000000000000000008000000100000000000000000000000000410000000000000000001000080000000000000000000000000000000000000000000000000000000000000000004000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x0881bb6552fdefd78b6d3f1605b36bff2e3c4e4f953296ea271d70df4f16b391\",\n      \"transactionIndex\": \"0x87\",\n      \"blockHash\": \"0x0e94715b50e89be5c8e884dd8fd554bc92faf328ba3dfca2f130e3d093152132\",\n      \"blockNumber\": \"0x15fb2a8\",\n      \"gasUsed\": \"0x46ea4\",\n      \"effectiveGasPrice\": \"0x14207eed\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1754083142,\n  \"chain\": 1,\n  \"commit\": \"1fa78b1\"\n}"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/records/ArbitrumExecuteRecovery.s.sol/1/run-1754083249.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x5741bc76b1e6f8b171253c030f2a2c9668948998daf941f3612fdc4a5d95eb99\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881\",\n        \"5000000000000000\",\n        \"0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001ac4679b6ded00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000007735940000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000001b4c289c4f6e0565f1e432654254485c490679e900000000000000000000000001390192e7c025730a4426b12af78c23a548e10a000000000000000000000000b0556d287d885309d0b76f833f6e1710c83753440000000000000000000000000641600d128321a5d78df90969b601f93a1278bd0000000000000000000000009f09f8a85ae21f8ee80564ee59881bd60347621200000000000000000000000075c0921a7bfff8658659838e61fc083e662796f00000000000000000000000006fd1dd3888cd5ce26dabb727f76348ccedfd3dd4000000000000000000000000adddbf546e0467fc93efb29e8105177b4b45c2a1000000000000000000000000df3ddef9f03e42524c3b9294a97e442fe0f0c32e0000000000000000000000002a54e112b25d2f7b298b2db5dbc0644197f970a2000000000000000000000000743d1bf4bb65f068ab12d9625de0d56bbe6916f50000000000000000000000006ce9928f0f080c7ed4ae1f5940e7bca770f723c6000000000000000000000000b28dd7bcdebde0b09c40178e22960c84ab4953a200000000000000000000000018bb5e299f21cc9b98755065199d2ff654a385ec000000000000000000000000d9759e2fe6277d7d81c3d935d0dcac684d9b3236000000000000000000000000d54ff07f3f69c234b774f6398153dff62a5b82e300000000000000000000000093458952f6a1a1d37a31dcdde33da71f9fe7ce15000000000000000000000000e6222f4ff6f932f566ccbf305cee2a31ad517d37000000000000000000000000b2739b8ead8c553062104c8d5264c5141981392e000000000000000000000000f824b46157b0dda2032ee6fe123a8ec2be1cb4b7000000000000000000000000cc7a3300f6415bee7c2676ab9bb58e8506afd994000000000000000000000000fe1a7a08a0991bd33492e47574ba2174026aa792000000000000000000000000e4fb057c253cc5dd67d713118e0691590476bbc20000000000000000000000006630b0a570fdff2c4832ef9bad9b50763877376f000000000000000000000000c0334ce5005ba6872ca0f9348b2d3102e7295bbf00000000000000000000000078ef64daa741d0da7d8aeb0e0f5bf88950049cf20000000000000000000000005306eac5828489bab3390ef97caef285ba06ab4d000000000000000000000000175bcbf5b374bdecb8d987964d793412ab0cb6fe000000000000000000000000269bfc984d07f8c5c93e3d9978c08d3eecbec387000000000000000000000000822b4457a36d6439e765bfdc47a9849d77d0da5b000000000000000000000000c98d0307b36e5345f13b63110df31bfa99a2054d000000000000000000000000d7d9b49a30c4960b10a63159656955dd6a389d9d00000000000000000000000076619eb9f77126da088e112ed5a933a10d1ecea00000000000000000000000001b23c95f884760521a16e5ff64544d1e48b56d4e0000000000000000000000000bad698a19420eb7d69f8fcc15a7eb7dab2c1c690000000000000000000000001e8948c603ab9ea99e21626d291678e9769d972f0000000000000000000000007990c9e20d431198d47e2d277c4b4bd17525768700000000000000000000000032ed20dd2e84e281957f726e48f5f93901ea1f7100000000000000000000000017dfc9222d183642a77efba84b320fc9d0f4ba2400000000000000000000000049d786e4a52832e4380487eb7c99fc76aa94ff51000000000000000000000000831100f2dd4039700143eab5e7a6c0acc0be07ad000000000000000000000000711920225d713362dae08fdd83f762c99b2a6ff80000000000000000000000003ba8adea5a9817c107388127693cdfa55021467a000000000000000000000000cd95228c1247b904d22deb51f4ef148499afca20000000000000000000000000f84cd10f0904474c1707e29db937e8f4c21d4da9000000000000000000000000abddd183743e61a04a7b31de3dc68171ca3ed4cc000000000000000000000000c3fc1492197d3c19da46b8fe40ca08f01d2feab40000000000000000000000004a6d5b892ad6ce7e8a433e43ba0f55569d883f6f000000000000000000000000e42a6c980a3c9fb0e8945d699a27f9e471ace4eb0000000000000000000000007a0ab6be13855ffaa592cc5bcecba5628849c5c70000000000000000000000009d386325330ff9565821232435c67b253776fed900000000000000000000000045c719c91cdf2436ab699e7401e41fdf049e7e60000000000000000000000000d81a08a24cde557d2bd9cdd4033922be7d5cc3bb000000000000000000000000fc455cd4f6cee49288cb4e027e6782b409edb30c00000000000000000000000013fc306ca025f52fb7f5af8a98bd8760c252916f00000000000000000000000025f7e265ebd9e5f5fbee5da2a4f0fc8882c4f5f8000000000000000000000000c19621892d8ee431869324556e17051c378d2890000000000000000000000000377a3a71309ca5cb23d319baf64de92a154103ad0000000000000000000000007efb596e6958e33c7d74ab73d5aa4817ff58d182000000000000000000000000bd773880a0a06dc937fdef3b1b8e89623d1b206c000000000000000000000000a1922bd5ba2712f69501182612faaa15ca03604f000000000000000000000000ad1ca5603335ac4b05ce62b4303ee884ffde775100000000000000000000000047c7abbd2a4e4aaed5f782e01057fd62c3e1cc490000000000000000000000006a0cc5056e775e3c30ac186eeace625db6f386ec000000000000000000000000c76aed5faa6d4f92836505a9d206e84aa855702a0000000000000000000000003fc9b78015cfdc24d1f8fa8cfec69e15cb47d47a0000000000000000000000005c357a5ee9605f880fbbf6d9aefbb70c2622622500000000000000000000000050b4d75c959361c982643d1758e250f43c1b34c600000000000000000000000038566bad6c0c22986c451a76301f38b31555c952000000000000000000000000e1b54db8553c98414f23a37e6c32a956efc1d065000000000000000000000000c7e8921d5ed0665df082d1a4703fe401aa38024f000000000000000000000000c7971d9d68fec098576f689ddb546f24e5eeb742000000000000000000000000ba3214161617dee3311ebf9f32a4c4d20bb5ba6d0000000000000000000000004b40239453b529f2430dea36b8fe3fe4c4f08a2b00000000000000000000000009ca4dfc81e6d2afbc9a928d4086c73571d801a80000000000000000000000001dc87a873176ce0918e62d637ce1b3d1187f5a670000000000000000000000003010d580f87c864c13f81c734f110d37d8e3360c000000000000000000000000666ff1163aba759d1eaafe046e002740637050a6000000000000000000000000b9b4080ee5e800e041e9d2983b027affc0a18ee5000000000000000000000000184583ebd702bae8fbc3d3bb91b7d5f7dff37cc9000000000000000000000000d65185f1d1bb39e2032f2e8098694c84e4dc2faa0000000000000000000000005ea169c1170609d3c293c81c68e6dd3a1c94be1b000000000000000000000000c106721fd730c7e249eb06d98c23770fad2960c000000000000000000000000051adbc10757512b235016a73f2800d6a2ee1153e000000000000000000000000ea764bd87153240a0b2bdea5d84aa51da25438ef000000000000000000000000595228604281feffc818c4ed3e969f73d83042bc000000000000000000000000e777b5fd3fd9e3c857d07f8640cd0215c1117bbc000000000000000000000000613fc42719284bdc058d41e592abec76ca75f6ba0000000000000000000000004671cb82243c8eee5c43690ea50331de0433c1cf0000000000000000000000009bada0378d056b9e2011b7282f4ff2582a86d868000000000000000000000000cb3ee425f8d841366a115ba4e8c1be7c0f9314c100000000000000000000000049059f3d8a9629a02d976b02e2710b8e0aea809a0000000000000000000000002b28bc4575529d7e321606a7417ad5367160e8b4000000000000000000000000b92bf70e8fbce2134ed02d91143d6869a056ecbc000000000000000000000000a276d4959c28546546b8fef6ba745149c76c9dff0000000000000000000000007acc1dff427c7b4022cd5bc2dd831d14b0320442000000000000000000000000d329b2c1c8de4f77f60d7dc2cc18c749479cb7ce0000000000000000000000003542982906984412ade912688a86d5610c9ab05b000000000000000000000000e713a305e3428be428483ef6cbbdc0a99258b456000000000000000000000000338fa44629465aa93f7b1974288224f566984eb6000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x366f07bbcb40d24d4f540a19833c9b2cec6d6d921478a4e217c8d93d3fe33b4f221d7de71cb92af56a19ab6cbcd5158a47d64bc81a1566008e2631c239f2dccc1c466847ecc1feac7a49ca1f81ae689e8c953ba5cf39112bd025418b10398be0c20581e190124ee0c5fe2c7391861bab1256fd8dd1b678778cb1e5db12032b40801be20d470986f0ab0193c8ffbd5ce2e84af938878bf4ccaf63f5762520e97249601e838b244bc4c56bbcef7abce2d5ec5091efbddf04af8a261d0c8c85a3975d7e1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x62085\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc698398810000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d600000000000000000000000000000000000000000000000000000000000001be4174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001ac4679b6ded00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000007735940000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000001b4c289c4f6e0565f1e432654254485c490679e900000000000000000000000001390192e7c025730a4426b12af78c23a548e10a000000000000000000000000b0556d287d885309d0b76f833f6e1710c83753440000000000000000000000000641600d128321a5d78df90969b601f93a1278bd0000000000000000000000009f09f8a85ae21f8ee80564ee59881bd60347621200000000000000000000000075c0921a7bfff8658659838e61fc083e662796f00000000000000000000000006fd1dd3888cd5ce26dabb727f76348ccedfd3dd4000000000000000000000000adddbf546e0467fc93efb29e8105177b4b45c2a1000000000000000000000000df3ddef9f03e42524c3b9294a97e442fe0f0c32e0000000000000000000000002a54e112b25d2f7b298b2db5dbc0644197f970a2000000000000000000000000743d1bf4bb65f068ab12d9625de0d56bbe6916f50000000000000000000000006ce9928f0f080c7ed4ae1f5940e7bca770f723c6000000000000000000000000b28dd7bcdebde0b09c40178e22960c84ab4953a200000000000000000000000018bb5e299f21cc9b98755065199d2ff654a385ec000000000000000000000000d9759e2fe6277d7d81c3d935d0dcac684d9b3236000000000000000000000000d54ff07f3f69c234b774f6398153dff62a5b82e300000000000000000000000093458952f6a1a1d37a31dcdde33da71f9fe7ce15000000000000000000000000e6222f4ff6f932f566ccbf305cee2a31ad517d37000000000000000000000000b2739b8ead8c553062104c8d5264c5141981392e000000000000000000000000f824b46157b0dda2032ee6fe123a8ec2be1cb4b7000000000000000000000000cc7a3300f6415bee7c2676ab9bb58e8506afd994000000000000000000000000fe1a7a08a0991bd33492e47574ba2174026aa792000000000000000000000000e4fb057c253cc5dd67d713118e0691590476bbc20000000000000000000000006630b0a570fdff2c4832ef9bad9b50763877376f000000000000000000000000c0334ce5005ba6872ca0f9348b2d3102e7295bbf00000000000000000000000078ef64daa741d0da7d8aeb0e0f5bf88950049cf20000000000000000000000005306eac5828489bab3390ef97caef285ba06ab4d000000000000000000000000175bcbf5b374bdecb8d987964d793412ab0cb6fe000000000000000000000000269bfc984d07f8c5c93e3d9978c08d3eecbec387000000000000000000000000822b4457a36d6439e765bfdc47a9849d77d0da5b000000000000000000000000c98d0307b36e5345f13b63110df31bfa99a2054d000000000000000000000000d7d9b49a30c4960b10a63159656955dd6a389d9d00000000000000000000000076619eb9f77126da088e112ed5a933a10d1ecea00000000000000000000000001b23c95f884760521a16e5ff64544d1e48b56d4e0000000000000000000000000bad698a19420eb7d69f8fcc15a7eb7dab2c1c690000000000000000000000001e8948c603ab9ea99e21626d291678e9769d972f0000000000000000000000007990c9e20d431198d47e2d277c4b4bd17525768700000000000000000000000032ed20dd2e84e281957f726e48f5f93901ea1f7100000000000000000000000017dfc9222d183642a77efba84b320fc9d0f4ba2400000000000000000000000049d786e4a52832e4380487eb7c99fc76aa94ff51000000000000000000000000831100f2dd4039700143eab5e7a6c0acc0be07ad000000000000000000000000711920225d713362dae08fdd83f762c99b2a6ff80000000000000000000000003ba8adea5a9817c107388127693cdfa55021467a000000000000000000000000cd95228c1247b904d22deb51f4ef148499afca20000000000000000000000000f84cd10f0904474c1707e29db937e8f4c21d4da9000000000000000000000000abddd183743e61a04a7b31de3dc68171ca3ed4cc000000000000000000000000c3fc1492197d3c19da46b8fe40ca08f01d2feab40000000000000000000000004a6d5b892ad6ce7e8a433e43ba0f55569d883f6f000000000000000000000000e42a6c980a3c9fb0e8945d699a27f9e471ace4eb0000000000000000000000007a0ab6be13855ffaa592cc5bcecba5628849c5c70000000000000000000000009d386325330ff9565821232435c67b253776fed900000000000000000000000045c719c91cdf2436ab699e7401e41fdf049e7e60000000000000000000000000d81a08a24cde557d2bd9cdd4033922be7d5cc3bb000000000000000000000000fc455cd4f6cee49288cb4e027e6782b409edb30c00000000000000000000000013fc306ca025f52fb7f5af8a98bd8760c252916f00000000000000000000000025f7e265ebd9e5f5fbee5da2a4f0fc8882c4f5f8000000000000000000000000c19621892d8ee431869324556e17051c378d2890000000000000000000000000377a3a71309ca5cb23d319baf64de92a154103ad0000000000000000000000007efb596e6958e33c7d74ab73d5aa4817ff58d182000000000000000000000000bd773880a0a06dc937fdef3b1b8e89623d1b206c000000000000000000000000a1922bd5ba2712f69501182612faaa15ca03604f000000000000000000000000ad1ca5603335ac4b05ce62b4303ee884ffde775100000000000000000000000047c7abbd2a4e4aaed5f782e01057fd62c3e1cc490000000000000000000000006a0cc5056e775e3c30ac186eeace625db6f386ec000000000000000000000000c76aed5faa6d4f92836505a9d206e84aa855702a0000000000000000000000003fc9b78015cfdc24d1f8fa8cfec69e15cb47d47a0000000000000000000000005c357a5ee9605f880fbbf6d9aefbb70c2622622500000000000000000000000050b4d75c959361c982643d1758e250f43c1b34c600000000000000000000000038566bad6c0c22986c451a76301f38b31555c952000000000000000000000000e1b54db8553c98414f23a37e6c32a956efc1d065000000000000000000000000c7e8921d5ed0665df082d1a4703fe401aa38024f000000000000000000000000c7971d9d68fec098576f689ddb546f24e5eeb742000000000000000000000000ba3214161617dee3311ebf9f32a4c4d20bb5ba6d0000000000000000000000004b40239453b529f2430dea36b8fe3fe4c4f08a2b00000000000000000000000009ca4dfc81e6d2afbc9a928d4086c73571d801a80000000000000000000000001dc87a873176ce0918e62d637ce1b3d1187f5a670000000000000000000000003010d580f87c864c13f81c734f110d37d8e3360c000000000000000000000000666ff1163aba759d1eaafe046e002740637050a6000000000000000000000000b9b4080ee5e800e041e9d2983b027affc0a18ee5000000000000000000000000184583ebd702bae8fbc3d3bb91b7d5f7dff37cc9000000000000000000000000d65185f1d1bb39e2032f2e8098694c84e4dc2faa0000000000000000000000005ea169c1170609d3c293c81c68e6dd3a1c94be1b000000000000000000000000c106721fd730c7e249eb06d98c23770fad2960c000000000000000000000000051adbc10757512b235016a73f2800d6a2ee1153e000000000000000000000000ea764bd87153240a0b2bdea5d84aa51da25438ef000000000000000000000000595228604281feffc818c4ed3e969f73d83042bc000000000000000000000000e777b5fd3fd9e3c857d07f8640cd0215c1117bbc000000000000000000000000613fc42719284bdc058d41e592abec76ca75f6ba0000000000000000000000004671cb82243c8eee5c43690ea50331de0433c1cf0000000000000000000000009bada0378d056b9e2011b7282f4ff2582a86d868000000000000000000000000cb3ee425f8d841366a115ba4e8c1be7c0f9314c100000000000000000000000049059f3d8a9629a02d976b02e2710b8e0aea809a0000000000000000000000002b28bc4575529d7e321606a7417ad5367160e8b4000000000000000000000000b92bf70e8fbce2134ed02d91143d6869a056ecbc000000000000000000000000a276d4959c28546546b8fef6ba745149c76c9dff0000000000000000000000007acc1dff427c7b4022cd5bc2dd831d14b0320442000000000000000000000000d329b2c1c8de4f77f60d7dc2cc18c749479cb7ce0000000000000000000000003542982906984412ade912688a86d5610c9ab05b000000000000000000000000e713a305e3428be428483ef6cbbdc0a99258b456000000000000000000000000338fa44629465aa93f7b1974288224f566984eb6000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3366f07bbcb40d24d4f540a19833c9b2cec6d6d921478a4e217c8d93d3fe33b4f221d7de71cb92af56a19ab6cbcd5158a47d64bc81a1566008e2631c239f2dccc1c466847ecc1feac7a49ca1f81ae689e8c953ba5cf39112bd025418b10398be0c20581e190124ee0c5fe2c7391861bab1256fd8dd1b678778cb1e5db12032b40801be20d470986f0ab0193c8ffbd5ce2e84af938878bf4ccaf63f5762520e97249601e838b244bc4c56bbcef7abce2d5ec5091efbddf04af8a261d0c8c85a3975d7e1b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x26\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x19800bb\",\n      \"logs\": [\n        {\n          \"address\": \"0x8315177ab297ba92a06054ce80a67ed4dbd7ed3a\",\n          \"topics\": [\n            \"0x5e3c1311ea442664e8b1611bfabef659120ea7a0a2cfc0667700bebc69cbffe1\",\n            \"0x00000000000000000000000000000000000000000000000000000000001f7bc5\",\n            \"0x232836d7f18c836f7597de4f1b7397b90d2434604d40267dd476466cc4705d86\"\n          ],\n          \"data\": \"0x0000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f000000000000000000000000000000000000000000000000000000000000000900000000000000000000000025646667cd30e52c0b458baaccb9fada7046f1671e8e773beb62e1dc931f54e19e291157e95f1b567824d00f34fa88a20f73be560000000000000000000000000000000000000000000000000000000012f244c800000000000000000000000000000000000000000000000000000000688d2faf\",\n          \"blockHash\": \"0xd1648045a13475c5f82df04bd9171f2d8833c5fc8db4dad3e6bab78daa3613d6\",\n          \"blockNumber\": \"0x15fb2b1\",\n          \"blockTimestamp\": \"0x688d2faf\",\n          \"transactionHash\": \"0x5741bc76b1e6f8b171253c030f2a2c9668948998daf941f3612fdc4a5d95eb99\",\n          \"transactionIndex\": \"0xf7\",\n          \"logIndex\": \"0x247\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x4dbd4fc535ac27206064b68ffcf827b0a60bab3f\",\n          \"topics\": [\n            \"0xff64905f73a67fb594e0f940a8075a860db489ad991e032f48c81123eb52d60b\",\n            \"0x00000000000000000000000000000000000000000000000000000000001f7bc5\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000001aa400000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000025646667cd30e52c0b458baaccb9fada7046f16700000000000000000000000025646667cd30e52c0b458baaccb9fada7046f16700000000000000000000000000000000000000000000000000000000001e848000000000000000000000000000000000000000000000000000000000773594000000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000001b4c289c4f6e0565f1e432654254485c490679e900000000000000000000000001390192e7c025730a4426b12af78c23a548e10a000000000000000000000000b0556d287d885309d0b76f833f6e1710c83753440000000000000000000000000641600d128321a5d78df90969b601f93a1278bd0000000000000000000000009f09f8a85ae21f8ee80564ee59881bd60347621200000000000000000000000075c0921a7bfff8658659838e61fc083e662796f00000000000000000000000006fd1dd3888cd5ce26dabb727f76348ccedfd3dd4000000000000000000000000adddbf546e0467fc93efb29e8105177b4b45c2a1000000000000000000000000df3ddef9f03e42524c3b9294a97e442fe0f0c32e0000000000000000000000002a54e112b25d2f7b298b2db5dbc0644197f970a2000000000000000000000000743d1bf4bb65f068ab12d9625de0d56bbe6916f50000000000000000000000006ce9928f0f080c7ed4ae1f5940e7bca770f723c6000000000000000000000000b28dd7bcdebde0b09c40178e22960c84ab4953a200000000000000000000000018bb5e299f21cc9b98755065199d2ff654a385ec000000000000000000000000d9759e2fe6277d7d81c3d935d0dcac684d9b3236000000000000000000000000d54ff07f3f69c234b774f6398153dff62a5b82e300000000000000000000000093458952f6a1a1d37a31dcdde33da71f9fe7ce15000000000000000000000000e6222f4ff6f932f566ccbf305cee2a31ad517d37000000000000000000000000b2739b8ead8c553062104c8d5264c5141981392e000000000000000000000000f824b46157b0dda2032ee6fe123a8ec2be1cb4b7000000000000000000000000cc7a3300f6415bee7c2676ab9bb58e8506afd994000000000000000000000000fe1a7a08a0991bd33492e47574ba2174026aa792000000000000000000000000e4fb057c253cc5dd67d713118e0691590476bbc20000000000000000000000006630b0a570fdff2c4832ef9bad9b50763877376f000000000000000000000000c0334ce5005ba6872ca0f9348b2d3102e7295bbf00000000000000000000000078ef64daa741d0da7d8aeb0e0f5bf88950049cf20000000000000000000000005306eac5828489bab3390ef97caef285ba06ab4d000000000000000000000000175bcbf5b374bdecb8d987964d793412ab0cb6fe000000000000000000000000269bfc984d07f8c5c93e3d9978c08d3eecbec387000000000000000000000000822b4457a36d6439e765bfdc47a9849d77d0da5b000000000000000000000000c98d0307b36e5345f13b63110df31bfa99a2054d000000000000000000000000d7d9b49a30c4960b10a63159656955dd6a389d9d00000000000000000000000076619eb9f77126da088e112ed5a933a10d1ecea00000000000000000000000001b23c95f884760521a16e5ff64544d1e48b56d4e0000000000000000000000000bad698a19420eb7d69f8fcc15a7eb7dab2c1c690000000000000000000000001e8948c603ab9ea99e21626d291678e9769d972f0000000000000000000000007990c9e20d431198d47e2d277c4b4bd17525768700000000000000000000000032ed20dd2e84e281957f726e48f5f93901ea1f7100000000000000000000000017dfc9222d183642a77efba84b320fc9d0f4ba2400000000000000000000000049d786e4a52832e4380487eb7c99fc76aa94ff51000000000000000000000000831100f2dd4039700143eab5e7a6c0acc0be07ad000000000000000000000000711920225d713362dae08fdd83f762c99b2a6ff80000000000000000000000003ba8adea5a9817c107388127693cdfa55021467a000000000000000000000000cd95228c1247b904d22deb51f4ef148499afca20000000000000000000000000f84cd10f0904474c1707e29db937e8f4c21d4da9000000000000000000000000abddd183743e61a04a7b31de3dc68171ca3ed4cc000000000000000000000000c3fc1492197d3c19da46b8fe40ca08f01d2feab40000000000000000000000004a6d5b892ad6ce7e8a433e43ba0f55569d883f6f000000000000000000000000e42a6c980a3c9fb0e8945d699a27f9e471ace4eb0000000000000000000000007a0ab6be13855ffaa592cc5bcecba5628849c5c70000000000000000000000009d386325330ff9565821232435c67b253776fed900000000000000000000000045c719c91cdf2436ab699e7401e41fdf049e7e60000000000000000000000000d81a08a24cde557d2bd9cdd4033922be7d5cc3bb000000000000000000000000fc455cd4f6cee49288cb4e027e6782b409edb30c00000000000000000000000013fc306ca025f52fb7f5af8a98bd8760c252916f00000000000000000000000025f7e265ebd9e5f5fbee5da2a4f0fc8882c4f5f8000000000000000000000000c19621892d8ee431869324556e17051c378d2890000000000000000000000000377a3a71309ca5cb23d319baf64de92a154103ad0000000000000000000000007efb596e6958e33c7d74ab73d5aa4817ff58d182000000000000000000000000bd773880a0a06dc937fdef3b1b8e89623d1b206c000000000000000000000000a1922bd5ba2712f69501182612faaa15ca03604f000000000000000000000000ad1ca5603335ac4b05ce62b4303ee884ffde775100000000000000000000000047c7abbd2a4e4aaed5f782e01057fd62c3e1cc490000000000000000000000006a0cc5056e775e3c30ac186eeace625db6f386ec000000000000000000000000c76aed5faa6d4f92836505a9d206e84aa855702a0000000000000000000000003fc9b78015cfdc24d1f8fa8cfec69e15cb47d47a0000000000000000000000005c357a5ee9605f880fbbf6d9aefbb70c2622622500000000000000000000000050b4d75c959361c982643d1758e250f43c1b34c600000000000000000000000038566bad6c0c22986c451a76301f38b31555c952000000000000000000000000e1b54db8553c98414f23a37e6c32a956efc1d065000000000000000000000000c7e8921d5ed0665df082d1a4703fe401aa38024f000000000000000000000000c7971d9d68fec098576f689ddb546f24e5eeb742000000000000000000000000ba3214161617dee3311ebf9f32a4c4d20bb5ba6d0000000000000000000000004b40239453b529f2430dea36b8fe3fe4c4f08a2b00000000000000000000000009ca4dfc81e6d2afbc9a928d4086c73571d801a80000000000000000000000001dc87a873176ce0918e62d637ce1b3d1187f5a670000000000000000000000003010d580f87c864c13f81c734f110d37d8e3360c000000000000000000000000666ff1163aba759d1eaafe046e002740637050a6000000000000000000000000b9b4080ee5e800e041e9d2983b027affc0a18ee5000000000000000000000000184583ebd702bae8fbc3d3bb91b7d5f7dff37cc9000000000000000000000000d65185f1d1bb39e2032f2e8098694c84e4dc2faa0000000000000000000000005ea169c1170609d3c293c81c68e6dd3a1c94be1b000000000000000000000000c106721fd730c7e249eb06d98c23770fad2960c000000000000000000000000051adbc10757512b235016a73f2800d6a2ee1153e000000000000000000000000ea764bd87153240a0b2bdea5d84aa51da25438ef000000000000000000000000595228604281feffc818c4ed3e969f73d83042bc000000000000000000000000e777b5fd3fd9e3c857d07f8640cd0215c1117bbc000000000000000000000000613fc42719284bdc058d41e592abec76ca75f6ba0000000000000000000000004671cb82243c8eee5c43690ea50331de0433c1cf0000000000000000000000009bada0378d056b9e2011b7282f4ff2582a86d868000000000000000000000000cb3ee425f8d841366a115ba4e8c1be7c0f9314c100000000000000000000000049059f3d8a9629a02d976b02e2710b8e0aea809a0000000000000000000000002b28bc4575529d7e321606a7417ad5367160e8b4000000000000000000000000b92bf70e8fbce2134ed02d91143d6869a056ecbc000000000000000000000000a276d4959c28546546b8fef6ba745149c76c9dff0000000000000000000000007acc1dff427c7b4022cd5bc2dd831d14b0320442000000000000000000000000d329b2c1c8de4f77f60d7dc2cc18c749479cb7ce0000000000000000000000003542982906984412ade912688a86d5610c9ab05b000000000000000000000000e713a305e3428be428483ef6cbbdc0a99258b456000000000000000000000000338fa44629465aa93f7b1974288224f566984eb6000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xd1648045a13475c5f82df04bd9171f2d8833c5fc8db4dad3e6bab78daa3613d6\",\n          \"blockNumber\": \"0x15fb2b1\",\n          \"blockTimestamp\": \"0x688d2faf\",\n          \"transactionHash\": \"0x5741bc76b1e6f8b171253c030f2a2c9668948998daf941f3612fdc4a5d95eb99\",\n          \"transactionIndex\": \"0xf7\",\n          \"logIndex\": \"0x248\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xa891b32937863228a473d0225659eb4f05c434a880a3b2bdada293513d40d8000000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xd1648045a13475c5f82df04bd9171f2d8833c5fc8db4dad3e6bab78daa3613d6\",\n          \"blockNumber\": \"0x15fb2b1\",\n          \"blockTimestamp\": \"0x688d2faf\",\n          \"transactionHash\": \"0x5741bc76b1e6f8b171253c030f2a2c9668948998daf941f3612fdc4a5d95eb99\",\n          \"transactionIndex\": \"0xf7\",\n          \"logIndex\": \"0x249\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000004000000000000000000000000000440000000000002000000000000000000000000040000000120000000000000000000000004000000000000000000000000000000000000000000000008000000000002000000000400000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000100000000000000000000100000020000000000000000000004000040000000000800000000000000008000000000000000000000000000000000000000000000000000001000080000000000000000000000000000000000000400000000000000000000000000004000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x5741bc76b1e6f8b171253c030f2a2c9668948998daf941f3612fdc4a5d95eb99\",\n      \"transactionIndex\": \"0xf7\",\n      \"blockHash\": \"0xd1648045a13475c5f82df04bd9171f2d8833c5fc8db4dad3e6bab78daa3613d6\",\n      \"blockNumber\": \"0x15fb2b1\",\n      \"gasUsed\": \"0x46fa0\",\n      \"effectiveGasPrice\": \"0x12f86c95\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1754083249,\n  \"chain\": 1,\n  \"commit\": \"1fa78b1\"\n}"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/records/ArbitrumExecuteRecovery.s.sol/1/run-1754083348.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xb5cd64ff10c070e88ef64622c74d56a24af83f7709e764ea1ccdd9541587a55a\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881\",\n        \"5000000000000000\",\n        \"0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001ac4679b6ded00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000007735940000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000acc335dfc2389c30ba186648a74723efae1eb7db000000000000000000000000f4b5c3be7d9d3c96151354c16267b7f0c000730b000000000000000000000000cb71a8f2387fb6250c445939b61243f0be2f345a00000000000000000000000059a327060047aee4fec76f08f687d0fbae5d8821000000000000000000000000db39067dcf7defc9924ffe2858ec1cf3b807e69f0000000000000000000000007a5d92137382ec470b5311dc98feaf6b3765952c0000000000000000000000005f73a750ee8a89d4bcda67a5614638c0f76306540000000000000000000000005ba79df032756e4ebd62a7b9943f20ebe7c1011000000000000000000000000029cd744301308d23066169da6bb1d50ec6cb23b9000000000000000000000000eca535e24b33d41c76adac6454723eb50ae650ac000000000000000000000000f3e46d3de660132c97892dc301d8c9f559bd821b00000000000000000000000011c613bb14d81adf870f6b9fd9d8355ce353ca210000000000000000000000000d87f0a041e0f203a44e08d70b67725ec16db4550000000000000000000000009f793eddfd0af484cd9cf6205be5f7f14a7110a400000000000000000000000096a0030c410b9eec033676e9ad205b658036963a0000000000000000000000000e6c6653d2178b3da85d5a4088adf51bed0ea344000000000000000000000000a325651d5d18953a327297a30fbe3240513fcce2000000000000000000000000cb56ce76812eb20bc165b9275ec39857237597070000000000000000000000008adb5562647942886bfd2dfc215f717a3c019a6c000000000000000000000000f690cdbfb7546deedd96fa937526ddfc87a3003f000000000000000000000000e9bf5cc4b02213308bb47fa7d5c4228a34214e9700000000000000000000000096aee4744ad5163d948247c71f885e5b901cf85f0000000000000000000000009f6fade63aba9fe7fc246466051e86e44c1afe270000000000000000000000006d973c0d297a3b6ce0aaad2defa2120490ac81ad0000000000000000000000007ef38004cd4a990136b55ca791a02853e7df2182000000000000000000000000226924749df696840b09b7e588a70c13815c37e100000000000000000000000010103d79ac194eb0c4cc75742bda65c18dff335b00000000000000000000000040379bf7c24fd4c84d980c306f25043eb13fd222000000000000000000000000cf31f6d1811fd4d9664f7e299cd5691928f9712e0000000000000000000000005f9ef2dfe7f11c9929db93c38c7cd1aecb9373dc0000000000000000000000006a2360e5819125dbd2ec3fea504ebab838e5e1cf0000000000000000000000001288134ef88a2c6b042b08dcaa4889646f6ee8d400000000000000000000000055834b08368c0b9fbced31f69ec0b6e35aa8ce710000000000000000000000006ddc3eaf80d67abaf17d72ccff71e06f958cbf6700000000000000000000000095b4aaac2f5cfef54f5277147140cfdde15b8a36000000000000000000000000530c9c58549b4abfd74e24bd876ce983536001bb0000000000000000000000007fcc8be7cbfb799cdc2162f1c6b1b1c813a1fa5c000000000000000000000000a98405519353df4616cd34949f75c3a7f3d2da7b000000000000000000000000f418849308e455f856d9b22bfee29e0783bad9210000000000000000000000006858c3ed70e40279e60592f55c680243434b75d60000000000000000000000002700ae5779d5b5a549ad89149656af4394cc08ba0000000000000000000000000737e8e41a9f4f1c5c24f305733eecc40b00bbd8000000000000000000000000f6f2778d09efccd1f8e6423a22dbee8f9c75ddc5000000000000000000000000a5f225ddb3a93937f39dd2819463ff6e27218c10000000000000000000000000cc5b3ac632f8690b3c87ff921fc0196976736584000000000000000000000000d7798a6b17b00484183fabe01451dd25703cea9100000000000000000000000094eb34008b36a981a03b5b40df09f8a6d4c8d135000000000000000000000000eb09ff0239c135c1b2eda6d6dfbf5ac94276b651000000000000000000000000c47d9828ea3bf950680d7227a4d498c5a8785ddc000000000000000000000000bcbf79e6190579267f3b265c05ad9760905199f0000000000000000000000000492828bd90d503863c74fcb05765d207cfeebea50000000000000000000000002e96a32546ac73192fdb9bce2a95926c91f1f4e0000000000000000000000000ecec066ac76f02590dd7ff6201f556e6f079d257000000000000000000000000c462bf6cd158e3301dc1bcdb11f48107f0ea8c82000000000000000000000000e1eb555e3c7ebbcac3f92e0520a828bac8e90a1b00000000000000000000000094424ee28fb7923f2a14bf663461e71ca79b6cfb0000000000000000000000001795dac5061d0a2184e447860f9dfee1c6bd31b8000000000000000000000000f4af0314a06ea7376da5bdecc33f6f9800f1ae28000000000000000000000000ab548f756bc06637fcb88aaf5f6b393848bed60300000000000000000000000056597276ec74bede779f0e0ea8f4517c91c6e41d0000000000000000000000000dc2af2ac013d4082384c3403e4df531466236390000000000000000000000000bd5ddea382e8d8d2c1d62a565067f519d4b5d0d000000000000000000000000d8f6cfe5133d1f44fd39b7bbe314c6b50811d77b00000000000000000000000035e7444a2fa9719f21fc7037a12df517fa985f200000000000000000000000007836547f7109f79d0add56f3225262aebf1cbbc60000000000000000000000008a51ac0bf2f0bbfb137f6463f3ba385c4e971a28000000000000000000000000e4ab7e16ef9bda7f5fd2e39138a92c78f59f06ad000000000000000000000000a0680aaaa7fddb57a9f22a5c2bf18603d4c47f22000000000000000000000000ad8cfe9b7bb518234415eebb601d2c170866357b00000000000000000000000011e7c5caa6dd51649dba8667b2edbd0ef65ca5b900000000000000000000000013c5dc21be92d96c69b154eb1beb24dd8fe8d15c000000000000000000000000656a67fb456ae9a877c412ae70ec264edd2751f8000000000000000000000000eedbaae668f3f84ea398b4a3d3263eb34677608c000000000000000000000000aef0e114690203f5baa14ee7bd55954bdfb852a30000000000000000000000005bc69c6576b9a3ceede457637d43272f050e709e0000000000000000000000003c4b41cb2805c544cb2d7760f2b81b89f2d556320000000000000000000000008de80e5256555e49e8ec8e126a2a5cc459d76444000000000000000000000000a7a12a1d7000e40ecc18a62af456791b89cb2770000000000000000000000000ee23bfc7dff09e038be61f823dcd701b786a59b40000000000000000000000008bc62c0fd236e600db725c414ba220ee300089260000000000000000000000002f7a6a657832a868d5948c6e57833a834e044476000000000000000000000000d498f99bafd467c5d06556d433ba89e52686f74b0000000000000000000000002f95297410d1a7278a110280fcf8c0f38dd5fcfb0000000000000000000000001778d07c9f85ef0663e18c5bf8db042f70c3d08e000000000000000000000000a18ab38d0c8eace4869c43ff1e591d7eaffd3893000000000000000000000000ed363c3e7269f57b224f03f2b50bffa997942fdd000000000000000000000000cc1dbf73ffb6811a65661345e3d73e7b14e39b1b000000000000000000000000e83120006d095f311a7546c86be2879c7a6043500000000000000000000000007f9d2edb0a75bdc7d5360b06d33fdf21e08d0eaa000000000000000000000000a39ebc21130cc538161fb263bd34fe5cb1581b50000000000000000000000000c91af683bca743a05ce5c0feeda403039f6ea62a000000000000000000000000b5fa7a4025475780fa4d56e07755aee66301b92d000000000000000000000000bd58b1bd0effa1873c2f6aacf4398170454fd9bf000000000000000000000000afebeed0e4b14c0d3f949f55e5158308af5597930000000000000000000000008d308cfd4c2dcf79b6eac010e20c5d7563aadb3c0000000000000000000000006d76153c524483f422b6d53192be2e60130e80c5000000000000000000000000b5489ba8c9c0f307f84ce722d28dfbadff04e4150000000000000000000000004e26fb3a0ca360b0ab813fa82a6679a197b4e33300000000000000000000000083f6f80495f6057a3a2985893ffbed9b57863d8c0000000000000000000000006080e863914e66e427998c6f4cdd72f990e648f0000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c68000000000000000000000000000000000000000000000000000000385fe5686c0430000000000000000000000000000000000000000000000000003691d6afc00000000000000000000000000000000000000000000000000000003632baef24eec0000000000000000000000000000000000000000000000000003609ddca264dc0000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000002fbf9bd9c80000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002b56943a5830d00000000000000000000000000000000000000000000000000027d312621300000000000000000000000000000000000000000000000000000027ca57357c00000000000000000000000000000000000000000000000000000027ca57357c0000000000000000000000000000000000000000000000000000002666c7eae6e74000000000000000000000000000000000000000000000000000254e2dd1dfc0400000000000000000000000000000000000000000000000000022ab5cd48e3ee000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd800000000000000000000000000000000000000000000000000000021c71c3b804bb000000000000000000000000000000000000000000000000000213047fe60800000000000000000000000000000000000000000000000000000206697785a0000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001ee031e74e3000000000000000000000000000000000000000000000000000001e9e05adebcc50000000000000000000000000000000000000000000000000001e65d080abf7f0000000000000000000000000000000000000000000000000001e4fe76e70f1d0000000000000000000000000000000000000000000000000001e4934cb0c1bf0000000000000000000000000000000000000000000000000001e2083dbb20000000000000000000000000000000000000000000000000000001e1460701a34c0000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001b57b087e0a410000000000000000000000000000000000000000000000000001a3bf8c06fe56000000000000000000000000000000000000000000000000000196a1cacafe3700000000000000000000000000000000000000000000000000019260eef10800000000000000000000000000000000000000000000000000000174d4c8c3d2c900000000000000000000000000000000000000000000000000016bcc41e900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xa847353a10bb93a3681338debcc3999690cf08be347e69f6d66c18eda5ff67cf050c7a08475fc915d770e18346c637af4019ca92644e8980e384748ac49effd31ca24a202b6f9949518dab29c6fed3a9a8b5196389c212a77977c34a9edbab89e838ae45c85973344449e9de31c134e0297db1fd90fabf96880a93558398c8241b1c44cabe2ee4231013439a761d9448426eec70b9d81ecb36f52077dfee21ecd0116a6e3bf32708c60e9cf0eb87d02531c7bd03ac4b47e8dc2af3f74cadab9c80e01b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x67cfe\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc698398810000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d600000000000000000000000000000000000000000000000000000000000001be4174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001ac4679b6ded00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000007735940000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000acc335dfc2389c30ba186648a74723efae1eb7db000000000000000000000000f4b5c3be7d9d3c96151354c16267b7f0c000730b000000000000000000000000cb71a8f2387fb6250c445939b61243f0be2f345a00000000000000000000000059a327060047aee4fec76f08f687d0fbae5d8821000000000000000000000000db39067dcf7defc9924ffe2858ec1cf3b807e69f0000000000000000000000007a5d92137382ec470b5311dc98feaf6b3765952c0000000000000000000000005f73a750ee8a89d4bcda67a5614638c0f76306540000000000000000000000005ba79df032756e4ebd62a7b9943f20ebe7c1011000000000000000000000000029cd744301308d23066169da6bb1d50ec6cb23b9000000000000000000000000eca535e24b33d41c76adac6454723eb50ae650ac000000000000000000000000f3e46d3de660132c97892dc301d8c9f559bd821b00000000000000000000000011c613bb14d81adf870f6b9fd9d8355ce353ca210000000000000000000000000d87f0a041e0f203a44e08d70b67725ec16db4550000000000000000000000009f793eddfd0af484cd9cf6205be5f7f14a7110a400000000000000000000000096a0030c410b9eec033676e9ad205b658036963a0000000000000000000000000e6c6653d2178b3da85d5a4088adf51bed0ea344000000000000000000000000a325651d5d18953a327297a30fbe3240513fcce2000000000000000000000000cb56ce76812eb20bc165b9275ec39857237597070000000000000000000000008adb5562647942886bfd2dfc215f717a3c019a6c000000000000000000000000f690cdbfb7546deedd96fa937526ddfc87a3003f000000000000000000000000e9bf5cc4b02213308bb47fa7d5c4228a34214e9700000000000000000000000096aee4744ad5163d948247c71f885e5b901cf85f0000000000000000000000009f6fade63aba9fe7fc246466051e86e44c1afe270000000000000000000000006d973c0d297a3b6ce0aaad2defa2120490ac81ad0000000000000000000000007ef38004cd4a990136b55ca791a02853e7df2182000000000000000000000000226924749df696840b09b7e588a70c13815c37e100000000000000000000000010103d79ac194eb0c4cc75742bda65c18dff335b00000000000000000000000040379bf7c24fd4c84d980c306f25043eb13fd222000000000000000000000000cf31f6d1811fd4d9664f7e299cd5691928f9712e0000000000000000000000005f9ef2dfe7f11c9929db93c38c7cd1aecb9373dc0000000000000000000000006a2360e5819125dbd2ec3fea504ebab838e5e1cf0000000000000000000000001288134ef88a2c6b042b08dcaa4889646f6ee8d400000000000000000000000055834b08368c0b9fbced31f69ec0b6e35aa8ce710000000000000000000000006ddc3eaf80d67abaf17d72ccff71e06f958cbf6700000000000000000000000095b4aaac2f5cfef54f5277147140cfdde15b8a36000000000000000000000000530c9c58549b4abfd74e24bd876ce983536001bb0000000000000000000000007fcc8be7cbfb799cdc2162f1c6b1b1c813a1fa5c000000000000000000000000a98405519353df4616cd34949f75c3a7f3d2da7b000000000000000000000000f418849308e455f856d9b22bfee29e0783bad9210000000000000000000000006858c3ed70e40279e60592f55c680243434b75d60000000000000000000000002700ae5779d5b5a549ad89149656af4394cc08ba0000000000000000000000000737e8e41a9f4f1c5c24f305733eecc40b00bbd8000000000000000000000000f6f2778d09efccd1f8e6423a22dbee8f9c75ddc5000000000000000000000000a5f225ddb3a93937f39dd2819463ff6e27218c10000000000000000000000000cc5b3ac632f8690b3c87ff921fc0196976736584000000000000000000000000d7798a6b17b00484183fabe01451dd25703cea9100000000000000000000000094eb34008b36a981a03b5b40df09f8a6d4c8d135000000000000000000000000eb09ff0239c135c1b2eda6d6dfbf5ac94276b651000000000000000000000000c47d9828ea3bf950680d7227a4d498c5a8785ddc000000000000000000000000bcbf79e6190579267f3b265c05ad9760905199f0000000000000000000000000492828bd90d503863c74fcb05765d207cfeebea50000000000000000000000002e96a32546ac73192fdb9bce2a95926c91f1f4e0000000000000000000000000ecec066ac76f02590dd7ff6201f556e6f079d257000000000000000000000000c462bf6cd158e3301dc1bcdb11f48107f0ea8c82000000000000000000000000e1eb555e3c7ebbcac3f92e0520a828bac8e90a1b00000000000000000000000094424ee28fb7923f2a14bf663461e71ca79b6cfb0000000000000000000000001795dac5061d0a2184e447860f9dfee1c6bd31b8000000000000000000000000f4af0314a06ea7376da5bdecc33f6f9800f1ae28000000000000000000000000ab548f756bc06637fcb88aaf5f6b393848bed60300000000000000000000000056597276ec74bede779f0e0ea8f4517c91c6e41d0000000000000000000000000dc2af2ac013d4082384c3403e4df531466236390000000000000000000000000bd5ddea382e8d8d2c1d62a565067f519d4b5d0d000000000000000000000000d8f6cfe5133d1f44fd39b7bbe314c6b50811d77b00000000000000000000000035e7444a2fa9719f21fc7037a12df517fa985f200000000000000000000000007836547f7109f79d0add56f3225262aebf1cbbc60000000000000000000000008a51ac0bf2f0bbfb137f6463f3ba385c4e971a28000000000000000000000000e4ab7e16ef9bda7f5fd2e39138a92c78f59f06ad000000000000000000000000a0680aaaa7fddb57a9f22a5c2bf18603d4c47f22000000000000000000000000ad8cfe9b7bb518234415eebb601d2c170866357b00000000000000000000000011e7c5caa6dd51649dba8667b2edbd0ef65ca5b900000000000000000000000013c5dc21be92d96c69b154eb1beb24dd8fe8d15c000000000000000000000000656a67fb456ae9a877c412ae70ec264edd2751f8000000000000000000000000eedbaae668f3f84ea398b4a3d3263eb34677608c000000000000000000000000aef0e114690203f5baa14ee7bd55954bdfb852a30000000000000000000000005bc69c6576b9a3ceede457637d43272f050e709e0000000000000000000000003c4b41cb2805c544cb2d7760f2b81b89f2d556320000000000000000000000008de80e5256555e49e8ec8e126a2a5cc459d76444000000000000000000000000a7a12a1d7000e40ecc18a62af456791b89cb2770000000000000000000000000ee23bfc7dff09e038be61f823dcd701b786a59b40000000000000000000000008bc62c0fd236e600db725c414ba220ee300089260000000000000000000000002f7a6a657832a868d5948c6e57833a834e044476000000000000000000000000d498f99bafd467c5d06556d433ba89e52686f74b0000000000000000000000002f95297410d1a7278a110280fcf8c0f38dd5fcfb0000000000000000000000001778d07c9f85ef0663e18c5bf8db042f70c3d08e000000000000000000000000a18ab38d0c8eace4869c43ff1e591d7eaffd3893000000000000000000000000ed363c3e7269f57b224f03f2b50bffa997942fdd000000000000000000000000cc1dbf73ffb6811a65661345e3d73e7b14e39b1b000000000000000000000000e83120006d095f311a7546c86be2879c7a6043500000000000000000000000007f9d2edb0a75bdc7d5360b06d33fdf21e08d0eaa000000000000000000000000a39ebc21130cc538161fb263bd34fe5cb1581b50000000000000000000000000c91af683bca743a05ce5c0feeda403039f6ea62a000000000000000000000000b5fa7a4025475780fa4d56e07755aee66301b92d000000000000000000000000bd58b1bd0effa1873c2f6aacf4398170454fd9bf000000000000000000000000afebeed0e4b14c0d3f949f55e5158308af5597930000000000000000000000008d308cfd4c2dcf79b6eac010e20c5d7563aadb3c0000000000000000000000006d76153c524483f422b6d53192be2e60130e80c5000000000000000000000000b5489ba8c9c0f307f84ce722d28dfbadff04e4150000000000000000000000004e26fb3a0ca360b0ab813fa82a6679a197b4e33300000000000000000000000083f6f80495f6057a3a2985893ffbed9b57863d8c0000000000000000000000006080e863914e66e427998c6f4cdd72f990e648f0000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c68000000000000000000000000000000000000000000000000000000385fe5686c0430000000000000000000000000000000000000000000000000003691d6afc00000000000000000000000000000000000000000000000000000003632baef24eec0000000000000000000000000000000000000000000000000003609ddca264dc0000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000002fbf9bd9c80000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002b56943a5830d00000000000000000000000000000000000000000000000000027d312621300000000000000000000000000000000000000000000000000000027ca57357c00000000000000000000000000000000000000000000000000000027ca57357c0000000000000000000000000000000000000000000000000000002666c7eae6e74000000000000000000000000000000000000000000000000000254e2dd1dfc0400000000000000000000000000000000000000000000000000022ab5cd48e3ee000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd800000000000000000000000000000000000000000000000000000021c71c3b804bb000000000000000000000000000000000000000000000000000213047fe60800000000000000000000000000000000000000000000000000000206697785a0000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001ee031e74e3000000000000000000000000000000000000000000000000000001e9e05adebcc50000000000000000000000000000000000000000000000000001e65d080abf7f0000000000000000000000000000000000000000000000000001e4fe76e70f1d0000000000000000000000000000000000000000000000000001e4934cb0c1bf0000000000000000000000000000000000000000000000000001e2083dbb20000000000000000000000000000000000000000000000000000001e1460701a34c0000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001b57b087e0a410000000000000000000000000000000000000000000000000001a3bf8c06fe56000000000000000000000000000000000000000000000000000196a1cacafe3700000000000000000000000000000000000000000000000000019260eef10800000000000000000000000000000000000000000000000000000174d4c8c3d2c900000000000000000000000000000000000000000000000000016bcc41e9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3a847353a10bb93a3681338debcc3999690cf08be347e69f6d66c18eda5ff67cf050c7a08475fc915d770e18346c637af4019ca92644e8980e384748ac49effd31ca24a202b6f9949518dab29c6fed3a9a8b5196389c212a77977c34a9edbab89e838ae45c85973344449e9de31c134e0297db1fd90fabf96880a93558398c8241b1c44cabe2ee4231013439a761d9448426eec70b9d81ecb36f52077dfee21ecd0116a6e3bf32708c60e9cf0eb87d02531c7bd03ac4b47e8dc2af3f74cadab9c80e01b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x27\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1353e3d\",\n      \"logs\": [\n        {\n          \"address\": \"0x8315177ab297ba92a06054ce80a67ed4dbd7ed3a\",\n          \"topics\": [\n            \"0x5e3c1311ea442664e8b1611bfabef659120ea7a0a2cfc0667700bebc69cbffe1\",\n            \"0x00000000000000000000000000000000000000000000000000000000001f7bc8\",\n            \"0x1577048d1e7b0d18cc25304e485377c6153721a7da592dcb4651b2a20875e257\"\n          ],\n          \"data\": \"0x0000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f000000000000000000000000000000000000000000000000000000000000000900000000000000000000000025646667cd30e52c0b458baaccb9fada7046f1676f98242784bdad37cf4efb43f9e8c3e319b8da17b6a220f748fbd6b3f6de1bea0000000000000000000000000000000000000000000000000000000012442e0700000000000000000000000000000000000000000000000000000000688d2fdf\",\n          \"blockHash\": \"0xcef6faf4fb105c6c853d506d65990827a9f4e1fe79df0cbcec34b00ff6065927\",\n          \"blockNumber\": \"0x15fb2b5\",\n          \"blockTimestamp\": \"0x688d2fdf\",\n          \"transactionHash\": \"0xb5cd64ff10c070e88ef64622c74d56a24af83f7709e764ea1ccdd9541587a55a\",\n          \"transactionIndex\": \"0xd1\",\n          \"logIndex\": \"0x297\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x4dbd4fc535ac27206064b68ffcf827b0a60bab3f\",\n          \"topics\": [\n            \"0xff64905f73a67fb594e0f940a8075a860db489ad991e032f48c81123eb52d60b\",\n            \"0x00000000000000000000000000000000000000000000000000000000001f7bc8\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000001aa400000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000025646667cd30e52c0b458baaccb9fada7046f16700000000000000000000000025646667cd30e52c0b458baaccb9fada7046f16700000000000000000000000000000000000000000000000000000000001e848000000000000000000000000000000000000000000000000000000000773594000000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000acc335dfc2389c30ba186648a74723efae1eb7db000000000000000000000000f4b5c3be7d9d3c96151354c16267b7f0c000730b000000000000000000000000cb71a8f2387fb6250c445939b61243f0be2f345a00000000000000000000000059a327060047aee4fec76f08f687d0fbae5d8821000000000000000000000000db39067dcf7defc9924ffe2858ec1cf3b807e69f0000000000000000000000007a5d92137382ec470b5311dc98feaf6b3765952c0000000000000000000000005f73a750ee8a89d4bcda67a5614638c0f76306540000000000000000000000005ba79df032756e4ebd62a7b9943f20ebe7c1011000000000000000000000000029cd744301308d23066169da6bb1d50ec6cb23b9000000000000000000000000eca535e24b33d41c76adac6454723eb50ae650ac000000000000000000000000f3e46d3de660132c97892dc301d8c9f559bd821b00000000000000000000000011c613bb14d81adf870f6b9fd9d8355ce353ca210000000000000000000000000d87f0a041e0f203a44e08d70b67725ec16db4550000000000000000000000009f793eddfd0af484cd9cf6205be5f7f14a7110a400000000000000000000000096a0030c410b9eec033676e9ad205b658036963a0000000000000000000000000e6c6653d2178b3da85d5a4088adf51bed0ea344000000000000000000000000a325651d5d18953a327297a30fbe3240513fcce2000000000000000000000000cb56ce76812eb20bc165b9275ec39857237597070000000000000000000000008adb5562647942886bfd2dfc215f717a3c019a6c000000000000000000000000f690cdbfb7546deedd96fa937526ddfc87a3003f000000000000000000000000e9bf5cc4b02213308bb47fa7d5c4228a34214e9700000000000000000000000096aee4744ad5163d948247c71f885e5b901cf85f0000000000000000000000009f6fade63aba9fe7fc246466051e86e44c1afe270000000000000000000000006d973c0d297a3b6ce0aaad2defa2120490ac81ad0000000000000000000000007ef38004cd4a990136b55ca791a02853e7df2182000000000000000000000000226924749df696840b09b7e588a70c13815c37e100000000000000000000000010103d79ac194eb0c4cc75742bda65c18dff335b00000000000000000000000040379bf7c24fd4c84d980c306f25043eb13fd222000000000000000000000000cf31f6d1811fd4d9664f7e299cd5691928f9712e0000000000000000000000005f9ef2dfe7f11c9929db93c38c7cd1aecb9373dc0000000000000000000000006a2360e5819125dbd2ec3fea504ebab838e5e1cf0000000000000000000000001288134ef88a2c6b042b08dcaa4889646f6ee8d400000000000000000000000055834b08368c0b9fbced31f69ec0b6e35aa8ce710000000000000000000000006ddc3eaf80d67abaf17d72ccff71e06f958cbf6700000000000000000000000095b4aaac2f5cfef54f5277147140cfdde15b8a36000000000000000000000000530c9c58549b4abfd74e24bd876ce983536001bb0000000000000000000000007fcc8be7cbfb799cdc2162f1c6b1b1c813a1fa5c000000000000000000000000a98405519353df4616cd34949f75c3a7f3d2da7b000000000000000000000000f418849308e455f856d9b22bfee29e0783bad9210000000000000000000000006858c3ed70e40279e60592f55c680243434b75d60000000000000000000000002700ae5779d5b5a549ad89149656af4394cc08ba0000000000000000000000000737e8e41a9f4f1c5c24f305733eecc40b00bbd8000000000000000000000000f6f2778d09efccd1f8e6423a22dbee8f9c75ddc5000000000000000000000000a5f225ddb3a93937f39dd2819463ff6e27218c10000000000000000000000000cc5b3ac632f8690b3c87ff921fc0196976736584000000000000000000000000d7798a6b17b00484183fabe01451dd25703cea9100000000000000000000000094eb34008b36a981a03b5b40df09f8a6d4c8d135000000000000000000000000eb09ff0239c135c1b2eda6d6dfbf5ac94276b651000000000000000000000000c47d9828ea3bf950680d7227a4d498c5a8785ddc000000000000000000000000bcbf79e6190579267f3b265c05ad9760905199f0000000000000000000000000492828bd90d503863c74fcb05765d207cfeebea50000000000000000000000002e96a32546ac73192fdb9bce2a95926c91f1f4e0000000000000000000000000ecec066ac76f02590dd7ff6201f556e6f079d257000000000000000000000000c462bf6cd158e3301dc1bcdb11f48107f0ea8c82000000000000000000000000e1eb555e3c7ebbcac3f92e0520a828bac8e90a1b00000000000000000000000094424ee28fb7923f2a14bf663461e71ca79b6cfb0000000000000000000000001795dac5061d0a2184e447860f9dfee1c6bd31b8000000000000000000000000f4af0314a06ea7376da5bdecc33f6f9800f1ae28000000000000000000000000ab548f756bc06637fcb88aaf5f6b393848bed60300000000000000000000000056597276ec74bede779f0e0ea8f4517c91c6e41d0000000000000000000000000dc2af2ac013d4082384c3403e4df531466236390000000000000000000000000bd5ddea382e8d8d2c1d62a565067f519d4b5d0d000000000000000000000000d8f6cfe5133d1f44fd39b7bbe314c6b50811d77b00000000000000000000000035e7444a2fa9719f21fc7037a12df517fa985f200000000000000000000000007836547f7109f79d0add56f3225262aebf1cbbc60000000000000000000000008a51ac0bf2f0bbfb137f6463f3ba385c4e971a28000000000000000000000000e4ab7e16ef9bda7f5fd2e39138a92c78f59f06ad000000000000000000000000a0680aaaa7fddb57a9f22a5c2bf18603d4c47f22000000000000000000000000ad8cfe9b7bb518234415eebb601d2c170866357b00000000000000000000000011e7c5caa6dd51649dba8667b2edbd0ef65ca5b900000000000000000000000013c5dc21be92d96c69b154eb1beb24dd8fe8d15c000000000000000000000000656a67fb456ae9a877c412ae70ec264edd2751f8000000000000000000000000eedbaae668f3f84ea398b4a3d3263eb34677608c000000000000000000000000aef0e114690203f5baa14ee7bd55954bdfb852a30000000000000000000000005bc69c6576b9a3ceede457637d43272f050e709e0000000000000000000000003c4b41cb2805c544cb2d7760f2b81b89f2d556320000000000000000000000008de80e5256555e49e8ec8e126a2a5cc459d76444000000000000000000000000a7a12a1d7000e40ecc18a62af456791b89cb2770000000000000000000000000ee23bfc7dff09e038be61f823dcd701b786a59b40000000000000000000000008bc62c0fd236e600db725c414ba220ee300089260000000000000000000000002f7a6a657832a868d5948c6e57833a834e044476000000000000000000000000d498f99bafd467c5d06556d433ba89e52686f74b0000000000000000000000002f95297410d1a7278a110280fcf8c0f38dd5fcfb0000000000000000000000001778d07c9f85ef0663e18c5bf8db042f70c3d08e000000000000000000000000a18ab38d0c8eace4869c43ff1e591d7eaffd3893000000000000000000000000ed363c3e7269f57b224f03f2b50bffa997942fdd000000000000000000000000cc1dbf73ffb6811a65661345e3d73e7b14e39b1b000000000000000000000000e83120006d095f311a7546c86be2879c7a6043500000000000000000000000007f9d2edb0a75bdc7d5360b06d33fdf21e08d0eaa000000000000000000000000a39ebc21130cc538161fb263bd34fe5cb1581b50000000000000000000000000c91af683bca743a05ce5c0feeda403039f6ea62a000000000000000000000000b5fa7a4025475780fa4d56e07755aee66301b92d000000000000000000000000bd58b1bd0effa1873c2f6aacf4398170454fd9bf000000000000000000000000afebeed0e4b14c0d3f949f55e5158308af5597930000000000000000000000008d308cfd4c2dcf79b6eac010e20c5d7563aadb3c0000000000000000000000006d76153c524483f422b6d53192be2e60130e80c5000000000000000000000000b5489ba8c9c0f307f84ce722d28dfbadff04e4150000000000000000000000004e26fb3a0ca360b0ab813fa82a6679a197b4e33300000000000000000000000083f6f80495f6057a3a2985893ffbed9b57863d8c0000000000000000000000006080e863914e66e427998c6f4cdd72f990e648f0000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c68000000000000000000000000000000000000000000000000000000385fe5686c0430000000000000000000000000000000000000000000000000003691d6afc00000000000000000000000000000000000000000000000000000003632baef24eec0000000000000000000000000000000000000000000000000003609ddca264dc0000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000002fbf9bd9c80000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002b56943a5830d00000000000000000000000000000000000000000000000000027d312621300000000000000000000000000000000000000000000000000000027ca57357c00000000000000000000000000000000000000000000000000000027ca57357c0000000000000000000000000000000000000000000000000000002666c7eae6e74000000000000000000000000000000000000000000000000000254e2dd1dfc0400000000000000000000000000000000000000000000000000022ab5cd48e3ee000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd800000000000000000000000000000000000000000000000000000021c71c3b804bb000000000000000000000000000000000000000000000000000213047fe60800000000000000000000000000000000000000000000000000000206697785a0000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001ee031e74e3000000000000000000000000000000000000000000000000000001e9e05adebcc50000000000000000000000000000000000000000000000000001e65d080abf7f0000000000000000000000000000000000000000000000000001e4fe76e70f1d0000000000000000000000000000000000000000000000000001e4934cb0c1bf0000000000000000000000000000000000000000000000000001e2083dbb20000000000000000000000000000000000000000000000000000001e1460701a34c0000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001b57b087e0a410000000000000000000000000000000000000000000000000001a3bf8c06fe56000000000000000000000000000000000000000000000000000196a1cacafe3700000000000000000000000000000000000000000000000000019260eef10800000000000000000000000000000000000000000000000000000174d4c8c3d2c900000000000000000000000000000000000000000000000000016bcc41e9000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xcef6faf4fb105c6c853d506d65990827a9f4e1fe79df0cbcec34b00ff6065927\",\n          \"blockNumber\": \"0x15fb2b5\",\n          \"blockTimestamp\": \"0x688d2fdf\",\n          \"transactionHash\": \"0xb5cd64ff10c070e88ef64622c74d56a24af83f7709e764ea1ccdd9541587a55a\",\n          \"transactionIndex\": \"0xd1\",\n          \"logIndex\": \"0x298\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x104c57253fd9565b78325c2320bdff26563160a84db0ba587697a89de8544faf0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xcef6faf4fb105c6c853d506d65990827a9f4e1fe79df0cbcec34b00ff6065927\",\n          \"blockNumber\": \"0x15fb2b5\",\n          \"blockTimestamp\": \"0x688d2fdf\",\n          \"transactionHash\": \"0xb5cd64ff10c070e88ef64622c74d56a24af83f7709e764ea1ccdd9541587a55a\",\n          \"transactionIndex\": \"0xd1\",\n          \"logIndex\": \"0x299\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000440000000000002040000000000000000000000000000000120000100000000000000000000000000000000000000000000000000000000000000000008000000000002000000000400000000000000000000000000000000000000000000000080000200000000000000000000000000000000010000000000000000000000000000000100000020000000000000000000804001040000000000000000000000000008000000000000000000000000000000000000000000000000000001000080000000000000000000000000000000000000000000000000000000000000000004000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xb5cd64ff10c070e88ef64622c74d56a24af83f7709e764ea1ccdd9541587a55a\",\n      \"transactionIndex\": \"0xd1\",\n      \"blockHash\": \"0xcef6faf4fb105c6c853d506d65990827a9f4e1fe79df0cbcec34b00ff6065927\",\n      \"blockNumber\": \"0x15fb2b5\",\n      \"gasUsed\": \"0x46fc4\",\n      \"effectiveGasPrice\": \"0x129b911f\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1754083348,\n  \"chain\": 1,\n  \"commit\": \"1fa78b1\"\n}"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/records/ArbitrumExecuteRecovery.s.sol/1/run-1754083422.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xee49aa24902701a95b48a4bb51aa2716f9664c3109adfe83009ed7e88b488220\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881\",\n        \"5000000000000000\",\n        \"0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001904679b6ded00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000077359400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000017c4501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000005d0000000000000000000000003f16dad4e21b353ede9bfedd29a4c1c07352e6e3000000000000000000000000617af82a0420bdb424299159f0f3b2cf7eb2a6b5000000000000000000000000cf432b0da6b77f0357e44d5dd5f041a2715ce33000000000000000000000000025f012acbcba769b3947552e5408d241b8aaddd80000000000000000000000007eb651755e4ae913ef7952f6f334e3d07e518b8a0000000000000000000000000bfca95e97b1557e9d4fdc9297a838ff54efb6d000000000000000000000000064f5de151ca43182d4b1b978c1864a4710920965000000000000000000000000a987e980361f11e1f671e6f559009de958fdb08c0000000000000000000000003ba4f2d808020d4e12599b2dd0822478cdbe5fae000000000000000000000000d4f5bfe8efe9e8f9908c9e448d2cbea5fef9090500000000000000000000000048c818a1b48d1287e81bf4ee8eecd2e0f7c2a3e10000000000000000000000001e31f97b5b35da0932bcfa8406a1d10b171e579d000000000000000000000000fd27810e3be0a0431750a6be8f8dc6c156b9d74300000000000000000000000067101435d1c6fc8570c6f1e5094692771eb3a68c000000000000000000000000c84c03c6cd89ce484790df99a78aa4127d7369ad000000000000000000000000a61abd3797558b1cffabc6fc7ac0a2ada09a3db700000000000000000000000048368579c5e4c0d14d5dc38c37daf4bf2461fcb80000000000000000000000001a0a2244637a8fb376e8a129064066fcd7149506000000000000000000000000e7c65dbe91e4351cf18a1ad7e3e8a832b11447e6000000000000000000000000ebf5e91345343e110b06d0066cf83524f04475110000000000000000000000004f6bb5d34bc28181c4ecc873c2c3e26bfbdbeec9000000000000000000000000f9e96b3190e5ae39fa8ea07c1e85d79e6e2671ac0000000000000000000000001b2d1f0540b091d74e6da9906544aecc746dfb8c000000000000000000000000b8e97da197da0c19e6c93519fadd5d3e692cb924000000000000000000000000543948999989294cfb74cba5a7d9f501a84a12d7000000000000000000000000c7f2886d1ac8e743a3a45aaefffeea3ca21dff21000000000000000000000000b33ebb0f3507557738fec4ad87947d68981a7b4000000000000000000000000047113d8eb18ef6462662b53214134cad0cb0d9d9000000000000000000000000d26cba91cfe85545902e54d313f699aaf1d9cf2b000000000000000000000000f99bae1788861dbd31c1377b4d729f3035dcf6e2000000000000000000000000af0457138146e7d6c9c6f17685e33076b7a5a48e000000000000000000000000090097fccc2be12e19e4e65ac159cd76c16455ca0000000000000000000000001896c0abeb1f6cee4d78b5544e34cf0bdd336c450000000000000000000000008936a379cce9d9524b6a1e0d0a7e077c47df5c1a000000000000000000000000c0749b740cae8768b89547fedbc33eb45afc236c000000000000000000000000159e79bbf88661616936f8b3c4cf332efb41a20600000000000000000000000011bfdff29073dd89ced5a80ebe24a84b74928fcc000000000000000000000000e705b4c6fcddbe8d3b9f641138212f39f7a816fd0000000000000000000000004a3d2b1796c4cca1f3e4d37542d4773200e5474c000000000000000000000000d5454f9505f2374d5f1f1ed81528d6d26fae932200000000000000000000000089a443f05c5e7f1b0faf221db0868f87d63721c70000000000000000000000007183d6b75f7f706a93cfdf2978b10d1e85c800a00000000000000000000000001eab1f0f22c8421b7299240fa0d5fd75ef612624000000000000000000000000d7fcedb314053386c6a268d53a64c678e3c782b2000000000000000000000000f1a8238497c189fdd723308f13b5bc5689ef5e57000000000000000000000000f1e3d1ee3ea0f355291feafa95568d3f2f7cac58000000000000000000000000c0cd3824d1fb455b1871b0248248079db7e0c79e000000000000000000000000b066d85234a4a837f1045ef66b6f67aeb0a9dbf600000000000000000000000071193d5b9d465ef47e633ab7e04726e8c3b300000000000000000000000000008171d002fcde510ff998a13036076b16a8761876000000000000000000000000e5239c9b7a156b83384a82ccd147978bb4d30a56000000000000000000000000649229717e268cba9a0eecb5c671c83aad36cccf0000000000000000000000008e53709a3f0d16019fcc3253acec8ad0f3e9de1c000000000000000000000000885a5b39c72849fd3098653a5f941a8818ad2710000000000000000000000000dba62cba66bf4296208552d0495a0f05fed4214d0000000000000000000000005607ea3cdf7fc617d44fa7ce4bbd540ab6024b61000000000000000000000000df1e0be7c2c8ba46b9fd94edc12621501cc9409b00000000000000000000000041a5b533df057e141736a2f8701c9976b55fad6d00000000000000000000000054c5eb5d368e6aa7afdb169c18052576bbcac916000000000000000000000000efcbceb9c6728c62cb813d5fca9081b8c23ba57800000000000000000000000053db34bbbc682f05b423bb89934884e77cb88b1300000000000000000000000099584423abb4d430ed1cbb902c01268299ff25ee00000000000000000000000010d00f8fced0fa076e0b2885f26abf7a1abcd7b600000000000000000000000002a9db2e093067f4c00a2c583073375ba218f7bb000000000000000000000000c948268182b7b515b662e154ed47f42b9df2db1f000000000000000000000000e2265bd25235221852bd2dd59105cc45f302e2e0000000000000000000000000878f2cfd94d7ed4e0468865a72a8ae9a0e9590f60000000000000000000000005aeca0d8fd7b5ea72b95a4a2e8df63f7a3e76e16000000000000000000000000e544d807cf789ebce987da5431a4376d3376b872000000000000000000000000ed2bb379f793e3b8484bf7818e25b5aecfc252be0000000000000000000000000761282e8173a69e8fabd7876ac54060e4d1b661000000000000000000000000e635cd5b39774dbe60e1f1519fc54244971c00e40000000000000000000000008dbfa2109318704a0e6c1683bf39c4275ee7b7ce0000000000000000000000006d26571a216dc81dbbb423ed095e592ca6304e93000000000000000000000000c7445cd6cc8303d4a2da4f785f5c37856ff6fc36000000000000000000000000d28bd1ff29772f8887f4240bc1691d00e7cf9dc2000000000000000000000000f6040b4bbb2d768ec77b54edbf5c88ccf8dcadeb000000000000000000000000613ddc948ac426ae9ee663a56190b4b0a5f3247400000000000000000000000008584c687c8885a55342e22b82103068fcab6b04000000000000000000000000c3b4c774080e9133fc2829894def07f66999e7f7000000000000000000000000c4dd1ea8729132aaebe2d41aa5c28dfb1cb94504000000000000000000000000c10f42d279935f14d1bd1e944544ccb0f37ae039000000000000000000000000f51fc6c0cad84c2826aa425bf2bb8ea4a0126678000000000000000000000000b49b1f49a1a0fcb3c4db2d0f045ea86b54a4c42d000000000000000000000000e950d7e5066c0412d8416bac74c45a499ef8b5fd000000000000000000000000740478f00ea1c4fe7d7567e256b6dd0642a733e9000000000000000000000000a1980770d2277ce0ffa0ff2c2b7b19d59ac5f69e00000000000000000000000092e2c20965ccff25f398512efc37af3b8021dfb7000000000000000000000000a8e8b427766cb8febe4fb07b31c43ea86d19d49e0000000000000000000000005d9fc8c2fc0b617643fbfb7c5e27839261475d4e000000000000000000000000d5c01e60ee9a8f5e5968dd95a5d1133515233707000000000000000000000000490fc308d8dbcc067fa1f1fa2d755819824b4eb5000000000000000000000000539ec54b911eb291830167e337b82c8d41e643b3000000000000000000000000000000000000000000000000000000000000005d00000000000000000000000000000000000000000000000000016bcc41e9000000000000000000000000000000000000000000000000000000016bcc41e900000000000000000000000000000000000000000000000000000001614a871cb03600000000000000000000000000000000000000000000000000014ce96a75b0fd0000000000000000000000000000000000000000000000000001476b081e800000000000000000000000000000000000000000000000000000013e52b9abe00000000000000000000000000000000000000000000000000000013d50488404000000000000000000000000000000000000000000000000000001353a6b394000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec00000000000000000000000000000000000000000000000000000010b75b70f06b10000000000000000000000000000000000000000000000000001029b10b208000000000000000000000000000000000000000000000000000000fd79e67fb8000000000000000000000000000000000000000000000000000000f5904616e0000000000000000000000000000000000000000000000000000000e5064893f36a0000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e2eb302619ad0000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b54c75e3b8000000000000000000000000000000000000000000000000000000ae872781fe360000000000000000000000000000000000000000000000000000aaaf18d2324d0000000000000000000000000000000000000000000000000000a7183f1e3d0000000000000000000000000000000000000000000000000000007421e5c980b300000000000000000000000000000000000000000000000000006d23ad5f8000000000000000000000000000000000000000000000000000000060f607bdd3c900000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a4000000000000000000000000000000000000000000000000000000030704e9551de00000000000000000000000000000000000000000000000000003029d8880c4100000000000000000000000000000000000000000000000000001ebf37f08e200000000000000000000000000000000000000000000000000000181892a528bb000000000000000000000000000000000000000000000000000016e690a4ab40000000000000000000000000000000000000000000000000000015d3ef798000000000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000010938190fe00000000000000000000000000000000000000000000000000000009b2a06249dd000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a00000000000000000000000000000000000000000000000000000000492b951ea90000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a510000000000000000000000000000000000000000000000000000000002e90edd000000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e80000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x087a7fa412e561b1c42307d0505184b8bb4652d5ac8572f0f919d91eef64c23a6455a131bef9cf149447417ff0026062113e2fad540da6661340be80226f39bc1c39b3bd0b8b8e47f500ce1d4ecaf386a97a49f82fe4c85092b3b3baf9ce6555587ebb82d40945dcdf04808349f60d4b6fdc1e4e421eb41a1b63cede456a2f92161cf518031319c15069b7a7b2e59d08299c446072d321bf33b063f913dc83f83010241c9321bbce79f7bc4bc24dea4e2af22185e7cb8344d62717bfc22dee8fc5551b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x5e9a9\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc698398810000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ba00000000000000000000000000000000000000000000000000000000000001a24174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001904679b6ded00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000077359400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000017c4501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000005d0000000000000000000000003f16dad4e21b353ede9bfedd29a4c1c07352e6e3000000000000000000000000617af82a0420bdb424299159f0f3b2cf7eb2a6b5000000000000000000000000cf432b0da6b77f0357e44d5dd5f041a2715ce33000000000000000000000000025f012acbcba769b3947552e5408d241b8aaddd80000000000000000000000007eb651755e4ae913ef7952f6f334e3d07e518b8a0000000000000000000000000bfca95e97b1557e9d4fdc9297a838ff54efb6d000000000000000000000000064f5de151ca43182d4b1b978c1864a4710920965000000000000000000000000a987e980361f11e1f671e6f559009de958fdb08c0000000000000000000000003ba4f2d808020d4e12599b2dd0822478cdbe5fae000000000000000000000000d4f5bfe8efe9e8f9908c9e448d2cbea5fef9090500000000000000000000000048c818a1b48d1287e81bf4ee8eecd2e0f7c2a3e10000000000000000000000001e31f97b5b35da0932bcfa8406a1d10b171e579d000000000000000000000000fd27810e3be0a0431750a6be8f8dc6c156b9d74300000000000000000000000067101435d1c6fc8570c6f1e5094692771eb3a68c000000000000000000000000c84c03c6cd89ce484790df99a78aa4127d7369ad000000000000000000000000a61abd3797558b1cffabc6fc7ac0a2ada09a3db700000000000000000000000048368579c5e4c0d14d5dc38c37daf4bf2461fcb80000000000000000000000001a0a2244637a8fb376e8a129064066fcd7149506000000000000000000000000e7c65dbe91e4351cf18a1ad7e3e8a832b11447e6000000000000000000000000ebf5e91345343e110b06d0066cf83524f04475110000000000000000000000004f6bb5d34bc28181c4ecc873c2c3e26bfbdbeec9000000000000000000000000f9e96b3190e5ae39fa8ea07c1e85d79e6e2671ac0000000000000000000000001b2d1f0540b091d74e6da9906544aecc746dfb8c000000000000000000000000b8e97da197da0c19e6c93519fadd5d3e692cb924000000000000000000000000543948999989294cfb74cba5a7d9f501a84a12d7000000000000000000000000c7f2886d1ac8e743a3a45aaefffeea3ca21dff21000000000000000000000000b33ebb0f3507557738fec4ad87947d68981a7b4000000000000000000000000047113d8eb18ef6462662b53214134cad0cb0d9d9000000000000000000000000d26cba91cfe85545902e54d313f699aaf1d9cf2b000000000000000000000000f99bae1788861dbd31c1377b4d729f3035dcf6e2000000000000000000000000af0457138146e7d6c9c6f17685e33076b7a5a48e000000000000000000000000090097fccc2be12e19e4e65ac159cd76c16455ca0000000000000000000000001896c0abeb1f6cee4d78b5544e34cf0bdd336c450000000000000000000000008936a379cce9d9524b6a1e0d0a7e077c47df5c1a000000000000000000000000c0749b740cae8768b89547fedbc33eb45afc236c000000000000000000000000159e79bbf88661616936f8b3c4cf332efb41a20600000000000000000000000011bfdff29073dd89ced5a80ebe24a84b74928fcc000000000000000000000000e705b4c6fcddbe8d3b9f641138212f39f7a816fd0000000000000000000000004a3d2b1796c4cca1f3e4d37542d4773200e5474c000000000000000000000000d5454f9505f2374d5f1f1ed81528d6d26fae932200000000000000000000000089a443f05c5e7f1b0faf221db0868f87d63721c70000000000000000000000007183d6b75f7f706a93cfdf2978b10d1e85c800a00000000000000000000000001eab1f0f22c8421b7299240fa0d5fd75ef612624000000000000000000000000d7fcedb314053386c6a268d53a64c678e3c782b2000000000000000000000000f1a8238497c189fdd723308f13b5bc5689ef5e57000000000000000000000000f1e3d1ee3ea0f355291feafa95568d3f2f7cac58000000000000000000000000c0cd3824d1fb455b1871b0248248079db7e0c79e000000000000000000000000b066d85234a4a837f1045ef66b6f67aeb0a9dbf600000000000000000000000071193d5b9d465ef47e633ab7e04726e8c3b300000000000000000000000000008171d002fcde510ff998a13036076b16a8761876000000000000000000000000e5239c9b7a156b83384a82ccd147978bb4d30a56000000000000000000000000649229717e268cba9a0eecb5c671c83aad36cccf0000000000000000000000008e53709a3f0d16019fcc3253acec8ad0f3e9de1c000000000000000000000000885a5b39c72849fd3098653a5f941a8818ad2710000000000000000000000000dba62cba66bf4296208552d0495a0f05fed4214d0000000000000000000000005607ea3cdf7fc617d44fa7ce4bbd540ab6024b61000000000000000000000000df1e0be7c2c8ba46b9fd94edc12621501cc9409b00000000000000000000000041a5b533df057e141736a2f8701c9976b55fad6d00000000000000000000000054c5eb5d368e6aa7afdb169c18052576bbcac916000000000000000000000000efcbceb9c6728c62cb813d5fca9081b8c23ba57800000000000000000000000053db34bbbc682f05b423bb89934884e77cb88b1300000000000000000000000099584423abb4d430ed1cbb902c01268299ff25ee00000000000000000000000010d00f8fced0fa076e0b2885f26abf7a1abcd7b600000000000000000000000002a9db2e093067f4c00a2c583073375ba218f7bb000000000000000000000000c948268182b7b515b662e154ed47f42b9df2db1f000000000000000000000000e2265bd25235221852bd2dd59105cc45f302e2e0000000000000000000000000878f2cfd94d7ed4e0468865a72a8ae9a0e9590f60000000000000000000000005aeca0d8fd7b5ea72b95a4a2e8df63f7a3e76e16000000000000000000000000e544d807cf789ebce987da5431a4376d3376b872000000000000000000000000ed2bb379f793e3b8484bf7818e25b5aecfc252be0000000000000000000000000761282e8173a69e8fabd7876ac54060e4d1b661000000000000000000000000e635cd5b39774dbe60e1f1519fc54244971c00e40000000000000000000000008dbfa2109318704a0e6c1683bf39c4275ee7b7ce0000000000000000000000006d26571a216dc81dbbb423ed095e592ca6304e93000000000000000000000000c7445cd6cc8303d4a2da4f785f5c37856ff6fc36000000000000000000000000d28bd1ff29772f8887f4240bc1691d00e7cf9dc2000000000000000000000000f6040b4bbb2d768ec77b54edbf5c88ccf8dcadeb000000000000000000000000613ddc948ac426ae9ee663a56190b4b0a5f3247400000000000000000000000008584c687c8885a55342e22b82103068fcab6b04000000000000000000000000c3b4c774080e9133fc2829894def07f66999e7f7000000000000000000000000c4dd1ea8729132aaebe2d41aa5c28dfb1cb94504000000000000000000000000c10f42d279935f14d1bd1e944544ccb0f37ae039000000000000000000000000f51fc6c0cad84c2826aa425bf2bb8ea4a0126678000000000000000000000000b49b1f49a1a0fcb3c4db2d0f045ea86b54a4c42d000000000000000000000000e950d7e5066c0412d8416bac74c45a499ef8b5fd000000000000000000000000740478f00ea1c4fe7d7567e256b6dd0642a733e9000000000000000000000000a1980770d2277ce0ffa0ff2c2b7b19d59ac5f69e00000000000000000000000092e2c20965ccff25f398512efc37af3b8021dfb7000000000000000000000000a8e8b427766cb8febe4fb07b31c43ea86d19d49e0000000000000000000000005d9fc8c2fc0b617643fbfb7c5e27839261475d4e000000000000000000000000d5c01e60ee9a8f5e5968dd95a5d1133515233707000000000000000000000000490fc308d8dbcc067fa1f1fa2d755819824b4eb5000000000000000000000000539ec54b911eb291830167e337b82c8d41e643b3000000000000000000000000000000000000000000000000000000000000005d00000000000000000000000000000000000000000000000000016bcc41e9000000000000000000000000000000000000000000000000000000016bcc41e900000000000000000000000000000000000000000000000000000001614a871cb03600000000000000000000000000000000000000000000000000014ce96a75b0fd0000000000000000000000000000000000000000000000000001476b081e800000000000000000000000000000000000000000000000000000013e52b9abe00000000000000000000000000000000000000000000000000000013d50488404000000000000000000000000000000000000000000000000000001353a6b394000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec00000000000000000000000000000000000000000000000000000010b75b70f06b10000000000000000000000000000000000000000000000000001029b10b208000000000000000000000000000000000000000000000000000000fd79e67fb8000000000000000000000000000000000000000000000000000000f5904616e0000000000000000000000000000000000000000000000000000000e5064893f36a0000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e2eb302619ad0000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b54c75e3b8000000000000000000000000000000000000000000000000000000ae872781fe360000000000000000000000000000000000000000000000000000aaaf18d2324d0000000000000000000000000000000000000000000000000000a7183f1e3d0000000000000000000000000000000000000000000000000000007421e5c980b300000000000000000000000000000000000000000000000000006d23ad5f8000000000000000000000000000000000000000000000000000000060f607bdd3c900000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a4000000000000000000000000000000000000000000000000000000030704e9551de00000000000000000000000000000000000000000000000000003029d8880c4100000000000000000000000000000000000000000000000000001ebf37f08e200000000000000000000000000000000000000000000000000000181892a528bb000000000000000000000000000000000000000000000000000016e690a4ab40000000000000000000000000000000000000000000000000000015d3ef798000000000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000010938190fe00000000000000000000000000000000000000000000000000000009b2a06249dd000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a00000000000000000000000000000000000000000000000000000000492b951ea90000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a510000000000000000000000000000000000000000000000000000000002e90edd000000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e80000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3087a7fa412e561b1c42307d0505184b8bb4652d5ac8572f0f919d91eef64c23a6455a131bef9cf149447417ff0026062113e2fad540da6661340be80226f39bc1c39b3bd0b8b8e47f500ce1d4ecaf386a97a49f82fe4c85092b3b3baf9ce6555587ebb82d40945dcdf04808349f60d4b6fdc1e4e421eb41a1b63cede456a2f92161cf518031319c15069b7a7b2e59d08299c446072d321bf33b063f913dc83f83010241c9321bbce79f7bc4bc24dea4e2af22185e7cb8344d62717bfc22dee8fc5551b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x28\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x25f4117\",\n      \"logs\": [\n        {\n          \"address\": \"0x8315177ab297ba92a06054ce80a67ed4dbd7ed3a\",\n          \"topics\": [\n            \"0x5e3c1311ea442664e8b1611bfabef659120ea7a0a2cfc0667700bebc69cbffe1\",\n            \"0x00000000000000000000000000000000000000000000000000000000001f7bcb\",\n            \"0xd23e4532e6159bef7c4717504270ab8f949d58c43fcb117f1fa96158e5680b1e\"\n          ],\n          \"data\": \"0x0000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f000000000000000000000000000000000000000000000000000000000000000900000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167ecfd4b223ee5ce23e68cdce1a7394503f79efd4d19a6213909dc9cb13ca98d6200000000000000000000000000000000000000000000000000000000116b440700000000000000000000000000000000000000000000000000000000688d3057\",\n          \"blockHash\": \"0x29f22ba9c4fc29c6766e206dc57ee3c60e882c0dfb8446338355c2352cffbf29\",\n          \"blockNumber\": \"0x15fb2bf\",\n          \"blockTimestamp\": \"0x688d3057\",\n          \"transactionHash\": \"0xee49aa24902701a95b48a4bb51aa2716f9664c3109adfe83009ed7e88b488220\",\n          \"transactionIndex\": \"0x13e\",\n          \"logIndex\": \"0x589\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x4dbd4fc535ac27206064b68ffcf827b0a60bab3f\",\n          \"topics\": [\n            \"0xff64905f73a67fb594e0f940a8075a860db489ad991e032f48c81123eb52d60b\",\n            \"0x00000000000000000000000000000000000000000000000000000000001f7bcb\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000018e400000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000025646667cd30e52c0b458baaccb9fada7046f16700000000000000000000000025646667cd30e52c0b458baaccb9fada7046f16700000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000007735940000000000000000000000000000000000000000000000000000000000000017c4501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000005d0000000000000000000000003f16dad4e21b353ede9bfedd29a4c1c07352e6e3000000000000000000000000617af82a0420bdb424299159f0f3b2cf7eb2a6b5000000000000000000000000cf432b0da6b77f0357e44d5dd5f041a2715ce33000000000000000000000000025f012acbcba769b3947552e5408d241b8aaddd80000000000000000000000007eb651755e4ae913ef7952f6f334e3d07e518b8a0000000000000000000000000bfca95e97b1557e9d4fdc9297a838ff54efb6d000000000000000000000000064f5de151ca43182d4b1b978c1864a4710920965000000000000000000000000a987e980361f11e1f671e6f559009de958fdb08c0000000000000000000000003ba4f2d808020d4e12599b2dd0822478cdbe5fae000000000000000000000000d4f5bfe8efe9e8f9908c9e448d2cbea5fef9090500000000000000000000000048c818a1b48d1287e81bf4ee8eecd2e0f7c2a3e10000000000000000000000001e31f97b5b35da0932bcfa8406a1d10b171e579d000000000000000000000000fd27810e3be0a0431750a6be8f8dc6c156b9d74300000000000000000000000067101435d1c6fc8570c6f1e5094692771eb3a68c000000000000000000000000c84c03c6cd89ce484790df99a78aa4127d7369ad000000000000000000000000a61abd3797558b1cffabc6fc7ac0a2ada09a3db700000000000000000000000048368579c5e4c0d14d5dc38c37daf4bf2461fcb80000000000000000000000001a0a2244637a8fb376e8a129064066fcd7149506000000000000000000000000e7c65dbe91e4351cf18a1ad7e3e8a832b11447e6000000000000000000000000ebf5e91345343e110b06d0066cf83524f04475110000000000000000000000004f6bb5d34bc28181c4ecc873c2c3e26bfbdbeec9000000000000000000000000f9e96b3190e5ae39fa8ea07c1e85d79e6e2671ac0000000000000000000000001b2d1f0540b091d74e6da9906544aecc746dfb8c000000000000000000000000b8e97da197da0c19e6c93519fadd5d3e692cb924000000000000000000000000543948999989294cfb74cba5a7d9f501a84a12d7000000000000000000000000c7f2886d1ac8e743a3a45aaefffeea3ca21dff21000000000000000000000000b33ebb0f3507557738fec4ad87947d68981a7b4000000000000000000000000047113d8eb18ef6462662b53214134cad0cb0d9d9000000000000000000000000d26cba91cfe85545902e54d313f699aaf1d9cf2b000000000000000000000000f99bae1788861dbd31c1377b4d729f3035dcf6e2000000000000000000000000af0457138146e7d6c9c6f17685e33076b7a5a48e000000000000000000000000090097fccc2be12e19e4e65ac159cd76c16455ca0000000000000000000000001896c0abeb1f6cee4d78b5544e34cf0bdd336c450000000000000000000000008936a379cce9d9524b6a1e0d0a7e077c47df5c1a000000000000000000000000c0749b740cae8768b89547fedbc33eb45afc236c000000000000000000000000159e79bbf88661616936f8b3c4cf332efb41a20600000000000000000000000011bfdff29073dd89ced5a80ebe24a84b74928fcc000000000000000000000000e705b4c6fcddbe8d3b9f641138212f39f7a816fd0000000000000000000000004a3d2b1796c4cca1f3e4d37542d4773200e5474c000000000000000000000000d5454f9505f2374d5f1f1ed81528d6d26fae932200000000000000000000000089a443f05c5e7f1b0faf221db0868f87d63721c70000000000000000000000007183d6b75f7f706a93cfdf2978b10d1e85c800a00000000000000000000000001eab1f0f22c8421b7299240fa0d5fd75ef612624000000000000000000000000d7fcedb314053386c6a268d53a64c678e3c782b2000000000000000000000000f1a8238497c189fdd723308f13b5bc5689ef5e57000000000000000000000000f1e3d1ee3ea0f355291feafa95568d3f2f7cac58000000000000000000000000c0cd3824d1fb455b1871b0248248079db7e0c79e000000000000000000000000b066d85234a4a837f1045ef66b6f67aeb0a9dbf600000000000000000000000071193d5b9d465ef47e633ab7e04726e8c3b300000000000000000000000000008171d002fcde510ff998a13036076b16a8761876000000000000000000000000e5239c9b7a156b83384a82ccd147978bb4d30a56000000000000000000000000649229717e268cba9a0eecb5c671c83aad36cccf0000000000000000000000008e53709a3f0d16019fcc3253acec8ad0f3e9de1c000000000000000000000000885a5b39c72849fd3098653a5f941a8818ad2710000000000000000000000000dba62cba66bf4296208552d0495a0f05fed4214d0000000000000000000000005607ea3cdf7fc617d44fa7ce4bbd540ab6024b61000000000000000000000000df1e0be7c2c8ba46b9fd94edc12621501cc9409b00000000000000000000000041a5b533df057e141736a2f8701c9976b55fad6d00000000000000000000000054c5eb5d368e6aa7afdb169c18052576bbcac916000000000000000000000000efcbceb9c6728c62cb813d5fca9081b8c23ba57800000000000000000000000053db34bbbc682f05b423bb89934884e77cb88b1300000000000000000000000099584423abb4d430ed1cbb902c01268299ff25ee00000000000000000000000010d00f8fced0fa076e0b2885f26abf7a1abcd7b600000000000000000000000002a9db2e093067f4c00a2c583073375ba218f7bb000000000000000000000000c948268182b7b515b662e154ed47f42b9df2db1f000000000000000000000000e2265bd25235221852bd2dd59105cc45f302e2e0000000000000000000000000878f2cfd94d7ed4e0468865a72a8ae9a0e9590f60000000000000000000000005aeca0d8fd7b5ea72b95a4a2e8df63f7a3e76e16000000000000000000000000e544d807cf789ebce987da5431a4376d3376b872000000000000000000000000ed2bb379f793e3b8484bf7818e25b5aecfc252be0000000000000000000000000761282e8173a69e8fabd7876ac54060e4d1b661000000000000000000000000e635cd5b39774dbe60e1f1519fc54244971c00e40000000000000000000000008dbfa2109318704a0e6c1683bf39c4275ee7b7ce0000000000000000000000006d26571a216dc81dbbb423ed095e592ca6304e93000000000000000000000000c7445cd6cc8303d4a2da4f785f5c37856ff6fc36000000000000000000000000d28bd1ff29772f8887f4240bc1691d00e7cf9dc2000000000000000000000000f6040b4bbb2d768ec77b54edbf5c88ccf8dcadeb000000000000000000000000613ddc948ac426ae9ee663a56190b4b0a5f3247400000000000000000000000008584c687c8885a55342e22b82103068fcab6b04000000000000000000000000c3b4c774080e9133fc2829894def07f66999e7f7000000000000000000000000c4dd1ea8729132aaebe2d41aa5c28dfb1cb94504000000000000000000000000c10f42d279935f14d1bd1e944544ccb0f37ae039000000000000000000000000f51fc6c0cad84c2826aa425bf2bb8ea4a0126678000000000000000000000000b49b1f49a1a0fcb3c4db2d0f045ea86b54a4c42d000000000000000000000000e950d7e5066c0412d8416bac74c45a499ef8b5fd000000000000000000000000740478f00ea1c4fe7d7567e256b6dd0642a733e9000000000000000000000000a1980770d2277ce0ffa0ff2c2b7b19d59ac5f69e00000000000000000000000092e2c20965ccff25f398512efc37af3b8021dfb7000000000000000000000000a8e8b427766cb8febe4fb07b31c43ea86d19d49e0000000000000000000000005d9fc8c2fc0b617643fbfb7c5e27839261475d4e000000000000000000000000d5c01e60ee9a8f5e5968dd95a5d1133515233707000000000000000000000000490fc308d8dbcc067fa1f1fa2d755819824b4eb5000000000000000000000000539ec54b911eb291830167e337b82c8d41e643b3000000000000000000000000000000000000000000000000000000000000005d00000000000000000000000000000000000000000000000000016bcc41e9000000000000000000000000000000000000000000000000000000016bcc41e900000000000000000000000000000000000000000000000000000001614a871cb03600000000000000000000000000000000000000000000000000014ce96a75b0fd0000000000000000000000000000000000000000000000000001476b081e800000000000000000000000000000000000000000000000000000013e52b9abe00000000000000000000000000000000000000000000000000000013d50488404000000000000000000000000000000000000000000000000000001353a6b394000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec00000000000000000000000000000000000000000000000000000010b75b70f06b10000000000000000000000000000000000000000000000000001029b10b208000000000000000000000000000000000000000000000000000000fd79e67fb8000000000000000000000000000000000000000000000000000000f5904616e0000000000000000000000000000000000000000000000000000000e5064893f36a0000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e2eb302619ad0000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b54c75e3b8000000000000000000000000000000000000000000000000000000ae872781fe360000000000000000000000000000000000000000000000000000aaaf18d2324d0000000000000000000000000000000000000000000000000000a7183f1e3d0000000000000000000000000000000000000000000000000000007421e5c980b300000000000000000000000000000000000000000000000000006d23ad5f8000000000000000000000000000000000000000000000000000000060f607bdd3c900000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a4000000000000000000000000000000000000000000000000000000030704e9551de00000000000000000000000000000000000000000000000000003029d8880c4100000000000000000000000000000000000000000000000000001ebf37f08e200000000000000000000000000000000000000000000000000000181892a528bb000000000000000000000000000000000000000000000000000016e690a4ab40000000000000000000000000000000000000000000000000000015d3ef798000000000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000010938190fe00000000000000000000000000000000000000000000000000000009b2a06249dd000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a00000000000000000000000000000000000000000000000000000000492b951ea90000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a510000000000000000000000000000000000000000000000000000000002e90edd000000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e80000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x29f22ba9c4fc29c6766e206dc57ee3c60e882c0dfb8446338355c2352cffbf29\",\n          \"blockNumber\": \"0x15fb2bf\",\n          \"blockTimestamp\": \"0x688d3057\",\n          \"transactionHash\": \"0xee49aa24902701a95b48a4bb51aa2716f9664c3109adfe83009ed7e88b488220\",\n          \"transactionIndex\": \"0x13e\",\n          \"logIndex\": \"0x58a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x83491abd5f5492a5c1249feef6d1197c4a9f053d0d6ed7e4647685d99d5f7c190000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x29f22ba9c4fc29c6766e206dc57ee3c60e882c0dfb8446338355c2352cffbf29\",\n          \"blockNumber\": \"0x15fb2bf\",\n          \"blockTimestamp\": \"0x688d3057\",\n          \"transactionHash\": \"0xee49aa24902701a95b48a4bb51aa2716f9664c3109adfe83009ed7e88b488220\",\n          \"transactionIndex\": \"0x13e\",\n          \"logIndex\": \"0x58b\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000440000000000002000000000000000000000000000000000120000000000000000080000000000000400000002000000000000000000000000000000008000000000002000000000400000000000000000000000000000000000000000000000080000000000000000000200000000040000000000000000000000000000000000000000100000020000000000000000000004000040000000000000000000000000008000000000000000000000000000000000000000000000000000001000080000000000000000000000000000000000000000000008000000000000000000004000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xee49aa24902701a95b48a4bb51aa2716f9664c3109adfe83009ed7e88b488220\",\n      \"transactionIndex\": \"0x13e\",\n      \"blockHash\": \"0x29f22ba9c4fc29c6766e206dc57ee3c60e882c0dfb8446338355c2352cffbf29\",\n      \"blockNumber\": \"0x15fb2bf\",\n      \"gasUsed\": \"0x447e9\",\n      \"effectiveGasPrice\": \"0x1195f243\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1754083422,\n  \"chain\": 1,\n  \"commit\": \"1fa78b1\"\n}"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/records/DeployRecoveryImplementation.s.sol/10/run-1753908210.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x86cdbe8fa5bd7ce78b76697caed0bdba6920d53c013f89f2546a2b8d7b8e512b\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"Recovery\",\n      \"contractAddress\": \"0xd6cd8a71ece6d009220f1f9a7055749edf13c140\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x25646667cD30e52c0b458bAAcCB9fAdA7046f167\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"gas\": \"0x1323b9\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c06040523060805234801561001457600080fd5b5060405161115e38038061115e83398101604081905261003391610044565b6001600160a01b031660a052610074565b60006020828403121561005657600080fd5b81516001600160a01b038116811461006d57600080fd5b9392505050565b60805160a05161109c6100c26000396000818160710152818161054d015261077a01526000818161014c0152818161020101528181610356015281816104060152610690015261109c6000f3fe60806040526004361061005a5760003560e01c80634f1ef286116100435780634f1ef286146100df578063501d976c146100f257806352d1902d1461011257600080fd5b8063117803e31461005f5780633659cfe6146100bd575b600080fd5b34801561006b57600080fd5b506100937f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156100c957600080fd5b506100dd6100d8366004610d1d565b610135565b005b6100dd6100ed366004610d67565b61033f565b3480156100fe57600080fd5b506100dd61010d366004610e93565b610535565b34801561011e57600080fd5b50610127610676565b6040519081526020016100b4565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036101ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084015b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166102747f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610317576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016101f6565b61032081610762565b6040805160008082526020820190925261033c918391906107d1565b50565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610404576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016101f6565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166104797f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461051c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016101f6565b61052582610762565b610531828260016107d1565b5050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146105a4576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8381101561066f5760008585838181106105c3576105c3610eff565b90506020020160208101906105d89190610d1d565b73ffffffffffffffffffffffffffffffffffffffff1684848481811061060057610600610eff565b9050602002013560405160006040518083038185875af1925050503d8060008114610647576040519150601f19603f3d011682016040523d82523d6000602084013e61064c565b606091505b505090508061065b575061065d565b505b8061066781610f2e565b9150506105a7565b5050505050565b60003073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461073d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016101f6565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461033c576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561080957610804836109d5565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561088e575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261088b91810190610f8d565b60015b61091a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016101f6565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146109c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016101f6565b50610804838383610adf565b73ffffffffffffffffffffffffffffffffffffffff81163b610a79576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016101f6565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610ae883610b0a565b600082511180610af55750805b1561080457610b048383610b57565b50505050565b610b13816109d5565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610b7c838360405180606001604052806027815260200161104060279139610b83565b9392505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051610bad9190610fd2565b600060405180830381855af49150503d8060008114610be8576040519150601f19603f3d011682016040523d82523d6000602084013e610bed565b606091505b5091509150610bfe86838387610c08565b9695505050505050565b60608315610c9e578251600003610c975773ffffffffffffffffffffffffffffffffffffffff85163b610c97576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101f6565b5081610ca8565b610ca88383610cb0565b949350505050565b815115610cc05781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101f69190610fee565b803573ffffffffffffffffffffffffffffffffffffffff81168114610d1857600080fd5b919050565b600060208284031215610d2f57600080fd5b610b7c82610cf4565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060408385031215610d7a57600080fd5b610d8383610cf4565b9150602083013567ffffffffffffffff80821115610da057600080fd5b818501915085601f830112610db457600080fd5b813581811115610dc657610dc6610d38565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610e0c57610e0c610d38565b81604052828152886020848701011115610e2557600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60008083601f840112610e5957600080fd5b50813567ffffffffffffffff811115610e7157600080fd5b6020830191508360208260051b8501011115610e8c57600080fd5b9250929050565b60008060008060408587031215610ea957600080fd5b843567ffffffffffffffff80821115610ec157600080fd5b610ecd88838901610e47565b90965094506020870135915080821115610ee657600080fd5b50610ef387828801610e47565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610f86577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b600060208284031215610f9f57600080fd5b5051919050565b60005b83811015610fc1578181015183820152602001610fa9565b83811115610b045750506000910152565b60008251610fe4818460208701610fa6565b9190910192915050565b602081526000825180602084015261100d816040850160208701610fa6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122004f2c6d0973c106f68fa09ad30e6cab7fcbf96f131d84b00564e47edb277797264736f6c634300080f003300000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167\",\n        \"nonce\": \"0x3\",\n        \"chainId\": \"0xa\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x9012ac\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x86cdbe8fa5bd7ce78b76697caed0bdba6920d53c013f89f2546a2b8d7b8e512b\",\n      \"transactionIndex\": \"0x16\",\n      \"blockHash\": \"0x9f6b3dca1dcaf3445cd2c6a4703dcc71cf83ec163968fceefbe6f73fdedbbf8b\",\n      \"blockNumber\": \"0x84b551c\",\n      \"gasUsed\": \"0xeba1d\",\n      \"effectiveGasPrice\": \"0x4f0a\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": null,\n      \"contractAddress\": \"0xd6cd8a71ece6d009220f1f9a7055749edf13c140\",\n      \"l1BaseFeeScalar\": \"0x146b\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xf79c5\",\n      \"l1Fee\": \"0x5913831a11\",\n      \"l1GasPrice\": \"0x8fa6e482\",\n      \"l1GasUsed\": \"0x76a1\",\n      \"operatorFeeConstant\": \"0x0\",\n      \"operatorFeeScalar\": \"0x0\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1753908210,\n  \"chain\": 10,\n  \"commit\": \"51b152e\"\n}"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/records/DeployRecoveryImplementation.s.sol/42161/run-1753908149.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xcba121ca6751fe42f3763e77eac7717f56ffe46a71ee3769a431093e3aab1daf\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"Recovery\",\n      \"contractAddress\": \"0xb2a7c27935bd4f63f6362d90eff46a4bec5d61e0\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x25646667cD30e52c0b458bAAcCB9fAdA7046f167\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"gas\": \"0x161890\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c06040523060805234801561001457600080fd5b5060405161115e38038061115e83398101604081905261003391610044565b6001600160a01b031660a052610074565b60006020828403121561005657600080fd5b81516001600160a01b038116811461006d57600080fd5b9392505050565b60805160a05161109c6100c26000396000818160710152818161054d015261077a01526000818161014c0152818161020101528181610356015281816104060152610690015261109c6000f3fe60806040526004361061005a5760003560e01c80634f1ef286116100435780634f1ef286146100df578063501d976c146100f257806352d1902d1461011257600080fd5b8063117803e31461005f5780633659cfe6146100bd575b600080fd5b34801561006b57600080fd5b506100937f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156100c957600080fd5b506100dd6100d8366004610d1d565b610135565b005b6100dd6100ed366004610d67565b61033f565b3480156100fe57600080fd5b506100dd61010d366004610e93565b610535565b34801561011e57600080fd5b50610127610676565b6040519081526020016100b4565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036101ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084015b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166102747f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610317576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016101f6565b61032081610762565b6040805160008082526020820190925261033c918391906107d1565b50565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610404576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016101f6565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166104797f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461051c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016101f6565b61052582610762565b610531828260016107d1565b5050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146105a4576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8381101561066f5760008585838181106105c3576105c3610eff565b90506020020160208101906105d89190610d1d565b73ffffffffffffffffffffffffffffffffffffffff1684848481811061060057610600610eff565b9050602002013560405160006040518083038185875af1925050503d8060008114610647576040519150601f19603f3d011682016040523d82523d6000602084013e61064c565b606091505b505090508061065b575061065d565b505b8061066781610f2e565b9150506105a7565b5050505050565b60003073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461073d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016101f6565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461033c576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561080957610804836109d5565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561088e575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261088b91810190610f8d565b60015b61091a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016101f6565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146109c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016101f6565b50610804838383610adf565b73ffffffffffffffffffffffffffffffffffffffff81163b610a79576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016101f6565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610ae883610b0a565b600082511180610af55750805b1561080457610b048383610b57565b50505050565b610b13816109d5565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610b7c838360405180606001604052806027815260200161104060279139610b83565b9392505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051610bad9190610fd2565b600060405180830381855af49150503d8060008114610be8576040519150601f19603f3d011682016040523d82523d6000602084013e610bed565b606091505b5091509150610bfe86838387610c08565b9695505050505050565b60608315610c9e578251600003610c975773ffffffffffffffffffffffffffffffffffffffff85163b610c97576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101f6565b5081610ca8565b610ca88383610cb0565b949350505050565b815115610cc05781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101f69190610fee565b803573ffffffffffffffffffffffffffffffffffffffff81168114610d1857600080fd5b919050565b600060208284031215610d2f57600080fd5b610b7c82610cf4565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060408385031215610d7a57600080fd5b610d8383610cf4565b9150602083013567ffffffffffffffff80821115610da057600080fd5b818501915085601f830112610db457600080fd5b813581811115610dc657610dc6610d38565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610e0c57610e0c610d38565b81604052828152886020848701011115610e2557600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60008083601f840112610e5957600080fd5b50813567ffffffffffffffff811115610e7157600080fd5b6020830191508360208260051b8501011115610e8c57600080fd5b9250929050565b60008060008060408587031215610ea957600080fd5b843567ffffffffffffffff80821115610ec157600080fd5b610ecd88838901610e47565b90965094506020870135915080821115610ee657600080fd5b50610ef387828801610e47565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610f86577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b600060208284031215610f9f57600080fd5b5051919050565b60005b83811015610fc1578181015183820152602001610fa9565b83811115610b045750506000910152565b60008251610fe4818460208701610fa6565b9190910192915050565b602081526000825180602084015261100d816040850160208701610fa6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122004f2c6d0973c106f68fa09ad30e6cab7fcbf96f131d84b00564e47edb277797264736f6c634300080f003300000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167\",\n        \"nonce\": \"0x1\",\n        \"chainId\": \"0xa4b1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x115cf1\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xcba121ca6751fe42f3763e77eac7717f56ffe46a71ee3769a431093e3aab1daf\",\n      \"transactionIndex\": \"0x2\",\n      \"blockHash\": \"0x7e1da07ec7eb02398965ddfad9e6cf9cbffb375a4483fdde23c12a82803b3ab0\",\n      \"blockNumber\": \"0x15a6fa37\",\n      \"gasUsed\": \"0x109d5b\",\n      \"effectiveGasPrice\": \"0x989680\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": null,\n      \"contractAddress\": \"0xb2a7c27935bd4f63f6362d90eff46a4bec5d61e0\",\n      \"gasUsedForL1\": \"0x1e33e\",\n      \"l1BlockNumber\": \"0x15f7a17\",\n      \"timeboosted\": false\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1753908149,\n  \"chain\": 42161,\n  \"commit\": \"51b152e\"\n}"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/records/DeployRecoveryImplementation.s.sol/8453/run-1753908081.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xf27dfa53bc859b2a8e69051b03ce669e2d1e7ddcaa7eed75a0bc938566dafd80\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"Recovery\",\n      \"contractAddress\": \"0xd6cd8a71ece6d009220f1f9a7055749edf13c140\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x25646667cD30e52c0b458bAAcCB9fAdA7046f167\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"gas\": \"0x1323b9\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c06040523060805234801561001457600080fd5b5060405161115e38038061115e83398101604081905261003391610044565b6001600160a01b031660a052610074565b60006020828403121561005657600080fd5b81516001600160a01b038116811461006d57600080fd5b9392505050565b60805160a05161109c6100c26000396000818160710152818161054d015261077a01526000818161014c0152818161020101528181610356015281816104060152610690015261109c6000f3fe60806040526004361061005a5760003560e01c80634f1ef286116100435780634f1ef286146100df578063501d976c146100f257806352d1902d1461011257600080fd5b8063117803e31461005f5780633659cfe6146100bd575b600080fd5b34801561006b57600080fd5b506100937f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156100c957600080fd5b506100dd6100d8366004610d1d565b610135565b005b6100dd6100ed366004610d67565b61033f565b3480156100fe57600080fd5b506100dd61010d366004610e93565b610535565b34801561011e57600080fd5b50610127610676565b6040519081526020016100b4565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036101ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084015b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166102747f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610317576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016101f6565b61032081610762565b6040805160008082526020820190925261033c918391906107d1565b50565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610404576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016101f6565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166104797f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461051c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016101f6565b61052582610762565b610531828260016107d1565b5050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146105a4576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8381101561066f5760008585838181106105c3576105c3610eff565b90506020020160208101906105d89190610d1d565b73ffffffffffffffffffffffffffffffffffffffff1684848481811061060057610600610eff565b9050602002013560405160006040518083038185875af1925050503d8060008114610647576040519150601f19603f3d011682016040523d82523d6000602084013e61064c565b606091505b505090508061065b575061065d565b505b8061066781610f2e565b9150506105a7565b5050505050565b60003073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461073d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016101f6565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461033c576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561080957610804836109d5565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561088e575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261088b91810190610f8d565b60015b61091a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016101f6565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146109c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016101f6565b50610804838383610adf565b73ffffffffffffffffffffffffffffffffffffffff81163b610a79576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016101f6565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610ae883610b0a565b600082511180610af55750805b1561080457610b048383610b57565b50505050565b610b13816109d5565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610b7c838360405180606001604052806027815260200161104060279139610b83565b9392505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051610bad9190610fd2565b600060405180830381855af49150503d8060008114610be8576040519150601f19603f3d011682016040523d82523d6000602084013e610bed565b606091505b5091509150610bfe86838387610c08565b9695505050505050565b60608315610c9e578251600003610c975773ffffffffffffffffffffffffffffffffffffffff85163b610c97576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101f6565b5081610ca8565b610ca88383610cb0565b949350505050565b815115610cc05781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101f69190610fee565b803573ffffffffffffffffffffffffffffffffffffffff81168114610d1857600080fd5b919050565b600060208284031215610d2f57600080fd5b610b7c82610cf4565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060408385031215610d7a57600080fd5b610d8383610cf4565b9150602083013567ffffffffffffffff80821115610da057600080fd5b818501915085601f830112610db457600080fd5b813581811115610dc657610dc6610d38565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610e0c57610e0c610d38565b81604052828152886020848701011115610e2557600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60008083601f840112610e5957600080fd5b50813567ffffffffffffffff811115610e7157600080fd5b6020830191508360208260051b8501011115610e8c57600080fd5b9250929050565b60008060008060408587031215610ea957600080fd5b843567ffffffffffffffff80821115610ec157600080fd5b610ecd88838901610e47565b90965094506020870135915080821115610ee657600080fd5b50610ef387828801610e47565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610f86577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b600060208284031215610f9f57600080fd5b5051919050565b60005b83811015610fc1578181015183820152602001610fa9565b83811115610b045750506000910152565b60008251610fe4818460208701610fa6565b9190910192915050565b602081526000825180602084015261100d816040850160208701610fa6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122004f2c6d0973c106f68fa09ad30e6cab7fcbf96f131d84b00564e47edb277797264736f6c634300080f003300000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167\",\n        \"nonce\": \"0x3\",\n        \"chainId\": \"0x2105\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x2054c74\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xf27dfa53bc859b2a8e69051b03ce669e2d1e7ddcaa7eed75a0bc938566dafd80\",\n      \"transactionIndex\": \"0x60\",\n      \"blockHash\": \"0x7268eb50b25155d23b1ccffcacb39cf56c4c407b4e7b461efc217e1c8a54c2fe\",\n      \"blockNumber\": \"0x2001347\",\n      \"gasUsed\": \"0xeba1d\",\n      \"effectiveGasPrice\": \"0x3a0cd8\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": null,\n      \"contractAddress\": \"0xd6cd8a71ece6d009220f1f9a7055749edf13c140\",\n      \"l1BaseFeeScalar\": \"0x8dd\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0x101c12\",\n      \"l1Fee\": \"0x25c751c659\",\n      \"l1GasPrice\": \"0x8c2a3e6c\",\n      \"l1GasUsed\": \"0x76c9\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1753908081,\n  \"chain\": 8453,\n  \"commit\": \"51b152e\"\n}"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/records/OPStackExecuteRecovery.s.sol/1/run-1754081221.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x55783ffc82abe4227d68c3e53916058f122886f2bb86822c2c4d3bbbf0f8ef04\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881\",\n        \"0\",\n        \"0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000001696a911cb799608b1ccbfd84b21803dd615be6a000000000000000000000000b000524c5de61cb27c01567cf82e6cdcd252d809000000000000000000000000201b5abfd44a8f9b75f0fe1bae74cdac7675e54b000000000000000000000000fa89ec40699bbfd749c4eb6643dc2b22ff0e2aa600000000000000000000000015ba3fca21f8b20f145e1536a433a65bfcda7ad6000000000000000000000000455405eaff9d4391bdb1ffd3cdd09953109a2aca000000000000000000000000329c8bec2e66633caf5289daf6a08a53e55308f900000000000000000000000005b5f0f2c0107ee203132903a5dac30e587e7ad2000000000000000000000000dcd4d39c93990f366e601c3a083e90146d5d13d800000000000000000000000007cbc5bffee7b95cf72526df4da2e32ac9fd242e000000000000000000000000366b6be122c14591010810cb5539410e076924a5000000000000000000000000eada0167a1e12f43f53a39af051932e73ded6868000000000000000000000000a40fed6138769b66de011ff72d9c9de53e6572f100000000000000000000000097fa3a7c5caedb67ad4bf5f233c34b28f9ac590d0000000000000000000000005709577f162ea5b815104961ff955d9549ba5047000000000000000000000000fb4e07d3bb212a873816bc894f6c24ce84465a54000000000000000000000000ee4d973a7972935b0d613dc70f9e666a5e45a7ba0000000000000000000000008a82d146b24d224858f930566cba1b108589f94e00000000000000000000000016ea94d9e9bc03960355c57be2b68a5dc0a4b27f0000000000000000000000004e1df28e4473673854d90fa847af1c90ea6606a90000000000000000000000003c31e46acb52f230457c379249a04b1879e86f85000000000000000000000000af7ad8c63072c848d48abd44a3301b631ddfefcc000000000000000000000000f66913fb65b77fb22cbad5864be4b56ea4f8c693000000000000000000000000a654b921e43662422f86745dd2b14df8e9e4d595000000000000000000000000def28f5c5d71e0a0dbf34652d637762cdbc5d79e0000000000000000000000005e518d06bdf9d0ff04baef4448996b583e13e9fe000000000000000000000000107308d558f116f83299d895c78e3de69fc6e8090000000000000000000000006f63e5830a3d72636f2aa35e6cc95c84c4240f820000000000000000000000003af0f1966186e9613d348b8eec103bbb5d271f4a000000000000000000000000519fa95765135191a7ebcb83062c55454d7f41040000000000000000000000005011739d37ef1939374a012573ab85b6bcea1cff0000000000000000000000004068c1fdeb99be166f4d43b14819b437344230f6000000000000000000000000e3dc66bf249ed8b6dec7a7a8c6f49fd78dcaf16e00000000000000000000000086c24fbeb07b96392ad88daee44f98c2d4c590c3000000000000000000000000befc15f65274bbb680976513b6e74bf0181e46e4000000000000000000000000b283572bb0c56e1252c5acce6ee4686da9689b2c00000000000000000000000021d83329ddb737e39ec7eb710eec84b3e0ff39c00000000000000000000000007b284ead6f87c4084f7a91bfde4138ec72f354cf000000000000000000000000005b41103d59ec8f966ea98229ba9409479e4ea00000000000000000000000003a2ed3fcb00814e325eadbaba88bb903047c3fed00000000000000000000000052652cdd2a98030bae46c8ac782150b2436c51e9000000000000000000000000d56de73036ca986fabbc144da080896ef274de1a0000000000000000000000004657c4f5073c1ec77f52ae2671bb238fd21404a3000000000000000000000000438aba433d029f8576078f26d543037daf2222220000000000000000000000001a7e2ca67acc18cfd1ef492671bb5303a2c012660000000000000000000000007f1be0566712941985b71d5fa625f5a5ea2add49000000000000000000000000d728489711d19410320617cbbd97da8f10831ddd00000000000000000000000017254d13fb3bd85009b1b83426efeb7ff39249fa00000000000000000000000047782f8494c090bf5faf0e79d8b6cc0b8e774352000000000000000000000000f68d7facf1e78ae371480547da465c5a0a42fd2b0000000000000000000000003724cf4018a20c6fe227f7c710f97b5999aa1f6b0000000000000000000000000e67ade795cd2a6918d273b3f59487aa180ad63d00000000000000000000000009a09c3d229175859ec3a75e919767df04612354000000000000000000000000ffa0a4e79f7297c99085a0c33224f3ad92c62f5d00000000000000000000000073999ec31f59499fd442e74380612bc376940abd00000000000000000000000018b0a909c5fb8034822e0867431cdc957dc1cc1f0000000000000000000000003dd86905fd5e25f3c20338ccefeaafa94611124e000000000000000000000000236ddcbec59db65e1641c11adab444bf159ae3b5000000000000000000000000107e0c10f250824fb83380c65bc8e87baa0e479000000000000000000000000096440ab4988dfe0dcb4c288ac10bf1ead6fe1d1d0000000000000000000000001eb8f93282e7bf3b312e0a325a2d920697dbb68f000000000000000000000000670d42465567ae7e449145cbc4f5de9d82dff82700000000000000000000000018eb2a28acb2170cb2f95d904889ef8d255e8d890000000000000000000000008fc8f5ee2e09eb75c8786bec8e4bb505c3d98b300000000000000000000000005b16daa1f7d5c52994f46cc0cb2f8fe240cf093b000000000000000000000000b0c07fc40fda8a7cdf8a7683f66347ff5d6efe17000000000000000000000000f6af03657d52a0df99d588aec0d25400ceee932900000000000000000000000042fb1432fce71c7ad74bdfa362661d3502407e8f0000000000000000000000004658a8e637a7401f25b489fa27c96cde239d134c000000000000000000000000f2f9a2738a2f5340cca5fab5c2fdeba69e0d437c000000000000000000000000b8db687237cf16325758382431299f272072737e000000000000000000000000599a7c81ab278a329c20c1919b4d6f519ceb053a000000000000000000000000fdd80311e3bba62cc0999d7f3a9d39dcfb9527bb000000000000000000000000b66f681b57349ac241a97924f9f00cdf66512165000000000000000000000000427a2f81ff4a400175e74925b166d49312fb9261000000000000000000000000d24b891825af7a1c4ae730db222a6d6ada9ec275000000000000000000000000a7a90d5a67095a52073e3a71097ecb7d8d2af009000000000000000000000000dceef88c8fe72fc73fd21924606f878c1a9e4c81000000000000000000000000a7b7f1976dc6889c454e24bb7ee41c5c41b347640000000000000000000000001aa2b709e2f6308b4822a2e46f82f0bde2879bcf00000000000000000000000093b9830e92e8e84e84f9bfb8f33a70af37b478540000000000000000000000000510b337b4b8f96dd0ac7423a8fe3eabaac6573e000000000000000000000000310e8c519b3d8f2e48df16dd5eff5a0eb4070bed00000000000000000000000098c251693513cb5e0d435c49f71a23094dcc6a6a000000000000000000000000eb8b8e35faf85e53ed98f2271874b191f62967370000000000000000000000002143ced53f12b1a244e6665769e0d3a0637674790000000000000000000000008ab9829ccc7704d8d453642a9928bdb4d98fddd40000000000000000000000004e28f2bae5b7cab93836049e092419db1b7b8116000000000000000000000000ac57e69a55e2f3ca34ebb079e3f4a7088f36d7270000000000000000000000003bda4f7dce1121210163169bdbd75dd39c5a217300000000000000000000000065f3019a75931101189ad7399847b2821a193e980000000000000000000000009bb6000999a16c89ead0b7d1b1c08e644734597f000000000000000000000000b0920b2153650c5871056b8a931ed5ba2a2e9b150000000000000000000000000eb9281b7985e295a65682545ba1152a52c7d4fb00000000000000000000000077c612a12169d247dbe508a0bce17353365ab47f00000000000000000000000031594337cf57916ea3f9ac0e9f2aabf0c687e11d000000000000000000000000c60003909d9a4895c40d90acc86409e79e4c1057000000000000000000000000a4516aee956f1fe7e43a8f21088e72bd369d6bf900000000000000000000000029ca71a8f2192cffc5fc0ed82fb893bd2f5db5e700000000000000000000000028f4310aaf879179221e519a97960e95428817120000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000a7558028c82fe40000000000000000000000000000000000000000000000000053444835ec580000000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000001bc16d674ec800000000000000000000000000000000000000000000000000000f43967fe1b0b4000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000d7621dc582100000000000000000000000000000000000000000000000000000d529ae9e86000000000000000000000000000000000000000000000000000000c7d713b49da00000000000000000000000000000000000000000000000000000c6e60f95c0100000000000000000000000000000000000000000000000000000b1a2bc2ec50000000000000000000000000000000000000000000000000000009ac4e2d940da00000000000000000000000000000000000000000000000000009935f581f0500000000000000000000000000000000000000000000000000000928ca80cfc200000000000000000000000000000000000000000000000000000853a0d2313c000000000000000000000000000000000000000000000000000007e7f77e5df600000000000000000000000000000000000000000000000000000785ff47eb9ea506000000000000000000000000000000000000000000000000076cb3aa5ad5800000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f00066c337c00000000000000000000000000000000000000000000000000006ccbf48ea05935c0000000000000000000000000000000000000000000000000625da27237f800000000000000000000000000000000000000000000000000005d423c655aa000000000000000000000000000000000000000000000000000004fefa17b72400000000000000000000000000000000000000000000000000000494654067e10000000000000000000000000000000000000000000000000000044587c7c77ae7c30000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000004064976a8dd000000000000000000000000000000000000000000000000000003cfe66d70222800000000000000000000000000000000000000000000000000039499a2100d0000000000000000000000000000000000000000000000000000032d92496590800000000000000000000000000000000000000000000000000003153e709c0c0400000000000000000000000000000000000000000000000000030d98d59a96000000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb140000000000000000000000000000000000000000000000000000027f7d0bdb9200000000000000000000000000000000000000000000000000000256cdc76e0aa9f6000000000000000000000000000000000000000000000000023779280a30b93600000000000000000000000000000000000000000000000001e6e06ad9bedbd000000000000000000000000000000000000000000000000001ddd709924a400000000000000000000000000000000000000000000000000001d882cb9b20800000000000000000000000000000000000000000000000000001cdda4faccd000000000000000000000000000000000000000000000000000001aa535d3d0c000000000000000000000000000000000000000000000000000001885de08d923ea00000000000000000000000000000000000000000000000000186cc6acd4b000000000000000000000000000000000000000000000000000001820bb6f5e6c3f6000000000000000000000000000000000000000000000000017c23eedef78000000000000000000000000000000000000000000000000000016a3382ff3be62a000000000000000000000000000000000000000000000000016788dd23450000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000015f2a3b10e01c00000000000000000000000000000000000000000000000000015ecc6a95c4500000000000000000000000000000000000000000000000000001560c54b5af6000000000000000000000000000000000000000000000000000013fbe85edc90000000000000000000000000000000000000000000000000000013fbe85edc90000000000000000000000000000000000000000000000000000013fbe85edc9000000000000000000000000000000000000000000000000000001235290c79500000000000000000000000000000000000000000000000000000110fac58a3c3000000000000000000000000000000000000000000000000000010e0198eaee000000000000000000000000000000000000000000000000000000ffcb9e57d4000000000000000000000000000000000000000000000000000000fb88399219000000000000000000000000000000000000000000000000000000f8b0a10e47000000000000000000000000000000000000000000000000000000ee08251ff3800000000000000000000000000000000000000000000000000000da7dec95afc00000000000000000000000000000000000000000000000000000d7c19cfd35a00000000000000000000000000000000000000000000000000000d362ef4c22c00000000000000000000000000000000000000000000000000000ce0eb154f9000000000000000000000000000000000000000000000000000000c824b8b62371b900000000000000000000000000000000000000000000000000c67d780f99e00000000000000000000000000000000000000000000000000000c3663566a5800000000000000000000000000000000000000000000000000000b202925d4493b000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000ae153d89fe800000000000000000000000000000000000000000000000000000a2409f7ee46000000000000000000000000000000000000000000000000000009fdf42f6e48000000000000000000000000000000000000000000000000000009d52e1df101a92000000000000000000000000000000000000000000000000009c51c4521e000000000000000000000000000000000000000000000000000000991f38bdd1c0000000000000000000000000000000000000000000000000000092aa5ea0bacc000000000000000000000000000000000000000000000000000090583ebfde1844000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008a8e4b1a3d8000000000000000000000000000000000000000000000000000008a8e4b1a3d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x5a550913e8d9d08e26cabd197dfff6345fb20c862f4acd76941526a95ca8a011555b79d8b11e44925af6c2fa417f1e57b0252df2e487ab9d4e0123b2a7ee695e1bf63430965cacb2bb40f7888d2e633b7729eeeafacd08652220daff6b2660f97926ef760e253967676e1ceb3e68a5149211acafdb53ff75f58e73a3deb73806071cd10f82e16738ccbbdaee2a6875d29f9fec2ef3bfc7bd2c13514ebef8e1ff768a6a80dc8b23e13344442a8fdd4fc3bb139e79a85abee8d13594f9a7b1d55d428c1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x2d3dd1\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc69839881000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001b84174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000001696a911cb799608b1ccbfd84b21803dd615be6a000000000000000000000000b000524c5de61cb27c01567cf82e6cdcd252d809000000000000000000000000201b5abfd44a8f9b75f0fe1bae74cdac7675e54b000000000000000000000000fa89ec40699bbfd749c4eb6643dc2b22ff0e2aa600000000000000000000000015ba3fca21f8b20f145e1536a433a65bfcda7ad6000000000000000000000000455405eaff9d4391bdb1ffd3cdd09953109a2aca000000000000000000000000329c8bec2e66633caf5289daf6a08a53e55308f900000000000000000000000005b5f0f2c0107ee203132903a5dac30e587e7ad2000000000000000000000000dcd4d39c93990f366e601c3a083e90146d5d13d800000000000000000000000007cbc5bffee7b95cf72526df4da2e32ac9fd242e000000000000000000000000366b6be122c14591010810cb5539410e076924a5000000000000000000000000eada0167a1e12f43f53a39af051932e73ded6868000000000000000000000000a40fed6138769b66de011ff72d9c9de53e6572f100000000000000000000000097fa3a7c5caedb67ad4bf5f233c34b28f9ac590d0000000000000000000000005709577f162ea5b815104961ff955d9549ba5047000000000000000000000000fb4e07d3bb212a873816bc894f6c24ce84465a54000000000000000000000000ee4d973a7972935b0d613dc70f9e666a5e45a7ba0000000000000000000000008a82d146b24d224858f930566cba1b108589f94e00000000000000000000000016ea94d9e9bc03960355c57be2b68a5dc0a4b27f0000000000000000000000004e1df28e4473673854d90fa847af1c90ea6606a90000000000000000000000003c31e46acb52f230457c379249a04b1879e86f85000000000000000000000000af7ad8c63072c848d48abd44a3301b631ddfefcc000000000000000000000000f66913fb65b77fb22cbad5864be4b56ea4f8c693000000000000000000000000a654b921e43662422f86745dd2b14df8e9e4d595000000000000000000000000def28f5c5d71e0a0dbf34652d637762cdbc5d79e0000000000000000000000005e518d06bdf9d0ff04baef4448996b583e13e9fe000000000000000000000000107308d558f116f83299d895c78e3de69fc6e8090000000000000000000000006f63e5830a3d72636f2aa35e6cc95c84c4240f820000000000000000000000003af0f1966186e9613d348b8eec103bbb5d271f4a000000000000000000000000519fa95765135191a7ebcb83062c55454d7f41040000000000000000000000005011739d37ef1939374a012573ab85b6bcea1cff0000000000000000000000004068c1fdeb99be166f4d43b14819b437344230f6000000000000000000000000e3dc66bf249ed8b6dec7a7a8c6f49fd78dcaf16e00000000000000000000000086c24fbeb07b96392ad88daee44f98c2d4c590c3000000000000000000000000befc15f65274bbb680976513b6e74bf0181e46e4000000000000000000000000b283572bb0c56e1252c5acce6ee4686da9689b2c00000000000000000000000021d83329ddb737e39ec7eb710eec84b3e0ff39c00000000000000000000000007b284ead6f87c4084f7a91bfde4138ec72f354cf000000000000000000000000005b41103d59ec8f966ea98229ba9409479e4ea00000000000000000000000003a2ed3fcb00814e325eadbaba88bb903047c3fed00000000000000000000000052652cdd2a98030bae46c8ac782150b2436c51e9000000000000000000000000d56de73036ca986fabbc144da080896ef274de1a0000000000000000000000004657c4f5073c1ec77f52ae2671bb238fd21404a3000000000000000000000000438aba433d029f8576078f26d543037daf2222220000000000000000000000001a7e2ca67acc18cfd1ef492671bb5303a2c012660000000000000000000000007f1be0566712941985b71d5fa625f5a5ea2add49000000000000000000000000d728489711d19410320617cbbd97da8f10831ddd00000000000000000000000017254d13fb3bd85009b1b83426efeb7ff39249fa00000000000000000000000047782f8494c090bf5faf0e79d8b6cc0b8e774352000000000000000000000000f68d7facf1e78ae371480547da465c5a0a42fd2b0000000000000000000000003724cf4018a20c6fe227f7c710f97b5999aa1f6b0000000000000000000000000e67ade795cd2a6918d273b3f59487aa180ad63d00000000000000000000000009a09c3d229175859ec3a75e919767df04612354000000000000000000000000ffa0a4e79f7297c99085a0c33224f3ad92c62f5d00000000000000000000000073999ec31f59499fd442e74380612bc376940abd00000000000000000000000018b0a909c5fb8034822e0867431cdc957dc1cc1f0000000000000000000000003dd86905fd5e25f3c20338ccefeaafa94611124e000000000000000000000000236ddcbec59db65e1641c11adab444bf159ae3b5000000000000000000000000107e0c10f250824fb83380c65bc8e87baa0e479000000000000000000000000096440ab4988dfe0dcb4c288ac10bf1ead6fe1d1d0000000000000000000000001eb8f93282e7bf3b312e0a325a2d920697dbb68f000000000000000000000000670d42465567ae7e449145cbc4f5de9d82dff82700000000000000000000000018eb2a28acb2170cb2f95d904889ef8d255e8d890000000000000000000000008fc8f5ee2e09eb75c8786bec8e4bb505c3d98b300000000000000000000000005b16daa1f7d5c52994f46cc0cb2f8fe240cf093b000000000000000000000000b0c07fc40fda8a7cdf8a7683f66347ff5d6efe17000000000000000000000000f6af03657d52a0df99d588aec0d25400ceee932900000000000000000000000042fb1432fce71c7ad74bdfa362661d3502407e8f0000000000000000000000004658a8e637a7401f25b489fa27c96cde239d134c000000000000000000000000f2f9a2738a2f5340cca5fab5c2fdeba69e0d437c000000000000000000000000b8db687237cf16325758382431299f272072737e000000000000000000000000599a7c81ab278a329c20c1919b4d6f519ceb053a000000000000000000000000fdd80311e3bba62cc0999d7f3a9d39dcfb9527bb000000000000000000000000b66f681b57349ac241a97924f9f00cdf66512165000000000000000000000000427a2f81ff4a400175e74925b166d49312fb9261000000000000000000000000d24b891825af7a1c4ae730db222a6d6ada9ec275000000000000000000000000a7a90d5a67095a52073e3a71097ecb7d8d2af009000000000000000000000000dceef88c8fe72fc73fd21924606f878c1a9e4c81000000000000000000000000a7b7f1976dc6889c454e24bb7ee41c5c41b347640000000000000000000000001aa2b709e2f6308b4822a2e46f82f0bde2879bcf00000000000000000000000093b9830e92e8e84e84f9bfb8f33a70af37b478540000000000000000000000000510b337b4b8f96dd0ac7423a8fe3eabaac6573e000000000000000000000000310e8c519b3d8f2e48df16dd5eff5a0eb4070bed00000000000000000000000098c251693513cb5e0d435c49f71a23094dcc6a6a000000000000000000000000eb8b8e35faf85e53ed98f2271874b191f62967370000000000000000000000002143ced53f12b1a244e6665769e0d3a0637674790000000000000000000000008ab9829ccc7704d8d453642a9928bdb4d98fddd40000000000000000000000004e28f2bae5b7cab93836049e092419db1b7b8116000000000000000000000000ac57e69a55e2f3ca34ebb079e3f4a7088f36d7270000000000000000000000003bda4f7dce1121210163169bdbd75dd39c5a217300000000000000000000000065f3019a75931101189ad7399847b2821a193e980000000000000000000000009bb6000999a16c89ead0b7d1b1c08e644734597f000000000000000000000000b0920b2153650c5871056b8a931ed5ba2a2e9b150000000000000000000000000eb9281b7985e295a65682545ba1152a52c7d4fb00000000000000000000000077c612a12169d247dbe508a0bce17353365ab47f00000000000000000000000031594337cf57916ea3f9ac0e9f2aabf0c687e11d000000000000000000000000c60003909d9a4895c40d90acc86409e79e4c1057000000000000000000000000a4516aee956f1fe7e43a8f21088e72bd369d6bf900000000000000000000000029ca71a8f2192cffc5fc0ed82fb893bd2f5db5e700000000000000000000000028f4310aaf879179221e519a97960e95428817120000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000a7558028c82fe40000000000000000000000000000000000000000000000000053444835ec580000000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000001bc16d674ec800000000000000000000000000000000000000000000000000000f43967fe1b0b4000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000d7621dc582100000000000000000000000000000000000000000000000000000d529ae9e86000000000000000000000000000000000000000000000000000000c7d713b49da00000000000000000000000000000000000000000000000000000c6e60f95c0100000000000000000000000000000000000000000000000000000b1a2bc2ec50000000000000000000000000000000000000000000000000000009ac4e2d940da00000000000000000000000000000000000000000000000000009935f581f0500000000000000000000000000000000000000000000000000000928ca80cfc200000000000000000000000000000000000000000000000000000853a0d2313c000000000000000000000000000000000000000000000000000007e7f77e5df600000000000000000000000000000000000000000000000000000785ff47eb9ea506000000000000000000000000000000000000000000000000076cb3aa5ad5800000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f00066c337c00000000000000000000000000000000000000000000000000006ccbf48ea05935c0000000000000000000000000000000000000000000000000625da27237f800000000000000000000000000000000000000000000000000005d423c655aa000000000000000000000000000000000000000000000000000004fefa17b72400000000000000000000000000000000000000000000000000000494654067e10000000000000000000000000000000000000000000000000000044587c7c77ae7c30000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000004064976a8dd000000000000000000000000000000000000000000000000000003cfe66d70222800000000000000000000000000000000000000000000000000039499a2100d0000000000000000000000000000000000000000000000000000032d92496590800000000000000000000000000000000000000000000000000003153e709c0c0400000000000000000000000000000000000000000000000000030d98d59a96000000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb140000000000000000000000000000000000000000000000000000027f7d0bdb9200000000000000000000000000000000000000000000000000000256cdc76e0aa9f6000000000000000000000000000000000000000000000000023779280a30b93600000000000000000000000000000000000000000000000001e6e06ad9bedbd000000000000000000000000000000000000000000000000001ddd709924a400000000000000000000000000000000000000000000000000001d882cb9b20800000000000000000000000000000000000000000000000000001cdda4faccd000000000000000000000000000000000000000000000000000001aa535d3d0c000000000000000000000000000000000000000000000000000001885de08d923ea00000000000000000000000000000000000000000000000000186cc6acd4b000000000000000000000000000000000000000000000000000001820bb6f5e6c3f6000000000000000000000000000000000000000000000000017c23eedef78000000000000000000000000000000000000000000000000000016a3382ff3be62a000000000000000000000000000000000000000000000000016788dd23450000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000015f2a3b10e01c00000000000000000000000000000000000000000000000000015ecc6a95c4500000000000000000000000000000000000000000000000000001560c54b5af6000000000000000000000000000000000000000000000000000013fbe85edc90000000000000000000000000000000000000000000000000000013fbe85edc90000000000000000000000000000000000000000000000000000013fbe85edc9000000000000000000000000000000000000000000000000000001235290c79500000000000000000000000000000000000000000000000000000110fac58a3c3000000000000000000000000000000000000000000000000000010e0198eaee000000000000000000000000000000000000000000000000000000ffcb9e57d4000000000000000000000000000000000000000000000000000000fb88399219000000000000000000000000000000000000000000000000000000f8b0a10e47000000000000000000000000000000000000000000000000000000ee08251ff3800000000000000000000000000000000000000000000000000000da7dec95afc00000000000000000000000000000000000000000000000000000d7c19cfd35a00000000000000000000000000000000000000000000000000000d362ef4c22c00000000000000000000000000000000000000000000000000000ce0eb154f9000000000000000000000000000000000000000000000000000000c824b8b62371b900000000000000000000000000000000000000000000000000c67d780f99e00000000000000000000000000000000000000000000000000000c3663566a5800000000000000000000000000000000000000000000000000000b202925d4493b000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000ae153d89fe800000000000000000000000000000000000000000000000000000a2409f7ee46000000000000000000000000000000000000000000000000000009fdf42f6e48000000000000000000000000000000000000000000000000000009d52e1df101a92000000000000000000000000000000000000000000000000009c51c4521e000000000000000000000000000000000000000000000000000000991f38bdd1c0000000000000000000000000000000000000000000000000000092aa5ea0bacc000000000000000000000000000000000000000000000000000090583ebfde1844000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008a8e4b1a3d8000000000000000000000000000000000000000000000000000008a8e4b1a3d800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c35a550913e8d9d08e26cabd197dfff6345fb20c862f4acd76941526a95ca8a011555b79d8b11e44925af6c2fa417f1e57b0252df2e487ab9d4e0123b2a7ee695e1bf63430965cacb2bb40f7888d2e633b7729eeeafacd08652220daff6b2660f97926ef760e253967676e1ceb3e68a5149211acafdb53ff75f58e73a3deb73806071cd10f82e16738ccbbdaee2a6875d29f9fec2ef3bfc7bd2c13514ebef8e1ff768a6a80dc8b23e13344442a8fdd4fc3bb139e79a85abee8d13594f9a7b1d55d428c1b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x1f\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xb31497\",\n      \"logs\": [\n        {\n          \"address\": \"0x49048044d57e1c92a77f79988d21fa8faf74e97e\",\n          \"topics\": [\n            \"0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32\",\n            \"0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167\",\n            \"0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000019cd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e848000501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000001696a911cb799608b1ccbfd84b21803dd615be6a000000000000000000000000b000524c5de61cb27c01567cf82e6cdcd252d809000000000000000000000000201b5abfd44a8f9b75f0fe1bae74cdac7675e54b000000000000000000000000fa89ec40699bbfd749c4eb6643dc2b22ff0e2aa600000000000000000000000015ba3fca21f8b20f145e1536a433a65bfcda7ad6000000000000000000000000455405eaff9d4391bdb1ffd3cdd09953109a2aca000000000000000000000000329c8bec2e66633caf5289daf6a08a53e55308f900000000000000000000000005b5f0f2c0107ee203132903a5dac30e587e7ad2000000000000000000000000dcd4d39c93990f366e601c3a083e90146d5d13d800000000000000000000000007cbc5bffee7b95cf72526df4da2e32ac9fd242e000000000000000000000000366b6be122c14591010810cb5539410e076924a5000000000000000000000000eada0167a1e12f43f53a39af051932e73ded6868000000000000000000000000a40fed6138769b66de011ff72d9c9de53e6572f100000000000000000000000097fa3a7c5caedb67ad4bf5f233c34b28f9ac590d0000000000000000000000005709577f162ea5b815104961ff955d9549ba5047000000000000000000000000fb4e07d3bb212a873816bc894f6c24ce84465a54000000000000000000000000ee4d973a7972935b0d613dc70f9e666a5e45a7ba0000000000000000000000008a82d146b24d224858f930566cba1b108589f94e00000000000000000000000016ea94d9e9bc03960355c57be2b68a5dc0a4b27f0000000000000000000000004e1df28e4473673854d90fa847af1c90ea6606a90000000000000000000000003c31e46acb52f230457c379249a04b1879e86f85000000000000000000000000af7ad8c63072c848d48abd44a3301b631ddfefcc000000000000000000000000f66913fb65b77fb22cbad5864be4b56ea4f8c693000000000000000000000000a654b921e43662422f86745dd2b14df8e9e4d595000000000000000000000000def28f5c5d71e0a0dbf34652d637762cdbc5d79e0000000000000000000000005e518d06bdf9d0ff04baef4448996b583e13e9fe000000000000000000000000107308d558f116f83299d895c78e3de69fc6e8090000000000000000000000006f63e5830a3d72636f2aa35e6cc95c84c4240f820000000000000000000000003af0f1966186e9613d348b8eec103bbb5d271f4a000000000000000000000000519fa95765135191a7ebcb83062c55454d7f41040000000000000000000000005011739d37ef1939374a012573ab85b6bcea1cff0000000000000000000000004068c1fdeb99be166f4d43b14819b437344230f6000000000000000000000000e3dc66bf249ed8b6dec7a7a8c6f49fd78dcaf16e00000000000000000000000086c24fbeb07b96392ad88daee44f98c2d4c590c3000000000000000000000000befc15f65274bbb680976513b6e74bf0181e46e4000000000000000000000000b283572bb0c56e1252c5acce6ee4686da9689b2c00000000000000000000000021d83329ddb737e39ec7eb710eec84b3e0ff39c00000000000000000000000007b284ead6f87c4084f7a91bfde4138ec72f354cf000000000000000000000000005b41103d59ec8f966ea98229ba9409479e4ea00000000000000000000000003a2ed3fcb00814e325eadbaba88bb903047c3fed00000000000000000000000052652cdd2a98030bae46c8ac782150b2436c51e9000000000000000000000000d56de73036ca986fabbc144da080896ef274de1a0000000000000000000000004657c4f5073c1ec77f52ae2671bb238fd21404a3000000000000000000000000438aba433d029f8576078f26d543037daf2222220000000000000000000000001a7e2ca67acc18cfd1ef492671bb5303a2c012660000000000000000000000007f1be0566712941985b71d5fa625f5a5ea2add49000000000000000000000000d728489711d19410320617cbbd97da8f10831ddd00000000000000000000000017254d13fb3bd85009b1b83426efeb7ff39249fa00000000000000000000000047782f8494c090bf5faf0e79d8b6cc0b8e774352000000000000000000000000f68d7facf1e78ae371480547da465c5a0a42fd2b0000000000000000000000003724cf4018a20c6fe227f7c710f97b5999aa1f6b0000000000000000000000000e67ade795cd2a6918d273b3f59487aa180ad63d00000000000000000000000009a09c3d229175859ec3a75e919767df04612354000000000000000000000000ffa0a4e79f7297c99085a0c33224f3ad92c62f5d00000000000000000000000073999ec31f59499fd442e74380612bc376940abd00000000000000000000000018b0a909c5fb8034822e0867431cdc957dc1cc1f0000000000000000000000003dd86905fd5e25f3c20338ccefeaafa94611124e000000000000000000000000236ddcbec59db65e1641c11adab444bf159ae3b5000000000000000000000000107e0c10f250824fb83380c65bc8e87baa0e479000000000000000000000000096440ab4988dfe0dcb4c288ac10bf1ead6fe1d1d0000000000000000000000001eb8f93282e7bf3b312e0a325a2d920697dbb68f000000000000000000000000670d42465567ae7e449145cbc4f5de9d82dff82700000000000000000000000018eb2a28acb2170cb2f95d904889ef8d255e8d890000000000000000000000008fc8f5ee2e09eb75c8786bec8e4bb505c3d98b300000000000000000000000005b16daa1f7d5c52994f46cc0cb2f8fe240cf093b000000000000000000000000b0c07fc40fda8a7cdf8a7683f66347ff5d6efe17000000000000000000000000f6af03657d52a0df99d588aec0d25400ceee932900000000000000000000000042fb1432fce71c7ad74bdfa362661d3502407e8f0000000000000000000000004658a8e637a7401f25b489fa27c96cde239d134c000000000000000000000000f2f9a2738a2f5340cca5fab5c2fdeba69e0d437c000000000000000000000000b8db687237cf16325758382431299f272072737e000000000000000000000000599a7c81ab278a329c20c1919b4d6f519ceb053a000000000000000000000000fdd80311e3bba62cc0999d7f3a9d39dcfb9527bb000000000000000000000000b66f681b57349ac241a97924f9f00cdf66512165000000000000000000000000427a2f81ff4a400175e74925b166d49312fb9261000000000000000000000000d24b891825af7a1c4ae730db222a6d6ada9ec275000000000000000000000000a7a90d5a67095a52073e3a71097ecb7d8d2af009000000000000000000000000dceef88c8fe72fc73fd21924606f878c1a9e4c81000000000000000000000000a7b7f1976dc6889c454e24bb7ee41c5c41b347640000000000000000000000001aa2b709e2f6308b4822a2e46f82f0bde2879bcf00000000000000000000000093b9830e92e8e84e84f9bfb8f33a70af37b478540000000000000000000000000510b337b4b8f96dd0ac7423a8fe3eabaac6573e000000000000000000000000310e8c519b3d8f2e48df16dd5eff5a0eb4070bed00000000000000000000000098c251693513cb5e0d435c49f71a23094dcc6a6a000000000000000000000000eb8b8e35faf85e53ed98f2271874b191f62967370000000000000000000000002143ced53f12b1a244e6665769e0d3a0637674790000000000000000000000008ab9829ccc7704d8d453642a9928bdb4d98fddd40000000000000000000000004e28f2bae5b7cab93836049e092419db1b7b8116000000000000000000000000ac57e69a55e2f3ca34ebb079e3f4a7088f36d7270000000000000000000000003bda4f7dce1121210163169bdbd75dd39c5a217300000000000000000000000065f3019a75931101189ad7399847b2821a193e980000000000000000000000009bb6000999a16c89ead0b7d1b1c08e644734597f000000000000000000000000b0920b2153650c5871056b8a931ed5ba2a2e9b150000000000000000000000000eb9281b7985e295a65682545ba1152a52c7d4fb00000000000000000000000077c612a12169d247dbe508a0bce17353365ab47f00000000000000000000000031594337cf57916ea3f9ac0e9f2aabf0c687e11d000000000000000000000000c60003909d9a4895c40d90acc86409e79e4c1057000000000000000000000000a4516aee956f1fe7e43a8f21088e72bd369d6bf900000000000000000000000029ca71a8f2192cffc5fc0ed82fb893bd2f5db5e700000000000000000000000028f4310aaf879179221e519a97960e95428817120000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000a7558028c82fe40000000000000000000000000000000000000000000000000053444835ec580000000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000001bc16d674ec800000000000000000000000000000000000000000000000000000f43967fe1b0b4000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000d7621dc582100000000000000000000000000000000000000000000000000000d529ae9e86000000000000000000000000000000000000000000000000000000c7d713b49da00000000000000000000000000000000000000000000000000000c6e60f95c0100000000000000000000000000000000000000000000000000000b1a2bc2ec50000000000000000000000000000000000000000000000000000009ac4e2d940da00000000000000000000000000000000000000000000000000009935f581f0500000000000000000000000000000000000000000000000000000928ca80cfc200000000000000000000000000000000000000000000000000000853a0d2313c000000000000000000000000000000000000000000000000000007e7f77e5df600000000000000000000000000000000000000000000000000000785ff47eb9ea506000000000000000000000000000000000000000000000000076cb3aa5ad5800000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f00066c337c00000000000000000000000000000000000000000000000000006ccbf48ea05935c0000000000000000000000000000000000000000000000000625da27237f800000000000000000000000000000000000000000000000000005d423c655aa000000000000000000000000000000000000000000000000000004fefa17b72400000000000000000000000000000000000000000000000000000494654067e10000000000000000000000000000000000000000000000000000044587c7c77ae7c30000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000004064976a8dd000000000000000000000000000000000000000000000000000003cfe66d70222800000000000000000000000000000000000000000000000000039499a2100d0000000000000000000000000000000000000000000000000000032d92496590800000000000000000000000000000000000000000000000000003153e709c0c0400000000000000000000000000000000000000000000000000030d98d59a96000000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb140000000000000000000000000000000000000000000000000000027f7d0bdb9200000000000000000000000000000000000000000000000000000256cdc76e0aa9f6000000000000000000000000000000000000000000000000023779280a30b93600000000000000000000000000000000000000000000000001e6e06ad9bedbd000000000000000000000000000000000000000000000000001ddd709924a400000000000000000000000000000000000000000000000000001d882cb9b20800000000000000000000000000000000000000000000000000001cdda4faccd000000000000000000000000000000000000000000000000000001aa535d3d0c000000000000000000000000000000000000000000000000000001885de08d923ea00000000000000000000000000000000000000000000000000186cc6acd4b000000000000000000000000000000000000000000000000000001820bb6f5e6c3f6000000000000000000000000000000000000000000000000017c23eedef78000000000000000000000000000000000000000000000000000016a3382ff3be62a000000000000000000000000000000000000000000000000016788dd23450000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000015f2a3b10e01c00000000000000000000000000000000000000000000000000015ecc6a95c4500000000000000000000000000000000000000000000000000001560c54b5af6000000000000000000000000000000000000000000000000000013fbe85edc90000000000000000000000000000000000000000000000000000013fbe85edc90000000000000000000000000000000000000000000000000000013fbe85edc9000000000000000000000000000000000000000000000000000001235290c79500000000000000000000000000000000000000000000000000000110fac58a3c3000000000000000000000000000000000000000000000000000010e0198eaee000000000000000000000000000000000000000000000000000000ffcb9e57d4000000000000000000000000000000000000000000000000000000fb88399219000000000000000000000000000000000000000000000000000000f8b0a10e47000000000000000000000000000000000000000000000000000000ee08251ff3800000000000000000000000000000000000000000000000000000da7dec95afc00000000000000000000000000000000000000000000000000000d7c19cfd35a00000000000000000000000000000000000000000000000000000d362ef4c22c00000000000000000000000000000000000000000000000000000ce0eb154f9000000000000000000000000000000000000000000000000000000c824b8b62371b900000000000000000000000000000000000000000000000000c67d780f99e00000000000000000000000000000000000000000000000000000c3663566a5800000000000000000000000000000000000000000000000000000b202925d4493b000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000ae153d89fe800000000000000000000000000000000000000000000000000000a2409f7ee46000000000000000000000000000000000000000000000000000009fdf42f6e48000000000000000000000000000000000000000000000000000009d52e1df101a92000000000000000000000000000000000000000000000000009c51c4521e000000000000000000000000000000000000000000000000000000991f38bdd1c0000000000000000000000000000000000000000000000000000092aa5ea0bacc000000000000000000000000000000000000000000000000000090583ebfde1844000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008a8e4b1a3d8000000000000000000000000000000000000000000000000000008a8e4b1a3d800000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x850acdb7c59d58e8bd278270ec7e70efb22c5d9fe764ef108c53c423fdf82f95\",\n          \"blockNumber\": \"0x15fb209\",\n          \"blockTimestamp\": \"0x688d27c3\",\n          \"transactionHash\": \"0x55783ffc82abe4227d68c3e53916058f122886f2bb86822c2c4d3bbbf0f8ef04\",\n          \"transactionIndex\": \"0x7a\",\n          \"logIndex\": \"0x127\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x293ec703c572f3e057b81391d5b485c91c7afc8aeb5657e32a90344b3397c0aa0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x850acdb7c59d58e8bd278270ec7e70efb22c5d9fe764ef108c53c423fdf82f95\",\n          \"blockNumber\": \"0x15fb209\",\n          \"blockTimestamp\": \"0x688d27c3\",\n          \"transactionHash\": \"0x55783ffc82abe4227d68c3e53916058f122886f2bb86822c2c4d3bbbf0f8ef04\",\n          \"transactionIndex\": \"0x7a\",\n          \"logIndex\": \"0x128\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000004000042000000000000000000080000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000002000000400000000000000002000000000000000c0000000000000000000000000000000800000000040000000000000000000200000000000000000000000000020000000000020000a0000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x55783ffc82abe4227d68c3e53916058f122886f2bb86822c2c4d3bbbf0f8ef04\",\n      \"transactionIndex\": \"0x7a\",\n      \"blockHash\": \"0x850acdb7c59d58e8bd278270ec7e70efb22c5d9fe764ef108c53c423fdf82f95\",\n      \"blockNumber\": \"0x15fb209\",\n      \"gasUsed\": \"0x20c107\",\n      \"effectiveGasPrice\": \"0x2233109a\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1754081221,\n  \"chain\": 1,\n  \"commit\": \"1fa78b1\"\n}"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/records/OPStackExecuteRecovery.s.sol/1/run-1754081917.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xa9114db7214f60481fac0eb21d414b67e015a8bcf18a559040e8e5c7edd7ba3f\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881\",\n        \"0\",\n        \"0x174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000beb5fc579115071764c7423a4f12edde41f106ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce0000000000000000000000000000000000000000000000000000000000000006400000000000000000000000088f5d29b88664371401b6786a01db137fc5fca61000000000000000000000000623859f6da03a9bd9587acf4ba53863ce2c9e32500000000000000000000000012f787d5833b8b65f9637a5d4bbb163b7db531e1000000000000000000000000ee49c8eddab1707b32db9c9263b85f9a38609d9c000000000000000000000000de55a6f7e8fe05ae1264577705b4d43fb7e49e8d00000000000000000000000084356ffcaeb364f4e5bcbe71862a67c97842a16b000000000000000000000000bc12a9b7da3cefe597c9e3f265b54342e22e2e64000000000000000000000000ddb1f53efd461ec0b71a967f08bfc2d71a2404dc000000000000000000000000c08fa3d9a67c74a7478964f470999b84af35d61900000000000000000000000077e15a151754ca638b89dc2fd5761de5c776bdf500000000000000000000000082dd4600e7ef8d1fe53fc1906b18fc511fa861ef0000000000000000000000008e70e6a8cc1783e01a02fab76e0371251f65cfb20000000000000000000000008aa7de0e5c4fe75b0e6f77fe62ad037aed05fc9f000000000000000000000000bfe30abdec1c649ac8b7fc4b79d7c844722430d80000000000000000000000002e75e9ceb9ed13e843628a5b277824e06e28c36000000000000000000000000044ebdb20908b124ae447b986b42e09c7ff65fee500000000000000000000000045d0765086c202fee211d55b6c010b51e978e379000000000000000000000000673b8f5ed1520ec242d2e633defe45efa360bdc5000000000000000000000000d2881cda4aca733e5ba73b75196913e4a1c9d91600000000000000000000000079dc78f23e2ec66aabdb98b584005b8305b09f27000000000000000000000000a0b0e61e3eafee16b8fa30d97bc49f4151070b4300000000000000000000000088f96204a47c3bd173b672a49f010149c4bd802c000000000000000000000000c1ff5cedc90ecf6bf2888edc450975d57eb0d27e000000000000000000000000b7630685fd05c6c25ac7508be15d67309cd457c0000000000000000000000000fa18b9047ad29f8b66b556da8e97af1b6a57e39c000000000000000000000000c1e6158ad96dae1ed7e3a1d6358b1ed806ecd3240000000000000000000000003d5f396fed79ed47d52e4f76454d500971c662a6000000000000000000000000786562bfdf880256a1a1e315bb0c48424b292fb10000000000000000000000001d77d267830d91610e2bb5876013d7dccbc31186000000000000000000000000f41084c75a910abf87a5c669f4b5481621a21720000000000000000000000000b8d738d819e43283257a8768e51850da0469493b0000000000000000000000008c6fc47b64b15f1aa0bb32cf86237717cdbb5215000000000000000000000000cc439258055449a8aeeff7435d04f211fa665abf00000000000000000000000051cd590315a39750775202c73a5c6ba70d684ea6000000000000000000000000265ef3e30fe964314a2b6ae6bfac32146ec7342400000000000000000000000093059a1683f5d250e739811ae783b06a6e89eeb2000000000000000000000000427c15132273e795dc7bc46aa98e53898f8a2f690000000000000000000000006b071d291038c4c953e7777a0d465a380d17b2f4000000000000000000000000e36052d993875a8bb256d5a651802d196b922a52000000000000000000000000886cf30e5f7c6f69ef1be1173a53a6dd04e769660000000000000000000000005d53deebf69c3c8267231e30d69cb26e05e69caa00000000000000000000000063b64520d7eef6e3fcdf2c2f8ffb022540bf9d51000000000000000000000000b241df251a541de2ac21e857a350692a909f1a78000000000000000000000000a013880084168c4c57dd49a10f61a8efa009a10d000000000000000000000000d21856efedaba0e60a3df7e8bfa89adeffc6433e000000000000000000000000190cb8ac64c5ff16419ae7101b49803b4f16f239000000000000000000000000cd526132dba5fe62a0e383c6342b86f06591988e000000000000000000000000d171713685a0162b78434a2abe9b5af7ffc22a220000000000000000000000006361cac2bd1391af556de4f24b76e21de71d75400000000000000000000000002c0df81c97f719fa2d3015b86f7ec1773c41166b000000000000000000000000631478c1bd538902ba285bc1fc204577f8d12ef2000000000000000000000000701a97be29a223b21c946fcc62c2afafdca53376000000000000000000000000f3f78c87e63c73d9f2ff96d6d45678730c29cb84000000000000000000000000c8cf6b03c2aa80de2579df02aa3bed1e716e16800000000000000000000000002917814b19ea662dcb781531e749bb094841ae95000000000000000000000000728b0bfc1f3979d59333b1d7da47da28d2d68f51000000000000000000000000a041e8fcfeb517d9682807b5c7822655e6d3da2000000000000000000000000075ac15ef1951d82e28a7eaa336444a9feb0d8080000000000000000000000000f7368d3022a5ed5d882816cb7f2f34e2c683e962000000000000000000000000bb5547f8b2cc4ff8d22fc5da655b97e8281abe8b000000000000000000000000354bafd73ae7fa85e8dd3d9fbf58e176ac893f5d000000000000000000000000439be4bd928c390ce81481a60c919f7c5955098f0000000000000000000000008f5457f7776191bc2381e6ce63c10c9a87c61abf000000000000000000000000e7869b527c806d414597e814ce579be727e5610c0000000000000000000000009e8d819703c20d73690ae7584ae60c2318beb7cd000000000000000000000000217b121d91b7211f3ab2d421aabe25615297dcc6000000000000000000000000029f781a6218d49b547ac058d0b045a07905e0890000000000000000000000004b5fb113a712fd3ab176bb530a6779f42f6275da00000000000000000000000009aa0efaf1b2cff22869dd0dc2f0ebac78b6a1c90000000000000000000000000b9effc1c884344e6d4d0da12e6d77c03d094b69000000000000000000000000245c817bb7c5648cdaddc96cee166173094391f6000000000000000000000000a71bb7f374f1c42c3497e53512d247be9edb78b4000000000000000000000000ef194d117fda93fe6ad2aedbf72a948ab65e80540000000000000000000000000e86e604ce320e0a227b748d62c5ec4523825e3f00000000000000000000000030981e13e59b0fa3c07c42faad64d8ec15c09342000000000000000000000000ea07b4680eea83ced3c8b1dde0862980253dc731000000000000000000000000cca65ea3449566d7cc2f6589ba126adc0c151eb700000000000000000000000031bf5793976c10aed933787896c394e158271fdf000000000000000000000000670c82562f740b8e7e0d9dc19358072271672509000000000000000000000000c7177a8921f130078cee5ab430e336bcff303924000000000000000000000000065c8299c3c42b448d8ed3d297837370cbdec04200000000000000000000000073b3569042b1bb104f7fc74ee30925d62534d0650000000000000000000000009c64605387a115cd2f382ea87a30c5188da1cf1b0000000000000000000000009631288f4050f7cfbf77b77f8540decf6cfc7012000000000000000000000000341ebe93e30ee11ae4e3ea4bf1492cdbf44f065a000000000000000000000000efd36d022c0099579715382d5bc929f16e14a984000000000000000000000000853793e1322b8b5f7ac5b1106013e746606459a9000000000000000000000000854f2922c387c0d11698378f46dab496433e449a00000000000000000000000062f89eaf4a53f81bece4ce9458c8a5bb902a1c87000000000000000000000000be2d5c4b0a80a2e9960e0969f3510b5c1efbde7200000000000000000000000091eaf9003bb447fe0bc616821f9d728eb256258c00000000000000000000000096ee49d020655ae66d5c678a238e48c44e5f65dd000000000000000000000000a27eacdcf251dbe4dfaf9b0865be8cb0195db0f50000000000000000000000005d2e73dd5a395384961d60982a64cea4aea2dcfe000000000000000000000000d21895ecac23f5f3e9fa67180ca7e1fec3223140000000000000000000000000aa89ca05646e598210a9478db27ef5e8c803a0bf000000000000000000000000aae2040f30725e3ba320dc4de4a11e5979f21f13000000000000000000000000c4130e106837730560b534d64d488a502096fded0000000000000000000000008c88244d23f96336439eb68c21326e29013b5b410000000000000000000000009b25e5fb1c608a6be07a8bdd354d6f09eb94a0cd00000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000b1a2bc2ec500000000000000000000000000000000000000000000000000000077cb0644052c00000000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000002e62935a969f86a000000000000000000000000000000000000000000000000028a2587c9e58000000000000000000000000000000000000000000000000000013fbe85edc90000000000000000000000000000000000000000000000000000010a741a4627800000000000000000000000000000000000000000000000000000dfbd05b0a3526d00000000000000000000000000000000000000000000000000d4628c598cc40000000000000000000000000000000000000000000000000000bf6b93147f800000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec50000000000000000000000000000000000000000000000000000007c58508723800000000000000000000000000000000000000000000000000000755cab2b6e74f4000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000005ea6e64d78d4d80000000000000000000000000000000000000000000000000058d15e1762800000000000000000000000000000000000000000000000000000470de4df820000000000000000000000000000000000000000000000000000004380663abb80000000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001ac504a211a6cc000000000000000000000000000000000000000000000000001aa535d3d0c0000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d8000000000000000000000000000000000000000000000000000001550f7dca700000000000000000000000000000000000000000000000000000014401eab3840000000000000000000000000000000000000000000000000000013bf40e519fc0000000000000000000000000000000000000000000000000000132fc7be76e9d50000000000000000000000000000000000000000000000000012795f58d5000000000000000000000000000000000000000000000000000000121e6c485ac00000000000000000000000000000000000000000000000000000120b78d82100720000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e08000000000000000000000000000000000000000000000000000000f355fbf66a400000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000d4ff5fecb8862000000000000000000000000000000000000000000000000000c6f3b40b6c000000000000000000000000000000000000000000000000000000ac552fd9cac00000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee53800000000000000000000000000000000000000000000000000000094ee0494fc00000000000000000000000000000000000000000000000000000093cafac6a800000000000000000000000000000000000000000000000000000093cafac6a80000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008dc6aefcee221000000000000000000000000000000000000000000000000000822752aa262fa0000000000000000000000000000000000000000000000000007d0e36a818000000000000000000000000000000000000000000000000000000775f05a07400000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d00000000000000000000000000000000000000000000000000000006651728988000000000000000000000000000000000000000000000000000000665172898800000000000000000000000000000000000000000000000000000058e43fd5246e50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xe36e61cd8cb2b4fddbc008939135c8b7f1ae9122a4e4c6923beb5e505f97fb7d0d0505efaae576cd7df6829aa2bf61c2c91f2a40401525ea181ec4f74cf0d2301bbf4b48c348847782efb4fc17d54a419f15eda46d44bfe4d4e89a9edb940a8ed305baad1260c7284a4132369f0ed316eec2ae06258c273980debf0fd7227a058f1c0f0b749a7dc0b362562b364eda34c617b72684eb64cec1a6f194fc058920b1892d3d4cda16429e34eaf5f8cf54eef98795d7757cff85f9be518ee3b189f380f71c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x2d3aa0\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc69839881000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001b84174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000beb5fc579115071764c7423a4f12edde41f106ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce0000000000000000000000000000000000000000000000000000000000000006400000000000000000000000088f5d29b88664371401b6786a01db137fc5fca61000000000000000000000000623859f6da03a9bd9587acf4ba53863ce2c9e32500000000000000000000000012f787d5833b8b65f9637a5d4bbb163b7db531e1000000000000000000000000ee49c8eddab1707b32db9c9263b85f9a38609d9c000000000000000000000000de55a6f7e8fe05ae1264577705b4d43fb7e49e8d00000000000000000000000084356ffcaeb364f4e5bcbe71862a67c97842a16b000000000000000000000000bc12a9b7da3cefe597c9e3f265b54342e22e2e64000000000000000000000000ddb1f53efd461ec0b71a967f08bfc2d71a2404dc000000000000000000000000c08fa3d9a67c74a7478964f470999b84af35d61900000000000000000000000077e15a151754ca638b89dc2fd5761de5c776bdf500000000000000000000000082dd4600e7ef8d1fe53fc1906b18fc511fa861ef0000000000000000000000008e70e6a8cc1783e01a02fab76e0371251f65cfb20000000000000000000000008aa7de0e5c4fe75b0e6f77fe62ad037aed05fc9f000000000000000000000000bfe30abdec1c649ac8b7fc4b79d7c844722430d80000000000000000000000002e75e9ceb9ed13e843628a5b277824e06e28c36000000000000000000000000044ebdb20908b124ae447b986b42e09c7ff65fee500000000000000000000000045d0765086c202fee211d55b6c010b51e978e379000000000000000000000000673b8f5ed1520ec242d2e633defe45efa360bdc5000000000000000000000000d2881cda4aca733e5ba73b75196913e4a1c9d91600000000000000000000000079dc78f23e2ec66aabdb98b584005b8305b09f27000000000000000000000000a0b0e61e3eafee16b8fa30d97bc49f4151070b4300000000000000000000000088f96204a47c3bd173b672a49f010149c4bd802c000000000000000000000000c1ff5cedc90ecf6bf2888edc450975d57eb0d27e000000000000000000000000b7630685fd05c6c25ac7508be15d67309cd457c0000000000000000000000000fa18b9047ad29f8b66b556da8e97af1b6a57e39c000000000000000000000000c1e6158ad96dae1ed7e3a1d6358b1ed806ecd3240000000000000000000000003d5f396fed79ed47d52e4f76454d500971c662a6000000000000000000000000786562bfdf880256a1a1e315bb0c48424b292fb10000000000000000000000001d77d267830d91610e2bb5876013d7dccbc31186000000000000000000000000f41084c75a910abf87a5c669f4b5481621a21720000000000000000000000000b8d738d819e43283257a8768e51850da0469493b0000000000000000000000008c6fc47b64b15f1aa0bb32cf86237717cdbb5215000000000000000000000000cc439258055449a8aeeff7435d04f211fa665abf00000000000000000000000051cd590315a39750775202c73a5c6ba70d684ea6000000000000000000000000265ef3e30fe964314a2b6ae6bfac32146ec7342400000000000000000000000093059a1683f5d250e739811ae783b06a6e89eeb2000000000000000000000000427c15132273e795dc7bc46aa98e53898f8a2f690000000000000000000000006b071d291038c4c953e7777a0d465a380d17b2f4000000000000000000000000e36052d993875a8bb256d5a651802d196b922a52000000000000000000000000886cf30e5f7c6f69ef1be1173a53a6dd04e769660000000000000000000000005d53deebf69c3c8267231e30d69cb26e05e69caa00000000000000000000000063b64520d7eef6e3fcdf2c2f8ffb022540bf9d51000000000000000000000000b241df251a541de2ac21e857a350692a909f1a78000000000000000000000000a013880084168c4c57dd49a10f61a8efa009a10d000000000000000000000000d21856efedaba0e60a3df7e8bfa89adeffc6433e000000000000000000000000190cb8ac64c5ff16419ae7101b49803b4f16f239000000000000000000000000cd526132dba5fe62a0e383c6342b86f06591988e000000000000000000000000d171713685a0162b78434a2abe9b5af7ffc22a220000000000000000000000006361cac2bd1391af556de4f24b76e21de71d75400000000000000000000000002c0df81c97f719fa2d3015b86f7ec1773c41166b000000000000000000000000631478c1bd538902ba285bc1fc204577f8d12ef2000000000000000000000000701a97be29a223b21c946fcc62c2afafdca53376000000000000000000000000f3f78c87e63c73d9f2ff96d6d45678730c29cb84000000000000000000000000c8cf6b03c2aa80de2579df02aa3bed1e716e16800000000000000000000000002917814b19ea662dcb781531e749bb094841ae95000000000000000000000000728b0bfc1f3979d59333b1d7da47da28d2d68f51000000000000000000000000a041e8fcfeb517d9682807b5c7822655e6d3da2000000000000000000000000075ac15ef1951d82e28a7eaa336444a9feb0d8080000000000000000000000000f7368d3022a5ed5d882816cb7f2f34e2c683e962000000000000000000000000bb5547f8b2cc4ff8d22fc5da655b97e8281abe8b000000000000000000000000354bafd73ae7fa85e8dd3d9fbf58e176ac893f5d000000000000000000000000439be4bd928c390ce81481a60c919f7c5955098f0000000000000000000000008f5457f7776191bc2381e6ce63c10c9a87c61abf000000000000000000000000e7869b527c806d414597e814ce579be727e5610c0000000000000000000000009e8d819703c20d73690ae7584ae60c2318beb7cd000000000000000000000000217b121d91b7211f3ab2d421aabe25615297dcc6000000000000000000000000029f781a6218d49b547ac058d0b045a07905e0890000000000000000000000004b5fb113a712fd3ab176bb530a6779f42f6275da00000000000000000000000009aa0efaf1b2cff22869dd0dc2f0ebac78b6a1c90000000000000000000000000b9effc1c884344e6d4d0da12e6d77c03d094b69000000000000000000000000245c817bb7c5648cdaddc96cee166173094391f6000000000000000000000000a71bb7f374f1c42c3497e53512d247be9edb78b4000000000000000000000000ef194d117fda93fe6ad2aedbf72a948ab65e80540000000000000000000000000e86e604ce320e0a227b748d62c5ec4523825e3f00000000000000000000000030981e13e59b0fa3c07c42faad64d8ec15c09342000000000000000000000000ea07b4680eea83ced3c8b1dde0862980253dc731000000000000000000000000cca65ea3449566d7cc2f6589ba126adc0c151eb700000000000000000000000031bf5793976c10aed933787896c394e158271fdf000000000000000000000000670c82562f740b8e7e0d9dc19358072271672509000000000000000000000000c7177a8921f130078cee5ab430e336bcff303924000000000000000000000000065c8299c3c42b448d8ed3d297837370cbdec04200000000000000000000000073b3569042b1bb104f7fc74ee30925d62534d0650000000000000000000000009c64605387a115cd2f382ea87a30c5188da1cf1b0000000000000000000000009631288f4050f7cfbf77b77f8540decf6cfc7012000000000000000000000000341ebe93e30ee11ae4e3ea4bf1492cdbf44f065a000000000000000000000000efd36d022c0099579715382d5bc929f16e14a984000000000000000000000000853793e1322b8b5f7ac5b1106013e746606459a9000000000000000000000000854f2922c387c0d11698378f46dab496433e449a00000000000000000000000062f89eaf4a53f81bece4ce9458c8a5bb902a1c87000000000000000000000000be2d5c4b0a80a2e9960e0969f3510b5c1efbde7200000000000000000000000091eaf9003bb447fe0bc616821f9d728eb256258c00000000000000000000000096ee49d020655ae66d5c678a238e48c44e5f65dd000000000000000000000000a27eacdcf251dbe4dfaf9b0865be8cb0195db0f50000000000000000000000005d2e73dd5a395384961d60982a64cea4aea2dcfe000000000000000000000000d21895ecac23f5f3e9fa67180ca7e1fec3223140000000000000000000000000aa89ca05646e598210a9478db27ef5e8c803a0bf000000000000000000000000aae2040f30725e3ba320dc4de4a11e5979f21f13000000000000000000000000c4130e106837730560b534d64d488a502096fded0000000000000000000000008c88244d23f96336439eb68c21326e29013b5b410000000000000000000000009b25e5fb1c608a6be07a8bdd354d6f09eb94a0cd00000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000b1a2bc2ec500000000000000000000000000000000000000000000000000000077cb0644052c00000000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000002e62935a969f86a000000000000000000000000000000000000000000000000028a2587c9e58000000000000000000000000000000000000000000000000000013fbe85edc90000000000000000000000000000000000000000000000000000010a741a4627800000000000000000000000000000000000000000000000000000dfbd05b0a3526d00000000000000000000000000000000000000000000000000d4628c598cc40000000000000000000000000000000000000000000000000000bf6b93147f800000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec50000000000000000000000000000000000000000000000000000007c58508723800000000000000000000000000000000000000000000000000000755cab2b6e74f4000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000005ea6e64d78d4d80000000000000000000000000000000000000000000000000058d15e1762800000000000000000000000000000000000000000000000000000470de4df820000000000000000000000000000000000000000000000000000004380663abb80000000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001ac504a211a6cc000000000000000000000000000000000000000000000000001aa535d3d0c0000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d8000000000000000000000000000000000000000000000000000001550f7dca700000000000000000000000000000000000000000000000000000014401eab3840000000000000000000000000000000000000000000000000000013bf40e519fc0000000000000000000000000000000000000000000000000000132fc7be76e9d50000000000000000000000000000000000000000000000000012795f58d5000000000000000000000000000000000000000000000000000000121e6c485ac00000000000000000000000000000000000000000000000000000120b78d82100720000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e08000000000000000000000000000000000000000000000000000000f355fbf66a400000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000d4ff5fecb8862000000000000000000000000000000000000000000000000000c6f3b40b6c000000000000000000000000000000000000000000000000000000ac552fd9cac00000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee53800000000000000000000000000000000000000000000000000000094ee0494fc00000000000000000000000000000000000000000000000000000093cafac6a800000000000000000000000000000000000000000000000000000093cafac6a80000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008dc6aefcee221000000000000000000000000000000000000000000000000000822752aa262fa0000000000000000000000000000000000000000000000000007d0e36a818000000000000000000000000000000000000000000000000000000775f05a07400000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d00000000000000000000000000000000000000000000000000000006651728988000000000000000000000000000000000000000000000000000000665172898800000000000000000000000000000000000000000000000000000058e43fd5246e500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3e36e61cd8cb2b4fddbc008939135c8b7f1ae9122a4e4c6923beb5e505f97fb7d0d0505efaae576cd7df6829aa2bf61c2c91f2a40401525ea181ec4f74cf0d2301bbf4b48c348847782efb4fc17d54a419f15eda46d44bfe4d4e89a9edb940a8ed305baad1260c7284a4132369f0ed316eec2ae06258c273980debf0fd7227a058f1c0f0b749a7dc0b362562b364eda34c617b72684eb64cec1a6f194fc058920b1892d3d4cda16429e34eaf5f8cf54eef98795d7757cff85f9be518ee3b189f380f71c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x20\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xd0764f\",\n      \"logs\": [\n        {\n          \"address\": \"0xbeb5fc579115071764c7423a4f12edde41f106ed\",\n          \"topics\": [\n            \"0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32\",\n            \"0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167\",\n            \"0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000019cd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e848000501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce0000000000000000000000000000000000000000000000000000000000000006400000000000000000000000088f5d29b88664371401b6786a01db137fc5fca61000000000000000000000000623859f6da03a9bd9587acf4ba53863ce2c9e32500000000000000000000000012f787d5833b8b65f9637a5d4bbb163b7db531e1000000000000000000000000ee49c8eddab1707b32db9c9263b85f9a38609d9c000000000000000000000000de55a6f7e8fe05ae1264577705b4d43fb7e49e8d00000000000000000000000084356ffcaeb364f4e5bcbe71862a67c97842a16b000000000000000000000000bc12a9b7da3cefe597c9e3f265b54342e22e2e64000000000000000000000000ddb1f53efd461ec0b71a967f08bfc2d71a2404dc000000000000000000000000c08fa3d9a67c74a7478964f470999b84af35d61900000000000000000000000077e15a151754ca638b89dc2fd5761de5c776bdf500000000000000000000000082dd4600e7ef8d1fe53fc1906b18fc511fa861ef0000000000000000000000008e70e6a8cc1783e01a02fab76e0371251f65cfb20000000000000000000000008aa7de0e5c4fe75b0e6f77fe62ad037aed05fc9f000000000000000000000000bfe30abdec1c649ac8b7fc4b79d7c844722430d80000000000000000000000002e75e9ceb9ed13e843628a5b277824e06e28c36000000000000000000000000044ebdb20908b124ae447b986b42e09c7ff65fee500000000000000000000000045d0765086c202fee211d55b6c010b51e978e379000000000000000000000000673b8f5ed1520ec242d2e633defe45efa360bdc5000000000000000000000000d2881cda4aca733e5ba73b75196913e4a1c9d91600000000000000000000000079dc78f23e2ec66aabdb98b584005b8305b09f27000000000000000000000000a0b0e61e3eafee16b8fa30d97bc49f4151070b4300000000000000000000000088f96204a47c3bd173b672a49f010149c4bd802c000000000000000000000000c1ff5cedc90ecf6bf2888edc450975d57eb0d27e000000000000000000000000b7630685fd05c6c25ac7508be15d67309cd457c0000000000000000000000000fa18b9047ad29f8b66b556da8e97af1b6a57e39c000000000000000000000000c1e6158ad96dae1ed7e3a1d6358b1ed806ecd3240000000000000000000000003d5f396fed79ed47d52e4f76454d500971c662a6000000000000000000000000786562bfdf880256a1a1e315bb0c48424b292fb10000000000000000000000001d77d267830d91610e2bb5876013d7dccbc31186000000000000000000000000f41084c75a910abf87a5c669f4b5481621a21720000000000000000000000000b8d738d819e43283257a8768e51850da0469493b0000000000000000000000008c6fc47b64b15f1aa0bb32cf86237717cdbb5215000000000000000000000000cc439258055449a8aeeff7435d04f211fa665abf00000000000000000000000051cd590315a39750775202c73a5c6ba70d684ea6000000000000000000000000265ef3e30fe964314a2b6ae6bfac32146ec7342400000000000000000000000093059a1683f5d250e739811ae783b06a6e89eeb2000000000000000000000000427c15132273e795dc7bc46aa98e53898f8a2f690000000000000000000000006b071d291038c4c953e7777a0d465a380d17b2f4000000000000000000000000e36052d993875a8bb256d5a651802d196b922a52000000000000000000000000886cf30e5f7c6f69ef1be1173a53a6dd04e769660000000000000000000000005d53deebf69c3c8267231e30d69cb26e05e69caa00000000000000000000000063b64520d7eef6e3fcdf2c2f8ffb022540bf9d51000000000000000000000000b241df251a541de2ac21e857a350692a909f1a78000000000000000000000000a013880084168c4c57dd49a10f61a8efa009a10d000000000000000000000000d21856efedaba0e60a3df7e8bfa89adeffc6433e000000000000000000000000190cb8ac64c5ff16419ae7101b49803b4f16f239000000000000000000000000cd526132dba5fe62a0e383c6342b86f06591988e000000000000000000000000d171713685a0162b78434a2abe9b5af7ffc22a220000000000000000000000006361cac2bd1391af556de4f24b76e21de71d75400000000000000000000000002c0df81c97f719fa2d3015b86f7ec1773c41166b000000000000000000000000631478c1bd538902ba285bc1fc204577f8d12ef2000000000000000000000000701a97be29a223b21c946fcc62c2afafdca53376000000000000000000000000f3f78c87e63c73d9f2ff96d6d45678730c29cb84000000000000000000000000c8cf6b03c2aa80de2579df02aa3bed1e716e16800000000000000000000000002917814b19ea662dcb781531e749bb094841ae95000000000000000000000000728b0bfc1f3979d59333b1d7da47da28d2d68f51000000000000000000000000a041e8fcfeb517d9682807b5c7822655e6d3da2000000000000000000000000075ac15ef1951d82e28a7eaa336444a9feb0d8080000000000000000000000000f7368d3022a5ed5d882816cb7f2f34e2c683e962000000000000000000000000bb5547f8b2cc4ff8d22fc5da655b97e8281abe8b000000000000000000000000354bafd73ae7fa85e8dd3d9fbf58e176ac893f5d000000000000000000000000439be4bd928c390ce81481a60c919f7c5955098f0000000000000000000000008f5457f7776191bc2381e6ce63c10c9a87c61abf000000000000000000000000e7869b527c806d414597e814ce579be727e5610c0000000000000000000000009e8d819703c20d73690ae7584ae60c2318beb7cd000000000000000000000000217b121d91b7211f3ab2d421aabe25615297dcc6000000000000000000000000029f781a6218d49b547ac058d0b045a07905e0890000000000000000000000004b5fb113a712fd3ab176bb530a6779f42f6275da00000000000000000000000009aa0efaf1b2cff22869dd0dc2f0ebac78b6a1c90000000000000000000000000b9effc1c884344e6d4d0da12e6d77c03d094b69000000000000000000000000245c817bb7c5648cdaddc96cee166173094391f6000000000000000000000000a71bb7f374f1c42c3497e53512d247be9edb78b4000000000000000000000000ef194d117fda93fe6ad2aedbf72a948ab65e80540000000000000000000000000e86e604ce320e0a227b748d62c5ec4523825e3f00000000000000000000000030981e13e59b0fa3c07c42faad64d8ec15c09342000000000000000000000000ea07b4680eea83ced3c8b1dde0862980253dc731000000000000000000000000cca65ea3449566d7cc2f6589ba126adc0c151eb700000000000000000000000031bf5793976c10aed933787896c394e158271fdf000000000000000000000000670c82562f740b8e7e0d9dc19358072271672509000000000000000000000000c7177a8921f130078cee5ab430e336bcff303924000000000000000000000000065c8299c3c42b448d8ed3d297837370cbdec04200000000000000000000000073b3569042b1bb104f7fc74ee30925d62534d0650000000000000000000000009c64605387a115cd2f382ea87a30c5188da1cf1b0000000000000000000000009631288f4050f7cfbf77b77f8540decf6cfc7012000000000000000000000000341ebe93e30ee11ae4e3ea4bf1492cdbf44f065a000000000000000000000000efd36d022c0099579715382d5bc929f16e14a984000000000000000000000000853793e1322b8b5f7ac5b1106013e746606459a9000000000000000000000000854f2922c387c0d11698378f46dab496433e449a00000000000000000000000062f89eaf4a53f81bece4ce9458c8a5bb902a1c87000000000000000000000000be2d5c4b0a80a2e9960e0969f3510b5c1efbde7200000000000000000000000091eaf9003bb447fe0bc616821f9d728eb256258c00000000000000000000000096ee49d020655ae66d5c678a238e48c44e5f65dd000000000000000000000000a27eacdcf251dbe4dfaf9b0865be8cb0195db0f50000000000000000000000005d2e73dd5a395384961d60982a64cea4aea2dcfe000000000000000000000000d21895ecac23f5f3e9fa67180ca7e1fec3223140000000000000000000000000aa89ca05646e598210a9478db27ef5e8c803a0bf000000000000000000000000aae2040f30725e3ba320dc4de4a11e5979f21f13000000000000000000000000c4130e106837730560b534d64d488a502096fded0000000000000000000000008c88244d23f96336439eb68c21326e29013b5b410000000000000000000000009b25e5fb1c608a6be07a8bdd354d6f09eb94a0cd00000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000b1a2bc2ec500000000000000000000000000000000000000000000000000000077cb0644052c00000000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000002e62935a969f86a000000000000000000000000000000000000000000000000028a2587c9e58000000000000000000000000000000000000000000000000000013fbe85edc90000000000000000000000000000000000000000000000000000010a741a4627800000000000000000000000000000000000000000000000000000dfbd05b0a3526d00000000000000000000000000000000000000000000000000d4628c598cc40000000000000000000000000000000000000000000000000000bf6b93147f800000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec50000000000000000000000000000000000000000000000000000007c58508723800000000000000000000000000000000000000000000000000000755cab2b6e74f4000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000005ea6e64d78d4d80000000000000000000000000000000000000000000000000058d15e1762800000000000000000000000000000000000000000000000000000470de4df820000000000000000000000000000000000000000000000000000004380663abb80000000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001ac504a211a6cc000000000000000000000000000000000000000000000000001aa535d3d0c0000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d8000000000000000000000000000000000000000000000000000001550f7dca700000000000000000000000000000000000000000000000000000014401eab3840000000000000000000000000000000000000000000000000000013bf40e519fc0000000000000000000000000000000000000000000000000000132fc7be76e9d50000000000000000000000000000000000000000000000000012795f58d5000000000000000000000000000000000000000000000000000000121e6c485ac00000000000000000000000000000000000000000000000000000120b78d82100720000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e08000000000000000000000000000000000000000000000000000000f355fbf66a400000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000d4ff5fecb8862000000000000000000000000000000000000000000000000000c6f3b40b6c000000000000000000000000000000000000000000000000000000ac552fd9cac00000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee53800000000000000000000000000000000000000000000000000000094ee0494fc00000000000000000000000000000000000000000000000000000093cafac6a800000000000000000000000000000000000000000000000000000093cafac6a80000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008dc6aefcee221000000000000000000000000000000000000000000000000000822752aa262fa0000000000000000000000000000000000000000000000000007d0e36a818000000000000000000000000000000000000000000000000000000775f05a07400000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d00000000000000000000000000000000000000000000000000000006651728988000000000000000000000000000000000000000000000000000000665172898800000000000000000000000000000000000000000000000000000058e43fd5246e500000000000000000000000000000000000000\",\n          \"blockHash\": \"0xbd3b5f479c0c904119bb335eed77d72e4437de0a27ebdd13b2b8dfc521a1a807\",\n          \"blockNumber\": \"0x15fb243\",\n          \"blockTimestamp\": \"0x688d2a7b\",\n          \"transactionHash\": \"0xa9114db7214f60481fac0eb21d414b67e015a8bcf18a559040e8e5c7edd7ba3f\",\n          \"transactionIndex\": \"0x62\",\n          \"logIndex\": \"0x179\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xec1ede9b7ed634a6a1d89481089d10ce7f9d9f215e939fadb96ca61bef6a26240000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xbd3b5f479c0c904119bb335eed77d72e4437de0a27ebdd13b2b8dfc521a1a807\",\n          \"blockNumber\": \"0x15fb243\",\n          \"blockTimestamp\": \"0x688d2a7b\",\n          \"transactionHash\": \"0xa9114db7214f60481fac0eb21d414b67e015a8bcf18a559040e8e5c7edd7ba3f\",\n          \"transactionIndex\": \"0x62\",\n          \"logIndex\": \"0x17a\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000001000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000005000042000000000000000000080000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000002000002000000400000000000000002000000000000000c000000000000000000000000000000000000000000000000000000000000020000000000000000000000000002000000000002000080000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xa9114db7214f60481fac0eb21d414b67e015a8bcf18a559040e8e5c7edd7ba3f\",\n      \"transactionIndex\": \"0x62\",\n      \"blockHash\": \"0xbd3b5f479c0c904119bb335eed77d72e4437de0a27ebdd13b2b8dfc521a1a807\",\n      \"blockNumber\": \"0x15fb243\",\n      \"gasUsed\": \"0x20beb8\",\n      \"effectiveGasPrice\": \"0x1ac13a9c\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1754081917,\n  \"chain\": 1,\n  \"commit\": \"1fa78b1\"\n}"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/records/OPStackExecuteRecovery.s.sol/1/run-1754082409.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x81878670a86d80cdf16faa571ca70ecdc9447fe90ba7951106138a5bc8bdc0d3\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881\",\n        \"0\",\n        \"0x174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000beb5fc579115071764c7423a4f12edde41f106ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000001ae84f502350b987d3d3d289d50b0071acc5dcbc000000000000000000000000efad4323bac4d32fd5fc6c65886ea88239d9dcdb0000000000000000000000007d41ca22a4a51c1dc4a714783a702339e6122cf80000000000000000000000007fe717376713745147f88f72cc3211c287ea69e60000000000000000000000001eefbe692290fa12c94f974306137d58a8ccc6dd000000000000000000000000ce6bdc76c2e51b4c3bf229a62f3401d9450f8d4300000000000000000000000081e6614fd977fe5da99cc9c871024c9c0471c929000000000000000000000000a7c012c15d16f8c39f249818881fc51a9194449200000000000000000000000076e198617d0b09738f0a2061bb268893ea366673000000000000000000000000cf952e428671a4ffb942ad4690d0aa103d983ccf0000000000000000000000004f92604ae46f09fe0e90227ad55c9066b595f2ef000000000000000000000000ba3a9f59ca96b490af6e5eaea078f624b66f81a20000000000000000000000000022251ccfb51d0c77218dd1c1bac68df7ca80980000000000000000000000009f460fa8548d552868297ad55608560bb89f447d0000000000000000000000003d8835ba9afa8bac2e22b78b0fcb5ee4969044810000000000000000000000009407d0a9b44bc121013b179db8add2cae794da6e0000000000000000000000008424b7bc704fe69ac3db0b00afa58da07055221e00000000000000000000000090f479347e6f915188f44014a0c729c9f74e3ee30000000000000000000000002666c323d1ec8b614792c9b0c9c082aedb9d13d5000000000000000000000000fef171e25b6422f102bd6a68b807df01117f06cb0000000000000000000000004fae8a3cc9deaf377a922a3349e3d7750a8ec65b000000000000000000000000a2ab61c6a80fc1a68eadb38e6262bc22effcad7e0000000000000000000000002a53ff9c496458c70f0b2750ed7820260821198f000000000000000000000000c18458f9bd213d5c7348fbfc82ec096a478ae914000000000000000000000000ab2b8867a18ad9efbb42a4ad4f4574fe7c7d5084000000000000000000000000188c2eab876e98c1c6b0ebc37dac9a331a765563000000000000000000000000f3ea0cb4bbe49dbbc4462cc0e2db4bb573ec8998000000000000000000000000700cc505f4a47c9337fe3478b939b33bfe3eebbd000000000000000000000000d1a3524b0808b3393d9d64486d3b0fae34665be9000000000000000000000000bdde5f17970c2c15aa8cce0113bd266e645f8e1a0000000000000000000000009a30b6021f827465d5fdf2ff8a179acb43982f5e000000000000000000000000b6f8f2b9a1048339559912590d800113d7cff030000000000000000000000000433287f355db57bb0ac6528fecafd3b73b0838a4000000000000000000000000826f2adc72e7f97663330ae61c20cbf01f6ada9200000000000000000000000077fe2d8548082698d7d4be8045876928799e171c000000000000000000000000599321b91d0e4e541f7d172ab1cacccc0d5a8e820000000000000000000000007b281d3741f881f43a49bbfb12d85f4a1d6ac893000000000000000000000000d94dbf2c1fc5b4c9ca277efc7ff19da7659d9925000000000000000000000000024813b4972428003c725ea756348dcd79b826e6000000000000000000000000c3cab030a79c98f47c3a3efef85db5ef4dd54b92000000000000000000000000fd9a3b43c5d3327675f689c954d063dc3e60ecc00000000000000000000000002f0cda686cb448daf7cae161e57aff1e5258984d000000000000000000000000c2af996c138925f92011ac511d96fcd4737db23100000000000000000000000093198168207e14f2d2ee4172a9b115487d92e915000000000000000000000000c83684d01c800a11905bb65c383b89e808514a180000000000000000000000006a42c2205a7acf3e4dc403502b81cb7bc8b707510000000000000000000000003b32cb66694500774dcc635f76aed145ba742d4400000000000000000000000051c989f324e4dbfec2699b7cb6c81b268a9c87ff000000000000000000000000403767138047ecc1a319213f7cf915b09b35d58a000000000000000000000000e1ef4b676e17fffcf951d543dc91d6debf46f937000000000000000000000000f825776e971da4400d9c98b09ee87ecb741ba301000000000000000000000000ed7679346494c7fd083022bccbb2669b11aa98410000000000000000000000007e1eaf5b5736794b19df88722ca1c32af80cc2c50000000000000000000000009514ea32e83b7a2b3fe1acc5b788d108e3be720d000000000000000000000000566ad96e3814963024ba4620987bd0461040fcc000000000000000000000000066f3e026054f17ebc695ac4fbefaaed7e87f3623000000000000000000000000caefd832536143e6c7985ca78f1e17fd0b05c4bf00000000000000000000000081b47a508eff27ed82ccf367baea1d17289cdb1600000000000000000000000081a2dda115e86fd0f22934fe857f799289e365e300000000000000000000000051363074d8fb3422aa8f45aa5a9639cbeb2172890000000000000000000000009c322e4edef47e1d5c3672361b7e009ecc93141c000000000000000000000000a275eeabd77d1d3f2d02bd56a49fda3cfd1b82bc0000000000000000000000001fc6544403f0ef9bf7ee486abb63240a796325ac00000000000000000000000005875f986fdf0f7d307b71f036df7a621dcc5d1d000000000000000000000000ec9d11384f42066bd188300cca4069ddba942ee300000000000000000000000098e88e36cdec51b71d826d69c0965563bfb3f2a7000000000000000000000000e18c68edf591b495e3e8c8818482f724a55ffe80000000000000000000000000691f54bbdf548a5e51eecf74d22bbff1991f1f4e0000000000000000000000003f9c1cfc1648ee5e18ed3dfa10e339bc9fb3dbcf00000000000000000000000089d70e2da19ed3ccdd9317ac1bf4e08a5bdcc4bf00000000000000000000000064749482806060993379609605585df950393cf900000000000000000000000010fdc636697403f7db3ad215e1433b116921a2f0000000000000000000000000f3fe547d0369e29272f7b19fa08f7fd75095697800000000000000000000000015b57c8d84e7bd1ff71881d21376fd9b425e1ad70000000000000000000000006529770a5c58ca859558670cf98171f600c487830000000000000000000000008f294a0acf670fc6e14e95d679ae86bfae2be6ec000000000000000000000000a34551ceb662aeee115d40482a0fd2d97e6f20500000000000000000000000008362beec6f02a977fde4158bc5626329374de3c5000000000000000000000000413c7c4f23f42588f417a978a0ff23f3f4fb39d9000000000000000000000000c9793cb631f299b7bd8d6c02910b11d865eda423000000000000000000000000d5e47de39144b095c0502d75358af0281d7eeae20000000000000000000000001d0a3b2c27c53ed3b8fec23d4677e1a365ddb97d000000000000000000000000b583c187b1429fc08c6c7a7f926c0d56d42a5caa000000000000000000000000c1d075c75a88310395b0dfa6fcfdac5e7dbf91f300000000000000000000000057a8cf309a35e87156b149734dee943c6fb52d4d000000000000000000000000856b044077c490fdd657290cbaf7edb132bc01fa000000000000000000000000c87d94e265ae61cc4eb1813f8b2445e6724c7c2e000000000000000000000000507303b99c42f35058b00f6bb507cb2b094b616d000000000000000000000000fc414daf238a3cbea641f9eed8959ca6adaee3fd0000000000000000000000007b57dde6e443070ebf60564d1b5dd84a1fa0ce1c0000000000000000000000004572ef6fd7faa5325f31b984ace9d522c9c06b5f000000000000000000000000f78c3a7514055c8fdf95ac594eb2f27784e807db000000000000000000000000df847fb22c17a68a515d385e256a296590bf810300000000000000000000000074d7bc20202e57d64f1feec321fd391edae2bd12000000000000000000000000dc29300acea4e2adf41056f619b6b503ab376bff000000000000000000000000c711d6cadd0e203a0fc8d82b21950cfa7616bf0f000000000000000000000000fb67ad972690550fe04f5bb264803f6478c11416000000000000000000000000b125dda6e005174aa2ae7570737ebfa7b518acef000000000000000000000000b0220190d75d21b6927653080a67e727c2ad91bd0000000000000000000000009716444f669e10573513fbdc0ad5d03c2e236fdc000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000055daa983952060000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c00000000000000000000000000000000000000000000000000000053c5892b9ec0000000000000000000000000000000000000000000000000000053b9612c68ad400000000000000000000000000000000000000000000000000052c9b5bee2161000000000000000000000000000000000000000000000000000504f181fe6a6c0000000000000000000000000000000000000000000000000004fb8c1fa2f0bc0000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004ca7ce357c01800000000000000000000000000000000000000000000000000049e57d63540000000000000000000000000000000000000000000000000000004996da70c8f73000000000000000000000000000000000000000000000000000482733f257d4a00000000000000000000000000000000000000000000000000047d323b4a958100000000000000000000000000000000000000000000000000044364c5bb00000000000000000000000000000000000000000000000000000004374f2e762e2900000000000000000000000000000000000000000000000000041f038bf08000000000000000000000000000000000000000000000000000000406415e5fe4a8000000000000000000000000000000000000000000000000000403baa098a0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003cb5a45de62550000000000000000000000000000000000000000000000000003ca8c05737abc0000000000000000000000000000000000000000000000000003c987cb6084000000000000000000000000000000000000000000000000000003aabc80b1d32900000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xc224e30faabc814b32da1c780962d98a7c72ee71975e5f5ec5d9d5086ba605e823f01f79d0595531a6bed30bc00b15a5e508c6bd505607a840d44265d53a14541cf01be66414cf823d000686f3f73bc7d53e62d83b942c07a64b56636688a998d05e6650b9a6ff68f223cff03f83653a1da3d6a7f719c83cb239906185f51136651cb652ecffda5742aee93a2f2362c91fff087215780dd83c25e34ffda0d1842fdc62f7f41a78308730f94262173779dfb78e34c10a8f7d0c0632745c39750fdce91c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x2fe61e\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc69839881000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001b84174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000beb5fc579115071764c7423a4f12edde41f106ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000001ae84f502350b987d3d3d289d50b0071acc5dcbc000000000000000000000000efad4323bac4d32fd5fc6c65886ea88239d9dcdb0000000000000000000000007d41ca22a4a51c1dc4a714783a702339e6122cf80000000000000000000000007fe717376713745147f88f72cc3211c287ea69e60000000000000000000000001eefbe692290fa12c94f974306137d58a8ccc6dd000000000000000000000000ce6bdc76c2e51b4c3bf229a62f3401d9450f8d4300000000000000000000000081e6614fd977fe5da99cc9c871024c9c0471c929000000000000000000000000a7c012c15d16f8c39f249818881fc51a9194449200000000000000000000000076e198617d0b09738f0a2061bb268893ea366673000000000000000000000000cf952e428671a4ffb942ad4690d0aa103d983ccf0000000000000000000000004f92604ae46f09fe0e90227ad55c9066b595f2ef000000000000000000000000ba3a9f59ca96b490af6e5eaea078f624b66f81a20000000000000000000000000022251ccfb51d0c77218dd1c1bac68df7ca80980000000000000000000000009f460fa8548d552868297ad55608560bb89f447d0000000000000000000000003d8835ba9afa8bac2e22b78b0fcb5ee4969044810000000000000000000000009407d0a9b44bc121013b179db8add2cae794da6e0000000000000000000000008424b7bc704fe69ac3db0b00afa58da07055221e00000000000000000000000090f479347e6f915188f44014a0c729c9f74e3ee30000000000000000000000002666c323d1ec8b614792c9b0c9c082aedb9d13d5000000000000000000000000fef171e25b6422f102bd6a68b807df01117f06cb0000000000000000000000004fae8a3cc9deaf377a922a3349e3d7750a8ec65b000000000000000000000000a2ab61c6a80fc1a68eadb38e6262bc22effcad7e0000000000000000000000002a53ff9c496458c70f0b2750ed7820260821198f000000000000000000000000c18458f9bd213d5c7348fbfc82ec096a478ae914000000000000000000000000ab2b8867a18ad9efbb42a4ad4f4574fe7c7d5084000000000000000000000000188c2eab876e98c1c6b0ebc37dac9a331a765563000000000000000000000000f3ea0cb4bbe49dbbc4462cc0e2db4bb573ec8998000000000000000000000000700cc505f4a47c9337fe3478b939b33bfe3eebbd000000000000000000000000d1a3524b0808b3393d9d64486d3b0fae34665be9000000000000000000000000bdde5f17970c2c15aa8cce0113bd266e645f8e1a0000000000000000000000009a30b6021f827465d5fdf2ff8a179acb43982f5e000000000000000000000000b6f8f2b9a1048339559912590d800113d7cff030000000000000000000000000433287f355db57bb0ac6528fecafd3b73b0838a4000000000000000000000000826f2adc72e7f97663330ae61c20cbf01f6ada9200000000000000000000000077fe2d8548082698d7d4be8045876928799e171c000000000000000000000000599321b91d0e4e541f7d172ab1cacccc0d5a8e820000000000000000000000007b281d3741f881f43a49bbfb12d85f4a1d6ac893000000000000000000000000d94dbf2c1fc5b4c9ca277efc7ff19da7659d9925000000000000000000000000024813b4972428003c725ea756348dcd79b826e6000000000000000000000000c3cab030a79c98f47c3a3efef85db5ef4dd54b92000000000000000000000000fd9a3b43c5d3327675f689c954d063dc3e60ecc00000000000000000000000002f0cda686cb448daf7cae161e57aff1e5258984d000000000000000000000000c2af996c138925f92011ac511d96fcd4737db23100000000000000000000000093198168207e14f2d2ee4172a9b115487d92e915000000000000000000000000c83684d01c800a11905bb65c383b89e808514a180000000000000000000000006a42c2205a7acf3e4dc403502b81cb7bc8b707510000000000000000000000003b32cb66694500774dcc635f76aed145ba742d4400000000000000000000000051c989f324e4dbfec2699b7cb6c81b268a9c87ff000000000000000000000000403767138047ecc1a319213f7cf915b09b35d58a000000000000000000000000e1ef4b676e17fffcf951d543dc91d6debf46f937000000000000000000000000f825776e971da4400d9c98b09ee87ecb741ba301000000000000000000000000ed7679346494c7fd083022bccbb2669b11aa98410000000000000000000000007e1eaf5b5736794b19df88722ca1c32af80cc2c50000000000000000000000009514ea32e83b7a2b3fe1acc5b788d108e3be720d000000000000000000000000566ad96e3814963024ba4620987bd0461040fcc000000000000000000000000066f3e026054f17ebc695ac4fbefaaed7e87f3623000000000000000000000000caefd832536143e6c7985ca78f1e17fd0b05c4bf00000000000000000000000081b47a508eff27ed82ccf367baea1d17289cdb1600000000000000000000000081a2dda115e86fd0f22934fe857f799289e365e300000000000000000000000051363074d8fb3422aa8f45aa5a9639cbeb2172890000000000000000000000009c322e4edef47e1d5c3672361b7e009ecc93141c000000000000000000000000a275eeabd77d1d3f2d02bd56a49fda3cfd1b82bc0000000000000000000000001fc6544403f0ef9bf7ee486abb63240a796325ac00000000000000000000000005875f986fdf0f7d307b71f036df7a621dcc5d1d000000000000000000000000ec9d11384f42066bd188300cca4069ddba942ee300000000000000000000000098e88e36cdec51b71d826d69c0965563bfb3f2a7000000000000000000000000e18c68edf591b495e3e8c8818482f724a55ffe80000000000000000000000000691f54bbdf548a5e51eecf74d22bbff1991f1f4e0000000000000000000000003f9c1cfc1648ee5e18ed3dfa10e339bc9fb3dbcf00000000000000000000000089d70e2da19ed3ccdd9317ac1bf4e08a5bdcc4bf00000000000000000000000064749482806060993379609605585df950393cf900000000000000000000000010fdc636697403f7db3ad215e1433b116921a2f0000000000000000000000000f3fe547d0369e29272f7b19fa08f7fd75095697800000000000000000000000015b57c8d84e7bd1ff71881d21376fd9b425e1ad70000000000000000000000006529770a5c58ca859558670cf98171f600c487830000000000000000000000008f294a0acf670fc6e14e95d679ae86bfae2be6ec000000000000000000000000a34551ceb662aeee115d40482a0fd2d97e6f20500000000000000000000000008362beec6f02a977fde4158bc5626329374de3c5000000000000000000000000413c7c4f23f42588f417a978a0ff23f3f4fb39d9000000000000000000000000c9793cb631f299b7bd8d6c02910b11d865eda423000000000000000000000000d5e47de39144b095c0502d75358af0281d7eeae20000000000000000000000001d0a3b2c27c53ed3b8fec23d4677e1a365ddb97d000000000000000000000000b583c187b1429fc08c6c7a7f926c0d56d42a5caa000000000000000000000000c1d075c75a88310395b0dfa6fcfdac5e7dbf91f300000000000000000000000057a8cf309a35e87156b149734dee943c6fb52d4d000000000000000000000000856b044077c490fdd657290cbaf7edb132bc01fa000000000000000000000000c87d94e265ae61cc4eb1813f8b2445e6724c7c2e000000000000000000000000507303b99c42f35058b00f6bb507cb2b094b616d000000000000000000000000fc414daf238a3cbea641f9eed8959ca6adaee3fd0000000000000000000000007b57dde6e443070ebf60564d1b5dd84a1fa0ce1c0000000000000000000000004572ef6fd7faa5325f31b984ace9d522c9c06b5f000000000000000000000000f78c3a7514055c8fdf95ac594eb2f27784e807db000000000000000000000000df847fb22c17a68a515d385e256a296590bf810300000000000000000000000074d7bc20202e57d64f1feec321fd391edae2bd12000000000000000000000000dc29300acea4e2adf41056f619b6b503ab376bff000000000000000000000000c711d6cadd0e203a0fc8d82b21950cfa7616bf0f000000000000000000000000fb67ad972690550fe04f5bb264803f6478c11416000000000000000000000000b125dda6e005174aa2ae7570737ebfa7b518acef000000000000000000000000b0220190d75d21b6927653080a67e727c2ad91bd0000000000000000000000009716444f669e10573513fbdc0ad5d03c2e236fdc000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000055daa983952060000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c00000000000000000000000000000000000000000000000000000053c5892b9ec0000000000000000000000000000000000000000000000000000053b9612c68ad400000000000000000000000000000000000000000000000000052c9b5bee2161000000000000000000000000000000000000000000000000000504f181fe6a6c0000000000000000000000000000000000000000000000000004fb8c1fa2f0bc0000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004ca7ce357c01800000000000000000000000000000000000000000000000000049e57d63540000000000000000000000000000000000000000000000000000004996da70c8f73000000000000000000000000000000000000000000000000000482733f257d4a00000000000000000000000000000000000000000000000000047d323b4a958100000000000000000000000000000000000000000000000000044364c5bb00000000000000000000000000000000000000000000000000000004374f2e762e2900000000000000000000000000000000000000000000000000041f038bf08000000000000000000000000000000000000000000000000000000406415e5fe4a8000000000000000000000000000000000000000000000000000403baa098a0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003cb5a45de62550000000000000000000000000000000000000000000000000003ca8c05737abc0000000000000000000000000000000000000000000000000003c987cb6084000000000000000000000000000000000000000000000000000003aabc80b1d32900000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3c224e30faabc814b32da1c780962d98a7c72ee71975e5f5ec5d9d5086ba605e823f01f79d0595531a6bed30bc00b15a5e508c6bd505607a840d44265d53a14541cf01be66414cf823d000686f3f73bc7d53e62d83b942c07a64b56636688a998d05e6650b9a6ff68f223cff03f83653a1da3d6a7f719c83cb239906185f51136651cb652ecffda5742aee93a2f2362c91fff087215780dd83c25e34ffda0d1842fdc62f7f41a78308730f94262173779dfb78e34c10a8f7d0c0632745c39750fdce91c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x21\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xd657a9\",\n      \"logs\": [\n        {\n          \"address\": \"0xbeb5fc579115071764c7423a4f12edde41f106ed\",\n          \"topics\": [\n            \"0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32\",\n            \"0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167\",\n            \"0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000019cd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e848000501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000001ae84f502350b987d3d3d289d50b0071acc5dcbc000000000000000000000000efad4323bac4d32fd5fc6c65886ea88239d9dcdb0000000000000000000000007d41ca22a4a51c1dc4a714783a702339e6122cf80000000000000000000000007fe717376713745147f88f72cc3211c287ea69e60000000000000000000000001eefbe692290fa12c94f974306137d58a8ccc6dd000000000000000000000000ce6bdc76c2e51b4c3bf229a62f3401d9450f8d4300000000000000000000000081e6614fd977fe5da99cc9c871024c9c0471c929000000000000000000000000a7c012c15d16f8c39f249818881fc51a9194449200000000000000000000000076e198617d0b09738f0a2061bb268893ea366673000000000000000000000000cf952e428671a4ffb942ad4690d0aa103d983ccf0000000000000000000000004f92604ae46f09fe0e90227ad55c9066b595f2ef000000000000000000000000ba3a9f59ca96b490af6e5eaea078f624b66f81a20000000000000000000000000022251ccfb51d0c77218dd1c1bac68df7ca80980000000000000000000000009f460fa8548d552868297ad55608560bb89f447d0000000000000000000000003d8835ba9afa8bac2e22b78b0fcb5ee4969044810000000000000000000000009407d0a9b44bc121013b179db8add2cae794da6e0000000000000000000000008424b7bc704fe69ac3db0b00afa58da07055221e00000000000000000000000090f479347e6f915188f44014a0c729c9f74e3ee30000000000000000000000002666c323d1ec8b614792c9b0c9c082aedb9d13d5000000000000000000000000fef171e25b6422f102bd6a68b807df01117f06cb0000000000000000000000004fae8a3cc9deaf377a922a3349e3d7750a8ec65b000000000000000000000000a2ab61c6a80fc1a68eadb38e6262bc22effcad7e0000000000000000000000002a53ff9c496458c70f0b2750ed7820260821198f000000000000000000000000c18458f9bd213d5c7348fbfc82ec096a478ae914000000000000000000000000ab2b8867a18ad9efbb42a4ad4f4574fe7c7d5084000000000000000000000000188c2eab876e98c1c6b0ebc37dac9a331a765563000000000000000000000000f3ea0cb4bbe49dbbc4462cc0e2db4bb573ec8998000000000000000000000000700cc505f4a47c9337fe3478b939b33bfe3eebbd000000000000000000000000d1a3524b0808b3393d9d64486d3b0fae34665be9000000000000000000000000bdde5f17970c2c15aa8cce0113bd266e645f8e1a0000000000000000000000009a30b6021f827465d5fdf2ff8a179acb43982f5e000000000000000000000000b6f8f2b9a1048339559912590d800113d7cff030000000000000000000000000433287f355db57bb0ac6528fecafd3b73b0838a4000000000000000000000000826f2adc72e7f97663330ae61c20cbf01f6ada9200000000000000000000000077fe2d8548082698d7d4be8045876928799e171c000000000000000000000000599321b91d0e4e541f7d172ab1cacccc0d5a8e820000000000000000000000007b281d3741f881f43a49bbfb12d85f4a1d6ac893000000000000000000000000d94dbf2c1fc5b4c9ca277efc7ff19da7659d9925000000000000000000000000024813b4972428003c725ea756348dcd79b826e6000000000000000000000000c3cab030a79c98f47c3a3efef85db5ef4dd54b92000000000000000000000000fd9a3b43c5d3327675f689c954d063dc3e60ecc00000000000000000000000002f0cda686cb448daf7cae161e57aff1e5258984d000000000000000000000000c2af996c138925f92011ac511d96fcd4737db23100000000000000000000000093198168207e14f2d2ee4172a9b115487d92e915000000000000000000000000c83684d01c800a11905bb65c383b89e808514a180000000000000000000000006a42c2205a7acf3e4dc403502b81cb7bc8b707510000000000000000000000003b32cb66694500774dcc635f76aed145ba742d4400000000000000000000000051c989f324e4dbfec2699b7cb6c81b268a9c87ff000000000000000000000000403767138047ecc1a319213f7cf915b09b35d58a000000000000000000000000e1ef4b676e17fffcf951d543dc91d6debf46f937000000000000000000000000f825776e971da4400d9c98b09ee87ecb741ba301000000000000000000000000ed7679346494c7fd083022bccbb2669b11aa98410000000000000000000000007e1eaf5b5736794b19df88722ca1c32af80cc2c50000000000000000000000009514ea32e83b7a2b3fe1acc5b788d108e3be720d000000000000000000000000566ad96e3814963024ba4620987bd0461040fcc000000000000000000000000066f3e026054f17ebc695ac4fbefaaed7e87f3623000000000000000000000000caefd832536143e6c7985ca78f1e17fd0b05c4bf00000000000000000000000081b47a508eff27ed82ccf367baea1d17289cdb1600000000000000000000000081a2dda115e86fd0f22934fe857f799289e365e300000000000000000000000051363074d8fb3422aa8f45aa5a9639cbeb2172890000000000000000000000009c322e4edef47e1d5c3672361b7e009ecc93141c000000000000000000000000a275eeabd77d1d3f2d02bd56a49fda3cfd1b82bc0000000000000000000000001fc6544403f0ef9bf7ee486abb63240a796325ac00000000000000000000000005875f986fdf0f7d307b71f036df7a621dcc5d1d000000000000000000000000ec9d11384f42066bd188300cca4069ddba942ee300000000000000000000000098e88e36cdec51b71d826d69c0965563bfb3f2a7000000000000000000000000e18c68edf591b495e3e8c8818482f724a55ffe80000000000000000000000000691f54bbdf548a5e51eecf74d22bbff1991f1f4e0000000000000000000000003f9c1cfc1648ee5e18ed3dfa10e339bc9fb3dbcf00000000000000000000000089d70e2da19ed3ccdd9317ac1bf4e08a5bdcc4bf00000000000000000000000064749482806060993379609605585df950393cf900000000000000000000000010fdc636697403f7db3ad215e1433b116921a2f0000000000000000000000000f3fe547d0369e29272f7b19fa08f7fd75095697800000000000000000000000015b57c8d84e7bd1ff71881d21376fd9b425e1ad70000000000000000000000006529770a5c58ca859558670cf98171f600c487830000000000000000000000008f294a0acf670fc6e14e95d679ae86bfae2be6ec000000000000000000000000a34551ceb662aeee115d40482a0fd2d97e6f20500000000000000000000000008362beec6f02a977fde4158bc5626329374de3c5000000000000000000000000413c7c4f23f42588f417a978a0ff23f3f4fb39d9000000000000000000000000c9793cb631f299b7bd8d6c02910b11d865eda423000000000000000000000000d5e47de39144b095c0502d75358af0281d7eeae20000000000000000000000001d0a3b2c27c53ed3b8fec23d4677e1a365ddb97d000000000000000000000000b583c187b1429fc08c6c7a7f926c0d56d42a5caa000000000000000000000000c1d075c75a88310395b0dfa6fcfdac5e7dbf91f300000000000000000000000057a8cf309a35e87156b149734dee943c6fb52d4d000000000000000000000000856b044077c490fdd657290cbaf7edb132bc01fa000000000000000000000000c87d94e265ae61cc4eb1813f8b2445e6724c7c2e000000000000000000000000507303b99c42f35058b00f6bb507cb2b094b616d000000000000000000000000fc414daf238a3cbea641f9eed8959ca6adaee3fd0000000000000000000000007b57dde6e443070ebf60564d1b5dd84a1fa0ce1c0000000000000000000000004572ef6fd7faa5325f31b984ace9d522c9c06b5f000000000000000000000000f78c3a7514055c8fdf95ac594eb2f27784e807db000000000000000000000000df847fb22c17a68a515d385e256a296590bf810300000000000000000000000074d7bc20202e57d64f1feec321fd391edae2bd12000000000000000000000000dc29300acea4e2adf41056f619b6b503ab376bff000000000000000000000000c711d6cadd0e203a0fc8d82b21950cfa7616bf0f000000000000000000000000fb67ad972690550fe04f5bb264803f6478c11416000000000000000000000000b125dda6e005174aa2ae7570737ebfa7b518acef000000000000000000000000b0220190d75d21b6927653080a67e727c2ad91bd0000000000000000000000009716444f669e10573513fbdc0ad5d03c2e236fdc000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000055daa983952060000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c00000000000000000000000000000000000000000000000000000053c5892b9ec0000000000000000000000000000000000000000000000000000053b9612c68ad400000000000000000000000000000000000000000000000000052c9b5bee2161000000000000000000000000000000000000000000000000000504f181fe6a6c0000000000000000000000000000000000000000000000000004fb8c1fa2f0bc0000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004ca7ce357c01800000000000000000000000000000000000000000000000000049e57d63540000000000000000000000000000000000000000000000000000004996da70c8f73000000000000000000000000000000000000000000000000000482733f257d4a00000000000000000000000000000000000000000000000000047d323b4a958100000000000000000000000000000000000000000000000000044364c5bb00000000000000000000000000000000000000000000000000000004374f2e762e2900000000000000000000000000000000000000000000000000041f038bf08000000000000000000000000000000000000000000000000000000406415e5fe4a8000000000000000000000000000000000000000000000000000403baa098a0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003cb5a45de62550000000000000000000000000000000000000000000000000003ca8c05737abc0000000000000000000000000000000000000000000000000003c987cb6084000000000000000000000000000000000000000000000000000003aabc80b1d32900000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xba7696f549ec09fbc1d170ffd08bcf43e1595cdd9208233904a1e50088e4af7f\",\n          \"blockNumber\": \"0x15fb26c\",\n          \"blockTimestamp\": \"0x688d2c67\",\n          \"transactionHash\": \"0x81878670a86d80cdf16faa571ca70ecdc9447fe90ba7951106138a5bc8bdc0d3\",\n          \"transactionIndex\": \"0x63\",\n          \"logIndex\": \"0x152\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x14b34a92ea9877e9e795a79c6bd61031ed36d387c3c7f47128474b00a7ee63e80000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xba7696f549ec09fbc1d170ffd08bcf43e1595cdd9208233904a1e50088e4af7f\",\n          \"blockNumber\": \"0x15fb26c\",\n          \"blockTimestamp\": \"0x688d2c67\",\n          \"transactionHash\": \"0x81878670a86d80cdf16faa571ca70ecdc9447fe90ba7951106138a5bc8bdc0d3\",\n          \"transactionIndex\": \"0x63\",\n          \"logIndex\": \"0x153\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000001000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000005000042000000000000000000080000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000002000002000000400000000000000002000000000000000c000000000000000000000000000000000000000000000000000000000000020000000000000000000000000002000000000002000080000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x81878670a86d80cdf16faa571ca70ecdc9447fe90ba7951106138a5bc8bdc0d3\",\n      \"transactionIndex\": \"0x63\",\n      \"blockHash\": \"0xba7696f549ec09fbc1d170ffd08bcf43e1595cdd9208233904a1e50088e4af7f\",\n      \"blockNumber\": \"0x15fb26c\",\n      \"gasUsed\": \"0x20c05b\",\n      \"effectiveGasPrice\": \"0x1a325e71\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1754082409,\n  \"chain\": 1,\n  \"commit\": \"1fa78b1\"\n}"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/records/OPStackExecuteRecovery.s.sol/1/run-1754082458.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x60d51928284a35e665d76bda2918aa916df820191d2efd6bb88e7c47f423bc1d\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881\",\n        \"0\",\n        \"0x174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000beb5fc579115071764c7423a4f12edde41f106ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000004ea887e70441fe1e7e30f06d381ee6186c305bce000000000000000000000000c25560e513de24d927fd1779fdce848e3d1a9907000000000000000000000000ca691d8aa8d32726832b6787c2576d5ef761c93d000000000000000000000000e1317eec6153bbfda53932b4f825badea66c1bf6000000000000000000000000cc0dc98ce0db0b73d27f9c496119c02d34f145b3000000000000000000000000c84a6b669ed75ca5194b13a46e2e0ffa645f6db1000000000000000000000000f8d05938941b37f7efbb0507210ea6577d9b7a91000000000000000000000000edec3a757df24f1da06f14f6772d324ad66c6aa90000000000000000000000002276816aec0c14697b0c9f15ccd99d8c475f8ed7000000000000000000000000aa0dc16f7e07baf7b1df877281b8cb782ad37b0b000000000000000000000000f8b8f762ec18b32a67f5c94c57ab7bf620221547000000000000000000000000570fdfdf72f55760913f18064875063ea7729265000000000000000000000000c2386911c1dbe47ed63fc1dc4ff0fe84a8ca65c0000000000000000000000000070cca32b8324ed5f6039c1f0fe9a6eb47d997710000000000000000000000007de7221723e9492c9ca365260479159a38c35fcf0000000000000000000000003b1628bf8584a218e0d97ebd1e4cc2c8645d2ae2000000000000000000000000b6170eacaa6aed67d64e095d419ce7fd8e7d4750000000000000000000000000df016d49bb059b6a1ec651bbc04c54de701f5c470000000000000000000000009cf256b5933c3367f73d510c6e8ca98b0a294afc000000000000000000000000fe84b1d775efa42cc2e0dd1031dacbd241a3f881000000000000000000000000359791f496fb9e55340a227854214a27d4bb011a000000000000000000000000f924ab834ef511b6bd438baec36ac50d513a4e59000000000000000000000000dc59b87b30512ba66dce3f0fe892d19db9abd0e60000000000000000000000006d83ff41dfbf4d820359e4c78e487ed125f2c37f0000000000000000000000001e39c8102dfb89ce8d05a5add89da845b958ac0b00000000000000000000000073ca85522ef1fead38d567cd278561ff8248c3dc000000000000000000000000e10701fdb62f3526a3ed06670e94a463401d8671000000000000000000000000a1be19349c296c4c7125894672ebc1756493617a0000000000000000000000007fa18723ef2a885dfee22b202c9df2274ac3453f0000000000000000000000004d8c52776ddf0e615e3758a15ca766f9128acdcb0000000000000000000000008aa15d50c9d1dcc7ba5f92c550079ad14d1c42f7000000000000000000000000cca5142ae99ed42dbdd3cd7df505abc1e73d32b200000000000000000000000096cb882e0fb501a46950db902d85c314feeaad290000000000000000000000008c0bbf283640a058746db6f3d4fd3cbd7e526789000000000000000000000000f6c74bc3188bcfbae409378c546994aa166d034600000000000000000000000030a37edb6051ebc5630d02732eae8fcdfaa001c400000000000000000000000017a79abefd7cc1592e3dec1edfe16dbf7e86079d00000000000000000000000066fb69b0e14c3f71687cadfb9c2a5e5985d2ac74000000000000000000000000d1e2654aa18e829232d777b4634603113a75ac28000000000000000000000000745bdbca643fc419b138b3f2c5c0e671103817550000000000000000000000005ebf6aafe796de90050f8e9a72f0c3e34ef0f537000000000000000000000000fa12cc74c3bd1b3c29f72d816edfd1f0e376f5fa00000000000000000000000018e93dc2744f2ab2cc112835c72bf5cbfd3468f40000000000000000000000001f8f19347d0edc76dbb0dfe36d84cd11c91dcdc5000000000000000000000000bf78308012b52ee1349108089e8e3de11562b155000000000000000000000000a1c22df31e708085dd1dc68507b60d26175894dc000000000000000000000000c07b987c2d572fdf76e93347742bde152c4b2bb300000000000000000000000012567ef4f6decdaa31f4e4d661a0783d423802a10000000000000000000000003094ea2500822117a3518cf76518c4f2ec1f01ca000000000000000000000000b4a1facb1b02097c32ea2f86722624d2377d651600000000000000000000000006df9021910c216a6fa7e6f119b65a7da723bc7a00000000000000000000000041c969067b05c69f0e7877c7934ddbea1a3578fb000000000000000000000000019251aab8dccd8bc4fe153a30798deea1dc1b010000000000000000000000004c7b5ec93762ec4fb61fde287bb5342bd4748245000000000000000000000000320a113f60cb2d2059965acdd97a22ca66771dc200000000000000000000000081247b89ffd0f385f92e571d772383c849637032000000000000000000000000e7f2004f57892ed3424998f994093e7924bd72c60000000000000000000000001812fa2fb76945e9d9b683d7acbd48cf852d861b000000000000000000000000f351f0ea9e40cdd9d7473d9e5c173f0d31de0993000000000000000000000000a1040c9c11894f8d6e11c55c1d7bfbf4537361e90000000000000000000000000b068417c7affb3aecddabf078421e094ae040320000000000000000000000003640c0b55299d9e2b09f860efcbe972780a9fed200000000000000000000000060a8c5f12e745e6170fafa08fa434e2d4b29919000000000000000000000000088f66de9a495bae3ce552b41e9682965ebf49fde0000000000000000000000008dd5b40af1e354cb72792184b138401ba82ad29c000000000000000000000000d7dd3cef544fed26a54fbbca7cb6080f80d61b070000000000000000000000006698008f2b78aebeb8ffd7a720126548a3f39c15000000000000000000000000e3be4f5390c7760bfc095d6b1f63619b2d09639e0000000000000000000000008c235aac3e38eb2d5a9ae4164c23480b0a31522e000000000000000000000000558fa82960ec3fa51af9ded2d5a846c597f8c28b000000000000000000000000dff8ba45eb9a34074c1b2e14d4002add0fd61a1800000000000000000000000069052d279e485b54c00e53f896609253e1f6f8ae000000000000000000000000a819a27c5d2e7c07f7739fcf2b620ed6b597023f00000000000000000000000080c23f367474972ad6e2eb5f6ba3bf045efd8e8c00000000000000000000000012f759cf8481148a29441628c3b75d5b5871cfdf000000000000000000000000f3c3f9f60bd25144738be81da0d8ec709d6c997c000000000000000000000000f9178e809cefaf2b219787336650a31552e52d5f00000000000000000000000074ae5941f76f4810137aabc257e55a7ba374b3d5000000000000000000000000ccf0bcdf5491ddb100d42bd6944b12501b0a2991000000000000000000000000254fc3950474e3bc7b8be0b463fc28ce557af0eb00000000000000000000000066d8aa61be8c5a9e027fb3c5d1527e615fad9ca9000000000000000000000000bab1b58bdf231522824d5eeafba249156700c71d000000000000000000000000d874ecda3e1ff9f0d2b4c80cb8c1caa095cd07250000000000000000000000008e9f5b55d2c194b4af729a97ef1710bd745ba49c0000000000000000000000006080e863914e66e427998c6f4cdd72f990e648f00000000000000000000000006432dfe5c8aa619e79d52a50ab7fa851b56d15480000000000000000000000001d8335a0a81f913f4c04644fe290e29115491231000000000000000000000000e016a96735f97ef4120e50de2acfec221cd55b00000000000000000000000000cc1f79f92ae827c66ef8a80ca1f2a05f75d01086000000000000000000000000ad0a0b434204ba0a2ad0e02e0d7627fa00c271cd0000000000000000000000007636b570ae87a0f9f49b920f734cf726c0b8d3d30000000000000000000000002864c9bd73c0fc8ad3d5e3d77220ec53bc54704000000000000000000000000096daf1d3bc516c60fd3c08009124f15a8721d06c0000000000000000000000009c78623a815e71281c3e7a4ffc5bf5f3c570c72c000000000000000000000000b7dca81ce67f685887fcd64f23f850cb455807580000000000000000000000002e6110b6cb83bda4bcf2891c676ef489003329870000000000000000000000000d88ab85de9ad6416c13d2f6ae564b4944c510fb000000000000000000000000f40896cde395236756185e5a32b7857ba3e93236000000000000000000000000e5edfe0e968bf5dad6d023814989b536c08756760000000000000000000000006aeac243c090fa97e77ca77a4446be33615f07ae000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000036554d7a9800000000000000000000000000000000000000000000000000000034d7743cc122100000000000000000000000000000000000000000000000000033bf4910e60f50000000000000000000000000000000000000000000000000002e8deed15c6930000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d072774ff80000000000000000000000000000000000000000000000000000027ca57357c00000000000000000000000000000000000000000000000000000027ca57357c00000000000000000000000000000000000000000000000000000026816a8faa9e800000000000000000000000000000000000000000000000000024686d6f6ac88000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd800000000000000000000000000000000000000000000000000000020e98f15330000000000000000000000000000000000000000000000000000001fd51291300000000000000000000000000000000000000000000000000000001f840fe044a000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001f03aba3c64000000000000000000000000000000000000000000000000000001ec766ce3e7c90000000000000000000000000000000000000000000000000001eb208c2dc0000000000000000000000000000000000000000000000000000001e874a742454d0000000000000000000000000000000000000000000000000001e4c2bbaa50000000000000000000000000000000000000000000000000000001e43486ec24fa0000000000000000000000000000000000000000000000000001de0ae34a4f8c0000000000000000000000000000000000000000000000000001db9a3ed88c150000000000000000000000000000000000000000000000000001d8efef4880000000000000000000000000000000000000000000000000000001d8efef4880000000000000000000000000000000000000000000000000000001d64811b870000000000000000000000000000000000000000000000000000001d4c1e0c19cec0000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf52634000000000000000000000000000000000000000000000000000000191f28b1ea740000000000000000000000000000000000000000000000000000179272483980000000000000000000000000000000000000000000000000000016cef4bb7540000000000000000000000000000000000000000000000000000016bcc41e9000000000000000000000000000000000000000000000000000000012c221cc6a000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec0000000000000000000000000000000000000000000000000000000f818a1ffaf060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x418b0d1e6188a418796fa74d91c8d00ea7f589bdddd4da59682660a466505a7c075249264257438770fb79dd92d46c0cd5303c5930883653fd89bf3f5b8f348a1bb05ec226c3676b2dfc1b321fab061f0b5dd429950fa187db07550b4b57a6d00369640c826cc14e425d897c4e318e7fa740ad437db0e092692ca248b22d50a5921c2827e08e663a2da2cb37406ffc29de58b09bb909fd4653f74a8ccb86259237655ed7394778631e43077d68e23ab1545a1815a7baaa902b8de4f25a1da9c2f2281b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x2fe591\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc69839881000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001b84174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000beb5fc579115071764c7423a4f12edde41f106ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000004ea887e70441fe1e7e30f06d381ee6186c305bce000000000000000000000000c25560e513de24d927fd1779fdce848e3d1a9907000000000000000000000000ca691d8aa8d32726832b6787c2576d5ef761c93d000000000000000000000000e1317eec6153bbfda53932b4f825badea66c1bf6000000000000000000000000cc0dc98ce0db0b73d27f9c496119c02d34f145b3000000000000000000000000c84a6b669ed75ca5194b13a46e2e0ffa645f6db1000000000000000000000000f8d05938941b37f7efbb0507210ea6577d9b7a91000000000000000000000000edec3a757df24f1da06f14f6772d324ad66c6aa90000000000000000000000002276816aec0c14697b0c9f15ccd99d8c475f8ed7000000000000000000000000aa0dc16f7e07baf7b1df877281b8cb782ad37b0b000000000000000000000000f8b8f762ec18b32a67f5c94c57ab7bf620221547000000000000000000000000570fdfdf72f55760913f18064875063ea7729265000000000000000000000000c2386911c1dbe47ed63fc1dc4ff0fe84a8ca65c0000000000000000000000000070cca32b8324ed5f6039c1f0fe9a6eb47d997710000000000000000000000007de7221723e9492c9ca365260479159a38c35fcf0000000000000000000000003b1628bf8584a218e0d97ebd1e4cc2c8645d2ae2000000000000000000000000b6170eacaa6aed67d64e095d419ce7fd8e7d4750000000000000000000000000df016d49bb059b6a1ec651bbc04c54de701f5c470000000000000000000000009cf256b5933c3367f73d510c6e8ca98b0a294afc000000000000000000000000fe84b1d775efa42cc2e0dd1031dacbd241a3f881000000000000000000000000359791f496fb9e55340a227854214a27d4bb011a000000000000000000000000f924ab834ef511b6bd438baec36ac50d513a4e59000000000000000000000000dc59b87b30512ba66dce3f0fe892d19db9abd0e60000000000000000000000006d83ff41dfbf4d820359e4c78e487ed125f2c37f0000000000000000000000001e39c8102dfb89ce8d05a5add89da845b958ac0b00000000000000000000000073ca85522ef1fead38d567cd278561ff8248c3dc000000000000000000000000e10701fdb62f3526a3ed06670e94a463401d8671000000000000000000000000a1be19349c296c4c7125894672ebc1756493617a0000000000000000000000007fa18723ef2a885dfee22b202c9df2274ac3453f0000000000000000000000004d8c52776ddf0e615e3758a15ca766f9128acdcb0000000000000000000000008aa15d50c9d1dcc7ba5f92c550079ad14d1c42f7000000000000000000000000cca5142ae99ed42dbdd3cd7df505abc1e73d32b200000000000000000000000096cb882e0fb501a46950db902d85c314feeaad290000000000000000000000008c0bbf283640a058746db6f3d4fd3cbd7e526789000000000000000000000000f6c74bc3188bcfbae409378c546994aa166d034600000000000000000000000030a37edb6051ebc5630d02732eae8fcdfaa001c400000000000000000000000017a79abefd7cc1592e3dec1edfe16dbf7e86079d00000000000000000000000066fb69b0e14c3f71687cadfb9c2a5e5985d2ac74000000000000000000000000d1e2654aa18e829232d777b4634603113a75ac28000000000000000000000000745bdbca643fc419b138b3f2c5c0e671103817550000000000000000000000005ebf6aafe796de90050f8e9a72f0c3e34ef0f537000000000000000000000000fa12cc74c3bd1b3c29f72d816edfd1f0e376f5fa00000000000000000000000018e93dc2744f2ab2cc112835c72bf5cbfd3468f40000000000000000000000001f8f19347d0edc76dbb0dfe36d84cd11c91dcdc5000000000000000000000000bf78308012b52ee1349108089e8e3de11562b155000000000000000000000000a1c22df31e708085dd1dc68507b60d26175894dc000000000000000000000000c07b987c2d572fdf76e93347742bde152c4b2bb300000000000000000000000012567ef4f6decdaa31f4e4d661a0783d423802a10000000000000000000000003094ea2500822117a3518cf76518c4f2ec1f01ca000000000000000000000000b4a1facb1b02097c32ea2f86722624d2377d651600000000000000000000000006df9021910c216a6fa7e6f119b65a7da723bc7a00000000000000000000000041c969067b05c69f0e7877c7934ddbea1a3578fb000000000000000000000000019251aab8dccd8bc4fe153a30798deea1dc1b010000000000000000000000004c7b5ec93762ec4fb61fde287bb5342bd4748245000000000000000000000000320a113f60cb2d2059965acdd97a22ca66771dc200000000000000000000000081247b89ffd0f385f92e571d772383c849637032000000000000000000000000e7f2004f57892ed3424998f994093e7924bd72c60000000000000000000000001812fa2fb76945e9d9b683d7acbd48cf852d861b000000000000000000000000f351f0ea9e40cdd9d7473d9e5c173f0d31de0993000000000000000000000000a1040c9c11894f8d6e11c55c1d7bfbf4537361e90000000000000000000000000b068417c7affb3aecddabf078421e094ae040320000000000000000000000003640c0b55299d9e2b09f860efcbe972780a9fed200000000000000000000000060a8c5f12e745e6170fafa08fa434e2d4b29919000000000000000000000000088f66de9a495bae3ce552b41e9682965ebf49fde0000000000000000000000008dd5b40af1e354cb72792184b138401ba82ad29c000000000000000000000000d7dd3cef544fed26a54fbbca7cb6080f80d61b070000000000000000000000006698008f2b78aebeb8ffd7a720126548a3f39c15000000000000000000000000e3be4f5390c7760bfc095d6b1f63619b2d09639e0000000000000000000000008c235aac3e38eb2d5a9ae4164c23480b0a31522e000000000000000000000000558fa82960ec3fa51af9ded2d5a846c597f8c28b000000000000000000000000dff8ba45eb9a34074c1b2e14d4002add0fd61a1800000000000000000000000069052d279e485b54c00e53f896609253e1f6f8ae000000000000000000000000a819a27c5d2e7c07f7739fcf2b620ed6b597023f00000000000000000000000080c23f367474972ad6e2eb5f6ba3bf045efd8e8c00000000000000000000000012f759cf8481148a29441628c3b75d5b5871cfdf000000000000000000000000f3c3f9f60bd25144738be81da0d8ec709d6c997c000000000000000000000000f9178e809cefaf2b219787336650a31552e52d5f00000000000000000000000074ae5941f76f4810137aabc257e55a7ba374b3d5000000000000000000000000ccf0bcdf5491ddb100d42bd6944b12501b0a2991000000000000000000000000254fc3950474e3bc7b8be0b463fc28ce557af0eb00000000000000000000000066d8aa61be8c5a9e027fb3c5d1527e615fad9ca9000000000000000000000000bab1b58bdf231522824d5eeafba249156700c71d000000000000000000000000d874ecda3e1ff9f0d2b4c80cb8c1caa095cd07250000000000000000000000008e9f5b55d2c194b4af729a97ef1710bd745ba49c0000000000000000000000006080e863914e66e427998c6f4cdd72f990e648f00000000000000000000000006432dfe5c8aa619e79d52a50ab7fa851b56d15480000000000000000000000001d8335a0a81f913f4c04644fe290e29115491231000000000000000000000000e016a96735f97ef4120e50de2acfec221cd55b00000000000000000000000000cc1f79f92ae827c66ef8a80ca1f2a05f75d01086000000000000000000000000ad0a0b434204ba0a2ad0e02e0d7627fa00c271cd0000000000000000000000007636b570ae87a0f9f49b920f734cf726c0b8d3d30000000000000000000000002864c9bd73c0fc8ad3d5e3d77220ec53bc54704000000000000000000000000096daf1d3bc516c60fd3c08009124f15a8721d06c0000000000000000000000009c78623a815e71281c3e7a4ffc5bf5f3c570c72c000000000000000000000000b7dca81ce67f685887fcd64f23f850cb455807580000000000000000000000002e6110b6cb83bda4bcf2891c676ef489003329870000000000000000000000000d88ab85de9ad6416c13d2f6ae564b4944c510fb000000000000000000000000f40896cde395236756185e5a32b7857ba3e93236000000000000000000000000e5edfe0e968bf5dad6d023814989b536c08756760000000000000000000000006aeac243c090fa97e77ca77a4446be33615f07ae000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000036554d7a9800000000000000000000000000000000000000000000000000000034d7743cc122100000000000000000000000000000000000000000000000000033bf4910e60f50000000000000000000000000000000000000000000000000002e8deed15c6930000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d072774ff80000000000000000000000000000000000000000000000000000027ca57357c00000000000000000000000000000000000000000000000000000027ca57357c00000000000000000000000000000000000000000000000000000026816a8faa9e800000000000000000000000000000000000000000000000000024686d6f6ac88000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd800000000000000000000000000000000000000000000000000000020e98f15330000000000000000000000000000000000000000000000000000001fd51291300000000000000000000000000000000000000000000000000000001f840fe044a000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001f03aba3c64000000000000000000000000000000000000000000000000000001ec766ce3e7c90000000000000000000000000000000000000000000000000001eb208c2dc0000000000000000000000000000000000000000000000000000001e874a742454d0000000000000000000000000000000000000000000000000001e4c2bbaa50000000000000000000000000000000000000000000000000000001e43486ec24fa0000000000000000000000000000000000000000000000000001de0ae34a4f8c0000000000000000000000000000000000000000000000000001db9a3ed88c150000000000000000000000000000000000000000000000000001d8efef4880000000000000000000000000000000000000000000000000000001d8efef4880000000000000000000000000000000000000000000000000000001d64811b870000000000000000000000000000000000000000000000000000001d4c1e0c19cec0000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf52634000000000000000000000000000000000000000000000000000000191f28b1ea740000000000000000000000000000000000000000000000000000179272483980000000000000000000000000000000000000000000000000000016cef4bb7540000000000000000000000000000000000000000000000000000016bcc41e9000000000000000000000000000000000000000000000000000000012c221cc6a000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec0000000000000000000000000000000000000000000000000000000f818a1ffaf0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3418b0d1e6188a418796fa74d91c8d00ea7f589bdddd4da59682660a466505a7c075249264257438770fb79dd92d46c0cd5303c5930883653fd89bf3f5b8f348a1bb05ec226c3676b2dfc1b321fab061f0b5dd429950fa187db07550b4b57a6d00369640c826cc14e425d897c4e318e7fa740ad437db0e092692ca248b22d50a5921c2827e08e663a2da2cb37406ffc29de58b09bb909fd4653f74a8ccb86259237655ed7394778631e43077d68e23ab1545a1815a7baaa902b8de4f25a1da9c2f2281b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x22\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x52faf9\",\n      \"logs\": [\n        {\n          \"address\": \"0xbeb5fc579115071764c7423a4f12edde41f106ed\",\n          \"topics\": [\n            \"0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32\",\n            \"0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167\",\n            \"0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000019cd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e848000501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000004ea887e70441fe1e7e30f06d381ee6186c305bce000000000000000000000000c25560e513de24d927fd1779fdce848e3d1a9907000000000000000000000000ca691d8aa8d32726832b6787c2576d5ef761c93d000000000000000000000000e1317eec6153bbfda53932b4f825badea66c1bf6000000000000000000000000cc0dc98ce0db0b73d27f9c496119c02d34f145b3000000000000000000000000c84a6b669ed75ca5194b13a46e2e0ffa645f6db1000000000000000000000000f8d05938941b37f7efbb0507210ea6577d9b7a91000000000000000000000000edec3a757df24f1da06f14f6772d324ad66c6aa90000000000000000000000002276816aec0c14697b0c9f15ccd99d8c475f8ed7000000000000000000000000aa0dc16f7e07baf7b1df877281b8cb782ad37b0b000000000000000000000000f8b8f762ec18b32a67f5c94c57ab7bf620221547000000000000000000000000570fdfdf72f55760913f18064875063ea7729265000000000000000000000000c2386911c1dbe47ed63fc1dc4ff0fe84a8ca65c0000000000000000000000000070cca32b8324ed5f6039c1f0fe9a6eb47d997710000000000000000000000007de7221723e9492c9ca365260479159a38c35fcf0000000000000000000000003b1628bf8584a218e0d97ebd1e4cc2c8645d2ae2000000000000000000000000b6170eacaa6aed67d64e095d419ce7fd8e7d4750000000000000000000000000df016d49bb059b6a1ec651bbc04c54de701f5c470000000000000000000000009cf256b5933c3367f73d510c6e8ca98b0a294afc000000000000000000000000fe84b1d775efa42cc2e0dd1031dacbd241a3f881000000000000000000000000359791f496fb9e55340a227854214a27d4bb011a000000000000000000000000f924ab834ef511b6bd438baec36ac50d513a4e59000000000000000000000000dc59b87b30512ba66dce3f0fe892d19db9abd0e60000000000000000000000006d83ff41dfbf4d820359e4c78e487ed125f2c37f0000000000000000000000001e39c8102dfb89ce8d05a5add89da845b958ac0b00000000000000000000000073ca85522ef1fead38d567cd278561ff8248c3dc000000000000000000000000e10701fdb62f3526a3ed06670e94a463401d8671000000000000000000000000a1be19349c296c4c7125894672ebc1756493617a0000000000000000000000007fa18723ef2a885dfee22b202c9df2274ac3453f0000000000000000000000004d8c52776ddf0e615e3758a15ca766f9128acdcb0000000000000000000000008aa15d50c9d1dcc7ba5f92c550079ad14d1c42f7000000000000000000000000cca5142ae99ed42dbdd3cd7df505abc1e73d32b200000000000000000000000096cb882e0fb501a46950db902d85c314feeaad290000000000000000000000008c0bbf283640a058746db6f3d4fd3cbd7e526789000000000000000000000000f6c74bc3188bcfbae409378c546994aa166d034600000000000000000000000030a37edb6051ebc5630d02732eae8fcdfaa001c400000000000000000000000017a79abefd7cc1592e3dec1edfe16dbf7e86079d00000000000000000000000066fb69b0e14c3f71687cadfb9c2a5e5985d2ac74000000000000000000000000d1e2654aa18e829232d777b4634603113a75ac28000000000000000000000000745bdbca643fc419b138b3f2c5c0e671103817550000000000000000000000005ebf6aafe796de90050f8e9a72f0c3e34ef0f537000000000000000000000000fa12cc74c3bd1b3c29f72d816edfd1f0e376f5fa00000000000000000000000018e93dc2744f2ab2cc112835c72bf5cbfd3468f40000000000000000000000001f8f19347d0edc76dbb0dfe36d84cd11c91dcdc5000000000000000000000000bf78308012b52ee1349108089e8e3de11562b155000000000000000000000000a1c22df31e708085dd1dc68507b60d26175894dc000000000000000000000000c07b987c2d572fdf76e93347742bde152c4b2bb300000000000000000000000012567ef4f6decdaa31f4e4d661a0783d423802a10000000000000000000000003094ea2500822117a3518cf76518c4f2ec1f01ca000000000000000000000000b4a1facb1b02097c32ea2f86722624d2377d651600000000000000000000000006df9021910c216a6fa7e6f119b65a7da723bc7a00000000000000000000000041c969067b05c69f0e7877c7934ddbea1a3578fb000000000000000000000000019251aab8dccd8bc4fe153a30798deea1dc1b010000000000000000000000004c7b5ec93762ec4fb61fde287bb5342bd4748245000000000000000000000000320a113f60cb2d2059965acdd97a22ca66771dc200000000000000000000000081247b89ffd0f385f92e571d772383c849637032000000000000000000000000e7f2004f57892ed3424998f994093e7924bd72c60000000000000000000000001812fa2fb76945e9d9b683d7acbd48cf852d861b000000000000000000000000f351f0ea9e40cdd9d7473d9e5c173f0d31de0993000000000000000000000000a1040c9c11894f8d6e11c55c1d7bfbf4537361e90000000000000000000000000b068417c7affb3aecddabf078421e094ae040320000000000000000000000003640c0b55299d9e2b09f860efcbe972780a9fed200000000000000000000000060a8c5f12e745e6170fafa08fa434e2d4b29919000000000000000000000000088f66de9a495bae3ce552b41e9682965ebf49fde0000000000000000000000008dd5b40af1e354cb72792184b138401ba82ad29c000000000000000000000000d7dd3cef544fed26a54fbbca7cb6080f80d61b070000000000000000000000006698008f2b78aebeb8ffd7a720126548a3f39c15000000000000000000000000e3be4f5390c7760bfc095d6b1f63619b2d09639e0000000000000000000000008c235aac3e38eb2d5a9ae4164c23480b0a31522e000000000000000000000000558fa82960ec3fa51af9ded2d5a846c597f8c28b000000000000000000000000dff8ba45eb9a34074c1b2e14d4002add0fd61a1800000000000000000000000069052d279e485b54c00e53f896609253e1f6f8ae000000000000000000000000a819a27c5d2e7c07f7739fcf2b620ed6b597023f00000000000000000000000080c23f367474972ad6e2eb5f6ba3bf045efd8e8c00000000000000000000000012f759cf8481148a29441628c3b75d5b5871cfdf000000000000000000000000f3c3f9f60bd25144738be81da0d8ec709d6c997c000000000000000000000000f9178e809cefaf2b219787336650a31552e52d5f00000000000000000000000074ae5941f76f4810137aabc257e55a7ba374b3d5000000000000000000000000ccf0bcdf5491ddb100d42bd6944b12501b0a2991000000000000000000000000254fc3950474e3bc7b8be0b463fc28ce557af0eb00000000000000000000000066d8aa61be8c5a9e027fb3c5d1527e615fad9ca9000000000000000000000000bab1b58bdf231522824d5eeafba249156700c71d000000000000000000000000d874ecda3e1ff9f0d2b4c80cb8c1caa095cd07250000000000000000000000008e9f5b55d2c194b4af729a97ef1710bd745ba49c0000000000000000000000006080e863914e66e427998c6f4cdd72f990e648f00000000000000000000000006432dfe5c8aa619e79d52a50ab7fa851b56d15480000000000000000000000001d8335a0a81f913f4c04644fe290e29115491231000000000000000000000000e016a96735f97ef4120e50de2acfec221cd55b00000000000000000000000000cc1f79f92ae827c66ef8a80ca1f2a05f75d01086000000000000000000000000ad0a0b434204ba0a2ad0e02e0d7627fa00c271cd0000000000000000000000007636b570ae87a0f9f49b920f734cf726c0b8d3d30000000000000000000000002864c9bd73c0fc8ad3d5e3d77220ec53bc54704000000000000000000000000096daf1d3bc516c60fd3c08009124f15a8721d06c0000000000000000000000009c78623a815e71281c3e7a4ffc5bf5f3c570c72c000000000000000000000000b7dca81ce67f685887fcd64f23f850cb455807580000000000000000000000002e6110b6cb83bda4bcf2891c676ef489003329870000000000000000000000000d88ab85de9ad6416c13d2f6ae564b4944c510fb000000000000000000000000f40896cde395236756185e5a32b7857ba3e93236000000000000000000000000e5edfe0e968bf5dad6d023814989b536c08756760000000000000000000000006aeac243c090fa97e77ca77a4446be33615f07ae000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000036554d7a9800000000000000000000000000000000000000000000000000000034d7743cc122100000000000000000000000000000000000000000000000000033bf4910e60f50000000000000000000000000000000000000000000000000002e8deed15c6930000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d072774ff80000000000000000000000000000000000000000000000000000027ca57357c00000000000000000000000000000000000000000000000000000027ca57357c00000000000000000000000000000000000000000000000000000026816a8faa9e800000000000000000000000000000000000000000000000000024686d6f6ac88000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd800000000000000000000000000000000000000000000000000000020e98f15330000000000000000000000000000000000000000000000000000001fd51291300000000000000000000000000000000000000000000000000000001f840fe044a000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001f03aba3c64000000000000000000000000000000000000000000000000000001ec766ce3e7c90000000000000000000000000000000000000000000000000001eb208c2dc0000000000000000000000000000000000000000000000000000001e874a742454d0000000000000000000000000000000000000000000000000001e4c2bbaa50000000000000000000000000000000000000000000000000000001e43486ec24fa0000000000000000000000000000000000000000000000000001de0ae34a4f8c0000000000000000000000000000000000000000000000000001db9a3ed88c150000000000000000000000000000000000000000000000000001d8efef4880000000000000000000000000000000000000000000000000000001d8efef4880000000000000000000000000000000000000000000000000000001d64811b870000000000000000000000000000000000000000000000000000001d4c1e0c19cec0000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf52634000000000000000000000000000000000000000000000000000000191f28b1ea740000000000000000000000000000000000000000000000000000179272483980000000000000000000000000000000000000000000000000000016cef4bb7540000000000000000000000000000000000000000000000000000016bcc41e9000000000000000000000000000000000000000000000000000000012c221cc6a000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec0000000000000000000000000000000000000000000000000000000f818a1ffaf0600000000000000000000000000000000000000\",\n          \"blockHash\": \"0x9814621bedb861c1e58d8b921553dad9b5f76013c20c3646621faac1c397de4f\",\n          \"blockNumber\": \"0x15fb270\",\n          \"blockTimestamp\": \"0x688d2c97\",\n          \"transactionHash\": \"0x60d51928284a35e665d76bda2918aa916df820191d2efd6bb88e7c47f423bc1d\",\n          \"transactionIndex\": \"0x6\",\n          \"logIndex\": \"0x96\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x9ca8f2abff370c6f066c7ca5d6441033a1f76c802feb7c2303ddb908c9e47b730000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x9814621bedb861c1e58d8b921553dad9b5f76013c20c3646621faac1c397de4f\",\n          \"blockNumber\": \"0x15fb270\",\n          \"blockTimestamp\": \"0x688d2c97\",\n          \"transactionHash\": \"0x60d51928284a35e665d76bda2918aa916df820191d2efd6bb88e7c47f423bc1d\",\n          \"transactionIndex\": \"0x6\",\n          \"logIndex\": \"0x97\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000001000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000005000042000000000000000000080000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000002000002000000400000000000000002000000000000000c000000000000000000000000000000000000000000000000000000000000020000000000000000000000000002000000000002000080000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x60d51928284a35e665d76bda2918aa916df820191d2efd6bb88e7c47f423bc1d\",\n      \"transactionIndex\": \"0x6\",\n      \"blockHash\": \"0x9814621bedb861c1e58d8b921553dad9b5f76013c20c3646621faac1c397de4f\",\n      \"blockNumber\": \"0x15fb270\",\n      \"gasUsed\": \"0x20bffb\",\n      \"effectiveGasPrice\": \"0x19c1eafc\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1754082458,\n  \"chain\": 1,\n  \"commit\": \"1fa78b1\"\n}"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/records/OPStackExecuteRecovery.s.sol/1/run-1754082505.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x0943c572399799db8c47243eb5980e60518f15bbf9b2172e485c190b1f901dbe\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881\",\n        \"0\",\n        \"0x174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000beb5fc579115071764c7423a4f12edde41f106ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000da4e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000cc4501d976c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000006800000000000000000000000000000000000000000000000000000000000000031000000000000000000000000301a843a7a9f8f00ca2604c4d44e5d6f64bcad5900000000000000000000000059cc41a35621cc2d611600452270c93414eb5470000000000000000000000000c600c544957edb041003bbe68ba14cecb3113e400000000000000000000000007ecc66fc5757dd473824732d8855b8b80bef40a00000000000000000000000001351920815896ee2b027bcedc63e16ddb75b1453000000000000000000000000f22fb421de15ef56dc320d2b26f54769d3b35765000000000000000000000000f2dbfb42722100af12a5789861d99312103a304d000000000000000000000000dc00589c45e0200596916a0e2845f1dc2408b8a400000000000000000000000032378e36ae0d70f7cd6d112b89daf30fe0aee314000000000000000000000000a28ba0d8fefed47fc1accef68faeba380430948000000000000000000000000090cd1069d613250d73523fc463b3f64b1d8b05fb0000000000000000000000009c563aec2b441187cb23597495343f6d5f5751ef0000000000000000000000002be0251b28863c66047fd3ae16df619a9bab9bc60000000000000000000000000985fa60ddf7ba252372edd620c23070814fbf6a00000000000000000000000025e30122242bbc4c28b62d8e09b8bbf4c4af6ca50000000000000000000000000eaec36364b2fce67031c2f7d9245318389523390000000000000000000000003a320f522aa6067a5ced2cf78ad52e2004b2f9dd00000000000000000000000044c38fc7eba94f40e9756d6c43cb399b0e2fdcc60000000000000000000000006d1b396c7fe59a42caae1b3613ee2af9048d3c42000000000000000000000000861fc0f3c83b581609eb0c8eabadeb7dbf29b1ef0000000000000000000000005910a1713a01e3e7e0853287ae86278c0166117300000000000000000000000067a4ca8c677c9b2f4d9fc7b7ceceb89d0cec2970000000000000000000000000412b7bb2502aa48f5d50a5cf7153f16744d76d070000000000000000000000004453a5001ea3942082b50723644e061b2ca7a901000000000000000000000000ac62e678d02ac2f24bf0c01602e4a8fe5cf02c88000000000000000000000000e8f479a33f0ce458c5d7ed22e438a76604efe609000000000000000000000000d0575ae9f313bd8983ca17aa3941ff4031bce1400000000000000000000000004818e7c8cd65662c9272fe2ec7f1cc251614953000000000000000000000000005ca4481a9b06f829cbe7db8743b01c746ed56f80000000000000000000000002f4d763f823dd6a48e76fa4d01ccc80777cd0ad50000000000000000000000000b589695f0c11fb15b3fa53d29f6e7d709e7803e0000000000000000000000000bf3ba34cef4d524d02cfc2919c6e4d8c11bc6bd000000000000000000000000a6e4a0aa265f7009dee7ee84d95d8cfce3d161ae000000000000000000000000e67dff408974912e0011ab72997a8b58f8759f03000000000000000000000000015421d227ad552b7fab1f1b383e6c93cb4c964a000000000000000000000000b65d4f33bad72156d1738eda2ddd0f7b9406fdab000000000000000000000000759d4b7158894d1f65f3c7d3ddd41135ba79d4ad0000000000000000000000005ae4dafcdee3b1051f0ed2a471a4181bc3164bb40000000000000000000000000b95b0322eb8654f5709a6c43b2cc8b9acd452cb00000000000000000000000053a41265e10f66c987fb2e55a48939e1c50f3ea400000000000000000000000000161dd9179154421b0d493c91294c34d1398f1f000000000000000000000000277f0eca887881aaa6e6112ee3e5c442d9ba9462000000000000000000000000adddbf546e0467fc93efb29e8105177b4b45c2a10000000000000000000000006cd5af97ba90bed182ed8e68791004f2d4e31a9c0000000000000000000000008059cc341b41dc765c621ba52ca2d9e9d9284e120000000000000000000000000949c8d6aa7ad809ea08216f327ecf8a3c6b651800000000000000000000000081dbaaa0f6230812bbd55ca042335032328292140000000000000000000000003c004cd31d452b897aca4bb4cbb566bd0e5f6294000000000000000000000000ebe85f2043bb1d669e4917f3b014ff5bc4863d7100000000000000000000000000000000000000000000000000000000000000310000000000000000000000000000000000000000000000000000f324b819cf330000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000d7037e1244000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f48000000000000000000000000000000000000000000000000000000093569074200000000000000000000000000000000000000000000000000000007f544a44c000000000000000000000000000000000000000000000000000000071c15658b8660000000000000000000000000000000000000000000000000000640b5eece000000000000000000000000000000000000000000000000000000061bd28c0925600000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000003691d6afc00000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d20000000000000000000000000000000000000000000000000000000246139ca800000000000000000000000000000000000000000000000000000001b48eb57e000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000000fec02ba390000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a510000000000000000000000000000000000000000000000000000000003a81ec4cf80000000000000000000000000000000000000000000000000000002591749095000000000000000000000000000000000000000000000000000000174876e80000000000000000000000000000000000000000000000000000000005d1decb610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xab86da53cde47e2713d3b0d4af344b86aadcaf5dc49d670160983064847268e12d11488070491c8176038bcdd0a9e83e3deca559613e2eb6a58105c3db3bedb61c57ad1d14585d9ea6aae3b395d20503f349c880b46e5f252003875db37c480cd254b5f0df541e27654330ed7916fbb2d269b2d0d48c2dfa2dec7f0a7452272f441cae4d0dab6bb31192083e1b25c8b87dfc6d8235e6c042bf5fbafc3a6664a0fce02f3e13559b48b47ae0c4fc030eaf11c6830bc0e8d0b675dce8401b249ec86d7b1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x2c855e\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc698398810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010400000000000000000000000000000000000000000000000000000000000000ec4174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000beb5fc579115071764c7423a4f12edde41f106ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000da4e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000cc4501d976c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000006800000000000000000000000000000000000000000000000000000000000000031000000000000000000000000301a843a7a9f8f00ca2604c4d44e5d6f64bcad5900000000000000000000000059cc41a35621cc2d611600452270c93414eb5470000000000000000000000000c600c544957edb041003bbe68ba14cecb3113e400000000000000000000000007ecc66fc5757dd473824732d8855b8b80bef40a00000000000000000000000001351920815896ee2b027bcedc63e16ddb75b1453000000000000000000000000f22fb421de15ef56dc320d2b26f54769d3b35765000000000000000000000000f2dbfb42722100af12a5789861d99312103a304d000000000000000000000000dc00589c45e0200596916a0e2845f1dc2408b8a400000000000000000000000032378e36ae0d70f7cd6d112b89daf30fe0aee314000000000000000000000000a28ba0d8fefed47fc1accef68faeba380430948000000000000000000000000090cd1069d613250d73523fc463b3f64b1d8b05fb0000000000000000000000009c563aec2b441187cb23597495343f6d5f5751ef0000000000000000000000002be0251b28863c66047fd3ae16df619a9bab9bc60000000000000000000000000985fa60ddf7ba252372edd620c23070814fbf6a00000000000000000000000025e30122242bbc4c28b62d8e09b8bbf4c4af6ca50000000000000000000000000eaec36364b2fce67031c2f7d9245318389523390000000000000000000000003a320f522aa6067a5ced2cf78ad52e2004b2f9dd00000000000000000000000044c38fc7eba94f40e9756d6c43cb399b0e2fdcc60000000000000000000000006d1b396c7fe59a42caae1b3613ee2af9048d3c42000000000000000000000000861fc0f3c83b581609eb0c8eabadeb7dbf29b1ef0000000000000000000000005910a1713a01e3e7e0853287ae86278c0166117300000000000000000000000067a4ca8c677c9b2f4d9fc7b7ceceb89d0cec2970000000000000000000000000412b7bb2502aa48f5d50a5cf7153f16744d76d070000000000000000000000004453a5001ea3942082b50723644e061b2ca7a901000000000000000000000000ac62e678d02ac2f24bf0c01602e4a8fe5cf02c88000000000000000000000000e8f479a33f0ce458c5d7ed22e438a76604efe609000000000000000000000000d0575ae9f313bd8983ca17aa3941ff4031bce1400000000000000000000000004818e7c8cd65662c9272fe2ec7f1cc251614953000000000000000000000000005ca4481a9b06f829cbe7db8743b01c746ed56f80000000000000000000000002f4d763f823dd6a48e76fa4d01ccc80777cd0ad50000000000000000000000000b589695f0c11fb15b3fa53d29f6e7d709e7803e0000000000000000000000000bf3ba34cef4d524d02cfc2919c6e4d8c11bc6bd000000000000000000000000a6e4a0aa265f7009dee7ee84d95d8cfce3d161ae000000000000000000000000e67dff408974912e0011ab72997a8b58f8759f03000000000000000000000000015421d227ad552b7fab1f1b383e6c93cb4c964a000000000000000000000000b65d4f33bad72156d1738eda2ddd0f7b9406fdab000000000000000000000000759d4b7158894d1f65f3c7d3ddd41135ba79d4ad0000000000000000000000005ae4dafcdee3b1051f0ed2a471a4181bc3164bb40000000000000000000000000b95b0322eb8654f5709a6c43b2cc8b9acd452cb00000000000000000000000053a41265e10f66c987fb2e55a48939e1c50f3ea400000000000000000000000000161dd9179154421b0d493c91294c34d1398f1f000000000000000000000000277f0eca887881aaa6e6112ee3e5c442d9ba9462000000000000000000000000adddbf546e0467fc93efb29e8105177b4b45c2a10000000000000000000000006cd5af97ba90bed182ed8e68791004f2d4e31a9c0000000000000000000000008059cc341b41dc765c621ba52ca2d9e9d9284e120000000000000000000000000949c8d6aa7ad809ea08216f327ecf8a3c6b651800000000000000000000000081dbaaa0f6230812bbd55ca042335032328292140000000000000000000000003c004cd31d452b897aca4bb4cbb566bd0e5f6294000000000000000000000000ebe85f2043bb1d669e4917f3b014ff5bc4863d7100000000000000000000000000000000000000000000000000000000000000310000000000000000000000000000000000000000000000000000f324b819cf330000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000d7037e1244000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f48000000000000000000000000000000000000000000000000000000093569074200000000000000000000000000000000000000000000000000000007f544a44c000000000000000000000000000000000000000000000000000000071c15658b8660000000000000000000000000000000000000000000000000000640b5eece000000000000000000000000000000000000000000000000000000061bd28c0925600000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000003691d6afc00000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d20000000000000000000000000000000000000000000000000000000246139ca800000000000000000000000000000000000000000000000000000001b48eb57e000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000000fec02ba390000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a510000000000000000000000000000000000000000000000000000000003a81ec4cf80000000000000000000000000000000000000000000000000000002591749095000000000000000000000000000000000000000000000000000000174876e80000000000000000000000000000000000000000000000000000000005d1decb6100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3ab86da53cde47e2713d3b0d4af344b86aadcaf5dc49d670160983064847268e12d11488070491c8176038bcdd0a9e83e3deca559613e2eb6a58105c3db3bedb61c57ad1d14585d9ea6aae3b395d20503f349c880b46e5f252003875db37c480cd254b5f0df541e27654330ed7916fbb2d269b2d0d48c2dfa2dec7f0a7452272f441cae4d0dab6bb31192083e1b25c8b87dfc6d8235e6c042bf5fbafc3a6664a0fce02f3e13559b48b47ae0c4fc030eaf11c6830bc0e8d0b675dce8401b249ec86d7b1b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x23\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x12ca4fe\",\n      \"logs\": [\n        {\n          \"address\": \"0xbeb5fc579115071764c7423a4f12edde41f106ed\",\n          \"topics\": [\n            \"0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32\",\n            \"0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167\",\n            \"0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000d0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e848000501d976c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000006800000000000000000000000000000000000000000000000000000000000000031000000000000000000000000301a843a7a9f8f00ca2604c4d44e5d6f64bcad5900000000000000000000000059cc41a35621cc2d611600452270c93414eb5470000000000000000000000000c600c544957edb041003bbe68ba14cecb3113e400000000000000000000000007ecc66fc5757dd473824732d8855b8b80bef40a00000000000000000000000001351920815896ee2b027bcedc63e16ddb75b1453000000000000000000000000f22fb421de15ef56dc320d2b26f54769d3b35765000000000000000000000000f2dbfb42722100af12a5789861d99312103a304d000000000000000000000000dc00589c45e0200596916a0e2845f1dc2408b8a400000000000000000000000032378e36ae0d70f7cd6d112b89daf30fe0aee314000000000000000000000000a28ba0d8fefed47fc1accef68faeba380430948000000000000000000000000090cd1069d613250d73523fc463b3f64b1d8b05fb0000000000000000000000009c563aec2b441187cb23597495343f6d5f5751ef0000000000000000000000002be0251b28863c66047fd3ae16df619a9bab9bc60000000000000000000000000985fa60ddf7ba252372edd620c23070814fbf6a00000000000000000000000025e30122242bbc4c28b62d8e09b8bbf4c4af6ca50000000000000000000000000eaec36364b2fce67031c2f7d9245318389523390000000000000000000000003a320f522aa6067a5ced2cf78ad52e2004b2f9dd00000000000000000000000044c38fc7eba94f40e9756d6c43cb399b0e2fdcc60000000000000000000000006d1b396c7fe59a42caae1b3613ee2af9048d3c42000000000000000000000000861fc0f3c83b581609eb0c8eabadeb7dbf29b1ef0000000000000000000000005910a1713a01e3e7e0853287ae86278c0166117300000000000000000000000067a4ca8c677c9b2f4d9fc7b7ceceb89d0cec2970000000000000000000000000412b7bb2502aa48f5d50a5cf7153f16744d76d070000000000000000000000004453a5001ea3942082b50723644e061b2ca7a901000000000000000000000000ac62e678d02ac2f24bf0c01602e4a8fe5cf02c88000000000000000000000000e8f479a33f0ce458c5d7ed22e438a76604efe609000000000000000000000000d0575ae9f313bd8983ca17aa3941ff4031bce1400000000000000000000000004818e7c8cd65662c9272fe2ec7f1cc251614953000000000000000000000000005ca4481a9b06f829cbe7db8743b01c746ed56f80000000000000000000000002f4d763f823dd6a48e76fa4d01ccc80777cd0ad50000000000000000000000000b589695f0c11fb15b3fa53d29f6e7d709e7803e0000000000000000000000000bf3ba34cef4d524d02cfc2919c6e4d8c11bc6bd000000000000000000000000a6e4a0aa265f7009dee7ee84d95d8cfce3d161ae000000000000000000000000e67dff408974912e0011ab72997a8b58f8759f03000000000000000000000000015421d227ad552b7fab1f1b383e6c93cb4c964a000000000000000000000000b65d4f33bad72156d1738eda2ddd0f7b9406fdab000000000000000000000000759d4b7158894d1f65f3c7d3ddd41135ba79d4ad0000000000000000000000005ae4dafcdee3b1051f0ed2a471a4181bc3164bb40000000000000000000000000b95b0322eb8654f5709a6c43b2cc8b9acd452cb00000000000000000000000053a41265e10f66c987fb2e55a48939e1c50f3ea400000000000000000000000000161dd9179154421b0d493c91294c34d1398f1f000000000000000000000000277f0eca887881aaa6e6112ee3e5c442d9ba9462000000000000000000000000adddbf546e0467fc93efb29e8105177b4b45c2a10000000000000000000000006cd5af97ba90bed182ed8e68791004f2d4e31a9c0000000000000000000000008059cc341b41dc765c621ba52ca2d9e9d9284e120000000000000000000000000949c8d6aa7ad809ea08216f327ecf8a3c6b651800000000000000000000000081dbaaa0f6230812bbd55ca042335032328292140000000000000000000000003c004cd31d452b897aca4bb4cbb566bd0e5f6294000000000000000000000000ebe85f2043bb1d669e4917f3b014ff5bc4863d7100000000000000000000000000000000000000000000000000000000000000310000000000000000000000000000000000000000000000000000f324b819cf330000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000d7037e1244000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f48000000000000000000000000000000000000000000000000000000093569074200000000000000000000000000000000000000000000000000000007f544a44c000000000000000000000000000000000000000000000000000000071c15658b8660000000000000000000000000000000000000000000000000000640b5eece000000000000000000000000000000000000000000000000000000061bd28c0925600000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000003691d6afc00000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d20000000000000000000000000000000000000000000000000000000246139ca800000000000000000000000000000000000000000000000000000001b48eb57e000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000000fec02ba390000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a510000000000000000000000000000000000000000000000000000000003a81ec4cf80000000000000000000000000000000000000000000000000000002591749095000000000000000000000000000000000000000000000000000000174876e80000000000000000000000000000000000000000000000000000000005d1decb6100000000000000000000000000000000000000\",\n          \"blockHash\": \"0xefbaa62ecfe4f64b629b1e7b92cbc62a1c2d8936a6fe131f2d21a4560556b9e5\",\n          \"blockNumber\": \"0x15fb274\",\n          \"blockTimestamp\": \"0x688d2cc7\",\n          \"transactionHash\": \"0x0943c572399799db8c47243eb5980e60518f15bbf9b2172e485c190b1f901dbe\",\n          \"transactionIndex\": \"0x99\",\n          \"logIndex\": \"0x209\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x27bae9459352912f2ec1552481de620f2efde5ac876e604bbe5f653c7a8dcbf70000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xefbaa62ecfe4f64b629b1e7b92cbc62a1c2d8936a6fe131f2d21a4560556b9e5\",\n          \"blockNumber\": \"0x15fb274\",\n          \"blockTimestamp\": \"0x688d2cc7\",\n          \"transactionHash\": \"0x0943c572399799db8c47243eb5980e60518f15bbf9b2172e485c190b1f901dbe\",\n          \"transactionIndex\": \"0x99\",\n          \"logIndex\": \"0x20a\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000001000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000005000042000000000000000000080000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000002000002000000400000000000000002000000000000000c000000000000000000000000000000000000000000000000000000000000020000000000000000000000000002000000000002000080000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x0943c572399799db8c47243eb5980e60518f15bbf9b2172e485c190b1f901dbe\",\n      \"transactionIndex\": \"0x99\",\n      \"blockHash\": \"0xefbaa62ecfe4f64b629b1e7b92cbc62a1c2d8936a6fe131f2d21a4560556b9e5\",\n      \"blockNumber\": \"0x15fb274\",\n      \"gasUsed\": \"0x203b7e\",\n      \"effectiveGasPrice\": \"0x19122874\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1754082505,\n  \"chain\": 1,\n  \"commit\": \"1fa78b1\"\n}"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/records/OPStackExecuteRecovery.s.sol/1/run-1754084018.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xea8304b0dedc8ae72bcabfdbfc6c6c7d0b3d27164602e1ef73c9db9e31cde7ca\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881\",\n        \"0\",\n        \"0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000007446b433ef38688c6cf29d47594ca9f5d0e75ec4000000000000000000000000b977c4972a98e65c7be0f8807c3ed5e64cab8c91000000000000000000000000c4e510852ddb70c716af5cb0bcde0db00ef7a280000000000000000000000000681bf9b2d70b77c3d9278865af9c8da6210908c6000000000000000000000000c17fcf6eb176569e2751f93e65660204f8d83e130000000000000000000000004c4e2b618dc9f28dd6cbb5f1a024fead3249c2c8000000000000000000000000b1833a29879ca6b0c2004833cf8ee565403566f600000000000000000000000018f167fb09fc6e86c95e97eeb726d1de3089dfc00000000000000000000000005aea06cd79eb75df48b25837a445a8347fc2cc35000000000000000000000000914a6fb358bc0976070e44a32117218d388f658200000000000000000000000020ffe0d07d7f7c2c21a24537538b4cde06c9048a000000000000000000000000ec65398e8f53f98b5eace635038194a85b355079000000000000000000000000fffc4f59e558ce6ef09a1f2184d3e84dee1ca153000000000000000000000000db9fb1e7ea27eb9f2481442709a9f9733633de0c0000000000000000000000006b25d98996f99cc322a404954376cb1bcb3409c400000000000000000000000058b1d79a2509f7d9efa4ec5c6122ffb08221a822000000000000000000000000ed9643d249293212a067bda8a851bd0a96206ea2000000000000000000000000c423809456d8aa52c2611a750e6c463368035bae00000000000000000000000062c8788f6fa08e150f930f8a8c4b62848c622a5f0000000000000000000000005cbe27489a35a22068c840d330681545c35896dc0000000000000000000000004db47230a858ae1f6461a1a8d76667c5a7378c2c000000000000000000000000514756d0c33b6f75c59067b926a6692ffe791e51000000000000000000000000d3237b6c2cee115db0d4bfef4789f6b3373584c800000000000000000000000018ad1c88345cb2fd5e0963af9b7b67f09315c54a0000000000000000000000002adbe45964907ebeca94cac2d244ea83f67bd9e40000000000000000000000007303ca4a88f866d91eb3903d285886ccf4a94993000000000000000000000000787a66a377269f200e28de03cc033358a80f43ab000000000000000000000000ead441807624cba5b309a8dc622a33a81622b61e0000000000000000000000007c350e2f7a296319cfda4f83b214232e89a6a7df0000000000000000000000007a76c97c6eebf3af522613be02683c2f20514370000000000000000000000000e222913573f61acd28e55d24abf23606e3f5cb8c000000000000000000000000f62fe60688734155e450d0aabd2e5798f394dd61000000000000000000000000c0101b80723815c7cb590cdb3c7a8a53a3ba32570000000000000000000000004daa01798d81ce18360ae3dd4d0d6d33be4d6e6c000000000000000000000000ae7bc08aa50ca140945bbaa944f04b1bb03e3f64000000000000000000000000bbf61f09aff0fc6f0da30b390e5d7562109d83240000000000000000000000005dc42fcce46d1d9d71546ad35803dd7ad6976b84000000000000000000000000eff424b93f54905c5a70230665ba866f3f7fa7cc0000000000000000000000008eb882bdda4b0b7134424fe7a9640fe69cc3493e00000000000000000000000090ca7878be26fd29127c6d383c48d995c8c9ce61000000000000000000000000e78358a49d931db2a18dbe4a85a285620a3d95e70000000000000000000000005e27d99647f01b59e8ac4467facedc37fa0bdd2b0000000000000000000000009664fc47ffd856ba312ab4007fce122a3afbb58400000000000000000000000074e1d68ff9b267e48126a9d2289c8598e295fdac00000000000000000000000043dbe9cb8659554a8239715561ca94eddea4b40e0000000000000000000000008573e6b97084c0979ab2087efdb178b27beaf848000000000000000000000000934d697f66212c62fb1a8221c11ca7b3e7e7a17f000000000000000000000000a1fb9cdc9fd3dc3203044a730ce671ffbcd986a5000000000000000000000000d9593cf755a011f993ae293dc935f659bebc37cd0000000000000000000000005854b90c3ea7b605e4bc4b34cfcec9ff0c5b05cf0000000000000000000000009b2f12393217b6a0d1fa10ceb7aa49858edeffe50000000000000000000000008514b324c54150ddfe6b12c7f38a4b5e01e4ab14000000000000000000000000cd8e65c880d1f9fbf0ed977a69ae29bad5ecdb51000000000000000000000000753ccfe3f00683b8f812985a6f4440340171ccb1000000000000000000000000f1e33195b419e1a1bb55cebc8d159ae5f665eb690000000000000000000000004b5883f3e0f201b0e2f453a82a97e353aa25041d000000000000000000000000d0b24fc5b54e9ccb3961217ce98b90dd438d692d000000000000000000000000171e656419d223031c707e9db05fd94fb939bb7c00000000000000000000000012912e4003bff2e71365129f7040ec995707117500000000000000000000000001a18bd909f66d36d0dcfba103ac15f173dd28bc0000000000000000000000007ece75b1b7dbb1b94439d33b5756cf3d679f8c1c000000000000000000000000c2d9e267554c86db22cdefc94d646346b36623bc000000000000000000000000459f3294d879530b1643c885a864e764f2b353e6000000000000000000000000f1b792c5b5a70f8476ae6339a5a8ad8c670e475500000000000000000000000053ae17210138785166858a2df8fc22e13cf153aa000000000000000000000000c36c9bd0b67297d4135e176887af0c85a00ad9620000000000000000000000002b66671cbcbe2f4ef0782e65fcce24ae69bf2e240000000000000000000000003d1ac9f9848cdcda9b6f1765c91a13d68d74bcad000000000000000000000000b85617d15ada455f6b58954f2063a12ab2ea750700000000000000000000000047b8ad1b72d5e2700971e953a35457740b9954f9000000000000000000000000de5802130a46b2bfd4920ae43c965102f7166274000000000000000000000000b6e7bc53aac865895c18a0d6ace8456cab35c4c6000000000000000000000000c351accc1e82be5294d3080cbd6182a3acd2c54c000000000000000000000000a542b59486a23f54646100bc30e966966ee16bcb00000000000000000000000091f31ffca781f45454cb0f651e6d359becb9fea40000000000000000000000004d5e44ac19fdad3812c64f5802747adcfa0c5544000000000000000000000000ce1aa76dbdd77c092a1efd763c0f3c6aaffa113700000000000000000000000070d5e6a746566032ae5722aa3396a854440a60a90000000000000000000000004d43b234b645972785f11c56bd5bf078aa9468cd000000000000000000000000ee8311fe397e2464f78b3732e74dcd65087e71870000000000000000000000002bf0410bb32cbeb1f1121435526de8716cbe662d000000000000000000000000295e8c23aa5f474bece1d5e08515087d0b7309ff0000000000000000000000004f05008a04e8d7ca6c497ce4ce927f1bff04ebec000000000000000000000000562b7690bda71cf36a1030d1ef54a0be638bd457000000000000000000000000c1812a4bbd0321a0487492578df3afa7d19c004b000000000000000000000000699e0e3c218f0800d01e12ddd9571ec18be33c61000000000000000000000000b8c4f7b36e1413afa6cc0d2d7f726c61d33f4eb9000000000000000000000000f995efa2876e442e2f6e0224f29db627d7702f39000000000000000000000000c6c3d91d0e909172c2ea724716ee59519b9f6132000000000000000000000000604f60e4152c1ecbf85a12d1550630da7d6c6e25000000000000000000000000e8a45152f9032197494b1a1a2d07c33f4aa213290000000000000000000000004b05288d9cc08a869a7de4266e609ac54f817f5c000000000000000000000000d7c0638543f7e0f781cb9ec612d3f447c212a1a8000000000000000000000000448749280160d2126053330fa7a18f893943c455000000000000000000000000d65bd6e079235e9c84e3806cc05d0d01840b02f200000000000000000000000092892a31a0b965c2b5022d4ecb87533cd1eb8bbb0000000000000000000000009d677028e0e592d48fc8a8ddc910693301a4a450000000000000000000000000833634e4add904be71635bbcec6e3a5e152683fb0000000000000000000000006f1bf6628a272767df396b71f8ff6348777145f80000000000000000000000006d9bc2bbf55abb7e4fd88349df093aa5e2ed31ff000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000897d71e8cec000000000000000000000000000000000000000000000000000007b46e1214669e0000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006a94d74f4300000000000000000000000000000000000000000000000000000068ce17fcdfc00000000000000000000000000000000000000000000000000000666598e047050a0000000000000000000000000000000000000000000000000065f67f790dc0000000000000000000000000000000000000000000000000000063948eb831aed10000000000000000000000000000000000000000000000000061c8a38f8c236b0000000000000000000000000000000000000000000000000060e1eba70660000000000000000000000000000000000000000000000000000060d9307a6f6000000000000000000000000000000000000000000000000000005fec5b60ef8000000000000000000000000000000000000000000000000000005ea2933ad9efd9000000000000000000000000000000000000000000000000005d242fb87e05a5000000000000000000000000000000000000000000000000005c5edcbc2900000000000000000000000000000000000000000000000000000058d15e1762800000000000000000000000000000000000000000000000000000580f37bbdd5400000000000000000000000000000000000000000000000000004f3e2a85822a76000000000000000000000000000000000000000000000000004e28e2290f0000000000000000000000000000000000000000000000000000004a9b6384488000000000000000000000000000000000000000000000000000004a77024a7e000000000000000000000000000000000000000000000000000000490444ef95b78400000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df820000000000000000000000000000000000000000000000000000004657febe8d800000000000000000000000000000000000000000000000000000446bf8f4e146ad000000000000000000000000000000000000000000000000004380663abb8000000000000000000000000000000000000000000000000000004380663abb8000000000000000000000000000000000000000000000000000004380663abb8000000000000000000000000000000000000000000000000000004380663abb800000000000000000000000000000000000000000000000000000415eb3d7de000000000000000000000000000000000000000000000000000000411c26387d657d000000000000000000000000000000000000000000000000003ff2e795f50000000000000000000000000000000000000000000000000000003f3d0175008000000000000000000000000000000000000000000000000000003eb7b62cc37ac0000000000000000000000000000000000000000000000000003e5343fb4b7000000000000000000000000000000000000000000000000000003c66e9be5e4174000000000000000000000000000000000000000000000000003a0d24b7a140000000000000000000000000000000000000000000000000000039c8861241c7970000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000003822042b73800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a180000000000000000000000000000000000000000000000000000033b5b204b4b0000000000000000000000000000000000000000000000000000031bced02db00000000000000000000000000000000000000000000000000000031bced02db00000000000000000000000000000000000000000000000000000031bced02db00000000000000000000000000000000000000000000000000000031a24bde3d9981000000000000000000000000000000000000000000000000002fdbf543524973000000000000000000000000000000000000000000000000002e2f6e5e148000000000000000000000000000000000000000000000000000002de43c86e94c2a000000000000000000000000000000000000000000000000002dd47b4d9a4000000000000000000000000000000000000000000000000000002d42f666704000000000000000000000000000000000000000000000000000002c142974d1584b000000000000000000000000000000000000000000000000002b3374a0780000000000000000000000000000000000000000000000000000002aa1efb94e0000000000000000000000000000000000000000000000000000002a46fca8d3c0000000000000000000000000000000000000000000000000000029e0b505abd9fe0000000000000000000000000000000000000000000000000029c7a85e8f000000000000000000000000000000000000000000000000000000276f642501c0000000000000000000000000000000000000000000000000000027631cee4d680000000000000000000000000000000000000000000000000000271471148780000000000000000000000000000000000000000000000000000026ca5161fae8000000000000000000000000000000000000000000000000000026bd9ea7debdc00000000000000000000000000000000000000000000000000026a60770a7500000000000000000000000000000000000000000000000000000261af127572520000000000000000000000000000000000000000000000000002614f4a984b39f000000000000000000000000000000000000000000000000002433c04242e000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x55d158c4d1320ff6fde3db613601ce01a5ca207781e3c5d73c72b537cb800a7e1750f7c353a67394481bb777ac18b212e0a588a7c111c8359a9ea2daccd990fc1ce7508afa6f9aaa7e503c7e6977ad6c4f328215009d875557c18b9d2a388095ea2291f5ec6416dbd664acac8482ff86fc2c1264ce51af52b343d680f922ce48021cd2777f460979c7fe0c140c8deb9f5f5abeffe0a60846c0a35da9cb444da2001c32867e47aec39bcfbbb4fa121c7169d338202bcbd085a7adfced3f6673f89f2f1c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x2d3a93\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc69839881000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001b84174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000007446b433ef38688c6cf29d47594ca9f5d0e75ec4000000000000000000000000b977c4972a98e65c7be0f8807c3ed5e64cab8c91000000000000000000000000c4e510852ddb70c716af5cb0bcde0db00ef7a280000000000000000000000000681bf9b2d70b77c3d9278865af9c8da6210908c6000000000000000000000000c17fcf6eb176569e2751f93e65660204f8d83e130000000000000000000000004c4e2b618dc9f28dd6cbb5f1a024fead3249c2c8000000000000000000000000b1833a29879ca6b0c2004833cf8ee565403566f600000000000000000000000018f167fb09fc6e86c95e97eeb726d1de3089dfc00000000000000000000000005aea06cd79eb75df48b25837a445a8347fc2cc35000000000000000000000000914a6fb358bc0976070e44a32117218d388f658200000000000000000000000020ffe0d07d7f7c2c21a24537538b4cde06c9048a000000000000000000000000ec65398e8f53f98b5eace635038194a85b355079000000000000000000000000fffc4f59e558ce6ef09a1f2184d3e84dee1ca153000000000000000000000000db9fb1e7ea27eb9f2481442709a9f9733633de0c0000000000000000000000006b25d98996f99cc322a404954376cb1bcb3409c400000000000000000000000058b1d79a2509f7d9efa4ec5c6122ffb08221a822000000000000000000000000ed9643d249293212a067bda8a851bd0a96206ea2000000000000000000000000c423809456d8aa52c2611a750e6c463368035bae00000000000000000000000062c8788f6fa08e150f930f8a8c4b62848c622a5f0000000000000000000000005cbe27489a35a22068c840d330681545c35896dc0000000000000000000000004db47230a858ae1f6461a1a8d76667c5a7378c2c000000000000000000000000514756d0c33b6f75c59067b926a6692ffe791e51000000000000000000000000d3237b6c2cee115db0d4bfef4789f6b3373584c800000000000000000000000018ad1c88345cb2fd5e0963af9b7b67f09315c54a0000000000000000000000002adbe45964907ebeca94cac2d244ea83f67bd9e40000000000000000000000007303ca4a88f866d91eb3903d285886ccf4a94993000000000000000000000000787a66a377269f200e28de03cc033358a80f43ab000000000000000000000000ead441807624cba5b309a8dc622a33a81622b61e0000000000000000000000007c350e2f7a296319cfda4f83b214232e89a6a7df0000000000000000000000007a76c97c6eebf3af522613be02683c2f20514370000000000000000000000000e222913573f61acd28e55d24abf23606e3f5cb8c000000000000000000000000f62fe60688734155e450d0aabd2e5798f394dd61000000000000000000000000c0101b80723815c7cb590cdb3c7a8a53a3ba32570000000000000000000000004daa01798d81ce18360ae3dd4d0d6d33be4d6e6c000000000000000000000000ae7bc08aa50ca140945bbaa944f04b1bb03e3f64000000000000000000000000bbf61f09aff0fc6f0da30b390e5d7562109d83240000000000000000000000005dc42fcce46d1d9d71546ad35803dd7ad6976b84000000000000000000000000eff424b93f54905c5a70230665ba866f3f7fa7cc0000000000000000000000008eb882bdda4b0b7134424fe7a9640fe69cc3493e00000000000000000000000090ca7878be26fd29127c6d383c48d995c8c9ce61000000000000000000000000e78358a49d931db2a18dbe4a85a285620a3d95e70000000000000000000000005e27d99647f01b59e8ac4467facedc37fa0bdd2b0000000000000000000000009664fc47ffd856ba312ab4007fce122a3afbb58400000000000000000000000074e1d68ff9b267e48126a9d2289c8598e295fdac00000000000000000000000043dbe9cb8659554a8239715561ca94eddea4b40e0000000000000000000000008573e6b97084c0979ab2087efdb178b27beaf848000000000000000000000000934d697f66212c62fb1a8221c11ca7b3e7e7a17f000000000000000000000000a1fb9cdc9fd3dc3203044a730ce671ffbcd986a5000000000000000000000000d9593cf755a011f993ae293dc935f659bebc37cd0000000000000000000000005854b90c3ea7b605e4bc4b34cfcec9ff0c5b05cf0000000000000000000000009b2f12393217b6a0d1fa10ceb7aa49858edeffe50000000000000000000000008514b324c54150ddfe6b12c7f38a4b5e01e4ab14000000000000000000000000cd8e65c880d1f9fbf0ed977a69ae29bad5ecdb51000000000000000000000000753ccfe3f00683b8f812985a6f4440340171ccb1000000000000000000000000f1e33195b419e1a1bb55cebc8d159ae5f665eb690000000000000000000000004b5883f3e0f201b0e2f453a82a97e353aa25041d000000000000000000000000d0b24fc5b54e9ccb3961217ce98b90dd438d692d000000000000000000000000171e656419d223031c707e9db05fd94fb939bb7c00000000000000000000000012912e4003bff2e71365129f7040ec995707117500000000000000000000000001a18bd909f66d36d0dcfba103ac15f173dd28bc0000000000000000000000007ece75b1b7dbb1b94439d33b5756cf3d679f8c1c000000000000000000000000c2d9e267554c86db22cdefc94d646346b36623bc000000000000000000000000459f3294d879530b1643c885a864e764f2b353e6000000000000000000000000f1b792c5b5a70f8476ae6339a5a8ad8c670e475500000000000000000000000053ae17210138785166858a2df8fc22e13cf153aa000000000000000000000000c36c9bd0b67297d4135e176887af0c85a00ad9620000000000000000000000002b66671cbcbe2f4ef0782e65fcce24ae69bf2e240000000000000000000000003d1ac9f9848cdcda9b6f1765c91a13d68d74bcad000000000000000000000000b85617d15ada455f6b58954f2063a12ab2ea750700000000000000000000000047b8ad1b72d5e2700971e953a35457740b9954f9000000000000000000000000de5802130a46b2bfd4920ae43c965102f7166274000000000000000000000000b6e7bc53aac865895c18a0d6ace8456cab35c4c6000000000000000000000000c351accc1e82be5294d3080cbd6182a3acd2c54c000000000000000000000000a542b59486a23f54646100bc30e966966ee16bcb00000000000000000000000091f31ffca781f45454cb0f651e6d359becb9fea40000000000000000000000004d5e44ac19fdad3812c64f5802747adcfa0c5544000000000000000000000000ce1aa76dbdd77c092a1efd763c0f3c6aaffa113700000000000000000000000070d5e6a746566032ae5722aa3396a854440a60a90000000000000000000000004d43b234b645972785f11c56bd5bf078aa9468cd000000000000000000000000ee8311fe397e2464f78b3732e74dcd65087e71870000000000000000000000002bf0410bb32cbeb1f1121435526de8716cbe662d000000000000000000000000295e8c23aa5f474bece1d5e08515087d0b7309ff0000000000000000000000004f05008a04e8d7ca6c497ce4ce927f1bff04ebec000000000000000000000000562b7690bda71cf36a1030d1ef54a0be638bd457000000000000000000000000c1812a4bbd0321a0487492578df3afa7d19c004b000000000000000000000000699e0e3c218f0800d01e12ddd9571ec18be33c61000000000000000000000000b8c4f7b36e1413afa6cc0d2d7f726c61d33f4eb9000000000000000000000000f995efa2876e442e2f6e0224f29db627d7702f39000000000000000000000000c6c3d91d0e909172c2ea724716ee59519b9f6132000000000000000000000000604f60e4152c1ecbf85a12d1550630da7d6c6e25000000000000000000000000e8a45152f9032197494b1a1a2d07c33f4aa213290000000000000000000000004b05288d9cc08a869a7de4266e609ac54f817f5c000000000000000000000000d7c0638543f7e0f781cb9ec612d3f447c212a1a8000000000000000000000000448749280160d2126053330fa7a18f893943c455000000000000000000000000d65bd6e079235e9c84e3806cc05d0d01840b02f200000000000000000000000092892a31a0b965c2b5022d4ecb87533cd1eb8bbb0000000000000000000000009d677028e0e592d48fc8a8ddc910693301a4a450000000000000000000000000833634e4add904be71635bbcec6e3a5e152683fb0000000000000000000000006f1bf6628a272767df396b71f8ff6348777145f80000000000000000000000006d9bc2bbf55abb7e4fd88349df093aa5e2ed31ff000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000897d71e8cec000000000000000000000000000000000000000000000000000007b46e1214669e0000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006a94d74f4300000000000000000000000000000000000000000000000000000068ce17fcdfc00000000000000000000000000000000000000000000000000000666598e047050a0000000000000000000000000000000000000000000000000065f67f790dc0000000000000000000000000000000000000000000000000000063948eb831aed10000000000000000000000000000000000000000000000000061c8a38f8c236b0000000000000000000000000000000000000000000000000060e1eba70660000000000000000000000000000000000000000000000000000060d9307a6f6000000000000000000000000000000000000000000000000000005fec5b60ef8000000000000000000000000000000000000000000000000000005ea2933ad9efd9000000000000000000000000000000000000000000000000005d242fb87e05a5000000000000000000000000000000000000000000000000005c5edcbc2900000000000000000000000000000000000000000000000000000058d15e1762800000000000000000000000000000000000000000000000000000580f37bbdd5400000000000000000000000000000000000000000000000000004f3e2a85822a76000000000000000000000000000000000000000000000000004e28e2290f0000000000000000000000000000000000000000000000000000004a9b6384488000000000000000000000000000000000000000000000000000004a77024a7e000000000000000000000000000000000000000000000000000000490444ef95b78400000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df820000000000000000000000000000000000000000000000000000004657febe8d800000000000000000000000000000000000000000000000000000446bf8f4e146ad000000000000000000000000000000000000000000000000004380663abb8000000000000000000000000000000000000000000000000000004380663abb8000000000000000000000000000000000000000000000000000004380663abb8000000000000000000000000000000000000000000000000000004380663abb800000000000000000000000000000000000000000000000000000415eb3d7de000000000000000000000000000000000000000000000000000000411c26387d657d000000000000000000000000000000000000000000000000003ff2e795f50000000000000000000000000000000000000000000000000000003f3d0175008000000000000000000000000000000000000000000000000000003eb7b62cc37ac0000000000000000000000000000000000000000000000000003e5343fb4b7000000000000000000000000000000000000000000000000000003c66e9be5e4174000000000000000000000000000000000000000000000000003a0d24b7a140000000000000000000000000000000000000000000000000000039c8861241c7970000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000003822042b73800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a180000000000000000000000000000000000000000000000000000033b5b204b4b0000000000000000000000000000000000000000000000000000031bced02db00000000000000000000000000000000000000000000000000000031bced02db00000000000000000000000000000000000000000000000000000031bced02db00000000000000000000000000000000000000000000000000000031a24bde3d9981000000000000000000000000000000000000000000000000002fdbf543524973000000000000000000000000000000000000000000000000002e2f6e5e148000000000000000000000000000000000000000000000000000002de43c86e94c2a000000000000000000000000000000000000000000000000002dd47b4d9a4000000000000000000000000000000000000000000000000000002d42f666704000000000000000000000000000000000000000000000000000002c142974d1584b000000000000000000000000000000000000000000000000002b3374a0780000000000000000000000000000000000000000000000000000002aa1efb94e0000000000000000000000000000000000000000000000000000002a46fca8d3c0000000000000000000000000000000000000000000000000000029e0b505abd9fe0000000000000000000000000000000000000000000000000029c7a85e8f000000000000000000000000000000000000000000000000000000276f642501c0000000000000000000000000000000000000000000000000000027631cee4d680000000000000000000000000000000000000000000000000000271471148780000000000000000000000000000000000000000000000000000026ca5161fae8000000000000000000000000000000000000000000000000000026bd9ea7debdc00000000000000000000000000000000000000000000000000026a60770a7500000000000000000000000000000000000000000000000000000261af127572520000000000000000000000000000000000000000000000000002614f4a984b39f000000000000000000000000000000000000000000000000002433c04242e000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c355d158c4d1320ff6fde3db613601ce01a5ca207781e3c5d73c72b537cb800a7e1750f7c353a67394481bb777ac18b212e0a588a7c111c8359a9ea2daccd990fc1ce7508afa6f9aaa7e503c7e6977ad6c4f328215009d875557c18b9d2a388095ea2291f5ec6416dbd664acac8482ff86fc2c1264ce51af52b343d680f922ce48021cd2777f460979c7fe0c140c8deb9f5f5abeffe0a60846c0a35da9cb444da2001c32867e47aec39bcfbbb4fa121c7169d338202bcbd085a7adfced3f6673f89f2f1c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x29\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xb97896\",\n      \"logs\": [\n        {\n          \"address\": \"0x49048044d57e1c92a77f79988d21fa8faf74e97e\",\n          \"topics\": [\n            \"0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32\",\n            \"0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167\",\n            \"0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000019cd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e848000501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000007446b433ef38688c6cf29d47594ca9f5d0e75ec4000000000000000000000000b977c4972a98e65c7be0f8807c3ed5e64cab8c91000000000000000000000000c4e510852ddb70c716af5cb0bcde0db00ef7a280000000000000000000000000681bf9b2d70b77c3d9278865af9c8da6210908c6000000000000000000000000c17fcf6eb176569e2751f93e65660204f8d83e130000000000000000000000004c4e2b618dc9f28dd6cbb5f1a024fead3249c2c8000000000000000000000000b1833a29879ca6b0c2004833cf8ee565403566f600000000000000000000000018f167fb09fc6e86c95e97eeb726d1de3089dfc00000000000000000000000005aea06cd79eb75df48b25837a445a8347fc2cc35000000000000000000000000914a6fb358bc0976070e44a32117218d388f658200000000000000000000000020ffe0d07d7f7c2c21a24537538b4cde06c9048a000000000000000000000000ec65398e8f53f98b5eace635038194a85b355079000000000000000000000000fffc4f59e558ce6ef09a1f2184d3e84dee1ca153000000000000000000000000db9fb1e7ea27eb9f2481442709a9f9733633de0c0000000000000000000000006b25d98996f99cc322a404954376cb1bcb3409c400000000000000000000000058b1d79a2509f7d9efa4ec5c6122ffb08221a822000000000000000000000000ed9643d249293212a067bda8a851bd0a96206ea2000000000000000000000000c423809456d8aa52c2611a750e6c463368035bae00000000000000000000000062c8788f6fa08e150f930f8a8c4b62848c622a5f0000000000000000000000005cbe27489a35a22068c840d330681545c35896dc0000000000000000000000004db47230a858ae1f6461a1a8d76667c5a7378c2c000000000000000000000000514756d0c33b6f75c59067b926a6692ffe791e51000000000000000000000000d3237b6c2cee115db0d4bfef4789f6b3373584c800000000000000000000000018ad1c88345cb2fd5e0963af9b7b67f09315c54a0000000000000000000000002adbe45964907ebeca94cac2d244ea83f67bd9e40000000000000000000000007303ca4a88f866d91eb3903d285886ccf4a94993000000000000000000000000787a66a377269f200e28de03cc033358a80f43ab000000000000000000000000ead441807624cba5b309a8dc622a33a81622b61e0000000000000000000000007c350e2f7a296319cfda4f83b214232e89a6a7df0000000000000000000000007a76c97c6eebf3af522613be02683c2f20514370000000000000000000000000e222913573f61acd28e55d24abf23606e3f5cb8c000000000000000000000000f62fe60688734155e450d0aabd2e5798f394dd61000000000000000000000000c0101b80723815c7cb590cdb3c7a8a53a3ba32570000000000000000000000004daa01798d81ce18360ae3dd4d0d6d33be4d6e6c000000000000000000000000ae7bc08aa50ca140945bbaa944f04b1bb03e3f64000000000000000000000000bbf61f09aff0fc6f0da30b390e5d7562109d83240000000000000000000000005dc42fcce46d1d9d71546ad35803dd7ad6976b84000000000000000000000000eff424b93f54905c5a70230665ba866f3f7fa7cc0000000000000000000000008eb882bdda4b0b7134424fe7a9640fe69cc3493e00000000000000000000000090ca7878be26fd29127c6d383c48d995c8c9ce61000000000000000000000000e78358a49d931db2a18dbe4a85a285620a3d95e70000000000000000000000005e27d99647f01b59e8ac4467facedc37fa0bdd2b0000000000000000000000009664fc47ffd856ba312ab4007fce122a3afbb58400000000000000000000000074e1d68ff9b267e48126a9d2289c8598e295fdac00000000000000000000000043dbe9cb8659554a8239715561ca94eddea4b40e0000000000000000000000008573e6b97084c0979ab2087efdb178b27beaf848000000000000000000000000934d697f66212c62fb1a8221c11ca7b3e7e7a17f000000000000000000000000a1fb9cdc9fd3dc3203044a730ce671ffbcd986a5000000000000000000000000d9593cf755a011f993ae293dc935f659bebc37cd0000000000000000000000005854b90c3ea7b605e4bc4b34cfcec9ff0c5b05cf0000000000000000000000009b2f12393217b6a0d1fa10ceb7aa49858edeffe50000000000000000000000008514b324c54150ddfe6b12c7f38a4b5e01e4ab14000000000000000000000000cd8e65c880d1f9fbf0ed977a69ae29bad5ecdb51000000000000000000000000753ccfe3f00683b8f812985a6f4440340171ccb1000000000000000000000000f1e33195b419e1a1bb55cebc8d159ae5f665eb690000000000000000000000004b5883f3e0f201b0e2f453a82a97e353aa25041d000000000000000000000000d0b24fc5b54e9ccb3961217ce98b90dd438d692d000000000000000000000000171e656419d223031c707e9db05fd94fb939bb7c00000000000000000000000012912e4003bff2e71365129f7040ec995707117500000000000000000000000001a18bd909f66d36d0dcfba103ac15f173dd28bc0000000000000000000000007ece75b1b7dbb1b94439d33b5756cf3d679f8c1c000000000000000000000000c2d9e267554c86db22cdefc94d646346b36623bc000000000000000000000000459f3294d879530b1643c885a864e764f2b353e6000000000000000000000000f1b792c5b5a70f8476ae6339a5a8ad8c670e475500000000000000000000000053ae17210138785166858a2df8fc22e13cf153aa000000000000000000000000c36c9bd0b67297d4135e176887af0c85a00ad9620000000000000000000000002b66671cbcbe2f4ef0782e65fcce24ae69bf2e240000000000000000000000003d1ac9f9848cdcda9b6f1765c91a13d68d74bcad000000000000000000000000b85617d15ada455f6b58954f2063a12ab2ea750700000000000000000000000047b8ad1b72d5e2700971e953a35457740b9954f9000000000000000000000000de5802130a46b2bfd4920ae43c965102f7166274000000000000000000000000b6e7bc53aac865895c18a0d6ace8456cab35c4c6000000000000000000000000c351accc1e82be5294d3080cbd6182a3acd2c54c000000000000000000000000a542b59486a23f54646100bc30e966966ee16bcb00000000000000000000000091f31ffca781f45454cb0f651e6d359becb9fea40000000000000000000000004d5e44ac19fdad3812c64f5802747adcfa0c5544000000000000000000000000ce1aa76dbdd77c092a1efd763c0f3c6aaffa113700000000000000000000000070d5e6a746566032ae5722aa3396a854440a60a90000000000000000000000004d43b234b645972785f11c56bd5bf078aa9468cd000000000000000000000000ee8311fe397e2464f78b3732e74dcd65087e71870000000000000000000000002bf0410bb32cbeb1f1121435526de8716cbe662d000000000000000000000000295e8c23aa5f474bece1d5e08515087d0b7309ff0000000000000000000000004f05008a04e8d7ca6c497ce4ce927f1bff04ebec000000000000000000000000562b7690bda71cf36a1030d1ef54a0be638bd457000000000000000000000000c1812a4bbd0321a0487492578df3afa7d19c004b000000000000000000000000699e0e3c218f0800d01e12ddd9571ec18be33c61000000000000000000000000b8c4f7b36e1413afa6cc0d2d7f726c61d33f4eb9000000000000000000000000f995efa2876e442e2f6e0224f29db627d7702f39000000000000000000000000c6c3d91d0e909172c2ea724716ee59519b9f6132000000000000000000000000604f60e4152c1ecbf85a12d1550630da7d6c6e25000000000000000000000000e8a45152f9032197494b1a1a2d07c33f4aa213290000000000000000000000004b05288d9cc08a869a7de4266e609ac54f817f5c000000000000000000000000d7c0638543f7e0f781cb9ec612d3f447c212a1a8000000000000000000000000448749280160d2126053330fa7a18f893943c455000000000000000000000000d65bd6e079235e9c84e3806cc05d0d01840b02f200000000000000000000000092892a31a0b965c2b5022d4ecb87533cd1eb8bbb0000000000000000000000009d677028e0e592d48fc8a8ddc910693301a4a450000000000000000000000000833634e4add904be71635bbcec6e3a5e152683fb0000000000000000000000006f1bf6628a272767df396b71f8ff6348777145f80000000000000000000000006d9bc2bbf55abb7e4fd88349df093aa5e2ed31ff000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000897d71e8cec000000000000000000000000000000000000000000000000000007b46e1214669e0000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006a94d74f4300000000000000000000000000000000000000000000000000000068ce17fcdfc00000000000000000000000000000000000000000000000000000666598e047050a0000000000000000000000000000000000000000000000000065f67f790dc0000000000000000000000000000000000000000000000000000063948eb831aed10000000000000000000000000000000000000000000000000061c8a38f8c236b0000000000000000000000000000000000000000000000000060e1eba70660000000000000000000000000000000000000000000000000000060d9307a6f6000000000000000000000000000000000000000000000000000005fec5b60ef8000000000000000000000000000000000000000000000000000005ea2933ad9efd9000000000000000000000000000000000000000000000000005d242fb87e05a5000000000000000000000000000000000000000000000000005c5edcbc2900000000000000000000000000000000000000000000000000000058d15e1762800000000000000000000000000000000000000000000000000000580f37bbdd5400000000000000000000000000000000000000000000000000004f3e2a85822a76000000000000000000000000000000000000000000000000004e28e2290f0000000000000000000000000000000000000000000000000000004a9b6384488000000000000000000000000000000000000000000000000000004a77024a7e000000000000000000000000000000000000000000000000000000490444ef95b78400000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df820000000000000000000000000000000000000000000000000000004657febe8d800000000000000000000000000000000000000000000000000000446bf8f4e146ad000000000000000000000000000000000000000000000000004380663abb8000000000000000000000000000000000000000000000000000004380663abb8000000000000000000000000000000000000000000000000000004380663abb8000000000000000000000000000000000000000000000000000004380663abb800000000000000000000000000000000000000000000000000000415eb3d7de000000000000000000000000000000000000000000000000000000411c26387d657d000000000000000000000000000000000000000000000000003ff2e795f50000000000000000000000000000000000000000000000000000003f3d0175008000000000000000000000000000000000000000000000000000003eb7b62cc37ac0000000000000000000000000000000000000000000000000003e5343fb4b7000000000000000000000000000000000000000000000000000003c66e9be5e4174000000000000000000000000000000000000000000000000003a0d24b7a140000000000000000000000000000000000000000000000000000039c8861241c7970000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000003822042b73800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a180000000000000000000000000000000000000000000000000000033b5b204b4b0000000000000000000000000000000000000000000000000000031bced02db00000000000000000000000000000000000000000000000000000031bced02db00000000000000000000000000000000000000000000000000000031bced02db00000000000000000000000000000000000000000000000000000031a24bde3d9981000000000000000000000000000000000000000000000000002fdbf543524973000000000000000000000000000000000000000000000000002e2f6e5e148000000000000000000000000000000000000000000000000000002de43c86e94c2a000000000000000000000000000000000000000000000000002dd47b4d9a4000000000000000000000000000000000000000000000000000002d42f666704000000000000000000000000000000000000000000000000000002c142974d1584b000000000000000000000000000000000000000000000000002b3374a0780000000000000000000000000000000000000000000000000000002aa1efb94e0000000000000000000000000000000000000000000000000000002a46fca8d3c0000000000000000000000000000000000000000000000000000029e0b505abd9fe0000000000000000000000000000000000000000000000000029c7a85e8f000000000000000000000000000000000000000000000000000000276f642501c0000000000000000000000000000000000000000000000000000027631cee4d680000000000000000000000000000000000000000000000000000271471148780000000000000000000000000000000000000000000000000000026ca5161fae8000000000000000000000000000000000000000000000000000026bd9ea7debdc00000000000000000000000000000000000000000000000000026a60770a7500000000000000000000000000000000000000000000000000000261af127572520000000000000000000000000000000000000000000000000002614f4a984b39f000000000000000000000000000000000000000000000000002433c04242e000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc1000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x33cfaaa5f78b4742d9bc6e436954d230a723cd7665d8a72fe58578955dbd897b\",\n          \"blockNumber\": \"0x15fb2f1\",\n          \"blockTimestamp\": \"0x688d32af\",\n          \"transactionHash\": \"0xea8304b0dedc8ae72bcabfdbfc6c6c7d0b3d27164602e1ef73c9db9e31cde7ca\",\n          \"transactionIndex\": \"0x42\",\n          \"logIndex\": \"0x13b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x7a2fc84dffb88f25ae3759643b789196fc65fb6f242c4661bc88037cf13b82190000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x33cfaaa5f78b4742d9bc6e436954d230a723cd7665d8a72fe58578955dbd897b\",\n          \"blockNumber\": \"0x15fb2f1\",\n          \"blockTimestamp\": \"0x688d32af\",\n          \"transactionHash\": \"0xea8304b0dedc8ae72bcabfdbfc6c6c7d0b3d27164602e1ef73c9db9e31cde7ca\",\n          \"transactionIndex\": \"0x42\",\n          \"logIndex\": \"0x13c\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000004000042000000000000000000080000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000002000000400000000000000002000000000000000c0000000000000000000000000000000800000000040000000000000000000200000000000000000000000000020000000000020000a0000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xea8304b0dedc8ae72bcabfdbfc6c6c7d0b3d27164602e1ef73c9db9e31cde7ca\",\n      \"transactionIndex\": \"0x42\",\n      \"blockHash\": \"0x33cfaaa5f78b4742d9bc6e436954d230a723cd7665d8a72fe58578955dbd897b\",\n      \"blockNumber\": \"0x15fb2f1\",\n      \"gasUsed\": \"0x20beaf\",\n      \"effectiveGasPrice\": \"0x16014955\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1754084018,\n  \"chain\": 1,\n  \"commit\": \"1fa78b1\"\n}"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/records/OPStackExecuteRecovery.s.sol/1/run-1754084077.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xcac5e08f271c591cec4a27959d19a3e7698c8083abe331ed02f481d6fa529834\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881\",\n        \"0\",\n        \"0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce0000000000000000000000000000000000000000000000000000000000000006400000000000000000000000037ec5a0b4390516baa30206e6cf84e74dad4d9890000000000000000000000005d720ae0c5795ad9515310d0c53cc26541a4cc59000000000000000000000000e23cba3b9537ec6f55031eb3c9e619ce995769f0000000000000000000000000c153ad842675e853280a76e9b09cf20d4fa339cc000000000000000000000000d5433cf113cc4195d612b035e04aee92174ba8bf0000000000000000000000008c1b0096398f8f5723785f10fadde5f13f3683cd0000000000000000000000007d67a1bdf638da91c12d55756a802aa67cbc891c000000000000000000000000488ae7ebdfd37569046199e8e72d6252bbea750a00000000000000000000000023afc240f6b6ca64334cfc791d85130c8b348fb7000000000000000000000000f6404a6ffdfdce1b7b5b94e9dcc870165f2c35cf000000000000000000000000fd8f7a51b176d6c4572e08c93ec81f279a7fe516000000000000000000000000c540b64c3cd08010ce8c54533f8c1c68e738bf01000000000000000000000000f27a6346451cc3acc22392b31474f0bdbe4ee96f000000000000000000000000c4f5cc2d73025b63d170f213aa0ce42b2ef7213a000000000000000000000000310f07ee4fa0c3a8a29cc3cb093899225c0b9f8a0000000000000000000000009a76c3cf9eb7b4c6cf4c226cbf302a743b6bc4270000000000000000000000008b87d657a530cc7e5decd181218bc5a3b103c0f3000000000000000000000000b3ddc2a5b4ebdb7640191906bd4195e23e17142c0000000000000000000000005aba902c17afd30c7abbc65d71bd5714a26711550000000000000000000000004303f5a2204d52a64addaae7a56c96c5a83858860000000000000000000000008b301e7b29afc9b216133536c36758bc62a2a1c20000000000000000000000002832f7bc0698a3dda01df259e32a38e871797c00000000000000000000000000ec757ea51688857dcf3979ca220175512c979d63000000000000000000000000240ee788c8bf7c57b489d0ecd4399022c9ee1149000000000000000000000000e73bbf1f967a5c6ac21f519a8fbf6e9112a2568a000000000000000000000000ef6ce0774e4351ee5efe2fb90f462da9a9f64c3700000000000000000000000034b64de5e1216aea807aa1ebf0b2b90d4abb17af000000000000000000000000aff1410cc2f30ab6fb775915f6eb0000834abedb000000000000000000000000ef0598fc615c1f9cb440d7004ce081cc345e3bf9000000000000000000000000529a33d72423f75525d6ad387bb9d3dd813e57f2000000000000000000000000b8c3596418183967305ae7bca45706867170b8530000000000000000000000004df39400569c9fb58d30e2437876b8490b3f9b58000000000000000000000000e32d2bb82d67df9fc231dfc92b77e3385d5caca6000000000000000000000000e44eab390d98e9a8214b3b0594f2da39d4ae12280000000000000000000000001a571070f88cd0b93e56be6bc60b1a77eb53f79200000000000000000000000027a48f6a22f2221cc9110194df45df7f2559de6000000000000000000000000039bd08abd60ecc1ec146de981360e08b7c8fda700000000000000000000000000ed02b9d3aa0cf3d9daf0f9fe2d36f74fafdd5f90000000000000000000000003f83ebc905f30c9b28e4f9c62e7f9b7bc3061d8d00000000000000000000000017246ac1d35229d408600dadd2032e2c8884e0600000000000000000000000001bc2223a70285580a85ada1002b06f2eceb3dcd900000000000000000000000092ec39c2d52102be754b8120dd061d20e3f6bbc6000000000000000000000000e80d315349e6cbc79280c9d30e536c00affe6ef7000000000000000000000000552d54e355d99de530038d36904e5a5136703285000000000000000000000000de1aabf6c30d0cdf83e286bfd9c78e7bf9006fe6000000000000000000000000d60ca9fd564237dd8959da8181fe31f0473f60000000000000000000000000001f67d841728739af9409628e2782bb13339de9f500000000000000000000000054137aeb20563a46984faf955acfb1dfb5e1463b000000000000000000000000ea62cba9a8b9059975ded734113c959570d696dc0000000000000000000000007f308da0d253ff1a478bf1f21fe4ca79f5c0b4e200000000000000000000000035317039367d6b9246441927b0645c9920eb7dfe000000000000000000000000f6d64a23ce944b56edb2cb582d3715f88b1308b2000000000000000000000000e875ef3f70ed266385898672c0077567008251de000000000000000000000000e5b97bde2e19eadb8ff2e76c92902827917291a4000000000000000000000000d2da3a07bf4cd039d5f36d22f22b6fe04bd56a86000000000000000000000000b31fa6f0029377820c5c01216da717244b61a957000000000000000000000000ae10b0e2754fea510b3a4a5c9d5117150aa3d11b000000000000000000000000a85c4ccb4e4e2b8180411c4d5b8afa01d90766690000000000000000000000001970d2f3c90e7fc871e9561151cb80225fa747d20000000000000000000000009cdf5cba9d49289b78cce868697a5bac558d4072000000000000000000000000aeb7aeb5c9ce73a3393daffd5e0a53246dd744a5000000000000000000000000302fdf84dda2093201c65009943224f027025421000000000000000000000000e67700af96cde045a451889192572ef0a67366c5000000000000000000000000240e2f86f720e1d879e2049efbcf5775c2fad69e0000000000000000000000003c7033ff8b4f2da51e69e5c97a3aa03366171df50000000000000000000000003be2a617a86dd49bc8893ca04cea2e5f444f9c120000000000000000000000000d094f02a5ebecb87bba32001ffa6ded671c715b000000000000000000000000dfa00af8784ebef0fe43306551821d21a0b0afd6000000000000000000000000242e2d70d3adc00a9ef23ced6e88811fcefca7880000000000000000000000000fb1b2afe60efb1d011e1d40c350f4308919e54a0000000000000000000000001566153f101ae25aac31de77444ac7f47bc3a338000000000000000000000000864e77f5b2f7f064d7193fffb7da44f6b5bf095e00000000000000000000000071d4287a1bbceabe03ad852e7134ee713b03113c0000000000000000000000003d333ab1874af29b6e23189196813e4aa1d4d0db00000000000000000000000066e0753f0383de2ba96ae261c05d9cb8a98b46770000000000000000000000006d32861ac85d87d1ade24cb689d599d53735295f00000000000000000000000022eed5eeb29a21a6d19acf456dc09ca3a523217a000000000000000000000000ee6741d501ee2117794a086b3ffad076fb3f91730000000000000000000000002deeaed21e561889a19e72b93a99fec8d8d4935e00000000000000000000000039fbb55428c2db69759423f4c1d8035e64560755000000000000000000000000a0af68e0f0b91e1339370653adfb93a646ef55a70000000000000000000000000c2e1f1759ae839899f8d33be0be7da3e6c90e1d000000000000000000000000a34236de7fdedf1c62f6eef67bf0933becbae88a00000000000000000000000050f443729042913cc005f02b1436676e0acdc59a0000000000000000000000000f6e57ea21728d429df5cabd15ce58d34d135d7d000000000000000000000000db5498bf2d75b813fc84ae377919dadde8b379ed00000000000000000000000055d22408591f2a70af3e3a60de55d890a319bc58000000000000000000000000459940714954bcfbb199de84a91b86d39e4c4f09000000000000000000000000962da50223fd7e9fa35231a097ee1d95dd49bdc50000000000000000000000004fd99f1154d8b0783e97fd1d21609c2556c6a2c9000000000000000000000000a55cab60687ed881dae236f8f4de16da8a725e3f0000000000000000000000003e90c48a1544ebe8d3041410b61362ae47896f8300000000000000000000000001dee68947ecb9731b69ff0259436aa1038e17ea0000000000000000000000005c4000c91da93ba643d206ddbbfbf3fb06d4401b000000000000000000000000270e43f3249677c01dc1ec7dcbf7bf93c8e8f6660000000000000000000000002eb1929b2b16df71d22ddc0966fa8ac5a40fa750000000000000000000000000d677ec2f08f5c06c11f727b62ccfd9a4ea03f0d00000000000000000000000002a8651a3eeee50d778304d046bbbd4721da0fc4300000000000000000000000089511764b6543674b8a0c7c4176ead725d832127000000000000000000000000d79c353b974eee9d022cb4e8ed9c56c11403f7810000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc1000000000000000000000000000000000000000000000000000000232bff5f46c0000000000000000000000000000000000000000000000000000022c64f9739f6e200000000000000000000000000000000000000000000000000221b262dd800000000000000000000000000000000000000000000000000000021fe80038888000000000000000000000000000000000000000000000000000021db7c08b5a0000000000000000000000000000000000000000000000000000021c0331d5dc0000000000000000000000000000000000000000000000000000021c0331d5dc0000000000000000000000000000000000000000000000000000021c0331d5dc00000000000000000000000000000000000000000000000000000217e01391875800000000000000000000000000000000000000000000000000020caa2d746e00000000000000000000000000000000000000000000000000000205d4038e27e97000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff05b7c87e000000000000000000000000000000000000000000000000000001fdccb4c9f2400000000000000000000000000000000000000000000000000001f5fbf6a02f000000000000000000000000000000000000000000000000000001ee89a998bc000000000000000000000000000000000000000000000000000001e6e06f8df14d4000000000000000000000000000000000000000000000000001e5602f4e6a800000000000000000000000000000000000000000000000000001d7cce57a2c000000000000000000000000000000000000000000000000000001d306891798000000000000000000000000000000000000000000000000000001d294c26b0ae52000000000000000000000000000000000000000000000000001d22228ecedb72000000000000000000000000000000000000000000000000001d21db47288000000000000000000000000000000000000000000000000000001c979d05270000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c62dcd7c16000000000000000000000000000000000000000000000000000001bce9d72a830000000000000000000000000000000000000000000000000000019396991e7c00000000000000000000000000000000000000000000000000000191c1673130a1c0000000000000000000000000000000000000000000000000019017a7c4068000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000017fb16d83be0000000000000000000000000000000000000000000000000000016c7548e345cb80000000000000000000000000000000000000000000000000016190e9a80c000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca7000000000000000000000000000000000000000000000000000000154bbd15f1e4000000000000000000000000000000000000000000000000000013fa16b59270000000000000000000000000000000000000000000000000000013e52b9abe000000000000000000000000000000000000000000000000000000131c73dbad66f80000000000000000000000000000000000000000000000000012fde45ea1b4a70000000000000000000000000000000000000000000000000012e077e46114660000000000000000000000000000000000000000000000000012d452694f40000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x3a769b002c539ba14c175992d7c014d533db59cd83426acce8c8d4c36f60db9c18a17d691242c8dc60f15448afe1b8eb8bd0838858fce7d0ab6070fe470072081b0af8aed66b410a3ccff641eea8692c0f928dfe4ef7c962f9068393a60aabef48011dfd8306222110c3ce86868f7fe7a643b82e57ec1d288017524a5c03bff3201c8d032065e21938c4baa758dadc0b43401b19031891f06eceef4127f40221ba9023149a9c4747a78b2ff220beac798cd34d930d6d4c508224ff872b6786c3d9041b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x2d3a30\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc69839881000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001b84174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce0000000000000000000000000000000000000000000000000000000000000006400000000000000000000000037ec5a0b4390516baa30206e6cf84e74dad4d9890000000000000000000000005d720ae0c5795ad9515310d0c53cc26541a4cc59000000000000000000000000e23cba3b9537ec6f55031eb3c9e619ce995769f0000000000000000000000000c153ad842675e853280a76e9b09cf20d4fa339cc000000000000000000000000d5433cf113cc4195d612b035e04aee92174ba8bf0000000000000000000000008c1b0096398f8f5723785f10fadde5f13f3683cd0000000000000000000000007d67a1bdf638da91c12d55756a802aa67cbc891c000000000000000000000000488ae7ebdfd37569046199e8e72d6252bbea750a00000000000000000000000023afc240f6b6ca64334cfc791d85130c8b348fb7000000000000000000000000f6404a6ffdfdce1b7b5b94e9dcc870165f2c35cf000000000000000000000000fd8f7a51b176d6c4572e08c93ec81f279a7fe516000000000000000000000000c540b64c3cd08010ce8c54533f8c1c68e738bf01000000000000000000000000f27a6346451cc3acc22392b31474f0bdbe4ee96f000000000000000000000000c4f5cc2d73025b63d170f213aa0ce42b2ef7213a000000000000000000000000310f07ee4fa0c3a8a29cc3cb093899225c0b9f8a0000000000000000000000009a76c3cf9eb7b4c6cf4c226cbf302a743b6bc4270000000000000000000000008b87d657a530cc7e5decd181218bc5a3b103c0f3000000000000000000000000b3ddc2a5b4ebdb7640191906bd4195e23e17142c0000000000000000000000005aba902c17afd30c7abbc65d71bd5714a26711550000000000000000000000004303f5a2204d52a64addaae7a56c96c5a83858860000000000000000000000008b301e7b29afc9b216133536c36758bc62a2a1c20000000000000000000000002832f7bc0698a3dda01df259e32a38e871797c00000000000000000000000000ec757ea51688857dcf3979ca220175512c979d63000000000000000000000000240ee788c8bf7c57b489d0ecd4399022c9ee1149000000000000000000000000e73bbf1f967a5c6ac21f519a8fbf6e9112a2568a000000000000000000000000ef6ce0774e4351ee5efe2fb90f462da9a9f64c3700000000000000000000000034b64de5e1216aea807aa1ebf0b2b90d4abb17af000000000000000000000000aff1410cc2f30ab6fb775915f6eb0000834abedb000000000000000000000000ef0598fc615c1f9cb440d7004ce081cc345e3bf9000000000000000000000000529a33d72423f75525d6ad387bb9d3dd813e57f2000000000000000000000000b8c3596418183967305ae7bca45706867170b8530000000000000000000000004df39400569c9fb58d30e2437876b8490b3f9b58000000000000000000000000e32d2bb82d67df9fc231dfc92b77e3385d5caca6000000000000000000000000e44eab390d98e9a8214b3b0594f2da39d4ae12280000000000000000000000001a571070f88cd0b93e56be6bc60b1a77eb53f79200000000000000000000000027a48f6a22f2221cc9110194df45df7f2559de6000000000000000000000000039bd08abd60ecc1ec146de981360e08b7c8fda700000000000000000000000000ed02b9d3aa0cf3d9daf0f9fe2d36f74fafdd5f90000000000000000000000003f83ebc905f30c9b28e4f9c62e7f9b7bc3061d8d00000000000000000000000017246ac1d35229d408600dadd2032e2c8884e0600000000000000000000000001bc2223a70285580a85ada1002b06f2eceb3dcd900000000000000000000000092ec39c2d52102be754b8120dd061d20e3f6bbc6000000000000000000000000e80d315349e6cbc79280c9d30e536c00affe6ef7000000000000000000000000552d54e355d99de530038d36904e5a5136703285000000000000000000000000de1aabf6c30d0cdf83e286bfd9c78e7bf9006fe6000000000000000000000000d60ca9fd564237dd8959da8181fe31f0473f60000000000000000000000000001f67d841728739af9409628e2782bb13339de9f500000000000000000000000054137aeb20563a46984faf955acfb1dfb5e1463b000000000000000000000000ea62cba9a8b9059975ded734113c959570d696dc0000000000000000000000007f308da0d253ff1a478bf1f21fe4ca79f5c0b4e200000000000000000000000035317039367d6b9246441927b0645c9920eb7dfe000000000000000000000000f6d64a23ce944b56edb2cb582d3715f88b1308b2000000000000000000000000e875ef3f70ed266385898672c0077567008251de000000000000000000000000e5b97bde2e19eadb8ff2e76c92902827917291a4000000000000000000000000d2da3a07bf4cd039d5f36d22f22b6fe04bd56a86000000000000000000000000b31fa6f0029377820c5c01216da717244b61a957000000000000000000000000ae10b0e2754fea510b3a4a5c9d5117150aa3d11b000000000000000000000000a85c4ccb4e4e2b8180411c4d5b8afa01d90766690000000000000000000000001970d2f3c90e7fc871e9561151cb80225fa747d20000000000000000000000009cdf5cba9d49289b78cce868697a5bac558d4072000000000000000000000000aeb7aeb5c9ce73a3393daffd5e0a53246dd744a5000000000000000000000000302fdf84dda2093201c65009943224f027025421000000000000000000000000e67700af96cde045a451889192572ef0a67366c5000000000000000000000000240e2f86f720e1d879e2049efbcf5775c2fad69e0000000000000000000000003c7033ff8b4f2da51e69e5c97a3aa03366171df50000000000000000000000003be2a617a86dd49bc8893ca04cea2e5f444f9c120000000000000000000000000d094f02a5ebecb87bba32001ffa6ded671c715b000000000000000000000000dfa00af8784ebef0fe43306551821d21a0b0afd6000000000000000000000000242e2d70d3adc00a9ef23ced6e88811fcefca7880000000000000000000000000fb1b2afe60efb1d011e1d40c350f4308919e54a0000000000000000000000001566153f101ae25aac31de77444ac7f47bc3a338000000000000000000000000864e77f5b2f7f064d7193fffb7da44f6b5bf095e00000000000000000000000071d4287a1bbceabe03ad852e7134ee713b03113c0000000000000000000000003d333ab1874af29b6e23189196813e4aa1d4d0db00000000000000000000000066e0753f0383de2ba96ae261c05d9cb8a98b46770000000000000000000000006d32861ac85d87d1ade24cb689d599d53735295f00000000000000000000000022eed5eeb29a21a6d19acf456dc09ca3a523217a000000000000000000000000ee6741d501ee2117794a086b3ffad076fb3f91730000000000000000000000002deeaed21e561889a19e72b93a99fec8d8d4935e00000000000000000000000039fbb55428c2db69759423f4c1d8035e64560755000000000000000000000000a0af68e0f0b91e1339370653adfb93a646ef55a70000000000000000000000000c2e1f1759ae839899f8d33be0be7da3e6c90e1d000000000000000000000000a34236de7fdedf1c62f6eef67bf0933becbae88a00000000000000000000000050f443729042913cc005f02b1436676e0acdc59a0000000000000000000000000f6e57ea21728d429df5cabd15ce58d34d135d7d000000000000000000000000db5498bf2d75b813fc84ae377919dadde8b379ed00000000000000000000000055d22408591f2a70af3e3a60de55d890a319bc58000000000000000000000000459940714954bcfbb199de84a91b86d39e4c4f09000000000000000000000000962da50223fd7e9fa35231a097ee1d95dd49bdc50000000000000000000000004fd99f1154d8b0783e97fd1d21609c2556c6a2c9000000000000000000000000a55cab60687ed881dae236f8f4de16da8a725e3f0000000000000000000000003e90c48a1544ebe8d3041410b61362ae47896f8300000000000000000000000001dee68947ecb9731b69ff0259436aa1038e17ea0000000000000000000000005c4000c91da93ba643d206ddbbfbf3fb06d4401b000000000000000000000000270e43f3249677c01dc1ec7dcbf7bf93c8e8f6660000000000000000000000002eb1929b2b16df71d22ddc0966fa8ac5a40fa750000000000000000000000000d677ec2f08f5c06c11f727b62ccfd9a4ea03f0d00000000000000000000000002a8651a3eeee50d778304d046bbbd4721da0fc4300000000000000000000000089511764b6543674b8a0c7c4176ead725d832127000000000000000000000000d79c353b974eee9d022cb4e8ed9c56c11403f7810000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc1000000000000000000000000000000000000000000000000000000232bff5f46c0000000000000000000000000000000000000000000000000000022c64f9739f6e200000000000000000000000000000000000000000000000000221b262dd800000000000000000000000000000000000000000000000000000021fe80038888000000000000000000000000000000000000000000000000000021db7c08b5a0000000000000000000000000000000000000000000000000000021c0331d5dc0000000000000000000000000000000000000000000000000000021c0331d5dc0000000000000000000000000000000000000000000000000000021c0331d5dc00000000000000000000000000000000000000000000000000000217e01391875800000000000000000000000000000000000000000000000000020caa2d746e00000000000000000000000000000000000000000000000000000205d4038e27e97000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff05b7c87e000000000000000000000000000000000000000000000000000001fdccb4c9f2400000000000000000000000000000000000000000000000000001f5fbf6a02f000000000000000000000000000000000000000000000000000001ee89a998bc000000000000000000000000000000000000000000000000000001e6e06f8df14d4000000000000000000000000000000000000000000000000001e5602f4e6a800000000000000000000000000000000000000000000000000001d7cce57a2c000000000000000000000000000000000000000000000000000001d306891798000000000000000000000000000000000000000000000000000001d294c26b0ae52000000000000000000000000000000000000000000000000001d22228ecedb72000000000000000000000000000000000000000000000000001d21db47288000000000000000000000000000000000000000000000000000001c979d05270000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c62dcd7c16000000000000000000000000000000000000000000000000000001bce9d72a830000000000000000000000000000000000000000000000000000019396991e7c00000000000000000000000000000000000000000000000000000191c1673130a1c0000000000000000000000000000000000000000000000000019017a7c4068000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000017fb16d83be0000000000000000000000000000000000000000000000000000016c7548e345cb80000000000000000000000000000000000000000000000000016190e9a80c000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca7000000000000000000000000000000000000000000000000000000154bbd15f1e4000000000000000000000000000000000000000000000000000013fa16b59270000000000000000000000000000000000000000000000000000013e52b9abe000000000000000000000000000000000000000000000000000000131c73dbad66f80000000000000000000000000000000000000000000000000012fde45ea1b4a70000000000000000000000000000000000000000000000000012e077e46114660000000000000000000000000000000000000000000000000012d452694f40000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c33a769b002c539ba14c175992d7c014d533db59cd83426acce8c8d4c36f60db9c18a17d691242c8dc60f15448afe1b8eb8bd0838858fce7d0ab6070fe470072081b0af8aed66b410a3ccff641eea8692c0f928dfe4ef7c962f9068393a60aabef48011dfd8306222110c3ce86868f7fe7a643b82e57ec1d288017524a5c03bff3201c8d032065e21938c4baa758dadc0b43401b19031891f06eceef4127f40221ba9023149a9c4747a78b2ff220beac798cd34d930d6d4c508224ff872b6786c3d9041b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x2a\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x106ec0f\",\n      \"logs\": [\n        {\n          \"address\": \"0x49048044d57e1c92a77f79988d21fa8faf74e97e\",\n          \"topics\": [\n            \"0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32\",\n            \"0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167\",\n            \"0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000019cd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e848000501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce0000000000000000000000000000000000000000000000000000000000000006400000000000000000000000037ec5a0b4390516baa30206e6cf84e74dad4d9890000000000000000000000005d720ae0c5795ad9515310d0c53cc26541a4cc59000000000000000000000000e23cba3b9537ec6f55031eb3c9e619ce995769f0000000000000000000000000c153ad842675e853280a76e9b09cf20d4fa339cc000000000000000000000000d5433cf113cc4195d612b035e04aee92174ba8bf0000000000000000000000008c1b0096398f8f5723785f10fadde5f13f3683cd0000000000000000000000007d67a1bdf638da91c12d55756a802aa67cbc891c000000000000000000000000488ae7ebdfd37569046199e8e72d6252bbea750a00000000000000000000000023afc240f6b6ca64334cfc791d85130c8b348fb7000000000000000000000000f6404a6ffdfdce1b7b5b94e9dcc870165f2c35cf000000000000000000000000fd8f7a51b176d6c4572e08c93ec81f279a7fe516000000000000000000000000c540b64c3cd08010ce8c54533f8c1c68e738bf01000000000000000000000000f27a6346451cc3acc22392b31474f0bdbe4ee96f000000000000000000000000c4f5cc2d73025b63d170f213aa0ce42b2ef7213a000000000000000000000000310f07ee4fa0c3a8a29cc3cb093899225c0b9f8a0000000000000000000000009a76c3cf9eb7b4c6cf4c226cbf302a743b6bc4270000000000000000000000008b87d657a530cc7e5decd181218bc5a3b103c0f3000000000000000000000000b3ddc2a5b4ebdb7640191906bd4195e23e17142c0000000000000000000000005aba902c17afd30c7abbc65d71bd5714a26711550000000000000000000000004303f5a2204d52a64addaae7a56c96c5a83858860000000000000000000000008b301e7b29afc9b216133536c36758bc62a2a1c20000000000000000000000002832f7bc0698a3dda01df259e32a38e871797c00000000000000000000000000ec757ea51688857dcf3979ca220175512c979d63000000000000000000000000240ee788c8bf7c57b489d0ecd4399022c9ee1149000000000000000000000000e73bbf1f967a5c6ac21f519a8fbf6e9112a2568a000000000000000000000000ef6ce0774e4351ee5efe2fb90f462da9a9f64c3700000000000000000000000034b64de5e1216aea807aa1ebf0b2b90d4abb17af000000000000000000000000aff1410cc2f30ab6fb775915f6eb0000834abedb000000000000000000000000ef0598fc615c1f9cb440d7004ce081cc345e3bf9000000000000000000000000529a33d72423f75525d6ad387bb9d3dd813e57f2000000000000000000000000b8c3596418183967305ae7bca45706867170b8530000000000000000000000004df39400569c9fb58d30e2437876b8490b3f9b58000000000000000000000000e32d2bb82d67df9fc231dfc92b77e3385d5caca6000000000000000000000000e44eab390d98e9a8214b3b0594f2da39d4ae12280000000000000000000000001a571070f88cd0b93e56be6bc60b1a77eb53f79200000000000000000000000027a48f6a22f2221cc9110194df45df7f2559de6000000000000000000000000039bd08abd60ecc1ec146de981360e08b7c8fda700000000000000000000000000ed02b9d3aa0cf3d9daf0f9fe2d36f74fafdd5f90000000000000000000000003f83ebc905f30c9b28e4f9c62e7f9b7bc3061d8d00000000000000000000000017246ac1d35229d408600dadd2032e2c8884e0600000000000000000000000001bc2223a70285580a85ada1002b06f2eceb3dcd900000000000000000000000092ec39c2d52102be754b8120dd061d20e3f6bbc6000000000000000000000000e80d315349e6cbc79280c9d30e536c00affe6ef7000000000000000000000000552d54e355d99de530038d36904e5a5136703285000000000000000000000000de1aabf6c30d0cdf83e286bfd9c78e7bf9006fe6000000000000000000000000d60ca9fd564237dd8959da8181fe31f0473f60000000000000000000000000001f67d841728739af9409628e2782bb13339de9f500000000000000000000000054137aeb20563a46984faf955acfb1dfb5e1463b000000000000000000000000ea62cba9a8b9059975ded734113c959570d696dc0000000000000000000000007f308da0d253ff1a478bf1f21fe4ca79f5c0b4e200000000000000000000000035317039367d6b9246441927b0645c9920eb7dfe000000000000000000000000f6d64a23ce944b56edb2cb582d3715f88b1308b2000000000000000000000000e875ef3f70ed266385898672c0077567008251de000000000000000000000000e5b97bde2e19eadb8ff2e76c92902827917291a4000000000000000000000000d2da3a07bf4cd039d5f36d22f22b6fe04bd56a86000000000000000000000000b31fa6f0029377820c5c01216da717244b61a957000000000000000000000000ae10b0e2754fea510b3a4a5c9d5117150aa3d11b000000000000000000000000a85c4ccb4e4e2b8180411c4d5b8afa01d90766690000000000000000000000001970d2f3c90e7fc871e9561151cb80225fa747d20000000000000000000000009cdf5cba9d49289b78cce868697a5bac558d4072000000000000000000000000aeb7aeb5c9ce73a3393daffd5e0a53246dd744a5000000000000000000000000302fdf84dda2093201c65009943224f027025421000000000000000000000000e67700af96cde045a451889192572ef0a67366c5000000000000000000000000240e2f86f720e1d879e2049efbcf5775c2fad69e0000000000000000000000003c7033ff8b4f2da51e69e5c97a3aa03366171df50000000000000000000000003be2a617a86dd49bc8893ca04cea2e5f444f9c120000000000000000000000000d094f02a5ebecb87bba32001ffa6ded671c715b000000000000000000000000dfa00af8784ebef0fe43306551821d21a0b0afd6000000000000000000000000242e2d70d3adc00a9ef23ced6e88811fcefca7880000000000000000000000000fb1b2afe60efb1d011e1d40c350f4308919e54a0000000000000000000000001566153f101ae25aac31de77444ac7f47bc3a338000000000000000000000000864e77f5b2f7f064d7193fffb7da44f6b5bf095e00000000000000000000000071d4287a1bbceabe03ad852e7134ee713b03113c0000000000000000000000003d333ab1874af29b6e23189196813e4aa1d4d0db00000000000000000000000066e0753f0383de2ba96ae261c05d9cb8a98b46770000000000000000000000006d32861ac85d87d1ade24cb689d599d53735295f00000000000000000000000022eed5eeb29a21a6d19acf456dc09ca3a523217a000000000000000000000000ee6741d501ee2117794a086b3ffad076fb3f91730000000000000000000000002deeaed21e561889a19e72b93a99fec8d8d4935e00000000000000000000000039fbb55428c2db69759423f4c1d8035e64560755000000000000000000000000a0af68e0f0b91e1339370653adfb93a646ef55a70000000000000000000000000c2e1f1759ae839899f8d33be0be7da3e6c90e1d000000000000000000000000a34236de7fdedf1c62f6eef67bf0933becbae88a00000000000000000000000050f443729042913cc005f02b1436676e0acdc59a0000000000000000000000000f6e57ea21728d429df5cabd15ce58d34d135d7d000000000000000000000000db5498bf2d75b813fc84ae377919dadde8b379ed00000000000000000000000055d22408591f2a70af3e3a60de55d890a319bc58000000000000000000000000459940714954bcfbb199de84a91b86d39e4c4f09000000000000000000000000962da50223fd7e9fa35231a097ee1d95dd49bdc50000000000000000000000004fd99f1154d8b0783e97fd1d21609c2556c6a2c9000000000000000000000000a55cab60687ed881dae236f8f4de16da8a725e3f0000000000000000000000003e90c48a1544ebe8d3041410b61362ae47896f8300000000000000000000000001dee68947ecb9731b69ff0259436aa1038e17ea0000000000000000000000005c4000c91da93ba643d206ddbbfbf3fb06d4401b000000000000000000000000270e43f3249677c01dc1ec7dcbf7bf93c8e8f6660000000000000000000000002eb1929b2b16df71d22ddc0966fa8ac5a40fa750000000000000000000000000d677ec2f08f5c06c11f727b62ccfd9a4ea03f0d00000000000000000000000002a8651a3eeee50d778304d046bbbd4721da0fc4300000000000000000000000089511764b6543674b8a0c7c4176ead725d832127000000000000000000000000d79c353b974eee9d022cb4e8ed9c56c11403f7810000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc1000000000000000000000000000000000000000000000000000000232bff5f46c0000000000000000000000000000000000000000000000000000022c64f9739f6e200000000000000000000000000000000000000000000000000221b262dd800000000000000000000000000000000000000000000000000000021fe80038888000000000000000000000000000000000000000000000000000021db7c08b5a0000000000000000000000000000000000000000000000000000021c0331d5dc0000000000000000000000000000000000000000000000000000021c0331d5dc0000000000000000000000000000000000000000000000000000021c0331d5dc00000000000000000000000000000000000000000000000000000217e01391875800000000000000000000000000000000000000000000000000020caa2d746e00000000000000000000000000000000000000000000000000000205d4038e27e97000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff05b7c87e000000000000000000000000000000000000000000000000000001fdccb4c9f2400000000000000000000000000000000000000000000000000001f5fbf6a02f000000000000000000000000000000000000000000000000000001ee89a998bc000000000000000000000000000000000000000000000000000001e6e06f8df14d4000000000000000000000000000000000000000000000000001e5602f4e6a800000000000000000000000000000000000000000000000000001d7cce57a2c000000000000000000000000000000000000000000000000000001d306891798000000000000000000000000000000000000000000000000000001d294c26b0ae52000000000000000000000000000000000000000000000000001d22228ecedb72000000000000000000000000000000000000000000000000001d21db47288000000000000000000000000000000000000000000000000000001c979d05270000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c62dcd7c16000000000000000000000000000000000000000000000000000001bce9d72a830000000000000000000000000000000000000000000000000000019396991e7c00000000000000000000000000000000000000000000000000000191c1673130a1c0000000000000000000000000000000000000000000000000019017a7c4068000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000017fb16d83be0000000000000000000000000000000000000000000000000000016c7548e345cb80000000000000000000000000000000000000000000000000016190e9a80c000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca7000000000000000000000000000000000000000000000000000000154bbd15f1e4000000000000000000000000000000000000000000000000000013fa16b59270000000000000000000000000000000000000000000000000000013e52b9abe000000000000000000000000000000000000000000000000000000131c73dbad66f80000000000000000000000000000000000000000000000000012fde45ea1b4a70000000000000000000000000000000000000000000000000012e077e46114660000000000000000000000000000000000000000000000000012d452694f40000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xaefcc9d081ba4e7d5193983ba5828f44df02f6d4ffcd83eba77ee8133a58a7c8\",\n          \"blockNumber\": \"0x15fb2f6\",\n          \"blockTimestamp\": \"0x688d32eb\",\n          \"transactionHash\": \"0xcac5e08f271c591cec4a27959d19a3e7698c8083abe331ed02f481d6fa529834\",\n          \"transactionIndex\": \"0x92\",\n          \"logIndex\": \"0x1b7\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x449aa04835c346c0600d1085559bfa67b3a074eeb566fe6147cf077a6c5c15e30000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xaefcc9d081ba4e7d5193983ba5828f44df02f6d4ffcd83eba77ee8133a58a7c8\",\n          \"blockNumber\": \"0x15fb2f6\",\n          \"blockTimestamp\": \"0x688d32eb\",\n          \"transactionHash\": \"0xcac5e08f271c591cec4a27959d19a3e7698c8083abe331ed02f481d6fa529834\",\n          \"transactionIndex\": \"0x92\",\n          \"logIndex\": \"0x1b8\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000004000042000000000000000000080000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000002000000400000000000000002000000000000000c0000000000000000000000000000000800000000040000000000000000000200000000000000000000000000020000000000020000a0000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xcac5e08f271c591cec4a27959d19a3e7698c8083abe331ed02f481d6fa529834\",\n      \"transactionIndex\": \"0x92\",\n      \"blockHash\": \"0xaefcc9d081ba4e7d5193983ba5828f44df02f6d4ffcd83eba77ee8133a58a7c8\",\n      \"blockNumber\": \"0x15fb2f6\",\n      \"gasUsed\": \"0x20be67\",\n      \"effectiveGasPrice\": \"0x12d869db\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1754084077,\n  \"chain\": 1,\n  \"commit\": \"1fa78b1\"\n}"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/records/OPStackExecuteRecovery.s.sol/1/run-1754084126.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x17f738ca7566638640b134b4494724bfab9c1008ed93b7873cdd17b10355980c\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881\",\n        \"0\",\n        \"0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000d5d7c45ed25f47a5f28d764fdc0fff2c8067e7da000000000000000000000000dee23022a5dfd70530e8ae177e16845e7d323899000000000000000000000000cf625acb72990273fa0541ca57f6261708a6ca9800000000000000000000000058e52cf0167d5ed727892f1de4b425167a0afac500000000000000000000000052dd11832fee1483c00ad75ca4c8117b3f7149f80000000000000000000000006c871284464c403e48a109f20493c3bfeb22c5a2000000000000000000000000a8570d0a724432ede22e66e86d0ceafea10321e5000000000000000000000000014b729a2a65bd89faf38d50b84beb47007199e50000000000000000000000006e878dadd06c66aee353c5a8611f824f52afb7910000000000000000000000004169be94679378422757a38e1ff39e60bc1b56660000000000000000000000001d54ee6c2e15b168f35a578ca2bcf49f6a46c473000000000000000000000000436769e28fe44402b2bbbdc915fd58bae69421290000000000000000000000008e83447956385f30cd2b36ac39650ed77c57c752000000000000000000000000f1a131f0f2a8d54918d82fd4cc3e33ec5b66097b0000000000000000000000001763cc485fc8c89d65ab3bf122dab7751c4de135000000000000000000000000ac13db99c028363e9d4bd2051665bc8d51505823000000000000000000000000051d595e667731d1d5d34ec2a8e9a2af548d5b25000000000000000000000000cb1a64cd6fe0c93267c6639e9f469ea0e0af5c170000000000000000000000009873b4bdefc0843a79f804de15640861d78867400000000000000000000000002d83238e1b3b6ce8768de722ae841c7c30218a080000000000000000000000009409ee260479649d6229c974748bbc4b82733283000000000000000000000000dd8dad42c815eecf44b56e456fd10ef7cb2bf8d10000000000000000000000000634f86d3e8902f69fef5b72c73609b01ea3dad8000000000000000000000000a430bd6ac5e2523690861c7b5fdf37642f6e089e00000000000000000000000087043db9c9dd96be4ff7f31c82f7d0c94e4b62090000000000000000000000007eaf7e62fa4573a171be59cb6ccc4f2f5e2dfc1900000000000000000000000054f68f074631baf6cc3cfce882ed184199a46bbe00000000000000000000000072e0b63d8a1c2c5e034b78991fb9c5d4577b3d25000000000000000000000000641c976a5e0ca47bc53011117db351ab111ae69400000000000000000000000000e2e53e62713c859e787ebea7421e4b5103a4b6000000000000000000000000761bce9ff53a2654c4ffca9865f1ea1b1469891a000000000000000000000000a959a8d9f4388dffc6c0c6e978995fda5c388ee00000000000000000000000005e7426339fb7dba498b414a2baac31edd5afaa96000000000000000000000000a8759e3d0dd7fc310fe27f24fd35f5f4821777430000000000000000000000002b714300668657dd65f1416ed15901fc9579f363000000000000000000000000707c8386919c87dc03379484f9f4271f5dca81d50000000000000000000000007b546efd637a616affd87e39c45899d9b5921c260000000000000000000000002be20da4f2ad43c44d25e382c401b5ff6e38edb3000000000000000000000000104af6c440d274a4abcb353c0ab85dc2f911e074000000000000000000000000a001308434a0a1cc150bbf897d23d55036959aaa000000000000000000000000f4d697c97a0ba04bcb51790ae91f945ab115b64d000000000000000000000000d183e2cbcdb42e6ce01215df5817185741b318ad000000000000000000000000d3f35ca866bf08799b8082b729f92c06420d74ab000000000000000000000000c1b70387480a055d4521fbea77022d7556506d54000000000000000000000000f1112b250db5934f967484d19b5cb57f9cafe1ba00000000000000000000000015b13ac806b676a0218d8fe232b331b21adfc50a00000000000000000000000088306d169930487bab41b091e2dbb972732e8a90000000000000000000000000cf93d80d16dacbe2e9fdab010bd1309d9dde001a000000000000000000000000c70a8cd6686bed6b986fa04cb6a64736e28b9658000000000000000000000000ae0fc38a9d05a92af7bdde596f076a2b7a8fedeb000000000000000000000000c3148e5a60e652bb910f938ad63ce5cdac4623e700000000000000000000000043ec14bd53ba12d5544290ba0604b643293a03910000000000000000000000000c020e63355795dc2f0c772cd533ce8dc6f8957b00000000000000000000000046e6d60abd111bfa1607587f3356c96272311cf0000000000000000000000000da614b9ef7fb65f911cdd1572f624c45613996c0000000000000000000000000865c0db3d0fbe5df6f015ec66b9fef3c4557cc3b000000000000000000000000ea89cc0e2b09b483569451f5c4e57a8329c384d1000000000000000000000000d7cc26c9eabd7a61a3d4b34733a108d33f36c20a0000000000000000000000000c28871d7b2abfaedbc6152d76ebcd270c199b02000000000000000000000000dbbb560872e2ab1edb31011bee8e499d837f8ee600000000000000000000000085332b5a8695d5b944983e7b7962134af2dcebd4000000000000000000000000945c82bc3642c5a7d8148686e821abe745eb3960000000000000000000000000ce47574d7938d8e8add709e96a6df8fd31c51c24000000000000000000000000ea343d5aad581030b86d18bf54bdf43bbbfa8cf3000000000000000000000000cf538e512db740786d4a098fd0c887eda5f35047000000000000000000000000d384f954f5f9c1e607c7d81e5b2bb92df5b6389f0000000000000000000000002e387363c7ff1152aa3795effd098dd2bfc7b53500000000000000000000000023a97f8813b7ab1c48a6520b25f65e9324b4f58f000000000000000000000000fc96f807b1fef88d5e3fbaba0e265eee2d7ac2b80000000000000000000000009704f7a2c029e0aaa5fc56399711b0ea99af49df000000000000000000000000853dc0c9257b35ae00a1a197981ff903ee160786000000000000000000000000a07960cbb05906ccc23be936fb47fea1e0aeaf01000000000000000000000000a5aa43a8862ff52f31d54580b64bd78bcc8c2666000000000000000000000000bf37e9fc81f8dc95d2553386b67ec6afbb14ff1c000000000000000000000000ac4b0882e822e86811ccae3773a29b0f9888b86e0000000000000000000000006a543cfa7050054fc3c6a1f9c87fa27ba60e578a000000000000000000000000dbdf965ba2ff4d6b1145eb3151708d2f8fd7428100000000000000000000000083cd3aa778603fb579b3a657009658d2e1f09cc7000000000000000000000000b359eedc4fc2c9b0b11fa4a0d6cffcb7a5216f49000000000000000000000000ad7873d553a4f3d484511b2b931e606e96dada9c0000000000000000000000005509926ba42db380068f9a7c16e2e71f4c2cd1340000000000000000000000007d4261ad19a5aaf0bc37f53eeb1969f4c672779a0000000000000000000000001d1e1867a8729081b9a25a4763eb923d11c44b1900000000000000000000000084ddfafee4254dd2c35cd02e2ab4fc7e297d394a0000000000000000000000004fc88b308723e5ff08003d696aed714768b359fa000000000000000000000000e32ff0be5ab1189979cbe85e76dffa3c13f3200700000000000000000000000049a18d52460edee159af6b69406d3f518d4d48d7000000000000000000000000b10f2544a2fa388234e285b812bb42cb875b8c32000000000000000000000000d540393d07ca51b311c40c50e8b3f03b19521d4f0000000000000000000000001eb884803d6f931aae20676934a5d6b7623009b2000000000000000000000000bd2241720848c6bffa8102eb88b05c077a2640ca0000000000000000000000009e49c39f36381b228509a1526b811f523a66996b000000000000000000000000a5a28794e78b949c3fc7954b9ab39dd27aaf4f7d000000000000000000000000eae7ab6a65430456536d8087ed8251a5604b1f1b0000000000000000000000009fc7afe457693f0767b284f13ad6847189bda614000000000000000000000000ec4a2742bbcfba37234d91cf15224dc5e0da1a9e0000000000000000000000000d02ed24ef53c868ef407b266178aa162775569a000000000000000000000000a166b311978ac269b5d2e1e50608cd67f2f1d6340000000000000000000000000c3dc4ab7c446c8ad448b8037955adf4f76c239a000000000000000000000000e513b0b1ccb134398493f38ccb6f5a8bfb3c9a7500000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011bf7d6564c0400000000000000000000000000000000000000000000000000011688627664000000000000000000000000000000000000000000000000000001138a63157a86e000000000000000000000000000000000000000000000000001135258d041c000000000000000000000000000000000000000000000000000011127b2d6f462400000000000000000000000000000000000000000000000000110d9316ec00000000000000000000000000000000000000000000000000000010be72d2d390000000000000000000000000000000000000000000000000000010b2a00671c000000000000000000000000000000000000000000000000000000ffcb9e57d4000000000000000000000000000000000000000000000000000000f27bc1a94fab2000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000dff68bc6a4000000000000000000000000000000000000000000000000000000d8f035e42c8cd000000000000000000000000000000000000000000000000000bb9551fc24000000000000000000000000000000000000000000000000000000b79aafa9fe000000000000000000000000000000000000000000000000000000b036efecdc000000000000000000000000000000000000000000000000000000ac04cbcc00d68000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee5380000000000000000000000000000000000000000000000000000009f295cd5f00000000000000000000000000000000000000000000000000000009e9461cd271200000000000000000000000000000000000000000000000000009b2eba83ca000000000000000000000000000000000000000000000000000000997a2bce4c000000000000000000000000000000000000000000000000000000996b0bda126fc000000000000000000000000000000000000000000000000000995117cfe2d7500000000000000000000000000000000000000000000000000098ec2643025c600000000000000000000000000000000000000000000000000093b9438b5e800000000000000000000000000000000000000000000000000000914113d0b638000000000000000000000000000000000000000000000000000090d647ae340000000000000000000000000000000000000000000000000000008f5cc85c96d260000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf04000000000000000000000000000000000000000000000000000000886c98b7600000000000000000000000000000000000000000000000000000008660ba43fc0000000000000000000000000000000000000000000000000000007d0e36a81800000000000000000000000000000000000000000000000000000079952d62610ba00000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xebe0c43d3664c3996cd445e921acd63ccaea0089fc761d5272a7c8fc0b09c5ec6157f54073880262196d16cdf1dce857c8307551785b154147f5c8be3d6707871b31733d6c2aadd4e0e6429ceb76fc6f0b766e2847a0bdbe53e80ed036a704a078521d2ebb8499a5204e5d6ae8ad2bb190aa8a0c3c9df37e897771cc84724dd8ec1c763a3ac3f7248a949a624a652ba01044dbe989c64f939b065059bd9d6a0343a9160a3870ec8fd93a824e140b6702fd9f0afd4d402cf99941de306087ee32cf881c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x2fe425\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc69839881000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001b84174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000d5d7c45ed25f47a5f28d764fdc0fff2c8067e7da000000000000000000000000dee23022a5dfd70530e8ae177e16845e7d323899000000000000000000000000cf625acb72990273fa0541ca57f6261708a6ca9800000000000000000000000058e52cf0167d5ed727892f1de4b425167a0afac500000000000000000000000052dd11832fee1483c00ad75ca4c8117b3f7149f80000000000000000000000006c871284464c403e48a109f20493c3bfeb22c5a2000000000000000000000000a8570d0a724432ede22e66e86d0ceafea10321e5000000000000000000000000014b729a2a65bd89faf38d50b84beb47007199e50000000000000000000000006e878dadd06c66aee353c5a8611f824f52afb7910000000000000000000000004169be94679378422757a38e1ff39e60bc1b56660000000000000000000000001d54ee6c2e15b168f35a578ca2bcf49f6a46c473000000000000000000000000436769e28fe44402b2bbbdc915fd58bae69421290000000000000000000000008e83447956385f30cd2b36ac39650ed77c57c752000000000000000000000000f1a131f0f2a8d54918d82fd4cc3e33ec5b66097b0000000000000000000000001763cc485fc8c89d65ab3bf122dab7751c4de135000000000000000000000000ac13db99c028363e9d4bd2051665bc8d51505823000000000000000000000000051d595e667731d1d5d34ec2a8e9a2af548d5b25000000000000000000000000cb1a64cd6fe0c93267c6639e9f469ea0e0af5c170000000000000000000000009873b4bdefc0843a79f804de15640861d78867400000000000000000000000002d83238e1b3b6ce8768de722ae841c7c30218a080000000000000000000000009409ee260479649d6229c974748bbc4b82733283000000000000000000000000dd8dad42c815eecf44b56e456fd10ef7cb2bf8d10000000000000000000000000634f86d3e8902f69fef5b72c73609b01ea3dad8000000000000000000000000a430bd6ac5e2523690861c7b5fdf37642f6e089e00000000000000000000000087043db9c9dd96be4ff7f31c82f7d0c94e4b62090000000000000000000000007eaf7e62fa4573a171be59cb6ccc4f2f5e2dfc1900000000000000000000000054f68f074631baf6cc3cfce882ed184199a46bbe00000000000000000000000072e0b63d8a1c2c5e034b78991fb9c5d4577b3d25000000000000000000000000641c976a5e0ca47bc53011117db351ab111ae69400000000000000000000000000e2e53e62713c859e787ebea7421e4b5103a4b6000000000000000000000000761bce9ff53a2654c4ffca9865f1ea1b1469891a000000000000000000000000a959a8d9f4388dffc6c0c6e978995fda5c388ee00000000000000000000000005e7426339fb7dba498b414a2baac31edd5afaa96000000000000000000000000a8759e3d0dd7fc310fe27f24fd35f5f4821777430000000000000000000000002b714300668657dd65f1416ed15901fc9579f363000000000000000000000000707c8386919c87dc03379484f9f4271f5dca81d50000000000000000000000007b546efd637a616affd87e39c45899d9b5921c260000000000000000000000002be20da4f2ad43c44d25e382c401b5ff6e38edb3000000000000000000000000104af6c440d274a4abcb353c0ab85dc2f911e074000000000000000000000000a001308434a0a1cc150bbf897d23d55036959aaa000000000000000000000000f4d697c97a0ba04bcb51790ae91f945ab115b64d000000000000000000000000d183e2cbcdb42e6ce01215df5817185741b318ad000000000000000000000000d3f35ca866bf08799b8082b729f92c06420d74ab000000000000000000000000c1b70387480a055d4521fbea77022d7556506d54000000000000000000000000f1112b250db5934f967484d19b5cb57f9cafe1ba00000000000000000000000015b13ac806b676a0218d8fe232b331b21adfc50a00000000000000000000000088306d169930487bab41b091e2dbb972732e8a90000000000000000000000000cf93d80d16dacbe2e9fdab010bd1309d9dde001a000000000000000000000000c70a8cd6686bed6b986fa04cb6a64736e28b9658000000000000000000000000ae0fc38a9d05a92af7bdde596f076a2b7a8fedeb000000000000000000000000c3148e5a60e652bb910f938ad63ce5cdac4623e700000000000000000000000043ec14bd53ba12d5544290ba0604b643293a03910000000000000000000000000c020e63355795dc2f0c772cd533ce8dc6f8957b00000000000000000000000046e6d60abd111bfa1607587f3356c96272311cf0000000000000000000000000da614b9ef7fb65f911cdd1572f624c45613996c0000000000000000000000000865c0db3d0fbe5df6f015ec66b9fef3c4557cc3b000000000000000000000000ea89cc0e2b09b483569451f5c4e57a8329c384d1000000000000000000000000d7cc26c9eabd7a61a3d4b34733a108d33f36c20a0000000000000000000000000c28871d7b2abfaedbc6152d76ebcd270c199b02000000000000000000000000dbbb560872e2ab1edb31011bee8e499d837f8ee600000000000000000000000085332b5a8695d5b944983e7b7962134af2dcebd4000000000000000000000000945c82bc3642c5a7d8148686e821abe745eb3960000000000000000000000000ce47574d7938d8e8add709e96a6df8fd31c51c24000000000000000000000000ea343d5aad581030b86d18bf54bdf43bbbfa8cf3000000000000000000000000cf538e512db740786d4a098fd0c887eda5f35047000000000000000000000000d384f954f5f9c1e607c7d81e5b2bb92df5b6389f0000000000000000000000002e387363c7ff1152aa3795effd098dd2bfc7b53500000000000000000000000023a97f8813b7ab1c48a6520b25f65e9324b4f58f000000000000000000000000fc96f807b1fef88d5e3fbaba0e265eee2d7ac2b80000000000000000000000009704f7a2c029e0aaa5fc56399711b0ea99af49df000000000000000000000000853dc0c9257b35ae00a1a197981ff903ee160786000000000000000000000000a07960cbb05906ccc23be936fb47fea1e0aeaf01000000000000000000000000a5aa43a8862ff52f31d54580b64bd78bcc8c2666000000000000000000000000bf37e9fc81f8dc95d2553386b67ec6afbb14ff1c000000000000000000000000ac4b0882e822e86811ccae3773a29b0f9888b86e0000000000000000000000006a543cfa7050054fc3c6a1f9c87fa27ba60e578a000000000000000000000000dbdf965ba2ff4d6b1145eb3151708d2f8fd7428100000000000000000000000083cd3aa778603fb579b3a657009658d2e1f09cc7000000000000000000000000b359eedc4fc2c9b0b11fa4a0d6cffcb7a5216f49000000000000000000000000ad7873d553a4f3d484511b2b931e606e96dada9c0000000000000000000000005509926ba42db380068f9a7c16e2e71f4c2cd1340000000000000000000000007d4261ad19a5aaf0bc37f53eeb1969f4c672779a0000000000000000000000001d1e1867a8729081b9a25a4763eb923d11c44b1900000000000000000000000084ddfafee4254dd2c35cd02e2ab4fc7e297d394a0000000000000000000000004fc88b308723e5ff08003d696aed714768b359fa000000000000000000000000e32ff0be5ab1189979cbe85e76dffa3c13f3200700000000000000000000000049a18d52460edee159af6b69406d3f518d4d48d7000000000000000000000000b10f2544a2fa388234e285b812bb42cb875b8c32000000000000000000000000d540393d07ca51b311c40c50e8b3f03b19521d4f0000000000000000000000001eb884803d6f931aae20676934a5d6b7623009b2000000000000000000000000bd2241720848c6bffa8102eb88b05c077a2640ca0000000000000000000000009e49c39f36381b228509a1526b811f523a66996b000000000000000000000000a5a28794e78b949c3fc7954b9ab39dd27aaf4f7d000000000000000000000000eae7ab6a65430456536d8087ed8251a5604b1f1b0000000000000000000000009fc7afe457693f0767b284f13ad6847189bda614000000000000000000000000ec4a2742bbcfba37234d91cf15224dc5e0da1a9e0000000000000000000000000d02ed24ef53c868ef407b266178aa162775569a000000000000000000000000a166b311978ac269b5d2e1e50608cd67f2f1d6340000000000000000000000000c3dc4ab7c446c8ad448b8037955adf4f76c239a000000000000000000000000e513b0b1ccb134398493f38ccb6f5a8bfb3c9a7500000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011bf7d6564c0400000000000000000000000000000000000000000000000000011688627664000000000000000000000000000000000000000000000000000001138a63157a86e000000000000000000000000000000000000000000000000001135258d041c000000000000000000000000000000000000000000000000000011127b2d6f462400000000000000000000000000000000000000000000000000110d9316ec00000000000000000000000000000000000000000000000000000010be72d2d390000000000000000000000000000000000000000000000000000010b2a00671c000000000000000000000000000000000000000000000000000000ffcb9e57d4000000000000000000000000000000000000000000000000000000f27bc1a94fab2000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000dff68bc6a4000000000000000000000000000000000000000000000000000000d8f035e42c8cd000000000000000000000000000000000000000000000000000bb9551fc24000000000000000000000000000000000000000000000000000000b79aafa9fe000000000000000000000000000000000000000000000000000000b036efecdc000000000000000000000000000000000000000000000000000000ac04cbcc00d68000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee5380000000000000000000000000000000000000000000000000000009f295cd5f00000000000000000000000000000000000000000000000000000009e9461cd271200000000000000000000000000000000000000000000000000009b2eba83ca000000000000000000000000000000000000000000000000000000997a2bce4c000000000000000000000000000000000000000000000000000000996b0bda126fc000000000000000000000000000000000000000000000000000995117cfe2d7500000000000000000000000000000000000000000000000000098ec2643025c600000000000000000000000000000000000000000000000000093b9438b5e800000000000000000000000000000000000000000000000000000914113d0b638000000000000000000000000000000000000000000000000000090d647ae340000000000000000000000000000000000000000000000000000008f5cc85c96d260000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf04000000000000000000000000000000000000000000000000000000886c98b7600000000000000000000000000000000000000000000000000000008660ba43fc0000000000000000000000000000000000000000000000000000007d0e36a81800000000000000000000000000000000000000000000000000000079952d62610ba00000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3ebe0c43d3664c3996cd445e921acd63ccaea0089fc761d5272a7c8fc0b09c5ec6157f54073880262196d16cdf1dce857c8307551785b154147f5c8be3d6707871b31733d6c2aadd4e0e6429ceb76fc6f0b766e2847a0bdbe53e80ed036a704a078521d2ebb8499a5204e5d6ae8ad2bb190aa8a0c3c9df37e897771cc84724dd8ec1c763a3ac3f7248a949a624a652ba01044dbe989c64f939b065059bd9d6a0343a9160a3870ec8fd93a824e140b6702fd9f0afd4d402cf99941de306087ee32cf881c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x2b\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xb12dfa\",\n      \"logs\": [\n        {\n          \"address\": \"0x49048044d57e1c92a77f79988d21fa8faf74e97e\",\n          \"topics\": [\n            \"0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32\",\n            \"0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167\",\n            \"0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000019cd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e848000501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000d5d7c45ed25f47a5f28d764fdc0fff2c8067e7da000000000000000000000000dee23022a5dfd70530e8ae177e16845e7d323899000000000000000000000000cf625acb72990273fa0541ca57f6261708a6ca9800000000000000000000000058e52cf0167d5ed727892f1de4b425167a0afac500000000000000000000000052dd11832fee1483c00ad75ca4c8117b3f7149f80000000000000000000000006c871284464c403e48a109f20493c3bfeb22c5a2000000000000000000000000a8570d0a724432ede22e66e86d0ceafea10321e5000000000000000000000000014b729a2a65bd89faf38d50b84beb47007199e50000000000000000000000006e878dadd06c66aee353c5a8611f824f52afb7910000000000000000000000004169be94679378422757a38e1ff39e60bc1b56660000000000000000000000001d54ee6c2e15b168f35a578ca2bcf49f6a46c473000000000000000000000000436769e28fe44402b2bbbdc915fd58bae69421290000000000000000000000008e83447956385f30cd2b36ac39650ed77c57c752000000000000000000000000f1a131f0f2a8d54918d82fd4cc3e33ec5b66097b0000000000000000000000001763cc485fc8c89d65ab3bf122dab7751c4de135000000000000000000000000ac13db99c028363e9d4bd2051665bc8d51505823000000000000000000000000051d595e667731d1d5d34ec2a8e9a2af548d5b25000000000000000000000000cb1a64cd6fe0c93267c6639e9f469ea0e0af5c170000000000000000000000009873b4bdefc0843a79f804de15640861d78867400000000000000000000000002d83238e1b3b6ce8768de722ae841c7c30218a080000000000000000000000009409ee260479649d6229c974748bbc4b82733283000000000000000000000000dd8dad42c815eecf44b56e456fd10ef7cb2bf8d10000000000000000000000000634f86d3e8902f69fef5b72c73609b01ea3dad8000000000000000000000000a430bd6ac5e2523690861c7b5fdf37642f6e089e00000000000000000000000087043db9c9dd96be4ff7f31c82f7d0c94e4b62090000000000000000000000007eaf7e62fa4573a171be59cb6ccc4f2f5e2dfc1900000000000000000000000054f68f074631baf6cc3cfce882ed184199a46bbe00000000000000000000000072e0b63d8a1c2c5e034b78991fb9c5d4577b3d25000000000000000000000000641c976a5e0ca47bc53011117db351ab111ae69400000000000000000000000000e2e53e62713c859e787ebea7421e4b5103a4b6000000000000000000000000761bce9ff53a2654c4ffca9865f1ea1b1469891a000000000000000000000000a959a8d9f4388dffc6c0c6e978995fda5c388ee00000000000000000000000005e7426339fb7dba498b414a2baac31edd5afaa96000000000000000000000000a8759e3d0dd7fc310fe27f24fd35f5f4821777430000000000000000000000002b714300668657dd65f1416ed15901fc9579f363000000000000000000000000707c8386919c87dc03379484f9f4271f5dca81d50000000000000000000000007b546efd637a616affd87e39c45899d9b5921c260000000000000000000000002be20da4f2ad43c44d25e382c401b5ff6e38edb3000000000000000000000000104af6c440d274a4abcb353c0ab85dc2f911e074000000000000000000000000a001308434a0a1cc150bbf897d23d55036959aaa000000000000000000000000f4d697c97a0ba04bcb51790ae91f945ab115b64d000000000000000000000000d183e2cbcdb42e6ce01215df5817185741b318ad000000000000000000000000d3f35ca866bf08799b8082b729f92c06420d74ab000000000000000000000000c1b70387480a055d4521fbea77022d7556506d54000000000000000000000000f1112b250db5934f967484d19b5cb57f9cafe1ba00000000000000000000000015b13ac806b676a0218d8fe232b331b21adfc50a00000000000000000000000088306d169930487bab41b091e2dbb972732e8a90000000000000000000000000cf93d80d16dacbe2e9fdab010bd1309d9dde001a000000000000000000000000c70a8cd6686bed6b986fa04cb6a64736e28b9658000000000000000000000000ae0fc38a9d05a92af7bdde596f076a2b7a8fedeb000000000000000000000000c3148e5a60e652bb910f938ad63ce5cdac4623e700000000000000000000000043ec14bd53ba12d5544290ba0604b643293a03910000000000000000000000000c020e63355795dc2f0c772cd533ce8dc6f8957b00000000000000000000000046e6d60abd111bfa1607587f3356c96272311cf0000000000000000000000000da614b9ef7fb65f911cdd1572f624c45613996c0000000000000000000000000865c0db3d0fbe5df6f015ec66b9fef3c4557cc3b000000000000000000000000ea89cc0e2b09b483569451f5c4e57a8329c384d1000000000000000000000000d7cc26c9eabd7a61a3d4b34733a108d33f36c20a0000000000000000000000000c28871d7b2abfaedbc6152d76ebcd270c199b02000000000000000000000000dbbb560872e2ab1edb31011bee8e499d837f8ee600000000000000000000000085332b5a8695d5b944983e7b7962134af2dcebd4000000000000000000000000945c82bc3642c5a7d8148686e821abe745eb3960000000000000000000000000ce47574d7938d8e8add709e96a6df8fd31c51c24000000000000000000000000ea343d5aad581030b86d18bf54bdf43bbbfa8cf3000000000000000000000000cf538e512db740786d4a098fd0c887eda5f35047000000000000000000000000d384f954f5f9c1e607c7d81e5b2bb92df5b6389f0000000000000000000000002e387363c7ff1152aa3795effd098dd2bfc7b53500000000000000000000000023a97f8813b7ab1c48a6520b25f65e9324b4f58f000000000000000000000000fc96f807b1fef88d5e3fbaba0e265eee2d7ac2b80000000000000000000000009704f7a2c029e0aaa5fc56399711b0ea99af49df000000000000000000000000853dc0c9257b35ae00a1a197981ff903ee160786000000000000000000000000a07960cbb05906ccc23be936fb47fea1e0aeaf01000000000000000000000000a5aa43a8862ff52f31d54580b64bd78bcc8c2666000000000000000000000000bf37e9fc81f8dc95d2553386b67ec6afbb14ff1c000000000000000000000000ac4b0882e822e86811ccae3773a29b0f9888b86e0000000000000000000000006a543cfa7050054fc3c6a1f9c87fa27ba60e578a000000000000000000000000dbdf965ba2ff4d6b1145eb3151708d2f8fd7428100000000000000000000000083cd3aa778603fb579b3a657009658d2e1f09cc7000000000000000000000000b359eedc4fc2c9b0b11fa4a0d6cffcb7a5216f49000000000000000000000000ad7873d553a4f3d484511b2b931e606e96dada9c0000000000000000000000005509926ba42db380068f9a7c16e2e71f4c2cd1340000000000000000000000007d4261ad19a5aaf0bc37f53eeb1969f4c672779a0000000000000000000000001d1e1867a8729081b9a25a4763eb923d11c44b1900000000000000000000000084ddfafee4254dd2c35cd02e2ab4fc7e297d394a0000000000000000000000004fc88b308723e5ff08003d696aed714768b359fa000000000000000000000000e32ff0be5ab1189979cbe85e76dffa3c13f3200700000000000000000000000049a18d52460edee159af6b69406d3f518d4d48d7000000000000000000000000b10f2544a2fa388234e285b812bb42cb875b8c32000000000000000000000000d540393d07ca51b311c40c50e8b3f03b19521d4f0000000000000000000000001eb884803d6f931aae20676934a5d6b7623009b2000000000000000000000000bd2241720848c6bffa8102eb88b05c077a2640ca0000000000000000000000009e49c39f36381b228509a1526b811f523a66996b000000000000000000000000a5a28794e78b949c3fc7954b9ab39dd27aaf4f7d000000000000000000000000eae7ab6a65430456536d8087ed8251a5604b1f1b0000000000000000000000009fc7afe457693f0767b284f13ad6847189bda614000000000000000000000000ec4a2742bbcfba37234d91cf15224dc5e0da1a9e0000000000000000000000000d02ed24ef53c868ef407b266178aa162775569a000000000000000000000000a166b311978ac269b5d2e1e50608cd67f2f1d6340000000000000000000000000c3dc4ab7c446c8ad448b8037955adf4f76c239a000000000000000000000000e513b0b1ccb134398493f38ccb6f5a8bfb3c9a7500000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011bf7d6564c0400000000000000000000000000000000000000000000000000011688627664000000000000000000000000000000000000000000000000000001138a63157a86e000000000000000000000000000000000000000000000000001135258d041c000000000000000000000000000000000000000000000000000011127b2d6f462400000000000000000000000000000000000000000000000000110d9316ec00000000000000000000000000000000000000000000000000000010be72d2d390000000000000000000000000000000000000000000000000000010b2a00671c000000000000000000000000000000000000000000000000000000ffcb9e57d4000000000000000000000000000000000000000000000000000000f27bc1a94fab2000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000dff68bc6a4000000000000000000000000000000000000000000000000000000d8f035e42c8cd000000000000000000000000000000000000000000000000000bb9551fc24000000000000000000000000000000000000000000000000000000b79aafa9fe000000000000000000000000000000000000000000000000000000b036efecdc000000000000000000000000000000000000000000000000000000ac04cbcc00d68000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee5380000000000000000000000000000000000000000000000000000009f295cd5f00000000000000000000000000000000000000000000000000000009e9461cd271200000000000000000000000000000000000000000000000000009b2eba83ca000000000000000000000000000000000000000000000000000000997a2bce4c000000000000000000000000000000000000000000000000000000996b0bda126fc000000000000000000000000000000000000000000000000000995117cfe2d7500000000000000000000000000000000000000000000000000098ec2643025c600000000000000000000000000000000000000000000000000093b9438b5e800000000000000000000000000000000000000000000000000000914113d0b638000000000000000000000000000000000000000000000000000090d647ae340000000000000000000000000000000000000000000000000000008f5cc85c96d260000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf04000000000000000000000000000000000000000000000000000000886c98b7600000000000000000000000000000000000000000000000000000008660ba43fc0000000000000000000000000000000000000000000000000000007d0e36a81800000000000000000000000000000000000000000000000000000079952d62610ba00000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x48e588c5a1fa0035bb89f57f06ff9472d65749a793f0e7cc02bf8feb669a67d9\",\n          \"blockNumber\": \"0x15fb2fa\",\n          \"blockTimestamp\": \"0x688d331b\",\n          \"transactionHash\": \"0x17f738ca7566638640b134b4494724bfab9c1008ed93b7873cdd17b10355980c\",\n          \"transactionIndex\": \"0x5d\",\n          \"logIndex\": \"0x139\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x4c29d5fba413f3b6c8145bb25cbd0983172aa13d4dcb9c65a401c291fb33b2c90000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x48e588c5a1fa0035bb89f57f06ff9472d65749a793f0e7cc02bf8feb669a67d9\",\n          \"blockNumber\": \"0x15fb2fa\",\n          \"blockTimestamp\": \"0x688d331b\",\n          \"transactionHash\": \"0x17f738ca7566638640b134b4494724bfab9c1008ed93b7873cdd17b10355980c\",\n          \"transactionIndex\": \"0x5d\",\n          \"logIndex\": \"0x13a\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000004000042000000000000000000080000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000002000000400000000000000002000000000000000c0000000000000000000000000000000800000000040000000000000000000200000000000000000000000000020000000000020000a0000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x17f738ca7566638640b134b4494724bfab9c1008ed93b7873cdd17b10355980c\",\n      \"transactionIndex\": \"0x5d\",\n      \"blockHash\": \"0x48e588c5a1fa0035bb89f57f06ff9472d65749a793f0e7cc02bf8feb669a67d9\",\n      \"blockNumber\": \"0x15fb2fa\",\n      \"gasUsed\": \"0x20bf02\",\n      \"effectiveGasPrice\": \"0x13cfc312\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1754084126,\n  \"chain\": 1,\n  \"commit\": \"1fa78b1\"\n}"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/records/OPStackExecuteRecovery.s.sol/1/run-1754084197.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xdc7e3ecc0b169d176e21bdc13e89ad6507eda1a9e9f3ee5c4782579d09a43690\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881\",\n        \"0\",\n        \"0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000f7577b736b0338ba3c1e82476242e9c49aed5669000000000000000000000000e15345ca41978e547f6e1fe97dc8a243df73b195000000000000000000000000e1d85d3101bd4761091c276007d4b1b0d21364a30000000000000000000000001be6e8c65ba7de114db61240a23dfbf3b4d28cd2000000000000000000000000075a4bd432e8e862733c8e41efb773d604f35e5c0000000000000000000000007543ae755256476f32ec2cb49c253c4e5d47b8060000000000000000000000004618a344d46132b4c9eaf43203d0f90f306e861e000000000000000000000000f1a3c278b6a8b49ac565d7f2100aff055a8ffb58000000000000000000000000dabe322271e9722ff4844efb947f16e6ba8c72c5000000000000000000000000bb50690db3897ca5b1f63cff6e0c061b93f9bfbd000000000000000000000000ab4dcbcbfe45e6dfa11f9fde2f86e0ad4140a98e0000000000000000000000006e5019c712827b5e7d30e1ada52b871582ca43490000000000000000000000007abf799978c06bc2e79ecfd982f546b45e237271000000000000000000000000e758d32e844e87592abeec8432be09726d6825e4000000000000000000000000c9a6a0241ea3ba3a421e624ea6cf9465ff6816df00000000000000000000000036d23239b35477911c489738a9ea2f7d87cb4f23000000000000000000000000d3654312f35be822222450bbf8f4706e2e47275b000000000000000000000000d1695bdedc7efacb186967e695974170495b08e000000000000000000000000012d0ced4220f5acd0b0749bda0747a2051fbb2800000000000000000000000005d4e5de26d84e43ff66592c2b38c66c3c87cdee300000000000000000000000033c888ccd7d1b861993e8bfcc12f485c1b8841fb000000000000000000000000fc9dd302795e988c16973ba5ec86a1091532f3d90000000000000000000000000fbcce7bb116f943d1340534d73b83f0aed67adf0000000000000000000000009e2d65ec85452ba115499d975fc28616a3850ac6000000000000000000000000f9a5844ac0b81bc45f448f864d484e0ef5927d5f0000000000000000000000007a47b8793497643eb997c3977afd1168a9014e2c0000000000000000000000009aec2ca1fda225b1a5966ff458b51560ba206106000000000000000000000000e6943a33a364b1aa7997f636574b127a67e7c110000000000000000000000000b798dbfdfdbc1354490273911f1a1de25f29672b00000000000000000000000052c547e8332f97b6aeec09c30bd7c0b53dcc3f91000000000000000000000000c2d3a3b40cf7581484b3dc6c663d80c2b2a999dc0000000000000000000000005a716ede0235796ac3004d4a243054f3a82342310000000000000000000000001f1ff0587805b220b6128c17618a54e1b6cefe6a000000000000000000000000e64d2b73aff7d771eff9cf9b5185a9f542aea5a5000000000000000000000000f8f15c037746e38c3508d3343d094d6ff6dbf77300000000000000000000000087d88fa9c6882cb6bd4c65f5e0766ed48ca9c8ac000000000000000000000000fb8ff1e56f2cf118d75c2a65275988dcfc327a33000000000000000000000000a50b5ca57355f128448ecb05efc2cc8973705cf50000000000000000000000005beef1abbd43a347ff32c1089d3a36de35eb3a54000000000000000000000000020cfa8d14e643658e3d21073a87667d14064678000000000000000000000000408c76c4eaa072ea64d2833cb2c2e996fd0e9ac200000000000000000000000048bc9e0175fee1316e4fa81980a396e57ab13304000000000000000000000000297822004929d4bbfefdd5934854e18036c176050000000000000000000000002d739942efe7d5c7310624f15b8fb6d80e60d6e000000000000000000000000003511ae216f13121c0e7ed09d3fa35607cfbfbcf0000000000000000000000001b4c289c4f6e0565f1e432654254485c490679e9000000000000000000000000d152926beefd40caef59040a2144980e481a59e300000000000000000000000043c718fc437d0130a3ea613e2d388c51e518ac7c000000000000000000000000390d9a55eef37581f183afff7b0d4f8ebb8d23fd0000000000000000000000003ab26229b223e5bb9202de8c76ee169749d98f6a0000000000000000000000009b75dedc991e833e7fb13d9da2916a4a01adb65d000000000000000000000000ea89f597ad2315d75c91e08d2e4e3e1742dfc32a0000000000000000000000003b3b747aae49becb89b60c965400f0631d56fb5a000000000000000000000000ec0bf38c27e01db8e7d14cd0477a250a90a5d4aa000000000000000000000000516fdd279d2ac97bd7df16a34bb70905a0764bf0000000000000000000000000adf18d1b8a638f0c7e010902b238122df86e6d350000000000000000000000002a76dae7b10583964c551f719919d12a685218b6000000000000000000000000b148d626245bdd8cf0ef8bde82de71b51d30d481000000000000000000000000b9ee31f0edb828754ea3d6a58520444841fff3610000000000000000000000004099ef095e75a5f3dd90f852ef81703b7e3b486400000000000000000000000001390192e7c025730a4426b12af78c23a548e10a000000000000000000000000761210395a870290b00d053a987089b443c102fc00000000000000000000000048c135036976cc6f535e748d85f50e699d36117f00000000000000000000000066d0e830c96a64c928d1dfd7f59f4afaab1faee00000000000000000000000007640554f93f776bfb369b25b5892283c5d4373210000000000000000000000008cd9f507ded07adbd0f6e99f15fb6a99de2d6285000000000000000000000000f6add57410671f0d028247ba202e4e8ed18526d1000000000000000000000000d4c9d0a589e87b44751012920e1aaa70cc7b9fe900000000000000000000000025be2281deb6b7e54b90e2e1e0e08c5f91a9d9b70000000000000000000000005890bedf1c84104408d8ac8238c74046eab00fbb000000000000000000000000e62a05e304d99d0dd74f8335d8ec57b294b99734000000000000000000000000a08caf92681c7e49739857c9e0a8bcf46e25054900000000000000000000000058397edd048e0f9bb4ab58d565ed04137359bf470000000000000000000000000c2b84703e2df44190b50e66e67d168b4a5a350800000000000000000000000050981b37d16f7090c0a968bd8ae9207a24b1692500000000000000000000000013192b1056ed57eaa06bb7e49d70964a668e86040000000000000000000000004cd9c5e0123111965f68d3fc60cab4ee6847dec10000000000000000000000006effd03ef62f3e6f1652f77e0082f029293db5e200000000000000000000000019756118bb02fbe245f13ee470c212056e200fe0000000000000000000000000eec8ee9d58718b4373dc8f2470d95a5a828eddad0000000000000000000000001eaed3548e752bcaf48346dbce66f8d7678d715200000000000000000000000080df31a5642996d08b8e5b2a442f05376305d33500000000000000000000000080b2baa6839e7ed6d5352b6a48315a552abab5340000000000000000000000006ea5dea58401b6333cf2586c6d6043e32d72fdca000000000000000000000000c064c60c74cc6aa9f40390cc0a553512540e2d82000000000000000000000000f87e2e8be4dfe3abad1fb1923d53bacb76edd844000000000000000000000000f1e96a08e464e682f0651c3b31592e1f209ade6a0000000000000000000000003cc1a943b27c2af7c6dcf3be0137f66c2f22e71200000000000000000000000038b4d6af668fb4f95fba4a16024f48785e9f45790000000000000000000000007242bea729bd3ea78fe7a1cdf2750d6ef5d367350000000000000000000000004fc93339d5cf5c219e610f5c9ccbfe16c41325e600000000000000000000000045805989f6381418268a12bfcfc1674fbb3afa670000000000000000000000004d175082c67a3dee46b2bf3839cef3a40a886d710000000000000000000000009808b31e686600afef493292923179df565ef86d0000000000000000000000004f75a5a1f9201507f9ec0df6da15d8c8a07bbedd00000000000000000000000092b44e91e1b7cc6d25fd6b88f1cc331d8e34af1c0000000000000000000000005625fb2e22bda2b2fb7848bf5f2ec2ea2ac4001c000000000000000000000000ab8d9baa3e98fb64c6271df59555258175d0a43700000000000000000000000062298dfdc6d0768964ceb32df36b1b00509717bf000000000000000000000000da7d76944d68423abd74e6b1af13798c740d7349000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d00000000000000000000000000000000000000000000000000000006ca0b5c2a70000000000000000000000000000000000000000000000000000006133c6690e0000000000000000000000000000000000000000000000000000005bdbf76c62a560000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a40000000000000000000000000000000000000000000000000000000581b77f66e0000000000000000000000000000000000000000000000000000005666e940f00000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000004f69068c050000000000000000000000000000000000000000000000000000004f084ca78a49c0000000000000000000000000000000000000000000000000004e5e86df120770000000000000000000000000000000000000000000000000004d975d41e50000000000000000000000000000000000000000000000000000004cbd15e7260000000000000000000000000000000000000000000000000000004a463bfd216a90000000000000000000000000000000000000000000000000004584c0ad715d800000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb00000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003da9a45fb83320000000000000000000000000000000000000000000000000003cf9098b0d6840000000000000000000000000000000000000000000000000003cd28c9e8e0000000000000000000000000000000000000000000000000000003cd28c9e8e0000000000000000000000000000000000000000000000000000003c9d73227f43000000000000000000000000000000000000000000000000000038ee728f8f10600000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x06add946e11803974883d4ec8758ccec6bade210589543058ac48e031634abdb36590cc2c17c87354bbd584d5c505b4759294f10655c1296d6868b9ab5939c391b712dfc8a7138f49d6641b3fc88f004611bb9e47ecc1ba84f3f5bd9f07c0f7c0c31f2848bda26a5398df98a9fdf994e1f6cb154f0126cfb2850da63be441b98a81b8939de58b2ec4d970ac41941060cb58ec8f7318dcbe5ef3e7d307544b4b5680f67225a5854639f085d37b9d07a5f0b2ec2487f418c930b91643daff28bec4d7f1c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x2d3b38\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc69839881000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001b84174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000f7577b736b0338ba3c1e82476242e9c49aed5669000000000000000000000000e15345ca41978e547f6e1fe97dc8a243df73b195000000000000000000000000e1d85d3101bd4761091c276007d4b1b0d21364a30000000000000000000000001be6e8c65ba7de114db61240a23dfbf3b4d28cd2000000000000000000000000075a4bd432e8e862733c8e41efb773d604f35e5c0000000000000000000000007543ae755256476f32ec2cb49c253c4e5d47b8060000000000000000000000004618a344d46132b4c9eaf43203d0f90f306e861e000000000000000000000000f1a3c278b6a8b49ac565d7f2100aff055a8ffb58000000000000000000000000dabe322271e9722ff4844efb947f16e6ba8c72c5000000000000000000000000bb50690db3897ca5b1f63cff6e0c061b93f9bfbd000000000000000000000000ab4dcbcbfe45e6dfa11f9fde2f86e0ad4140a98e0000000000000000000000006e5019c712827b5e7d30e1ada52b871582ca43490000000000000000000000007abf799978c06bc2e79ecfd982f546b45e237271000000000000000000000000e758d32e844e87592abeec8432be09726d6825e4000000000000000000000000c9a6a0241ea3ba3a421e624ea6cf9465ff6816df00000000000000000000000036d23239b35477911c489738a9ea2f7d87cb4f23000000000000000000000000d3654312f35be822222450bbf8f4706e2e47275b000000000000000000000000d1695bdedc7efacb186967e695974170495b08e000000000000000000000000012d0ced4220f5acd0b0749bda0747a2051fbb2800000000000000000000000005d4e5de26d84e43ff66592c2b38c66c3c87cdee300000000000000000000000033c888ccd7d1b861993e8bfcc12f485c1b8841fb000000000000000000000000fc9dd302795e988c16973ba5ec86a1091532f3d90000000000000000000000000fbcce7bb116f943d1340534d73b83f0aed67adf0000000000000000000000009e2d65ec85452ba115499d975fc28616a3850ac6000000000000000000000000f9a5844ac0b81bc45f448f864d484e0ef5927d5f0000000000000000000000007a47b8793497643eb997c3977afd1168a9014e2c0000000000000000000000009aec2ca1fda225b1a5966ff458b51560ba206106000000000000000000000000e6943a33a364b1aa7997f636574b127a67e7c110000000000000000000000000b798dbfdfdbc1354490273911f1a1de25f29672b00000000000000000000000052c547e8332f97b6aeec09c30bd7c0b53dcc3f91000000000000000000000000c2d3a3b40cf7581484b3dc6c663d80c2b2a999dc0000000000000000000000005a716ede0235796ac3004d4a243054f3a82342310000000000000000000000001f1ff0587805b220b6128c17618a54e1b6cefe6a000000000000000000000000e64d2b73aff7d771eff9cf9b5185a9f542aea5a5000000000000000000000000f8f15c037746e38c3508d3343d094d6ff6dbf77300000000000000000000000087d88fa9c6882cb6bd4c65f5e0766ed48ca9c8ac000000000000000000000000fb8ff1e56f2cf118d75c2a65275988dcfc327a33000000000000000000000000a50b5ca57355f128448ecb05efc2cc8973705cf50000000000000000000000005beef1abbd43a347ff32c1089d3a36de35eb3a54000000000000000000000000020cfa8d14e643658e3d21073a87667d14064678000000000000000000000000408c76c4eaa072ea64d2833cb2c2e996fd0e9ac200000000000000000000000048bc9e0175fee1316e4fa81980a396e57ab13304000000000000000000000000297822004929d4bbfefdd5934854e18036c176050000000000000000000000002d739942efe7d5c7310624f15b8fb6d80e60d6e000000000000000000000000003511ae216f13121c0e7ed09d3fa35607cfbfbcf0000000000000000000000001b4c289c4f6e0565f1e432654254485c490679e9000000000000000000000000d152926beefd40caef59040a2144980e481a59e300000000000000000000000043c718fc437d0130a3ea613e2d388c51e518ac7c000000000000000000000000390d9a55eef37581f183afff7b0d4f8ebb8d23fd0000000000000000000000003ab26229b223e5bb9202de8c76ee169749d98f6a0000000000000000000000009b75dedc991e833e7fb13d9da2916a4a01adb65d000000000000000000000000ea89f597ad2315d75c91e08d2e4e3e1742dfc32a0000000000000000000000003b3b747aae49becb89b60c965400f0631d56fb5a000000000000000000000000ec0bf38c27e01db8e7d14cd0477a250a90a5d4aa000000000000000000000000516fdd279d2ac97bd7df16a34bb70905a0764bf0000000000000000000000000adf18d1b8a638f0c7e010902b238122df86e6d350000000000000000000000002a76dae7b10583964c551f719919d12a685218b6000000000000000000000000b148d626245bdd8cf0ef8bde82de71b51d30d481000000000000000000000000b9ee31f0edb828754ea3d6a58520444841fff3610000000000000000000000004099ef095e75a5f3dd90f852ef81703b7e3b486400000000000000000000000001390192e7c025730a4426b12af78c23a548e10a000000000000000000000000761210395a870290b00d053a987089b443c102fc00000000000000000000000048c135036976cc6f535e748d85f50e699d36117f00000000000000000000000066d0e830c96a64c928d1dfd7f59f4afaab1faee00000000000000000000000007640554f93f776bfb369b25b5892283c5d4373210000000000000000000000008cd9f507ded07adbd0f6e99f15fb6a99de2d6285000000000000000000000000f6add57410671f0d028247ba202e4e8ed18526d1000000000000000000000000d4c9d0a589e87b44751012920e1aaa70cc7b9fe900000000000000000000000025be2281deb6b7e54b90e2e1e0e08c5f91a9d9b70000000000000000000000005890bedf1c84104408d8ac8238c74046eab00fbb000000000000000000000000e62a05e304d99d0dd74f8335d8ec57b294b99734000000000000000000000000a08caf92681c7e49739857c9e0a8bcf46e25054900000000000000000000000058397edd048e0f9bb4ab58d565ed04137359bf470000000000000000000000000c2b84703e2df44190b50e66e67d168b4a5a350800000000000000000000000050981b37d16f7090c0a968bd8ae9207a24b1692500000000000000000000000013192b1056ed57eaa06bb7e49d70964a668e86040000000000000000000000004cd9c5e0123111965f68d3fc60cab4ee6847dec10000000000000000000000006effd03ef62f3e6f1652f77e0082f029293db5e200000000000000000000000019756118bb02fbe245f13ee470c212056e200fe0000000000000000000000000eec8ee9d58718b4373dc8f2470d95a5a828eddad0000000000000000000000001eaed3548e752bcaf48346dbce66f8d7678d715200000000000000000000000080df31a5642996d08b8e5b2a442f05376305d33500000000000000000000000080b2baa6839e7ed6d5352b6a48315a552abab5340000000000000000000000006ea5dea58401b6333cf2586c6d6043e32d72fdca000000000000000000000000c064c60c74cc6aa9f40390cc0a553512540e2d82000000000000000000000000f87e2e8be4dfe3abad1fb1923d53bacb76edd844000000000000000000000000f1e96a08e464e682f0651c3b31592e1f209ade6a0000000000000000000000003cc1a943b27c2af7c6dcf3be0137f66c2f22e71200000000000000000000000038b4d6af668fb4f95fba4a16024f48785e9f45790000000000000000000000007242bea729bd3ea78fe7a1cdf2750d6ef5d367350000000000000000000000004fc93339d5cf5c219e610f5c9ccbfe16c41325e600000000000000000000000045805989f6381418268a12bfcfc1674fbb3afa670000000000000000000000004d175082c67a3dee46b2bf3839cef3a40a886d710000000000000000000000009808b31e686600afef493292923179df565ef86d0000000000000000000000004f75a5a1f9201507f9ec0df6da15d8c8a07bbedd00000000000000000000000092b44e91e1b7cc6d25fd6b88f1cc331d8e34af1c0000000000000000000000005625fb2e22bda2b2fb7848bf5f2ec2ea2ac4001c000000000000000000000000ab8d9baa3e98fb64c6271df59555258175d0a43700000000000000000000000062298dfdc6d0768964ceb32df36b1b00509717bf000000000000000000000000da7d76944d68423abd74e6b1af13798c740d7349000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d00000000000000000000000000000000000000000000000000000006ca0b5c2a70000000000000000000000000000000000000000000000000000006133c6690e0000000000000000000000000000000000000000000000000000005bdbf76c62a560000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a40000000000000000000000000000000000000000000000000000000581b77f66e0000000000000000000000000000000000000000000000000000005666e940f00000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000004f69068c050000000000000000000000000000000000000000000000000000004f084ca78a49c0000000000000000000000000000000000000000000000000004e5e86df120770000000000000000000000000000000000000000000000000004d975d41e50000000000000000000000000000000000000000000000000000004cbd15e7260000000000000000000000000000000000000000000000000000004a463bfd216a90000000000000000000000000000000000000000000000000004584c0ad715d800000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb00000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003da9a45fb83320000000000000000000000000000000000000000000000000003cf9098b0d6840000000000000000000000000000000000000000000000000003cd28c9e8e0000000000000000000000000000000000000000000000000000003cd28c9e8e0000000000000000000000000000000000000000000000000000003c9d73227f43000000000000000000000000000000000000000000000000000038ee728f8f10600000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c306add946e11803974883d4ec8758ccec6bade210589543058ac48e031634abdb36590cc2c17c87354bbd584d5c505b4759294f10655c1296d6868b9ab5939c391b712dfc8a7138f49d6641b3fc88f004611bb9e47ecc1ba84f3f5bd9f07c0f7c0c31f2848bda26a5398df98a9fdf994e1f6cb154f0126cfb2850da63be441b98a81b8939de58b2ec4d970ac41941060cb58ec8f7318dcbe5ef3e7d307544b4b5680f67225a5854639f085d37b9d07a5f0b2ec2487f418c930b91643daff28bec4d7f1c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x2c\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1feb9be\",\n      \"logs\": [\n        {\n          \"address\": \"0x49048044d57e1c92a77f79988d21fa8faf74e97e\",\n          \"topics\": [\n            \"0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32\",\n            \"0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167\",\n            \"0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000019cd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e848000501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000f7577b736b0338ba3c1e82476242e9c49aed5669000000000000000000000000e15345ca41978e547f6e1fe97dc8a243df73b195000000000000000000000000e1d85d3101bd4761091c276007d4b1b0d21364a30000000000000000000000001be6e8c65ba7de114db61240a23dfbf3b4d28cd2000000000000000000000000075a4bd432e8e862733c8e41efb773d604f35e5c0000000000000000000000007543ae755256476f32ec2cb49c253c4e5d47b8060000000000000000000000004618a344d46132b4c9eaf43203d0f90f306e861e000000000000000000000000f1a3c278b6a8b49ac565d7f2100aff055a8ffb58000000000000000000000000dabe322271e9722ff4844efb947f16e6ba8c72c5000000000000000000000000bb50690db3897ca5b1f63cff6e0c061b93f9bfbd000000000000000000000000ab4dcbcbfe45e6dfa11f9fde2f86e0ad4140a98e0000000000000000000000006e5019c712827b5e7d30e1ada52b871582ca43490000000000000000000000007abf799978c06bc2e79ecfd982f546b45e237271000000000000000000000000e758d32e844e87592abeec8432be09726d6825e4000000000000000000000000c9a6a0241ea3ba3a421e624ea6cf9465ff6816df00000000000000000000000036d23239b35477911c489738a9ea2f7d87cb4f23000000000000000000000000d3654312f35be822222450bbf8f4706e2e47275b000000000000000000000000d1695bdedc7efacb186967e695974170495b08e000000000000000000000000012d0ced4220f5acd0b0749bda0747a2051fbb2800000000000000000000000005d4e5de26d84e43ff66592c2b38c66c3c87cdee300000000000000000000000033c888ccd7d1b861993e8bfcc12f485c1b8841fb000000000000000000000000fc9dd302795e988c16973ba5ec86a1091532f3d90000000000000000000000000fbcce7bb116f943d1340534d73b83f0aed67adf0000000000000000000000009e2d65ec85452ba115499d975fc28616a3850ac6000000000000000000000000f9a5844ac0b81bc45f448f864d484e0ef5927d5f0000000000000000000000007a47b8793497643eb997c3977afd1168a9014e2c0000000000000000000000009aec2ca1fda225b1a5966ff458b51560ba206106000000000000000000000000e6943a33a364b1aa7997f636574b127a67e7c110000000000000000000000000b798dbfdfdbc1354490273911f1a1de25f29672b00000000000000000000000052c547e8332f97b6aeec09c30bd7c0b53dcc3f91000000000000000000000000c2d3a3b40cf7581484b3dc6c663d80c2b2a999dc0000000000000000000000005a716ede0235796ac3004d4a243054f3a82342310000000000000000000000001f1ff0587805b220b6128c17618a54e1b6cefe6a000000000000000000000000e64d2b73aff7d771eff9cf9b5185a9f542aea5a5000000000000000000000000f8f15c037746e38c3508d3343d094d6ff6dbf77300000000000000000000000087d88fa9c6882cb6bd4c65f5e0766ed48ca9c8ac000000000000000000000000fb8ff1e56f2cf118d75c2a65275988dcfc327a33000000000000000000000000a50b5ca57355f128448ecb05efc2cc8973705cf50000000000000000000000005beef1abbd43a347ff32c1089d3a36de35eb3a54000000000000000000000000020cfa8d14e643658e3d21073a87667d14064678000000000000000000000000408c76c4eaa072ea64d2833cb2c2e996fd0e9ac200000000000000000000000048bc9e0175fee1316e4fa81980a396e57ab13304000000000000000000000000297822004929d4bbfefdd5934854e18036c176050000000000000000000000002d739942efe7d5c7310624f15b8fb6d80e60d6e000000000000000000000000003511ae216f13121c0e7ed09d3fa35607cfbfbcf0000000000000000000000001b4c289c4f6e0565f1e432654254485c490679e9000000000000000000000000d152926beefd40caef59040a2144980e481a59e300000000000000000000000043c718fc437d0130a3ea613e2d388c51e518ac7c000000000000000000000000390d9a55eef37581f183afff7b0d4f8ebb8d23fd0000000000000000000000003ab26229b223e5bb9202de8c76ee169749d98f6a0000000000000000000000009b75dedc991e833e7fb13d9da2916a4a01adb65d000000000000000000000000ea89f597ad2315d75c91e08d2e4e3e1742dfc32a0000000000000000000000003b3b747aae49becb89b60c965400f0631d56fb5a000000000000000000000000ec0bf38c27e01db8e7d14cd0477a250a90a5d4aa000000000000000000000000516fdd279d2ac97bd7df16a34bb70905a0764bf0000000000000000000000000adf18d1b8a638f0c7e010902b238122df86e6d350000000000000000000000002a76dae7b10583964c551f719919d12a685218b6000000000000000000000000b148d626245bdd8cf0ef8bde82de71b51d30d481000000000000000000000000b9ee31f0edb828754ea3d6a58520444841fff3610000000000000000000000004099ef095e75a5f3dd90f852ef81703b7e3b486400000000000000000000000001390192e7c025730a4426b12af78c23a548e10a000000000000000000000000761210395a870290b00d053a987089b443c102fc00000000000000000000000048c135036976cc6f535e748d85f50e699d36117f00000000000000000000000066d0e830c96a64c928d1dfd7f59f4afaab1faee00000000000000000000000007640554f93f776bfb369b25b5892283c5d4373210000000000000000000000008cd9f507ded07adbd0f6e99f15fb6a99de2d6285000000000000000000000000f6add57410671f0d028247ba202e4e8ed18526d1000000000000000000000000d4c9d0a589e87b44751012920e1aaa70cc7b9fe900000000000000000000000025be2281deb6b7e54b90e2e1e0e08c5f91a9d9b70000000000000000000000005890bedf1c84104408d8ac8238c74046eab00fbb000000000000000000000000e62a05e304d99d0dd74f8335d8ec57b294b99734000000000000000000000000a08caf92681c7e49739857c9e0a8bcf46e25054900000000000000000000000058397edd048e0f9bb4ab58d565ed04137359bf470000000000000000000000000c2b84703e2df44190b50e66e67d168b4a5a350800000000000000000000000050981b37d16f7090c0a968bd8ae9207a24b1692500000000000000000000000013192b1056ed57eaa06bb7e49d70964a668e86040000000000000000000000004cd9c5e0123111965f68d3fc60cab4ee6847dec10000000000000000000000006effd03ef62f3e6f1652f77e0082f029293db5e200000000000000000000000019756118bb02fbe245f13ee470c212056e200fe0000000000000000000000000eec8ee9d58718b4373dc8f2470d95a5a828eddad0000000000000000000000001eaed3548e752bcaf48346dbce66f8d7678d715200000000000000000000000080df31a5642996d08b8e5b2a442f05376305d33500000000000000000000000080b2baa6839e7ed6d5352b6a48315a552abab5340000000000000000000000006ea5dea58401b6333cf2586c6d6043e32d72fdca000000000000000000000000c064c60c74cc6aa9f40390cc0a553512540e2d82000000000000000000000000f87e2e8be4dfe3abad1fb1923d53bacb76edd844000000000000000000000000f1e96a08e464e682f0651c3b31592e1f209ade6a0000000000000000000000003cc1a943b27c2af7c6dcf3be0137f66c2f22e71200000000000000000000000038b4d6af668fb4f95fba4a16024f48785e9f45790000000000000000000000007242bea729bd3ea78fe7a1cdf2750d6ef5d367350000000000000000000000004fc93339d5cf5c219e610f5c9ccbfe16c41325e600000000000000000000000045805989f6381418268a12bfcfc1674fbb3afa670000000000000000000000004d175082c67a3dee46b2bf3839cef3a40a886d710000000000000000000000009808b31e686600afef493292923179df565ef86d0000000000000000000000004f75a5a1f9201507f9ec0df6da15d8c8a07bbedd00000000000000000000000092b44e91e1b7cc6d25fd6b88f1cc331d8e34af1c0000000000000000000000005625fb2e22bda2b2fb7848bf5f2ec2ea2ac4001c000000000000000000000000ab8d9baa3e98fb64c6271df59555258175d0a43700000000000000000000000062298dfdc6d0768964ceb32df36b1b00509717bf000000000000000000000000da7d76944d68423abd74e6b1af13798c740d7349000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d00000000000000000000000000000000000000000000000000000006ca0b5c2a70000000000000000000000000000000000000000000000000000006133c6690e0000000000000000000000000000000000000000000000000000005bdbf76c62a560000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a40000000000000000000000000000000000000000000000000000000581b77f66e0000000000000000000000000000000000000000000000000000005666e940f00000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000004f69068c050000000000000000000000000000000000000000000000000000004f084ca78a49c0000000000000000000000000000000000000000000000000004e5e86df120770000000000000000000000000000000000000000000000000004d975d41e50000000000000000000000000000000000000000000000000000004cbd15e7260000000000000000000000000000000000000000000000000000004a463bfd216a90000000000000000000000000000000000000000000000000004584c0ad715d800000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb00000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003da9a45fb83320000000000000000000000000000000000000000000000000003cf9098b0d6840000000000000000000000000000000000000000000000000003cd28c9e8e0000000000000000000000000000000000000000000000000000003cd28c9e8e0000000000000000000000000000000000000000000000000000003c9d73227f43000000000000000000000000000000000000000000000000000038ee728f8f10600000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x0e48a98870bdea3c1b7f8ad197a9c7b0c2fe8d832cdc115752fc7f8184f3ec31\",\n          \"blockNumber\": \"0x15fb300\",\n          \"blockTimestamp\": \"0x688d3363\",\n          \"transactionHash\": \"0xdc7e3ecc0b169d176e21bdc13e89ad6507eda1a9e9f3ee5c4782579d09a43690\",\n          \"transactionIndex\": \"0x8c\",\n          \"logIndex\": \"0x385\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x1fb1f2114007cf566427ffa605ae33d75cc8f0438b22f3c6a275b87bb98641ba0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x0e48a98870bdea3c1b7f8ad197a9c7b0c2fe8d832cdc115752fc7f8184f3ec31\",\n          \"blockNumber\": \"0x15fb300\",\n          \"blockTimestamp\": \"0x688d3363\",\n          \"transactionHash\": \"0xdc7e3ecc0b169d176e21bdc13e89ad6507eda1a9e9f3ee5c4782579d09a43690\",\n          \"transactionIndex\": \"0x8c\",\n          \"logIndex\": \"0x386\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000004000042000000000000000000080000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000002000000400000000000000002000000000000000c0000000000000000000000000000000800000000040000000000000000000200000000000000000000000000020000000000020000a0000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xdc7e3ecc0b169d176e21bdc13e89ad6507eda1a9e9f3ee5c4782579d09a43690\",\n      \"transactionIndex\": \"0x8c\",\n      \"blockHash\": \"0x0e48a98870bdea3c1b7f8ad197a9c7b0c2fe8d832cdc115752fc7f8184f3ec31\",\n      \"blockNumber\": \"0x15fb300\",\n      \"gasUsed\": \"0x20bf26\",\n      \"effectiveGasPrice\": \"0x10bb975a\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1754084197,\n  \"chain\": 1,\n  \"commit\": \"1fa78b1\"\n}"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/records/OPStackExecuteRecovery.s.sol/1/run-1754084245.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x85403b4cced732e88106557b5ca0da5813c28e5b66278f0de18fd4cae5e3b8e9\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881\",\n        \"0\",\n        \"0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000000435dc002ef3cdce44d4120b21c86bf36f7d5909000000000000000000000000b6b44f5b3e55b9e1acc7629e04c7efaf70c46fb2000000000000000000000000c1c1619e7eb4ad0509689d4db397ec1504ef916c00000000000000000000000018ab150b48c7e0b2e52bb6618d65e791b89e3bfa000000000000000000000000d66678f6eba890aba5fcc36b93bcf8c82e69862c0000000000000000000000002c7741a41af2e9ec86a53580c2ecc5533b713de7000000000000000000000000dc4d7980cc58fd574e23964bf5033b626323b2b100000000000000000000000078cd4e8fc59ab4152099efc1f4a1988e6550530200000000000000000000000040c257a1be6aebb4b6124fceb823d6e36e36a0b5000000000000000000000000e598a2e86f2eaa7ebf4a22f5cf955b8a47878513000000000000000000000000a68ea64d500ca2978a5dd15ca9ae10a9b7e940430000000000000000000000001678a92d29d75d53dce9f79742cbc2977227afc10000000000000000000000007d265f4fe0db5a04b55d4917c17df701d004d0d70000000000000000000000009f212e4124bc143dc568b0ce3b028b0d730fd4020000000000000000000000007a5651365cc4c3dab3aa10fced70992bca19c0ec0000000000000000000000009aedd3c92c82d664609c61a6303306474515ed7e0000000000000000000000001b18006b33787f55ee60d77bb63b543a84243aa00000000000000000000000009fdc8a6d78a040e15ea08cb2ec83dfc83658b0f3000000000000000000000000ee8997717be2eb519dcc3a39f8c3fa820269442c000000000000000000000000bb0e9260b0a67b05050179bd0fabfd83bda0480b000000000000000000000000cd70d32e9b0380399fa71ed195728e66974f3cdb0000000000000000000000002d4116bc342f59f52c6154bc37679d2bb619f11a00000000000000000000000018b6690e5ccb9843a6be4afebea357c029c7b208000000000000000000000000c7020910a5ad738a721c2995a197f9e300e75939000000000000000000000000d567d8fe3c518be36460a3e7951228a60ea659ec0000000000000000000000006f82fb6991aae967e6f2761d85668d97c566fb540000000000000000000000008eb57b741e9de6a5c1ff48811711014a1663cfd500000000000000000000000058ebf196143e1179b67c4613c9e13afba1afbcdd000000000000000000000000c4b932585321f6763997cddd7d0b3ee38e9759b8000000000000000000000000840df06b064515451c26050e78fa80f03b33e5a5000000000000000000000000c86d28370fd44bba412529af429e641f67cfe2e500000000000000000000000058a39efb62bbdabcba6d0f5aef1723aede4b37b4000000000000000000000000e4e6ee168b269b2a6329358ae764398be7b1d714000000000000000000000000ab0f1b66f6d6a701efbdfe9ebaa7e2ef7bdfad7000000000000000000000000076d52a2fc4b06685fa9f87eb880d598cda5b4613000000000000000000000000da87ca0c0c2f77ca09e9107c9d5c89bf5f48e2c00000000000000000000000005a4be146ba1fd4a2bbd265db2f1a3a3cf7b77236000000000000000000000000a09c588fc202efa43d75603fb6b7a6b4d8efb2e300000000000000000000000071d48c08e14e288e1bb97fdb84d2cc385b18360900000000000000000000000063e55cdcb9451873eb774c6e66d4962a39c17386000000000000000000000000a03b7728351f0ac2a64531f6c03581c1ff0869a5000000000000000000000000e6e1f3779fbdda48583850908756ec2c2f356e5f000000000000000000000000fa2785ca21a99866e9dc597d6401fc94f1ec7b02000000000000000000000000ad9e8a415aa231fe00b51237b793245f484cc68500000000000000000000000076368ac7199d8f3ccdb62647750031194a6dcd5a000000000000000000000000067242ed93fddbe26a84fd1c5d761843f1a089be0000000000000000000000003eb5b7f40c90b2d9ed8ad3bf3b99ff450e4da81c000000000000000000000000575eef39927ec1da8630b435bdf14828b9a0db6400000000000000000000000012cac2184e9a9179619a4547c3930dea82d32f7f0000000000000000000000008dc73083df051e292112bce426fac354c850ee7c000000000000000000000000680853ded226aa96d9264019dd23f7fbd44e5c97000000000000000000000000b4f11fd6f9a4c311a9eec2dc48714547edb0853d000000000000000000000000093a57ed456b1d74d221f39535f0147bc37bad8e0000000000000000000000009a9b5e0c09c414319fbaa700a209eb3b91b19a100000000000000000000000004eb6ebcfa62792a01e5005c453f39d63493a79b800000000000000000000000098774e4a949cc16e1c08b61f938d0bb572cbcbc2000000000000000000000000ae8b37267dba554e0a5858d5d5f3a2441c8e4da20000000000000000000000002f1f2c9e865d3ec3cc0d98b2d3e1c04b8fa38d6e000000000000000000000000b7984454dafb5bea83a41460f38018fc12de6615000000000000000000000000616ce82143e534238a2d283c3a7e6d4d8d4c756b000000000000000000000000e77ab99a3768b19f281bce1f847945618e78b458000000000000000000000000e1ba123ca59adc6a52ddb854c9fc6c576d5c2e690000000000000000000000005a42962e6d406197df2cb6ae1a6a6896b440b17b000000000000000000000000eddd192cea431365093b64899c9ec149744ddd2d000000000000000000000000e3aef7cf98488f57d0544612a7615d236015a7a4000000000000000000000000a3225048b696d119c39eb6a3cadf63f6d3e6e150000000000000000000000000611dd6e54bd23557a0cf1db3027a1fed5c3c96560000000000000000000000009de8498a65a4a70793be07f58e16d1db4f6a483b000000000000000000000000c85d9793b53c34c84a2daf0d1de1fafc2f4146e60000000000000000000000009a299e6f9c966e77587928840ad53ef0fd9f5f17000000000000000000000000191148c4615beee7fdfa894ef8a611621144a4a80000000000000000000000009804cf118c7312f10cff4b97403c0ff4e3d0e06e000000000000000000000000035dc03524a158e266498d876a7258745dcab878000000000000000000000000f3fa391b361871beaea5accf886ade427d6f62c90000000000000000000000004408f4a75fc330b50ee6ab0db16610ba2364e95a0000000000000000000000007474d1d90557a9fee58cc9c50f7bebe71aca2c86000000000000000000000000c4cc7ae052bd0c401b1155d1fc736167917693b1000000000000000000000000824c2d5c92a68d4ca4b5ba41c3c3a9fac0a75442000000000000000000000000fdc79905818aa8e0ff637c2627c98b1e8b5a54b5000000000000000000000000985d4723d532745a75771f4c37331d12d79dd14c00000000000000000000000013bc74e412fb20cbfec6f3bdea54e00b8352c55b00000000000000000000000082337ef7f9d145eb40f34f4afdf3b3dc1795bbab0000000000000000000000005354fa6cab9ffc82be63544c21a5593304687982000000000000000000000000d7d4f4d454e624889bc5617f177dc0b4719bf94e0000000000000000000000008fc3f128aa09d0da1987bd8d55411fe57af3228500000000000000000000000092616db33b534e8f2c5281396cb9c1dd8847036500000000000000000000000013fb50d884a89d7234f869ee8c86fb8970000002000000000000000000000000b4f7d0536c3503f68f02a002f8b270091148e24f000000000000000000000000aeef3484bf23c2b26b29b7f160ec416ea23d084500000000000000000000000048265550dac060e6ae30cf3a656be34712d038c4000000000000000000000000546aaca4004a7caa9352a9ad0f725ddadb4145000000000000000000000000001b1d90ac8f9fd6a5864021b0b7de65803e8418610000000000000000000000001109809fe8f95144e82ee71dfb502480e61b0adc000000000000000000000000142258ae288afe8b326123e54bc50b8d5856450c0000000000000000000000007b74e1cb77a59773bf6c62cef93a7224895b8f86000000000000000000000000f242d2cffe2a578e192f350212c62727fb9485830000000000000000000000002ac2dc3ff68f5e77281515d51e029020d4b16aca0000000000000000000000004e14e857ab1b7d495a3a96c5a9f3c8785756a335000000000000000000000000163428be93a129c0e66e97a27ecf0c43c2a2b35000000000000000000000000031f25b23b8b851765c6dd33f02c4729cf91f3ac2000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x1c3516eefb9490486cef900eda89f38befd13a9515b8014648def717343a39fa1bb4dccccd46d3330947633d439fbee8fb099f9e3b2798f6b5100c6c473630be1cef46a26e90b7093845774e772a2242d2376cd3de28bfed4338ee2b0e5f9418c02985840bc2ad4025c865271ef8f8db27099ecef9aa3fbf63dd51bbc93762ebc61b8a8dc79681c51a4a4370e7a559608f15885ae139d687af4fb758446f3bc7deb06bafb522f428ee395cebfcbacd57d97c7049ba345f12debf5ece2693243cee9d1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x2fe51b\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc69839881000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001b84174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000000435dc002ef3cdce44d4120b21c86bf36f7d5909000000000000000000000000b6b44f5b3e55b9e1acc7629e04c7efaf70c46fb2000000000000000000000000c1c1619e7eb4ad0509689d4db397ec1504ef916c00000000000000000000000018ab150b48c7e0b2e52bb6618d65e791b89e3bfa000000000000000000000000d66678f6eba890aba5fcc36b93bcf8c82e69862c0000000000000000000000002c7741a41af2e9ec86a53580c2ecc5533b713de7000000000000000000000000dc4d7980cc58fd574e23964bf5033b626323b2b100000000000000000000000078cd4e8fc59ab4152099efc1f4a1988e6550530200000000000000000000000040c257a1be6aebb4b6124fceb823d6e36e36a0b5000000000000000000000000e598a2e86f2eaa7ebf4a22f5cf955b8a47878513000000000000000000000000a68ea64d500ca2978a5dd15ca9ae10a9b7e940430000000000000000000000001678a92d29d75d53dce9f79742cbc2977227afc10000000000000000000000007d265f4fe0db5a04b55d4917c17df701d004d0d70000000000000000000000009f212e4124bc143dc568b0ce3b028b0d730fd4020000000000000000000000007a5651365cc4c3dab3aa10fced70992bca19c0ec0000000000000000000000009aedd3c92c82d664609c61a6303306474515ed7e0000000000000000000000001b18006b33787f55ee60d77bb63b543a84243aa00000000000000000000000009fdc8a6d78a040e15ea08cb2ec83dfc83658b0f3000000000000000000000000ee8997717be2eb519dcc3a39f8c3fa820269442c000000000000000000000000bb0e9260b0a67b05050179bd0fabfd83bda0480b000000000000000000000000cd70d32e9b0380399fa71ed195728e66974f3cdb0000000000000000000000002d4116bc342f59f52c6154bc37679d2bb619f11a00000000000000000000000018b6690e5ccb9843a6be4afebea357c029c7b208000000000000000000000000c7020910a5ad738a721c2995a197f9e300e75939000000000000000000000000d567d8fe3c518be36460a3e7951228a60ea659ec0000000000000000000000006f82fb6991aae967e6f2761d85668d97c566fb540000000000000000000000008eb57b741e9de6a5c1ff48811711014a1663cfd500000000000000000000000058ebf196143e1179b67c4613c9e13afba1afbcdd000000000000000000000000c4b932585321f6763997cddd7d0b3ee38e9759b8000000000000000000000000840df06b064515451c26050e78fa80f03b33e5a5000000000000000000000000c86d28370fd44bba412529af429e641f67cfe2e500000000000000000000000058a39efb62bbdabcba6d0f5aef1723aede4b37b4000000000000000000000000e4e6ee168b269b2a6329358ae764398be7b1d714000000000000000000000000ab0f1b66f6d6a701efbdfe9ebaa7e2ef7bdfad7000000000000000000000000076d52a2fc4b06685fa9f87eb880d598cda5b4613000000000000000000000000da87ca0c0c2f77ca09e9107c9d5c89bf5f48e2c00000000000000000000000005a4be146ba1fd4a2bbd265db2f1a3a3cf7b77236000000000000000000000000a09c588fc202efa43d75603fb6b7a6b4d8efb2e300000000000000000000000071d48c08e14e288e1bb97fdb84d2cc385b18360900000000000000000000000063e55cdcb9451873eb774c6e66d4962a39c17386000000000000000000000000a03b7728351f0ac2a64531f6c03581c1ff0869a5000000000000000000000000e6e1f3779fbdda48583850908756ec2c2f356e5f000000000000000000000000fa2785ca21a99866e9dc597d6401fc94f1ec7b02000000000000000000000000ad9e8a415aa231fe00b51237b793245f484cc68500000000000000000000000076368ac7199d8f3ccdb62647750031194a6dcd5a000000000000000000000000067242ed93fddbe26a84fd1c5d761843f1a089be0000000000000000000000003eb5b7f40c90b2d9ed8ad3bf3b99ff450e4da81c000000000000000000000000575eef39927ec1da8630b435bdf14828b9a0db6400000000000000000000000012cac2184e9a9179619a4547c3930dea82d32f7f0000000000000000000000008dc73083df051e292112bce426fac354c850ee7c000000000000000000000000680853ded226aa96d9264019dd23f7fbd44e5c97000000000000000000000000b4f11fd6f9a4c311a9eec2dc48714547edb0853d000000000000000000000000093a57ed456b1d74d221f39535f0147bc37bad8e0000000000000000000000009a9b5e0c09c414319fbaa700a209eb3b91b19a100000000000000000000000004eb6ebcfa62792a01e5005c453f39d63493a79b800000000000000000000000098774e4a949cc16e1c08b61f938d0bb572cbcbc2000000000000000000000000ae8b37267dba554e0a5858d5d5f3a2441c8e4da20000000000000000000000002f1f2c9e865d3ec3cc0d98b2d3e1c04b8fa38d6e000000000000000000000000b7984454dafb5bea83a41460f38018fc12de6615000000000000000000000000616ce82143e534238a2d283c3a7e6d4d8d4c756b000000000000000000000000e77ab99a3768b19f281bce1f847945618e78b458000000000000000000000000e1ba123ca59adc6a52ddb854c9fc6c576d5c2e690000000000000000000000005a42962e6d406197df2cb6ae1a6a6896b440b17b000000000000000000000000eddd192cea431365093b64899c9ec149744ddd2d000000000000000000000000e3aef7cf98488f57d0544612a7615d236015a7a4000000000000000000000000a3225048b696d119c39eb6a3cadf63f6d3e6e150000000000000000000000000611dd6e54bd23557a0cf1db3027a1fed5c3c96560000000000000000000000009de8498a65a4a70793be07f58e16d1db4f6a483b000000000000000000000000c85d9793b53c34c84a2daf0d1de1fafc2f4146e60000000000000000000000009a299e6f9c966e77587928840ad53ef0fd9f5f17000000000000000000000000191148c4615beee7fdfa894ef8a611621144a4a80000000000000000000000009804cf118c7312f10cff4b97403c0ff4e3d0e06e000000000000000000000000035dc03524a158e266498d876a7258745dcab878000000000000000000000000f3fa391b361871beaea5accf886ade427d6f62c90000000000000000000000004408f4a75fc330b50ee6ab0db16610ba2364e95a0000000000000000000000007474d1d90557a9fee58cc9c50f7bebe71aca2c86000000000000000000000000c4cc7ae052bd0c401b1155d1fc736167917693b1000000000000000000000000824c2d5c92a68d4ca4b5ba41c3c3a9fac0a75442000000000000000000000000fdc79905818aa8e0ff637c2627c98b1e8b5a54b5000000000000000000000000985d4723d532745a75771f4c37331d12d79dd14c00000000000000000000000013bc74e412fb20cbfec6f3bdea54e00b8352c55b00000000000000000000000082337ef7f9d145eb40f34f4afdf3b3dc1795bbab0000000000000000000000005354fa6cab9ffc82be63544c21a5593304687982000000000000000000000000d7d4f4d454e624889bc5617f177dc0b4719bf94e0000000000000000000000008fc3f128aa09d0da1987bd8d55411fe57af3228500000000000000000000000092616db33b534e8f2c5281396cb9c1dd8847036500000000000000000000000013fb50d884a89d7234f869ee8c86fb8970000002000000000000000000000000b4f7d0536c3503f68f02a002f8b270091148e24f000000000000000000000000aeef3484bf23c2b26b29b7f160ec416ea23d084500000000000000000000000048265550dac060e6ae30cf3a656be34712d038c4000000000000000000000000546aaca4004a7caa9352a9ad0f725ddadb4145000000000000000000000000001b1d90ac8f9fd6a5864021b0b7de65803e8418610000000000000000000000001109809fe8f95144e82ee71dfb502480e61b0adc000000000000000000000000142258ae288afe8b326123e54bc50b8d5856450c0000000000000000000000007b74e1cb77a59773bf6c62cef93a7224895b8f86000000000000000000000000f242d2cffe2a578e192f350212c62727fb9485830000000000000000000000002ac2dc3ff68f5e77281515d51e029020d4b16aca0000000000000000000000004e14e857ab1b7d495a3a96c5a9f3c8785756a335000000000000000000000000163428be93a129c0e66e97a27ecf0c43c2a2b35000000000000000000000000031f25b23b8b851765c6dd33f02c4729cf91f3ac2000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c31c3516eefb9490486cef900eda89f38befd13a9515b8014648def717343a39fa1bb4dccccd46d3330947633d439fbee8fb099f9e3b2798f6b5100c6c473630be1cef46a26e90b7093845774e772a2242d2376cd3de28bfed4338ee2b0e5f9418c02985840bc2ad4025c865271ef8f8db27099ecef9aa3fbf63dd51bbc93762ebc61b8a8dc79681c51a4a4370e7a559608f15885ae139d687af4fb758446f3bc7deb06bafb522f428ee395cebfcbacd57d97c7049ba345f12debf5ece2693243cee9d1b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x2d\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xdcf02c\",\n      \"logs\": [\n        {\n          \"address\": \"0x49048044d57e1c92a77f79988d21fa8faf74e97e\",\n          \"topics\": [\n            \"0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32\",\n            \"0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167\",\n            \"0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000019cd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e848000501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000000435dc002ef3cdce44d4120b21c86bf36f7d5909000000000000000000000000b6b44f5b3e55b9e1acc7629e04c7efaf70c46fb2000000000000000000000000c1c1619e7eb4ad0509689d4db397ec1504ef916c00000000000000000000000018ab150b48c7e0b2e52bb6618d65e791b89e3bfa000000000000000000000000d66678f6eba890aba5fcc36b93bcf8c82e69862c0000000000000000000000002c7741a41af2e9ec86a53580c2ecc5533b713de7000000000000000000000000dc4d7980cc58fd574e23964bf5033b626323b2b100000000000000000000000078cd4e8fc59ab4152099efc1f4a1988e6550530200000000000000000000000040c257a1be6aebb4b6124fceb823d6e36e36a0b5000000000000000000000000e598a2e86f2eaa7ebf4a22f5cf955b8a47878513000000000000000000000000a68ea64d500ca2978a5dd15ca9ae10a9b7e940430000000000000000000000001678a92d29d75d53dce9f79742cbc2977227afc10000000000000000000000007d265f4fe0db5a04b55d4917c17df701d004d0d70000000000000000000000009f212e4124bc143dc568b0ce3b028b0d730fd4020000000000000000000000007a5651365cc4c3dab3aa10fced70992bca19c0ec0000000000000000000000009aedd3c92c82d664609c61a6303306474515ed7e0000000000000000000000001b18006b33787f55ee60d77bb63b543a84243aa00000000000000000000000009fdc8a6d78a040e15ea08cb2ec83dfc83658b0f3000000000000000000000000ee8997717be2eb519dcc3a39f8c3fa820269442c000000000000000000000000bb0e9260b0a67b05050179bd0fabfd83bda0480b000000000000000000000000cd70d32e9b0380399fa71ed195728e66974f3cdb0000000000000000000000002d4116bc342f59f52c6154bc37679d2bb619f11a00000000000000000000000018b6690e5ccb9843a6be4afebea357c029c7b208000000000000000000000000c7020910a5ad738a721c2995a197f9e300e75939000000000000000000000000d567d8fe3c518be36460a3e7951228a60ea659ec0000000000000000000000006f82fb6991aae967e6f2761d85668d97c566fb540000000000000000000000008eb57b741e9de6a5c1ff48811711014a1663cfd500000000000000000000000058ebf196143e1179b67c4613c9e13afba1afbcdd000000000000000000000000c4b932585321f6763997cddd7d0b3ee38e9759b8000000000000000000000000840df06b064515451c26050e78fa80f03b33e5a5000000000000000000000000c86d28370fd44bba412529af429e641f67cfe2e500000000000000000000000058a39efb62bbdabcba6d0f5aef1723aede4b37b4000000000000000000000000e4e6ee168b269b2a6329358ae764398be7b1d714000000000000000000000000ab0f1b66f6d6a701efbdfe9ebaa7e2ef7bdfad7000000000000000000000000076d52a2fc4b06685fa9f87eb880d598cda5b4613000000000000000000000000da87ca0c0c2f77ca09e9107c9d5c89bf5f48e2c00000000000000000000000005a4be146ba1fd4a2bbd265db2f1a3a3cf7b77236000000000000000000000000a09c588fc202efa43d75603fb6b7a6b4d8efb2e300000000000000000000000071d48c08e14e288e1bb97fdb84d2cc385b18360900000000000000000000000063e55cdcb9451873eb774c6e66d4962a39c17386000000000000000000000000a03b7728351f0ac2a64531f6c03581c1ff0869a5000000000000000000000000e6e1f3779fbdda48583850908756ec2c2f356e5f000000000000000000000000fa2785ca21a99866e9dc597d6401fc94f1ec7b02000000000000000000000000ad9e8a415aa231fe00b51237b793245f484cc68500000000000000000000000076368ac7199d8f3ccdb62647750031194a6dcd5a000000000000000000000000067242ed93fddbe26a84fd1c5d761843f1a089be0000000000000000000000003eb5b7f40c90b2d9ed8ad3bf3b99ff450e4da81c000000000000000000000000575eef39927ec1da8630b435bdf14828b9a0db6400000000000000000000000012cac2184e9a9179619a4547c3930dea82d32f7f0000000000000000000000008dc73083df051e292112bce426fac354c850ee7c000000000000000000000000680853ded226aa96d9264019dd23f7fbd44e5c97000000000000000000000000b4f11fd6f9a4c311a9eec2dc48714547edb0853d000000000000000000000000093a57ed456b1d74d221f39535f0147bc37bad8e0000000000000000000000009a9b5e0c09c414319fbaa700a209eb3b91b19a100000000000000000000000004eb6ebcfa62792a01e5005c453f39d63493a79b800000000000000000000000098774e4a949cc16e1c08b61f938d0bb572cbcbc2000000000000000000000000ae8b37267dba554e0a5858d5d5f3a2441c8e4da20000000000000000000000002f1f2c9e865d3ec3cc0d98b2d3e1c04b8fa38d6e000000000000000000000000b7984454dafb5bea83a41460f38018fc12de6615000000000000000000000000616ce82143e534238a2d283c3a7e6d4d8d4c756b000000000000000000000000e77ab99a3768b19f281bce1f847945618e78b458000000000000000000000000e1ba123ca59adc6a52ddb854c9fc6c576d5c2e690000000000000000000000005a42962e6d406197df2cb6ae1a6a6896b440b17b000000000000000000000000eddd192cea431365093b64899c9ec149744ddd2d000000000000000000000000e3aef7cf98488f57d0544612a7615d236015a7a4000000000000000000000000a3225048b696d119c39eb6a3cadf63f6d3e6e150000000000000000000000000611dd6e54bd23557a0cf1db3027a1fed5c3c96560000000000000000000000009de8498a65a4a70793be07f58e16d1db4f6a483b000000000000000000000000c85d9793b53c34c84a2daf0d1de1fafc2f4146e60000000000000000000000009a299e6f9c966e77587928840ad53ef0fd9f5f17000000000000000000000000191148c4615beee7fdfa894ef8a611621144a4a80000000000000000000000009804cf118c7312f10cff4b97403c0ff4e3d0e06e000000000000000000000000035dc03524a158e266498d876a7258745dcab878000000000000000000000000f3fa391b361871beaea5accf886ade427d6f62c90000000000000000000000004408f4a75fc330b50ee6ab0db16610ba2364e95a0000000000000000000000007474d1d90557a9fee58cc9c50f7bebe71aca2c86000000000000000000000000c4cc7ae052bd0c401b1155d1fc736167917693b1000000000000000000000000824c2d5c92a68d4ca4b5ba41c3c3a9fac0a75442000000000000000000000000fdc79905818aa8e0ff637c2627c98b1e8b5a54b5000000000000000000000000985d4723d532745a75771f4c37331d12d79dd14c00000000000000000000000013bc74e412fb20cbfec6f3bdea54e00b8352c55b00000000000000000000000082337ef7f9d145eb40f34f4afdf3b3dc1795bbab0000000000000000000000005354fa6cab9ffc82be63544c21a5593304687982000000000000000000000000d7d4f4d454e624889bc5617f177dc0b4719bf94e0000000000000000000000008fc3f128aa09d0da1987bd8d55411fe57af3228500000000000000000000000092616db33b534e8f2c5281396cb9c1dd8847036500000000000000000000000013fb50d884a89d7234f869ee8c86fb8970000002000000000000000000000000b4f7d0536c3503f68f02a002f8b270091148e24f000000000000000000000000aeef3484bf23c2b26b29b7f160ec416ea23d084500000000000000000000000048265550dac060e6ae30cf3a656be34712d038c4000000000000000000000000546aaca4004a7caa9352a9ad0f725ddadb4145000000000000000000000000001b1d90ac8f9fd6a5864021b0b7de65803e8418610000000000000000000000001109809fe8f95144e82ee71dfb502480e61b0adc000000000000000000000000142258ae288afe8b326123e54bc50b8d5856450c0000000000000000000000007b74e1cb77a59773bf6c62cef93a7224895b8f86000000000000000000000000f242d2cffe2a578e192f350212c62727fb9485830000000000000000000000002ac2dc3ff68f5e77281515d51e029020d4b16aca0000000000000000000000004e14e857ab1b7d495a3a96c5a9f3c8785756a335000000000000000000000000163428be93a129c0e66e97a27ecf0c43c2a2b35000000000000000000000000031f25b23b8b851765c6dd33f02c4729cf91f3ac2000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x832f0334e29d520f7399b2a5b3f8142f48163a8790ae5f47a5188087ef51c6f5\",\n          \"blockNumber\": \"0x15fb304\",\n          \"blockTimestamp\": \"0x688d3393\",\n          \"transactionHash\": \"0x85403b4cced732e88106557b5ca0da5813c28e5b66278f0de18fd4cae5e3b8e9\",\n          \"transactionIndex\": \"0x56\",\n          \"logIndex\": \"0x1b1\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x422a35cc65d5697bbc0e04202f54ebb273fedc0d0098cdb659bf0f34d77d47dc0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x832f0334e29d520f7399b2a5b3f8142f48163a8790ae5f47a5188087ef51c6f5\",\n          \"blockNumber\": \"0x15fb304\",\n          \"blockTimestamp\": \"0x688d3393\",\n          \"transactionHash\": \"0x85403b4cced732e88106557b5ca0da5813c28e5b66278f0de18fd4cae5e3b8e9\",\n          \"transactionIndex\": \"0x56\",\n          \"logIndex\": \"0x1b2\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000004000042000000000000000000080000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000002000000400000000000000002000000000000000c0000000000000000000000000000000800000000040000000000000000000200000000000000000000000000020000000000020000a0000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x85403b4cced732e88106557b5ca0da5813c28e5b66278f0de18fd4cae5e3b8e9\",\n      \"transactionIndex\": \"0x56\",\n      \"blockHash\": \"0x832f0334e29d520f7399b2a5b3f8142f48163a8790ae5f47a5188087ef51c6f5\",\n      \"blockNumber\": \"0x15fb304\",\n      \"gasUsed\": \"0x20bfaa\",\n      \"effectiveGasPrice\": \"0x144a197f\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1754084245,\n  \"chain\": 1,\n  \"commit\": \"1fa78b1\"\n}"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/records/OPStackExecuteRecovery.s.sol/1/run-1754084306.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xab6c964b1609b34bad717dac38e1665b8ea90c3f56774b1274c53a827fcf1732\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881\",\n        \"0\",\n        \"0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000ed847ea7b5bbf0ef89113519cc9a0e152723604c00000000000000000000000073c20e0f8ed6e3772a47aa1423897c444d3e4fe9000000000000000000000000675aa1027c104c605ff7ad4aa9197c29df85d6600000000000000000000000008f8bd54b8c7dac94788ff5fb73628aff09db7f6a00000000000000000000000075e86bf157388df68e714ae31cdcbb3727fc4b93000000000000000000000000d2a2683b327954d56dd7e75120c821ba7c328f270000000000000000000000008c88393ed220d6566f9ef47cae1478bd5b45d7e4000000000000000000000000d7e9d18153de624713c18b1ca18a238c42033ea5000000000000000000000000536299004d15c40458702cda4a99a1f1eec015050000000000000000000000004e577a32c447d890c4d8a984d198c68f6204f8360000000000000000000000001056e8dd5b873be12428b8efd00b43996f81e3f7000000000000000000000000ebed72802bcfc5400b712caa56ee6db7cdcfe68300000000000000000000000024fd0fcbcd5d09a900c3c18501d1688ccb5fbf14000000000000000000000000576843032fe7c94bbce1e1e62556761008cadacc000000000000000000000000b53472b833f464189ddb27662df2a0dc96a9098500000000000000000000000016201e6cfe70a6fe2e28fff8509afbebd48f028b000000000000000000000000f6945a33ce4e9425d094e53e1467fed7ea9a89f6000000000000000000000000d5ff53f48f14e9409b581e41a4cddfe0e97dc7240000000000000000000000004a395b0efc9907a195c81564c10a985c7e9f6a15000000000000000000000000c18767749fea9fafacfd18d45896443b04ed738a00000000000000000000000031ce44f7a8a92208dfcbfca3358de9b70976a528000000000000000000000000065dbf25eed046ca437b4913c7726d34fa60c7db000000000000000000000000dfc69bb31ce173a088a860d0e66a532a1ee1504f000000000000000000000000cd6c0aea02d1857375592042474a8b2c6fdfe0ee00000000000000000000000065245cfed3ccb8299c073ad15604327c18bb5413000000000000000000000000b43207657d01ec997e85cd95b8133fc6ec0292a6000000000000000000000000d94dbf2c1fc5b4c9ca277efc7ff19da7659d9925000000000000000000000000762305a7ee4226a32e7c226b2897e7c7bc5316310000000000000000000000004d925ae054c5c8095eb80c3092cba85ac01353550000000000000000000000002b987c3a64b465d91f02fd237c601d6d9acc72600000000000000000000000005aed22bc89153d591c61d61e2325617b779353dd000000000000000000000000941e920177ff53b3aaf805fa424d4e6469fe38d8000000000000000000000000a33d4cde3660a11a57b350573989b06a7a29e5dc00000000000000000000000047a1d54f8b254aa708fd3ffc756a4c3131af6bf10000000000000000000000002fdd6ca72f6c193d26843992095bfdd01bb9abe40000000000000000000000009b7cb24f7ee022fe1c67199fcd99eae415dde47f0000000000000000000000007d7ff0c00ca185eb725a3f0c5a86c4968cf7eec8000000000000000000000000eb74d2fe5037d4497423faa07e0979a0a1896884000000000000000000000000c1bf36108f95cfe451c1b4d06243adf71dc7f618000000000000000000000000196a142872fcf4810395407c2b14f13f4f5a24da000000000000000000000000917025d0db63d06d78aceb341645d895ff011d10000000000000000000000000f25af5572b696c979fe5ab8f5837f2d79c7adb73000000000000000000000000d041e54798b9292635e7b443adf8e695165bf8220000000000000000000000003eb681420eaadbe13c1a958dc6a6c283596541260000000000000000000000001cb0846479b849e256203047b1cc838559028315000000000000000000000000cf187e2d65281f2473b11c6770db9c1fcd4da27a0000000000000000000000000b25e396b810baba459d5cc1eecffdde935368770000000000000000000000001611e8e63c55c9a063426deb3e927ba877cdc63b0000000000000000000000004acb730619bfaa6b843dcb2d8c760deffc00b115000000000000000000000000f59d84e6632e3276315c225e463fab0ca860e19d000000000000000000000000eca2a0d61f6ec5bfb41988804ec2c6465fce8e9c00000000000000000000000061101724e4dfa1e64c3647eed544fbf741e2568b0000000000000000000000005e256d28fe21a7d95c4e7548476b9de250b056ab0000000000000000000000004e3fe31a4ce71347b1730acea5f85a5f562aeed4000000000000000000000000790aed275ee4dc82ac2f8b7729b68c87330521d300000000000000000000000078c992008e8518fc2a9f00f26253e42968e79ce8000000000000000000000000a15fbe0518a44466d780fbd86ff5a6576fe5fda50000000000000000000000001cbda05add081f3c147965e9de611ea6b3f356a6000000000000000000000000f74758efc2c42777e31773c58fddb75abdca5b0b00000000000000000000000070ed1a1ef3713f3494fb93fa759d1db3a9ba1e430000000000000000000000008c0da62b2f992ec731ce92fc30b1b5227d8c14a70000000000000000000000005564fdeab81b6054fb5c08fdf7838a7a3ce2d10f000000000000000000000000939f5cd7aeb98c97806fed124b370c6830551dfd0000000000000000000000009762cb5b41c6a5e8e7449cf86aeb5b6230ee71b4000000000000000000000000724008bd0c49f7ffe5edfbe2b1c3b35a8ee1d4be000000000000000000000000db3f6c315fa914331410218919977ad7d03f5ff30000000000000000000000007bba23f927a2a3e2e23c507ffbce47a837b7cfbf000000000000000000000000303c48e228669b33d28eaef0ef4f6e0a5d1f50150000000000000000000000005bb35886f7ec42c9873b2836d2dff00bb06fad4500000000000000000000000011ed4fa723c5163366ee3c8a9e8824e81d6b3eb2000000000000000000000000651de84663589f81ef7107e15bb90fbf53f436bc000000000000000000000000d316467b48cd04113dd895d9ad8649c2cb91692f0000000000000000000000002cd7ed2b2e7141a371fad78a5c5eb28d33d9d9a200000000000000000000000027b52106c0cd7cd30c4ca8230720c2f7ea686db0000000000000000000000000fc906f00b5a1ff25babd7c2b292591b7972079850000000000000000000000002d803aac11b1e28e57680848fb6ff3900d4837440000000000000000000000003af1570c1ab012290cc4917203b31117e4a4adb1000000000000000000000000245f44d92cefff7d369677a1f6cf759f6e017d8b00000000000000000000000056d8a130de8078c33e4a3f6377af6abcdfce4b510000000000000000000000009fcbfaf1986b495a147c53e2b16c97ac9e98fc8e000000000000000000000000fc91638ca207e9d5e0f30de447656358b300720a00000000000000000000000051a4b0d25fd704f6f431e6ea3b71cbd7e3feaee0000000000000000000000000ef9d710a8b3a4c99c3974a52c0377da6389ec2700000000000000000000000007a3551feba6bcc44c136e6e778305479451c61b2000000000000000000000000987972218b91c3e3127948e62620d67caf4d16c7000000000000000000000000c98e65bb7648fccff1009b5e160cc878b1e30ecf000000000000000000000000306aa5853ac89099b1c92a317c61a05d1c7dbdb50000000000000000000000007f9d2edb0a75bdc7d5360b06d33fdf21e08d0eaa0000000000000000000000001bda0a00d113eee140757aa5603c7cca1529515300000000000000000000000059a999ba2f390cb13cd37a2e4ba009632c1b660400000000000000000000000026e897ccadbd161e215f5e562196775a73b842e1000000000000000000000000e08fdcdd1effb28aa64dd4ea9dbbb0b498a8e99100000000000000000000000031c4eb8260e7005aaa63d8093699f236ed9bff5900000000000000000000000098c208bcdde8a2ad8a31c70d50a465ed4b864c4a000000000000000000000000c758b8bf1d2b8a9eaced09894111d809eceac4120000000000000000000000002b83da50c013c6e5753c76e5b6aea4252ecea9f7000000000000000000000000c788027714a45b917658f58348f962652e9fd4c00000000000000000000000000f840f2986f0651a6cacf83a393eaa3e155311e3000000000000000000000000425bba4000f568f9580227a479fd27fa7f2fbda30000000000000000000000009e384d3393b225a145bffb709ebc88eb8292a5f3000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000003837d81aed0000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x56ab6e4a3a37fee3b876b685d85c4ea6726a0093c84dafc37137e5d4c7af23d92cdd258f06044a421d3442cb37d6d62878554e4df9c00e01e2689d8e0ba2db6c1c49558faa83efa0d8d715d99016920ba82a217b9e524f790639bf198cb0e6674363de66a372fa30fd57fc929a05b43f9b16e9bef7ed87ce4394fe13db8a23f65b1c3f5143eacb1fd30a9670c98c2f0d3ffb6091ef03f98483111fe04f11aac3292a60ef39153a257d45dc8c09580963da023363c8a15f57134ed724cca9279a407c1c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x2d3b89\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc69839881000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001b84174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000ed847ea7b5bbf0ef89113519cc9a0e152723604c00000000000000000000000073c20e0f8ed6e3772a47aa1423897c444d3e4fe9000000000000000000000000675aa1027c104c605ff7ad4aa9197c29df85d6600000000000000000000000008f8bd54b8c7dac94788ff5fb73628aff09db7f6a00000000000000000000000075e86bf157388df68e714ae31cdcbb3727fc4b93000000000000000000000000d2a2683b327954d56dd7e75120c821ba7c328f270000000000000000000000008c88393ed220d6566f9ef47cae1478bd5b45d7e4000000000000000000000000d7e9d18153de624713c18b1ca18a238c42033ea5000000000000000000000000536299004d15c40458702cda4a99a1f1eec015050000000000000000000000004e577a32c447d890c4d8a984d198c68f6204f8360000000000000000000000001056e8dd5b873be12428b8efd00b43996f81e3f7000000000000000000000000ebed72802bcfc5400b712caa56ee6db7cdcfe68300000000000000000000000024fd0fcbcd5d09a900c3c18501d1688ccb5fbf14000000000000000000000000576843032fe7c94bbce1e1e62556761008cadacc000000000000000000000000b53472b833f464189ddb27662df2a0dc96a9098500000000000000000000000016201e6cfe70a6fe2e28fff8509afbebd48f028b000000000000000000000000f6945a33ce4e9425d094e53e1467fed7ea9a89f6000000000000000000000000d5ff53f48f14e9409b581e41a4cddfe0e97dc7240000000000000000000000004a395b0efc9907a195c81564c10a985c7e9f6a15000000000000000000000000c18767749fea9fafacfd18d45896443b04ed738a00000000000000000000000031ce44f7a8a92208dfcbfca3358de9b70976a528000000000000000000000000065dbf25eed046ca437b4913c7726d34fa60c7db000000000000000000000000dfc69bb31ce173a088a860d0e66a532a1ee1504f000000000000000000000000cd6c0aea02d1857375592042474a8b2c6fdfe0ee00000000000000000000000065245cfed3ccb8299c073ad15604327c18bb5413000000000000000000000000b43207657d01ec997e85cd95b8133fc6ec0292a6000000000000000000000000d94dbf2c1fc5b4c9ca277efc7ff19da7659d9925000000000000000000000000762305a7ee4226a32e7c226b2897e7c7bc5316310000000000000000000000004d925ae054c5c8095eb80c3092cba85ac01353550000000000000000000000002b987c3a64b465d91f02fd237c601d6d9acc72600000000000000000000000005aed22bc89153d591c61d61e2325617b779353dd000000000000000000000000941e920177ff53b3aaf805fa424d4e6469fe38d8000000000000000000000000a33d4cde3660a11a57b350573989b06a7a29e5dc00000000000000000000000047a1d54f8b254aa708fd3ffc756a4c3131af6bf10000000000000000000000002fdd6ca72f6c193d26843992095bfdd01bb9abe40000000000000000000000009b7cb24f7ee022fe1c67199fcd99eae415dde47f0000000000000000000000007d7ff0c00ca185eb725a3f0c5a86c4968cf7eec8000000000000000000000000eb74d2fe5037d4497423faa07e0979a0a1896884000000000000000000000000c1bf36108f95cfe451c1b4d06243adf71dc7f618000000000000000000000000196a142872fcf4810395407c2b14f13f4f5a24da000000000000000000000000917025d0db63d06d78aceb341645d895ff011d10000000000000000000000000f25af5572b696c979fe5ab8f5837f2d79c7adb73000000000000000000000000d041e54798b9292635e7b443adf8e695165bf8220000000000000000000000003eb681420eaadbe13c1a958dc6a6c283596541260000000000000000000000001cb0846479b849e256203047b1cc838559028315000000000000000000000000cf187e2d65281f2473b11c6770db9c1fcd4da27a0000000000000000000000000b25e396b810baba459d5cc1eecffdde935368770000000000000000000000001611e8e63c55c9a063426deb3e927ba877cdc63b0000000000000000000000004acb730619bfaa6b843dcb2d8c760deffc00b115000000000000000000000000f59d84e6632e3276315c225e463fab0ca860e19d000000000000000000000000eca2a0d61f6ec5bfb41988804ec2c6465fce8e9c00000000000000000000000061101724e4dfa1e64c3647eed544fbf741e2568b0000000000000000000000005e256d28fe21a7d95c4e7548476b9de250b056ab0000000000000000000000004e3fe31a4ce71347b1730acea5f85a5f562aeed4000000000000000000000000790aed275ee4dc82ac2f8b7729b68c87330521d300000000000000000000000078c992008e8518fc2a9f00f26253e42968e79ce8000000000000000000000000a15fbe0518a44466d780fbd86ff5a6576fe5fda50000000000000000000000001cbda05add081f3c147965e9de611ea6b3f356a6000000000000000000000000f74758efc2c42777e31773c58fddb75abdca5b0b00000000000000000000000070ed1a1ef3713f3494fb93fa759d1db3a9ba1e430000000000000000000000008c0da62b2f992ec731ce92fc30b1b5227d8c14a70000000000000000000000005564fdeab81b6054fb5c08fdf7838a7a3ce2d10f000000000000000000000000939f5cd7aeb98c97806fed124b370c6830551dfd0000000000000000000000009762cb5b41c6a5e8e7449cf86aeb5b6230ee71b4000000000000000000000000724008bd0c49f7ffe5edfbe2b1c3b35a8ee1d4be000000000000000000000000db3f6c315fa914331410218919977ad7d03f5ff30000000000000000000000007bba23f927a2a3e2e23c507ffbce47a837b7cfbf000000000000000000000000303c48e228669b33d28eaef0ef4f6e0a5d1f50150000000000000000000000005bb35886f7ec42c9873b2836d2dff00bb06fad4500000000000000000000000011ed4fa723c5163366ee3c8a9e8824e81d6b3eb2000000000000000000000000651de84663589f81ef7107e15bb90fbf53f436bc000000000000000000000000d316467b48cd04113dd895d9ad8649c2cb91692f0000000000000000000000002cd7ed2b2e7141a371fad78a5c5eb28d33d9d9a200000000000000000000000027b52106c0cd7cd30c4ca8230720c2f7ea686db0000000000000000000000000fc906f00b5a1ff25babd7c2b292591b7972079850000000000000000000000002d803aac11b1e28e57680848fb6ff3900d4837440000000000000000000000003af1570c1ab012290cc4917203b31117e4a4adb1000000000000000000000000245f44d92cefff7d369677a1f6cf759f6e017d8b00000000000000000000000056d8a130de8078c33e4a3f6377af6abcdfce4b510000000000000000000000009fcbfaf1986b495a147c53e2b16c97ac9e98fc8e000000000000000000000000fc91638ca207e9d5e0f30de447656358b300720a00000000000000000000000051a4b0d25fd704f6f431e6ea3b71cbd7e3feaee0000000000000000000000000ef9d710a8b3a4c99c3974a52c0377da6389ec2700000000000000000000000007a3551feba6bcc44c136e6e778305479451c61b2000000000000000000000000987972218b91c3e3127948e62620d67caf4d16c7000000000000000000000000c98e65bb7648fccff1009b5e160cc878b1e30ecf000000000000000000000000306aa5853ac89099b1c92a317c61a05d1c7dbdb50000000000000000000000007f9d2edb0a75bdc7d5360b06d33fdf21e08d0eaa0000000000000000000000001bda0a00d113eee140757aa5603c7cca1529515300000000000000000000000059a999ba2f390cb13cd37a2e4ba009632c1b660400000000000000000000000026e897ccadbd161e215f5e562196775a73b842e1000000000000000000000000e08fdcdd1effb28aa64dd4ea9dbbb0b498a8e99100000000000000000000000031c4eb8260e7005aaa63d8093699f236ed9bff5900000000000000000000000098c208bcdde8a2ad8a31c70d50a465ed4b864c4a000000000000000000000000c758b8bf1d2b8a9eaced09894111d809eceac4120000000000000000000000002b83da50c013c6e5753c76e5b6aea4252ecea9f7000000000000000000000000c788027714a45b917658f58348f962652e9fd4c00000000000000000000000000f840f2986f0651a6cacf83a393eaa3e155311e3000000000000000000000000425bba4000f568f9580227a479fd27fa7f2fbda30000000000000000000000009e384d3393b225a145bffb709ebc88eb8292a5f3000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000003837d81aed0000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c356ab6e4a3a37fee3b876b685d85c4ea6726a0093c84dafc37137e5d4c7af23d92cdd258f06044a421d3442cb37d6d62878554e4df9c00e01e2689d8e0ba2db6c1c49558faa83efa0d8d715d99016920ba82a217b9e524f790639bf198cb0e6674363de66a372fa30fd57fc929a05b43f9b16e9bef7ed87ce4394fe13db8a23f65b1c3f5143eacb1fd30a9670c98c2f0d3ffb6091ef03f98483111fe04f11aac3292a60ef39153a257d45dc8c09580963da023363c8a15f57134ed724cca9279a407c1c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x2e\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1434282\",\n      \"logs\": [\n        {\n          \"address\": \"0x49048044d57e1c92a77f79988d21fa8faf74e97e\",\n          \"topics\": [\n            \"0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32\",\n            \"0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167\",\n            \"0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000019cd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e848000501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000ed847ea7b5bbf0ef89113519cc9a0e152723604c00000000000000000000000073c20e0f8ed6e3772a47aa1423897c444d3e4fe9000000000000000000000000675aa1027c104c605ff7ad4aa9197c29df85d6600000000000000000000000008f8bd54b8c7dac94788ff5fb73628aff09db7f6a00000000000000000000000075e86bf157388df68e714ae31cdcbb3727fc4b93000000000000000000000000d2a2683b327954d56dd7e75120c821ba7c328f270000000000000000000000008c88393ed220d6566f9ef47cae1478bd5b45d7e4000000000000000000000000d7e9d18153de624713c18b1ca18a238c42033ea5000000000000000000000000536299004d15c40458702cda4a99a1f1eec015050000000000000000000000004e577a32c447d890c4d8a984d198c68f6204f8360000000000000000000000001056e8dd5b873be12428b8efd00b43996f81e3f7000000000000000000000000ebed72802bcfc5400b712caa56ee6db7cdcfe68300000000000000000000000024fd0fcbcd5d09a900c3c18501d1688ccb5fbf14000000000000000000000000576843032fe7c94bbce1e1e62556761008cadacc000000000000000000000000b53472b833f464189ddb27662df2a0dc96a9098500000000000000000000000016201e6cfe70a6fe2e28fff8509afbebd48f028b000000000000000000000000f6945a33ce4e9425d094e53e1467fed7ea9a89f6000000000000000000000000d5ff53f48f14e9409b581e41a4cddfe0e97dc7240000000000000000000000004a395b0efc9907a195c81564c10a985c7e9f6a15000000000000000000000000c18767749fea9fafacfd18d45896443b04ed738a00000000000000000000000031ce44f7a8a92208dfcbfca3358de9b70976a528000000000000000000000000065dbf25eed046ca437b4913c7726d34fa60c7db000000000000000000000000dfc69bb31ce173a088a860d0e66a532a1ee1504f000000000000000000000000cd6c0aea02d1857375592042474a8b2c6fdfe0ee00000000000000000000000065245cfed3ccb8299c073ad15604327c18bb5413000000000000000000000000b43207657d01ec997e85cd95b8133fc6ec0292a6000000000000000000000000d94dbf2c1fc5b4c9ca277efc7ff19da7659d9925000000000000000000000000762305a7ee4226a32e7c226b2897e7c7bc5316310000000000000000000000004d925ae054c5c8095eb80c3092cba85ac01353550000000000000000000000002b987c3a64b465d91f02fd237c601d6d9acc72600000000000000000000000005aed22bc89153d591c61d61e2325617b779353dd000000000000000000000000941e920177ff53b3aaf805fa424d4e6469fe38d8000000000000000000000000a33d4cde3660a11a57b350573989b06a7a29e5dc00000000000000000000000047a1d54f8b254aa708fd3ffc756a4c3131af6bf10000000000000000000000002fdd6ca72f6c193d26843992095bfdd01bb9abe40000000000000000000000009b7cb24f7ee022fe1c67199fcd99eae415dde47f0000000000000000000000007d7ff0c00ca185eb725a3f0c5a86c4968cf7eec8000000000000000000000000eb74d2fe5037d4497423faa07e0979a0a1896884000000000000000000000000c1bf36108f95cfe451c1b4d06243adf71dc7f618000000000000000000000000196a142872fcf4810395407c2b14f13f4f5a24da000000000000000000000000917025d0db63d06d78aceb341645d895ff011d10000000000000000000000000f25af5572b696c979fe5ab8f5837f2d79c7adb73000000000000000000000000d041e54798b9292635e7b443adf8e695165bf8220000000000000000000000003eb681420eaadbe13c1a958dc6a6c283596541260000000000000000000000001cb0846479b849e256203047b1cc838559028315000000000000000000000000cf187e2d65281f2473b11c6770db9c1fcd4da27a0000000000000000000000000b25e396b810baba459d5cc1eecffdde935368770000000000000000000000001611e8e63c55c9a063426deb3e927ba877cdc63b0000000000000000000000004acb730619bfaa6b843dcb2d8c760deffc00b115000000000000000000000000f59d84e6632e3276315c225e463fab0ca860e19d000000000000000000000000eca2a0d61f6ec5bfb41988804ec2c6465fce8e9c00000000000000000000000061101724e4dfa1e64c3647eed544fbf741e2568b0000000000000000000000005e256d28fe21a7d95c4e7548476b9de250b056ab0000000000000000000000004e3fe31a4ce71347b1730acea5f85a5f562aeed4000000000000000000000000790aed275ee4dc82ac2f8b7729b68c87330521d300000000000000000000000078c992008e8518fc2a9f00f26253e42968e79ce8000000000000000000000000a15fbe0518a44466d780fbd86ff5a6576fe5fda50000000000000000000000001cbda05add081f3c147965e9de611ea6b3f356a6000000000000000000000000f74758efc2c42777e31773c58fddb75abdca5b0b00000000000000000000000070ed1a1ef3713f3494fb93fa759d1db3a9ba1e430000000000000000000000008c0da62b2f992ec731ce92fc30b1b5227d8c14a70000000000000000000000005564fdeab81b6054fb5c08fdf7838a7a3ce2d10f000000000000000000000000939f5cd7aeb98c97806fed124b370c6830551dfd0000000000000000000000009762cb5b41c6a5e8e7449cf86aeb5b6230ee71b4000000000000000000000000724008bd0c49f7ffe5edfbe2b1c3b35a8ee1d4be000000000000000000000000db3f6c315fa914331410218919977ad7d03f5ff30000000000000000000000007bba23f927a2a3e2e23c507ffbce47a837b7cfbf000000000000000000000000303c48e228669b33d28eaef0ef4f6e0a5d1f50150000000000000000000000005bb35886f7ec42c9873b2836d2dff00bb06fad4500000000000000000000000011ed4fa723c5163366ee3c8a9e8824e81d6b3eb2000000000000000000000000651de84663589f81ef7107e15bb90fbf53f436bc000000000000000000000000d316467b48cd04113dd895d9ad8649c2cb91692f0000000000000000000000002cd7ed2b2e7141a371fad78a5c5eb28d33d9d9a200000000000000000000000027b52106c0cd7cd30c4ca8230720c2f7ea686db0000000000000000000000000fc906f00b5a1ff25babd7c2b292591b7972079850000000000000000000000002d803aac11b1e28e57680848fb6ff3900d4837440000000000000000000000003af1570c1ab012290cc4917203b31117e4a4adb1000000000000000000000000245f44d92cefff7d369677a1f6cf759f6e017d8b00000000000000000000000056d8a130de8078c33e4a3f6377af6abcdfce4b510000000000000000000000009fcbfaf1986b495a147c53e2b16c97ac9e98fc8e000000000000000000000000fc91638ca207e9d5e0f30de447656358b300720a00000000000000000000000051a4b0d25fd704f6f431e6ea3b71cbd7e3feaee0000000000000000000000000ef9d710a8b3a4c99c3974a52c0377da6389ec2700000000000000000000000007a3551feba6bcc44c136e6e778305479451c61b2000000000000000000000000987972218b91c3e3127948e62620d67caf4d16c7000000000000000000000000c98e65bb7648fccff1009b5e160cc878b1e30ecf000000000000000000000000306aa5853ac89099b1c92a317c61a05d1c7dbdb50000000000000000000000007f9d2edb0a75bdc7d5360b06d33fdf21e08d0eaa0000000000000000000000001bda0a00d113eee140757aa5603c7cca1529515300000000000000000000000059a999ba2f390cb13cd37a2e4ba009632c1b660400000000000000000000000026e897ccadbd161e215f5e562196775a73b842e1000000000000000000000000e08fdcdd1effb28aa64dd4ea9dbbb0b498a8e99100000000000000000000000031c4eb8260e7005aaa63d8093699f236ed9bff5900000000000000000000000098c208bcdde8a2ad8a31c70d50a465ed4b864c4a000000000000000000000000c758b8bf1d2b8a9eaced09894111d809eceac4120000000000000000000000002b83da50c013c6e5753c76e5b6aea4252ecea9f7000000000000000000000000c788027714a45b917658f58348f962652e9fd4c00000000000000000000000000f840f2986f0651a6cacf83a393eaa3e155311e3000000000000000000000000425bba4000f568f9580227a479fd27fa7f2fbda30000000000000000000000009e384d3393b225a145bffb709ebc88eb8292a5f3000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000003837d81aed0000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c400000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xd032fd627d800f3e3dd4b1134a0f3c0557a72bb4cdbe94d3a8017f932f897308\",\n          \"blockNumber\": \"0x15fb308\",\n          \"blockTimestamp\": \"0x688d33cf\",\n          \"transactionHash\": \"0xab6c964b1609b34bad717dac38e1665b8ea90c3f56774b1274c53a827fcf1732\",\n          \"transactionIndex\": \"0xbf\",\n          \"logIndex\": \"0x219\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xe98a37bbfa89dde233ad7cacf8a9b450f3835e75460fa09240dc8af94797831e0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xd032fd627d800f3e3dd4b1134a0f3c0557a72bb4cdbe94d3a8017f932f897308\",\n          \"blockNumber\": \"0x15fb308\",\n          \"blockTimestamp\": \"0x688d33cf\",\n          \"transactionHash\": \"0xab6c964b1609b34bad717dac38e1665b8ea90c3f56774b1274c53a827fcf1732\",\n          \"transactionIndex\": \"0xbf\",\n          \"logIndex\": \"0x21a\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000004000042000000000000000000080000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000002000000400000000000000002000000000000000c0000000000000000000000000000000800000000040000000000000000000200000000000000000000000000020000000000020000a0000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xab6c964b1609b34bad717dac38e1665b8ea90c3f56774b1274c53a827fcf1732\",\n      \"transactionIndex\": \"0xbf\",\n      \"blockHash\": \"0xd032fd627d800f3e3dd4b1134a0f3c0557a72bb4cdbe94d3a8017f932f897308\",\n      \"blockNumber\": \"0x15fb308\",\n      \"gasUsed\": \"0x20bf9f\",\n      \"effectiveGasPrice\": \"0x1530b986\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1754084306,\n  \"chain\": 1,\n  \"commit\": \"1fa78b1\"\n}"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/records/OPStackExecuteRecovery.s.sol/1/run-1754084378.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x01f8a5af31a893ab170ee365e9d3a03ead57669df6df5a42758434a8a01f1013\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881\",\n        \"0\",\n        \"0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000db59dd5a1e02645908746fd4dac69734a8559f6e00000000000000000000000025242813b143c293b09bf948542e7ce6b0c3a9d3000000000000000000000000fd34b9ef5af3567c7d0cda889b7146792da46004000000000000000000000000e2ab63c863a6020ad7e1fce1e8518766f68eef88000000000000000000000000edcae5edba43ac331ae04cce2096ca9b72dfba1b00000000000000000000000025f078dc0922e9ad4a390bac9e2f7db6b747b7cc00000000000000000000000001d0c05f9a9b74cebf8fcf2bbfa2257a507089290000000000000000000000001265522e4e6f80988a88ec6fcab4e129cf4a593e0000000000000000000000007152cdffb2ca1d06b945609bb44de862875a3fbd0000000000000000000000001909a2a8605ff743d2d935ec04601b7f2a1ef6e90000000000000000000000008220d2b586b6842ef2bf5a0c2e464924b779dfe10000000000000000000000006730e78fa5116da41347eb4fe7b9ea53f1472a680000000000000000000000005e2f09c515d8ef09855385c551a27235e8bef9a9000000000000000000000000944ca2de4be2bc5379f358b127dd003114bdd5ae000000000000000000000000b6d10e4e399f521aee33929dfa27769879ce693e00000000000000000000000011180325b253dad82be5855af67496ea2a7d207200000000000000000000000070ca07279dd9d26b5768ef92b55e652fc9e9e7a70000000000000000000000006f6078ace0ff7d6f00b2089ad37fc1209a3c49c6000000000000000000000000e772c5b0111e4fa2f16dbe4fb0806d7a936d613b000000000000000000000000b27b99879dc7069c7b036824d6ff5f7b6cab97ce00000000000000000000000015fcce1a868658d0e9270be57c212e67ffe6886f000000000000000000000000f1fd3ac9ba02ebb647428df005531c53c6e28124000000000000000000000000d0fefdef1374051d908ce9543355f145126e70f2000000000000000000000000726f49efb58a5545656931dd0c73e94fa4f11356000000000000000000000000d2f6944bb2dcd619813e8af9d1c3f36d79d63335000000000000000000000000c6628562f0cec8bb01c4ad9e3c862010806b7ea20000000000000000000000008ed294be2b9babefcb29295787b19fbcebf6ef58000000000000000000000000bfb476d5c49e3f002d9d89e01d658684d0629b9e000000000000000000000000b7012d498346216ee9df4d45a995542963e212f30000000000000000000000005d1e8b6722fc4229de9ac0fd111ea4c44a5a64b900000000000000000000000003ddef73288e36987eb1c6df6349a02775a544f40000000000000000000000005d34640eff3826b4736551e51edd75d5d8129e700000000000000000000000000d6037eb6681d5af488f26861cb7270f8e726968000000000000000000000000b866297c54f5764fb21f2d6539eecaf274f635c10000000000000000000000008f7d5e0e67f94ce5652058e7bf67a30c616b684900000000000000000000000065056f8c991847dd55dd2cc7f659271784a9745a000000000000000000000000942ee0abf4ac0552fdfd414680d883555d05d7a10000000000000000000000009cf4dbab25fd916d09f73217b6852cc2347d14ba000000000000000000000000925717a3a1b386595f22fb01dbf974ced9c1b3f1000000000000000000000000c82f4f59719bf7857a3a90b07d42de343b2bc19400000000000000000000000089a531a45dd3dd725d755cccec2d49956da896470000000000000000000000002f7f60f615a835a96a5825cc8c6daf855e1b9129000000000000000000000000759b4e1bce18c62740d9df166aac7282fe4ceab4000000000000000000000000ccdd21dd7a46d804876242a9b8ba17bcdc9d9fa0000000000000000000000000a71d3a7806db90e01f12376b8d5b595c0af95bc800000000000000000000000069b8378fe275d82b1085a9034d5a0cd71e9ca5920000000000000000000000000bc6cbf40d360007be783fbe341011d45c1db8550000000000000000000000009dd11beda19bcbfdb011c3228093cae2f026645200000000000000000000000021f0ee0e4e1078fad47c49ce4086740437cbeaf0000000000000000000000000250249f3f5d3c6860bd880ee4af0a334e0a0cba4000000000000000000000000ed3edf6c5fe600974770b5fd7d9ab25c913a752a000000000000000000000000520603cc23ddee86c87a63e18aaba2bf46e37a2d000000000000000000000000739d1b54808c309b032ce582d3175b2f0ca6a62200000000000000000000000026e1e7c3be29b1efecc072f28c72499a1303a725000000000000000000000000899dd1aa7b48bd343b502a515083e2b34c687ab9000000000000000000000000c7743958a82b51ad0fbbd239c17bfa6a7236d9d200000000000000000000000004037345df5ed2180a7fa3d25d42ad6e2c4ecab50000000000000000000000006810f97136c06ba2fe144afbe4eb97b3c783207b000000000000000000000000c032792a55e9a09a6097ad3d4d548239f9cb6d07000000000000000000000000d7eda4366b535742c679ba5d8a1919f045a5600500000000000000000000000032505addcaf7eb2b85ab391cc23e50faf15e985a000000000000000000000000e0847fbb6581987ca66e955bd6e5138a3642246a00000000000000000000000046b848b490101f44cad5304f17e3dabff81e116d000000000000000000000000312bdb6d28f34bf5c756933d500127bc8b7c719e0000000000000000000000008adbc04f0b9396c428ce246354ff347d9129eb8500000000000000000000000023787e083f1c0c858a026f0d57afc9832204b8b00000000000000000000000000d73cb6fc36c6c9ef68c9f98c461f8bb59032c49000000000000000000000000f75404a4b61cd01eb1b4939fc112512fe1c10f0e0000000000000000000000008d7de37f4f32d176242937e91af4982f284089c0000000000000000000000000ae91cb07b00d30446f0b1fa0848f0d354efdfc8a000000000000000000000000fb535d371d451fb417c7eb21299f862cc04811e4000000000000000000000000370cf245752388d43181dbda57edb3543af10c8600000000000000000000000092e25677ad5e89810836ca36981f4a3a84bad93a000000000000000000000000b01c0c14d10d7e77b470ee016f58124e61b484990000000000000000000000000a2086bdc057be62d535d2352f39b827b988247800000000000000000000000086d08566c4be8516fee3686f05a743d2e12d85ec0000000000000000000000003d09b85193d8fda1536a35351a1480ec1cf4334b00000000000000000000000093790941273227ddc5e4f29d140c614f2bab275100000000000000000000000082a46bae1ca2ea372cec64e0ffff7e6a2e1bb0f9000000000000000000000000155012b32d9881b571b3bdb5e16b5a8b44445a44000000000000000000000000d3c6a99a4d1f1cf3b74acd4f65857a20926e5481000000000000000000000000f48cbc850d4b0fa08e5075c135dee2e407405aae000000000000000000000000039434be2cf69632bf03793fe88cb9bb792f2bc3000000000000000000000000910d4d99fdfc92e9076542e8f2d2ceda4131a57a000000000000000000000000e0186fcae614de6f53f75cf3aa27d501090416590000000000000000000000004ae7357ea855f649dfd84afd7740f4c482c856ca0000000000000000000000006f99cfcd97a86b5dac4542ab5b2a2af8a9cbf567000000000000000000000000090fae9ec7d95e7fc9963a854bf3685ca6421722000000000000000000000000238603aed394b2a19efa22a6e46374949dcfb38a00000000000000000000000022a40ae5a69f40a375afc79455a98d9742bf365500000000000000000000000014c8d21949c01c277de3823443ccc3881c4652df0000000000000000000000005d155b8de2bd028f3a3a2998370cf94b27550c75000000000000000000000000e4db7b5697a1e0390d8da348c4871404440b949400000000000000000000000026500fbc806ee509b41ac6b05c0aa94f18832ba90000000000000000000000006f1723f9f3c9bef79246003020345bdf61a1dec6000000000000000000000000f0359e93c0ea71d605400865f9bc3b2fa3fb254b000000000000000000000000d5d4b8a629086a52345491a4e8164af88154c1ee000000000000000000000000f43c52438b14064618b9992fb0016a378dadd8f0000000000000000000000000f0478e1189c21ddf83f15cb7979f43442106aeaf0000000000000000000000005b13df44a1b1f596aa4ef62233511e94d74b042800000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000002e9c11f46b3a20000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002831acba5539200000000000000000000000000000000000000000000000000027ca57357c00000000000000000000000000000000000000000000000000000027ca57357c00000000000000000000000000000000000000000000000000000027ca57357c00000000000000000000000000000000000000000000000000000024f2beb1aa000000000000000000000000000000000000000000000000000000231e6b3c5c9cc000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd800000000000000000000000000000000000000000000000000000020f81c5f84000000000000000000000000000000000000000000000000000000202c624f160000000000000000000000000000000000000000000000000000001fd51291300000000000000000000000000000000000000000000000000000001fd51291300000000000000000000000000000000000000000000000000000001fd51291300000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001f06badd0c84c0000000000000000000000000000000000000000000000000001efacb36710000000000000000000000000000000000000000000000000000001ecabb16f3c860000000000000000000000000000000000000000000000000001eca5efc1ff240000000000000000000000000000000000000000000000000001ec8c45f9ec6a0000000000000000000000000000000000000000000000000001eb36672a8ec90000000000000000000000000000000000000000000000000001eb208c2dc0000000000000000000000000000000000000000000000000000001eb208c2dc0000000000000000000000000000000000000000000000000000001eb208c2dc0000000000000000000000000000000000000000000000000000001e7add996fc600000000000000000000000000000000000000000000000000001e57db6f74cfc0000000000000000000000000000000000000000000000000001e49e895d6d6c0000000000000000000000000000000000000000000000000001e23c174cbe930000000000000000000000000000000000000000000000000001e2083dbb20000000000000000000000000000000000000000000000000000001d8efef4880000000000000000000000000000000000000000000000000000001d07cf0221c000000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001c921568e98000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x72dc8ac25ece8eac1b9764afa0cada80bc05c23ed58e551f33d6dc115d09c9e6695dfbfc2bfffa362035ac2af7afc89c41d0f0a80e0cd5fc3238d4b86917fcb61bf0d13530784134cc5677178b7be940e3e9285eb37392472626521897af1f244a35ddf9c38edd0426f03ad4bb63e50f2f79b6161c3e1b345f5ece2fa7ab25d0b11cee3b2e1ef887d5b82bb209e9f0dae18978f2f646a5ee6d2a865a20bc2e1e323707183e95b897c80aae6d2403ec58f928f42973409a37c83826e6d12fdb9c59af1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x2d3ca4\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc69839881000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001b84174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000db59dd5a1e02645908746fd4dac69734a8559f6e00000000000000000000000025242813b143c293b09bf948542e7ce6b0c3a9d3000000000000000000000000fd34b9ef5af3567c7d0cda889b7146792da46004000000000000000000000000e2ab63c863a6020ad7e1fce1e8518766f68eef88000000000000000000000000edcae5edba43ac331ae04cce2096ca9b72dfba1b00000000000000000000000025f078dc0922e9ad4a390bac9e2f7db6b747b7cc00000000000000000000000001d0c05f9a9b74cebf8fcf2bbfa2257a507089290000000000000000000000001265522e4e6f80988a88ec6fcab4e129cf4a593e0000000000000000000000007152cdffb2ca1d06b945609bb44de862875a3fbd0000000000000000000000001909a2a8605ff743d2d935ec04601b7f2a1ef6e90000000000000000000000008220d2b586b6842ef2bf5a0c2e464924b779dfe10000000000000000000000006730e78fa5116da41347eb4fe7b9ea53f1472a680000000000000000000000005e2f09c515d8ef09855385c551a27235e8bef9a9000000000000000000000000944ca2de4be2bc5379f358b127dd003114bdd5ae000000000000000000000000b6d10e4e399f521aee33929dfa27769879ce693e00000000000000000000000011180325b253dad82be5855af67496ea2a7d207200000000000000000000000070ca07279dd9d26b5768ef92b55e652fc9e9e7a70000000000000000000000006f6078ace0ff7d6f00b2089ad37fc1209a3c49c6000000000000000000000000e772c5b0111e4fa2f16dbe4fb0806d7a936d613b000000000000000000000000b27b99879dc7069c7b036824d6ff5f7b6cab97ce00000000000000000000000015fcce1a868658d0e9270be57c212e67ffe6886f000000000000000000000000f1fd3ac9ba02ebb647428df005531c53c6e28124000000000000000000000000d0fefdef1374051d908ce9543355f145126e70f2000000000000000000000000726f49efb58a5545656931dd0c73e94fa4f11356000000000000000000000000d2f6944bb2dcd619813e8af9d1c3f36d79d63335000000000000000000000000c6628562f0cec8bb01c4ad9e3c862010806b7ea20000000000000000000000008ed294be2b9babefcb29295787b19fbcebf6ef58000000000000000000000000bfb476d5c49e3f002d9d89e01d658684d0629b9e000000000000000000000000b7012d498346216ee9df4d45a995542963e212f30000000000000000000000005d1e8b6722fc4229de9ac0fd111ea4c44a5a64b900000000000000000000000003ddef73288e36987eb1c6df6349a02775a544f40000000000000000000000005d34640eff3826b4736551e51edd75d5d8129e700000000000000000000000000d6037eb6681d5af488f26861cb7270f8e726968000000000000000000000000b866297c54f5764fb21f2d6539eecaf274f635c10000000000000000000000008f7d5e0e67f94ce5652058e7bf67a30c616b684900000000000000000000000065056f8c991847dd55dd2cc7f659271784a9745a000000000000000000000000942ee0abf4ac0552fdfd414680d883555d05d7a10000000000000000000000009cf4dbab25fd916d09f73217b6852cc2347d14ba000000000000000000000000925717a3a1b386595f22fb01dbf974ced9c1b3f1000000000000000000000000c82f4f59719bf7857a3a90b07d42de343b2bc19400000000000000000000000089a531a45dd3dd725d755cccec2d49956da896470000000000000000000000002f7f60f615a835a96a5825cc8c6daf855e1b9129000000000000000000000000759b4e1bce18c62740d9df166aac7282fe4ceab4000000000000000000000000ccdd21dd7a46d804876242a9b8ba17bcdc9d9fa0000000000000000000000000a71d3a7806db90e01f12376b8d5b595c0af95bc800000000000000000000000069b8378fe275d82b1085a9034d5a0cd71e9ca5920000000000000000000000000bc6cbf40d360007be783fbe341011d45c1db8550000000000000000000000009dd11beda19bcbfdb011c3228093cae2f026645200000000000000000000000021f0ee0e4e1078fad47c49ce4086740437cbeaf0000000000000000000000000250249f3f5d3c6860bd880ee4af0a334e0a0cba4000000000000000000000000ed3edf6c5fe600974770b5fd7d9ab25c913a752a000000000000000000000000520603cc23ddee86c87a63e18aaba2bf46e37a2d000000000000000000000000739d1b54808c309b032ce582d3175b2f0ca6a62200000000000000000000000026e1e7c3be29b1efecc072f28c72499a1303a725000000000000000000000000899dd1aa7b48bd343b502a515083e2b34c687ab9000000000000000000000000c7743958a82b51ad0fbbd239c17bfa6a7236d9d200000000000000000000000004037345df5ed2180a7fa3d25d42ad6e2c4ecab50000000000000000000000006810f97136c06ba2fe144afbe4eb97b3c783207b000000000000000000000000c032792a55e9a09a6097ad3d4d548239f9cb6d07000000000000000000000000d7eda4366b535742c679ba5d8a1919f045a5600500000000000000000000000032505addcaf7eb2b85ab391cc23e50faf15e985a000000000000000000000000e0847fbb6581987ca66e955bd6e5138a3642246a00000000000000000000000046b848b490101f44cad5304f17e3dabff81e116d000000000000000000000000312bdb6d28f34bf5c756933d500127bc8b7c719e0000000000000000000000008adbc04f0b9396c428ce246354ff347d9129eb8500000000000000000000000023787e083f1c0c858a026f0d57afc9832204b8b00000000000000000000000000d73cb6fc36c6c9ef68c9f98c461f8bb59032c49000000000000000000000000f75404a4b61cd01eb1b4939fc112512fe1c10f0e0000000000000000000000008d7de37f4f32d176242937e91af4982f284089c0000000000000000000000000ae91cb07b00d30446f0b1fa0848f0d354efdfc8a000000000000000000000000fb535d371d451fb417c7eb21299f862cc04811e4000000000000000000000000370cf245752388d43181dbda57edb3543af10c8600000000000000000000000092e25677ad5e89810836ca36981f4a3a84bad93a000000000000000000000000b01c0c14d10d7e77b470ee016f58124e61b484990000000000000000000000000a2086bdc057be62d535d2352f39b827b988247800000000000000000000000086d08566c4be8516fee3686f05a743d2e12d85ec0000000000000000000000003d09b85193d8fda1536a35351a1480ec1cf4334b00000000000000000000000093790941273227ddc5e4f29d140c614f2bab275100000000000000000000000082a46bae1ca2ea372cec64e0ffff7e6a2e1bb0f9000000000000000000000000155012b32d9881b571b3bdb5e16b5a8b44445a44000000000000000000000000d3c6a99a4d1f1cf3b74acd4f65857a20926e5481000000000000000000000000f48cbc850d4b0fa08e5075c135dee2e407405aae000000000000000000000000039434be2cf69632bf03793fe88cb9bb792f2bc3000000000000000000000000910d4d99fdfc92e9076542e8f2d2ceda4131a57a000000000000000000000000e0186fcae614de6f53f75cf3aa27d501090416590000000000000000000000004ae7357ea855f649dfd84afd7740f4c482c856ca0000000000000000000000006f99cfcd97a86b5dac4542ab5b2a2af8a9cbf567000000000000000000000000090fae9ec7d95e7fc9963a854bf3685ca6421722000000000000000000000000238603aed394b2a19efa22a6e46374949dcfb38a00000000000000000000000022a40ae5a69f40a375afc79455a98d9742bf365500000000000000000000000014c8d21949c01c277de3823443ccc3881c4652df0000000000000000000000005d155b8de2bd028f3a3a2998370cf94b27550c75000000000000000000000000e4db7b5697a1e0390d8da348c4871404440b949400000000000000000000000026500fbc806ee509b41ac6b05c0aa94f18832ba90000000000000000000000006f1723f9f3c9bef79246003020345bdf61a1dec6000000000000000000000000f0359e93c0ea71d605400865f9bc3b2fa3fb254b000000000000000000000000d5d4b8a629086a52345491a4e8164af88154c1ee000000000000000000000000f43c52438b14064618b9992fb0016a378dadd8f0000000000000000000000000f0478e1189c21ddf83f15cb7979f43442106aeaf0000000000000000000000005b13df44a1b1f596aa4ef62233511e94d74b042800000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000002e9c11f46b3a20000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002831acba5539200000000000000000000000000000000000000000000000000027ca57357c00000000000000000000000000000000000000000000000000000027ca57357c00000000000000000000000000000000000000000000000000000027ca57357c00000000000000000000000000000000000000000000000000000024f2beb1aa000000000000000000000000000000000000000000000000000000231e6b3c5c9cc000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd800000000000000000000000000000000000000000000000000000020f81c5f84000000000000000000000000000000000000000000000000000000202c624f160000000000000000000000000000000000000000000000000000001fd51291300000000000000000000000000000000000000000000000000000001fd51291300000000000000000000000000000000000000000000000000000001fd51291300000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001f06badd0c84c0000000000000000000000000000000000000000000000000001efacb36710000000000000000000000000000000000000000000000000000001ecabb16f3c860000000000000000000000000000000000000000000000000001eca5efc1ff240000000000000000000000000000000000000000000000000001ec8c45f9ec6a0000000000000000000000000000000000000000000000000001eb36672a8ec90000000000000000000000000000000000000000000000000001eb208c2dc0000000000000000000000000000000000000000000000000000001eb208c2dc0000000000000000000000000000000000000000000000000000001eb208c2dc0000000000000000000000000000000000000000000000000000001e7add996fc600000000000000000000000000000000000000000000000000001e57db6f74cfc0000000000000000000000000000000000000000000000000001e49e895d6d6c0000000000000000000000000000000000000000000000000001e23c174cbe930000000000000000000000000000000000000000000000000001e2083dbb20000000000000000000000000000000000000000000000000000001d8efef4880000000000000000000000000000000000000000000000000000001d07cf0221c000000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001c921568e98000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf5263400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c372dc8ac25ece8eac1b9764afa0cada80bc05c23ed58e551f33d6dc115d09c9e6695dfbfc2bfffa362035ac2af7afc89c41d0f0a80e0cd5fc3238d4b86917fcb61bf0d13530784134cc5677178b7be940e3e9285eb37392472626521897af1f244a35ddf9c38edd0426f03ad4bb63e50f2f79b6161c3e1b345f5ece2fa7ab25d0b11cee3b2e1ef887d5b82bb209e9f0dae18978f2f646a5ee6d2a865a20bc2e1e323707183e95b897c80aae6d2403ec58f928f42973409a37c83826e6d12fdb9c59af1b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x2f\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x10aea9b\",\n      \"logs\": [\n        {\n          \"address\": \"0x49048044d57e1c92a77f79988d21fa8faf74e97e\",\n          \"topics\": [\n            \"0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32\",\n            \"0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167\",\n            \"0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000019cd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e848000501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000db59dd5a1e02645908746fd4dac69734a8559f6e00000000000000000000000025242813b143c293b09bf948542e7ce6b0c3a9d3000000000000000000000000fd34b9ef5af3567c7d0cda889b7146792da46004000000000000000000000000e2ab63c863a6020ad7e1fce1e8518766f68eef88000000000000000000000000edcae5edba43ac331ae04cce2096ca9b72dfba1b00000000000000000000000025f078dc0922e9ad4a390bac9e2f7db6b747b7cc00000000000000000000000001d0c05f9a9b74cebf8fcf2bbfa2257a507089290000000000000000000000001265522e4e6f80988a88ec6fcab4e129cf4a593e0000000000000000000000007152cdffb2ca1d06b945609bb44de862875a3fbd0000000000000000000000001909a2a8605ff743d2d935ec04601b7f2a1ef6e90000000000000000000000008220d2b586b6842ef2bf5a0c2e464924b779dfe10000000000000000000000006730e78fa5116da41347eb4fe7b9ea53f1472a680000000000000000000000005e2f09c515d8ef09855385c551a27235e8bef9a9000000000000000000000000944ca2de4be2bc5379f358b127dd003114bdd5ae000000000000000000000000b6d10e4e399f521aee33929dfa27769879ce693e00000000000000000000000011180325b253dad82be5855af67496ea2a7d207200000000000000000000000070ca07279dd9d26b5768ef92b55e652fc9e9e7a70000000000000000000000006f6078ace0ff7d6f00b2089ad37fc1209a3c49c6000000000000000000000000e772c5b0111e4fa2f16dbe4fb0806d7a936d613b000000000000000000000000b27b99879dc7069c7b036824d6ff5f7b6cab97ce00000000000000000000000015fcce1a868658d0e9270be57c212e67ffe6886f000000000000000000000000f1fd3ac9ba02ebb647428df005531c53c6e28124000000000000000000000000d0fefdef1374051d908ce9543355f145126e70f2000000000000000000000000726f49efb58a5545656931dd0c73e94fa4f11356000000000000000000000000d2f6944bb2dcd619813e8af9d1c3f36d79d63335000000000000000000000000c6628562f0cec8bb01c4ad9e3c862010806b7ea20000000000000000000000008ed294be2b9babefcb29295787b19fbcebf6ef58000000000000000000000000bfb476d5c49e3f002d9d89e01d658684d0629b9e000000000000000000000000b7012d498346216ee9df4d45a995542963e212f30000000000000000000000005d1e8b6722fc4229de9ac0fd111ea4c44a5a64b900000000000000000000000003ddef73288e36987eb1c6df6349a02775a544f40000000000000000000000005d34640eff3826b4736551e51edd75d5d8129e700000000000000000000000000d6037eb6681d5af488f26861cb7270f8e726968000000000000000000000000b866297c54f5764fb21f2d6539eecaf274f635c10000000000000000000000008f7d5e0e67f94ce5652058e7bf67a30c616b684900000000000000000000000065056f8c991847dd55dd2cc7f659271784a9745a000000000000000000000000942ee0abf4ac0552fdfd414680d883555d05d7a10000000000000000000000009cf4dbab25fd916d09f73217b6852cc2347d14ba000000000000000000000000925717a3a1b386595f22fb01dbf974ced9c1b3f1000000000000000000000000c82f4f59719bf7857a3a90b07d42de343b2bc19400000000000000000000000089a531a45dd3dd725d755cccec2d49956da896470000000000000000000000002f7f60f615a835a96a5825cc8c6daf855e1b9129000000000000000000000000759b4e1bce18c62740d9df166aac7282fe4ceab4000000000000000000000000ccdd21dd7a46d804876242a9b8ba17bcdc9d9fa0000000000000000000000000a71d3a7806db90e01f12376b8d5b595c0af95bc800000000000000000000000069b8378fe275d82b1085a9034d5a0cd71e9ca5920000000000000000000000000bc6cbf40d360007be783fbe341011d45c1db8550000000000000000000000009dd11beda19bcbfdb011c3228093cae2f026645200000000000000000000000021f0ee0e4e1078fad47c49ce4086740437cbeaf0000000000000000000000000250249f3f5d3c6860bd880ee4af0a334e0a0cba4000000000000000000000000ed3edf6c5fe600974770b5fd7d9ab25c913a752a000000000000000000000000520603cc23ddee86c87a63e18aaba2bf46e37a2d000000000000000000000000739d1b54808c309b032ce582d3175b2f0ca6a62200000000000000000000000026e1e7c3be29b1efecc072f28c72499a1303a725000000000000000000000000899dd1aa7b48bd343b502a515083e2b34c687ab9000000000000000000000000c7743958a82b51ad0fbbd239c17bfa6a7236d9d200000000000000000000000004037345df5ed2180a7fa3d25d42ad6e2c4ecab50000000000000000000000006810f97136c06ba2fe144afbe4eb97b3c783207b000000000000000000000000c032792a55e9a09a6097ad3d4d548239f9cb6d07000000000000000000000000d7eda4366b535742c679ba5d8a1919f045a5600500000000000000000000000032505addcaf7eb2b85ab391cc23e50faf15e985a000000000000000000000000e0847fbb6581987ca66e955bd6e5138a3642246a00000000000000000000000046b848b490101f44cad5304f17e3dabff81e116d000000000000000000000000312bdb6d28f34bf5c756933d500127bc8b7c719e0000000000000000000000008adbc04f0b9396c428ce246354ff347d9129eb8500000000000000000000000023787e083f1c0c858a026f0d57afc9832204b8b00000000000000000000000000d73cb6fc36c6c9ef68c9f98c461f8bb59032c49000000000000000000000000f75404a4b61cd01eb1b4939fc112512fe1c10f0e0000000000000000000000008d7de37f4f32d176242937e91af4982f284089c0000000000000000000000000ae91cb07b00d30446f0b1fa0848f0d354efdfc8a000000000000000000000000fb535d371d451fb417c7eb21299f862cc04811e4000000000000000000000000370cf245752388d43181dbda57edb3543af10c8600000000000000000000000092e25677ad5e89810836ca36981f4a3a84bad93a000000000000000000000000b01c0c14d10d7e77b470ee016f58124e61b484990000000000000000000000000a2086bdc057be62d535d2352f39b827b988247800000000000000000000000086d08566c4be8516fee3686f05a743d2e12d85ec0000000000000000000000003d09b85193d8fda1536a35351a1480ec1cf4334b00000000000000000000000093790941273227ddc5e4f29d140c614f2bab275100000000000000000000000082a46bae1ca2ea372cec64e0ffff7e6a2e1bb0f9000000000000000000000000155012b32d9881b571b3bdb5e16b5a8b44445a44000000000000000000000000d3c6a99a4d1f1cf3b74acd4f65857a20926e5481000000000000000000000000f48cbc850d4b0fa08e5075c135dee2e407405aae000000000000000000000000039434be2cf69632bf03793fe88cb9bb792f2bc3000000000000000000000000910d4d99fdfc92e9076542e8f2d2ceda4131a57a000000000000000000000000e0186fcae614de6f53f75cf3aa27d501090416590000000000000000000000004ae7357ea855f649dfd84afd7740f4c482c856ca0000000000000000000000006f99cfcd97a86b5dac4542ab5b2a2af8a9cbf567000000000000000000000000090fae9ec7d95e7fc9963a854bf3685ca6421722000000000000000000000000238603aed394b2a19efa22a6e46374949dcfb38a00000000000000000000000022a40ae5a69f40a375afc79455a98d9742bf365500000000000000000000000014c8d21949c01c277de3823443ccc3881c4652df0000000000000000000000005d155b8de2bd028f3a3a2998370cf94b27550c75000000000000000000000000e4db7b5697a1e0390d8da348c4871404440b949400000000000000000000000026500fbc806ee509b41ac6b05c0aa94f18832ba90000000000000000000000006f1723f9f3c9bef79246003020345bdf61a1dec6000000000000000000000000f0359e93c0ea71d605400865f9bc3b2fa3fb254b000000000000000000000000d5d4b8a629086a52345491a4e8164af88154c1ee000000000000000000000000f43c52438b14064618b9992fb0016a378dadd8f0000000000000000000000000f0478e1189c21ddf83f15cb7979f43442106aeaf0000000000000000000000005b13df44a1b1f596aa4ef62233511e94d74b042800000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000002e9c11f46b3a20000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002831acba5539200000000000000000000000000000000000000000000000000027ca57357c00000000000000000000000000000000000000000000000000000027ca57357c00000000000000000000000000000000000000000000000000000027ca57357c00000000000000000000000000000000000000000000000000000024f2beb1aa000000000000000000000000000000000000000000000000000000231e6b3c5c9cc000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd800000000000000000000000000000000000000000000000000000020f81c5f84000000000000000000000000000000000000000000000000000000202c624f160000000000000000000000000000000000000000000000000000001fd51291300000000000000000000000000000000000000000000000000000001fd51291300000000000000000000000000000000000000000000000000000001fd51291300000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001f06badd0c84c0000000000000000000000000000000000000000000000000001efacb36710000000000000000000000000000000000000000000000000000001ecabb16f3c860000000000000000000000000000000000000000000000000001eca5efc1ff240000000000000000000000000000000000000000000000000001ec8c45f9ec6a0000000000000000000000000000000000000000000000000001eb36672a8ec90000000000000000000000000000000000000000000000000001eb208c2dc0000000000000000000000000000000000000000000000000000001eb208c2dc0000000000000000000000000000000000000000000000000000001eb208c2dc0000000000000000000000000000000000000000000000000000001e7add996fc600000000000000000000000000000000000000000000000000001e57db6f74cfc0000000000000000000000000000000000000000000000000001e49e895d6d6c0000000000000000000000000000000000000000000000000001e23c174cbe930000000000000000000000000000000000000000000000000001e2083dbb20000000000000000000000000000000000000000000000000000001d8efef4880000000000000000000000000000000000000000000000000000001d07cf0221c000000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001c921568e98000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf5263400000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x3490c2658a31e83a4bf6858d97b24e24365df74b1ad639b1e2c5024d56cc7442\",\n          \"blockNumber\": \"0x15fb30e\",\n          \"blockTimestamp\": \"0x688d3417\",\n          \"transactionHash\": \"0x01f8a5af31a893ab170ee365e9d3a03ead57669df6df5a42758434a8a01f1013\",\n          \"transactionIndex\": \"0x69\",\n          \"logIndex\": \"0x1ea\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x38cb987e4b33380a89faa13d168df79b9a40013d1e11b5a190859d8c5abde2c80000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x3490c2658a31e83a4bf6858d97b24e24365df74b1ad639b1e2c5024d56cc7442\",\n          \"blockNumber\": \"0x15fb30e\",\n          \"blockTimestamp\": \"0x688d3417\",\n          \"transactionHash\": \"0x01f8a5af31a893ab170ee365e9d3a03ead57669df6df5a42758434a8a01f1013\",\n          \"transactionIndex\": \"0x69\",\n          \"logIndex\": \"0x1eb\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000004000042000000000000000000080000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000002000000400000000000000002000000000000000c0000000000000000000000000000000800000000040000000000000000000200000000000000000000000000020000000000020000a0000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x01f8a5af31a893ab170ee365e9d3a03ead57669df6df5a42758434a8a01f1013\",\n      \"transactionIndex\": \"0x69\",\n      \"blockHash\": \"0x3490c2658a31e83a4bf6858d97b24e24365df74b1ad639b1e2c5024d56cc7442\",\n      \"blockNumber\": \"0x15fb30e\",\n      \"gasUsed\": \"0x20c02e\",\n      \"effectiveGasPrice\": \"0x11c45c21\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1754084378,\n  \"chain\": 1,\n  \"commit\": \"1fa78b1\"\n}"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/records/OPStackExecuteRecovery.s.sol/1/run-1754084425.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xe1043ef42e940aaf81a8e4f7bc8f2221dfa3c6790b93e12e4c59be3da945195f\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881\",\n        \"0\",\n        \"0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000cd7f5dc410796a4e8d7e1dca7ac20445cf2c1c8500000000000000000000000060700440491b6d13a35aa11015bfdbb4361bab5b0000000000000000000000007b88522dfb1a166c06b606ecb3ad2d9c6b7f053a000000000000000000000000684ae210cdf21b3f8181759b49d365d87d08b7c5000000000000000000000000d5817164ea1244b8ca7d18b3861fd45dcbcef3800000000000000000000000007acd95e98e978391ccc140d120be87f138d7fca0000000000000000000000000571472eb90edaf589035162cb8674fdbe0fe1b670000000000000000000000002a6336cef40dc83dd8b16bd9a2633b9d2049edf600000000000000000000000053a567d00c6438ecd68c82c0601e6c565df2101c000000000000000000000000e34c296b3a9e8caa7f72f73b2f13d9ddce4e2427000000000000000000000000059c66e8945b5d641fc16b3ee64928256fa19e6a000000000000000000000000b196f124b9881216fc9b8072c5798941201a7003000000000000000000000000e339b828125f0191ff5a6aca567db1c172e2f0d60000000000000000000000003cabf1ca6ae455ac390150bf87689eadd957ee64000000000000000000000000a3b4892f672871dc28c0aa26688f1c43f06181970000000000000000000000003bee34830a3c89b240a49633cdfae5429fb78a95000000000000000000000000f897422dbdcd47c0f30cf186cd65e53716852ef9000000000000000000000000e5b9e4a865382d4e3a7c7b8d6d29523a97be71ad000000000000000000000000afdafff6439c597b5d49c8650427681714abd40a00000000000000000000000097497498e3b651de88da1cfb50c61a8d1d8ab3a4000000000000000000000000c66308d190dacdc803e043da5cd6ecd1e2158c3a000000000000000000000000ff289b410be1c180f77d716e0f07f591139f2ddf000000000000000000000000fab738889b445d589f85727c05fcb16c935b19be0000000000000000000000001a1982a361f2746c1994a7dbc407e7c0e004afe1000000000000000000000000224636e700933193841b89c52f68a55e767fee5e0000000000000000000000004fac36db18a86dd8b17c5306e319fa608b270b58000000000000000000000000f983c9cc2816cb0a9ccade7fdafe9760a47a2cb9000000000000000000000000626d3f8aeb247dae455dad85c65fdb004f6699d000000000000000000000000095f7ba743d92fcfd728afb88fa1a62f62dc72c900000000000000000000000002345ce41c77e85f566a85a75c84f3cd15d5b8546000000000000000000000000603509391b2e0ed2992a506ac0c313fd4187b05000000000000000000000000085b17659615fe7127aea0745982e9007c1285cd10000000000000000000000006201c94d1b3df33f9a7b29e4259353b9cb4a9bec0000000000000000000000000be4bf64af045dc405f4e9bba4230607e5bef84200000000000000000000000066c40b2baafc8d56f872451ed3fe13e310e2ce3b000000000000000000000000e538b5d7a04b13778779bf05ec09e404e3057faf00000000000000000000000093a81ae13890400ff63f17d9755aeb6f47318c360000000000000000000000001b15e7c2a7faa3cb3141b1078a37076d7f08847b000000000000000000000000d197509518a20610db751c9a04eb14c3a3a1330a0000000000000000000000001bd3176a95632ec0801d4d41520926e70bfe2a8b0000000000000000000000007dbef3d6289de0575406e6e4433d9cdb58fcaa0f000000000000000000000000784c9ba7122224467a617c5f844817fbf1dfb4cf000000000000000000000000a783162ce2044ac9ac86fdae1c6088d4322ab3440000000000000000000000008bce8da512cee9191b2c3ef9aa6d894ece885b010000000000000000000000000180baa3cca07402f3d2b09b2f2437c677e56d060000000000000000000000007e3fe574e68929cef4e6a7eedea1f66d20c1c0950000000000000000000000004d399d7445e78c68b96af66ac54c8a4edc913e9b000000000000000000000000d8fdda136f9f4bd543402a714d653413cc06ec230000000000000000000000000000e4090a1c217b90256eea1915fdfcd1bbae64000000000000000000000000abd2a942d3d365563ffe8fed5e11f1d377c2d5d40000000000000000000000006b2b94b69f03f3b3a917778e610f41f1318a5bf000000000000000000000000086348eda998780459d06b940f905145b25a397ca00000000000000000000000045a139331f472c4702f1c756c0253f4c80564122000000000000000000000000ea98a37ce62f2342a3eb0ad9edd9181c383d895800000000000000000000000095d1ba73fd9d3b3a2ff491b312d5eb9f462a649a00000000000000000000000090f6e68fe4bd0634fc5c7c1612c01ba80e95f8b2000000000000000000000000926bb3319f0b27c8151931fd885a009279fe54170000000000000000000000001168dc6686f19be98917b91c8e55e81176cf0cbf000000000000000000000000c82c3b298f5f574f42cbe041d5fe5121742c6a6a0000000000000000000000005c77b0988d2fe1d1be6d8757b19b0d42d96917bb000000000000000000000000011478e8f9785eb5a8825afc9ff7524530d4f9120000000000000000000000001ed0c2113cdefa472d7841e0a21422d84d8f41fa000000000000000000000000c40409ed25b90650b1f1dfa220d96141e8b8fe03000000000000000000000000c1ec8a8a12ba56355e6a59cfc64010f165a522a000000000000000000000000063513dc903567285d3cac61e499fa1a082b78f36000000000000000000000000b17fb3a034087b011545a15ede4b8b961bf84806000000000000000000000000326a8825472bb0f4719998e708a1eeeb4473ed1b00000000000000000000000057c5b9a0320a446a4b12488727fb0d8a6c2fb71900000000000000000000000076eac5cda3d3c80232a8a7bc126f7d6652a17da7000000000000000000000000940f5293be23c4d06f9f561f2df79457d3782e1e00000000000000000000000080bb826010b8c66457bb23b34b4640db69de8f2e0000000000000000000000009b863db993d8bb0c8b6514ea056baa57e38021b9000000000000000000000000c6fb9864b3e76c69a9716f242c86d3755071d49900000000000000000000000071e6e71059f123c56b9b870b2fb763f4b743cc910000000000000000000000007edfbd2d04505e74ea6ff6c1720275a9b16a38690000000000000000000000007bf499b5944673db7c2d9a27cc3ef72ce59ae1ba00000000000000000000000048fd9ac268360bd394de9a63781010f4ab83ac880000000000000000000000003310e91b1ba34d59986baf5da78afea79607b11b000000000000000000000000e1fa108524a7369824c2c5b019d43b78a5d0afa6000000000000000000000000052d88166d15bb97b0ea58e295b1973ebfa586930000000000000000000000007bfe971084d2d56c5ba0bfcc21f754c9a10671ec000000000000000000000000b06428af321598ea54cb34e14c9df3d3b09fe625000000000000000000000000fe222bd8fcc0d6cbec595d2ee000fc4c5f91b906000000000000000000000000b3fb4369d1079dc85c10ac6366b345925df71adb000000000000000000000000540cb04ebab67e05a620b97bb367ac5e4ed68f09000000000000000000000000ef9d5de0d4b71c76b6147a6137f2978da3a73506000000000000000000000000089da3a56d0ee629d83cc301d1722ab94fb673e70000000000000000000000005e3c1a53f61e9cb9ff5fe89ac4fd8fcd3f7ea6eb00000000000000000000000080b3fd7c78157262d289fad864fd3a1c6f7fb443000000000000000000000000d5ea63c170b6a6844e51b3978361be5f28b63daa0000000000000000000000009b9928501f034139195fdda9ad43c9ec9857fe610000000000000000000000004ba85d44740d7c532e92acd171a79fb31b3224830000000000000000000000009cb720f52ac7e777e503c456da12e9670fae6ead000000000000000000000000bdb2ab7c1dfa51c389b966bc5991e37c0120b1f7000000000000000000000000344dc8824ae7ae66a3d68c81ee35da38d8918ec7000000000000000000000000bf60fe40eb2b03a9a105697804987169c5fad1840000000000000000000000000b30cf796e8815157a1e3b8434edef6da4a1d362000000000000000000000000e428a0082eedbca76a516002cc66ce5bef42efb90000000000000000000000009ebb2b1334186b5dbd1b2ae677a47fc89085115a00000000000000000000000098f830348209e806116cf0ec52774448007e41e200000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf5263400000000000000000000000000000000000000000000000000000019945ca26200000000000000000000000000000000000000000000000000000017dfcdece400000000000000000000000000000000000000000000000000000016f2e6330500000000000000000000000000000000000000000000000000000016bcc41e9000000000000000000000000000000000000000000000000000000016bcc41e9000000000000000000000000000000000000000000000000000000016bcc41e90000000000000000000000000000000000000000000000000000000153cbf358012400000000000000000000000000000000000000000000000000014f9a81ec100000000000000000000000000000000000000000000000000000012c221cc6a000000000000000000000000000000000000000000000000000000119f17fe1600000000000000000000000000000000000000000000000000000011908ab3c50000000000000000000000000000000000000000000000000000001148e073cc581000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec00000000000000000000000000000000000000000000000000000010eeb5bddfd280000000000000000000000000000000000000000000000000000fea8948980000000000000000000000000000000000000000000000000000000f5904616e0000000000000000000000000000000000000000000000000000000e8c458bcc4000000000000000000000000000000000000000000000000000000cbba106e00000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000943f651930000000000000000000000000000000000000000000000000000000820ec833f00000000000000000000000000000000000000000000000000000007872933db7d00000000000000000000000000000000000000000000000000000763bfbd2200000000000000000000000000000000000000000000000000000006e0c8204900000000000000000000000000000000000000000000000000000006d23ad5f800000000000000000000000000000000000000000000000000000006d23ad5f8000000000000000000000000000000000000000000000000000000068a315284fc800000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xabaa128cfde420231efbd798fcacabb97c6724a99c49fa96455d784f6388652f0f4ab72b304f87b29a6057c031175dfa3136b25d4f0dc5b727b7822c7598e9c41c68d6dbeb89533f7c135b4bee7611eb025fbbcb839f0be010047a10ae7f70e6642435e16b2ccaf51b2cd44c9e33331733f70e0a14fe5e468f7ac38ad35f9a43611c7d7155e3ab34da4eea7b94d79098a6bc3b2a9864960407f15479b4812782f1d333d6f6d4555082d45cc71e11c620a6c21cbc16c7fe1ea627df1b946a0c6d99001c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x2fe2e9\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc69839881000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001b84174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000cd7f5dc410796a4e8d7e1dca7ac20445cf2c1c8500000000000000000000000060700440491b6d13a35aa11015bfdbb4361bab5b0000000000000000000000007b88522dfb1a166c06b606ecb3ad2d9c6b7f053a000000000000000000000000684ae210cdf21b3f8181759b49d365d87d08b7c5000000000000000000000000d5817164ea1244b8ca7d18b3861fd45dcbcef3800000000000000000000000007acd95e98e978391ccc140d120be87f138d7fca0000000000000000000000000571472eb90edaf589035162cb8674fdbe0fe1b670000000000000000000000002a6336cef40dc83dd8b16bd9a2633b9d2049edf600000000000000000000000053a567d00c6438ecd68c82c0601e6c565df2101c000000000000000000000000e34c296b3a9e8caa7f72f73b2f13d9ddce4e2427000000000000000000000000059c66e8945b5d641fc16b3ee64928256fa19e6a000000000000000000000000b196f124b9881216fc9b8072c5798941201a7003000000000000000000000000e339b828125f0191ff5a6aca567db1c172e2f0d60000000000000000000000003cabf1ca6ae455ac390150bf87689eadd957ee64000000000000000000000000a3b4892f672871dc28c0aa26688f1c43f06181970000000000000000000000003bee34830a3c89b240a49633cdfae5429fb78a95000000000000000000000000f897422dbdcd47c0f30cf186cd65e53716852ef9000000000000000000000000e5b9e4a865382d4e3a7c7b8d6d29523a97be71ad000000000000000000000000afdafff6439c597b5d49c8650427681714abd40a00000000000000000000000097497498e3b651de88da1cfb50c61a8d1d8ab3a4000000000000000000000000c66308d190dacdc803e043da5cd6ecd1e2158c3a000000000000000000000000ff289b410be1c180f77d716e0f07f591139f2ddf000000000000000000000000fab738889b445d589f85727c05fcb16c935b19be0000000000000000000000001a1982a361f2746c1994a7dbc407e7c0e004afe1000000000000000000000000224636e700933193841b89c52f68a55e767fee5e0000000000000000000000004fac36db18a86dd8b17c5306e319fa608b270b58000000000000000000000000f983c9cc2816cb0a9ccade7fdafe9760a47a2cb9000000000000000000000000626d3f8aeb247dae455dad85c65fdb004f6699d000000000000000000000000095f7ba743d92fcfd728afb88fa1a62f62dc72c900000000000000000000000002345ce41c77e85f566a85a75c84f3cd15d5b8546000000000000000000000000603509391b2e0ed2992a506ac0c313fd4187b05000000000000000000000000085b17659615fe7127aea0745982e9007c1285cd10000000000000000000000006201c94d1b3df33f9a7b29e4259353b9cb4a9bec0000000000000000000000000be4bf64af045dc405f4e9bba4230607e5bef84200000000000000000000000066c40b2baafc8d56f872451ed3fe13e310e2ce3b000000000000000000000000e538b5d7a04b13778779bf05ec09e404e3057faf00000000000000000000000093a81ae13890400ff63f17d9755aeb6f47318c360000000000000000000000001b15e7c2a7faa3cb3141b1078a37076d7f08847b000000000000000000000000d197509518a20610db751c9a04eb14c3a3a1330a0000000000000000000000001bd3176a95632ec0801d4d41520926e70bfe2a8b0000000000000000000000007dbef3d6289de0575406e6e4433d9cdb58fcaa0f000000000000000000000000784c9ba7122224467a617c5f844817fbf1dfb4cf000000000000000000000000a783162ce2044ac9ac86fdae1c6088d4322ab3440000000000000000000000008bce8da512cee9191b2c3ef9aa6d894ece885b010000000000000000000000000180baa3cca07402f3d2b09b2f2437c677e56d060000000000000000000000007e3fe574e68929cef4e6a7eedea1f66d20c1c0950000000000000000000000004d399d7445e78c68b96af66ac54c8a4edc913e9b000000000000000000000000d8fdda136f9f4bd543402a714d653413cc06ec230000000000000000000000000000e4090a1c217b90256eea1915fdfcd1bbae64000000000000000000000000abd2a942d3d365563ffe8fed5e11f1d377c2d5d40000000000000000000000006b2b94b69f03f3b3a917778e610f41f1318a5bf000000000000000000000000086348eda998780459d06b940f905145b25a397ca00000000000000000000000045a139331f472c4702f1c756c0253f4c80564122000000000000000000000000ea98a37ce62f2342a3eb0ad9edd9181c383d895800000000000000000000000095d1ba73fd9d3b3a2ff491b312d5eb9f462a649a00000000000000000000000090f6e68fe4bd0634fc5c7c1612c01ba80e95f8b2000000000000000000000000926bb3319f0b27c8151931fd885a009279fe54170000000000000000000000001168dc6686f19be98917b91c8e55e81176cf0cbf000000000000000000000000c82c3b298f5f574f42cbe041d5fe5121742c6a6a0000000000000000000000005c77b0988d2fe1d1be6d8757b19b0d42d96917bb000000000000000000000000011478e8f9785eb5a8825afc9ff7524530d4f9120000000000000000000000001ed0c2113cdefa472d7841e0a21422d84d8f41fa000000000000000000000000c40409ed25b90650b1f1dfa220d96141e8b8fe03000000000000000000000000c1ec8a8a12ba56355e6a59cfc64010f165a522a000000000000000000000000063513dc903567285d3cac61e499fa1a082b78f36000000000000000000000000b17fb3a034087b011545a15ede4b8b961bf84806000000000000000000000000326a8825472bb0f4719998e708a1eeeb4473ed1b00000000000000000000000057c5b9a0320a446a4b12488727fb0d8a6c2fb71900000000000000000000000076eac5cda3d3c80232a8a7bc126f7d6652a17da7000000000000000000000000940f5293be23c4d06f9f561f2df79457d3782e1e00000000000000000000000080bb826010b8c66457bb23b34b4640db69de8f2e0000000000000000000000009b863db993d8bb0c8b6514ea056baa57e38021b9000000000000000000000000c6fb9864b3e76c69a9716f242c86d3755071d49900000000000000000000000071e6e71059f123c56b9b870b2fb763f4b743cc910000000000000000000000007edfbd2d04505e74ea6ff6c1720275a9b16a38690000000000000000000000007bf499b5944673db7c2d9a27cc3ef72ce59ae1ba00000000000000000000000048fd9ac268360bd394de9a63781010f4ab83ac880000000000000000000000003310e91b1ba34d59986baf5da78afea79607b11b000000000000000000000000e1fa108524a7369824c2c5b019d43b78a5d0afa6000000000000000000000000052d88166d15bb97b0ea58e295b1973ebfa586930000000000000000000000007bfe971084d2d56c5ba0bfcc21f754c9a10671ec000000000000000000000000b06428af321598ea54cb34e14c9df3d3b09fe625000000000000000000000000fe222bd8fcc0d6cbec595d2ee000fc4c5f91b906000000000000000000000000b3fb4369d1079dc85c10ac6366b345925df71adb000000000000000000000000540cb04ebab67e05a620b97bb367ac5e4ed68f09000000000000000000000000ef9d5de0d4b71c76b6147a6137f2978da3a73506000000000000000000000000089da3a56d0ee629d83cc301d1722ab94fb673e70000000000000000000000005e3c1a53f61e9cb9ff5fe89ac4fd8fcd3f7ea6eb00000000000000000000000080b3fd7c78157262d289fad864fd3a1c6f7fb443000000000000000000000000d5ea63c170b6a6844e51b3978361be5f28b63daa0000000000000000000000009b9928501f034139195fdda9ad43c9ec9857fe610000000000000000000000004ba85d44740d7c532e92acd171a79fb31b3224830000000000000000000000009cb720f52ac7e777e503c456da12e9670fae6ead000000000000000000000000bdb2ab7c1dfa51c389b966bc5991e37c0120b1f7000000000000000000000000344dc8824ae7ae66a3d68c81ee35da38d8918ec7000000000000000000000000bf60fe40eb2b03a9a105697804987169c5fad1840000000000000000000000000b30cf796e8815157a1e3b8434edef6da4a1d362000000000000000000000000e428a0082eedbca76a516002cc66ce5bef42efb90000000000000000000000009ebb2b1334186b5dbd1b2ae677a47fc89085115a00000000000000000000000098f830348209e806116cf0ec52774448007e41e200000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf5263400000000000000000000000000000000000000000000000000000019945ca26200000000000000000000000000000000000000000000000000000017dfcdece400000000000000000000000000000000000000000000000000000016f2e6330500000000000000000000000000000000000000000000000000000016bcc41e9000000000000000000000000000000000000000000000000000000016bcc41e9000000000000000000000000000000000000000000000000000000016bcc41e90000000000000000000000000000000000000000000000000000000153cbf358012400000000000000000000000000000000000000000000000000014f9a81ec100000000000000000000000000000000000000000000000000000012c221cc6a000000000000000000000000000000000000000000000000000000119f17fe1600000000000000000000000000000000000000000000000000000011908ab3c50000000000000000000000000000000000000000000000000000001148e073cc581000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec00000000000000000000000000000000000000000000000000000010eeb5bddfd280000000000000000000000000000000000000000000000000000fea8948980000000000000000000000000000000000000000000000000000000f5904616e0000000000000000000000000000000000000000000000000000000e8c458bcc4000000000000000000000000000000000000000000000000000000cbba106e00000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000943f651930000000000000000000000000000000000000000000000000000000820ec833f00000000000000000000000000000000000000000000000000000007872933db7d00000000000000000000000000000000000000000000000000000763bfbd2200000000000000000000000000000000000000000000000000000006e0c8204900000000000000000000000000000000000000000000000000000006d23ad5f800000000000000000000000000000000000000000000000000000006d23ad5f8000000000000000000000000000000000000000000000000000000068a315284fc800000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3abaa128cfde420231efbd798fcacabb97c6724a99c49fa96455d784f6388652f0f4ab72b304f87b29a6057c031175dfa3136b25d4f0dc5b727b7822c7598e9c41c68d6dbeb89533f7c135b4bee7611eb025fbbcb839f0be010047a10ae7f70e6642435e16b2ccaf51b2cd44c9e33331733f70e0a14fe5e468f7ac38ad35f9a43611c7d7155e3ab34da4eea7b94d79098a6bc3b2a9864960407f15479b4812782f1d333d6f6d4555082d45cc71e11c620a6c21cbc16c7fe1ea627df1b946a0c6d99001c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x30\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xa6c07d\",\n      \"logs\": [\n        {\n          \"address\": \"0x49048044d57e1c92a77f79988d21fa8faf74e97e\",\n          \"topics\": [\n            \"0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32\",\n            \"0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167\",\n            \"0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000019cd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e848000501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000cd7f5dc410796a4e8d7e1dca7ac20445cf2c1c8500000000000000000000000060700440491b6d13a35aa11015bfdbb4361bab5b0000000000000000000000007b88522dfb1a166c06b606ecb3ad2d9c6b7f053a000000000000000000000000684ae210cdf21b3f8181759b49d365d87d08b7c5000000000000000000000000d5817164ea1244b8ca7d18b3861fd45dcbcef3800000000000000000000000007acd95e98e978391ccc140d120be87f138d7fca0000000000000000000000000571472eb90edaf589035162cb8674fdbe0fe1b670000000000000000000000002a6336cef40dc83dd8b16bd9a2633b9d2049edf600000000000000000000000053a567d00c6438ecd68c82c0601e6c565df2101c000000000000000000000000e34c296b3a9e8caa7f72f73b2f13d9ddce4e2427000000000000000000000000059c66e8945b5d641fc16b3ee64928256fa19e6a000000000000000000000000b196f124b9881216fc9b8072c5798941201a7003000000000000000000000000e339b828125f0191ff5a6aca567db1c172e2f0d60000000000000000000000003cabf1ca6ae455ac390150bf87689eadd957ee64000000000000000000000000a3b4892f672871dc28c0aa26688f1c43f06181970000000000000000000000003bee34830a3c89b240a49633cdfae5429fb78a95000000000000000000000000f897422dbdcd47c0f30cf186cd65e53716852ef9000000000000000000000000e5b9e4a865382d4e3a7c7b8d6d29523a97be71ad000000000000000000000000afdafff6439c597b5d49c8650427681714abd40a00000000000000000000000097497498e3b651de88da1cfb50c61a8d1d8ab3a4000000000000000000000000c66308d190dacdc803e043da5cd6ecd1e2158c3a000000000000000000000000ff289b410be1c180f77d716e0f07f591139f2ddf000000000000000000000000fab738889b445d589f85727c05fcb16c935b19be0000000000000000000000001a1982a361f2746c1994a7dbc407e7c0e004afe1000000000000000000000000224636e700933193841b89c52f68a55e767fee5e0000000000000000000000004fac36db18a86dd8b17c5306e319fa608b270b58000000000000000000000000f983c9cc2816cb0a9ccade7fdafe9760a47a2cb9000000000000000000000000626d3f8aeb247dae455dad85c65fdb004f6699d000000000000000000000000095f7ba743d92fcfd728afb88fa1a62f62dc72c900000000000000000000000002345ce41c77e85f566a85a75c84f3cd15d5b8546000000000000000000000000603509391b2e0ed2992a506ac0c313fd4187b05000000000000000000000000085b17659615fe7127aea0745982e9007c1285cd10000000000000000000000006201c94d1b3df33f9a7b29e4259353b9cb4a9bec0000000000000000000000000be4bf64af045dc405f4e9bba4230607e5bef84200000000000000000000000066c40b2baafc8d56f872451ed3fe13e310e2ce3b000000000000000000000000e538b5d7a04b13778779bf05ec09e404e3057faf00000000000000000000000093a81ae13890400ff63f17d9755aeb6f47318c360000000000000000000000001b15e7c2a7faa3cb3141b1078a37076d7f08847b000000000000000000000000d197509518a20610db751c9a04eb14c3a3a1330a0000000000000000000000001bd3176a95632ec0801d4d41520926e70bfe2a8b0000000000000000000000007dbef3d6289de0575406e6e4433d9cdb58fcaa0f000000000000000000000000784c9ba7122224467a617c5f844817fbf1dfb4cf000000000000000000000000a783162ce2044ac9ac86fdae1c6088d4322ab3440000000000000000000000008bce8da512cee9191b2c3ef9aa6d894ece885b010000000000000000000000000180baa3cca07402f3d2b09b2f2437c677e56d060000000000000000000000007e3fe574e68929cef4e6a7eedea1f66d20c1c0950000000000000000000000004d399d7445e78c68b96af66ac54c8a4edc913e9b000000000000000000000000d8fdda136f9f4bd543402a714d653413cc06ec230000000000000000000000000000e4090a1c217b90256eea1915fdfcd1bbae64000000000000000000000000abd2a942d3d365563ffe8fed5e11f1d377c2d5d40000000000000000000000006b2b94b69f03f3b3a917778e610f41f1318a5bf000000000000000000000000086348eda998780459d06b940f905145b25a397ca00000000000000000000000045a139331f472c4702f1c756c0253f4c80564122000000000000000000000000ea98a37ce62f2342a3eb0ad9edd9181c383d895800000000000000000000000095d1ba73fd9d3b3a2ff491b312d5eb9f462a649a00000000000000000000000090f6e68fe4bd0634fc5c7c1612c01ba80e95f8b2000000000000000000000000926bb3319f0b27c8151931fd885a009279fe54170000000000000000000000001168dc6686f19be98917b91c8e55e81176cf0cbf000000000000000000000000c82c3b298f5f574f42cbe041d5fe5121742c6a6a0000000000000000000000005c77b0988d2fe1d1be6d8757b19b0d42d96917bb000000000000000000000000011478e8f9785eb5a8825afc9ff7524530d4f9120000000000000000000000001ed0c2113cdefa472d7841e0a21422d84d8f41fa000000000000000000000000c40409ed25b90650b1f1dfa220d96141e8b8fe03000000000000000000000000c1ec8a8a12ba56355e6a59cfc64010f165a522a000000000000000000000000063513dc903567285d3cac61e499fa1a082b78f36000000000000000000000000b17fb3a034087b011545a15ede4b8b961bf84806000000000000000000000000326a8825472bb0f4719998e708a1eeeb4473ed1b00000000000000000000000057c5b9a0320a446a4b12488727fb0d8a6c2fb71900000000000000000000000076eac5cda3d3c80232a8a7bc126f7d6652a17da7000000000000000000000000940f5293be23c4d06f9f561f2df79457d3782e1e00000000000000000000000080bb826010b8c66457bb23b34b4640db69de8f2e0000000000000000000000009b863db993d8bb0c8b6514ea056baa57e38021b9000000000000000000000000c6fb9864b3e76c69a9716f242c86d3755071d49900000000000000000000000071e6e71059f123c56b9b870b2fb763f4b743cc910000000000000000000000007edfbd2d04505e74ea6ff6c1720275a9b16a38690000000000000000000000007bf499b5944673db7c2d9a27cc3ef72ce59ae1ba00000000000000000000000048fd9ac268360bd394de9a63781010f4ab83ac880000000000000000000000003310e91b1ba34d59986baf5da78afea79607b11b000000000000000000000000e1fa108524a7369824c2c5b019d43b78a5d0afa6000000000000000000000000052d88166d15bb97b0ea58e295b1973ebfa586930000000000000000000000007bfe971084d2d56c5ba0bfcc21f754c9a10671ec000000000000000000000000b06428af321598ea54cb34e14c9df3d3b09fe625000000000000000000000000fe222bd8fcc0d6cbec595d2ee000fc4c5f91b906000000000000000000000000b3fb4369d1079dc85c10ac6366b345925df71adb000000000000000000000000540cb04ebab67e05a620b97bb367ac5e4ed68f09000000000000000000000000ef9d5de0d4b71c76b6147a6137f2978da3a73506000000000000000000000000089da3a56d0ee629d83cc301d1722ab94fb673e70000000000000000000000005e3c1a53f61e9cb9ff5fe89ac4fd8fcd3f7ea6eb00000000000000000000000080b3fd7c78157262d289fad864fd3a1c6f7fb443000000000000000000000000d5ea63c170b6a6844e51b3978361be5f28b63daa0000000000000000000000009b9928501f034139195fdda9ad43c9ec9857fe610000000000000000000000004ba85d44740d7c532e92acd171a79fb31b3224830000000000000000000000009cb720f52ac7e777e503c456da12e9670fae6ead000000000000000000000000bdb2ab7c1dfa51c389b966bc5991e37c0120b1f7000000000000000000000000344dc8824ae7ae66a3d68c81ee35da38d8918ec7000000000000000000000000bf60fe40eb2b03a9a105697804987169c5fad1840000000000000000000000000b30cf796e8815157a1e3b8434edef6da4a1d362000000000000000000000000e428a0082eedbca76a516002cc66ce5bef42efb90000000000000000000000009ebb2b1334186b5dbd1b2ae677a47fc89085115a00000000000000000000000098f830348209e806116cf0ec52774448007e41e200000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf5263400000000000000000000000000000000000000000000000000000019945ca26200000000000000000000000000000000000000000000000000000017dfcdece400000000000000000000000000000000000000000000000000000016f2e6330500000000000000000000000000000000000000000000000000000016bcc41e9000000000000000000000000000000000000000000000000000000016bcc41e9000000000000000000000000000000000000000000000000000000016bcc41e90000000000000000000000000000000000000000000000000000000153cbf358012400000000000000000000000000000000000000000000000000014f9a81ec100000000000000000000000000000000000000000000000000000012c221cc6a000000000000000000000000000000000000000000000000000000119f17fe1600000000000000000000000000000000000000000000000000000011908ab3c50000000000000000000000000000000000000000000000000000001148e073cc581000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec00000000000000000000000000000000000000000000000000000010eeb5bddfd280000000000000000000000000000000000000000000000000000fea8948980000000000000000000000000000000000000000000000000000000f5904616e0000000000000000000000000000000000000000000000000000000e8c458bcc4000000000000000000000000000000000000000000000000000000cbba106e00000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000943f651930000000000000000000000000000000000000000000000000000000820ec833f00000000000000000000000000000000000000000000000000000007872933db7d00000000000000000000000000000000000000000000000000000763bfbd2200000000000000000000000000000000000000000000000000000006e0c8204900000000000000000000000000000000000000000000000000000006d23ad5f800000000000000000000000000000000000000000000000000000006d23ad5f8000000000000000000000000000000000000000000000000000000068a315284fc800000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x22a59f2c4107234b06dad6c519deeeb1cd48a35f2308920e2f81fbcd40f189d9\",\n          \"blockNumber\": \"0x15fb312\",\n          \"blockTimestamp\": \"0x688d3447\",\n          \"transactionHash\": \"0xe1043ef42e940aaf81a8e4f7bc8f2221dfa3c6790b93e12e4c59be3da945195f\",\n          \"transactionIndex\": \"0x86\",\n          \"logIndex\": \"0xd2\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xb5d034c62f7e0e992f3e217c1a1e54266ae2df0378497ca9d48e52b8821bf8410000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x22a59f2c4107234b06dad6c519deeeb1cd48a35f2308920e2f81fbcd40f189d9\",\n          \"blockNumber\": \"0x15fb312\",\n          \"blockTimestamp\": \"0x688d3447\",\n          \"transactionHash\": \"0xe1043ef42e940aaf81a8e4f7bc8f2221dfa3c6790b93e12e4c59be3da945195f\",\n          \"transactionIndex\": \"0x86\",\n          \"logIndex\": \"0xd3\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000004000042000000000000000000080000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000002000000400000000000000002000000000000000c0000000000000000000000000000000800000000040000000000000000000200000000000000000000000000020000000000020000a0000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xe1043ef42e940aaf81a8e4f7bc8f2221dfa3c6790b93e12e4c59be3da945195f\",\n      \"transactionIndex\": \"0x86\",\n      \"blockHash\": \"0x22a59f2c4107234b06dad6c519deeeb1cd48a35f2308920e2f81fbcd40f189d9\",\n      \"blockNumber\": \"0x15fb312\",\n      \"gasUsed\": \"0x20be2a\",\n      \"effectiveGasPrice\": \"0x126e97bc\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1754084425,\n  \"chain\": 1,\n  \"commit\": \"1fa78b1\"\n}"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/records/OPStackExecuteRecovery.s.sol/1/run-1754084474.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xcabfae422769f2b4f6e2e2d8e97ad81c2dd5b2bfc3a0db224d47a12e23a32424\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881\",\n        \"0\",\n        \"0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000003fdaca3beb3079cae2cca5a484fa1781d3c83403000000000000000000000000a9a04026574f342a041dfcc76c3a20e4bff9f5e6000000000000000000000000a063a289d0bcf2f26e6ddc242cb58d1ad34e5bd000000000000000000000000094d0deec69bd67d294b78487a758cfb763c6fe27000000000000000000000000508d5484653431db879202b7ee326974ee570f83000000000000000000000000e6aeec13e8a19132678bf4d0541d99e9923f071a000000000000000000000000061eacad9b5dc7a83f4b7458753f3e1bd3947c09000000000000000000000000cf354e360ea86320dea7f832bf81093d41bc035c00000000000000000000000030ef0f115729f3110d492f2bdedf47a3a947116900000000000000000000000052f24cb949580a3fb12734222655cce34e9e1d4d000000000000000000000000e5e840cee9c90f3f8a25859552b298fcc90c200000000000000000000000000087d4a19c75ed144376ca14b1c27332513e5aaa99000000000000000000000000bc08e5a74521faaa975583e3a8acbd7f74ba3f9c000000000000000000000000204d3807481211d80c2ef467afcc6431f0dd567a000000000000000000000000186e610cc55f7a3b76bc01fdc03ce57ad60240830000000000000000000000006f8f55ad1be99cfd810417c07906d295762f87a50000000000000000000000002be0ff6f4acc4215bc15ccaa5db913e83d98ede50000000000000000000000000f479ec036e34e9a66becfeee1ac68495e891d70000000000000000000000000fa065cb1d1ce6af01b7d2d304d9b9e7ba11479e2000000000000000000000000dcdce415cc8d7e363d5b7f662ce0a12ce61972e4000000000000000000000000f447115b338e6f03f7241734cef9b0a1b68936d90000000000000000000000001f5e37348a490c60f09691d330c6e1c6e42aa4880000000000000000000000003024d5511f5fd48826cc4aac8ed875284f2cc1c6000000000000000000000000cc421ac7dbc5dd47356715c05f829125ff231653000000000000000000000000a664b904d8053bfebc881f1d36ac1476dbb0d1f2000000000000000000000000826a5e358e814416aea3f760b2cf9a665cb5555600000000000000000000000014297aeeb5d308b0e487daa1e28624c8819e19fb000000000000000000000000599ff99d703c2720300b001b561169b42583a4550000000000000000000000001ae58eb47dd61819520e274f5cf3ca7c62679adc000000000000000000000000f4e2fc5424bf01691afd682a73c09afd992de1a70000000000000000000000000493ef871f67bdbffd5a3907f7366dd0768590cc000000000000000000000000f4bb872c13dc5e61015fafde54ed970d113f44720000000000000000000000003bf83c896a1c1ba5aa01dcaa09fda52e25d249a7000000000000000000000000b3866fac54bc1ff4d3656ad6131ea7076d9fc3a60000000000000000000000006bc623fccb43a45943f82d6c890203b1ca81796a0000000000000000000000005b73b03b24996f3735f5e74c7724d9f98d34db4b000000000000000000000000905c682c3a9fb309b2e90837b2384070c0bbad60000000000000000000000000382de616dcaed5e126927edb34763d09215cc48900000000000000000000000078209f878396850007b632d648edcfa771154fb60000000000000000000000000e90a9867ec86bc06d1b52c394ebc6feace6cd3f00000000000000000000000043e63b476b72ed9f35a4de0612d40199710aef6d00000000000000000000000086612daabbe9833ec3d175ff8951b409791269eb0000000000000000000000008b3a49b827472f8529a5b3b8fa48ac407118ad34000000000000000000000000c9ee2604a982ce984fee23348861cd246ef1bc080000000000000000000000004fd9f3f8e6029a6834d4f814044d748f1a48f0a40000000000000000000000002152ec4c17875638d09d4b10a2ae3f31b07c3df50000000000000000000000006db1a3dbb95874b1840f37f1844729b6d4872b7500000000000000000000000064f5de151ca43182d4b1b978c1864a4710920965000000000000000000000000bee382c4ec028c62676b4e48f0d5048691f808810000000000000000000000007fe33afe1109a52d7f6311cc0b8b8388d547ea5c000000000000000000000000e91b1d34ae27a4ea7f8ef21a0367ec562d479fbd0000000000000000000000004373c220edd895e90b994d5a7c9cdd7d2a951e3b0000000000000000000000006abc587081c7c9ebbdd84d8ca7dc9656cb64b76c0000000000000000000000002f670cef2ac736d1015c53207b81d390382e891c00000000000000000000000091c02d87adcd691901d8889708e76bf37439a1a4000000000000000000000000876b50bd18470f9d27882b713d705c4063edec5c000000000000000000000000b2c851ed3f04851c9dbec4adc1465c1352a153c4000000000000000000000000d58045868c84793d378876d31e17d90124c82e0500000000000000000000000054a7ede07e5af20530ecb65f850ab7d20dd308e8000000000000000000000000120a111e185b5137d3c4ef364be553384c6598e80000000000000000000000006004496108ea4f454562a780fb536f87361a1c62000000000000000000000000ac6c79f3e48809088114b794b92b4ebb93bac97b000000000000000000000000c7fdb3f5063c133dea7a95d68e0b336053405312000000000000000000000000862f088f9d0794ef021c03fc5ebe198308da9b51000000000000000000000000f240635e9fd0bd086e26a3808dbf0ded94a990fd00000000000000000000000080466b5d78ba181e32c0810bd468fed1aba672d3000000000000000000000000337dcb0a07961e39195c532f13937af7df9b6eef000000000000000000000000de59972b741983f825c2f1fe41119be62c12d8790000000000000000000000001435ad42a9eac4fbe74a625ac7cd47409624c753000000000000000000000000b68a5910d05ec5bd829dad8460527b52bd9eb9bc000000000000000000000000dc5f533644831b1739d9b3d858c2bba9829b837600000000000000000000000085c6927bc5217873a07465638e767edd440db54d000000000000000000000000bd6177d48696dc7d56c50e37dd162e6006180e5a000000000000000000000000fbc6809144a37ab60f221505ddf91c4dbd376b7a000000000000000000000000fe2d9c55f579aec7d56078e49faca3791b97b24c0000000000000000000000007dd9db83850b8c3f62dbe5f38a85bc7bafa0bb49000000000000000000000000b0d0641247334404e43f48742abfbc2a4153f7ed00000000000000000000000082e2d2727395b315e461d56df8e46b3eb47c6e0f000000000000000000000000d6f50e71de664d19e2781c09e2da37387c03f20400000000000000000000000081eed6f3c2cf5d880f16841375a5994927876baf000000000000000000000000870a61136ed491f97bb27e081e8adb3da4b74f18000000000000000000000000ce741154e6627ac04a7e00ef289a53110ab9d3ef000000000000000000000000d1c8305b509e3b0f870c5999648f14bfb6121c040000000000000000000000002799f2cff4f607462d052f0d33c1d1671674f32c00000000000000000000000032618f82fb8d53de77e958b39fdbe8891bd34e1d00000000000000000000000017858aba4338bc859cf27a3485eeee8ae5b157390000000000000000000000009eb0da56e624a205563e89330ee9dc1dbfe2b105000000000000000000000000e60a61d91deb35d8ae7b6fd53bc21bde19e376e6000000000000000000000000721d53b6986634e800f355ed18b1efc01b192ffe0000000000000000000000004dbef3bfca8d83e57c09371a77a8add25678a5bb000000000000000000000000b8dfa020896f097fa28cdeaa7d56e77860669df5000000000000000000000000dee108b504d604097df48daaa9db301b2f8742e8000000000000000000000000d1932824ff1c985f195aacf6ddccc152f77421f5000000000000000000000000581377db9436609b8d1fefcef58750aaaeb1d2910000000000000000000000008fc9da6b28cd119644bab6cf8cd0eb44ff2a001400000000000000000000000037ee1fd3150b19d9e072e70e69071013ae6209110000000000000000000000001d06e5ff1510c1e25b9603abddcd2d872468267c0000000000000000000000001f5a65ac9408f5478ff99184dc18a436f08e605e000000000000000000000000e23f9140bbd2a766867f20fc8e71b7abb17bde550000000000000000000000001746cb8c15d19ce86c8eda4cc6d00f396fe6a9ff000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005991296ae000000000000000000000000000000000000000000000000000000048c273950000000000000000000000000000000000000000000000000000000048c273950000000000000000000000000000000000000000000000000000000048bfe3ee5200000000000000000000000000000000000000000000000000000040c87e1b01c000000000000000000000000000000000000000000000000000003eccf4b8c40000000000000000000000000000000000000000000000000000003691d6afc00000000000000000000000000000000000000000000000000000003691d6afc0000000000000000000000000000000000000000000000000000000344cb06de46c00000000000000000000000000000000000000000000000000003143afa6cd0c000000000000000000000000000000000000000000000000000030f9c347b60000000000000000000000000000000000000000000000000000002f0186343dbc00000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d20000000000000000000000000000000000000000000000000000000246139ca80000000000000000000000000000000000000000000000000000000246139ca800000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001ca62a4f780000000000000000000000000000000000000000000000000000001b48eb57e00000000000000000000000000000000000000000000000000000001b48eb57e00000000000000000000000000000000000000000000000000000001b33d8c1f3b90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x2349d196fd9be998876d8aaec62ed45cc9a6effb280a8cbca73fbcce0fcb798b14364ba9927ed1cf8ee93783f5c042f4709bdff5c9e36de247287cafa2f1aee11c2246062c49d75dda0191cb8aa856998df498c8e1ee872206be7ecb6e1496818f1c20e6ae9448b73a5d85dac202a84b8bfb4612ea73a57b53e7add91391fd3fd81c4cae8f7003deeba2f4046f9c1102ccda86036fe835bdb6249f11ed62f727ce074e31fd34ae1a9ff2d2a324629bebb4d97bbc6e4a68cebe32b7847777434a2f661c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x2fdea9\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc69839881000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001b84174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000003fdaca3beb3079cae2cca5a484fa1781d3c83403000000000000000000000000a9a04026574f342a041dfcc76c3a20e4bff9f5e6000000000000000000000000a063a289d0bcf2f26e6ddc242cb58d1ad34e5bd000000000000000000000000094d0deec69bd67d294b78487a758cfb763c6fe27000000000000000000000000508d5484653431db879202b7ee326974ee570f83000000000000000000000000e6aeec13e8a19132678bf4d0541d99e9923f071a000000000000000000000000061eacad9b5dc7a83f4b7458753f3e1bd3947c09000000000000000000000000cf354e360ea86320dea7f832bf81093d41bc035c00000000000000000000000030ef0f115729f3110d492f2bdedf47a3a947116900000000000000000000000052f24cb949580a3fb12734222655cce34e9e1d4d000000000000000000000000e5e840cee9c90f3f8a25859552b298fcc90c200000000000000000000000000087d4a19c75ed144376ca14b1c27332513e5aaa99000000000000000000000000bc08e5a74521faaa975583e3a8acbd7f74ba3f9c000000000000000000000000204d3807481211d80c2ef467afcc6431f0dd567a000000000000000000000000186e610cc55f7a3b76bc01fdc03ce57ad60240830000000000000000000000006f8f55ad1be99cfd810417c07906d295762f87a50000000000000000000000002be0ff6f4acc4215bc15ccaa5db913e83d98ede50000000000000000000000000f479ec036e34e9a66becfeee1ac68495e891d70000000000000000000000000fa065cb1d1ce6af01b7d2d304d9b9e7ba11479e2000000000000000000000000dcdce415cc8d7e363d5b7f662ce0a12ce61972e4000000000000000000000000f447115b338e6f03f7241734cef9b0a1b68936d90000000000000000000000001f5e37348a490c60f09691d330c6e1c6e42aa4880000000000000000000000003024d5511f5fd48826cc4aac8ed875284f2cc1c6000000000000000000000000cc421ac7dbc5dd47356715c05f829125ff231653000000000000000000000000a664b904d8053bfebc881f1d36ac1476dbb0d1f2000000000000000000000000826a5e358e814416aea3f760b2cf9a665cb5555600000000000000000000000014297aeeb5d308b0e487daa1e28624c8819e19fb000000000000000000000000599ff99d703c2720300b001b561169b42583a4550000000000000000000000001ae58eb47dd61819520e274f5cf3ca7c62679adc000000000000000000000000f4e2fc5424bf01691afd682a73c09afd992de1a70000000000000000000000000493ef871f67bdbffd5a3907f7366dd0768590cc000000000000000000000000f4bb872c13dc5e61015fafde54ed970d113f44720000000000000000000000003bf83c896a1c1ba5aa01dcaa09fda52e25d249a7000000000000000000000000b3866fac54bc1ff4d3656ad6131ea7076d9fc3a60000000000000000000000006bc623fccb43a45943f82d6c890203b1ca81796a0000000000000000000000005b73b03b24996f3735f5e74c7724d9f98d34db4b000000000000000000000000905c682c3a9fb309b2e90837b2384070c0bbad60000000000000000000000000382de616dcaed5e126927edb34763d09215cc48900000000000000000000000078209f878396850007b632d648edcfa771154fb60000000000000000000000000e90a9867ec86bc06d1b52c394ebc6feace6cd3f00000000000000000000000043e63b476b72ed9f35a4de0612d40199710aef6d00000000000000000000000086612daabbe9833ec3d175ff8951b409791269eb0000000000000000000000008b3a49b827472f8529a5b3b8fa48ac407118ad34000000000000000000000000c9ee2604a982ce984fee23348861cd246ef1bc080000000000000000000000004fd9f3f8e6029a6834d4f814044d748f1a48f0a40000000000000000000000002152ec4c17875638d09d4b10a2ae3f31b07c3df50000000000000000000000006db1a3dbb95874b1840f37f1844729b6d4872b7500000000000000000000000064f5de151ca43182d4b1b978c1864a4710920965000000000000000000000000bee382c4ec028c62676b4e48f0d5048691f808810000000000000000000000007fe33afe1109a52d7f6311cc0b8b8388d547ea5c000000000000000000000000e91b1d34ae27a4ea7f8ef21a0367ec562d479fbd0000000000000000000000004373c220edd895e90b994d5a7c9cdd7d2a951e3b0000000000000000000000006abc587081c7c9ebbdd84d8ca7dc9656cb64b76c0000000000000000000000002f670cef2ac736d1015c53207b81d390382e891c00000000000000000000000091c02d87adcd691901d8889708e76bf37439a1a4000000000000000000000000876b50bd18470f9d27882b713d705c4063edec5c000000000000000000000000b2c851ed3f04851c9dbec4adc1465c1352a153c4000000000000000000000000d58045868c84793d378876d31e17d90124c82e0500000000000000000000000054a7ede07e5af20530ecb65f850ab7d20dd308e8000000000000000000000000120a111e185b5137d3c4ef364be553384c6598e80000000000000000000000006004496108ea4f454562a780fb536f87361a1c62000000000000000000000000ac6c79f3e48809088114b794b92b4ebb93bac97b000000000000000000000000c7fdb3f5063c133dea7a95d68e0b336053405312000000000000000000000000862f088f9d0794ef021c03fc5ebe198308da9b51000000000000000000000000f240635e9fd0bd086e26a3808dbf0ded94a990fd00000000000000000000000080466b5d78ba181e32c0810bd468fed1aba672d3000000000000000000000000337dcb0a07961e39195c532f13937af7df9b6eef000000000000000000000000de59972b741983f825c2f1fe41119be62c12d8790000000000000000000000001435ad42a9eac4fbe74a625ac7cd47409624c753000000000000000000000000b68a5910d05ec5bd829dad8460527b52bd9eb9bc000000000000000000000000dc5f533644831b1739d9b3d858c2bba9829b837600000000000000000000000085c6927bc5217873a07465638e767edd440db54d000000000000000000000000bd6177d48696dc7d56c50e37dd162e6006180e5a000000000000000000000000fbc6809144a37ab60f221505ddf91c4dbd376b7a000000000000000000000000fe2d9c55f579aec7d56078e49faca3791b97b24c0000000000000000000000007dd9db83850b8c3f62dbe5f38a85bc7bafa0bb49000000000000000000000000b0d0641247334404e43f48742abfbc2a4153f7ed00000000000000000000000082e2d2727395b315e461d56df8e46b3eb47c6e0f000000000000000000000000d6f50e71de664d19e2781c09e2da37387c03f20400000000000000000000000081eed6f3c2cf5d880f16841375a5994927876baf000000000000000000000000870a61136ed491f97bb27e081e8adb3da4b74f18000000000000000000000000ce741154e6627ac04a7e00ef289a53110ab9d3ef000000000000000000000000d1c8305b509e3b0f870c5999648f14bfb6121c040000000000000000000000002799f2cff4f607462d052f0d33c1d1671674f32c00000000000000000000000032618f82fb8d53de77e958b39fdbe8891bd34e1d00000000000000000000000017858aba4338bc859cf27a3485eeee8ae5b157390000000000000000000000009eb0da56e624a205563e89330ee9dc1dbfe2b105000000000000000000000000e60a61d91deb35d8ae7b6fd53bc21bde19e376e6000000000000000000000000721d53b6986634e800f355ed18b1efc01b192ffe0000000000000000000000004dbef3bfca8d83e57c09371a77a8add25678a5bb000000000000000000000000b8dfa020896f097fa28cdeaa7d56e77860669df5000000000000000000000000dee108b504d604097df48daaa9db301b2f8742e8000000000000000000000000d1932824ff1c985f195aacf6ddccc152f77421f5000000000000000000000000581377db9436609b8d1fefcef58750aaaeb1d2910000000000000000000000008fc9da6b28cd119644bab6cf8cd0eb44ff2a001400000000000000000000000037ee1fd3150b19d9e072e70e69071013ae6209110000000000000000000000001d06e5ff1510c1e25b9603abddcd2d872468267c0000000000000000000000001f5a65ac9408f5478ff99184dc18a436f08e605e000000000000000000000000e23f9140bbd2a766867f20fc8e71b7abb17bde550000000000000000000000001746cb8c15d19ce86c8eda4cc6d00f396fe6a9ff000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005991296ae000000000000000000000000000000000000000000000000000000048c273950000000000000000000000000000000000000000000000000000000048c273950000000000000000000000000000000000000000000000000000000048bfe3ee5200000000000000000000000000000000000000000000000000000040c87e1b01c000000000000000000000000000000000000000000000000000003eccf4b8c40000000000000000000000000000000000000000000000000000003691d6afc00000000000000000000000000000000000000000000000000000003691d6afc0000000000000000000000000000000000000000000000000000000344cb06de46c00000000000000000000000000000000000000000000000000003143afa6cd0c000000000000000000000000000000000000000000000000000030f9c347b60000000000000000000000000000000000000000000000000000002f0186343dbc00000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d20000000000000000000000000000000000000000000000000000000246139ca80000000000000000000000000000000000000000000000000000000246139ca800000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001ca62a4f780000000000000000000000000000000000000000000000000000001b48eb57e00000000000000000000000000000000000000000000000000000001b48eb57e00000000000000000000000000000000000000000000000000000001b33d8c1f3b900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c32349d196fd9be998876d8aaec62ed45cc9a6effb280a8cbca73fbcce0fcb798b14364ba9927ed1cf8ee93783f5c042f4709bdff5c9e36de247287cafa2f1aee11c2246062c49d75dda0191cb8aa856998df498c8e1ee872206be7ecb6e1496818f1c20e6ae9448b73a5d85dac202a84b8bfb4612ea73a57b53e7add91391fd3fd81c4cae8f7003deeba2f4046f9c1102ccda86036fe835bdb6249f11ed62f727ce074e31fd34ae1a9ff2d2a324629bebb4d97bbc6e4a68cebe32b7847777434a2f661c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x31\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x13e44a8\",\n      \"logs\": [\n        {\n          \"address\": \"0x49048044d57e1c92a77f79988d21fa8faf74e97e\",\n          \"topics\": [\n            \"0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32\",\n            \"0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167\",\n            \"0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000019cd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e848000501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000003fdaca3beb3079cae2cca5a484fa1781d3c83403000000000000000000000000a9a04026574f342a041dfcc76c3a20e4bff9f5e6000000000000000000000000a063a289d0bcf2f26e6ddc242cb58d1ad34e5bd000000000000000000000000094d0deec69bd67d294b78487a758cfb763c6fe27000000000000000000000000508d5484653431db879202b7ee326974ee570f83000000000000000000000000e6aeec13e8a19132678bf4d0541d99e9923f071a000000000000000000000000061eacad9b5dc7a83f4b7458753f3e1bd3947c09000000000000000000000000cf354e360ea86320dea7f832bf81093d41bc035c00000000000000000000000030ef0f115729f3110d492f2bdedf47a3a947116900000000000000000000000052f24cb949580a3fb12734222655cce34e9e1d4d000000000000000000000000e5e840cee9c90f3f8a25859552b298fcc90c200000000000000000000000000087d4a19c75ed144376ca14b1c27332513e5aaa99000000000000000000000000bc08e5a74521faaa975583e3a8acbd7f74ba3f9c000000000000000000000000204d3807481211d80c2ef467afcc6431f0dd567a000000000000000000000000186e610cc55f7a3b76bc01fdc03ce57ad60240830000000000000000000000006f8f55ad1be99cfd810417c07906d295762f87a50000000000000000000000002be0ff6f4acc4215bc15ccaa5db913e83d98ede50000000000000000000000000f479ec036e34e9a66becfeee1ac68495e891d70000000000000000000000000fa065cb1d1ce6af01b7d2d304d9b9e7ba11479e2000000000000000000000000dcdce415cc8d7e363d5b7f662ce0a12ce61972e4000000000000000000000000f447115b338e6f03f7241734cef9b0a1b68936d90000000000000000000000001f5e37348a490c60f09691d330c6e1c6e42aa4880000000000000000000000003024d5511f5fd48826cc4aac8ed875284f2cc1c6000000000000000000000000cc421ac7dbc5dd47356715c05f829125ff231653000000000000000000000000a664b904d8053bfebc881f1d36ac1476dbb0d1f2000000000000000000000000826a5e358e814416aea3f760b2cf9a665cb5555600000000000000000000000014297aeeb5d308b0e487daa1e28624c8819e19fb000000000000000000000000599ff99d703c2720300b001b561169b42583a4550000000000000000000000001ae58eb47dd61819520e274f5cf3ca7c62679adc000000000000000000000000f4e2fc5424bf01691afd682a73c09afd992de1a70000000000000000000000000493ef871f67bdbffd5a3907f7366dd0768590cc000000000000000000000000f4bb872c13dc5e61015fafde54ed970d113f44720000000000000000000000003bf83c896a1c1ba5aa01dcaa09fda52e25d249a7000000000000000000000000b3866fac54bc1ff4d3656ad6131ea7076d9fc3a60000000000000000000000006bc623fccb43a45943f82d6c890203b1ca81796a0000000000000000000000005b73b03b24996f3735f5e74c7724d9f98d34db4b000000000000000000000000905c682c3a9fb309b2e90837b2384070c0bbad60000000000000000000000000382de616dcaed5e126927edb34763d09215cc48900000000000000000000000078209f878396850007b632d648edcfa771154fb60000000000000000000000000e90a9867ec86bc06d1b52c394ebc6feace6cd3f00000000000000000000000043e63b476b72ed9f35a4de0612d40199710aef6d00000000000000000000000086612daabbe9833ec3d175ff8951b409791269eb0000000000000000000000008b3a49b827472f8529a5b3b8fa48ac407118ad34000000000000000000000000c9ee2604a982ce984fee23348861cd246ef1bc080000000000000000000000004fd9f3f8e6029a6834d4f814044d748f1a48f0a40000000000000000000000002152ec4c17875638d09d4b10a2ae3f31b07c3df50000000000000000000000006db1a3dbb95874b1840f37f1844729b6d4872b7500000000000000000000000064f5de151ca43182d4b1b978c1864a4710920965000000000000000000000000bee382c4ec028c62676b4e48f0d5048691f808810000000000000000000000007fe33afe1109a52d7f6311cc0b8b8388d547ea5c000000000000000000000000e91b1d34ae27a4ea7f8ef21a0367ec562d479fbd0000000000000000000000004373c220edd895e90b994d5a7c9cdd7d2a951e3b0000000000000000000000006abc587081c7c9ebbdd84d8ca7dc9656cb64b76c0000000000000000000000002f670cef2ac736d1015c53207b81d390382e891c00000000000000000000000091c02d87adcd691901d8889708e76bf37439a1a4000000000000000000000000876b50bd18470f9d27882b713d705c4063edec5c000000000000000000000000b2c851ed3f04851c9dbec4adc1465c1352a153c4000000000000000000000000d58045868c84793d378876d31e17d90124c82e0500000000000000000000000054a7ede07e5af20530ecb65f850ab7d20dd308e8000000000000000000000000120a111e185b5137d3c4ef364be553384c6598e80000000000000000000000006004496108ea4f454562a780fb536f87361a1c62000000000000000000000000ac6c79f3e48809088114b794b92b4ebb93bac97b000000000000000000000000c7fdb3f5063c133dea7a95d68e0b336053405312000000000000000000000000862f088f9d0794ef021c03fc5ebe198308da9b51000000000000000000000000f240635e9fd0bd086e26a3808dbf0ded94a990fd00000000000000000000000080466b5d78ba181e32c0810bd468fed1aba672d3000000000000000000000000337dcb0a07961e39195c532f13937af7df9b6eef000000000000000000000000de59972b741983f825c2f1fe41119be62c12d8790000000000000000000000001435ad42a9eac4fbe74a625ac7cd47409624c753000000000000000000000000b68a5910d05ec5bd829dad8460527b52bd9eb9bc000000000000000000000000dc5f533644831b1739d9b3d858c2bba9829b837600000000000000000000000085c6927bc5217873a07465638e767edd440db54d000000000000000000000000bd6177d48696dc7d56c50e37dd162e6006180e5a000000000000000000000000fbc6809144a37ab60f221505ddf91c4dbd376b7a000000000000000000000000fe2d9c55f579aec7d56078e49faca3791b97b24c0000000000000000000000007dd9db83850b8c3f62dbe5f38a85bc7bafa0bb49000000000000000000000000b0d0641247334404e43f48742abfbc2a4153f7ed00000000000000000000000082e2d2727395b315e461d56df8e46b3eb47c6e0f000000000000000000000000d6f50e71de664d19e2781c09e2da37387c03f20400000000000000000000000081eed6f3c2cf5d880f16841375a5994927876baf000000000000000000000000870a61136ed491f97bb27e081e8adb3da4b74f18000000000000000000000000ce741154e6627ac04a7e00ef289a53110ab9d3ef000000000000000000000000d1c8305b509e3b0f870c5999648f14bfb6121c040000000000000000000000002799f2cff4f607462d052f0d33c1d1671674f32c00000000000000000000000032618f82fb8d53de77e958b39fdbe8891bd34e1d00000000000000000000000017858aba4338bc859cf27a3485eeee8ae5b157390000000000000000000000009eb0da56e624a205563e89330ee9dc1dbfe2b105000000000000000000000000e60a61d91deb35d8ae7b6fd53bc21bde19e376e6000000000000000000000000721d53b6986634e800f355ed18b1efc01b192ffe0000000000000000000000004dbef3bfca8d83e57c09371a77a8add25678a5bb000000000000000000000000b8dfa020896f097fa28cdeaa7d56e77860669df5000000000000000000000000dee108b504d604097df48daaa9db301b2f8742e8000000000000000000000000d1932824ff1c985f195aacf6ddccc152f77421f5000000000000000000000000581377db9436609b8d1fefcef58750aaaeb1d2910000000000000000000000008fc9da6b28cd119644bab6cf8cd0eb44ff2a001400000000000000000000000037ee1fd3150b19d9e072e70e69071013ae6209110000000000000000000000001d06e5ff1510c1e25b9603abddcd2d872468267c0000000000000000000000001f5a65ac9408f5478ff99184dc18a436f08e605e000000000000000000000000e23f9140bbd2a766867f20fc8e71b7abb17bde550000000000000000000000001746cb8c15d19ce86c8eda4cc6d00f396fe6a9ff000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005991296ae000000000000000000000000000000000000000000000000000000048c273950000000000000000000000000000000000000000000000000000000048c273950000000000000000000000000000000000000000000000000000000048bfe3ee5200000000000000000000000000000000000000000000000000000040c87e1b01c000000000000000000000000000000000000000000000000000003eccf4b8c40000000000000000000000000000000000000000000000000000003691d6afc00000000000000000000000000000000000000000000000000000003691d6afc0000000000000000000000000000000000000000000000000000000344cb06de46c00000000000000000000000000000000000000000000000000003143afa6cd0c000000000000000000000000000000000000000000000000000030f9c347b60000000000000000000000000000000000000000000000000000002f0186343dbc00000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d20000000000000000000000000000000000000000000000000000000246139ca80000000000000000000000000000000000000000000000000000000246139ca800000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001ca62a4f780000000000000000000000000000000000000000000000000000001b48eb57e00000000000000000000000000000000000000000000000000000001b48eb57e00000000000000000000000000000000000000000000000000000001b33d8c1f3b900000000000000000000000000000000000000\",\n          \"blockHash\": \"0x8fc36f348c2319d5caebc0cea14de7f3131d18c32e2798fb64b4ee42c58ed5bd\",\n          \"blockNumber\": \"0x15fb316\",\n          \"blockTimestamp\": \"0x688d3477\",\n          \"transactionHash\": \"0xcabfae422769f2b4f6e2e2d8e97ad81c2dd5b2bfc3a0db224d47a12e23a32424\",\n          \"transactionIndex\": \"0xf7\",\n          \"logIndex\": \"0x23a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x97dc8716f84ef1a0a85dc59cb7568db79daff2803a0b233a9c791bb2c2dadbb10000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x8fc36f348c2319d5caebc0cea14de7f3131d18c32e2798fb64b4ee42c58ed5bd\",\n          \"blockNumber\": \"0x15fb316\",\n          \"blockTimestamp\": \"0x688d3477\",\n          \"transactionHash\": \"0xcabfae422769f2b4f6e2e2d8e97ad81c2dd5b2bfc3a0db224d47a12e23a32424\",\n          \"transactionIndex\": \"0xf7\",\n          \"logIndex\": \"0x23b\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000004000042000000000000000000080000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000002000000400000000000000002000000000000000c0000000000000000000000000000000800000000040000000000000000000200000000000000000000000000020000000000020000a0000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xcabfae422769f2b4f6e2e2d8e97ad81c2dd5b2bfc3a0db224d47a12e23a32424\",\n      \"transactionIndex\": \"0xf7\",\n      \"blockHash\": \"0x8fc36f348c2319d5caebc0cea14de7f3131d18c32e2798fb64b4ee42c58ed5bd\",\n      \"blockNumber\": \"0x15fb316\",\n      \"gasUsed\": \"0x20bb42\",\n      \"effectiveGasPrice\": \"0x14a4a967\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1754084474,\n  \"chain\": 1,\n  \"commit\": \"1fa78b1\"\n}"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/records/OPStackExecuteRecovery.s.sol/1/run-1754084558.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x2f2fba977a888cfec598bc8e89b69250fe265061b64e04e72c46ee5d35ea6978\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881\",\n        \"0\",\n        \"0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000007623d7a3dd5c96178e48bd49d3d715dc7a0f510900000000000000000000000050a62e383237a5659e0b83cb81fe4629745ce4ac00000000000000000000000044ff225d45d358d519614b9985ecae6ca68829a0000000000000000000000000f8f56f91c5b7793a8bdaf881aff6639803fef20e0000000000000000000000006fa9b0c70fa3e528cb82f2f699c208dfbcc17e3500000000000000000000000044d585fc510c5d30d909d83563fec8a47d8d264d0000000000000000000000006c8bf987ab3d9b2c756700689e9797efbb73b93e00000000000000000000000013ba1a3ce15b9b7b21c8739a2f7376c9f82478e5000000000000000000000000008f8333b7f79999a6039800c0bb559620661077000000000000000000000000470e39b83a8517829cbbd74279aae0de7a4cb04e000000000000000000000000ee7031799fb3d362c729a04de80d6df6d71539aa0000000000000000000000005126f9f3522ed030f4728028e141026924bf1539000000000000000000000000dcb18e78fb0112c6fde6b55ff802783895d8aeee00000000000000000000000006afe6aff701586643fbe13f837f6b843e4c1ac60000000000000000000000004dc0d32c3d30238bd6caf508c631202d6268888500000000000000000000000069c10a21cb95b5ce1e80db621d3421162dff7c13000000000000000000000000b4fceeae6b7f678a4a33f0ef7f37c640a7e91171000000000000000000000000e0e5c9f687e89c08fea55f2a772b986236f4f09b0000000000000000000000004c6d1070a8b52f6e4e1c9d0f85aad6664007e158000000000000000000000000e54f5a1db7a3a7d0d2d93e2d50c9fa3e538edb9c0000000000000000000000000a3e5705a2acfa47ae86122eeac7dced7dcdbb4a000000000000000000000000e096fd8ef14901305a3cb8f2824961c3403d41b2000000000000000000000000402231e1ba43112175c759202d1f806e093a196c000000000000000000000000a0329953610d575b5642803c804329ffe60aa07e000000000000000000000000b3ff66e0241f6a7ac65b73af48670e01ef732f50000000000000000000000000284d2a52b206335992a155291ecd3e6ea3c5d9c700000000000000000000000056d01bd6cea47eae180a40e82797d1a9c2414d560000000000000000000000008cf20c6df772c57fdc789f0427c8efb797586c1c0000000000000000000000008168cdbeb26874b668cc73a15294868ccf6a8d02000000000000000000000000826946a3ad7160e97daaa07b2de714e12da2e38f00000000000000000000000078b9d812289193cacb9e69ddc787c7b58e3f8d8b0000000000000000000000005908558b0a482d415e1592d3e49a7fae5f015533000000000000000000000000548d9575043d1f31df5891d759874e31245933400000000000000000000000001295058bc52349422f54c308fd18f003a002cec0000000000000000000000000ac7a56bb0041e4871bf046e38943401d9e9bb67800000000000000000000000035f64e171ad10d12a56606c9b244b3fa2c917ee0000000000000000000000000ba572e4eaf49235ab716539caf8ed9f300b4939a00000000000000000000000041f8ed0560b3aad02e2550a5d0bc07637c5d4149000000000000000000000000460c41c83eb52f390be549a0e7ad0115a38547de000000000000000000000000fbb63776cc677d00b27190e464793136a26195b20000000000000000000000004ccb6b4b8429acbac68bd4096e3ca45b5a06a44d000000000000000000000000b8a58aab3f729b9ab0ff96b9938eebdf78801eeb0000000000000000000000006682cede4f8bd59adbb103392f2780e71013aeca000000000000000000000000fc28421f3480a0fee6cacddbc693f40afd8905bb00000000000000000000000088c846e8c51271390822aad661f9fb33d92297830000000000000000000000004e9f235c205db2ee4dbde3aeed521787d25ca7df000000000000000000000000c3fc83c0da92558d9fe83d7385bb35d97df75a0500000000000000000000000084f2e4fd7aa60f96a42c16c7b7b85c70f834c83600000000000000000000000095ed90f8370e2018ed37a7c22bdf1f7616e6b74b000000000000000000000000cfbc6b751c6dbf7b13fcac5dfb1f48ba50856be50000000000000000000000003d05ca3a3250f2652d0260d876a537b852d5a4510000000000000000000000007bac547c6202f6eef8a1441f5b33d08fa33109530000000000000000000000000116b67d5d7facdb32a01304f771cd559db72747000000000000000000000000f353e3d6766ad556a7c69ea9f9b36fed1a0e231c00000000000000000000000042d0fcc9430690fe77d4bc0a0da4d0f543bc011900000000000000000000000020443cdebee6bcfbfe8b6b008035972c2a978c310000000000000000000000009f56982d40688aa9646448bc849328258d8f65b90000000000000000000000001ce4e4ea21cf83d9606bd13eee5febc3aa910cb3000000000000000000000000ab6ce3f6d7d9fdeceb8d3f25a0ac2249ed871b1400000000000000000000000000f4b68270dffb0c5af3a3dc06cd50922721a9b90000000000000000000000003fc704f8691ba311974a13a24975dfef6ab0762d000000000000000000000000b3bc96a93e87cf81702df3f13f93d26dd6ab6f00000000000000000000000000b6683ad5656241b200421a0aca57c6e5c1a2b3ff000000000000000000000000205594b3c519412339a918591fa224727bac94dc000000000000000000000000244853c783ced2a07057dbdac401297f24126f3300000000000000000000000028df6f58ed5c29a718d107bb61aa1660e08dfbea000000000000000000000000c754422b9ee25e593b648f78004e599154d2f8090000000000000000000000000cf34cddc2bffcb0459aa4b16c48473a087edc5c00000000000000000000000091a0f65e9237f94f030f76a8cb55184311fe4ebd000000000000000000000000456422c216de90168240702ae27365b76c6b0578000000000000000000000000de1b5eb448c96439d3bb071676a5b744c202ddf00000000000000000000000005ab9f5bb72b0e7bf91fbdcd330d92306c9d0cc5a00000000000000000000000075d199a07a8acb8970d4caece529a382d7ceae5200000000000000000000000056c5d4476a684fc407dea0bd4751dda900cd22ae000000000000000000000000f7a68bcfa1f27c05dbfab4089dadbe63956bbf5000000000000000000000000009edff44ded96f39c07ac95d68984ba42eec731f00000000000000000000000015e6385ac70a89563f2b033c60232bde7fdabd5400000000000000000000000052cb862def3fa15fefc97e04db09eeb3e32599e8000000000000000000000000a149349cf1e98da8f8f7af3744fe388cf2c81e36000000000000000000000000e655297ec821b42054c6dd52fd1634453813a7ba00000000000000000000000037d9618a4b18edce503aa5e64ab70ed46cbaeefb000000000000000000000000547710a1f715d60fe2f398d217e87a47b631cc15000000000000000000000000ef5f8ec38bce00e3c28c5ec1b78e3f5e62de6d71000000000000000000000000a608581e957ac3f2f09ce919dff16dce7b04dfaa000000000000000000000000eddd4b59398e010d5425cb7ca87cb502f43ce1c2000000000000000000000000f014e860b32748d37f9615476d6bd9d80a2532190000000000000000000000002aab691a3cfc2c53de76d93bd237a0fa6013681100000000000000000000000067306904f6e5d437730887317b4a33e84d267fee0000000000000000000000005f48acc110523a10c39dea48446bbd43606982e5000000000000000000000000a6f563181332394a46ef0af6677ac5d27ef354410000000000000000000000005931374face7ae4c5b8f1f5435aed00d26d09ad3000000000000000000000000acd86084c943017000b9aaa0bc38081d352bd2b70000000000000000000000008b93e6152a4d42db628059af40dee0896055e1b90000000000000000000000000e3e96001cc103f563c54bff3a7fc03527f89eaa000000000000000000000000d2ad2ce01ad27835746f72e396c2a130ab6444330000000000000000000000009f71c380b21acc14c31eab3df8b42a59ce18a292000000000000000000000000ecb9db060fae371b0850b12fa730c9dcf1c0909d0000000000000000000000000b614c99d7ca9a0a1b9f1392b79853c1c16bd66c0000000000000000000000006020dd652d87909870e0baef487faf6f16919d880000000000000000000000000020fa1e681fbde5ceae324f393f40aaed013d060000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000019ebac60480000000000000000000000000000000000000000000000000000001859e2bd00a9000000000000000000000000000000000000000000000000000016f48fc94e700000000000000000000000000000000000000000000000000000130925371400000000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000012309ce5400000000000000000000000000000000000000000000000000000000feacf1406a800000000000000000000000000000000000000000000000000000bd2cc61d00000000000000000000000000000000000000000000000000000000b0b4416cded00000000000000000000000000000000000000000000000000000ae9f7bcc00000000000000000000000000000000000000000000000000000000a758d6a3800000000000000000000000000000000000000000000000000000009912542260000000000000000000000000000000000000000000000000000000971e27f829a000000000000000000000000000000000000000000000000000009308554b000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000008cef6fc1200000000000000000000000000000000000000000000000000000008cdccf62000000000000000000000000000000000000000000000000000000008cdccf6200000000000000000000000000000000000000000000000000000000846c24478000000000000000000000000000000000000000000000000000000083f4eeb38000000000000000000000000000000000000000000000000000000082f79cd90000000000000000000000000000000000000000000000000000000082f79cd9000000000000000000000000000000000000000000000000000000007e64ca8bf80000000000000000000000000000000000000000000000000000007947afdaf00000000000000000000000000000000000000000000000000000007662c39208000000000000000000000000000000000000000000000000000000641dff4c00000000000000000000000000000000000000000000000000000000574fbde60000000000000000000000000000000000000000000000000000000053c026468870000000000000000000000000000000000000000000000000000053b91e4b732000000000000000000000000000000000000000000000000000004f95fa8381b000000000000000000000000000000000000000000000000000004ec4b788401000000000000000000000000000000000000000000000000000004ebd68118480000000000000000000000000000000000000000000000000000048c273950000000000000000000000000000000000000000000000000000000048c273950000000000000000000000000000000000000000000000000000000048c273950000000000000000000000000000000000000000000000000000000048c273950000000000000000000000000000000000000000000000000000000048c2739500000000000000000000000000000000000000000000000000000000474dec2680000000000000000000000000000000000000000000000000000000474dec268000000000000000000000000000000000000000000000000000000045d964b80000000000000000000000000000000000000000000000000000000042f055db0000000000000000000000000000000000000000000000000000000041f5a91c58000000000000000000000000000000000000000000000000000000400746fe000000000000000000000000000000000000000000000000000000003ccc434b400000000000000000000000000000000000000000000000000000003ba9b0b2800000000000000000000000000000000000000000000000000000003a3529440000000000000000000000000000000000000000000000000000000034630b8a0000000000000000000000000000000000000000000000000000000032ee841b8000000000000000000000000000000000000000000000000000000032ee841b800000000000000000000000000000000000000000000000000000002e90edd0000000000000000000000000000000000000000000000000000000002ba7def3000000000000000000000000000000000000000000000000000000002ba7def30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x8825b8cafa5b0615041e1fd18ae091868d552b265a9213b612468f3ceedf4fc44ea57c085dfdb75c80a14f3a363ad727fe1d487939acb9a3a368222de7f60e321b6e21a40d742e655c344b3672f9f81c5dfa8668e64d908ce9512c372f3be065d8526a48ed2267c5b2c0afe6e06bc2eb0cb3bb15f39955f5382fa76870069af64a1c562c58de8113fc8947c7c41e51ff54c94d705a05a42d722a7f61582ab689c2971492837d2dc411fddf9b36b93b91cd00bb8352a7a0d1939bdade1c2d159269841b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x2d3561\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc69839881000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001b84174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000007623d7a3dd5c96178e48bd49d3d715dc7a0f510900000000000000000000000050a62e383237a5659e0b83cb81fe4629745ce4ac00000000000000000000000044ff225d45d358d519614b9985ecae6ca68829a0000000000000000000000000f8f56f91c5b7793a8bdaf881aff6639803fef20e0000000000000000000000006fa9b0c70fa3e528cb82f2f699c208dfbcc17e3500000000000000000000000044d585fc510c5d30d909d83563fec8a47d8d264d0000000000000000000000006c8bf987ab3d9b2c756700689e9797efbb73b93e00000000000000000000000013ba1a3ce15b9b7b21c8739a2f7376c9f82478e5000000000000000000000000008f8333b7f79999a6039800c0bb559620661077000000000000000000000000470e39b83a8517829cbbd74279aae0de7a4cb04e000000000000000000000000ee7031799fb3d362c729a04de80d6df6d71539aa0000000000000000000000005126f9f3522ed030f4728028e141026924bf1539000000000000000000000000dcb18e78fb0112c6fde6b55ff802783895d8aeee00000000000000000000000006afe6aff701586643fbe13f837f6b843e4c1ac60000000000000000000000004dc0d32c3d30238bd6caf508c631202d6268888500000000000000000000000069c10a21cb95b5ce1e80db621d3421162dff7c13000000000000000000000000b4fceeae6b7f678a4a33f0ef7f37c640a7e91171000000000000000000000000e0e5c9f687e89c08fea55f2a772b986236f4f09b0000000000000000000000004c6d1070a8b52f6e4e1c9d0f85aad6664007e158000000000000000000000000e54f5a1db7a3a7d0d2d93e2d50c9fa3e538edb9c0000000000000000000000000a3e5705a2acfa47ae86122eeac7dced7dcdbb4a000000000000000000000000e096fd8ef14901305a3cb8f2824961c3403d41b2000000000000000000000000402231e1ba43112175c759202d1f806e093a196c000000000000000000000000a0329953610d575b5642803c804329ffe60aa07e000000000000000000000000b3ff66e0241f6a7ac65b73af48670e01ef732f50000000000000000000000000284d2a52b206335992a155291ecd3e6ea3c5d9c700000000000000000000000056d01bd6cea47eae180a40e82797d1a9c2414d560000000000000000000000008cf20c6df772c57fdc789f0427c8efb797586c1c0000000000000000000000008168cdbeb26874b668cc73a15294868ccf6a8d02000000000000000000000000826946a3ad7160e97daaa07b2de714e12da2e38f00000000000000000000000078b9d812289193cacb9e69ddc787c7b58e3f8d8b0000000000000000000000005908558b0a482d415e1592d3e49a7fae5f015533000000000000000000000000548d9575043d1f31df5891d759874e31245933400000000000000000000000001295058bc52349422f54c308fd18f003a002cec0000000000000000000000000ac7a56bb0041e4871bf046e38943401d9e9bb67800000000000000000000000035f64e171ad10d12a56606c9b244b3fa2c917ee0000000000000000000000000ba572e4eaf49235ab716539caf8ed9f300b4939a00000000000000000000000041f8ed0560b3aad02e2550a5d0bc07637c5d4149000000000000000000000000460c41c83eb52f390be549a0e7ad0115a38547de000000000000000000000000fbb63776cc677d00b27190e464793136a26195b20000000000000000000000004ccb6b4b8429acbac68bd4096e3ca45b5a06a44d000000000000000000000000b8a58aab3f729b9ab0ff96b9938eebdf78801eeb0000000000000000000000006682cede4f8bd59adbb103392f2780e71013aeca000000000000000000000000fc28421f3480a0fee6cacddbc693f40afd8905bb00000000000000000000000088c846e8c51271390822aad661f9fb33d92297830000000000000000000000004e9f235c205db2ee4dbde3aeed521787d25ca7df000000000000000000000000c3fc83c0da92558d9fe83d7385bb35d97df75a0500000000000000000000000084f2e4fd7aa60f96a42c16c7b7b85c70f834c83600000000000000000000000095ed90f8370e2018ed37a7c22bdf1f7616e6b74b000000000000000000000000cfbc6b751c6dbf7b13fcac5dfb1f48ba50856be50000000000000000000000003d05ca3a3250f2652d0260d876a537b852d5a4510000000000000000000000007bac547c6202f6eef8a1441f5b33d08fa33109530000000000000000000000000116b67d5d7facdb32a01304f771cd559db72747000000000000000000000000f353e3d6766ad556a7c69ea9f9b36fed1a0e231c00000000000000000000000042d0fcc9430690fe77d4bc0a0da4d0f543bc011900000000000000000000000020443cdebee6bcfbfe8b6b008035972c2a978c310000000000000000000000009f56982d40688aa9646448bc849328258d8f65b90000000000000000000000001ce4e4ea21cf83d9606bd13eee5febc3aa910cb3000000000000000000000000ab6ce3f6d7d9fdeceb8d3f25a0ac2249ed871b1400000000000000000000000000f4b68270dffb0c5af3a3dc06cd50922721a9b90000000000000000000000003fc704f8691ba311974a13a24975dfef6ab0762d000000000000000000000000b3bc96a93e87cf81702df3f13f93d26dd6ab6f00000000000000000000000000b6683ad5656241b200421a0aca57c6e5c1a2b3ff000000000000000000000000205594b3c519412339a918591fa224727bac94dc000000000000000000000000244853c783ced2a07057dbdac401297f24126f3300000000000000000000000028df6f58ed5c29a718d107bb61aa1660e08dfbea000000000000000000000000c754422b9ee25e593b648f78004e599154d2f8090000000000000000000000000cf34cddc2bffcb0459aa4b16c48473a087edc5c00000000000000000000000091a0f65e9237f94f030f76a8cb55184311fe4ebd000000000000000000000000456422c216de90168240702ae27365b76c6b0578000000000000000000000000de1b5eb448c96439d3bb071676a5b744c202ddf00000000000000000000000005ab9f5bb72b0e7bf91fbdcd330d92306c9d0cc5a00000000000000000000000075d199a07a8acb8970d4caece529a382d7ceae5200000000000000000000000056c5d4476a684fc407dea0bd4751dda900cd22ae000000000000000000000000f7a68bcfa1f27c05dbfab4089dadbe63956bbf5000000000000000000000000009edff44ded96f39c07ac95d68984ba42eec731f00000000000000000000000015e6385ac70a89563f2b033c60232bde7fdabd5400000000000000000000000052cb862def3fa15fefc97e04db09eeb3e32599e8000000000000000000000000a149349cf1e98da8f8f7af3744fe388cf2c81e36000000000000000000000000e655297ec821b42054c6dd52fd1634453813a7ba00000000000000000000000037d9618a4b18edce503aa5e64ab70ed46cbaeefb000000000000000000000000547710a1f715d60fe2f398d217e87a47b631cc15000000000000000000000000ef5f8ec38bce00e3c28c5ec1b78e3f5e62de6d71000000000000000000000000a608581e957ac3f2f09ce919dff16dce7b04dfaa000000000000000000000000eddd4b59398e010d5425cb7ca87cb502f43ce1c2000000000000000000000000f014e860b32748d37f9615476d6bd9d80a2532190000000000000000000000002aab691a3cfc2c53de76d93bd237a0fa6013681100000000000000000000000067306904f6e5d437730887317b4a33e84d267fee0000000000000000000000005f48acc110523a10c39dea48446bbd43606982e5000000000000000000000000a6f563181332394a46ef0af6677ac5d27ef354410000000000000000000000005931374face7ae4c5b8f1f5435aed00d26d09ad3000000000000000000000000acd86084c943017000b9aaa0bc38081d352bd2b70000000000000000000000008b93e6152a4d42db628059af40dee0896055e1b90000000000000000000000000e3e96001cc103f563c54bff3a7fc03527f89eaa000000000000000000000000d2ad2ce01ad27835746f72e396c2a130ab6444330000000000000000000000009f71c380b21acc14c31eab3df8b42a59ce18a292000000000000000000000000ecb9db060fae371b0850b12fa730c9dcf1c0909d0000000000000000000000000b614c99d7ca9a0a1b9f1392b79853c1c16bd66c0000000000000000000000006020dd652d87909870e0baef487faf6f16919d880000000000000000000000000020fa1e681fbde5ceae324f393f40aaed013d060000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000019ebac60480000000000000000000000000000000000000000000000000000001859e2bd00a9000000000000000000000000000000000000000000000000000016f48fc94e700000000000000000000000000000000000000000000000000000130925371400000000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000012309ce5400000000000000000000000000000000000000000000000000000000feacf1406a800000000000000000000000000000000000000000000000000000bd2cc61d00000000000000000000000000000000000000000000000000000000b0b4416cded00000000000000000000000000000000000000000000000000000ae9f7bcc00000000000000000000000000000000000000000000000000000000a758d6a3800000000000000000000000000000000000000000000000000000009912542260000000000000000000000000000000000000000000000000000000971e27f829a000000000000000000000000000000000000000000000000000009308554b000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000008cef6fc1200000000000000000000000000000000000000000000000000000008cdccf62000000000000000000000000000000000000000000000000000000008cdccf6200000000000000000000000000000000000000000000000000000000846c24478000000000000000000000000000000000000000000000000000000083f4eeb38000000000000000000000000000000000000000000000000000000082f79cd90000000000000000000000000000000000000000000000000000000082f79cd9000000000000000000000000000000000000000000000000000000007e64ca8bf80000000000000000000000000000000000000000000000000000007947afdaf00000000000000000000000000000000000000000000000000000007662c39208000000000000000000000000000000000000000000000000000000641dff4c00000000000000000000000000000000000000000000000000000000574fbde60000000000000000000000000000000000000000000000000000000053c026468870000000000000000000000000000000000000000000000000000053b91e4b732000000000000000000000000000000000000000000000000000004f95fa8381b000000000000000000000000000000000000000000000000000004ec4b788401000000000000000000000000000000000000000000000000000004ebd68118480000000000000000000000000000000000000000000000000000048c273950000000000000000000000000000000000000000000000000000000048c273950000000000000000000000000000000000000000000000000000000048c273950000000000000000000000000000000000000000000000000000000048c273950000000000000000000000000000000000000000000000000000000048c2739500000000000000000000000000000000000000000000000000000000474dec2680000000000000000000000000000000000000000000000000000000474dec268000000000000000000000000000000000000000000000000000000045d964b80000000000000000000000000000000000000000000000000000000042f055db0000000000000000000000000000000000000000000000000000000041f5a91c58000000000000000000000000000000000000000000000000000000400746fe000000000000000000000000000000000000000000000000000000003ccc434b400000000000000000000000000000000000000000000000000000003ba9b0b2800000000000000000000000000000000000000000000000000000003a3529440000000000000000000000000000000000000000000000000000000034630b8a0000000000000000000000000000000000000000000000000000000032ee841b8000000000000000000000000000000000000000000000000000000032ee841b800000000000000000000000000000000000000000000000000000002e90edd0000000000000000000000000000000000000000000000000000000002ba7def3000000000000000000000000000000000000000000000000000000002ba7def300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c38825b8cafa5b0615041e1fd18ae091868d552b265a9213b612468f3ceedf4fc44ea57c085dfdb75c80a14f3a363ad727fe1d487939acb9a3a368222de7f60e321b6e21a40d742e655c344b3672f9f81c5dfa8668e64d908ce9512c372f3be065d8526a48ed2267c5b2c0afe6e06bc2eb0cb3bb15f39955f5382fa76870069af64a1c562c58de8113fc8947c7c41e51ff54c94d705a05a42d722a7f61582ab689c2971492837d2dc411fddf9b36b93b91cd00bb8352a7a0d1939bdade1c2d159269841b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x32\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xcbb10a\",\n      \"logs\": [\n        {\n          \"address\": \"0x49048044d57e1c92a77f79988d21fa8faf74e97e\",\n          \"topics\": [\n            \"0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32\",\n            \"0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167\",\n            \"0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000019cd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e848000501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000007623d7a3dd5c96178e48bd49d3d715dc7a0f510900000000000000000000000050a62e383237a5659e0b83cb81fe4629745ce4ac00000000000000000000000044ff225d45d358d519614b9985ecae6ca68829a0000000000000000000000000f8f56f91c5b7793a8bdaf881aff6639803fef20e0000000000000000000000006fa9b0c70fa3e528cb82f2f699c208dfbcc17e3500000000000000000000000044d585fc510c5d30d909d83563fec8a47d8d264d0000000000000000000000006c8bf987ab3d9b2c756700689e9797efbb73b93e00000000000000000000000013ba1a3ce15b9b7b21c8739a2f7376c9f82478e5000000000000000000000000008f8333b7f79999a6039800c0bb559620661077000000000000000000000000470e39b83a8517829cbbd74279aae0de7a4cb04e000000000000000000000000ee7031799fb3d362c729a04de80d6df6d71539aa0000000000000000000000005126f9f3522ed030f4728028e141026924bf1539000000000000000000000000dcb18e78fb0112c6fde6b55ff802783895d8aeee00000000000000000000000006afe6aff701586643fbe13f837f6b843e4c1ac60000000000000000000000004dc0d32c3d30238bd6caf508c631202d6268888500000000000000000000000069c10a21cb95b5ce1e80db621d3421162dff7c13000000000000000000000000b4fceeae6b7f678a4a33f0ef7f37c640a7e91171000000000000000000000000e0e5c9f687e89c08fea55f2a772b986236f4f09b0000000000000000000000004c6d1070a8b52f6e4e1c9d0f85aad6664007e158000000000000000000000000e54f5a1db7a3a7d0d2d93e2d50c9fa3e538edb9c0000000000000000000000000a3e5705a2acfa47ae86122eeac7dced7dcdbb4a000000000000000000000000e096fd8ef14901305a3cb8f2824961c3403d41b2000000000000000000000000402231e1ba43112175c759202d1f806e093a196c000000000000000000000000a0329953610d575b5642803c804329ffe60aa07e000000000000000000000000b3ff66e0241f6a7ac65b73af48670e01ef732f50000000000000000000000000284d2a52b206335992a155291ecd3e6ea3c5d9c700000000000000000000000056d01bd6cea47eae180a40e82797d1a9c2414d560000000000000000000000008cf20c6df772c57fdc789f0427c8efb797586c1c0000000000000000000000008168cdbeb26874b668cc73a15294868ccf6a8d02000000000000000000000000826946a3ad7160e97daaa07b2de714e12da2e38f00000000000000000000000078b9d812289193cacb9e69ddc787c7b58e3f8d8b0000000000000000000000005908558b0a482d415e1592d3e49a7fae5f015533000000000000000000000000548d9575043d1f31df5891d759874e31245933400000000000000000000000001295058bc52349422f54c308fd18f003a002cec0000000000000000000000000ac7a56bb0041e4871bf046e38943401d9e9bb67800000000000000000000000035f64e171ad10d12a56606c9b244b3fa2c917ee0000000000000000000000000ba572e4eaf49235ab716539caf8ed9f300b4939a00000000000000000000000041f8ed0560b3aad02e2550a5d0bc07637c5d4149000000000000000000000000460c41c83eb52f390be549a0e7ad0115a38547de000000000000000000000000fbb63776cc677d00b27190e464793136a26195b20000000000000000000000004ccb6b4b8429acbac68bd4096e3ca45b5a06a44d000000000000000000000000b8a58aab3f729b9ab0ff96b9938eebdf78801eeb0000000000000000000000006682cede4f8bd59adbb103392f2780e71013aeca000000000000000000000000fc28421f3480a0fee6cacddbc693f40afd8905bb00000000000000000000000088c846e8c51271390822aad661f9fb33d92297830000000000000000000000004e9f235c205db2ee4dbde3aeed521787d25ca7df000000000000000000000000c3fc83c0da92558d9fe83d7385bb35d97df75a0500000000000000000000000084f2e4fd7aa60f96a42c16c7b7b85c70f834c83600000000000000000000000095ed90f8370e2018ed37a7c22bdf1f7616e6b74b000000000000000000000000cfbc6b751c6dbf7b13fcac5dfb1f48ba50856be50000000000000000000000003d05ca3a3250f2652d0260d876a537b852d5a4510000000000000000000000007bac547c6202f6eef8a1441f5b33d08fa33109530000000000000000000000000116b67d5d7facdb32a01304f771cd559db72747000000000000000000000000f353e3d6766ad556a7c69ea9f9b36fed1a0e231c00000000000000000000000042d0fcc9430690fe77d4bc0a0da4d0f543bc011900000000000000000000000020443cdebee6bcfbfe8b6b008035972c2a978c310000000000000000000000009f56982d40688aa9646448bc849328258d8f65b90000000000000000000000001ce4e4ea21cf83d9606bd13eee5febc3aa910cb3000000000000000000000000ab6ce3f6d7d9fdeceb8d3f25a0ac2249ed871b1400000000000000000000000000f4b68270dffb0c5af3a3dc06cd50922721a9b90000000000000000000000003fc704f8691ba311974a13a24975dfef6ab0762d000000000000000000000000b3bc96a93e87cf81702df3f13f93d26dd6ab6f00000000000000000000000000b6683ad5656241b200421a0aca57c6e5c1a2b3ff000000000000000000000000205594b3c519412339a918591fa224727bac94dc000000000000000000000000244853c783ced2a07057dbdac401297f24126f3300000000000000000000000028df6f58ed5c29a718d107bb61aa1660e08dfbea000000000000000000000000c754422b9ee25e593b648f78004e599154d2f8090000000000000000000000000cf34cddc2bffcb0459aa4b16c48473a087edc5c00000000000000000000000091a0f65e9237f94f030f76a8cb55184311fe4ebd000000000000000000000000456422c216de90168240702ae27365b76c6b0578000000000000000000000000de1b5eb448c96439d3bb071676a5b744c202ddf00000000000000000000000005ab9f5bb72b0e7bf91fbdcd330d92306c9d0cc5a00000000000000000000000075d199a07a8acb8970d4caece529a382d7ceae5200000000000000000000000056c5d4476a684fc407dea0bd4751dda900cd22ae000000000000000000000000f7a68bcfa1f27c05dbfab4089dadbe63956bbf5000000000000000000000000009edff44ded96f39c07ac95d68984ba42eec731f00000000000000000000000015e6385ac70a89563f2b033c60232bde7fdabd5400000000000000000000000052cb862def3fa15fefc97e04db09eeb3e32599e8000000000000000000000000a149349cf1e98da8f8f7af3744fe388cf2c81e36000000000000000000000000e655297ec821b42054c6dd52fd1634453813a7ba00000000000000000000000037d9618a4b18edce503aa5e64ab70ed46cbaeefb000000000000000000000000547710a1f715d60fe2f398d217e87a47b631cc15000000000000000000000000ef5f8ec38bce00e3c28c5ec1b78e3f5e62de6d71000000000000000000000000a608581e957ac3f2f09ce919dff16dce7b04dfaa000000000000000000000000eddd4b59398e010d5425cb7ca87cb502f43ce1c2000000000000000000000000f014e860b32748d37f9615476d6bd9d80a2532190000000000000000000000002aab691a3cfc2c53de76d93bd237a0fa6013681100000000000000000000000067306904f6e5d437730887317b4a33e84d267fee0000000000000000000000005f48acc110523a10c39dea48446bbd43606982e5000000000000000000000000a6f563181332394a46ef0af6677ac5d27ef354410000000000000000000000005931374face7ae4c5b8f1f5435aed00d26d09ad3000000000000000000000000acd86084c943017000b9aaa0bc38081d352bd2b70000000000000000000000008b93e6152a4d42db628059af40dee0896055e1b90000000000000000000000000e3e96001cc103f563c54bff3a7fc03527f89eaa000000000000000000000000d2ad2ce01ad27835746f72e396c2a130ab6444330000000000000000000000009f71c380b21acc14c31eab3df8b42a59ce18a292000000000000000000000000ecb9db060fae371b0850b12fa730c9dcf1c0909d0000000000000000000000000b614c99d7ca9a0a1b9f1392b79853c1c16bd66c0000000000000000000000006020dd652d87909870e0baef487faf6f16919d880000000000000000000000000020fa1e681fbde5ceae324f393f40aaed013d060000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000019ebac60480000000000000000000000000000000000000000000000000000001859e2bd00a9000000000000000000000000000000000000000000000000000016f48fc94e700000000000000000000000000000000000000000000000000000130925371400000000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000012309ce5400000000000000000000000000000000000000000000000000000000feacf1406a800000000000000000000000000000000000000000000000000000bd2cc61d00000000000000000000000000000000000000000000000000000000b0b4416cded00000000000000000000000000000000000000000000000000000ae9f7bcc00000000000000000000000000000000000000000000000000000000a758d6a3800000000000000000000000000000000000000000000000000000009912542260000000000000000000000000000000000000000000000000000000971e27f829a000000000000000000000000000000000000000000000000000009308554b000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000008cef6fc1200000000000000000000000000000000000000000000000000000008cdccf62000000000000000000000000000000000000000000000000000000008cdccf6200000000000000000000000000000000000000000000000000000000846c24478000000000000000000000000000000000000000000000000000000083f4eeb38000000000000000000000000000000000000000000000000000000082f79cd90000000000000000000000000000000000000000000000000000000082f79cd9000000000000000000000000000000000000000000000000000000007e64ca8bf80000000000000000000000000000000000000000000000000000007947afdaf00000000000000000000000000000000000000000000000000000007662c39208000000000000000000000000000000000000000000000000000000641dff4c00000000000000000000000000000000000000000000000000000000574fbde60000000000000000000000000000000000000000000000000000000053c026468870000000000000000000000000000000000000000000000000000053b91e4b732000000000000000000000000000000000000000000000000000004f95fa8381b000000000000000000000000000000000000000000000000000004ec4b788401000000000000000000000000000000000000000000000000000004ebd68118480000000000000000000000000000000000000000000000000000048c273950000000000000000000000000000000000000000000000000000000048c273950000000000000000000000000000000000000000000000000000000048c273950000000000000000000000000000000000000000000000000000000048c273950000000000000000000000000000000000000000000000000000000048c2739500000000000000000000000000000000000000000000000000000000474dec2680000000000000000000000000000000000000000000000000000000474dec268000000000000000000000000000000000000000000000000000000045d964b80000000000000000000000000000000000000000000000000000000042f055db0000000000000000000000000000000000000000000000000000000041f5a91c58000000000000000000000000000000000000000000000000000000400746fe000000000000000000000000000000000000000000000000000000003ccc434b400000000000000000000000000000000000000000000000000000003ba9b0b2800000000000000000000000000000000000000000000000000000003a3529440000000000000000000000000000000000000000000000000000000034630b8a0000000000000000000000000000000000000000000000000000000032ee841b8000000000000000000000000000000000000000000000000000000032ee841b800000000000000000000000000000000000000000000000000000002e90edd0000000000000000000000000000000000000000000000000000000002ba7def3000000000000000000000000000000000000000000000000000000002ba7def300000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x81b450d8acf71caa3ef3adf2467319d8e5c2f069053675cdaa688137a4592081\",\n          \"blockNumber\": \"0x15fb31d\",\n          \"blockTimestamp\": \"0x688d34cb\",\n          \"transactionHash\": \"0x2f2fba977a888cfec598bc8e89b69250fe265061b64e04e72c46ee5d35ea6978\",\n          \"transactionIndex\": \"0x7c\",\n          \"logIndex\": \"0xd0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x55ad86f840fdeb660db5cb7e599bac670c6edc06107447e1569b63c9f385118d0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x81b450d8acf71caa3ef3adf2467319d8e5c2f069053675cdaa688137a4592081\",\n          \"blockNumber\": \"0x15fb31d\",\n          \"blockTimestamp\": \"0x688d34cb\",\n          \"transactionHash\": \"0x2f2fba977a888cfec598bc8e89b69250fe265061b64e04e72c46ee5d35ea6978\",\n          \"transactionIndex\": \"0x7c\",\n          \"logIndex\": \"0xd1\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000004000042000000000000000000080000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000002000000400000000000000002000000000000000c0000000000000000000000000000000800000000040000000000000000000200000000000000000000000000020000000000020000a0000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x2f2fba977a888cfec598bc8e89b69250fe265061b64e04e72c46ee5d35ea6978\",\n      \"transactionIndex\": \"0x7c\",\n      \"blockHash\": \"0x81b450d8acf71caa3ef3adf2467319d8e5c2f069053675cdaa688137a4592081\",\n      \"blockNumber\": \"0x15fb31d\",\n      \"gasUsed\": \"0x20bb2b\",\n      \"effectiveGasPrice\": \"0x12ee022d\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1754084558,\n  \"chain\": 1,\n  \"commit\": \"1fa78b1\"\n}"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/records/OPStackExecuteRecovery.s.sol/1/run-1754084607.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xb50926bfc92c3682cfab6384f890a250e25f6362da4de7fe5a65907e682240b3\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881\",\n        \"0\",\n        \"0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000a27f5f10d719a922ae5356cf0659181a2ab1538e0000000000000000000000006c667dd148550eaec6c2405d0c6a41b178bd6b8b000000000000000000000000d4356331f98a771b4c15894d8398cd69fa9bb3c7000000000000000000000000830edac5247ce8c6bd1d2fba7c1080c44b082531000000000000000000000000a3dac1819c5b23d100f3dbda6fab69e2dabce9650000000000000000000000000b9b8afc5d1cd125a0443a77d4d0ec5befa568ea0000000000000000000000004bc68a43110a924169ff677532e5c47f5554418c0000000000000000000000006f06258ab391787093d7b55fce6b8533917e77ee000000000000000000000000293fe082793d07ffb24adb9dd25d2dd23449344b0000000000000000000000005b9fa4d65e285a95dd9afbd1e357a19d9d4846b2000000000000000000000000974e7cb09f98813c242e12ce7428649f124f8082000000000000000000000000a7c3fe296f14ebd0961868629eba94e5d69566be0000000000000000000000002155739dca65fb5935a48247d181feeedc0da0a6000000000000000000000000e631e67b7855173c5ded9b7de4ed92bda3763a060000000000000000000000002a585078e660748b0b027e82b67d3716dd38439f000000000000000000000000933a1425851911907928bfd1a11deea1dd5823860000000000000000000000000c04fcfd4a57d7e16fe39965fcae0e5996ad2680000000000000000000000000bb87a9cb32a01cfbc122d596b0ae2fabb4272960000000000000000000000000b97ea41b493316935a20f959f9c4f9cc648472f300000000000000000000000037fea84a9780bebe3dedea3f0361e6803cbc68f20000000000000000000000002b96d4113ff5889a8962e18c517f109a1c1c8b34000000000000000000000000ec5a39c7131366a1571a9d157bd2825011c5617d0000000000000000000000007cc2ad1a4e9c9a1a2509730854ccd214ac28e57b0000000000000000000000002cb7a3c3bd679bc729222381613089d91bddfbdf000000000000000000000000763a0428caea9207095f3ad62e836aca4fb8e5350000000000000000000000001bd5c8d2f219d10cd628b192dec96978a07ed0990000000000000000000000000677558eae4886d6fd168ba4dd67024bb72b37fc000000000000000000000000de6b5d7e6f85fb98c99558c506dd43f13cdb03500000000000000000000000001293a5c33bbe3a2f0e2ba0f92e9c81faebf261a70000000000000000000000002c7baa596bf1d2f106f7763593720fb6e99040810000000000000000000000004b5bc29fff9b14903f291543e7afd693426dd60b000000000000000000000000d14f39a2ec103edabee2a1850e9c4bba46f226980000000000000000000000006b076f09206e0f1e70b4c7a17eb5ddfe1287f27d000000000000000000000000a5c5f7d0bbabd72d7662e01b40d5d9a25635af70000000000000000000000000df77fbaaae6ceb03d905bde4cdcc2c5b8baa907e0000000000000000000000001cf96f8d594bf73fe9b7ae638b7f24a37733ab52000000000000000000000000c8288c8ab5051e027b4793dce7207900dac8616f0000000000000000000000005a072a77686b04c4f710fc9e7c561d948f7d6dcb000000000000000000000000191c9dc2cd214b6497fa32c5ca7792f807842de300000000000000000000000023109f52fc3f4829f12e07ffb696d16690e9aad400000000000000000000000034f6c256608e4efba951a993c5cd8acbd2e427760000000000000000000000008b69288becd1210e7bd1ceb9a92b4fefc1ca4bd000000000000000000000000013fd69b56c699d5e57940326c75e72485d333821000000000000000000000000e4709a08474a8313928267145f4aa2ec44fbf8d40000000000000000000000008c640f57942acc9c17eb22cb0986a7b43b7d87c6000000000000000000000000774f491c06c84783fa4c5bf95b6f64a30d9d8f61000000000000000000000000c7baa93faf121cbd4888adc3fcbe28d40b942614000000000000000000000000bf8cd391ccc71073a1781a4f74847bc5f97a96000000000000000000000000008d753926910da148ca582d4bae9176bd7a527ca1000000000000000000000000f2f2ca28f7840325578677acc6b6bfedb41b74100000000000000000000000000a4eb272da9cf039c02b2dcd7de8cea569a280ef000000000000000000000000c8f1e19e9d68ac3c954929daacf6c87d4a2e95a7000000000000000000000000bdbf0ca9a2fd679e99c67f9de2761b747bf3479f0000000000000000000000008900d194b2e4aff75ff8244552e774324889d392000000000000000000000000a4c3a95c65dbfa3cae102780e4fc1a58862a4b9e00000000000000000000000048ec1fdf7d47fe7a96d8d0f3f505c3f81a092a03000000000000000000000000646d49bc45e1939e679d4ad9d79e4204c2ef8a20000000000000000000000000a393037efff2479c40b227bbffd652ea0b703720000000000000000000000000837e3405b5a11af3fa4ec7d4afe1c9f04693b1410000000000000000000000007ce21d95cd2e5065fa2e1cb7f44f913f2da9212e00000000000000000000000069f9c3b61ca28cc70b1bc5f333e26db70405d73300000000000000000000000093ce9ab599a2682604e3ebf7e837e3815d5ea9b00000000000000000000000003ab8c2c27a9c1a0b396758a77719e361b87240d600000000000000000000000043b8e790624db8c537ade0b251a62257dd36df480000000000000000000000004c122a2179f36f6259ea105c0b834130deb5d929000000000000000000000000bef8dcfc2a1f3a2b282352ef32612a6c044aadd0000000000000000000000000fb1f97cc1ed546da125fa01d132e20da2343c5670000000000000000000000000d306e578ce0057d3dca4660232cb6d9a492d9df000000000000000000000000de596a652395915d225945776d56098ec39c6c8f00000000000000000000000045df4d29bb45052e8e8d7c9285036a3e68a18d940000000000000000000000009978634b24f22a130d29f806d1c8b841e308161b0000000000000000000000001b5c4dd142d4513dee2edfe6a18e25ca676538220000000000000000000000003ee4b083d881b99541e118fa3366ce48e6c1589b000000000000000000000000e7f1239f0cc08411e722d523b7c7245884c73a2d0000000000000000000000003d989f9f948bfc0217db498f802cf709066f72510000000000000000000000003d55c084db798ce3abcaf0c50708aca3a011e4e6000000000000000000000000bcf7968022f9c2fd10b2cfc47fdf0d890d67206a0000000000000000000000007f79de52ef869e142615b18299d0228ee1c4d04500000000000000000000000080cd77685ed0b5bd3715d56ffa1dd5701e098687000000000000000000000000dbf723293730bd6cfc359a414aebb01d3bb201d20000000000000000000000009106a095c5678f110dae6e6160a42ca2a57fa6ac000000000000000000000000bfda4afd332e77fc6ed379a62a48192a62a5b8c20000000000000000000000005a0106b20a582ce07f2d959d322eeefa901fffad000000000000000000000000561d15339eb536cdf58e5995a4cadef661d093c90000000000000000000000003305889bfc01852957df14256462990700c54db4000000000000000000000000817d55884a7bd7f4b8c350ee6a58d6ee57729e2a00000000000000000000000019db26e00c1c2efb2aa302b03a92151d96aa6cbf000000000000000000000000081cd8d8e02c10f1a0d47d8be0808c040a3896b1000000000000000000000000726ee18f2a967139d8215ad69573c23f0acc01c300000000000000000000000043161d4fbf7c5bdf5629bbe2d037558e0c0ebe980000000000000000000000004b78ce43801566cc84c7a251dfd9e1ce53752c8c000000000000000000000000cbae977601b55afa4111de24ff4aa24e06a58625000000000000000000000000b86a1ba78c5db12a8c093f3b83c58a02ab329f3c00000000000000000000000068268a74c3a720338d1b56a8b9559d5813b080e60000000000000000000000000cdd4ccc898a35f1598e517e916ace8de134506e000000000000000000000000b9280066733cfdf647b9ebb59c670becf3bdf59c000000000000000000000000407383ce03aa643cec3a18a44f2185b239c273df0000000000000000000000002c2331f0a174606b44abba9d5682db96a776fad70000000000000000000000006e6ad728c5a5e4fa84f1bc836e3ae50228e52dfb00000000000000000000000024e9d00d2038c549d292fb572adaf449fa1c30eb0000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000002ba7def3000000000000000000000000000000000000000000000000000000002b89d25edbb0000000000000000000000000000000000000000000000000000021782aed800000000000000000000000000000000000000000000000000000001e8f1c10800000000000000000000000000000000000000000000000000000001e8f1c10800000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a20000000000000000000000000000000000000000000000000000000019338c11c000000000000000000000000000000000000000000000000000000015ca103cd80000000000000000000000000000000000000000000000000000001176592e0000000000000000000000000000000000000000000000000000000010e156350000000000000000000000000000000000000000000000000000000010bc1576c00000000000000000000000000000000000000000000000000000001096d4b8800000000000000000000000000000000000000000000000000000001096d4b880000000000000000000000000000000000000000000000000000000107193fa40000000000000000000000000000000000000000000000000000000107193fa40000000000000000000000000000000000000000000000000000000107193fa40000000000000000000000000000000000000000000000000000000106dc45e64000000000000000000000000000000000000000000000000000000105ef39b20000000000000000000000000000000000000000000000000000000104c533c00000000000000000000000000000000000000000000000000000000104c533c00000000000000000000000000000000000000000000000000000000104c533c000000000000000000000000000000000000000000000000000000001027127dc00000000000000000000000000000000000000000000000000000001027127dc00000000000000000000000000000000000000000000000000000001001d1bf800000000000000000000000000000000000000000000000000000001001d1bf800000000000000000000000000000000000000000000000000000001001d1bf800000000000000000000000000000000000000000000000000000000fb75043000000000000000000000000000000000000000000000000000000000f920f84c00000000000000000000000000000000000000000000000000000000f478e08400000000000000000000000000000000000000000000000000000000f2250266c0000000000000000000000000000000000000000000000000000000efd0c8bc00000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a510000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x7c404a19f78d6d9b10542051a8b49ab4fe1bd4415733694ff0aea40e11499f7739b8b796b39beb5d59132fc571b4b775db8d90bdc1abe834ab9c33e5cf73fd251c78b654b0bfbee63035935416bef854dd5639d98235f96dfe1961fb5cdcccd54c294d1b92024642be2f1e5fcc4bd05b77170fbdc7e9757f7d3bfb5e20fe22a83f1c7c1d2e9e1622df9bf5b4b1220e13b4eeee9a7951e48f600a75056570335c76387420ba8b3d9313a3fcd2eaef53eede2d31f8b4e4242890b21283649f82cb5d8e1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x2d3109\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc69839881000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001b84174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000a27f5f10d719a922ae5356cf0659181a2ab1538e0000000000000000000000006c667dd148550eaec6c2405d0c6a41b178bd6b8b000000000000000000000000d4356331f98a771b4c15894d8398cd69fa9bb3c7000000000000000000000000830edac5247ce8c6bd1d2fba7c1080c44b082531000000000000000000000000a3dac1819c5b23d100f3dbda6fab69e2dabce9650000000000000000000000000b9b8afc5d1cd125a0443a77d4d0ec5befa568ea0000000000000000000000004bc68a43110a924169ff677532e5c47f5554418c0000000000000000000000006f06258ab391787093d7b55fce6b8533917e77ee000000000000000000000000293fe082793d07ffb24adb9dd25d2dd23449344b0000000000000000000000005b9fa4d65e285a95dd9afbd1e357a19d9d4846b2000000000000000000000000974e7cb09f98813c242e12ce7428649f124f8082000000000000000000000000a7c3fe296f14ebd0961868629eba94e5d69566be0000000000000000000000002155739dca65fb5935a48247d181feeedc0da0a6000000000000000000000000e631e67b7855173c5ded9b7de4ed92bda3763a060000000000000000000000002a585078e660748b0b027e82b67d3716dd38439f000000000000000000000000933a1425851911907928bfd1a11deea1dd5823860000000000000000000000000c04fcfd4a57d7e16fe39965fcae0e5996ad2680000000000000000000000000bb87a9cb32a01cfbc122d596b0ae2fabb4272960000000000000000000000000b97ea41b493316935a20f959f9c4f9cc648472f300000000000000000000000037fea84a9780bebe3dedea3f0361e6803cbc68f20000000000000000000000002b96d4113ff5889a8962e18c517f109a1c1c8b34000000000000000000000000ec5a39c7131366a1571a9d157bd2825011c5617d0000000000000000000000007cc2ad1a4e9c9a1a2509730854ccd214ac28e57b0000000000000000000000002cb7a3c3bd679bc729222381613089d91bddfbdf000000000000000000000000763a0428caea9207095f3ad62e836aca4fb8e5350000000000000000000000001bd5c8d2f219d10cd628b192dec96978a07ed0990000000000000000000000000677558eae4886d6fd168ba4dd67024bb72b37fc000000000000000000000000de6b5d7e6f85fb98c99558c506dd43f13cdb03500000000000000000000000001293a5c33bbe3a2f0e2ba0f92e9c81faebf261a70000000000000000000000002c7baa596bf1d2f106f7763593720fb6e99040810000000000000000000000004b5bc29fff9b14903f291543e7afd693426dd60b000000000000000000000000d14f39a2ec103edabee2a1850e9c4bba46f226980000000000000000000000006b076f09206e0f1e70b4c7a17eb5ddfe1287f27d000000000000000000000000a5c5f7d0bbabd72d7662e01b40d5d9a25635af70000000000000000000000000df77fbaaae6ceb03d905bde4cdcc2c5b8baa907e0000000000000000000000001cf96f8d594bf73fe9b7ae638b7f24a37733ab52000000000000000000000000c8288c8ab5051e027b4793dce7207900dac8616f0000000000000000000000005a072a77686b04c4f710fc9e7c561d948f7d6dcb000000000000000000000000191c9dc2cd214b6497fa32c5ca7792f807842de300000000000000000000000023109f52fc3f4829f12e07ffb696d16690e9aad400000000000000000000000034f6c256608e4efba951a993c5cd8acbd2e427760000000000000000000000008b69288becd1210e7bd1ceb9a92b4fefc1ca4bd000000000000000000000000013fd69b56c699d5e57940326c75e72485d333821000000000000000000000000e4709a08474a8313928267145f4aa2ec44fbf8d40000000000000000000000008c640f57942acc9c17eb22cb0986a7b43b7d87c6000000000000000000000000774f491c06c84783fa4c5bf95b6f64a30d9d8f61000000000000000000000000c7baa93faf121cbd4888adc3fcbe28d40b942614000000000000000000000000bf8cd391ccc71073a1781a4f74847bc5f97a96000000000000000000000000008d753926910da148ca582d4bae9176bd7a527ca1000000000000000000000000f2f2ca28f7840325578677acc6b6bfedb41b74100000000000000000000000000a4eb272da9cf039c02b2dcd7de8cea569a280ef000000000000000000000000c8f1e19e9d68ac3c954929daacf6c87d4a2e95a7000000000000000000000000bdbf0ca9a2fd679e99c67f9de2761b747bf3479f0000000000000000000000008900d194b2e4aff75ff8244552e774324889d392000000000000000000000000a4c3a95c65dbfa3cae102780e4fc1a58862a4b9e00000000000000000000000048ec1fdf7d47fe7a96d8d0f3f505c3f81a092a03000000000000000000000000646d49bc45e1939e679d4ad9d79e4204c2ef8a20000000000000000000000000a393037efff2479c40b227bbffd652ea0b703720000000000000000000000000837e3405b5a11af3fa4ec7d4afe1c9f04693b1410000000000000000000000007ce21d95cd2e5065fa2e1cb7f44f913f2da9212e00000000000000000000000069f9c3b61ca28cc70b1bc5f333e26db70405d73300000000000000000000000093ce9ab599a2682604e3ebf7e837e3815d5ea9b00000000000000000000000003ab8c2c27a9c1a0b396758a77719e361b87240d600000000000000000000000043b8e790624db8c537ade0b251a62257dd36df480000000000000000000000004c122a2179f36f6259ea105c0b834130deb5d929000000000000000000000000bef8dcfc2a1f3a2b282352ef32612a6c044aadd0000000000000000000000000fb1f97cc1ed546da125fa01d132e20da2343c5670000000000000000000000000d306e578ce0057d3dca4660232cb6d9a492d9df000000000000000000000000de596a652395915d225945776d56098ec39c6c8f00000000000000000000000045df4d29bb45052e8e8d7c9285036a3e68a18d940000000000000000000000009978634b24f22a130d29f806d1c8b841e308161b0000000000000000000000001b5c4dd142d4513dee2edfe6a18e25ca676538220000000000000000000000003ee4b083d881b99541e118fa3366ce48e6c1589b000000000000000000000000e7f1239f0cc08411e722d523b7c7245884c73a2d0000000000000000000000003d989f9f948bfc0217db498f802cf709066f72510000000000000000000000003d55c084db798ce3abcaf0c50708aca3a011e4e6000000000000000000000000bcf7968022f9c2fd10b2cfc47fdf0d890d67206a0000000000000000000000007f79de52ef869e142615b18299d0228ee1c4d04500000000000000000000000080cd77685ed0b5bd3715d56ffa1dd5701e098687000000000000000000000000dbf723293730bd6cfc359a414aebb01d3bb201d20000000000000000000000009106a095c5678f110dae6e6160a42ca2a57fa6ac000000000000000000000000bfda4afd332e77fc6ed379a62a48192a62a5b8c20000000000000000000000005a0106b20a582ce07f2d959d322eeefa901fffad000000000000000000000000561d15339eb536cdf58e5995a4cadef661d093c90000000000000000000000003305889bfc01852957df14256462990700c54db4000000000000000000000000817d55884a7bd7f4b8c350ee6a58d6ee57729e2a00000000000000000000000019db26e00c1c2efb2aa302b03a92151d96aa6cbf000000000000000000000000081cd8d8e02c10f1a0d47d8be0808c040a3896b1000000000000000000000000726ee18f2a967139d8215ad69573c23f0acc01c300000000000000000000000043161d4fbf7c5bdf5629bbe2d037558e0c0ebe980000000000000000000000004b78ce43801566cc84c7a251dfd9e1ce53752c8c000000000000000000000000cbae977601b55afa4111de24ff4aa24e06a58625000000000000000000000000b86a1ba78c5db12a8c093f3b83c58a02ab329f3c00000000000000000000000068268a74c3a720338d1b56a8b9559d5813b080e60000000000000000000000000cdd4ccc898a35f1598e517e916ace8de134506e000000000000000000000000b9280066733cfdf647b9ebb59c670becf3bdf59c000000000000000000000000407383ce03aa643cec3a18a44f2185b239c273df0000000000000000000000002c2331f0a174606b44abba9d5682db96a776fad70000000000000000000000006e6ad728c5a5e4fa84f1bc836e3ae50228e52dfb00000000000000000000000024e9d00d2038c549d292fb572adaf449fa1c30eb0000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000002ba7def3000000000000000000000000000000000000000000000000000000002b89d25edbb0000000000000000000000000000000000000000000000000000021782aed800000000000000000000000000000000000000000000000000000001e8f1c10800000000000000000000000000000000000000000000000000000001e8f1c10800000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a20000000000000000000000000000000000000000000000000000000019338c11c000000000000000000000000000000000000000000000000000000015ca103cd80000000000000000000000000000000000000000000000000000001176592e0000000000000000000000000000000000000000000000000000000010e156350000000000000000000000000000000000000000000000000000000010bc1576c00000000000000000000000000000000000000000000000000000001096d4b8800000000000000000000000000000000000000000000000000000001096d4b880000000000000000000000000000000000000000000000000000000107193fa40000000000000000000000000000000000000000000000000000000107193fa40000000000000000000000000000000000000000000000000000000107193fa40000000000000000000000000000000000000000000000000000000106dc45e64000000000000000000000000000000000000000000000000000000105ef39b20000000000000000000000000000000000000000000000000000000104c533c00000000000000000000000000000000000000000000000000000000104c533c00000000000000000000000000000000000000000000000000000000104c533c000000000000000000000000000000000000000000000000000000001027127dc00000000000000000000000000000000000000000000000000000001027127dc00000000000000000000000000000000000000000000000000000001001d1bf800000000000000000000000000000000000000000000000000000001001d1bf800000000000000000000000000000000000000000000000000000001001d1bf800000000000000000000000000000000000000000000000000000000fb75043000000000000000000000000000000000000000000000000000000000f920f84c00000000000000000000000000000000000000000000000000000000f478e08400000000000000000000000000000000000000000000000000000000f2250266c0000000000000000000000000000000000000000000000000000000efd0c8bc00000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a5100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c37c404a19f78d6d9b10542051a8b49ab4fe1bd4415733694ff0aea40e11499f7739b8b796b39beb5d59132fc571b4b775db8d90bdc1abe834ab9c33e5cf73fd251c78b654b0bfbee63035935416bef854dd5639d98235f96dfe1961fb5cdcccd54c294d1b92024642be2f1e5fcc4bd05b77170fbdc7e9757f7d3bfb5e20fe22a83f1c7c1d2e9e1622df9bf5b4b1220e13b4eeee9a7951e48f600a75056570335c76387420ba8b3d9313a3fcd2eaef53eede2d31f8b4e4242890b21283649f82cb5d8e1b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x33\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1fe01cf\",\n      \"logs\": [\n        {\n          \"address\": \"0x49048044d57e1c92a77f79988d21fa8faf74e97e\",\n          \"topics\": [\n            \"0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32\",\n            \"0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167\",\n            \"0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000019cd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e848000501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000a27f5f10d719a922ae5356cf0659181a2ab1538e0000000000000000000000006c667dd148550eaec6c2405d0c6a41b178bd6b8b000000000000000000000000d4356331f98a771b4c15894d8398cd69fa9bb3c7000000000000000000000000830edac5247ce8c6bd1d2fba7c1080c44b082531000000000000000000000000a3dac1819c5b23d100f3dbda6fab69e2dabce9650000000000000000000000000b9b8afc5d1cd125a0443a77d4d0ec5befa568ea0000000000000000000000004bc68a43110a924169ff677532e5c47f5554418c0000000000000000000000006f06258ab391787093d7b55fce6b8533917e77ee000000000000000000000000293fe082793d07ffb24adb9dd25d2dd23449344b0000000000000000000000005b9fa4d65e285a95dd9afbd1e357a19d9d4846b2000000000000000000000000974e7cb09f98813c242e12ce7428649f124f8082000000000000000000000000a7c3fe296f14ebd0961868629eba94e5d69566be0000000000000000000000002155739dca65fb5935a48247d181feeedc0da0a6000000000000000000000000e631e67b7855173c5ded9b7de4ed92bda3763a060000000000000000000000002a585078e660748b0b027e82b67d3716dd38439f000000000000000000000000933a1425851911907928bfd1a11deea1dd5823860000000000000000000000000c04fcfd4a57d7e16fe39965fcae0e5996ad2680000000000000000000000000bb87a9cb32a01cfbc122d596b0ae2fabb4272960000000000000000000000000b97ea41b493316935a20f959f9c4f9cc648472f300000000000000000000000037fea84a9780bebe3dedea3f0361e6803cbc68f20000000000000000000000002b96d4113ff5889a8962e18c517f109a1c1c8b34000000000000000000000000ec5a39c7131366a1571a9d157bd2825011c5617d0000000000000000000000007cc2ad1a4e9c9a1a2509730854ccd214ac28e57b0000000000000000000000002cb7a3c3bd679bc729222381613089d91bddfbdf000000000000000000000000763a0428caea9207095f3ad62e836aca4fb8e5350000000000000000000000001bd5c8d2f219d10cd628b192dec96978a07ed0990000000000000000000000000677558eae4886d6fd168ba4dd67024bb72b37fc000000000000000000000000de6b5d7e6f85fb98c99558c506dd43f13cdb03500000000000000000000000001293a5c33bbe3a2f0e2ba0f92e9c81faebf261a70000000000000000000000002c7baa596bf1d2f106f7763593720fb6e99040810000000000000000000000004b5bc29fff9b14903f291543e7afd693426dd60b000000000000000000000000d14f39a2ec103edabee2a1850e9c4bba46f226980000000000000000000000006b076f09206e0f1e70b4c7a17eb5ddfe1287f27d000000000000000000000000a5c5f7d0bbabd72d7662e01b40d5d9a25635af70000000000000000000000000df77fbaaae6ceb03d905bde4cdcc2c5b8baa907e0000000000000000000000001cf96f8d594bf73fe9b7ae638b7f24a37733ab52000000000000000000000000c8288c8ab5051e027b4793dce7207900dac8616f0000000000000000000000005a072a77686b04c4f710fc9e7c561d948f7d6dcb000000000000000000000000191c9dc2cd214b6497fa32c5ca7792f807842de300000000000000000000000023109f52fc3f4829f12e07ffb696d16690e9aad400000000000000000000000034f6c256608e4efba951a993c5cd8acbd2e427760000000000000000000000008b69288becd1210e7bd1ceb9a92b4fefc1ca4bd000000000000000000000000013fd69b56c699d5e57940326c75e72485d333821000000000000000000000000e4709a08474a8313928267145f4aa2ec44fbf8d40000000000000000000000008c640f57942acc9c17eb22cb0986a7b43b7d87c6000000000000000000000000774f491c06c84783fa4c5bf95b6f64a30d9d8f61000000000000000000000000c7baa93faf121cbd4888adc3fcbe28d40b942614000000000000000000000000bf8cd391ccc71073a1781a4f74847bc5f97a96000000000000000000000000008d753926910da148ca582d4bae9176bd7a527ca1000000000000000000000000f2f2ca28f7840325578677acc6b6bfedb41b74100000000000000000000000000a4eb272da9cf039c02b2dcd7de8cea569a280ef000000000000000000000000c8f1e19e9d68ac3c954929daacf6c87d4a2e95a7000000000000000000000000bdbf0ca9a2fd679e99c67f9de2761b747bf3479f0000000000000000000000008900d194b2e4aff75ff8244552e774324889d392000000000000000000000000a4c3a95c65dbfa3cae102780e4fc1a58862a4b9e00000000000000000000000048ec1fdf7d47fe7a96d8d0f3f505c3f81a092a03000000000000000000000000646d49bc45e1939e679d4ad9d79e4204c2ef8a20000000000000000000000000a393037efff2479c40b227bbffd652ea0b703720000000000000000000000000837e3405b5a11af3fa4ec7d4afe1c9f04693b1410000000000000000000000007ce21d95cd2e5065fa2e1cb7f44f913f2da9212e00000000000000000000000069f9c3b61ca28cc70b1bc5f333e26db70405d73300000000000000000000000093ce9ab599a2682604e3ebf7e837e3815d5ea9b00000000000000000000000003ab8c2c27a9c1a0b396758a77719e361b87240d600000000000000000000000043b8e790624db8c537ade0b251a62257dd36df480000000000000000000000004c122a2179f36f6259ea105c0b834130deb5d929000000000000000000000000bef8dcfc2a1f3a2b282352ef32612a6c044aadd0000000000000000000000000fb1f97cc1ed546da125fa01d132e20da2343c5670000000000000000000000000d306e578ce0057d3dca4660232cb6d9a492d9df000000000000000000000000de596a652395915d225945776d56098ec39c6c8f00000000000000000000000045df4d29bb45052e8e8d7c9285036a3e68a18d940000000000000000000000009978634b24f22a130d29f806d1c8b841e308161b0000000000000000000000001b5c4dd142d4513dee2edfe6a18e25ca676538220000000000000000000000003ee4b083d881b99541e118fa3366ce48e6c1589b000000000000000000000000e7f1239f0cc08411e722d523b7c7245884c73a2d0000000000000000000000003d989f9f948bfc0217db498f802cf709066f72510000000000000000000000003d55c084db798ce3abcaf0c50708aca3a011e4e6000000000000000000000000bcf7968022f9c2fd10b2cfc47fdf0d890d67206a0000000000000000000000007f79de52ef869e142615b18299d0228ee1c4d04500000000000000000000000080cd77685ed0b5bd3715d56ffa1dd5701e098687000000000000000000000000dbf723293730bd6cfc359a414aebb01d3bb201d20000000000000000000000009106a095c5678f110dae6e6160a42ca2a57fa6ac000000000000000000000000bfda4afd332e77fc6ed379a62a48192a62a5b8c20000000000000000000000005a0106b20a582ce07f2d959d322eeefa901fffad000000000000000000000000561d15339eb536cdf58e5995a4cadef661d093c90000000000000000000000003305889bfc01852957df14256462990700c54db4000000000000000000000000817d55884a7bd7f4b8c350ee6a58d6ee57729e2a00000000000000000000000019db26e00c1c2efb2aa302b03a92151d96aa6cbf000000000000000000000000081cd8d8e02c10f1a0d47d8be0808c040a3896b1000000000000000000000000726ee18f2a967139d8215ad69573c23f0acc01c300000000000000000000000043161d4fbf7c5bdf5629bbe2d037558e0c0ebe980000000000000000000000004b78ce43801566cc84c7a251dfd9e1ce53752c8c000000000000000000000000cbae977601b55afa4111de24ff4aa24e06a58625000000000000000000000000b86a1ba78c5db12a8c093f3b83c58a02ab329f3c00000000000000000000000068268a74c3a720338d1b56a8b9559d5813b080e60000000000000000000000000cdd4ccc898a35f1598e517e916ace8de134506e000000000000000000000000b9280066733cfdf647b9ebb59c670becf3bdf59c000000000000000000000000407383ce03aa643cec3a18a44f2185b239c273df0000000000000000000000002c2331f0a174606b44abba9d5682db96a776fad70000000000000000000000006e6ad728c5a5e4fa84f1bc836e3ae50228e52dfb00000000000000000000000024e9d00d2038c549d292fb572adaf449fa1c30eb0000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000002ba7def3000000000000000000000000000000000000000000000000000000002b89d25edbb0000000000000000000000000000000000000000000000000000021782aed800000000000000000000000000000000000000000000000000000001e8f1c10800000000000000000000000000000000000000000000000000000001e8f1c10800000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a20000000000000000000000000000000000000000000000000000000019338c11c000000000000000000000000000000000000000000000000000000015ca103cd80000000000000000000000000000000000000000000000000000001176592e0000000000000000000000000000000000000000000000000000000010e156350000000000000000000000000000000000000000000000000000000010bc1576c00000000000000000000000000000000000000000000000000000001096d4b8800000000000000000000000000000000000000000000000000000001096d4b880000000000000000000000000000000000000000000000000000000107193fa40000000000000000000000000000000000000000000000000000000107193fa40000000000000000000000000000000000000000000000000000000107193fa40000000000000000000000000000000000000000000000000000000106dc45e64000000000000000000000000000000000000000000000000000000105ef39b20000000000000000000000000000000000000000000000000000000104c533c00000000000000000000000000000000000000000000000000000000104c533c00000000000000000000000000000000000000000000000000000000104c533c000000000000000000000000000000000000000000000000000000001027127dc00000000000000000000000000000000000000000000000000000001027127dc00000000000000000000000000000000000000000000000000000001001d1bf800000000000000000000000000000000000000000000000000000001001d1bf800000000000000000000000000000000000000000000000000000001001d1bf800000000000000000000000000000000000000000000000000000000fb75043000000000000000000000000000000000000000000000000000000000f920f84c00000000000000000000000000000000000000000000000000000000f478e08400000000000000000000000000000000000000000000000000000000f2250266c0000000000000000000000000000000000000000000000000000000efd0c8bc00000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a5100000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x8153cb1b13d55754a3f0714f886b6a0c7cd2d821c47cd821d1429ecc4f857cee\",\n          \"blockNumber\": \"0x15fb320\",\n          \"blockTimestamp\": \"0x688d34fb\",\n          \"transactionHash\": \"0xb50926bfc92c3682cfab6384f890a250e25f6362da4de7fe5a65907e682240b3\",\n          \"transactionIndex\": \"0x1b9\",\n          \"logIndex\": \"0x330\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x64d73fe34db0ff5d777d8722c2e8e658fade75df20db27134d35799554f3b4b20000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x8153cb1b13d55754a3f0714f886b6a0c7cd2d821c47cd821d1429ecc4f857cee\",\n          \"blockNumber\": \"0x15fb320\",\n          \"blockTimestamp\": \"0x688d34fb\",\n          \"transactionHash\": \"0xb50926bfc92c3682cfab6384f890a250e25f6362da4de7fe5a65907e682240b3\",\n          \"transactionIndex\": \"0x1b9\",\n          \"logIndex\": \"0x331\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000004000042000000000000000000080000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000002000000400000000000000002000000000000000c0000000000000000000000000000000800000000040000000000000000000200000000000000000000000000020000000000020000a0000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xb50926bfc92c3682cfab6384f890a250e25f6362da4de7fe5a65907e682240b3\",\n      \"transactionIndex\": \"0x1b9\",\n      \"blockHash\": \"0x8153cb1b13d55754a3f0714f886b6a0c7cd2d821c47cd821d1429ecc4f857cee\",\n      \"blockNumber\": \"0x15fb320\",\n      \"gasUsed\": \"0x20b812\",\n      \"effectiveGasPrice\": \"0x11ea0930\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1754084607,\n  \"chain\": 1,\n  \"commit\": \"1fa78b1\"\n}"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/records/OPStackExecuteRecovery.s.sol/1/run-1754084632.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x4309f9ead3ebb00761596969bf9dda9b17be5a5ff671eaece81725e57439e1f4\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881\",\n        \"0\",\n        \"0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000134dbd22768b5dbcc22264a2318c30e7138ec61e000000000000000000000000fe6939c22fdfc93141bd52a2b88353b76d9c749d000000000000000000000000fc72c9bf3353daab801e15a60d5d3ec3413fb2de0000000000000000000000007006094dcd29bcf2040009bcaf0626559dc34378000000000000000000000000a9da165216d0e1032b6db3985436e339cc3ba224000000000000000000000000bd4106934dac10e2b65bc9390caedd45bd57ab04000000000000000000000000c261509bb99c1b9dd4f0e2b0cbe01ca8490d4ccf0000000000000000000000002d300cf2651b6dd52ed5c948ae8e6dbec4883c0200000000000000000000000039453acb2c916039310b28e799bba8e262ba9a11000000000000000000000000ab4b1dbf08e7a219dbde10796c7f6c372be161fa00000000000000000000000039ded12296c983e4e9137ae21957436aba3ef5af0000000000000000000000001b55bdc6f3569ff8e061372cffc76f4bec92bb5800000000000000000000000008455a4855ec07384195a1a2378da312705970450000000000000000000000003a8267cf536e00aca465f5bd70b8276674d4e28e000000000000000000000000b00795aa07c9950abbdbd1677f2ba2260e83229d0000000000000000000000005cc69616c6a7f041eca97ca7354fbafbfd4549fd000000000000000000000000eccc8797b2dd85d9248fd3b7dc32e913a33b56f2000000000000000000000000f0757d6a48d23fe31699d529f1dc0e8763da97eb00000000000000000000000024fb7ce1b8b6c8a8eab2d72eb69a32880ad3dbd60000000000000000000000007ec4cf225b797c9ded326ebc9694a10103d9888000000000000000000000000008ddfaee3b690aa100291cbe38d993c4baddec95000000000000000000000000d4027cc7ceb7916c598d019dcfe3cac2f8a9d65b00000000000000000000000020b7be1df5f79a779bfe2b287693f133738ae3070000000000000000000000006513460ea3460396c8db2e54bffb7f0ef39463d80000000000000000000000007cb3699eea9767bbe797a54369982bdf00a4db62000000000000000000000000b715841ff5bd993d88a0a7c9c14c30efeeb6f5fb000000000000000000000000fe1ae2189bc9920e283b46efd3e5a004a5aa8ecd000000000000000000000000f1784ba80220f0c5c4a4a4b66051b0afd34e788a00000000000000000000000009aede0811eaefb926f300657e54bbd2fe6ee2290000000000000000000000007758ac8360541c886d4facc8b68968db76862d5800000000000000000000000031c266c157d57155632e47046e35d2f640c6d203000000000000000000000000cdd469de67665eaf025da57a350750c960da5a58000000000000000000000000028dd5a007676196d912968f64a10682db865850000000000000000000000000ad09015b215e85c4e29519eaa45af09290f21579000000000000000000000000dfa9a81613a55884e99c2af8f96340b62f2f57f60000000000000000000000000d6a9963f7b362c3d50cfdfdc9207b4d8e766c1300000000000000000000000098242117840cdfefc6943eabb1bc09340643326c0000000000000000000000008a71d5797ca300383d21db761fd2f4e2f3d33140000000000000000000000000a4a9624aef063ad725ef9361ece47db553112aa3000000000000000000000000acea66d815546c4a636efa83c93f7f06748035ea0000000000000000000000001c279c06a4f8918f03b32ef985290a5236e1b0fb000000000000000000000000e798356df129a74738933c474c3489f5ff7e3dcd0000000000000000000000005f23fe68a7a9cfead224e5f62480f37834d556ce0000000000000000000000008eb093010713cb58b2bf46992c1a07b592502271000000000000000000000000f6aeca1a83e6d0ec9064adcd7b60ee4ceefacf530000000000000000000000004c92677321f60a0dc709bdc4a9a41766c4cb1c4300000000000000000000000020d6b8c56a67ab6ae3423798ae40ded3a19c9a610000000000000000000000004f49e89b1530387002734589e8d4227665e1f25800000000000000000000000020134f2a91d7ceb746f54249f0626abc94f9858a0000000000000000000000004f0f2f2ca9612cfbc7ee77a9690919cd016812e1000000000000000000000000cf0a573a52dcb2b2c57c93c60ae4b2c4244244b60000000000000000000000008cc62a24fd891d4cf7793423e52c1556671198b600000000000000000000000031577a229fc2ec0ad5630546d576dc753feeaafb000000000000000000000000606a03cadd4b369b8066e748f328efd8772cc1d80000000000000000000000003a9da8b89dcee94dcf55af051b0ac3b146ad703500000000000000000000000053787ee1b2628b8f2c3cd166e37c2a7617092dd30000000000000000000000007abfa4e445890a6ad8d04de2bfb534a1710f522d000000000000000000000000e1d2349cca2d20c2c8d2a3d4a292ff7b97febda90000000000000000000000007b3e46a6823db3718bf0d4dde0254be6060728cb000000000000000000000000011230a5cfa00d171c41320f0bda47f6ec8596b3000000000000000000000000829ee1e2e04f2689d63667e65eaa105c20e0cb6d000000000000000000000000cb73230d560454eb71da78087f588557b534d5a00000000000000000000000004e68a02c458211f4fd016ba2b988bfa108ad038200000000000000000000000068f58fb15af6a6417f1ba5c33eacac2e5ae46723000000000000000000000000cc7897bb6c0e396a595c01d9fd55b304a60f3e65000000000000000000000000d81ad3c1315936797559454cab254dd71867f3590000000000000000000000009e53067855d1f5619d1ab8b7f7a9b944396111f80000000000000000000000003f18879e511cbd6520a686cf3bb1c5413afc9b3600000000000000000000000019f564dd97fe3ff3ca7cfdf2df5db2dbaf960b56000000000000000000000000a7ffd3f4e162ddef1e576f4b03322f236ceeb454000000000000000000000000999490c494d0cea386d6936cede53b0203195930000000000000000000000000132e5ca01addf97ba14ba083d6490f8dc43eeffc000000000000000000000000288ab636ad77f0bef17cff8beb07828d48a60d010000000000000000000000006bd64abc231238de0e523b06793b578770f3e5b9000000000000000000000000b92a6ee060f5fd6d71c3fc0708cb9bacf584e7fa0000000000000000000000008c52bc53f14107993a80736605ee8e5a115536db00000000000000000000000071fbf5bfbb4a739d3eb21526fffa7aada7bef94f00000000000000000000000015773e75e8665ec15eaee8c0006d87b3d059ad6d000000000000000000000000a4a3eabdf7d0a0e98c793915890a89e63bb39a770000000000000000000000003619e40de14b98929c0bcac51e890c49263fdf9c00000000000000000000000065b12ffb0dd7b7fdc81276db5bac10bad34fc284000000000000000000000000eea8692028e67f5945640292298969d5a8eeb08500000000000000000000000089efbd2c494a594517aa21c3335841e08c8dc7ce000000000000000000000000b7ebf31e678d3c3fc1da8447550f11421993fc90000000000000000000000000d98be577b6b15054c1937b1805c7ca5e2f9d965d00000000000000000000000035c295f087dc430fb8ac940e2104e48d25c4b4f300000000000000000000000036d3fb5b39399a0d3968747f3b95637d7b1ff82b00000000000000000000000080a885596d1e9d61b15beb0f44001ddd3b1b4a39000000000000000000000000d9529f1bbd43cad5bcc14f1f5156ad937bf9cf690000000000000000000000002c5913a7da17a2890841ee01b94fc48f0ec44010000000000000000000000000445119c4aa2d6bad74464d760c4df52b2761dbd50000000000000000000000008296eac3de8a68ff557964414936a14644a1518f0000000000000000000000001c7d6e73ab8685eb796c6ead71accd9132c883a6000000000000000000000000fb3508dd82aed931b8bb97a81880c61bb25102120000000000000000000000007eff5924eb3d70c10870ebb1ce244ae80d7967cf0000000000000000000000005a914e0c891145f4a0a9610a670e70314989532200000000000000000000000055a1cd90c5fb0dd3abe513f547ed8068d960d3b40000000000000000000000008fd4bade9eb2ef70c037993a1f5843e84f467f5e0000000000000000000000000bc708103ad4c076f0cb6faeaeec67c85bed525c0000000000000000000000008c72a952c259ebccbee01f28f43de45de61ed43b0000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a510000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x9caf1bbcc2dab6ef4beb461124faab5cc3124e8ec8609c79caaad8b98eb0e69737413b02df47433a83caf73820c03764052ca57cc777ed7da302c2b08a4cfdbe1c66c312597baced259ca204bfcb8dca68d6398606716d7344f04cb4113cda9ac915c3caa107bdbeeba7b951f9093260550dd91b1635fee1ab3145e6f08f25aff71cf0d971207c6c215b8dd9f985432e0a037d8353f765b2828e4f3b5a6c851a7afd0c1c5c999440f2f1cca8dfe8f61fac2a4c35f067a4d3c236b5de76975faa0be51c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x2d2eb4\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc69839881000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001b84174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000134dbd22768b5dbcc22264a2318c30e7138ec61e000000000000000000000000fe6939c22fdfc93141bd52a2b88353b76d9c749d000000000000000000000000fc72c9bf3353daab801e15a60d5d3ec3413fb2de0000000000000000000000007006094dcd29bcf2040009bcaf0626559dc34378000000000000000000000000a9da165216d0e1032b6db3985436e339cc3ba224000000000000000000000000bd4106934dac10e2b65bc9390caedd45bd57ab04000000000000000000000000c261509bb99c1b9dd4f0e2b0cbe01ca8490d4ccf0000000000000000000000002d300cf2651b6dd52ed5c948ae8e6dbec4883c0200000000000000000000000039453acb2c916039310b28e799bba8e262ba9a11000000000000000000000000ab4b1dbf08e7a219dbde10796c7f6c372be161fa00000000000000000000000039ded12296c983e4e9137ae21957436aba3ef5af0000000000000000000000001b55bdc6f3569ff8e061372cffc76f4bec92bb5800000000000000000000000008455a4855ec07384195a1a2378da312705970450000000000000000000000003a8267cf536e00aca465f5bd70b8276674d4e28e000000000000000000000000b00795aa07c9950abbdbd1677f2ba2260e83229d0000000000000000000000005cc69616c6a7f041eca97ca7354fbafbfd4549fd000000000000000000000000eccc8797b2dd85d9248fd3b7dc32e913a33b56f2000000000000000000000000f0757d6a48d23fe31699d529f1dc0e8763da97eb00000000000000000000000024fb7ce1b8b6c8a8eab2d72eb69a32880ad3dbd60000000000000000000000007ec4cf225b797c9ded326ebc9694a10103d9888000000000000000000000000008ddfaee3b690aa100291cbe38d993c4baddec95000000000000000000000000d4027cc7ceb7916c598d019dcfe3cac2f8a9d65b00000000000000000000000020b7be1df5f79a779bfe2b287693f133738ae3070000000000000000000000006513460ea3460396c8db2e54bffb7f0ef39463d80000000000000000000000007cb3699eea9767bbe797a54369982bdf00a4db62000000000000000000000000b715841ff5bd993d88a0a7c9c14c30efeeb6f5fb000000000000000000000000fe1ae2189bc9920e283b46efd3e5a004a5aa8ecd000000000000000000000000f1784ba80220f0c5c4a4a4b66051b0afd34e788a00000000000000000000000009aede0811eaefb926f300657e54bbd2fe6ee2290000000000000000000000007758ac8360541c886d4facc8b68968db76862d5800000000000000000000000031c266c157d57155632e47046e35d2f640c6d203000000000000000000000000cdd469de67665eaf025da57a350750c960da5a58000000000000000000000000028dd5a007676196d912968f64a10682db865850000000000000000000000000ad09015b215e85c4e29519eaa45af09290f21579000000000000000000000000dfa9a81613a55884e99c2af8f96340b62f2f57f60000000000000000000000000d6a9963f7b362c3d50cfdfdc9207b4d8e766c1300000000000000000000000098242117840cdfefc6943eabb1bc09340643326c0000000000000000000000008a71d5797ca300383d21db761fd2f4e2f3d33140000000000000000000000000a4a9624aef063ad725ef9361ece47db553112aa3000000000000000000000000acea66d815546c4a636efa83c93f7f06748035ea0000000000000000000000001c279c06a4f8918f03b32ef985290a5236e1b0fb000000000000000000000000e798356df129a74738933c474c3489f5ff7e3dcd0000000000000000000000005f23fe68a7a9cfead224e5f62480f37834d556ce0000000000000000000000008eb093010713cb58b2bf46992c1a07b592502271000000000000000000000000f6aeca1a83e6d0ec9064adcd7b60ee4ceefacf530000000000000000000000004c92677321f60a0dc709bdc4a9a41766c4cb1c4300000000000000000000000020d6b8c56a67ab6ae3423798ae40ded3a19c9a610000000000000000000000004f49e89b1530387002734589e8d4227665e1f25800000000000000000000000020134f2a91d7ceb746f54249f0626abc94f9858a0000000000000000000000004f0f2f2ca9612cfbc7ee77a9690919cd016812e1000000000000000000000000cf0a573a52dcb2b2c57c93c60ae4b2c4244244b60000000000000000000000008cc62a24fd891d4cf7793423e52c1556671198b600000000000000000000000031577a229fc2ec0ad5630546d576dc753feeaafb000000000000000000000000606a03cadd4b369b8066e748f328efd8772cc1d80000000000000000000000003a9da8b89dcee94dcf55af051b0ac3b146ad703500000000000000000000000053787ee1b2628b8f2c3cd166e37c2a7617092dd30000000000000000000000007abfa4e445890a6ad8d04de2bfb534a1710f522d000000000000000000000000e1d2349cca2d20c2c8d2a3d4a292ff7b97febda90000000000000000000000007b3e46a6823db3718bf0d4dde0254be6060728cb000000000000000000000000011230a5cfa00d171c41320f0bda47f6ec8596b3000000000000000000000000829ee1e2e04f2689d63667e65eaa105c20e0cb6d000000000000000000000000cb73230d560454eb71da78087f588557b534d5a00000000000000000000000004e68a02c458211f4fd016ba2b988bfa108ad038200000000000000000000000068f58fb15af6a6417f1ba5c33eacac2e5ae46723000000000000000000000000cc7897bb6c0e396a595c01d9fd55b304a60f3e65000000000000000000000000d81ad3c1315936797559454cab254dd71867f3590000000000000000000000009e53067855d1f5619d1ab8b7f7a9b944396111f80000000000000000000000003f18879e511cbd6520a686cf3bb1c5413afc9b3600000000000000000000000019f564dd97fe3ff3ca7cfdf2df5db2dbaf960b56000000000000000000000000a7ffd3f4e162ddef1e576f4b03322f236ceeb454000000000000000000000000999490c494d0cea386d6936cede53b0203195930000000000000000000000000132e5ca01addf97ba14ba083d6490f8dc43eeffc000000000000000000000000288ab636ad77f0bef17cff8beb07828d48a60d010000000000000000000000006bd64abc231238de0e523b06793b578770f3e5b9000000000000000000000000b92a6ee060f5fd6d71c3fc0708cb9bacf584e7fa0000000000000000000000008c52bc53f14107993a80736605ee8e5a115536db00000000000000000000000071fbf5bfbb4a739d3eb21526fffa7aada7bef94f00000000000000000000000015773e75e8665ec15eaee8c0006d87b3d059ad6d000000000000000000000000a4a3eabdf7d0a0e98c793915890a89e63bb39a770000000000000000000000003619e40de14b98929c0bcac51e890c49263fdf9c00000000000000000000000065b12ffb0dd7b7fdc81276db5bac10bad34fc284000000000000000000000000eea8692028e67f5945640292298969d5a8eeb08500000000000000000000000089efbd2c494a594517aa21c3335841e08c8dc7ce000000000000000000000000b7ebf31e678d3c3fc1da8447550f11421993fc90000000000000000000000000d98be577b6b15054c1937b1805c7ca5e2f9d965d00000000000000000000000035c295f087dc430fb8ac940e2104e48d25c4b4f300000000000000000000000036d3fb5b39399a0d3968747f3b95637d7b1ff82b00000000000000000000000080a885596d1e9d61b15beb0f44001ddd3b1b4a39000000000000000000000000d9529f1bbd43cad5bcc14f1f5156ad937bf9cf690000000000000000000000002c5913a7da17a2890841ee01b94fc48f0ec44010000000000000000000000000445119c4aa2d6bad74464d760c4df52b2761dbd50000000000000000000000008296eac3de8a68ff557964414936a14644a1518f0000000000000000000000001c7d6e73ab8685eb796c6ead71accd9132c883a6000000000000000000000000fb3508dd82aed931b8bb97a81880c61bb25102120000000000000000000000007eff5924eb3d70c10870ebb1ce244ae80d7967cf0000000000000000000000005a914e0c891145f4a0a9610a670e70314989532200000000000000000000000055a1cd90c5fb0dd3abe513f547ed8068d960d3b40000000000000000000000008fd4bade9eb2ef70c037993a1f5843e84f467f5e0000000000000000000000000bc708103ad4c076f0cb6faeaeec67c85bed525c0000000000000000000000008c72a952c259ebccbee01f28f43de45de61ed43b0000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a5100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c39caf1bbcc2dab6ef4beb461124faab5cc3124e8ec8609c79caaad8b98eb0e69737413b02df47433a83caf73820c03764052ca57cc777ed7da302c2b08a4cfdbe1c66c312597baced259ca204bfcb8dca68d6398606716d7344f04cb4113cda9ac915c3caa107bdbeeba7b951f9093260550dd91b1635fee1ab3145e6f08f25aff71cf0d971207c6c215b8dd9f985432e0a037d8353f765b2828e4f3b5a6c851a7afd0c1c5c999440f2f1cca8dfe8f61fac2a4c35f067a4d3c236b5de76975faa0be51c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x34\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xde0d54\",\n      \"logs\": [\n        {\n          \"address\": \"0x49048044d57e1c92a77f79988d21fa8faf74e97e\",\n          \"topics\": [\n            \"0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32\",\n            \"0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167\",\n            \"0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000019cd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e848000501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000134dbd22768b5dbcc22264a2318c30e7138ec61e000000000000000000000000fe6939c22fdfc93141bd52a2b88353b76d9c749d000000000000000000000000fc72c9bf3353daab801e15a60d5d3ec3413fb2de0000000000000000000000007006094dcd29bcf2040009bcaf0626559dc34378000000000000000000000000a9da165216d0e1032b6db3985436e339cc3ba224000000000000000000000000bd4106934dac10e2b65bc9390caedd45bd57ab04000000000000000000000000c261509bb99c1b9dd4f0e2b0cbe01ca8490d4ccf0000000000000000000000002d300cf2651b6dd52ed5c948ae8e6dbec4883c0200000000000000000000000039453acb2c916039310b28e799bba8e262ba9a11000000000000000000000000ab4b1dbf08e7a219dbde10796c7f6c372be161fa00000000000000000000000039ded12296c983e4e9137ae21957436aba3ef5af0000000000000000000000001b55bdc6f3569ff8e061372cffc76f4bec92bb5800000000000000000000000008455a4855ec07384195a1a2378da312705970450000000000000000000000003a8267cf536e00aca465f5bd70b8276674d4e28e000000000000000000000000b00795aa07c9950abbdbd1677f2ba2260e83229d0000000000000000000000005cc69616c6a7f041eca97ca7354fbafbfd4549fd000000000000000000000000eccc8797b2dd85d9248fd3b7dc32e913a33b56f2000000000000000000000000f0757d6a48d23fe31699d529f1dc0e8763da97eb00000000000000000000000024fb7ce1b8b6c8a8eab2d72eb69a32880ad3dbd60000000000000000000000007ec4cf225b797c9ded326ebc9694a10103d9888000000000000000000000000008ddfaee3b690aa100291cbe38d993c4baddec95000000000000000000000000d4027cc7ceb7916c598d019dcfe3cac2f8a9d65b00000000000000000000000020b7be1df5f79a779bfe2b287693f133738ae3070000000000000000000000006513460ea3460396c8db2e54bffb7f0ef39463d80000000000000000000000007cb3699eea9767bbe797a54369982bdf00a4db62000000000000000000000000b715841ff5bd993d88a0a7c9c14c30efeeb6f5fb000000000000000000000000fe1ae2189bc9920e283b46efd3e5a004a5aa8ecd000000000000000000000000f1784ba80220f0c5c4a4a4b66051b0afd34e788a00000000000000000000000009aede0811eaefb926f300657e54bbd2fe6ee2290000000000000000000000007758ac8360541c886d4facc8b68968db76862d5800000000000000000000000031c266c157d57155632e47046e35d2f640c6d203000000000000000000000000cdd469de67665eaf025da57a350750c960da5a58000000000000000000000000028dd5a007676196d912968f64a10682db865850000000000000000000000000ad09015b215e85c4e29519eaa45af09290f21579000000000000000000000000dfa9a81613a55884e99c2af8f96340b62f2f57f60000000000000000000000000d6a9963f7b362c3d50cfdfdc9207b4d8e766c1300000000000000000000000098242117840cdfefc6943eabb1bc09340643326c0000000000000000000000008a71d5797ca300383d21db761fd2f4e2f3d33140000000000000000000000000a4a9624aef063ad725ef9361ece47db553112aa3000000000000000000000000acea66d815546c4a636efa83c93f7f06748035ea0000000000000000000000001c279c06a4f8918f03b32ef985290a5236e1b0fb000000000000000000000000e798356df129a74738933c474c3489f5ff7e3dcd0000000000000000000000005f23fe68a7a9cfead224e5f62480f37834d556ce0000000000000000000000008eb093010713cb58b2bf46992c1a07b592502271000000000000000000000000f6aeca1a83e6d0ec9064adcd7b60ee4ceefacf530000000000000000000000004c92677321f60a0dc709bdc4a9a41766c4cb1c4300000000000000000000000020d6b8c56a67ab6ae3423798ae40ded3a19c9a610000000000000000000000004f49e89b1530387002734589e8d4227665e1f25800000000000000000000000020134f2a91d7ceb746f54249f0626abc94f9858a0000000000000000000000004f0f2f2ca9612cfbc7ee77a9690919cd016812e1000000000000000000000000cf0a573a52dcb2b2c57c93c60ae4b2c4244244b60000000000000000000000008cc62a24fd891d4cf7793423e52c1556671198b600000000000000000000000031577a229fc2ec0ad5630546d576dc753feeaafb000000000000000000000000606a03cadd4b369b8066e748f328efd8772cc1d80000000000000000000000003a9da8b89dcee94dcf55af051b0ac3b146ad703500000000000000000000000053787ee1b2628b8f2c3cd166e37c2a7617092dd30000000000000000000000007abfa4e445890a6ad8d04de2bfb534a1710f522d000000000000000000000000e1d2349cca2d20c2c8d2a3d4a292ff7b97febda90000000000000000000000007b3e46a6823db3718bf0d4dde0254be6060728cb000000000000000000000000011230a5cfa00d171c41320f0bda47f6ec8596b3000000000000000000000000829ee1e2e04f2689d63667e65eaa105c20e0cb6d000000000000000000000000cb73230d560454eb71da78087f588557b534d5a00000000000000000000000004e68a02c458211f4fd016ba2b988bfa108ad038200000000000000000000000068f58fb15af6a6417f1ba5c33eacac2e5ae46723000000000000000000000000cc7897bb6c0e396a595c01d9fd55b304a60f3e65000000000000000000000000d81ad3c1315936797559454cab254dd71867f3590000000000000000000000009e53067855d1f5619d1ab8b7f7a9b944396111f80000000000000000000000003f18879e511cbd6520a686cf3bb1c5413afc9b3600000000000000000000000019f564dd97fe3ff3ca7cfdf2df5db2dbaf960b56000000000000000000000000a7ffd3f4e162ddef1e576f4b03322f236ceeb454000000000000000000000000999490c494d0cea386d6936cede53b0203195930000000000000000000000000132e5ca01addf97ba14ba083d6490f8dc43eeffc000000000000000000000000288ab636ad77f0bef17cff8beb07828d48a60d010000000000000000000000006bd64abc231238de0e523b06793b578770f3e5b9000000000000000000000000b92a6ee060f5fd6d71c3fc0708cb9bacf584e7fa0000000000000000000000008c52bc53f14107993a80736605ee8e5a115536db00000000000000000000000071fbf5bfbb4a739d3eb21526fffa7aada7bef94f00000000000000000000000015773e75e8665ec15eaee8c0006d87b3d059ad6d000000000000000000000000a4a3eabdf7d0a0e98c793915890a89e63bb39a770000000000000000000000003619e40de14b98929c0bcac51e890c49263fdf9c00000000000000000000000065b12ffb0dd7b7fdc81276db5bac10bad34fc284000000000000000000000000eea8692028e67f5945640292298969d5a8eeb08500000000000000000000000089efbd2c494a594517aa21c3335841e08c8dc7ce000000000000000000000000b7ebf31e678d3c3fc1da8447550f11421993fc90000000000000000000000000d98be577b6b15054c1937b1805c7ca5e2f9d965d00000000000000000000000035c295f087dc430fb8ac940e2104e48d25c4b4f300000000000000000000000036d3fb5b39399a0d3968747f3b95637d7b1ff82b00000000000000000000000080a885596d1e9d61b15beb0f44001ddd3b1b4a39000000000000000000000000d9529f1bbd43cad5bcc14f1f5156ad937bf9cf690000000000000000000000002c5913a7da17a2890841ee01b94fc48f0ec44010000000000000000000000000445119c4aa2d6bad74464d760c4df52b2761dbd50000000000000000000000008296eac3de8a68ff557964414936a14644a1518f0000000000000000000000001c7d6e73ab8685eb796c6ead71accd9132c883a6000000000000000000000000fb3508dd82aed931b8bb97a81880c61bb25102120000000000000000000000007eff5924eb3d70c10870ebb1ce244ae80d7967cf0000000000000000000000005a914e0c891145f4a0a9610a670e70314989532200000000000000000000000055a1cd90c5fb0dd3abe513f547ed8068d960d3b40000000000000000000000008fd4bade9eb2ef70c037993a1f5843e84f467f5e0000000000000000000000000bc708103ad4c076f0cb6faeaeec67c85bed525c0000000000000000000000008c72a952c259ebccbee01f28f43de45de61ed43b0000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a5100000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x3798ca19a45d0c7ddae28f0a827cda34a5c43a779336f64f373a396abcbb1d83\",\n          \"blockNumber\": \"0x15fb322\",\n          \"blockTimestamp\": \"0x688d3513\",\n          \"transactionHash\": \"0x4309f9ead3ebb00761596969bf9dda9b17be5a5ff671eaece81725e57439e1f4\",\n          \"transactionIndex\": \"0x99\",\n          \"logIndex\": \"0x144\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x8bbe78a1c007ceb4e47d4b6c47f7e6ea82793fd282079c81b662e317167988fb0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x3798ca19a45d0c7ddae28f0a827cda34a5c43a779336f64f373a396abcbb1d83\",\n          \"blockNumber\": \"0x15fb322\",\n          \"blockTimestamp\": \"0x688d3513\",\n          \"transactionHash\": \"0x4309f9ead3ebb00761596969bf9dda9b17be5a5ff671eaece81725e57439e1f4\",\n          \"transactionIndex\": \"0x99\",\n          \"logIndex\": \"0x145\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000004000042000000000000000000080000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000002000000400000000000000002000000000000000c0000000000000000000000000000000800000000040000000000000000000200000000000000000000000000020000000000020000a0000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x4309f9ead3ebb00761596969bf9dda9b17be5a5ff671eaece81725e57439e1f4\",\n      \"transactionIndex\": \"0x99\",\n      \"blockHash\": \"0x3798ca19a45d0c7ddae28f0a827cda34a5c43a779336f64f373a396abcbb1d83\",\n      \"blockNumber\": \"0x15fb322\",\n      \"gasUsed\": \"0x20b662\",\n      \"effectiveGasPrice\": \"0x12edea56\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1754084632,\n  \"chain\": 1,\n  \"commit\": \"1fa78b1\"\n}"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/records/OPStackExecuteRecovery.s.sol/1/run-1754084678.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x9b8754a6f86942ee2ed77ca4c149dc0753feca2eba6d44e813355edccba5dafd\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881\",\n        \"0\",\n        \"0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000cf77b9812c69482dfc14344fa7e52e22177c74aa0000000000000000000000006e5db8dc6618d764aa95cebb167c3ea009412bc000000000000000000000000026c5081bfd43dbd31f73f7fdd96e86239fd9e0520000000000000000000000004dae6ec85f8ea5a663876578225b8f553d99b14a00000000000000000000000035ee3a8fd1f2a847fb99778dc57b80ddb95fd81400000000000000000000000047467ff4b00a8bf2b82fbb2ec11334b305a9c7dc000000000000000000000000e5dfb9bbecd05730157c61c7a42ea92b71181a1e0000000000000000000000000b3bbc230e910034c891d6867d8f7f1c545961750000000000000000000000008743bf4c6bd1949df9d793a4e4df3fb030a82d10000000000000000000000000b8bf90b727776b18d1e23c2df3d5847ffaf5c6210000000000000000000000001e4999277fcc659ee148e49851cfab731bb54a34000000000000000000000000abeac11f12a146c31ed27a144b71d442b2b89ae40000000000000000000000005769f505b3bfebdbbd426ffcd96e75f84bfabe4e0000000000000000000000006371df16c64f1a2ef9320b8ba2ec8fe14fa06b1c000000000000000000000000b8c01585239c4156f0c46da9e74f10080a90919c000000000000000000000000dcf1ef38e57c8e0d885a5799c2b8f2466263c52c0000000000000000000000007d689dff8af0587917b1b3e51e07ef0b3d46a927000000000000000000000000ed7be10ba5aeb59b06d53a6ed5fb0cc402ae681c0000000000000000000000007867c24d4dcc2b9790e1a1f33726594ae670a6ab0000000000000000000000000882203da99f616ac4c2af3b3aaaaa5c2cc50384000000000000000000000000c4f904e3bbafe50445c8a17a7dffece6c152c55a000000000000000000000000297b0b83c9750506f65a0d89bbe1d259e8098d01000000000000000000000000cdc3367d113eb906993340806d380b4fbcf6e8860000000000000000000000009c2df67c7f432390b8768af4f92d10e51de3f151000000000000000000000000fa81ac4cb9518a97e1a07a6ea9e8203121be1eac0000000000000000000000009222ea5d7d78a5e726d2093f993ed123b05e6221000000000000000000000000bb654f4e56d59cf980a9f144d4e6658d67ef66dd000000000000000000000000c3eef655183669e66c99accd63cdbce0f426f7b1000000000000000000000000c34ea057a181721fb6b8d0c58217517d3d1c19eb0000000000000000000000003e5e69bcb24b501350dc7ec5281b58b91e71d46900000000000000000000000086b5def63aff58f9d90412fa0b057333f33f29a60000000000000000000000005706c370dd72cdea864e27d0876a4c66070c5bd3000000000000000000000000092eaf8a0dd18efbb514b280652273f746a0ce710000000000000000000000004826eade1c9bf5ce3e9889b37aee0ad15df66e730000000000000000000000004779381c539a138dfb2d83f80c57e3cd2add07e8000000000000000000000000475abc90c3cab0d1e0be8411e5df5ab5cef76017000000000000000000000000332a683bc22b4ed71ce31b301ef245790569ecd3000000000000000000000000530e86aebcc9c40b889ca7dab1978ca4dd052fb80000000000000000000000008642e07a7f91a160dcc86d86cf1def3d705a3f1d000000000000000000000000b5e3f7c4e31039e88c35832ac4b27fd90dcd94fb0000000000000000000000006fa133d719b467298ebe60563d29cac2d827dd5a000000000000000000000000ff6162ee001a76c864a3492ccaa60604ebe1035f00000000000000000000000079c9374f405a8b5b9f65e7cf660056eadba01c58000000000000000000000000f673588e1b3280e87e98e7feeb85fdb27943853a000000000000000000000000597acba3f836e9fdbabcab75d6eaadfbbce7ffd80000000000000000000000006ae3b38ca5dd6f937898125324c134b67b11a80200000000000000000000000074cd7d8c9b327ba961c788f151b8c5946bf115e300000000000000000000000020a4f1f9c16e913188c3c80934ac074b9f9b499700000000000000000000000090b3335eb95481f6ad6dcc8903c445911683b40b00000000000000000000000026dd86cd10d92e925fe75b80faa51eba86bb9a8300000000000000000000000068c5a0ee0a59b5f715c52ea06ea56fa84eab340c00000000000000000000000083e359ddfd91b400b62dbcf95c8533dfe9798e25000000000000000000000000bc1ee29016f945ea5867218c752ed05723a5e21a000000000000000000000000cf1d74e57ba61b19d42032beb08a9dd27a59cdfb000000000000000000000000abde71a7b5f7b13d08fe7913d82577533e70770800000000000000000000000018cb1ad37c19c39e1b2dd020c8ee0d07418924ff000000000000000000000000f11723ca71c8fc6fd8b18fb0575ff58c9c19a5620000000000000000000000000aedd8a6770a4c6e1a90d9b88e187db84635bbb7000000000000000000000000e8c107983f166d3ea3f7f53feed732616655cff400000000000000000000000030884ccb0505c5714038dfdb30ef0b92f922aa1b000000000000000000000000081d9529ca3a2e085dd9434b48d630f15b9ab5370000000000000000000000000b11d7c4ebd294480d93cbf8b64cb8bf2546ba54000000000000000000000000da59ab41714d3169897d37a7c185bb04dbae5785000000000000000000000000e2fafdf8d4a7fbe87417314412a439adeba37460000000000000000000000000005318cdb1a8bcf5eb3e03eeca531dd18b9233bb0000000000000000000000007faddd52936df1ed13e8fd8b57b7b672264667f50000000000000000000000000dd61b6756b84fafaecf68d32e4f8aadd95b7a90000000000000000000000000572ab894165dbcf68770f34429d3c60d05141a82000000000000000000000000fe66defa163a42c0d38aef1ef3f041be05c2d2c00000000000000000000000009a8dc3600aac1a7e6b6ef4fa8cfb7130122c0c470000000000000000000000005ab040c9242d99eda30fd081254efa31310fb96c000000000000000000000000aedfae956f093845965f3de458db26292e696c73000000000000000000000000588e90af5066065290fc07400de761daafe60ebd0000000000000000000000000cbe59eae12536fca7ee8f5c649eb874591bb3f90000000000000000000000009d7fa78b058455602bd0080038b6a11ca04fd268000000000000000000000000b1e434cb256a23d1df7032606c9d32453c2322f50000000000000000000000003a3a98a4446e08c07221996b398084a9eae27f220000000000000000000000004799d4272a04988c667a382192f1ab634b708c4b000000000000000000000000082b145d0c02452148cf559c554fbfb75f5dd240000000000000000000000000b0a2208000403e279a4b9bc097b8e4a0945de619000000000000000000000000dec89694eeec57137b7f8e080e038e103b7e4e91000000000000000000000000a0339d402a952a6bcbfab1fcf63a382770ec824a00000000000000000000000035639b6c0b7fd6e6f959cd448d715eec35d8ff270000000000000000000000001100d2c93d939000a30d45384a68c9ada99d3dac000000000000000000000000205cd43d386a344cdfa90028f6896d254d5dd85e00000000000000000000000088decaf8310fb0efe6ade3935c902564ad3f896a0000000000000000000000006eccf2bbca701610e2e4a35ff7c0fe341df1970a0000000000000000000000001a6fb65d94cba98425258d7c2fe94be353910c47000000000000000000000000a6e1ed5f5f628b47f4069377862ed5e45c4b85dd000000000000000000000000e661dbdcebeba61999840d2767291ef14f895dbe000000000000000000000000d1eb763eb974d33bc8dd65113a5127ca07389f7400000000000000000000000046e6651cd50e1a0556a9d689dc46b3c51419b03a000000000000000000000000ae189c0789e690ba0d1756f59f949bf7de80d5640000000000000000000000002175d23a1cdc05d219bdcd0201462c40a01aa38600000000000000000000000069e2da0829e8e3e992d234a6845a671c703cc3ec00000000000000000000000033b4e31944bc8282c350d7e08b175d53d34ad2a8000000000000000000000000928671ab2459d9a147b3ca985aece8cd22d033f1000000000000000000000000dc4b05952b7b0292bcd3285effa518f3ec07bdad0000000000000000000000004df2ee0912c3de56d71880bbe72de7c171ee84ab000000000000000000000000da39a9b060c237dcafb55dbeef43e42c9eef94180000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e1614bd000000000000000000000000000000000000000000000000000000000d32d69ae00000000000000000000000000000000000000000000000000000000d32d69ae000000000000000000000000000000000000000000000000000000008085c3900000000000000000000000000000000000000000000000000000000067eef5a6db0000000000000000000000000000000000000000000000000000003e8d5eaabe0000000000000000000000000000000000000000000000000000002e90edd000000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e80000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x8eed310b947a027d6cb39568fd7ef8b24c71419c9d1c61b02419c0689b2c34a87d9323f6f400f0470430c440c2c45e1a526484ed9c67942c4cb000dfc535e9cb1b85fd6b3a9f040666bb75831c69573af9b0e72c6da7d48c2f391aa7d18c563a8a50a5729f59c84b8461ed3018a235b784d4ad329c92223f826dff866a208b00491bc16b04b8df4de2ef612fc754742307911a7285684a6c3b219d2e113092cf68453a1b11a49ee9f526b2bb746afa6f993ff4cac4eb01b7efba609a39380d4f1da41c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x2d2e93\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc69839881000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001b84174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000cf77b9812c69482dfc14344fa7e52e22177c74aa0000000000000000000000006e5db8dc6618d764aa95cebb167c3ea009412bc000000000000000000000000026c5081bfd43dbd31f73f7fdd96e86239fd9e0520000000000000000000000004dae6ec85f8ea5a663876578225b8f553d99b14a00000000000000000000000035ee3a8fd1f2a847fb99778dc57b80ddb95fd81400000000000000000000000047467ff4b00a8bf2b82fbb2ec11334b305a9c7dc000000000000000000000000e5dfb9bbecd05730157c61c7a42ea92b71181a1e0000000000000000000000000b3bbc230e910034c891d6867d8f7f1c545961750000000000000000000000008743bf4c6bd1949df9d793a4e4df3fb030a82d10000000000000000000000000b8bf90b727776b18d1e23c2df3d5847ffaf5c6210000000000000000000000001e4999277fcc659ee148e49851cfab731bb54a34000000000000000000000000abeac11f12a146c31ed27a144b71d442b2b89ae40000000000000000000000005769f505b3bfebdbbd426ffcd96e75f84bfabe4e0000000000000000000000006371df16c64f1a2ef9320b8ba2ec8fe14fa06b1c000000000000000000000000b8c01585239c4156f0c46da9e74f10080a90919c000000000000000000000000dcf1ef38e57c8e0d885a5799c2b8f2466263c52c0000000000000000000000007d689dff8af0587917b1b3e51e07ef0b3d46a927000000000000000000000000ed7be10ba5aeb59b06d53a6ed5fb0cc402ae681c0000000000000000000000007867c24d4dcc2b9790e1a1f33726594ae670a6ab0000000000000000000000000882203da99f616ac4c2af3b3aaaaa5c2cc50384000000000000000000000000c4f904e3bbafe50445c8a17a7dffece6c152c55a000000000000000000000000297b0b83c9750506f65a0d89bbe1d259e8098d01000000000000000000000000cdc3367d113eb906993340806d380b4fbcf6e8860000000000000000000000009c2df67c7f432390b8768af4f92d10e51de3f151000000000000000000000000fa81ac4cb9518a97e1a07a6ea9e8203121be1eac0000000000000000000000009222ea5d7d78a5e726d2093f993ed123b05e6221000000000000000000000000bb654f4e56d59cf980a9f144d4e6658d67ef66dd000000000000000000000000c3eef655183669e66c99accd63cdbce0f426f7b1000000000000000000000000c34ea057a181721fb6b8d0c58217517d3d1c19eb0000000000000000000000003e5e69bcb24b501350dc7ec5281b58b91e71d46900000000000000000000000086b5def63aff58f9d90412fa0b057333f33f29a60000000000000000000000005706c370dd72cdea864e27d0876a4c66070c5bd3000000000000000000000000092eaf8a0dd18efbb514b280652273f746a0ce710000000000000000000000004826eade1c9bf5ce3e9889b37aee0ad15df66e730000000000000000000000004779381c539a138dfb2d83f80c57e3cd2add07e8000000000000000000000000475abc90c3cab0d1e0be8411e5df5ab5cef76017000000000000000000000000332a683bc22b4ed71ce31b301ef245790569ecd3000000000000000000000000530e86aebcc9c40b889ca7dab1978ca4dd052fb80000000000000000000000008642e07a7f91a160dcc86d86cf1def3d705a3f1d000000000000000000000000b5e3f7c4e31039e88c35832ac4b27fd90dcd94fb0000000000000000000000006fa133d719b467298ebe60563d29cac2d827dd5a000000000000000000000000ff6162ee001a76c864a3492ccaa60604ebe1035f00000000000000000000000079c9374f405a8b5b9f65e7cf660056eadba01c58000000000000000000000000f673588e1b3280e87e98e7feeb85fdb27943853a000000000000000000000000597acba3f836e9fdbabcab75d6eaadfbbce7ffd80000000000000000000000006ae3b38ca5dd6f937898125324c134b67b11a80200000000000000000000000074cd7d8c9b327ba961c788f151b8c5946bf115e300000000000000000000000020a4f1f9c16e913188c3c80934ac074b9f9b499700000000000000000000000090b3335eb95481f6ad6dcc8903c445911683b40b00000000000000000000000026dd86cd10d92e925fe75b80faa51eba86bb9a8300000000000000000000000068c5a0ee0a59b5f715c52ea06ea56fa84eab340c00000000000000000000000083e359ddfd91b400b62dbcf95c8533dfe9798e25000000000000000000000000bc1ee29016f945ea5867218c752ed05723a5e21a000000000000000000000000cf1d74e57ba61b19d42032beb08a9dd27a59cdfb000000000000000000000000abde71a7b5f7b13d08fe7913d82577533e70770800000000000000000000000018cb1ad37c19c39e1b2dd020c8ee0d07418924ff000000000000000000000000f11723ca71c8fc6fd8b18fb0575ff58c9c19a5620000000000000000000000000aedd8a6770a4c6e1a90d9b88e187db84635bbb7000000000000000000000000e8c107983f166d3ea3f7f53feed732616655cff400000000000000000000000030884ccb0505c5714038dfdb30ef0b92f922aa1b000000000000000000000000081d9529ca3a2e085dd9434b48d630f15b9ab5370000000000000000000000000b11d7c4ebd294480d93cbf8b64cb8bf2546ba54000000000000000000000000da59ab41714d3169897d37a7c185bb04dbae5785000000000000000000000000e2fafdf8d4a7fbe87417314412a439adeba37460000000000000000000000000005318cdb1a8bcf5eb3e03eeca531dd18b9233bb0000000000000000000000007faddd52936df1ed13e8fd8b57b7b672264667f50000000000000000000000000dd61b6756b84fafaecf68d32e4f8aadd95b7a90000000000000000000000000572ab894165dbcf68770f34429d3c60d05141a82000000000000000000000000fe66defa163a42c0d38aef1ef3f041be05c2d2c00000000000000000000000009a8dc3600aac1a7e6b6ef4fa8cfb7130122c0c470000000000000000000000005ab040c9242d99eda30fd081254efa31310fb96c000000000000000000000000aedfae956f093845965f3de458db26292e696c73000000000000000000000000588e90af5066065290fc07400de761daafe60ebd0000000000000000000000000cbe59eae12536fca7ee8f5c649eb874591bb3f90000000000000000000000009d7fa78b058455602bd0080038b6a11ca04fd268000000000000000000000000b1e434cb256a23d1df7032606c9d32453c2322f50000000000000000000000003a3a98a4446e08c07221996b398084a9eae27f220000000000000000000000004799d4272a04988c667a382192f1ab634b708c4b000000000000000000000000082b145d0c02452148cf559c554fbfb75f5dd240000000000000000000000000b0a2208000403e279a4b9bc097b8e4a0945de619000000000000000000000000dec89694eeec57137b7f8e080e038e103b7e4e91000000000000000000000000a0339d402a952a6bcbfab1fcf63a382770ec824a00000000000000000000000035639b6c0b7fd6e6f959cd448d715eec35d8ff270000000000000000000000001100d2c93d939000a30d45384a68c9ada99d3dac000000000000000000000000205cd43d386a344cdfa90028f6896d254d5dd85e00000000000000000000000088decaf8310fb0efe6ade3935c902564ad3f896a0000000000000000000000006eccf2bbca701610e2e4a35ff7c0fe341df1970a0000000000000000000000001a6fb65d94cba98425258d7c2fe94be353910c47000000000000000000000000a6e1ed5f5f628b47f4069377862ed5e45c4b85dd000000000000000000000000e661dbdcebeba61999840d2767291ef14f895dbe000000000000000000000000d1eb763eb974d33bc8dd65113a5127ca07389f7400000000000000000000000046e6651cd50e1a0556a9d689dc46b3c51419b03a000000000000000000000000ae189c0789e690ba0d1756f59f949bf7de80d5640000000000000000000000002175d23a1cdc05d219bdcd0201462c40a01aa38600000000000000000000000069e2da0829e8e3e992d234a6845a671c703cc3ec00000000000000000000000033b4e31944bc8282c350d7e08b175d53d34ad2a8000000000000000000000000928671ab2459d9a147b3ca985aece8cd22d033f1000000000000000000000000dc4b05952b7b0292bcd3285effa518f3ec07bdad0000000000000000000000004df2ee0912c3de56d71880bbe72de7c171ee84ab000000000000000000000000da39a9b060c237dcafb55dbeef43e42c9eef94180000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e1614bd000000000000000000000000000000000000000000000000000000000d32d69ae00000000000000000000000000000000000000000000000000000000d32d69ae000000000000000000000000000000000000000000000000000000008085c3900000000000000000000000000000000000000000000000000000000067eef5a6db0000000000000000000000000000000000000000000000000000003e8d5eaabe0000000000000000000000000000000000000000000000000000002e90edd000000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e80000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c38eed310b947a027d6cb39568fd7ef8b24c71419c9d1c61b02419c0689b2c34a87d9323f6f400f0470430c440c2c45e1a526484ed9c67942c4cb000dfc535e9cb1b85fd6b3a9f040666bb75831c69573af9b0e72c6da7d48c2f391aa7d18c563a8a50a5729f59c84b8461ed3018a235b784d4ad329c92223f826dff866a208b00491bc16b04b8df4de2ef612fc754742307911a7285684a6c3b219d2e113092cf68453a1b11a49ee9f526b2bb746afa6f993ff4cac4eb01b7efba609a39380d4f1da41c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x35\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1a39104\",\n      \"logs\": [\n        {\n          \"address\": \"0x49048044d57e1c92a77f79988d21fa8faf74e97e\",\n          \"topics\": [\n            \"0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32\",\n            \"0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167\",\n            \"0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000019cd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e848000501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000cf77b9812c69482dfc14344fa7e52e22177c74aa0000000000000000000000006e5db8dc6618d764aa95cebb167c3ea009412bc000000000000000000000000026c5081bfd43dbd31f73f7fdd96e86239fd9e0520000000000000000000000004dae6ec85f8ea5a663876578225b8f553d99b14a00000000000000000000000035ee3a8fd1f2a847fb99778dc57b80ddb95fd81400000000000000000000000047467ff4b00a8bf2b82fbb2ec11334b305a9c7dc000000000000000000000000e5dfb9bbecd05730157c61c7a42ea92b71181a1e0000000000000000000000000b3bbc230e910034c891d6867d8f7f1c545961750000000000000000000000008743bf4c6bd1949df9d793a4e4df3fb030a82d10000000000000000000000000b8bf90b727776b18d1e23c2df3d5847ffaf5c6210000000000000000000000001e4999277fcc659ee148e49851cfab731bb54a34000000000000000000000000abeac11f12a146c31ed27a144b71d442b2b89ae40000000000000000000000005769f505b3bfebdbbd426ffcd96e75f84bfabe4e0000000000000000000000006371df16c64f1a2ef9320b8ba2ec8fe14fa06b1c000000000000000000000000b8c01585239c4156f0c46da9e74f10080a90919c000000000000000000000000dcf1ef38e57c8e0d885a5799c2b8f2466263c52c0000000000000000000000007d689dff8af0587917b1b3e51e07ef0b3d46a927000000000000000000000000ed7be10ba5aeb59b06d53a6ed5fb0cc402ae681c0000000000000000000000007867c24d4dcc2b9790e1a1f33726594ae670a6ab0000000000000000000000000882203da99f616ac4c2af3b3aaaaa5c2cc50384000000000000000000000000c4f904e3bbafe50445c8a17a7dffece6c152c55a000000000000000000000000297b0b83c9750506f65a0d89bbe1d259e8098d01000000000000000000000000cdc3367d113eb906993340806d380b4fbcf6e8860000000000000000000000009c2df67c7f432390b8768af4f92d10e51de3f151000000000000000000000000fa81ac4cb9518a97e1a07a6ea9e8203121be1eac0000000000000000000000009222ea5d7d78a5e726d2093f993ed123b05e6221000000000000000000000000bb654f4e56d59cf980a9f144d4e6658d67ef66dd000000000000000000000000c3eef655183669e66c99accd63cdbce0f426f7b1000000000000000000000000c34ea057a181721fb6b8d0c58217517d3d1c19eb0000000000000000000000003e5e69bcb24b501350dc7ec5281b58b91e71d46900000000000000000000000086b5def63aff58f9d90412fa0b057333f33f29a60000000000000000000000005706c370dd72cdea864e27d0876a4c66070c5bd3000000000000000000000000092eaf8a0dd18efbb514b280652273f746a0ce710000000000000000000000004826eade1c9bf5ce3e9889b37aee0ad15df66e730000000000000000000000004779381c539a138dfb2d83f80c57e3cd2add07e8000000000000000000000000475abc90c3cab0d1e0be8411e5df5ab5cef76017000000000000000000000000332a683bc22b4ed71ce31b301ef245790569ecd3000000000000000000000000530e86aebcc9c40b889ca7dab1978ca4dd052fb80000000000000000000000008642e07a7f91a160dcc86d86cf1def3d705a3f1d000000000000000000000000b5e3f7c4e31039e88c35832ac4b27fd90dcd94fb0000000000000000000000006fa133d719b467298ebe60563d29cac2d827dd5a000000000000000000000000ff6162ee001a76c864a3492ccaa60604ebe1035f00000000000000000000000079c9374f405a8b5b9f65e7cf660056eadba01c58000000000000000000000000f673588e1b3280e87e98e7feeb85fdb27943853a000000000000000000000000597acba3f836e9fdbabcab75d6eaadfbbce7ffd80000000000000000000000006ae3b38ca5dd6f937898125324c134b67b11a80200000000000000000000000074cd7d8c9b327ba961c788f151b8c5946bf115e300000000000000000000000020a4f1f9c16e913188c3c80934ac074b9f9b499700000000000000000000000090b3335eb95481f6ad6dcc8903c445911683b40b00000000000000000000000026dd86cd10d92e925fe75b80faa51eba86bb9a8300000000000000000000000068c5a0ee0a59b5f715c52ea06ea56fa84eab340c00000000000000000000000083e359ddfd91b400b62dbcf95c8533dfe9798e25000000000000000000000000bc1ee29016f945ea5867218c752ed05723a5e21a000000000000000000000000cf1d74e57ba61b19d42032beb08a9dd27a59cdfb000000000000000000000000abde71a7b5f7b13d08fe7913d82577533e70770800000000000000000000000018cb1ad37c19c39e1b2dd020c8ee0d07418924ff000000000000000000000000f11723ca71c8fc6fd8b18fb0575ff58c9c19a5620000000000000000000000000aedd8a6770a4c6e1a90d9b88e187db84635bbb7000000000000000000000000e8c107983f166d3ea3f7f53feed732616655cff400000000000000000000000030884ccb0505c5714038dfdb30ef0b92f922aa1b000000000000000000000000081d9529ca3a2e085dd9434b48d630f15b9ab5370000000000000000000000000b11d7c4ebd294480d93cbf8b64cb8bf2546ba54000000000000000000000000da59ab41714d3169897d37a7c185bb04dbae5785000000000000000000000000e2fafdf8d4a7fbe87417314412a439adeba37460000000000000000000000000005318cdb1a8bcf5eb3e03eeca531dd18b9233bb0000000000000000000000007faddd52936df1ed13e8fd8b57b7b672264667f50000000000000000000000000dd61b6756b84fafaecf68d32e4f8aadd95b7a90000000000000000000000000572ab894165dbcf68770f34429d3c60d05141a82000000000000000000000000fe66defa163a42c0d38aef1ef3f041be05c2d2c00000000000000000000000009a8dc3600aac1a7e6b6ef4fa8cfb7130122c0c470000000000000000000000005ab040c9242d99eda30fd081254efa31310fb96c000000000000000000000000aedfae956f093845965f3de458db26292e696c73000000000000000000000000588e90af5066065290fc07400de761daafe60ebd0000000000000000000000000cbe59eae12536fca7ee8f5c649eb874591bb3f90000000000000000000000009d7fa78b058455602bd0080038b6a11ca04fd268000000000000000000000000b1e434cb256a23d1df7032606c9d32453c2322f50000000000000000000000003a3a98a4446e08c07221996b398084a9eae27f220000000000000000000000004799d4272a04988c667a382192f1ab634b708c4b000000000000000000000000082b145d0c02452148cf559c554fbfb75f5dd240000000000000000000000000b0a2208000403e279a4b9bc097b8e4a0945de619000000000000000000000000dec89694eeec57137b7f8e080e038e103b7e4e91000000000000000000000000a0339d402a952a6bcbfab1fcf63a382770ec824a00000000000000000000000035639b6c0b7fd6e6f959cd448d715eec35d8ff270000000000000000000000001100d2c93d939000a30d45384a68c9ada99d3dac000000000000000000000000205cd43d386a344cdfa90028f6896d254d5dd85e00000000000000000000000088decaf8310fb0efe6ade3935c902564ad3f896a0000000000000000000000006eccf2bbca701610e2e4a35ff7c0fe341df1970a0000000000000000000000001a6fb65d94cba98425258d7c2fe94be353910c47000000000000000000000000a6e1ed5f5f628b47f4069377862ed5e45c4b85dd000000000000000000000000e661dbdcebeba61999840d2767291ef14f895dbe000000000000000000000000d1eb763eb974d33bc8dd65113a5127ca07389f7400000000000000000000000046e6651cd50e1a0556a9d689dc46b3c51419b03a000000000000000000000000ae189c0789e690ba0d1756f59f949bf7de80d5640000000000000000000000002175d23a1cdc05d219bdcd0201462c40a01aa38600000000000000000000000069e2da0829e8e3e992d234a6845a671c703cc3ec00000000000000000000000033b4e31944bc8282c350d7e08b175d53d34ad2a8000000000000000000000000928671ab2459d9a147b3ca985aece8cd22d033f1000000000000000000000000dc4b05952b7b0292bcd3285effa518f3ec07bdad0000000000000000000000004df2ee0912c3de56d71880bbe72de7c171ee84ab000000000000000000000000da39a9b060c237dcafb55dbeef43e42c9eef94180000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e1614bd000000000000000000000000000000000000000000000000000000000d32d69ae00000000000000000000000000000000000000000000000000000000d32d69ae000000000000000000000000000000000000000000000000000000008085c3900000000000000000000000000000000000000000000000000000000067eef5a6db0000000000000000000000000000000000000000000000000000003e8d5eaabe0000000000000000000000000000000000000000000000000000002e90edd000000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e80000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x1d1dc82f9386caa807e0c338bf5b90dafd011196f909fa0dc6e278cc96953673\",\n          \"blockNumber\": \"0x15fb325\",\n          \"blockTimestamp\": \"0x688d3543\",\n          \"transactionHash\": \"0x9b8754a6f86942ee2ed77ca4c149dc0753feca2eba6d44e813355edccba5dafd\",\n          \"transactionIndex\": \"0xc3\",\n          \"logIndex\": \"0x32a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x4b22291ee747f45b1e4a715bb98e60105d351403e8445d965d52a634973f7a540000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x1d1dc82f9386caa807e0c338bf5b90dafd011196f909fa0dc6e278cc96953673\",\n          \"blockNumber\": \"0x15fb325\",\n          \"blockTimestamp\": \"0x688d3543\",\n          \"transactionHash\": \"0x9b8754a6f86942ee2ed77ca4c149dc0753feca2eba6d44e813355edccba5dafd\",\n          \"transactionIndex\": \"0xc3\",\n          \"logIndex\": \"0x32b\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000004000042000000000000000000080000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000002000000400000000000000002000000000000000c0000000000000000000000000000000800000000040000000000000000000200000000000000000000000000020000000000020000a0000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x9b8754a6f86942ee2ed77ca4c149dc0753feca2eba6d44e813355edccba5dafd\",\n      \"transactionIndex\": \"0xc3\",\n      \"blockHash\": \"0x1d1dc82f9386caa807e0c338bf5b90dafd011196f909fa0dc6e278cc96953673\",\n      \"blockNumber\": \"0x15fb325\",\n      \"gasUsed\": \"0x20b63e\",\n      \"effectiveGasPrice\": \"0x126e2fd9\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1754084678,\n  \"chain\": 1,\n  \"commit\": \"1fa78b1\"\n}"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/records/OPStackExecuteRecovery.s.sol/1/run-1754084725.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xd4367dc2000073a565cf6a59e14c9a242f19444f467644a72ad6648259ae7ecd\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881\",\n        \"0\",\n        \"0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000324e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000244501d976c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000007000000000000000000000000a6609fc627f76408a905f2607f351c17102ea4ee0000000000000000000000001b41a7635503f396a1a2dfcdc05b86cbd0f0c6ae000000000000000000000000c1dbc7966f7c71a4174bef75dcbf91ef829f4c0c000000000000000000000000a4c33c26b3c11cfd45b891ab1182fdc3c934df670000000000000000000000009ebe547ee00899aca5ab99f05182f2d5b7f37827000000000000000000000000754b366243532aa193f855a794e51e6bb7e60b480000000000000000000000003890beb1f106ada3a33a777dc6825bbfce182eda000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be400000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000036e24b00000000000000000000000000000000000000000000000000000000003473bc00000000000000000000000000000000000000000000000000000000001312d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xa8bce9bdc1c96cf7092a0744b5d43fbc68628e689100d12876b8ae87e048a295299ea8092e16f19cae56c097998687fb7c74060afd9c7f800aa3f1b90b8fe7281cbfb4e90680d8cb4f6113025b73216ba722fe0df103a19281bf44f6a3f4e8a1d509ee1cdd8ad6370f55ae6a58e5f02a64d25d57d5560fda8a9c7e90ba58a9cef81c4f3d9233e48a43a08cf01c8523ed97940b891f6fc19b94565cfcf00208408578597a73692c622e58344a779e04e4dd5934c476c299fe6e66a9fd53daae8411fa1c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x2bf498\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc698398810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005c00000000000000000000000000000000000000000000000000000000000000444174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000324e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000244501d976c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000007000000000000000000000000a6609fc627f76408a905f2607f351c17102ea4ee0000000000000000000000001b41a7635503f396a1a2dfcdc05b86cbd0f0c6ae000000000000000000000000c1dbc7966f7c71a4174bef75dcbf91ef829f4c0c000000000000000000000000a4c33c26b3c11cfd45b891ab1182fdc3c934df670000000000000000000000009ebe547ee00899aca5ab99f05182f2d5b7f37827000000000000000000000000754b366243532aa193f855a794e51e6bb7e60b480000000000000000000000003890beb1f106ada3a33a777dc6825bbfce182eda000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be400000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000036e24b00000000000000000000000000000000000000000000000000000000003473bc00000000000000000000000000000000000000000000000000000000001312d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3a8bce9bdc1c96cf7092a0744b5d43fbc68628e689100d12876b8ae87e048a295299ea8092e16f19cae56c097998687fb7c74060afd9c7f800aa3f1b90b8fe7281cbfb4e90680d8cb4f6113025b73216ba722fe0df103a19281bf44f6a3f4e8a1d509ee1cdd8ad6370f55ae6a58e5f02a64d25d57d5560fda8a9c7e90ba58a9cef81c4f3d9233e48a43a08cf01c8523ed97940b891f6fc19b94565cfcf00208408578597a73692c622e58344a779e04e4dd5934c476c299fe6e66a9fd53daae8411fa1c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x36\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x26b445a\",\n      \"logs\": [\n        {\n          \"address\": \"0x49048044d57e1c92a77f79988d21fa8faf74e97e\",\n          \"topics\": [\n            \"0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32\",\n            \"0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167\",\n            \"0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000028d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e848000501d976c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000007000000000000000000000000a6609fc627f76408a905f2607f351c17102ea4ee0000000000000000000000001b41a7635503f396a1a2dfcdc05b86cbd0f0c6ae000000000000000000000000c1dbc7966f7c71a4174bef75dcbf91ef829f4c0c000000000000000000000000a4c33c26b3c11cfd45b891ab1182fdc3c934df670000000000000000000000009ebe547ee00899aca5ab99f05182f2d5b7f37827000000000000000000000000754b366243532aa193f855a794e51e6bb7e60b480000000000000000000000003890beb1f106ada3a33a777dc6825bbfce182eda000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be400000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000036e24b00000000000000000000000000000000000000000000000000000000003473bc00000000000000000000000000000000000000000000000000000000001312d0000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x9ce9b459c42c60901309c8b9d747a2f340ea35efdc5e43a78bfab1e610883f45\",\n          \"blockNumber\": \"0x15fb329\",\n          \"blockTimestamp\": \"0x688d3573\",\n          \"transactionHash\": \"0xd4367dc2000073a565cf6a59e14c9a242f19444f467644a72ad6648259ae7ecd\",\n          \"transactionIndex\": \"0xe7\",\n          \"logIndex\": \"0x447\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x75404239ad0b0d78c7a485a3886634967f05fb0f3d3df4fbcf45a568e6483e180000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x9ce9b459c42c60901309c8b9d747a2f340ea35efdc5e43a78bfab1e610883f45\",\n          \"blockNumber\": \"0x15fb329\",\n          \"blockTimestamp\": \"0x688d3573\",\n          \"transactionHash\": \"0xd4367dc2000073a565cf6a59e14c9a242f19444f467644a72ad6648259ae7ecd\",\n          \"transactionIndex\": \"0xe7\",\n          \"logIndex\": \"0x448\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000004000042000000000000000000080000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000002000000400000000000000002000000000000000c0000000000000000000000000000000800000000040000000000000000000200000000000000000000000000020000000000020000a0000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xd4367dc2000073a565cf6a59e14c9a242f19444f467644a72ad6648259ae7ecd\",\n      \"transactionIndex\": \"0xe7\",\n      \"blockHash\": \"0x9ce9b459c42c60901309c8b9d747a2f340ea35efdc5e43a78bfab1e610883f45\",\n      \"blockNumber\": \"0x15fb329\",\n      \"gasUsed\": \"0x1fd2ae\",\n      \"effectiveGasPrice\": \"0x12ca298f\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1754084725,\n  \"chain\": 1,\n  \"commit\": \"1fa78b1\"\n}"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/script/ArbitrumExecuteRecovery.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Script, console} from \"forge-std/Script.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Recovery} from \"@base-contracts/src/recovery/Recovery.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {IInbox} from \"nitro-contracts/bridge/IInbox.sol\";\n\nstruct AddressJsonRecoveryInfo {\n    address refund_address;\n    string addressType;\n    string category;\n    string totalWei;\n}\n\ncontract ArbitrumExecuteRecovery is MultisigScript {\n    address internal immutable OWNER_SAFE = vm.envAddress(\"INCIDENT_MULTISIG\");\n    address internal ARBITRUM_INBOX = vm.envAddress(\"ARBITRUM_INBOX\");\n    address internal immutable L2_RECOVERY_PROXY = vm.envAddress(\"RECOVERY_PROXY\");\n\n    uint256 internal immutable ADDRESS_INDEX = vm.envUint(\"ADDRESS_INDEX\");\n\n    address[] public addresses;\n    uint256[] public amounts;\n\n    function setUp() public {\n        AddressJsonRecoveryInfo[] memory jsonAddressesToRefund;\n        string memory root = vm.projectRoot();\n        string memory path = string.concat(root, \"/output/arbitrum/recovery_addresses.json\");\n        string memory json = vm.readFile(path);\n        bytes memory data = vm.parseJson(json, \".addresses\");\n        jsonAddressesToRefund = abi.decode(data, (AddressJsonRecoveryInfo[]));\n\n        uint256 numAddressesToProcess = 100;\n        uint256 startingIndex = ADDRESS_INDEX * numAddressesToProcess;\n        if (jsonAddressesToRefund.length - startingIndex < numAddressesToProcess) {\n            numAddressesToProcess = jsonAddressesToRefund.length - startingIndex;\n        }\n\n        for (uint256 i; i < numAddressesToProcess; i++) {\n            addresses.push(jsonAddressesToRefund[i + startingIndex].refund_address);\n            amounts.push(vm.parseUint(jsonAddressesToRefund[i + startingIndex].totalWei));\n        }\n    }\n\n    function _buildCalls() internal view virtual override returns (IMulticall3.Call3Value[] memory) {\n        IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n\n        bytes memory data = abi.encodeCall(Recovery.withdrawETH, (addresses, amounts));\n\n        uint256 l2CallValue = 0;\n        uint256 maxSubmissionCost = 0.001 ether; // Estimated value\n        uint256 gasLimit = 2_000_000;\n        uint256 maxFeePerGas = 2 gwei;\n\n        uint256 value = maxSubmissionCost + l2CallValue + (gasLimit * maxFeePerGas);\n\n        calls[0] = IMulticall3.Call3Value({\n            target: ARBITRUM_INBOX,\n            allowFailure: false,\n            callData: abi.encodeCall(\n                IInbox.createRetryableTicket,\n                (\n                    L2_RECOVERY_PROXY, // to\n                    l2CallValue,\n                    maxSubmissionCost,\n                    OWNER_SAFE, // excessFeeRefundAddress\n                    OWNER_SAFE, // callValueRefundAddress\n                    gasLimit,\n                    maxFeePerGas,\n                    data\n                )\n            ),\n            value: value\n        });\n\n        return calls;\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {}\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/script/DeployRecoveryImplementation.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Script, console} from \"forge-std/Script.sol\";\n\nimport {Recovery} from \"@base-contracts/src/recovery/Recovery.sol\";\nimport {AddressAliasHelper} from \"@eth-optimism-bedrock/src/vendor/AddressAliasHelper.sol\";\n\ncontract DeployRecoveryImplementation is Script {\n    using AddressAliasHelper for address;\n\n    address internal ALIASED_INCIDENT_MULTISIG;\n\n    Recovery recoveryImpl;\n\n    function setUp() public {\n        ALIASED_INCIDENT_MULTISIG = vm.envAddress(\"INCIDENT_MULTISIG\").applyL1ToL2Alias();\n    }\n\n    function run() public {\n        vm.startBroadcast();\n        recoveryImpl = new Recovery(ALIASED_INCIDENT_MULTISIG);\n        console.log(\"Recovery implementation deployed at: \", address(recoveryImpl));\n        vm.stopBroadcast();\n\n        _postCheck();\n    }\n\n    function _postCheck() internal view {\n        require(recoveryImpl.OWNER() == ALIASED_INCIDENT_MULTISIG, \"Incorrect OWNER\");\n    }\n}\n"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/script/DeployRecoveryProxies.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Script, console} from \"forge-std/Script.sol\";\n\nimport {ERC1967Proxy} from \"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol\";\nimport {UUPSUpgradeable} from \"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol\";\nimport {Recovery} from \"@base-contracts/src/recovery/Recovery.sol\";\nimport {AddressAliasHelper} from \"@eth-optimism-bedrock/src/vendor/AddressAliasHelper.sol\";\n\ncontract DeployRecoveryProxies is Script {\n    using AddressAliasHelper for address;\n\n    address internal ALIASED_INCIDENT_MULTISIG;\n    address internal RECOVERY_IMPLEMENTATION;\n    address[6] internal EXPECTED_PROXY_ADDRESSES;\n\n    address[6] internal actualProxyAddresses;\n\n    function setUp() public {\n        ALIASED_INCIDENT_MULTISIG = vm.envAddress(\"INCIDENT_MULTISIG\").applyL1ToL2Alias();\n        RECOVERY_IMPLEMENTATION = vm.envAddress(\"RECOVERY_IMPLEMENTATION\");\n\n        string memory proxyAddressList = vm.envString(\"EXPECTED_PROXY_ADDRESSES\");\n        string[] memory addressStrings = vm.split(proxyAddressList, \",\");\n        require(addressStrings.length == 6, \"Must provide exactly 6 proxy addresses\");\n        for (uint256 i; i < 6; i++) {\n            EXPECTED_PROXY_ADDRESSES[i] = vm.parseAddress(addressStrings[i]);\n        }\n    }\n\n    function run() public {\n        vm.startBroadcast();\n        for (uint256 i; i < EXPECTED_PROXY_ADDRESSES.length; i++) {\n            address proxy = address(new ERC1967Proxy({_logic: RECOVERY_IMPLEMENTATION, _data: \"\"}));\n            actualProxyAddresses[i] = proxy;\n            console.log(\"Recovery proxy deployed at: \", proxy);\n        }\n        vm.stopBroadcast();\n\n        _postCheck();\n    }\n\n    function _postCheck() internal {\n        for (uint256 i; i < EXPECTED_PROXY_ADDRESSES.length; i++) {\n            // Check that the proxies are deployed to the expected addresses\n            require(actualProxyAddresses[i] == EXPECTED_PROXY_ADDRESSES[i], \"Incorrect proxy address\");\n\n            // Check that the proxies owners are the expected addresses\n            Recovery proxy = Recovery(actualProxyAddresses[i]);\n            require(proxy.OWNER() == ALIASED_INCIDENT_MULTISIG, \"Incorrect proxy owner\");\n\n            // Check that the proxies are upgradable\n            vm.prank(ALIASED_INCIDENT_MULTISIG);\n            UUPSUpgradeable(actualProxyAddresses[i]).upgradeTo(RECOVERY_IMPLEMENTATION);\n        }\n    }\n}\n"
  },
  {
    "path": "mainnet/2025-07-24-eth-recovery/script/OPStackExecuteRecovery.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Script} from \"forge-std/Script.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Recovery} from \"@base-contracts/src/recovery/Recovery.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {IOptimismPortal2} from \"@eth-optimism-bedrock/interfaces/L1/IOptimismPortal2.sol\";\n\nstruct AddressJsonRecoveryInfo {\n    address refund_address;\n    string addressType;\n    string category;\n    string totalWei;\n}\n\ncontract OPStackExecuteRecovery is MultisigScript {\n    address internal immutable OWNER_SAFE = vm.envAddress(\"INCIDENT_MULTISIG\");\n    address internal PORTAL = vm.envAddress(\"PORTAL\");\n    address internal immutable L2_RECOVERY_PROXY = vm.envAddress(\"RECOVERY_PROXY\");\n\n    uint256 internal immutable ADDRESS_INDEX = vm.envUint(\"ADDRESS_INDEX\");\n\n    address[] public addresses;\n    uint256[] public amounts;\n\n    function setUp() public {\n        AddressJsonRecoveryInfo[] memory jsonAddressesToRefund;\n        string memory root = vm.projectRoot();\n        string memory path =\n            string.concat(root, string.concat(\"/output/\", vm.envString(\"CHAIN\"), \"/recovery_addresses.json\"));\n        string memory json = vm.readFile(path);\n        bytes memory data = vm.parseJson(json, \".addresses\");\n        jsonAddressesToRefund = abi.decode(data, (AddressJsonRecoveryInfo[]));\n\n        uint256 numAddressesToProcess = 100;\n        uint256 startingIndex = ADDRESS_INDEX * numAddressesToProcess;\n        if (jsonAddressesToRefund.length - startingIndex < numAddressesToProcess) {\n            numAddressesToProcess = jsonAddressesToRefund.length - startingIndex;\n        }\n\n        for (uint256 i; i < numAddressesToProcess; i++) {\n            addresses.push(jsonAddressesToRefund[i + startingIndex].refund_address);\n            amounts.push(vm.parseUint(jsonAddressesToRefund[i + startingIndex].totalWei));\n        }\n    }\n\n    function _buildCalls() internal view virtual override returns (IMulticall3.Call3Value[] memory) {\n        IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n\n        address to = L2_RECOVERY_PROXY;\n        uint256 value = 0;\n        uint64 gasLimit = 2_000_000;\n        bool isCreation = false;\n        bytes memory data = abi.encodeCall(Recovery.withdrawETH, (addresses, amounts));\n\n        calls[0] = IMulticall3.Call3Value({\n            target: PORTAL,\n            allowFailure: false,\n            callData: abi.encodeCall(IOptimismPortal2.depositTransaction, (to, value, gasLimit, isCreation, data)),\n            value: value\n        });\n\n        return calls;\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {}\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "mainnet/2025-08-13-safe-swap-owner/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: do-sign\ndo-sign:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L2_RPC_URL) SwapOwner \\\n\t--sig \"sign(address[])\" []\n\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(L2_RPC_URL) SwapOwner \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2025-08-13-safe-swap-owner/OwnerDiff.json",
    "content": "{\n  \"OwnersToAdd\": [\n    \"0xB4AE52A401C34Ed24F49413170690255e737D414\",\n    \"0xB9F93278843351Dd1F1fB7045349aCA4401CB76e\",\n    \"0x8793C36f3721B751Aa03A365be4862ac4aCD21Ef\",\n    \"0x16eBE22A951D96A3CA15407b04dD873A14018992\",\n    \"0x7233C120cd9D601EC0ad4DBaA51aE55A4851FaC6\",\n    \"0x4Ae6Da8c76d4a628594a2154bDC31C9e04f43A48\",\n    \"0x14b849bcc8034b2cd4c4669f9CEB47b190F3fb1F\"\n  ],\n  \"OwnersToRemove\": [\n    \"0xC29A4a69886d5ee1E08BDBbdd4e35558A668ee04\",\n    \"0x23AB3425EC02328eBB0dB3d93213a2238A78a026\",\n    \"0x7CD1a2f18CBef60F63F6fe35FC02A6305a77E3E2\",\n    \"0xd458da0810f6924623575a4b965310F008c1C8fe\",\n    \"0xE4fdB41d002844cfb43d5d50DE7210625C6f5a09\",\n    \"0xA608EA330D51A5109454f3Ea4F5d0cdEc5a1aCAa\"\n  ]\n}\n"
  },
  {
    "path": "mainnet/2025-08-13-safe-swap-owner/README.md",
    "content": "# Swap Owner on Gnosis Safe\n\nStatus: PENDING\n\n## Description\n\nThis task contains a single script that can be used to swap an owner in a Gnosis Safe. \n\n## Procedure\n\n### 1. Update repo:\n\n```bash\ncd <network>/<date>safe-swap-owner\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate, Validate, and Sign\n\n#### 3.1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```bash\nmake do-sign\n```\n\nYou will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and extract the domain hash and\nmessage hash to approve on your Ledger:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n##### 3.1.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Summary\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is `<network>`.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account.\n\n##### 3.1.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab, and refer to the [State Validations](./VALIDATION.md) instructions for the transaction you are signing.\nOnce complete return to this document to complete the signing.\n\n### 4. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Summary\" tab, and find the\n`Safe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\nOnce the validations are done, it's time to actually sign the\ntransaction.\n\n> [!WARNING]\n> This is the most security critical part of the playbook: make sure the\n> domain hash and message hash in the following three places match:\n>\n> 1. On your Ledger screen.\n> 2. In the terminal output.\n> 3. In the Tenderly simulation. You should use the same Tenderly\n>    simulation as the one you used to verify the state diffs, instead\n>    of opening the new one printed in the console.\n>\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```shell\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n#### 4.1. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n### [For Facilitator ONLY] How to execute\n\n#### Execute the transaction\n\n1. Collect outputs from all participating signers.\n1. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"`.\n1. Run the `make execute` command as described below to execute the transaction.\n\nFor example, if the quorum is 2 and you get the following outputs:\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE01\nSignature: AAAA\n```\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE02\nSignature: BBBB\n```\n\nThen you should run:\n\nCoinbase facilitator:\n\n```bash\nSIGNATURES=AAAABBBB make execute\n```\n"
  },
  {
    "path": "mainnet/2025-08-13-safe-swap-owner/VALIDATION.md",
    "content": "# Validation\n\nThis document can be used to validate the state diff resulting from the execution of the swap owner transaction.\n\nFor each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract:\n\n- The following state changes (and no others) are made to that contract. This validates that no unexpected state changes occur.\n- All addresses (in section headers and storage values) match the provided name, using the Etherscan links provided. This validates the bytecode deployed at the addresses contains the correct logic.\n- All key values match the semantic meaning provided, which can be validated using the storage layout links provided.\n\n## State Changes\n\n### `<safe_address>` (Base `GnosisSafeProxy`)\n\n- **Key**: `owners[newOwner]` <br/>\n  **Before**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n  **After**: `Next address in the list returned by getOwners()` <br/>\n  **Meaning**: Sets the address value at the mapping key `owners[newOwner]` to the next address in the list returned by `getOwners()`. This is the first step required to replace the `oldOwner` address in the linked list data structure of owners.  <br/>\n  **Verify**: You can verify the key derivation by running `cast index address <newOwner> 2` in your terminal. See the following section for an explanation of the storage and value calculations.\n- **Key**: `owners[prevOwner]` <br/>\n  **Before**: `oldOwner address` <br/>\n  **After**: `newOwner address` <br/>\n  **Meaning**: Points the address value at mapping key `owners[prevOwner]` to the `newOwner` address. This is the second step required to replace the `oldOwner` address in the linked list data structure of owners.  <br/>\n  **Verify**: You can verify the key derivation by running `cast index address <prevOwner> 2` in your terminal. See the following section for an explanation of the storage and value calculations.\n- **Key**: `owners[oldOwner]` <br/>\n  **Before**: `Next address in the list returned by getOwners()` <br/>\n  **After**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n  **Meaning**: Clears the address value at the mapping key `owners[oldOwner]`. This removes the final reference to the `oldOwner` from the `owners` linked list.  <br/>\n  **Verify**: You can verify the key derivation by running `cast index address <oldOwner> 2` in your terminal. See the following section for an explanation of the storage and value calculations.\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n  **Before**: `Current nonce value (in hexadecimal)` <br/>\n  **After**: `Current nonce value + 1 (in hexadecimal)` <br/>\n  **Meaning**: Increments the `nonce` value of the Gnosis Safe. <br/>\n  **Verify**: You can verify the value by running `cast storage <safe_address> 5 -r <rpc_url>` in your terminal. This value represents the _current_ nonce value.\n\n### `SwapOwner` Storage Calculations\n\nThe [`swapOwner`](https://github.com/safe-global/safe-smart-account/blob/8823fa3e44936e2aecf23bb97662eb0ffeff2f93/contracts/base/OwnerManager.sol#L94) function in the Gnosis Safe implementation will perform [three storage changes](https://github.com/safe-global/safe-smart-account/blob/8823fa3e44936e2aecf23bb97662eb0ffeff2f93/contracts/base/OwnerManager.sol#L106-L108):\n\n- Point the `newOwner` address to the owner address that was previously pointed to by the `oldOwner` that is being removed.\n- Point the `prevOwner` address to the `newOwner` address.\n- Remove the pointer value stored at the mapping of the `oldOwner` address.\n\nThese changes are needed on account of the data structure that holds the owners in the Gnosis Safe implementation being a singly-linked list. To calculate the expected storage locations of these mapping values, we can perform the following:\n\n#### Calculating `prevOwner`\n\nThe `prevOwner` is identified by the script, but can be manually checked by running the cast command:\n\n```sh\ncast call <safe_address> \"getOwners()(address[])\" -r <rpc_url>\n\n[0x6CD3850756b7894774Ab715D136F9dD02837De50, 0x3cd692eCE8b6573A2220ae00d0dEb98f0DfFA9a1, 0x5FbEFA105bbd53b43bf537Cbc5cD30804Dd0c993, 0x3Dad2200849925Bb46d9bF05aFa5f7F213F4c18E, 0xB011a32ED8b4F70D9943A2199F539bbeCd7b62F7, 0xf9e320f3dA12E68af219d9E2A490Dd649f6B177c]\n```\n\nThe order that the owner addresses are returned in indicates who the `prevOwner` and next owner values of the address to remove is. If the owner to remove is the 0th value, its `prevOwner` would be the special sentinel node value [`SENTINEL_OWNERS`](https://github.com/safe-global/safe-smart-account/blob/f9cc387f72640eb2c1d6ae8abe9d6ff25ca1ed3b/contracts/base/OwnerManager.sol#L17). Otherwise, if the owner to remove is the last value in the array, its next owner address would be the special sentinel node value [`SENTINEL_OWNERS`](https://github.com/safe-global/safe-smart-account/blob/f9cc387f72640eb2c1d6ae8abe9d6ff25ca1ed3b/contracts/base/OwnerManager.sol#L17).\n\n#### Calculating storage locations and values\n\nWith the order of the owners identified, we can calculate the expected storage mapping locations and their values. For the first change, the expected storage slot and value will be the following:\n\n**Storage Slot**: `cast index address <newOwner> 2`\n\n**Value**: The address immediately following `oldOwner` in the `getOwners` list, or the `SENTINEL_OWNERS` special value if the address is the last in the array.\n\nFor the second change, it will be:\n\n**Storage Slot**: `cast index address <prevOwner> 2`\n\n**Value**: `newOwner` address\n\nFor the final storage change, it will be:\n\n**Storage Slot**: `cast index address <oldOwner> 2`\n\n**Value**: `address(0)`\n\nNote that for all the above storage calculations, we used storage slot 2 as that is the location of the `owners` mapping in the Gnosis Safe storage layout. This can be confirmed with the following command: `cast storage <safe_address> -r <rpc_url> -e <etherscan_api_key>`. Also note that while the storage changes may not appear in the same order in the Tenderly simulation, there should still be 3 storage changes related to the `owner` linked list and one change for the `nonce` value on the `GnosisSafeProxy`. There should be no additional changes to the proxy besides these ones!\n"
  },
  {
    "path": "mainnet/2025-08-13-safe-swap-owner/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2025-08-13-safe-swap-owner/records/SwapOwner.s.sol/8453/run-1757436536544.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": null,\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000d00000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000004a000000000000000000000000000000000000000000000000000000000000005a000000000000000000000000000000000000000000000000000000000000006a000000000000000000000000000000000000000000000000000000000000007a000000000000000000000000000000000000000000000000000000000000008a000000000000000000000000000000000000000000000000000000000000009c00000000000000000000000000000000000000000000000000000000000000ae00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000d200000000000000000000000000000000000000000000000000000000000000e40000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000b4ae52a401c34ed24f49413170690255e737d414000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000b9f93278843351dd1f1fb7045349aca4401cb76e000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000008793c36f3721b751aa03a365be4862ac4acd21ef000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f1300000000000000000000000016ebe22a951d96a3ca15407b04dd873a14018992000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000007233c120cd9d601ec0ad4dbaa51ae55a4851fac6000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000004ae6da8c76d4a628594a2154bdc31c9e04f43a48000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f1300000000000000000000000014b849bcc8034b2cd4c4669f9ceb47b190f3fb1f000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd900000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045000000000000000000000000c29a4a69886d5ee1e08bdbbdd4e35558a668ee04000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa00000000000000000000000023ab3425ec02328ebb0db3d93213a2238a78a026000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa0000000000000000000000007cd1a2f18cbef60f63f6fe35fc02a6305a77e3e2000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa000000000000000000000000d458da0810f6924623575a4b965310f008c1c8fe000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000b4ae52a401c34ed24f49413170690255e737d414000000000000000000000000e4fdb41d002844cfb43d5d50de7210625c6f5a09000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd900000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x173a2d015c47f6733a2854133e3a7010468f4d2ec42300ffe6e40f2ec0414ff24fd91b8e036ebdb07eacf10fef6d1c63ac4b885889b7a92d89377ec1a8e295a31b61b1c37fd3742811d78ded8e0aa5ece061d9cd48f1ced022e9a48be459c27d00300cf107cdd75e3fac974f8d2ee39efb7412793d30003e44649cb2d3aac31a571b7e2dce16f542b11a633d6fe3a621a46b3e36111bd6af674081c5bfc1ab57a95c31dd21d8af70a01c5152beda14ebc29e6e02ea507f55085d8e53203663d7678f1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb4ae52a401c34ed24f49413170690255e737d414\",\n        \"to\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n        \"gas\": \"0x7a043\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011200000000000000000000000000000000000000000000000000000000000000fa4174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000d00000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000004a000000000000000000000000000000000000000000000000000000000000005a000000000000000000000000000000000000000000000000000000000000006a000000000000000000000000000000000000000000000000000000000000007a000000000000000000000000000000000000000000000000000000000000008a000000000000000000000000000000000000000000000000000000000000009c00000000000000000000000000000000000000000000000000000000000000ae00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000d200000000000000000000000000000000000000000000000000000000000000e40000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000b4ae52a401c34ed24f49413170690255e737d414000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000b9f93278843351dd1f1fb7045349aca4401cb76e000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000008793c36f3721b751aa03a365be4862ac4acd21ef000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f1300000000000000000000000016ebe22a951d96a3ca15407b04dd873a14018992000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000007233c120cd9d601ec0ad4dbaa51ae55a4851fac6000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000004ae6da8c76d4a628594a2154bdc31c9e04f43a48000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f1300000000000000000000000014b849bcc8034b2cd4c4669f9ceb47b190f3fb1f000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd900000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045000000000000000000000000c29a4a69886d5ee1e08bdbbdd4e35558a668ee04000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa00000000000000000000000023ab3425ec02328ebb0db3d93213a2238a78a026000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa0000000000000000000000007cd1a2f18cbef60f63f6fe35fc02a6305a77e3e2000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa000000000000000000000000d458da0810f6924623575a4b965310f008c1c8fe000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000b4ae52a401c34ed24f49413170690255e737d414000000000000000000000000e4fdb41d002844cfb43d5d50de7210625c6f5a09000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd900000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3173a2d015c47f6733a2854133e3a7010468f4d2ec42300ffe6e40f2ec0414ff24fd91b8e036ebdb07eacf10fef6d1c63ac4b885889b7a92d89377ec1a8e295a31b61b1c37fd3742811d78ded8e0aa5ece061d9cd48f1ced022e9a48be459c27d00300cf107cdd75e3fac974f8d2ee39efb7412793d30003e44649cb2d3aac31a571b7e2dce16f542b11a633d6fe3a621a46b3e36111bd6af674081c5bfc1ab57a95c31dd21d8af70a01c5152beda14ebc29e6e02ea507f55085d8e53203663d7678f1b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x1d\",\n        \"chainId\": \"0x2105\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1757436536544,\n  \"chain\": 8453,\n  \"commit\": \"ef1418a\"\n}"
  },
  {
    "path": "mainnet/2025-08-13-safe-swap-owner/records/SwapOwner.s.sol/8453/run-1757436608629.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xfbe8ea7282aa7180f53bd32d8c8970b0c3372963634ae9cc4cfcb4d1c4a34bb4\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000d00000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000004a000000000000000000000000000000000000000000000000000000000000005a000000000000000000000000000000000000000000000000000000000000006a000000000000000000000000000000000000000000000000000000000000007a000000000000000000000000000000000000000000000000000000000000008a000000000000000000000000000000000000000000000000000000000000009c00000000000000000000000000000000000000000000000000000000000000ae00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000d200000000000000000000000000000000000000000000000000000000000000e40000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000b4ae52a401c34ed24f49413170690255e737d414000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000b9f93278843351dd1f1fb7045349aca4401cb76e000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000008793c36f3721b751aa03a365be4862ac4acd21ef000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f1300000000000000000000000016ebe22a951d96a3ca15407b04dd873a14018992000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000007233c120cd9d601ec0ad4dbaa51ae55a4851fac6000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000004ae6da8c76d4a628594a2154bdc31c9e04f43a48000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f1300000000000000000000000014b849bcc8034b2cd4c4669f9ceb47b190f3fb1f000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd900000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045000000000000000000000000c29a4a69886d5ee1e08bdbbdd4e35558a668ee04000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa00000000000000000000000023ab3425ec02328ebb0db3d93213a2238a78a026000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa0000000000000000000000007cd1a2f18cbef60f63f6fe35fc02a6305a77e3e2000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa000000000000000000000000d458da0810f6924623575a4b965310f008c1c8fe000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000b4ae52a401c34ed24f49413170690255e737d414000000000000000000000000e4fdb41d002844cfb43d5d50de7210625c6f5a09000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd900000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x173a2d015c47f6733a2854133e3a7010468f4d2ec42300ffe6e40f2ec0414ff24fd91b8e036ebdb07eacf10fef6d1c63ac4b885889b7a92d89377ec1a8e295a31b61b1c37fd3742811d78ded8e0aa5ece061d9cd48f1ced022e9a48be459c27d00300cf107cdd75e3fac974f8d2ee39efb7412793d30003e44649cb2d3aac31a571b7e2dce16f542b11a633d6fe3a621a46b3e36111bd6af674081c5bfc1ab57a95c31dd21d8af70a01c5152beda14ebc29e6e02ea507f55085d8e53203663d7678f1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb4ae52a401c34ed24f49413170690255e737d414\",\n        \"to\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n        \"gas\": \"0x7a043\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011200000000000000000000000000000000000000000000000000000000000000fa4174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000d00000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000004a000000000000000000000000000000000000000000000000000000000000005a000000000000000000000000000000000000000000000000000000000000006a000000000000000000000000000000000000000000000000000000000000007a000000000000000000000000000000000000000000000000000000000000008a000000000000000000000000000000000000000000000000000000000000009c00000000000000000000000000000000000000000000000000000000000000ae00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000d200000000000000000000000000000000000000000000000000000000000000e40000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000b4ae52a401c34ed24f49413170690255e737d414000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000b9f93278843351dd1f1fb7045349aca4401cb76e000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000008793c36f3721b751aa03a365be4862ac4acd21ef000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f1300000000000000000000000016ebe22a951d96a3ca15407b04dd873a14018992000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000007233c120cd9d601ec0ad4dbaa51ae55a4851fac6000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000004ae6da8c76d4a628594a2154bdc31c9e04f43a48000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f1300000000000000000000000014b849bcc8034b2cd4c4669f9ceb47b190f3fb1f000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd900000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045000000000000000000000000c29a4a69886d5ee1e08bdbbdd4e35558a668ee04000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa00000000000000000000000023ab3425ec02328ebb0db3d93213a2238a78a026000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa0000000000000000000000007cd1a2f18cbef60f63f6fe35fc02a6305a77e3e2000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa000000000000000000000000d458da0810f6924623575a4b965310f008c1c8fe000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000b4ae52a401c34ed24f49413170690255e737d414000000000000000000000000e4fdb41d002844cfb43d5d50de7210625c6f5a09000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd900000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3173a2d015c47f6733a2854133e3a7010468f4d2ec42300ffe6e40f2ec0414ff24fd91b8e036ebdb07eacf10fef6d1c63ac4b885889b7a92d89377ec1a8e295a31b61b1c37fd3742811d78ded8e0aa5ece061d9cd48f1ced022e9a48be459c27d00300cf107cdd75e3fac974f8d2ee39efb7412793d30003e44649cb2d3aac31a571b7e2dce16f542b11a633d6fe3a621a46b3e36111bd6af674081c5bfc1ab57a95c31dd21d8af70a01c5152beda14ebc29e6e02ea507f55085d8e53203663d7678f1b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x1d\",\n        \"chainId\": \"0x2105\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x33a4ac9\",\n      \"logs\": [\n        {\n          \"address\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000114000000000000000000000000000000000000000000000000000000000000012400000000000000000000000000000000000000000000000000000000000000fa4174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000d00000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000004a000000000000000000000000000000000000000000000000000000000000005a000000000000000000000000000000000000000000000000000000000000006a000000000000000000000000000000000000000000000000000000000000007a000000000000000000000000000000000000000000000000000000000000008a000000000000000000000000000000000000000000000000000000000000009c00000000000000000000000000000000000000000000000000000000000000ae00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000d200000000000000000000000000000000000000000000000000000000000000e40000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000b4ae52a401c34ed24f49413170690255e737d414000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000b9f93278843351dd1f1fb7045349aca4401cb76e000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000008793c36f3721b751aa03a365be4862ac4acd21ef000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f1300000000000000000000000016ebe22a951d96a3ca15407b04dd873a14018992000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000007233c120cd9d601ec0ad4dbaa51ae55a4851fac6000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000004ae6da8c76d4a628594a2154bdc31c9e04f43a48000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f1300000000000000000000000014b849bcc8034b2cd4c4669f9ceb47b190f3fb1f000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd900000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045000000000000000000000000c29a4a69886d5ee1e08bdbbdd4e35558a668ee04000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa00000000000000000000000023ab3425ec02328ebb0db3d93213a2238a78a026000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa0000000000000000000000007cd1a2f18cbef60f63f6fe35fc02a6305a77e3e2000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa000000000000000000000000d458da0810f6924623575a4b965310f008c1c8fe000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000b4ae52a401c34ed24f49413170690255e737d414000000000000000000000000e4fdb41d002844cfb43d5d50de7210625c6f5a09000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd900000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3173a2d015c47f6733a2854133e3a7010468f4d2ec42300ffe6e40f2ec0414ff24fd91b8e036ebdb07eacf10fef6d1c63ac4b885889b7a92d89377ec1a8e295a31b61b1c37fd3742811d78ded8e0aa5ece061d9cd48f1ced022e9a48be459c27d00300cf107cdd75e3fac974f8d2ee39efb7412793d30003e44649cb2d3aac31a571b7e2dce16f542b11a633d6fe3a621a46b3e36111bd6af674081c5bfc1ab57a95c31dd21d8af70a01c5152beda14ebc29e6e02ea507f55085d8e53203663d7678f1b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000b4ae52a401c34ed24f49413170690255e737d4140000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0xc68736611e06f5025314fd4aba1bf47ad1e94d08d0a5dbe00d573f1b0eada5eb\",\n          \"blockNumber\": \"0x21afeef\",\n          \"blockTimestamp\": \"0x68c05ac1\",\n          \"transactionHash\": \"0xfbe8ea7282aa7180f53bd32d8c8970b0c3372963634ae9cc4cfcb4d1c4a34bb4\",\n          \"transactionIndex\": \"0xe6\",\n          \"logIndex\": \"0x359\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x000000000000000000000000b4ae52a401c34ed24f49413170690255e737d414\",\n          \"blockHash\": \"0xc68736611e06f5025314fd4aba1bf47ad1e94d08d0a5dbe00d573f1b0eada5eb\",\n          \"blockNumber\": \"0x21afeef\",\n          \"blockTimestamp\": \"0x68c05ac1\",\n          \"transactionHash\": \"0xfbe8ea7282aa7180f53bd32d8c8970b0c3372963634ae9cc4cfcb4d1c4a34bb4\",\n          \"transactionIndex\": \"0xe6\",\n          \"logIndex\": \"0x35a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x000000000000000000000000b9f93278843351dd1f1fb7045349aca4401cb76e\",\n          \"blockHash\": \"0xc68736611e06f5025314fd4aba1bf47ad1e94d08d0a5dbe00d573f1b0eada5eb\",\n          \"blockNumber\": \"0x21afeef\",\n          \"blockTimestamp\": \"0x68c05ac1\",\n          \"transactionHash\": \"0xfbe8ea7282aa7180f53bd32d8c8970b0c3372963634ae9cc4cfcb4d1c4a34bb4\",\n          \"transactionIndex\": \"0xe6\",\n          \"logIndex\": \"0x35b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x0000000000000000000000008793c36f3721b751aa03a365be4862ac4acd21ef\",\n          \"blockHash\": \"0xc68736611e06f5025314fd4aba1bf47ad1e94d08d0a5dbe00d573f1b0eada5eb\",\n          \"blockNumber\": \"0x21afeef\",\n          \"blockTimestamp\": \"0x68c05ac1\",\n          \"transactionHash\": \"0xfbe8ea7282aa7180f53bd32d8c8970b0c3372963634ae9cc4cfcb4d1c4a34bb4\",\n          \"transactionIndex\": \"0xe6\",\n          \"logIndex\": \"0x35c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x00000000000000000000000016ebe22a951d96a3ca15407b04dd873a14018992\",\n          \"blockHash\": \"0xc68736611e06f5025314fd4aba1bf47ad1e94d08d0a5dbe00d573f1b0eada5eb\",\n          \"blockNumber\": \"0x21afeef\",\n          \"blockTimestamp\": \"0x68c05ac1\",\n          \"transactionHash\": \"0xfbe8ea7282aa7180f53bd32d8c8970b0c3372963634ae9cc4cfcb4d1c4a34bb4\",\n          \"transactionIndex\": \"0xe6\",\n          \"logIndex\": \"0x35d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x0000000000000000000000007233c120cd9d601ec0ad4dbaa51ae55a4851fac6\",\n          \"blockHash\": \"0xc68736611e06f5025314fd4aba1bf47ad1e94d08d0a5dbe00d573f1b0eada5eb\",\n          \"blockNumber\": \"0x21afeef\",\n          \"blockTimestamp\": \"0x68c05ac1\",\n          \"transactionHash\": \"0xfbe8ea7282aa7180f53bd32d8c8970b0c3372963634ae9cc4cfcb4d1c4a34bb4\",\n          \"transactionIndex\": \"0xe6\",\n          \"logIndex\": \"0x35e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x0000000000000000000000004ae6da8c76d4a628594a2154bdc31c9e04f43a48\",\n          \"blockHash\": \"0xc68736611e06f5025314fd4aba1bf47ad1e94d08d0a5dbe00d573f1b0eada5eb\",\n          \"blockNumber\": \"0x21afeef\",\n          \"blockTimestamp\": \"0x68c05ac1\",\n          \"transactionHash\": \"0xfbe8ea7282aa7180f53bd32d8c8970b0c3372963634ae9cc4cfcb4d1c4a34bb4\",\n          \"transactionIndex\": \"0xe6\",\n          \"logIndex\": \"0x35f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x00000000000000000000000014b849bcc8034b2cd4c4669f9ceb47b190f3fb1f\",\n          \"blockHash\": \"0xc68736611e06f5025314fd4aba1bf47ad1e94d08d0a5dbe00d573f1b0eada5eb\",\n          \"blockNumber\": \"0x21afeef\",\n          \"blockTimestamp\": \"0x68c05ac1\",\n          \"transactionHash\": \"0xfbe8ea7282aa7180f53bd32d8c8970b0c3372963634ae9cc4cfcb4d1c4a34bb4\",\n          \"transactionIndex\": \"0xe6\",\n          \"logIndex\": \"0x360\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x000000000000000000000000c29a4a69886d5ee1e08bdbbdd4e35558a668ee04\",\n          \"blockHash\": \"0xc68736611e06f5025314fd4aba1bf47ad1e94d08d0a5dbe00d573f1b0eada5eb\",\n          \"blockNumber\": \"0x21afeef\",\n          \"blockTimestamp\": \"0x68c05ac1\",\n          \"transactionHash\": \"0xfbe8ea7282aa7180f53bd32d8c8970b0c3372963634ae9cc4cfcb4d1c4a34bb4\",\n          \"transactionIndex\": \"0xe6\",\n          \"logIndex\": \"0x361\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x00000000000000000000000023ab3425ec02328ebb0db3d93213a2238a78a026\",\n          \"blockHash\": \"0xc68736611e06f5025314fd4aba1bf47ad1e94d08d0a5dbe00d573f1b0eada5eb\",\n          \"blockNumber\": \"0x21afeef\",\n          \"blockTimestamp\": \"0x68c05ac1\",\n          \"transactionHash\": \"0xfbe8ea7282aa7180f53bd32d8c8970b0c3372963634ae9cc4cfcb4d1c4a34bb4\",\n          \"transactionIndex\": \"0xe6\",\n          \"logIndex\": \"0x362\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x0000000000000000000000007cd1a2f18cbef60f63f6fe35fc02a6305a77e3e2\",\n          \"blockHash\": \"0xc68736611e06f5025314fd4aba1bf47ad1e94d08d0a5dbe00d573f1b0eada5eb\",\n          \"blockNumber\": \"0x21afeef\",\n          \"blockTimestamp\": \"0x68c05ac1\",\n          \"transactionHash\": \"0xfbe8ea7282aa7180f53bd32d8c8970b0c3372963634ae9cc4cfcb4d1c4a34bb4\",\n          \"transactionIndex\": \"0xe6\",\n          \"logIndex\": \"0x363\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x000000000000000000000000d458da0810f6924623575a4b965310f008c1c8fe\",\n          \"blockHash\": \"0xc68736611e06f5025314fd4aba1bf47ad1e94d08d0a5dbe00d573f1b0eada5eb\",\n          \"blockNumber\": \"0x21afeef\",\n          \"blockTimestamp\": \"0x68c05ac1\",\n          \"transactionHash\": \"0xfbe8ea7282aa7180f53bd32d8c8970b0c3372963634ae9cc4cfcb4d1c4a34bb4\",\n          \"transactionIndex\": \"0xe6\",\n          \"logIndex\": \"0x364\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x000000000000000000000000e4fdb41d002844cfb43d5d50de7210625c6f5a09\",\n          \"blockHash\": \"0xc68736611e06f5025314fd4aba1bf47ad1e94d08d0a5dbe00d573f1b0eada5eb\",\n          \"blockNumber\": \"0x21afeef\",\n          \"blockTimestamp\": \"0x68c05ac1\",\n          \"transactionHash\": \"0xfbe8ea7282aa7180f53bd32d8c8970b0c3372963634ae9cc4cfcb4d1c4a34bb4\",\n          \"transactionIndex\": \"0xe6\",\n          \"logIndex\": \"0x365\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa\",\n          \"blockHash\": \"0xc68736611e06f5025314fd4aba1bf47ad1e94d08d0a5dbe00d573f1b0eada5eb\",\n          \"blockNumber\": \"0x21afeef\",\n          \"blockTimestamp\": \"0x68c05ac1\",\n          \"transactionHash\": \"0xfbe8ea7282aa7180f53bd32d8c8970b0c3372963634ae9cc4cfcb4d1c4a34bb4\",\n          \"transactionIndex\": \"0xe6\",\n          \"logIndex\": \"0x366\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x9bfb729edf3a679dd37b3a9113cc742df0586e8841f9b18ba893577fd8f536810000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xc68736611e06f5025314fd4aba1bf47ad1e94d08d0a5dbe00d573f1b0eada5eb\",\n          \"blockNumber\": \"0x21afeef\",\n          \"blockTimestamp\": \"0x68c05ac1\",\n          \"transactionHash\": \"0xfbe8ea7282aa7180f53bd32d8c8970b0c3372963634ae9cc4cfcb4d1c4a34bb4\",\n          \"transactionIndex\": \"0xe6\",\n          \"logIndex\": \"0x367\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000800000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000200000000010000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000001000000004000000000000000000000000000000020000000000000000000000000000020000000000000000000000000000000040000000000000400000000000000000000000008000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xfbe8ea7282aa7180f53bd32d8c8970b0c3372963634ae9cc4cfcb4d1c4a34bb4\",\n      \"transactionIndex\": \"0xe6\",\n      \"blockHash\": \"0xc68736611e06f5025314fd4aba1bf47ad1e94d08d0a5dbe00d573f1b0eada5eb\",\n      \"blockNumber\": \"0x21afeef\",\n      \"gasUsed\": \"0x58568\",\n      \"effectiveGasPrice\": \"0x639f28\",\n      \"from\": \"0xb4ae52a401c34ed24f49413170690255e737d414\",\n      \"to\": \"0xb5fa2ea9845c67c76b1813d4778601f209875bf6\",\n      \"contractAddress\": null,\n      \"l1BaseFeeScalar\": \"0x8dd\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0x101c12\",\n      \"l1Fee\": \"0x71312af6e\",\n      \"l1GasPrice\": \"0x42c6a33d\",\n      \"l1GasUsed\": \"0x2eb1\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1757436608629,\n  \"chain\": 8453,\n  \"commit\": \"ef1418a\"\n}"
  },
  {
    "path": "mainnet/2025-08-13-safe-swap-owner/script/SwapOwner.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\nimport {IGnosisSafe} from \"@base-contracts/script/universal/IGnosisSafe.sol\";\nimport {stdJson} from \"forge-std/StdJson.sol\";\nimport {Vm} from \"forge-std/Vm.sol\";\n\n\ncontract SwapOwner is MultisigScript {\n    using stdJson for string;\n\n    address internal OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n    address internal constant SENTINEL_OWNERS = address(0x1);\n\n    address[] public EXISTING_OWNERS;\n\n    address[] public OWNERS_TO_ADD;\n    address[] public OWNERS_TO_REMOVE;\n\n    mapping(address => address) public ownerToPrevOwner;\n    mapping(address => address) public ownerToNextOwner;\n    mapping(address => bool) public expectedOwner;\n    uint256 public immutable THRESHOLD;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n\n        IGnosisSafe ownerSafe = IGnosisSafe(OWNER_SAFE);\n        THRESHOLD = ownerSafe.getThreshold();\n        EXISTING_OWNERS = ownerSafe.getOwners();\n\n        string memory rootPath = vm.projectRoot();\n        string memory path = string.concat(rootPath, \"/OwnerDiff.json\");\n        string memory jsonData = vm.readFile(path);\n\n        OWNERS_TO_ADD = abi.decode(jsonData.parseRaw(\".OwnersToAdd\"), (address[]));\n        OWNERS_TO_REMOVE = abi.decode(jsonData.parseRaw(\".OwnersToRemove\"), (address[]));\n    }\n\n    function setUp() public {\n        require(OWNERS_TO_ADD.length > 0);\n        require(OWNERS_TO_REMOVE.length > 0);\n        address prevOwner = SENTINEL_OWNERS;\n        IGnosisSafe ownerSafe = IGnosisSafe(payable(OWNER_SAFE));\n\n        for (uint256 i = OWNERS_TO_ADD.length; i > 0; i--) {\n            uint256 index = i - 1;\n            // Make sure owners to add are not already owners\n            require(!ownerSafe.isOwner(OWNERS_TO_ADD[index]), \"New owner already owner\");\n            // Prevent duplicates\n            require(!expectedOwner[OWNERS_TO_ADD[index]], \"Duplicate owner detected\");\n\n            ownerToPrevOwner[OWNERS_TO_ADD[index]] = prevOwner;\n            ownerToNextOwner[prevOwner] = OWNERS_TO_ADD[index];\n            prevOwner = OWNERS_TO_ADD[index];\n            expectedOwner[OWNERS_TO_ADD[index]] = true;\n        }\n\n        for (uint256 i; i < EXISTING_OWNERS.length; i++) {\n            ownerToPrevOwner[EXISTING_OWNERS[i]] = prevOwner;\n            ownerToNextOwner[prevOwner] = EXISTING_OWNERS[i];\n            prevOwner = EXISTING_OWNERS[i];\n            expectedOwner[EXISTING_OWNERS[i]] = true;\n        }\n\n        for (uint256 i; i < OWNERS_TO_REMOVE.length; i++) {\n            // Make sure owners to remove are owners\n            require(ownerSafe.isOwner(OWNERS_TO_REMOVE[i]), \"Precheck 05\");\n            // Prevent duplicates\n            require(expectedOwner[OWNERS_TO_REMOVE[i]], \"Precheck 06\");\n            expectedOwner[OWNERS_TO_REMOVE[i]] = false;\n\n            // Remove from linked list to keep ownerToPrevOwner up to date\n            // Note: This works as long as the order of OWNERS_TO_REMOVE does not change during `_buildCalls()`\n            address nextOwner = ownerToNextOwner[OWNERS_TO_REMOVE[i]];\n            address prevPtr = ownerToPrevOwner[OWNERS_TO_REMOVE[i]];\n            ownerToPrevOwner[nextOwner] = prevPtr;\n            ownerToNextOwner[prevPtr] = nextOwner;\n        }\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) {\n        IMulticall3.Call3Value[] memory calls =\n            new IMulticall3.Call3Value[](OWNERS_TO_ADD.length + OWNERS_TO_REMOVE.length);\n\n        for (uint256 i; i < OWNERS_TO_ADD.length; i++) {\n            calls[i] = IMulticall3.Call3Value({\n                target: OWNER_SAFE,\n                allowFailure: false,\n                callData: abi.encodeCall(IGnosisSafe.addOwnerWithThreshold, (OWNERS_TO_ADD[i], THRESHOLD)),\n                value: 0\n            });\n        }\n\n        for (uint256 i; i < OWNERS_TO_REMOVE.length; i++) {\n            calls[OWNERS_TO_ADD.length + i] = IMulticall3.Call3Value({\n                target: OWNER_SAFE,\n                allowFailure: false,\n                callData: abi.encodeCall(\n                    IGnosisSafe.removeOwner, (ownerToPrevOwner[OWNERS_TO_REMOVE[i]], OWNERS_TO_REMOVE[i], THRESHOLD)\n                ),\n                value: 0\n            });\n        }\n\n        return calls;\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        IGnosisSafe ownerSafe = IGnosisSafe(OWNER_SAFE);\n        address[] memory postCheckOwners = ownerSafe.getOwners();\n        uint256 postCheckThreshold = ownerSafe.getThreshold();\n\n        uint256 expectedLength = EXISTING_OWNERS.length + OWNERS_TO_ADD.length - OWNERS_TO_REMOVE.length;\n\n        require(postCheckThreshold == THRESHOLD, \"Postcheck 00\");\n        require(postCheckOwners.length == expectedLength, \"Postcheck 01\");\n\n        for (uint256 i; i < postCheckOwners.length; i++) {\n            require(expectedOwner[postCheckOwners[i]], \"Postcheck 02\");\n        }\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "mainnet/2025-10-06-funding/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\n\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n\n# OWNER_SAFE/\n# └── Signers\n\n\nRPC_URL = $(L1_RPC_URL)\nSCRIPT_NAME = FundScript\n\n.PHONY: sign\nsign:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) FundScript \\\n\t--sig \"sign(address[])\" \"[]\" --sender 0x644e3DedB0e4F83Bfcf8F9992964d240224B74dc\n\n.PHONY: execute\nexecute:\n\t$(call MULTISIG_EXECUTE,$(SIGNATURES))\n"
  },
  {
    "path": "mainnet/2025-10-06-funding/README.md",
    "content": "# Funding\n\nStatus: [EXECUTED](https://etherscan.io/tx/0x33ad6a93583d4220082db978b7423a4674a4a6d165c29502b0284944af6715e5)\n\n## Description\n\nThis task contains a single script that can be used to fund addresses from a Gnosis Safe.\n\n## Procedure\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd mainnet/2025-10-06-funding\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate, Validate, and Sign\n\n#### 3.1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```bash\nmake sign\n```\n\nYou will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and extract the domain hash and\nmessage hash to approve on your Ledger:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n##### 3.1.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Summary\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is `mainnet`.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account.\n\n##### 3.1.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab, and refer to the [State Validations](./VALIDATION.md) instructions for the transaction you are signing.\nOnce complete return to this document to complete the signing.\n\n### 4. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Summary\" tab, and find the\n`Safe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\nOnce the validations are done, it's time to actually sign the\ntransaction.\n\n> [!WARNING]\n> This is the most security critical part of the playbook: make sure the\n> domain hash and message hash in the following three places match:\n>\n> 1. On your Ledger screen.\n> 2. In the terminal output.\n> 3. In the Tenderly simulation. You should use the same Tenderly\n>    simulation as the one you used to verify the state diffs, instead\n>    of opening the new one printed in the console.\n>\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```shell\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n#### 4.1. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n### [For Facilitator ONLY] How to execute\n\n#### Execute the transaction\n\n1. Collect outputs from all participating signers.\n1. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"`.\n1. Run the `make execute` command as described below to execute the transaction.\n\nFor example, if the quorum is 2 and you get the following outputs:\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE01\nSignature: AAAA\n```\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE02\nSignature: BBBB\n```\n\nThen you should run:\n\nCoinbase facilitator:\n\n```bash\nSIGNATURES=AAAABBBB make execute\n```\n"
  },
  {
    "path": "mainnet/2025-10-06-funding/VALIDATION.md",
    "content": "# Validation for Coinbase Signers\n\nThis document can be used to validate the inputs and result of the execution of the funding transaction which you are signing.\n\n> [!NOTE]\n>\n> This document provides names for each contract address to add clarity to what you are seeing. These names will not be visible in the Tenderly UI. All that matters is that addresses and storage slot hex values match exactly what is presented in this document.\n\nThe steps are:\n\n1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes)\n2. [Verifying the state changes](#state-changes)\n\n## Expected Domain and Message Hashes\n\nFirst, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task.\n\n> [!CAUTION]\n>\n> Before signing, ensure the below hashes match what is on your ledger.\n>\n> - Domain Hash: `0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289`\n> - Message Hash: `0x92edce5c578c4a01a764572285214e8de98a08bc308f043d09585a7a22d8d2cc`\n\n# State Validations\n\nFor each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract:\n\n- The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur.\n- All key values match the semantic meaning provided, which can be validated using the terminal commands provided.\n\n## State Overrides\n\n### Multisig - Mainnet (`0x14536667Cd30e52C0b458BaACcB9faDA7046E056`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n- **Key**: `0xad4b97ba141f949a3ffd85b17607d2d1c8644516be3250fa7eca7a4ae89d857f` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Hashes the transaction data together with the signer address, and writes 1 into approvedHashes[signer][hash], in order to simulate that the approveHash has already been called.\n\n## Task State Changes\n\n### Multisig - Mainnet (`0x14536667Cd30e52C0b458BaACcB9faDA7046E056`)\n\n0. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **Before**: `0x000000000000000000000000000000000000000000000000000000000000005a` <br/>\n   **After**: `0x000000000000000000000000000000000000000000000000000000000000005b` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `90` <br/>\n   **Decoded New Value**: `91` <br/>\n   **Meaning**: Increments the nonce <br/>\n\n1. **Balance**: <br/>\n   **Before**: `2895600671558404283` <br/>\n   **After**: `1895600671558404283` <br/>\n   **Decoded Old Value**: `2.895600671558404283 ETH` <br/>\n   **Decoded New Value**: `1.895600671558404283 ETH` <br/>\n   **Meaning**: Decreases the balance of the Multisig by 1 ETH. <br/>\n\n### Ledger - Mainnet (`0x1841CB3C2ce6870D0417844C817849da64E6e937`)\n\n2. **Balance**: <br/>\n   **Before**: `0` <br/>\n   **After**: `1.000000000000000000` <br/>\n   **Decoded Old Value**: `0 ETH` <br/>\n   **Decoded New Value**: `1.000000000000000000 ETH` <br/>\n   **Meaning**: Increases the balance of the Ledger by 1.0 ETH. <br/>\n\n- Nonce increment for the sender of the simulated transaction.\n\nYou can now navigate back to the [README](../README.md#4-extract-the-domain-hash-and-the-message-hash-to-approve) to continue the signing process.\n"
  },
  {
    "path": "mainnet/2025-10-06-funding/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "mainnet/2025-10-06-funding/funding.json",
    "content": "{\n    \"recipients\": [\n        \"0x1841CB3C2ce6870D0417844C817849da64E6e937\"\n    ],\n    \"funds\": [\n        1000000000000000000\n    ]\n}"
  },
  {
    "path": "mainnet/2025-10-06-funding/script/Fund.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\n\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\n\ncontract FundScript is MultisigScript {\n    address internal immutable OWNER_SAFE;\n\n    uint256 internal immutable OWNER_SAFE_BALANCE_BEFORE;\n    uint256 internal immutable TOTAL_FUNDS;\n\n    address[] internal RECIPIENTS;\n    uint256[] internal FUNDS;\n    uint256[] internal RECIPIENT_BALANCES_BEFORE;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n\n        string memory funding = vm.readFile(\"./funding.json\");\n        RECIPIENTS = vm.parseJsonAddressArray(funding, \".recipients\");\n        FUNDS = vm.parseJsonUintArray(funding, \".funds\");\n\n        uint256 totalFunds = 0;\n        RECIPIENT_BALANCES_BEFORE = new uint256[](RECIPIENTS.length + 1);\n        for (uint256 i; i < RECIPIENTS.length; i++) {\n            RECIPIENT_BALANCES_BEFORE[i] = RECIPIENTS[i].balance;\n            totalFunds += FUNDS[i];\n        }\n\n        OWNER_SAFE_BALANCE_BEFORE = OWNER_SAFE.balance;\n        TOTAL_FUNDS = totalFunds;\n    }\n\n    function setUp() public view {\n        _precheck();\n    }\n\n    function _precheck() internal view {\n        require(RECIPIENTS.length == FUNDS.length, \"RECIPIENTS and FUNDS not same length\");\n        require(RECIPIENTS.length > 0, \"RECIPIENTS and FUNDS empty\");\n        require(OWNER_SAFE.balance >= TOTAL_FUNDS, \"OWNER_SAFE not enough balance\");\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) {\n        IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](RECIPIENTS.length);\n\n        for (uint256 i; i < RECIPIENTS.length; i++) {\n            calls[i] =\n                IMulticall3.Call3Value({target: RECIPIENTS[i], allowFailure: false, callData: \"\", value: FUNDS[i]});\n        }\n\n        return calls;\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        for (uint256 i; i < RECIPIENTS.length; i++) {\n            vm.assertEq(\n                RECIPIENTS[i].balance, RECIPIENT_BALANCES_BEFORE[i] + FUNDS[i], \"Recipient balance is not correct\"\n            );\n        }\n\n        vm.assertEq(OWNER_SAFE.balance, OWNER_SAFE_BALANCE_BEFORE - TOTAL_FUNDS, \"Owner safe balance is not correct\");\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "mainnet/2025-10-07-upgrade-to-U16a/README.md",
    "content": "# Upgrade U16a (022-U16a-opcm-upgrade-v410-base): Base Mainnet to op-contracts/v4.1.0\n\nStatus: [EXECUTED](https://etherscan.io/tx/0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38)\n\n## Description\n\nThis task consisted of upgrading Base Mainnet to U16a. More context on U16a can be found in the upgrade instructions [here](https://github.com/ethereum-optimism/superchain-ops/tree/main/src/tasks/eth/022-U16a-opcm-upgrade-v410-base).\n\n## Transactions\n\n- Base-Nested Council Approval: [`0x1339e97e1489f00265f81337d8d221e3eaa278b513f3927243a7a0ccee805718`](https://etherscan.io/tx/0x1339e97e1489f00265f81337d8d221e3eaa278b513f3927243a7a0ccee805718) (artefacts: [run-1759861934.json](./records/OPCMUpgradeV410.sol/1/run-1759861934.json))\n- Base-Nested Operations Approval: [`0x5257886e3245a5f759f1db4d27fa3b98353401487441c01f93906f6633ad3275`](https://etherscan.io/tx/0x5257886e3245a5f759f1db4d27fa3b98353401487441c01f93906f6633ad3275) (artefacts: [run-1759862413.json](./records/OPCMUpgradeV410.sol/1/run-1759862413.json))\n- Base-Nested Approval: [`0x3ad4796d0e538d7e6aba82ddfdf80daa52a1e280070458135a6c860890c2bf52`](https://etherscan.io/tx/0x3ad4796d0e538d7e6aba82ddfdf80daa52a1e280070458135a6c860890c2bf52) (artefacts: [run-1759862485.json](./records/OPCMUpgradeV410.sol/1/run-1759862485.json))\n- Unnested Optimism Foundation Operations Approval: [`0x667e5af55c85d789d9a091629bbbff229c9ac58867d904186d4da225a63f0cfa`](https://etherscan.io/tx/0x667e5af55c85d789d9a091629bbbff229c9ac58867d904186d4da225a63f0cfa)\n- Execution Transaction: [`0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38`](https://etherscan.io/tx/0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38) (artefacts: [run-1759862580.json](./records/OPCMUpgradeV410.sol/1/run-1759862580.json))\n"
  },
  {
    "path": "mainnet/2025-10-07-upgrade-to-U16a/records/OPCMUpgradeV410.sol/1/run-1759861934.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x1339e97e1489f00265f81337d8d221e3eaa278b513f3927243a7a0ccee805718\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024d4d9bdcd99e9c7c57436615b7485b4f917281ab9f9e998e0a214ffaf5d8ac4332d79b3b100000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x73bc154792b4c3db739cb4a202758b1c1ae403f2992878b81971b531c9d407235de1316e3424841a2623cb6532c39843a35688707d2fe455d674dbbece6b1cc21bc61e26d0e586ac404f216b1c111042e43419cf5483d273fe5c61b324dffffac65c55e670d070191901b97c8d5990ec6e4f52ad3fe14f4db6788fff2705b84ec71be14acb7153ba768990739d9970d1d366072572fbc14be793e9cb0a248c3c5e6f2273da0550d072555a0fe78926962f08df3d9e2bf5d3a4229d450bdc26ba74d71c7a8211913fc0b8cd4ccf32ad5bcd0af513387553261af7574adc3461649f13c22374b301f7ad0c5edf7f59beb8f7c51dfc28d42dadd29b4225cc39ea6dce2bf51b4376eaba97e1a9a87034064a4276587062a2b97cb5de9b0daad034e748c01a1d0c49cd86d214566c5d347ec8ff1c4fc282bc0180ef86806b1884c2bbe0df11571b8ee9135358d1e28be078c840f743cfb1dbe8ad908af1667b0bee983848cc7acd043067b9c63c34ba0530e8b978ae2b402a31b48cbb3bf233233fa17b3b32bd851b6d80c6470a678985b4eb9864542cae43d02a55ce199bf02cde667f28cf1fc153565f5b61478cfadc79194cceb7f4d3115738fb401e71bbe4f3d4a71554374b5b1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x1841cb3c2ce6870d0417844c817849da64e6e937\",\n        \"to\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n        \"gas\": \"0x2cca1\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000144174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024d4d9bdcd99e9c7c57436615b7485b4f917281ab9f9e998e0a214ffaf5d8ac4332d79b3b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c773bc154792b4c3db739cb4a202758b1c1ae403f2992878b81971b531c9d407235de1316e3424841a2623cb6532c39843a35688707d2fe455d674dbbece6b1cc21bc61e26d0e586ac404f216b1c111042e43419cf5483d273fe5c61b324dffffac65c55e670d070191901b97c8d5990ec6e4f52ad3fe14f4db6788fff2705b84ec71be14acb7153ba768990739d9970d1d366072572fbc14be793e9cb0a248c3c5e6f2273da0550d072555a0fe78926962f08df3d9e2bf5d3a4229d450bdc26ba74d71c7a8211913fc0b8cd4ccf32ad5bcd0af513387553261af7574adc3461649f13c22374b301f7ad0c5edf7f59beb8f7c51dfc28d42dadd29b4225cc39ea6dce2bf51b4376eaba97e1a9a87034064a4276587062a2b97cb5de9b0daad034e748c01a1d0c49cd86d214566c5d347ec8ff1c4fc282bc0180ef86806b1884c2bbe0df11571b8ee9135358d1e28be078c840f743cfb1dbe8ad908af1667b0bee983848cc7acd043067b9c63c34ba0530e8b978ae2b402a31b48cbb3bf233233fa17b3b32bd851b6d80c6470a678985b4eb9864542cae43d02a55ce199bf02cde667f28cf1fc153565f5b61478cfadc79194cceb7f4d3115738fb401e71bbe4f3d4a71554374b5b1b00000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x0\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x20fe3b1\",\n      \"logs\": [\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x99e9c7c57436615b7485b4f917281ab9f9e998e0a214ffaf5d8ac4332d79b3b1\",\n            \"0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x39d0ddb33d5a8741ab43dc98a1a744e73c6fcc39f1a0f0ed10a8827835a692d0\",\n          \"blockNumber\": \"0x1670107\",\n          \"blockTimestamp\": \"0x68e55cab\",\n          \"transactionHash\": \"0x1339e97e1489f00265f81337d8d221e3eaa278b513f3927243a7a0ccee805718\",\n          \"transactionIndex\": \"0x11b\",\n          \"logIndex\": \"0x306\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0x29386272678a5cdc46b4eb58edcddca14d455f171e3e70ce37473d1bc4deeb53\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x39d0ddb33d5a8741ab43dc98a1a744e73c6fcc39f1a0f0ed10a8827835a692d0\",\n          \"blockNumber\": \"0x1670107\",\n          \"blockTimestamp\": \"0x68e55cab\",\n          \"transactionHash\": \"0x1339e97e1489f00265f81337d8d221e3eaa278b513f3927243a7a0ccee805718\",\n          \"transactionIndex\": \"0x11b\",\n          \"logIndex\": \"0x307\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000001000000010000000000000000008000000000008040000000000000000000000800000000000000000000000000000110000000000000000000000000000000000000000000000000000000008000000000000400000000000000000400000000000000000000000000000000010000000000010000000000000000000040000000000000000000000002080000000000000000000000000000000000000000000000000010004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x1339e97e1489f00265f81337d8d221e3eaa278b513f3927243a7a0ccee805718\",\n      \"transactionIndex\": \"0x11b\",\n      \"blockHash\": \"0x39d0ddb33d5a8741ab43dc98a1a744e73c6fcc39f1a0f0ed10a8827835a692d0\",\n      \"blockNumber\": \"0x1670107\",\n      \"gasUsed\": \"0x206d4\",\n      \"effectiveGasPrice\": \"0x466436a4\",\n      \"from\": \"0x1841cb3c2ce6870d0417844c817849da64e6e937\",\n      \"to\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1759861934,\n  \"chain\": 1,\n  \"commit\": \"f3eb9b30\"\n}"
  },
  {
    "path": "mainnet/2025-10-07-upgrade-to-U16a/records/OPCMUpgradeV410.sol/1/run-1759862413.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x5257886e3245a5f759f1db4d27fa3b98353401487441c01f93906f6633ad3275\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024d4d9bdcd99e9c7c57436615b7485b4f917281ab9f9e998e0a214ffaf5d8ac4332d79b3b100000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0bbd19ab80e8c5171a9eee3b79bda0fb7d5bf3f5448e3cac0581222ae37645b9154f28772f4b8cdfd7d1842458b94f3aefca12f9369c970a223e3feea10550491c4561d12503df307057ffecf3fa649030dedbeee327a6311b4af05134733e28db74e60a19e878102e44be22d8361e54e93b1e6bfa1509ad307e729ee83ec24b711b9d8fe3a758103ede3019b23ae615b18269289d55dfb17f30e70126a77d3a7965477b86882fe23281c0b416b6374fe4bfa43a528142bb49643fc57efff3db7c4c1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x1841cb3c2ce6870d0417844c817849da64e6e937\",\n        \"to\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n        \"gas\": \"0x2340a\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000144174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024d4d9bdcd99e9c7c57436615b7485b4f917281ab9f9e998e0a214ffaf5d8ac4332d79b3b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c30bbd19ab80e8c5171a9eee3b79bda0fb7d5bf3f5448e3cac0581222ae37645b9154f28772f4b8cdfd7d1842458b94f3aefca12f9369c970a223e3feea10550491c4561d12503df307057ffecf3fa649030dedbeee327a6311b4af05134733e28db74e60a19e878102e44be22d8361e54e93b1e6bfa1509ad307e729ee83ec24b711b9d8fe3a758103ede3019b23ae615b18269289d55dfb17f30e70126a77d3a7965477b86882fe23281c0b416b6374fe4bfa43a528142bb49643fc57efff3db7c4c1b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x1\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1c5a2a8\",\n      \"logs\": [\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x99e9c7c57436615b7485b4f917281ab9f9e998e0a214ffaf5d8ac4332d79b3b1\",\n            \"0x0000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x7b2898beb3a3aa6812f0d41923ded91f24b0b39b7c6cd39860a38f6ba793558b\",\n          \"blockNumber\": \"0x167012f\",\n          \"blockTimestamp\": \"0x68e55e8b\",\n          \"transactionHash\": \"0x5257886e3245a5f759f1db4d27fa3b98353401487441c01f93906f6633ad3275\",\n          \"transactionIndex\": \"0x128\",\n          \"logIndex\": \"0x2cc\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0x2c68489a6108598d0bbb8c196a92f8427becf441085b07896d2e9bfb045d859e\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x7b2898beb3a3aa6812f0d41923ded91f24b0b39b7c6cd39860a38f6ba793558b\",\n          \"blockNumber\": \"0x167012f\",\n          \"blockTimestamp\": \"0x68e55e8b\",\n          \"transactionHash\": \"0x5257886e3245a5f759f1db4d27fa3b98353401487441c01f93906f6633ad3275\",\n          \"transactionIndex\": \"0x128\",\n          \"logIndex\": \"0x2cd\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000010000000000000000008000000000000040000000000000100000000000000000000000000000000000000110000000000000000000002000000000000000000080000000001000008000000800000000000040000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000001000010080000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000100000000000001000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x5257886e3245a5f759f1db4d27fa3b98353401487441c01f93906f6633ad3275\",\n      \"transactionIndex\": \"0x128\",\n      \"blockHash\": \"0x7b2898beb3a3aa6812f0d41923ded91f24b0b39b7c6cd39860a38f6ba793558b\",\n      \"blockNumber\": \"0x167012f\",\n      \"gasUsed\": \"0x1985c\",\n      \"effectiveGasPrice\": \"0x3d4aeb4f\",\n      \"from\": \"0x1841cb3c2ce6870d0417844c817849da64e6e937\",\n      \"to\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1759862413,\n  \"chain\": 1,\n  \"commit\": \"f3eb9b30\"\n}"
  },
  {
    "path": "mainnet/2025-10-07-upgrade-to-U16a/records/OPCMUpgradeV410.sol/1/run-1759862485.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x3ad4796d0e538d7e6aba82ddfdf80daa52a1e280070458135a6c860890c2bf52\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024d4d9bdcde0827c2ee69fdaffc792a56c7cd5fbd1f01890591e6e3513c4de8f8f46b761fb00000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x1841cb3c2ce6870d0417844c817849da64e6e937\",\n        \"to\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n        \"gas\": \"0x20c97\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000144174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024d4d9bdcde0827c2ee69fdaffc792a56c7cd5fbd1f01890591e6e3513c4de8f8f46b761fb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x2\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1499321\",\n      \"logs\": [\n        {\n          \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xe0827c2ee69fdaffc792a56c7cd5fbd1f01890591e6e3513c4de8f8f46b761fb\",\n            \"0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x31b632d42376597620d13013a75421f677597a4616200e101939adc7ed6098ff\",\n          \"blockNumber\": \"0x1670135\",\n          \"blockTimestamp\": \"0x68e55ed3\",\n          \"transactionHash\": \"0x3ad4796d0e538d7e6aba82ddfdf80daa52a1e280070458135a6c860890c2bf52\",\n          \"transactionIndex\": \"0xd3\",\n          \"logIndex\": \"0x24f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x99e9c7c57436615b7485b4f917281ab9f9e998e0a214ffaf5d8ac4332d79b3b10000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x31b632d42376597620d13013a75421f677597a4616200e101939adc7ed6098ff\",\n          \"blockNumber\": \"0x1670135\",\n          \"blockTimestamp\": \"0x68e55ed3\",\n          \"transactionHash\": \"0x3ad4796d0e538d7e6aba82ddfdf80daa52a1e280070458135a6c860890c2bf52\",\n          \"transactionIndex\": \"0xd3\",\n          \"logIndex\": \"0x250\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000010000000000000000008000000000000040000000000000040000000000101000004000000000000000000100000000000000000001000000000000000000000000000000000000008000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000002000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x3ad4796d0e538d7e6aba82ddfdf80daa52a1e280070458135a6c860890c2bf52\",\n      \"transactionIndex\": \"0xd3\",\n      \"blockHash\": \"0x31b632d42376597620d13013a75421f677597a4616200e101939adc7ed6098ff\",\n      \"blockNumber\": \"0x1670135\",\n      \"gasUsed\": \"0x166b2\",\n      \"effectiveGasPrice\": \"0x4110bd9e\",\n      \"from\": \"0x1841cb3c2ce6870d0417844c817849da64e6e937\",\n      \"to\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1759862485,\n  \"chain\": 1,\n  \"commit\": \"f3eb9b30\"\n}"
  },
  {
    "path": "mainnet/2025-10-07-upgrade-to-U16a/records/OPCMUpgradeV410.sol/1/run-1759862580.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x93dc480940585D9961bfcEab58124fFD3d60f76a\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000008123739c1368c2dedc8c564255bc417feeebff9d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4ff2dd5a10000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc800000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x1841cb3c2ce6870d0417844c817849da64e6e937\",\n        \"to\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n        \"gas\": \"0xe4e1c0\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a76120200000000000000000000000093dc480940585d9961bfceab58124ffd3d60f76a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000001a482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000008123739c1368c2dedc8c564255bc417feeebff9d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4ff2dd5a10000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x3\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [\n        {\n          \"transactionType\": \"CREATE2\",\n          \"address\": \"0x909f6cf47ed12f010a796527f562bfc26c7f4e72\",\n          \"initCode\": \"0x608060405234801561001057600080fd5b5060405161091f38038061091f83398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206108ff8339815191525490565b6000805160206108ff833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61080b806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61030000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e\"\n        },\n        {\n          \"transactionType\": \"CREATE2\",\n          \"address\": \"0x64ae5250958cdeb83f6b61f913b5ac6ebe8efd4d\",\n          \"initCode\": \"0x608060405234801561001057600080fd5b5060405161091f38038061091f83398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206108ff8339815191525490565b6000805160206108ff833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61080b806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61030000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e\"\n        },\n        {\n          \"transactionType\": \"CREATE2\",\n          \"address\": \"0xe3803582fd5bcdc62720d2b80f35e8ddea94e2ec\",\n          \"initCode\": \"0x6102006040523480156200001257600080fd5b50604051620065243803806200652483398101604081905262000035916200053c565b82620000446001607e6200064b565b60ff16816040015111156200006c57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000965750604081015160608201516200009390600162000671565b10155b15620000b55760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000dc5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000129573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014f91906200068c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b39190620006ac565b1115620001d35760405163b4e1243360e01b815260040160405180910390fd5b6000620001f882608001516001600160401b03166200048e60201b62000cec1760201c565b6200020e906001600160401b03166002620006c6565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000255573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027b91906200068c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002df9190620006ac565b6200030284608001516001600160401b03166200048e60201b62000cec1760201c565b6001600160401b031662000317919062000671565b905060006200033283836200049160201b6200283e1760201c565b90506001600160401b038111156200035d5760405163235dfb2b60e21b815260040160405180910390fd5b620003808460a001516001600160401b03166200048e60201b62000cec1760201c565b6001600160401b0316816001600160401b03161115620003b35760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003da856000015163ffffffff166200048e60201b62000cec1760201c565b63ffffffff1603620003ff5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015181166101605292015161018052509182166101c052166101e05250620006e8565b90565b600081831015620004a35781620004a5565b825b9392505050565b60405161014081016001600160401b0381118282101715620004de57634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004f957600080fd5b919050565b80516001600160401b0381168114620004f957600080fd5b6001600160a01b03811681146200052c57600080fd5b50565b8051620004f98162000516565b60008060008385036101808112156200055457600080fd5b610140808212156200056557600080fd5b6200056f620004ac565b91506200057c86620004e4565b8252602086015160208301526040860151604083015260608601516060830152620005aa60808701620004fe565b6080830152620005bd60a08701620004fe565b60a0830152620005d060c087016200052f565b60c0830152620005e360e087016200052f565b60e0830152610100620005f88188016200052f565b8184015250610120808701518184015250819450620006198187016200052f565b935050506200062c61016085016200052f565b90509250925092565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168082101562000668576200066862000635565b90039392505050565b6000821982111562000687576200068762000635565b500190565b6000602082840312156200069f57600080fd5b8151620004a58162000516565b600060208284031215620006bf57600080fd5b5051919050565b6000816000190483118215151615620006e357620006e362000635565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051615c61620008c36000396000818161061c01528181611a4a01526123b001526000818161090d01528181611a1801528181611eeb015261237e015260008181610778015281816130ed01528181613158015261318b015260008181610ac5015261277c0152600081816106ee01528181611b4801528181611c8c01528181611d6601528181611df5015281816135fa0152613a890152600081816105a90152818161182601528181611922015281816134f40152613990015260008181610948015281816127fe0152613a600152600081816105460152818161247e0152818161300601526142f7015260008181610b1801528181610f7f0152818161207c015281816120be01528181612f76015281816131bb015261321a015260008181610b4b0152818161262201528181612dbf01528181612ee5015281816131290152818161416e0152818161459b0152818161467a0152818161472d01528181614f5b015261514c015260008181610bf20152818161216a015281816121f001528181612e8801528181612fda01528181614086015261418f01526000818161083a01526142120152615c616000f3fe6080604052600436106103555760003560e01c806370872aa5116101bb578063c0d8bb74116100f7578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b9f578063fa24f74314610bbf578063fa315aa914610be3578063fe2bbeb214610c1657600080fd5b8063dabd396d14610b09578063ec5e630814610b3c578063eff0f59214610b6f57600080fd5b8063cf09e0d0116100d1578063cf09e0d014610a75578063d5d44d8014610a96578063d6ae3cd514610ab6578063d8cc1a3c14610ae957600080fd5b8063c0d8bb74146109b4578063c395e1ca146109e1578063c6f0308c14610a0157600080fd5b80638d450a9511610164578063a8e4fb901161013e578063a8e4fb90146108fe578063bbdc02db14610931578063bcef3b5514610972578063bd8da9561461099457600080fd5b80638d450a951461082b57806399735e3214610809578063a445ece61461085e57600080fd5b80638129fc1c116101955780638129fc1c146107ec5780638980e0cc146107f45780638b85902b1461080957600080fd5b806370872aa5146107af578063786b844b146107c45780637b0f0adc146107d957600080fd5b80633e3ac912116102955780635a5fa2d91161023357806360e274641161020d57806360e27464146107275780636361506d146107475780636b6716c0146107695780636f0344091461079c57600080fd5b80635a5fa2d9146106bf5780635c0cba33146106df578063609d33341461071257600080fd5b8063529d6a8c1161026f578063529d6a8c146105e0578063534db0e21461060d57806354fd4d501461064057806357da950e1461068f57600080fd5b80633e3ac9121461056a5780633fc8cef31461059a578063472777c6146105cd57600080fd5b806325fc2ace1161030257806330dbe570116102dc57806330dbe570146104c3578063378dd48c146104fb57806337b1b229146105155780633a7684631461053757600080fd5b806325fc2ace1461046f5780632810e1d61461048e5780632ad69aeb146104a357600080fd5b8063200d2ed211610333578063200d2ed2146103e7578063222abf4514610415578063250e69bd1461045557600080fd5b8063019351301461035a57806303c2924d1461037c57806319effeb41461039c575b600080fd5b34801561036657600080fd5b5061037a6103753660046154d1565b610c46565b005b34801561038857600080fd5b5061037a61039736600461552c565b610f05565b3480156103a857600080fd5b506000546103c99068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103f357600080fd5b5060005461040890600160801b900460ff1681565b6040516103de9190615585565b34801561042157600080fd5b506104456104303660046155ad565b600c6020526000908152604090205460ff1681565b60405190151581526020016103de565b34801561046157600080fd5b50600a546104459060ff1681565b34801561047b57600080fd5b506008545b6040519081526020016103de565b34801561049a57600080fd5b5061040861148d565b3480156104af57600080fd5b506104806104be36600461552c565b611665565b3480156104cf57600080fd5b506001546104e3906001600160a01b031681565b6040516001600160a01b0390911681526020016103de565b34801561050757600080fd5b50600d546104089060ff1681565b34801561052157600080fd5b503660011981013560f01c90033560601c6104e3565b34801561054357600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561057657600080fd5b50600054610445907201000000000000000000000000000000000000900460ff1681565b3480156105a657600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b61037a6105db3660046155ca565b61169b565b3480156105ec57600080fd5b506104806105fb3660046155ad565b60036020526000908152604090205481565b34801561061957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561064c57600080fd5b5060408051808201909152600581527f312e372e3000000000000000000000000000000000000000000000000000000060208201525b6040516103de9190615661565b34801561069b57600080fd5b506008546009546106aa919082565b604080519283526020830191909152016103de565b3480156106cb57600080fd5b506104806106da366004615674565b6116ad565b3480156106eb57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561071e57600080fd5b506106826116e7565b34801561073357600080fd5b5061037a6107423660046155ad565b6116f5565b34801561075357600080fd5b503660011981013560f01c900360340135610480565b34801561077557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c9565b61037a6107aa36600461569b565b611a0d565b3480156107bb57600080fd5b50600954610480565b3480156107d057600080fd5b5061037a611ab4565b61037a6107e73660046155ca565b611ed3565b61037a611ee0565b34801561080057600080fd5b50600254610480565b34801561081557600080fd5b503660011981013560f01c900360540135610480565b34801561083757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b34801561086a57600080fd5b506108c0610879366004615674565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103de565b34801561090a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561093d57600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103de565b34801561097e57600080fd5b503660011981013560f01c900360140135610480565b3480156109a057600080fd5b506103c96109af366004615674565b611f4c565b3480156109c057600080fd5b506104806109cf3660046155ad565b600b6020526000908152604090205481565b3480156109ed57600080fd5b506104806109fc3660046156dc565b6120e6565b348015610a0d57600080fd5b50610a21610a1c366004615674565b6122a7565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103de565b348015610a8157600080fd5b506000546103c99067ffffffffffffffff1681565b348015610aa257600080fd5b50610480610ab13660046155ad565b61231b565b348015610ac257600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610af557600080fd5b5061037a610b04366004615705565b612373565b348015610b1557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c9565b348015610b4857600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610b7b57600080fd5b50610445610b8a366004615674565b60046020526000908152604090205460ff1681565b348015610bab57600080fd5b5061037a610bba3660046155ca565b612416565b348015610bcb57600080fd5b50610bd46127fc565b6040516103de93929190615791565b348015610bef57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610c2257600080fd5b50610445610c31366004615674565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610c6557610c6561554e565b14610c835760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610cd6576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cef3660011981013560f01c90036014013590565b90565b610d06610d01368690038601866157cc565b612859565b14610d3d576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610d52929190615840565b604051809103902014610d91576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610dda610dd584848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128b592505050565b612922565b90506000610e0182600881518110610df457610df4615850565b6020026020010151612ad8565b9050602081511115610e3f576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e96576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610f2457610f2461554e565b14610f425760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610f5757610f57615850565b906000526020600020906005020190506000610f7284611f4c565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610fdb576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611024576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561104157508515155b156110a457835464010000000090046001600160a01b0316600081156110675781611076565b60018601546001600160a01b03165b90506110828187612b8c565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b03166060830152611128576001600160801b036040820152600181526000869003611128578195505b600086826020015163ffffffff16611140919061587c565b905060008382116111515781611153565b835b602084015190915063ffffffff165b8181101561127357600086828154811061117e5761117e615850565b6000918252602080832090910154808352600690915260409091205490915060ff166111d6576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600282815481106111eb576111eb615850565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156112325750600481015460408701516001600160801b039182169116115b1561125e5760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b5050808061126b90615894565b915050611162565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361148257606083015160008a8152600660205260409020805460ff19166001179055891580156113bf57506000547201000000000000000000000000000000000000900460ff165b1561141a576001546001600160a01b03166113da818a612b8c565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611480565b6114476001600160a01b038216156114325781611441565b60018901546001600160a01b03165b89612b8c565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156114ae576114ae61554e565b146114cc5760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff16611530576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b0316600260008154811061154f5761154f615850565b600091825260209091206005909102015464010000000090046001600160a01b03161461157d576001611580565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b8360028111156116245761162461554e565b0217905560028111156116395761163961554e565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061168157600080fd5b90600052602060002001600091509150505481565b905090565b6116a88383836001611a0d565b505050565b600081815260076020908152604080832060059092528220805482546116de90610100900463ffffffff16826158ae565b95945050505050565b606061169660546020612bce565b6116fd611ab4565b60006002600d5460ff1660028111156117185761171861554e565b0361173c57506001600160a01b0381166000908152600b60205260409020546117ab565b6001600d5460ff1660028111156117555761175561554e565b0361177957506001600160a01b0381166000908152600360205260409020546117ab565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff16611888576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b15801561186c57600080fd5b505af1158015611880573d6000803e3d6000fd5b505050505050565b806000036118c2576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b15801561196857600080fd5b505af115801561197c573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146119cd576040519150601f19603f3d011682016040523d82523d6000602084013e6119d2565b606091505b50509050806116a8576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480611a6c5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b611aa2576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611aae84848484612c02565b50505050565b6002600d5460ff166002811115611acd57611acd61554e565b1480611aef57506001600d5460ff166002811115611aed57611aed61554e565b145b15611af657565b6000600d5460ff166002811115611b0f57611b0f61554e565b14611b46576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ba4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bc891906158c5565b15611bff576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff16600003611c5b576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015611cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cff91906158c5565b905080611d38576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b158015611db257600080fd5b505af1925050508015611dc3575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa158015611e44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6891906158c5565b90508015611e8257600d805460ff19166001179055611e90565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f91611ec79160ff90911690615585565b60405180910390a15050565b6116a88383836000611a0d565b326001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f42576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f4a6135a3565b565b600080600054600160801b900460ff166002811115611f6d57611f6d61554e565b14611f8b5760405163067fe19560e41b815260040160405180910390fd5b600060028381548110611fa057611fa0615850565b600091825260208220600590910201805490925063ffffffff9081161461200657815460028054909163ffffffff16908110611fde57611fde615850565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b600482015460009061203190600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b6120459067ffffffffffffffff16426158ae565b61205b612024846001600160801b031660401c90565b67ffffffffffffffff1661206f919061587c565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff16116120bc57806116de565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612163836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f00000000000000000000000000000000000000000000000000000000000000008111156121c2576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a30060006121dd83836158f8565b9050670de0b6b3a76400006000612214827f000000000000000000000000000000000000000000000000000000000000000061590c565b9050600061223261222d670de0b6b3a76400008661590c565b613b1c565b905060006122408484613d6e565b9050600061224e8383613dbd565b9050600061225b82613deb565b9050600061227a82612275670de0b6b3a76400008f61590c565b613fd3565b905060006122888b83613dbd565b9050612294818d61590c565b9f9e505050505050505050505050505050565b600281815481106122b757600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff1660028111156123365761233661554e565b0361235757506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806123d25750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b612408576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611880868686868686614004565b60008054600160801b900460ff1660028111156124355761243561554e565b146124535760405163067fe19560e41b815260040160405180910390fd5b60008060008061246286614560565b93509350935093506000612478858585856148b9565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124fe919061592b565b9050600189036125cb576001600160a01b0381166352f0f3ad8a8461252f3660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156125a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c59190615948565b50611482565b600289036125ea576001600160a01b0381166352f0f3ad8a848961252f565b60038903612609576001600160a01b0381166352f0f3ad8a848761252f565b6004890361273e5760006126466001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000614958565b600954612653919061587c565b61265e90600161587c565b90503660011981013560f01c900360540135811061268b573660011981013560f01c90036054013561268d565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015612713573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127379190615948565b5050611482565b600589036127ca576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a401612582565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003660011981013560f01c90036014013560606128376116e7565b9050909192565b60008183101561284e5781612850565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001612898949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003612904576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000612932856149ed565b91945092509050600181600181111561294d5761294d61554e565b14612984576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451612990838561587c565b146129c7576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816129de5790505093506000835b8651811015612acc57600080612a516040518060400160405280858c60000151612a3591906158ae565b8152602001858c60200151612a4a919061587c565b90526149ed565b509150915060405180604001604052808383612a6d919061587c565b8152602001848b60200151612a82919061587c565b815250888581518110612a9757612a97615850565b6020908102919091010152612aad60018561587c565b9350612ab9818361587c565b612ac3908461587c565b92505050612a0b565b50845250919392505050565b60606000806000612ae8856149ed565b919450925090506000816001811115612b0357612b0361554e565b14612b3a576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612b44828461587c565b855114612b7d576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116de85602001518484614e8b565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190612bc590849061587c565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b60008054600160801b900460ff166002811115612c2157612c2161554e565b14612c3f5760405163067fe19560e41b815260040160405180910390fd5b600060028481548110612c5457612c54615850565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514612d18576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000612dad826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580612de85750612de57f0000000000000000000000000000000000000000000000000000000000000000600261587c565b81145b8015612df2575084155b15612e29576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015612e4f575086155b15612e86576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115612ee0576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612f0b7f0000000000000000000000000000000000000000000000000000000000000000600161587c565b8103612f1d57612f1d86888588614f20565b34612f27836120e6565b14612f5e576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612f6988611f4c565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603612fd1576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612ffe60017f00000000000000000000000000000000000000000000000000000000000000006158ae565b8303613122577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613062573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613086919061592b565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130e79190615948565b61311b907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615961565b90506131b5565b61314d60017f00000000000000000000000000000000000000000000000000000000000000006158ae565b83036131885761311b7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16600261598d565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b6131e9817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159bd565b67ffffffffffffffff166132048367ffffffffffffffff1690565b67ffffffffffffffff16111561324b57613248817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159bd565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff16156132c0576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c815260200190815260200160002060016002805490506134b791906158ae565b81546001810183556000928352602080842090910191909155338252600b90526040812080543492906134eb90849061587c565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561354d57600080fd5b505af1158015613561573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b60005471010000000000000000000000000000000000900460ff16156135f5576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015613655573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061367991906159e6565b9092509050816136b5576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146136e857639824bdab6000526004601cfd5b803660011981013560f01c90036054013511613746576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b90915291822080549192909161398790849061587c565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156139e957600080fd5b505af11580156139fd573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015613adc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b009190615a0a565b600a805460ff191663ffffffff92909216929092141790555050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213613b7257631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a764000002158202613dab57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b600081600019048311820215613ddb5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d78213613e1957919050565b680755bf798b4a1bf1e58212613e375763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000612850670de0b6b3a764000083613feb86613b1c565b613ff59190615a30565b613fff9190615aec565b613deb565b60008054600160801b900460ff1660028111156140235761402361554e565b146140415760405163067fe19560e41b815260040160405180910390fd5b60006002878154811061405657614056615850565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506140ac7f0000000000000000000000000000000000000000000000000000000000000000600161587c565b614126826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1614614160576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080891561423c576141b37f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006158ae565b6001901b6141c9846001600160801b03166150af565b6001600160801b03166141dc9190615b36565b15614210576142076141f860016001600160801b038716615b4a565b865463ffffffff166000615135565b60030154614232565b7f00000000000000000000000000000000000000000000000000000000000000005b915084905061425d565b6003850154915061425a6141f86001600160801b0386166001615b6a565b90505b600882901b60088a8a604051614274929190615840565b6040518091039020901b146142b5576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006142c08c6151fe565b905060006142cf836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced329061433c908f908f908f908f908a90600401615bd5565b6020604051808303816000875af115801561435b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061437f9190615948565b600485015491149150600090600290614408906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b614482896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61448c9190615c0f565b6144969190615c32565b60ff1615905081151581036144d7576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b031615614521576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b600080600080600085905060006002828154811061458057614580615850565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614635906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161466f576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090614714906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561478957825463ffffffff166147537f0000000000000000000000000000000000000000000000000000000000000000600161587c565b830361475d578391505b6002818154811061477057614770615850565b9060005260206000209060050201935080945050614673565b600481810154908401546001600160801b0391821691166000816001600160801b03166147ce6147c2856001600160801b031660011c90565b6001600160801b031690565b6001600160801b031614905080156148675760006147f4836001600160801b03166150af565b6001600160801b0316111561484457600061482461481c60016001600160801b038616615b4a565b896001615135565b6003810154600490910154909c506001600160801b03169a5061484a9050565b6008549a505b600386015460048701549099506001600160801b031697506148ab565b600061488061481c6001600160801b0385166001615b6a565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b038416156149145760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a001604051602081830303815290604052805190602001206116de565b82826040516020016149399291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b6000806149cc847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614a30576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614a55576000600160009450945094505050614e84565b60b78111614b6b576000614a6a6080836158ae565b905080876000015111614aa9576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614b2157507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614b58576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614e84915050565b60bf8111614cc9576000614b8060b7836158ae565b905080876000015111614bbf576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614c21576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614c69576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614c73818461587c565b895111614cac576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614cb783600161587c565b9750955060009450614e849350505050565b60f78111614d2e576000614cde60c0836158ae565b905080876000015111614d1d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614e84915050565b6000614d3b60f7836158ae565b905080876000015111614d7a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614ddc576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614e24576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e2e818461587c565b895111614e67576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e7283600161587c565b9750955060019450614e849350505050565b9193909250565b60608167ffffffffffffffff811115614ea657614ea66157b6565b6040519080825280601f01601f191660200182016040528015614ed0576020820181803683370190505b5090508115614f19576000614ee5848661587c565b90506020820160005b84811015614f06578281015182820152602001614eee565b84811115614f15576000858301525b5050505b9392505050565b6000614f366001600160801b0384166001615b6a565b90506000614f4682866001615135565b9050600086901a83806150105750614f7f60027f0000000000000000000000000000000000000000000000000000000000000000615b36565b6004830154600290615001906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61500b9190615c32565b60ff16145b156150685760ff81166001148061502a575060ff81166002145b615063576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161373d565b6150a6565b60ff8116156150a6576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161373d565b50505050505050565b600080615123837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b60008082615175576151706001600160801b0386167f000000000000000000000000000000000000000000000000000000000000000061522d565b615187565b615187856001600160801b031661536c565b90506002848154811061519c5761519c615850565b906000526020600020906005020191505b60048201546001600160801b038281169116146151f657815460028054909163ffffffff169081106151e1576151e1615850565b906000526020600020906005020191506151ad565b509392505050565b600080600080600061520f86614560565b9350935093509350615223848484846148b9565b9695505050505050565b6000816152aa846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116152c05763b34b5c226000526004601cfd5b6152c98361536c565b905081615346826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116128535761285061535c83600161587c565b6001600160801b038316906153f8565b600081196001830116816153e7827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061546c847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261549a57600080fd5b50813567ffffffffffffffff8111156154b257600080fd5b6020830191508360208285010111156154ca57600080fd5b9250929050565b600080600083850360a08112156154e757600080fd5b60808112156154f557600080fd5b50839250608084013567ffffffffffffffff81111561551357600080fd5b61551f86828701615488565b9497909650939450505050565b6000806040838503121561553f57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061558257634e487b7160e01b600052602160045260246000fd5b50565b6020810161559283615564565b91905290565b6001600160a01b038116811461558257600080fd5b6000602082840312156155bf57600080fd5b8135614f1981615598565b6000806000606084860312156155df57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561561c57602081850181015186830182015201615600565b8181111561562e576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061285060208301846155f6565b60006020828403121561568657600080fd5b5035919050565b801515811461558257600080fd5b600080600080608085870312156156b157600080fd5b84359350602085013592506040850135915060608501356156d18161568d565b939692955090935050565b6000602082840312156156ee57600080fd5b81356001600160801b0381168114614f1957600080fd5b6000806000806000806080878903121561571e57600080fd5b8635955060208701356157308161568d565b9450604087013567ffffffffffffffff8082111561574d57600080fd5b6157598a838b01615488565b9096509450606089013591508082111561577257600080fd5b5061577f89828a01615488565b979a9699509497509295939492505050565b63ffffffff841681528260208201526060604082015260006116de60608301846155f6565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156157de57600080fd5b6040516080810181811067ffffffffffffffff8211171561580f57634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561588f5761588f615866565b500190565b600060001982036158a7576158a7615866565b5060010190565b6000828210156158c0576158c0615866565b500390565b6000602082840312156158d757600080fd5b8151614f198161568d565b634e487b7160e01b600052601260045260246000fd5b600082615907576159076158e2565b500490565b600081600019048311821515161561592657615926615866565b500290565b60006020828403121561593d57600080fd5b8151614f1981615598565b60006020828403121561595a57600080fd5b5051919050565b600067ffffffffffffffff80831681851680830382111561598457615984615866565b01949350505050565b600067ffffffffffffffff808316818516818304811182151516156159b4576159b4615866565b02949350505050565b600067ffffffffffffffff838116908316818110156159de576159de615866565b039392505050565b600080604083850312156159f957600080fd5b505080516020909101519092909150565b600060208284031215615a1c57600080fd5b815163ffffffff81168114614f1957600080fd5b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615a7157615a71615866565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615aac57615aac615866565b60008712925087820587128484161615615ac857615ac8615866565b87850587128184161615615ade57615ade615866565b505050929093029392505050565b600082615afb57615afb6158e2565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615b3157615b31615866565b500590565b600082615b4557615b456158e2565b500690565b60006001600160801b03838116908316818110156159de576159de615866565b60006001600160801b0380831681851680830382111561598457615984615866565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615be9606083018789615b8c565b8281036020840152615bfc818688615b8c565b9150508260408301529695505050505050565b600060ff821660ff841680821015615c2957615c29615866565b90039392505050565b600060ff831680615c4557615c456158e2565b8060ff8416069150509291505056fea164736f6c634300080f000a000000000000000000000000000000000000000000000000000000000000000103eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc80000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d4000000000000000000000000007babe08ee4d07dba236530183b24055535a701100000000000000000000000064ae5250958cdeb83f6b61f913b5ac6ebe8efd4d000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e720000000000000000000000000000000000000000000000000000000000002105000000000000000000000000642229f238fb9de03374be34b0ed8d9de80752c50000000000000000000000008ca1e12404d16373aef756179b185f27b2994f3a\"\n        },\n        {\n          \"transactionType\": \"CREATE2\",\n          \"address\": \"0x2453c1216e49704d84ea98a4dacd95738f2fc8ec\",\n          \"initCode\": \"0x608060405234801561001057600080fd5b5060405161091f38038061091f83398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206108ff8339815191525490565b6000805160206108ff833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61080b806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61030000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e\"\n        },\n        {\n          \"transactionType\": \"CREATE2\",\n          \"address\": \"0xe4066890367bf8a51d58377431808083a01b1e0c\",\n          \"initCode\": \"0x6101c06040523480156200001257600080fd5b506040516200626f3803806200626f83398101604081905262000035916200052e565b620000436001607e62000601565b60ff16816040015111156200006b57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000955750604081015160608201516200009290600162000627565b10155b15620000b45760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000db5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000128573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014e919062000642565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b2919062000662565b1115620001d25760405163b4e1243360e01b815260040160405180910390fd5b6000620001f782608001516001600160401b03166200048060201b62000c701760201c565b6200020d906001600160401b031660026200067c565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000254573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027a919062000642565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002de919062000662565b6200030184608001516001600160401b03166200048060201b62000c701760201c565b6001600160401b031662000316919062000627565b905060006200033183836200048360201b62003a821760201c565b90506001600160401b038111156200035c5760405163235dfb2b60e21b815260040160405180910390fd5b6200037f8460a001516001600160401b03166200048060201b62000c701760201c565b6001600160401b0316816001600160401b03161115620003b25760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003d9856000015163ffffffff166200048060201b62000c701760201c565b63ffffffff1603620003fe5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015116610160529091015161018052506200069e565b90565b60008183101562000495578162000497565b825b9392505050565b60405161014081016001600160401b0381118282101715620004d057634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004eb57600080fd5b919050565b80516001600160401b0381168114620004eb57600080fd5b6001600160a01b03811681146200051e57600080fd5b50565b8051620004eb8162000508565b600061014082840312156200054257600080fd5b6200054c6200049e565b6200055783620004d6565b81526020830151602082015260408301516040820152606083015160608201526200058560808401620004f0565b60808201526200059860a08401620004f0565b60a0820152620005ab60c0840162000521565b60c0820152620005be60e0840162000521565b60e0820152610100620005d381850162000521565b90820152610120928301519281019290925250919050565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8416808210156200061e576200061e620005eb565b90039392505050565b600082198211156200063d576200063d620005eb565b500190565b6000602082840312156200065557600080fd5b8151620004978162000508565b6000602082840312156200067557600080fd5b5051919050565b6000816000190483118215151615620006995762000699620005eb565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051615a2f620008406000396000818161072f01528181611e7c01528181611ee70152611f1a015260008181610a4901526139c00152600081816106a5015281816123c60152818161250a015281816125e401528181612673015281816127b50152612c44015260008181610593015281816117aa015281816118a6015281816122830152612b4b0152600081816108cc01528181612c1b0152613a4201526000818161053001528181611d95015281816133f101526136c2015260008181610a9c01528181610f0301528181611d0501528181611f4a01528181611fa901528181612e070152612e49015260008181610acf01528181611b4e01528181611c7401528181611eb8015281816132680152818161386601528181613e810152818161455a01528181614676015281816147550152614808015260008181610b7601528181611c1701528181611d6901528181612ef501528181612f7b0152818161318001526132890152600081816107f1015261330c0152615a2f6000f3fe60806040526004361061033f5760003560e01c806370872aa5116101b0578063c395e1ca116100ec578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b23578063fa24f74314610b43578063fa315aa914610b67578063fe2bbeb214610b9a57600080fd5b8063dabd396d14610a8d578063ec5e630814610ac0578063eff0f59214610af357600080fd5b8063d5d44d80116100c6578063d5d44d8014610a1a578063d6ae3cd514610a3a578063d8cc1a3c14610a6d57600080fd5b8063c395e1ca14610965578063c6f0308c14610985578063cf09e0d0146109f957600080fd5b80638d450a9511610159578063bbdc02db11610133578063bbdc02db146108b5578063bcef3b55146108f6578063bd8da95614610918578063c0d8bb741461093857600080fd5b80638d450a95146107e257806399735e32146107c0578063a445ece61461081557600080fd5b80638129fc1c1161018a5780638129fc1c146107a35780638980e0cc146107ab5780638b85902b146107c057600080fd5b806370872aa514610766578063786b844b1461077b5780637b0f0adc1461079057600080fd5b80633e3ac9121161027f5780635a5fa2d91161022857806360e274641161020257806360e27464146106de5780636361506d146106fe5780636b6716c0146107205780636f0344091461075357600080fd5b80635a5fa2d9146106765780635c0cba3314610696578063609d3334146106c957600080fd5b8063529d6a8c11610259578063529d6a8c146105ca57806354fd4d50146105f757806357da950e1461064657600080fd5b80633e3ac912146105545780633fc8cef314610584578063472777c6146105b757600080fd5b806325fc2ace116102ec57806330dbe570116102c657806330dbe570146104ad578063378dd48c146104e557806337b1b229146104ff5780633a7684631461052157600080fd5b806325fc2ace146104595780632810e1d6146104785780632ad69aeb1461048d57600080fd5b8063200d2ed21161031d578063200d2ed2146103d1578063222abf45146103ff578063250e69bd1461043f57600080fd5b8063019351301461034457806303c2924d1461036657806319effeb414610386575b600080fd5b34801561035057600080fd5b5061036461035f36600461529f565b610bca565b005b34801561037257600080fd5b506103646103813660046152fa565b610e89565b34801561039257600080fd5b506000546103b39068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103dd57600080fd5b506000546103f290600160801b900460ff1681565b6040516103c89190615353565b34801561040b57600080fd5b5061042f61041a36600461537b565b600c6020526000908152604090205460ff1681565b60405190151581526020016103c8565b34801561044b57600080fd5b50600a5461042f9060ff1681565b34801561046557600080fd5b506008545b6040519081526020016103c8565b34801561048457600080fd5b506103f2611411565b34801561049957600080fd5b5061046a6104a83660046152fa565b6115e9565b3480156104b957600080fd5b506001546104cd906001600160a01b031681565b6040516001600160a01b0390911681526020016103c8565b3480156104f157600080fd5b50600d546103f29060ff1681565b34801561050b57600080fd5b503660011981013560f01c90033560601c6104cd565b34801561052d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b34801561056057600080fd5b5060005461042f907201000000000000000000000000000000000000900460ff1681565b34801561059057600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b6103646105c5366004615398565b61161f565b3480156105d657600080fd5b5061046a6105e536600461537b565b60036020526000908152604090205481565b34801561060357600080fd5b5060408051808201909152600581527f312e372e3000000000000000000000000000000000000000000000000000000060208201525b6040516103c8919061542f565b34801561065257600080fd5b50600854600954610661919082565b604080519283526020830191909152016103c8565b34801561068257600080fd5b5061046a610691366004615442565b611631565b3480156106a257600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b3480156106d557600080fd5b5061063961166b565b3480156106ea57600080fd5b506103646106f936600461537b565b611679565b34801561070a57600080fd5b503660011981013560f01c90036034013561046a565b34801561072c57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103b3565b610364610761366004615469565b611991565b34801561077257600080fd5b5060095461046a565b34801561078757600080fd5b50610364612332565b61036461079e366004615398565b612751565b61036461275e565b3480156107b757600080fd5b5060025461046a565b3480156107cc57600080fd5b503660011981013560f01c90036054013561046a565b3480156107ee57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b34801561082157600080fd5b50610877610830366004615442565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103c8565b3480156108c157600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103c8565b34801561090257600080fd5b503660011981013560f01c90036014013561046a565b34801561092457600080fd5b506103b3610933366004615442565b612cd7565b34801561094457600080fd5b5061046a61095336600461537b565b600b6020526000908152604090205481565b34801561097157600080fd5b5061046a6109803660046154aa565b612e71565b34801561099157600080fd5b506109a56109a0366004615442565b613032565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103c8565b348015610a0557600080fd5b506000546103b39067ffffffffffffffff1681565b348015610a2657600080fd5b5061046a610a3536600461537b565b6130a6565b348015610a4657600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610a7957600080fd5b50610364610a883660046154d3565b6130fe565b348015610a9957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103b3565b348015610acc57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610aff57600080fd5b5061042f610b0e366004615442565b60046020526000908152604090205460ff1681565b348015610b2f57600080fd5b50610364610b3e366004615398565b61365a565b348015610b4f57600080fd5b50610b58613a40565b6040516103c89392919061555f565b348015610b7357600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610ba657600080fd5b5061042f610bb5366004615442565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610be957610be961531c565b14610c075760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610c5a576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c733660011981013560f01c90036014013590565b90565b610c8a610c853686900386018661559a565b613a9d565b14610cc1576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610cd692919061560e565b604051809103902014610d15576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d5e610d5984848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613af992505050565b613b66565b90506000610d8582600881518110610d7857610d7861561e565b6020026020010151613d1c565b9050602081511115610dc3576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e1a576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610ea857610ea861531c565b14610ec65760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610edb57610edb61561e565b906000526020600020906005020190506000610ef684612cd7565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610f5f576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615610fa8576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000848152600560205260409020805480158015610fc557508515155b1561102857835464010000000090046001600160a01b031660008115610feb5781610ffa565b60018601546001600160a01b03165b90506110068187613dd0565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b031660608301526110ac576001600160801b0360408201526001815260008690036110ac578195505b600086826020015163ffffffff166110c4919061564a565b905060008382116110d557816110d7565b835b602084015190915063ffffffff165b818110156111f75760008682815481106111025761110261561e565b6000918252602080832090910154808352600690915260409091205490915060ff1661115a576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002828154811061116f5761116f61561e565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156111b65750600481015460408701516001600160801b039182169116115b156111e25760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b505080806111ef90615662565b9150506110e6565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361140657606083015160008a8152600660205260409020805460ff191660011790558915801561134357506000547201000000000000000000000000000000000000900460ff165b1561139e576001546001600160a01b031661135e818a613dd0565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611404565b6113cb6001600160a01b038216156113b657816113c5565b60018901546001600160a01b03165b89613dd0565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156114325761143261531c565b146114505760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166114b4576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b031660026000815481106114d3576114d361561e565b600091825260209091206005909102015464010000000090046001600160a01b031614611501576001611504565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b8360028111156115a8576115a861531c565b0217905560028111156115bd576115bd61531c565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061160557600080fd5b90600052602060002001600091509150505481565b905090565b61162c8383836001611991565b505050565b6000818152600760209081526040808320600590925282208054825461166290610100900463ffffffff168261567c565b95945050505050565b606061161a60546020613e12565b611681612332565b60006002600d5460ff16600281111561169c5761169c61531c565b036116c057506001600160a01b0381166000908152600b602052604090205461172f565b6001600d5460ff1660028111156116d9576116d961531c565b036116fd57506001600160a01b03811660009081526003602052604090205461172f565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff1661180c576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b1580156117f057600080fd5b505af1158015611804573d6000803e3d6000fd5b505050505050565b80600003611846576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b1580156118ec57600080fd5b505af1158015611900573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611951576040519150601f19603f3d011682016040523d82523d6000602084013e611956565b606091505b505090508061162c576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054600160801b900460ff1660028111156119b0576119b061531c565b146119ce5760405163067fe19560e41b815260040160405180910390fd5b6000600284815481106119e3576119e361561e565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514611aa7576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000611b3c826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580611b775750611b747f0000000000000000000000000000000000000000000000000000000000000000600261564a565b81145b8015611b81575084155b15611bb8576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015611bde575086155b15611c15576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115611c6f576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c9a7f0000000000000000000000000000000000000000000000000000000000000000600161564a565b8103611cac57611cac86888588613e46565b34611cb683612e71565b14611ced576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611cf888612cd7565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603611d60576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611d8d60017f000000000000000000000000000000000000000000000000000000000000000061567c565b8303611eb1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611df1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e159190615693565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7691906156b0565b611eaa907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166156c9565b9050611f44565b611edc60017f000000000000000000000000000000000000000000000000000000000000000061567c565b8303611f1757611eaa7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff1660026156f5565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b611f78817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615725565b67ffffffffffffffff16611f938367ffffffffffffffff1690565b67ffffffffffffffff161115611fda57611fd7817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615725565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff161561204f576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c81526020019081526020016000206001600280549050612246919061567c565b81546001810183556000928352602080842090910191909155338252600b905260408120805434929061227a90849061564a565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156122dc57600080fd5b505af11580156122f0573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b6002600d5460ff16600281111561234b5761234b61531c565b148061236d57506001600d5460ff16600281111561236b5761236b61531c565b145b1561237457565b6000600d5460ff16600281111561238d5761238d61531c565b146123c4576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612422573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612446919061574e565b1561247d576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff166000036124d9576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015612559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061257d919061574e565b9050806125b6576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561263057600080fd5b505af1925050508015612641575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa1580156126c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126e6919061574e565b9050801561270057600d805460ff1916600117905561270e565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f916127459160ff90911690615353565b60405180910390a15050565b61162c8383836000611991565b60005471010000000000000000000000000000000000900460ff16156127b0576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015612810573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612834919061576b565b909250905081612870576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146128a357639824bdab6000526004601cfd5b803660011981013560f01c90036054013511612901576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b909152918220805491929091612b4290849061564a565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015612ba457600080fd5b505af1158015612bb8573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015612c97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cbb919061578f565b600a805460ff191663ffffffff92909216929092141790555050565b600080600054600160801b900460ff166002811115612cf857612cf861531c565b14612d165760405163067fe19560e41b815260040160405180910390fd5b600060028381548110612d2b57612d2b61561e565b600091825260208220600590910201805490925063ffffffff90811614612d9157815460028054909163ffffffff16908110612d6957612d6961561e565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b6004820154600090612dbc90600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b612dd09067ffffffffffffffff164261567c565b612de6612daf846001600160801b031660401c90565b67ffffffffffffffff16612dfa919061564a565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611612e475780611662565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612eee836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115612f4d576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000612f6883836157cb565b9050670de0b6b3a76400006000612f9f827f00000000000000000000000000000000000000000000000000000000000000006157df565b90506000612fbd612fb8670de0b6b3a7640000866157df565b613fd5565b90506000612fcb8484614227565b90506000612fd98383614276565b90506000612fe6826142a4565b9050600061300582613000670de0b6b3a76400008f6157df565b61448c565b905060006130138b83614276565b905061301f818d6157df565b9f9e505050505050505050505050505050565b6002818154811061304257600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff1660028111156130c1576130c161531c565b036130e257506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b60008054600160801b900460ff16600281111561311d5761311d61531c565b1461313b5760405163067fe19560e41b815260040160405180910390fd5b6000600287815481106131505761315061561e565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506131a67f0000000000000000000000000000000000000000000000000000000000000000600161564a565b613220826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161461325a576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808915613336576132ad7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061567c565b6001901b6132c3846001600160801b03166144bd565b6001600160801b03166132d691906157fe565b1561330a576133016132f260016001600160801b038716615812565b865463ffffffff166000614543565b6003015461332c565b7f00000000000000000000000000000000000000000000000000000000000000005b9150849050613357565b600385015491506133546132f26001600160801b0386166001615832565b90505b600882901b60088a8a60405161336e92919061560e565b6040518091039020901b146133af576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006133ba8c61460c565b905060006133c9836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced3290613436908f908f908f908f908a9060040161589d565b6020604051808303816000875af1158015613455573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061347991906156b0565b600485015491149150600090600290613502906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61357c896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61358691906158d7565b61359091906158fa565b60ff1615905081151581036135d1576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b03161561361b576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008054600160801b900460ff1660028111156136795761367961531c565b146136975760405163067fe19560e41b815260040160405180910390fd5b6000806000806136a68661463b565b935093509350935060006136bc85858585614994565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561371e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137429190615693565b90506001890361380f576001600160a01b0381166352f0f3ad8a846137733660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156137e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061380991906156b0565b50611406565b6002890361382e576001600160a01b0381166352f0f3ad8a8489613773565b6003890361384d576001600160a01b0381166352f0f3ad8a8487613773565b6004890361398257600061388a6001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000614a33565b600954613897919061564a565b6138a290600161564a565b90503660011981013560f01c90036054013581106138cf573660011981013560f01c9003605401356138d1565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015613957573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061397b91906156b0565b5050611406565b60058903613a0e576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a4016137c6565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003660011981013560f01c9003601401356060613a7b61166b565b9050909192565b600081831015613a925781613a94565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001613adc949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003613b48576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000613b7685614ac8565b919450925090506001816001811115613b9157613b9161531c565b14613bc8576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451613bd4838561564a565b14613c0b576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b6040805180820190915260008082526020820152815260200190600190039081613c225790505093506000835b8651811015613d1057600080613c956040518060400160405280858c60000151613c79919061567c565b8152602001858c60200151613c8e919061564a565b9052614ac8565b509150915060405180604001604052808383613cb1919061564a565b8152602001848b60200151613cc6919061564a565b815250888581518110613cdb57613cdb61561e565b6020908102919091010152613cf160018561564a565b9350613cfd818361564a565b613d07908461564a565b92505050613c4f565b50845250919392505050565b60606000806000613d2c85614ac8565b919450925090506000816001811115613d4757613d4761531c565b14613d7e576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613d88828461564a565b855114613dc1576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61166285602001518484614f66565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190613e0990849061564a565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b6000613e5c6001600160801b0384166001615832565b90506000613e6c82866001614543565b9050600086901a8380613f365750613ea560027f00000000000000000000000000000000000000000000000000000000000000006157fe565b6004830154600290613f27906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b613f3191906158fa565b60ff16145b15613f8e5760ff811660011480613f50575060ff81166002145b613f89576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016128f8565b613fcc565b60ff811615613fcc576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016128f8565b50505050505050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b176000821361402b57631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261426457637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b6000816000190483118202156142945763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d782136142d257919050565b680755bf798b4a1bf1e582126142f05763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000613a94670de0b6b3a7640000836144a486613fd5565b6144ae919061591c565b6144b891906159d8565b6142a4565b600080614531837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b600080826145835761457e6001600160801b0386167f0000000000000000000000000000000000000000000000000000000000000000614ffb565b614595565b614595856001600160801b031661513a565b9050600284815481106145aa576145aa61561e565b906000526020600020906005020191505b60048201546001600160801b0382811691161461460457815460028054909163ffffffff169081106145ef576145ef61561e565b906000526020600020906005020191506145bb565b509392505050565b600080600080600061461d8661463b565b935093509350935061463184848484614994565b9695505050505050565b600080600080600085905060006002828154811061465b5761465b61561e565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614710906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161474a576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f0000000000000000000000000000000000000000000000000000000000000000906147ef906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561486457825463ffffffff1661482e7f0000000000000000000000000000000000000000000000000000000000000000600161564a565b8303614838578391505b6002818154811061484b5761484b61561e565b906000526020600020906005020193508094505061474e565b600481810154908401546001600160801b0391821691166000816001600160801b03166148a961489d856001600160801b031660011c90565b6001600160801b031690565b6001600160801b031614905080156149425760006148cf836001600160801b03166144bd565b6001600160801b0316111561491f5760006148ff6148f760016001600160801b038616615812565b896001614543565b6003810154600490910154909c506001600160801b03169a506149259050565b6008549a505b600386015460048701549099506001600160801b03169750614986565b600061495b6148f76001600160801b0385166001615832565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b038416156149ef5760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611662565b8282604051602001614a149291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614aa7847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614b0b576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614b30576000600160009450945094505050614f5f565b60b78111614c46576000614b4560808361567c565b905080876000015111614b84576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614bfc57507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614c33576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614f5f915050565b60bf8111614da4576000614c5b60b78361567c565b905080876000015111614c9a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614cfc576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614d44576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614d4e818461564a565b895111614d87576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614d9283600161564a565b9750955060009450614f5f9350505050565b60f78111614e09576000614db960c08361567c565b905080876000015111614df8576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614f5f915050565b6000614e1660f78361567c565b905080876000015111614e55576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614eb7576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614eff576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f09818461564a565b895111614f42576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f4d83600161564a565b9750955060019450614f5f9350505050565b9193909250565b60608167ffffffffffffffff811115614f8157614f81615584565b6040519080825280601f01601f191660200182016040528015614fab576020820181803683370190505b5090508115614ff4576000614fc0848661564a565b90506020820160005b84811015614fe1578281015182820152602001614fc9565b84811115614ff0576000858301525b5050505b9392505050565b600081615078846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161508e5763b34b5c226000526004601cfd5b6150978361513a565b905081615114826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611613a9757613a9461512a83600161564a565b6001600160801b038316906151c6565b600081196001830116816151b5827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061523a847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261526857600080fd5b50813567ffffffffffffffff81111561528057600080fd5b60208301915083602082850101111561529857600080fd5b9250929050565b600080600083850360a08112156152b557600080fd5b60808112156152c357600080fd5b50839250608084013567ffffffffffffffff8111156152e157600080fd5b6152ed86828701615256565b9497909650939450505050565b6000806040838503121561530d57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061535057634e487b7160e01b600052602160045260246000fd5b50565b6020810161536083615332565b91905290565b6001600160a01b038116811461535057600080fd5b60006020828403121561538d57600080fd5b8135614ff481615366565b6000806000606084860312156153ad57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b818110156153ea576020818501810151868301820152016153ce565b818111156153fc576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000613a9460208301846153c4565b60006020828403121561545457600080fd5b5035919050565b801515811461535057600080fd5b6000806000806080858703121561547f57600080fd5b843593506020850135925060408501359150606085013561549f8161545b565b939692955090935050565b6000602082840312156154bc57600080fd5b81356001600160801b0381168114614ff457600080fd5b600080600080600080608087890312156154ec57600080fd5b8635955060208701356154fe8161545b565b9450604087013567ffffffffffffffff8082111561551b57600080fd5b6155278a838b01615256565b9096509450606089013591508082111561554057600080fd5b5061554d89828a01615256565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061166260608301846153c4565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156155ac57600080fd5b6040516080810181811067ffffffffffffffff821117156155dd57634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561565d5761565d615634565b500190565b6000600019820361567557615675615634565b5060010190565b60008282101561568e5761568e615634565b500390565b6000602082840312156156a557600080fd5b8151614ff481615366565b6000602082840312156156c257600080fd5b5051919050565b600067ffffffffffffffff8083168185168083038211156156ec576156ec615634565b01949350505050565b600067ffffffffffffffff8083168185168183048111821515161561571c5761571c615634565b02949350505050565b600067ffffffffffffffff8381169083168181101561574657615746615634565b039392505050565b60006020828403121561576057600080fd5b8151614ff48161545b565b6000806040838503121561577e57600080fd5b505080516020909101519092909150565b6000602082840312156157a157600080fd5b815163ffffffff81168114614ff457600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826157da576157da6157b5565b500490565b60008160001904831182151516156157f9576157f9615634565b500290565b60008261580d5761580d6157b5565b500690565b60006001600160801b038381169083168181101561574657615746615634565b60006001600160801b038083168185168083038211156156ec576156ec615634565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6060815260006158b1606083018789615854565b82810360208401526158c4818688615854565b9150508260408301529695505050505050565b600060ff821660ff8416808210156158f1576158f1615634565b90039392505050565b600060ff83168061590d5761590d6157b5565b8060ff84160691505092915050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60008413600084138583048511828216161561595d5761595d615634565b7f8000000000000000000000000000000000000000000000000000000000000000600087128682058812818416161561599857615998615634565b600087129250878205871284841616156159b4576159b4615634565b878505871281841616156159ca576159ca615634565b505050929093029392505050565b6000826159e7576159e76157b5565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615a1d57615a1d615634565b50059056fea164736f6c634300080f000a000000000000000000000000000000000000000000000000000000000000000003eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc80000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d4000000000000000000000000007babe08ee4d07dba236530183b24055535a70110000000000000000000000002453c1216e49704d84ea98a4dacd95738f2fc8ec000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e720000000000000000000000000000000000000000000000000000000000002105\"\n        }\n      ],\n      \"isFixedGasLimit\": true\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x20e9fb8\",\n      \"logs\": [\n        {\n          \"address\": \"0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801\",\n          \"blockNumber\": \"0x167013d\",\n          \"blockTimestamp\": \"0x68e55f33\",\n          \"transactionHash\": \"0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38\",\n          \"transactionIndex\": \"0x12b\",\n          \"logIndex\": \"0x1f7\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801\",\n          \"blockNumber\": \"0x167013d\",\n          \"blockTimestamp\": \"0x68e55f33\",\n          \"transactionHash\": \"0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38\",\n          \"transactionIndex\": \"0x12b\",\n          \"logIndex\": \"0x1f8\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801\",\n          \"blockNumber\": \"0x167013d\",\n          \"blockTimestamp\": \"0x68e55f33\",\n          \"transactionHash\": \"0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38\",\n          \"transactionIndex\": \"0x12b\",\n          \"logIndex\": \"0x1f9\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x909f6cf47ed12f010a796527f562bfc26c7f4e72\",\n          \"topics\": [\n            \"0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e\",\n          \"blockHash\": \"0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801\",\n          \"blockNumber\": \"0x167013d\",\n          \"blockTimestamp\": \"0x68e55f33\",\n          \"transactionHash\": \"0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38\",\n          \"transactionIndex\": \"0x12b\",\n          \"logIndex\": \"0x1fa\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x909f6cf47ed12f010a796527f562bfc26c7f4e72\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801\",\n          \"blockNumber\": \"0x167013d\",\n          \"blockTimestamp\": \"0x68e55f33\",\n          \"transactionHash\": \"0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38\",\n          \"transactionIndex\": \"0x12b\",\n          \"logIndex\": \"0x1fb\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x909f6cf47ed12f010a796527f562bfc26c7f4e72\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801\",\n          \"blockNumber\": \"0x167013d\",\n          \"blockTimestamp\": \"0x68e55f33\",\n          \"transactionHash\": \"0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38\",\n          \"transactionIndex\": \"0x12b\",\n          \"logIndex\": \"0x1fc\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x49048044d57e1c92a77f79988d21fa8faf74e97e\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801\",\n          \"blockNumber\": \"0x167013d\",\n          \"blockTimestamp\": \"0x68e55f33\",\n          \"transactionHash\": \"0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38\",\n          \"transactionIndex\": \"0x12b\",\n          \"logIndex\": \"0x1fd\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x49048044d57e1c92a77f79988d21fa8faf74e97e\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801\",\n          \"blockNumber\": \"0x167013d\",\n          \"blockTimestamp\": \"0x68e55f33\",\n          \"transactionHash\": \"0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38\",\n          \"transactionIndex\": \"0x12b\",\n          \"logIndex\": \"0x1fe\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x8efb6b5c4767b09dc9aa6af4eaa89f749522bae2\",\n          \"topics\": [\n            \"0x9416a153a346f93d95f94b064ae3f148b6460473c6e82b3f9fc2521b873fcd6c\",\n            \"0x3b4a6791a6879d27c0ceeea3f78f8ebe66a01905f4a1290a8c6aff3e85f4665a\"\n          ],\n          \"data\": \"0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d60000000000000000000000005d5a095665886119693f0b41d8dfee78da033e8b\",\n          \"blockHash\": \"0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801\",\n          \"blockNumber\": \"0x167013d\",\n          \"blockTimestamp\": \"0x68e55f33\",\n          \"transactionHash\": \"0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38\",\n          \"transactionIndex\": \"0x12b\",\n          \"logIndex\": \"0x1ff\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x866e82a600a1414e583f7f13623f1ac5d58b0afa\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801\",\n          \"blockNumber\": \"0x167013d\",\n          \"blockTimestamp\": \"0x68e55f33\",\n          \"transactionHash\": \"0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38\",\n          \"transactionIndex\": \"0x12b\",\n          \"logIndex\": \"0x200\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x3154cf16ccdb4c6d922629664174b904d80f2c35\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801\",\n          \"blockNumber\": \"0x167013d\",\n          \"blockTimestamp\": \"0x68e55f33\",\n          \"transactionHash\": \"0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38\",\n          \"transactionIndex\": \"0x12b\",\n          \"logIndex\": \"0x201\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x608d94945a64503e642e6370ec598e519a2c1e53\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801\",\n          \"blockNumber\": \"0x167013d\",\n          \"blockTimestamp\": \"0x68e55f33\",\n          \"transactionHash\": \"0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38\",\n          \"transactionIndex\": \"0x12b\",\n          \"logIndex\": \"0x202\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x608d94945a64503e642e6370ec598e519a2c1e53\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801\",\n          \"blockNumber\": \"0x167013d\",\n          \"blockTimestamp\": \"0x68e55f33\",\n          \"transactionHash\": \"0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38\",\n          \"transactionIndex\": \"0x12b\",\n          \"logIndex\": \"0x203\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x64ae5250958cdeb83f6b61f913b5ac6ebe8efd4d\",\n          \"topics\": [\n            \"0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e\",\n          \"blockHash\": \"0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801\",\n          \"blockNumber\": \"0x167013d\",\n          \"blockTimestamp\": \"0x68e55f33\",\n          \"transactionHash\": \"0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38\",\n          \"transactionIndex\": \"0x12b\",\n          \"logIndex\": \"0x204\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x64ae5250958cdeb83f6b61f913b5ac6ebe8efd4d\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801\",\n          \"blockNumber\": \"0x167013d\",\n          \"blockTimestamp\": \"0x68e55f33\",\n          \"transactionHash\": \"0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38\",\n          \"transactionIndex\": \"0x12b\",\n          \"logIndex\": \"0x205\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x64ae5250958cdeb83f6b61f913b5ac6ebe8efd4d\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801\",\n          \"blockNumber\": \"0x167013d\",\n          \"blockTimestamp\": \"0x68e55f33\",\n          \"transactionHash\": \"0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38\",\n          \"transactionIndex\": \"0x12b\",\n          \"logIndex\": \"0x206\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e\",\n          \"topics\": [\n            \"0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de\",\n            \"0x000000000000000000000000e3803582fd5bcdc62720d2b80f35e8ddea94e2ec\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000001\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801\",\n          \"blockNumber\": \"0x167013d\",\n          \"blockTimestamp\": \"0x68e55f33\",\n          \"transactionHash\": \"0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38\",\n          \"transactionIndex\": \"0x12b\",\n          \"logIndex\": \"0x207\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x2453c1216e49704d84ea98a4dacd95738f2fc8ec\",\n          \"topics\": [\n            \"0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e\",\n          \"blockHash\": \"0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801\",\n          \"blockNumber\": \"0x167013d\",\n          \"blockTimestamp\": \"0x68e55f33\",\n          \"transactionHash\": \"0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38\",\n          \"transactionIndex\": \"0x12b\",\n          \"logIndex\": \"0x208\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x2453c1216e49704d84ea98a4dacd95738f2fc8ec\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801\",\n          \"blockNumber\": \"0x167013d\",\n          \"blockTimestamp\": \"0x68e55f33\",\n          \"transactionHash\": \"0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38\",\n          \"transactionIndex\": \"0x12b\",\n          \"logIndex\": \"0x209\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x2453c1216e49704d84ea98a4dacd95738f2fc8ec\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801\",\n          \"blockNumber\": \"0x167013d\",\n          \"blockTimestamp\": \"0x68e55f33\",\n          \"transactionHash\": \"0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38\",\n          \"transactionIndex\": \"0x12b\",\n          \"logIndex\": \"0x20a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e\",\n          \"topics\": [\n            \"0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de\",\n            \"0x000000000000000000000000e4066890367bf8a51d58377431808083a01b1e0c\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801\",\n          \"blockNumber\": \"0x167013d\",\n          \"blockTimestamp\": \"0x68e55f33\",\n          \"transactionHash\": \"0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38\",\n          \"transactionIndex\": \"0x12b\",\n          \"logIndex\": \"0x20b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n          \"topics\": [\n            \"0x78bc67b9bf548ef6410becd31a3e10b9ea6c255974ef6b4530728b431df30030\",\n            \"0x0000000000000000000000000000000000000000000000000000000000002105\",\n            \"0x00000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072\",\n            \"0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801\",\n          \"blockNumber\": \"0x167013d\",\n          \"blockTimestamp\": \"0x68e55f33\",\n          \"transactionHash\": \"0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38\",\n          \"transactionIndex\": \"0x12b\",\n          \"logIndex\": \"0x20c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xe0827c2ee69fdaffc792a56c7cd5fbd1f01890591e6e3513c4de8f8f46b761fb0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801\",\n          \"blockNumber\": \"0x167013d\",\n          \"blockTimestamp\": \"0x68e55f33\",\n          \"transactionHash\": \"0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38\",\n          \"transactionIndex\": \"0x12b\",\n          \"logIndex\": \"0x20d\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x000000004004000000000000000c00004020000000000000000000a0840400000000008000000010000000000004000000000000000000000001000000040110001080120400000880000000000002081051000000040000000000000340000008010000020800000000020024000800000000c10000240000000000000000200000010000400000008000000210000200010820000081000000000020800000000000008000004000001000000404000240000000400000040000000000000000080020000000000000000000040080110000104400200001000002200060000000000000003040004000000000200002000000020000000000000000000101\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38\",\n      \"transactionIndex\": \"0x12b\",\n      \"blockHash\": \"0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801\",\n      \"blockNumber\": \"0x167013d\",\n      \"gasUsed\": \"0xb82599\",\n      \"effectiveGasPrice\": \"0x3b218d56\",\n      \"from\": \"0x1841cb3c2ce6870d0417844c817849da64e6e937\",\n      \"to\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {\n    \"0\": {\n      \"internal_type\": \"struct VmSafe.AccountAccess[]\",\n      \"value\": \"[((0, 1), 8, 0x7109709ECfa91a80626fF3989D68f67F5b1DD12D, 0x5b73C5498c1E3b4dbA84de0F1833c4a029d90519, true, 0, 0, 0x, 0, 0x, false, [], 1), ((0, 1), 0, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, 0x1841CB3C2ce6870D0417844C817849da64E6e937, true, 0, 0, 0x, 0, 0x6a76120200000000000000000000000093dc480940585d9961bfceab58124ffd3d60f76a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000001a482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000008123739c1368c2dedc8c564255bc417feeebff9d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4ff2dd5a10000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000, false, [(0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x000000000000000000000000d9db270c1b5e3bd161e8c8503c55ceabee709552, 0x000000000000000000000000d9db270c1b5e3bd161e8c8503c55ceabee709552, false)], 1), ((0, 1), 1, 0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552, 0x1841CB3C2ce6870D0417844C817849da64E6e937, true, 0, 0, 0x, 0, 0x6a76120200000000000000000000000093dc480940585d9961bfceab58124ffd3d60f76a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000001a482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000008123739c1368c2dedc8c564255bc417feeebff9d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4ff2dd5a10000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000, false, [(0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, 0x0000000000000000000000000000000000000000000000000000000000000005, false, 0x000000000000000000000000000000000000000000000000000000000000000a, 0x000000000000000000000000000000000000000000000000000000000000000a, false), (0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, 0x0000000000000000000000000000000000000000000000000000000000000005, false, 0x000000000000000000000000000000000000000000000000000000000000000a, 0x000000000000000000000000000000000000000000000000000000000000000a, false), (0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, 0x0000000000000000000000000000000000000000000000000000000000000005, true, 0x000000000000000000000000000000000000000000000000000000000000000a, 0x000000000000000000000000000000000000000000000000000000000000000b, false), (0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, 0x0000000000000000000000000000000000000000000000000000000000000004, false, 0x0000000000000000000000000000000000000000000000000000000000000002, 0x0000000000000000000000000000000000000000000000000000000000000002, false), (0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, 0x69fe20c2c04059fe9036c3ae4878b8e54b643ea18610d61a18d50bbbe8ec7202, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, 0xb79e2255a19f37f0fc20cbcd8e46bdb84bf2577e147dcf50c4471a96c0623f53, false, 0x0000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a, 0x0000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a, false), (0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, 0x957c527a96bf9b903ff08c7171839fc086ceeb7151487cebfacb3beeca8882b8, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, 0xad7f222f29a1b375bb6b2847405c3279f1dff83a30de9e555815353d94c2306b, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, 0x4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c8, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 2), ((0, 1), 1, 0x93dc480940585D9961bfcEab58124fFD3d60f76a, 0x1841CB3C2ce6870D0417844C817849da64E6e937, true, 0, 0, 0x, 0, 0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000008123739c1368c2dedc8c564255bc417feeebff9d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4ff2dd5a10000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc800000000000000000000000000000000000000000000000000000000, false, [], 3), ((0, 1), 1, 0x8123739C1368C2DEDc8C564255bc417FEEeBFF9D, 0x1841CB3C2ce6870D0417844C817849da64E6e937, true, 0, 0, 0x, 0, 0xff2dd5a10000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc8, false, [], 4), ((0, 1), 1, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, 0x1841CB3C2ce6870D0417844C817849da64E6e937, true, 0, 0, 0x, 0, 0xff2dd5a10000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc8, false, [], 5), ((0, 1), 3, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x30e9012c, false, [], 6), ((0, 1), 3, 0x10596fE51861c5D3865568278270B1DF050Ee547, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, true, 0, 0, 0x, 0, 0x30e9012c, false, [(0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000d, false, 0x000000000000000000000000ce28685eb204186b557133766eca00334eb441e4, 0x000000000000000000000000ce28685eb204186b557133766eca00334eb441e4, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000e, false, 0x00000000000000000000000037e15e4d6dffa9e5e320ee1ec036922e563cb76c, 0x00000000000000000000000037e15e4d6dffa9e5e320ee1ec036922e563cb76c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000f, false, 0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696, 0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000010, false, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000011, false, 0x000000000000000000000000b0eb854fd842e0e564d49d2fe6b2ac25d035523c, 0x000000000000000000000000b0eb854fd842e0e564d49d2fe6b2ac25d035523c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000012, false, 0x000000000000000000000000784d2f03593a42a6e4676a012762f18775ecbbe6, 0x000000000000000000000000784d2f03593a42a6e4676a012762f18775ecbbe6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000013, false, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000014, false, 0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f, 0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000015, false, 0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6, 0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000016, false, 0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, 0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000017, false, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000018, false, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000019, false, 0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998, 0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000001a, false, 0x00000000000000000000000007babe08ee4d07dba236530183b24055535a7011, 0x00000000000000000000000007babe08ee4d07dba236530183b24055535a7011, false)], 7), ((0, 1), 8, 0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 8, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 3, 0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x0a49cb03, false, [(0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x00000000000000000000000078ffe9209dff6fe1c9b6f3efdf996bee60346d0e, 0x00000000000000000000000078ffe9209dff6fe1c9b6f3efdf996bee60346d0e, false)], 6), ((0, 1), 1, 0x78FFE9209dFF6Fe1c9B6F3EFdF996BeE60346D0e, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x0a49cb03, false, [(0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ac, false, 0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e, 0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e, false)], 7), ((0, 1), 3, 0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 703271672950728489260372, 703271672950728489260372, 0x, 0, 0x35e80ab3, false, [(0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000b443da3e07052204a02d630a8933dac05a0d6fb4, 0x000000000000000000000000b443da3e07052204a02d630a8933dac05a0d6fb4, false)], 6), ((0, 1), 1, 0xB443Da3e07052204A02d630a8933dAc05a0d6fB4, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 703271672950728489260372, 703271672950728489260372, 0x, 0, 0x35e80ab3, false, [(0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x0000000000000000000000000000000000000000000000000000000000000035, false, 0x000000000000000000000095703e0982140d16f8eba6d158fccede42f04a4c00, 0x000000000000000000000095703e0982140d16f8eba6d158fccede42f04a4c00, false)], 7), ((0, 1), 3, 0x95703e0982140D16f8ebA6d158FccEde42f04a4C, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x54fd4d50, false, [(0x95703e0982140D16f8ebA6d158FccEde42f04a4C, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000ce28685eb204186b557133766eca00334eb441e4, 0x000000000000000000000000ce28685eb204186b557133766eca00334eb441e4, false)], 6), ((0, 1), 1, 0xCe28685EB204186b557133766eCA00334EB441E4, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x54fd4d50, false, [], 7), ((0, 1), 3, 0xCe28685EB204186b557133766eCA00334EB441E4, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x54fd4d50, false, [], 6), ((0, 1), 3, 0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x00000000000000000000000078ffe9209dff6fe1c9b6f3efdf996bee60346d0e, 0x00000000000000000000000078ffe9209dff6fe1c9b6f3efdf996bee60346d0e, false)], 6), ((0, 1), 1, 0x78FFE9209dFF6Fe1c9B6F3EFdF996BeE60346D0e, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906, false, 0x00000000000000000000000043edb88c4b80fdd2adff2412a7bebf9df42cb40e, 0x00000000000000000000000043edb88c4b80fdd2adff2412a7bebf9df42cb40e, false)], 7), ((0, 1), 8, 0x33D1e8571a85a538ed3D5A4d88f46C112383439D, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 8, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 0, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x99a88ec400000000000000000000000043edb88c4b80fdd2adff2412a7bebf9df42cb40e00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false, [(0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, false), (0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x3391a01d1547ceb1ad17d102702e65f7a5566fcd9661204766ef7cec8a847b6a, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 6), ((0, 1), 8, 0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x, false, [], 7), ((0, 1), 0, 0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x3659cfe600000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false, [(0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false), (0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, true, 0x0000000000000000000000004bba758f006ef09402ef31724203f316ab74e4a0, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false)], 7), ((0, 1), 3, 0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x1b685b9e0000000000000000000000000000000000000000000000000000000000000001, false, [(0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false)], 6), ((0, 1), 1, 0x33D1e8571a85a538ed3D5A4d88f46C112383439D, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x1b685b9e0000000000000000000000000000000000000000000000000000000000000001, false, [(0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e, false, 0x0000000000000000000000007344da3a618b86cda67f8260c0cc2027d99f5b49, 0x0000000000000000000000007344da3a618b86cda67f8260c0cc2027d99f5b49, false)], 7), ((0, 1), 3, 0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xd6ae3cd5, false, [], 6), ((0, 1), 8, 0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 8, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 0, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x9623609d00000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a55700000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044028f4e47000000000000000000000000000000000000000000000000000000000000210500000000000000000000000095703e0982140d16f8eba6d158fccede42f04a4c00000000000000000000000000000000000000000000000000000000, false, [(0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, false), (0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x8b390f1e11e72bdf7014b16104dab391d1774778eda5488a9a66ebe5c76caade, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 6), ((0, 1), 0, 0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x4f1ef2860000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a55700000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000044028f4e47000000000000000000000000000000000000000000000000000000000000210500000000000000000000000095703e0982140d16f8eba6d158fccede42f04a4c00000000000000000000000000000000000000000000000000000000, false, [(0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false), (0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, true, 0x00000000000000000000000078ffe9209dff6fe1c9b6f3efdf996bee60346d0e, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, false)], 7), ((0, 1), 1, 0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x028f4e47000000000000000000000000000000000000000000000000000000000000210500000000000000000000000095703e0982140d16f8eba6d158fccede42f04a4c, false, [(0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000103, false), (0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false), (0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x000000000000000000000000000000000000000000000000000000000000006b, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000002105, false), (0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x000000000000000000000000000000000000000000000000000000000000006c, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x000000000000000000000000000000000000000000000000000000000000006c, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x00000000000000000000000095703e0982140d16f8eba6d158fccede42f04a4c, false), (0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906, true, 0x00000000000000000000000043edb88c4b80fdd2adff2412a7bebf9df42cb40e, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000103, 0x0000000000000000000000000000000000000000000000000000000000000103, false), (0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000103, 0x0000000000000000000000000000000000000000000000000000000000000003, false)], 8), ((0, 1), 3, 0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 703271672950728489260372, 703271672950728489260372, 0x, 0, 0x5c0cba33, true, [(0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000b443da3e07052204a02d630a8933dac05a0d6fb4, 0x000000000000000000000000b443da3e07052204a02d630a8933dac05a0d6fb4, true)], 6), ((0, 1), 1, 0xB443Da3e07052204A02d630a8933dAc05a0d6fB4, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 703271672950728489260372, 703271672950728489260372, 0x, 0, 0x5c0cba33, true, [], 7), ((0, 1), 3, 0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 703271672950728489260372, 703271672950728489260372, 0x, 0, 0x3c9f397c, false, [(0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000b443da3e07052204a02d630a8933dac05a0d6fb4, 0x000000000000000000000000b443da3e07052204a02d630a8933dac05a0d6fb4, false)], 6), ((0, 1), 1, 0xB443Da3e07052204A02d630a8933dAc05a0d6fB4, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 703271672950728489260372, 703271672950728489260372, 0x, 0, 0x3c9f397c, false, [(0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x000000000000000000000000000000000000000000000000000000000000003b, false, 0x000000000000000000000000000000000000000000000000672253a300000000, 0x000000000000000000000000000000000000000000000000672253a300000000, false)], 7), ((0, 1), 3, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [], 6), ((0, 1), 3, 0x10596fE51861c5D3865568278270B1DF050Ee547, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [(0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000001, false, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000002, false, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000004, false, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000005, false, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000006, false, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000007, false, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000008, false, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000009, false, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000a, false, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000b, false, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000c, false, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, false)], 7), ((0, 1), 8, 0xA643EA8ee60D92f615eC70AF0248c449bBCEcF4d, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 10, 0xA643EA8ee60D92f615eC70AF0248c449bBCEcF4d, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 3, 0x0000000000000000000000000000000000000004, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 1900471143444598896, 1900471143444598896, 0x, 0, 0x608060405234801561001057600080fd5b5060405161091f38038061091f83398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206108ff8339815191525490565b6000805160206108ff833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61080b806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, [], 6), ((0, 1), 4, 0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000a, 0, 0x608060405234801561001057600080fd5b5060405161091f38038061091f83398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206108ff8339815191525490565b6000805160206108ff833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61080b806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61030000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false, [(0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false)], 6), ((0, 1), 3, 0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x5c0cba33, false, [], 6), ((0, 1), 3, 0x496286e5eE7758de84Dd17e6d2d97afC2ACE4cc7, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x7258a8070000000000000000000000000000000000000000000000000000000000000000, false, [(0x496286e5eE7758de84Dd17e6d2d97afC2ACE4cc7, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x0000000000000000000000007b465370bb7a333f99edd19599eb7fb1c2d3f8d2, 0x0000000000000000000000007b465370bb7a333f99edd19599eb7fb1c2d3f8d2, false)], 6), ((0, 1), 1, 0x7b465370BB7A333f99edd19599EB7Fb1c2D3F8D2, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x7258a8070000000000000000000000000000000000000000000000000000000000000000, false, [(0x496286e5eE7758de84Dd17e6d2d97afC2ACE4cc7, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x0000000000000000000000001d0053d7faeda9fdc59a143e225764df95f4d8cd, 0x0000000000000000000000001d0053d7faeda9fdc59a143e225764df95f4d8cd, false), (0x496286e5eE7758de84Dd17e6d2d97afC2ACE4cc7, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x0000000000000000000000001d0053d7faeda9fdc59a143e225764df95f4d8cd, 0x0000000000000000000000001d0053d7faeda9fdc59a143e225764df95f4d8cd, false)], 7), ((0, 1), 3, 0x1D0053D7FAedA9Fdc59A143e225764df95F4D8cd, 0x496286e5eE7758de84Dd17e6d2d97afC2ACE4cc7, true, 0, 0, 0x, 0, 0xbcef3b55, false, [], 8), ((0, 1), 1, 0xAB91FB6cef84199145133f75cBD96B8a31F184ED, 0x496286e5eE7758de84Dd17e6d2d97afC2ACE4cc7, true, 0, 0, 0x, 0, 0xbcef3b55642229f238fb9de03374be34b0ed8d9de80752c59a37fe32cd2b49385bec0236b7b5c2177e71176bb306d19a49a8a77651ce2cd06f340c542aa6f2bd8f7b8f6ca2eaaa00529db209c9eb77c9c7bc5cd66e43ca01000000000000000000000000000000000000000000000000000000000228e0320076, false, [], 9), ((0, 1), 6, 0x7b465370BB7A333f99edd19599EB7Fb1c2D3F8D2, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [(0x496286e5eE7758de84Dd17e6d2d97afC2ACE4cc7, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x0000000000000000000000001d0053d7faeda9fdc59a143e225764df95f4d8cd, 0x0000000000000000000000001d0053d7faeda9fdc59a143e225764df95f4d8cd, false)], 7), ((0, 1), 3, 0x1D0053D7FAedA9Fdc59A143e225764df95F4D8cd, 0x496286e5eE7758de84Dd17e6d2d97afC2ACE4cc7, true, 0, 0, 0x, 0, 0x8b85902b, false, [], 8), ((0, 1), 1, 0xAB91FB6cef84199145133f75cBD96B8a31F184ED, 0x496286e5eE7758de84Dd17e6d2d97afC2ACE4cc7, true, 0, 0, 0x, 0, 0x8b85902b642229f238fb9de03374be34b0ed8d9de80752c59a37fe32cd2b49385bec0236b7b5c2177e71176bb306d19a49a8a77651ce2cd06f340c542aa6f2bd8f7b8f6ca2eaaa00529db209c9eb77c9c7bc5cd66e43ca01000000000000000000000000000000000000000000000000000000000228e0320076, false, [], 9), ((0, 1), 8, 0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 8, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 0, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x9623609d000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e72000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a447a222c500000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000043edb88c4b80fdd2adff2412a7bebf9df42cb40e9a37fe32cd2b49385bec0236b7b5c2177e71176bb306d19a49a8a77651ce2cd0000000000000000000000000000000000000000000000000000000000228e032000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, false, [(0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, false), (0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x6175fadb1d280040a7c5d2904f9e918a57bb3f36e1b62bff30c1adce6559a6c4, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 6), ((0, 1), 0, 0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x4f1ef286000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a447a222c500000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000043edb88c4b80fdd2adff2412a7bebf9df42cb40e9a37fe32cd2b49385bec0236b7b5c2177e71176bb306d19a49a8a77651ce2cd0000000000000000000000000000000000000000000000000000000000228e032000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, false, [(0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false), (0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, false)], 7), ((0, 1), 1, 0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x47a222c500000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000043edb88c4b80fdd2adff2412a7bebf9df42cb40e9a37fe32cd2b49385bec0236b7b5c2177e71176bb306d19a49a8a77651ce2cd0000000000000000000000000000000000000000000000000000000000228e0320000000000000000000000000000000000000000000000000000000000000000, false, [(0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000101, false), (0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false), (0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000101, 0x0000000000000000000000000000000000000000000000000000000000000101, false), (0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x0000000000000000000000000000000000000000000000000000000000000001, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x0000000000000000000000000000000000000000000000000000000000000001, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x00000000000000000000000043edb88c4b80fdd2adff2412a7bebf9df42cb40e, false), (0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x0000000000000000000000000000000000000000000000000000000000000003, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x9a37fe32cd2b49385bec0236b7b5c2177e71176bb306d19a49a8a77651ce2cd0, false), (0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x0000000000000000000000000000000000000000000000000000000000000004, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x000000000000000000000000000000000000000000000000000000000228e032, false), (0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x0000000000000000000000000000000000000000000000000000000000000006, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x0000000000000000000000000000000000000000000000000000000000000006, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x00000000000000000000000000000000000000000000000068e55eeb00000000, false), (0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000101, 0x0000000000000000000073a79fab69143498ed3712e519a88a918e1f40720001, false)], 8), ((0, 1), 3, 0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 703271672950728489260372, 703271672950728489260372, 0x, 0, 0xb682c444, true, [(0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000b443da3e07052204a02d630a8933dac05a0d6fb4, 0x000000000000000000000000b443da3e07052204a02d630a8933dac05a0d6fb4, true)], 6), ((0, 1), 1, 0xB443Da3e07052204A02d630a8933dAc05a0d6fB4, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 703271672950728489260372, 703271672950728489260372, 0x, 0, 0xb682c444, true, [], 7), ((0, 1), 3, 0x10596fE51861c5D3865568278270B1DF050Ee547, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x78ecabce0000000000000000000000000000000000000000000000000000000000000001, false, [], 6), ((0, 1), 8, 0x381E729FF983FA4BCEd820e7b922d79bF653B999, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 8, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 0, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x99a88ec400000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, false, [(0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, false), (0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x9172a26a833d9e2a4bdf5999e73da4eaf131a2ca274b76035f86e291131ace8c, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 6), ((0, 1), 8, 0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 703271672950728489260372, 703271672950728489260372, 0x, 0, 0x, false, [], 7), ((0, 1), 0, 0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 703271672950728489260372, 703271672950728489260372, 0x, 0, 0x3659cfe6000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, false, [(0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false), (0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, true, 0x000000000000000000000000b443da3e07052204a02d630a8933dac05a0d6fb4, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, false)], 7), ((0, 1), 8, 0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 703271672950728489260372, 703271672950728489260372, 0x, 0, 0x, false, [], 6), ((0, 1), 0, 0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 703271672950728489260372, 703271672950728489260372, 0x, 0, 0x0900f010000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e72, false, [(0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, false)], 6), ((0, 1), 1, 0x381E729FF983FA4BCEd820e7b922d79bF653B999, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 703271672950728489260372, 703271672950728489260372, 0x, 0, 0x0900f010000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e72, false, [(0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000103, false), (0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false), (0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false)], 7), ((0, 1), 3, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, true, 0, 0, 0x, 0, 0x8da5cb5b, false, [(0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, false)], 8), ((0, 1), 6, 0x381E729FF983FA4BCEd820e7b922d79bF653B999, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [(0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x0000000000000000000000000000000000000000000000000000000000000037, false, 0x00000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072, 0x00000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072, false)], 7), ((0, 1), 3, 0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, true, 0, 0, 0x, 0, 0x47af267b4554485f4c4f434b424f58000000000000000000000000000000000000000000, false, [(0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, false)], 8), ((0, 1), 1, 0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557, 0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, true, 0, 0, 0x, 0, 0x47af267b4554485f4c4f434b424f58000000000000000000000000000000000000000000, false, [(0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x58e88e949bd180ff86d6c072735c3d8d5a05a543c16130176ec0bc0adf3fd806, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 9), ((0, 1), 6, 0x381E729FF983FA4BCEd820e7b922d79bF653B999, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [(0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x0000000000000000000000000000000000000000000000000000000000000037, false, 0x00000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072, 0x00000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072, false)], 7), ((0, 1), 3, 0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, true, 0, 0, 0x, 0, 0x47af267b4554485f4c4f434b424f58000000000000000000000000000000000000000000, false, [(0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, false)], 8), ((0, 1), 1, 0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557, 0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, true, 0, 0, 0x, 0, 0x47af267b4554485f4c4f434b424f58000000000000000000000000000000000000000000, false, [(0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x58e88e949bd180ff86d6c072735c3d8d5a05a543c16130176ec0bc0adf3fd806, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 9), ((0, 1), 6, 0x381E729FF983FA4BCEd820e7b922d79bF653B999, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [(0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x000000000000000000000000000000000000000000000000000000000000003f, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x000000000000000000000000000000000000000000000000000000000000003e, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x000000000000000000000000000000000000000000000000000000000000003e, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e72, false), (0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000103, 0x0000000000000000000000000000000000000000000000000000000000000103, false), (0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000103, 0x0000000000000000000000000000000000000000000000000000000000000003, false)], 7), ((0, 1), 3, 0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xa39fac12, false, [(0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, false)], 6), ((0, 1), 1, 0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xa39fac12, false, [(0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580636, false, 0x000000000000000000000000866e82a600a1414e583f7f13623f1ac5d58b0afa, 0x000000000000000000000000866e82a600a1414e583f7f13623f1ac5d58b0afa, false), (0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a7, false, 0x000000000000000000000000608d94945a64503e642e6370ec598e519a2c1e53, 0x000000000000000000000000608d94945a64503e642e6370ec598e519a2c1e53, false), (0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6376, false, 0x0000000000000000000000003154cf16ccdb4c6d922629664174b904d80f2c35, 0x0000000000000000000000003154cf16ccdb4c6d922629664174b904d80f2c35, false), (0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ac, false, 0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e, 0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e, false), (0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0xa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320c, false, 0x00000000000000000000000005cc379ebd9b30bba19c6fa282ab29218ec61d84, 0x00000000000000000000000005cc379ebd9b30bba19c6fa282ab29218ec61d84, false)], 7), ((0, 1), 8, 0x22D12E0FAebD62d429514A65EBAe32dd316c12D6, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 8, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 0, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x9623609d000000000000000000000000866e82a600a1414e583f7f13623f1ac5d58b0afa00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000240900f01000000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000, false, [(0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, false), (0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x6610857e9acaea85608f277f15b3611bf7d799b7b880472490c9cf911fb99620, false, 0x0000000000000000000000000000000000000000000000000000000000000002, 0x0000000000000000000000000000000000000000000000000000000000000002, false), (0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, false), (0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x6610857e9acaea85608f277f15b3611bf7d799b7b880472490c9cf911fb99620, false, 0x0000000000000000000000000000000000000000000000000000000000000002, 0x0000000000000000000000000000000000000000000000000000000000000002, false), (0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x821ec14216267947ff42340156befde7c75e803b5af75c40c1a3cea81edbc5c0, false, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, false), (0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x821ec14216267947ff42340156befde7c75e803b5af75c40c1a3cea81edbc5c0, false, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, false), (0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x821ec14216267947ff42340156befde7c75e803b5af75c40c1a3cea81edbc5c0, false, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, false), (0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x0000000000000000000000008efb6b5c4767b09dc9aa6af4eaa89f749522bae2, 0x0000000000000000000000008efb6b5c4767b09dc9aa6af4eaa89f749522bae2, false)], 6), ((0, 1), 8, 0x8EfB6B5c4767B09Dc9AA6Af4eAA89F749522BaE2, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x, false, [], 7), ((0, 1), 0, 0x8EfB6B5c4767B09Dc9AA6Af4eAA89F749522BaE2, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x9b2ea4bd000000000000000000000000000000000000000000000000000000000000004000000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6000000000000000000000000000000000000000000000000000000000000001a4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000, false, [(0x8EfB6B5c4767B09Dc9AA6Af4eAA89F749522BaE2, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false), (0x8EfB6B5c4767B09Dc9AA6Af4eAA89F749522BaE2, 0x515216935740e67dfdda5cf8e248ea32b3277787818ab59153061ac875c9385e, false, 0x0000000000000000000000005d5a095665886119693f0b41d8dfee78da033e8b, 0x0000000000000000000000005d5a095665886119693f0b41d8dfee78da033e8b, false), (0x8EfB6B5c4767B09Dc9AA6Af4eAA89F749522BaE2, 0x515216935740e67dfdda5cf8e248ea32b3277787818ab59153061ac875c9385e, true, 0x0000000000000000000000005d5a095665886119693f0b41d8dfee78da033e8b, 0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6, false)], 7), ((0, 1), 0, 0x866E82a600A1414e583f7F13623F1aC5d58b0Afa, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x0900f01000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072, false, [(0x866E82a600A1414e583f7F13623F1aC5d58b0Afa, 0x6610857e9acaea85608f277f15b3611bf7d799b7b880472490c9cf911fb99620, false, 0x0000000000000000000000008efb6b5c4767b09dc9aa6af4eaa89f749522bae2, 0x0000000000000000000000008efb6b5c4767b09dc9aa6af4eaa89f749522bae2, false), (0x866E82a600A1414e583f7F13623F1aC5d58b0Afa, 0x9b4282f4287c5bb09c9a1d8c963f71ae3051e7077201e98231c84061a5a26a07, false, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, false)], 7), ((0, 1), 3, 0x8EfB6B5c4767B09Dc9AA6Af4eAA89F749522BaE2, 0x866E82a600A1414e583f7F13623F1aC5d58b0Afa, true, 0, 0, 0x, 0, 0xbf40fac10000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001a4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000, false, [(0x8EfB6B5c4767B09Dc9AA6Af4eAA89F749522BaE2, 0x515216935740e67dfdda5cf8e248ea32b3277787818ab59153061ac875c9385e, false, 0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6, 0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6, false)], 8), ((0, 1), 1, 0x22D12E0FAebD62d429514A65EBAe32dd316c12D6, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x0900f01000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072, false, [(0x866E82a600A1414e583f7F13623F1aC5d58b0Afa, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000010000000000000000000000000000000000000000, 0x0000000000000000000000010000000000000000000000000000000000000000, false), (0x866E82a600A1414e583f7F13623F1aC5d58b0Afa, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000010000000000000000000000000000000000000000, 0x0000000000000000000000010000000000000000000000000000000000000000, false), (0x866E82a600A1414e583f7F13623F1aC5d58b0Afa, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000010000000000000000000000000000000000000000, 0x0000000000000000000000010000000000000000000000000000000000000000, false), (0x866E82a600A1414e583f7F13623F1aC5d58b0Afa, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000010000000000000000000000000000000000000000, 0x0000000000000000000001030000000000000000000000000000000000000000, false), (0x866E82a600A1414e583f7F13623F1aC5d58b0Afa, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x866E82a600A1414e583f7F13623F1aC5d58b0Afa, 0x9b4282f4287c5bb09c9a1d8c963f71ae3051e7077201e98231c84061a5a26a07, false, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, false), (0x866E82a600A1414e583f7F13623F1aC5d58b0Afa, 0x6610857e9acaea85608f277f15b3611bf7d799b7b880472490c9cf911fb99620, false, 0x0000000000000000000000008efb6b5c4767b09dc9aa6af4eaa89f749522bae2, 0x0000000000000000000000008efb6b5c4767b09dc9aa6af4eaa89f749522bae2, false)], 8), ((0, 1), 3, 0x8EfB6B5c4767B09Dc9AA6Af4eAA89F749522BaE2, 0x866E82a600A1414e583f7F13623F1aC5d58b0Afa, true, 0, 0, 0x, 0, 0x8da5cb5b, false, [(0x8EfB6B5c4767B09Dc9AA6Af4eAA89F749522BaE2, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false)], 9), ((0, 1), 6, 0x22D12E0FAebD62d429514A65EBAe32dd316c12D6, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x, false, [(0x866E82a600A1414e583f7F13623F1aC5d58b0Afa, 0x00000000000000000000000000000000000000000000000000000000000000fe, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x866E82a600A1414e583f7F13623F1aC5d58b0Afa, 0x00000000000000000000000000000000000000000000000000000000000000fe, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x00000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072, false), (0x866E82a600A1414e583f7F13623F1aC5d58b0Afa, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000001030000000000000000000000000000000000000000, 0x0000000000000000000001030000000000000000000000000000000000000000, false), (0x866E82a600A1414e583f7F13623F1aC5d58b0Afa, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000001030000000000000000000000000000000000000000, 0x0000000000000000000000030000000000000000000000000000000000000000, false)], 8), ((0, 1), 8, 0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 8, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 0, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x9623609d0000000000000000000000003154cf16ccdb4c6d922629664174b904d80f2c35000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000240900f01000000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000, false, [(0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, false), (0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x167303c5c3979651955e9d53fc1fbc5427fdbf3949d093052044c70ace70e401, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, false), (0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x167303c5c3979651955e9d53fc1fbc5427fdbf3949d093052044c70ace70e401, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false)], 6), ((0, 1), 8, 0x3154Cf16ccdb4C6d922629664174b904d80F2C35, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x, false, [], 7), ((0, 1), 0, 0x3154Cf16ccdb4C6d922629664174b904d80F2C35, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x9b0b0fda360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, false, [(0x3154Cf16ccdb4C6d922629664174b904d80F2C35, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false), (0x3154Cf16ccdb4C6d922629664174b904d80F2C35, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, true, 0x0000000000000000000000000b09ba359a106c9ea3b181cbc5f394570c7d2a7a, 0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, false)], 7), ((0, 1), 0, 0x3154Cf16ccdb4C6d922629664174b904d80F2C35, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x0900f01000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072, false, [(0x3154Cf16ccdb4C6d922629664174b904d80F2C35, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false)], 7), ((0, 1), 3, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x3154Cf16ccdb4C6d922629664174b904d80F2C35, true, 0, 0, 0x, 0, 0xb7947262, false, [(0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x0000000000000000000000008efb6b5c4767b09dc9aa6af4eaa89f749522bae2, 0x0000000000000000000000008efb6b5c4767b09dc9aa6af4eaa89f749522bae2, false)], 8), ((0, 1), 6, 0x3154Cf16ccdb4C6d922629664174b904d80F2C35, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x, false, [(0x3154Cf16ccdb4C6d922629664174b904d80F2C35, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, 0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, false)], 7), ((0, 1), 1, 0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x0900f01000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072, false, [(0x3154Cf16ccdb4C6d922629664174b904d80F2C35, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x3154Cf16ccdb4C6d922629664174b904d80F2C35, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x3154Cf16ccdb4C6d922629664174b904d80F2C35, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x3154Cf16ccdb4C6d922629664174b904d80F2C35, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000103, false), (0x3154Cf16ccdb4C6d922629664174b904d80F2C35, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false), (0x3154Cf16ccdb4C6d922629664174b904d80F2C35, 0x0000000000000000000000000000000000000000000000000000000000000034, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x3154Cf16ccdb4C6d922629664174b904d80F2C35, 0x0000000000000000000000000000000000000000000000000000000000000034, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x00000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072, false), (0x3154Cf16ccdb4C6d922629664174b904d80F2C35, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000103, 0x0000000000000000000000000000000000000000000000000000000000000103, false), (0x3154Cf16ccdb4C6d922629664174b904d80F2C35, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000103, 0x0000000000000000000000000000000000000000000000000000000000000003, false)], 8), ((0, 1), 8, 0x7f1d12fB2911EB095278085f721e644C1f675696, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 8, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 0, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x9623609d000000000000000000000000608d94945a64503e642e6370ec598e519a2c1e530000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000240900f01000000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000, false, [(0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, false), (0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x852e834d8c570de5fb8fa9cd622d033fbcbecfde2022e8baa3b0bb9ee9b55fe6, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 6), ((0, 1), 0, 0x608d94945A64503E642E6370Ec598e519a2C1E53, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x4f1ef2860000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000240900f01000000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000, false, [(0x608d94945A64503E642E6370Ec598e519a2C1E53, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false), (0x608d94945A64503E642E6370Ec598e519a2C1E53, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, true, 0x0000000000000000000000007ae1d3bd877a4c5ca257404ce26be93a02c98013, 0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696, false)], 7), ((0, 1), 1, 0x7f1d12fB2911EB095278085f721e644C1f675696, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x0900f01000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072, false, [(0x608d94945A64503E642E6370Ec598e519a2C1E53, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x608d94945A64503E642E6370Ec598e519a2C1E53, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x608d94945A64503E642E6370Ec598e519a2C1E53, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x608d94945A64503E642E6370Ec598e519a2C1E53, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000103, false), (0x608d94945A64503E642E6370Ec598e519a2C1E53, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false), (0x608d94945A64503E642E6370Ec598e519a2C1E53, 0x0000000000000000000000000000000000000000000000000000000000000033, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x608d94945A64503E642E6370Ec598e519a2C1E53, 0x0000000000000000000000000000000000000000000000000000000000000033, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x00000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072, false), (0x608d94945A64503E642E6370Ec598e519a2C1E53, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000103, 0x0000000000000000000000000000000000000000000000000000000000000103, false), (0x608d94945A64503E642E6370Ec598e519a2C1E53, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000103, 0x0000000000000000000000000000000000000000000000000000000000000003, false)], 8), ((0, 1), 3, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [], 6), ((0, 1), 3, 0x10596fE51861c5D3865568278270B1DF050Ee547, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [(0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000001, false, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000002, false, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000004, false, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000005, false, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000006, false, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000007, false, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000008, false, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000009, false, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000a, false, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000b, false, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000c, false, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, false)], 7), ((0, 1), 8, 0xA643EA8ee60D92f615eC70AF0248c449bBCEcF4d, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 10, 0xA643EA8ee60D92f615eC70AF0248c449bBCEcF4d, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 3, 0x0000000000000000000000000000000000000004, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 1900471143444598896, 1900471143444598896, 0x, 0, 0x608060405234801561001057600080fd5b5060405161091f38038061091f83398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206108ff8339815191525490565b6000805160206108ff833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61080b806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, [], 6), ((0, 1), 4, 0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000a, 0, 0x608060405234801561001057600080fd5b5060405161091f38038061091f83398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206108ff8339815191525490565b6000805160206108ff833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61080b806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61030000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false, [(0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false)], 6), ((0, 1), 8, 0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 8, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 0, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x9623609d00000000000000000000000064ae5250958cdeb83f6b61f913b5ac6ebe8efd4d00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c699800000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c4d66de800000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000, false, [(0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, false), (0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x0370e636e29b848fc286e9f0fa40b41fa24506fc4a2c21367561459be86bf190, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 6), ((0, 1), 0, 0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x4f1ef28600000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c699800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de800000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000, false, [(0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false), (0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998, false)], 7), ((0, 1), 1, 0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0xc4d66de800000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072, false, [(0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000101, false), (0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false), (0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D, 0x0000000000000000000000000000000000000000000000000000000000000004, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D, 0x0000000000000000000000000000000000000000000000000000000000000004, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x00000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072, false), (0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000101, 0x0000000000000000000000000000000000000000000000000000000000000101, false), (0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000101, 0x0000000000000000000000000000000000000000000000000000000000000001, false)], 8), ((0, 1), 3, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [], 6), ((0, 1), 3, 0x10596fE51861c5D3865568278270B1DF050Ee547, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [(0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000001, false, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000002, false, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000004, false, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000005, false, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000006, false, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000007, false, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000008, false, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000009, false, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000a, false, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000b, false, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000c, false, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, false)], 7), ((0, 1), 3, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x30e9012c, false, [], 6), ((0, 1), 3, 0x10596fE51861c5D3865568278270B1DF050Ee547, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, true, 0, 0, 0x, 0, 0x30e9012c, false, [(0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000d, false, 0x000000000000000000000000ce28685eb204186b557133766eca00334eb441e4, 0x000000000000000000000000ce28685eb204186b557133766eca00334eb441e4, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000e, false, 0x00000000000000000000000037e15e4d6dffa9e5e320ee1ec036922e563cb76c, 0x00000000000000000000000037e15e4d6dffa9e5e320ee1ec036922e563cb76c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000f, false, 0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696, 0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000010, false, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000011, false, 0x000000000000000000000000b0eb854fd842e0e564d49d2fe6b2ac25d035523c, 0x000000000000000000000000b0eb854fd842e0e564d49d2fe6b2ac25d035523c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000012, false, 0x000000000000000000000000784d2f03593a42a6e4676a012762f18775ecbbe6, 0x000000000000000000000000784d2f03593a42a6e4676a012762f18775ecbbe6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000013, false, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000014, false, 0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f, 0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000015, false, 0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6, 0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000016, false, 0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, 0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000017, false, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000018, false, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000019, false, 0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998, 0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000001a, false, 0x00000000000000000000000007babe08ee4d07dba236530183b24055535a7011, 0x00000000000000000000000007babe08ee4d07dba236530183b24055535a7011, false)], 7), ((0, 1), 3, 0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xbbdc02db, false, [], 6), ((0, 1), 3, 0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xd6ae3cd5, false, [], 6), ((0, 1), 3, 0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x8d450a95, false, [], 6), ((0, 1), 3, 0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xfa315aa9, false, [], 6), ((0, 1), 3, 0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xec5e6308, false, [], 6), ((0, 1), 3, 0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x6b6716c0, false, [], 6), ((0, 1), 3, 0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xdabd396d, false, [], 6), ((0, 1), 3, 0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x3a768463, false, [], 6), ((0, 1), 3, 0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x3fc8cef3, false, [], 6), ((0, 1), 3, 0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x5c0cba33, false, [], 6), ((0, 1), 3, 0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xa8e4fb90, false, [], 6), ((0, 1), 3, 0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x534db0e2, false, [], 6), ((0, 1), 8, 0x2538DA6A2862914Fd87CE8E88FF133f81c289F80, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 10, 0x2538DA6A2862914Fd87CE8E88FF133f81c289F80, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 3, 0x0000000000000000000000000000000000000004, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 1900471143444598896, 1900471143444598896, 0x, 0, 0x6102006040523480156200001257600080fd5b50604051620065243803806200652483398101604081905262000035916200053c565b82620000446001607e6200064b565b60ff16816040015111156200006c57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000965750604081015160608201516200009390600162000671565b10155b15620000b55760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000dc5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000129573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014f91906200068c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b39190620006ac565b1115620001d35760405163b4e1243360e01b815260040160405180910390fd5b6000620001f882608001516001600160401b03166200048e60201b62000cec1760201c565b6200020e906001600160401b03166002620006c6565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000255573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027b91906200068c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002df9190620006ac565b6200030284608001516001600160401b03166200048e60201b62000cec1760201c565b6001600160401b031662000317919062000671565b905060006200033283836200049160201b6200283e1760201c565b90506001600160401b038111156200035d5760405163235dfb2b60e21b815260040160405180910390fd5b620003808460a001516001600160401b03166200048e60201b62000cec1760201c565b6001600160401b0316816001600160401b03161115620003b35760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003da856000015163ffffffff166200048e60201b62000cec1760201c565b63ffffffff1603620003ff5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015181166101605292015161018052509182166101c052166101e05250620006e8565b90565b600081831015620004a35781620004a5565b825b9392505050565b60405161014081016001600160401b0381118282101715620004de57634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004f957600080fd5b919050565b80516001600160401b0381168114620004f957600080fd5b6001600160a01b03811681146200052c57600080fd5b50565b8051620004f98162000516565b60008060008385036101808112156200055457600080fd5b610140808212156200056557600080fd5b6200056f620004ac565b91506200057c86620004e4565b8252602086015160208301526040860151604083015260608601516060830152620005aa60808701620004fe565b6080830152620005bd60a08701620004fe565b60a0830152620005d060c087016200052f565b60c0830152620005e360e087016200052f565b60e0830152610100620005f88188016200052f565b8184015250610120808701518184015250819450620006198187016200052f565b935050506200062c61016085016200052f565b90509250925092565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168082101562000668576200066862000635565b90039392505050565b6000821982111562000687576200068762000635565b500190565b6000602082840312156200069f57600080fd5b8151620004a58162000516565b600060208284031215620006bf57600080fd5b5051919050565b6000816000190483118215151615620006e357620006e362000635565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051615c61620008c36000396000818161061c01528181611a4a01526123b001526000818161090d01528181611a1801528181611eeb015261237e015260008181610778015281816130ed01528181613158015261318b015260008181610ac5015261277c0152600081816106ee01528181611b4801528181611c8c01528181611d6601528181611df5015281816135fa0152613a890152600081816105a90152818161182601528181611922015281816134f40152613990015260008181610948015281816127fe0152613a600152600081816105460152818161247e0152818161300601526142f7015260008181610b1801528181610f7f0152818161207c015281816120be01528181612f76015281816131bb015261321a015260008181610b4b0152818161262201528181612dbf01528181612ee5015281816131290152818161416e0152818161459b0152818161467a0152818161472d01528181614f5b015261514c015260008181610bf20152818161216a015281816121f001528181612e8801528181612fda01528181614086015261418f01526000818161083a01526142120152615c616000f3fe6080604052600436106103555760003560e01c806370872aa5116101bb578063c0d8bb74116100f7578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b9f578063fa24f74314610bbf578063fa315aa914610be3578063fe2bbeb214610c1657600080fd5b8063dabd396d14610b09578063ec5e630814610b3c578063eff0f59214610b6f57600080fd5b8063cf09e0d0116100d1578063cf09e0d014610a75578063d5d44d8014610a96578063d6ae3cd514610ab6578063d8cc1a3c14610ae957600080fd5b8063c0d8bb74146109b4578063c395e1ca146109e1578063c6f0308c14610a0157600080fd5b80638d450a9511610164578063a8e4fb901161013e578063a8e4fb90146108fe578063bbdc02db14610931578063bcef3b5514610972578063bd8da9561461099457600080fd5b80638d450a951461082b57806399735e3214610809578063a445ece61461085e57600080fd5b80638129fc1c116101955780638129fc1c146107ec5780638980e0cc146107f45780638b85902b1461080957600080fd5b806370872aa5146107af578063786b844b146107c45780637b0f0adc146107d957600080fd5b80633e3ac912116102955780635a5fa2d91161023357806360e274641161020d57806360e27464146107275780636361506d146107475780636b6716c0146107695780636f0344091461079c57600080fd5b80635a5fa2d9146106bf5780635c0cba33146106df578063609d33341461071257600080fd5b8063529d6a8c1161026f578063529d6a8c146105e0578063534db0e21461060d57806354fd4d501461064057806357da950e1461068f57600080fd5b80633e3ac9121461056a5780633fc8cef31461059a578063472777c6146105cd57600080fd5b806325fc2ace1161030257806330dbe570116102dc57806330dbe570146104c3578063378dd48c146104fb57806337b1b229146105155780633a7684631461053757600080fd5b806325fc2ace1461046f5780632810e1d61461048e5780632ad69aeb146104a357600080fd5b8063200d2ed211610333578063200d2ed2146103e7578063222abf4514610415578063250e69bd1461045557600080fd5b8063019351301461035a57806303c2924d1461037c57806319effeb41461039c575b600080fd5b34801561036657600080fd5b5061037a6103753660046154d1565b610c46565b005b34801561038857600080fd5b5061037a61039736600461552c565b610f05565b3480156103a857600080fd5b506000546103c99068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103f357600080fd5b5060005461040890600160801b900460ff1681565b6040516103de9190615585565b34801561042157600080fd5b506104456104303660046155ad565b600c6020526000908152604090205460ff1681565b60405190151581526020016103de565b34801561046157600080fd5b50600a546104459060ff1681565b34801561047b57600080fd5b506008545b6040519081526020016103de565b34801561049a57600080fd5b5061040861148d565b3480156104af57600080fd5b506104806104be36600461552c565b611665565b3480156104cf57600080fd5b506001546104e3906001600160a01b031681565b6040516001600160a01b0390911681526020016103de565b34801561050757600080fd5b50600d546104089060ff1681565b34801561052157600080fd5b503660011981013560f01c90033560601c6104e3565b34801561054357600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561057657600080fd5b50600054610445907201000000000000000000000000000000000000900460ff1681565b3480156105a657600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b61037a6105db3660046155ca565b61169b565b3480156105ec57600080fd5b506104806105fb3660046155ad565b60036020526000908152604090205481565b34801561061957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561064c57600080fd5b5060408051808201909152600581527f312e372e3000000000000000000000000000000000000000000000000000000060208201525b6040516103de9190615661565b34801561069b57600080fd5b506008546009546106aa919082565b604080519283526020830191909152016103de565b3480156106cb57600080fd5b506104806106da366004615674565b6116ad565b3480156106eb57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561071e57600080fd5b506106826116e7565b34801561073357600080fd5b5061037a6107423660046155ad565b6116f5565b34801561075357600080fd5b503660011981013560f01c900360340135610480565b34801561077557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c9565b61037a6107aa36600461569b565b611a0d565b3480156107bb57600080fd5b50600954610480565b3480156107d057600080fd5b5061037a611ab4565b61037a6107e73660046155ca565b611ed3565b61037a611ee0565b34801561080057600080fd5b50600254610480565b34801561081557600080fd5b503660011981013560f01c900360540135610480565b34801561083757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b34801561086a57600080fd5b506108c0610879366004615674565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103de565b34801561090a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561093d57600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103de565b34801561097e57600080fd5b503660011981013560f01c900360140135610480565b3480156109a057600080fd5b506103c96109af366004615674565b611f4c565b3480156109c057600080fd5b506104806109cf3660046155ad565b600b6020526000908152604090205481565b3480156109ed57600080fd5b506104806109fc3660046156dc565b6120e6565b348015610a0d57600080fd5b50610a21610a1c366004615674565b6122a7565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103de565b348015610a8157600080fd5b506000546103c99067ffffffffffffffff1681565b348015610aa257600080fd5b50610480610ab13660046155ad565b61231b565b348015610ac257600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610af557600080fd5b5061037a610b04366004615705565b612373565b348015610b1557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c9565b348015610b4857600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610b7b57600080fd5b50610445610b8a366004615674565b60046020526000908152604090205460ff1681565b348015610bab57600080fd5b5061037a610bba3660046155ca565b612416565b348015610bcb57600080fd5b50610bd46127fc565b6040516103de93929190615791565b348015610bef57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610c2257600080fd5b50610445610c31366004615674565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610c6557610c6561554e565b14610c835760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610cd6576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cef3660011981013560f01c90036014013590565b90565b610d06610d01368690038601866157cc565b612859565b14610d3d576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610d52929190615840565b604051809103902014610d91576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610dda610dd584848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128b592505050565b612922565b90506000610e0182600881518110610df457610df4615850565b6020026020010151612ad8565b9050602081511115610e3f576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e96576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610f2457610f2461554e565b14610f425760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610f5757610f57615850565b906000526020600020906005020190506000610f7284611f4c565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610fdb576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611024576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561104157508515155b156110a457835464010000000090046001600160a01b0316600081156110675781611076565b60018601546001600160a01b03165b90506110828187612b8c565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b03166060830152611128576001600160801b036040820152600181526000869003611128578195505b600086826020015163ffffffff16611140919061587c565b905060008382116111515781611153565b835b602084015190915063ffffffff165b8181101561127357600086828154811061117e5761117e615850565b6000918252602080832090910154808352600690915260409091205490915060ff166111d6576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600282815481106111eb576111eb615850565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156112325750600481015460408701516001600160801b039182169116115b1561125e5760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b5050808061126b90615894565b915050611162565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361148257606083015160008a8152600660205260409020805460ff19166001179055891580156113bf57506000547201000000000000000000000000000000000000900460ff165b1561141a576001546001600160a01b03166113da818a612b8c565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611480565b6114476001600160a01b038216156114325781611441565b60018901546001600160a01b03165b89612b8c565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156114ae576114ae61554e565b146114cc5760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff16611530576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b0316600260008154811061154f5761154f615850565b600091825260209091206005909102015464010000000090046001600160a01b03161461157d576001611580565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b8360028111156116245761162461554e565b0217905560028111156116395761163961554e565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061168157600080fd5b90600052602060002001600091509150505481565b905090565b6116a88383836001611a0d565b505050565b600081815260076020908152604080832060059092528220805482546116de90610100900463ffffffff16826158ae565b95945050505050565b606061169660546020612bce565b6116fd611ab4565b60006002600d5460ff1660028111156117185761171861554e565b0361173c57506001600160a01b0381166000908152600b60205260409020546117ab565b6001600d5460ff1660028111156117555761175561554e565b0361177957506001600160a01b0381166000908152600360205260409020546117ab565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff16611888576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b15801561186c57600080fd5b505af1158015611880573d6000803e3d6000fd5b505050505050565b806000036118c2576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b15801561196857600080fd5b505af115801561197c573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146119cd576040519150601f19603f3d011682016040523d82523d6000602084013e6119d2565b606091505b50509050806116a8576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480611a6c5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b611aa2576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611aae84848484612c02565b50505050565b6002600d5460ff166002811115611acd57611acd61554e565b1480611aef57506001600d5460ff166002811115611aed57611aed61554e565b145b15611af657565b6000600d5460ff166002811115611b0f57611b0f61554e565b14611b46576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ba4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bc891906158c5565b15611bff576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff16600003611c5b576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015611cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cff91906158c5565b905080611d38576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b158015611db257600080fd5b505af1925050508015611dc3575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa158015611e44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6891906158c5565b90508015611e8257600d805460ff19166001179055611e90565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f91611ec79160ff90911690615585565b60405180910390a15050565b6116a88383836000611a0d565b326001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f42576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f4a6135a3565b565b600080600054600160801b900460ff166002811115611f6d57611f6d61554e565b14611f8b5760405163067fe19560e41b815260040160405180910390fd5b600060028381548110611fa057611fa0615850565b600091825260208220600590910201805490925063ffffffff9081161461200657815460028054909163ffffffff16908110611fde57611fde615850565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b600482015460009061203190600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b6120459067ffffffffffffffff16426158ae565b61205b612024846001600160801b031660401c90565b67ffffffffffffffff1661206f919061587c565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff16116120bc57806116de565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612163836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f00000000000000000000000000000000000000000000000000000000000000008111156121c2576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a30060006121dd83836158f8565b9050670de0b6b3a76400006000612214827f000000000000000000000000000000000000000000000000000000000000000061590c565b9050600061223261222d670de0b6b3a76400008661590c565b613b1c565b905060006122408484613d6e565b9050600061224e8383613dbd565b9050600061225b82613deb565b9050600061227a82612275670de0b6b3a76400008f61590c565b613fd3565b905060006122888b83613dbd565b9050612294818d61590c565b9f9e505050505050505050505050505050565b600281815481106122b757600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff1660028111156123365761233661554e565b0361235757506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806123d25750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b612408576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611880868686868686614004565b60008054600160801b900460ff1660028111156124355761243561554e565b146124535760405163067fe19560e41b815260040160405180910390fd5b60008060008061246286614560565b93509350935093506000612478858585856148b9565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124fe919061592b565b9050600189036125cb576001600160a01b0381166352f0f3ad8a8461252f3660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156125a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c59190615948565b50611482565b600289036125ea576001600160a01b0381166352f0f3ad8a848961252f565b60038903612609576001600160a01b0381166352f0f3ad8a848761252f565b6004890361273e5760006126466001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000614958565b600954612653919061587c565b61265e90600161587c565b90503660011981013560f01c900360540135811061268b573660011981013560f01c90036054013561268d565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015612713573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127379190615948565b5050611482565b600589036127ca576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a401612582565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003660011981013560f01c90036014013560606128376116e7565b9050909192565b60008183101561284e5781612850565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001612898949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003612904576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000612932856149ed565b91945092509050600181600181111561294d5761294d61554e565b14612984576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451612990838561587c565b146129c7576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816129de5790505093506000835b8651811015612acc57600080612a516040518060400160405280858c60000151612a3591906158ae565b8152602001858c60200151612a4a919061587c565b90526149ed565b509150915060405180604001604052808383612a6d919061587c565b8152602001848b60200151612a82919061587c565b815250888581518110612a9757612a97615850565b6020908102919091010152612aad60018561587c565b9350612ab9818361587c565b612ac3908461587c565b92505050612a0b565b50845250919392505050565b60606000806000612ae8856149ed565b919450925090506000816001811115612b0357612b0361554e565b14612b3a576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612b44828461587c565b855114612b7d576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116de85602001518484614e8b565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190612bc590849061587c565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b60008054600160801b900460ff166002811115612c2157612c2161554e565b14612c3f5760405163067fe19560e41b815260040160405180910390fd5b600060028481548110612c5457612c54615850565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514612d18576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000612dad826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580612de85750612de57f0000000000000000000000000000000000000000000000000000000000000000600261587c565b81145b8015612df2575084155b15612e29576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015612e4f575086155b15612e86576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115612ee0576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612f0b7f0000000000000000000000000000000000000000000000000000000000000000600161587c565b8103612f1d57612f1d86888588614f20565b34612f27836120e6565b14612f5e576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612f6988611f4c565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603612fd1576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612ffe60017f00000000000000000000000000000000000000000000000000000000000000006158ae565b8303613122577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613062573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613086919061592b565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130e79190615948565b61311b907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615961565b90506131b5565b61314d60017f00000000000000000000000000000000000000000000000000000000000000006158ae565b83036131885761311b7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16600261598d565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b6131e9817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159bd565b67ffffffffffffffff166132048367ffffffffffffffff1690565b67ffffffffffffffff16111561324b57613248817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159bd565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff16156132c0576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c815260200190815260200160002060016002805490506134b791906158ae565b81546001810183556000928352602080842090910191909155338252600b90526040812080543492906134eb90849061587c565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561354d57600080fd5b505af1158015613561573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b60005471010000000000000000000000000000000000900460ff16156135f5576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015613655573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061367991906159e6565b9092509050816136b5576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146136e857639824bdab6000526004601cfd5b803660011981013560f01c90036054013511613746576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b90915291822080549192909161398790849061587c565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156139e957600080fd5b505af11580156139fd573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015613adc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b009190615a0a565b600a805460ff191663ffffffff92909216929092141790555050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213613b7257631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a764000002158202613dab57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b600081600019048311820215613ddb5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d78213613e1957919050565b680755bf798b4a1bf1e58212613e375763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000612850670de0b6b3a764000083613feb86613b1c565b613ff59190615a30565b613fff9190615aec565b613deb565b60008054600160801b900460ff1660028111156140235761402361554e565b146140415760405163067fe19560e41b815260040160405180910390fd5b60006002878154811061405657614056615850565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506140ac7f0000000000000000000000000000000000000000000000000000000000000000600161587c565b614126826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1614614160576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080891561423c576141b37f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006158ae565b6001901b6141c9846001600160801b03166150af565b6001600160801b03166141dc9190615b36565b15614210576142076141f860016001600160801b038716615b4a565b865463ffffffff166000615135565b60030154614232565b7f00000000000000000000000000000000000000000000000000000000000000005b915084905061425d565b6003850154915061425a6141f86001600160801b0386166001615b6a565b90505b600882901b60088a8a604051614274929190615840565b6040518091039020901b146142b5576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006142c08c6151fe565b905060006142cf836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced329061433c908f908f908f908f908a90600401615bd5565b6020604051808303816000875af115801561435b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061437f9190615948565b600485015491149150600090600290614408906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b614482896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61448c9190615c0f565b6144969190615c32565b60ff1615905081151581036144d7576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b031615614521576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b600080600080600085905060006002828154811061458057614580615850565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614635906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161466f576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090614714906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561478957825463ffffffff166147537f0000000000000000000000000000000000000000000000000000000000000000600161587c565b830361475d578391505b6002818154811061477057614770615850565b9060005260206000209060050201935080945050614673565b600481810154908401546001600160801b0391821691166000816001600160801b03166147ce6147c2856001600160801b031660011c90565b6001600160801b031690565b6001600160801b031614905080156148675760006147f4836001600160801b03166150af565b6001600160801b0316111561484457600061482461481c60016001600160801b038616615b4a565b896001615135565b6003810154600490910154909c506001600160801b03169a5061484a9050565b6008549a505b600386015460048701549099506001600160801b031697506148ab565b600061488061481c6001600160801b0385166001615b6a565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b038416156149145760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a001604051602081830303815290604052805190602001206116de565b82826040516020016149399291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b6000806149cc847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614a30576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614a55576000600160009450945094505050614e84565b60b78111614b6b576000614a6a6080836158ae565b905080876000015111614aa9576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614b2157507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614b58576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614e84915050565b60bf8111614cc9576000614b8060b7836158ae565b905080876000015111614bbf576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614c21576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614c69576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614c73818461587c565b895111614cac576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614cb783600161587c565b9750955060009450614e849350505050565b60f78111614d2e576000614cde60c0836158ae565b905080876000015111614d1d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614e84915050565b6000614d3b60f7836158ae565b905080876000015111614d7a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614ddc576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614e24576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e2e818461587c565b895111614e67576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e7283600161587c565b9750955060019450614e849350505050565b9193909250565b60608167ffffffffffffffff811115614ea657614ea66157b6565b6040519080825280601f01601f191660200182016040528015614ed0576020820181803683370190505b5090508115614f19576000614ee5848661587c565b90506020820160005b84811015614f06578281015182820152602001614eee565b84811115614f15576000858301525b5050505b9392505050565b6000614f366001600160801b0384166001615b6a565b90506000614f4682866001615135565b9050600086901a83806150105750614f7f60027f0000000000000000000000000000000000000000000000000000000000000000615b36565b6004830154600290615001906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61500b9190615c32565b60ff16145b156150685760ff81166001148061502a575060ff81166002145b615063576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161373d565b6150a6565b60ff8116156150a6576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161373d565b50505050505050565b600080615123837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b60008082615175576151706001600160801b0386167f000000000000000000000000000000000000000000000000000000000000000061522d565b615187565b615187856001600160801b031661536c565b90506002848154811061519c5761519c615850565b906000526020600020906005020191505b60048201546001600160801b038281169116146151f657815460028054909163ffffffff169081106151e1576151e1615850565b906000526020600020906005020191506151ad565b509392505050565b600080600080600061520f86614560565b9350935093509350615223848484846148b9565b9695505050505050565b6000816152aa846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116152c05763b34b5c226000526004601cfd5b6152c98361536c565b905081615346826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffff, false, [], 6), ((0, 1), 8, 0xB8d4EA750956C54B394F4A9d270CaF2EDA627013, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 10, 0xB8d4EA750956C54B394F4A9d270CaF2EDA627013, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 3, 0x0000000000000000000000000000000000000004, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 1900471143444598896, 1900471143444598896, 0x, 0, 0xffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116128535761285061535c83600161587c565b6001600160801b038316906153f8565b600081196001830116816153e7827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061546c847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261549a57600080fd5b50813567ffffffffffffffff8111156154b257600080fd5b6020830191508360208285010111156154ca57600080fd5b9250929050565b600080600083850360a08112156154e757600080fd5b60808112156154f557600080fd5b50839250608084013567ffffffffffffffff81111561551357600080fd5b61551f86828701615488565b9497909650939450505050565b6000806040838503121561553f57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061558257634e487b7160e01b600052602160045260246000fd5b50565b6020810161559283615564565b91905290565b6001600160a01b038116811461558257600080fd5b6000602082840312156155bf57600080fd5b8135614f1981615598565b6000806000606084860312156155df57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561561c57602081850181015186830182015201615600565b8181111561562e576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061285060208301846155f6565b60006020828403121561568657600080fd5b5035919050565b801515811461558257600080fd5b600080600080608085870312156156b157600080fd5b84359350602085013592506040850135915060608501356156d18161568d565b939692955090935050565b6000602082840312156156ee57600080fd5b81356001600160801b0381168114614f1957600080fd5b6000806000806000806080878903121561571e57600080fd5b8635955060208701356157308161568d565b9450604087013567ffffffffffffffff8082111561574d57600080fd5b6157598a838b01615488565b9096509450606089013591508082111561577257600080fd5b5061577f89828a01615488565b979a9699509497509295939492505050565b63ffffffff841681528260208201526060604082015260006116de60608301846155f6565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156157de57600080fd5b6040516080810181811067ffffffffffffffff8211171561580f57634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561588f5761588f615866565b500190565b600060001982036158a7576158a7615866565b5060010190565b6000828210156158c0576158c0615866565b500390565b6000602082840312156158d757600080fd5b8151614f198161568d565b634e487b7160e01b600052601260045260246000fd5b600082615907576159076158e2565b500490565b600081600019048311821515161561592657615926615866565b500290565b60006020828403121561593d57600080fd5b8151614f1981615598565b60006020828403121561595a57600080fd5b5051919050565b600067ffffffffffffffff80831681851680830382111561598457615984615866565b01949350505050565b600067ffffffffffffffff808316818516818304811182151516156159b4576159b4615866565b02949350505050565b600067ffffffffffffffff838116908316818110156159de576159de615866565b039392505050565b600080604083850312156159f957600080fd5b505080516020909101519092909150565b600060208284031215615a1c57600080fd5b815163ffffffff81168114614f1957600080fd5b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615a7157615a71615866565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615aac57615aac615866565b60008712925087820587128484161615615ac857615ac8615866565b87850587128184161615615ade57615ade615866565b505050929093029392505050565b600082615afb57615afb6158e2565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615b3157615b31615866565b500590565b600082615b4557615b456158e2565b500690565b60006001600160801b03838116908316818110156159de576159de615866565b60006001600160801b0380831681851680830382111561598457615984615866565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615be9606083018789615b8c565b8281036020840152615bfc818688615b8c565b9150508260408301529695505050505050565b600060ff821660ff841680821015615c2957615c29615866565b90039392505050565b600060ff831680615c4557615c456158e2565b8060ff8416069150509291505056fea164736f6c634300080f000a, false, [], 6), ((0, 1), 4, 0xe3803582fd5BCdc62720D2b80f35e8dDeA94e2ec, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x6080604052600436106103555760003560e01c806370872aa5116101bb578063c0d8bb74116100f7578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b9f578063fa24f74314610bbf578063fa315aa914610be3578063fe2bbeb214610c1657600080fd5b8063dabd396d14610b09578063ec5e630814610b3c578063eff0f59214610b6f57600080fd5b8063cf09e0d0116100d1578063cf09e0d014610a75578063d5d44d8014610a96578063d6ae3cd514610ab6578063d8cc1a3c14610ae957600080fd5b8063c0d8bb74146109b4578063c395e1ca146109e1578063c6f0308c14610a0157600080fd5b80638d450a9511610164578063a8e4fb901161013e578063a8e4fb90146108fe578063bbdc02db14610931578063bcef3b5514610972578063bd8da9561461099457600080fd5b80638d450a951461082b57806399735e3214610809578063a445ece61461085e57600080fd5b80638129fc1c116101955780638129fc1c146107ec5780638980e0cc146107f45780638b85902b1461080957600080fd5b806370872aa5146107af578063786b844b146107c45780637b0f0adc146107d957600080fd5b80633e3ac912116102955780635a5fa2d91161023357806360e274641161020d57806360e27464146107275780636361506d146107475780636b6716c0146107695780636f0344091461079c57600080fd5b80635a5fa2d9146106bf5780635c0cba33146106df578063609d33341461071257600080fd5b8063529d6a8c1161026f578063529d6a8c146105e0578063534db0e21461060d57806354fd4d501461064057806357da950e1461068f57600080fd5b80633e3ac9121461056a5780633fc8cef31461059a578063472777c6146105cd57600080fd5b806325fc2ace1161030257806330dbe570116102dc57806330dbe570146104c3578063378dd48c146104fb57806337b1b229146105155780633a7684631461053757600080fd5b806325fc2ace1461046f5780632810e1d61461048e5780632ad69aeb146104a357600080fd5b8063200d2ed211610333578063200d2ed2146103e7578063222abf4514610415578063250e69bd1461045557600080fd5b8063019351301461035a57806303c2924d1461037c57806319effeb41461039c575b600080fd5b34801561036657600080fd5b5061037a6103753660046154d1565b610c46565b005b34801561038857600080fd5b5061037a61039736600461552c565b610f05565b3480156103a857600080fd5b506000546103c99068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103f357600080fd5b5060005461040890600160801b900460ff1681565b6040516103de9190615585565b34801561042157600080fd5b506104456104303660046155ad565b600c6020526000908152604090205460ff1681565b60405190151581526020016103de565b34801561046157600080fd5b50600a546104459060ff1681565b34801561047b57600080fd5b506008545b6040519081526020016103de565b34801561049a57600080fd5b5061040861148d565b3480156104af57600080fd5b506104806104be36600461552c565b611665565b3480156104cf57600080fd5b506001546104e3906001600160a01b031681565b6040516001600160a01b0390911681526020016103de565b34801561050757600080fd5b50600d546104089060ff1681565b34801561052157600080fd5b503660011981013560f01c90033560601c6104e3565b34801561054357600080fd5b507f00000000000000000000000007babe08ee4d07dba236530183b24055535a70116104e3565b34801561057657600080fd5b50600054610445907201000000000000000000000000000000000000900460ff1681565b3480156105a657600080fd5b507f00000000000000000000000064ae5250958cdeb83f6b61f913b5ac6ebe8efd4d6104e3565b61037a6105db3660046155ca565b61169b565b3480156105ec57600080fd5b506104806105fb3660046155ad565b60036020526000908152604090205481565b34801561061957600080fd5b507f0000000000000000000000008ca1e12404d16373aef756179b185f27b2994f3a6104e3565b34801561064c57600080fd5b5060408051808201909152600581527f312e372e3000000000000000000000000000000000000000000000000000000060208201525b6040516103de9190615661565b34801561069b57600080fd5b506008546009546106aa919082565b604080519283526020830191909152016103de565b3480156106cb57600080fd5b506104806106da366004615674565b6116ad565b3480156106eb57600080fd5b507f000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e726104e3565b34801561071e57600080fd5b506106826116e7565b34801561073357600080fd5b5061037a6107423660046155ad565b6116f5565b34801561075357600080fd5b503660011981013560f01c900360340135610480565b34801561077557600080fd5b507f0000000000000000000000000000000000000000000000000000000000002a306103c9565b61037a6107aa36600461569b565b611a0d565b3480156107bb57600080fd5b50600954610480565b3480156107d057600080fd5b5061037a611ab4565b61037a6107e73660046155ca565b611ed3565b61037a611ee0565b34801561080057600080fd5b50600254610480565b34801561081557600080fd5b503660011981013560f01c900360540135610480565b34801561083757600080fd5b507f03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc8610480565b34801561086a57600080fd5b506108c0610879366004615674565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103de565b34801561090a57600080fd5b507f000000000000000000000000642229f238fb9de03374be34b0ed8d9de80752c56104e3565b34801561093d57600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000011681526020016103de565b34801561097e57600080fd5b503660011981013560f01c900360140135610480565b3480156109a057600080fd5b506103c96109af366004615674565b611f4c565b3480156109c057600080fd5b506104806109cf3660046155ad565b600b6020526000908152604090205481565b3480156109ed57600080fd5b506104806109fc3660046156dc565b6120e6565b348015610a0d57600080fd5b50610a21610a1c366004615674565b6122a7565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103de565b348015610a8157600080fd5b506000546103c99067ffffffffffffffff1681565b348015610aa257600080fd5b50610480610ab13660046155ad565b61231b565b348015610ac257600080fd5b507f0000000000000000000000000000000000000000000000000000000000002105610480565b348015610af557600080fd5b5061037a610b04366004615705565b612373565b348015610b1557600080fd5b507f0000000000000000000000000000000000000000000000000000000000049d406103c9565b348015610b4857600080fd5b507f000000000000000000000000000000000000000000000000000000000000001e610480565b348015610b7b57600080fd5b50610445610b8a366004615674565b60046020526000908152604090205460ff1681565b348015610bab57600080fd5b5061037a610bba3660046155ca565b612416565b348015610bcb57600080fd5b50610bd46127fc565b6040516103de93929190615791565b348015610bef57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000049610480565b348015610c2257600080fd5b50610445610c31366004615674565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610c6557610c6561554e565b14610c835760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610cd6576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cef3660011981013560f01c90036014013590565b90565b610d06610d01368690038601866157cc565b612859565b14610d3d576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610d52929190615840565b604051809103902014610d91576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610dda610dd584848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128b592505050565b612922565b90506000610e0182600881518110610df457610df4615850565b6020026020010151612ad8565b9050602081511115610e3f576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e96576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610f2457610f2461554e565b14610f425760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610f5757610f57615850565b906000526020600020906005020190506000610f7284611f4c565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000049d4081169082161015610fdb576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611024576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561104157508515155b156110a457835464010000000090046001600160a01b0316600081156110675781611076565b60018601546001600160a01b03165b90506110828187612b8c565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b03166060830152611128576001600160801b036040820152600181526000869003611128578195505b600086826020015163ffffffff16611140919061587c565b905060008382116111515781611153565b835b602084015190915063ffffffff165b8181101561127357600086828154811061117e5761117e615850565b6000918252602080832090910154808352600690915260409091205490915060ff166111d6576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600282815481106111eb576111eb615850565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156112325750600481015460408701516001600160801b039182169116115b1561125e5760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b5050808061126b90615894565b915050611162565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361148257606083015160008a8152600660205260409020805460ff19166001179055891580156113bf57506000547201000000000000000000000000000000000000900460ff165b1561141a576001546001600160a01b03166113da818a612b8c565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611480565b6114476001600160a01b038216156114325781611441565b60018901546001600160a01b03165b89612b8c565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156114ae576114ae61554e565b146114cc5760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff16611530576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b0316600260008154811061154f5761154f615850565b600091825260209091206005909102015464010000000090046001600160a01b03161461157d576001611580565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b8360028111156116245761162461554e565b0217905560028111156116395761163961554e565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061168157600080fd5b90600052602060002001600091509150505481565b905090565b6116a88383836001611a0d565b505050565b600081815260076020908152604080832060059092528220805482546116de90610100900463ffffffff16826158ae565b95945050505050565b606061169660546020612bce565b6116fd611ab4565b60006002600d5460ff1660028111156117185761171861554e565b0361173c57506001600160a01b0381166000908152600b60205260409020546117ab565b6001600d5460ff1660028111156117555761175561554e565b0361177957506001600160a01b0381166000908152600360205260409020546117ab565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff16611888576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000064ae5250958cdeb83f6b61f913b5ac6ebe8efd4d90911690637eee288d90604401600060405180830381600087803b15801561186c57600080fd5b505af1158015611880573d6000803e3d6000fd5b505050505050565b806000036118c2576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000064ae5250958cdeb83f6b61f913b5ac6ebe8efd4d9091169063f3fef3a390604401600060405180830381600087803b15801561196857600080fd5b505af115801561197c573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146119cd576040519150601f19603f3d011682016040523d82523d6000602084013e6119d2565b606091505b50509050806116a8576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336001600160a01b037f000000000000000000000000642229f238fb9de03374be34b0ed8d9de80752c5161480611a6c5750336001600160a01b037f0000000000000000000000008ca1e12404d16373aef756179b185f27b2994f3a16145b611aa2576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611aae84848484612c02565b50505050565b6002600d5460ff166002811115611acd57611acd61554e565b1480611aef57506001600d5460ff166002811115611aed57611aed61554e565b145b15611af657565b6000600d5460ff166002811115611b0f57611b0f61554e565b14611b46576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e726001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ba4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bc891906158c5565b15611bff576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff16600003611c5b576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e726001600160a01b031690630314d2b390602401602060405180830381865afa158015611cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cff91906158c5565b905080611d38576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e726001600160a01b0316906317cf21a990602401600060405180830381600087803b158015611db257600080fd5b505af1925050508015611dc3575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e726001600160a01b03169063496b9c1690602401602060405180830381865afa158015611e44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6891906158c5565b90508015611e8257600d805460ff19166001179055611e90565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f91611ec79160ff90911690615585565b60405180910390a15050565b6116a88383836000611a0d565b326001600160a01b037f000000000000000000000000642229f238fb9de03374be34b0ed8d9de80752c51614611f42576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f4a6135a3565b565b600080600054600160801b900460ff166002811115611f6d57611f6d61554e565b14611f8b5760405163067fe19560e41b815260040160405180910390fd5b600060028381548110611fa057611fa0615850565b600091825260208220600590910201805490925063ffffffff9081161461200657815460028054909163ffffffff16908110611fde57611fde615850565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b600482015460009061203190600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b6120459067ffffffffffffffff16426158ae565b61205b612024846001600160801b031660401c90565b67ffffffffffffffff1661206f919061587c565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000049d401667ffffffffffffffff168167ffffffffffffffff16116120bc57806116de565b7f0000000000000000000000000000000000000000000000000000000000049d4095945050505050565b600080612163836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f00000000000000000000000000000000000000000000000000000000000000498111156121c2576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a30060006121dd83836158f8565b9050670de0b6b3a76400006000612214827f000000000000000000000000000000000000000000000000000000000000004961590c565b9050600061223261222d670de0b6b3a76400008661590c565b613b1c565b905060006122408484613d6e565b9050600061224e8383613dbd565b9050600061225b82613deb565b9050600061227a82612275670de0b6b3a76400008f61590c565b613fd3565b905060006122888b83613dbd565b9050612294818d61590c565b9f9e505050505050505050505050505050565b600281815481106122b757600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff1660028111156123365761233661554e565b0361235757506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b336001600160a01b037f000000000000000000000000642229f238fb9de03374be34b0ed8d9de80752c51614806123d25750336001600160a01b037f0000000000000000000000008ca1e12404d16373aef756179b185f27b2994f3a16145b612408576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611880868686868686614004565b60008054600160801b900460ff1660028111156124355761243561554e565b146124535760405163067fe19560e41b815260040160405180910390fd5b60008060008061246286614560565b93509350935093506000612478858585856148b9565b905060007f00000000000000000000000007babe08ee4d07dba236530183b24055535a70116001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124fe919061592b565b9050600189036125cb576001600160a01b0381166352f0f3ad8a8461252f3660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156125a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c59190615948565b50611482565b600289036125ea576001600160a01b0381166352f0f3ad8a848961252f565b60038903612609576001600160a01b0381166352f0f3ad8a848761252f565b6004890361273e5760006126466001600160801b0385167f000000000000000000000000000000000000000000000000000000000000001e614958565b600954612653919061587c565b61265e90600161587c565b90503660011981013560f01c900360540135811061268b573660011981013560f01c90036054013561268d565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015612713573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127379190615948565b5050611482565b600589036127ca576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000210560c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a401612582565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000013660011981013560f01c90036014013560606128376116e7565b9050909192565b60008183101561284e5781612850565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001612898949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003612904576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000612932856149ed565b91945092509050600181600181111561294d5761294d61554e565b14612984576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451612990838561587c565b146129c7576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816129de5790505093506000835b8651811015612acc57600080612a516040518060400160405280858c60000151612a3591906158ae565b8152602001858c60200151612a4a919061587c565b90526149ed565b509150915060405180604001604052808383612a6d919061587c565b8152602001848b60200151612a82919061587c565b815250888581518110612a9757612a97615850565b6020908102919091010152612aad60018561587c565b9350612ab9818361587c565b612ac3908461587c565b92505050612a0b565b50845250919392505050565b60606000806000612ae8856149ed565b919450925090506000816001811115612b0357612b0361554e565b14612b3a576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612b44828461587c565b855114612b7d576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116de85602001518484614e8b565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190612bc590849061587c565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b60008054600160801b900460ff166002811115612c2157612c2161554e565b14612c3f5760405163067fe19560e41b815260040160405180910390fd5b600060028481548110612c5457612c54615850565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514612d18576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000612dad826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580612de85750612de57f000000000000000000000000000000000000000000000000000000000000001e600261587c565b81145b8015612df2575084155b15612e29576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015612e4f575086155b15612e86576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000049811115612ee0576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612f0b7f000000000000000000000000000000000000000000000000000000000000001e600161587c565b8103612f1d57612f1d86888588614f20565b34612f27836120e6565b14612f5e576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612f6988611f4c565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000049d40811690821603612fd1576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612ffe60017f00000000000000000000000000000000000000000000000000000000000000496158ae565b8303613122577f00000000000000000000000007babe08ee4d07dba236530183b24055535a70116001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613062573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613086919061592b565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130e79190615948565b61311b907f0000000000000000000000000000000000000000000000000000000000002a3067ffffffffffffffff16615961565b90506131b5565b61314d60017f000000000000000000000000000000000000000000000000000000000000001e6158ae565b83036131885761311b7f0000000000000000000000000000000000000000000000000000000000002a3067ffffffffffffffff16600261598d565b507f0000000000000000000000000000000000000000000000000000000000002a3067ffffffffffffffff165b6131e9817f0000000000000000000000000000000000000000000000000000000000049d4067ffffffffffffffff166159bd565b67ffffffffffffffff166132048367ffffffffffffffff1690565b67ffffffffffffffff16111561324b57613248817f0000000000000000000000000000000000000000000000000000000000049d4067ffffffffffffffff166159bd565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff16156132c0576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c815260200190815260200160002060016002805490506134b791906158ae565b81546001810183556000928352602080842090910191909155338252600b90526040812080543492906134eb90849061587c565b925050819055507f00000000000000000000000064ae5250958cdeb83f6b61f913b5ac6ebe8efd4d6001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561354d57600080fd5b505af1158015613561573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b60005471010000000000000000000000000000000000900460ff16156135f5576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e726001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015613655573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061367991906159e6565b9092509050816136b5576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146136e857639824bdab6000526004601cfd5b803660011981013560f01c90036054013511613746576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b90915291822080549192909161398790849061587c565b925050819055507f00000000000000000000000064ae5250958cdeb83f6b61f913b5ac6ebe8efd4d6001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156139e957600080fd5b505af11580156139fd573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000163ffffffff1692507f000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e726001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015613adc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b009190615a0a565b600a805460ff191663ffffffff92909216929092141790555050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213613b7257631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a764000002158202613dab57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b600081600019048311820215613ddb5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d78213613e1957919050565b680755bf798b4a1bf1e58212613e375763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000612850670de0b6b3a764000083613feb86613b1c565b613ff59190615a30565b613fff9190615aec565b613deb565b60008054600160801b900460ff1660028111156140235761402361554e565b146140415760405163067fe19560e41b815260040160405180910390fd5b60006002878154811061405657614056615850565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506140ac7f0000000000000000000000000000000000000000000000000000000000000049600161587c565b614126826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1614614160576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080891561423c576141b37f000000000000000000000000000000000000000000000000000000000000001e7f00000000000000000000000000000000000000000000000000000000000000496158ae565b6001901b6141c9846001600160801b03166150af565b6001600160801b03166141dc9190615b36565b15614210576142076141f860016001600160801b038716615b4a565b865463ffffffff166000615135565b60030154614232565b7f03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc85b915084905061425d565b6003850154915061425a6141f86001600160801b0386166001615b6a565b90505b600882901b60088a8a604051614274929190615840565b6040518091039020901b146142b5576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006142c08c6151fe565b905060006142cf836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000007babe08ee4d07dba236530183b24055535a70116001600160a01b03169063e14ced329061433c908f908f908f908f908a90600401615bd5565b6020604051808303816000875af115801561435b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061437f9190615948565b600485015491149150600090600290614408906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b614482896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61448c9190615c0f565b6144969190615c32565b60ff1615905081151581036144d7576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b031615614521576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b600080600080600085905060006002828154811061458057614580615850565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000001e90614635906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161466f576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000001e90614714906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561478957825463ffffffff166147537f000000000000000000000000000000000000000000000000000000000000001e600161587c565b830361475d578391505b6002818154811061477057614770615850565b9060005260206000209060050201935080945050614673565b600481810154908401546001600160801b0391821691166000816001600160801b03166147ce6147c2856001600160801b031660011c90565b6001600160801b031690565b6001600160801b031614905080156148675760006147f4836001600160801b03166150af565b6001600160801b0316111561484457600061482461481c60016001600160801b038616615b4a565b896001615135565b6003810154600490910154909c506001600160801b03169a5061484a9050565b6008549a505b600386015460048701549099506001600160801b031697506148ab565b600061488061481c6001600160801b0385166001615b6a565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b038416156149145760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a001604051602081830303815290604052805190602001206116de565b82826040516020016149399291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b6000806149cc847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614a30576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614a55576000600160009450945094505050614e84565b60b78111614b6b576000614a6a6080836158ae565b905080876000015111614aa9576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614b2157507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614b58576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614e84915050565b60bf8111614cc9576000614b8060b7836158ae565b905080876000015111614bbf576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614c21576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614c69576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614c73818461587c565b895111614cac576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614cb783600161587c565b9750955060009450614e849350505050565b60f78111614d2e576000614cde60c0836158ae565b905080876000015111614d1d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614e84915050565b6000614d3b60f7836158ae565b905080876000015111614d7a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614ddc576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614e24576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e2e818461587c565b895111614e67576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e7283600161587c565b9750955060019450614e849350505050565b9193909250565b60608167ffffffffffffffff811115614ea657614ea66157b6565b6040519080825280601f01601f191660200182016040528015614ed0576020820181803683370190505b5090508115614f19576000614ee5848661587c565b90506020820160005b84811015614f06578281015182820152602001614eee565b84811115614f15576000858301525b5050505b9392505050565b6000614f366001600160801b0384166001615b6a565b90506000614f4682866001615135565b9050600086901a83806150105750614f7f60027f000000000000000000000000000000000000000000000000000000000000001e615b36565b6004830154600290615001906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61500b9190615c32565b60ff16145b156150685760ff81166001148061502a575060ff81166002145b615063576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161373d565b6150a6565b60ff8116156150a6576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161373d565b50505050505050565b600080615123837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b60008082615175576151706001600160801b0386167f000000000000000000000000000000000000000000000000000000000000001e61522d565b615187565b615187856001600160801b031661536c565b90506002848154811061519c5761519c615850565b906000526020600020906005020191505b60048201546001600160801b038281169116146151f657815460028054909163ffffffff169081106151e1576151e1615850565b906000526020600020906005020191506151ad565b509392505050565b600080600080600061520f86614560565b9350935093509350615223848484846148b9565b9695505050505050565b6000816152aa846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116152c05763b34b5c226000526004601cfd5b6152c98361536c565b905081615346826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116128535761285061535c83600161587c565b6001600160801b038316906153f8565b600081196001830116816153e7827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061546c847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261549a57600080fd5b50813567ffffffffffffffff8111156154b257600080fd5b6020830191508360208285010111156154ca57600080fd5b9250929050565b600080600083850360a08112156154e757600080fd5b60808112156154f557600080fd5b50839250608084013567ffffffffffffffff81111561551357600080fd5b61551f86828701615488565b9497909650939450505050565b6000806040838503121561553f57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061558257634e487b7160e01b600052602160045260246000fd5b50565b6020810161559283615564565b91905290565b6001600160a01b038116811461558257600080fd5b6000602082840312156155bf57600080fd5b8135614f1981615598565b6000806000606084860312156155df57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561561c57602081850181015186830182015201615600565b8181111561562e576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061285060208301846155f6565b60006020828403121561568657600080fd5b5035919050565b801515811461558257600080fd5b600080600080608085870312156156b157600080fd5b84359350602085013592506040850135915060608501356156d18161568d565b939692955090935050565b6000602082840312156156ee57600080fd5b81356001600160801b0381168114614f1957600080fd5b6000806000806000806080878903121561571e57600080fd5b8635955060208701356157308161568d565b9450604087013567ffffffffffffffff8082111561574d57600080fd5b6157598a838b01615488565b9096509450606089013591508082111561577257600080fd5b5061577f89828a01615488565b979a9699509497509295939492505050565b63ffffffff841681528260208201526060604082015260006116de60608301846155f6565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156157de57600080fd5b6040516080810181811067ffffffffffffffff8211171561580f57634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561588f5761588f615866565b500190565b600060001982036158a7576158a7615866565b5060010190565b6000828210156158c0576158c0615866565b500390565b6000602082840312156158d757600080fd5b8151614f198161568d565b634e487b7160e01b600052601260045260246000fd5b600082615907576159076158e2565b500490565b600081600019048311821515161561592657615926615866565b500290565b60006020828403121561593d57600080fd5b8151614f1981615598565b60006020828403121561595a57600080fd5b5051919050565b600067ffffffffffffffff80831681851680830382111561598457615984615866565b01949350505050565b600067ffffffffffffffff808316818516818304811182151516156159b4576159b4615866565b02949350505050565b600067ffffffffffffffff838116908316818110156159de576159de615866565b039392505050565b600080604083850312156159f957600080fd5b505080516020909101519092909150565b600060208284031215615a1c57600080fd5b815163ffffffff81168114614f1957600080fd5b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615a7157615a71615866565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615aac57615aac615866565b60008712925087820587128484161615615ac857615ac8615866565b87850587128184161615615ade57615ade615866565b505050929093029392505050565b600082615afb57615afb6158e2565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615b3157615b31615866565b500590565b600082615b4557615b456158e2565b500690565b60006001600160801b03838116908316818110156159de576159de615866565b60006001600160801b0380831681851680830382111561598457615984615866565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615be9606083018789615b8c565b8281036020840152615bfc818688615b8c565b9150508260408301529695505050505050565b600060ff821660ff841680821015615c2957615c29615866565b90039392505050565b600060ff831680615c4557615c456158e2565b8060ff8416069150509291505056fea164736f6c634300080f000a, 0, 0x6102006040523480156200001257600080fd5b50604051620065243803806200652483398101604081905262000035916200053c565b82620000446001607e6200064b565b60ff16816040015111156200006c57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000965750604081015160608201516200009390600162000671565b10155b15620000b55760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000dc5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000129573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014f91906200068c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b39190620006ac565b1115620001d35760405163b4e1243360e01b815260040160405180910390fd5b6000620001f882608001516001600160401b03166200048e60201b62000cec1760201c565b6200020e906001600160401b03166002620006c6565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000255573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027b91906200068c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002df9190620006ac565b6200030284608001516001600160401b03166200048e60201b62000cec1760201c565b6001600160401b031662000317919062000671565b905060006200033283836200049160201b6200283e1760201c565b90506001600160401b038111156200035d5760405163235dfb2b60e21b815260040160405180910390fd5b620003808460a001516001600160401b03166200048e60201b62000cec1760201c565b6001600160401b0316816001600160401b03161115620003b35760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003da856000015163ffffffff166200048e60201b62000cec1760201c565b63ffffffff1603620003ff5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015181166101605292015161018052509182166101c052166101e05250620006e8565b90565b600081831015620004a35781620004a5565b825b9392505050565b60405161014081016001600160401b0381118282101715620004de57634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004f957600080fd5b919050565b80516001600160401b0381168114620004f957600080fd5b6001600160a01b03811681146200052c57600080fd5b50565b8051620004f98162000516565b60008060008385036101808112156200055457600080fd5b610140808212156200056557600080fd5b6200056f620004ac565b91506200057c86620004e4565b8252602086015160208301526040860151604083015260608601516060830152620005aa60808701620004fe565b6080830152620005bd60a08701620004fe565b60a0830152620005d060c087016200052f565b60c0830152620005e360e087016200052f565b60e0830152610100620005f88188016200052f565b8184015250610120808701518184015250819450620006198187016200052f565b935050506200062c61016085016200052f565b90509250925092565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168082101562000668576200066862000635565b90039392505050565b6000821982111562000687576200068762000635565b500190565b6000602082840312156200069f57600080fd5b8151620004a58162000516565b600060208284031215620006bf57600080fd5b5051919050565b6000816000190483118215151615620006e357620006e362000635565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051615c61620008c36000396000818161061c01528181611a4a01526123b001526000818161090d01528181611a1801528181611eeb015261237e015260008181610778015281816130ed01528181613158015261318b015260008181610ac5015261277c0152600081816106ee01528181611b4801528181611c8c01528181611d6601528181611df5015281816135fa0152613a890152600081816105a90152818161182601528181611922015281816134f40152613990015260008181610948015281816127fe0152613a600152600081816105460152818161247e0152818161300601526142f7015260008181610b1801528181610f7f0152818161207c015281816120be01528181612f76015281816131bb015261321a015260008181610b4b0152818161262201528181612dbf01528181612ee5015281816131290152818161416e0152818161459b0152818161467a0152818161472d01528181614f5b015261514c015260008181610bf20152818161216a015281816121f001528181612e8801528181612fda01528181614086015261418f01526000818161083a01526142120152615c616000f3fe6080604052600436106103555760003560e01c806370872aa5116101bb578063c0d8bb74116100f7578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b9f578063fa24f74314610bbf578063fa315aa914610be3578063fe2bbeb214610c1657600080fd5b8063dabd396d14610b09578063ec5e630814610b3c578063eff0f59214610b6f57600080fd5b8063cf09e0d0116100d1578063cf09e0d014610a75578063d5d44d8014610a96578063d6ae3cd514610ab6578063d8cc1a3c14610ae957600080fd5b8063c0d8bb74146109b4578063c395e1ca146109e1578063c6f0308c14610a0157600080fd5b80638d450a9511610164578063a8e4fb901161013e578063a8e4fb90146108fe578063bbdc02db14610931578063bcef3b5514610972578063bd8da9561461099457600080fd5b80638d450a951461082b57806399735e3214610809578063a445ece61461085e57600080fd5b80638129fc1c116101955780638129fc1c146107ec5780638980e0cc146107f45780638b85902b1461080957600080fd5b806370872aa5146107af578063786b844b146107c45780637b0f0adc146107d957600080fd5b80633e3ac912116102955780635a5fa2d91161023357806360e274641161020d57806360e27464146107275780636361506d146107475780636b6716c0146107695780636f0344091461079c57600080fd5b80635a5fa2d9146106bf5780635c0cba33146106df578063609d33341461071257600080fd5b8063529d6a8c1161026f578063529d6a8c146105e0578063534db0e21461060d57806354fd4d501461064057806357da950e1461068f57600080fd5b80633e3ac9121461056a5780633fc8cef31461059a578063472777c6146105cd57600080fd5b806325fc2ace1161030257806330dbe570116102dc57806330dbe570146104c3578063378dd48c146104fb57806337b1b229146105155780633a7684631461053757600080fd5b806325fc2ace1461046f5780632810e1d61461048e5780632ad69aeb146104a357600080fd5b8063200d2ed211610333578063200d2ed2146103e7578063222abf4514610415578063250e69bd1461045557600080fd5b8063019351301461035a57806303c2924d1461037c57806319effeb41461039c575b600080fd5b34801561036657600080fd5b5061037a6103753660046154d1565b610c46565b005b34801561038857600080fd5b5061037a61039736600461552c565b610f05565b3480156103a857600080fd5b506000546103c99068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103f357600080fd5b5060005461040890600160801b900460ff1681565b6040516103de9190615585565b34801561042157600080fd5b506104456104303660046155ad565b600c6020526000908152604090205460ff1681565b60405190151581526020016103de565b34801561046157600080fd5b50600a546104459060ff1681565b34801561047b57600080fd5b506008545b6040519081526020016103de565b34801561049a57600080fd5b5061040861148d565b3480156104af57600080fd5b506104806104be36600461552c565b611665565b3480156104cf57600080fd5b506001546104e3906001600160a01b031681565b6040516001600160a01b0390911681526020016103de565b34801561050757600080fd5b50600d546104089060ff1681565b34801561052157600080fd5b503660011981013560f01c90033560601c6104e3565b34801561054357600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561057657600080fd5b50600054610445907201000000000000000000000000000000000000900460ff1681565b3480156105a657600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b61037a6105db3660046155ca565b61169b565b3480156105ec57600080fd5b506104806105fb3660046155ad565b60036020526000908152604090205481565b34801561061957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561064c57600080fd5b5060408051808201909152600581527f312e372e3000000000000000000000000000000000000000000000000000000060208201525b6040516103de9190615661565b34801561069b57600080fd5b506008546009546106aa919082565b604080519283526020830191909152016103de565b3480156106cb57600080fd5b506104806106da366004615674565b6116ad565b3480156106eb57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561071e57600080fd5b506106826116e7565b34801561073357600080fd5b5061037a6107423660046155ad565b6116f5565b34801561075357600080fd5b503660011981013560f01c900360340135610480565b34801561077557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c9565b61037a6107aa36600461569b565b611a0d565b3480156107bb57600080fd5b50600954610480565b3480156107d057600080fd5b5061037a611ab4565b61037a6107e73660046155ca565b611ed3565b61037a611ee0565b34801561080057600080fd5b50600254610480565b34801561081557600080fd5b503660011981013560f01c900360540135610480565b34801561083757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b34801561086a57600080fd5b506108c0610879366004615674565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103de565b34801561090a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561093d57600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103de565b34801561097e57600080fd5b503660011981013560f01c900360140135610480565b3480156109a057600080fd5b506103c96109af366004615674565b611f4c565b3480156109c057600080fd5b506104806109cf3660046155ad565b600b6020526000908152604090205481565b3480156109ed57600080fd5b506104806109fc3660046156dc565b6120e6565b348015610a0d57600080fd5b50610a21610a1c366004615674565b6122a7565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103de565b348015610a8157600080fd5b506000546103c99067ffffffffffffffff1681565b348015610aa257600080fd5b50610480610ab13660046155ad565b61231b565b348015610ac257600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610af557600080fd5b5061037a610b04366004615705565b612373565b348015610b1557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c9565b348015610b4857600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610b7b57600080fd5b50610445610b8a366004615674565b60046020526000908152604090205460ff1681565b348015610bab57600080fd5b5061037a610bba3660046155ca565b612416565b348015610bcb57600080fd5b50610bd46127fc565b6040516103de93929190615791565b348015610bef57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610c2257600080fd5b50610445610c31366004615674565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610c6557610c6561554e565b14610c835760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610cd6576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cef3660011981013560f01c90036014013590565b90565b610d06610d01368690038601866157cc565b612859565b14610d3d576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610d52929190615840565b604051809103902014610d91576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610dda610dd584848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128b592505050565b612922565b90506000610e0182600881518110610df457610df4615850565b6020026020010151612ad8565b9050602081511115610e3f576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e96576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610f2457610f2461554e565b14610f425760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610f5757610f57615850565b906000526020600020906005020190506000610f7284611f4c565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610fdb576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611024576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561104157508515155b156110a457835464010000000090046001600160a01b0316600081156110675781611076565b60018601546001600160a01b03165b90506110828187612b8c565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b03166060830152611128576001600160801b036040820152600181526000869003611128578195505b600086826020015163ffffffff16611140919061587c565b905060008382116111515781611153565b835b602084015190915063ffffffff165b8181101561127357600086828154811061117e5761117e615850565b6000918252602080832090910154808352600690915260409091205490915060ff166111d6576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600282815481106111eb576111eb615850565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156112325750600481015460408701516001600160801b039182169116115b1561125e5760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b5050808061126b90615894565b915050611162565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361148257606083015160008a8152600660205260409020805460ff19166001179055891580156113bf57506000547201000000000000000000000000000000000000900460ff165b1561141a576001546001600160a01b03166113da818a612b8c565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611480565b6114476001600160a01b038216156114325781611441565b60018901546001600160a01b03165b89612b8c565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156114ae576114ae61554e565b146114cc5760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff16611530576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b0316600260008154811061154f5761154f615850565b600091825260209091206005909102015464010000000090046001600160a01b03161461157d576001611580565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b8360028111156116245761162461554e565b0217905560028111156116395761163961554e565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061168157600080fd5b90600052602060002001600091509150505481565b905090565b6116a88383836001611a0d565b505050565b600081815260076020908152604080832060059092528220805482546116de90610100900463ffffffff16826158ae565b95945050505050565b606061169660546020612bce565b6116fd611ab4565b60006002600d5460ff1660028111156117185761171861554e565b0361173c57506001600160a01b0381166000908152600b60205260409020546117ab565b6001600d5460ff1660028111156117555761175561554e565b0361177957506001600160a01b0381166000908152600360205260409020546117ab565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff16611888576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b15801561186c57600080fd5b505af1158015611880573d6000803e3d6000fd5b505050505050565b806000036118c2576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b15801561196857600080fd5b505af115801561197c573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146119cd576040519150601f19603f3d011682016040523d82523d6000602084013e6119d2565b606091505b50509050806116a8576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480611a6c5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b611aa2576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611aae84848484612c02565b50505050565b6002600d5460ff166002811115611acd57611acd61554e565b1480611aef57506001600d5460ff166002811115611aed57611aed61554e565b145b15611af657565b6000600d5460ff166002811115611b0f57611b0f61554e565b14611b46576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ba4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bc891906158c5565b15611bff576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff16600003611c5b576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015611cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cff91906158c5565b905080611d38576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b158015611db257600080fd5b505af1925050508015611dc3575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa158015611e44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6891906158c5565b90508015611e8257600d805460ff19166001179055611e90565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f91611ec79160ff90911690615585565b60405180910390a15050565b6116a88383836000611a0d565b326001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f42576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f4a6135a3565b565b600080600054600160801b900460ff166002811115611f6d57611f6d61554e565b14611f8b5760405163067fe19560e41b815260040160405180910390fd5b600060028381548110611fa057611fa0615850565b600091825260208220600590910201805490925063ffffffff9081161461200657815460028054909163ffffffff16908110611fde57611fde615850565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b600482015460009061203190600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b6120459067ffffffffffffffff16426158ae565b61205b612024846001600160801b031660401c90565b67ffffffffffffffff1661206f919061587c565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff16116120bc57806116de565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612163836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f00000000000000000000000000000000000000000000000000000000000000008111156121c2576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a30060006121dd83836158f8565b9050670de0b6b3a76400006000612214827f000000000000000000000000000000000000000000000000000000000000000061590c565b9050600061223261222d670de0b6b3a76400008661590c565b613b1c565b905060006122408484613d6e565b9050600061224e8383613dbd565b9050600061225b82613deb565b9050600061227a82612275670de0b6b3a76400008f61590c565b613fd3565b905060006122888b83613dbd565b9050612294818d61590c565b9f9e505050505050505050505050505050565b600281815481106122b757600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff1660028111156123365761233661554e565b0361235757506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806123d25750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b612408576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611880868686868686614004565b60008054600160801b900460ff1660028111156124355761243561554e565b146124535760405163067fe19560e41b815260040160405180910390fd5b60008060008061246286614560565b93509350935093506000612478858585856148b9565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124fe919061592b565b9050600189036125cb576001600160a01b0381166352f0f3ad8a8461252f3660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156125a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c59190615948565b50611482565b600289036125ea576001600160a01b0381166352f0f3ad8a848961252f565b60038903612609576001600160a01b0381166352f0f3ad8a848761252f565b6004890361273e5760006126466001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000614958565b600954612653919061587c565b61265e90600161587c565b90503660011981013560f01c900360540135811061268b573660011981013560f01c90036054013561268d565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015612713573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127379190615948565b5050611482565b600589036127ca576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a401612582565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003660011981013560f01c90036014013560606128376116e7565b9050909192565b60008183101561284e5781612850565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001612898949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003612904576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000612932856149ed565b91945092509050600181600181111561294d5761294d61554e565b14612984576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451612990838561587c565b146129c7576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816129de5790505093506000835b8651811015612acc57600080612a516040518060400160405280858c60000151612a3591906158ae565b8152602001858c60200151612a4a919061587c565b90526149ed565b509150915060405180604001604052808383612a6d919061587c565b8152602001848b60200151612a82919061587c565b815250888581518110612a9757612a97615850565b6020908102919091010152612aad60018561587c565b9350612ab9818361587c565b612ac3908461587c565b92505050612a0b565b50845250919392505050565b60606000806000612ae8856149ed565b919450925090506000816001811115612b0357612b0361554e565b14612b3a576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612b44828461587c565b855114612b7d576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116de85602001518484614e8b565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190612bc590849061587c565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b60008054600160801b900460ff166002811115612c2157612c2161554e565b14612c3f5760405163067fe19560e41b815260040160405180910390fd5b600060028481548110612c5457612c54615850565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514612d18576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000612dad826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580612de85750612de57f0000000000000000000000000000000000000000000000000000000000000000600261587c565b81145b8015612df2575084155b15612e29576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015612e4f575086155b15612e86576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115612ee0576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612f0b7f0000000000000000000000000000000000000000000000000000000000000000600161587c565b8103612f1d57612f1d86888588614f20565b34612f27836120e6565b14612f5e576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612f6988611f4c565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603612fd1576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612ffe60017f00000000000000000000000000000000000000000000000000000000000000006158ae565b8303613122577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613062573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613086919061592b565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130e79190615948565b61311b907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615961565b90506131b5565b61314d60017f00000000000000000000000000000000000000000000000000000000000000006158ae565b83036131885761311b7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16600261598d565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b6131e9817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159bd565b67ffffffffffffffff166132048367ffffffffffffffff1690565b67ffffffffffffffff16111561324b57613248817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159bd565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff16156132c0576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c815260200190815260200160002060016002805490506134b791906158ae565b81546001810183556000928352602080842090910191909155338252600b90526040812080543492906134eb90849061587c565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561354d57600080fd5b505af1158015613561573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b60005471010000000000000000000000000000000000900460ff16156135f5576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015613655573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061367991906159e6565b9092509050816136b5576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146136e857639824bdab6000526004601cfd5b803660011981013560f01c90036054013511613746576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b90915291822080549192909161398790849061587c565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156139e957600080fd5b505af11580156139fd573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015613adc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b009190615a0a565b600a805460ff191663ffffffff92909216929092141790555050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213613b7257631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a764000002158202613dab57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b600081600019048311820215613ddb5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d78213613e1957919050565b680755bf798b4a1bf1e58212613e375763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000612850670de0b6b3a764000083613feb86613b1c565b613ff59190615a30565b613fff9190615aec565b613deb565b60008054600160801b900460ff1660028111156140235761402361554e565b146140415760405163067fe19560e41b815260040160405180910390fd5b60006002878154811061405657614056615850565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506140ac7f0000000000000000000000000000000000000000000000000000000000000000600161587c565b614126826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1614614160576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080891561423c576141b37f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006158ae565b6001901b6141c9846001600160801b03166150af565b6001600160801b03166141dc9190615b36565b15614210576142076141f860016001600160801b038716615b4a565b865463ffffffff166000615135565b60030154614232565b7f00000000000000000000000000000000000000000000000000000000000000005b915084905061425d565b6003850154915061425a6141f86001600160801b0386166001615b6a565b90505b600882901b60088a8a604051614274929190615840565b6040518091039020901b146142b5576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006142c08c6151fe565b905060006142cf836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced329061433c908f908f908f908f908a90600401615bd5565b6020604051808303816000875af115801561435b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061437f9190615948565b600485015491149150600090600290614408906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b614482896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61448c9190615c0f565b6144969190615c32565b60ff1615905081151581036144d7576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b031615614521576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b600080600080600085905060006002828154811061458057614580615850565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614635906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161466f576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090614714906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561478957825463ffffffff166147537f0000000000000000000000000000000000000000000000000000000000000000600161587c565b830361475d578391505b6002818154811061477057614770615850565b9060005260206000209060050201935080945050614673565b600481810154908401546001600160801b0391821691166000816001600160801b03166147ce6147c2856001600160801b031660011c90565b6001600160801b031690565b6001600160801b031614905080156148675760006147f4836001600160801b03166150af565b6001600160801b0316111561484457600061482461481c60016001600160801b038616615b4a565b896001615135565b6003810154600490910154909c506001600160801b03169a5061484a9050565b6008549a505b600386015460048701549099506001600160801b031697506148ab565b600061488061481c6001600160801b0385166001615b6a565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b038416156149145760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a001604051602081830303815290604052805190602001206116de565b82826040516020016149399291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b6000806149cc847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614a30576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614a55576000600160009450945094505050614e84565b60b78111614b6b576000614a6a6080836158ae565b905080876000015111614aa9576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614b2157507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614b58576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614e84915050565b60bf8111614cc9576000614b8060b7836158ae565b905080876000015111614bbf576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614c21576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614c69576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614c73818461587c565b895111614cac576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614cb783600161587c565b9750955060009450614e849350505050565b60f78111614d2e576000614cde60c0836158ae565b905080876000015111614d1d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614e84915050565b6000614d3b60f7836158ae565b905080876000015111614d7a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614ddc576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614e24576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e2e818461587c565b895111614e67576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e7283600161587c565b9750955060019450614e849350505050565b9193909250565b60608167ffffffffffffffff811115614ea657614ea66157b6565b6040519080825280601f01601f191660200182016040528015614ed0576020820181803683370190505b5090508115614f19576000614ee5848661587c565b90506020820160005b84811015614f06578281015182820152602001614eee565b84811115614f15576000858301525b5050505b9392505050565b6000614f366001600160801b0384166001615b6a565b90506000614f4682866001615135565b9050600086901a83806150105750614f7f60027f0000000000000000000000000000000000000000000000000000000000000000615b36565b6004830154600290615001906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61500b9190615c32565b60ff16145b156150685760ff81166001148061502a575060ff81166002145b615063576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161373d565b6150a6565b60ff8116156150a6576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161373d565b50505050505050565b600080615123837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b60008082615175576151706001600160801b0386167f000000000000000000000000000000000000000000000000000000000000000061522d565b615187565b615187856001600160801b031661536c565b90506002848154811061519c5761519c615850565b906000526020600020906005020191505b60048201546001600160801b038281169116146151f657815460028054909163ffffffff169081106151e1576151e1615850565b906000526020600020906005020191506151ad565b509392505050565b600080600080600061520f86614560565b9350935093509350615223848484846148b9565b9695505050505050565b6000816152aa846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116152c05763b34b5c226000526004601cfd5b6152c98361536c565b905081615346826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116128535761285061535c83600161587c565b6001600160801b038316906153f8565b600081196001830116816153e7827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061546c847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261549a57600080fd5b50813567ffffffffffffffff8111156154b257600080fd5b6020830191508360208285010111156154ca57600080fd5b9250929050565b600080600083850360a08112156154e757600080fd5b60808112156154f557600080fd5b50839250608084013567ffffffffffffffff81111561551357600080fd5b61551f86828701615488565b9497909650939450505050565b6000806040838503121561553f57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061558257634e487b7160e01b600052602160045260246000fd5b50565b6020810161559283615564565b91905290565b6001600160a01b038116811461558257600080fd5b6000602082840312156155bf57600080fd5b8135614f1981615598565b6000806000606084860312156155df57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561561c57602081850181015186830182015201615600565b8181111561562e576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061285060208301846155f6565b60006020828403121561568657600080fd5b5035919050565b801515811461558257600080fd5b600080600080608085870312156156b157600080fd5b84359350602085013592506040850135915060608501356156d18161568d565b939692955090935050565b6000602082840312156156ee57600080fd5b81356001600160801b0381168114614f1957600080fd5b6000806000806000806080878903121561571e57600080fd5b8635955060208701356157308161568d565b9450604087013567ffffffffffffffff8082111561574d57600080fd5b6157598a838b01615488565b9096509450606089013591508082111561577257600080fd5b5061577f89828a01615488565b979a9699509497509295939492505050565b63ffffffff841681528260208201526060604082015260006116de60608301846155f6565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156157de57600080fd5b6040516080810181811067ffffffffffffffff8211171561580f57634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561588f5761588f615866565b500190565b600060001982036158a7576158a7615866565b5060010190565b6000828210156158c0576158c0615866565b500390565b6000602082840312156158d757600080fd5b8151614f198161568d565b634e487b7160e01b600052601260045260246000fd5b600082615907576159076158e2565b500490565b600081600019048311821515161561592657615926615866565b500290565b60006020828403121561593d57600080fd5b8151614f1981615598565b60006020828403121561595a57600080fd5b5051919050565b600067ffffffffffffffff80831681851680830382111561598457615984615866565b01949350505050565b600067ffffffffffffffff808316818516818304811182151516156159b4576159b4615866565b02949350505050565b600067ffffffffffffffff838116908316818110156159de576159de615866565b039392505050565b600080604083850312156159f957600080fd5b505080516020909101519092909150565b600060208284031215615a1c57600080fd5b815163ffffffff81168114614f1957600080fd5b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615a7157615a71615866565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615aac57615aac615866565b60008712925087820587128484161615615ac857615ac8615866565b87850587128184161615615ade57615ade615866565b505050929093029392505050565b600082615afb57615afb6158e2565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615b3157615b31615866565b500590565b600082615b4557615b456158e2565b500690565b60006001600160801b03838116908316818110156159de576159de615866565b60006001600160801b0380831681851680830382111561598457615984615866565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615be9606083018789615b8c565b8281036020840152615bfc818688615b8c565b9150508260408301529695505050505050565b600060ff821660ff841680821015615c2957615c29615866565b90039392505050565b600060ff831680615c4557615c456158e2565b8060ff8416069150509291505056fea164736f6c634300080f000a000000000000000000000000000000000000000000000000000000000000000103eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc80000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d4000000000000000000000000007babe08ee4d07dba236530183b24055535a701100000000000000000000000064ae5250958cdeb83f6b61f913b5ac6ebe8efd4d000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e720000000000000000000000000000000000000000000000000000000000002105000000000000000000000000642229f238fb9de03374be34b0ed8d9de80752c50000000000000000000000008ca1e12404d16373aef756179b185f27b2994f3a, false, [], 6), ((0, 1), 3, 0x07BABE08EE4D07dBA236530183B24055535A7011, 0xe3803582fd5BCdc62720D2b80f35e8dDeA94e2ec, true, 0, 0, 0x, 0, 0x7dc0d1d0, false, [], 7), ((0, 1), 3, 0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3, 0xe3803582fd5BCdc62720D2b80f35e8dDeA94e2ec, true, 0, 0, 0x, 0, 0xf3f480d9, false, [], 7), ((0, 1), 3, 0x07BABE08EE4D07dBA236530183B24055535A7011, 0xe3803582fd5BCdc62720D2b80f35e8dDeA94e2ec, true, 0, 0, 0x, 0, 0x7dc0d1d0, false, [], 7), ((0, 1), 3, 0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3, 0xe3803582fd5BCdc62720D2b80f35e8dDeA94e2ec, true, 0, 0, 0x, 0, 0xf3f480d9, false, [], 7), ((0, 1), 3, 0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, false)], 6), ((0, 1), 1, 0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ac, false, 0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e, 0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e, false)], 7), ((0, 1), 3, 0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x73a79Fab69143498Ed3712e519A88a918e1f4072, true, 703271672950728489260372, 703271672950728489260372, 0x, 0, 0xf2b4e617, false, [(0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, false)], 8), ((0, 1), 1, 0x381E729FF983FA4BCEd820e7b922d79bF653B999, 0x73a79Fab69143498Ed3712e519A88a918e1f4072, true, 703271672950728489260372, 703271672950728489260372, 0x, 0, 0xf2b4e617, false, [(0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x000000000000000000000000000000000000000000000000000000000000003e, false, 0x000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e72, 0x000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e72, false)], 9), ((0, 1), 3, 0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, false)], 10), ((0, 1), 1, 0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E, 0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x0000000000000000000000000000000000000000000000000000000000000001, false, 0x00000000000000000000000043edb88c4b80fdd2adff2412a7bebf9df42cb40e, 0x00000000000000000000000043edb88c4b80fdd2adff2412a7bebf9df42cb40e, false)], 11), ((0, 1), 8, 0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 0, 0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x14f6b1a30000000000000000000000000000000000000000000000000000000000000001000000000000000000000000e3803582fd5bcdc62720d2b80f35e8ddea94e2ec, false, [(0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false)], 6), ((0, 1), 1, 0x33D1e8571a85a538ed3D5A4d88f46C112383439D, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x14f6b1a30000000000000000000000000000000000000000000000000000000000000001000000000000000000000000e3803582fd5bcdc62720d2b80f35e8ddea94e2ec, false, [(0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0x0000000000000000000000000000000000000000000000000000000000000033, false, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, false), (0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e, false, 0x0000000000000000000000007344da3a618b86cda67f8260c0cc2027d99f5b49, 0x0000000000000000000000007344da3a618b86cda67f8260c0cc2027d99f5b49, false), (0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e, true, 0x0000000000000000000000007344da3a618b86cda67f8260c0cc2027d99f5b49, 0x000000000000000000000000e3803582fd5bcdc62720d2b80f35e8ddea94e2ec, false)], 7), ((0, 1), 3, 0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x1b685b9e0000000000000000000000000000000000000000000000000000000000000000, false, [(0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false)], 6), ((0, 1), 1, 0x33D1e8571a85a538ed3D5A4d88f46C112383439D, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x1b685b9e0000000000000000000000000000000000000000000000000000000000000000, false, [(0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b, false, 0x000000000000000000000000ab91fb6cef84199145133f75cbd96b8a31f184ed, 0x000000000000000000000000ab91fb6cef84199145133f75cbd96b8a31f184ed, false)], 7), ((0, 1), 3, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [], 6), ((0, 1), 3, 0x10596fE51861c5D3865568278270B1DF050Ee547, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [(0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000001, false, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000002, false, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000004, false, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000005, false, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000006, false, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000007, false, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000008, false, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000009, false, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000a, false, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000b, false, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000c, false, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, false)], 7), ((0, 1), 8, 0xA643EA8ee60D92f615eC70AF0248c449bBCEcF4d, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 10, 0xA643EA8ee60D92f615eC70AF0248c449bBCEcF4d, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 3, 0x0000000000000000000000000000000000000004, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 1900471143444598896, 1900471143444598896, 0x, 0, 0x608060405234801561001057600080fd5b5060405161091f38038061091f83398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206108ff8339815191525490565b6000805160206108ff833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61080b806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, [], 6), ((0, 1), 4, 0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000a, 0, 0x608060405234801561001057600080fd5b5060405161091f38038061091f83398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206108ff8339815191525490565b6000805160206108ff833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61080b806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61030000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false, [(0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false)], 6), ((0, 1), 8, 0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 8, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 0, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x9623609d0000000000000000000000002453c1216e49704d84ea98a4dacd95738f2fc8ec00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c699800000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c4d66de800000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000, false, [(0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, false), (0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x04bf4fb210f7981fdb24efdcc5058978faa7fe07da704d6b2dd0913e04082962, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 6), ((0, 1), 0, 0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x4f1ef28600000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c699800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de800000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000, false, [(0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false), (0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998, false)], 7), ((0, 1), 1, 0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0xc4d66de800000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072, false, [(0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000101, false), (0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false), (0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec, 0x0000000000000000000000000000000000000000000000000000000000000004, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec, 0x0000000000000000000000000000000000000000000000000000000000000004, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x00000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072, false), (0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000101, 0x0000000000000000000000000000000000000000000000000000000000000101, false), (0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000101, 0x0000000000000000000000000000000000000000000000000000000000000001, false)], 8), ((0, 1), 3, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [], 6), ((0, 1), 3, 0x10596fE51861c5D3865568278270B1DF050Ee547, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [(0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000001, false, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000002, false, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000004, false, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000005, false, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000006, false, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000007, false, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000008, false, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000009, false, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000a, false, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000b, false, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000c, false, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, false)], 7), ((0, 1), 3, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x30e9012c, false, [], 6), ((0, 1), 3, 0x10596fE51861c5D3865568278270B1DF050Ee547, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, true, 0, 0, 0x, 0, 0x30e9012c, false, [(0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000d, false, 0x000000000000000000000000ce28685eb204186b557133766eca00334eb441e4, 0x000000000000000000000000ce28685eb204186b557133766eca00334eb441e4, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000e, false, 0x00000000000000000000000037e15e4d6dffa9e5e320ee1ec036922e563cb76c, 0x00000000000000000000000037e15e4d6dffa9e5e320ee1ec036922e563cb76c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000f, false, 0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696, 0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000010, false, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000011, false, 0x000000000000000000000000b0eb854fd842e0e564d49d2fe6b2ac25d035523c, 0x000000000000000000000000b0eb854fd842e0e564d49d2fe6b2ac25d035523c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000012, false, 0x000000000000000000000000784d2f03593a42a6e4676a012762f18775ecbbe6, 0x000000000000000000000000784d2f03593a42a6e4676a012762f18775ecbbe6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000013, false, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000014, false, 0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f, 0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000015, false, 0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6, 0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000016, false, 0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, 0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000017, false, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000018, false, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000019, false, 0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998, 0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000001a, false, 0x00000000000000000000000007babe08ee4d07dba236530183b24055535a7011, 0x00000000000000000000000007babe08ee4d07dba236530183b24055535a7011, false)], 7), ((0, 1), 3, 0xAB91FB6cef84199145133f75cBD96B8a31F184ED, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xbbdc02db, false, [], 6), ((0, 1), 3, 0xAB91FB6cef84199145133f75cBD96B8a31F184ED, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xd6ae3cd5, false, [], 6), ((0, 1), 3, 0xAB91FB6cef84199145133f75cBD96B8a31F184ED, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x8d450a95, false, [], 6), ((0, 1), 3, 0xAB91FB6cef84199145133f75cBD96B8a31F184ED, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xfa315aa9, false, [], 6), ((0, 1), 3, 0xAB91FB6cef84199145133f75cBD96B8a31F184ED, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xec5e6308, false, [], 6), ((0, 1), 3, 0xAB91FB6cef84199145133f75cBD96B8a31F184ED, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x6b6716c0, false, [], 6), ((0, 1), 3, 0xAB91FB6cef84199145133f75cBD96B8a31F184ED, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xdabd396d, false, [], 6), ((0, 1), 3, 0xAB91FB6cef84199145133f75cBD96B8a31F184ED, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x3a768463, false, [], 6), ((0, 1), 3, 0xAB91FB6cef84199145133f75cBD96B8a31F184ED, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x3fc8cef3, false, [], 6), ((0, 1), 3, 0xAB91FB6cef84199145133f75cBD96B8a31F184ED, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x5c0cba33, false, [], 6), ((0, 1), 8, 0x065E5D14a280701C054D5a6A67f31F228233B823, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 10, 0x065E5D14a280701C054D5a6A67f31F228233B823, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 3, 0x0000000000000000000000000000000000000004, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 1900471143444598896, 1900471143444598896, 0x, 0, 0x6101c06040523480156200001257600080fd5b506040516200626f3803806200626f83398101604081905262000035916200052e565b620000436001607e62000601565b60ff16816040015111156200006b57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000955750604081015160608201516200009290600162000627565b10155b15620000b45760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000db5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000128573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014e919062000642565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b2919062000662565b1115620001d25760405163b4e1243360e01b815260040160405180910390fd5b6000620001f782608001516001600160401b03166200048060201b62000c701760201c565b6200020d906001600160401b031660026200067c565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000254573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027a919062000642565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002de919062000662565b6200030184608001516001600160401b03166200048060201b62000c701760201c565b6001600160401b031662000316919062000627565b905060006200033183836200048360201b62003a821760201c565b90506001600160401b038111156200035c5760405163235dfb2b60e21b815260040160405180910390fd5b6200037f8460a001516001600160401b03166200048060201b62000c701760201c565b6001600160401b0316816001600160401b03161115620003b25760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003d9856000015163ffffffff166200048060201b62000c701760201c565b63ffffffff1603620003fe5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015116610160529091015161018052506200069e565b90565b60008183101562000495578162000497565b825b9392505050565b60405161014081016001600160401b0381118282101715620004d057634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004eb57600080fd5b919050565b80516001600160401b0381168114620004eb57600080fd5b6001600160a01b03811681146200051e57600080fd5b50565b8051620004eb8162000508565b600061014082840312156200054257600080fd5b6200054c6200049e565b6200055783620004d6565b81526020830151602082015260408301516040820152606083015160608201526200058560808401620004f0565b60808201526200059860a08401620004f0565b60a0820152620005ab60c0840162000521565b60c0820152620005be60e0840162000521565b60e0820152610100620005d381850162000521565b90820152610120928301519281019290925250919050565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8416808210156200061e576200061e620005eb565b90039392505050565b600082198211156200063d576200063d620005eb565b500190565b6000602082840312156200065557600080fd5b8151620004978162000508565b6000602082840312156200067557600080fd5b5051919050565b6000816000190483118215151615620006995762000699620005eb565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051615a2f620008406000396000818161072f01528181611e7c01528181611ee70152611f1a015260008181610a4901526139c00152600081816106a5015281816123c60152818161250a015281816125e401528181612673015281816127b50152612c44015260008181610593015281816117aa015281816118a6015281816122830152612b4b0152600081816108cc01528181612c1b0152613a4201526000818161053001528181611d95015281816133f101526136c2015260008181610a9c01528181610f0301528181611d0501528181611f4a01528181611fa901528181612e070152612e49015260008181610acf01528181611b4e01528181611c7401528181611eb8015281816132680152818161386601528181613e810152818161455a01528181614676015281816147550152614808015260008181610b7601528181611c1701528181611d6901528181612ef501528181612f7b0152818161318001526132890152600081816107f1015261330c0152615a2f6000f3fe60806040526004361061033f5760003560e01c806370872aa5116101b0578063c395e1ca116100ec578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b23578063fa24f74314610b43578063fa315aa914610b67578063fe2bbeb214610b9a57600080fd5b8063dabd396d14610a8d578063ec5e630814610ac0578063eff0f59214610af357600080fd5b8063d5d44d80116100c6578063d5d44d8014610a1a578063d6ae3cd514610a3a578063d8cc1a3c14610a6d57600080fd5b8063c395e1ca14610965578063c6f0308c14610985578063cf09e0d0146109f957600080fd5b80638d450a9511610159578063bbdc02db11610133578063bbdc02db146108b5578063bcef3b55146108f6578063bd8da95614610918578063c0d8bb741461093857600080fd5b80638d450a95146107e257806399735e32146107c0578063a445ece61461081557600080fd5b80638129fc1c1161018a5780638129fc1c146107a35780638980e0cc146107ab5780638b85902b146107c057600080fd5b806370872aa514610766578063786b844b1461077b5780637b0f0adc1461079057600080fd5b80633e3ac9121161027f5780635a5fa2d91161022857806360e274641161020257806360e27464146106de5780636361506d146106fe5780636b6716c0146107205780636f0344091461075357600080fd5b80635a5fa2d9146106765780635c0cba3314610696578063609d3334146106c957600080fd5b8063529d6a8c11610259578063529d6a8c146105ca57806354fd4d50146105f757806357da950e1461064657600080fd5b80633e3ac912146105545780633fc8cef314610584578063472777c6146105b757600080fd5b806325fc2ace116102ec57806330dbe570116102c657806330dbe570146104ad578063378dd48c146104e557806337b1b229146104ff5780633a7684631461052157600080fd5b806325fc2ace146104595780632810e1d6146104785780632ad69aeb1461048d57600080fd5b8063200d2ed21161031d578063200d2ed2146103d1578063222abf45146103ff578063250e69bd1461043f57600080fd5b8063019351301461034457806303c2924d1461036657806319effeb414610386575b600080fd5b34801561035057600080fd5b5061036461035f36600461529f565b610bca565b005b34801561037257600080fd5b506103646103813660046152fa565b610e89565b34801561039257600080fd5b506000546103b39068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103dd57600080fd5b506000546103f290600160801b900460ff1681565b6040516103c89190615353565b34801561040b57600080fd5b5061042f61041a36600461537b565b600c6020526000908152604090205460ff1681565b60405190151581526020016103c8565b34801561044b57600080fd5b50600a5461042f9060ff1681565b34801561046557600080fd5b506008545b6040519081526020016103c8565b34801561048457600080fd5b506103f2611411565b34801561049957600080fd5b5061046a6104a83660046152fa565b6115e9565b3480156104b957600080fd5b506001546104cd906001600160a01b031681565b6040516001600160a01b0390911681526020016103c8565b3480156104f157600080fd5b50600d546103f29060ff1681565b34801561050b57600080fd5b503660011981013560f01c90033560601c6104cd565b34801561052d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b34801561056057600080fd5b5060005461042f907201000000000000000000000000000000000000900460ff1681565b34801561059057600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b6103646105c5366004615398565b61161f565b3480156105d657600080fd5b5061046a6105e536600461537b565b60036020526000908152604090205481565b34801561060357600080fd5b5060408051808201909152600581527f312e372e3000000000000000000000000000000000000000000000000000000060208201525b6040516103c8919061542f565b34801561065257600080fd5b50600854600954610661919082565b604080519283526020830191909152016103c8565b34801561068257600080fd5b5061046a610691366004615442565b611631565b3480156106a257600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b3480156106d557600080fd5b5061063961166b565b3480156106ea57600080fd5b506103646106f936600461537b565b611679565b34801561070a57600080fd5b503660011981013560f01c90036034013561046a565b34801561072c57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103b3565b610364610761366004615469565b611991565b34801561077257600080fd5b5060095461046a565b34801561078757600080fd5b50610364612332565b61036461079e366004615398565b612751565b61036461275e565b3480156107b757600080fd5b5060025461046a565b3480156107cc57600080fd5b503660011981013560f01c90036054013561046a565b3480156107ee57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b34801561082157600080fd5b50610877610830366004615442565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103c8565b3480156108c157600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103c8565b34801561090257600080fd5b503660011981013560f01c90036014013561046a565b34801561092457600080fd5b506103b3610933366004615442565b612cd7565b34801561094457600080fd5b5061046a61095336600461537b565b600b6020526000908152604090205481565b34801561097157600080fd5b5061046a6109803660046154aa565b612e71565b34801561099157600080fd5b506109a56109a0366004615442565b613032565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103c8565b348015610a0557600080fd5b506000546103b39067ffffffffffffffff1681565b348015610a2657600080fd5b5061046a610a3536600461537b565b6130a6565b348015610a4657600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610a7957600080fd5b50610364610a883660046154d3565b6130fe565b348015610a9957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103b3565b348015610acc57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610aff57600080fd5b5061042f610b0e366004615442565b60046020526000908152604090205460ff1681565b348015610b2f57600080fd5b50610364610b3e366004615398565b61365a565b348015610b4f57600080fd5b50610b58613a40565b6040516103c89392919061555f565b348015610b7357600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610ba657600080fd5b5061042f610bb5366004615442565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610be957610be961531c565b14610c075760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610c5a576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c733660011981013560f01c90036014013590565b90565b610c8a610c853686900386018661559a565b613a9d565b14610cc1576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610cd692919061560e565b604051809103902014610d15576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d5e610d5984848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613af992505050565b613b66565b90506000610d8582600881518110610d7857610d7861561e565b6020026020010151613d1c565b9050602081511115610dc3576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e1a576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610ea857610ea861531c565b14610ec65760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610edb57610edb61561e565b906000526020600020906005020190506000610ef684612cd7565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610f5f576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615610fa8576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000848152600560205260409020805480158015610fc557508515155b1561102857835464010000000090046001600160a01b031660008115610feb5781610ffa565b60018601546001600160a01b03165b90506110068187613dd0565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b031660608301526110ac576001600160801b0360408201526001815260008690036110ac578195505b600086826020015163ffffffff166110c4919061564a565b905060008382116110d557816110d7565b835b602084015190915063ffffffff165b818110156111f75760008682815481106111025761110261561e565b6000918252602080832090910154808352600690915260409091205490915060ff1661115a576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002828154811061116f5761116f61561e565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156111b65750600481015460408701516001600160801b039182169116115b156111e25760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b505080806111ef90615662565b9150506110e6565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361140657606083015160008a8152600660205260409020805460ff191660011790558915801561134357506000547201000000000000000000000000000000000000900460ff165b1561139e576001546001600160a01b031661135e818a613dd0565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611404565b6113cb6001600160a01b038216156113b657816113c5565b60018901546001600160a01b03165b89613dd0565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156114325761143261531c565b146114505760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166114b4576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b031660026000815481106114d3576114d361561e565b600091825260209091206005909102015464010000000090046001600160a01b031614611501576001611504565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b8360028111156115a8576115a861531c565b0217905560028111156115bd576115bd61531c565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061160557600080fd5b90600052602060002001600091509150505481565b905090565b61162c8383836001611991565b505050565b6000818152600760209081526040808320600590925282208054825461166290610100900463ffffffff168261567c565b95945050505050565b606061161a60546020613e12565b611681612332565b60006002600d5460ff16600281111561169c5761169c61531c565b036116c057506001600160a01b0381166000908152600b602052604090205461172f565b6001600d5460ff1660028111156116d9576116d961531c565b036116fd57506001600160a01b03811660009081526003602052604090205461172f565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff1661180c576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b1580156117f057600080fd5b505af1158015611804573d6000803e3d6000fd5b505050505050565b80600003611846576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b1580156118ec57600080fd5b505af1158015611900573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611951576040519150601f19603f3d011682016040523d82523d6000602084013e611956565b606091505b505090508061162c576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054600160801b900460ff1660028111156119b0576119b061531c565b146119ce5760405163067fe19560e41b815260040160405180910390fd5b6000600284815481106119e3576119e361561e565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514611aa7576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000611b3c826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580611b775750611b747f0000000000000000000000000000000000000000000000000000000000000000600261564a565b81145b8015611b81575084155b15611bb8576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015611bde575086155b15611c15576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115611c6f576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c9a7f0000000000000000000000000000000000000000000000000000000000000000600161564a565b8103611cac57611cac86888588613e46565b34611cb683612e71565b14611ced576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611cf888612cd7565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603611d60576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611d8d60017f000000000000000000000000000000000000000000000000000000000000000061567c565b8303611eb1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611df1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e159190615693565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7691906156b0565b611eaa907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166156c9565b9050611f44565b611edc60017f000000000000000000000000000000000000000000000000000000000000000061567c565b8303611f1757611eaa7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff1660026156f5565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b611f78817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615725565b67ffffffffffffffff16611f938367ffffffffffffffff1690565b67ffffffffffffffff161115611fda57611fd7817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615725565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff161561204f576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c81526020019081526020016000206001600280549050612246919061567c565b81546001810183556000928352602080842090910191909155338252600b905260408120805434929061227a90849061564a565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156122dc57600080fd5b505af11580156122f0573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b6002600d5460ff16600281111561234b5761234b61531c565b148061236d57506001600d5460ff16600281111561236b5761236b61531c565b145b1561237457565b6000600d5460ff16600281111561238d5761238d61531c565b146123c4576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612422573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612446919061574e565b1561247d576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff166000036124d9576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015612559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061257d919061574e565b9050806125b6576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561263057600080fd5b505af1925050508015612641575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa1580156126c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126e6919061574e565b9050801561270057600d805460ff1916600117905561270e565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f916127459160ff90911690615353565b60405180910390a15050565b61162c8383836000611991565b60005471010000000000000000000000000000000000900460ff16156127b0576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015612810573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612834919061576b565b909250905081612870576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146128a357639824bdab6000526004601cfd5b803660011981013560f01c90036054013511612901576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b909152918220805491929091612b4290849061564a565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015612ba457600080fd5b505af1158015612bb8573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015612c97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cbb919061578f565b600a805460ff191663ffffffff92909216929092141790555050565b600080600054600160801b900460ff166002811115612cf857612cf861531c565b14612d165760405163067fe19560e41b815260040160405180910390fd5b600060028381548110612d2b57612d2b61561e565b600091825260208220600590910201805490925063ffffffff90811614612d9157815460028054909163ffffffff16908110612d6957612d6961561e565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b6004820154600090612dbc90600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b612dd09067ffffffffffffffff164261567c565b612de6612daf846001600160801b031660401c90565b67ffffffffffffffff16612dfa919061564a565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611612e475780611662565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612eee836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115612f4d576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000612f6883836157cb565b9050670de0b6b3a76400006000612f9f827f00000000000000000000000000000000000000000000000000000000000000006157df565b90506000612fbd612fb8670de0b6b3a7640000866157df565b613fd5565b90506000612fcb8484614227565b90506000612fd98383614276565b90506000612fe6826142a4565b9050600061300582613000670de0b6b3a76400008f6157df565b61448c565b905060006130138b83614276565b905061301f818d6157df565b9f9e505050505050505050505050505050565b6002818154811061304257600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff1660028111156130c1576130c161531c565b036130e257506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b60008054600160801b900460ff16600281111561311d5761311d61531c565b1461313b5760405163067fe19560e41b815260040160405180910390fd5b6000600287815481106131505761315061561e565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506131a67f0000000000000000000000000000000000000000000000000000000000000000600161564a565b613220826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161461325a576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808915613336576132ad7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061567c565b6001901b6132c3846001600160801b03166144bd565b6001600160801b03166132d691906157fe565b1561330a576133016132f260016001600160801b038716615812565b865463ffffffff166000614543565b6003015461332c565b7f00000000000000000000000000000000000000000000000000000000000000005b9150849050613357565b600385015491506133546132f26001600160801b0386166001615832565b90505b600882901b60088a8a60405161336e92919061560e565b6040518091039020901b146133af576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006133ba8c61460c565b905060006133c9836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced3290613436908f908f908f908f908a9060040161589d565b6020604051808303816000875af1158015613455573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061347991906156b0565b600485015491149150600090600290613502906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61357c896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61358691906158d7565b61359091906158fa565b60ff1615905081151581036135d1576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b03161561361b576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008054600160801b900460ff1660028111156136795761367961531c565b146136975760405163067fe19560e41b815260040160405180910390fd5b6000806000806136a68661463b565b935093509350935060006136bc85858585614994565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561371e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137429190615693565b90506001890361380f576001600160a01b0381166352f0f3ad8a846137733660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156137e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061380991906156b0565b50611406565b6002890361382e576001600160a01b0381166352f0f3ad8a8489613773565b6003890361384d576001600160a01b0381166352f0f3ad8a8487613773565b6004890361398257600061388a6001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000614a33565b600954613897919061564a565b6138a290600161564a565b90503660011981013560f01c90036054013581106138cf573660011981013560f01c9003605401356138d1565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015613957573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061397b91906156b0565b5050611406565b60058903613a0e576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a4016137c6565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003660011981013560f01c9003601401356060613a7b61166b565b9050909192565b600081831015613a925781613a94565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001613adc949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003613b48576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000613b7685614ac8565b919450925090506001816001811115613b9157613b9161531c565b14613bc8576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451613bd4838561564a565b14613c0b576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b6040805180820190915260008082526020820152815260200190600190039081613c225790505093506000835b8651811015613d1057600080613c956040518060400160405280858c60000151613c79919061567c565b8152602001858c60200151613c8e919061564a565b9052614ac8565b509150915060405180604001604052808383613cb1919061564a565b8152602001848b60200151613cc6919061564a565b815250888581518110613cdb57613cdb61561e565b6020908102919091010152613cf160018561564a565b9350613cfd818361564a565b613d07908461564a565b92505050613c4f565b50845250919392505050565b60606000806000613d2c85614ac8565b919450925090506000816001811115613d4757613d4761531c565b14613d7e576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613d88828461564a565b855114613dc1576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61166285602001518484614f66565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190613e0990849061564a565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b6000613e5c6001600160801b0384166001615832565b90506000613e6c82866001614543565b9050600086901a8380613f365750613ea560027f00000000000000000000000000000000000000000000000000000000000000006157fe565b6004830154600290613f27906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b613f3191906158fa565b60ff16145b15613f8e5760ff811660011480613f50575060ff81166002145b613f89576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016128f8565b613fcc565b60ff811615613fcc576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016128f8565b50505050505050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b176000821361402b57631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261426457637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b6000816000190483118202156142945763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d782136142d257919050565b680755bf798b4a1bf1e582126142f05763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000613a94670de0b6b3a7640000836144a486613fd5565b6144ae919061591c565b6144b891906159d8565b6142a4565b600080614531837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b600080826145835761457e6001600160801b0386167f0000000000000000000000000000000000000000000000000000000000000000614ffb565b614595565b614595856001600160801b031661513a565b9050600284815481106145aa576145aa61561e565b906000526020600020906005020191505b60048201546001600160801b0382811691161461460457815460028054909163ffffffff169081106145ef576145ef61561e565b906000526020600020906005020191506145bb565b509392505050565b600080600080600061461d8661463b565b935093509350935061463184848484614994565b9695505050505050565b600080600080600085905060006002828154811061465b5761465b61561e565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614710906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161474a576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f0000000000000000000000000000000000000000000000000000000000000000906147ef906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561486457825463ffffffff1661482e7f0000000000000000000000000000000000000000000000000000000000000000600161564a565b8303614838578391505b6002818154811061484b5761484b61561e565b906000526020600020906005020193508094505061474e565b600481810154908401546001600160801b0391821691166000816001600160801b03166148a961489d856001600160801b031660011c90565b6001600160801b031690565b6001600160801b031614905080156149425760006148cf836001600160801b03166144bd565b6001600160801b0316111561491f5760006148ff6148f760016001600160801b038616615812565b896001614543565b6003810154600490910154909c506001600160801b03169a506149259050565b6008549a505b600386015460048701549099506001600160801b03169750614986565b600061495b6148f76001600160801b0385166001615832565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b038416156149ef5760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611662565b8282604051602001614a149291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614aa7847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614b0b576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614b30576000600160009450945094505050614f5f565b60b78111614c46576000614b4560808361567c565b905080876000015111614b84576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614bfc57507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614c33576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614f5f915050565b60bf8111614da4576000614c5b60b78361567c565b905080876000015111614c9a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614cfc576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614d44576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614d4e818461564a565b895111614d87576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614d9283600161564a565b9750955060009450614f5f9350505050565b60f78111614e09576000614db960c08361567c565b905080876000015111614df8576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614f5f915050565b6000614e1660f78361567c565b905080876000015111614e55576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614eb7576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614eff576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f09818461564a565b895111614f42576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f4d83600161564a565b9750955060019450614f5f9350505050565b9193909250565b60608167ffffffffffffffff811115614f8157614f81615584565b6040519080825280601f01601f191660200182016040528015614fab576020820181803683370190505b5090508115614ff4576000614fc0848661564a565b90506020820160005b84811015614fe1578281015182820152602001614fc9565b84811115614ff0576000858301525b5050505b9392505050565b600081615078846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161508e5763b34b5c226000526004601cfd5b6150978361513a565b905081615114826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611613a9757613a9461512a83600161564a565b6001600160801b038316906151c6565b600081196001830116816151b5827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061523a847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261526857600080fd5b50813567ffffffffffffffff81111561528057600080fd5b60208301915083602082850101111561529857600080fd5b9250929050565b600080600083850360a08112156152b557600080fd5b60808112156152c357600080fd5b50839250608084013567ffffffffffffffff8111156152e157600080fd5b6152ed86828701615256565b9497909650939450505050565b6000806040838503121561530d57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061535057634e487b7160e01b600052602160045260246000fd5b50565b6020810161536083615332565b91905290565b6001600160a01b038116811461535057600080fd5b60006020828403121561538d57600080, false, [], 6), ((0, 1), 8, 0x481f6FfbbBa2F205BB04Fc584D5cE940658D41e4, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 10, 0x481f6FfbbBa2F205BB04Fc584D5cE940658D41e4, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 3, 0x0000000000000000000000000000000000000004, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 1900471143444598896, 1900471143444598896, 0x, 0, 0xfd5b8135614ff481615366565b6000806000606084860312156153ad57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b818110156153ea576020818501810151868301820152016153ce565b818111156153fc576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000613a9460208301846153c4565b60006020828403121561545457600080fd5b5035919050565b801515811461535057600080fd5b6000806000806080858703121561547f57600080fd5b843593506020850135925060408501359150606085013561549f8161545b565b939692955090935050565b6000602082840312156154bc57600080fd5b81356001600160801b0381168114614ff457600080fd5b600080600080600080608087890312156154ec57600080fd5b8635955060208701356154fe8161545b565b9450604087013567ffffffffffffffff8082111561551b57600080fd5b6155278a838b01615256565b9096509450606089013591508082111561554057600080fd5b5061554d89828a01615256565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061166260608301846153c4565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156155ac57600080fd5b6040516080810181811067ffffffffffffffff821117156155dd57634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561565d5761565d615634565b500190565b6000600019820361567557615675615634565b5060010190565b60008282101561568e5761568e615634565b500390565b6000602082840312156156a557600080fd5b8151614ff481615366565b6000602082840312156156c257600080fd5b5051919050565b600067ffffffffffffffff8083168185168083038211156156ec576156ec615634565b01949350505050565b600067ffffffffffffffff8083168185168183048111821515161561571c5761571c615634565b02949350505050565b600067ffffffffffffffff8381169083168181101561574657615746615634565b039392505050565b60006020828403121561576057600080fd5b8151614ff48161545b565b6000806040838503121561577e57600080fd5b505080516020909101519092909150565b6000602082840312156157a157600080fd5b815163ffffffff81168114614ff457600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826157da576157da6157b5565b500490565b60008160001904831182151516156157f9576157f9615634565b500290565b60008261580d5761580d6157b5565b500690565b60006001600160801b038381169083168181101561574657615746615634565b60006001600160801b038083168185168083038211156156ec576156ec615634565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6060815260006158b1606083018789615854565b82810360208401526158c4818688615854565b9150508260408301529695505050505050565b600060ff821660ff8416808210156158f1576158f1615634565b90039392505050565b600060ff83168061590d5761590d6157b5565b8060ff84160691505092915050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60008413600084138583048511828216161561595d5761595d615634565b7f8000000000000000000000000000000000000000000000000000000000000000600087128682058812818416161561599857615998615634565b600087129250878205871284841616156159b4576159b4615634565b878505871281841616156159ca576159ca615634565b505050929093029392505050565b6000826159e7576159e76157b5565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615a1d57615a1d615634565b50059056fea164736f6c634300080f000a, false, [], 6), ((0, 1), 4, 0xe4066890367BF8A51d58377431808083A01b1E0c, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x60806040526004361061033f5760003560e01c806370872aa5116101b0578063c395e1ca116100ec578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b23578063fa24f74314610b43578063fa315aa914610b67578063fe2bbeb214610b9a57600080fd5b8063dabd396d14610a8d578063ec5e630814610ac0578063eff0f59214610af357600080fd5b8063d5d44d80116100c6578063d5d44d8014610a1a578063d6ae3cd514610a3a578063d8cc1a3c14610a6d57600080fd5b8063c395e1ca14610965578063c6f0308c14610985578063cf09e0d0146109f957600080fd5b80638d450a9511610159578063bbdc02db11610133578063bbdc02db146108b5578063bcef3b55146108f6578063bd8da95614610918578063c0d8bb741461093857600080fd5b80638d450a95146107e257806399735e32146107c0578063a445ece61461081557600080fd5b80638129fc1c1161018a5780638129fc1c146107a35780638980e0cc146107ab5780638b85902b146107c057600080fd5b806370872aa514610766578063786b844b1461077b5780637b0f0adc1461079057600080fd5b80633e3ac9121161027f5780635a5fa2d91161022857806360e274641161020257806360e27464146106de5780636361506d146106fe5780636b6716c0146107205780636f0344091461075357600080fd5b80635a5fa2d9146106765780635c0cba3314610696578063609d3334146106c957600080fd5b8063529d6a8c11610259578063529d6a8c146105ca57806354fd4d50146105f757806357da950e1461064657600080fd5b80633e3ac912146105545780633fc8cef314610584578063472777c6146105b757600080fd5b806325fc2ace116102ec57806330dbe570116102c657806330dbe570146104ad578063378dd48c146104e557806337b1b229146104ff5780633a7684631461052157600080fd5b806325fc2ace146104595780632810e1d6146104785780632ad69aeb1461048d57600080fd5b8063200d2ed21161031d578063200d2ed2146103d1578063222abf45146103ff578063250e69bd1461043f57600080fd5b8063019351301461034457806303c2924d1461036657806319effeb414610386575b600080fd5b34801561035057600080fd5b5061036461035f36600461529f565b610bca565b005b34801561037257600080fd5b506103646103813660046152fa565b610e89565b34801561039257600080fd5b506000546103b39068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103dd57600080fd5b506000546103f290600160801b900460ff1681565b6040516103c89190615353565b34801561040b57600080fd5b5061042f61041a36600461537b565b600c6020526000908152604090205460ff1681565b60405190151581526020016103c8565b34801561044b57600080fd5b50600a5461042f9060ff1681565b34801561046557600080fd5b506008545b6040519081526020016103c8565b34801561048457600080fd5b506103f2611411565b34801561049957600080fd5b5061046a6104a83660046152fa565b6115e9565b3480156104b957600080fd5b506001546104cd906001600160a01b031681565b6040516001600160a01b0390911681526020016103c8565b3480156104f157600080fd5b50600d546103f29060ff1681565b34801561050b57600080fd5b503660011981013560f01c90033560601c6104cd565b34801561052d57600080fd5b507f00000000000000000000000007babe08ee4d07dba236530183b24055535a70116104cd565b34801561056057600080fd5b5060005461042f907201000000000000000000000000000000000000900460ff1681565b34801561059057600080fd5b507f0000000000000000000000002453c1216e49704d84ea98a4dacd95738f2fc8ec6104cd565b6103646105c5366004615398565b61161f565b3480156105d657600080fd5b5061046a6105e536600461537b565b60036020526000908152604090205481565b34801561060357600080fd5b5060408051808201909152600581527f312e372e3000000000000000000000000000000000000000000000000000000060208201525b6040516103c8919061542f565b34801561065257600080fd5b50600854600954610661919082565b604080519283526020830191909152016103c8565b34801561068257600080fd5b5061046a610691366004615442565b611631565b3480156106a257600080fd5b507f000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e726104cd565b3480156106d557600080fd5b5061063961166b565b3480156106ea57600080fd5b506103646106f936600461537b565b611679565b34801561070a57600080fd5b503660011981013560f01c90036034013561046a565b34801561072c57600080fd5b507f0000000000000000000000000000000000000000000000000000000000002a306103b3565b610364610761366004615469565b611991565b34801561077257600080fd5b5060095461046a565b34801561078757600080fd5b50610364612332565b61036461079e366004615398565b612751565b61036461275e565b3480156107b757600080fd5b5060025461046a565b3480156107cc57600080fd5b503660011981013560f01c90036054013561046a565b3480156107ee57600080fd5b507f03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc861046a565b34801561082157600080fd5b50610877610830366004615442565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103c8565b3480156108c157600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103c8565b34801561090257600080fd5b503660011981013560f01c90036014013561046a565b34801561092457600080fd5b506103b3610933366004615442565b612cd7565b34801561094457600080fd5b5061046a61095336600461537b565b600b6020526000908152604090205481565b34801561097157600080fd5b5061046a6109803660046154aa565b612e71565b34801561099157600080fd5b506109a56109a0366004615442565b613032565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103c8565b348015610a0557600080fd5b506000546103b39067ffffffffffffffff1681565b348015610a2657600080fd5b5061046a610a3536600461537b565b6130a6565b348015610a4657600080fd5b507f000000000000000000000000000000000000000000000000000000000000210561046a565b348015610a7957600080fd5b50610364610a883660046154d3565b6130fe565b348015610a9957600080fd5b507f0000000000000000000000000000000000000000000000000000000000049d406103b3565b348015610acc57600080fd5b507f000000000000000000000000000000000000000000000000000000000000001e61046a565b348015610aff57600080fd5b5061042f610b0e366004615442565b60046020526000908152604090205460ff1681565b348015610b2f57600080fd5b50610364610b3e366004615398565b61365a565b348015610b4f57600080fd5b50610b58613a40565b6040516103c89392919061555f565b348015610b7357600080fd5b507f000000000000000000000000000000000000000000000000000000000000004961046a565b348015610ba657600080fd5b5061042f610bb5366004615442565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610be957610be961531c565b14610c075760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610c5a576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c733660011981013560f01c90036014013590565b90565b610c8a610c853686900386018661559a565b613a9d565b14610cc1576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610cd692919061560e565b604051809103902014610d15576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d5e610d5984848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613af992505050565b613b66565b90506000610d8582600881518110610d7857610d7861561e565b6020026020010151613d1c565b9050602081511115610dc3576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e1a576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610ea857610ea861531c565b14610ec65760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610edb57610edb61561e565b906000526020600020906005020190506000610ef684612cd7565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000049d4081169082161015610f5f576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615610fa8576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000848152600560205260409020805480158015610fc557508515155b1561102857835464010000000090046001600160a01b031660008115610feb5781610ffa565b60018601546001600160a01b03165b90506110068187613dd0565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b031660608301526110ac576001600160801b0360408201526001815260008690036110ac578195505b600086826020015163ffffffff166110c4919061564a565b905060008382116110d557816110d7565b835b602084015190915063ffffffff165b818110156111f75760008682815481106111025761110261561e565b6000918252602080832090910154808352600690915260409091205490915060ff1661115a576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002828154811061116f5761116f61561e565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156111b65750600481015460408701516001600160801b039182169116115b156111e25760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b505080806111ef90615662565b9150506110e6565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361140657606083015160008a8152600660205260409020805460ff191660011790558915801561134357506000547201000000000000000000000000000000000000900460ff165b1561139e576001546001600160a01b031661135e818a613dd0565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611404565b6113cb6001600160a01b038216156113b657816113c5565b60018901546001600160a01b03165b89613dd0565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156114325761143261531c565b146114505760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166114b4576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b031660026000815481106114d3576114d361561e565b600091825260209091206005909102015464010000000090046001600160a01b031614611501576001611504565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b8360028111156115a8576115a861531c565b0217905560028111156115bd576115bd61531c565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061160557600080fd5b90600052602060002001600091509150505481565b905090565b61162c8383836001611991565b505050565b6000818152600760209081526040808320600590925282208054825461166290610100900463ffffffff168261567c565b95945050505050565b606061161a60546020613e12565b611681612332565b60006002600d5460ff16600281111561169c5761169c61531c565b036116c057506001600160a01b0381166000908152600b602052604090205461172f565b6001600d5460ff1660028111156116d9576116d961531c565b036116fd57506001600160a01b03811660009081526003602052604090205461172f565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff1661180c576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f0000000000000000000000002453c1216e49704d84ea98a4dacd95738f2fc8ec90911690637eee288d90604401600060405180830381600087803b1580156117f057600080fd5b505af1158015611804573d6000803e3d6000fd5b505050505050565b80600003611846576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f0000000000000000000000002453c1216e49704d84ea98a4dacd95738f2fc8ec9091169063f3fef3a390604401600060405180830381600087803b1580156118ec57600080fd5b505af1158015611900573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611951576040519150601f19603f3d011682016040523d82523d6000602084013e611956565b606091505b505090508061162c576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054600160801b900460ff1660028111156119b0576119b061531c565b146119ce5760405163067fe19560e41b815260040160405180910390fd5b6000600284815481106119e3576119e361561e565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514611aa7576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000611b3c826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580611b775750611b747f000000000000000000000000000000000000000000000000000000000000001e600261564a565b81145b8015611b81575084155b15611bb8576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015611bde575086155b15611c15576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000049811115611c6f576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c9a7f000000000000000000000000000000000000000000000000000000000000001e600161564a565b8103611cac57611cac86888588613e46565b34611cb683612e71565b14611ced576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611cf888612cd7565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000049d40811690821603611d60576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611d8d60017f000000000000000000000000000000000000000000000000000000000000004961567c565b8303611eb1577f00000000000000000000000007babe08ee4d07dba236530183b24055535a70116001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611df1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e159190615693565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7691906156b0565b611eaa907f0000000000000000000000000000000000000000000000000000000000002a3067ffffffffffffffff166156c9565b9050611f44565b611edc60017f000000000000000000000000000000000000000000000000000000000000001e61567c565b8303611f1757611eaa7f0000000000000000000000000000000000000000000000000000000000002a3067ffffffffffffffff1660026156f5565b507f0000000000000000000000000000000000000000000000000000000000002a3067ffffffffffffffff165b611f78817f0000000000000000000000000000000000000000000000000000000000049d4067ffffffffffffffff16615725565b67ffffffffffffffff16611f938367ffffffffffffffff1690565b67ffffffffffffffff161115611fda57611fd7817f0000000000000000000000000000000000000000000000000000000000049d4067ffffffffffffffff16615725565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff161561204f576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c81526020019081526020016000206001600280549050612246919061567c565b81546001810183556000928352602080842090910191909155338252600b905260408120805434929061227a90849061564a565b925050819055507f0000000000000000000000002453c1216e49704d84ea98a4dacd95738f2fc8ec6001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156122dc57600080fd5b505af11580156122f0573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b6002600d5460ff16600281111561234b5761234b61531c565b148061236d57506001600d5460ff16600281111561236b5761236b61531c565b145b1561237457565b6000600d5460ff16600281111561238d5761238d61531c565b146123c4576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e726001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612422573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612446919061574e565b1561247d576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff166000036124d9576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e726001600160a01b031690630314d2b390602401602060405180830381865afa158015612559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061257d919061574e565b9050806125b6576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e726001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561263057600080fd5b505af1925050508015612641575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e726001600160a01b03169063496b9c1690602401602060405180830381865afa1580156126c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126e6919061574e565b9050801561270057600d805460ff1916600117905561270e565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f916127459160ff90911690615353565b60405180910390a15050565b61162c8383836000611991565b60005471010000000000000000000000000000000000900460ff16156127b0576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e726001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015612810573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612834919061576b565b909250905081612870576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146128a357639824bdab6000526004601cfd5b803660011981013560f01c90036054013511612901576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b909152918220805491929091612b4290849061564a565b925050819055507f0000000000000000000000002453c1216e49704d84ea98a4dacd95738f2fc8ec6001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015612ba457600080fd5b505af1158015612bb8573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e726001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015612c97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cbb919061578f565b600a805460ff191663ffffffff92909216929092141790555050565b600080600054600160801b900460ff166002811115612cf857612cf861531c565b14612d165760405163067fe19560e41b815260040160405180910390fd5b600060028381548110612d2b57612d2b61561e565b600091825260208220600590910201805490925063ffffffff90811614612d9157815460028054909163ffffffff16908110612d6957612d6961561e565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b6004820154600090612dbc90600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b612dd09067ffffffffffffffff164261567c565b612de6612daf846001600160801b031660401c90565b67ffffffffffffffff16612dfa919061564a565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000049d401667ffffffffffffffff168167ffffffffffffffff1611612e475780611662565b7f0000000000000000000000000000000000000000000000000000000000049d4095945050505050565b600080612eee836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000049811115612f4d576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000612f6883836157cb565b9050670de0b6b3a76400006000612f9f827f00000000000000000000000000000000000000000000000000000000000000496157df565b90506000612fbd612fb8670de0b6b3a7640000866157df565b613fd5565b90506000612fcb8484614227565b90506000612fd98383614276565b90506000612fe6826142a4565b9050600061300582613000670de0b6b3a76400008f6157df565b61448c565b905060006130138b83614276565b905061301f818d6157df565b9f9e505050505050505050505050505050565b6002818154811061304257600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff1660028111156130c1576130c161531c565b036130e257506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b60008054600160801b900460ff16600281111561311d5761311d61531c565b1461313b5760405163067fe19560e41b815260040160405180910390fd5b6000600287815481106131505761315061561e565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506131a67f0000000000000000000000000000000000000000000000000000000000000049600161564a565b613220826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161461325a576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808915613336576132ad7f000000000000000000000000000000000000000000000000000000000000001e7f000000000000000000000000000000000000000000000000000000000000004961567c565b6001901b6132c3846001600160801b03166144bd565b6001600160801b03166132d691906157fe565b1561330a576133016132f260016001600160801b038716615812565b865463ffffffff166000614543565b6003015461332c565b7f03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc85b9150849050613357565b600385015491506133546132f26001600160801b0386166001615832565b90505b600882901b60088a8a60405161336e92919061560e565b6040518091039020901b146133af576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006133ba8c61460c565b905060006133c9836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000007babe08ee4d07dba236530183b24055535a70116001600160a01b03169063e14ced3290613436908f908f908f908f908a9060040161589d565b6020604051808303816000875af1158015613455573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061347991906156b0565b600485015491149150600090600290613502906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61357c896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61358691906158d7565b61359091906158fa565b60ff1615905081151581036135d1576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b03161561361b576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008054600160801b900460ff1660028111156136795761367961531c565b146136975760405163067fe19560e41b815260040160405180910390fd5b6000806000806136a68661463b565b935093509350935060006136bc85858585614994565b905060007f00000000000000000000000007babe08ee4d07dba236530183b24055535a70116001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561371e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137429190615693565b90506001890361380f576001600160a01b0381166352f0f3ad8a846137733660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156137e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061380991906156b0565b50611406565b6002890361382e576001600160a01b0381166352f0f3ad8a8489613773565b6003890361384d576001600160a01b0381166352f0f3ad8a8487613773565b6004890361398257600061388a6001600160801b0385167f000000000000000000000000000000000000000000000000000000000000001e614a33565b600954613897919061564a565b6138a290600161564a565b90503660011981013560f01c90036054013581106138cf573660011981013560f01c9003605401356138d1565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015613957573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061397b91906156b0565b5050611406565b60058903613a0e576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000210560c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a4016137c6565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003660011981013560f01c9003601401356060613a7b61166b565b9050909192565b600081831015613a925781613a94565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001613adc949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003613b48576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000613b7685614ac8565b919450925090506001816001811115613b9157613b9161531c565b14613bc8576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451613bd4838561564a565b14613c0b576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b6040805180820190915260008082526020820152815260200190600190039081613c225790505093506000835b8651811015613d1057600080613c956040518060400160405280858c60000151613c79919061567c565b8152602001858c60200151613c8e919061564a565b9052614ac8565b509150915060405180604001604052808383613cb1919061564a565b8152602001848b60200151613cc6919061564a565b815250888581518110613cdb57613cdb61561e565b6020908102919091010152613cf160018561564a565b9350613cfd818361564a565b613d07908461564a565b92505050613c4f565b50845250919392505050565b60606000806000613d2c85614ac8565b919450925090506000816001811115613d4757613d4761531c565b14613d7e576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613d88828461564a565b855114613dc1576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61166285602001518484614f66565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190613e0990849061564a565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b6000613e5c6001600160801b0384166001615832565b90506000613e6c82866001614543565b9050600086901a8380613f365750613ea560027f000000000000000000000000000000000000000000000000000000000000001e6157fe565b6004830154600290613f27906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b613f3191906158fa565b60ff16145b15613f8e5760ff811660011480613f50575060ff81166002145b613f89576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016128f8565b613fcc565b60ff811615613fcc576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016128f8565b50505050505050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b176000821361402b57631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261426457637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b6000816000190483118202156142945763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d782136142d257919050565b680755bf798b4a1bf1e582126142f05763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000613a94670de0b6b3a7640000836144a486613fd5565b6144ae919061591c565b6144b891906159d8565b6142a4565b600080614531837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b600080826145835761457e6001600160801b0386167f000000000000000000000000000000000000000000000000000000000000001e614ffb565b614595565b614595856001600160801b031661513a565b9050600284815481106145aa576145aa61561e565b906000526020600020906005020191505b60048201546001600160801b0382811691161461460457815460028054909163ffffffff169081106145ef576145ef61561e565b906000526020600020906005020191506145bb565b509392505050565b600080600080600061461d8661463b565b935093509350935061463184848484614994565b9695505050505050565b600080600080600085905060006002828154811061465b5761465b61561e565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000001e90614710906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161474a576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000001e906147ef906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561486457825463ffffffff1661482e7f000000000000000000000000000000000000000000000000000000000000001e600161564a565b8303614838578391505b6002818154811061484b5761484b61561e565b906000526020600020906005020193508094505061474e565b600481810154908401546001600160801b0391821691166000816001600160801b03166148a961489d856001600160801b031660011c90565b6001600160801b031690565b6001600160801b031614905080156149425760006148cf836001600160801b03166144bd565b6001600160801b0316111561491f5760006148ff6148f760016001600160801b038616615812565b896001614543565b6003810154600490910154909c506001600160801b03169a506149259050565b6008549a505b600386015460048701549099506001600160801b03169750614986565b600061495b6148f76001600160801b0385166001615832565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b038416156149ef5760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611662565b8282604051602001614a149291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614aa7847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614b0b576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614b30576000600160009450945094505050614f5f565b60b78111614c46576000614b4560808361567c565b905080876000015111614b84576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614bfc57507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614c33576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614f5f915050565b60bf8111614da4576000614c5b60b78361567c565b905080876000015111614c9a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614cfc576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614d44576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614d4e818461564a565b895111614d87576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614d9283600161564a565b9750955060009450614f5f9350505050565b60f78111614e09576000614db960c08361567c565b905080876000015111614df8576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614f5f915050565b6000614e1660f78361567c565b905080876000015111614e55576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614eb7576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614eff576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f09818461564a565b895111614f42576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f4d83600161564a565b9750955060019450614f5f9350505050565b9193909250565b60608167ffffffffffffffff811115614f8157614f81615584565b6040519080825280601f01601f191660200182016040528015614fab576020820181803683370190505b5090508115614ff4576000614fc0848661564a565b90506020820160005b84811015614fe1578281015182820152602001614fc9565b84811115614ff0576000858301525b5050505b9392505050565b600081615078846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161508e5763b34b5c226000526004601cfd5b6150978361513a565b905081615114826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611613a9757613a9461512a83600161564a565b6001600160801b038316906151c6565b600081196001830116816151b5827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061523a847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261526857600080fd5b50813567ffffffffffffffff81111561528057600080fd5b60208301915083602082850101111561529857600080fd5b9250929050565b600080600083850360a08112156152b557600080fd5b60808112156152c357600080fd5b50839250608084013567ffffffffffffffff8111156152e157600080fd5b6152ed86828701615256565b9497909650939450505050565b6000806040838503121561530d57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061535057634e487b7160e01b600052602160045260246000fd5b50565b6020810161536083615332565b91905290565b6001600160a01b038116811461535057600080fd5b60006020828403121561538d57600080fd5b8135614ff481615366565b6000806000606084860312156153ad57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b818110156153ea576020818501810151868301820152016153ce565b818111156153fc576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000613a9460208301846153c4565b60006020828403121561545457600080fd5b5035919050565b801515811461535057600080fd5b6000806000806080858703121561547f57600080fd5b843593506020850135925060408501359150606085013561549f8161545b565b939692955090935050565b6000602082840312156154bc57600080fd5b81356001600160801b0381168114614ff457600080fd5b600080600080600080608087890312156154ec57600080fd5b8635955060208701356154fe8161545b565b9450604087013567ffffffffffffffff8082111561551b57600080fd5b6155278a838b01615256565b9096509450606089013591508082111561554057600080fd5b5061554d89828a01615256565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061166260608301846153c4565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156155ac57600080fd5b6040516080810181811067ffffffffffffffff821117156155dd57634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561565d5761565d615634565b500190565b6000600019820361567557615675615634565b5060010190565b60008282101561568e5761568e615634565b500390565b6000602082840312156156a557600080fd5b8151614ff481615366565b6000602082840312156156c257600080fd5b5051919050565b600067ffffffffffffffff8083168185168083038211156156ec576156ec615634565b01949350505050565b600067ffffffffffffffff8083168185168183048111821515161561571c5761571c615634565b02949350505050565b600067ffffffffffffffff8381169083168181101561574657615746615634565b039392505050565b60006020828403121561576057600080fd5b8151614ff48161545b565b6000806040838503121561577e57600080fd5b505080516020909101519092909150565b6000602082840312156157a157600080fd5b815163ffffffff81168114614ff457600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826157da576157da6157b5565b500490565b60008160001904831182151516156157f9576157f9615634565b500290565b60008261580d5761580d6157b5565b500690565b60006001600160801b038381169083168181101561574657615746615634565b60006001600160801b038083168185168083038211156156ec576156ec615634565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6060815260006158b1606083018789615854565b82810360208401526158c4818688615854565b9150508260408301529695505050505050565b600060ff821660ff8416808210156158f1576158f1615634565b90039392505050565b600060ff83168061590d5761590d6157b5565b8060ff84160691505092915050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60008413600084138583048511828216161561595d5761595d615634565b7f8000000000000000000000000000000000000000000000000000000000000000600087128682058812818416161561599857615998615634565b600087129250878205871284841616156159b4576159b4615634565b878505871281841616156159ca576159ca615634565b505050929093029392505050565b6000826159e7576159e76157b5565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615a1d57615a1d615634565b50059056fea164736f6c634300080f000a, 0, 0x6101c06040523480156200001257600080fd5b506040516200626f3803806200626f83398101604081905262000035916200052e565b620000436001607e62000601565b60ff16816040015111156200006b57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000955750604081015160608201516200009290600162000627565b10155b15620000b45760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000db5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000128573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014e919062000642565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b2919062000662565b1115620001d25760405163b4e1243360e01b815260040160405180910390fd5b6000620001f782608001516001600160401b03166200048060201b62000c701760201c565b6200020d906001600160401b031660026200067c565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000254573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027a919062000642565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002de919062000662565b6200030184608001516001600160401b03166200048060201b62000c701760201c565b6001600160401b031662000316919062000627565b905060006200033183836200048360201b62003a821760201c565b90506001600160401b038111156200035c5760405163235dfb2b60e21b815260040160405180910390fd5b6200037f8460a001516001600160401b03166200048060201b62000c701760201c565b6001600160401b0316816001600160401b03161115620003b25760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003d9856000015163ffffffff166200048060201b62000c701760201c565b63ffffffff1603620003fe5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015116610160529091015161018052506200069e565b90565b60008183101562000495578162000497565b825b9392505050565b60405161014081016001600160401b0381118282101715620004d057634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004eb57600080fd5b919050565b80516001600160401b0381168114620004eb57600080fd5b6001600160a01b03811681146200051e57600080fd5b50565b8051620004eb8162000508565b600061014082840312156200054257600080fd5b6200054c6200049e565b6200055783620004d6565b81526020830151602082015260408301516040820152606083015160608201526200058560808401620004f0565b60808201526200059860a08401620004f0565b60a0820152620005ab60c0840162000521565b60c0820152620005be60e0840162000521565b60e0820152610100620005d381850162000521565b90820152610120928301519281019290925250919050565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8416808210156200061e576200061e620005eb565b90039392505050565b600082198211156200063d576200063d620005eb565b500190565b6000602082840312156200065557600080fd5b8151620004978162000508565b6000602082840312156200067557600080fd5b5051919050565b6000816000190483118215151615620006995762000699620005eb565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051615a2f620008406000396000818161072f01528181611e7c01528181611ee70152611f1a015260008181610a4901526139c00152600081816106a5015281816123c60152818161250a015281816125e401528181612673015281816127b50152612c44015260008181610593015281816117aa015281816118a6015281816122830152612b4b0152600081816108cc01528181612c1b0152613a4201526000818161053001528181611d95015281816133f101526136c2015260008181610a9c01528181610f0301528181611d0501528181611f4a01528181611fa901528181612e070152612e49015260008181610acf01528181611b4e01528181611c7401528181611eb8015281816132680152818161386601528181613e810152818161455a01528181614676015281816147550152614808015260008181610b7601528181611c1701528181611d6901528181612ef501528181612f7b0152818161318001526132890152600081816107f1015261330c0152615a2f6000f3fe60806040526004361061033f5760003560e01c806370872aa5116101b0578063c395e1ca116100ec578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b23578063fa24f74314610b43578063fa315aa914610b67578063fe2bbeb214610b9a57600080fd5b8063dabd396d14610a8d578063ec5e630814610ac0578063eff0f59214610af357600080fd5b8063d5d44d80116100c6578063d5d44d8014610a1a578063d6ae3cd514610a3a578063d8cc1a3c14610a6d57600080fd5b8063c395e1ca14610965578063c6f0308c14610985578063cf09e0d0146109f957600080fd5b80638d450a9511610159578063bbdc02db11610133578063bbdc02db146108b5578063bcef3b55146108f6578063bd8da95614610918578063c0d8bb741461093857600080fd5b80638d450a95146107e257806399735e32146107c0578063a445ece61461081557600080fd5b80638129fc1c1161018a5780638129fc1c146107a35780638980e0cc146107ab5780638b85902b146107c057600080fd5b806370872aa514610766578063786b844b1461077b5780637b0f0adc1461079057600080fd5b80633e3ac9121161027f5780635a5fa2d91161022857806360e274641161020257806360e27464146106de5780636361506d146106fe5780636b6716c0146107205780636f0344091461075357600080fd5b80635a5fa2d9146106765780635c0cba3314610696578063609d3334146106c957600080fd5b8063529d6a8c11610259578063529d6a8c146105ca57806354fd4d50146105f757806357da950e1461064657600080fd5b80633e3ac912146105545780633fc8cef314610584578063472777c6146105b757600080fd5b806325fc2ace116102ec57806330dbe570116102c657806330dbe570146104ad578063378dd48c146104e557806337b1b229146104ff5780633a7684631461052157600080fd5b806325fc2ace146104595780632810e1d6146104785780632ad69aeb1461048d57600080fd5b8063200d2ed21161031d578063200d2ed2146103d1578063222abf45146103ff578063250e69bd1461043f57600080fd5b8063019351301461034457806303c2924d1461036657806319effeb414610386575b600080fd5b34801561035057600080fd5b5061036461035f36600461529f565b610bca565b005b34801561037257600080fd5b506103646103813660046152fa565b610e89565b34801561039257600080fd5b506000546103b39068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103dd57600080fd5b506000546103f290600160801b900460ff1681565b6040516103c89190615353565b34801561040b57600080fd5b5061042f61041a36600461537b565b600c6020526000908152604090205460ff1681565b60405190151581526020016103c8565b34801561044b57600080fd5b50600a5461042f9060ff1681565b34801561046557600080fd5b506008545b6040519081526020016103c8565b34801561048457600080fd5b506103f2611411565b34801561049957600080fd5b5061046a6104a83660046152fa565b6115e9565b3480156104b957600080fd5b506001546104cd906001600160a01b031681565b6040516001600160a01b0390911681526020016103c8565b3480156104f157600080fd5b50600d546103f29060ff1681565b34801561050b57600080fd5b503660011981013560f01c90033560601c6104cd565b34801561052d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b34801561056057600080fd5b5060005461042f907201000000000000000000000000000000000000900460ff1681565b34801561059057600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b6103646105c5366004615398565b61161f565b3480156105d657600080fd5b5061046a6105e536600461537b565b60036020526000908152604090205481565b34801561060357600080fd5b5060408051808201909152600581527f312e372e3000000000000000000000000000000000000000000000000000000060208201525b6040516103c8919061542f565b34801561065257600080fd5b50600854600954610661919082565b604080519283526020830191909152016103c8565b34801561068257600080fd5b5061046a610691366004615442565b611631565b3480156106a257600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b3480156106d557600080fd5b5061063961166b565b3480156106ea57600080fd5b506103646106f936600461537b565b611679565b34801561070a57600080fd5b503660011981013560f01c90036034013561046a565b34801561072c57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103b3565b610364610761366004615469565b611991565b34801561077257600080fd5b5060095461046a565b34801561078757600080fd5b50610364612332565b61036461079e366004615398565b612751565b61036461275e565b3480156107b757600080fd5b5060025461046a565b3480156107cc57600080fd5b503660011981013560f01c90036054013561046a565b3480156107ee57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b34801561082157600080fd5b50610877610830366004615442565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103c8565b3480156108c157600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103c8565b34801561090257600080fd5b503660011981013560f01c90036014013561046a565b34801561092457600080fd5b506103b3610933366004615442565b612cd7565b34801561094457600080fd5b5061046a61095336600461537b565b600b6020526000908152604090205481565b34801561097157600080fd5b5061046a6109803660046154aa565b612e71565b34801561099157600080fd5b506109a56109a0366004615442565b613032565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103c8565b348015610a0557600080fd5b506000546103b39067ffffffffffffffff1681565b348015610a2657600080fd5b5061046a610a3536600461537b565b6130a6565b348015610a4657600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610a7957600080fd5b50610364610a883660046154d3565b6130fe565b348015610a9957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103b3565b348015610acc57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610aff57600080fd5b5061042f610b0e366004615442565b60046020526000908152604090205460ff1681565b348015610b2f57600080fd5b50610364610b3e366004615398565b61365a565b348015610b4f57600080fd5b50610b58613a40565b6040516103c89392919061555f565b348015610b7357600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610ba657600080fd5b5061042f610bb5366004615442565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610be957610be961531c565b14610c075760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610c5a576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c733660011981013560f01c90036014013590565b90565b610c8a610c853686900386018661559a565b613a9d565b14610cc1576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610cd692919061560e565b604051809103902014610d15576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d5e610d5984848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613af992505050565b613b66565b90506000610d8582600881518110610d7857610d7861561e565b6020026020010151613d1c565b9050602081511115610dc3576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e1a576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610ea857610ea861531c565b14610ec65760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610edb57610edb61561e565b906000526020600020906005020190506000610ef684612cd7565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610f5f576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615610fa8576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000848152600560205260409020805480158015610fc557508515155b1561102857835464010000000090046001600160a01b031660008115610feb5781610ffa565b60018601546001600160a01b03165b90506110068187613dd0565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b031660608301526110ac576001600160801b0360408201526001815260008690036110ac578195505b600086826020015163ffffffff166110c4919061564a565b905060008382116110d557816110d7565b835b602084015190915063ffffffff165b818110156111f75760008682815481106111025761110261561e565b6000918252602080832090910154808352600690915260409091205490915060ff1661115a576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002828154811061116f5761116f61561e565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156111b65750600481015460408701516001600160801b039182169116115b156111e25760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b505080806111ef90615662565b9150506110e6565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361140657606083015160008a8152600660205260409020805460ff191660011790558915801561134357506000547201000000000000000000000000000000000000900460ff165b1561139e576001546001600160a01b031661135e818a613dd0565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611404565b6113cb6001600160a01b038216156113b657816113c5565b60018901546001600160a01b03165b89613dd0565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156114325761143261531c565b146114505760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166114b4576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b031660026000815481106114d3576114d361561e565b600091825260209091206005909102015464010000000090046001600160a01b031614611501576001611504565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b8360028111156115a8576115a861531c565b0217905560028111156115bd576115bd61531c565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061160557600080fd5b90600052602060002001600091509150505481565b905090565b61162c8383836001611991565b505050565b6000818152600760209081526040808320600590925282208054825461166290610100900463ffffffff168261567c565b95945050505050565b606061161a60546020613e12565b611681612332565b60006002600d5460ff16600281111561169c5761169c61531c565b036116c057506001600160a01b0381166000908152600b602052604090205461172f565b6001600d5460ff1660028111156116d9576116d961531c565b036116fd57506001600160a01b03811660009081526003602052604090205461172f565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff1661180c576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b1580156117f057600080fd5b505af1158015611804573d6000803e3d6000fd5b505050505050565b80600003611846576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b1580156118ec57600080fd5b505af1158015611900573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611951576040519150601f19603f3d011682016040523d82523d6000602084013e611956565b606091505b505090508061162c576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054600160801b900460ff1660028111156119b0576119b061531c565b146119ce5760405163067fe19560e41b815260040160405180910390fd5b6000600284815481106119e3576119e361561e565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514611aa7576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000611b3c826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580611b775750611b747f0000000000000000000000000000000000000000000000000000000000000000600261564a565b81145b8015611b81575084155b15611bb8576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015611bde575086155b15611c15576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115611c6f576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c9a7f0000000000000000000000000000000000000000000000000000000000000000600161564a565b8103611cac57611cac86888588613e46565b34611cb683612e71565b14611ced576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611cf888612cd7565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603611d60576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611d8d60017f000000000000000000000000000000000000000000000000000000000000000061567c565b8303611eb1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611df1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e159190615693565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7691906156b0565b611eaa907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166156c9565b9050611f44565b611edc60017f000000000000000000000000000000000000000000000000000000000000000061567c565b8303611f1757611eaa7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff1660026156f5565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b611f78817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615725565b67ffffffffffffffff16611f938367ffffffffffffffff1690565b67ffffffffffffffff161115611fda57611fd7817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615725565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff161561204f576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c81526020019081526020016000206001600280549050612246919061567c565b81546001810183556000928352602080842090910191909155338252600b905260408120805434929061227a90849061564a565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156122dc57600080fd5b505af11580156122f0573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b6002600d5460ff16600281111561234b5761234b61531c565b148061236d57506001600d5460ff16600281111561236b5761236b61531c565b145b1561237457565b6000600d5460ff16600281111561238d5761238d61531c565b146123c4576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612422573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612446919061574e565b1561247d576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff166000036124d9576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015612559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061257d919061574e565b9050806125b6576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561263057600080fd5b505af1925050508015612641575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa1580156126c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126e6919061574e565b9050801561270057600d805460ff1916600117905561270e565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f916127459160ff90911690615353565b60405180910390a15050565b61162c8383836000611991565b60005471010000000000000000000000000000000000900460ff16156127b0576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015612810573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612834919061576b565b909250905081612870576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146128a357639824bdab6000526004601cfd5b803660011981013560f01c90036054013511612901576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b909152918220805491929091612b4290849061564a565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015612ba457600080fd5b505af1158015612bb8573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015612c97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cbb919061578f565b600a805460ff191663ffffffff92909216929092141790555050565b600080600054600160801b900460ff166002811115612cf857612cf861531c565b14612d165760405163067fe19560e41b815260040160405180910390fd5b600060028381548110612d2b57612d2b61561e565b600091825260208220600590910201805490925063ffffffff90811614612d9157815460028054909163ffffffff16908110612d6957612d6961561e565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b6004820154600090612dbc90600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b612dd09067ffffffffffffffff164261567c565b612de6612daf846001600160801b031660401c90565b67ffffffffffffffff16612dfa919061564a565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611612e475780611662565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612eee836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115612f4d576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000612f6883836157cb565b9050670de0b6b3a76400006000612f9f827f00000000000000000000000000000000000000000000000000000000000000006157df565b90506000612fbd612fb8670de0b6b3a7640000866157df565b613fd5565b90506000612fcb8484614227565b90506000612fd98383614276565b90506000612fe6826142a4565b9050600061300582613000670de0b6b3a76400008f6157df565b61448c565b905060006130138b83614276565b905061301f818d6157df565b9f9e505050505050505050505050505050565b6002818154811061304257600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff1660028111156130c1576130c161531c565b036130e257506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b60008054600160801b900460ff16600281111561311d5761311d61531c565b1461313b5760405163067fe19560e41b815260040160405180910390fd5b6000600287815481106131505761315061561e565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506131a67f0000000000000000000000000000000000000000000000000000000000000000600161564a565b613220826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161461325a576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808915613336576132ad7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061567c565b6001901b6132c3846001600160801b03166144bd565b6001600160801b03166132d691906157fe565b1561330a576133016132f260016001600160801b038716615812565b865463ffffffff166000614543565b6003015461332c565b7f00000000000000000000000000000000000000000000000000000000000000005b9150849050613357565b600385015491506133546132f26001600160801b0386166001615832565b90505b600882901b60088a8a60405161336e92919061560e565b6040518091039020901b146133af576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006133ba8c61460c565b905060006133c9836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced3290613436908f908f908f908f908a9060040161589d565b6020604051808303816000875af1158015613455573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061347991906156b0565b600485015491149150600090600290613502906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61357c896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61358691906158d7565b61359091906158fa565b60ff1615905081151581036135d1576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b03161561361b576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008054600160801b900460ff1660028111156136795761367961531c565b146136975760405163067fe19560e41b815260040160405180910390fd5b6000806000806136a68661463b565b935093509350935060006136bc85858585614994565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561371e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137429190615693565b90506001890361380f576001600160a01b0381166352f0f3ad8a846137733660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156137e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061380991906156b0565b50611406565b6002890361382e576001600160a01b0381166352f0f3ad8a8489613773565b6003890361384d576001600160a01b0381166352f0f3ad8a8487613773565b6004890361398257600061388a6001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000614a33565b600954613897919061564a565b6138a290600161564a565b90503660011981013560f01c90036054013581106138cf573660011981013560f01c9003605401356138d1565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015613957573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061397b91906156b0565b5050611406565b60058903613a0e576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a4016137c6565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003660011981013560f01c9003601401356060613a7b61166b565b9050909192565b600081831015613a925781613a94565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001613adc949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003613b48576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000613b7685614ac8565b919450925090506001816001811115613b9157613b9161531c565b14613bc8576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451613bd4838561564a565b14613c0b576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b6040805180820190915260008082526020820152815260200190600190039081613c225790505093506000835b8651811015613d1057600080613c956040518060400160405280858c60000151613c79919061567c565b8152602001858c60200151613c8e919061564a565b9052614ac8565b509150915060405180604001604052808383613cb1919061564a565b8152602001848b60200151613cc6919061564a565b815250888581518110613cdb57613cdb61561e565b6020908102919091010152613cf160018561564a565b9350613cfd818361564a565b613d07908461564a565b92505050613c4f565b50845250919392505050565b60606000806000613d2c85614ac8565b919450925090506000816001811115613d4757613d4761531c565b14613d7e576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613d88828461564a565b855114613dc1576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61166285602001518484614f66565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190613e0990849061564a565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b6000613e5c6001600160801b0384166001615832565b90506000613e6c82866001614543565b9050600086901a8380613f365750613ea560027f00000000000000000000000000000000000000000000000000000000000000006157fe565b6004830154600290613f27906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b613f3191906158fa565b60ff16145b15613f8e5760ff811660011480613f50575060ff81166002145b613f89576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016128f8565b613fcc565b60ff811615613fcc576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016128f8565b50505050505050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b176000821361402b57631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261426457637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b6000816000190483118202156142945763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d782136142d257919050565b680755bf798b4a1bf1e582126142f05763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000613a94670de0b6b3a7640000836144a486613fd5565b6144ae919061591c565b6144b891906159d8565b6142a4565b600080614531837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b600080826145835761457e6001600160801b0386167f0000000000000000000000000000000000000000000000000000000000000000614ffb565b614595565b614595856001600160801b031661513a565b9050600284815481106145aa576145aa61561e565b906000526020600020906005020191505b60048201546001600160801b0382811691161461460457815460028054909163ffffffff169081106145ef576145ef61561e565b906000526020600020906005020191506145bb565b509392505050565b600080600080600061461d8661463b565b935093509350935061463184848484614994565b9695505050505050565b600080600080600085905060006002828154811061465b5761465b61561e565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614710906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161474a576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f0000000000000000000000000000000000000000000000000000000000000000906147ef906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561486457825463ffffffff1661482e7f0000000000000000000000000000000000000000000000000000000000000000600161564a565b8303614838578391505b6002818154811061484b5761484b61561e565b906000526020600020906005020193508094505061474e565b600481810154908401546001600160801b0391821691166000816001600160801b03166148a961489d856001600160801b031660011c90565b6001600160801b031690565b6001600160801b031614905080156149425760006148cf836001600160801b03166144bd565b6001600160801b0316111561491f5760006148ff6148f760016001600160801b038616615812565b896001614543565b6003810154600490910154909c506001600160801b03169a506149259050565b6008549a505b600386015460048701549099506001600160801b03169750614986565b600061495b6148f76001600160801b0385166001615832565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b038416156149ef5760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611662565b8282604051602001614a149291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614aa7847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614b0b576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614b30576000600160009450945094505050614f5f565b60b78111614c46576000614b4560808361567c565b905080876000015111614b84576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614bfc57507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614c33576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614f5f915050565b60bf8111614da4576000614c5b60b78361567c565b905080876000015111614c9a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614cfc576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614d44576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614d4e818461564a565b895111614d87576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614d9283600161564a565b9750955060009450614f5f9350505050565b60f78111614e09576000614db960c08361567c565b905080876000015111614df8576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614f5f915050565b6000614e1660f78361567c565b905080876000015111614e55576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614eb7576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614eff576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f09818461564a565b895111614f42576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f4d83600161564a565b9750955060019450614f5f9350505050565b9193909250565b60608167ffffffffffffffff811115614f8157614f81615584565b6040519080825280601f01601f191660200182016040528015614fab576020820181803683370190505b5090508115614ff4576000614fc0848661564a565b90506020820160005b84811015614fe1578281015182820152602001614fc9565b84811115614ff0576000858301525b5050505b9392505050565b600081615078846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161508e5763b34b5c226000526004601cfd5b6150978361513a565b905081615114826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611613a9757613a9461512a83600161564a565b6001600160801b038316906151c6565b600081196001830116816151b5827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061523a847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261526857600080fd5b50813567ffffffffffffffff81111561528057600080fd5b60208301915083602082850101111561529857600080fd5b9250929050565b600080600083850360a08112156152b557600080fd5b60808112156152c357600080fd5b50839250608084013567ffffffffffffffff8111156152e157600080fd5b6152ed86828701615256565b9497909650939450505050565b6000806040838503121561530d57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061535057634e487b7160e01b600052602160045260246000fd5b50565b6020810161536083615332565b91905290565b6001600160a01b038116811461535057600080fd5b60006020828403121561538d57600080fd5b8135614ff481615366565b6000806000606084860312156153ad57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b818110156153ea576020818501810151868301820152016153ce565b818111156153fc576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000613a9460208301846153c4565b60006020828403121561545457600080fd5b5035919050565b801515811461535057600080fd5b6000806000806080858703121561547f57600080fd5b843593506020850135925060408501359150606085013561549f8161545b565b939692955090935050565b6000602082840312156154bc57600080fd5b81356001600160801b0381168114614ff457600080fd5b600080600080600080608087890312156154ec57600080fd5b8635955060208701356154fe8161545b565b9450604087013567ffffffffffffffff8082111561551b57600080fd5b6155278a838b01615256565b9096509450606089013591508082111561554057600080fd5b5061554d89828a01615256565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061166260608301846153c4565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156155ac57600080fd5b6040516080810181811067ffffffffffffffff821117156155dd57634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561565d5761565d615634565b500190565b6000600019820361567557615675615634565b5060010190565b60008282101561568e5761568e615634565b500390565b6000602082840312156156a557600080fd5b8151614ff481615366565b6000602082840312156156c257600080fd5b5051919050565b600067ffffffffffffffff8083168185168083038211156156ec576156ec615634565b01949350505050565b600067ffffffffffffffff8083168185168183048111821515161561571c5761571c615634565b02949350505050565b600067ffffffffffffffff8381169083168181101561574657615746615634565b039392505050565b60006020828403121561576057600080fd5b8151614ff48161545b565b6000806040838503121561577e57600080fd5b505080516020909101519092909150565b6000602082840312156157a157600080fd5b815163ffffffff81168114614ff457600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826157da576157da6157b5565b500490565b60008160001904831182151516156157f9576157f9615634565b500290565b60008261580d5761580d6157b5565b500690565b60006001600160801b038381169083168181101561574657615746615634565b60006001600160801b038083168185168083038211156156ec576156ec615634565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6060815260006158b1606083018789615854565b82810360208401526158c4818688615854565b9150508260408301529695505050505050565b600060ff821660ff8416808210156158f1576158f1615634565b90039392505050565b600060ff83168061590d5761590d6157b5565b8060ff84160691505092915050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60008413600084138583048511828216161561595d5761595d615634565b7f8000000000000000000000000000000000000000000000000000000000000000600087128682058812818416161561599857615998615634565b600087129250878205871284841616156159b4576159b4615634565b878505871281841616156159ca576159ca615634565b505050929093029392505050565b6000826159e7576159e76157b5565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615a1d57615a1d615634565b50059056fea164736f6c634300080f000a000000000000000000000000000000000000000000000000000000000000000003eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc80000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d4000000000000000000000000007babe08ee4d07dba236530183b24055535a70110000000000000000000000002453c1216e49704d84ea98a4dacd95738f2fc8ec000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e720000000000000000000000000000000000000000000000000000000000002105, false, [], 6), ((0, 1), 3, 0x07BABE08EE4D07dBA236530183B24055535A7011, 0xe4066890367BF8A51d58377431808083A01b1E0c, true, 0, 0, 0x, 0, 0x7dc0d1d0, false, [], 7), ((0, 1), 3, 0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3, 0xe4066890367BF8A51d58377431808083A01b1E0c, true, 0, 0, 0x, 0, 0xf3f480d9, false, [], 7), ((0, 1), 3, 0x07BABE08EE4D07dBA236530183B24055535A7011, 0xe4066890367BF8A51d58377431808083A01b1E0c, true, 0, 0, 0x, 0, 0x7dc0d1d0, false, [], 7), ((0, 1), 3, 0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3, 0xe4066890367BF8A51d58377431808083A01b1E0c, true, 0, 0, 0x, 0, 0xf3f480d9, false, [], 7), ((0, 1), 3, 0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, false)], 6), ((0, 1), 1, 0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ac, false, 0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e, 0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e, false)], 7), ((0, 1), 3, 0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x73a79Fab69143498Ed3712e519A88a918e1f4072, true, 703271672950728489260372, 703271672950728489260372, 0x, 0, 0xf2b4e617, false, [(0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, false)], 8), ((0, 1), 1, 0x381E729FF983FA4BCEd820e7b922d79bF653B999, 0x73a79Fab69143498Ed3712e519A88a918e1f4072, true, 703271672950728489260372, 703271672950728489260372, 0x, 0, 0xf2b4e617, false, [(0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x000000000000000000000000000000000000000000000000000000000000003e, false, 0x000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e72, 0x000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e72, false)], 9), ((0, 1), 3, 0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, false)], 10), ((0, 1), 1, 0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E, 0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x0000000000000000000000000000000000000000000000000000000000000001, false, 0x00000000000000000000000043edb88c4b80fdd2adff2412a7bebf9df42cb40e, 0x00000000000000000000000043edb88c4b80fdd2adff2412a7bebf9df42cb40e, false)], 11), ((0, 1), 8, 0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 0, 0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x14f6b1a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e4066890367bf8a51d58377431808083a01b1e0c, false, [(0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false)], 6), ((0, 1), 1, 0x33D1e8571a85a538ed3D5A4d88f46C112383439D, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x14f6b1a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e4066890367bf8a51d58377431808083a01b1e0c, false, [(0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0x0000000000000000000000000000000000000000000000000000000000000033, false, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, false), (0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b, false, 0x000000000000000000000000ab91fb6cef84199145133f75cbd96b8a31f184ed, 0x000000000000000000000000ab91fb6cef84199145133f75cbd96b8a31f184ed, false), (0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b, true, 0x000000000000000000000000ab91fb6cef84199145133f75cbd96b8a31f184ed, 0x000000000000000000000000e4066890367bf8a51d58377431808083a01b1e0c, false)], 7)]\"\n    }\n  },\n  \"timestamp\": 1759862580,\n  \"chain\": 1,\n  \"commit\": \"f3eb9b30\"\n}"
  },
  {
    "path": "mainnet/2025-10-20-incident-multisig-signers/FACILITATORS.md",
    "content": "# Facilitator Guide\n\nGuide for facilitators after collecting signatures from signers.\n\n## 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd mainnet/2025-10-20-incident-multisig-signers\nmake deps\n```\n\n## 2. Execute the transaction\n\n```bash\nSIGNATURES=AAAABBBBCCCC make execute\n```\n\n## 3. Set status in README to `EXECUTED (tx-link)`\n\n## 4. Check in execution materials\n"
  },
  {
    "path": "mainnet/2025-10-20-incident-multisig-signers/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nSCRIPT = UpdateSigners\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: deps\ndeps: new-forge-deps\n\n.PHONY: new-forge-deps\nnew-forge-deps:\n\tforge install --no-git safe-global/safe-smart-account@186a21a74b327f17fc41217a927dea7064f74604\n\n.PHONY: gen-validation\ngen-validation: checkout-signer-tool run-script\n\n.PHONY: run-script\nrun-script:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(L1_RPC_URL) \\\n\t--workdir .. --forge-cmd 'forge script --rpc-url $(L1_RPC_URL) \\\n\t$(SCRIPT) --sig \"sign(address[])\" [] --sender $(SENDER)' --out ../validations/base-signer.json;\n\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(L1_RPC_URL) \\\n\t$(SCRIPT) --sig \"run(bytes)\" $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" \\\n\t--broadcast -vvvv\n"
  },
  {
    "path": "mainnet/2025-10-20-incident-multisig-signers/OwnerDiff.json",
    "content": "{\n  \"OwnersToAdd\": [\n    \"0x5B154B8587168CB984Ff610F5De74289D8f68874\",\n    \"0x1841CB3C2ce6870D0417844C817849da64E6e937\"\n  ],\n  \"OwnersToRemove\": [\n    \"0x73565876170a336Fa02fDe34EeD03E3121f70bA6\",\n    \"0x92B79E6C995Ee8B267EC1Ac2743D1c1fBFFFc447\",\n    \"0x9bf96dcf51959915c8c343a3e50820ad069a1859\"\n  ]\n}\n"
  },
  {
    "path": "mainnet/2025-10-20-incident-multisig-signers/README.md",
    "content": "# Update Mainnet Incident Multisig Signers\n\nStatus: [EXECUTED](https://etherscan.io/tx/0x025136190525da4d406bb571b0373022343fa734e3a30182ca977981b989e963)\n\n## Description\n\nWe wish to update the owners of our [Incident Multisig](https://etherscan.io/address/0x14536667Cd30e52C0b458BaACcB9faDA7046E056) on Mainnet to be consistent with the current state of our Base Chain Eng team. This involves removing signers that are no longer closely involved with the team, and adding new team members as signers. The exact signer changes are outlined in the [OwnerDiff.json](./OwnerDiff.json) file.\n\n## Setup\n\n### 1. Update foundry\n\n```\nfoundryup\n```\n\n### 2. Install Node.js if needed\n\nCheck if you have node installed\n\n```bash\nnode --version\n```\n\nIf you do not see a version above or if it is older than v18.18, install\n\n```bash\nbrew install node\n```\n\n## Sign Task\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root).\n\n```bash\nmake sign-task\n```\n\n### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\n### 4. After signing, you can end the signer tool process with Ctrl + C\n"
  },
  {
    "path": "mainnet/2025-10-20-incident-multisig-signers/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "mainnet/2025-10-20-incident-multisig-signers/records/UpdateSigners.s.sol/1/run-1761579001803.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x025136190525da4d406bb571b0373022343fa734e3a30182ca977981b989e963\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004e000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000005b154b8587168cb984ff610f5de74289d8f6887400000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000001841cb3c2ce6870d0417844c817849da64e6e93700000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e0560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd900000000000000000000000026c72586fb396325f58718152fefa94e93cf177b00000000000000000000000073565876170a336fa02fde34eed03e3121f70ba600000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e0560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd900000000000000000000000026c72586fb396325f58718152fefa94e93cf177b00000000000000000000000092b79e6c995ee8b267ec1ac2743d1c1fbfffc44700000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e0560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a31e1c38d5c37d8ecd0e94c80c0f7fd624d009a30000000000000000000000009bf96dcf51959915c8c343a3e50820ad069a1859000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x89ef7abb51b85b0710762d0b362b08a9a0110d4c9b29f34cebf52fe1f72a4a502046f8585855c335cb7149c9a58877a959beaff1169b1a1bfb4ce62dc6191e441b775cdd9e5d23a706140f2b9e2f3bfb4bfc76444eaf3bc3603a6ad6fcea856d820d0436694fb2085d23f4964657bd678643ba6cf33379033229732f412427c68a1b74c35c554c883ce153cf8779a1920125f6713bd57f0acf9ef1e33f490eddbfd766cb1656a3c517d64fd562f59b9e7d423c9edc24a77bc5a22571af4097bc824e1c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x3b3ce\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000000000644174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004e000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000005b154b8587168cb984ff610f5de74289d8f6887400000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000001841cb3c2ce6870d0417844c817849da64e6e93700000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e0560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd900000000000000000000000026c72586fb396325f58718152fefa94e93cf177b00000000000000000000000073565876170a336fa02fde34eed03e3121f70ba600000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e0560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd900000000000000000000000026c72586fb396325f58718152fefa94e93cf177b00000000000000000000000092b79e6c995ee8b267ec1ac2743d1c1fbfffc44700000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e0560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a31e1c38d5c37d8ecd0e94c80c0f7fd624d009a30000000000000000000000009bf96dcf51959915c8c343a3e50820ad069a18590000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c389ef7abb51b85b0710762d0b362b08a9a0110d4c9b29f34cebf52fe1f72a4a502046f8585855c335cb7149c9a58877a959beaff1169b1a1bfb4ce62dc6191e441b775cdd9e5d23a706140f2b9e2f3bfb4bfc76444eaf3bc3603a6ad6fcea856d820d0436694fb2085d23f4964657bd678643ba6cf33379033229732f412427c68a1b74c35c554c883ce153cf8779a1920125f6713bd57f0acf9ef1e33f490eddbfd766cb1656a3c517d64fd562f59b9e7d423c9edc24a77bc5a22571af4097bc824e1c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x37\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1084840\",\n      \"logs\": [\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x0000000000000000000000005b154b8587168cb984ff610f5de74289d8f68874\",\n          \"blockHash\": \"0x78d3171c369665cce2579289509b314937901e5074f1314b6387aa5cb1c8d763\",\n          \"blockNumber\": \"0x1692bb0\",\n          \"blockTimestamp\": \"0x68ff8ff7\",\n          \"transactionHash\": \"0x025136190525da4d406bb571b0373022343fa734e3a30182ca977981b989e963\",\n          \"transactionIndex\": \"0x97\",\n          \"logIndex\": \"0x1ac\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x0000000000000000000000001841cb3c2ce6870d0417844c817849da64e6e937\",\n          \"blockHash\": \"0x78d3171c369665cce2579289509b314937901e5074f1314b6387aa5cb1c8d763\",\n          \"blockNumber\": \"0x1692bb0\",\n          \"blockTimestamp\": \"0x68ff8ff7\",\n          \"transactionHash\": \"0x025136190525da4d406bb571b0373022343fa734e3a30182ca977981b989e963\",\n          \"transactionIndex\": \"0x97\",\n          \"logIndex\": \"0x1ad\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x00000000000000000000000073565876170a336fa02fde34eed03e3121f70ba6\",\n          \"blockHash\": \"0x78d3171c369665cce2579289509b314937901e5074f1314b6387aa5cb1c8d763\",\n          \"blockNumber\": \"0x1692bb0\",\n          \"blockTimestamp\": \"0x68ff8ff7\",\n          \"transactionHash\": \"0x025136190525da4d406bb571b0373022343fa734e3a30182ca977981b989e963\",\n          \"transactionIndex\": \"0x97\",\n          \"logIndex\": \"0x1ae\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x00000000000000000000000092b79e6c995ee8b267ec1ac2743d1c1fbfffc447\",\n          \"blockHash\": \"0x78d3171c369665cce2579289509b314937901e5074f1314b6387aa5cb1c8d763\",\n          \"blockNumber\": \"0x1692bb0\",\n          \"blockTimestamp\": \"0x68ff8ff7\",\n          \"transactionHash\": \"0x025136190525da4d406bb571b0373022343fa734e3a30182ca977981b989e963\",\n          \"transactionIndex\": \"0x97\",\n          \"logIndex\": \"0x1af\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x0000000000000000000000009bf96dcf51959915c8c343a3e50820ad069a1859\",\n          \"blockHash\": \"0x78d3171c369665cce2579289509b314937901e5074f1314b6387aa5cb1c8d763\",\n          \"blockNumber\": \"0x1692bb0\",\n          \"blockTimestamp\": \"0x68ff8ff7\",\n          \"transactionHash\": \"0x025136190525da4d406bb571b0373022343fa734e3a30182ca977981b989e963\",\n          \"transactionIndex\": \"0x97\",\n          \"logIndex\": \"0x1b0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xf41795b86a7653a6a3ac45e80371abde32fd75c3379fb6bfc8913065f5f568f30000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x78d3171c369665cce2579289509b314937901e5074f1314b6387aa5cb1c8d763\",\n          \"blockNumber\": \"0x1692bb0\",\n          \"blockTimestamp\": \"0x68ff8ff7\",\n          \"transactionHash\": \"0x025136190525da4d406bb571b0373022343fa734e3a30182ca977981b989e963\",\n          \"transactionIndex\": \"0x97\",\n          \"logIndex\": \"0x1b1\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000010000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000040000000000000400000000000000000000000008000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x025136190525da4d406bb571b0373022343fa734e3a30182ca977981b989e963\",\n      \"transactionIndex\": \"0x97\",\n      \"blockHash\": \"0x78d3171c369665cce2579289509b314937901e5074f1314b6387aa5cb1c8d763\",\n      \"blockNumber\": \"0x1692bb0\",\n      \"gasUsed\": \"0x28813\",\n      \"effectiveGasPrice\": \"0x59a1aa35\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1761579001803,\n  \"chain\": 1,\n  \"commit\": \"3503982\"\n}"
  },
  {
    "path": "mainnet/2025-10-20-incident-multisig-signers/script/UpdateSigners.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {stdJson} from \"forge-std/StdJson.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\n\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {GnosisSafe} from \"safe-smart-account/GnosisSafe.sol\";\nimport {OwnerManager} from \"safe-smart-account/base/OwnerManager.sol\";\n\ncontract UpdateSigners is MultisigScript {\n    using stdJson for string;\n\n    address public constant SENTINEL_OWNERS = address(0x1);\n\n    address public immutable OWNER_SAFE;\n    uint256 public immutable THRESHOLD;\n    address[] public EXISTING_OWNERS;\n\n    address[] public OWNERS_TO_ADD;\n    address[] public OWNERS_TO_REMOVE;\n\n    mapping(address => address) public ownerToPrevOwner;\n    mapping(address => address) public ownerToNextOwner;\n    mapping(address => bool) public expectedOwner;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n\n        GnosisSafe ownerSafe = GnosisSafe(payable(OWNER_SAFE));\n        THRESHOLD = ownerSafe.getThreshold();\n        EXISTING_OWNERS = ownerSafe.getOwners();\n\n        string memory rootPath = vm.projectRoot();\n        string memory path = string.concat(rootPath, \"/OwnerDiff.json\");\n        string memory jsonData = vm.readFile(path);\n\n        OWNERS_TO_ADD = abi.decode(jsonData.parseRaw(\".OwnersToAdd\"), (address[]));\n        OWNERS_TO_REMOVE = abi.decode(jsonData.parseRaw(\".OwnersToRemove\"), (address[]));\n    }\n\n    function setUp() external {\n        require(OWNERS_TO_ADD.length > 0, \"Precheck 00\");\n        require(OWNERS_TO_REMOVE.length > 0, \"Precheck 01\");\n        require(EXISTING_OWNERS.length == 14, \"Precheck 02\");\n\n        GnosisSafe ownerSafe = GnosisSafe(payable(OWNER_SAFE));\n        address prevOwner = SENTINEL_OWNERS;\n\n        for (uint256 i = OWNERS_TO_ADD.length; i > 0; i--) {\n            uint256 index = i - 1;\n            // Make sure owners to add are not already owners\n            require(!ownerSafe.isOwner(OWNERS_TO_ADD[index]), \"Precheck 03\");\n            // Prevent duplicates\n            require(!expectedOwner[OWNERS_TO_ADD[index]], \"Precheck 04\");\n\n            ownerToPrevOwner[OWNERS_TO_ADD[index]] = prevOwner;\n            ownerToNextOwner[prevOwner] = OWNERS_TO_ADD[index];\n            prevOwner = OWNERS_TO_ADD[index];\n            expectedOwner[OWNERS_TO_ADD[index]] = true;\n        }\n\n        for (uint256 i; i < EXISTING_OWNERS.length; i++) {\n            ownerToPrevOwner[EXISTING_OWNERS[i]] = prevOwner;\n            ownerToNextOwner[prevOwner] = EXISTING_OWNERS[i];\n            prevOwner = EXISTING_OWNERS[i];\n            expectedOwner[EXISTING_OWNERS[i]] = true;\n        }\n\n        for (uint256 i; i < OWNERS_TO_REMOVE.length; i++) {\n            // Make sure owners to remove are owners\n            require(ownerSafe.isOwner(OWNERS_TO_REMOVE[i]), \"Precheck 05\");\n            // Prevent duplicates\n            require(expectedOwner[OWNERS_TO_REMOVE[i]], \"Precheck 06\");\n            expectedOwner[OWNERS_TO_REMOVE[i]] = false;\n\n            // Remove from linked list to keep ownerToPrevOwner up to date\n            // Note: This works as long as the order of OWNERS_TO_REMOVE does not change during `_buildCalls()`\n            address nextOwner = ownerToNextOwner[OWNERS_TO_REMOVE[i]];\n            address prevPtr = ownerToPrevOwner[OWNERS_TO_REMOVE[i]];\n            ownerToPrevOwner[nextOwner] = prevPtr;\n            ownerToNextOwner[prevPtr] = nextOwner;\n        }\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        GnosisSafe ownerSafe = GnosisSafe(payable(OWNER_SAFE));\n        address[] memory postCheckOwners = ownerSafe.getOwners();\n        uint256 postCheckThreshold = ownerSafe.getThreshold();\n\n        uint256 expectedLength = EXISTING_OWNERS.length + OWNERS_TO_ADD.length - OWNERS_TO_REMOVE.length;\n\n        require(postCheckThreshold == THRESHOLD, \"Postcheck 00\");\n        require(postCheckOwners.length == expectedLength, \"Postcheck 01\");\n\n        for (uint256 i; i < postCheckOwners.length; i++) {\n            require(expectedOwner[postCheckOwners[i]], \"Postcheck 02\");\n        }\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) {\n        IMulticall3.Call3Value[] memory calls =\n            new IMulticall3.Call3Value[](OWNERS_TO_ADD.length + OWNERS_TO_REMOVE.length);\n\n        for (uint256 i; i < OWNERS_TO_ADD.length; i++) {\n            calls[i] = IMulticall3.Call3Value({\n                target: OWNER_SAFE,\n                allowFailure: false,\n                callData: abi.encodeCall(OwnerManager.addOwnerWithThreshold, (OWNERS_TO_ADD[i], THRESHOLD)),\n                value: 0\n            });\n        }\n\n        for (uint256 i; i < OWNERS_TO_REMOVE.length; i++) {\n            calls[OWNERS_TO_ADD.length + i] = IMulticall3.Call3Value({\n                target: OWNER_SAFE,\n                allowFailure: false,\n                callData: abi.encodeCall(\n                    OwnerManager.removeOwner, (ownerToPrevOwner[OWNERS_TO_REMOVE[i]], OWNERS_TO_REMOVE[i], THRESHOLD)\n                ),\n                value: 0\n            });\n        }\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "mainnet/2025-10-20-incident-multisig-signers/validations/base-signer.json",
    "content": "{\n  \"task_name\": \"mainnet-incident-multisig-signers\",\n  \"script_name\": \"UpdateSigners\",\n  \"signature\": \"sign(address[])\",\n  \"sender\": \"0x24c3AE1AeDB8142D32BB6d3B988f5910F272D53b\",\n  \"args\": \"[]\",\n  \"ledger-id\": 0,\n  \"rpc_url\": \"https://eth-mainnet.public.blastapi.io\",\n  \"expected_domain_and_message_hashes\": {\n    \"address\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n    \"domain_hash\": \"0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289\",\n    \"message_hash\": \"0x8f77ab6b8505bc0d11953d7d36c3d3ddb7411201fead650fce373c067b2e98ec\"\n  },\n  \"state_overrides\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\"\n        },\n        {\n          \"key\": \"0xde176162c7afd44b2fd12bfe2e0063b0021a8e652774d77dad1a7bf7057f7b8d\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\"\n        }\n      ]\n    }\n  ],\n  \"state_changes\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000000e\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000000d\",\n          \"description\": \"Updates the owner count\"\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"description\": \"Updates the execution threshold\"\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000005b\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000005c\",\n          \"description\": \"Increments the nonce\"\n        },\n        {\n          \"key\": \"0x03fe74f236e7c719072f101a65bf28fcc331b8991895a586493c4ec54f013c79\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x000000000000000000000000541a833e4303eb56a45be7e8e4a908db97568d1e\",\n          \"description\": \"Adds `0x5b154b8587168cb984ff610f5de74289d8f68874` to the owners mapping (sets its next pointer).\"\n        },\n        {\n          \"key\": \"0x51d0c1d26cdd742324bf18c3cb0c420aba6f951a054a73620fd9d0ed20dae7e8\",\n          \"before\": \"0x00000000000000000000000073565876170a336fa02fde34eed03e3121f70ba6\",\n          \"after\": \"0x000000000000000000000000a3d3c103442f162856163d564b983ae538c6202d\",\n          \"description\": \"Removes `0x73565876170a336fa02fde34eed03e3121f70ba6` from the owners list.\"\n        },\n        {\n          \"key\": \"0x680f53193021c7b5ff32fc6154805dcdc0fe6dae60134f899becf9139fee0f45\",\n          \"before\": \"0x000000000000000000000000b37b2d42cb0c10ebf96279cceca2cbfc47c6f236\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"description\": \"Removes `0x9bf96dcf51959915c8c343a3e50820ad069a1859` from the owners list.\"\n        },\n        {\n          \"key\": \"0x7ea68b3c8a7f7867f7b6d6e5bd030223645fb027b0eb1dd797ca76b222c926e4\",\n          \"before\": \"0x000000000000000000000000a3d3c103442f162856163d564b983ae538c6202d\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"description\": \"Removes `0x92b79e6c995ee8b267ec1ac2743d1c1fbfffc447` from the owners list.\"\n        },\n        {\n          \"key\": \"0x8332864b30eecf94bd2500246d5909d9976538bbb15157e05a181a220803d096\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000005b154b8587168cb984ff610f5de74289d8f68874\",\n          \"description\": \"Adds `0x5b154b8587168cb984ff610f5de74289d8f68874` to the owners mapping (sets the next pointer for its prev node to point to it).\"\n        },\n        {\n          \"key\": \"0xb66edc9a114e89f02d0b7982582a48a539d388af46cfade8e93f01cba0973729\",\n          \"before\": \"0x0000000000000000000000009bf96dcf51959915c8c343a3e50820ad069a1859\",\n          \"after\": \"0x000000000000000000000000b37b2d42cb0c10ebf96279cceca2cbfc47c6f236\",\n          \"description\": \"Updates the owners list for `0xa31e1c38d5c37d8ecd0e94c80c0f7fd624d009a3` to point to the next address `0xb37b2d42cb0c10ebf96279cceca2cbfc47c6f236` since its current next address was deleted.\"\n        },\n        {\n          \"key\": \"0xd5d27d91bd7fb221a305aba9b1452dc14191edebe72a0d2caa92579343b1367f\",\n          \"before\": \"0x00000000000000000000000092b79e6c995ee8b267ec1ac2743d1c1fbfffc447\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"description\": \"Removes `0x73565876170a336fa02fde34eed03e3121f70ba6` from the owners list.\"\n        },\n        {\n          \"key\": \"0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0\",\n          \"before\": \"0x000000000000000000000000541a833e4303eb56a45be7e8e4a908db97568d1e\",\n          \"after\": \"0x0000000000000000000000001841cb3c2ce6870d0417844c817849da64e6e937\",\n          \"description\": \"Sets the head of the owners linked list.\"\n        }\n      ]\n    }\n  ]\n}\n"
  },
  {
    "path": "mainnet/2025-10-28-increase-gas-and-elasticity-limit/FACILITATOR.md",
    "content": "# Facilitator Guide\n\nGuide for facilitators after collecting signatures from signers.\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd mainnet/2025-10-28-increase-gas-and-elasticity-limit\nmake deps\n```\n\n### 2. Execute upgrade\n\n```bash\nSIGNATURES=AAABBBCCC make execute\n```\n\n### 3. (**ONLY** if needed) Execute upgrade rollback\n\n> [!IMPORTANT] THIS SHOULD ONLY BE PERFORMED IN THE EVENT THAT WE NEED TO ROLLBACK\n\n```bash\nSIGNATURES=AAABBBCCC make execute-rollback\n```\n"
  },
  {
    "path": "mainnet/2025-10-28-increase-gas-and-elasticity-limit/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\n\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\nifndef ROLLBACK_NONCE_OFFSET\noverride ROLLBACK_NONCE_OFFSET = 1\nendif\n\nSCRIPT_NAME = IncreaseEip1559ElasticityAndIncreaseGasLimitScript\n\nRPC_URL = $(L1_RPC_URL)\n\n.PHONY: gen-validation\ngen-validation: checkout-signer-tool run-script\n\n.PHONY: run-script\nrun-script:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(L1_RPC_URL) \\\n\t--workdir .. --forge-cmd 'forge script --rpc-url $(L1_RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" [] --sender $(SENDER)' --out ../validations/base-signer.json;\n\n.PHONY: execute\nexecute:\n\tFROM_GAS_LIMIT=$(FROM_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(TO_GAS_LIMIT) \\\n\tFROM_ELASTICITY=$(FROM_ELASTICITY) \\\n\tTO_ELASTICITY=$(TO_ELASTICITY) \\\n\t$(call MULTISIG_EXECUTE,$(SIGNATURES))\n\n.PHONY: sign-rollback\nsign-rollback:\n\tFROM_GAS_LIMIT=$(TO_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(FROM_GAS_LIMIT) \\\n\tFROM_ELASTICITY=$(TO_ELASTICITY) \\\n\tTO_ELASTICITY=$(FROM_ELASTICITY) \\\n\tSAFE_NONCE=$(shell expr $$(cast call $(OWNER_SAFE) \"nonce()\" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \\\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \\\n\t--sig \"sign(address[])\" [] --sender $(SENDER)\n\n.PHONY: execute-rollback\nexecute-rollback:\n\tFROM_GAS_LIMIT=$(TO_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(FROM_GAS_LIMIT) \\\n\tFROM_ELASTICITY=$(TO_ELASTICITY) \\\n\tTO_ELASTICITY=$(FROM_ELASTICITY) \\\n\tSAFE_NONCE=$(shell expr $$(cast call $(OWNER_SAFE) \"nonce()\" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \\\n\tforge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2025-10-28-increase-gas-and-elasticity-limit/README.md",
    "content": "# Update Gas Limit & Elasticity in L1 `SystemConfig`\n\nStatus: [EXECUTED](https://etherscan.io/tx/0x29b2b633ebc1da25d1a90f52b812e13b3469c12cc851b0609ab7a671b38a8cad) (See the [artifact here](./records/IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol/1/run-1761755774673.json))\n\n## Description\n\nWe are updating the gas limit and elasticity to improve TPS and reduce gas fees.\n\nThis runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base/contracts) repository:\n\n`IncreaseEip1559ElasticityAndIncreaseGasLimitScript` -- This script will update the gas limit to our new limit of 200M gas and 4 elasticity if invoked as part of the \"upgrade\" process, or revert to the old limit of 150M gas and 3 elasticity if invoked as part of the \"rollback\" process.\n\nThe values we are sending are statically defined in the `.env` file.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow\n> the flow for both \"Approving the Update transaction\" and\n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed.\n\n## Install dependencies\n\n### 1. Update foundry\n\n```bash\nfoundryup\n```\n\n### 2. Install Node.js if needed\n\nFirst, check if you have node installed\n\n```bash\nnode --version\n```\n\nIf you see a version output from the above command, you can move on. Otherwise, install node\n\n```bash\nbrew install node\n```\n\n## Approving the Update transaction\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root).\n\n```bash\nmake sign-task\n```\n\n### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\nBe sure to select the correct task user from the list of available users to sign (**not** the \"rollback\" user).\n\n### 4. Send signature to facilitator\n\n## Approving the Rollback transaction\n\nComplete the above steps for `Approving the Update transaction` before continuing below.\n\n### 1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\ncd mainnet/2025-10-28-increase-gas-and-elasticity-limit\nmake sign-rollback\n```\n\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output. Once again paste this URL in your browser and click \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation and that it completed successfully.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n#### 2. Validate integrity of the simulation and that it completed successfully.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account or a valid signer address (from the Safe multi-sig).\n4. \"Success\" with a green check mark\n\n#### 3. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x000000000000000000000000000000000000000000000000000000000000005d\nAfter: 0x000000000000000000000000000000000000000000000000000000000000005e\n```\n\n2. Verify that **NO** gas limit value or elasticity value is updated and thus no changes are shown for a \"Proxy\" address at `0x73a79fab69143498ed3712e519a88a918e1f4072`. This is because the values would change back to the exact same values that are currently set, therefore no state changes should be displayed for this.\n\n#### 4. Validate and extract domain hash and message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing. Also, ensure that it matches the following:\n\n```\nDomain hash: 0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289\nMessage hash: 0x5d50efea16ce96c189a49bcb87e208506bb4c612a5ef66c81dd5790f01ef7089\n```\n\n### 5. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-rollback\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. On your Ledger screen.\n2. In the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 6. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n"
  },
  {
    "path": "mainnet/2025-10-28-increase-gas-and-elasticity-limit/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2025-10-28-increase-gas-and-elasticity-limit/records/IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol/1/run-1761755774673.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x29b2b633ebc1da25d1a90f52b812e13b3469c12cc851b0609ab7a671b38a8cad\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000014000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b41000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000bebc20000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xf9772f5957636bc03604a20bf61033ebfc94cec45f35bc93ac9b0d6f6a3884b36fefa89fb180a436027db86cdd0faba358b4b24a445b512e8641bbb2bdd60dd21c59005d045ece16fd7d370710023d8ea187630da0e5ebdb5d92db633b6e6033cf573c16cd80a479330dc769d07b32c45ba0ca47986507534eb489093b5571825f1cceb9364f54fc62b38d92218d0b31330ab49a3a3715ae31e2d45e1cfec5ca4ae258047d51509abb7a2e842f65041739e8b8ccddd3526e83cedbb1e92fdf26c05a1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x1841cb3c2ce6870d0417844c817849da64e6e937\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x2296f\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000000264174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000014000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b41000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000bebc200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3f9772f5957636bc03604a20bf61033ebfc94cec45f35bc93ac9b0d6f6a3884b36fefa89fb180a436027db86cdd0faba358b4b24a445b512e8641bbb2bdd60dd21c59005d045ece16fd7d370710023d8ea187630da0e5ebdb5d92db633b6e6033cf573c16cd80a479330dc769d07b32c45ba0ca47986507534eb489093b5571825f1cceb9364f54fc62b38d92218d0b31330ab49a3a3715ae31e2d45e1cfec5ca4ae258047d51509abb7a2e842f65041739e8b8ccddd3526e83cedbb1e92fdf26c05a1b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x4\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x22be2ff\",\n      \"logs\": [\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000004\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000003200000004\",\n          \"blockHash\": \"0x5e65ac96e1de198137239130608a61f1ced19ea710b4d2f6c65c37d623a57b25\",\n          \"blockNumber\": \"0x16964b9\",\n          \"blockTimestamp\": \"0x6902427b\",\n          \"transactionHash\": \"0x29b2b633ebc1da25d1a90f52b812e13b3469c12cc851b0609ab7a671b38a8cad\",\n          \"transactionIndex\": \"0x189\",\n          \"logIndex\": \"0x364\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000002\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000bebc200\",\n          \"blockHash\": \"0x5e65ac96e1de198137239130608a61f1ced19ea710b4d2f6c65c37d623a57b25\",\n          \"blockNumber\": \"0x16964b9\",\n          \"blockTimestamp\": \"0x6902427b\",\n          \"transactionHash\": \"0x29b2b633ebc1da25d1a90f52b812e13b3469c12cc851b0609ab7a671b38a8cad\",\n          \"transactionIndex\": \"0x189\",\n          \"logIndex\": \"0x365\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x7fa5368e189d160163bf708fd22cd73e1968995f242aa5434742fda12c7dfaf10000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x5e65ac96e1de198137239130608a61f1ced19ea710b4d2f6c65c37d623a57b25\",\n          \"blockNumber\": \"0x16964b9\",\n          \"blockTimestamp\": \"0x6902427b\",\n          \"transactionHash\": \"0x29b2b633ebc1da25d1a90f52b812e13b3469c12cc851b0609ab7a671b38a8cad\",\n          \"transactionIndex\": \"0x189\",\n          \"logIndex\": \"0x366\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000008000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000002000000000008000000000000000000000000000000000000000008000000000000000000020000000000000000040000000000000000000000000008000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x29b2b633ebc1da25d1a90f52b812e13b3469c12cc851b0609ab7a671b38a8cad\",\n      \"transactionIndex\": \"0x189\",\n      \"blockHash\": \"0x5e65ac96e1de198137239130608a61f1ced19ea710b4d2f6c65c37d623a57b25\",\n      \"blockNumber\": \"0x16964b9\",\n      \"gasUsed\": \"0x190ae\",\n      \"effectiveGasPrice\": \"0x2dde21d4\",\n      \"from\": \"0x1841cb3c2ce6870d0417844c817849da64e6e937\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1761755774673,\n  \"chain\": 1,\n  \"commit\": \"daf0b8f\"\n}"
  },
  {
    "path": "mainnet/2025-10-28-increase-gas-and-elasticity-limit/script/IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\n\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\n\ninterface ISystemConfig {\n    function eip1559Elasticity() external view returns (uint32);\n    function eip1559Denominator() external view returns (uint32);\n    function setEIP1559Params(uint32 _denominator, uint32 _elasticity) external;\n    function gasLimit() external view returns (uint64);\n    function setGasLimit(uint64 _gasLimit) external;\n}\n\ncontract IncreaseEip1559ElasticityAndIncreaseGasLimitScript is MultisigScript {\n    address internal immutable OWNER_SAFE;\n    address internal immutable SYSTEM_CONFIG;\n\n    uint32 internal immutable ELASTICITY;\n    uint32 internal immutable NEW_ELASTICITY;\n    uint64 internal immutable GAS_LIMIT;\n    uint64 internal immutable NEW_GAS_LIMIT;\n\n    uint32 internal constant DENOMINATOR = 50;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n        SYSTEM_CONFIG = vm.envAddress(\"SYSTEM_CONFIG\");\n\n        GAS_LIMIT = uint64(vm.envUint(\"FROM_GAS_LIMIT\"));\n        NEW_GAS_LIMIT = uint64(vm.envUint(\"TO_GAS_LIMIT\"));\n\n        ELASTICITY = uint32(vm.envUint(\"FROM_ELASTICITY\"));\n        NEW_ELASTICITY = uint32(vm.envUint(\"TO_ELASTICITY\"));\n    }\n\n    function setUp() external view {\n        // vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Denominator(), DENOMINATOR, \"Denominator mismatch\");\n        // vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity(), ELASTICITY, \"Elasticity mismatch\");\n        // vm.assertEq(ISystemConfig(SYSTEM_CONFIG).gasLimit(), GAS_LIMIT, \"Gas Limit mismatch\");\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Denominator(), DENOMINATOR, \"Denominator mismatch\");\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity(), NEW_ELASTICITY, \"Elasticity mismatch\");\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).gasLimit(), NEW_GAS_LIMIT, \"Gas Limit mismatch\");\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) {\n        IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](2);\n\n        calls[0] = IMulticall3.Call3Value({\n            target: SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(ISystemConfig.setEIP1559Params, (DENOMINATOR, NEW_ELASTICITY)),\n            value: 0\n        });\n\n        calls[1] = IMulticall3.Call3Value({\n            target: SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(ISystemConfig.setGasLimit, (NEW_GAS_LIMIT)),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "mainnet/2025-10-28-increase-gas-and-elasticity-limit/validations/base-signer.json",
    "content": "{\n  \"taskName\": \"Increase EIP-1559 Elasticity and Gas Limit\",\n  \"scriptName\": \"IncreaseEip1559ElasticityAndIncreaseGasLimitScript\",\n  \"signature\": \"sign(address[])\",\n  \"sender\": \"0x1841CB3C2ce6870D0417844C817849da64E6e937\",\n  \"args\": \"[]\",\n  \"ledgerId\": 0,\n  \"rpcUrl\": \"https://eth-mainnet.public.blastapi.io\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n    \"domainHash\": \"0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289\",\n    \"messageHash\": \"0x0cb6e713a2269e0a8511ad20124a20098af5f6386c910b1d9abc8f44b85493ae\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\"\n        },\n        {\n          \"key\": \"0xeb8f6f520dafe4d80435058e29df30db0a9746fcf085933f338bf88dacc608b2\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\"\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000005c\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000005d\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Mainnet\",\n      \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000068\",\n          \"before\": \"0x0000000000000000000000000000000000101c12000008dd0000000008f0d180\",\n          \"after\": \"0x0000000000000000000000000000000000101c12000008dd000000000bebc200\",\n          \"description\": \"Updates gas limit from 150M to 200M for the chain\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006a\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000300000032\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000400000032\",\n          \"description\": \"Updates elasticity from 3 to 4 for the chain\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ]\n}\n"
  },
  {
    "path": "mainnet/2025-11-05-increase-gas-limit/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\nifndef ROLLBACK_NONCE_OFFSET\noverride ROLLBACK_NONCE_OFFSET = 1\nendif\n\nSCRIPT_NAME = lib/base-contracts/script/deploy/l1/SetGasLimit.sol\n\nRPC_URL = $(L1_RPC_URL)\n\n.PHONY: gen-validation\ngen-validation: checkout-signer-tool run-script\n\n.PHONY: run-script\nrun-script:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(L1_RPC_URL) \\\n\t--workdir .. --forge-cmd 'forge script --rpc-url $(L1_RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" [] --sender $(SENDER)' --out ../validations/base-signer.json;\n\n.PHONY: execute-upgrade\nexecute-upgrade:\n\tFROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n.PHONY: sign-rollback\nsign-rollback:\n\tFROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tSAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) \"nonce()\" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \\\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"sign(address[])\" []\n\n.PHONY: execute-rollback\nexecute-rollback:\n\tFROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tSAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) \"nonce()\" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2025-11-05-increase-gas-limit/README.md",
    "content": "# Update Gas Limit in L1 `SystemConfig`\n\nStatus: [EXECUTED](https://etherscan.io/tx/0xfbf7dad2372bd9596cccf28f89eb4811c1d4f613638acf2c08e0399379db0e6b)\n\n## Objective\n\nWe are updating the gas limit to improve TPS and reduce gas fees.\n\nThis runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base-org/contracts) repository:\n\n`SetGasLimit` -- This script will update the gas limit to our new limit of TODO gas if invoked as part of the \"upgrade\" process, or revert to the old limit of TODO gas if invoked as part of the \"rollback\" process.\n\nThe values we are sending are statically defined in the `.env`.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow\n> the flow for both \"Approving the Update transaction\" and\n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed.\n\n## Approving the Upgrade transaction\n\n### 1. Update repo and move to the appropriate folder:\n\n```\ncd contract-deployments\ngit pull\ncd mainnet/2025-11-05-increase-gas-limit\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-upgrade\n```\n\nOnce you run the `make sign...` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Summary\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from TODO to TODO:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: TODO\nAfter: TODO\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from TODO to TODO:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: TODO\nAfter: TODO\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Summary\" tab, and find the\n`Safe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-upgrade\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Approving the Rollback transaction\n\nComplete the above steps for `Approving the Update transaction` before continuing below.\n\n### 1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-rollback\n```\n\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output. Once again paste this URL in your browser and click \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Summary\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x000000000000000000000000000000000000000000000000000000000000005e\nAfter: 0x000000000000000000000000000000000000000000000000000000000000005f\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x000000000000000000000000000000000000000000000000000000000ee6b280\nAfter: 0x000000000000000000000000000000000000000000000000000000000bebc200\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Summary\" tab, and find the\n`Safe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901f3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea243362891827d16bf147890f005c6ff8a313d9fdba85f0e7c87817862872c975f45090e1`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-rollback\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make execute-upgrade`\n\n> [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK\n> Repeat the above, but replace the signatures with the signed\n> rollback signatures collected, the call `make execute-rollback`\n"
  },
  {
    "path": "mainnet/2025-11-05-increase-gas-limit/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/',\n    '@lib-keccak/=lib/lib-keccak/contracts/lib'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2025-11-05-increase-gas-limit/validations/base-signer.json",
    "content": "{\n  \"taskName\": \"Increase Gas Limit\",\n  \"scriptName\": \"lib/base-contracts/script/deploy/l1/SetGasLimit.sol\",\n  \"signature\": \"sign(address[])\",\n  \"sender\": \"0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b\",\n  \"args\": \"[]\",\n  \"ledgerId\": 0,\n  \"rpcUrl\": \"https://eth-mainnet.public.blastapi.io\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n    \"domainHash\": \"0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289\",\n    \"messageHash\": \"0xfb94f308a4ac398c3ddbdd648074fdf098464b70588fc6eca141c1e3dda07b9e\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\"\n        },\n        {\n          \"key\": \"0xa79683f562763c2b664597d6c434c7dc2af6f3b8bb5ba54a6e349b4b88a1ce4e\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\"\n        }\n      ]\n    },\n    {\n      \"name\": \"L1 System Config - Mainnet\",\n      \"address\": \"0x73a79Fab69143498Ed3712e519A88a918e1f4072\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000068\",\n          \"value\": \"0x000000000000000000000000000000000000000000000000000000000bebc200\",\n          \"description\": \"Old gas limit\"\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000005d\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000005e\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Mainnet\",\n      \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000068\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000bebc200\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000ee6b280\",\n          \"description\": \"Updates gas limit from 200M to 250M for the chain\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ]\n}\n"
  },
  {
    "path": "mainnet/2025-11-10-increase-gas-and-elasticity-limit/FACILITATOR.md",
    "content": "# Facilitator Guide\n\nGuide for facilitators after collecting signatures from signers.\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd mainnet/2025-11-10-increase-gas-and-elasticity-limit\nmake deps\n```\n\n### 2. Execute upgrade\n\n```bash\nSIGNATURES=AAABBBCCC make execute\n```\n\n### 3. (**ONLY** if needed) Execute upgrade rollback\n\n> [!IMPORTANT]\n>\n> THIS SHOULD ONLY BE PERFORMED IN THE EVENT THAT WE NEED TO ROLLBACK\n\n```bash\nSIGNATURES=AAABBBCCC make execute-rollback\n```\n"
  },
  {
    "path": "mainnet/2025-11-10-increase-gas-and-elasticity-limit/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\nifndef ROLLBACK_NONCE_OFFSET\noverride ROLLBACK_NONCE_OFFSET = 1\nendif\n\nSCRIPT_NAME = UpdateGasParams\n\nRPC_URL = $(L1_RPC_URL)\n\n.PHONY: gen-validation\ngen-validation: checkout-signer-tool run-script\n\n.PHONY: gen-validation-rollback\ngen-validation-rollback: checkout-signer-tool run-script-rollback\n\n.PHONY: run-script\nrun-script:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \\\n\t--workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" [] --sender $(SENDER)' --out ../validations/base-signer.json;\n\n.PHONY: run-script-rollback\nrun-script-rollback:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \\\n\t--workdir .. --forge-cmd 'FROM_GAS_LIMIT=$(TO_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(FROM_GAS_LIMIT) FROM_ELASTICITY=$(TO_ELASTICITY) TO_ELASTICITY=$(FROM_ELASTICITY) \\\n\tSAFE_NONCE=$(shell expr $$(cast call $(OWNER_SAFE) \"nonce()\" --rpc-url $(RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \\\n\tforge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" [] --sender $(SENDER)' --out ../validations/base-signer-rollback.json;\n\n.PHONY: execute\nexecute:\n\tFROM_GAS_LIMIT=$(FROM_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(TO_GAS_LIMIT) \\\n\tFROM_ELASTICITY=$(FROM_ELASTICITY) \\\n\tTO_ELASTICITY=$(TO_ELASTICITY) \\\n\t$(call MULTISIG_EXECUTE,$(SIGNATURES))\n\n.PHONY: execute-rollback\nexecute-rollback:\n\tFROM_GAS_LIMIT=$(TO_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(FROM_GAS_LIMIT) \\\n\tFROM_ELASTICITY=$(TO_ELASTICITY) \\\n\tTO_ELASTICITY=$(FROM_ELASTICITY) \\\n\tSAFE_NONCE=$(shell expr $$(cast call $(OWNER_SAFE) \"nonce()\" --rpc-url $(RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \\\n\tforge script --rpc-url $(RPC_URL) $(SCRIPT_NAME) \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2025-11-10-increase-gas-and-elasticity-limit/README.md",
    "content": "# Update Mainnet Gas Params\n\nStatus: [EXECUTED](https://etherscan.io/tx/0xf4015a79142f5655775c4a3dac133ec820403c91443ca050227f658e8a094cd2)\n\n## Description\n\nWe are updating the gas limit to **300 MGas / block** and elasticity to **5** improve TPS and reduce gas fees.\n\nThis runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig:\n\n`UpdateGasParams` -- This script will update the gas limit to our new limit of 300M gas and 5 elasticity if invoked as part of the \"upgrade\" process, or revert to the old limit of 250M gas and 4 elasticity if invoked as part of the \"rollback\" process.\n\n## Setup\n\n### 1. Update foundry\n\n```\nfoundryup\n```\n\n### 2. Install Node.js if needed\n\nCheck if you have node installed\n\n```bash\nnode --version\n```\n\nIf you do not see a version above or if it is older than v18.18, install\n\n```bash\nbrew install node\n```\n\n## Sign Task\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root).\n\n```bash\nmake sign-task\n```\n\n### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\n> [!IMPORTANT]\n>\n> Please run through the signing process twice. Once for \"Base Signer\" and once for \"Base Signer Rollback\"\n\n### 4. After signing, you can end the signer tool process with Ctrl + C\n"
  },
  {
    "path": "mainnet/2025-11-10-increase-gas-and-elasticity-limit/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2025-11-10-increase-gas-and-elasticity-limit/records/UpdateGasParams.s.sol/1/run-1762965805898.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xf4015a79142f5655775c4a3dac133ec820403c91443ca050227f658e8a094cd2\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000014000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b41000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000011e1a30000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xd556657e17d0daf896f0b60a15efc04db9028f7990528e0555bb1dde20fe88aa18bc7ac76fafce8b5f0c9582a9daa6ef324655f6804b0e1d124a1ff43d2eea181c39b0766a12c1cf875e205459d3b569363922a89ed4cc4202495b3a5cda4588217fb12672ed958b6c4edefbad291d34744ca62750b4a256792bd7f621fdb92f8a1b7982f8be468ddf9f7c5ea2c45b81c419c6dafa0bcf7563793873e62343f763a9596ad167193fdddfb520cfb584e51645255276ca175b148bea5e83aa6e551e981c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x24a0f\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000000264174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000014000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b41000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000011e1a300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3d556657e17d0daf896f0b60a15efc04db9028f7990528e0555bb1dde20fe88aa18bc7ac76fafce8b5f0c9582a9daa6ef324655f6804b0e1d124a1ff43d2eea181c39b0766a12c1cf875e205459d3b569363922a89ed4cc4202495b3a5cda4588217fb12672ed958b6c4edefbad291d34744ca62750b4a256792bd7f621fdb92f8a1b7982f8be468ddf9f7c5ea2c45b81c419c6dafa0bcf7563793873e62343f763a9596ad167193fdddfb520cfb584e51645255276ca175b148bea5e83aa6e551e981c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x38\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xe63578\",\n      \"logs\": [\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000004\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000003200000005\",\n          \"blockHash\": \"0xadada7afa09e3bab5140ccf2563f799601a236edaa29487f61d64ede72dd9e1d\",\n          \"blockNumber\": \"0x16aebdb\",\n          \"blockTimestamp\": \"0x6914b92b\",\n          \"transactionHash\": \"0xf4015a79142f5655775c4a3dac133ec820403c91443ca050227f658e8a094cd2\",\n          \"transactionIndex\": \"0x94\",\n          \"logIndex\": \"0x189\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000002\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000011e1a300\",\n          \"blockHash\": \"0xadada7afa09e3bab5140ccf2563f799601a236edaa29487f61d64ede72dd9e1d\",\n          \"blockNumber\": \"0x16aebdb\",\n          \"blockTimestamp\": \"0x6914b92b\",\n          \"transactionHash\": \"0xf4015a79142f5655775c4a3dac133ec820403c91443ca050227f658e8a094cd2\",\n          \"transactionIndex\": \"0x94\",\n          \"logIndex\": \"0x18a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xb3e553ce93e1a40e286be50a7d1c8df58acd36369a7eba6b1ccbf0f84bfd7f200000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xadada7afa09e3bab5140ccf2563f799601a236edaa29487f61d64ede72dd9e1d\",\n          \"blockNumber\": \"0x16aebdb\",\n          \"blockTimestamp\": \"0x6914b92b\",\n          \"transactionHash\": \"0xf4015a79142f5655775c4a3dac133ec820403c91443ca050227f658e8a094cd2\",\n          \"transactionIndex\": \"0x94\",\n          \"logIndex\": \"0x18b\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000008000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000002000000000008000000000000000000000000000000000000000008000000000000000000020000000000000000040000000000000000000000000008000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xf4015a79142f5655775c4a3dac133ec820403c91443ca050227f658e8a094cd2\",\n      \"transactionIndex\": \"0x94\",\n      \"blockHash\": \"0xadada7afa09e3bab5140ccf2563f799601a236edaa29487f61d64ede72dd9e1d\",\n      \"blockNumber\": \"0x16aebdb\",\n      \"gasUsed\": \"0x190ba\",\n      \"effectiveGasPrice\": \"0x62c67725\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1762965805898,\n  \"chain\": 1,\n  \"commit\": \"f39053f\"\n}"
  },
  {
    "path": "mainnet/2025-11-10-increase-gas-and-elasticity-limit/script/UpdateGasParams.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\n\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\n\ninterface ISystemConfig {\n    function eip1559Elasticity() external view returns (uint32);\n    function eip1559Denominator() external view returns (uint32);\n    function setEIP1559Params(uint32 _denominator, uint32 _elasticity) external;\n    function gasLimit() external view returns (uint64);\n    function setGasLimit(uint64 _gasLimit) external;\n}\n\ncontract UpdateGasParams is MultisigScript {\n    address internal immutable OWNER_SAFE;\n    address internal immutable SYSTEM_CONFIG;\n\n    uint32 internal immutable ELASTICITY;\n    uint32 internal immutable NEW_ELASTICITY;\n    uint64 internal immutable GAS_LIMIT;\n    uint64 internal immutable NEW_GAS_LIMIT;\n    uint32 internal immutable DENOMINATOR;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n        SYSTEM_CONFIG = vm.envAddress(\"SYSTEM_CONFIG\");\n\n        GAS_LIMIT = uint64(vm.envUint(\"FROM_GAS_LIMIT\"));\n        NEW_GAS_LIMIT = uint64(vm.envUint(\"TO_GAS_LIMIT\"));\n\n        ELASTICITY = uint32(vm.envUint(\"FROM_ELASTICITY\"));\n        NEW_ELASTICITY = uint32(vm.envUint(\"TO_ELASTICITY\"));\n\n        DENOMINATOR = ISystemConfig(SYSTEM_CONFIG).eip1559Denominator();\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Denominator(), DENOMINATOR, \"Denominator mismatch\");\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity(), NEW_ELASTICITY, \"Elasticity mismatch\");\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).gasLimit(), NEW_GAS_LIMIT, \"Gas Limit mismatch\");\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) {\n        IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](2);\n\n        calls[0] = IMulticall3.Call3Value({\n            target: SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(ISystemConfig.setEIP1559Params, (DENOMINATOR, NEW_ELASTICITY)),\n            value: 0\n        });\n\n        calls[1] = IMulticall3.Call3Value({\n            target: SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(ISystemConfig.setGasLimit, (NEW_GAS_LIMIT)),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n\n    function _simulationOverrides() internal view override returns (Simulation.StateOverride[] memory stateOverrides) {\n        if (\n            GAS_LIMIT != ISystemConfig(SYSTEM_CONFIG).gasLimit()\n                || ELASTICITY != ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity()\n        ) {\n            // Override SystemConfig state to the expected \"from\" values so simulation succeeds even\n            // if the chain already reflects the post-change values (e.g. during rollback simulation).\n            stateOverrides = new Simulation.StateOverride[](1);\n            Simulation.StorageOverride[] memory storageOverrides = new Simulation.StorageOverride[](2);\n            // Load current packed gas config (slot 0x68) and replace only the lower 64 bits with GAS_LIMIT\n            bytes32 gasConfigSlotKey = bytes32(uint256(0x68));\n            uint256 gasConfigWord = uint256(vm.load(SYSTEM_CONFIG, gasConfigSlotKey));\n            uint256 updatedGasConfigWord = (gasConfigWord & ~uint256(0xffffffffffffffff)) | uint256(GAS_LIMIT);\n            storageOverrides[0] =\n                Simulation.StorageOverride({key: gasConfigSlotKey, value: bytes32(updatedGasConfigWord)});\n            // Deterministically set EIP-1559 params (slot 0x6a) to [ ... | elasticity (uint32) | denominator (uint32) ]\n            // Compose the full 256-bit word with only these two fields set to avoid unused high bits which can\n            // cause mismatches during validation.\n            bytes32 eip1559SlotKey = bytes32(uint256(0x6a));\n            uint256 composedEip1559Word = (uint256(ELASTICITY) << 32) | uint256(DENOMINATOR);\n            storageOverrides[1] = Simulation.StorageOverride({key: eip1559SlotKey, value: bytes32(composedEip1559Word)});\n            stateOverrides[0] = Simulation.StateOverride({contractAddress: SYSTEM_CONFIG, overrides: storageOverrides});\n            return stateOverrides;\n        }\n    }\n}\n"
  },
  {
    "path": "mainnet/2025-11-10-increase-gas-and-elasticity-limit/validations/base-signer-rollback.json",
    "content": "{\n  \"cmd\": \"FROM_GAS_LIMIT=300000000 TO_GAS_LIMIT=250000000 FROM_ELASTICITY=5 TO_ELASTICITY=4 SAFE_NONCE=95 forge script --rpc-url https://eth-mainnet.public.blastapi.io UpdateGasParams --sig sign(address[]) [] --sender 0x1841CB3C2ce6870D0417844C817849da64E6e937\",\n  \"ledgerId\": 0,\n  \"rpcUrl\": \"https://eth-mainnet.public.blastapi.io\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n    \"domainHash\": \"0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289\",\n    \"messageHash\": \"0x06173131ba6094cb8b439a9b3ae7a39725d1f8255a4031a54b38180bd72fbb74\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\"\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"value\": \"0x000000000000000000000000000000000000000000000000000000000000005f\",\n          \"description\": \"Override the nonce to be our expected value after initial execution.\"\n        },\n        {\n          \"key\": \"0x9f69b29f17688c4aa856cfc9038ef2e22ecb7c26eca1ab65ffc86fb6322a5089\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\"\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Mainnet\",\n      \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000068\",\n          \"value\": \"0x0000000000000000000000000000000000101c12000008dd0000000011e1a300\",\n          \"description\": \"Overrides gas limit 300M for the chain\"\n        },\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006a\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000500000032\",\n          \"description\": \"Overrides elasticity to 5 for the chain\"\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000005f\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000060\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Mainnet\",\n      \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000068\",\n          \"before\": \"0x0000000000000000000000000000000000101c12000008dd0000000011e1a300\",\n          \"after\": \"0x0000000000000000000000000000000000101c12000008dd000000000ee6b280\",\n          \"description\": \"Updates gas limit from 300M to 250M for the chain\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006a\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000500000032\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000400000032\",\n          \"description\": \"Updates elasticity from 5 to 4 for the chain\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "mainnet/2025-11-10-increase-gas-and-elasticity-limit/validations/base-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://eth-mainnet.public.blastapi.io UpdateGasParams --sig sign(address[]) [] --sender 0x1841CB3C2ce6870D0417844C817849da64E6e937\",\n  \"ledgerId\": 0,\n  \"rpcUrl\": \"https://eth-mainnet.public.blastapi.io\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n    \"domainHash\": \"0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289\",\n    \"messageHash\": \"0x0cc943446dd78916a0761d753d26ca3c5094d7325df41ab0ce1c9944e0698883\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\"\n        },\n        {\n          \"key\": \"0x4c1646206b9d78deea8313bde5cbc953183113763f05936429c6e860d37b6fb1\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\"\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000005e\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000005f\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Mainnet\",\n      \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000068\",\n          \"before\": \"0x0000000000000000000000000000000000101c12000008dd000000000ee6b280\",\n          \"after\": \"0x0000000000000000000000000000000000101c12000008dd0000000011e1a300\",\n          \"description\": \"Updates gas limit from 250M to 300M for the chain\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006a\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000400000032\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000500000032\",\n          \"description\": \"Updates elasticity from 4 to 5 for the chain\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "mainnet/2025-11-15-deploy-cb-multicall/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\ndeploy:\nifndef VERIFIER_API_KEY\n\t$(error VERIFIER_API_KEY is not set)\nendif\n\tforge script script/DeployCBMulticall.s.sol:DeployCBMulticallScript \\\n\t--rpc-url ${L2_RPC_URL} \\\n\t--broadcast \\\n\t--verify \\\n\t--verifier-api-key ${VERIFIER_API_KEY} \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" \\\n\t-vvvv"
  },
  {
    "path": "mainnet/2025-11-15-deploy-cb-multicall/README.md",
    "content": "# Deploy CBMulticall\n\nStatus: [EXECUTED](https://basescan.org/tx/0xd4d5787e62ee6a6bb8988a43fd8cbbc7f44861df4e66108e396491286cebdafb)\n\n## Description\n\nThis task deploys the CBMulticall contract.\n\n## Procedure\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd sepolia/2025-11-15-deploy-cb-multicall\nmake deps\n```\n\n### 2. Run the script:\n\n```bash\nmake deploy\n```\n"
  },
  {
    "path": "mainnet/2025-11-15-deploy-cb-multicall/addresses.json",
    "content": "{\n  \"cbMulticall\": \"0xf113DA645C65f786c08a48d540Ee5f7A59189ffF\"\n}"
  },
  {
    "path": "mainnet/2025-11-15-deploy-cb-multicall/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nevm_version = \"prague\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "mainnet/2025-11-15-deploy-cb-multicall/records/DeployCBMulticall.s.sol/8453/run-1763160551942.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xd4d5787e62ee6a6bb8988a43fd8cbbc7f44861df4e66108e396491286cebdafb\",\n      \"transactionType\": \"CREATE2\",\n      \"contractName\": \"CBMulticall\",\n      \"contractAddress\": \"0xf113da645c65f786c08a48d540ee5f7a59189fff\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"from\": \"0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e\",\n        \"to\": \"0x4e59b44847b379578588920ca78fbf26c0b4956c\",\n        \"gas\": \"0x12fb9f\",\n        \"value\": \"0x0\",\n        \"input\": \"0x0000000000000000000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b50610e6f806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e1461025a578063bce38bd714610275578063c3077fa914610288578063ee82ac5e1461029b57600080fd5b80634d2301cc146101ec57806372425d9d1461022157806382ad56cb1461023457806386d516e81461024757600080fd5b80633408e470116100c65780633408e47014610191578063399542e9146101a45780633e64a696146101c657806342cbb15c146101d957600080fd5b80630f28c97d146100f8578063174dea711461011a578063252dba421461013a57806327e86d6e1461015b575b600080fd5b34801561010457600080fd5b50425b6040519081526020015b60405180910390f35b61012d610128366004610a14565b6102ba565b6040516101119190610b4d565b61014d610148366004610a14565b610479565b604051610111929190610b67565b34801561016757600080fd5b50437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0140610107565b34801561019d57600080fd5b5046610107565b6101b76101b2366004610bef565b61061f565b60405161011193929190610c49565b3480156101d257600080fd5b5048610107565b3480156101e557600080fd5b5043610107565b3480156101f857600080fd5b50610107610207366004610c71565b73ffffffffffffffffffffffffffffffffffffffff163190565b34801561022d57600080fd5b5044610107565b61012d610242366004610a14565b61063a565b34801561025357600080fd5b5045610107565b34801561026657600080fd5b50604051418152602001610111565b61012d610283366004610bef565b6107e9565b6101b7610296366004610a14565b6109a9565b3480156102a757600080fd5b506101076102b6366004610ca7565b4090565b6060818067ffffffffffffffff8111156102d6576102d6610cc0565b60405190808252806020026020018201604052801561031c57816020015b6040805180820190915260008152606060208201528152602001906001900390816102f45790505b5091503660005b8281101561047057600084828151811061033f5761033f610cef565b6020026020010151905086868381811061035b5761035b610cef565b905060200281019061036d9190610d1e565b925060408301356103816020850185610c71565b73ffffffffffffffffffffffffffffffffffffffff16816103a56060870187610d5c565b6040516103b3929190610dc1565b60006040518083038185875af1925050503d80600081146103f0576040519150601f19603f3d011682016040523d82523d6000602084013e6103f5565b606091505b506020808501919091529015158084529085013517610466577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b5050600101610323565b50505092915050565b436060828067ffffffffffffffff81111561049657610496610cc0565b6040519080825280602002602001820160405280156104c957816020015b60608152602001906001900390816104b45790505b5091503660005b828110156106155760008787838181106104ec576104ec610cef565b90506020028101906104fe9190610dd1565b925061050d6020840184610c71565b73ffffffffffffffffffffffffffffffffffffffff166105306020850185610d5c565b60405161053e929190610dc1565b6000604051808303816000865af19150503d806000811461057b576040519150601f19603f3d011682016040523d82523d6000602084013e610580565b606091505b5086848151811061059357610593610cef565b602090810291909101015290508061060c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064015b60405180910390fd5b506001016104d0565b5050509250929050565b438040606061062f8686866107e9565b905093509350939050565b6060818067ffffffffffffffff81111561065657610656610cc0565b60405190808252806020026020018201604052801561069c57816020015b6040805180820190915260008152606060208201528152602001906001900390816106745790505b5091503660005b828110156104705760008482815181106106bf576106bf610cef565b602002602001015190508686838181106106db576106db610cef565b90506020028101906106ed9190610e05565b92506106fc6020840184610c71565b73ffffffffffffffffffffffffffffffffffffffff1661071f6040850185610d5c565b60405161072d929190610dc1565b6000604051808303816000865af19150503d806000811461076a576040519150601f19603f3d011682016040523d82523d6000602084013e61076f565b606091505b5060208084019190915290151580835290840135176107e0577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b506001016106a3565b6060818067ffffffffffffffff81111561080557610805610cc0565b60405190808252806020026020018201604052801561084b57816020015b6040805180820190915260008152606060208201528152602001906001900390816108235790505b5091503660005b8281101561099f57600084828151811061086e5761086e610cef565b6020026020010151905086868381811061088a5761088a610cef565b905060200281019061089c9190610dd1565b92506108ab6020840184610c71565b73ffffffffffffffffffffffffffffffffffffffff166108ce6020850185610d5c565b6040516108dc929190610dc1565b6000604051808303816000865af19150503d8060008114610919576040519150601f19603f3d011682016040523d82523d6000602084013e61091e565b606091505b506020830152151581528715610996578051610996576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000006044820152606401610603565b50600101610852565b5050509392505050565b60008060606109ba6001868661061f565b919790965090945092505050565b60008083601f8401126109da57600080fd5b50813567ffffffffffffffff8111156109f257600080fd5b6020830191508360208260051b8501011115610a0d57600080fd5b9250929050565b60008060208385031215610a2757600080fd5b823567ffffffffffffffff811115610a3e57600080fd5b610a4a858286016109c8565b90969095509350505050565b6000815180845260005b81811015610a7c57602081850181015186830182015201610a60565b81811115610a8e576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b84811015610b40578583037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001895281518051151584528401516040858501819052610b2c81860183610a56565b9a86019a9450505090830190600101610ade565b5090979650505050505050565b602081526000610b606020830184610ac1565b9392505050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610be1577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0888703018452610bcf868351610a56565b95509284019290840190600101610b95565b509398975050505050505050565b600080600060408486031215610c0457600080fd5b83358015158114610c1457600080fd5b9250602084013567ffffffffffffffff811115610c3057600080fd5b610c3c868287016109c8565b9497909650939450505050565b838152826020820152606060408201526000610c686060830184610ac1565b95945050505050565b600060208284031215610c8357600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610b6057600080fd5b600060208284031215610cb957600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112610d5257600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112610d9157600080fd5b83018035915067ffffffffffffffff821115610dac57600080fd5b602001915036819003821315610a0d57600080fd5b8183823760009101908152919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112610d5257600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112610d5257600080fdfea2646970667358221220ea6edd4fcede4352efea43af3870fb98e2bdc62d25eefa782607d4bea202e6b264736f6c634300080f0033\",\n        \"nonce\": \"0x0\",\n        \"chainId\": \"0x2105\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1e3cecf\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xd4d5787e62ee6a6bb8988a43fd8cbbc7f44861df4e66108e396491286cebdafb\",\n      \"transactionIndex\": \"0xec\",\n      \"blockHash\": \"0xa69325a19a25ca497fe81ca5eaa003e5d1c4ffb467fd167e1fcfa786481aec7f\",\n      \"blockNumber\": \"0x246aa77\",\n      \"gasUsed\": \"0xcfad2\",\n      \"effectiveGasPrice\": \"0x2809fe\",\n      \"from\": \"0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e\",\n      \"to\": \"0x4e59b44847b379578588920ca78fbf26c0b4956c\",\n      \"contractAddress\": \"0xf113da645c65f786c08a48d540ee5f7a59189fff\",\n      \"l1BaseFeeScalar\": \"0x8dd\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0x101c12\",\n      \"l1Fee\": \"0x17786592\",\n      \"l1GasPrice\": \"0x67705dd\",\n      \"l1GasUsed\": \"0x7181\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1763160551942,\n  \"chain\": 8453,\n  \"commit\": \"42f1b37\"\n}"
  },
  {
    "path": "mainnet/2025-11-15-deploy-cb-multicall/script/DeployCBMulticall.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Script, console} from \"forge-std/Script.sol\";\n\nimport {CBMulticall} from \"@base-contracts/src/utils/CBMulticall.sol\";\n\ncontract DeployCBMulticallScript is Script {\n    bytes32 constant SALT = bytes32(uint256(0));\n\n    CBMulticall cbMulticall;\n\n    function run() public {\n        vm.startBroadcast();\n        cbMulticall = new CBMulticall{salt: SALT}();\n        console.log(\"CBMulticall deployed at: \", address(cbMulticall));\n        vm.stopBroadcast();\n\n        string memory obj = \"root\";\n        string memory json = vm.serializeAddress(obj, \"cbMulticall\", address(cbMulticall));\n        vm.writeJson(json, \"addresses.json\");\n\n        _postCheck();\n    }\n\n    function _postCheck() internal view {\n        vm.assertEq(\n            address(cbMulticall),\n            vm.computeCreate2Address({salt: SALT, initCodeHash: _initCodeHash(), deployer: CREATE2_FACTORY}),\n            \"The cbMulticall address does not match the one computed by `vm.computeCreate2Address`\"\n        );\n    }\n\n    function _initCode() private view returns (bytes memory) {\n        bytes memory args = \"\";\n        return abi.encodePacked(vm.getCode(\"CBMulticall.sol:CBMulticall\"), args);\n    }\n\n    function _initCodeHash() private view returns (bytes32) {\n        return keccak256(_initCode());\n    }\n}\n"
  },
  {
    "path": "mainnet/2025-11-20-deploy-cb-multicall/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\nRPC_URL = $(L2_RPC_URL)\n\ndeploy:\nifndef VERIFIER_API_KEY\n\t$(error VERIFIER_API_KEY is not set)\nendif\n\tforge script script/DeployCBMulticall.s.sol:DeployCBMulticallScript \\\n\t--rpc-url ${RPC_URL} \\\n\t--broadcast \\\n\t--verify \\\n\t--verifier-api-key ${VERIFIER_API_KEY} \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" \\\n\t-vvvv\n"
  },
  {
    "path": "mainnet/2025-11-20-deploy-cb-multicall/README.md",
    "content": "# Deploy CBMulticall to Mainnet and Base\n\nStatus: [EXECUTED](https://etherscan.io/tx/0xee77ad0fbda687a02f0dcd62ca9089906b7f5ba22089a22fc76ff8932471e339)\nStatus: [EXECUTED](https://basescan.org/tx/0x72cde5253bf654c9b706e21fe42f05ce1ab5fdffc6c68c881ecb6c43da27ecbe)\n\n## Description\n\nThis task deploys an updated version of the `CBMulticall` contract.\n\n## Procedure\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd mainnet/2025-11-20-deploy-cb-multicall\nmake deps\n```\n\n### 2. Run the script:\n\n```bash\nmake deploy\n```\n"
  },
  {
    "path": "mainnet/2025-11-20-deploy-cb-multicall/addresses.json",
    "content": "{\n  \"cbMulticall\": \"0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303\"\n}"
  },
  {
    "path": "mainnet/2025-11-20-deploy-cb-multicall/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nevm_version = \"prague\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "mainnet/2025-11-20-deploy-cb-multicall/records/DeployCBMulticall.s.sol/1/run-1763649491942.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xee77ad0fbda687a02f0dcd62ca9089906b7f5ba22089a22fc76ff8932471e339\",\n      \"transactionType\": \"CREATE2\",\n      \"contractName\": \"CBMulticall\",\n      \"contractAddress\": \"0xa8b8ca1d6f0f5ce63dcea9121a01b302c5801303\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x4e59b44847b379578588920ca78fbf26c0b4956c\",\n        \"gas\": \"0x14f784\",\n        \"value\": \"0x0\",\n        \"input\": \"0x000000000000000000000000000000000000000000000000000000000000000160a060405234801561001057600080fd5b503060805260805161110d610030600039600061085a015261110d6000f3fe60806040526004361061010e5760003560e01c80634d2301cc116100a557806386d516e811610074578063bce38bd711610059578063bce38bd7146102a3578063c3077fa9146102b6578063ee82ac5e146102c957600080fd5b806386d516e814610275578063a8b0574e1461028857600080fd5b80634d2301cc1461020757806372425d9d1461023c57806382ad56cb1461024f578063858cc8321461026257600080fd5b80633408e470116100e15780633408e470146101ac578063399542e9146101bf5780633e64a696146101e157806342cbb15c146101f457600080fd5b80630f28c97d14610113578063174dea7114610135578063252dba421461015557806327e86d6e14610176575b600080fd5b34801561011f57600080fd5b50425b6040519081526020015b60405180910390f35b610148610143366004610cb2565b6102e8565b60405161012c9190610deb565b610168610163366004610cb2565b6104bc565b60405161012c929190610e05565b34801561018257600080fd5b50437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0140610122565b3480156101b857600080fd5b5046610122565b6101d26101cd366004610e8d565b610662565b60405161012c93929190610ee7565b3480156101ed57600080fd5b5048610122565b34801561020057600080fd5b5043610122565b34801561021357600080fd5b50610122610222366004610f0f565b73ffffffffffffffffffffffffffffffffffffffff163190565b34801561024857600080fd5b5044610122565b61014861025d366004610cb2565b61067d565b610148610270366004610cb2565b610841565b34801561028157600080fd5b5045610122565b34801561029457600080fd5b5060405141815260200161012c565b6101486102b1366004610e8d565b610a72565b6101d26102c4366004610cb2565b610c47565b3480156102d557600080fd5b506101226102e4366004610f45565b4090565b6060818067ffffffffffffffff81111561030457610304610f5e565b60405190808252806020026020018201604052801561034a57816020015b6040805180820190915260008152606060208201528152602001906001900390816103225790505b5091503660005b828110156104b35760408051808201909152600081526060602082015286868381811061038057610380610f8d565b90506020028101906103929190610fbc565b925060408301356103a66020850185610f0f565b73ffffffffffffffffffffffffffffffffffffffff16816103ca6060870187610ffa565b6040516103d892919061105f565b60006040518083038185875af1925050503d8060008114610415576040519150601f19603f3d011682016040523d82523d6000602084013e61041a565b606091505b50602080850191909152901515808452908501351761048b577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8186848151811061049e5761049e610f8d565b60209081029190910101525050600101610351565b50505092915050565b436060828067ffffffffffffffff8111156104d9576104d9610f5e565b60405190808252806020026020018201604052801561050c57816020015b60608152602001906001900390816104f75790505b5091503660005b8281101561065857600087878381811061052f5761052f610f8d565b9050602002810190610541919061106f565b92506105506020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff166105736020850185610ffa565b60405161058192919061105f565b6000604051808303816000865af19150503d80600081146105be576040519150601f19603f3d011682016040523d82523d6000602084013e6105c3565b606091505b508684815181106105d6576105d6610f8d565b602090810291909101015290508061064f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064015b60405180910390fd5b50600101610513565b5050509250929050565b4380406060610672868686610a72565b905093509350939050565b6060818067ffffffffffffffff81111561069957610699610f5e565b6040519080825280602002602001820160405280156106df57816020015b6040805180820190915260008152606060208201528152602001906001900390816106b75790505b5091503660005b828110156104b35760408051808201909152600081526060602082015286868381811061071557610715610f8d565b905060200281019061072791906110a3565b92506107366020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff166107596040850185610ffa565b60405161076792919061105f565b6000604051808303816000865af19150503d80600081146107a4576040519150601f19603f3d011682016040523d82523d6000602084013e6107a9565b606091505b50602080840191909152901515808352908401351761081a577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8085838151811061082d5761082d610f8d565b6020908102919091010152506001016106e6565b606073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036108b2576040517fb25caa5100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818067ffffffffffffffff8111156108cc576108cc610f5e565b60405190808252806020026020018201604052801561091257816020015b6040805180820190915260008152606060208201528152602001906001900390816108ea5790505b5091503660005b828110156104b35760408051808201909152600081526060602082015286868381811061094857610948610f8d565b905060200281019061095a91906110a3565b92506109696020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff1661098c6040850185610ffa565b60405161099a92919061105f565b600060405180830381855af49150503d80600081146109d5576040519150601f19603f3d011682016040523d82523d6000602084013e6109da565b606091505b506020808401919091529015158083529084013517610a4b577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b80858381518110610a5e57610a5e610f8d565b602090810291909101015250600101610919565b6060818067ffffffffffffffff811115610a8e57610a8e610f5e565b604051908082528060200260200182016040528015610ad457816020015b604080518082019091526000815260606020820152815260200190600190039081610aac5790505b5091503660005b82811015610c3d57604080518082019091526000815260606020820152868683818110610b0a57610b0a610f8d565b9050602002810190610b1c919061106f565b9250610b2b6020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff16610b4e6020850185610ffa565b604051610b5c92919061105f565b6000604051808303816000865af19150503d8060008114610b99576040519150601f19603f3d011682016040523d82523d6000602084013e610b9e565b606091505b506020830152151581528715610c16578051610c16576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000006044820152606401610646565b80858381518110610c2957610c29610f8d565b602090810291909101015250600101610adb565b5050509392505050565b6000806060610c5860018686610662565b919790965090945092505050565b60008083601f840112610c7857600080fd5b50813567ffffffffffffffff811115610c9057600080fd5b6020830191508360208260051b8501011115610cab57600080fd5b9250929050565b60008060208385031215610cc557600080fd5b823567ffffffffffffffff811115610cdc57600080fd5b610ce885828601610c66565b90969095509350505050565b6000815180845260005b81811015610d1a57602081850181015186830182015201610cfe565b81811115610d2c576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b84811015610dde578583037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001895281518051151584528401516040858501819052610dca81860183610cf4565b9a86019a9450505090830190600101610d7c565b5090979650505050505050565b602081526000610dfe6020830184610d5f565b9392505050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610e7f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0888703018452610e6d868351610cf4565b95509284019290840190600101610e33565b509398975050505050505050565b600080600060408486031215610ea257600080fd5b83358015158114610eb257600080fd5b9250602084013567ffffffffffffffff811115610ece57600080fd5b610eda86828701610c66565b9497909650939450505050565b838152826020820152606060408201526000610f066060830184610d5f565b95945050505050565b600060208284031215610f2157600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610dfe57600080fd5b600060208284031215610f5757600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112610ff057600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261102f57600080fd5b83018035915067ffffffffffffffff82111561104a57600080fd5b602001915036819003821315610cab57600080fd5b8183823760009101908152919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112610ff057600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112610ff057600080fdfea26469706673582212209f691a293497bb27165763d864578342dbe9be7a828bb879a64afb9af27e455564736f6c634300080f0033\",\n        \"nonce\": \"0x39\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x75ebfb\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xee77ad0fbda687a02f0dcd62ca9089906b7f5ba22089a22fc76ff8932471e339\",\n      \"transactionIndex\": \"0x4f\",\n      \"blockHash\": \"0xcc65b34737daff6fa783e62cf3f8f7bbef1d726f08f924253cecef2a87e46188\",\n      \"blockNumber\": \"0x16bc87c\",\n      \"gasUsed\": \"0xf2dfd\",\n      \"effectiveGasPrice\": \"0x2e0db9dc\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x4e59b44847b379578588920ca78fbf26c0b4956c\",\n      \"contractAddress\": \"0xa8b8ca1d6f0f5ce63dcea9121a01b302c5801303\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1763649491942,\n  \"chain\": 1,\n  \"commit\": \"8c49b9d\"\n}"
  },
  {
    "path": "mainnet/2025-11-20-deploy-cb-multicall/records/DeployCBMulticall.s.sol/8453/run-1763649543610.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x72cde5253bf654c9b706e21fe42f05ce1ab5fdffc6c68c881ecb6c43da27ecbe\",\n      \"transactionType\": \"CREATE2\",\n      \"contractName\": \"CBMulticall\",\n      \"contractAddress\": \"0xa8b8ca1d6f0f5ce63dcea9121a01b302c5801303\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x4e59b44847b379578588920ca78fbf26c0b4956c\",\n        \"gas\": \"0x14f784\",\n        \"value\": \"0x0\",\n        \"input\": \"0x000000000000000000000000000000000000000000000000000000000000000160a060405234801561001057600080fd5b503060805260805161110d610030600039600061085a015261110d6000f3fe60806040526004361061010e5760003560e01c80634d2301cc116100a557806386d516e811610074578063bce38bd711610059578063bce38bd7146102a3578063c3077fa9146102b6578063ee82ac5e146102c957600080fd5b806386d516e814610275578063a8b0574e1461028857600080fd5b80634d2301cc1461020757806372425d9d1461023c57806382ad56cb1461024f578063858cc8321461026257600080fd5b80633408e470116100e15780633408e470146101ac578063399542e9146101bf5780633e64a696146101e157806342cbb15c146101f457600080fd5b80630f28c97d14610113578063174dea7114610135578063252dba421461015557806327e86d6e14610176575b600080fd5b34801561011f57600080fd5b50425b6040519081526020015b60405180910390f35b610148610143366004610cb2565b6102e8565b60405161012c9190610deb565b610168610163366004610cb2565b6104bc565b60405161012c929190610e05565b34801561018257600080fd5b50437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0140610122565b3480156101b857600080fd5b5046610122565b6101d26101cd366004610e8d565b610662565b60405161012c93929190610ee7565b3480156101ed57600080fd5b5048610122565b34801561020057600080fd5b5043610122565b34801561021357600080fd5b50610122610222366004610f0f565b73ffffffffffffffffffffffffffffffffffffffff163190565b34801561024857600080fd5b5044610122565b61014861025d366004610cb2565b61067d565b610148610270366004610cb2565b610841565b34801561028157600080fd5b5045610122565b34801561029457600080fd5b5060405141815260200161012c565b6101486102b1366004610e8d565b610a72565b6101d26102c4366004610cb2565b610c47565b3480156102d557600080fd5b506101226102e4366004610f45565b4090565b6060818067ffffffffffffffff81111561030457610304610f5e565b60405190808252806020026020018201604052801561034a57816020015b6040805180820190915260008152606060208201528152602001906001900390816103225790505b5091503660005b828110156104b35760408051808201909152600081526060602082015286868381811061038057610380610f8d565b90506020028101906103929190610fbc565b925060408301356103a66020850185610f0f565b73ffffffffffffffffffffffffffffffffffffffff16816103ca6060870187610ffa565b6040516103d892919061105f565b60006040518083038185875af1925050503d8060008114610415576040519150601f19603f3d011682016040523d82523d6000602084013e61041a565b606091505b50602080850191909152901515808452908501351761048b577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8186848151811061049e5761049e610f8d565b60209081029190910101525050600101610351565b50505092915050565b436060828067ffffffffffffffff8111156104d9576104d9610f5e565b60405190808252806020026020018201604052801561050c57816020015b60608152602001906001900390816104f75790505b5091503660005b8281101561065857600087878381811061052f5761052f610f8d565b9050602002810190610541919061106f565b92506105506020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff166105736020850185610ffa565b60405161058192919061105f565b6000604051808303816000865af19150503d80600081146105be576040519150601f19603f3d011682016040523d82523d6000602084013e6105c3565b606091505b508684815181106105d6576105d6610f8d565b602090810291909101015290508061064f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064015b60405180910390fd5b50600101610513565b5050509250929050565b4380406060610672868686610a72565b905093509350939050565b6060818067ffffffffffffffff81111561069957610699610f5e565b6040519080825280602002602001820160405280156106df57816020015b6040805180820190915260008152606060208201528152602001906001900390816106b75790505b5091503660005b828110156104b35760408051808201909152600081526060602082015286868381811061071557610715610f8d565b905060200281019061072791906110a3565b92506107366020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff166107596040850185610ffa565b60405161076792919061105f565b6000604051808303816000865af19150503d80600081146107a4576040519150601f19603f3d011682016040523d82523d6000602084013e6107a9565b606091505b50602080840191909152901515808352908401351761081a577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8085838151811061082d5761082d610f8d565b6020908102919091010152506001016106e6565b606073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036108b2576040517fb25caa5100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818067ffffffffffffffff8111156108cc576108cc610f5e565b60405190808252806020026020018201604052801561091257816020015b6040805180820190915260008152606060208201528152602001906001900390816108ea5790505b5091503660005b828110156104b35760408051808201909152600081526060602082015286868381811061094857610948610f8d565b905060200281019061095a91906110a3565b92506109696020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff1661098c6040850185610ffa565b60405161099a92919061105f565b600060405180830381855af49150503d80600081146109d5576040519150601f19603f3d011682016040523d82523d6000602084013e6109da565b606091505b506020808401919091529015158083529084013517610a4b577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b80858381518110610a5e57610a5e610f8d565b602090810291909101015250600101610919565b6060818067ffffffffffffffff811115610a8e57610a8e610f5e565b604051908082528060200260200182016040528015610ad457816020015b604080518082019091526000815260606020820152815260200190600190039081610aac5790505b5091503660005b82811015610c3d57604080518082019091526000815260606020820152868683818110610b0a57610b0a610f8d565b9050602002810190610b1c919061106f565b9250610b2b6020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff16610b4e6020850185610ffa565b604051610b5c92919061105f565b6000604051808303816000865af19150503d8060008114610b99576040519150601f19603f3d011682016040523d82523d6000602084013e610b9e565b606091505b506020830152151581528715610c16578051610c16576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000006044820152606401610646565b80858381518110610c2957610c29610f8d565b602090810291909101015250600101610adb565b5050509392505050565b6000806060610c5860018686610662565b919790965090945092505050565b60008083601f840112610c7857600080fd5b50813567ffffffffffffffff811115610c9057600080fd5b6020830191508360208260051b8501011115610cab57600080fd5b9250929050565b60008060208385031215610cc557600080fd5b823567ffffffffffffffff811115610cdc57600080fd5b610ce885828601610c66565b90969095509350505050565b6000815180845260005b81811015610d1a57602081850181015186830182015201610cfe565b81811115610d2c576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b84811015610dde578583037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001895281518051151584528401516040858501819052610dca81860183610cf4565b9a86019a9450505090830190600101610d7c565b5090979650505050505050565b602081526000610dfe6020830184610d5f565b9392505050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610e7f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0888703018452610e6d868351610cf4565b95509284019290840190600101610e33565b509398975050505050505050565b600080600060408486031215610ea257600080fd5b83358015158114610eb257600080fd5b9250602084013567ffffffffffffffff811115610ece57600080fd5b610eda86828701610c66565b9497909650939450505050565b838152826020820152606060408201526000610f066060830184610d5f565b95945050505050565b600060208284031215610f2157600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610dfe57600080fd5b600060208284031215610f5757600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112610ff057600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261102f57600080fd5b83018035915067ffffffffffffffff82111561104a57600080fd5b602001915036819003821315610cab57600080fd5b8183823760009101908152919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112610ff057600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112610ff057600080fdfea26469706673582212209f691a293497bb27165763d864578342dbe9be7a828bb879a64afb9af27e455564736f6c634300080f0033\",\n        \"nonce\": \"0x5\",\n        \"chainId\": \"0x2105\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x155a275\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x72cde5253bf654c9b706e21fe42f05ce1ab5fdffc6c68c881ecb6c43da27ecbe\",\n      \"transactionIndex\": \"0x59\",\n      \"blockHash\": \"0xd4ce43423d7c645a34987ee8a9df2e77c571e73e87a2146ec067ca01dc9d4b84\",\n      \"blockNumber\": \"0x24a6582\",\n      \"gasUsed\": \"0xf2dfd\",\n      \"effectiveGasPrice\": \"0x9920a6\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x4e59b44847b379578588920ca78fbf26c0b4956c\",\n      \"contractAddress\": \"0xa8b8ca1d6f0f5ce63dcea9121a01b302c5801303\",\n      \"l1BaseFeeScalar\": \"0x8dd\",\n      \"l1BlobBaseFee\": \"0x10\",\n      \"l1BlobBaseFeeScalar\": \"0x101c12\",\n      \"l1Fee\": \"0xaebcbe09\",\n      \"l1GasPrice\": \"0x3021b464\",\n      \"l1GasUsed\": \"0x7c1e\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1763649543610,\n  \"chain\": 8453,\n  \"commit\": \"8c49b9d\"\n}"
  },
  {
    "path": "mainnet/2025-11-20-deploy-cb-multicall/script/DeployCBMulticall.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Script, console} from \"forge-std/Script.sol\";\n\nimport {CBMulticall} from \"@base-contracts/src/utils/CBMulticall.sol\";\n\ncontract DeployCBMulticallScript is Script {\n    bytes32 public constant SALT = bytes32(uint256(1));\n\n    CBMulticall cbMulticall;\n\n    function run() public {\n        vm.startBroadcast();\n        cbMulticall = new CBMulticall{salt: SALT}();\n        console.log(\"CBMulticall deployed at: \", address(cbMulticall));\n        vm.stopBroadcast();\n\n        string memory obj = \"root\";\n        string memory json = vm.serializeAddress(obj, \"cbMulticall\", address(cbMulticall));\n        vm.writeJson(json, \"addresses.json\");\n\n        _postCheck();\n    }\n\n    function _postCheck() internal view {\n        vm.assertEq(\n            address(cbMulticall),\n            vm.computeCreate2Address({salt: SALT, initCodeHash: _initCodeHash(), deployer: CREATE2_FACTORY}),\n            \"The cbMulticall address does not match the one computed by `vm.computeCreate2Address`\"\n        );\n    }\n\n    function _initCode() private view returns (bytes memory) {\n        bytes memory args = \"\";\n        return abi.encodePacked(vm.getCode(\"CBMulticall.sol:CBMulticall\"), args);\n    }\n\n    function _initCodeHash() private view returns (bytes32) {\n        return keccak256(_initCode());\n    }\n}\n"
  },
  {
    "path": "mainnet/2025-11-21-u17-jovian-upgrade/FACILITATORS.md",
    "content": "#### Execute the transaction\n\n## 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd mainnet/2025-11-21-u17-jovian-upgrade\nmake deps\n```\n\n1. IMPORTANT: Ensure op-challenger has been updated before executing.\n1. Collect outputs from all participating signers.\n1. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"`.\n1. Run the `make execute` or `make approve` command as described below to execute the transaction.\n\nFor example, if the quorum is 3 and you get the following outputs:\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE01\nSignature: AAAA\n```\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE02\nSignature: BBBB\n```\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE03\nSignature: CCCC\n```\n\nCoinbase facilitator:\n\n```bash\nSIGNATURES=AAAABBBBCCCC make approve-cb\n```\n\n```bash\nSIGNATURES=AAAABBBBCCCC make approve-cb-sc\n```\n\nOptimism facilitator:\n\n```bash\nSIGNATURES=AAAABBBBCCCC make approve-op\n```\n\nOnce the signatures have been submitted approving the transaction for all nested Safes run:\n\n```bash\nmake execute\n```\n"
  },
  {
    "path": "mainnet/2025-11-21-u17-jovian-upgrade/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\n\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n# Sepolia Commands\n\n# OWNER_SAFE/\n# ├── CB_SIGNER_SAFE_ADDR/\n# │   ├── CB_NESTED_SAFE_ADDR/\n# │   │   └── Signers\n# │   └── CB_SC_SAFE_ADDR/\n# │       └── Signers\n# └── OP_SIGNER_SAFE_ADDR/\n#     └── Signers\n\nRPC_URL = $(L1_RPC_URL)\nSCRIPT_NAME = UpgradeWithOpSmartContractManager\n\n.PHONY: gen-validation-cb\ngen-validation-cb: checkout-signer-tool run-script-cb\n\n.PHONY: run-script-cb\nrun-script-cb:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \\\n\t--workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" \"[$(CB_NESTED_SAFE_ADDR),$(CB_SIGNER_SAFE_ADDR)]\" --sender 0x6CD3850756b7894774Ab715D136F9dD02837De50' --out ../validations/coinbase-signer.json;\n\n\n.PHONY: gen-validation-cb-sc\ngen-validation-cb-sc: checkout-signer-tool run-script-cb-sc\n\n.PHONY: run-script-cb-sc\nrun-script-cb-sc:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \\\n\t--workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" \"[$(CB_SC_SAFE_ADDR),$(CB_SIGNER_SAFE_ADDR)]\" --sender 0x5ff5C78ff194acc24C22DAaDdE4D639ebF18ACC6' --out ../validations/base-security-council-signer.json;\n\n.PHONY: gen-validation-op\ngen-validation-op: checkout-signer-tool run-script-op\n\n.PHONY: run-script-op\nrun-script-op:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \\\n\t--workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" \"[$(OP_SIGNER_SAFE_ADDR)]\" --sender 0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64' --out ../validations/optimism-signer.json;\n\n\n# CB\n.PHONY: approve-cb\napprove-cb:\n\t$(call MULTISIG_APPROVE,$(CB_NESTED_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES))\n\n.PHONY: approve-cb-sc\napprove-cb-sc:\n\t$(call MULTISIG_APPROVE,$(CB_SC_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES))\n\n.PHONY: approve-cb-coordinator\napprove-cb-coordinator:\n\t$(call MULTISIG_APPROVE,$(CB_SIGNER_SAFE_ADDR),0x)\n\n.PHONY: approve-op\napprove-op:\n\t$(call MULTISIG_APPROVE,$(OP_SIGNER_SAFE_ADDR),$(SIGNATURES))\n\n# Execute\n.PHONY: execute\nexecute:\n\t$(call MULTISIG_EXECUTE,0x)\n"
  },
  {
    "path": "mainnet/2025-11-21-u17-jovian-upgrade/README.md",
    "content": "# U17 Jovian Upgrade\n\nStatus: [EXECUTED](https://etherscan.io/tx/0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993)\n\n## Description\n\nThe Jovian hardfork is a proposed network upgrade for OP Stack chains, which brings several improvements to the way rollup fees are calculated as well as performing a maintenance update to the fault proof virtual machine. [More Details](https://docs.optimism.io/notices/upgrade-17).\n\nThis script executes the `upgrade` function of the OP Contracts Manager to upgrade all relevant contracts.\n\n## Procedure\n\n## Install dependencies\n\n### 1. Update foundry\n\n```bash\nfoundryup\n```\n\n### 2. Install Node.js if needed\n\nFirst, check if you have node installed\n\n```bash\nnode --version\n```\n\nIf you see a version output from the above command, you can move on. Otherwise, install node\n\n```bash\nbrew install node\n```\n\n## Approving the Update transaction\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root).\n\n```bash\nmake sign-task\n```\n\n### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\nBe sure to select the correct task user from the list of available users to sign.\nAfter completion, the signer tool can be closed by using Ctrl + c\n\n### 4. Send signature to facilitator\n"
  },
  {
    "path": "mainnet/2025-11-21-u17-jovian-upgrade/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 200\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n    '@lib-keccak/=lib/lib-keccak/contracts/lib',\n    \"interfaces/=lib/optimism/packages/contracts-bedrock/interfaces\",\n    \"src/dispute/=lib/optimism/packages/contracts-bedrock/src/dispute\",\n    \"src/libraries/=lib/optimism/packages/contracts-bedrock/src/libraries\",\n    \"src/cannon/=lib/optimism/packages/contracts-bedrock/src/cannon\",\n    \"src/L1/=lib/optimism/packages/contracts-bedrock/src/L1\",\n    \"scripts/=lib/optimism/packages/contracts-bedrock/scripts\",\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "mainnet/2025-11-21-u17-jovian-upgrade/records/UpgradeWithOpSmartContractManager.sol/1/approve-latest.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xf2e792a3b476ed8fd2a00fce3746d6b93ac0ccdd319a8d25f65532f7608e9029\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd37de49f5310901e1988c484d7919375551b77fd388f5e2737410752f5504b10300000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e\",\n        \"to\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n        \"gas\": \"0x1ee6d\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd37de49f5310901e1988c484d7919375551b77fd388f5e2737410752f5504b1030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0xc\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x109916a\",\n      \"logs\": [\n        {\n          \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x37de49f5310901e1988c484d7919375551b77fd388f5e2737410752f5504b103\",\n            \"0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xa77663b679ff1bbdf46b8cd1632988f2069c327d66cbe2a530aee52c42835592\",\n          \"blockNumber\": \"0x16cfc2b\",\n          \"blockTimestamp\": \"0x692dba6b\",\n          \"transactionHash\": \"0xf2e792a3b476ed8fd2a00fce3746d6b93ac0ccdd319a8d25f65532f7608e9029\",\n          \"transactionIndex\": \"0xc9\",\n          \"logIndex\": \"0x18c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x8c10543b5d79af68189d6cc2c7eb7cc41c83164ae4309bb302e1741c6818d35e0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xa77663b679ff1bbdf46b8cd1632988f2069c327d66cbe2a530aee52c42835592\",\n          \"blockNumber\": \"0x16cfc2b\",\n          \"blockTimestamp\": \"0x692dba6b\",\n          \"transactionHash\": \"0xf2e792a3b476ed8fd2a00fce3746d6b93ac0ccdd319a8d25f65532f7608e9029\",\n          \"transactionIndex\": \"0xc9\",\n          \"logIndex\": \"0x18d\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000010000000000000000008000000000000040000000000000000000000000101000004000000000000000000100000000000000000001000000000000000000040000000000000000008000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000080000000000000000000000200000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xf2e792a3b476ed8fd2a00fce3746d6b93ac0ccdd319a8d25f65532f7608e9029\",\n      \"transactionIndex\": \"0xc9\",\n      \"blockHash\": \"0xa77663b679ff1bbdf46b8cd1632988f2069c327d66cbe2a530aee52c42835592\",\n      \"blockNumber\": \"0x16cfc2b\",\n      \"gasUsed\": \"0x165f5\",\n      \"effectiveGasPrice\": \"0x875647be\",\n      \"from\": \"0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e\",\n      \"to\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1764604526281,\n  \"chain\": 1,\n  \"commit\": \"eda0e83\"\n}"
  },
  {
    "path": "mainnet/2025-11-21-u17-jovian-upgrade/records/UpgradeWithOpSmartContractManager.sol/1/run-1764604369938.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x02e8c66a286c525e9204060d39f27640e8e522520d133b5987c2d80836d73344\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd8c10543b5d79af68189d6cc2c7eb7cc41c83164ae4309bb302e1741c6818d35e00000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xecdc43f5f20cc2f53722edf7add25ede0b8f25b84c15ac2db09948a3c0d85d7d7e2049ef8d38b4cecd79ae4d34ee433ab3808665cd4d9cdef433d21337b456c11c3381694f9f82224ced31ea80bbf60104e25fa311e32f5dead9f69a95823be64d0b1ef9142684f17848e5616dabed56b2bec939b4657a3d722a5ed9113ea8ac421c1af6afab9d47f53ae24e334e5180f98c8de45ff3f31619490073219f046e67a9137d51ceeb6eb304cf2e1952319368dc9e43c94272233c24bd40a2cc28d478dd1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e\",\n        \"to\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n        \"gas\": \"0x25413\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd8c10543b5d79af68189d6cc2c7eb7cc41c83164ae4309bb302e1741c6818d35e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3ecdc43f5f20cc2f53722edf7add25ede0b8f25b84c15ac2db09948a3c0d85d7d7e2049ef8d38b4cecd79ae4d34ee433ab3808665cd4d9cdef433d21337b456c11c3381694f9f82224ced31ea80bbf60104e25fa311e32f5dead9f69a95823be64d0b1ef9142684f17848e5616dabed56b2bec939b4657a3d722a5ed9113ea8ac421c1af6afab9d47f53ae24e334e5180f98c8de45ff3f31619490073219f046e67a9137d51ceeb6eb304cf2e1952319368dc9e43c94272233c24bd40a2cc28d478dd1b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0xa\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1c4bede\",\n      \"logs\": [\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x8c10543b5d79af68189d6cc2c7eb7cc41c83164ae4309bb302e1741c6818d35e\",\n            \"0x0000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x2b7f450be603d6ed6ac6447ab031414d797b5d133981522212f4e0ac68978f2e\",\n          \"blockNumber\": \"0x16cfc1e\",\n          \"blockTimestamp\": \"0x692db9cf\",\n          \"transactionHash\": \"0x02e8c66a286c525e9204060d39f27640e8e522520d133b5987c2d80836d73344\",\n          \"transactionIndex\": \"0x149\",\n          \"logIndex\": \"0x2f2\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0x50c7ffbdc0cd05a86287ac35290305bb529ea541eb5082515d126c594dec6b8f\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x2b7f450be603d6ed6ac6447ab031414d797b5d133981522212f4e0ac68978f2e\",\n          \"blockNumber\": \"0x16cfc1e\",\n          \"blockTimestamp\": \"0x692db9cf\",\n          \"transactionHash\": \"0x02e8c66a286c525e9204060d39f27640e8e522520d133b5987c2d80836d73344\",\n          \"transactionIndex\": \"0x149\",\n          \"logIndex\": \"0x2f3\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000010000000000000000008000000000000040000000000000100000000000000000000000008000008000000100000000000000000000000000000000000000000000000000000000008000400800000000000040000000000400000000000000000000000000000000010000000000000000000000000000000000000000000000000001000010000000000000000000010000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000100000000000001000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x02e8c66a286c525e9204060d39f27640e8e522520d133b5987c2d80836d73344\",\n      \"transactionIndex\": \"0x149\",\n      \"blockHash\": \"0x2b7f450be603d6ed6ac6447ab031414d797b5d133981522212f4e0ac68978f2e\",\n      \"blockNumber\": \"0x16cfc1e\",\n      \"gasUsed\": \"0x19793\",\n      \"effectiveGasPrice\": \"0x9684cfd7\",\n      \"from\": \"0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e\",\n      \"to\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1764604369938,\n  \"chain\": 1,\n  \"commit\": \"eda0e83\"\n}"
  },
  {
    "path": "mainnet/2025-11-21-u17-jovian-upgrade/records/UpgradeWithOpSmartContractManager.sol/1/run-1764604491152.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x7e6225f3aa6cf09870329d68936e4f5e45939ecd2f657983f5c9db8c6bb65e74\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd8c10543b5d79af68189d6cc2c7eb7cc41c83164ae4309bb302e1741c6818d35e00000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xba50740f9448fba5c711cf4c328aac1e8c3acf0f6ec560cbda52844c39f6c7d359cce207872fa98267983d20eb3b9e1a19915b69ba71914a51d5a65740e2c1921b35a08deaa52288a873594189163700dc269e57b2a4d2f568a0721d3eed40137777cebcb3b2e897e9a49b98f5609c0304574f06950308bdfd17a3bee2216cf6201c2ce52e4a3fdc87756f8f90289c436a551e9a7ea1a0b8f69a2a5e92603f7be3623d3dd6f5de23eedd676f84134eb4fde6c2a801c18eb6b2ade55b4152be20129f1b51eb6cee567dd16bbcb29b4c99cdc3cc512363cba2b6426ac5bb3a77c42d951b3739566e131214a05479e6e27dbaa6945c39edea90c3fae10fffdf8a7683cf251bd3025ce4a5dcebb6de856209d66cfae7ba6f9318711d0ced5d54155d5bef7e4c75aaed9efa950ebb5dbec3a4961e56b851fc3f0c51fce2075010cfda31b355671cb87754848aec8342218b3b6797339753419ae309681f263aba37b1933ae1b92c6f9a2f0efa9ac42132600b9d8ed67aef36eda30a0f4ad800cf9a30d513cb99361c59dd2de71d20911fa653418f83aa97a422fad4fc6058b4e8e1d24be0caea2e453489e38b3d191ab830478aacab14332e972dffb6723ffd26154633ec3e8684b01c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e\",\n        \"to\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n        \"gas\": \"0x2cb78\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd8c10543b5d79af68189d6cc2c7eb7cc41c83164ae4309bb302e1741c6818d35e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c7ba50740f9448fba5c711cf4c328aac1e8c3acf0f6ec560cbda52844c39f6c7d359cce207872fa98267983d20eb3b9e1a19915b69ba71914a51d5a65740e2c1921b35a08deaa52288a873594189163700dc269e57b2a4d2f568a0721d3eed40137777cebcb3b2e897e9a49b98f5609c0304574f06950308bdfd17a3bee2216cf6201c2ce52e4a3fdc87756f8f90289c436a551e9a7ea1a0b8f69a2a5e92603f7be3623d3dd6f5de23eedd676f84134eb4fde6c2a801c18eb6b2ade55b4152be20129f1b51eb6cee567dd16bbcb29b4c99cdc3cc512363cba2b6426ac5bb3a77c42d951b3739566e131214a05479e6e27dbaa6945c39edea90c3fae10fffdf8a7683cf251bd3025ce4a5dcebb6de856209d66cfae7ba6f9318711d0ced5d54155d5bef7e4c75aaed9efa950ebb5dbec3a4961e56b851fc3f0c51fce2075010cfda31b355671cb87754848aec8342218b3b6797339753419ae309681f263aba37b1933ae1b92c6f9a2f0efa9ac42132600b9d8ed67aef36eda30a0f4ad800cf9a30d513cb99361c59dd2de71d20911fa653418f83aa97a422fad4fc6058b4e8e1d24be0caea2e453489e38b3d191ab830478aacab14332e972dffb6723ffd26154633ec3e8684b01c00000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0xb\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1a572ea\",\n      \"logs\": [\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x8c10543b5d79af68189d6cc2c7eb7cc41c83164ae4309bb302e1741c6818d35e\",\n            \"0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x50c4000be2707be78bf26163bf307e16b9a7554dc85df1376a6c75501b5c5b1e\",\n          \"blockNumber\": \"0x16cfc28\",\n          \"blockTimestamp\": \"0x692dba47\",\n          \"transactionHash\": \"0x7e6225f3aa6cf09870329d68936e4f5e45939ecd2f657983f5c9db8c6bb65e74\",\n          \"transactionIndex\": \"0x183\",\n          \"logIndex\": \"0x291\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0x231171646032a4c481054593e9c1c0d53a359346b0b147cec8fa5e063e76c5d5\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x50c4000be2707be78bf26163bf307e16b9a7554dc85df1376a6c75501b5c5b1e\",\n          \"blockNumber\": \"0x16cfc28\",\n          \"blockTimestamp\": \"0x692dba47\",\n          \"transactionHash\": \"0x7e6225f3aa6cf09870329d68936e4f5e45939ecd2f657983f5c9db8c6bb65e74\",\n          \"transactionIndex\": \"0x183\",\n          \"logIndex\": \"0x292\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000404000001000000010000000000000000008000000000008040000000000000000000000800000000000000000000008000000100000000000000000000000000000000000000000000000000000000008000400000000400000000000000000400000000000000000400000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000010004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000040000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x7e6225f3aa6cf09870329d68936e4f5e45939ecd2f657983f5c9db8c6bb65e74\",\n      \"transactionIndex\": \"0x183\",\n      \"blockHash\": \"0x50c4000be2707be78bf26163bf307e16b9a7554dc85df1376a6c75501b5c5b1e\",\n      \"blockNumber\": \"0x16cfc28\",\n      \"gasUsed\": \"0x205fe\",\n      \"effectiveGasPrice\": \"0x84bc8311\",\n      \"from\": \"0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e\",\n      \"to\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1764604491152,\n  \"chain\": 1,\n  \"commit\": \"eda0e83\"\n}"
  },
  {
    "path": "mainnet/2025-11-21-u17-jovian-upgrade/records/UpgradeWithOpSmartContractManager.sol/1/run-1764604526281.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xf2e792a3b476ed8fd2a00fce3746d6b93ac0ccdd319a8d25f65532f7608e9029\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd37de49f5310901e1988c484d7919375551b77fd388f5e2737410752f5504b10300000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e\",\n        \"to\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n        \"gas\": \"0x1ee6d\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd37de49f5310901e1988c484d7919375551b77fd388f5e2737410752f5504b1030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0xc\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x109916a\",\n      \"logs\": [\n        {\n          \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x37de49f5310901e1988c484d7919375551b77fd388f5e2737410752f5504b103\",\n            \"0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xa77663b679ff1bbdf46b8cd1632988f2069c327d66cbe2a530aee52c42835592\",\n          \"blockNumber\": \"0x16cfc2b\",\n          \"blockTimestamp\": \"0x692dba6b\",\n          \"transactionHash\": \"0xf2e792a3b476ed8fd2a00fce3746d6b93ac0ccdd319a8d25f65532f7608e9029\",\n          \"transactionIndex\": \"0xc9\",\n          \"logIndex\": \"0x18c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x8c10543b5d79af68189d6cc2c7eb7cc41c83164ae4309bb302e1741c6818d35e0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xa77663b679ff1bbdf46b8cd1632988f2069c327d66cbe2a530aee52c42835592\",\n          \"blockNumber\": \"0x16cfc2b\",\n          \"blockTimestamp\": \"0x692dba6b\",\n          \"transactionHash\": \"0xf2e792a3b476ed8fd2a00fce3746d6b93ac0ccdd319a8d25f65532f7608e9029\",\n          \"transactionIndex\": \"0xc9\",\n          \"logIndex\": \"0x18d\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000010000000000000000008000000000000040000000000000000000000000101000004000000000000000000100000000000000000001000000000000000000040000000000000000008000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000080000000000000000000000200000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xf2e792a3b476ed8fd2a00fce3746d6b93ac0ccdd319a8d25f65532f7608e9029\",\n      \"transactionIndex\": \"0xc9\",\n      \"blockHash\": \"0xa77663b679ff1bbdf46b8cd1632988f2069c327d66cbe2a530aee52c42835592\",\n      \"blockNumber\": \"0x16cfc2b\",\n      \"gasUsed\": \"0x165f5\",\n      \"effectiveGasPrice\": \"0x875647be\",\n      \"from\": \"0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e\",\n      \"to\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1764604526281,\n  \"chain\": 1,\n  \"commit\": \"eda0e83\"\n}"
  },
  {
    "path": "mainnet/2025-11-21-u17-jovian-upgrade/records/UpgradeWithOpSmartContractManager.sol/1/run-1764604704970.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x93dc480940585D9961bfcEab58124fFD3d60f76a\",\n        \"0\",\n        \"0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000fa1ef97fb02b0da2ee2346b8e310907ab55194490000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4ff2dd5a10000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e03caa1871bb9fe7f9b11217c245c16e4ded33367df5b3ccb2c6d0a847a217d1b00000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e\",\n        \"to\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n        \"gas\": \"0xd52b1b\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a76120200000000000000000000000093dc480940585d9961bfceab58124ffd3d60f76a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000001a482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000fa1ef97fb02b0da2ee2346b8e310907ab55194490000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4ff2dd5a10000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e03caa1871bb9fe7f9b11217c245c16e4ded33367df5b3ccb2c6d0a847a217d1b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0xd\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [\n        {\n          \"transactionType\": \"CREATE2\",\n          \"contractName\": null,\n          \"address\": \"0x6f8c1ea88cb410571739d36eb00811b250574cb2\",\n          \"initCode\": \"0x6102006040523480156200001257600080fd5b50604051620065483803806200654883398101604081905262000035916200053c565b82620000446001607e6200064b565b60ff16816040015111156200006c57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000965750604081015160608201516200009390600162000671565b10155b15620000b55760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000dc5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000129573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014f91906200068c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b39190620006ac565b1115620001d35760405163b4e1243360e01b815260040160405180910390fd5b6000620001f882608001516001600160401b03166200048e60201b62000cec1760201c565b6200020e906001600160401b03166002620006c6565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000255573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027b91906200068c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002df9190620006ac565b6200030284608001516001600160401b03166200048e60201b62000cec1760201c565b6001600160401b031662000317919062000671565b905060006200033283836200049160201b6200283e1760201c565b90506001600160401b038111156200035d5760405163235dfb2b60e21b815260040160405180910390fd5b620003808460a001516001600160401b03166200048e60201b62000cec1760201c565b6001600160401b0316816001600160401b03161115620003b35760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003da856000015163ffffffff166200048e60201b62000cec1760201c565b63ffffffff1603620003ff5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015181166101605292015161018052509182166101c052166101e05250620006e8565b90565b600081831015620004a35781620004a5565b825b9392505050565b60405161014081016001600160401b0381118282101715620004de57634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004f957600080fd5b919050565b80516001600160401b0381168114620004f957600080fd5b6001600160a01b03811681146200052c57600080fd5b50565b8051620004f98162000516565b60008060008385036101808112156200055457600080fd5b610140808212156200056557600080fd5b6200056f620004ac565b91506200057c86620004e4565b8252602086015160208301526040860151604083015260608601516060830152620005aa60808701620004fe565b6080830152620005bd60a08701620004fe565b60a0830152620005d060c087016200052f565b60c0830152620005e360e087016200052f565b60e0830152610100620005f88188016200052f565b8184015250610120808701518184015250819450620006198187016200052f565b935050506200062c61016085016200052f565b90509250925092565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168082101562000668576200066862000635565b90039392505050565b6000821982111562000687576200068762000635565b500190565b6000602082840312156200069f57600080fd5b8151620004a58162000516565b600060208284031215620006bf57600080fd5b5051919050565b6000816000190483118215151615620006e357620006e362000635565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051615c85620008c36000396000818161061c01528181611a4a01526123b001526000818161090d01528181611a1801528181611eeb015261237e015260008181610778015281816130ed01528181613158015261318b015260008181610ac5015261277c0152600081816106ee01528181611b4801528181611c8c01528181611d6601528181611df5015281816135fa0152613aad0152600081816105a90152818161182601528181611922015281816134f401526139b4015260008181610948015281816127fe0152613a840152600081816105460152818161247e01528181613006015261431b015260008181610b1801528181610f7f0152818161207c015281816120be01528181612f76015281816131bb015261321a015260008181610b4b0152818161262201528181612dbf01528181612ee50152818161312901528181614192015281816145bf0152818161469e0152818161475101528181614f7f0152615170015260008181610bf20152818161216a015281816121f001528181612e8801528181612fda015281816140aa01526141b301526000818161083a01526142360152615c856000f3fe6080604052600436106103555760003560e01c806370872aa5116101bb578063c0d8bb74116100f7578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b9f578063fa24f74314610bbf578063fa315aa914610be3578063fe2bbeb214610c1657600080fd5b8063dabd396d14610b09578063ec5e630814610b3c578063eff0f59214610b6f57600080fd5b8063cf09e0d0116100d1578063cf09e0d014610a75578063d5d44d8014610a96578063d6ae3cd514610ab6578063d8cc1a3c14610ae957600080fd5b8063c0d8bb74146109b4578063c395e1ca146109e1578063c6f0308c14610a0157600080fd5b80638d450a9511610164578063a8e4fb901161013e578063a8e4fb90146108fe578063bbdc02db14610931578063bcef3b5514610972578063bd8da9561461099457600080fd5b80638d450a951461082b57806399735e3214610809578063a445ece61461085e57600080fd5b80638129fc1c116101955780638129fc1c146107ec5780638980e0cc146107f45780638b85902b1461080957600080fd5b806370872aa5146107af578063786b844b146107c45780637b0f0adc146107d957600080fd5b80633e3ac912116102955780635a5fa2d91161023357806360e274641161020d57806360e27464146107275780636361506d146107475780636b6716c0146107695780636f0344091461079c57600080fd5b80635a5fa2d9146106bf5780635c0cba33146106df578063609d33341461071257600080fd5b8063529d6a8c1161026f578063529d6a8c146105e0578063534db0e21461060d57806354fd4d501461064057806357da950e1461068f57600080fd5b80633e3ac9121461056a5780633fc8cef31461059a578063472777c6146105cd57600080fd5b806325fc2ace1161030257806330dbe570116102dc57806330dbe570146104c3578063378dd48c146104fb57806337b1b229146105155780633a7684631461053757600080fd5b806325fc2ace1461046f5780632810e1d61461048e5780632ad69aeb146104a357600080fd5b8063200d2ed211610333578063200d2ed2146103e7578063222abf4514610415578063250e69bd1461045557600080fd5b8063019351301461035a57806303c2924d1461037c57806319effeb41461039c575b600080fd5b34801561036657600080fd5b5061037a6103753660046154f5565b610c46565b005b34801561038857600080fd5b5061037a610397366004615550565b610f05565b3480156103a857600080fd5b506000546103c99068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103f357600080fd5b5060005461040890600160801b900460ff1681565b6040516103de91906155a9565b34801561042157600080fd5b506104456104303660046155d1565b600c6020526000908152604090205460ff1681565b60405190151581526020016103de565b34801561046157600080fd5b50600a546104459060ff1681565b34801561047b57600080fd5b506008545b6040519081526020016103de565b34801561049a57600080fd5b5061040861148d565b3480156104af57600080fd5b506104806104be366004615550565b611665565b3480156104cf57600080fd5b506001546104e3906001600160a01b031681565b6040516001600160a01b0390911681526020016103de565b34801561050757600080fd5b50600d546104089060ff1681565b34801561052157600080fd5b503660011981013560f01c90033560601c6104e3565b34801561054357600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561057657600080fd5b50600054610445907201000000000000000000000000000000000000900460ff1681565b3480156105a657600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b61037a6105db3660046155ee565b61169b565b3480156105ec57600080fd5b506104806105fb3660046155d1565b60036020526000908152604090205481565b34801561061957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561064c57600080fd5b5060408051808201909152600581527f312e382e3000000000000000000000000000000000000000000000000000000060208201525b6040516103de9190615685565b34801561069b57600080fd5b506008546009546106aa919082565b604080519283526020830191909152016103de565b3480156106cb57600080fd5b506104806106da366004615698565b6116ad565b3480156106eb57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561071e57600080fd5b506106826116e7565b34801561073357600080fd5b5061037a6107423660046155d1565b6116f5565b34801561075357600080fd5b503660011981013560f01c900360340135610480565b34801561077557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c9565b61037a6107aa3660046156bf565b611a0d565b3480156107bb57600080fd5b50600954610480565b3480156107d057600080fd5b5061037a611ab4565b61037a6107e73660046155ee565b611ed3565b61037a611ee0565b34801561080057600080fd5b50600254610480565b34801561081557600080fd5b503660011981013560f01c900360540135610480565b34801561083757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b34801561086a57600080fd5b506108c0610879366004615698565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103de565b34801561090a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561093d57600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103de565b34801561097e57600080fd5b503660011981013560f01c900360140135610480565b3480156109a057600080fd5b506103c96109af366004615698565b611f4c565b3480156109c057600080fd5b506104806109cf3660046155d1565b600b6020526000908152604090205481565b3480156109ed57600080fd5b506104806109fc366004615700565b6120e6565b348015610a0d57600080fd5b50610a21610a1c366004615698565b6122a7565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103de565b348015610a8157600080fd5b506000546103c99067ffffffffffffffff1681565b348015610aa257600080fd5b50610480610ab13660046155d1565b61231b565b348015610ac257600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610af557600080fd5b5061037a610b04366004615729565b612373565b348015610b1557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c9565b348015610b4857600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610b7b57600080fd5b50610445610b8a366004615698565b60046020526000908152604090205460ff1681565b348015610bab57600080fd5b5061037a610bba3660046155ee565b612416565b348015610bcb57600080fd5b50610bd46127fc565b6040516103de939291906157b5565b348015610bef57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610c2257600080fd5b50610445610c31366004615698565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610c6557610c65615572565b14610c835760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610cd6576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cef3660011981013560f01c90036014013590565b90565b610d06610d01368690038601866157f0565b612859565b14610d3d576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610d52929190615864565b604051809103902014610d91576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610dda610dd584848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128b592505050565b612922565b90506000610e0182600881518110610df457610df4615874565b6020026020010151612ad8565b9050602081511115610e3f576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e96576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610f2457610f24615572565b14610f425760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610f5757610f57615874565b906000526020600020906005020190506000610f7284611f4c565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610fdb576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611024576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561104157508515155b156110a457835464010000000090046001600160a01b0316600081156110675781611076565b60018601546001600160a01b03165b90506110828187612b8c565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b03166060830152611128576001600160801b036040820152600181526000869003611128578195505b600086826020015163ffffffff1661114091906158a0565b905060008382116111515781611153565b835b602084015190915063ffffffff165b8181101561127357600086828154811061117e5761117e615874565b6000918252602080832090910154808352600690915260409091205490915060ff166111d6576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600282815481106111eb576111eb615874565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156112325750600481015460408701516001600160801b039182169116115b1561125e5760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b5050808061126b906158b8565b915050611162565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361148257606083015160008a8152600660205260409020805460ff19166001179055891580156113bf57506000547201000000000000000000000000000000000000900460ff165b1561141a576001546001600160a01b03166113da818a612b8c565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611480565b6114476001600160a01b038216156114325781611441565b60018901546001600160a01b03165b89612b8c565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156114ae576114ae615572565b146114cc5760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff16611530576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b0316600260008154811061154f5761154f615874565b600091825260209091206005909102015464010000000090046001600160a01b03161461157d576001611580565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b83600281111561162457611624615572565b02179055600281111561163957611639615572565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061168157600080fd5b90600052602060002001600091509150505481565b905090565b6116a88383836001611a0d565b505050565b600081815260076020908152604080832060059092528220805482546116de90610100900463ffffffff16826158d2565b95945050505050565b606061169660546020612bce565b6116fd611ab4565b60006002600d5460ff16600281111561171857611718615572565b0361173c57506001600160a01b0381166000908152600b60205260409020546117ab565b6001600d5460ff16600281111561175557611755615572565b0361177957506001600160a01b0381166000908152600360205260409020546117ab565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff16611888576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b15801561186c57600080fd5b505af1158015611880573d6000803e3d6000fd5b505050505050565b806000036118c2576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b15801561196857600080fd5b505af115801561197c573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146119cd576040519150601f19603f3d011682016040523d82523d6000602084013e6119d2565b606091505b50509050806116a8576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480611a6c5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b611aa2576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611aae84848484612c02565b50505050565b6002600d5460ff166002811115611acd57611acd615572565b1480611aef57506001600d5460ff166002811115611aed57611aed615572565b145b15611af657565b6000600d5460ff166002811115611b0f57611b0f615572565b14611b46576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ba4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bc891906158e9565b15611bff576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff16600003611c5b576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015611cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cff91906158e9565b905080611d38576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b158015611db257600080fd5b505af1925050508015611dc3575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa158015611e44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6891906158e9565b90508015611e8257600d805460ff19166001179055611e90565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f91611ec79160ff909116906155a9565b60405180910390a15050565b6116a88383836000611a0d565b326001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f42576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f4a6135a3565b565b600080600054600160801b900460ff166002811115611f6d57611f6d615572565b14611f8b5760405163067fe19560e41b815260040160405180910390fd5b600060028381548110611fa057611fa0615874565b600091825260208220600590910201805490925063ffffffff9081161461200657815460028054909163ffffffff16908110611fde57611fde615874565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b600482015460009061203190600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b6120459067ffffffffffffffff16426158d2565b61205b612024846001600160801b031660401c90565b67ffffffffffffffff1661206f91906158a0565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff16116120bc57806116de565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612163836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f00000000000000000000000000000000000000000000000000000000000000008111156121c2576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a30060006121dd838361591c565b9050670de0b6b3a76400006000612214827f0000000000000000000000000000000000000000000000000000000000000000615930565b9050600061223261222d670de0b6b3a764000086615930565b613b40565b905060006122408484613d92565b9050600061224e8383613de1565b9050600061225b82613e0f565b9050600061227a82612275670de0b6b3a76400008f615930565b613ff7565b905060006122888b83613de1565b9050612294818d615930565b9f9e505050505050505050505050505050565b600281815481106122b757600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff16600281111561233657612336615572565b0361235757506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806123d25750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b612408576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611880868686868686614028565b60008054600160801b900460ff16600281111561243557612435615572565b146124535760405163067fe19560e41b815260040160405180910390fd5b60008060008061246286614584565b93509350935093506000612478858585856148dd565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124fe919061594f565b9050600189036125cb576001600160a01b0381166352f0f3ad8a8461252f3660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156125a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c5919061596c565b50611482565b600289036125ea576001600160a01b0381166352f0f3ad8a848961252f565b60038903612609576001600160a01b0381166352f0f3ad8a848761252f565b6004890361273e5760006126466001600160801b0385167f000000000000000000000000000000000000000000000000000000000000000061497c565b60095461265391906158a0565b61265e9060016158a0565b90503660011981013560f01c900360540135811061268b573660011981013560f01c90036054013561268d565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015612713573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612737919061596c565b5050611482565b600589036127ca576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a401612582565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003660011981013560f01c90036014013560606128376116e7565b9050909192565b60008183101561284e5781612850565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001612898949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003612904576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b6060600080600061293285614a11565b91945092509050600181600181111561294d5761294d615572565b14612984576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845161299083856158a0565b146129c7576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816129de5790505093506000835b8651811015612acc57600080612a516040518060400160405280858c60000151612a3591906158d2565b8152602001858c60200151612a4a91906158a0565b9052614a11565b509150915060405180604001604052808383612a6d91906158a0565b8152602001848b60200151612a8291906158a0565b815250888581518110612a9757612a97615874565b6020908102919091010152612aad6001856158a0565b9350612ab981836158a0565b612ac390846158a0565b92505050612a0b565b50845250919392505050565b60606000806000612ae885614a11565b919450925090506000816001811115612b0357612b03615572565b14612b3a576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612b4482846158a0565b855114612b7d576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116de85602001518484614eaf565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190612bc59084906158a0565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b60008054600160801b900460ff166002811115612c2157612c21615572565b14612c3f5760405163067fe19560e41b815260040160405180910390fd5b600060028481548110612c5457612c54615874565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514612d18576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000612dad826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580612de85750612de57f000000000000000000000000000000000000000000000000000000000000000060026158a0565b81145b8015612df2575084155b15612e29576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015612e4f575086155b15612e86576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115612ee0576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612f0b7f000000000000000000000000000000000000000000000000000000000000000060016158a0565b8103612f1d57612f1d86888588614f44565b34612f27836120e6565b14612f5e576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612f6988611f4c565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603612fd1576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612ffe60017f00000000000000000000000000000000000000000000000000000000000000006158d2565b8303613122577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613062573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613086919061594f565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130e7919061596c565b61311b907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615985565b90506131b5565b61314d60017f00000000000000000000000000000000000000000000000000000000000000006158d2565b83036131885761311b7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff1660026159b1565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b6131e9817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159e1565b67ffffffffffffffff166132048367ffffffffffffffff1690565b67ffffffffffffffff16111561324b57613248817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159e1565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff16156132c0576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c815260200190815260200160002060016002805490506134b791906158d2565b81546001810183556000928352602080842090910191909155338252600b90526040812080543492906134eb9084906158a0565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561354d57600080fd5b505af1158015613561573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b60005471010000000000000000000000000000000000900460ff16156135f5576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015613655573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136799190615a0a565b9092509050816136b5576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805180820190915282815260200181905260088290556009819055607a361461370c576040517f9824bdab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b803660011981013560f01c9003605401351161376a576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b9091529182208054919290916139ab9084906158a0565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015613a0d57600080fd5b505af1158015613a21573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015613b00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b249190615a2e565b600a805460ff191663ffffffff92909216929092141790555050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213613b9657631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a764000002158202613dcf57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b600081600019048311820215613dff5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d78213613e3d57919050565b680755bf798b4a1bf1e58212613e5b5763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000612850670de0b6b3a76400008361400f86613b40565b6140199190615a54565b6140239190615b10565b613e0f565b60008054600160801b900460ff16600281111561404757614047615572565b146140655760405163067fe19560e41b815260040160405180910390fd5b60006002878154811061407a5761407a615874565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506140d07f000000000000000000000000000000000000000000000000000000000000000060016158a0565b61414a826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1614614184576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808915614260576141d77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006158d2565b6001901b6141ed846001600160801b03166150d3565b6001600160801b03166142009190615b5a565b156142345761422b61421c60016001600160801b038716615b6e565b865463ffffffff166000615159565b60030154614256565b7f00000000000000000000000000000000000000000000000000000000000000005b9150849050614281565b6003850154915061427e61421c6001600160801b0386166001615b8e565b90505b600882901b60088a8a604051614298929190615864565b6040518091039020901b146142d9576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006142e48c615222565b905060006142f3836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced3290614360908f908f908f908f908a90600401615bf9565b6020604051808303816000875af115801561437f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143a3919061596c565b60048501549114915060009060029061442c906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6144a6896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6144b09190615c33565b6144ba9190615c56565b60ff1615905081151581036144fb576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b031615614545576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008060008060008590506000600282815481106145a4576145a4615874565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614659906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611614693576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090614738906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1692508211156147ad57825463ffffffff166147777f000000000000000000000000000000000000000000000000000000000000000060016158a0565b8303614781578391505b6002818154811061479457614794615874565b9060005260206000209060050201935080945050614697565b600481810154908401546001600160801b0391821691166000816001600160801b03166147f26147e6856001600160801b031660011c90565b6001600160801b031690565b6001600160801b0316149050801561488b576000614818836001600160801b03166150d3565b6001600160801b0316111561486857600061484861484060016001600160801b038616615b6e565b896001615159565b6003810154600490910154909c506001600160801b03169a5061486e9050565b6008549a505b600386015460048701549099506001600160801b031697506148cf565b60006148a46148406001600160801b0385166001615b8e565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b038416156149385760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a001604051602081830303815290604052805190602001206116de565b828260405160200161495d9291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b6000806149f0847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614a54576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614a79576000600160009450945094505050614ea8565b60b78111614b8f576000614a8e6080836158d2565b905080876000015111614acd576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614b4557507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614b7c576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614ea8915050565b60bf8111614ced576000614ba460b7836158d2565b905080876000015111614be3576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614c45576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614c8d576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614c9781846158a0565b895111614cd0576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614cdb8360016158a0565b9750955060009450614ea89350505050565b60f78111614d52576000614d0260c0836158d2565b905080876000015111614d41576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614ea8915050565b6000614d5f60f7836158d2565b905080876000015111614d9e576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614e00576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614e48576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e5281846158a0565b895111614e8b576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e968360016158a0565b9750955060019450614ea89350505050565b9193909250565b60608167ffffffffffffffff811115614eca57614eca6157da565b6040519080825280601f01601f191660200182016040528015614ef4576020820181803683370190505b5090508115614f3d576000614f0984866158a0565b90506020820160005b84811015614f2a578281015182820152602001614f12565b84811115614f39576000858301525b5050505b9392505050565b6000614f5a6001600160801b0384166001615b8e565b90506000614f6a82866001615159565b9050600086901a83806150345750614fa360027f0000000000000000000000000000000000000000000000000000000000000000615b5a565b6004830154600290615025906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61502f9190615c56565b60ff16145b1561508c5760ff81166001148061504e575060ff81166002145b615087576040517ff40239db00000000000000000000000000000000000000000000000000000000815260048101889052602401613761565b6150ca565b60ff8116156150ca576040517ff40239db00000000000000000000000000000000000000000000000000000000815260048101889052602401613761565b50505050505050565b600080615147837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b60008082615199576151946001600160801b0386167f0000000000000000000000000000000000000000000000000000000000000000615251565b6151ab565b6151ab856001600160801b0316615390565b9050600284815481106151c0576151c0615874565b906000526020600020906005020191505b60048201546001600160801b0382811691161461521a57815460028054909163ffffffff1690811061520557615205615874565b906000526020600020906005020191506151d1565b509392505050565b600080600080600061523386614584565b9350935093509350615247848484846148dd565b9695505050505050565b6000816152ce846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116152e45763b34b5c226000526004601cfd5b6152ed83615390565b90508161536a826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611612853576128506153808360016158a0565b6001600160801b0383169061541c565b6000811960018301168161540b827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b600080615490847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f8401126154be57600080fd5b50813567ffffffffffffffff8111156154d657600080fd5b6020830191508360208285010111156154ee57600080fd5b9250929050565b600080600083850360a081121561550b57600080fd5b608081121561551957600080fd5b50839250608084013567ffffffffffffffff81111561553757600080fd5b615543868287016154ac565b9497909650939450505050565b6000806040838503121561556357600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b600381106155a657634e487b7160e01b600052602160045260246000fd5b50565b602081016155b683615588565b91905290565b6001600160a01b03811681146155a657600080fd5b6000602082840312156155e357600080fd5b8135614f3d816155bc565b60008060006060848603121561560357600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561564057602081850181015186830182015201615624565b81811115615652576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000612850602083018461561a565b6000602082840312156156aa57600080fd5b5035919050565b80151581146155a657600080fd5b600080600080608085870312156156d557600080fd5b84359350602085013592506040850135915060608501356156f5816156b1565b939692955090935050565b60006020828403121561571257600080fd5b81356001600160801b0381168114614f3d57600080fd5b6000806000806000806080878903121561574257600080fd5b863595506020870135615754816156b1565b9450604087013567ffffffffffffffff8082111561577157600080fd5b61577d8a838b016154ac565b9096509450606089013591508082111561579657600080fd5b506157a389828a016154ac565b979a9699509497509295939492505050565b63ffffffff841681528260208201526060604082015260006116de606083018461561a565b634e487b7160e01b600052604160045260246000fd5b60006080828403121561580257600080fd5b6040516080810181811067ffffffffffffffff8211171561583357634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082198211156158b3576158b361588a565b500190565b600060001982036158cb576158cb61588a565b5060010190565b6000828210156158e4576158e461588a565b500390565b6000602082840312156158fb57600080fd5b8151614f3d816156b1565b634e487b7160e01b600052601260045260246000fd5b60008261592b5761592b615906565b500490565b600081600019048311821515161561594a5761594a61588a565b500290565b60006020828403121561596157600080fd5b8151614f3d816155bc565b60006020828403121561597e57600080fd5b5051919050565b600067ffffffffffffffff8083168185168083038211156159a8576159a861588a565b01949350505050565b600067ffffffffffffffff808316818516818304811182151516156159d8576159d861588a565b02949350505050565b600067ffffffffffffffff83811690831681811015615a0257615a0261588a565b039392505050565b60008060408385031215615a1d57600080fd5b505080516020909101519092909150565b600060208284031215615a4057600080fd5b815163ffffffff81168114614f3d57600080fd5b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615a9557615a9561588a565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615ad057615ad061588a565b60008712925087820587128484161615615aec57615aec61588a565b87850587128184161615615b0257615b0261588a565b505050929093029392505050565b600082615b1f57615b1f615906565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615b5557615b5561588a565b500590565b600082615b6957615b69615906565b500690565b60006001600160801b0383811690831681811015615a0257615a0261588a565b60006001600160801b038083168185168083038211156159a8576159a861588a565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615c0d606083018789615bb0565b8281036020840152615c20818688615bb0565b9150508260408301529695505050505050565b600060ff821660ff841680821015615c4d57615c4d61588a565b90039392505050565b600060ff831680615c6957615c69615906565b8060ff8416069150509291505056fea164736f6c634300080f000a000000000000000000000000000000000000000000000000000000000000000103caa1871bb9fe7f9b11217c245c16e4ded33367df5b3ccb2c6d0a847a217d1b0000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d400000000000000000000000006463dee3828677f6270d83d45408044fc5edb90800000000000000000000000064ae5250958cdeb83f6b61f913b5ac6ebe8efd4d000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e720000000000000000000000000000000000000000000000000000000000002105000000000000000000000000642229f238fb9de03374be34b0ed8d9de80752c50000000000000000000000008ca1e12404d16373aef756179b185f27b2994f3a\"\n        },\n        {\n          \"transactionType\": \"CREATE2\",\n          \"contractName\": null,\n          \"address\": \"0x979cb7e329ba213fb9d6c5f7771ec6a3109bdc93\",\n          \"initCode\": \"0x6101c06040523480156200001257600080fd5b50604051620062933803806200629383398101604081905262000035916200052e565b620000436001607e62000601565b60ff16816040015111156200006b57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000955750604081015160608201516200009290600162000627565b10155b15620000b45760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000db5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000128573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014e919062000642565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b2919062000662565b1115620001d25760405163b4e1243360e01b815260040160405180910390fd5b6000620001f782608001516001600160401b03166200048060201b62000c701760201c565b6200020d906001600160401b031660026200067c565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000254573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027a919062000642565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002de919062000662565b6200030184608001516001600160401b03166200048060201b62000c701760201c565b6001600160401b031662000316919062000627565b905060006200033183836200048360201b62003aa61760201c565b90506001600160401b038111156200035c5760405163235dfb2b60e21b815260040160405180910390fd5b6200037f8460a001516001600160401b03166200048060201b62000c701760201c565b6001600160401b0316816001600160401b03161115620003b25760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003d9856000015163ffffffff166200048060201b62000c701760201c565b63ffffffff1603620003fe5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015116610160529091015161018052506200069e565b90565b60008183101562000495578162000497565b825b9392505050565b60405161014081016001600160401b0381118282101715620004d057634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004eb57600080fd5b919050565b80516001600160401b0381168114620004eb57600080fd5b6001600160a01b03811681146200051e57600080fd5b50565b8051620004eb8162000508565b600061014082840312156200054257600080fd5b6200054c6200049e565b6200055783620004d6565b81526020830151602082015260408301516040820152606083015160608201526200058560808401620004f0565b60808201526200059860a08401620004f0565b60a0820152620005ab60c0840162000521565b60c0820152620005be60e0840162000521565b60e0820152610100620005d381850162000521565b90820152610120928301519281019290925250919050565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8416808210156200061e576200061e620005eb565b90039392505050565b600082198211156200063d576200063d620005eb565b500190565b6000602082840312156200065557600080fd5b8151620004978162000508565b6000602082840312156200067557600080fd5b5051919050565b6000816000190483118215151615620006995762000699620005eb565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051615a53620008406000396000818161072f01528181611e7c01528181611ee70152611f1a015260008181610a4901526139e40152600081816106a5015281816123c60152818161250a015281816125e401528181612673015281816127b50152612c68015260008181610593015281816117aa015281816118a6015281816122830152612b6f0152600081816108cc01528181612c3f0152613a6601526000818161053001528181611d950152818161341501526136e6015260008181610a9c01528181610f0301528181611d0501528181611f4a01528181611fa901528181612e2b0152612e6d015260008181610acf01528181611b4e01528181611c7401528181611eb80152818161328c0152818161388a01528181613ea50152818161457e0152818161469a01528181614779015261482c015260008181610b7601528181611c1701528181611d6901528181612f1901528181612f9f015281816131a401526132ad0152600081816107f101526133300152615a536000f3fe60806040526004361061033f5760003560e01c806370872aa5116101b0578063c395e1ca116100ec578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b23578063fa24f74314610b43578063fa315aa914610b67578063fe2bbeb214610b9a57600080fd5b8063dabd396d14610a8d578063ec5e630814610ac0578063eff0f59214610af357600080fd5b8063d5d44d80116100c6578063d5d44d8014610a1a578063d6ae3cd514610a3a578063d8cc1a3c14610a6d57600080fd5b8063c395e1ca14610965578063c6f0308c14610985578063cf09e0d0146109f957600080fd5b80638d450a9511610159578063bbdc02db11610133578063bbdc02db146108b5578063bcef3b55146108f6578063bd8da95614610918578063c0d8bb741461093857600080fd5b80638d450a95146107e257806399735e32146107c0578063a445ece61461081557600080fd5b80638129fc1c1161018a5780638129fc1c146107a35780638980e0cc146107ab5780638b85902b146107c057600080fd5b806370872aa514610766578063786b844b1461077b5780637b0f0adc1461079057600080fd5b80633e3ac9121161027f5780635a5fa2d91161022857806360e274641161020257806360e27464146106de5780636361506d146106fe5780636b6716c0146107205780636f0344091461075357600080fd5b80635a5fa2d9146106765780635c0cba3314610696578063609d3334146106c957600080fd5b8063529d6a8c11610259578063529d6a8c146105ca57806354fd4d50146105f757806357da950e1461064657600080fd5b80633e3ac912146105545780633fc8cef314610584578063472777c6146105b757600080fd5b806325fc2ace116102ec57806330dbe570116102c657806330dbe570146104ad578063378dd48c146104e557806337b1b229146104ff5780633a7684631461052157600080fd5b806325fc2ace146104595780632810e1d6146104785780632ad69aeb1461048d57600080fd5b8063200d2ed21161031d578063200d2ed2146103d1578063222abf45146103ff578063250e69bd1461043f57600080fd5b8063019351301461034457806303c2924d1461036657806319effeb414610386575b600080fd5b34801561035057600080fd5b5061036461035f3660046152c3565b610bca565b005b34801561037257600080fd5b5061036461038136600461531e565b610e89565b34801561039257600080fd5b506000546103b39068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103dd57600080fd5b506000546103f290600160801b900460ff1681565b6040516103c89190615377565b34801561040b57600080fd5b5061042f61041a36600461539f565b600c6020526000908152604090205460ff1681565b60405190151581526020016103c8565b34801561044b57600080fd5b50600a5461042f9060ff1681565b34801561046557600080fd5b506008545b6040519081526020016103c8565b34801561048457600080fd5b506103f2611411565b34801561049957600080fd5b5061046a6104a836600461531e565b6115e9565b3480156104b957600080fd5b506001546104cd906001600160a01b031681565b6040516001600160a01b0390911681526020016103c8565b3480156104f157600080fd5b50600d546103f29060ff1681565b34801561050b57600080fd5b503660011981013560f01c90033560601c6104cd565b34801561052d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b34801561056057600080fd5b5060005461042f907201000000000000000000000000000000000000900460ff1681565b34801561059057600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b6103646105c53660046153bc565b61161f565b3480156105d657600080fd5b5061046a6105e536600461539f565b60036020526000908152604090205481565b34801561060357600080fd5b5060408051808201909152600581527f312e382e3000000000000000000000000000000000000000000000000000000060208201525b6040516103c89190615453565b34801561065257600080fd5b50600854600954610661919082565b604080519283526020830191909152016103c8565b34801561068257600080fd5b5061046a610691366004615466565b611631565b3480156106a257600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b3480156106d557600080fd5b5061063961166b565b3480156106ea57600080fd5b506103646106f936600461539f565b611679565b34801561070a57600080fd5b503660011981013560f01c90036034013561046a565b34801561072c57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103b3565b61036461076136600461548d565b611991565b34801561077257600080fd5b5060095461046a565b34801561078757600080fd5b50610364612332565b61036461079e3660046153bc565b612751565b61036461275e565b3480156107b757600080fd5b5060025461046a565b3480156107cc57600080fd5b503660011981013560f01c90036054013561046a565b3480156107ee57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b34801561082157600080fd5b50610877610830366004615466565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103c8565b3480156108c157600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103c8565b34801561090257600080fd5b503660011981013560f01c90036014013561046a565b34801561092457600080fd5b506103b3610933366004615466565b612cfb565b34801561094457600080fd5b5061046a61095336600461539f565b600b6020526000908152604090205481565b34801561097157600080fd5b5061046a6109803660046154ce565b612e95565b34801561099157600080fd5b506109a56109a0366004615466565b613056565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103c8565b348015610a0557600080fd5b506000546103b39067ffffffffffffffff1681565b348015610a2657600080fd5b5061046a610a3536600461539f565b6130ca565b348015610a4657600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610a7957600080fd5b50610364610a883660046154f7565b613122565b348015610a9957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103b3565b348015610acc57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610aff57600080fd5b5061042f610b0e366004615466565b60046020526000908152604090205460ff1681565b348015610b2f57600080fd5b50610364610b3e3660046153bc565b61367e565b348015610b4f57600080fd5b50610b58613a64565b6040516103c893929190615583565b348015610b7357600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610ba657600080fd5b5061042f610bb5366004615466565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610be957610be9615340565b14610c075760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610c5a576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c733660011981013560f01c90036014013590565b90565b610c8a610c85368690038601866155be565b613ac1565b14610cc1576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610cd6929190615632565b604051809103902014610d15576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d5e610d5984848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613b1d92505050565b613b8a565b90506000610d8582600881518110610d7857610d78615642565b6020026020010151613d40565b9050602081511115610dc3576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e1a576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610ea857610ea8615340565b14610ec65760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610edb57610edb615642565b906000526020600020906005020190506000610ef684612cfb565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610f5f576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615610fa8576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000848152600560205260409020805480158015610fc557508515155b1561102857835464010000000090046001600160a01b031660008115610feb5781610ffa565b60018601546001600160a01b03165b90506110068187613df4565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b031660608301526110ac576001600160801b0360408201526001815260008690036110ac578195505b600086826020015163ffffffff166110c4919061566e565b905060008382116110d557816110d7565b835b602084015190915063ffffffff165b818110156111f757600086828154811061110257611102615642565b6000918252602080832090910154808352600690915260409091205490915060ff1661115a576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002828154811061116f5761116f615642565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156111b65750600481015460408701516001600160801b039182169116115b156111e25760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b505080806111ef90615686565b9150506110e6565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361140657606083015160008a8152600660205260409020805460ff191660011790558915801561134357506000547201000000000000000000000000000000000000900460ff165b1561139e576001546001600160a01b031661135e818a613df4565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611404565b6113cb6001600160a01b038216156113b657816113c5565b60018901546001600160a01b03165b89613df4565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff16600281111561143257611432615340565b146114505760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166114b4576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b031660026000815481106114d3576114d3615642565b600091825260209091206005909102015464010000000090046001600160a01b031614611501576001611504565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b8360028111156115a8576115a8615340565b0217905560028111156115bd576115bd615340565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061160557600080fd5b90600052602060002001600091509150505481565b905090565b61162c8383836001611991565b505050565b6000818152600760209081526040808320600590925282208054825461166290610100900463ffffffff16826156a0565b95945050505050565b606061161a60546020613e36565b611681612332565b60006002600d5460ff16600281111561169c5761169c615340565b036116c057506001600160a01b0381166000908152600b602052604090205461172f565b6001600d5460ff1660028111156116d9576116d9615340565b036116fd57506001600160a01b03811660009081526003602052604090205461172f565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff1661180c576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b1580156117f057600080fd5b505af1158015611804573d6000803e3d6000fd5b505050505050565b80600003611846576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b1580156118ec57600080fd5b505af1158015611900573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611951576040519150601f19603f3d011682016040523d82523d6000602084013e611956565b606091505b505090508061162c576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054600160801b900460ff1660028111156119b0576119b0615340565b146119ce5760405163067fe19560e41b815260040160405180910390fd5b6000600284815481106119e3576119e3615642565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514611aa7576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000611b3c826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580611b775750611b747f0000000000000000000000000000000000000000000000000000000000000000600261566e565b81145b8015611b81575084155b15611bb8576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015611bde575086155b15611c15576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115611c6f576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c9a7f0000000000000000000000000000000000000000000000000000000000000000600161566e565b8103611cac57611cac86888588613e6a565b34611cb683612e95565b14611ced576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611cf888612cfb565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603611d60576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611d8d60017f00000000000000000000000000000000000000000000000000000000000000006156a0565b8303611eb1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611df1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e1591906156b7565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7691906156d4565b611eaa907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166156ed565b9050611f44565b611edc60017f00000000000000000000000000000000000000000000000000000000000000006156a0565b8303611f1757611eaa7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166002615719565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b611f78817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615749565b67ffffffffffffffff16611f938367ffffffffffffffff1690565b67ffffffffffffffff161115611fda57611fd7817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615749565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff161561204f576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c8152602001908152602001600020600160028054905061224691906156a0565b81546001810183556000928352602080842090910191909155338252600b905260408120805434929061227a90849061566e565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156122dc57600080fd5b505af11580156122f0573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b6002600d5460ff16600281111561234b5761234b615340565b148061236d57506001600d5460ff16600281111561236b5761236b615340565b145b1561237457565b6000600d5460ff16600281111561238d5761238d615340565b146123c4576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612422573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124469190615772565b1561247d576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff166000036124d9576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015612559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061257d9190615772565b9050806125b6576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561263057600080fd5b505af1925050508015612641575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa1580156126c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126e69190615772565b9050801561270057600d805460ff1916600117905561270e565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f916127459160ff90911690615377565b60405180910390a15050565b61162c8383836000611991565b60005471010000000000000000000000000000000000900460ff16156127b0576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015612810573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612834919061578f565b909250905081612870576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805180820190915282815260200181905260088290556009819055607a36146128c7576040517f9824bdab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b803660011981013560f01c90036054013511612925576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b909152918220805491929091612b6690849061566e565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015612bc857600080fd5b505af1158015612bdc573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015612cbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cdf91906157b3565b600a805460ff191663ffffffff92909216929092141790555050565b600080600054600160801b900460ff166002811115612d1c57612d1c615340565b14612d3a5760405163067fe19560e41b815260040160405180910390fd5b600060028381548110612d4f57612d4f615642565b600091825260208220600590910201805490925063ffffffff90811614612db557815460028054909163ffffffff16908110612d8d57612d8d615642565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b6004820154600090612de090600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b612df49067ffffffffffffffff16426156a0565b612e0a612dd3846001600160801b031660401c90565b67ffffffffffffffff16612e1e919061566e565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611612e6b5780611662565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612f12836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115612f71576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000612f8c83836157ef565b9050670de0b6b3a76400006000612fc3827f0000000000000000000000000000000000000000000000000000000000000000615803565b90506000612fe1612fdc670de0b6b3a764000086615803565b613ff9565b90506000612fef848461424b565b90506000612ffd838361429a565b9050600061300a826142c8565b9050600061302982613024670de0b6b3a76400008f615803565b6144b0565b905060006130378b8361429a565b9050613043818d615803565b9f9e505050505050505050505050505050565b6002818154811061306657600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff1660028111156130e5576130e5615340565b0361310657506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b60008054600160801b900460ff16600281111561314157613141615340565b1461315f5760405163067fe19560e41b815260040160405180910390fd5b60006002878154811061317457613174615642565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506131ca7f0000000000000000000000000000000000000000000000000000000000000000600161566e565b613244826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161461327e576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080891561335a576132d17f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006156a0565b6001901b6132e7846001600160801b03166144e1565b6001600160801b03166132fa9190615822565b1561332e5761332561331660016001600160801b038716615836565b865463ffffffff166000614567565b60030154613350565b7f00000000000000000000000000000000000000000000000000000000000000005b915084905061337b565b600385015491506133786133166001600160801b0386166001615856565b90505b600882901b60088a8a604051613392929190615632565b6040518091039020901b146133d3576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006133de8c614630565b905060006133ed836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced329061345a908f908f908f908f908a906004016158c1565b6020604051808303816000875af1158015613479573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061349d91906156d4565b600485015491149150600090600290613526906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6135a0896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6135aa91906158fb565b6135b4919061591e565b60ff1615905081151581036135f5576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b03161561363f576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008054600160801b900460ff16600281111561369d5761369d615340565b146136bb5760405163067fe19560e41b815260040160405180910390fd5b6000806000806136ca8661465f565b935093509350935060006136e0858585856149b8565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613742573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061376691906156b7565b905060018903613833576001600160a01b0381166352f0f3ad8a846137973660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af1158015613809573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061382d91906156d4565b50611406565b60028903613852576001600160a01b0381166352f0f3ad8a8489613797565b60038903613871576001600160a01b0381166352f0f3ad8a8487613797565b600489036139a65760006138ae6001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000614a57565b6009546138bb919061566e565b6138c690600161566e565b90503660011981013560f01c90036054013581106138f3573660011981013560f01c9003605401356138f5565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af115801561397b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061399f91906156d4565b5050611406565b60058903613a32576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a4016137ea565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003660011981013560f01c9003601401356060613a9f61166b565b9050909192565b600081831015613ab65781613ab8565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001613b00949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003613b6c576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000613b9a85614aec565b919450925090506001816001811115613bb557613bb5615340565b14613bec576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451613bf8838561566e565b14613c2f576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b6040805180820190915260008082526020820152815260200190600190039081613c465790505093506000835b8651811015613d3457600080613cb96040518060400160405280858c60000151613c9d91906156a0565b8152602001858c60200151613cb2919061566e565b9052614aec565b509150915060405180604001604052808383613cd5919061566e565b8152602001848b60200151613cea919061566e565b815250888581518110613cff57613cff615642565b6020908102919091010152613d1560018561566e565b9350613d21818361566e565b613d2b908461566e565b92505050613c73565b50845250919392505050565b60606000806000613d5085614aec565b919450925090506000816001811115613d6b57613d6b615340565b14613da2576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613dac828461566e565b855114613de5576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61166285602001518484614f8a565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190613e2d90849061566e565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b6000613e806001600160801b0384166001615856565b90506000613e9082866001614567565b9050600086901a8380613f5a5750613ec960027f0000000000000000000000000000000000000000000000000000000000000000615822565b6004830154600290613f4b906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b613f55919061591e565b60ff16145b15613fb25760ff811660011480613f74575060ff81166002145b613fad576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161291c565b613ff0565b60ff811615613ff0576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161291c565b50505050505050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b176000821361404f57631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261428857637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b6000816000190483118202156142b85763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d782136142f657919050565b680755bf798b4a1bf1e582126143145763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000613ab8670de0b6b3a7640000836144c886613ff9565b6144d29190615940565b6144dc91906159fc565b6142c8565b600080614555837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b600080826145a7576145a26001600160801b0386167f000000000000000000000000000000000000000000000000000000000000000061501f565b6145b9565b6145b9856001600160801b031661515e565b9050600284815481106145ce576145ce615642565b906000526020600020906005020191505b60048201546001600160801b0382811691161461462857815460028054909163ffffffff1690811061461357614613615642565b906000526020600020906005020191506145df565b509392505050565b60008060008060006146418661465f565b9350935093509350614655848484846149b8565b9695505050505050565b600080600080600085905060006002828154811061467f5761467f615642565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614734906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161476e576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090614813906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561488857825463ffffffff166148527f0000000000000000000000000000000000000000000000000000000000000000600161566e565b830361485c578391505b6002818154811061486f5761486f615642565b9060005260206000209060050201935080945050614772565b600481810154908401546001600160801b0391821691166000816001600160801b03166148cd6148c1856001600160801b031660011c90565b6001600160801b031690565b6001600160801b031614905080156149665760006148f3836001600160801b03166144e1565b6001600160801b0316111561494357600061492361491b60016001600160801b038616615836565b896001614567565b6003810154600490910154909c506001600160801b03169a506149499050565b6008549a505b600386015460048701549099506001600160801b031697506149aa565b600061497f61491b6001600160801b0385166001615856565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b03841615614a135760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611662565b8282604051602001614a389291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614acb847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614b2f576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614b54576000600160009450945094505050614f83565b60b78111614c6a576000614b696080836156a0565b905080876000015111614ba8576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614c2057507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614c57576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614f83915050565b60bf8111614dc8576000614c7f60b7836156a0565b905080876000015111614cbe576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614d20576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614d68576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614d72818461566e565b895111614dab576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614db683600161566e565b9750955060009450614f839350505050565b60f78111614e2d576000614ddd60c0836156a0565b905080876000015111614e1c576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614f83915050565b6000614e3a60f7836156a0565b905080876000015111614e79576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614edb576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614f23576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f2d818461566e565b895111614f66576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f7183600161566e565b9750955060019450614f839350505050565b9193909250565b60608167ffffffffffffffff811115614fa557614fa56155a8565b6040519080825280601f01601f191660200182016040528015614fcf576020820181803683370190505b5090508115615018576000614fe4848661566e565b90506020820160005b84811015615005578281015182820152602001614fed565b84811115615014576000858301525b5050505b9392505050565b60008161509c846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116150b25763b34b5c226000526004601cfd5b6150bb8361515e565b905081615138826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611613abb57613ab861514e83600161566e565b6001600160801b038316906151ea565b600081196001830116816151d9827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061525e847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261528c57600080fd5b50813567ffffffffffffffff8111156152a457600080fd5b6020830191508360208285010111156152bc57600080fd5b9250929050565b600080600083850360a08112156152d957600080fd5b60808112156152e757600080fd5b50839250608084013567ffffffffffffffff81111561530557600080fd5b6153118682870161527a565b9497909650939450505050565b6000806040838503121561533157600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061537457634e487b7160e01b600052602160045260246000fd5b50565b6020810161538483615356565b91905290565b6001600160a01b038116811461537457600080fd5b6000602082840312156153b157600080fd5b81356150188161538a565b6000806000606084860312156153d157600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561540e576020818501810151868301820152016153f2565b81811115615420576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000613ab860208301846153e8565b60006020828403121561547857600080fd5b5035919050565b801515811461537457600080fd5b600080600080608085870312156154a357600080fd5b84359350602085013592506040850135915060608501356154c38161547f565b939692955090935050565b6000602082840312156154e057600080fd5b81356001600160801b038116811461501857600080fd5b6000806000806000806080878903121561551057600080fd5b8635955060208701356155228161547f565b9450604087013567ffffffffffffffff8082111561553f57600080fd5b61554b8a838b0161527a565b9096509450606089013591508082111561556457600080fd5b5061557189828a0161527a565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061166260608301846153e8565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156155d057600080fd5b6040516080810181811067ffffffffffffffff8211171561560157634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561568157615681615658565b500190565b6000600019820361569957615699615658565b5060010190565b6000828210156156b2576156b2615658565b500390565b6000602082840312156156c957600080fd5b81516150188161538a565b6000602082840312156156e657600080fd5b5051919050565b600067ffffffffffffffff80831681851680830382111561571057615710615658565b01949350505050565b600067ffffffffffffffff8083168185168183048111821515161561574057615740615658565b02949350505050565b600067ffffffffffffffff8381169083168181101561576a5761576a615658565b039392505050565b60006020828403121561578457600080fd5b81516150188161547f565b600080604083850312156157a257600080fd5b505080516020909101519092909150565b6000602082840312156157c557600080fd5b815163ffffffff8116811461501857600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826157fe576157fe6157d9565b500490565b600081600019048311821515161561581d5761581d615658565b500290565b600082615831576158316157d9565b500690565b60006001600160801b038381169083168181101561576a5761576a615658565b60006001600160801b0380831681851680830382111561571057615710615658565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6060815260006158d5606083018789615878565b82810360208401526158e8818688615878565b9150508260408301529695505050505050565b600060ff821660ff84168082101561591557615915615658565b90039392505050565b600060ff831680615931576159316157d9565b8060ff84160691505092915050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60008413600084138583048511828216161561598157615981615658565b7f800000000000000000000000000000000000000000000000000000000000000060008712868205881281841616156159bc576159bc615658565b600087129250878205871284841616156159d8576159d8615658565b878505871281841616156159ee576159ee615658565b505050929093029392505050565b600082615a0b57615a0b6157d9565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615a4157615a41615658565b50059056fea164736f6c634300080f000a000000000000000000000000000000000000000000000000000000000000000003caa1871bb9fe7f9b11217c245c16e4ded33367df5b3ccb2c6d0a847a217d1b0000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d400000000000000000000000006463dee3828677f6270d83d45408044fc5edb9080000000000000000000000002453c1216e49704d84ea98a4dacd95738f2fc8ec000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e720000000000000000000000000000000000000000000000000000000000002105\"\n        }\n      ],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xfa804c\",\n      \"logs\": [\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x0000000000000000000000002fa28989fc559836e9d66dff3010c7f7f41c65ed\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xaf7e76f4bcb85e685fcf753f6971723010246ba9ef6fa6358846ff896393822c\",\n          \"blockNumber\": \"0x16cfc3a\",\n          \"blockTimestamp\": \"0x692dbb1f\",\n          \"transactionHash\": \"0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993\",\n          \"transactionIndex\": \"0x47\",\n          \"logIndex\": \"0xc0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x49048044d57e1c92a77f79988d21fa8faf74e97e\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x0000000000000000000000007cf803296662e8c72a6c1d6450572209acf7f202\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xaf7e76f4bcb85e685fcf753f6971723010246ba9ef6fa6358846ff896393822c\",\n          \"blockNumber\": \"0x16cfc3a\",\n          \"blockTimestamp\": \"0x692dbb1f\",\n          \"transactionHash\": \"0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993\",\n          \"transactionIndex\": \"0x47\",\n          \"logIndex\": \"0xc1\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x05cc379ebd9b30bba19c6fa282ab29218ec61d84\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x0000000000000000000000008ee6fb13c6c9a7e401531168e196fbf8b05ceabb\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xaf7e76f4bcb85e685fcf753f6971723010246ba9ef6fa6358846ff896393822c\",\n          \"blockNumber\": \"0x16cfc3a\",\n          \"blockTimestamp\": \"0x692dbb1f\",\n          \"transactionHash\": \"0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993\",\n          \"transactionIndex\": \"0x47\",\n          \"logIndex\": \"0xc2\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x00000000000000000000000074fac1d45b98bae058f8f566201c9a81b85c7d50\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xaf7e76f4bcb85e685fcf753f6971723010246ba9ef6fa6358846ff896393822c\",\n          \"blockNumber\": \"0x16cfc3a\",\n          \"blockTimestamp\": \"0x692dbb1f\",\n          \"transactionHash\": \"0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993\",\n          \"transactionIndex\": \"0x47\",\n          \"logIndex\": \"0xc3\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x8efb6b5c4767b09dc9aa6af4eaa89f749522bae2\",\n          \"topics\": [\n            \"0x9416a153a346f93d95f94b064ae3f148b6460473c6e82b3f9fc2521b873fcd6c\",\n            \"0x3b4a6791a6879d27c0ceeea3f78f8ebe66a01905f4a1290a8c6aff3e85f4665a\"\n          ],\n          \"data\": \"0x000000000000000000000000b686f13aff1e427a1f993f29ab0f2e7383729fe000000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6\",\n          \"blockHash\": \"0xaf7e76f4bcb85e685fcf753f6971723010246ba9ef6fa6358846ff896393822c\",\n          \"blockNumber\": \"0x16cfc3a\",\n          \"blockTimestamp\": \"0x692dbb1f\",\n          \"transactionHash\": \"0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993\",\n          \"transactionIndex\": \"0x47\",\n          \"logIndex\": \"0xc4\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x608d94945a64503e642e6370ec598e519a2c1e53\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x00000000000000000000000074f1ac50eb0be98853805d381c884f5f9abdecf9\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xaf7e76f4bcb85e685fcf753f6971723010246ba9ef6fa6358846ff896393822c\",\n          \"blockNumber\": \"0x16cfc3a\",\n          \"blockTimestamp\": \"0x692dbb1f\",\n          \"transactionHash\": \"0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993\",\n          \"transactionIndex\": \"0x47\",\n          \"logIndex\": \"0xc5\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e\",\n          \"topics\": [\n            \"0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de\",\n            \"0x0000000000000000000000006f8c1ea88cb410571739d36eb00811b250574cb2\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000001\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xaf7e76f4bcb85e685fcf753f6971723010246ba9ef6fa6358846ff896393822c\",\n          \"blockNumber\": \"0x16cfc3a\",\n          \"blockTimestamp\": \"0x692dbb1f\",\n          \"transactionHash\": \"0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993\",\n          \"transactionIndex\": \"0x47\",\n          \"logIndex\": \"0xc6\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e\",\n          \"topics\": [\n            \"0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de\",\n            \"0x000000000000000000000000979cb7e329ba213fb9d6c5f7771ec6a3109bdc93\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xaf7e76f4bcb85e685fcf753f6971723010246ba9ef6fa6358846ff896393822c\",\n          \"blockNumber\": \"0x16cfc3a\",\n          \"blockTimestamp\": \"0x692dbb1f\",\n          \"transactionHash\": \"0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993\",\n          \"transactionIndex\": \"0x47\",\n          \"logIndex\": \"0xc7\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n          \"topics\": [\n            \"0x78bc67b9bf548ef6410becd31a3e10b9ea6c255974ef6b4530728b431df30030\",\n            \"0x0000000000000000000000000000000000000000000000000000000000002105\",\n            \"0x00000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072\",\n            \"0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xaf7e76f4bcb85e685fcf753f6971723010246ba9ef6fa6358846ff896393822c\",\n          \"blockNumber\": \"0x16cfc3a\",\n          \"blockTimestamp\": \"0x692dbb1f\",\n          \"transactionHash\": \"0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993\",\n          \"transactionIndex\": \"0x47\",\n          \"logIndex\": \"0xc8\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x37de49f5310901e1988c484d7919375551b77fd388f5e2737410752f5504b1030000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xaf7e76f4bcb85e685fcf753f6971723010246ba9ef6fa6358846ff896393822c\",\n          \"blockNumber\": \"0x16cfc3a\",\n          \"blockTimestamp\": \"0x692dbb1f\",\n          \"transactionHash\": \"0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993\",\n          \"transactionIndex\": \"0x47\",\n          \"logIndex\": \"0xc9\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x000000004004000004000008000800004008000000000000000000a0040000000000008000000000040000040004000000000000000000000001000000040110001080000c00000088000000000002001041000000040040000000001000000008010000020000000001000020000800000000400000040000000000000000200020080000000000000000000000000000010000002000000000000020000000000000008020000004000000080004000040000000000080040200000000000000000020000000000000000000000480000010104000200001000000000060000080002000001040000000000000200002000004020000000000000000000100\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993\",\n      \"transactionIndex\": \"0x47\",\n      \"blockHash\": \"0xaf7e76f4bcb85e685fcf753f6971723010246ba9ef6fa6358846ff896393822c\",\n      \"blockNumber\": \"0x16cfc3a\",\n      \"gasUsed\": \"0x9a547f\",\n      \"effectiveGasPrice\": \"0x61e32f70\",\n      \"from\": \"0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e\",\n      \"to\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1764604704970,\n  \"chain\": 1,\n  \"commit\": \"eda0e83\"\n}"
  },
  {
    "path": "mainnet/2025-11-21-u17-jovian-upgrade/script/MultisigScript.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.15;\n\n// solhint-disable no-console\nimport {console} from \"lib/forge-std/src/console.sol\";\nimport {IMulticall3} from \"lib/forge-std/src/interfaces/IMulticall3.sol\";\nimport {Script} from \"lib/forge-std/src/Script.sol\";\nimport {Vm} from \"lib/forge-std/src/Vm.sol\";\n\nimport {IGnosisSafe, Enum} from \"@base-contracts/script/universal/IGnosisSafe.sol\";\nimport {Signatures} from \"@base-contracts/script/universal/Signatures.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {StateDiff} from \"@base-contracts/script/universal/StateDiff.sol\";\nimport {CBMulticall} from \"@base-contracts/src/utils/CBMulticall.sol\";\n\n/// @title MultisigScript\n/// @notice Script builder for Forge scripts that require signatures from Safes. Supports both non-nested\n///         Safes, as well as nested Safes of arbitrary depth (Safes where the signers are other Safes).\n///\n/// 1. Non-nested example:\n///\n/// Setup:\n/// ┌───────┐┌───────┐\n/// │Signer1││Signer2│\n/// └┬──────┘└┬──────┘\n/// ┌▽────────▽┐\n/// │Multisig  │\n/// └┬─────────┘\n/// ┌▽─────────┐\n/// │ProxyAdmin│\n/// └──────────┘\n///\n/// Sequence:\n/// ┌───────┐┌───────┐┌───────────┐┌──────────────┐\n/// │Signer1││Signer2││Facilitator││MultisigScript│\n/// └───┬───┘└───┬───┘└─────┬─────┘└───────┬──────┘\n///     │        │     sign()              │\n///     │─────────────────────────────────>│\n///     │      <sig1>       │              │\n///     │──────────────────>│              │\n///     │        │         sign()          │\n///     │        │────────────────────────>│\n///     │        │  <sig2>  │              │\n///     │        │─────────>│              │\n///     │        │          │run(sig1,sig2)│\n///     │        │          │─────────────>│\n///\n///\n/// 2. Single-layer nested example:\n///\n/// Setup:\n/// ┌───────┐┌───────┐┌───────┐┌───────┐\n/// │Signer1││Signer2││Signer3││Signer4│\n/// └┬──────┘└┬──────┘└┬──────┘└┬──────┘\n/// ┌▽────────▽┐┌──────▽────────▽┐\n/// │Safe1     ││Safe2           │\n/// └┬─────────┘└┬───────────────┘\n/// ┌▽───────────▽┐\n/// │Safe3        │\n/// └┬────────────┘\n/// ┌▽─────────┐\n/// │ProxyAdmin│\n/// └──────────┘\n///\n/// Sequence:\n/// ┌───────┐┌───────┐┌───────┐┌───────┐┌───────────┐          ┌──────────────┐\n/// │Signer1││Signer2││Signer3││Signer4││Facilitator│          │MultisigScript│\n/// └───┬───┘└───┬───┘└───┬───┘└───┬───┘└─────┬─────┘          └───────┬──────┘\n///     │        │        │       sign(Safe1) │                        │\n///     │─────────────────────────────────────────────────────────────>│\n///     │        │      <sig1>     │          │                        │\n///     │────────────────────────────────────>│                        │\n///     │        │        │        │   sign(Safe1)                     │\n///     │        │────────────────────────────────────────────────────>│\n///     │        │        │  <sig2>│          │                        │\n///     │        │───────────────────────────>│                        │\n///     │        │        │        │          │approve(Safe1,sig1|sig2)│\n///     │        │        │        │          │───────────────────────>│\n///     │        │        │        │       sign(Safe2)                 │\n///     │        │        │───────────────────────────────────────────>│\n///     │        │        │      <sig3>       │                        │\n///     │        │        │──────────────────>│                        │\n///     │        │        │        │          │ sign(Safe2)            │\n///     │        │        │        │──────────────────────────────────>│\n///     │        │        │        │  <sig4>  │                        │\n///     │        │        │        │─────────>│                        │\n///     │        │        │        │          │approve(Safe2,sig3|sig4)│\n///     │        │        │        │          │───────────────────────>│\n///     │        │        │        │          │         run()          │\n///     │        │        │        │          │───────────────────────>│\n///\n///\n/// 3. Multi-layer nested example:\n///\n/// Setup:\n/// ┌───────┐┌───────┐┌───────┐┌───────┐┌───────┐┌───────┐\n/// │Signer1││Signer2││Signer3││Signer4││Signer5││Signer6│\n/// └┬──────┘└┬──────┘└┬──────┘└┬──────┘└┬──────┘└┬──────┘\n/// ┌▽────────▽┐┌──────▽────────▽┐┌──────▽────────▽┐\n/// │Safe1     ││Safe2           ││Safe3           │\n/// └┬─────────┘└┬───────────────┘└┬───────────────┘\n/// ┌▽───────────▽┐                │\n/// │Safe4        │                │\n/// └┬────────────┘                │\n/// ┌▽─────────────────────────────▽┐\n/// │Safe5                          │\n/// └┬──────────────────────────────┘\n/// ┌▽─────────┐\n/// │ProxyAdmin│\n/// └──────────┘\n///\n/// Sequence:\n/// ┌───────┐┌───────┐┌───────┐┌───────┐┌───────┐┌───────┐┌───────────┐                ┌──────────────┐\n/// │Signer1││Signer2││Signer3││Signer4││Signer5││Signer6││Facilitator│                │MultisigScript│\n/// └───┬───┘└───┬───┘└───┬───┘└───┬───┘└───┬───┘└───┬───┘└─────┬─────┘                └───────┬──────┘\n///     │        │        │        │       sign(Safe1,Safe4)    │                              │\n///     │─────────────────────────────────────────────────────────────────────────────────────>│\n///     │        │        │      <sig1>     │        │          │                              │\n///     │──────────────────────────────────────────────────────>│                              │\n///     │        │        │        │        │   sign(Safe1,Safe4)                              │\n///     │        │────────────────────────────────────────────────────────────────────────────>│\n///     │        │        │        │  <sig2>│        │          │                              │\n///     │        │─────────────────────────────────────────────>│                              │\n///     │        │        │        │        │        │          │approve(Safe1,Safe4,sig1|sig2)│\n///     │        │        │        │        │        │          │─────────────────────────────>│\n///     │        │        │        │        │       sign(Safe2,Safe4)                          │\n///     │        │        │───────────────────────────────────────────────────────────────────>│\n///     │        │        │        │      <sig3>     │          │                              │\n///     │        │        │────────────────────────────────────>│                              │\n///     │        │        │        │        │        │   sign(Safe2,Safe4)                     │\n///     │        │        │        │──────────────────────────────────────────────────────────>│\n///     │        │        │        │        │  <sig4>│          │                              │\n///     │        │        │        │───────────────────────────>│                              │\n///     │        │        │        │        │        │          │approve(Safe2,Safe4,sig3|sig4)│\n///     │        │        │        │        │        │          │─────────────────────────────>│\n///     │        │        │        │        │        │          │        approve(Safe4)        │\n///     │        │        │        │        │        │          │─────────────────────────────>│\n///     │        │        │        │        │        │          sign(Safe3)                    │\n///     │        │        │        │        │─────────────────────────────────────────────────>│\n///     │        │        │        │        │      <sig5>       │                              │\n///     │        │        │        │        │──────────────────>│                              │\n///     │        │        │        │        │        │          │    sign(Safe3)               │\n///     │        │        │        │        │        │────────────────────────────────────────>│\n///     │        │        │        │        │        │  <sig6>  │                              │\n///     │        │        │        │        │        │─────────>│                              │\n///     │        │        │        │        │        │          │   approve(Safe3,sig5|sig6)   │\n///     │        │        │        │        │        │          │─────────────────────────────>│\n///     │        │        │        │        │        │          │            run()             │\n///     │        │        │        │        │        │          │─────────────────────────────>│\nabstract contract MultisigScript is Script {\n    struct SafeTx {\n        address safe;\n        address to;\n        bytes data;\n        uint256 value;\n    }\n\n    bytes32 internal constant SAFE_NONCE_SLOT = bytes32(uint256(5));\n\n    address internal constant MULTICALL3_DELEGATECALL_ADDRESS = 0x93dc480940585D9961bfcEab58124fFD3d60f76a;\n\n    address internal multicallAddress;\n\n    /// @dev Event emitted from a `sign()` call containing the data to sign. Used in testing.\n    event DataToSign(bytes data);\n\n    //////////////////////////////////////////////////////////////////////////////////////\n    ///                               Virtual Functions                                ///\n    //////////////////////////////////////////////////////////////////////////////////////\n\n    /// @notice Returns the safe address to execute the final transaction from\n    function _ownerSafe() internal view virtual returns (address);\n\n    /// @notice Creates the calldata for signatures (`sign`), approvals (`approve`), and execution (`run`)\n    function _buildCalls() internal view virtual returns (IMulticall3.Call3Value[] memory);\n\n    /// @notice Follow up assertions to ensure that the script ran to completion.\n    /// @dev Called after `sign` and `run`, but not `approve`.\n    function _postCheck(Vm.AccountAccess[] memory accesses, Simulation.Payload memory simPayload) internal virtual;\n\n    /// @notice Follow up assertions on state and simulation after a `sign` call.\n    function _postSign(Vm.AccountAccess[] memory accesses, Simulation.Payload memory simPayload) internal virtual {}\n\n    /// @notice Follow up assertions on state and simulation after a `approve` call.\n    function _postApprove(Vm.AccountAccess[] memory accesses, Simulation.Payload memory simPayload) internal virtual {}\n\n    /// @notice Follow up assertions on state and simulation after a `run` call.\n    function _postRun(Vm.AccountAccess[] memory accesses, Simulation.Payload memory simPayload) internal virtual {}\n\n    // Tenderly simulations can accept generic state overrides. This hook enables this functionality.\n    // By default, an empty (no-op) override is returned.\n    function _simulationOverrides() internal view virtual returns (Simulation.StateOverride[] memory overrides_) {}\n\n    /// @notice If set to true, the executed aggregate call runs through the custom `CBMulticall` contract\n    ///         as a `DELEGATECALL` for each individual call.\n    /// @dev    In delegatecall mode:\n    ///         - The multisig inherits the multicall logic and executes each target in its own context\n    ///           (e.g. for Optimism's OPCM-style flows).\n    ///         - The `value` field of each `IMulticall3.Call3Value` returned by `_buildCalls` MUST be zero.\n    ///           Per-call value routing is not supported; any ETH attached to the Safe transaction is shared\n    ///           across all calls according to the delegatee's logic.\n    function _useDelegateCall() internal view virtual returns (bool) {\n        return false;\n    }\n\n    constructor() {\n        bool useCbMulticall;\n        try vm.envBool(\"USE_MULTICALL3_DELEGATECALL_ADDRESS\") {\n            useCbMulticall = vm.envBool(\"USE_MULTICALL3_DELEGATECALL_ADDRESS\");\n        } catch {}\n        multicallAddress = (useCbMulticall || _useDelegateCall()) ? MULTICALL3_DELEGATECALL_ADDRESS : MULTICALL3_ADDRESS;\n    }\n\n    //////////////////////////////////////////////////////////////////////////////////////\n    ///                                Public Functions                                ///\n    //////////////////////////////////////////////////////////////////////////////////////\n\n    /// Step 1\n    /// ======\n    /// Generate a transaction approval data to sign. This method should be called by a threshold of\n    /// multisig owners.\n    ///\n    /// For non-nested multisigs, the signatures can then be used to execute the transaction (see step 3).\n    ///\n    /// For nested multisigs, the signatures can be used to execute an approval transaction for each\n    /// multisig (see step 2).\n    ///\n    /// @param safes A list of nested safes (excluding the executing safe returned by `_ownerSafe`).\n    function sign(address[] memory safes) public {\n        safes = _appendOwnerSafe({safes: safes});\n\n        // Snapshot and restore Safe nonce after simulation, otherwise the data logged to sign\n        // would not match the actual data we need to sign, because the simulation\n        // would increment the nonce.\n        uint256[] memory originalNonces = new uint256[](safes.length);\n        for (uint256 i; i < safes.length; i++) {\n            originalNonces[i] = _getNonce({safe: safes[i]});\n        }\n\n        (bytes[] memory datas, uint256 value) = _transactionDatas({safes: safes});\n\n        vm.startMappingRecording();\n        (Vm.AccountAccess[] memory accesses, Simulation.Payload memory simPayload) =\n            _simulateForSigner({safes: safes, datas: datas, value: value});\n        (StateDiff.MappingParent[] memory parents, string memory json) =\n            StateDiff.collectStateDiff(StateDiff.CollectStateDiffOpts({accesses: accesses, simPayload: simPayload}));\n        vm.stopMappingRecording();\n\n        _postSign({accesses: accesses, simPayload: simPayload});\n        _postCheck({accesses: accesses, simPayload: simPayload});\n\n        // Restore the original nonce.\n        for (uint256 i; i < safes.length; i++) {\n            vm.store({target: safes[i], slot: SAFE_NONCE_SLOT, value: bytes32(originalNonces[i])});\n        }\n\n        address to = _getTarget(datas);\n        bytes memory txData = _encodeTransactionData(SafeTx({safe: safes[0], to: to, data: datas[0], value: value}));\n        StateDiff.recordStateDiff({json: json, parents: parents, txData: txData, targetSafe: _ownerSafe()});\n\n        _printDataToSign({safe: safes[0], to: to, data: datas[0], value: value, txData: txData});\n    }\n\n    /// Step 1.1 (optional)\n    /// ======\n    /// Verify the signatures generated from step 1 are valid.\n    /// This allows transactions to be pre-signed and stored safely before execution.\n    ///\n    /// @param safes      A list of nested safes (excluding the executing safe returned by `_ownerSafe`).\n    /// @param signatures The signatures to verify (concatenated, 65-bytes per sig).\n    function verify(address[] memory safes, bytes memory signatures) public view {\n        safes = _appendOwnerSafe({safes: safes});\n        (bytes[] memory datas, uint256 value) = _transactionDatas({safes: safes});\n        address to = _getTarget(datas);\n        _checkSignatures({safe: safes[0], to: to, data: datas[0], value: value, signatures: signatures});\n    }\n\n    /// Step 2 (optional for non-nested setups)\n    /// ======\n    /// Execute an approval transaction. This method should be called by a facilitator\n    /// (non-signer), once for each of the multisigs involved in the nested multisig,\n    /// after collecting a threshold of signatures for each multisig (see step 1).\n    ///\n    /// For multiple layers of nesting, this should be called for each layer of nesting (once\n    /// the inner multisigs have registered their approval). The array of safes passed to\n    /// `safes` should get smaller by one for each layer of nesting.\n    ///\n    /// @param safes      A list of nested safes (excluding the executing safe returned by `_ownerSafe`).\n    /// @param signatures The signatures from step 1 (concatenated, 65-bytes per sig)\n    function approve(address[] memory safes, bytes memory signatures) public {\n        safes = _appendOwnerSafe({safes: safes});\n        (bytes[] memory datas, uint256 value) = _transactionDatas({safes: safes});\n        (Vm.AccountAccess[] memory accesses, Simulation.Payload memory simPayload) =\n            _executeTransaction({safe: safes[0], to: MULTICALL3_ADDRESS, data: datas[0], value: value, signatures: signatures, broadcast: true});\n        _postApprove({accesses: accesses, simPayload: simPayload});\n    }\n\n    /// Step 2.1 (optional)\n    /// ======\n    /// Simulate the transaction. This method should be called by a facilitator (non-signer), after all of the\n    /// signatures have been collected (non-nested case, see step 1), or the approval transactions have been\n    /// submitted onchain (nested case, see step 2, in which case `signatures` can be empty).\n    ///\n    /// Differs from `run` in that you can override the safe nonce for simulation purposes.\n    ///\n    /// @param signatures The signatures from step 1 (concatenated, 65-bytes per sig)\n    function simulate(bytes memory signatures) public {\n        address ownerSafe = _ownerSafe();\n        (bytes[] memory datas, uint256 value) = _transactionDatas({safes: _toArray(ownerSafe)});\n        address to = _getTarget(datas);\n\n        vm.store({target: ownerSafe, slot: SAFE_NONCE_SLOT, value: bytes32(_getNonce({safe: ownerSafe}))});\n\n        (Vm.AccountAccess[] memory accesses, Simulation.Payload memory simPayload) = _executeTransaction({\n            safe: ownerSafe, to: to, data: datas[0], value: value, signatures: signatures, broadcast: false\n        });\n\n        _postRun({accesses: accesses, simPayload: simPayload});\n        _postCheck({accesses: accesses, simPayload: simPayload});\n    }\n\n    /// Step 3\n    /// ======\n    /// Execute the transaction. This method should be called by a facilitator (non-signer), after all of the\n    /// signatures have been collected (non-nested case, see step 1), or the approval transactions have been\n    /// submitted onchain (nested case, see step 2, in which case `signatures` can be empty).\n    ///\n    /// @param signatures The signatures from step 1 (concatenated, 65-bytes per sig)\n    function run(bytes memory signatures) public {\n        address ownerSafe = _ownerSafe();\n        (bytes[] memory datas, uint256 value) = _transactionDatas({safes: _toArray(ownerSafe)});\n        address to = _getTarget(datas);\n\n        (Vm.AccountAccess[] memory accesses, Simulation.Payload memory simPayload) = _executeTransaction({\n            safe: ownerSafe, to: to, data: datas[0], value: value, signatures: signatures, broadcast: true\n        });\n\n        _postRun({accesses: accesses, simPayload: simPayload});\n        _postCheck({accesses: accesses, simPayload: simPayload});\n    }\n\n    //////////////////////////////////////////////////////////////////////////////////////\n    ///                               Internal Functions                               ///\n    //////////////////////////////////////////////////////////////////////////////////////\n\n    function _appendOwnerSafe(address[] memory safes) internal view returns (address[] memory) {\n        address[] memory extendedSafes = new address[](safes.length + 1);\n        for (uint256 i; i < safes.length; i++) {\n            extendedSafes[i] = safes[i];\n        }\n        extendedSafes[extendedSafes.length - 1] = _ownerSafe();\n        return extendedSafes;\n    }\n\n    function _transactionDatas(address[] memory safes) private view returns (bytes[] memory datas, uint256 value) {\n        // Build the calls and sum the values\n        IMulticall3.Call3Value[] memory calls = _buildCalls();\n        for (uint256 i; i < calls.length; i++) {\n            value += calls[i].value;\n        }\n\n        // The very last call is the actual (aggregated) call to execute\n        datas = new bytes[](safes.length);\n        datas[datas.length - 1] = abi.encodeCall(IMulticall3.aggregate3Value, (calls));\n\n        if (_useDelegateCall()) {\n            datas[datas.length - 1] = abi.encodeCall(IMulticall3.aggregate3, (_toCall3Array(calls)));\n        }\n\n        address to = multicallAddress;\n\n        // The first n-1 calls are the nested approval calls\n        uint256 valueForCallToApprove = value;\n        for (uint256 i = safes.length - 1; i > 0; i--) {\n            address targetSafe = safes[i];\n            bytes memory callToApprove = datas[i];\n\n            IMulticall3.Call3[] memory approvalCall = new IMulticall3.Call3[](1);\n            approvalCall[0] =\n                _generateApproveCall({safe: targetSafe, to: to, data: callToApprove, value: valueForCallToApprove});\n            datas[i - 1] = abi.encodeCall(IMulticall3.aggregate3, (approvalCall));\n\n            to = MULTICALL3_ADDRESS;\n            valueForCallToApprove = 0;\n        }\n    }\n\n    /// @dev Converts `IMulticall3.Call3Value` calls into `CBMulticall.Call3` calls for delegatecall mode.\n    ///      All `value` fields must be zero; delegatecall mode does not support per-call value routing.\n    function _toCall3Array(IMulticall3.Call3Value[] memory calls) private pure returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory dCalls = new IMulticall3.Call3[](calls.length);\n        for (uint256 i; i < calls.length; i++) {\n            // Delegatecall mode relies on the Safe's `msg.value` handling rather than per-call value routing.\n            // Enforce that no per-call value is specified when using delegatecall mode.\n            require(calls[i].value == 0, \"MultisigScript: delegatecall mode does not support call value\");\n            dCalls[i] = IMulticall3.Call3({\n                target: calls[i].target, allowFailure: calls[i].allowFailure, callData: calls[i].callData\n            });\n        }\n        return dCalls;\n    }\n\n    function _generateApproveCall(address safe, address to, bytes memory data, uint256 value)\n        internal\n        view\n        returns (IMulticall3.Call3 memory)\n    {\n        bytes32 hash = _getTransactionHash({safe: safe, to: to, data: data, value: value});\n\n        console.log(\"---\\nNested hash for safe %s:\", safe);\n        console.logBytes32(hash);\n\n        return IMulticall3.Call3({\n            target: safe, allowFailure: false, callData: abi.encodeCall(IGnosisSafe(safe).approveHash, (hash))\n        });\n    }\n\n    function _printDataToSign(address safe, address to, bytes memory data, uint256 value, bytes memory txData) internal {\n        bytes32 hash = _getTransactionHash({safe: safe, to: to, data: data, value: value});\n\n        emit DataToSign({data: txData});\n\n        console.log(\"---\\nIf submitting onchain, call Safe.approveHash on %s with the following hash:\", safe);\n        console.logBytes32(hash);\n\n        console.log(\"---\\nData to sign:\");\n        console.log(\"vvvvvvvv\");\n        console.logBytes(txData);\n        console.log(\"^^^^^^^^\\n\");\n\n        console.log(\"########## IMPORTANT ##########\");\n        console.log(\n            // solhint-disable-next-line max-line-length\n            \"Please make sure that the 'Data to sign' displayed above matches what you see in the simulation and on your hardware wallet.\"\n        );\n        console.log(\"This is a critical step that must not be skipped.\");\n        console.log(\"###############################\");\n    }\n\n    function _executeTransaction(\n        address safe,\n        address to,\n        bytes memory data,\n        uint256 value,\n        bytes memory signatures,\n        bool broadcast\n    ) internal returns (Vm.AccountAccess[] memory, Simulation.Payload memory) {\n        bytes32 hash = _getTransactionHash({safe: safe, to: to, data: data, value: value});\n        signatures = Signatures.prepareSignatures({safe: safe, hash: hash, signatures: signatures});\n\n        bytes memory simData = _execTransactionCalldata({safe: safe, to: to, data: data, value: value, signatures: signatures});\n        Simulation.logSimulationLink({to: safe, data: simData, from: msg.sender});\n\n        vm.startStateDiffRecording();\n        bool success =\n            _execTransaction({safe: safe, to: to, data: data, value: value, signatures: signatures, broadcast: broadcast});\n        Vm.AccountAccess[] memory accesses = vm.stopAndReturnStateDiff();\n        require(success, \"MultisigBase::_executeTransaction: Transaction failed\");\n        require(accesses.length > 0, \"MultisigBase::_executeTransaction: No state changes\");\n\n        // This can be used to e.g. call out to the Tenderly API and get additional\n        // data about the state diff before broadcasting the transaction.\n        Simulation.Payload memory simPayload = Simulation.Payload({\n            from: msg.sender, to: safe, data: simData, stateOverrides: new Simulation.StateOverride[](0)\n        });\n        return (accesses, simPayload);\n    }\n\n    function _simulateForSigner(address[] memory safes, bytes[] memory datas, uint256 value)\n        internal\n        returns (Vm.AccountAccess[] memory, Simulation.Payload memory)\n    {\n        IMulticall3.Call3[] memory calls = _simulateForSignerCalls({safes: safes, datas: datas, value: value});\n\n        address to = _getTarget(datas);\n        bytes32 firstCallDataHash = _getTransactionHash({safe: safes[0], to: to, data: datas[0], value: value});\n\n        // Now define the state overrides for the simulation.\n        Simulation.StateOverride[] memory overrides = _overrides({safes: safes, firstCallDataHash: firstCallDataHash});\n\n        bytes memory txData = abi.encodeCall(IMulticall3.aggregate3, (calls));\n        console.log(\"---\\nSimulation link:\");\n        // solhint-disable max-line-length\n        Simulation.logSimulationLink({to: MULTICALL3_ADDRESS, data: txData, from: msg.sender, overrides: overrides});\n\n        // Forge simulation of the data logged in the link. If the simulation fails\n        // we revert to make it explicit that the simulation failed.\n        Simulation.Payload memory simPayload =\n            Simulation.Payload({to: MULTICALL3_ADDRESS, data: txData, from: msg.sender, stateOverrides: overrides});\n        Vm.AccountAccess[] memory accesses = Simulation.simulateFromSimPayload({simPayload: simPayload});\n        return (accesses, simPayload);\n    }\n\n    function _getTarget(bytes[] memory datas) private view returns (address) {\n        return datas.length > 1 ? MULTICALL3_ADDRESS : multicallAddress;\n    }\n\n    function _simulateForSignerCalls(address[] memory safes, bytes[] memory datas, uint256 value)\n        private\n        view\n        returns (IMulticall3.Call3[] memory)\n    {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](safes.length);\n        for (uint256 i; i < safes.length; i++) {\n            address signer = i == 0 ? msg.sender : safes[i - 1];\n\n            calls[i] = IMulticall3.Call3({\n                target: safes[i],\n                allowFailure: false,\n                callData: _execTransactionCalldata({\n                    safe: safes[i],\n                    to: i < safes.length - 1 ? MULTICALL3_ADDRESS : multicallAddress,\n                    data: datas[i],\n                    value: value,\n                    signatures: Signatures.genPrevalidatedSignature(signer)\n                })\n            });\n        }\n\n        return calls;\n    }\n\n    // The state change simulation can set the threshold, owner address and/or nonce.\n    // This allows simulation of the final transaction by overriding the threshold to 1.\n    // State changes reflected in the simulation as a result of these overrides will\n    // not be reflected in the prod execution.\n    function _overrides(address[] memory safes, bytes32 firstCallDataHash)\n        internal\n        view\n        returns (Simulation.StateOverride[] memory)\n    {\n        Simulation.StateOverride[] memory simOverrides = _simulationOverrides();\n        Simulation.StateOverride[] memory overrides = new Simulation.StateOverride[](safes.length + simOverrides.length);\n\n        uint256 nonce = _getNonce({safe: safes[0]});\n        overrides[0] = Simulation.overrideSafeThresholdApprovalAndNonce({\n            safe: safes[0], nonce: nonce, owner: msg.sender, dataHash: firstCallDataHash\n        });\n\n        for (uint256 i = 1; i < safes.length; i++) {\n            overrides[i] =\n                Simulation.overrideSafeThresholdAndNonce({safe: safes[i], nonce: _getNonce({safe: safes[i]})});\n        }\n\n        for (uint256 i; i < simOverrides.length; i++) {\n            overrides[i + safes.length] = simOverrides[i];\n        }\n\n        return overrides;\n    }\n\n    // Get the nonce to use for the given safe, for signing and simulations.\n    //\n    // If you override it, ensure that the behavior is correct for all contexts.\n    // As an example, if you are pre-signing a message that needs safe.nonce+1 (before\n    // safe.nonce is executed), you should explicitly set the nonce value with an env var.\n    // Overriding this method with safe.nonce+1 will cause issues upon execution because\n    // the transaction hash will differ from the one signed.\n    //\n    // The process for determining a nonce override is as follows:\n    //   1. We look for an env var of the name SAFE_NONCE_{UPPERCASE_SAFE_ADDRESS}. For example,\n    //      SAFE_NONCE_0X6DF4742A3C28790E63FE933F7D108FE9FCE51EA4.\n    //   2. If it exists, we use it as the nonce override for the safe.\n    //   3. If it does not exist, we do the same for the SAFE_NONCE env var.\n    //   4. Otherwise we fallback to the safe's current nonce (no override).\n    function _getNonce(address safe) internal view virtual returns (uint256 nonce) {\n        uint256 safeNonce = IGnosisSafe(safe).nonce();\n        nonce = safeNonce;\n\n        // first try SAFE_NONCE\n        try vm.envUint({name: \"SAFE_NONCE\"}) {\n            nonce = vm.envUint({name: \"SAFE_NONCE\"});\n        } catch {}\n\n        // then try SAFE_NONCE_{UPPERCASE_SAFE_ADDRESS}\n        string memory envVarName = string.concat(\"SAFE_NONCE_\", vm.toUppercase({input: vm.toString({value: safe})}));\n        try vm.envUint({name: envVarName}) {\n            nonce = vm.envUint({name: envVarName});\n        } catch {}\n\n        // print if any override\n        if (nonce != safeNonce) {\n            console.log(\"Overriding nonce for safe %s: %d -> %d\", safe, safeNonce, nonce);\n        }\n    }\n\n    function _checkSignatures(address safe, address to, bytes memory data, uint256 value, bytes memory signatures) internal view {\n        bytes32 hash = _getTransactionHash({safe: safe, to: to, data: data, value: value});\n        signatures = Signatures.prepareSignatures({safe: safe, hash: hash, signatures: signatures});\n        IGnosisSafe(safe).checkSignatures({dataHash: hash, data: data, signatures: signatures});\n    }\n\n    function _getTransactionHash(address safe, address to, bytes memory data, uint256 value) internal view returns (bytes32) {\n        return keccak256(_encodeTransactionData(SafeTx({safe: safe, to: to, data: data, value: value})));\n    }\n\n    function _encodeTransactionData(SafeTx memory t)\n        internal\n        view\n        returns (bytes memory)\n    {\n        return IGnosisSafe(t.safe)\n            .encodeTransactionData({\n                to: t.to,\n                value: t.value,\n                data: t.data,\n                operation: _getOperation(t.value),\n                safeTxGas: 0,\n                baseGas: 0,\n                gasPrice: 0,\n                gasToken: address(0),\n                refundReceiver: address(0),\n                _nonce: _getNonce(t.safe)\n            });\n    }\n\n    function _execTransactionCalldata(address safe, address to, bytes memory data, uint256 value, bytes memory signatures)\n        internal\n        view\n        returns (bytes memory)\n    {\n        return abi.encodeCall(\n            IGnosisSafe(safe).execTransaction,\n            (to, value, data, _getOperation(value), 0, 0, 0, address(0), payable(address(0)), signatures)\n        );\n    }\n\n    function _execTransaction(address safe, address to, bytes memory data, uint256 value, bytes memory signatures, bool broadcast)\n        internal\n        returns (bool)\n    {\n        if (broadcast) {\n            vm.broadcast();\n        }\n        return IGnosisSafe(safe)\n            .execTransaction({\n                to: to,\n                value: value,\n                data: data,\n                operation: _getOperation(value),\n                safeTxGas: 0,\n                baseGas: 0,\n                gasPrice: 0,\n                gasToken: address(0),\n                refundReceiver: payable(address(0)),\n                signatures: signatures\n            });\n    }\n\n    function _toArray(address addr) internal pure returns (address[] memory) {\n        address[] memory array = new address[](1);\n        array[0] = addr;\n        return array;\n    }\n\n    function _toArray(address address1, address address2) internal pure returns (address[] memory) {\n        address[] memory array = new address[](2);\n        array[0] = address1;\n        array[1] = address2;\n        return array;\n    }\n\n    function _getOperation(uint256 value) private view returns (Enum.Operation) {\n        if (multicallAddress == MULTICALL3_DELEGATECALL_ADDRESS || value == 0) {\n            return Enum.Operation.DelegateCall;\n        }\n\n        return Enum.Operation.Call;\n    }\n}\n"
  },
  {
    "path": "mainnet/2025-11-21-u17-jovian-upgrade/script/UpgradeWithOpSmartContractManager.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\n\nimport {Claim} from \"@eth-optimism-bedrock/src/dispute/lib/Types.sol\";\nimport {Constants} from \"@eth-optimism-bedrock/src/libraries/Constants.sol\";\nimport {\n    IOPContractsManager,\n    IOPContractsManagerStandardValidator,\n    ISystemConfig,\n    IProxyAdmin,\n    ISuperchainConfig\n} from \"@eth-optimism-bedrock/interfaces/L1/IOPContractsManager.sol\";\n\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {MultisigScript} from \"./MultisigScript.sol\";\n\n/// @notice This script deploys new versions of OP contracts using the OP Contract Manager.\ncontract UpgradeWithOpSmartContractManager is MultisigScript {\n    ISystemConfig internal immutable SYSTEM_CONFIG;\n    IOPContractsManager internal immutable OP_CONTRACT_MANAGER;\n    address public immutable OWNER_SAFE;\n    IProxyAdmin public immutable PROXY_ADMIN;\n    Claim immutable CANNON_ABSOLUTE_PRESTATE;\n\n    address internal immutable CHALLENGER;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n        PROXY_ADMIN = IProxyAdmin(vm.envAddress(\"PROXY_ADMIN\"));\n        SYSTEM_CONFIG = ISystemConfig(vm.envAddress(\"SYSTEM_CONFIG\"));\n        OP_CONTRACT_MANAGER = IOPContractsManager(vm.envAddress(\"OP_CONTRACT_MANAGER\"));\n        CANNON_ABSOLUTE_PRESTATE = Claim.wrap(vm.envBytes32(\"ABSOLUTE_PRESTATE\"));\n        CHALLENGER = vm.envAddress(\"CHALLENGER\");\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        IOPContractsManagerStandardValidator.ValidationInput memory input =\n            IOPContractsManagerStandardValidator.ValidationInput(\n                PROXY_ADMIN, SYSTEM_CONFIG, Claim.unwrap(CANNON_ABSOLUTE_PRESTATE), SYSTEM_CONFIG.l2ChainId()\n            );\n\n        IOPContractsManagerStandardValidator.ValidationOverrides memory overrides =\n            IOPContractsManagerStandardValidator.ValidationOverrides(OWNER_SAFE, CHALLENGER);\n\n        OP_CONTRACT_MANAGER.validateWithOverrides(input, false, overrides);\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) {\n        IOPContractsManager.OpChainConfig memory baseConfig =\n            IOPContractsManager.OpChainConfig(SYSTEM_CONFIG, PROXY_ADMIN, CANNON_ABSOLUTE_PRESTATE);\n\n        IOPContractsManager.OpChainConfig[] memory opChainConfigs = new IOPContractsManager.OpChainConfig[](1);\n        opChainConfigs[0] = baseConfig;\n\n        IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n\n        calls[0] = IMulticall3.Call3Value({\n            target: address(OP_CONTRACT_MANAGER),\n            allowFailure: false,\n            callData: abi.encodeCall(IOPContractsManager.upgrade, (opChainConfigs)),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _simulationOverrides()\n        internal\n        view\n        virtual\n        override\n        returns (Simulation.StateOverride[] memory overrides_)\n    {\n        // Get the superchain config address from the SystemConfig\n        ISuperchainConfig superchainConfig = ISuperchainConfig(SYSTEM_CONFIG.superchainConfig());\n        IOPContractsManager.Implementations memory impls = OP_CONTRACT_MANAGER.implementations();\n\n        // Mock the implementation slot of the superchain config if the version has not been upgraded yet.\n        bytes32 h1 = keccak256(abi.encode(ISuperchainConfig(impls.superchainConfigImpl).version()));\n        bytes32 h2 = keccak256(abi.encode(superchainConfig.version()));\n        if (h1 != h2) {\n            Simulation.StorageOverride[] memory storageOverrides = new Simulation.StorageOverride[](1);\n            storageOverrides[0] = Simulation.StorageOverride(\n                Constants.PROXY_IMPLEMENTATION_ADDRESS, bytes32(uint256(uint160(address(impls.superchainConfigImpl))))\n            );\n\n            overrides_ = new Simulation.StateOverride[](1);\n            overrides_[0] = Simulation.StateOverride(address(superchainConfig), storageOverrides);\n        }\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n\n    function _useDelegateCall() internal pure override returns (bool) {\n        return true;\n    }\n}\n"
  },
  {
    "path": "mainnet/2025-11-21-u17-jovian-upgrade/validations/base-security-council-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://eth-mainnet.public.blastapi.io UpgradeWithOpSmartContractManager --sig sign(address[]) [0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd,0x9855054731540A48b28990B63DcF4f33d8AE46A1] --sender 0x5ff5C78ff194acc24C22DAaDdE4D639ebF18ACC6\",\n  \"ledgerId\": 0,\n  \"rpcUrl\": \"https://eth-mainnet.public.blastapi.io\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\n    \"domainHash\": \"0x1fbfdc61ceb715f63cb17c56922b88c3a980f1d83873df2b9325a579753e8aa3\",\n    \"messageHash\": \"0x11287518955af2b1c1d2fb8f46973a0a648ac8ed9ba6a9a55bcf11fcca022d6a\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Security Council Safe - Mainnet\",\n      \"address\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x806a47f0204113e9d747e5ebe5904a862f2ca1ccc48015282fa4914fa98931fa\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Proxy Admin Owner - Mainnet\",\n      \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Mainnet\",\n      \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"OptimismMintableERC20Factory - Mainnet\",\n      \"address\": \"0x05cc379ebd9b30bba19c6fa282ab29218ec61d84\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f\",\n          \"after\": \"0x0000000000000000000000008ee6fb13c6c9a7e401531168e196fbf8b05ceabb\",\n          \"description\": \"Update address of OptimismMintableERC20Factory to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Security Council Safe - Mainnet\",\n      \"address\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"L1StandardBridge - Mainnet\",\n      \"address\": \"0x3154cf16ccdb4c6d922629664174b904d80f2c35\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb\",\n          \"after\": \"0x00000000000000000000000061525eaacddb97d9184afc205827e6a4fd0bf62a\",\n          \"description\": \"Update address of L1StandardBridge to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Dispute Game Factory Proxy - Mainnet\",\n      \"address\": \"0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d\",\n          \"after\": \"0x00000000000000000000000074fac1d45b98bae058f8f566201c9a81b85c7d50\",\n          \"description\": \"Update address of DisputeGameFactory to new implementation.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e\",\n          \"before\": \"0x000000000000000000000000e3803582fd5bcdc62720d2b80f35e8ddea94e2ec\",\n          \"after\": \"0x0000000000000000000000006f8c1ea88cb410571739d36eb00811b250574cb2\",\n          \"description\": \"Updates the PermissionedDisputeGame implementation address.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b\",\n          \"before\": \"0x000000000000000000000000e4066890367bf8a51d58377431808083a01b1e0c\",\n          \"after\": \"0x000000000000000000000000979cb7e329ba213fb9d6c5f7771ec6a3109bdc93\",\n          \"description\": \"Updates the FaultDisputeGame implementation address.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"OptimismPortal - Mainnet\",\n      \"address\": \"0x49048044d57e1c92a77f79988d21fa8faf74e97e\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999\",\n          \"after\": \"0x0000000000000000000000007cf803296662e8c72a6c1d6450572209acf7f202\",\n          \"description\": \"Update address of OptimismPortal to new implementation.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"L1ERC721Bridge - Mainnet\",\n      \"address\": \"0x608d94945a64503e642e6370ec598e519a2c1e53\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696\",\n          \"after\": \"0x00000000000000000000000074f1ac50eb0be98853805d381c884f5f9abdecf9\",\n          \"description\": \"Update the address of L1ERC721Bridge to new implementation.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Mainnet\",\n      \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557\",\n          \"after\": \"0x0000000000000000000000002fa28989fc559836e9d66dff3010c7f7f41c65ed\",\n          \"description\": \"Update the address of SystemConfig to new implementation.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Proxy Admin Owner - Mainnet\",\n      \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000000b\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000000c\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xaddfb37918a8ba8697fb01fce50d1a88fff5d77d0c03eaced924c8399ca2d81c\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Sets the approval hash for this U17 upgrade transaction.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"AddressManager - Mainnet\",\n      \"address\": \"0x8efb6b5c4767b09dc9aa6af4eaa89f749522bae2\",\n      \"changes\": [\n        {\n          \"key\": \"0x515216935740e67dfdda5cf8e248ea32b3277787818ab59153061ac875c9385e\",\n          \"before\": \"0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6\",\n          \"after\": \"0x000000000000000000000000b686f13aff1e427a1f993f29ab0f2e7383729fe0\",\n          \"description\": \"Update address of L1CrossDomainMessenger to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Mainnet\",\n      \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000018\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000019\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x4673344234672dcdcebb1612b36c79b7463189328a00c32ed177609495c4c16f\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Sets the approval hash for this U17 upgrade transaction.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "mainnet/2025-11-21-u17-jovian-upgrade/validations/coinbase-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://eth-mainnet.public.blastapi.io UpgradeWithOpSmartContractManager --sig sign(address[]) [0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110,0x9855054731540A48b28990B63DcF4f33d8AE46A1] --sender 0x6CD3850756b7894774Ab715D136F9dD02837De50\",\n  \"ledgerId\": 0,\n  \"rpcUrl\": \"https://eth-mainnet.public.blastapi.io\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\n    \"domainHash\": \"0xfb308368b8deca582e84a807d31c1bfcec6fda754061e2801b4d6be5cb52a8ac\",\n    \"messageHash\": \"0xcd83528c7763918cd8350544a4172f5d0fc97e579b38e9182913a9ee31882efe\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Mainnet\",\n      \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Mainnet\",\n      \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Mainnet\",\n      \"address\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x956f0b7b97716c3ae73ece58ee0bdd1334ca30481111f3e5a428de727da5d7a2\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"OptimismMintableERC20Factory - Mainnet\",\n      \"address\": \"0x05cc379ebd9b30bba19c6fa282ab29218ec61d84\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f\",\n          \"after\": \"0x0000000000000000000000008ee6fb13c6c9a7e401531168e196fbf8b05ceabb\",\n          \"description\": \"Update address of OptimismMintableERC20Factory to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"L1StandardBridge - Mainnet\",\n      \"address\": \"0x3154cf16ccdb4c6d922629664174b904d80f2c35\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb\",\n          \"after\": \"0x00000000000000000000000061525eaacddb97d9184afc205827e6a4fd0bf62a\",\n          \"description\": \"Update address of L1StandardBridge to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Dispute Game Factory Proxy - Mainnet\",\n      \"address\": \"0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d\",\n          \"after\": \"0x00000000000000000000000074fac1d45b98bae058f8f566201c9a81b85c7d50\",\n          \"description\": \"Update address of DisputeGameFactory to new implementation.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e\",\n          \"before\": \"0x000000000000000000000000e3803582fd5bcdc62720d2b80f35e8ddea94e2ec\",\n          \"after\": \"0x0000000000000000000000006f8c1ea88cb410571739d36eb00811b250574cb2\",\n          \"description\": \"Updates the PermissionedDisputeGame implementation address.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b\",\n          \"before\": \"0x000000000000000000000000e4066890367bf8a51d58377431808083a01b1e0c\",\n          \"after\": \"0x000000000000000000000000979cb7e329ba213fb9d6c5f7771ec6a3109bdc93\",\n          \"description\": \"Updates the FaultDisputeGame implementation address.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"OptimismPortal - Mainnet\",\n      \"address\": \"0x49048044d57e1c92a77f79988d21fa8faf74e97e\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999\",\n          \"after\": \"0x0000000000000000000000007cf803296662e8c72a6c1d6450572209acf7f202\",\n          \"description\": \"Update address of OptimismPortal to new implementation.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"L1ERC721Bridge - Mainnet\",\n      \"address\": \"0x608d94945a64503e642e6370ec598e519a2c1e53\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696\",\n          \"after\": \"0x00000000000000000000000074f1ac50eb0be98853805d381c884f5f9abdecf9\",\n          \"description\": \"Update the address of L1ERC721Bridge to new implementation.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Mainnet\",\n      \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557\",\n          \"after\": \"0x0000000000000000000000002fa28989fc559836e9d66dff3010c7f7f41c65ed\",\n          \"description\": \"Update the address of SystemConfig to new implementation.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Proxy Admin Owner - Mainnet\",\n      \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000000b\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000000c\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xaddfb37918a8ba8697fb01fce50d1a88fff5d77d0c03eaced924c8399ca2d81c\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Sets the approval hash for this U17 upgrade transaction.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"AddressManager - Mainnet\",\n      \"address\": \"0x8efb6b5c4767b09dc9aa6af4eaa89f749522bae2\",\n      \"changes\": [\n        {\n          \"key\": \"0x515216935740e67dfdda5cf8e248ea32b3277787818ab59153061ac875c9385e\",\n          \"before\": \"0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6\",\n          \"after\": \"0x000000000000000000000000b686f13aff1e427a1f993f29ab0f2e7383729fe0\",\n          \"description\": \"Update address of L1CrossDomainMessenger to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Mainnet\",\n      \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000018\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000019\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x01642271b9978916cc059c2188b11d6da93e6a7b4f6eee43ab5bd2848320c4f1\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Sets the approval hash for this U17 upgrade transaction.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Mainnet\",\n      \"address\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "mainnet/2025-11-21-u17-jovian-upgrade/validations/optimism-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://eth-mainnet.public.blastapi.io UpgradeWithOpSmartContractManager --sig sign(address[]) [0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A] --sender 0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\",\n  \"ledgerId\": 0,\n  \"rpcUrl\": \"https://eth-mainnet.public.blastapi.io\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\n    \"domainHash\": \"0x4e6a6554de0308f5ece8ff736beed8a1b876d16f5c27cac8e466d7de0c703890\",\n    \"messageHash\": \"0x65a7521f4ef88256da2eb5df52bd20bcdf3c16b74e282812aede8133231f0778\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Mainnet\",\n      \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"OP Signer Safe - Mainnet\",\n      \"address\": \"0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0c3a0d2f6b87b30ec81565f13e420b1a13506a18c0f35bdf7dedb7457048668d\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"OptimismMintableERC20Factory - Mainnet\",\n      \"address\": \"0x05cc379ebd9b30bba19c6fa282ab29218ec61d84\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f\",\n          \"after\": \"0x0000000000000000000000008ee6fb13c6c9a7e401531168e196fbf8b05ceabb\",\n          \"description\": \"Update address of OptimismMintableERC20Factory to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"L1StandardBridge - Mainnet\",\n      \"address\": \"0x3154cf16ccdb4c6d922629664174b904d80f2c35\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb\",\n          \"after\": \"0x00000000000000000000000061525eaacddb97d9184afc205827e6a4fd0bf62a\",\n          \"description\": \"Update address of L1StandardBridge to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Dispute Game Factory Proxy - Mainnet\",\n      \"address\": \"0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d\",\n          \"after\": \"0x00000000000000000000000074fac1d45b98bae058f8f566201c9a81b85c7d50\",\n          \"description\": \"Update address of DisputeGameFactory to new implementation.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e\",\n          \"before\": \"0x000000000000000000000000e3803582fd5bcdc62720d2b80f35e8ddea94e2ec\",\n          \"after\": \"0x0000000000000000000000006f8c1ea88cb410571739d36eb00811b250574cb2\",\n          \"description\": \"Updates the PermissionedDisputeGame implementation address.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b\",\n          \"before\": \"0x000000000000000000000000e4066890367bf8a51d58377431808083a01b1e0c\",\n          \"after\": \"0x000000000000000000000000979cb7e329ba213fb9d6c5f7771ec6a3109bdc93\",\n          \"description\": \"Updates the FaultDisputeGame implementation address.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"OptimismPortal - Mainnet\",\n      \"address\": \"0x49048044d57e1c92a77f79988d21fa8faf74e97e\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999\",\n          \"after\": \"0x0000000000000000000000007cf803296662e8c72a6c1d6450572209acf7f202\",\n          \"description\": \"Update address of OptimismPortal to new implementation.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"L1ERC721Bridge - Mainnet\",\n      \"address\": \"0x608d94945a64503e642e6370ec598e519a2c1e53\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696\",\n          \"after\": \"0x00000000000000000000000074f1ac50eb0be98853805d381c884f5f9abdecf9\",\n          \"description\": \"Update the address of L1ERC721Bridge to new implementation.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Mainnet\",\n      \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557\",\n          \"after\": \"0x0000000000000000000000002fa28989fc559836e9d66dff3010c7f7f41c65ed\",\n          \"description\": \"Update the address of SystemConfig to new implementation.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Proxy Admin Owner - Mainnet\",\n      \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000000b\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000000c\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x088936d204307ac91dc1c10a430dacfad7ffd437ee4092c6acd934ce7cc5e2a2\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Sets the approval hash for this U17 upgrade transaction.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"AddressManager - Mainnet\",\n      \"address\": \"0x8efb6b5c4767b09dc9aa6af4eaa89f749522bae2\",\n      \"changes\": [\n        {\n          \"key\": \"0x515216935740e67dfdda5cf8e248ea32b3277787818ab59153061ac875c9385e\",\n          \"before\": \"0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6\",\n          \"after\": \"0x000000000000000000000000b686f13aff1e427a1f993f29ab0f2e7383729fe0\",\n          \"description\": \"Update address of L1CrossDomainMessenger to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"OP Signer Safe - Mainnet\",\n      \"address\": \"0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000006f\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000070\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0c3a0d2f6b87b30ec81565f13e420b1a13506a18c0f35bdf7dedb7457048668d\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"description\": \"Sets an approval for this transaction\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "mainnet/2025-11-25-base-bridge-deployment/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n.PHONY: deps\ndeps:\n\tforge install --no-git github.com/base/bridge@042f653868a85f6a25ed6b08494f3fa558d18976\n\n.PHONY: deploy\ndeploy:\n\tforge script DeployBridge --rpc-url $(L2_RPC_URL) --sender $(SENDER) -vvvv\n"
  },
  {
    "path": "mainnet/2025-11-25-base-bridge-deployment/README.md",
    "content": "# Base Bridge Deployment\n\nDeploys the Base side of [Base Bridge](https://github.com/base/bridge). This should be done after deploying the Solana bridge program since the program's pubkey needs to be added to `config.json`.\n\n## Deployment Steps\n\n1. Install dependencies\n\n```bash\ncd mainnet/2025-11-25-base-bridge-deployment\nmake deps\n```\n\n2. Deploy bridge\n\n```bash\nmake deploy\n```\n"
  },
  {
    "path": "mainnet/2025-11-25-base-bridge-deployment/addresses.json",
    "content": "{\n  \"Bridge\": \"0x3eff766C76a1be2Ce1aCF2B69c78bCae257D5188\",\n  \"BridgeValidator\": \"0xAF24c1c24Ff3BF1e6D882518120fC25442d6794B\",\n  \"CrossChainERC20Factory\": \"0xDD56781d0509650f8C2981231B6C917f2d5d7dF2\",\n  \"Twin\": \"0xb326c02150bb0De265Bb0eCeDA53531ab0163bf6\",\n  \"RelayerOrchestrator\": \"0x8Cfa6F29930E6310B6074baB0052c14a709B4741\",\n  \"WrappedSol\": \"0x311935Cd80B76769bF2ecC9D8Ab7635b2139cf82\"\n}"
  },
  {
    "path": "mainnet/2025-11-25-base-bridge-deployment/config.json",
    "content": "{\n  \"salt\": \"0x928e88ac3b7e376abdda9d42289e3e39d878c78869402e3dc1fb002aaa0cc852\",\n  \"initialOwner\": \"0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110\",\n  \"partnerValidators\": \"0x50Ea62F44f44C17d48390cc9fd235dac8E5e127a\",\n  \"baseValidators\": [\n    \"0xa0f80e237be74a580ccaed06236075c17f1fec69\",\n    \"0xe018748703F74b806399dd1ECe608453578DDE79\"\n  ],\n  \"baseSignatureThreshold\": 2,\n  \"partnerValidatorThreshold\": 3,\n  \"remoteBridge\": \"0xf32983e871bc87d15a994f95f5f5054d98498c80cf09b3bafa91cb9507143b36\",\n  \"guardians\": [\"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\"]\n}\n"
  },
  {
    "path": "mainnet/2025-11-25-base-bridge-deployment/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.28\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "mainnet/2025-11-25-base-bridge-deployment/records/DeployBridge.s.sol/8453/run-1764164771386.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": null,\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"Twin\",\n      \"contractAddress\": \"0xb0887e4793d944cf7ba674b3b3fa5c15900ddaa7\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x3eff766C76a1be2Ce1aCF2B69c78bCae257D5188\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xfb42764d7038afa33c19f362b7b6d13226891e60\",\n        \"gas\": \"0x8c894\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60a0604052348015600e575f5ffd5b506040516107b03803806107b0833981016040819052602b916061565b6001600160a01b03811660515760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0316608052608c565b5f602082840312156070575f5ffd5b81516001600160a01b03811681146085575f5ffd5b9392505050565b6080516107076100a95f395f81816068015260cb01526107075ff3fe60806040526004361061002b575f3560e01c806360ed1d2814610036578063ee9a31a214610057575f5ffd5b3661003257005b5f5ffd5b348015610041575f5ffd5b50610055610050366004610389565b6100b3565b005b348015610062575f5ffd5b5061008a7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614806100f657503330145b61012c576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61013d61013882610527565b610140565b50565b5f81516003811115610154576101546105bc565b0361022c575f5f826020015173ffffffffffffffffffffffffffffffffffffffff1683604001516fffffffffffffffffffffffffffffffff16846060015160405161019f91906105e9565b5f6040518083038185875af1925050503d805f81146101d9576040519150601f19603f3d011682016040523d82523d5f602084013e6101de565b606091505b5091509150818190610226576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021d91906105ff565b60405180910390fd5b50505050565b600181516003811115610241576102416105bc565b036102fb5760408101516fffffffffffffffffffffffffffffffff1615610294576040517f81c2388100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f826020015173ffffffffffffffffffffffffffffffffffffffff1683606001516040516102c391906105e9565b5f60405180830381855af49150503d805f81146101d9576040519150601f19603f3d011682016040523d82523d5f602084013e6101de565b600281516003811115610310576103106105bc565b03610330576040810151606082015180516020820183f080610226575f5ffd5b600381516003811115610345576103456105bc565b0361013d575f816040015190505f5f836060015180602001905181019061036c9190610652565b915091508181516020830185f580610382575f5ffd5b5050505050565b5f60208284031215610399575f5ffd5b813567ffffffffffffffff8111156103af575f5ffd5b8201608081850312156103c0575f5ffd5b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff81118282101715610417576104176103c7565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610464576104646103c7565b604052919050565b80356fffffffffffffffffffffffffffffffff8116811461048b575f5ffd5b919050565b5f67ffffffffffffffff8211156104a9576104a96103c7565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b5f82601f8301126104e4575f5ffd5b81356104f76104f282610490565b61041d565b81815284602083860101111561050b575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f60808236031215610537575f5ffd5b61053f6103f4565b82356004811061054d575f5ffd5b8152602083013573ffffffffffffffffffffffffffffffffffffffff81168114610575575f5ffd5b60208201526105866040840161046c565b6040820152606083013567ffffffffffffffff8111156105a4575f5ffd5b6105b0368286016104d5565b60608301525092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f82518060208501845e5f920191825250919050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b5f5f60408385031215610663575f5ffd5b82519150602083015167ffffffffffffffff811115610680575f5ffd5b8301601f81018513610690575f5ffd5b805161069e6104f282610490565b8181528660208385010111156106b2575f5ffd5b8160208401602083015e5f60208383010152809350505050925092905056fea2646970667358221220ecd62574def5cbde1a390b3a28be1417f09ed9db0a349a4078ffc3cc5c7bd2aa64736f6c634300081c00330000000000000000000000003eff766c76a1be2ce1acf2b69c78bcae257d5188\",\n        \"nonce\": \"0x0\",\n        \"chainId\": \"0x2105\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": null,\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"UpgradeableBeacon\",\n      \"contractAddress\": \"0xb326c02150bb0de265bb0eceda53531ab0163bf6\",\n      \"function\": null,\n      \"arguments\": [\n        \"0xaD5B57FEB77e294fD7BF5EBE9aB01caA0a90B221\",\n        \"0xb0887e4793d944Cf7bA674B3b3FA5C15900ddaA7\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xfb42764d7038afa33c19f362b7b6d13226891e60\",\n        \"gas\": \"0x4c1bf\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60806040526040516103a53803806103a583398101604081905261002291610108565b61002c8282610033565b5050610139565b61003d8282610041565b5050565b61004a82610053565b61003d8161009d565b8060601b60601c9050684343a0dc92ed22dbfc5481684343a0dc92ed22dbfc5581817f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f38a35050565b6001600160a01b0316803b6100b957636d3e283b5f526004601cfd5b8068911c5a209f08d5ec5e55807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f38a250565b80516001600160a01b0381168114610103575f5ffd5b919050565b5f5f60408385031215610119575f5ffd5b610122836100ed565b9150610130602084016100ed565b90509250929050565b61025f806101465f395ff3fe608060405234801561000f575f5ffd5b5060043610610064575f3560e01c8063715018a61161004d578063715018a6146100b25780638da5cb5b146100ba578063f2fde38b146100ca575f5ffd5b80633659cfe6146100685780635c60da1b1461007d575b5f5ffd5b61007b6100763660046101ef565b6100dd565b005b68911c5a209f08d5ec5e545b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007b6100f1565b684343a0dc92ed22dbfc54610089565b61007b6100d83660046101ef565b610104565b6100e561012a565b6100ee81610148565b50565b6100f961012a565b6101025f6101a5565b565b61010c61012a565b8060601b61012157637448fbae5f526004601cfd5b6100ee816101a5565b684343a0dc92ed22dbfc543314610102576382b429005f526004601cfd5b73ffffffffffffffffffffffffffffffffffffffff16803b61017157636d3e283b5f526004601cfd5b8068911c5a209f08d5ec5e55807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f38a250565b8060601b60601c9050684343a0dc92ed22dbfc5481684343a0dc92ed22dbfc5581817f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f38a35050565b5f602082840312156101ff575f5ffd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610222575f5ffd5b939250505056fea26469706673582212204df276d825fed74b1d1cec9e8d4151a0fbdbbd97bd93bd6a5c4550f78c5b368a64736f6c634300081c0033000000000000000000000000ad5b57feb77e294fd7bf5ebe9ab01caa0a90b221000000000000000000000000b0887e4793d944cf7ba674b3b3fa5c15900ddaa7\",\n        \"nonce\": \"0x1\",\n        \"chainId\": \"0x2105\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": null,\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"CrossChainERC20\",\n      \"contractAddress\": \"0x0c39c78dc31082187d8d7de9937ba46ddba3c043\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x3eff766C76a1be2Ce1aCF2B69c78bCae257D5188\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xfb42764d7038afa33c19f362b7b6d13226891e60\",\n        \"gas\": \"0x1461c7\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60a060405234801561000f575f5ffd5b5060405161125038038061125083398101604081905261002e916100d5565b6001600160a01b0381166100555760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811660805261006a610070565b50610102565b63409feecd198054600181161561008e5763f92ee8a95f526004601cfd5b6001600160401b03808260011c146100d0578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f602082840312156100e5575f5ffd5b81516001600160a01b03811681146100fb575f5ffd5b9392505050565b6080516111286101285f395f818161028c01528181610535015261076e01526111285ff3fe608060405234801561000f575f5ffd5b5060043610610115575f3560e01c80637ecebe00116100ad578063a9059cbb1161007d578063d6c0b2c411610063578063d6c0b2c414610257578063dd62ed3e1461025f578063e78cea9214610272575f5ffd5b8063a9059cbb14610231578063d505accf14610244575f5ffd5b80637ecebe00146101de578063828b417b1461020357806395d89b41146102165780639dc29fac1461021e575f5ffd5b8063313ce567116100e8578063313ce567146101875780633644e5151461019c57806340c10f19146101a457806370a08231146101b9575f5ffd5b806306fdde0314610119578063095ea7b31461013757806318160ddd1461015a57806323b872dd14610174575b5f5ffd5b6101216102b6565b60405161012e9190610c2f565b60405180910390f35b61014a610145366004610caa565b610345565b604051901515815260200161012e565b6805345cdf77eb68f44c545b60405190815260200161012e565b61014a610182366004610cd2565b6103d2565b60035460405160ff909116815260200161012e565b6101666104a1565b6101b76101b2366004610caa565b61051d565b005b6101666101c7366004610d0c565b6387a211a2600c9081525f91909152602090205490565b6101666101ec366004610d0c565b6338377508600c9081525f91909152602090205490565b6101b7610211366004610e31565b610637565b610121610747565b6101b761022c366004610caa565b610756565b61014a61023f366004610caa565b610864565b6101b7610252366004610eaf565b6108db565b600254610166565b61016661026d366004610f15565b610aad565b60405173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016815260200161012e565b60605f80546102c490610f46565b80601f01602080910402602001604051908101604052809291908181526020018280546102f090610f46565b801561033b5780601f106103125761010080835404028352916020019161033b565b820191905f5260205f20905b81548152906001019060200180831161031e57829003601f168201915b5050505050905090565b5f73ffffffffffffffffffffffffffffffffffffffff83166e22d473030f116ddee9f6b43ac78ba3188219151761038357633f68539a5f526004601cfd5b82602052637f5e9f20600c52335f52816034600c2055815f52602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560205fa35060015b92915050565b5f8360601b6e22d473030f116ddee9f6b43ac78ba333146104275733602052637f5e9f208117600c526034600c208054801915610424578085111561041e576313be252b5f526004601cfd5b84810382555b50505b6387a211a28117600c526020600c2080548085111561044d5763f4d678b85f526004601cfd5b84810382555050835f526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b5f806104ab6102b6565b805190602001209050604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f815260208101929092527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc69082015246606082015230608082015260a09020919050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461058c576040517fed7a257c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166105d9576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105e38282610b32565b8173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858260405161062b91815260200190565b60405180910390a25050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156106885760018160011c14303b1061067f5763f92ee8a95f526004601cfd5b818160ff1b1b91505b50846106c0576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002859055600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff84161790555f6106fd8582610fdb565b50600161070a8482610fdb565b508015610740576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b5050505050565b6060600180546102c490610f46565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146107c5576040517fed7a257c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216610812576040517fb817eee700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61081c8282610bae565b8173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405161062b91815260200190565b5f6387a211a2600c52335f526020600c2080548084111561088c5763f4d678b85f526004601cfd5b83810382555050825f526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b73ffffffffffffffffffffffffffffffffffffffff86166e22d473030f116ddee9f6b43ac78ba3188519151761091857633f68539a5f526004601cfd5b5f6109216102b6565b8051906020012090507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64286101561096057631a15a3cc5f526004601cfd5b6040518960601b60601c99508860601b60601c985065383775081901600e52895f526020600c2080547f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835284602084015283604084015246606084015230608084015260a08320602e527f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528b60208401528a60408401528960608401528060808401528860a084015260c08320604e526042602c205f528760ff16602052866040528560605260208060805f60015afa8c3d5114610a485763ddafbaef5f526004601cfd5b019055777f5e9f20000000000000000000000000000000000000000089176040526034602c20889055888a7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250505f60605250505050505050565b5f7fffffffffffffffffffffffffffffffffffdd2b8cfcf0ee922116094bc538745d73ffffffffffffffffffffffffffffffffffffffff831601610b1257507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6103cc565b50602052637f5e9f20600c9081525f91909152603490205490565b505050565b6805345cdf77eb68f44c5481810181811015610b555763e5cfe9575f526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52815f526020600c208181540181555080602052600c5160601c5f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52815f526020600c20805480831115610bd55763f4d678b85f526004601cfd5b82900390556805345cdf77eb68f44c805482900390555f81815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ca5575f5ffd5b919050565b5f5f60408385031215610cbb575f5ffd5b610cc483610c82565b946020939093013593505050565b5f5f5f60608486031215610ce4575f5ffd5b610ced84610c82565b9250610cfb60208501610c82565b929592945050506040919091013590565b5f60208284031215610d1c575f5ffd5b610d2582610c82565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f82601f830112610d68575f5ffd5b813567ffffffffffffffff811115610d8257610d82610d2c565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff82111715610dee57610dee610d2c565b604052818152838201602001851015610e05575f5ffd5b816020850160208301375f918101602001919091529392505050565b803560ff81168114610ca5575f5ffd5b5f5f5f5f60808587031215610e44575f5ffd5b84359350602085013567ffffffffffffffff811115610e61575f5ffd5b610e6d87828801610d59565b935050604085013567ffffffffffffffff811115610e89575f5ffd5b610e9587828801610d59565b925050610ea460608601610e21565b905092959194509250565b5f5f5f5f5f5f5f60e0888a031215610ec5575f5ffd5b610ece88610c82565b9650610edc60208901610c82565b95506040880135945060608801359350610ef860808901610e21565b9699959850939692959460a0840135945060c09093013592915050565b5f5f60408385031215610f26575f5ffd5b610f2f83610c82565b9150610f3d60208401610c82565b90509250929050565b600181811c90821680610f5a57607f821691505b602082108103610f91577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b601f821115610b2d57805f5260205f20601f840160051c81016020851015610fbc5750805b601f840160051c820191505b81811015610740575f8155600101610fc8565b815167ffffffffffffffff811115610ff557610ff5610d2c565b611009816110038454610f46565b84610f97565b6020601f82116001811461105a575f83156110245750848201515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b178455610740565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b828110156110a75787850151825560209485019460019092019101611087565b50848210156110e357868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b50505050600190811b0190555056fea2646970667358221220d2fb81c45e4c919f9f3d7fde2b3f5c7f2cc036de5b08b7b5d1c212ba5571b71564736f6c634300081c00330000000000000000000000003eff766c76a1be2ce1acf2b69c78bcae257d5188\",\n        \"nonce\": \"0x2\",\n        \"chainId\": \"0x2105\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": null,\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"UpgradeableBeacon\",\n      \"contractAddress\": \"0xddc41fda4b758728d07f4686dbe7d1c75c6b2552\",\n      \"function\": null,\n      \"arguments\": [\n        \"0xaD5B57FEB77e294fD7BF5EBE9aB01caA0a90B221\",\n        \"0x0c39C78Dc31082187D8D7de9937bA46Ddba3c043\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xfb42764d7038afa33c19f362b7b6d13226891e60\",\n        \"gas\": \"0x4c1bf\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60806040526040516103a53803806103a583398101604081905261002291610108565b61002c8282610033565b5050610139565b61003d8282610041565b5050565b61004a82610053565b61003d8161009d565b8060601b60601c9050684343a0dc92ed22dbfc5481684343a0dc92ed22dbfc5581817f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f38a35050565b6001600160a01b0316803b6100b957636d3e283b5f526004601cfd5b8068911c5a209f08d5ec5e55807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f38a250565b80516001600160a01b0381168114610103575f5ffd5b919050565b5f5f60408385031215610119575f5ffd5b610122836100ed565b9150610130602084016100ed565b90509250929050565b61025f806101465f395ff3fe608060405234801561000f575f5ffd5b5060043610610064575f3560e01c8063715018a61161004d578063715018a6146100b25780638da5cb5b146100ba578063f2fde38b146100ca575f5ffd5b80633659cfe6146100685780635c60da1b1461007d575b5f5ffd5b61007b6100763660046101ef565b6100dd565b005b68911c5a209f08d5ec5e545b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007b6100f1565b684343a0dc92ed22dbfc54610089565b61007b6100d83660046101ef565b610104565b6100e561012a565b6100ee81610148565b50565b6100f961012a565b6101025f6101a5565b565b61010c61012a565b8060601b61012157637448fbae5f526004601cfd5b6100ee816101a5565b684343a0dc92ed22dbfc543314610102576382b429005f526004601cfd5b73ffffffffffffffffffffffffffffffffffffffff16803b61017157636d3e283b5f526004601cfd5b8068911c5a209f08d5ec5e55807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f38a250565b8060601b60601c9050684343a0dc92ed22dbfc5481684343a0dc92ed22dbfc5581817f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f38a35050565b5f602082840312156101ff575f5ffd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610222575f5ffd5b939250505056fea26469706673582212204df276d825fed74b1d1cec9e8d4151a0fbdbbd97bd93bd6a5c4550f78c5b368a64736f6c634300081c0033000000000000000000000000ad5b57feb77e294fd7bf5ebe9ab01caa0a90b2210000000000000000000000000c39c78dc31082187d8d7de9937ba46ddba3c043\",\n        \"nonce\": \"0x3\",\n        \"chainId\": \"0x2105\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": null,\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"CrossChainERC20Factory\",\n      \"contractAddress\": \"0x92fc5119dc6a68ed161affbe59792aa04d8c375c\",\n      \"function\": null,\n      \"arguments\": [\n        \"0xdDc41fdA4B758728d07F4686DbE7D1C75C6b2552\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xfb42764d7038afa33c19f362b7b6d13226891e60\",\n        \"gas\": \"0x86c84\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60a0604052348015600e575f5ffd5b5060405161075f38038061075f833981016040819052602b916061565b6001600160a01b03811660515760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0316608052608c565b5f602082840312156070575f5ffd5b81516001600160a01b03811681146085575f5ffd5b9392505050565b6080516106b56100aa5f395f818160c2015261023001526106b55ff3fe608060405234801561000f575f5ffd5b506004361061004a575f3560e01c806323c3601f1461004e57806334476ab11461008b57806349493a4d146100bd578063ad831c1a146100e4575b5f5ffd5b61006161005c36600461053c565b6100ec565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100ad6100993660046105c1565b5f6020819052908152604090205460ff1681565b6040519015158152602001610082565b6100617f000000000000000000000000000000000000000000000000000000000000000081565b61006161015b565b5f7ff96418d547c92b1533fdada48caf5875c6a25d0edac5bf1450299d00000000008501610146576040517f2d70578000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610152858585856101fa565b95945050505050565b5f6101f57f069be72ab836d4eacc02525b7350a78a395da2f1253a40ebafd66300000000005f1b6040518060400160405280600681526020017f536f6c616e6100000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f534f4c000000000000000000000000000000000000000000000000000000000081525060096101fa565b905090565b5f5f858585856040516020016102139493929190610640565b6040516020818303038152906040528051906020012090506102557f000000000000000000000000000000000000000000000000000000000000000082610369565b73ffffffffffffffffffffffffffffffffffffffff81165f818152602081905260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055517f828b417b0000000000000000000000000000000000000000000000000000000081529193509063828b417b906102e6908990899089908990600401610640565b5f604051808303815f87803b1580156102fd575f5ffd5b505af115801561030f573d5f5f3e3d5ffd5b505060405133815288925073ffffffffffffffffffffffffffffffffffffffff851691507f0b84965add45c4d10c5aacc22714edc5f88def8df83d2c1f9d18b45ef2d287839060200160405180910390a350949350505050565b5f6103755f848461037c565b9392505050565b604080517fb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f36060527f1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c9091527660195155f3363d3d373d3d363d602036600436635c60da6020527c60523d8160223d3973000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8416176009525f90826074600c87f59150816104395763301164255f526004601cfd5b6040525f6060529392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f82601f830112610483575f5ffd5b813567ffffffffffffffff81111561049d5761049d610447565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff8211171561050957610509610447565b604052818152838201602001851015610520575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f5f6080858703121561054f575f5ffd5b84359350602085013567ffffffffffffffff81111561056c575f5ffd5b61057887828801610474565b935050604085013567ffffffffffffffff811115610594575f5ffd5b6105a087828801610474565b925050606085013560ff811681146105b6575f5ffd5b939692955090935050565b5f602082840312156105d1575f5ffd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610375575f5ffd5b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b848152608060208201525f61065860808301866105f4565b828103604084015261066a81866105f4565b91505060ff831660608301529594505050505056fea2646970667358221220dcc5880b059d73eb3e4cc850a3a4926df6c02bf823af00be698b4e8dd28eceef64736f6c634300081c0033000000000000000000000000ddc41fda4b758728d07f4686dbe7d1c75c6b2552\",\n        \"nonce\": \"0x4\",\n        \"chainId\": \"0x2105\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": null,\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n      \"function\": \"deploy(address,address)\",\n      \"arguments\": [\n        \"0x92Fc5119dC6a68eD161AFfBe59792AA04d8C375c\",\n        \"0xaD5B57FEB77e294fD7BF5EBE9aB01caA0a90B221\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xfb42764d7038afa33c19f362b7b6d13226891e60\",\n        \"to\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n        \"gas\": \"0x2a3cd\",\n        \"value\": \"0x0\",\n        \"input\": \"0x545e7c6100000000000000000000000092fc5119dc6a68ed161affbe59792aa04d8c375c000000000000000000000000ad5b57feb77e294fd7bf5ebe9ab01caa0a90b221\",\n        \"nonce\": \"0x5\",\n        \"chainId\": \"0x2105\"\n      },\n      \"additionalContracts\": [\n        {\n          \"transactionType\": \"CREATE\",\n          \"contractName\": null,\n          \"address\": \"0xdd56781d0509650f8c2981231b6c917f2d5d7df2\",\n          \"initCode\": \"0x60793d8160093d39f33d3d336d6396ff2a80c067f99b3d2ab4df2414605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e604c573d6000fd00000000000000\"\n        }\n      ],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": null,\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"BridgeValidator\",\n      \"contractAddress\": \"0x8bb6c703e6928fc1a15132459c1ed3ade9214b8a\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x3eff766C76a1be2Ce1aCF2B69c78bCae257D5188\",\n        \"0x50Ea62F44f44C17d48390cc9fd235dac8E5e127a\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xfb42764d7038afa33c19f362b7b6d13226891e60\",\n        \"gas\": \"0x18317c\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c060405234801561000f575f5ffd5b5060405161159238038061159283398101604081905261002e9161015a565b6001600160a01b0382166100555760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811661007c5760405163d92e233d60e01b815260040160405180910390fd5b5f195f557f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af0180546001600160801b0319166001600160801b031790556001600160a01b03828116608052811660a0526100d36100da565b505061018b565b63409feecd19805460018116156100f85763f92ee8a95f526004601cfd5b6001600160401b03808260011c1461013a578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b80516001600160a01b0381168114610155575f5ffd5b919050565b5f5f6040838503121561016b575f5ffd5b6101748361013f565b91506101826020840161013f565b90509250929050565b60805160a0516113d86101ba5f395f81816101eb01526109b501525f818161023701526103c101526113d85ff3fe608060405234801561000f575f5ffd5b50600436106100cf575f3560e01c80637fa920b61161007d578063d69c3d3011610058578063d69c3d30146101dd578063d91879c8146101e6578063ee9a31a214610232575f5ffd5b80637fa920b6146101a05780639bf6a053146101b3578063c92a1099146101bb575f5ffd5b80633ddb0cd4116100ad5780633ddb0cd41461013f5780633df39dfe14610162578063567942cf1461018b575f5ffd5b80631903d397146100d357806324ea54f41461012f5780632b6e5bcf14610137575b5f5ffd5b7f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af015470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff165b6040519081526020015b60405180910390f35b61011c600181565b61011c5f5481565b61015261014d366004610f24565b610259565b6040519015158152602001610126565b61016a6102a7565b6040516fffffffffffffffffffffffffffffffff9091168152602001610126565b61019e610199366004610f46565b6102e7565b005b61019e6101ae366004611027565b6103bf565b61011c600581565b6101526101c93660046110c2565b60026020525f908152604090205460ff1681565b61011c60015481565b61020d7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610126565b61020d7f000000000000000000000000000000000000000000000000000000000000000081565b73ffffffffffffffffffffffffffffffffffffffff81165f9081527f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af00602052604081205460ff165b92915050565b5f6102e27f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af01546fffffffffffffffffffffffffffffffff1690565b905090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156103385760018160011c14303b1061032f5763f92ee8a95f526004601cfd5b818160ff1b1b91505b50610344858585610665565b600582111561037f576040517fe56d58cf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f82905580156103b8576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610428573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061044c91906110d9565b15610483576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825f8190036104be576040517f6074424200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8167ffffffffffffffff8111156104d8576104d86110f8565b604051908082528060200260200182016040528015610501578160200160208202803683370190505b506001549091505f5b83811015610597576105728261051f81611125565b935089898481811061053357610533611181565b905060400201602001358a8a8581811061054f5761054f611181565b9050604002015f0135604080519384526020840192909252908201526060902090565b83828151811061058457610584611181565b602090810291909101015260010161050a565b506105a382868661090f565b5f5b8381101561065957600160025f8584815181106105c4576105c4611181565b602002602001015181526020019081526020015f205f6101000a81548160ff02191690831515021790555087878281811061060157610601611181565b9050604002016020013583828151811061061d5761061d611181565b60200260200101517f5e55930eb861ee57d9b7fa9e506b7f413cb1599c9886e57f1c8091f5fee5fc3360405160405180910390a36001016105a5565b50600155505050505050565b7f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af006fffffffffffffffffffffffffffffffff8216158015906106b957506fffffffffffffffffffffffffffffffff82168310155b6106ef576040517faabd5a0900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b601083111561072a576040517f2c4f399f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b838110156108b7575f85858381811061074757610747611181565b905060200201602081019061075c9190610f24565b73ffffffffffffffffffffffffffffffffffffffff16036107a9576040517f713ce51100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815f8686848181106107bd576107bd611181565b90506020020160208101906107d29190610f24565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040015f205460ff1615610832576040517f0d57d92a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001825f87878581811061084857610848611181565b905060200201602081019061085d9190610f24565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040015f2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905560010161072c565b506fffffffffffffffffffffffffffffffff91821691909216700100000000000000000000000000000000027fffffffffffffffffffffffffffffffff00000000000000000000000000000000161760019091015550565b5f61091b848484610aad565b90506109577f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af01546fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff1661097282610c5e565b10156109aa576040517ff62bc97a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5480156103b8575f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166394cf795e6040518163ffffffff1660e01b81526004015f60405180830381865afa158015610a1b573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610a609190810190611226565b905081610a6d8285610cec565b1015610aa5576040517f593ac4cb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b6060610aba60418361133a565b15610af1576040517f4be6321b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610afd60418461134d565b90505f610b2886604051602001610b149190611360565b604051602081830303815290604052610d8b565b90505f808367ffffffffffffffff811115610b4557610b456110f8565b604051908082528060200260200182016040528015610b6e578160200160208202803683370190505b509050865f5b85811015610c505760216041820283019081013560ff1690803590602001355f610ba089858585610df4565b90508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1611610c07576040517fd02ef0e500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80878681518110610c1a57610c1a611181565b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015296505060019092019150610b749050565b509098975050505050505050565b5f5f5f5b8351811015610ce557610cd1848281518110610c8057610c80611181565b602002602001015173ffffffffffffffffffffffffffffffffffffffff165f9081527f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af00602052604090205460ff1690565b15610cdd576001909101905b600101610c62565b5092915050565b5f5f5f5f5b8451811015610d81575f610d1e87878481518110610d1157610d11611181565b6020026020010151610e39565b905086518103610d2e5750610d79565b6001811b831615610d6b576040517f8044bb3300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600193840193901b91909117905b600101610cf1565b5090949350505050565b5f815160207f19457468657265756d205369676e6564204d6573736167653a0a00000000000081525f5f52815b600182039150600a81066030018253600a900480610db85750603a03602081113d3d3e80515f5117845281810160209190910384012092525090565b5f604051855f5260ff851660205283604052826060526020600160805f60015afa5191503d610e2a57638baa579f5f526004601cfd5b5f606052604052949350505050565b5f5f5b8351811015610ef757838181518110610e5757610e57611181565b60200260200101515f015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610ee35750838181518110610ea857610ea8611181565b60200260200101516020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15610eef5790506102a1565b600101610e3c565b50509051919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610f21575f5ffd5b50565b5f60208284031215610f34575f5ffd5b8135610f3f81610f00565b9392505050565b5f5f5f5f60608587031215610f59575f5ffd5b843567ffffffffffffffff811115610f6f575f5ffd5b8501601f81018713610f7f575f5ffd5b803567ffffffffffffffff811115610f95575f5ffd5b8760208260051b8401011115610fa9575f5ffd5b6020918201955093508501356fffffffffffffffffffffffffffffffff81168114610fd2575f5ffd5b9396929550929360400135925050565b5f5f83601f840112610ff2575f5ffd5b50813567ffffffffffffffff811115611009575f5ffd5b602083019150836020828501011115611020575f5ffd5b9250929050565b5f5f5f5f6040858703121561103a575f5ffd5b843567ffffffffffffffff811115611050575f5ffd5b8501601f81018713611060575f5ffd5b803567ffffffffffffffff811115611076575f5ffd5b8760208260061b840101111561108a575f5ffd5b60209182019550935085013567ffffffffffffffff8111156110aa575f5ffd5b6110b687828801610fe2565b95989497509550505050565b5f602082840312156110d2575f5ffd5b5035919050565b5f602082840312156110e9575f5ffd5b81518015158114610f3f575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361117a577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5060010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6040805190810167ffffffffffffffff811182821017156111d1576111d16110f8565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561121e5761121e6110f8565b604052919050565b5f60208284031215611236575f5ffd5b815167ffffffffffffffff81111561124c575f5ffd5b8201601f8101841361125c575f5ffd5b805167ffffffffffffffff811115611276576112766110f8565b61128560208260051b016111d7565b8082825260208201915060208360061b8501019250868311156112a6575f5ffd5b6020840193505b8284101561130357604084880312156112c4575f5ffd5b6112cc6111ae565b84516112d781610f00565b815260208501516112e781610f00565b80602083015250808352506020820191506040840193506112ad565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f826113485761134861130d565b500690565b5f8261135b5761135b61130d565b500490565b602080825282518282018190525f918401906040840190835b81811015611397578351835260209384019390920191600101611379565b50909594505050505056fea2646970667358221220b30cdd705bb72b440a45f3a057d9cda32db0d13f5be5164d96e51c1ca680276a64736f6c634300081c00330000000000000000000000003eff766c76a1be2ce1acf2b69c78bcae257d518800000000000000000000000050ea62f44f44c17d48390cc9fd235dac8e5e127a\",\n        \"nonce\": \"0x6\",\n        \"chainId\": \"0x2105\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": null,\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n      \"function\": \"deployAndCall(address,address,bytes)\",\n      \"arguments\": [\n        \"0x8bb6C703e6928fc1A15132459C1eD3AdE9214b8a\",\n        \"0xaD5B57FEB77e294fD7BF5EBE9aB01caA0a90B221\",\n        \"0x567942cf0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000002000000000000000000000000a0f80e237be74a580ccaed06236075c17f1fec69000000000000000000000000e018748703f74b806399dd1ece608453578dde79\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xfb42764d7038afa33c19f362b7b6d13226891e60\",\n        \"to\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n        \"gas\": \"0x526a3\",\n        \"value\": \"0x0\",\n        \"input\": \"0x4314f1200000000000000000000000008bb6c703e6928fc1a15132459c1ed3ade9214b8a000000000000000000000000ad5b57feb77e294fd7bf5ebe9ab01caa0a90b221000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c4567942cf0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000002000000000000000000000000a0f80e237be74a580ccaed06236075c17f1fec69000000000000000000000000e018748703f74b806399dd1ece608453578dde7900000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x7\",\n        \"chainId\": \"0x2105\"\n      },\n      \"additionalContracts\": [\n        {\n          \"transactionType\": \"CREATE\",\n          \"contractName\": null,\n          \"address\": \"0xaf24c1c24ff3bf1e6d882518120fc25442d6794b\",\n          \"initCode\": \"0x60793d8160093d39f33d3d336d6396ff2a80c067f99b3d2ab4df2414605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e604c573d6000fd00000000000000\"\n        }\n      ],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": null,\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"Bridge\",\n      \"contractAddress\": \"0x9b937e776cb00ce79036e58ff1de777df8ebde48\",\n      \"function\": null,\n      \"arguments\": [\n        \"0xf32983e871bc87d15a994f95f5f5054d98498c80cf09b3bafa91cb9507143b36\",\n        \"0xb326c02150bb0De265Bb0eCeDA53531ab0163bf6\",\n        \"0xDD56781d0509650f8C2981231B6C917f2d5d7dF2\",\n        \"0xAF24c1c24Ff3BF1e6D882518120fC25442d6794B\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xfb42764d7038afa33c19f362b7b6d13226891e60\",\n        \"gas\": \"0x537b92\",\n        \"value\": \"0x0\",\n        \"input\": \"0x610100604052348015610010575f5ffd5b50604051614ce6380380614ce683398101604081905261002f91610153565b6001600160a01b0383166100565760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03821661007d5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0381166100a45760405163d92e233d60e01b815260040160405180910390fd5b60808490526001600160a01b0380841660a05282811660c052811660e0526100ca6100d3565b5050505061019d565b63409feecd19805460018116156100f15763f92ee8a95f526004601cfd5b6001600160401b03808260011c14610133578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b80516001600160a01b038116811461014e575f5ffd5b919050565b5f5f5f5f60808587031215610166575f5ffd5b8451935061017660208601610138565b925061018460408601610138565b915061019260608601610138565b905092959194509250565b60805160a05160c05160e051614ae56102015f395f81816105ae0152611f1001525f81816104830152818161099c01528181610dcb0152610fb101525f81816106a601528181610e2001526111a701525f81816105e10152610d070152614ae55ff3fe608060405260043610610229575f3560e01c806370b43d4511610131578063bd4598be116100ac578063f1d31a751161007c578063f3aa14e911610062578063f3aa14e91461071c578063fb25e6051461073b578063fee81cf4146107a8575f5ffd5b8063f1d31a75146106db578063f2fde38b14610709575f5ffd5b8063bd4598be1461062f578063bd7084b21461064e578063d227c30b14610695578063f04e283e146106c8575f5ffd5b8063946d920411610101578063a11cbfd2116100e7578063a11cbfd21461059d578063afb1f778146105d0578063b1d4dc0d14610603575f5ffd5b8063946d92041461055f5780639cd8d3251461057e575f5ffd5b806370b43d45146104d7578063715018a614610505578063770ae03d1461050d5780638da5cb5b1461052c575f5ffd5b80632de94807116101c15780635c975abb116101915780636249a05e116101775780636249a05e146104725780636736eb17146104a55780636c12f6c8146104b8575f5ffd5b80635c975abb146104265780635ca1e1651461043f575f5ffd5b80632de94807146103a55780634a4ee7b1146103d6578063514e62fc146103e957806354d1f13d1461041e575f5ffd5b80631cd64df4116101fc5780631cd64df4146102df5780632260a9c21461030e57806324ea54f414610389578063256929621461039d575f5ffd5b806316c38b3c1461022d578063183a4f6e1461024e578063189bc6ad146102615780631c10893f146102cc575b5f5ffd5b348015610238575f5ffd5b5061024c610247366004613a29565b6107d9565b005b61024c61025c366004613a44565b61084a565b34801561026c575f5ffd5b506102a261027b366004613a44565b60026020525f908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61024c6102da366004613a7c565b610857565b3480156102ea575f5ffd5b506102fe6102f9366004613a7c565b61086d565b60405190151581526020016102c3565b348015610319575f5ffd5b5061037b610328366004613a7c565b73ffffffffffffffffffffffffffffffffffffffff919091165f9081527f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db1414830060209081526040808320938352929052205490565b6040519081526020016102c3565b348015610394575f5ffd5b5061037b600181565b61024c61088b565b3480156103b0575f5ffd5b5061037b6103bf366004613aa6565b638b78c6d8600c9081525f91909152602090205490565b61024c6103e4366004613a7c565b6108d8565b3480156103f4575f5ffd5b506102fe610403366004613a7c565b638b78c6d8600c9081525f9290925260209091205416151590565b61024c6108ea565b348015610431575f5ffd5b506003546102fe9060ff1681565b34801561044a575f5ffd5b507f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361015461037b565b34801561047d575f5ffd5b506102a27f000000000000000000000000000000000000000000000000000000000000000081565b61024c6104b3366004613c3f565b610923565b3480156104c3575f5ffd5b5061037b6104d2366004613c8f565b610a69565b3480156104e2575f5ffd5b506102fe6104f1366004613a44565b60016020525f908152604090205460ff1681565b61024c610a73565b348015610518575f5ffd5b5061024c610527366004613cc6565b610a86565b348015610537575f5ffd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546102a2565b34801561056a575f5ffd5b5061024c610579366004613d05565b610b62565b348015610589575f5ffd5b5061024c610598366004613c8f565b610cfd565b3480156105a8575f5ffd5b506102a27f000000000000000000000000000000000000000000000000000000000000000081565b3480156105db575f5ffd5b5061037b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561060e575f5ffd5b5061062261061d366004613d3d565b61105a565b6040516102c39190613d56565b34801561063a575f5ffd5b5061024c610649366004613cc6565b611065565b348015610659575f5ffd5b507f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361005460405167ffffffffffffffff90911681526020016102c3565b3480156106a0575f5ffd5b506102a27f000000000000000000000000000000000000000000000000000000000000000081565b61024c6106d6366004613aa6565b611141565b3480156106e6575f5ffd5b506102fe6106f5366004613a44565b5f6020819052908152604090205460ff1681565b61024c610717366004613aa6565b61117b565b348015610727575f5ffd5b506102a2610736366004613a44565b6111a1565b348015610746575f5ffd5b5061037b610755366004613a7c565b73ffffffffffffffffffffffffffffffffffffffff919091165f9081527f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db1414830160209081526040808320938352929052205490565b3480156107b3575f5ffd5b5061037b6107c2366004613aa6565b63389a75e1600c9081525f91909152602090205490565b60016107e4816111cd565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168315159081179091556040519081527f444c79de75518689625f69d421a54d335ae43dda0df443aa8d23bef31e44af7e9060200160405180910390a15050565b61085433826111f1565b50565b61085f6111fc565b6108698282611231565b5050565b638b78c6d8600c9081525f8390526020902054811681145b92915050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f5fa250565b6108e06111fc565b61086982826111f1565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f5fa2565b688000000000ab143c065c156109405763ab143c065f526004601cfd5b30688000000000ab143c065d60035460ff1615610989576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181610995828261123d565b5f6109c0867f00000000000000000000000000000000000000000000000000000000000000006115a9565b90505f6109d787836109d2888a613e45565b611b7d565b905061177061ffff1681511115610a1a576040517f69eae45700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a243382611d26565b50505050610a2f5f90565b15610a5857688000000000ab143c0646600103610a4e575f815d610a52565b8081555b50505050565b5f688000000000ab143c065d505050565b5f61088582611e27565b610a7b6111fc565b610a845f611e55565b565b688000000000ab143c065c15610aa35763ab143c065f526004601cfd5b30688000000000ab143c065d60035460ff1615610aec576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b81811015610b2a57610b22838383818110610b0b57610b0b613f8c565b9050602002810190610b1d9190613fb9565b611eba565b600101610aee565b505f5b15610b5257688000000000ab143c0646600103610b4c575f815d505050565b80555050565b5f688000000000ab143c065d5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011328054600382558015610bb35760018160011c14303b10610baa5763f92ee8a95f526004601cfd5b818160ff1b1b91505b5073ffffffffffffffffffffffffffffffffffffffff8416610c01576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c0a8461210c565b5f5b82811015610cc2575f848483818110610c2757610c27613f8c565b9050602002016020810190610c3c9190613aa6565b73ffffffffffffffffffffffffffffffffffffffff1603610c89576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cba848483818110610c9e57610c9e613f8c565b9050602002016020810190610cb39190613aa6565b6001611231565b600101610c0c565b508015610a52576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a150505050565b610d0561216f565b7f0000000000000000000000000000000000000000000000000000000000000000604082013503610d80575f610d3e60a0830183613ff5565b810190610d4b91906140eb565b90505f5f5f8360600151806020019051810190610d68919061411d565b925092509250610d798383836121a8565b5050505050565b6001610d9260a083016080840161419d565b6002811115610da357610da3614162565b03610def575f610db660a0830183613ff5565b810190610dc391906141b6565b9050610869817f0000000000000000000000000000000000000000000000000000000000000000612210565b6040808201355f9081526002602052205473ffffffffffffffffffffffffffffffffffffffff1680610e9a57610e497f0000000000000000000000000000000000000000000000000000000000000000836040013561269d565b6040838101355f90815260026020522080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617905590505b5f610eab60a084016080850161419d565b6002811115610ebc57610ebc614162565b03610f63575f610ecf60a0840184613ff5565b810190610edc91906140eb565b6040517f60ed1d2800000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff8316906360ed1d2890610f3190849060040161421c565b5f604051808303815f87803b158015610f48575f5ffd5b505af1158015610f5a573d5f5f3e3d5ffd5b50505050505050565b6002610f7560a084016080850161419d565b6002811115610f8657610f86614162565b03610869575f80610f9a60a0850185613ff5565b810190610fa7919061428e565b91509150610fd5827f0000000000000000000000000000000000000000000000000000000000000000612210565b6040517f60ed1d2800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906360ed1d289061102790849060040161421c565b5f604051808303815f87803b15801561103e575f5ffd5b505af1158015611050573d5f5f3e3d5ffd5b5050505050505050565b6060610885826126b0565b688000000000ab143c065c156110825763ab143c065f526004601cfd5b30688000000000ab143c065d60035460ff16156110cb576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81816110d7828261123d565b5f6110ea6110e58587613e45565b6129ca565b905061177061ffff168151111561112d576040517f69eae45700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111373382611d26565b505050610b2d5f90565b6111496111fc565b63389a75e1600c52805f526020600c20805442111561116f57636f5e88185f526004601cfd5b5f905561085481611e55565b6111836111fc565b8060601b61119857637448fbae5f526004601cfd5b61085481611e55565b5f6108857f000000000000000000000000000000000000000000000000000000000000000083306129fd565b638b78c6d8600c52335f52806020600c205416610854576382b429005f526004601cfd5b61086982825f612ac0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610a84576382b429005f526004601cfd5b61086982826001612ac0565b806040811115611279576040517f3c46992e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051603a80825261076082019092525f916020820161074080368337505060408051600c8082526101a082019092529293505f928392509060208201610180803683370190505090505f5f5b8581101561105057603a8888838181106112e3576112e3613f8c565b90506020028101906112f591906142da565b61130390602081019061430c565b9050111561133d576040517f9ed3ecbb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b88888381811061135157611351613f8c565b905060200281019061136391906142da565b61137190602081019061430c565b90508110156115a057365f8a8a8581811061138e5761138e613f8c565b90506020028101906113a091906142da565b6113ae90602081019061430c565b848181106113be576113be613f8c565b90506020028101906113d09190613ff5565b90925090506022811461140f576040517f74149ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81355f805b8981101561144d57828b828151811061142f5761142f613f8c565b602002602001015103611445576001915061144d565b600101611414565b50806114b257603a891061148d576040517f9ed3ecbb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818a8a815181106114a0576114a0613f8c565b60209081029190910101526001909801975b5f84846114c16001602261439d565b60ff168181106114d3576114d3613f8c565b9091013560f81c60011491508190506114f0575050505050611598565b5f5f5b8981101561152c57848b828151811061150e5761150e613f8c565b602002602001015103611524576001915061152c565b6001016114f3565b508061159157600c891061156c576040517f87e497e500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b838a8a8151811061157f5761157f613f8c565b60209081029190910101526001909801975b5050505050505b60010161133f565b506001016112c7565b5f5f836060015167ffffffffffffffff16116115f1576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82517f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db14148300905f9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff11111111111111111111111111111111111111120161173657845173ffffffffffffffffffffffffffffffffffffffff165f9081526001830160209081526040808320828901518452909152812054908190036116c3576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80866060015167ffffffffffffffff166116dd91906143b6565b9150813414611718576040517f1841b4e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61172c83875f015188602001518486612b17565b6002935050611b0d565b341561176e576040517f1841b4e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84516040517f34476ab100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152908516906334476ab190602401602060405180830381865afa1580156117db573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ff91906143cd565b1561199a575f855f015173ffffffffffffffffffffffffffffffffffffffff1663d6c0b2c46040518163ffffffff1660e01b8152600401602060405180830381865afa158015611851573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061187591906143e8565b6020870151909150158061188c5750602086015181145b6118c2576040517fa5269ce000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208601819052606086015186516040517f9dc29fac00000000000000000000000000000000000000000000000000000000815233600482015267ffffffffffffffff90921660248301819052935073ffffffffffffffffffffffffffffffffffffffff1690639dc29fac906044015f604051808303815f87803b158015611948575f5ffd5b505af115801561195a573d5f5f3e3d5ffd5b5050505060208601517f069be72ab836d4eacc02525b7350a78a395da2f1253a40ebafd663000000000014611990576001611992565b5f5b935050611b0d565b845173ffffffffffffffffffffffffffffffffffffffff165f908152600183016020908152604080832082890151845290915281205490819003611a0a576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81876060015167ffffffffffffffff16611a2591906143b6565b90505f611a35885f015130612bd2565b9050611a46885f0151333085612c05565b5f611a54895f015130612bd2565b90505f611a6183836143ff565b90505f611a6e8683614412565b90505f8111611aa9576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611ab386826143b6565b96505f611ac088846143ff565b90508015611ad5578b51611ad5903383612c67565b611ade82612cba565b67ffffffffffffffff1660608d01528b5160208d0151611b01918b918a8c612b17565b60029950505050505050505b8451602080870151604080890151815173ffffffffffffffffffffffffffffffffffffffff909516855292840191909152820152606081018290527ff1109ae3af61805fa998753209b2a90166bfc4b38ad8a6b5a268591ce18f99c09060800160405180910390a1505092915050565b604080517f010000000000000000000000000000000000000000000000000000000000000060208201528151600181830301815260219091019091526060905f846002811115611bcf57611bcf614162565b03611c1b57805f8660400151611bf2886060015167ffffffffffffffff16612cd7565b604051602001611c059493929190614461565b6040516020818303038152906040529050611cd4565b6001846002811115611c2f57611c2f614162565b03611c7157806001865f015187602001518860400151611c5c8a6060015167ffffffffffffffff16612cd7565b604051602001611c05969594939291906144d2565b6002846002811115611c8557611c85614162565b03611cd45780600286602001518760400151611cae896060015167ffffffffffffffff16612cd7565b604051602001611cc2959493929190614575565b60405160208183030381529060405290505b80611cde84612d45565b604051602001611cef9291906145eb565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815291905295945050505050565b604080516060810182527f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100805467ffffffffffffffff16825273ffffffffffffffffffffffffffffffffffffffff851660208301529181018390525f611d8b82612e1c565b83549091505f90611da790839067ffffffffffffffff16612e5a565b845467ffffffffffffffff808216600101167fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909116178555604051909150819083907f877352bc1cb00627bdb5bf16a3664cfe784f66bb3c1bfef68bf5b4ae34e6659990611e179087906145ff565b60405180910390a3505050505050565b5f610885611e3b6040840160208501613d3d565b67ffffffffffffffff168335611e5085612f13565b612f49565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f611ec482610a69565b5f8181526020819052604090205490915060ff1615611ee1575050565b6040517fc92a1099000000000000000000000000000000000000000000000000000000008152600481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063c92a109990602401602060405180830381865afa158015611f6a573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f8e91906143cd565b611fc4576040517f6eca2e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b30639cd8d325611fda6080850160608601613d3d565b67ffffffffffffffff16846040518363ffffffff1660e01b815260040161200191906146a8565b5f604051808303815f88803b158015612018575f5ffd5b5087f19350505050801561202a575060015b612095575f81815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690921790915551829133917f1dc47a66003d9a2334f04c3d23d98f174d7e65e9a4a72fa13277a15120c1559e9190a35050565b5f81815260016020818152604080842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00908116909155918490528084208054909216909217905551829133917f68bfb2e57fcbb47277da442d81d3e40ff118cbbcaf345b07997b35f592359e499190a35050565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b333014610a84576040517fad5db22700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db141483006121d482600a6148a7565b73ffffffffffffffffffffffffffffffffffffffff9094165f908152600190910160209081526040808320948352939052919091209190915550565b604082015182517f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db141483009160601c905f9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff11111111111111111111111111111111111111120161236157845173ffffffffffffffffffffffffffffffffffffffff165f9081526001840160209081526040808320828901518452909152812054908190036122eb576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80866060015167ffffffffffffffff1661230591906143b6565b865173ffffffffffffffffffffffffffffffffffffffff165f90815260208681526040808320828b0151845290915281208054929450849290919061234b9084906143ff565b9091555061235b90508383612f6c565b5061262f565b84516040517f34476ab100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152908516906334476ab190602401602060405180830381865afa1580156123ce573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123f291906143cd565b1561254b575f855f015173ffffffffffffffffffffffffffffffffffffffff1663d6c0b2c46040518163ffffffff1660e01b8152600401602060405180830381865afa158015612444573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061246891906143e8565b90506124778187602001511490565b6124ad576040517fa5269ce000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606086015186516040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015267ffffffffffffffff9093166024820181905294509116906340c10f19906044015f604051808303815f87803b15801561252f575f5ffd5b505af1158015612541573d5f5f3e3d5ffd5b505050505061262f565b845173ffffffffffffffffffffffffffffffffffffffff165f9081526001840160209081526040808320828901518452909152812054908190036125bb576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80866060015167ffffffffffffffff166125d591906143b6565b865173ffffffffffffffffffffffffffffffffffffffff165f90815260208681526040808320828b0151845290915281208054929450849290919061261b9084906143ff565b9091555050855161262d908484612c67565b505b84516020808701516040805173ffffffffffffffffffffffffffffffffffffffff948516815292830191909152918416818301526060810183905290517f6899b9db6ebabd932aa1fc835134c9b9ca2168d78a4cbee8854b1c00c86476099181900360800190a15050505050565b5f6126a95f8484612f85565b9392505050565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db13610080546060919067ffffffffffffffff165f03612719576040517fd4e9c9cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805467ffffffffffffffff90811690841610612761576040517f41a2330800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f5f5f61276e87613050565b93509350935093505f8367ffffffffffffffff81111561279057612790613ac1565b6040519080825280602002602001820160405280156127b9578160200160208202803683370190505b509050845f5b858110156128bb57600167ffffffffffffffff8616821c8116145f80821561280e576127ec8560016148b5565b90506127f98460016148b5565b612807906001901b826143ff565b9150612837565b6128198460016148b5565b612827906001901b866148b5565b90506128346001826143ff565b91505b60028b01548210612874576040517f44a5e33500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8a600201828154811061288957612889613f8c565b905f5260205f2001548685815181106128a4576128a4613f8c565b6020908102919091010152935050506001016127bf565b50825182516128ca91906148b5565b67ffffffffffffffff8111156128e2576128e2613ac1565b60405190808252806020026020018201604052801561290b578160200160208202803683370190505b5097505f805b83518110156129655783818151811061292c5761292c613f8c565b60200260200101518a8380612940906148c8565b94508151811061295257612952613f8c565b6020908102919091010152600101612911565b505f5b84518110156129bc5784818151811061298357612983613f8c565b60200260200101518a8380612997906148c8565b9450815181106129a9576129a9613f8c565b6020908102919091010152600101612968565b505050505050505050919050565b60605f6129d683612d45565b6040516020016129e79291906148ff565b6040516020818303038152906040529050919050565b604080517fb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f360609081527f1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c83527660195155f3363d3d373d3d363d602036600436635c60da60205273ffffffffffffffffffffffffffffffffffffffff86167c60523d8160223d39730000000000000000000000000000000000000000176009526074600c20919092525f91829052612ab7818585613077565b95945050505050565b638b78c6d8600c52825f526020600c20805483811783612ae1575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f5fa3505050505050565b73ffffffffffffffffffffffffffffffffffffffff84165f90815260208681526040808320868452909152812054612b509083906148b5565b905067ffffffffffffffff612b658483614412565b1115612b9d576040517f1fef0fad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff9094165f9081526020958652604080822094825293909552505090912055565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f511416612c5957803d873b151710612c5957637939f4245f526004601cfd5b505f60605260405250505050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f511416612cb057803d853b151710612cb0576390b8ec185f526004601cfd5b505f603452505050565b5f680100000000000000008210612cd357612cd3613096565b5090565b5f60c0821519811c70010000000000000000000000000000000102602081811b8218601081811b8218600881811b8218808a16821b918a901c1617808216831b921c1617808216831b921c1617808216604090811b91901c90911617608081811b91901c175b901c92915050565b60605f612d5283516130a3565b604051602001612d8d919060e09190911b7fffffffff0000000000000000000000000000000000000000000000000000000016815260040190565b60405160208183030381529060405290505f5b8351811015612e155781612dcc858381518110612dbf57612dbf613f8c565b602002602001015161310e565b604051602001612ddd9291906145eb565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529150600101612da0565b5092915050565b5f815f015182602001518360400151604051602001612e3d93929190614935565b604051602081830303815290604052805190602001209050919050565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361028054600180820183555f8381527fff5d2acbda7763eef60e554187d5d0d790e60252d450c5d42ea73fe91ad1fd9c909201859055915490917f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100918391612ee0916143ff565b9050612eec8185613254565b5f612f00612efb866001614996565b613329565b6001909301839055509091505092915050565b5f6040820135612f2960a084016080850161419d565b612f3660a0850185613ff5565b604051602001612e3d94939291906149b6565b6040805184815260208101849052908101829052606090205f905b949350505050565b5f385f3884865af16108695763b12d13eb5f526004601cfd5b604080517fb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f36060527f1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c9091527660195155f3363d3d373d3d363d602036600436635c60da6020527c60523d8160223d3973000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8416176009525f90826074600c87f59150816130425763301164255f526004601cfd5b6040525f6060529392505050565b5f5f5f606061305e856133f0565b9195509350915061306e8561357a565b90509193509193565b5f60ff5f5350603592835260601b60015260155260555f908120915290565b6335278d125f526004601cfd5b5f60e082151960c01c70010000000000000000000000000000000102602081811b8218601081811b8218600881811b8218808a16821b918a901c1617808216831b921c1617808216831b921c1617808216604090811b91901c90911617608081811b91901c17612d3d565b60605f825f015160405160200161312791815260200190565b6040516020818303038152906040529050806131478460200151516130a3565b6040516020016131589291906149e6565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290505f5b8360200151518110156131ff5781846020015182815181106131ae576131ae613f8c565b60200260200101516040516020016131c79291906145eb565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052915060010161318a565b508061320e846040015161370d565b60405160200161321f9291906145eb565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529392505050565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100825f5b600167ffffffffffffffff8516821c811603610d79575f613299838361372b565b90505f8460020182815481106132b1576132b1613f8c565b905f5260205f20015490505f8560020185815481106132d2576132d2613f8c565b905f5260205f20015490505f6132e88383613742565b600288018054600181810183555f838152602090209091018390559054919250613311916143ff565b95508461331d816148c8565b95505050505050613278565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136102545f907f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361009080830361337f57505f9392505050565b5f61338985613770565b905080515f0361339d57505f949350505050565b80516001036133e75782600201815f815181106133bc576133bc613f8c565b6020026020010151815481106133d4576133d4613f8c565b905f5260205f2001549350505050919050565b612ab78161386d565b5f8080807f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db13610080549091505f90819081906134339067ffffffffffffffff16613931565b90505f6134418260016148b5565b90505b8015613540575f6134566001836143ff565b865490915067ffffffffffffffff16811c6001908116900361352d576001811b67ffffffffffffffff808616908c16108015906134af57506134988186614996565b67ffffffffffffffff168b67ffffffffffffffff16105b1561350a575f6134bf868d614a25565b90505f6134cb82613994565b6134e067ffffffffffffffff841660026143b6565b6134ea91906143ff565b90506134f681896148b5565b9b5092995097506135739650505050505050565b613513826139cc565b61351d90876148b5565b95506135298186614996565b9450505b508061353881614a45565b915050613444565b506040517f8e429c5200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9193909250565b60408051818152610820810182526060917f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100915f916020820161080080368337505083549192505f91829150819081906135dd9067ffffffffffffffff16613931565b90505f6135eb8260016148b5565b90505b80156136ff575f6136006001836143ff565b885490915067ffffffffffffffff16811c600190811690036136ec576001811b5f67ffffffffffffffff808716908d161080159061365a57506136438287614996565b67ffffffffffffffff168c67ffffffffffffffff16105b90505f613666846139cc565b9050816136d0575f600161367a838b6148b5565b61368491906143ff565b90508b600201818154811061369b5761369b613f8c565b905f5260205f2001548b8b806136b0906148c8565b9c50815181106136c2576136c2613f8c565b602002602001018181525050505b6136da81896148b5565b97506136e68388614996565b96505050505b50806136f781614a45565b9150506135ee565b505050908252509392505050565b606061371982516130a3565b826040516020016129e7929190614a79565b5f5f613736836139cc565b9050612f6481856143ff565b5f8183101561375e57505f828152602082905260409020610885565b5f8281526020849052604090206126a9565b60608167ffffffffffffffff165f0361379857604080515f8082526020820190925290612e15565b60408051818152610820810182525f9160208201610800803683370190505090505f80806137c586613931565b90505f6137d38260016148b5565b90505b8015613862575f6137e86001836143ff565b9050600167ffffffffffffffff8916821c81160361384f575f61380b85836139e7565b90508087878151811061382057613820613f8c565b602090810291909101015285613835816148c8565b965050613841826139cc565b61384b90866148b5565b9450505b508061385a81614a45565b9150506137d6565b505050815292915050565b5f807f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db13610090505f81600201845f815181106138a9576138a9613f8c565b6020026020010151815481106138c1576138c1613f8c565b5f91825260209091200154905060015b8451811015613929575f836002018683815181106138f1576138f1613f8c565b60200260200101518154811061390957613909613f8c565b905f5260205f200154905061391e8382613a0a565b9250506001016138d1565b509392505050565b5f8167ffffffffffffffff165f0361394a57505f919050565b5f825b67ffffffffffffffff81161561397c5781613967816148c8565b92505060011c677fffffffffffffff1661394d565b5f8211613989575f612f64565b612f646001836143ff565b5f805b67ffffffffffffffff831615610885576139b460018416826148b5565b905060018367ffffffffffffffff16901c9250613997565b5f60016139d983826148b5565b6001901b61088591906143ff565b5f5f6139f2836139cc565b90506001613a0082866148b5565b612f6491906143ff565b5f8281526020829052604081206126a9565b8015158114610854575f5ffd5b5f60208284031215613a39575f5ffd5b81356126a981613a1c565b5f60208284031215613a54575f5ffd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610854575f5ffd5b5f5f60408385031215613a8d575f5ffd5b8235613a9881613a5b565b946020939093013593505050565b5f60208284031215613ab6575f5ffd5b81356126a981613a5b565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff81118282101715613b1157613b11613ac1565b60405290565b6040516060810167ffffffffffffffff81118282101715613b1157613b11613ac1565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613b8157613b81613ac1565b604052919050565b803567ffffffffffffffff81168114613ba0575f5ffd5b919050565b5f60808284031215613bb5575f5ffd5b613bbd613aee565b90508135613bca81613a5b565b81526020828101359082015260408083013590820152613bec60608301613b89565b606082015292915050565b5f5f83601f840112613c07575f5ffd5b50813567ffffffffffffffff811115613c1e575f5ffd5b6020830191508360208260051b8501011115613c38575f5ffd5b9250929050565b5f5f5f60a08486031215613c51575f5ffd5b613c5b8585613ba5565b9250608084013567ffffffffffffffff811115613c76575f5ffd5b613c8286828701613bf7565b9497909650939450505050565b5f60208284031215613c9f575f5ffd5b813567ffffffffffffffff811115613cb5575f5ffd5b820160c081850312156126a9575f5ffd5b5f5f60208385031215613cd7575f5ffd5b823567ffffffffffffffff811115613ced575f5ffd5b613cf985828601613bf7565b90969095509350505050565b5f5f5f60408486031215613d17575f5ffd5b8335613d2281613a5b565b9250602084013567ffffffffffffffff811115613c76575f5ffd5b5f60208284031215613d4d575f5ffd5b6126a982613b89565b602080825282518282018190525f918401906040840190835b81811015613d8d578351835260209384019390920191600101613d6f565b509095945050505050565b5f67ffffffffffffffff821115613db157613db1613ac1565b5060051b60200190565b5f82601f830112613dca575f5ffd5b813567ffffffffffffffff811115613de457613de4613ac1565b613e1560207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601613b3a565b818152846020838601011115613e29575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f613e57613e5284613d98565b613b3a565b8381526020810190600585901b840136811115613e72575f5ffd5b845b81811015613d8d57803567ffffffffffffffff811115613e92575f5ffd5b86016060368290031215613ea4575f5ffd5b613eac613b17565b81358152602082013567ffffffffffffffff811115613ec9575f5ffd5b820136601f820112613ed9575f5ffd5b8035613ee7613e5282613d98565b8082825260208201915060208360051b850101925036831115613f08575f5ffd5b602084015b83811015613f4957803567ffffffffffffffff811115613f2b575f5ffd5b613f3a36602083890101613dbb565b84525060209283019201613f0d565b506020850152505050604082013567ffffffffffffffff811115613f6b575f5ffd5b613f7736828501613dbb565b60408301525085525060209384019301613e74565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff41833603018112613feb575f5ffd5b9190910192915050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614028575f5ffd5b83018035915067ffffffffffffffff821115614042575f5ffd5b602001915036819003821315613c38575f5ffd5b5f60808284031215614066575f5ffd5b61406e613aee565b905081356004811061407e575f5ffd5b8152602082013561408e81613a5b565b602082015260408201356fffffffffffffffffffffffffffffffff811681146140b5575f5ffd5b6040820152606082013567ffffffffffffffff8111156140d3575f5ffd5b6140df84828501613dbb565b60608301525092915050565b5f602082840312156140fb575f5ffd5b813567ffffffffffffffff811115614111575f5ffd5b612f6484828501614056565b5f5f5f6060848603121561412f575f5ffd5b835161413a81613a5b565b60208501516040860151919450925060ff81168114614157575f5ffd5b809150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b803560038110613ba0575f5ffd5b5f602082840312156141ad575f5ffd5b6126a98261418f565b5f608082840312156141c6575f5ffd5b6126a98383613ba5565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f82516004811061423357614233614162565b8060208401525073ffffffffffffffffffffffffffffffffffffffff60208401511660408301526fffffffffffffffffffffffffffffffff60408401511660608301526060830151608080840152612f6460a08401826141d0565b5f5f60a0838503121561429f575f5ffd5b6142a98484613ba5565b9150608083013567ffffffffffffffff8111156142c4575f5ffd5b6142d085828601614056565b9150509250929050565b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112613feb575f5ffd5b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261433f575f5ffd5b83018035915067ffffffffffffffff821115614359575f5ffd5b6020019150600581901b3603821315613c38575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b60ff828116828216039081111561088557610885614370565b808202811582820484141761088557610885614370565b5f602082840312156143dd575f5ffd5b81516126a981613a1c565b5f602082840312156143f8575f5ffd5b5051919050565b8181038181111561088557610885614370565b5f82614445577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b5f81518060208401855e5f93019283525090919050565b5f61446c828761444a565b60f89590951b7fff000000000000000000000000000000000000000000000000000000000000001685525050600183019190915260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166021820152602901919050565b5f6144dd828961444a565b60f89790971b7fff00000000000000000000000000000000000000000000000000000000000000168752505060609390931b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660018501526015840191909152603583015260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166055820152605d01919050565b5f614580828861444a565b60f89690961b7fff0000000000000000000000000000000000000000000000000000000000000016865250506001840192909252602183015260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166041820152604901919050565b5f612f646145f9838661444a565b8461444a565b6020815267ffffffffffffffff825116602082015273ffffffffffffffffffffffffffffffffffffffff60208301511660408201525f6040830151606080840152612f6460808401826141d0565b6003811061465d5761465d614162565b9052565b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208082528235828201525f9067ffffffffffffffff906146ca908501613b89565b1660408301525f604084013590508060608401525067ffffffffffffffff6146f460608501613b89565b1660808301526147066080840161418f565b61471360a084018261464d565b5060a08301357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614748575f5ffd5b830160208101903567ffffffffffffffff811115614764575f5ffd5b803603821315614772575f5ffd5b60c080850152612ab760e085018284614661565b6001815b60018411156147c1578085048111156147a5576147a5614370565b60018416156147b357908102905b60019390931c92800261478a565b935093915050565b5f826147d757506001610885565b816147e357505f610885565b81600181146147f957600281146148035761481f565b6001915050610885565b60ff84111561481457614814614370565b50506001821b610885565b5060208310610133831016604e8410600b8410161715614842575081810a610885565b61486d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484614786565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561489f5761489f614370565b029392505050565b5f6126a960ff8416836147c9565b8082018082111561088557610885614370565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036148f8576148f8614370565b5060010190565b7fff000000000000000000000000000000000000000000000000000000000000008360f81b1681525f612f64600183018461444a565b7fffffffffffffffff0000000000000000000000000000000000000000000000008460c01b1681527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b1660088201525f612ab7601c83018461444a565b67ffffffffffffffff818116838216019081111561088557610885614370565b8481526149c6602082018561464d565b606060408201525f6149dc606083018486614661565b9695505050505050565b5f6149f1828561444a565b60e09390931b7fffffffff000000000000000000000000000000000000000000000000000000001683525050600401919050565b67ffffffffffffffff828116828216039081111561088557610885614370565b5f81614a5357614a53614370565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b7fffffffff000000000000000000000000000000000000000000000000000000008360e01b1681525f612f64600483018461444a56fea264697066735822122088ad600394cf9d7c9837047571f38f80f5359ad35d1be505d5a2f867c029c9d564736f6c634300081c0033f32983e871bc87d15a994f95f5f5054d98498c80cf09b3bafa91cb9507143b36000000000000000000000000b326c02150bb0de265bb0eceda53531ab0163bf6000000000000000000000000dd56781d0509650f8c2981231b6c917f2d5d7df2000000000000000000000000af24c1c24ff3bf1e6d882518120fc25442d6794b\",\n        \"nonce\": \"0x8\",\n        \"chainId\": \"0x2105\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": null,\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n      \"function\": \"deployDeterministicAndCall(address,address,bytes32,bytes)\",\n      \"arguments\": [\n        \"0x9b937e776cb00cE79036e58ff1dE777df8Ebde48\",\n        \"0xaD5B57FEB77e294fD7BF5EBE9aB01caA0a90B221\",\n        \"0xfb42764d7038afa33c19f362b7b6d13226891e605f52f9d10b3ac16cf834219d\",\n        \"0x946d9204000000000000000000000000ad5b57feb77e294fd7bf5ebe9ab01caa0a90b2210000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xfb42764d7038afa33c19f362b7b6d13226891e60\",\n        \"to\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n        \"gas\": \"0x4829d\",\n        \"value\": \"0x0\",\n        \"input\": \"0xa97b90d50000000000000000000000009b937e776cb00ce79036e58ff1de777df8ebde48000000000000000000000000ad5b57feb77e294fd7bf5ebe9ab01caa0a90b221fb42764d7038afa33c19f362b7b6d13226891e605f52f9d10b3ac16cf834219d00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000084946d9204000000000000000000000000ad5b57feb77e294fd7bf5ebe9ab01caa0a90b2210000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000025646667cd30e52c0b458baaccb9fada7046f16700000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x9\",\n        \"chainId\": \"0x2105\"\n      },\n      \"additionalContracts\": [\n        {\n          \"transactionType\": \"CREATE2\",\n          \"contractName\": null,\n          \"address\": \"0x3eff766c76a1be2ce1acf2b69c78bcae257d5188\",\n          \"initCode\": \"0x60793d8160093d39f33d3d336d6396ff2a80c067f99b3d2ab4df2414605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e604c573d6000fd00000000000000\"\n        }\n      ],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": null,\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"RelayerOrchestrator\",\n      \"contractAddress\": \"0x38964d1b7cdd2795d0c2a5c2028e985a0be8f730\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x3eff766C76a1be2Ce1aCF2B69c78bCae257D5188\",\n        \"0xAF24c1c24Ff3BF1e6D882518120fC25442d6794B\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xfb42764d7038afa33c19f362b7b6d13226891e60\",\n        \"gas\": \"0x7af17\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c060405234801561000f575f5ffd5b5060405161070838038061070883398101604081905261002e916100ae565b6001600160a01b0382166100555760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811661007c5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039182166080521660a0526100df565b80516001600160a01b03811681146100a9575f5ffd5b919050565b5f5f604083850312156100bf575f5ffd5b6100c883610093565b91506100d660208401610093565b90509250929050565b60805160a0516105fc61010c5f395f8181605d015261011201525f818160ad01526101be01526105fc5ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c80636cd7827d14610043578063a11cbfd214610058578063ee9a31a2146100a8575b5f5ffd5b6100566100513660046102b1565b6100cf565b005b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b841561017b576040517f7fa920b600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637fa920b69061014d9089908990879087906004016103c6565b5f604051808303815f87803b158015610164575f5ffd5b505af1158015610176573d5f5f3e3d5ffd5b505050505b8215610223576040517f770ae03d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063770ae03d906101f5908790879060040161049c565b5f604051808303815f87803b15801561020c575f5ffd5b505af115801561021e573d5f5f3e3d5ffd5b505050505b505050505050565b5f5f83601f84011261023b575f5ffd5b50813567ffffffffffffffff811115610252575f5ffd5b6020830191508360208260051b850101111561026c575f5ffd5b9250929050565b5f5f83601f840112610283575f5ffd5b50813567ffffffffffffffff81111561029a575f5ffd5b60208301915083602082850101111561026c575f5ffd5b5f5f5f5f5f5f606087890312156102c6575f5ffd5b863567ffffffffffffffff8111156102dc575f5ffd5b8701601f810189136102ec575f5ffd5b803567ffffffffffffffff811115610302575f5ffd5b8960208260061b8401011115610316575f5ffd5b60209182019750955087013567ffffffffffffffff811115610336575f5ffd5b61034289828a0161022b565b909550935050604087013567ffffffffffffffff811115610361575f5ffd5b61036d89828a01610273565b979a9699509497509295939492505050565b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b604080825281018490525f8560608301825b87811015610400578235825260208084013590830152604092830192909101906001016103d8565b50838103602085015261041481868861037f565b98975050505050505050565b803567ffffffffffffffff81168114610437575f5ffd5b919050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261046f575f5ffd5b830160208101925035905067ffffffffffffffff81111561048e575f5ffd5b80360382131561026c575f5ffd5b602080825281018290525f6040600584901b8301810190830185837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4136839003015b878210156105b9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452823581811261051a575f5ffd5b89018035865267ffffffffffffffff61053560208301610420565b1660208701526040818101359087015267ffffffffffffffff61055a60608301610420565b166060870152608081013560038110158015610574575f5ffd5b50608087015261058760a082018261043c565b915060c060a088015261059e60c08801838361037f565b965050506020830192506020840193506001820191506104de565b509297965050505050505056fea2646970667358221220ccfc29e8ff1c25bde6b5d812b17e2141a7319f8fe21733681f33c59c27f7733564736f6c634300081c00330000000000000000000000003eff766c76a1be2ce1acf2b69c78bcae257d5188000000000000000000000000af24c1c24ff3bf1e6d882518120fc25442d6794b\",\n        \"nonce\": \"0xa\",\n        \"chainId\": \"0x2105\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": null,\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n      \"function\": \"deploy(address,address)\",\n      \"arguments\": [\n        \"0x38964d1B7CdD2795D0C2A5c2028e985a0BE8f730\",\n        \"0xaD5B57FEB77e294fD7BF5EBE9aB01caA0a90B221\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xfb42764d7038afa33c19f362b7b6d13226891e60\",\n        \"to\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n        \"gas\": \"0x2a3cd\",\n        \"value\": \"0x0\",\n        \"input\": \"0x545e7c6100000000000000000000000038964d1b7cdd2795d0c2a5c2028e985a0be8f730000000000000000000000000ad5b57feb77e294fd7bf5ebe9ab01caa0a90b221\",\n        \"nonce\": \"0xb\",\n        \"chainId\": \"0x2105\"\n      },\n      \"additionalContracts\": [\n        {\n          \"transactionType\": \"CREATE\",\n          \"contractName\": null,\n          \"address\": \"0x8cfa6f29930e6310b6074bab0052c14a709b4741\",\n          \"initCode\": \"0x60793d8160093d39f33d3d336d6396ff2a80c067f99b3d2ab4df2414605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e604c573d6000fd00000000000000\"\n        }\n      ],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": null,\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0xdd56781d0509650f8c2981231b6c917f2d5d7df2\",\n      \"function\": \"deploySolWrapper()\",\n      \"arguments\": [],\n      \"transaction\": {\n        \"from\": \"0xfb42764d7038afa33c19f362b7b6d13226891e60\",\n        \"to\": \"0xdd56781d0509650f8c2981231b6c917f2d5d7df2\",\n        \"gas\": \"0x52327\",\n        \"value\": \"0x0\",\n        \"input\": \"0xad831c1a\",\n        \"nonce\": \"0xc\",\n        \"chainId\": \"0x2105\"\n      },\n      \"additionalContracts\": [\n        {\n          \"transactionType\": \"CREATE2\",\n          \"contractName\": null,\n          \"address\": \"0x311935cd80b76769bf2ecc9d8ab7635b2139cf82\",\n          \"initCode\": \"0x60523d8160223d3973ddc41fda4b758728d07f4686dbe7d1c75c6b255260195155f3363d3d373d3d363d602036600436635c60da1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f3\"\n        }\n      ],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1764164771386,\n  \"chain\": 8453,\n  \"commit\": \"497fe01\"\n}"
  },
  {
    "path": "mainnet/2025-11-25-base-bridge-deployment/script/DeployBridge.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.28;\n\nimport {Script} from \"forge-std/Script.sol\";\nimport {stdJson} from \"forge-std/StdJson.sol\";\nimport {ERC1967Factory} from \"@solady/utils/ERC1967Factory.sol\";\nimport {ERC1967FactoryConstants} from \"@solady/utils/ERC1967FactoryConstants.sol\";\nimport {LibString} from \"solady/utils/LibString.sol\";\nimport {UpgradeableBeacon} from \"@solady/utils/UpgradeableBeacon.sol\";\nimport {AddressAliasHelper} from \"@eth-optimism-bedrock/src/vendor/AddressAliasHelper.sol\";\n\nimport {Pubkey} from \"bridge/libraries/SVMLib.sol\";\nimport {RelayerOrchestrator} from \"bridge/periphery/RelayerOrchestrator.sol\";\nimport {Bridge} from \"bridge/Bridge.sol\";\nimport {BridgeValidator} from \"bridge/BridgeValidator.sol\";\nimport {CrossChainERC20} from \"bridge/CrossChainERC20.sol\";\nimport {CrossChainERC20Factory} from \"bridge/CrossChainERC20Factory.sol\";\nimport {TokenLib} from \"bridge/libraries/TokenLib.sol\";\nimport {Twin} from \"bridge/Twin.sol\";\n\nstruct Cfg {\n    bytes32 salt;\n    address erc1967Factory;\n    address initialOwner;\n    address partnerValidators;\n    address[] baseValidators;\n    uint128 baseSignatureThreshold;\n    uint256 partnerValidatorThreshold;\n    Pubkey remoteBridge;\n    address[] guardians;\n}\n\ncontract DeployBridge is Script {\n    using stdJson for string;\n    using AddressAliasHelper for address;\n\n    string public cfgData;\n    Cfg public cfg;\n\n    function setUp() public {\n        cfgData = vm.readFile(string.concat(vm.projectRoot(), \"/config.json\"));\n\n        cfg.salt = _readBytes32FromConfig(\"salt\");\n        cfg.erc1967Factory = ERC1967FactoryConstants.ADDRESS;\n        cfg.initialOwner = _readAddressFromConfig(\"initialOwner\").applyL1ToL2Alias();\n        cfg.partnerValidators = _readAddressFromConfig(\"partnerValidators\");\n        cfg.baseValidators = _readAddressArrayFromConfig(\"baseValidators\");\n        cfg.baseSignatureThreshold = uint128(_readUintFromConfig(\"baseSignatureThreshold\"));\n        cfg.partnerValidatorThreshold = _readUintFromConfig(\"partnerValidatorThreshold\");\n        cfg.remoteBridge = Pubkey.wrap(_readBytes32FromConfig(\"remoteBridge\"));\n        cfg.guardians = _readAddressArrayFromConfig(\"guardians\");\n\n        require(cfg.guardians.length == 1, \"invalid guardians length\");\n        cfg.guardians[0] = cfg.guardians[0].applyL1ToL2Alias();\n    }\n\n    function run() public {\n        address precomputedBridgeAddress = ERC1967Factory(cfg.erc1967Factory).predictDeterministicAddress(_salt());\n\n        vm.startBroadcast();\n        address twinBeacon = _deployTwinBeacon({precomputedBridgeAddress: precomputedBridgeAddress});\n        address factory = _deployFactory({precomputedBridgeAddress: precomputedBridgeAddress});\n        address bridgeValidator = _deployBridgeValidator({bridge: precomputedBridgeAddress});\n        address bridge =\n            _deployBridge({twinBeacon: twinBeacon, crossChainErc20Factory: factory, bridgeValidator: bridgeValidator});\n        address relayerOrchestrator = _deployRelayerOrchestrator({bridge: bridge, bridgeValidator: bridgeValidator});\n        address sol = CrossChainERC20Factory(factory).deploySolWrapper();\n        vm.stopBroadcast();\n\n        require(address(bridge) == precomputedBridgeAddress, \"Bridge address mismatch\");\n\n        _serializeAddress({key: \"Bridge\", value: bridge});\n        _serializeAddress({key: \"BridgeValidator\", value: bridgeValidator});\n        _serializeAddress({key: \"CrossChainERC20Factory\", value: factory});\n        _serializeAddress({key: \"Twin\", value: twinBeacon});\n        _serializeAddress({key: \"RelayerOrchestrator\", value: relayerOrchestrator});\n        _serializeAddress({key: \"WrappedSol\", value: sol});\n\n        _postCheck(twinBeacon, factory, bridgeValidator, bridge, relayerOrchestrator, sol);\n    }\n\n    function _postCheck(\n        address twinBeacon,\n        address factory,\n        address bridgeValidator,\n        address bridge,\n        address relayerOrchestrator,\n        address sol\n    ) private view {\n        // Twin\n        Twin twinImpl = Twin(payable(UpgradeableBeacon(twinBeacon).implementation()));\n        require(twinImpl.BRIDGE() == bridge, \"PC01: incorrect bridge address in twin impl\");\n\n        // Factory\n        UpgradeableBeacon tokenBeacon = UpgradeableBeacon(CrossChainERC20Factory(factory).BEACON());\n        CrossChainERC20 tokenImpl = CrossChainERC20(tokenBeacon.implementation());\n        require(tokenImpl.bridge() == bridge, \"PC02: incorrect bridge address in token impl\");\n\n        // BridgeValidator\n        require(\n            BridgeValidator(bridgeValidator).BRIDGE() == bridge, \"PC03: incorrect bridge address in BridgeValidator\"\n        );\n        require(\n            BridgeValidator(bridgeValidator).PARTNER_VALIDATORS() == cfg.partnerValidators,\n            \"PC04: incorrect partnerValidators address in BridgeValidator\"\n        );\n        require(\n            BridgeValidator(bridgeValidator).partnerValidatorThreshold() == cfg.partnerValidatorThreshold,\n            \"PC05: incorrect partner validator threshold in BridgeValidator\"\n        );\n        require(\n            BridgeValidator(bridgeValidator).getBaseThreshold() == cfg.baseSignatureThreshold,\n            \"PC06: incorrect Base threshold in BridgeValidator\"\n        );\n        require(\n            BridgeValidator(bridgeValidator).getBaseValidatorCount() == cfg.baseValidators.length,\n            \"PC07: incorrect registered base validator count\"\n        );\n\n        for (uint256 i; i < cfg.baseValidators.length; i++) {\n            require(\n                BridgeValidator(bridgeValidator).isBaseValidator(cfg.baseValidators[i]),\n                \"PC08: base validator not registered\"\n            );\n        }\n\n        // Bridge\n        require(Bridge(bridge).REMOTE_BRIDGE() == cfg.remoteBridge, \"PC09: incorrect remote bridge in Bridge contract\");\n        require(Bridge(bridge).TWIN_BEACON() == twinBeacon, \"PC10: incorrect twin beacon in Bridge contract\");\n        require(Bridge(bridge).CROSS_CHAIN_ERC20_FACTORY() == factory, \"PC11: incorrect factory in Bridge contract\");\n        require(\n            Bridge(bridge).BRIDGE_VALIDATOR() == bridgeValidator, \"PC12: incorrect bridge validator in Bridge contract\"\n        );\n        require(Bridge(bridge).owner() == cfg.initialOwner, \"PC13: incorrect Bridge owner\");\n\n        for (uint256 i; i < cfg.guardians.length; i++) {\n            require(\n                Bridge(bridge).rolesOf(cfg.guardians[i]) == Bridge(bridge).GUARDIAN_ROLE(),\n                \"PC14: guardian missing perms\"\n            );\n        }\n\n        // RelayerOrchestrator\n        require(\n            RelayerOrchestrator(relayerOrchestrator).BRIDGE() == bridge, \"PC15: incorrect bridge in RelayerOrchestrator\"\n        );\n        require(\n            RelayerOrchestrator(relayerOrchestrator).BRIDGE_VALIDATOR() == bridgeValidator,\n            \"PC16: incorrect bridge validator in RelayerOrchestrator\"\n        );\n\n        // SOL\n        require(CrossChainERC20(sol).bridge() == bridge, \"PC17: incorrect bridge in SOL contract\");\n        require(LibString.eq(CrossChainERC20(sol).name(), \"Solana\"), \"PC18: incorrect SOL name\");\n        require(LibString.eq(CrossChainERC20(sol).symbol(), \"SOL\"), \"PC19: incorrect SOL symbol\");\n        require(\n            CrossChainERC20(sol).remoteToken() == Pubkey.unwrap(TokenLib.NATIVE_SOL_PUBKEY),\n            \"PC20: incorrect SOL remote token\"\n        );\n        require(CrossChainERC20(sol).decimals() == 9, \"PC21: incorrect SOL decimals\");\n    }\n\n    function _deployTwinBeacon(address precomputedBridgeAddress) private returns (address) {\n        address twinImpl = address(new Twin(precomputedBridgeAddress));\n        return address(new UpgradeableBeacon({initialOwner: cfg.initialOwner, initialImplementation: twinImpl}));\n    }\n\n    function _deployFactory(address precomputedBridgeAddress) private returns (address) {\n        address erc20Impl = address(new CrossChainERC20(precomputedBridgeAddress));\n        address erc20Beacon =\n            address(new UpgradeableBeacon({initialOwner: cfg.initialOwner, initialImplementation: erc20Impl}));\n\n        address xChainErc20FactoryImpl = address(new CrossChainERC20Factory(erc20Beacon));\n        return\n            ERC1967Factory(cfg.erc1967Factory).deploy({implementation: xChainErc20FactoryImpl, admin: cfg.initialOwner});\n    }\n\n    function _deployBridgeValidator(address bridge) private returns (address) {\n        address bridgeValidatorImpl =\n            address(new BridgeValidator({bridgeAddress: bridge, partnerValidators: cfg.partnerValidators}));\n\n        return ERC1967Factory(cfg.erc1967Factory)\n            .deployAndCall({\n                implementation: bridgeValidatorImpl,\n                admin: cfg.initialOwner,\n                data: abi.encodeCall(\n                    BridgeValidator.initialize,\n                    (cfg.baseValidators, cfg.baseSignatureThreshold, cfg.partnerValidatorThreshold)\n                )\n            });\n    }\n\n    function _deployBridge(address twinBeacon, address crossChainErc20Factory, address bridgeValidator)\n        private\n        returns (address)\n    {\n        Bridge bridgeImpl = new Bridge({\n            remoteBridge: cfg.remoteBridge,\n            twinBeacon: twinBeacon,\n            crossChainErc20Factory: crossChainErc20Factory,\n            bridgeValidator: bridgeValidator\n        });\n\n        return ERC1967Factory(cfg.erc1967Factory)\n            .deployDeterministicAndCall({\n                implementation: address(bridgeImpl),\n                admin: cfg.initialOwner,\n                salt: _salt(),\n                data: abi.encodeCall(Bridge.initialize, (cfg.initialOwner, cfg.guardians))\n            });\n    }\n\n    function _deployRelayerOrchestrator(address bridge, address bridgeValidator) private returns (address) {\n        address relayerOrchestratorImpl =\n            address(new RelayerOrchestrator({bridge: bridge, bridgeValidator: bridgeValidator}));\n\n        return\n            ERC1967Factory(cfg.erc1967Factory)\n                .deploy({implementation: relayerOrchestratorImpl, admin: cfg.initialOwner});\n    }\n\n    function _serializeAddress(string memory key, address value) private {\n        vm.writeJson({\n            json: LibString.toHexStringChecksummed(value), path: \"addresses.json\", valueKey: string.concat(\".\", key)\n        });\n    }\n\n    function _readAddressFromConfig(string memory key) private view returns (address) {\n        return vm.parseJsonAddress({json: cfgData, key: string.concat(\".\", key)});\n    }\n\n    function _readAddressArrayFromConfig(string memory key) private view returns (address[] memory) {\n        return vm.parseJsonAddressArray({json: cfgData, key: string.concat(\".\", key)});\n    }\n\n    function _readUintFromConfig(string memory key) private view returns (uint256) {\n        return vm.parseJsonUint({json: cfgData, key: string.concat(\".\", key)});\n    }\n\n    function _readBytes32FromConfig(string memory key) private view returns (bytes32) {\n        return vm.parseJsonBytes32({json: cfgData, key: string.concat(\".\", key)});\n    }\n\n    function _salt() private view returns (bytes32) {\n        bytes12 s = bytes12(keccak256(abi.encode(cfg.salt)));\n        return bytes32(abi.encodePacked(msg.sender, s));\n    }\n}\n"
  },
  {
    "path": "mainnet/2025-12-01-pause-bridge-base/FACILITATORS.md",
    "content": "#### Execute the transaction\n\n## 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd mainnet/2025-12-01-pause-bridge-base\nmake deps\n```\n\n### 2. Execute pause\n\n```bash\nSIGNATURES=AAABBBCCC make execute-pause\n```\n\n### 3. (When ready) Execute un-pause\n\n```bash\nSIGNATURES=AAABBBCCC make execute-unpause\n```\n"
  },
  {
    "path": "mainnet/2025-12-01-pause-bridge-base/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\nSAFE_NONCE=95\nSENDER=0x1841CB3C2ce6870D0417844C817849da64E6e937\n\nSCRIPT_NAME=PauseBridge\n\n.PHONY: gen-validation\ngen-validation: checkout-signer-tool run-script\n\n.PHONY: run-script\nrun-script:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(L1_RPC_URL) \\\n\t--workdir .. --forge-cmd 'IS_PAUSED=true forge script --rpc-url $(L1_RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" [] --sender $(SENDER)' --out ../validations/base-signer.json;\n\n.PHONY: sign-pause\nsign-pause:\n\t@for i in $$(seq 0 19); do \\\n\t\tnonce=$$(($(SAFE_NONCE) + $$i)); \\\n\t\techo \"Signing with nonce $$nonce\"; \\\n\t\tIS_PAUSED=true SAFE_NONCE=$$nonce $(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\t\tforge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \\\n\t\t--sig \"sign(address[])\" \"[]\" --sender $(SENDER); \\\n\tdone\n\n.PHONY: sign-unpause\nsign-unpause:\n\t@for i in $$(seq 0 19); do \\\n\t\tnonce=$$(($(SAFE_NONCE) + $$i)); \\\n\t\techo \"Signing with nonce $$nonce\"; \\\n\t\tIS_PAUSED=false SAFE_NONCE=$$nonce $(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\t\tforge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \\\n\t\t--sig \"sign(address[])\" \"[]\" --sender $(SENDER); \\\n\tdone\n\n# Execute\n.PHONY: execute-pause\nexecute-pause:\n\tIS_PAUSED=true forge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\"  --broadcast -vvvv\n\n.PHONY: execute-unpause\nexecute-unpause:\n\tIS_PAUSED=false forge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\"  --broadcast -vvvv\n\n.PHONY: check-status\ncheck-status:\n\tcast call $(L2_BRIDGE) \"paused()\" --rpc-url $(L2_RPC_URL)\n"
  },
  {
    "path": "mainnet/2025-12-01-pause-bridge-base/README.md",
    "content": "# Pause Base Bridge\n\nStatus: STANDBY\n\n## Description\n\nPauses the Base side of [Base Bridge](https://github.com/base/bridge).\n\n## Install dependencies\n\n### 1. Update foundry\n\n```bash\nfoundryup\n```\n\n## Sign Task\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd mainnet/2025-12-01-pause-bridge-base\nmake deps\n```\n\n### 2. Sign pause transactions\n\n```bash\nmake sign-pause\n```\n\n### 3. Sign unpause transactions\n\n```bash\nmake sign-unpause\n```\n\n### 4. Send all signatures to facilitator\n"
  },
  {
    "path": "mainnet/2025-12-01-pause-bridge-base/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/',\n    '@lib-keccak=lib/lib-keccak/contracts/lib/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "mainnet/2025-12-01-pause-bridge-base/records/PauseBridge.s.sol/1/run-1764695666667.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xae59027253a2e98e1c1914f1da442ea5ba3e2b9ce99d2da16d5ae294f65e19ff\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000104e9e05c420000000000000000000000003eff766c76a1be2ce1acf2b69c78bcae257d5188000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002416c38b3c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xb91b785179332ced31d3ee4ad61c77281b8f4c4c375de97c78f3b4515c851afa31739cb0aa6d3471506d2e289cb5112486cfae8397a785232cda144c5b9e41d61c7e0b4c728440a8a10fe44a6ad12dcac247783bfd278dc08f4312d24e17914c0c6e4eca6e20ea1fbfbbd3cc4053d6821a5eac1accf981580a83ca87de210117e11bc6addcd6d928912a98cb988d06193310b1ce53892e33c6f3a2645ba8b43ade716755501f4666bb45fe9d1b9166b28072ebee2197830af1522ba9343246da98691b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x3cf76\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000000000224174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000104e9e05c420000000000000000000000003eff766c76a1be2ce1acf2b69c78bcae257d5188000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002416c38b3c000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3b91b785179332ced31d3ee4ad61c77281b8f4c4c375de97c78f3b4515c851afa31739cb0aa6d3471506d2e289cb5112486cfae8397a785232cda144c5b9e41d61c7e0b4c728440a8a10fe44a6ad12dcac247783bfd278dc08f4312d24e17914c0c6e4eca6e20ea1fbfbbd3cc4053d6821a5eac1accf981580a83ca87de210117e11bc6addcd6d928912a98cb988d06193310b1ce53892e33c6f3a2645ba8b43ade716755501f4666bb45fe9d1b9166b28072ebee2197830af1522ba9343246da98691b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x3a\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x22f4d2d\",\n      \"logs\": [\n        {\n          \"address\": \"0x49048044d57e1c92a77f79988d21fa8faf74e97e\",\n          \"topics\": [\n            \"0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32\",\n            \"0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167\",\n            \"0x0000000000000000000000003eff766c76a1be2ce1acf2b69c78bcae257d5188\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a00016c38b3c000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000\",\n          \"blockHash\": \"0x5a4bcd1d3c8402a86df5b0038ae565f040f7ad1d009184902711f6bcaa3201a5\",\n          \"blockNumber\": \"0x16d199e\",\n          \"blockTimestamp\": \"0x692f1e6f\",\n          \"transactionHash\": \"0xae59027253a2e98e1c1914f1da442ea5ba3e2b9ce99d2da16d5ae294f65e19ff\",\n          \"transactionIndex\": \"0x125\",\n          \"logIndex\": \"0x2ea\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x9a10c9b7caf09776eecb7d70a3b8b231881bf708a256f80f8983f37244b0673e0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x5a4bcd1d3c8402a86df5b0038ae565f040f7ad1d009184902711f6bcaa3201a5\",\n          \"blockNumber\": \"0x16d199e\",\n          \"blockTimestamp\": \"0x692f1e6f\",\n          \"transactionHash\": \"0xae59027253a2e98e1c1914f1da442ea5ba3e2b9ce99d2da16d5ae294f65e19ff\",\n          \"transactionIndex\": \"0x125\",\n          \"logIndex\": \"0x2eb\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000042000000000000000000080000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000002000000000000000c0000000000000000000000000000000c00000000040000000000000004000200000000000000000000000000020000000000020000a0000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xae59027253a2e98e1c1914f1da442ea5ba3e2b9ce99d2da16d5ae294f65e19ff\",\n      \"transactionIndex\": \"0x125\",\n      \"blockHash\": \"0x5a4bcd1d3c8402a86df5b0038ae565f040f7ad1d009184902711f6bcaa3201a5\",\n      \"blockNumber\": \"0x16d199e\",\n      \"gasUsed\": \"0x2c238\",\n      \"effectiveGasPrice\": \"0x68cd70b\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1764695666667,\n  \"chain\": 1,\n  \"commit\": \"d46b786\"\n}"
  },
  {
    "path": "mainnet/2025-12-01-pause-bridge-base/records/PauseBridge.s.sol/1/run-1764696374577.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x1a2e045e7be8cb58345a03ca7671cb9529cf5d49e179c5598eb23c80aef59518\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000104e9e05c420000000000000000000000003eff766c76a1be2ce1acf2b69c78bcae257d5188000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002416c38b3c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x3b4da0f4c7c9baebbdc253d61f198bb3e71652ce51579e3b17cfa2bb3af2506e45025fcf3ed2661f32d06851ae52c9cfe06e286cf79ddaff31f0855c68694ea41cdac3521ca04f238c9992a951986e9143ae3b84e1f75a9844d3f31ab2d811b3370d8b7e9ded0fdb6175fd45d0dfe3b36cb5f5fce48088e90a19d3ba8fe59484731ceb69fbe1ece6d55599186f0dad18d5fd042260fbab94c0cb3f6a5a42688a05d848892e7476f0097470e0698ca8414bacf42731303e7c5772ca7652f27d37b8731c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x3cf65\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000000000224174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000104e9e05c420000000000000000000000003eff766c76a1be2ce1acf2b69c78bcae257d5188000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002416c38b3c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c33b4da0f4c7c9baebbdc253d61f198bb3e71652ce51579e3b17cfa2bb3af2506e45025fcf3ed2661f32d06851ae52c9cfe06e286cf79ddaff31f0855c68694ea41cdac3521ca04f238c9992a951986e9143ae3b84e1f75a9844d3f31ab2d811b3370d8b7e9ded0fdb6175fd45d0dfe3b36cb5f5fce48088e90a19d3ba8fe59484731ceb69fbe1ece6d55599186f0dad18d5fd042260fbab94c0cb3f6a5a42688a05d848892e7476f0097470e0698ca8414bacf42731303e7c5772ca7652f27d37b8731c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x3b\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x166820d\",\n      \"logs\": [\n        {\n          \"address\": \"0x49048044d57e1c92a77f79988d21fa8faf74e97e\",\n          \"topics\": [\n            \"0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32\",\n            \"0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167\",\n            \"0x0000000000000000000000003eff766c76a1be2ce1acf2b69c78bcae257d5188\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a00016c38b3c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x37785ecc1bf2ddeb8a3846de23f54d7353ff9e71c536ec9f5d85e63dab4525f8\",\n          \"blockNumber\": \"0x16d19d6\",\n          \"blockTimestamp\": \"0x692f2133\",\n          \"transactionHash\": \"0x1a2e045e7be8cb58345a03ca7671cb9529cf5d49e179c5598eb23c80aef59518\",\n          \"transactionIndex\": \"0x71\",\n          \"logIndex\": \"0x24e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x65ca344d52d4af93f24cb71a0ce9bce68cf94963c26abb4fc4f8f39d596004ad0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x37785ecc1bf2ddeb8a3846de23f54d7353ff9e71c536ec9f5d85e63dab4525f8\",\n          \"blockNumber\": \"0x16d19d6\",\n          \"blockTimestamp\": \"0x692f2133\",\n          \"transactionHash\": \"0x1a2e045e7be8cb58345a03ca7671cb9529cf5d49e179c5598eb23c80aef59518\",\n          \"transactionIndex\": \"0x71\",\n          \"logIndex\": \"0x24f\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000042000000000000000000080000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000002000000000000000c0000000000000000000000000000000c00000000040000000000000004000200000000000000000000000000020000000000020000a0000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x1a2e045e7be8cb58345a03ca7671cb9529cf5d49e179c5598eb23c80aef59518\",\n      \"transactionIndex\": \"0x71\",\n      \"blockHash\": \"0x37785ecc1bf2ddeb8a3846de23f54d7353ff9e71c536ec9f5d85e63dab4525f8\",\n      \"blockNumber\": \"0x16d19d6\",\n      \"gasUsed\": \"0x2c22c\",\n      \"effectiveGasPrice\": \"0x9afbeb2\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1764696374577,\n  \"chain\": 1,\n  \"commit\": \"d46b786\"\n}"
  },
  {
    "path": "mainnet/2025-12-01-pause-bridge-base/script/PauseBridge.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\n\ninterface IOptimismPortal2 {\n    function depositTransaction(address _to, uint256 _value, uint64 _gasLimit, bool _isCreation, bytes memory _data)\n        external\n        payable;\n}\n\ninterface IBridge {\n    function setPaused(bool) external;\n}\n\ncontract PauseBridge is MultisigScript {\n    address public immutable OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n    address public immutable L1_PORTAL = vm.envAddress(\"L1_PORTAL\");\n    address public immutable L2_BRIDGE = vm.envAddress(\"L2_BRIDGE\");\n    bool public immutable IS_PAUSED = vm.envBool(\"IS_PAUSED\");\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) {\n        IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n\n        address to = L2_BRIDGE;\n        uint256 value = 0;\n        uint64 gasLimit = 100_000;\n        bool isCreation = false;\n        bytes memory data = abi.encodeCall(IBridge.setPaused, (IS_PAUSED));\n\n        calls[0] = IMulticall3.Call3Value({\n            target: L1_PORTAL,\n            allowFailure: false,\n            callData: abi.encodeCall(IOptimismPortal2.depositTransaction, (to, value, gasLimit, isCreation, data)),\n            value: value\n        });\n\n        return calls;\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {}\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "mainnet/2025-12-01-pause-bridge-base/validations/base-signer.json",
    "content": "{\n  \"cmd\": \"IS_PAUSED=true forge script --rpc-url https://eth-mainnet.public.blastapi.io PauseBridge --sig sign(address[]) [] --sender 0x1841CB3C2ce6870D0417844C817849da64E6e937\",\n  \"ledgerId\": 0,\n  \"rpcUrl\": \"https://eth-mainnet.public.blastapi.io\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n    \"domainHash\": \"0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289\",\n    \"messageHash\": \"0xcb147d76ed14786f3a82b4f52f3329bf9bc23ded4430c399bcbad6857a3a8a1c\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2989d9b0c1284938ecda89fca15f6181653692d96841174191b7f49db5642815\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000005f\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000060\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"OptimismPortal - Mainnet\",\n      \"address\": \"0x49048044d57e1c92a77f79988d21fa8faf74e97e\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"before\": \"0x00000000016cfd24000000000000ea600000000000000000000000003b9aca00\",\n          \"after\": \"0x00000000016cfd2c00000000000186a00000000000000000000000003b9aca00\",\n          \"description\": \"Updates the ResourceMetering parameters (prevBlockNum, prevBoughtGas, prevBaseFee).\",\n          \"allowDifference\": true\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "mainnet/2025-12-04-set-jovian-parameters/FACILITATORS.md",
    "content": "#### Execute the transaction\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd mainnet/2025-12-04-set-jovian-parameters\nmake deps\n```\n\n### 2. Execute\n\n1. Collect outputs from all participating signers.\n1. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"`.\n1. Run the `make execute` command as described below to execute the transaction.\n\nFor example, if the quorum is 3 and you get the following outputs:\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE01\nSignature: AAAA\n```\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE02\nSignature: BBBB\n```\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE03\nSignature: CCCC\n```\n\nExecute the transaction:\n\n```bash\nSIGNATURES=AAAABBBBCCCC make execute\n```\n"
  },
  {
    "path": "mainnet/2025-12-04-set-jovian-parameters/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\nSCRIPT_NAME = SetJovianParametersScript\n\nRPC_URL = $(L1_RPC_URL)\n\n.PHONY: gen-validation\ngen-validation: checkout-signer-tool run-script\n\n.PHONY: run-script\nrun-script:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \\\n\t--workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" [] --sender $(SENDER)' --out ../validations/base-signer.json;\n\n.PHONY: execute\nexecute:\n\t$(call MULTISIG_EXECUTE,$(SIGNATURES))\n"
  },
  {
    "path": "mainnet/2025-12-04-set-jovian-parameters/README.md",
    "content": "# Set Jovian Parameters on Base Mainnet\n\nStatus: [EXECUTED](https://etherscan.io/tx/0x664cd26ba172aa2613704beeec6f8333b09bceecd8aa4fa24e48d8f3b14bcff1)\n\n## Description\n\nThis task sets the Jovian hardfork parameters on Base Mainnet's SystemConfig contract. The parameters being set are:\n\n- `setDAFootprintGasScalar(312)` - Sets the data availability footprint gas scalar\n- `setMinBaseFee(200000)` - Sets the minimum base fee\n\nThese parameters activate with the Jovian hardfork and affect data availability fee calculations and base fee management on the L2.\n\n## Procedure\n\n## Install dependencies\n\n### 1. Update foundry\n\n```bash\nfoundryup\n```\n\n### 2. Install Node.js if needed\n\nFirst, check if you have node installed\n\n```bash\nnode --version\n```\n\nIf you see a version output from the above command, you can move on. Otherwise, install node\n\n```bash\nbrew install node\n```\n\n## Approving the Update transaction\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root).\n\n```bash\nmake sign-task\n```\n\n### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\nBe sure to select the correct task user from the list of available users to sign.\nAfter completion, the signer tool can be closed by using Ctrl + c\n\n### 4. Send signature to facilitator\n"
  },
  {
    "path": "mainnet/2025-12-04-set-jovian-parameters/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "mainnet/2025-12-04-set-jovian-parameters/records/SetJovianParameters.s.sol/1/run-1764871622342.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x664cd26ba172aa2613704beeec6f8333b09bceecd8aa4fa24e48d8f3b14bcff1\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000012000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000002420f06fdc00000000000000000000000000000000000000000000000000000000000001380000000000000000000000000000000000000000000000000000000000000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000247616f0e80000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xe0155f2268f42c924646b4a036c1b59ea4d7fea136cb58de8105a2c45420e90808708c79fdca71ae9dd6dfa4f052a8c4dbb8e8cc0df88f92251beed33e1276d51b2c1bcf6cdeccc05ec80da958596b3f8339673bcb4cfd9b4c9d85e15dabf0064210852325f87b7381049416e3e192ee02499628d79e858bc3ffd031f3bafc04dd1c2307202a5e55b69d347fdf8215ceef68f5d7cc3cdec6b8500b9033029ecdbe9a003cad498703498a0b8cd0a11293dcc7615e83468898bfc6289df5ec690263481c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x541a833e4303eb56a45be7e8e4a908db97568d1e\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x21aa3\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000244174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000012000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000002420f06fdc00000000000000000000000000000000000000000000000000000000000001380000000000000000000000000000000000000000000000000000000000000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000247616f0e80000000000000000000000000000000000000000000000000000000000030d40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3e0155f2268f42c924646b4a036c1b59ea4d7fea136cb58de8105a2c45420e90808708c79fdca71ae9dd6dfa4f052a8c4dbb8e8cc0df88f92251beed33e1276d51b2c1bcf6cdeccc05ec80da958596b3f8339673bcb4cfd9b4c9d85e15dabf0064210852325f87b7381049416e3e192ee02499628d79e858bc3ffd031f3bafc04dd1c2307202a5e55b69d347fdf8215ceef68f5d7cc3cdec6b8500b9033029ecdbe9a003cad498703498a0b8cd0a11293dcc7615e83468898bfc6289df5ec690263481c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x0\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x132087c\",\n      \"logs\": [\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000007\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000138\",\n          \"blockHash\": \"0x145195cbb145e962a9ec4143f50d237e5164243911dc7f2f50574b7bd6a89889\",\n          \"blockNumber\": \"0x16d50d8\",\n          \"blockTimestamp\": \"0x6931cdc3\",\n          \"transactionHash\": \"0x664cd26ba172aa2613704beeec6f8333b09bceecd8aa4fa24e48d8f3b14bcff1\",\n          \"transactionIndex\": \"0xb4\",\n          \"logIndex\": \"0x23b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000006\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000030d40\",\n          \"blockHash\": \"0x145195cbb145e962a9ec4143f50d237e5164243911dc7f2f50574b7bd6a89889\",\n          \"blockNumber\": \"0x16d50d8\",\n          \"blockTimestamp\": \"0x6931cdc3\",\n          \"transactionHash\": \"0x664cd26ba172aa2613704beeec6f8333b09bceecd8aa4fa24e48d8f3b14bcff1\",\n          \"transactionIndex\": \"0xb4\",\n          \"logIndex\": \"0x23c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xb62abcc8ecd6d693a7cabe02dc3e0ff3e6e44ea6320b30d951b7f38082e48dd10000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x145195cbb145e962a9ec4143f50d237e5164243911dc7f2f50574b7bd6a89889\",\n          \"blockNumber\": \"0x16d50d8\",\n          \"blockTimestamp\": \"0x6931cdc3\",\n          \"transactionHash\": \"0x664cd26ba172aa2613704beeec6f8333b09bceecd8aa4fa24e48d8f3b14bcff1\",\n          \"transactionIndex\": \"0xb4\",\n          \"logIndex\": \"0x23d\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0000000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000001000000408000000000000000000000020000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000400000000000000040000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000080000008000000000000000000000000000000000000000000000000000000100000020000000000000000040000000000000000000000000000000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x664cd26ba172aa2613704beeec6f8333b09bceecd8aa4fa24e48d8f3b14bcff1\",\n      \"transactionIndex\": \"0xb4\",\n      \"blockHash\": \"0x145195cbb145e962a9ec4143f50d237e5164243911dc7f2f50574b7bd6a89889\",\n      \"blockNumber\": \"0x16d50d8\",\n      \"gasUsed\": \"0x185f7\",\n      \"effectiveGasPrice\": \"0x32f94e5\",\n      \"from\": \"0x541a833e4303eb56a45be7e8e4a908db97568d1e\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1764871622342,\n  \"chain\": 1,\n  \"commit\": \"eca2f14\"\n}"
  },
  {
    "path": "mainnet/2025-12-04-set-jovian-parameters/script/SetJovianParameters.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {console} from \"forge-std/console.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\n\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\n\ninterface ISystemConfig {\n    function daFootprintGasScalar() external view returns (uint16);\n    function minBaseFee() external view returns (uint64);\n    function setDAFootprintGasScalar(uint16 _daFootprintGasScalar) external;\n    function setMinBaseFee(uint64 _minBaseFee) external;\n}\n\ncontract SetJovianParametersScript is MultisigScript {\n    address internal immutable OWNER_SAFE;\n    address internal immutable SYSTEM_CONFIG;\n\n    uint16 internal immutable DA_FOOTPRINT_GAS_SCALAR;\n    uint64 internal immutable MIN_BASE_FEE;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n        SYSTEM_CONFIG = vm.envAddress(\"SYSTEM_CONFIG\");\n        DA_FOOTPRINT_GAS_SCALAR = uint16(vm.envUint(\"DA_FOOTPRINT_GAS_SCALAR\"));\n        MIN_BASE_FEE = uint64(vm.envUint(\"MIN_BASE_FEE\"));\n    }\n\n    function setUp() external view {\n        // Log current values for reference\n        console.log(\"Current DA Footprint Gas Scalar:\", ISystemConfig(SYSTEM_CONFIG).daFootprintGasScalar());\n        console.log(\"Current Min Base Fee:\", ISystemConfig(SYSTEM_CONFIG).minBaseFee());\n        console.log(\"New DA Footprint Gas Scalar:\", DA_FOOTPRINT_GAS_SCALAR);\n        console.log(\"New Min Base Fee:\", MIN_BASE_FEE);\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        vm.assertEq(\n            ISystemConfig(SYSTEM_CONFIG).daFootprintGasScalar(),\n            DA_FOOTPRINT_GAS_SCALAR,\n            \"DA Footprint Gas Scalar mismatch\"\n        );\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).minBaseFee(), MIN_BASE_FEE, \"Min Base Fee mismatch\");\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) {\n        IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](2);\n\n        calls[0] = IMulticall3.Call3Value({\n            target: SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(ISystemConfig.setDAFootprintGasScalar, (DA_FOOTPRINT_GAS_SCALAR)),\n            value: 0\n        });\n\n        calls[1] = IMulticall3.Call3Value({\n            target: SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(ISystemConfig.setMinBaseFee, (MIN_BASE_FEE)),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "mainnet/2025-12-04-set-jovian-parameters/validations/base-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://eth-mainnet.public.blastapi.io SetJovianParametersScript --sig sign(address[]) [] --sender 0x1841CB3C2ce6870D0417844C817849da64E6e937\",\n  \"ledgerId\": 0,\n  \"rpcUrl\": \"https://eth-mainnet.public.blastapi.io\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n    \"domainHash\": \"0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289\",\n    \"messageHash\": \"0xabbc13082dc0c978a0d67092bf4da43670451de5604d69434dc7f7ab594785b5\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xc3011018e301845703e8f147902e20fa435a206bf02aa8a392467aa139cf4049\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000061\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000062\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Mainnet\",\n      \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n      \"changes\": [\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006a\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000500000032\",\n          \"after\": \"0x0000000000000000000001380000000000000000000000000000000500000032\",\n          \"description\": \"Sets the DA Footprint Gas Scalar to 312 (0x0138)\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006c\",\n          \"before\": \"0x00000000000000000000000095703e0982140d16f8eba6d158fccede42f04a4c\",\n          \"after\": \"0x000000000000000000030d4095703e0982140d16f8eba6d158fccede42f04a4c\",\n          \"description\": \"Sets the Min Base Fee to 200000 (0x030d40)\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "mainnet/2025-12-08-increase-gas-and-elasticity-limit/FACILITATOR.md",
    "content": "# Facilitator Guide\n\nGuide for facilitators after collecting signatures from signers.\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd mainnet/2025-12-08-increase-gas-and-elasticity-limit\nmake deps\n```\n\n### 2. Execute upgrade\n\n```bash\nSIGNATURES=AAABBBCCC make execute\n```\n\n### 3. (**ONLY** if needed) Execute upgrade rollback\n\n> [!IMPORTANT]\n>\n> THIS SHOULD ONLY BE PERFORMED IN THE EVENT THAT WE NEED TO ROLLBACK\n\n```bash\nSIGNATURES=AAABBBCCC make execute-rollback\n```\n"
  },
  {
    "path": "mainnet/2025-12-08-increase-gas-and-elasticity-limit/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\nifndef ROLLBACK_NONCE_OFFSET\noverride ROLLBACK_NONCE_OFFSET = 1\nendif\n\nRPC_URL = $(L1_RPC_URL)\nSCRIPT_NAME = IncreaseEip1559ElasticityAndIncreaseGasLimitScript\n\n.PHONY: gen-validation\ngen-validation: checkout-signer-tool run-script\n\n.PHONY: run-script\nrun-script:\n\tmkdir validations; \\\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \\\n\t--workdir .. --forge-cmd 'NEW_GAS_LIMIT=$(TO_GAS_LIMIT) \\\n\tOLD_GAS_LIMIT=$(FROM_GAS_LIMIT) NEW_ELASTICITY=$(TO_ELASTICITY) OLD_ELASTICITY=$(FROM_ELASTICITY) \\\n\tNEW_DA_FOOTPRINT_GAS_SCALAR=$(TO_DA_FOOTPRINT_GAS_SCALAR) OLD_DA_FOOTPRINT_GAS_SCALAR=$(FROM_DA_FOOTPRINT_GAS_SCALAR) \\\n\tforge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" [] --sender $(SENDER)' --out ../validations/base-signer.json;\n\n.PHONY: execute\nexecute:\n\tNEW_GAS_LIMIT=$(TO_GAS_LIMIT) \\\n\tOLD_GAS_LIMIT=$(FROM_GAS_LIMIT) \\\n\tNEW_ELASTICITY=$(TO_ELASTICITY) \\\n\tOLD_ELASTICITY=$(FROM_ELASTICITY) \\\n\tNEW_DA_FOOTPRINT_GAS_SCALAR=$(TO_DA_FOOTPRINT_GAS_SCALAR) \\\n\tOLD_DA_FOOTPRINT_GAS_SCALAR=$(FROM_DA_FOOTPRINT_GAS_SCALAR) \\\n\t$(call MULTISIG_EXECUTE,$(SIGNATURES))\n\n.PHONY: gen-validation-rollback\ngen-validation-rollback: checkout-signer-tool run-script-rollback\n\n.PHONY: run-script-rollback\nrun-script-rollback:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \\\n\t--workdir .. --forge-cmd 'OLD_GAS_LIMIT=$(TO_GAS_LIMIT) \\\n\tNEW_GAS_LIMIT=$(FROM_GAS_LIMIT) OLD_ELASTICITY=$(TO_ELASTICITY) NEW_ELASTICITY=$(FROM_ELASTICITY) \\\n\tOLD_DA_FOOTPRINT_GAS_SCALAR=$(TO_DA_FOOTPRINT_GAS_SCALAR) NEW_DA_FOOTPRINT_GAS_SCALAR=$(FROM_DA_FOOTPRINT_GAS_SCALAR) \\\n\tSAFE_NONCE=$(shell expr $$(cast call $(OWNER_SAFE) \"nonce()\" --rpc-url $(RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \\\n\tforge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" [] --sender $(SENDER)' --out ../validations/base-signer-rollback.json;\n\n.PHONY: execute-rollback\nexecute-rollback:\n\tOLD_GAS_LIMIT=$(TO_GAS_LIMIT) \\\n\tNEW_GAS_LIMIT=$(FROM_GAS_LIMIT) \\\n\tOLD_ELASTICITY=$(TO_ELASTICITY) \\\n\tNEW_ELASTICITY=$(FROM_ELASTICITY) \\\n\tOLD_DA_FOOTPRINT_GAS_SCALAR=$(TO_DA_FOOTPRINT_GAS_SCALAR) \\\n\tNEW_DA_FOOTPRINT_GAS_SCALAR=$(FROM_DA_FOOTPRINT_GAS_SCALAR) \\\n\tSAFE_NONCE=$(shell expr $$(cast call $(OWNER_SAFE) \"nonce()\" --rpc-url $(RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \\\n\tforge script --rpc-url $(RPC_URL) $(SCRIPT_NAME) \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2025-12-08-increase-gas-and-elasticity-limit/README.md",
    "content": "# Update Gas Limit, Elasticity & DA Footprint Gas Scalar in L1 `SystemConfig`\n\nStatus: [EXECUTED](https://etherscan.io/tx/0x1fd203ec603c389111e1b1f567265f770f551fc911fc991b833c8313509bd232)\n\n## Executed Transactions\n\n- [Elasticity and Gas Limit Increase](https://etherscan.io/tx/0x1fd203ec603c389111e1b1f567265f770f551fc911fc991b833c8313509bd232) ([artifact](./records/IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol/1/run-1766084929.json))\n\n## Description\n\nWe are updating the gas limit, elasticity, and DA footprint gas scalar to improve TPS and reduce gas fees.\n\nThis runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base/contracts) repository:\n\n`IncreaseEip1559ElasticityAndIncreaseGasLimitScript` -- This script will update the gas limit to our new limit of 187.5 Mgas/s, 6 elasticity, and 325 DA footprint gas scalar if invoked as part of the \"upgrade\" process, or revert to the old limit of 150 Mgas/s, 5 elasticity, and 312 DA footprint gas scalar if invoked as part of the \"rollback\" process.\n\n### DA Footprint Gas Scalar Formula\n\nWe typically set the DA footprint gas scalar to cause base fees to rise if and only if the DA usage exceeds the L1 target blob throughput. (Below that level of DA usage, the normal base fee rules apply.) We use the following formula:\n\n```\nda_footprint_gas_scalar = gas_limit / (elasticity * l2_block_time * l1_target_throughput * estimation_ratio)\n```\n\nWhere:\n\n- `gas_limit` = L2 gas limit per block\n- `elasticity` = EIP-1559 elasticity multiplier\n- `l2_block_time` = 2 seconds\n- `l1_target_throughput = (target_blob_count * 128,000 bytes/blob) / 12 sec/block`\n- `target_blob_count` = target number of blobs per L1 block\n- `estimation_ratio` = 1.5 to account for differences between compression estimates and actual usage\n\nThis simplifies to:\n\n```\nda_footprint_gas_scalar = gas_limit / (elasticity * target_blob_count * 32,000)\n```\n\nExample with gas_limit = 120,000,000, elasticity = 2, and target_blob_count = 6:\n\n```\nda_footprint_gas_scalar = 120,000,000 / (2 * 6 * 32,000) = 312.5 ≈ 312\n```\n\nThe values we are sending are statically defined in the `.env` file.\n\n> [!IMPORTANT]\n>\n> We have two transactions to sign. Please follow\n> the flow for both \"Approving the Update transaction\" and\n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed.\n\n## Install dependencies\n\n### 1. Update foundry\n\n```bash\nfoundryup\n```\n\n### 2. Install Node.js if needed\n\nFirst, check if you have node installed\n\n```bash\nnode --version\n```\n\nIf you see a version output from the above command, you can move on. Otherwise, install node\n\n```bash\nbrew install node\n```\n\n## Approving the Update transaction\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n### 2. Run the signing tool\n\n```bash\nmake sign-task\n```\n\n### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\nBe sure to select the correct task from the list of available tasks to sign (**not** the \"Base Signer Rollback\" task). Copy the resulting signature and save it.\n\n### 4. Rollback signing\n\nNow, click on the \"Base Signer\" selection and switch over to the rollback task (called \"Base Signer Rollback\"). Copy the resulting signature and save it.\n\n### 5. Send signatures to facilitator\n\nSend the two signatures to the facilitator and make sure to clearly note which one is the primary one and which one is the rollback.\n\nYou may now kill the Signer Tool process in your terminal window by running `Ctrl + C`.\n"
  },
  {
    "path": "mainnet/2025-12-08-increase-gas-and-elasticity-limit/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2025-12-08-increase-gas-and-elasticity-limit/records/IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol/1/run-1766084929.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x1fd203ec603c389111e1b1f567265f770f551fc911fc991b833c8313509bd232\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000024000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b41000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024b40a817c00000000000000000000000000000000000000000000000000000000165a0bc00000000000000000000000000000000000000000000000000000000000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000002420f06fdc000000000000000000000000000000000000000000000000000000000000014500000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xbb43f7096ed7d920a55d425721414ba0be82f66407c863f07d857d52e32acaca771b11cc536c3bbbd44f2c16fe77ba145ebb902a9da58e2be4223d9546c65cbc1c3882f877b0a468689dfddfb9aa6b68695d1ed48ab799047969ea3679fd6f98d4077b883e21b11b687aa1ae76295783fa5c11b66ec67284c8f17276d81944d1981cc92e0e82294b84905975e19435cff46b64342985a44f3924a363ea63852cc5ed7f93936e637979932c93053ae319f072cfc1f407419f69732b60cc8b3bbcf12b1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb37b2d42cb0c10ebf96279cceca2cbfc47c6f236\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x24e9b\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004e00000000000000000000000000000000000000000000000000000000000000364174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000024000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b41000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024b40a817c00000000000000000000000000000000000000000000000000000000165a0bc00000000000000000000000000000000000000000000000000000000000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000002420f06fdc0000000000000000000000000000000000000000000000000000000000000145000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3bb43f7096ed7d920a55d425721414ba0be82f66407c863f07d857d52e32acaca771b11cc536c3bbbd44f2c16fe77ba145ebb902a9da58e2be4223d9546c65cbc1c3882f877b0a468689dfddfb9aa6b68695d1ed48ab799047969ea3679fd6f98d4077b883e21b11b687aa1ae76295783fa5c11b66ec67284c8f17276d81944d1981cc92e0e82294b84905975e19435cff46b64342985a44f3924a363ea63852cc5ed7f93936e637979932c93053ae319f072cfc1f407419f69732b60cc8b3bbcf12b1b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x1\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x17bb93c\",\n      \"logs\": [\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000004\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000003200000006\",\n          \"blockHash\": \"0x717177280efc2a704314533fb3008244e0fa009e0a21952de36178da498e4a60\",\n          \"blockNumber\": \"0x16ed807\",\n          \"blockTimestamp\": \"0x6944513f\",\n          \"transactionHash\": \"0x1fd203ec603c389111e1b1f567265f770f551fc911fc991b833c8313509bd232\",\n          \"transactionIndex\": \"0xf7\",\n          \"logIndex\": \"0x2d7\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000002\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000165a0bc0\",\n          \"blockHash\": \"0x717177280efc2a704314533fb3008244e0fa009e0a21952de36178da498e4a60\",\n          \"blockNumber\": \"0x16ed807\",\n          \"blockTimestamp\": \"0x6944513f\",\n          \"transactionHash\": \"0x1fd203ec603c389111e1b1f567265f770f551fc911fc991b833c8313509bd232\",\n          \"transactionIndex\": \"0xf7\",\n          \"logIndex\": \"0x2d8\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000007\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000145\",\n          \"blockHash\": \"0x717177280efc2a704314533fb3008244e0fa009e0a21952de36178da498e4a60\",\n          \"blockNumber\": \"0x16ed807\",\n          \"blockTimestamp\": \"0x6944513f\",\n          \"transactionHash\": \"0x1fd203ec603c389111e1b1f567265f770f551fc911fc991b833c8313509bd232\",\n          \"transactionIndex\": \"0xf7\",\n          \"logIndex\": \"0x2d9\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xdcc82c4b66a94c6576fc1224c4425aacdf1bdafd61c82888642d79ecb7a362480000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x717177280efc2a704314533fb3008244e0fa009e0a21952de36178da498e4a60\",\n          \"blockNumber\": \"0x16ed807\",\n          \"blockTimestamp\": \"0x6944513f\",\n          \"transactionHash\": \"0x1fd203ec603c389111e1b1f567265f770f551fc911fc991b833c8313509bd232\",\n          \"transactionIndex\": \"0xf7\",\n          \"logIndex\": \"0x2da\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000001000000008000000000000000000000020000000000000000000000000000001000000000000000000000000000008000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000002000000000008000000000000000000000000000000000000000008000000000000100000020000000000000000040000000000000000000000000008000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x1fd203ec603c389111e1b1f567265f770f551fc911fc991b833c8313509bd232\",\n      \"transactionIndex\": \"0xf7\",\n      \"blockHash\": \"0x717177280efc2a704314533fb3008244e0fa009e0a21952de36178da498e4a60\",\n      \"blockNumber\": \"0x16ed807\",\n      \"gasUsed\": \"0x1ab97\",\n      \"effectiveGasPrice\": \"0x2fbfd2f\",\n      \"from\": \"0xb37b2d42cb0c10ebf96279cceca2cbfc47c6f236\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1766084929,\n  \"chain\": 1,\n  \"commit\": \"f3b7c65\"\n}"
  },
  {
    "path": "mainnet/2025-12-08-increase-gas-and-elasticity-limit/script/IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\n\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\n\ninterface ISystemConfig {\n    function eip1559Elasticity() external view returns (uint32);\n    function eip1559Denominator() external view returns (uint32);\n    function setEIP1559Params(uint32 _denominator, uint32 _elasticity) external;\n    function gasLimit() external view returns (uint64);\n    function setGasLimit(uint64 _gasLimit) external;\n    function daFootprintGasScalar() external view returns (uint16);\n    function setDAFootprintGasScalar(uint16 _daFootprintGasScalar) external;\n}\n\ncontract IncreaseEip1559ElasticityAndIncreaseGasLimitScript is MultisigScript {\n    address internal immutable OWNER_SAFE;\n    address internal immutable SYSTEM_CONFIG;\n\n    uint32 internal immutable ELASTICITY;\n    uint32 internal immutable NEW_ELASTICITY;\n    uint64 internal immutable GAS_LIMIT;\n    uint64 internal immutable NEW_GAS_LIMIT;\n    uint32 internal immutable DENOMINATOR;\n    uint16 internal immutable DA_FOOTPRINT_GAS_SCALAR;\n    uint16 internal immutable NEW_DA_FOOTPRINT_GAS_SCALAR;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n        SYSTEM_CONFIG = vm.envAddress(\"SYSTEM_CONFIG\");\n\n        GAS_LIMIT = uint64(vm.envUint(\"OLD_GAS_LIMIT\"));\n        NEW_GAS_LIMIT = uint64(vm.envUint(\"NEW_GAS_LIMIT\"));\n\n        ELASTICITY = uint32(vm.envUint(\"OLD_ELASTICITY\"));\n        NEW_ELASTICITY = uint32(vm.envUint(\"NEW_ELASTICITY\"));\n\n        DA_FOOTPRINT_GAS_SCALAR = uint16(vm.envUint(\"OLD_DA_FOOTPRINT_GAS_SCALAR\"));\n        NEW_DA_FOOTPRINT_GAS_SCALAR = uint16(vm.envUint(\"NEW_DA_FOOTPRINT_GAS_SCALAR\"));\n\n        DENOMINATOR = ISystemConfig(SYSTEM_CONFIG).eip1559Denominator();\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Denominator(), DENOMINATOR, \"Denominator mismatch\");\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity(), NEW_ELASTICITY, \"Elasticity mismatch\");\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).gasLimit(), NEW_GAS_LIMIT, \"Gas Limit mismatch\");\n        vm.assertEq(\n            ISystemConfig(SYSTEM_CONFIG).daFootprintGasScalar(),\n            NEW_DA_FOOTPRINT_GAS_SCALAR,\n            \"DA Footprint Gas Scalar mismatch\"\n        );\n    }\n\n    function _simulationOverrides() internal view override returns (Simulation.StateOverride[] memory _stateOverrides) {\n        if (\n            GAS_LIMIT != ISystemConfig(SYSTEM_CONFIG).gasLimit()\n                || ELASTICITY != ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity()\n                || DA_FOOTPRINT_GAS_SCALAR != ISystemConfig(SYSTEM_CONFIG).daFootprintGasScalar()\n        ) {\n            // Override SystemConfig state to the expected \"from\" values so simulations succeeds even\n            // when the chain already reflects the post-change values (during rollback simulation).\n\n            // Prepare two storage overrides for SystemConfig\n            Simulation.StateOverride[] memory stateOverrides = new Simulation.StateOverride[](1);\n            Simulation.StorageOverride[] memory storageOverrides = new Simulation.StorageOverride[](2);\n\n            // Load current packed gas config (slot 0x68) and replace only the lower 64 bits with GAS_LIMIT\n            bytes32 gasConfigSlotKey = bytes32(uint256(0x68));\n            uint256 gasConfigWord = uint256(vm.load(SYSTEM_CONFIG, gasConfigSlotKey));\n            uint256 updatedGasConfigWord = (gasConfigWord & ~uint256(0xffffffffffffffff)) | uint256(GAS_LIMIT);\n            storageOverrides[0] =\n                Simulation.StorageOverride({key: gasConfigSlotKey, value: bytes32(updatedGasConfigWord)});\n\n            // Deterministically set EIP-1559 params and DA Footprint Gas Scalar (slot 0x6a)\n            bytes32 eip1559SlotKey = bytes32(uint256(0x6a));\n            uint256 composedEip1559Word =\n                (uint256(DA_FOOTPRINT_GAS_SCALAR) << 160) | (uint256(ELASTICITY) << 32) | uint256(DENOMINATOR);\n            storageOverrides[1] = Simulation.StorageOverride({key: eip1559SlotKey, value: bytes32(composedEip1559Word)});\n\n            stateOverrides[0] = Simulation.StateOverride({contractAddress: SYSTEM_CONFIG, overrides: storageOverrides});\n            return stateOverrides;\n        }\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) {\n        IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](3);\n\n        calls[0] = IMulticall3.Call3Value({\n            target: SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(ISystemConfig.setEIP1559Params, (DENOMINATOR, NEW_ELASTICITY)),\n            value: 0\n        });\n\n        calls[1] = IMulticall3.Call3Value({\n            target: SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(ISystemConfig.setGasLimit, (NEW_GAS_LIMIT)),\n            value: 0\n        });\n\n        calls[2] = IMulticall3.Call3Value({\n            target: SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(ISystemConfig.setDAFootprintGasScalar, (NEW_DA_FOOTPRINT_GAS_SCALAR)),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "mainnet/2025-12-08-increase-gas-and-elasticity-limit/validations/base-signer-rollback.json",
    "content": "{\n  \"cmd\": \"OLD_GAS_LIMIT=375000000 NEW_GAS_LIMIT=300000000 OLD_ELASTICITY=6 NEW_ELASTICITY=5 OLD_DA_FOOTPRINT_GAS_SCALAR=325 NEW_DA_FOOTPRINT_GAS_SCALAR=312 SAFE_NONCE=99 forge script --rpc-url https://eth-mainnet.public.blastapi.io IncreaseEip1559ElasticityAndIncreaseGasLimitScript --sig sign(address[]) [] --sender 0x1841CB3C2ce6870D0417844C817849da64E6e937\",\n  \"ledgerId\": 0,\n  \"rpcUrl\": \"https://eth-mainnet.public.blastapi.io\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n    \"domainHash\": \"0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289\",\n    \"messageHash\": \"0xfa00f69616f87d19da0a81f1fd29e23bfc16e3fc3571e34792257efa5a6c462d\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000063\",\n          \"description\": \"Override the nonce to be our expected value after initial execution.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xebccac397e1530b5d281cfc92a0c3b0accd4a8cba14d0b71168a56045516b8ad\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Mainnet\",\n      \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000068\",\n          \"value\": \"0x0000000000000000000000000000000000101c12000008dd00000000165a0bc0\",\n          \"description\": \"Overrides gas limit to 375M for the chain\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006a\",\n          \"value\": \"0x0000000000000000000001450000000000000000000000000000000600000032\",\n          \"description\": \"Overrides elasticity to 6 and DA Footprint Gas Scalar to 312 for the chain\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000063\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000064\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Mainnet\",\n      \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000068\",\n          \"before\": \"0x0000000000000000000000000000000000101c12000008dd00000000165a0bc0\",\n          \"after\": \"0x0000000000000000000000000000000000101c12000008dd0000000011e1a300\",\n          \"description\": \"Updates gas limit from 375M to 300M for the chain\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006a\",\n          \"before\": \"0x0000000000000000000001450000000000000000000000000000000600000032\",\n          \"after\": \"0x0000000000000000000001380000000000000000000000000000000500000032\",\n          \"description\": \"Sets the DA Footprint Gas Scalar to 312 (0x0138) and elasticity to 5\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "mainnet/2025-12-08-increase-gas-and-elasticity-limit/validations/base-signer.json",
    "content": "{\n  \"cmd\": \"NEW_GAS_LIMIT=375000000 OLD_GAS_LIMIT=300000000 NEW_ELASTICITY=6 OLD_ELASTICITY=5 NEW_DA_FOOTPRINT_GAS_SCALAR=325 OLD_DA_FOOTPRINT_GAS_SCALAR=312 forge script --rpc-url https://eth-mainnet.public.blastapi.io IncreaseEip1559ElasticityAndIncreaseGasLimitScript --sig sign(address[]) [] --sender 0x1841CB3C2ce6870D0417844C817849da64E6e937\",\n  \"ledgerId\": 0,\n  \"rpcUrl\": \"https://eth-mainnet.public.blastapi.io\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n    \"domainHash\": \"0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289\",\n    \"messageHash\": \"0x078904e595c692904bcd7d168bc2e3af2ab6b46fd1b04de80a0cbe229b556546\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x8eeabbb23f3bfdfab569e1cc3dd5173b8c9cd64a5281121a09af7528f936f603\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000062\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000063\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Mainnet\",\n      \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000068\",\n          \"before\": \"0x0000000000000000000000000000000000101c12000008dd0000000011e1a300\",\n          \"after\": \"0x0000000000000000000000000000000000101c12000008dd00000000165a0bc0\",\n          \"description\": \"Updates gas limit from 300M to 375M for the chain\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006a\",\n          \"before\": \"0x0000000000000000000001380000000000000000000000000000000500000032\",\n          \"after\": \"0x0000000000000000000001450000000000000000000000000000000600000032\",\n          \"description\": \"Sets the DA Footprint Gas Scalar to 325 (0x0145) and elasticity to 6\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "mainnet/2025-12-15-increase-min-base-fee/FACILITATOR.md",
    "content": "# Facilitator Guide\n\nGuide for facilitators after collecting signatures from signers.\n\n## Execution Order\n\nThis task is configured to execute after the gas/elasticity task (nonce 99). The gas/elasticity task must be executed first (nonce 98).\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd mainnet/2025-12-15-increase-min-base-fee\nmake deps\n```\n\n### 2. Execute upgrade\n\n```bash\nSIGNATURES=AAABBBCCC make execute\n```\n"
  },
  {
    "path": "mainnet/2025-12-15-increase-min-base-fee/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n# Gas/elasticity task executes first at nonce 98, so this task uses nonce 99.\nSAFE_NONCE=99\n\nRPC_URL = $(L1_RPC_URL)\nSCRIPT_NAME = IncreaseMinBaseFeeScript\n\n.PHONY: gen-validation\ngen-validation: checkout-signer-tool run-script\n\n.PHONY: run-script\nrun-script:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \\\n\t--workdir .. --forge-cmd '$(if $(SAFE_NONCE),SAFE_NONCE=$(SAFE_NONCE) )forge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" [] --sender $(SENDER)' --out ../validations/base-signer.json;\n\n.PHONY: execute\nexecute:\n\t$(call MULTISIG_EXECUTE,$(SIGNATURES))\n"
  },
  {
    "path": "mainnet/2025-12-15-increase-min-base-fee/README.md",
    "content": "# Increase Min Base Fee in `SystemConfig`\n\nStatus: [EXECUTED](https://etherscan.io/tx/0x6193607cb37034263927a9d2f55937b9a43588ef7757ba00bb4d43813ee4f1b7)\n\n## Description\n\nThis task increases the `minBaseFee` parameter in SystemConfig from 200,000 wei to 500,000 wei (a 2.5x increase).\n\n## Parameters\n\n| Parameter | From | To |\n|-----------|------|-----|\n| minBaseFee | 200,000 wei | 500,000 wei |\n\n## Signing Instructions\n\n### 1. Update repo\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n### 2. Run the signing tool\n\nFrom the project root (not the task directory):\n\n```bash\nmake sign-task\n```\n\n### 3. Open the UI\n\nOpen [http://localhost:3000](http://localhost:3000) and select this task from the list.\n\n### 4. Send signature to facilitator\n\nCopy the resulting signature and send it to the facilitator.\n\nYou may kill the Signer Tool process with `Ctrl + C`.\n"
  },
  {
    "path": "mainnet/2025-12-15-increase-min-base-fee/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "mainnet/2025-12-15-increase-min-base-fee/records/IncreaseMinBaseFee.s.sol/1/run-1766085218628.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x6193607cb37034263927a9d2f55937b9a43588ef7757ba00bb4d43813ee4f1b7\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000247616f0e8000000000000000000000000000000000000000000000000000000000007a12000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0b7159505a444ac9a6b98cc7787f13875f3a9d715e10ba54d31d935af8afcdec12aad99997bacaebda732b9f306ec8f218a4c2381cfe5abf3a12f5831d1d868d1b4fe7f59aae6aff07b17316f5c269fe7b0e6cf8e1bc83207a8135418e855bbc0b2b7a759dd1baf2bf7f7e295a36c3ad983e6074d08c24247508772becce6d1ac91b795dd361911d309c333b24521bd8cfcea52c6d70025e957d2cd311caebcfd2d6101b9b60e7a29f0c6fa05af0aa5ba9d33abff5894e57b49c92e9aa08a42a931c1c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x541a833e4303eb56a45be7e8e4a908db97568d1e\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x1f7e1\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000144174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000247616f0e8000000000000000000000000000000000000000000000000000000000007a120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c30b7159505a444ac9a6b98cc7787f13875f3a9d715e10ba54d31d935af8afcdec12aad99997bacaebda732b9f306ec8f218a4c2381cfe5abf3a12f5831d1d868d1b4fe7f59aae6aff07b17316f5c269fe7b0e6cf8e1bc83207a8135418e855bbc0b2b7a759dd1baf2bf7f7e295a36c3ad983e6074d08c24247508772becce6d1ac91b795dd361911d309c333b24521bd8cfcea52c6d70025e957d2cd311caebcfd2d6101b9b60e7a29f0c6fa05af0aa5ba9d33abff5894e57b49c92e9aa08a42a931c1c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x1\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1da9496\",\n      \"logs\": [\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000006\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000007a120\",\n          \"blockHash\": \"0xace94682146b25f083fa64bb3a840fd8ea99967609a05b8ee16689b985d4aadd\",\n          \"blockNumber\": \"0x16ed81f\",\n          \"blockTimestamp\": \"0x6944525f\",\n          \"transactionHash\": \"0x6193607cb37034263927a9d2f55937b9a43588ef7757ba00bb4d43813ee4f1b7\",\n          \"transactionIndex\": \"0x17b\",\n          \"logIndex\": \"0x2ec\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x1477313eb3722236d8a960c1fdc96f05cbb5ee81ac32b708c4433a729880183b0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xace94682146b25f083fa64bb3a840fd8ea99967609a05b8ee16689b985d4aadd\",\n          \"blockNumber\": \"0x16ed81f\",\n          \"blockTimestamp\": \"0x6944525f\",\n          \"transactionHash\": \"0x6193607cb37034263927a9d2f55937b9a43588ef7757ba00bb4d43813ee4f1b7\",\n          \"transactionIndex\": \"0x17b\",\n          \"logIndex\": \"0x2ed\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0000000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000408000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000400000000000000040000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000080000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000000000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x6193607cb37034263927a9d2f55937b9a43588ef7757ba00bb4d43813ee4f1b7\",\n      \"transactionIndex\": \"0x17b\",\n      \"blockHash\": \"0xace94682146b25f083fa64bb3a840fd8ea99967609a05b8ee16689b985d4aadd\",\n      \"blockNumber\": \"0x16ed81f\",\n      \"gasUsed\": \"0x15889\",\n      \"effectiveGasPrice\": \"0x248c1f6\",\n      \"from\": \"0x541a833e4303eb56a45be7e8e4a908db97568d1e\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1766085218628,\n  \"chain\": 1,\n  \"commit\": \"f3b7c65\"\n}"
  },
  {
    "path": "mainnet/2025-12-15-increase-min-base-fee/script/IncreaseMinBaseFee.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\n\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\n\ninterface ISystemConfig {\n    function minBaseFee() external view returns (uint64);\n    function setMinBaseFee(uint64 _minBaseFee) external;\n}\n\ncontract IncreaseMinBaseFeeScript is MultisigScript {\n    address internal immutable OWNER_SAFE;\n    address internal immutable SYSTEM_CONFIG;\n\n    uint64 internal immutable MIN_BASE_FEE;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n        SYSTEM_CONFIG = vm.envAddress(\"SYSTEM_CONFIG\");\n\n        MIN_BASE_FEE = uint64(vm.envUint(\"MIN_BASE_FEE\"));\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).minBaseFee(), MIN_BASE_FEE, \"Min Base Fee mismatch\");\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) {\n        IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n\n        calls[0] = IMulticall3.Call3Value({\n            target: SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(ISystemConfig.setMinBaseFee, (MIN_BASE_FEE)),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "mainnet/2025-12-15-increase-min-base-fee/validations/base-signer.json",
    "content": "{\n  \"cmd\": \"SAFE_NONCE=99 forge script --rpc-url https://eth-mainnet.public.blastapi.io IncreaseMinBaseFeeScript --sig sign(address[]) [] --sender 0x1841CB3C2ce6870D0417844C817849da64E6e937\",\n  \"ledgerId\": 0,\n  \"rpcUrl\": \"https://eth-mainnet.public.blastapi.io\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n    \"domainHash\": \"0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289\",\n    \"messageHash\": \"0x69169e24dce98a2f6ea6f76236a0f24cbe5b07c25a53d07980f5292ac6858cf9\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000063\",\n          \"description\": \"Override the nonce to be our expected value after initial execution.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0b081d4ccb3a4a82db3bad6da2cd99be08a28338996e16517b9a4a1e01578e9c\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000063\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000064\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Mainnet\",\n      \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n      \"changes\": [\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006c\",\n          \"before\": \"0x000000000000000000030d4095703e0982140d16f8eba6d158fccede42f04a4c\",\n          \"after\": \"0x00000000000000000007a12095703e0982140d16f8eba6d158fccede42f04a4c\",\n          \"description\": \"Updates minBaseFee from 200000 wei (0x030d40) to 500000 wei (0x07a120)\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "mainnet/2026-01-09-op-stack-upgrade-18/FACILITATORS.md",
    "content": "#### Execute the transaction\n\n## 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd mainnet/2026-01-09-op-stack-upgrade-18\nmake deps\n```\n\n1. IMPORTANT: Ensure op-challenger has been updated before executing.\n1. Collect outputs from all participating signers.\n1. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"`.\n1. Run the `make execute` or `make approve` command as described below to execute the transaction.\n\nFor example, if the quorum is 3 and you get the following outputs:\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE01\nSignature: AAAA\n```\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE02\nSignature: BBBB\n```\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE03\nSignature: CCCC\n```\n\nCoinbase facilitator:\n\n```bash\nSIGNATURES=AAAABBBBCCCC make approve-cb\n```\n\n```bash\nSIGNATURES=AAAABBBBCCCC make approve-cb-sc\n```\n\nOptimism facilitator:\n\n```bash\nSIGNATURES=AAAABBBBCCCC make approve-op\n```\n\nOnce the signatures have been submitted approving the transaction for all nested Safes run:\n\n```bash\nmake execute\n```\n"
  },
  {
    "path": "mainnet/2026-01-09-op-stack-upgrade-18/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\n\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n\nRPC_URL = $(L1_RPC_URL)\nSCRIPT_NAME = ExecuteOPCMScript\n\n.PHONY: gen-validation-cb\ngen-validation-cb: checkout-signer-tool run-script-cb\n\n.PHONY: run-script-cb\nrun-script-cb:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \\\n\t--workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" \"[$(CB_NESTED_SAFE_ADDR), $(CB_SIGNER_SAFE_ADDR)]\" \\\n\t--sender 0x6CD3850756b7894774Ab715D136F9dD02837De50' --ledger-id $(LEDGER_ACCOUNT) --out ../validations/coinbase-signer.json;\n\n\n.PHONY: gen-validation-cb-sc\ngen-validation-cb-sc: checkout-signer-tool run-script-cb-sc\n\n.PHONY: run-script-cb-sc\nrun-script-cb-sc:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \\\n\t--workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" \"[$(CB_SC_SAFE_ADDR), $(CB_SIGNER_SAFE_ADDR)]\" \\\n\t--sender 0x5ff5C78ff194acc24C22DAaDdE4D639ebF18ACC6' --ledger-id $(LEDGER_ACCOUNT) --out ../validations/security-council-signer.json;\n\n.PHONY: gen-validation-op\ngen-validation-op: checkout-signer-tool run-script-op\n\n.PHONY: run-script-op\nrun-script-op:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \\\n\t--workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" \"[$(OP_SIGNER_SAFE_ADDR)]\" \\\n\t--sender 0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64' --ledger-id $(LEDGER_ACCOUNT) --out ../validations/optimism-signer.json;\n\n# CB\n.PHONY: approve-cb\napprove-cb:\n\t$(call MULTISIG_APPROVE,$(CB_NESTED_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES))\n\n.PHONY: approve-cb-sc\napprove-cb-sc:\n\t$(call MULTISIG_APPROVE,$(CB_SC_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES))\n\n.PHONY: approve-cb-coordinator\napprove-cb-coordinator:\n\t$(call MULTISIG_APPROVE,$(CB_SIGNER_SAFE_ADDR),0x)\n\n.PHONY: approve-op\napprove-op:\n\t$(call MULTISIG_APPROVE,$(OP_SIGNER_SAFE_ADDR),$(SIGNATURES))\n\n# Execute\n.PHONY: execute\nexecute:\n\t$(call MULTISIG_EXECUTE,0x)"
  },
  {
    "path": "mainnet/2026-01-09-op-stack-upgrade-18/README.md",
    "content": "# OP Stack Upgrade 18\n\nStatus: [EXECUTED](https://etherscan.io/tx/0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b)\n\n## Transactions\n\n- Base-Nested Council Approval: [`0xc4aaa6ca4d55dca8225a176d1e0f728e0e8ff4dfd6505923bbe8a92b8745ded9`](https://etherscan.io/tx/0xc4aaa6ca4d55dca8225a176d1e0f728e0e8ff4dfd6505923bbe8a92b8745ded9) (artefacts: [run-1770741422696.json](./records/ExecuteOPCM.s.sol/1/run-1770741422696.json))\n- Base-Nested Operations Approval: [`0xfad454b046dd6b7734c6da8e3f1db10a29c03223c20a1fe784f6d038fbc1f6e3`](https://etherscan.io/tx/0xfad454b046dd6b7734c6da8e3f1db10a29c03223c20a1fe784f6d038fbc1f6e3) (artefacts: [run-1770741733158.json](./records/ExecuteOPCM.s.sol/1/run-1770741733158.json))\n- Base-Nested Approval: [`0x4f4a7e602287115f35b5a2820a511f27d5492145d03ce337a58e89b3b122edb0`](https://etherscan.io/tx/0x4f4a7e602287115f35b5a2820a511f27d5492145d03ce337a58e89b3b122edb0) (artefacts: [run-1770742081453.json](./records/ExecuteOPCM.s.sol/1/run-1770742081453.json))\n- Unnested Optimism Foundation Operations Approval: [`0xe1be61b9fa98f63672847b0c86a988665b6a33ffaadfece6e7becf435a556a26`](https://etherscan.io/tx/0xe1be61b9fa98f63672847b0c86a988665b6a33ffaadfece6e7becf435a556a26)\n- Execution Transaction: [`0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b`](https://etherscan.io/tx/0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b) (artefacts: [run-1770742201070.json](./records/ExecuteOPCM.s.sol/1/run-1770742201070.json))\n\n## Description\n\nUpgrade 18 is a proposed network upgrade for OP Stack chains, which introduces **cannon+kona fault proof support** (including an optional switch to Kona proofs as the respected game type) and introduces **Custom Gas Token v2 (CGT v2)** for chains that want to use a non-ETH native fee currency.\n\nUpgrade 18 is purely a smart contract upgrade. There are no hardforks activating during this upgrade.\n\nThis script executes the `upgrade` function of the OP Contracts Manager to upgrade all relevant contracts.\n\n## Procedure\n\n## Install dependencies\n\n### 1. Update foundry\n\n```bash\nfoundryup\n```\n\n### 2. Install Node.js if needed\n\nFirst, check if you have node installed\n\n```bash\nnode --version\n```\n\nIf you see a version output from the above command, you can move on. Otherwise, install node\n\n```bash\nbrew install node\n```\n\n## Approving the Update transaction\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n### 2. Run the signing tool\n\n```bash\nmake sign-task\n```\n\n### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\nBe sure to select the correct task user from the list of available users to sign.\nAfter completion, the signer tool can be closed by using Ctrl + c\n\n### 4. Send signature to facilitator\n"
  },
  {
    "path": "mainnet/2026-01-09-op-stack-upgrade-18/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nevm_version = \"shanghai\"\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n    '@lib-keccak/=lib/lib-keccak/contracts/lib',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "mainnet/2026-01-09-op-stack-upgrade-18/records/ExecuteOPCM.s.sol/1/run-1770741422696.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xc4aaa6ca4d55dca8225a176d1e0f728e0e8ff4dfd6505923bbe8a92b8745ded9\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd5ca76567e75eb7fb262aad0543181b97a72ad165dc7c8144704602aa13a7c91800000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xd7d9a3b00c5b27c34e943dd5d2fc82ec027415dd717eac223b85f41030104fb860265aacd224c2ed61e7fa4e909058941ec4727e36d9e336a9d5cc8eeec471ae1c504b32833eadf362a5a7c8cd33efe9e2b0fad7bcc868100688166b1e1208fb63551bbdbf318a3d28bd45600631e7bff93fe3750c64e2912f8c6423cc24f7ba3e1b26acdfc5573eadd8022bf5515d1661865d047f6ecf03f4351b9c4e87c27dd1720f6f9b5eb0cacbca4eb2898edbc06cf04c8ff13fe85e02807cf37783451f6fb71b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x1841cb3c2ce6870d0417844c817849da64e6e937\",\n        \"to\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n        \"gas\": \"0x2335e\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd5ca76567e75eb7fb262aad0543181b97a72ad165dc7c8144704602aa13a7c918000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3d7d9a3b00c5b27c34e943dd5d2fc82ec027415dd717eac223b85f41030104fb860265aacd224c2ed61e7fa4e909058941ec4727e36d9e336a9d5cc8eeec471ae1c504b32833eadf362a5a7c8cd33efe9e2b0fad7bcc868100688166b1e1208fb63551bbdbf318a3d28bd45600631e7bff93fe3750c64e2912f8c6423cc24f7ba3e1b26acdfc5573eadd8022bf5515d1661865d047f6ecf03f4351b9c4e87c27dd1720f6f9b5eb0cacbca4eb2898edbc06cf04c8ff13fe85e02807cf37783451f6fb71b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x5\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1289d00\",\n      \"logs\": [\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x5ca76567e75eb7fb262aad0543181b97a72ad165dc7c8144704602aa13a7c918\",\n            \"0x0000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x52c3dbe8148c75322ba20927624212b7147a80f86f05e3298fa5d504a26f510b\",\n          \"blockNumber\": \"0x174bc5b\",\n          \"blockTimestamp\": \"0x698b5eab\",\n          \"transactionHash\": \"0xc4aaa6ca4d55dca8225a176d1e0f728e0e8ff4dfd6505923bbe8a92b8745ded9\",\n          \"transactionIndex\": \"0xb7\",\n          \"logIndex\": \"0x1c1\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0xc7ecd32b4d2d0327841037f5006c9cfa70e6fc4544a7a6dfd6ef619f37d00212\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x52c3dbe8148c75322ba20927624212b7147a80f86f05e3298fa5d504a26f510b\",\n          \"blockNumber\": \"0x174bc5b\",\n          \"blockTimestamp\": \"0x698b5eab\",\n          \"transactionHash\": \"0xc4aaa6ca4d55dca8225a176d1e0f728e0e8ff4dfd6505923bbe8a92b8745ded9\",\n          \"transactionIndex\": \"0xb7\",\n          \"logIndex\": \"0x1c2\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000010000000004000000008800000000000040000000000000100000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000008000040800000000000040000000000400000000000000000000000000000000000000000000000000000000000000000400000000000000000001000010000000000000000000000000000000000000000000000000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000100000000000001000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xc4aaa6ca4d55dca8225a176d1e0f728e0e8ff4dfd6505923bbe8a92b8745ded9\",\n      \"transactionIndex\": \"0xb7\",\n      \"blockHash\": \"0x52c3dbe8148c75322ba20927624212b7147a80f86f05e3298fa5d504a26f510b\",\n      \"blockNumber\": \"0x174bc5b\",\n      \"gasUsed\": \"0x197df\",\n      \"effectiveGasPrice\": \"0xaa55700\",\n      \"from\": \"0x1841cb3c2ce6870d0417844c817849da64e6e937\",\n      \"to\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1770741422696,\n  \"chain\": 1,\n  \"commit\": \"398945c\"\n}"
  },
  {
    "path": "mainnet/2026-01-09-op-stack-upgrade-18/records/ExecuteOPCM.s.sol/1/run-1770741733158.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xfad454b046dd6b7734c6da8e3f1db10a29c03223c20a1fe784f6d038fbc1f6e3\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd5ca76567e75eb7fb262aad0543181b97a72ad165dc7c8144704602aa13a7c91800000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x51ac4448847a74ebeb9a8b572f6a08ea9a25589015e7e547082d19c858d790bb780cb4a6ef52df4e6019fe0658713e30667e7fd5b5144e2de51cf93ceaf142b21c2cef3a037f5ca3b3f80ae4c371000bce87ba0e5dc4997c03e8986866884aaee06c5b2b77dd1c6d56f0e1fc622dddb64f9ac5602afe4ba7af657a38ca7244bbfc1b8fe636b902c0d4c5b6f6d8af312e1cc0909471eb4bcf798feeaa2cddf42fa045054a4f4f758a37e2ff691dc4dfe04c939f78e81f2042f00f0a000b3bb7cf4d2d1c339b7b0838e74661344c607cee0e3a4ac58af48ae665ea6463a0d30eed0561385a174a303c45f9beb0770898020c73cf8fa921a8eec9bd77d097eb876c0fac101ccf0c6e89e496b6474b9689087932160e257c2b4f3c7f4a5585bddccd1ecdb21a32b3da6dabeb23385d0a41f58211e49e1462d3cfdbbf326432a12155187191371bd9a8a107c082dffbd914c2688cf114f620058c322464509f2fa87152be73a58a48023aee53f62b6bca6861bfa07027800a6e2df3c13242586e9532d422d2d2a11c754fa5ce1205d8dacc29075680b8e950f81340080c0d69f196a9f679cee3e8b51809d83e93839c3c921871fa773509a399df64cc04827d4533f37236aa2c09351c7b4c790a60a09aeaaabdbe201314bfd9969ed42c2c33cc26542127950c8ccf224d523248bb568f08fcd70e17fb26d694b5f4084e38dcee6a5649e48b3b1add781be58eb13320101482d246fcdaf25d6ef238180db31521a061b24ba93b31a100721903ba7d9de830550b27c9b3e519f4c8e3222fe04bc600194de320d0c374dc5a1c2e72e988ace0095ba6b95cfac096272bca9f068d5e079d77cbcf374d2c0d9f5e51c0798f88df9ec91ea096a91a8018b826cd91ef9c340dd772e5fb0ecb3934c91b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x1841cb3c2ce6870d0417844c817849da64e6e937\",\n        \"to\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n        \"gas\": \"0x2dcdd\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd5ca76567e75eb7fb262aad0543181b97a72ad165dc7c8144704602aa13a7c9180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028a51ac4448847a74ebeb9a8b572f6a08ea9a25589015e7e547082d19c858d790bb780cb4a6ef52df4e6019fe0658713e30667e7fd5b5144e2de51cf93ceaf142b21c2cef3a037f5ca3b3f80ae4c371000bce87ba0e5dc4997c03e8986866884aaee06c5b2b77dd1c6d56f0e1fc622dddb64f9ac5602afe4ba7af657a38ca7244bbfc1b8fe636b902c0d4c5b6f6d8af312e1cc0909471eb4bcf798feeaa2cddf42fa045054a4f4f758a37e2ff691dc4dfe04c939f78e81f2042f00f0a000b3bb7cf4d2d1c339b7b0838e74661344c607cee0e3a4ac58af48ae665ea6463a0d30eed0561385a174a303c45f9beb0770898020c73cf8fa921a8eec9bd77d097eb876c0fac101ccf0c6e89e496b6474b9689087932160e257c2b4f3c7f4a5585bddccd1ecdb21a32b3da6dabeb23385d0a41f58211e49e1462d3cfdbbf326432a12155187191371bd9a8a107c082dffbd914c2688cf114f620058c322464509f2fa87152be73a58a48023aee53f62b6bca6861bfa07027800a6e2df3c13242586e9532d422d2d2a11c754fa5ce1205d8dacc29075680b8e950f81340080c0d69f196a9f679cee3e8b51809d83e93839c3c921871fa773509a399df64cc04827d4533f37236aa2c09351c7b4c790a60a09aeaaabdbe201314bfd9969ed42c2c33cc26542127950c8ccf224d523248bb568f08fcd70e17fb26d694b5f4084e38dcee6a5649e48b3b1add781be58eb13320101482d246fcdaf25d6ef238180db31521a061b24ba93b31a100721903ba7d9de830550b27c9b3e519f4c8e3222fe04bc600194de320d0c374dc5a1c2e72e988ace0095ba6b95cfac096272bca9f068d5e079d77cbcf374d2c0d9f5e51c0798f88df9ec91ea096a91a8018b826cd91ef9c340dd772e5fb0ecb3934c91b00000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x6\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x2621fcd\",\n      \"logs\": [\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x5ca76567e75eb7fb262aad0543181b97a72ad165dc7c8144704602aa13a7c918\",\n            \"0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xa003620f2ee02605d38567d203f5cfb9b6dff66f54d1d2e3c93eff2e8e60a898\",\n          \"blockNumber\": \"0x174bc75\",\n          \"blockTimestamp\": \"0x698b5fe3\",\n          \"transactionHash\": \"0xfad454b046dd6b7734c6da8e3f1db10a29c03223c20a1fe784f6d038fbc1f6e3\",\n          \"transactionIndex\": \"0x11b\",\n          \"logIndex\": \"0x3c5\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0xcce46479f0f60a45c4a5dc154aa89fd7d2cf12710ddf63780ef76c18f15fb547\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xa003620f2ee02605d38567d203f5cfb9b6dff66f54d1d2e3c93eff2e8e60a898\",\n          \"blockNumber\": \"0x174bc75\",\n          \"blockTimestamp\": \"0x698b5fe3\",\n          \"transactionHash\": \"0xfad454b046dd6b7734c6da8e3f1db10a29c03223c20a1fe784f6d038fbc1f6e3\",\n          \"transactionIndex\": \"0x11b\",\n          \"logIndex\": \"0x3c6\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000001000000010000000004000000008000000000008040000000000000000000000800000000000000000000000800000100000000000000000000000000000000000000000000000000000000008000000000000400000000000000000400000000000000000000000000000000000000000000010400000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000010004000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xfad454b046dd6b7734c6da8e3f1db10a29c03223c20a1fe784f6d038fbc1f6e3\",\n      \"transactionIndex\": \"0x11b\",\n      \"blockHash\": \"0xa003620f2ee02605d38567d203f5cfb9b6dff66f54d1d2e3c93eff2e8e60a898\",\n      \"blockNumber\": \"0x174bc75\",\n      \"gasUsed\": \"0x21295\",\n      \"effectiveGasPrice\": \"0x946abb0\",\n      \"from\": \"0x1841cb3c2ce6870d0417844c817849da64e6e937\",\n      \"to\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1770741733158,\n  \"chain\": 1,\n  \"commit\": \"398945c\"\n}"
  },
  {
    "path": "mainnet/2026-01-09-op-stack-upgrade-18/records/ExecuteOPCM.s.sol/1/run-1770742081453.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x4f4a7e602287115f35b5a2820a511f27d5492145d03ce337a58e89b3b122edb0\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd4859a30eee4ccd65083d3aebe31673d91262f3ec78305d2dbe1c00a8c4d76e0b00000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x1841cb3c2ce6870d0417844c817849da64e6e937\",\n        \"to\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n        \"gas\": \"0x20bcf\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd4859a30eee4ccd65083d3aebe31673d91262f3ec78305d2dbe1c00a8c4d76e0b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x7\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1cbde3a\",\n      \"logs\": [\n        {\n          \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x4859a30eee4ccd65083d3aebe31673d91262f3ec78305d2dbe1c00a8c4d76e0b\",\n            \"0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf9461eedf087548b240f4a8aa39e189f397db454d890b44ea66db1741d123422\",\n          \"blockNumber\": \"0x174bc92\",\n          \"blockTimestamp\": \"0x698b613f\",\n          \"transactionHash\": \"0x4f4a7e602287115f35b5a2820a511f27d5492145d03ce337a58e89b3b122edb0\",\n          \"transactionIndex\": \"0x155\",\n          \"logIndex\": \"0x381\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x5ca76567e75eb7fb262aad0543181b97a72ad165dc7c8144704602aa13a7c9180000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xf9461eedf087548b240f4a8aa39e189f397db454d890b44ea66db1741d123422\",\n          \"blockNumber\": \"0x174bc92\",\n          \"blockTimestamp\": \"0x698b613f\",\n          \"transactionHash\": \"0x4f4a7e602287115f35b5a2820a511f27d5492145d03ce337a58e89b3b122edb0\",\n          \"transactionIndex\": \"0x155\",\n          \"logIndex\": \"0x382\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000010000000000000000008000000000000040000000000000000000000000101000004000000000000000000100000000000000000001000000000000000000000000000000000000008000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000204000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000200000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x4f4a7e602287115f35b5a2820a511f27d5492145d03ce337a58e89b3b122edb0\",\n      \"transactionIndex\": \"0x155\",\n      \"blockHash\": \"0xf9461eedf087548b240f4a8aa39e189f397db454d890b44ea66db1741d123422\",\n      \"blockNumber\": \"0x174bc92\",\n      \"gasUsed\": \"0x16629\",\n      \"effectiveGasPrice\": \"0x8ea6b82\",\n      \"from\": \"0x1841cb3c2ce6870d0417844c817849da64e6e937\",\n      \"to\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1770742081453,\n  \"chain\": 1,\n  \"commit\": \"398945c\"\n}"
  },
  {
    "path": "mainnet/2026-01-09-op-stack-upgrade-18/records/ExecuteOPCM.s.sol/1/run-1770742201070.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303\",\n        \"0\",\n        \"0x858cc83200000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000050f47b43c24f40b92c873fa0704d4207586d0c9f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4cbeda5a70000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e0323914d3050e80c3d09da528be54794fde60cd26849cd3410dde0da7cd7d4fa00000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x1841cb3c2ce6870d0417844c817849da64e6e937\",\n        \"to\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n        \"gas\": \"0x118324\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c580130300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000001a4858cc83200000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000050f47b43c24f40b92c873fa0704d4207586d0c9f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4cbeda5a70000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e0323914d3050e80c3d09da528be54794fde60cd26849cd3410dde0da7cd7d4fa000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x8\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1310ad6\",\n      \"logs\": [\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x000000000000000000000000d392c27b84b1ca776528f2704bc67b82a62132d2\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xe0f25fba4f194c3ff2acc53a774167070fa861ae6c58459ce0445150d18020ae\",\n          \"blockNumber\": \"0x174bc9c\",\n          \"blockTimestamp\": \"0x698b61b7\",\n          \"transactionHash\": \"0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b\",\n          \"transactionIndex\": \"0x77\",\n          \"logIndex\": \"0x214\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x49048044d57e1c92a77f79988d21fa8faf74e97e\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x00000000000000000000000097cebbf8959e2a5476fbe9b98a21806ec234609b\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xe0f25fba4f194c3ff2acc53a774167070fa861ae6c58459ce0445150d18020ae\",\n          \"blockNumber\": \"0x174bc9c\",\n          \"blockTimestamp\": \"0x698b61b7\",\n          \"transactionHash\": \"0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b\",\n          \"transactionIndex\": \"0x77\",\n          \"logIndex\": \"0x215\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x909f6cf47ed12f010a796527f562bfc26c7f4e72\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x00000000000000000000000036398155cd17cfe804f69b233edda800dd4d5aa5\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xe0f25fba4f194c3ff2acc53a774167070fa861ae6c58459ce0445150d18020ae\",\n          \"blockNumber\": \"0x174bc9c\",\n          \"blockTimestamp\": \"0x698b61b7\",\n          \"transactionHash\": \"0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b\",\n          \"transactionIndex\": \"0x77\",\n          \"logIndex\": \"0x216\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x05cc379ebd9b30bba19c6fa282ab29218ec61d84\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x0000000000000000000000008ee6fb13c6c9a7e401531168e196fbf8b05ceabb\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xe0f25fba4f194c3ff2acc53a774167070fa861ae6c58459ce0445150d18020ae\",\n          \"blockNumber\": \"0x174bc9c\",\n          \"blockTimestamp\": \"0x698b61b7\",\n          \"transactionHash\": \"0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b\",\n          \"transactionIndex\": \"0x77\",\n          \"logIndex\": \"0x217\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x000000000000000000000000c040f392e52cb6970ca8e110c280fe24e07c5e2c\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xe0f25fba4f194c3ff2acc53a774167070fa861ae6c58459ce0445150d18020ae\",\n          \"blockNumber\": \"0x174bc9c\",\n          \"blockTimestamp\": \"0x698b61b7\",\n          \"transactionHash\": \"0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b\",\n          \"transactionIndex\": \"0x77\",\n          \"logIndex\": \"0x218\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x8efb6b5c4767b09dc9aa6af4eaa89f749522bae2\",\n          \"topics\": [\n            \"0x9416a153a346f93d95f94b064ae3f148b6460473c6e82b3f9fc2521b873fcd6c\",\n            \"0x3b4a6791a6879d27c0ceeea3f78f8ebe66a01905f4a1290a8c6aff3e85f4665a\"\n          ],\n          \"data\": \"0x000000000000000000000000b686f13aff1e427a1f993f29ab0f2e7383729fe0000000000000000000000000b686f13aff1e427a1f993f29ab0f2e7383729fe0\",\n          \"blockHash\": \"0xe0f25fba4f194c3ff2acc53a774167070fa861ae6c58459ce0445150d18020ae\",\n          \"blockNumber\": \"0x174bc9c\",\n          \"blockTimestamp\": \"0x698b61b7\",\n          \"transactionHash\": \"0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b\",\n          \"transactionIndex\": \"0x77\",\n          \"logIndex\": \"0x219\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x608d94945a64503e642e6370ec598e519a2c1e53\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x00000000000000000000000074f1ac50eb0be98853805d381c884f5f9abdecf9\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xe0f25fba4f194c3ff2acc53a774167070fa861ae6c58459ce0445150d18020ae\",\n          \"blockNumber\": \"0x174bc9c\",\n          \"blockTimestamp\": \"0x698b61b7\",\n          \"transactionHash\": \"0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b\",\n          \"transactionIndex\": \"0x77\",\n          \"logIndex\": \"0x21a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e\",\n          \"topics\": [\n            \"0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de\",\n            \"0x00000000000000000000000058bf355c5d4edfc723ef89d99582eccfd143266a\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000001\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xe0f25fba4f194c3ff2acc53a774167070fa861ae6c58459ce0445150d18020ae\",\n          \"blockNumber\": \"0x174bc9c\",\n          \"blockTimestamp\": \"0x698b61b7\",\n          \"transactionHash\": \"0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b\",\n          \"transactionIndex\": \"0x77\",\n          \"logIndex\": \"0x21b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e\",\n          \"topics\": [\n            \"0xa47fcdf075d680d3817bfca7973b373e1a5f6cfc3b444748299cc2b83d8348f9\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000001\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a4033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e6463dee3828677f6270d83d45408044fc5edb908909f6cf47ed12f010a796527f562bfc26c7f4e7264ae5250958cdeb83f6b61f913b5ac6ebe8efd4d0000000000000000000000000000000000000000000000000000000000002105642229f238fb9de03374be34b0ed8d9de80752c58ca1e12404d16373aef756179b185f27b2994f3a00000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xe0f25fba4f194c3ff2acc53a774167070fa861ae6c58459ce0445150d18020ae\",\n          \"blockNumber\": \"0x174bc9c\",\n          \"blockTimestamp\": \"0x698b61b7\",\n          \"transactionHash\": \"0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b\",\n          \"transactionIndex\": \"0x77\",\n          \"logIndex\": \"0x21c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e\",\n          \"topics\": [\n            \"0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de\",\n            \"0x0000000000000000000000006ddba09bc4ccb0d6ca9fc5350580f74165707499\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xe0f25fba4f194c3ff2acc53a774167070fa861ae6c58459ce0445150d18020ae\",\n          \"blockNumber\": \"0x174bc9c\",\n          \"blockTimestamp\": \"0x698b61b7\",\n          \"transactionHash\": \"0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b\",\n          \"transactionIndex\": \"0x77\",\n          \"logIndex\": \"0x21d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e\",\n          \"topics\": [\n            \"0xa47fcdf075d680d3817bfca7973b373e1a5f6cfc3b444748299cc2b83d8348f9\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000007c033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e6463dee3828677f6270d83d45408044fc5edb908909f6cf47ed12f010a796527f562bfc26c7f4e722453c1216e49704d84ea98a4dacd95738f2fc8ec000000000000000000000000000000000000000000000000000000000000210500000000\",\n          \"blockHash\": \"0xe0f25fba4f194c3ff2acc53a774167070fa861ae6c58459ce0445150d18020ae\",\n          \"blockNumber\": \"0x174bc9c\",\n          \"blockTimestamp\": \"0x698b61b7\",\n          \"transactionHash\": \"0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b\",\n          \"transactionIndex\": \"0x77\",\n          \"logIndex\": \"0x21e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e\",\n          \"topics\": [\n            \"0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de\",\n            \"0x0000000000000000000000006ddba09bc4ccb0d6ca9fc5350580f74165707499\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000008\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xe0f25fba4f194c3ff2acc53a774167070fa861ae6c58459ce0445150d18020ae\",\n          \"blockNumber\": \"0x174bc9c\",\n          \"blockTimestamp\": \"0x698b61b7\",\n          \"transactionHash\": \"0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b\",\n          \"transactionIndex\": \"0x77\",\n          \"logIndex\": \"0x21f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e\",\n          \"topics\": [\n            \"0xa47fcdf075d680d3817bfca7973b373e1a5f6cfc3b444748299cc2b83d8348f9\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000008\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000007c0323914d3050e80c3d09da528be54794fde60cd26849cd3410dde0da7cd7d4fa6463dee3828677f6270d83d45408044fc5edb908909f6cf47ed12f010a796527f562bfc26c7f4e722453c1216e49704d84ea98a4dacd95738f2fc8ec000000000000000000000000000000000000000000000000000000000000210500000000\",\n          \"blockHash\": \"0xe0f25fba4f194c3ff2acc53a774167070fa861ae6c58459ce0445150d18020ae\",\n          \"blockNumber\": \"0x174bc9c\",\n          \"blockTimestamp\": \"0x698b61b7\",\n          \"transactionHash\": \"0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b\",\n          \"transactionIndex\": \"0x77\",\n          \"logIndex\": \"0x220\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e\",\n          \"topics\": [\n            \"0x74d6665c4b26d5596a5aa13d3014e0c06af4d322075a797f87b03cd4c5bc91ca\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000008\",\n            \"0x000000000000000000000000000000000000000000000000011c37937e080000\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xe0f25fba4f194c3ff2acc53a774167070fa861ae6c58459ce0445150d18020ae\",\n          \"blockNumber\": \"0x174bc9c\",\n          \"blockTimestamp\": \"0x698b61b7\",\n          \"transactionHash\": \"0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b\",\n          \"transactionIndex\": \"0x77\",\n          \"logIndex\": \"0x221\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n          \"topics\": [\n            \"0x78bc67b9bf548ef6410becd31a3e10b9ea6c255974ef6b4530728b431df30030\",\n            \"0x0000000000000000000000000000000000000000000000000000000000002105\",\n            \"0x00000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072\",\n            \"0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xe0f25fba4f194c3ff2acc53a774167070fa861ae6c58459ce0445150d18020ae\",\n          \"blockNumber\": \"0x174bc9c\",\n          \"blockTimestamp\": \"0x698b61b7\",\n          \"transactionHash\": \"0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b\",\n          \"transactionIndex\": \"0x77\",\n          \"logIndex\": \"0x222\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x4859a30eee4ccd65083d3aebe31673d91262f3ec78305d2dbe1c00a8c4d76e0b0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xe0f25fba4f194c3ff2acc53a774167070fa861ae6c58459ce0445150d18020ae\",\n          \"blockNumber\": \"0x174bc9c\",\n          \"blockTimestamp\": \"0x698b61b7\",\n          \"transactionHash\": \"0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b\",\n          \"transactionIndex\": \"0x77\",\n          \"logIndex\": \"0x223\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x000000004004000004000000080800004008000000000000000000a0040000000000089000000000000000040204000000000000000088000001000000040190201080000400000080040000000002025041000000040040000000001300000008010000020000000000000020000800000030400000040000000000000000200080000000000000000000000000000000010000000000000000000220000000000020008020008204000000000004000040000000000000040000084000000040040220000000000000000000000080000000104040200201008000200060000080202000001040000000000000200002000000020000000000000000040900\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b\",\n      \"transactionIndex\": \"0x77\",\n      \"blockHash\": \"0xe0f25fba4f194c3ff2acc53a774167070fa861ae6c58459ce0445150d18020ae\",\n      \"blockNumber\": \"0x174bc9c\",\n      \"gasUsed\": \"0xcadb7\",\n      \"effectiveGasPrice\": \"0x824e58f\",\n      \"from\": \"0x1841cb3c2ce6870d0417844c817849da64e6e937\",\n      \"to\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1770742201070,\n  \"chain\": 1,\n  \"commit\": \"398945c\"\n}"
  },
  {
    "path": "mainnet/2026-01-09-op-stack-upgrade-18/script/ExecuteOPCM.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\n\nimport {Claim} from \"@eth-optimism-bedrock/src/dispute/lib/Types.sol\";\nimport {Constants} from \"@eth-optimism-bedrock/src/libraries/Constants.sol\";\nimport {\n    IOPContractsManager,\n    IOPContractsManagerStandardValidator,\n    ISystemConfig,\n    ISuperchainConfig\n} from \"@eth-optimism-bedrock/interfaces/L1/IOPContractsManager.sol\";\n\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\n\n/// @notice This script deploys new versions of OP contracts using the OP Contract Manager.\ncontract ExecuteOPCMScript is MultisigScript {\n    ISystemConfig internal immutable SYSTEM_CONFIG;\n    IOPContractsManager internal immutable OP_CONTRACT_MANAGER;\n    address public immutable OWNER_SAFE;\n    Claim immutable CANNON_ABSOLUTE_PRESTATE;\n    Claim immutable CANNON_KONA_ABSOLUTE_PRESTATE;\n\n    address internal immutable PROPOSER;\n    address internal immutable CHALLENGER;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n        SYSTEM_CONFIG = ISystemConfig(vm.envAddress(\"SYSTEM_CONFIG\"));\n        OP_CONTRACT_MANAGER = IOPContractsManager(vm.envAddress(\"OP_CONTRACT_MANAGER\"));\n        CANNON_ABSOLUTE_PRESTATE = Claim.wrap(vm.envBytes32(\"CANNON_ABSOLUTE_PRESTATE\"));\n        CANNON_KONA_ABSOLUTE_PRESTATE = Claim.wrap(vm.envBytes32(\"CANNON_KONA_ABSOLUTE_PRESTATE\"));\n        PROPOSER = vm.envAddress(\"PROPOSER\");\n        CHALLENGER = vm.envAddress(\"CHALLENGER\");\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        IOPContractsManagerStandardValidator.ValidationInputDev memory input =\n            IOPContractsManagerStandardValidator.ValidationInputDev({\n                sysCfg: SYSTEM_CONFIG,\n                cannonPrestate: Claim.unwrap(CANNON_ABSOLUTE_PRESTATE),\n                cannonKonaPrestate: Claim.unwrap(CANNON_KONA_ABSOLUTE_PRESTATE),\n                l2ChainID: SYSTEM_CONFIG.l2ChainId(),\n                proposer: PROPOSER\n            });\n\n        IOPContractsManagerStandardValidator.ValidationOverrides memory overrides =\n            IOPContractsManagerStandardValidator.ValidationOverrides(OWNER_SAFE, CHALLENGER);\n\n        OP_CONTRACT_MANAGER.validateWithOverrides(input, false, overrides);\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) {\n        IOPContractsManager.OpChainConfig memory baseConfig = IOPContractsManager.OpChainConfig({\n            systemConfigProxy: SYSTEM_CONFIG,\n            cannonPrestate: CANNON_ABSOLUTE_PRESTATE,\n            cannonKonaPrestate: CANNON_KONA_ABSOLUTE_PRESTATE\n        });\n\n        IOPContractsManager.OpChainConfig[] memory opChainConfigs = new IOPContractsManager.OpChainConfig[](1);\n        opChainConfigs[0] = baseConfig;\n\n        IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n\n        calls[0] = IMulticall3.Call3Value({\n            target: address(OP_CONTRACT_MANAGER),\n            allowFailure: false,\n            callData: abi.encodeCall(IOPContractsManager.upgrade, (opChainConfigs)),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _simulationOverrides()\n        internal\n        view\n        virtual\n        override\n        returns (Simulation.StateOverride[] memory overrides_)\n    {\n        // Get the superchain config address from the SystemConfig\n        ISuperchainConfig superchainConfig = ISuperchainConfig(SYSTEM_CONFIG.superchainConfig());\n        IOPContractsManager.Implementations memory impls = OP_CONTRACT_MANAGER.implementations();\n\n        // Mock the implementation slot of the superchain config if the version has not been upgraded yet.\n        bytes32 h1 = keccak256(abi.encode(ISuperchainConfig(impls.superchainConfigImpl).version()));\n        bytes32 h2 = keccak256(abi.encode(superchainConfig.version()));\n        if (h1 != h2) {\n            Simulation.StorageOverride[] memory storageOverrides = new Simulation.StorageOverride[](1);\n            storageOverrides[0] = Simulation.StorageOverride(\n                Constants.PROXY_IMPLEMENTATION_ADDRESS, bytes32(uint256(uint160(address(impls.superchainConfigImpl))))\n            );\n\n            overrides_ = new Simulation.StateOverride[](1);\n            overrides_[0] = Simulation.StateOverride(address(superchainConfig), storageOverrides);\n        }\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n\n    function _useDelegateCall() internal pure override returns (bool) {\n        return true;\n    }\n}\n"
  },
  {
    "path": "mainnet/2026-01-09-op-stack-upgrade-18/validations/coinbase-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://eth-mainnet.public.blastapi.io ExecuteOPCMScript --sig sign(address[]) [0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110,0x9855054731540A48b28990B63DcF4f33d8AE46A1] --sender 0x6CD3850756b7894774Ab715D136F9dD02837De50\",\n  \"ledgerId\": 0,\n  \"rpcUrl\": \"https://eth-mainnet.public.blastapi.io\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\n    \"domainHash\": \"0xfb308368b8deca582e84a807d31c1bfcec6fda754061e2801b4d6be5cb52a8ac\",\n    \"messageHash\": \"0xebb8072280c4b3f0f306b5e23f3a19da66738ea028f5288ec86f847e63ca5f1a\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Mainnet\",\n      \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Mainnet\",\n      \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Mainnet\",\n      \"address\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xa28b4d2f7efd0249e97869390a32b759e4209ce5e2abd07523101d4126aef287\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Dispute Game Factory Proxy - Mainnet\",\n      \"address\": \"0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e\",\n      \"changes\": [\n        {\n          \"key\": \"0x057a7f241532c73b242fd6e74e7fbd8cbc283dbc44ad194f17d900d9ac2e9251\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000006ddba09bc4ccb0d6ca9fc5350580f74165707499\",\n          \"description\": \"Set DisputeGameFactory.gameImpls[GameTypes.CANNON_KONA] to the new FaultDisputeGameV2 implementation.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6c\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0323914d3050e80c3d09da528be54794fde60cd26849cd3410dde0da7cd7d4fa\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, absolutePrestate) [word 1/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6d\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x6463dee3828677f6270d83d45408044fc5edb908909f6cf47ed12f010a796527\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, vm/asr/weth packed) [word 2/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6e\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0xf562bfc26c7f4e722453c1216e49704d84ea98a4dacd95738f2fc8ec00000000\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, vm/asr/weth packed) [word 3/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6f\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000210500000000\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, l2ChainId=8453) [word 4/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea5\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, absolutePrestate) [word 1/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea6\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x6463dee3828677f6270d83d45408044fc5edb908909f6cf47ed12f010a796527\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, vm/asr/weth packed) [word 2/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea7\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0xf562bfc26c7f4e722453c1216e49704d84ea98a4dacd95738f2fc8ec00000000\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, vm/asr/weth packed) [word 3/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea8\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000210500000000\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, l2ChainId=8453) [word 4/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x00000000000000000000000074fac1d45b98bae058f8f566201c9a81b85c7d50\",\n          \"after\": \"0x000000000000000000000000c040f392e52cb6970ca8e110c280fe24e07c5e2c\",\n          \"description\": \"Update DisputeGameFactory proxy implementation (EIP-1967 implementation slot).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x4702e508fba4ecc1593cbc19e848c196ab454e49b730050083694dc1976387d5\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000011c37937e080000\",\n          \"description\": \"Set DisputeGameFactory.initBonds[GameTypes.CANNON_KONA] (copied from GameTypes.CANNON).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e\",\n          \"before\": \"0x0000000000000000000000006f8c1ea88cb410571739d36eb00811b250574cb2\",\n          \"after\": \"0x00000000000000000000000058bf355c5d4edfc723ef89d99582eccfd143266a\",\n          \"description\": \"Update DisputeGameFactory.gameImpls[GameTypes.PERMISSIONED_CANNON] to the new PermissionedDisputeGameV2 implementation.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x5843af22e99e7c98370145a5056245c244ce8ee852f4ef5e6d6a8e410a18cf41\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x00000000000000000000000000000000000000000000000000000000000000f9\",\n          \"description\": \"Set DisputeGameFactory.gameArgs[GameTypes.CANNON] length to 124 bytes (permissionless args).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9960260aaa22d230a3b999f6243d727fef99faebfaa949c961ad27031f2529b8\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x00000000000000000000000000000000000000000000000000000000000000f9\",\n          \"description\": \"Set DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] length to 124 bytes (permissionless args).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7c\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, absolutePrestate) [word 1/6].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7d\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x6463dee3828677f6270d83d45408044fc5edb908909f6cf47ed12f010a796527\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, vm/asr/weth packed) [word 2/6].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7e\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0xf562bfc26c7f4e7264ae5250958cdeb83f6b61f913b5ac6ebe8efd4d00000000\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, vm/asr/weth packed) [word 3/6].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7f\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x00000000000000000000000000000000000000000000000000002105642229f2\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, l2ChainId=8453 + packed data) [word 4/6].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa80\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x38fb9de03374be34b0ed8d9de80752c58ca1e12404d16373aef756179b185f27\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, proposer packed) [word 5/6].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa81\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0xb2994f3a00000000000000000000000000000000000000000000000000000000\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, challenger packed) [word 6/6].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xc073f36c05b6a60b24c30a48974b549770d8fa354751fb3170c9dfd8ca536add\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000149\",\n          \"description\": \"Set DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] length to 164 bytes (permissioned args).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b\",\n          \"before\": \"0x000000000000000000000000979cb7e329ba213fb9d6c5f7771ec6a3109bdc93\",\n          \"after\": \"0x0000000000000000000000006ddba09bc4ccb0d6ca9fc5350580f74165707499\",\n          \"description\": \"Update DisputeGameFactory.gameImpls[GameTypes.CANNON] to the new FaultDisputeGameV2 implementation.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"OptimismPortal - Mainnet\",\n      \"address\": \"0x49048044d57e1c92a77f79988d21fa8faf74e97e\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x0000000000000000000000007cf803296662e8c72a6c1d6450572209acf7f202\",\n          \"after\": \"0x00000000000000000000000097cebbf8959e2a5476fbe9b98a21806ec234609b\",\n          \"description\": \"Update address of OptimismPortal to new implementation.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Mainnet\",\n      \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x0000000000000000000000002fa28989fc559836e9d66dff3010c7f7f41c65ed\",\n          \"after\": \"0x000000000000000000000000d392c27b84b1ca776528f2704bc67b82a62132d2\",\n          \"description\": \"Update address of SystemConfig to new implementation.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Proxy Admin Owner - Mainnet\",\n      \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000000c\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000000d\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xe42d105bdf05b82daaf3dad8f3923990d6ffcbf25ef0c2e6f3978357813c2553\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Stores approval on behalf of CB coordinator safe\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"AnchorStateRegistry - Mainnet\",\n      \"address\": \"0x909f6cf47ed12f010a796527f562bfc26c7f4e72\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e\",\n          \"after\": \"0x00000000000000000000000036398155cd17cfe804f69b233edda800dd4d5aa5\",\n          \"description\": \"Update address of AnchorStateRegistry to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Mainnet\",\n      \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000019\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000001a\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xa71d5374e7819703442a4ed3096da659d542e70569d6239bef8697119a21e9f7\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Stores approval on behalf of CB multisig\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Mainnet\",\n      \"address\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000006\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "mainnet/2026-01-09-op-stack-upgrade-18/validations/optimism-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://eth-mainnet.public.blastapi.io ExecuteOPCMScript --sig sign(address[]) [0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A] --sender 0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\",\n  \"ledgerId\": 0,\n  \"rpcUrl\": \"https://eth-mainnet.public.blastapi.io\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\n    \"domainHash\": \"0x2e5ad244d335c45fbace4ebd1736b0fad81b01591a2819baedad311ead5bce76\",\n    \"messageHash\": \"0x3508520ea5a487e98fbd50c3070774d163a62c02bdb39f2649188b1f915776c4\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Mainnet\",\n      \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"OP Signer Safe - Mainnet\",\n      \"address\": \"0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xd93dc6d09a277b8f48e23455857e83289fddec897e14aafa3053bbe138e380e7\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Dispute Game Factory Proxy - Mainnet\",\n      \"address\": \"0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e\",\n      \"changes\": [\n        {\n          \"key\": \"0x057a7f241532c73b242fd6e74e7fbd8cbc283dbc44ad194f17d900d9ac2e9251\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000006ddba09bc4ccb0d6ca9fc5350580f74165707499\",\n          \"description\": \"Set DisputeGameFactory.gameImpls[GameTypes.CANNON_KONA] to the new FaultDisputeGameV2 implementation.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6c\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0323914d3050e80c3d09da528be54794fde60cd26849cd3410dde0da7cd7d4fa\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, absolutePrestate) [word 1/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6d\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x6463dee3828677f6270d83d45408044fc5edb908909f6cf47ed12f010a796527\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, vm/asr/weth packed) [word 2/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6e\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0xf562bfc26c7f4e722453c1216e49704d84ea98a4dacd95738f2fc8ec00000000\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, vm/asr/weth packed) [word 3/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6f\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000210500000000\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, l2ChainId=8453) [word 4/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea5\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, absolutePrestate) [word 1/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea6\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x6463dee3828677f6270d83d45408044fc5edb908909f6cf47ed12f010a796527\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, vm/asr/weth packed) [word 2/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea7\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0xf562bfc26c7f4e722453c1216e49704d84ea98a4dacd95738f2fc8ec00000000\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, vm/asr/weth packed) [word 3/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea8\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000210500000000\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, l2ChainId=8453) [word 4/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x00000000000000000000000074fac1d45b98bae058f8f566201c9a81b85c7d50\",\n          \"after\": \"0x000000000000000000000000c040f392e52cb6970ca8e110c280fe24e07c5e2c\",\n          \"description\": \"Update DisputeGameFactory proxy implementation (EIP-1967 implementation slot).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x4702e508fba4ecc1593cbc19e848c196ab454e49b730050083694dc1976387d5\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000011c37937e080000\",\n          \"description\": \"Set DisputeGameFactory.initBonds[GameTypes.CANNON_KONA] (copied from GameTypes.CANNON).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e\",\n          \"before\": \"0x0000000000000000000000006f8c1ea88cb410571739d36eb00811b250574cb2\",\n          \"after\": \"0x00000000000000000000000058bf355c5d4edfc723ef89d99582eccfd143266a\",\n          \"description\": \"Update DisputeGameFactory.gameImpls[GameTypes.PERMISSIONED_CANNON] to the new PermissionedDisputeGameV2 implementation.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x5843af22e99e7c98370145a5056245c244ce8ee852f4ef5e6d6a8e410a18cf41\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x00000000000000000000000000000000000000000000000000000000000000f9\",\n          \"description\": \"Set DisputeGameFactory.gameArgs[GameTypes.CANNON] length to 124 bytes (permissionless args).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9960260aaa22d230a3b999f6243d727fef99faebfaa949c961ad27031f2529b8\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x00000000000000000000000000000000000000000000000000000000000000f9\",\n          \"description\": \"Set DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] length to 124 bytes (permissionless args).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7c\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, absolutePrestate) [word 1/6].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7d\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x6463dee3828677f6270d83d45408044fc5edb908909f6cf47ed12f010a796527\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, vm/asr/weth packed) [word 2/6].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7e\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0xf562bfc26c7f4e7264ae5250958cdeb83f6b61f913b5ac6ebe8efd4d00000000\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, vm/asr/weth packed) [word 3/6].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7f\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x00000000000000000000000000000000000000000000000000002105642229f2\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, l2ChainId=8453 + packed data) [word 4/6].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa80\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x38fb9de03374be34b0ed8d9de80752c58ca1e12404d16373aef756179b185f27\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, proposer packed) [word 5/6].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa81\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0xb2994f3a00000000000000000000000000000000000000000000000000000000\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, challenger packed) [word 6/6].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xc073f36c05b6a60b24c30a48974b549770d8fa354751fb3170c9dfd8ca536add\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000149\",\n          \"description\": \"Set DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] length to 164 bytes (permissioned args).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b\",\n          \"before\": \"0x000000000000000000000000979cb7e329ba213fb9d6c5f7771ec6a3109bdc93\",\n          \"after\": \"0x0000000000000000000000006ddba09bc4ccb0d6ca9fc5350580f74165707499\",\n          \"description\": \"Update DisputeGameFactory.gameImpls[GameTypes.CANNON] to the new FaultDisputeGameV2 implementation.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"OptimismPortal - Mainnet\",\n      \"address\": \"0x49048044d57e1c92a77f79988d21fa8faf74e97e\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x0000000000000000000000007cf803296662e8c72a6c1d6450572209acf7f202\",\n          \"after\": \"0x00000000000000000000000097cebbf8959e2a5476fbe9b98a21806ec234609b\",\n          \"description\": \"Update address of OptimismPortal to new implementation.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Mainnet\",\n      \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x0000000000000000000000002fa28989fc559836e9d66dff3010c7f7f41c65ed\",\n          \"after\": \"0x000000000000000000000000d392c27b84b1ca776528f2704bc67b82a62132d2\",\n          \"description\": \"Update address of SystemConfig to new implementation.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Proxy Admin Owner - Mainnet\",\n      \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000000c\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000000d\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9f0c14c1e04d7f14bac601f7a65b9b89d4130d99821554b7e6ea41a9e38ece1f\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Stores approval on behalf of OP safe\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"AnchorStateRegistry - Mainnet\",\n      \"address\": \"0x909f6cf47ed12f010a796527f562bfc26c7f4e72\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e\",\n          \"after\": \"0x00000000000000000000000036398155cd17cfe804f69b233edda800dd4d5aa5\",\n          \"description\": \"Update address of AnchorStateRegistry to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"OP Signer Safe - Mainnet\",\n      \"address\": \"0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000072\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000073\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "mainnet/2026-01-09-op-stack-upgrade-18/validations/security-council-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://eth-mainnet.public.blastapi.io ExecuteOPCMScript --sig sign(address[]) [0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd,0x9855054731540A48b28990B63DcF4f33d8AE46A1] --sender 0x5ff5C78ff194acc24C22DAaDdE4D639ebF18ACC6\",\n  \"ledgerId\": 0,\n  \"rpcUrl\": \"https://eth-mainnet.public.blastapi.io\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\n    \"domainHash\": \"0x1fbfdc61ceb715f63cb17c56922b88c3a980f1d83873df2b9325a579753e8aa3\",\n    \"messageHash\": \"0x2e3991446036380b9514e2025217e45e3d002a2f6485c3bab72f32a5b93df4d8\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Security Council Safe - Mainnet\",\n      \"address\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xb811b325d45d18dd5e8593c25b0764afeb685dea98a5238999d9c24e8466f19b\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Proxy Admin Owner - Mainnet\",\n      \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Mainnet\",\n      \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Security Council Safe - Mainnet\",\n      \"address\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Dispute Game Factory Proxy - Mainnet\",\n      \"address\": \"0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e\",\n      \"changes\": [\n        {\n          \"key\": \"0x057a7f241532c73b242fd6e74e7fbd8cbc283dbc44ad194f17d900d9ac2e9251\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000006ddba09bc4ccb0d6ca9fc5350580f74165707499\",\n          \"description\": \"Set DisputeGameFactory.gameImpls[GameTypes.CANNON_KONA] to the new FaultDisputeGameV2 implementation.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6c\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0323914d3050e80c3d09da528be54794fde60cd26849cd3410dde0da7cd7d4fa\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, absolutePrestate) [word 1/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6d\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x6463dee3828677f6270d83d45408044fc5edb908909f6cf47ed12f010a796527\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, vm/asr/weth packed) [word 2/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6e\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0xf562bfc26c7f4e722453c1216e49704d84ea98a4dacd95738f2fc8ec00000000\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, vm/asr/weth packed) [word 3/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6f\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000210500000000\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, l2ChainId=8453) [word 4/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea5\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, absolutePrestate) [word 1/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea6\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x6463dee3828677f6270d83d45408044fc5edb908909f6cf47ed12f010a796527\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, vm/asr/weth packed) [word 2/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea7\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0xf562bfc26c7f4e722453c1216e49704d84ea98a4dacd95738f2fc8ec00000000\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, vm/asr/weth packed) [word 3/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea8\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000210500000000\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, l2ChainId=8453) [word 4/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x00000000000000000000000074fac1d45b98bae058f8f566201c9a81b85c7d50\",\n          \"after\": \"0x000000000000000000000000c040f392e52cb6970ca8e110c280fe24e07c5e2c\",\n          \"description\": \"Update DisputeGameFactory proxy implementation (EIP-1967 implementation slot).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x4702e508fba4ecc1593cbc19e848c196ab454e49b730050083694dc1976387d5\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000011c37937e080000\",\n          \"description\": \"Set DisputeGameFactory.initBonds[GameTypes.CANNON_KONA] (copied from GameTypes.CANNON).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e\",\n          \"before\": \"0x0000000000000000000000006f8c1ea88cb410571739d36eb00811b250574cb2\",\n          \"after\": \"0x00000000000000000000000058bf355c5d4edfc723ef89d99582eccfd143266a\",\n          \"description\": \"Update DisputeGameFactory.gameImpls[GameTypes.PERMISSIONED_CANNON] to the new PermissionedDisputeGameV2 implementation.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x5843af22e99e7c98370145a5056245c244ce8ee852f4ef5e6d6a8e410a18cf41\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x00000000000000000000000000000000000000000000000000000000000000f9\",\n          \"description\": \"Set DisputeGameFactory.gameArgs[GameTypes.CANNON] length to 124 bytes (permissionless args).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9960260aaa22d230a3b999f6243d727fef99faebfaa949c961ad27031f2529b8\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x00000000000000000000000000000000000000000000000000000000000000f9\",\n          \"description\": \"Set DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] length to 124 bytes (permissionless args).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7c\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, absolutePrestate) [word 1/6].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7d\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x6463dee3828677f6270d83d45408044fc5edb908909f6cf47ed12f010a796527\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, vm/asr/weth packed) [word 2/6].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7e\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0xf562bfc26c7f4e7264ae5250958cdeb83f6b61f913b5ac6ebe8efd4d00000000\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, vm/asr/weth packed) [word 3/6].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7f\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x00000000000000000000000000000000000000000000000000002105642229f2\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, l2ChainId=8453 + packed data) [word 4/6].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa80\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x38fb9de03374be34b0ed8d9de80752c58ca1e12404d16373aef756179b185f27\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, proposer packed) [word 5/6].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa81\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0xb2994f3a00000000000000000000000000000000000000000000000000000000\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, challenger packed) [word 6/6].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xc073f36c05b6a60b24c30a48974b549770d8fa354751fb3170c9dfd8ca536add\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000149\",\n          \"description\": \"Set DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] length to 164 bytes (permissioned args).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b\",\n          \"before\": \"0x000000000000000000000000979cb7e329ba213fb9d6c5f7771ec6a3109bdc93\",\n          \"after\": \"0x0000000000000000000000006ddba09bc4ccb0d6ca9fc5350580f74165707499\",\n          \"description\": \"Update DisputeGameFactory.gameImpls[GameTypes.CANNON] to the new FaultDisputeGameV2 implementation.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"OptimismPortal - Mainnet\",\n      \"address\": \"0x49048044d57e1c92a77f79988d21fa8faf74e97e\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x0000000000000000000000007cf803296662e8c72a6c1d6450572209acf7f202\",\n          \"after\": \"0x00000000000000000000000097cebbf8959e2a5476fbe9b98a21806ec234609b\",\n          \"description\": \"Update address of OptimismPortal to new implementation.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Mainnet\",\n      \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x0000000000000000000000002fa28989fc559836e9d66dff3010c7f7f41c65ed\",\n          \"after\": \"0x000000000000000000000000d392c27b84b1ca776528f2704bc67b82a62132d2\",\n          \"description\": \"Update address of SystemConfig to new implementation.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Proxy Admin Owner - Mainnet\",\n      \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000000c\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000000d\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xe42d105bdf05b82daaf3dad8f3923990d6ffcbf25ef0c2e6f3978357813c2553\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Stores approval on behalf of CB coordinator safe\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"AnchorStateRegistry - Mainnet\",\n      \"address\": \"0x909f6cf47ed12f010a796527f562bfc26c7f4e72\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e\",\n          \"after\": \"0x00000000000000000000000036398155cd17cfe804f69b233edda800dd4d5aa5\",\n          \"description\": \"Update address of AnchorStateRegistry to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Mainnet\",\n      \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000019\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000001a\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x1f9c184079e5bd8197b9c7f572f21c9720d1b5b966a6366f3fdfabd06cd07276\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Stores approval on behalf of SC multisig\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "mainnet/2026-01-20-update-basefee-da-footprint/FACILITATOR.md",
    "content": "# Facilitator Guide\n\nGuide for facilitators after collecting signatures from signers.\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd mainnet/2026-01-20-update-basefee-da-footprint\nmake deps\n```\n\n### 2. Execute upgrade\n\n```bash\nSIGNATURES=AAABBBCCC make execute\n```\n\n### 3. (**ONLY** if needed) Execute upgrade rollback\n\n> [!IMPORTANT]\n> \n> THIS SHOULD ONLY BE PERFORMED IN THE EVENT THAT WE NEED TO ROLLBACK\n\n```bash\nSIGNATURES=AAABBBCCC make execute-rollback\n```\n"
  },
  {
    "path": "mainnet/2026-01-20-update-basefee-da-footprint/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\nifndef ROLLBACK_NONCE_OFFSET\noverride ROLLBACK_NONCE_OFFSET = 1\nendif\n\nRPC_URL = $(L1_RPC_URL)\nSCRIPT_NAME = SetMinBaseFeeAndDAFootprintScript\n\n# Calculate the DA footprint gas scalar based on the formula:\n# da_footprint_gas_scalar = gas_limit / (elasticity * target_blob_count * 32,000)\n# Requires GAS_LIMIT, ELASTICITY, and TARGET_BLOB_COUNT to be set.\n.PHONY: da-scalar\nda-scalar:\nifndef TARGET_BLOB_COUNT\n\t$(error TARGET_BLOB_COUNT is not set. Usage: make da-scalar GAS_LIMIT=<value> ELASTICITY=<value> TARGET_BLOB_COUNT=<value>)\nendif\nifndef GAS_LIMIT\n\t$(error GAS_LIMIT is not set. Usage: make da-scalar GAS_LIMIT=<value> ELASTICITY=<value> TARGET_BLOB_COUNT=<value>)\nendif\nifndef ELASTICITY\n\t$(error ELASTICITY is not set. Usage: make da-scalar GAS_LIMIT=<value> ELASTICITY=<value> TARGET_BLOB_COUNT=<value>)\nendif\n\t@echo \"$(GAS_LIMIT) / ($(ELASTICITY) * $(TARGET_BLOB_COUNT) * 32000) =\"\n\t@echo \"NEW_DA_FOOTPRINT_GAS_SCALAR=$$(( $(GAS_LIMIT) / ($(ELASTICITY) * $(TARGET_BLOB_COUNT) * 32000) ))\"\n\n.PHONY: gen-validation\ngen-validation: checkout-signer-tool run-script\n\n.PHONY: run-script\nrun-script:\n\tmkdir -p validations; \\\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \\\n\t--workdir .. --forge-cmd 'NEW_MIN_BASE_FEE=$(NEW_MIN_BASE_FEE) \\\n\tOLD_MIN_BASE_FEE=$(OLD_MIN_BASE_FEE) \\\n\tNEW_DA_FOOTPRINT_GAS_SCALAR=$(NEW_DA_FOOTPRINT_GAS_SCALAR) OLD_DA_FOOTPRINT_GAS_SCALAR=$(OLD_DA_FOOTPRINT_GAS_SCALAR) \\\n\tforge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" [] --sender $(SENDER)' --out ../validations/base-signer.json;\n\n.PHONY: execute\nexecute:\n\tNEW_MIN_BASE_FEE=$(NEW_MIN_BASE_FEE) \\\n\tOLD_MIN_BASE_FEE=$(OLD_MIN_BASE_FEE) \\\n\tNEW_DA_FOOTPRINT_GAS_SCALAR=$(NEW_DA_FOOTPRINT_GAS_SCALAR) \\\n\tOLD_DA_FOOTPRINT_GAS_SCALAR=$(OLD_DA_FOOTPRINT_GAS_SCALAR) \\\n\t$(call MULTISIG_EXECUTE,$(SIGNATURES))\n\n.PHONY: gen-validation-rollback\ngen-validation-rollback: checkout-signer-tool run-script-rollback\n\n.PHONY: run-script-rollback\nrun-script-rollback:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \\\n\t--workdir .. --forge-cmd 'OLD_MIN_BASE_FEE=$(NEW_MIN_BASE_FEE) \\\n\tNEW_MIN_BASE_FEE=$(OLD_MIN_BASE_FEE) \\\n\tOLD_DA_FOOTPRINT_GAS_SCALAR=$(NEW_DA_FOOTPRINT_GAS_SCALAR) NEW_DA_FOOTPRINT_GAS_SCALAR=$(OLD_DA_FOOTPRINT_GAS_SCALAR) \\\n\tSAFE_NONCE=$(shell expr $$(cast call $(OWNER_SAFE) \"nonce()\" --rpc-url $(RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \\\n\tforge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" [] --sender $(SENDER)' --out ../validations/base-signer-rollback.json;\n\n.PHONY: execute-rollback\nexecute-rollback:\n\tOLD_MIN_BASE_FEE=$(NEW_MIN_BASE_FEE) \\\n\tNEW_MIN_BASE_FEE=$(OLD_MIN_BASE_FEE) \\\n\tOLD_DA_FOOTPRINT_GAS_SCALAR=$(NEW_DA_FOOTPRINT_GAS_SCALAR) \\\n\tNEW_DA_FOOTPRINT_GAS_SCALAR=$(OLD_DA_FOOTPRINT_GAS_SCALAR) \\\n\tSAFE_NONCE=$(shell expr $$(cast call $(OWNER_SAFE) \"nonce()\" --rpc-url $(RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \\\n\tforge script --rpc-url $(RPC_URL) $(SCRIPT_NAME) \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2026-01-20-update-basefee-da-footprint/README.md",
    "content": "# Update Min Base Fee & DA Footprint Gas Scalar in L1 `SystemConfig`\n\nStatus: [EXECUTED](https://etherscan.io/tx/0x3be4d20dad2aa0b98938e806619a2948f7f6ac74d63181f74aa169c8ea4afc35)\n\n## Description\n\nWe are updating the min base fee and DA footprint gas scalar on Base mainnet.\n\nThis runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base/contracts](https://github.com/base/contracts) repository:\n\n`SetMinBaseFeeAndDAFootprintScript` -- This script will update the min base fee from 500,000 wei to 1,000,000 wei (2x increase) and the DA footprint gas scalar from 325 to 139 (targeting 14 blobs) if invoked as part of the \"upgrade\" process, or revert to the old values if invoked as part of the \"rollback\" process.\n\n## Parameters\n\n| Parameter | From | To |\n|-----------|------|----|\n| minBaseFee | 500,000 wei | 1,000,000 wei |\n| daFootprintGasScalar | 325 | 139 |\n\n### DA Footprint Gas Scalar Formula\n\nWe typically set the DA footprint gas scalar to cause base fees to rise if and only if the DA usage exceeds the L1 target blob throughput. (Below that level of DA usage, the normal base fee rules apply.) We use the following formula:\n\n```\nda_footprint_gas_scalar = gas_limit / (elasticity * l2_block_time * l1_target_throughput * estimation_ratio)\n```\n\nWhere:\n- `gas_limit` = L2 gas limit per block\n- `elasticity` = EIP-1559 elasticity multiplier\n- `l2_block_time` = 2 seconds\n- `l1_target_throughput = (target_blob_count * 128,000 bytes/blob) / 12 sec/block`\n- `target_blob_count` = target number of blobs per L1 block\n- `estimation_ratio` = 1.5 to account for differences between compression estimates and actual usage\n\nThis simplifies to:\n\n```\nda_footprint_gas_scalar = gas_limit / (elasticity * target_blob_count * 32,000)\n```\n\nWith current gas_limit = 375,000,000, elasticity = 6, and target_blob_count = 14:\n```\nda_footprint_gas_scalar = 375,000,000 / (6 * 14 * 32,000) = 139.51 ≈ 139 (floored)\n```\n\nYou can verify with `make da-scalar GAS_LIMIT=375000000 ELASTICITY=6 TARGET_BLOB_COUNT=14`.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow\n> the flow for both \"Approving the Update transaction\" and\n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed.\n\n## Install dependencies\n\n### 1. Update foundry\n\n```bash\nfoundryup\n```\n\n### 2. Install Node.js if needed\n\nFirst, check if you have node installed\n\n```bash\nnode --version\n```\n\nIf you see a version output from the above command, you can move on. Otherwise, install node\n\n```bash\nbrew install node\n```\n\n## Approving the Update transaction\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root).\n\n```bash\nmake sign-task\n```\n\n### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\nBe sure to select the correct task from the list of available tasks to sign (**not** the \"Base Signer Rollback\" task). Copy the resulting signature and save it.\n\n### 4. Rollback signing\n\nNow, click on the \"Base Signer\" selection and switch over to the rollback task (called \"Base Signer Rollback\"). Copy the resulting signature and save it.\n\n### 5. Send signature to facilitator\n\nSend the two signatures to the facilitator and make sure to clearly note which one is the primary one and which one is the rollback.\n\nYou may now kill the Signer Tool process in your terminal window by running `Ctrl + C`.\n\n## Prep (maintainers)\n\n```bash\ncd contract-deployments\ngit pull\ncd mainnet/2026-01-20-update-basefee-da-footprint\nmake deps\nmake gen-validation\nmake gen-validation-rollback\n```\n\n## Execute\n\n1. Collect signatures from all signers and export: `export SIGNATURES=\"0x[sig1][sig2]...\"`.\n2. Upgrade: `make execute`\n3. Rollback (only if needed): `make execute-rollback`\n"
  },
  {
    "path": "mainnet/2026-01-20-update-basefee-da-footprint/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2026-01-20-update-basefee-da-footprint/records/SetMinBaseFeeAndDAFootprint.s.sol/1/run-1769112998506.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x3be4d20dad2aa0b98938e806619a2948f7f6ac74d63181f74aa169c8ea4afc35\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000012000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000002420f06fdc000000000000000000000000000000000000000000000000000000000000008b0000000000000000000000000000000000000000000000000000000000000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000247616f0e800000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x49341fa2a623bae70e172ac3b66b6adf8f1c861ecfb2d27cb141d586ae6314926f7176c0de89fe9f8c794578e744bac5057b9d980ae2f70fbf5d77778e5a43701c27b8b71766424d0ac4854ca98bf1c390ddf54f596759401d97a00f59ade1eb6d0219995b68c10fd92302fc42cae5d085a93ddcbfb559e66799cb1d75e7f5df911b848d65a5f8d1eb1f393318223b9ae228de2d282f50ec9842476847952d23e0480964a3c8b1e8028827963e0ff32dceb41c658f46108e975a59f9eb454d73629d1c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x541a833e4303eb56a45be7e8e4a908db97568d1e\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x21aa3\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000244174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000012000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000002420f06fdc000000000000000000000000000000000000000000000000000000000000008b0000000000000000000000000000000000000000000000000000000000000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000247616f0e800000000000000000000000000000000000000000000000000000000000f4240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c349341fa2a623bae70e172ac3b66b6adf8f1c861ecfb2d27cb141d586ae6314926f7176c0de89fe9f8c794578e744bac5057b9d980ae2f70fbf5d77778e5a43701c27b8b71766424d0ac4854ca98bf1c390ddf54f596759401d97a00f59ade1eb6d0219995b68c10fd92302fc42cae5d085a93ddcbfb559e66799cb1d75e7f5df911b848d65a5f8d1eb1f393318223b9ae228de2d282f50ec9842476847952d23e0480964a3c8b1e8028827963e0ff32dceb41c658f46108e975a59f9eb454d73629d1c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x2\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1f24169\",\n      \"logs\": [\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000007\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000008b\",\n          \"blockHash\": \"0x20fc18a39f658e97fc016a67d59fd5cd847f8cfd6e3602754d10ee896094d100\",\n          \"blockNumber\": \"0x172ad30\",\n          \"blockTimestamp\": \"0x697285a3\",\n          \"transactionHash\": \"0x3be4d20dad2aa0b98938e806619a2948f7f6ac74d63181f74aa169c8ea4afc35\",\n          \"transactionIndex\": \"0x148\",\n          \"logIndex\": \"0x301\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000006\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000f4240\",\n          \"blockHash\": \"0x20fc18a39f658e97fc016a67d59fd5cd847f8cfd6e3602754d10ee896094d100\",\n          \"blockNumber\": \"0x172ad30\",\n          \"blockTimestamp\": \"0x697285a3\",\n          \"transactionHash\": \"0x3be4d20dad2aa0b98938e806619a2948f7f6ac74d63181f74aa169c8ea4afc35\",\n          \"transactionIndex\": \"0x148\",\n          \"logIndex\": \"0x302\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x426a902262e3327ea6e93ad0a4104de1cbc33ea39b584be0712d209b1c24633d0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x20fc18a39f658e97fc016a67d59fd5cd847f8cfd6e3602754d10ee896094d100\",\n          \"blockNumber\": \"0x172ad30\",\n          \"blockTimestamp\": \"0x697285a3\",\n          \"transactionHash\": \"0x3be4d20dad2aa0b98938e806619a2948f7f6ac74d63181f74aa169c8ea4afc35\",\n          \"transactionIndex\": \"0x148\",\n          \"logIndex\": \"0x303\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0000000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000001000000408000000000000000000000020000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000400000000000000040000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000080000008000000000000000000000000000000000000000000000000000000100000020000000000000000040000000000000000000000000000000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x3be4d20dad2aa0b98938e806619a2948f7f6ac74d63181f74aa169c8ea4afc35\",\n      \"transactionIndex\": \"0x148\",\n      \"blockHash\": \"0x20fc18a39f658e97fc016a67d59fd5cd847f8cfd6e3602754d10ee896094d100\",\n      \"blockNumber\": \"0x172ad30\",\n      \"gasUsed\": \"0x185f7\",\n      \"effectiveGasPrice\": \"0x4560f0b\",\n      \"from\": \"0x541a833e4303eb56a45be7e8e4a908db97568d1e\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1769112998506,\n  \"chain\": 1,\n  \"commit\": \"686062f\"\n}"
  },
  {
    "path": "mainnet/2026-01-20-update-basefee-da-footprint/script/SetMinBaseFeeAndDAFootprint.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\n\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\n\ninterface ISystemConfig {\n    function minBaseFee() external view returns (uint64);\n    function setMinBaseFee(uint64 _minBaseFee) external;\n    function daFootprintGasScalar() external view returns (uint16);\n    function setDAFootprintGasScalar(uint16 _daFootprintGasScalar) external;\n}\n\ncontract SetMinBaseFeeAndDAFootprintScript is MultisigScript {\n    address internal immutable OWNER_SAFE;\n    address internal immutable SYSTEM_CONFIG;\n\n    uint64 internal immutable MIN_BASE_FEE;\n    uint64 internal immutable NEW_MIN_BASE_FEE;\n    uint16 internal immutable DA_FOOTPRINT_GAS_SCALAR;\n    uint16 internal immutable NEW_DA_FOOTPRINT_GAS_SCALAR;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n        SYSTEM_CONFIG = vm.envAddress(\"SYSTEM_CONFIG\");\n\n        MIN_BASE_FEE = uint64(vm.envUint(\"OLD_MIN_BASE_FEE\"));\n        NEW_MIN_BASE_FEE = uint64(vm.envUint(\"NEW_MIN_BASE_FEE\"));\n\n        DA_FOOTPRINT_GAS_SCALAR = uint16(vm.envUint(\"OLD_DA_FOOTPRINT_GAS_SCALAR\"));\n        NEW_DA_FOOTPRINT_GAS_SCALAR = uint16(vm.envUint(\"NEW_DA_FOOTPRINT_GAS_SCALAR\"));\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).minBaseFee(), NEW_MIN_BASE_FEE, \"Min base fee mismatch\");\n        vm.assertEq(\n            ISystemConfig(SYSTEM_CONFIG).daFootprintGasScalar(),\n            NEW_DA_FOOTPRINT_GAS_SCALAR,\n            \"DA Footprint Gas Scalar mismatch\"\n        );\n    }\n\n    function _simulationOverrides() internal view override returns (Simulation.StateOverride[] memory _stateOverrides) {\n        if (\n            MIN_BASE_FEE != ISystemConfig(SYSTEM_CONFIG).minBaseFee()\n                || DA_FOOTPRINT_GAS_SCALAR != ISystemConfig(SYSTEM_CONFIG).daFootprintGasScalar()\n        ) {\n            // Override SystemConfig state to the expected \"from\" values so simulations succeeds even\n            // when the chain already reflects the post-change values (during rollback simulation).\n\n            Simulation.StateOverride[] memory stateOverrides = new Simulation.StateOverride[](1);\n            Simulation.StorageOverride[] memory storageOverrides = new Simulation.StorageOverride[](2);\n\n            // Update DA Footprint Gas Scalar (slot 0x6a)\n            // Storage layout (low to high bits):\n            //   - eip1559Denominator (uint32): bits 0-31\n            //   - eip1559Elasticity (uint32): bits 32-63\n            //   - operatorFeeScalar (uint32): bits 64-95\n            //   - operatorFeeConstant (uint64): bits 96-159\n            //   - daFootprintGasScalar (uint16): bits 160-175\n            // Load existing slot to preserve other fields, then update daFootprintGasScalar.\n            bytes32 eip1559SlotKey = bytes32(uint256(0x6a));\n            uint256 existingEip1559Word = uint256(vm.load(SYSTEM_CONFIG, eip1559SlotKey));\n            // Mask to preserve bits 0-159 (everything except daFootprintGasScalar)\n            uint256 preserveMask = (1 << 160) - 1;\n            uint256 preservedFields = existingEip1559Word & preserveMask;\n            uint256 composedEip1559Word = (uint256(DA_FOOTPRINT_GAS_SCALAR) << 160) | preservedFields;\n            storageOverrides[0] = Simulation.StorageOverride({key: eip1559SlotKey, value: bytes32(composedEip1559Word)});\n\n            // Update minBaseFee (slot 0x6c)\n            // Storage layout (low to high bits):\n            //   - superchainConfig (address): bits 0-159\n            //   - minBaseFee (uint64): bits 160-223\n            // Load existing slot to preserve superchainConfig, then update minBaseFee.\n            bytes32 minBaseFeeSlotKey = bytes32(uint256(0x6c));\n            uint256 existingMinBaseFeeWord = uint256(vm.load(SYSTEM_CONFIG, minBaseFeeSlotKey));\n            uint256 updatedMinBaseFeeWord = (existingMinBaseFeeWord & ((1 << 160) - 1)) | (uint256(MIN_BASE_FEE) << 160);\n            storageOverrides[1] = Simulation.StorageOverride({key: minBaseFeeSlotKey, value: bytes32(updatedMinBaseFeeWord)});\n\n            stateOverrides[0] = Simulation.StateOverride({contractAddress: SYSTEM_CONFIG, overrides: storageOverrides});\n            return stateOverrides;\n        }\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) {\n        IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](2);\n\n        calls[0] = IMulticall3.Call3Value({\n            target: SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(ISystemConfig.setDAFootprintGasScalar, (NEW_DA_FOOTPRINT_GAS_SCALAR)),\n            value: 0\n        });\n\n        calls[1] = IMulticall3.Call3Value({\n            target: SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(ISystemConfig.setMinBaseFee, (NEW_MIN_BASE_FEE)),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "mainnet/2026-01-20-update-basefee-da-footprint/validations/base-signer-rollback.json",
    "content": "{\n  \"cmd\": \"OLD_MIN_BASE_FEE=1000000 NEW_MIN_BASE_FEE=500000 OLD_DA_FOOTPRINT_GAS_SCALAR=139 NEW_DA_FOOTPRINT_GAS_SCALAR=325 SAFE_NONCE=101 forge script --rpc-url https://eth-mainnet.public.blastapi.io SetMinBaseFeeAndDAFootprintScript --sig sign(address[]) [] --sender 0x1841CB3C2ce6870D0417844C817849da64E6e937\",\n  \"ledgerId\": 0,\n  \"rpcUrl\": \"https://eth-mainnet.public.blastapi.io\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n    \"domainHash\": \"0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289\",\n    \"messageHash\": \"0xe6a4877f8bfe62c2fb0c1cddea889b965505d503d8007c523fc5db7fc68cad6c\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000065\",\n          \"description\": \"Override the nonce to be our expected value after initial execution.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x7bc8740e5864df47e4bc6f78c0d254bd65dad26e2ceabbb8364f7bbdb5c0b428\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Mainnet\",\n      \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n      \"overrides\": [\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006a\",\n          \"value\": \"0x00000000000000000000008b0000000000000000000000000000000600000032\",\n          \"description\": \"\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006c\",\n          \"value\": \"0x0000000000000000000f424095703e0982140d16f8eba6d158fccede42f04a4c\",\n          \"description\": \"\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000065\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000066\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Mainnet\",\n      \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n      \"changes\": [\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006a\",\n          \"before\": \"0x00000000000000000000008b0000000000000000000000000000000600000032\",\n          \"after\": \"0x0000000000000000000001450000000000000000000000000000000600000032\",\n          \"description\": \"Updates EIP-1559 params (denominator, elasticity) and DA Footprint Gas Scalar for the chain\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006c\",\n          \"before\": \"0x0000000000000000000f424095703e0982140d16f8eba6d158fccede42f04a4c\",\n          \"after\": \"0x00000000000000000007a12095703e0982140d16f8eba6d158fccede42f04a4c\",\n          \"description\": \"Updates Min Base Fee and Superchain Config address\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "mainnet/2026-01-20-update-basefee-da-footprint/validations/base-signer.json",
    "content": "{\n  \"cmd\": \"NEW_MIN_BASE_FEE=1000000 OLD_MIN_BASE_FEE=500000 NEW_DA_FOOTPRINT_GAS_SCALAR=139 OLD_DA_FOOTPRINT_GAS_SCALAR=325 forge script --rpc-url https://eth-mainnet.public.blastapi.io SetMinBaseFeeAndDAFootprintScript --sig sign(address[]) [] --sender 0x1841CB3C2ce6870D0417844C817849da64E6e937\",\n  \"ledgerId\": 0,\n  \"rpcUrl\": \"https://eth-mainnet.public.blastapi.io\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n    \"domainHash\": \"0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289\",\n    \"messageHash\": \"0xf53ef2944a8862c1c8406b4fc70209708e2faa988537738270481b9db24385e9\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xb313ef0b69503cef50fadef425c37dccfb7a47e686768587c9ee18fe57a2d37b\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000064\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000065\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Mainnet\",\n      \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n      \"changes\": [\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006a\",\n          \"before\": \"0x0000000000000000000001450000000000000000000000000000000600000032\",\n          \"after\": \"0x00000000000000000000008b0000000000000000000000000000000600000032\",\n          \"description\": \"Updates EIP-1559 params (denominator, elasticity) and DA Footprint Gas Scalar for the chain\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006c\",\n          \"before\": \"0x00000000000000000007a12095703e0982140d16f8eba6d158fccede42f04a4c\",\n          \"after\": \"0x0000000000000000000f424095703e0982140d16f8eba6d158fccede42f04a4c\",\n          \"description\": \"Updates Min Base Fee and Superchain Config address\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "mainnet/2026-01-28-update-min-base-fee/FACILITATOR.md",
    "content": "# Facilitator Guide\n\nGuide for facilitators after collecting signatures from signers.\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd mainnet/2026-01-28-update-min-base-fee\nmake deps\n```\n\n### 2. Execute upgrade\n\n```bash\nSIGNATURES=AAABBBCCC make execute\n```\n\n### 3. (**ONLY** if needed) Execute upgrade rollback\n\n> [!IMPORTANT]\n> \n> THIS SHOULD ONLY BE PERFORMED IN THE EVENT THAT WE NEED TO ROLLBACK\n\n```bash\nSIGNATURES=AAABBBCCC make execute-rollback\n```\n"
  },
  {
    "path": "mainnet/2026-01-28-update-min-base-fee/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\nifndef ROLLBACK_NONCE_OFFSET\noverride ROLLBACK_NONCE_OFFSET = 1\nendif\n\nRPC_URL = $(L1_RPC_URL)\nSCRIPT_NAME = SetMinBaseFeeScript\n\n# Validate required configuration before execution\n.PHONY: validate-config\nvalidate-config:\n\t@test -n \"$(OP_COMMIT)\" -a \"$(OP_COMMIT)\" != \"TODO\" || (echo \"OP_COMMIT required\" && exit 1)\n\t@test -n \"$(BASE_CONTRACTS_COMMIT)\" -a \"$(BASE_CONTRACTS_COMMIT)\" != \"TODO\" || (echo \"BASE_CONTRACTS_COMMIT required\" && exit 1)\n\t@test -n \"$(OWNER_SAFE)\" || (echo \"OWNER_SAFE required\" && exit 1)\n\t@test -n \"$(SYSTEM_CONFIG)\" || (echo \"SYSTEM_CONFIG required\" && exit 1)\n\t@test -n \"$(SENDER)\" || (echo \"SENDER required\" && exit 1)\n\t@test -n \"$(OLD_MIN_BASE_FEE)\" -a \"$(OLD_MIN_BASE_FEE)\" != \"TODO\" || (echo \"OLD_MIN_BASE_FEE required\" && exit 1)\n\t@test -n \"$(NEW_MIN_BASE_FEE)\" -a \"$(NEW_MIN_BASE_FEE)\" != \"TODO\" || (echo \"NEW_MIN_BASE_FEE required\" && exit 1)\n\t@echo \"Configuration validated successfully\"\n\n.PHONY: gen-validation\ngen-validation: validate-config checkout-signer-tool run-script\n\n.PHONY: run-script\nrun-script:\n\tmkdir -p validations; \\\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \\\n\t--workdir .. --forge-cmd 'NEW_MIN_BASE_FEE=$(NEW_MIN_BASE_FEE) \\\n\tOLD_MIN_BASE_FEE=$(OLD_MIN_BASE_FEE) \\\n\tforge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" [] --sender $(SENDER)' --out ../validations/base-signer.json;\n\n.PHONY: execute\nexecute: validate-config\n\tNEW_MIN_BASE_FEE=$(NEW_MIN_BASE_FEE) \\\n\tOLD_MIN_BASE_FEE=$(OLD_MIN_BASE_FEE) \\\n\t$(call MULTISIG_EXECUTE,$(SIGNATURES))\n\n.PHONY: gen-validation-rollback\ngen-validation-rollback: validate-config checkout-signer-tool run-script-rollback\n\n.PHONY: run-script-rollback\nrun-script-rollback:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \\\n\t--workdir .. --forge-cmd 'OLD_MIN_BASE_FEE=$(NEW_MIN_BASE_FEE) \\\n\tNEW_MIN_BASE_FEE=$(OLD_MIN_BASE_FEE) \\\n\tSAFE_NONCE=$(shell expr $$(cast call $(OWNER_SAFE) \"nonce()\" --rpc-url $(RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \\\n\tforge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" [] --sender $(SENDER)' --out ../validations/base-signer-rollback.json;\n\n.PHONY: execute-rollback\nexecute-rollback: validate-config\n\tOLD_MIN_BASE_FEE=$(NEW_MIN_BASE_FEE) \\\n\tNEW_MIN_BASE_FEE=$(OLD_MIN_BASE_FEE) \\\n\tSAFE_NONCE=$(shell expr $$(cast call $(OWNER_SAFE) \"nonce()\" --rpc-url $(RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \\\n\tforge script --rpc-url $(RPC_URL) $(SCRIPT_NAME) \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2026-01-28-update-min-base-fee/README.md",
    "content": "# Update Min Base Fee in L1 `SystemConfig`\n\nStatus: [EXECUTED](https://etherscan.io/tx/0x1d4e49864eea071c2cdd880aa6d217a27ac766cab65eb5ac9211ebed4e88b80d)\n\n## Description\n\nWe are updating the minimum base fee from 1,000,000 wei to 2,000,000 wei (2x increase).\n\nThis runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base/contracts) repository:\n\n`SetMinBaseFeeScript` -- This script will update the min base fee to 2,000,000 wei if invoked as part of the \"upgrade\" process, or revert to the old value of 1,000,000 wei if invoked as part of the \"rollback\" process.\n\nThe values we are sending are statically defined in the `.env` file.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow\n> the flow for both \"Approving the Update transaction\" and\n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed.\n\n## Install dependencies\n\n### 1. Update foundry\n\n```bash\nfoundryup\n```\n\n### 2. Install Node.js if needed\n\nFirst, check if you have node installed\n\n```bash\nnode --version\n```\n\nIf you see a version output from the above command, you can move on. Otherwise, install node\n\n```bash\nbrew install node\n```\n\n## Approving the Update transaction\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root).\n\n```bash\nmake sign-task\n```\n\n### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\nBe sure to select the correct task from the list of available tasks to sign (**not** the \"Base Signer Rollback\" task). Copy the resulting signature and save it.\n\n### 4. Rollback signing\n\nNow, click on the \"Base Signer\" selection and switch over to the rollback task (called \"Base Signer Rollback\"). Copy the resulting signature and save it.\n\n### 5. Send signature to facilitator\n\nSend the two signatures to the facilitator and make sure to clearly note which one is the primary one and which one is the rollback.\n\nYou may now kill the Signer Tool process in your terminal window by running `Ctrl + C`.\n"
  },
  {
    "path": "mainnet/2026-01-28-update-min-base-fee/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2026-01-28-update-min-base-fee/records/SetMinBaseFee.s.sol/1/run-1770084530335.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x1d4e49864eea071c2cdd880aa6d217a27ac766cab65eb5ac9211ebed4e88b80d\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000247616f0e800000000000000000000000000000000000000000000000000000000001e848000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x1fa1fa1fa4d02ef80a84adb3271e26ddcc4893f49cbb9259d2e8bcdfe7f9584f17b1fd7e85495513cbcc5728962185c200c9ed9038c6126c6149e785893d361c1b2888704866e7396805eff91709011e1f4a419866c950eaf4f19e5a188d2507291edd15eb448c69d2301b7e554c4b7fda40dd5b0885868dbd7222bb268d27392a1b1e2baac3a43fd903480620f112db161edc1b5b317a1b504dbf8b22de78bbab2b036abe6bcf61190ab691adfc5f6a9da8757642c56be6fbc1f47fafd855c9d6fa1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x541a833e4303eb56a45be7e8e4a908db97568d1e\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x1dbd2\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000144174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000247616f0e800000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c31fa1fa1fa4d02ef80a84adb3271e26ddcc4893f49cbb9259d2e8bcdfe7f9584f17b1fd7e85495513cbcc5728962185c200c9ed9038c6126c6149e785893d361c1b2888704866e7396805eff91709011e1f4a419866c950eaf4f19e5a188d2507291edd15eb448c69d2301b7e554c4b7fda40dd5b0885868dbd7222bb268d27392a1b1e2baac3a43fd903480620f112db161edc1b5b317a1b504dbf8b22de78bbab2b036abe6bcf61190ab691adfc5f6a9da8757642c56be6fbc1f47fafd855c9d6fa1b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x3\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x2057b3d\",\n      \"logs\": [\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000006\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000001e8480\",\n          \"blockHash\": \"0xc8e81ad7b167dfdc7c67a419c2ed9c97131e3092fdae686f42110ff011b3aff3\",\n          \"blockNumber\": \"0x173e803\",\n          \"blockTimestamp\": \"0x698158af\",\n          \"transactionHash\": \"0x1d4e49864eea071c2cdd880aa6d217a27ac766cab65eb5ac9211ebed4e88b80d\",\n          \"transactionIndex\": \"0x2bb\",\n          \"logIndex\": \"0x21a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x3771a302376f8ca7e356a89627eaa8b52508149a8b332a98fb4ed2a4e400b4670000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xc8e81ad7b167dfdc7c67a419c2ed9c97131e3092fdae686f42110ff011b3aff3\",\n          \"blockNumber\": \"0x173e803\",\n          \"blockTimestamp\": \"0x698158af\",\n          \"transactionHash\": \"0x1d4e49864eea071c2cdd880aa6d217a27ac766cab65eb5ac9211ebed4e88b80d\",\n          \"transactionIndex\": \"0x2bb\",\n          \"logIndex\": \"0x21b\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0000000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000408000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000400000000000000040000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000080000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000000000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x1d4e49864eea071c2cdd880aa6d217a27ac766cab65eb5ac9211ebed4e88b80d\",\n      \"transactionIndex\": \"0x2bb\",\n      \"blockHash\": \"0xc8e81ad7b167dfdc7c67a419c2ed9c97131e3092fdae686f42110ff011b3aff3\",\n      \"blockNumber\": \"0x173e803\",\n      \"gasUsed\": \"0x1587d\",\n      \"effectiveGasPrice\": \"0x54d3435\",\n      \"from\": \"0x541a833e4303eb56a45be7e8e4a908db97568d1e\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1770084530335,\n  \"chain\": 1,\n  \"commit\": \"bf470aa\"\n}"
  },
  {
    "path": "mainnet/2026-01-28-update-min-base-fee/script/SetMinBaseFee.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\n\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\n\ninterface ISystemConfig {\n    function minBaseFee() external view returns (uint64);\n    function setMinBaseFee(uint64 _minBaseFee) external;\n}\n\ncontract SetMinBaseFeeScript is MultisigScript {\n    address internal immutable OWNER_SAFE;\n    address internal immutable SYSTEM_CONFIG;\n\n    uint64 internal immutable MIN_BASE_FEE;\n    uint64 internal immutable NEW_MIN_BASE_FEE;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n        SYSTEM_CONFIG = vm.envAddress(\"SYSTEM_CONFIG\");\n\n        MIN_BASE_FEE = uint64(vm.envUint(\"OLD_MIN_BASE_FEE\"));\n        NEW_MIN_BASE_FEE = uint64(vm.envUint(\"NEW_MIN_BASE_FEE\"));\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).minBaseFee(), NEW_MIN_BASE_FEE, \"Min base fee mismatch\");\n    }\n\n    function _simulationOverrides() internal view override returns (Simulation.StateOverride[] memory _stateOverrides) {\n        if (MIN_BASE_FEE != ISystemConfig(SYSTEM_CONFIG).minBaseFee()) {\n            // Override SystemConfig state to the expected \"from\" values so simulations succeeds even\n            // when the chain already reflects the post-change values (during rollback simulation).\n\n            Simulation.StateOverride[] memory stateOverrides = new Simulation.StateOverride[](1);\n            Simulation.StorageOverride[] memory storageOverrides = new Simulation.StorageOverride[](1);\n\n            // Update minBaseFee (slot 0x6c)\n            // Storage layout (low to high bits):\n            //   - superchainConfig (address): bits 0-159\n            //   - minBaseFee (uint64): bits 160-223\n            // Load existing slot to preserve superchainConfig, then update minBaseFee.\n            bytes32 minBaseFeeSlotKey = bytes32(uint256(0x6c));\n            uint256 existingMinBaseFeeWord = uint256(vm.load(SYSTEM_CONFIG, minBaseFeeSlotKey));\n            uint256 updatedMinBaseFeeWord = (existingMinBaseFeeWord & ((1 << 160) - 1)) | (uint256(MIN_BASE_FEE) << 160);\n            storageOverrides[0] =\n                Simulation.StorageOverride({key: minBaseFeeSlotKey, value: bytes32(updatedMinBaseFeeWord)});\n\n            stateOverrides[0] = Simulation.StateOverride({contractAddress: SYSTEM_CONFIG, overrides: storageOverrides});\n            return stateOverrides;\n        }\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) {\n        IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n\n        calls[0] = IMulticall3.Call3Value({\n            target: SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(ISystemConfig.setMinBaseFee, (NEW_MIN_BASE_FEE)),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "mainnet/2026-01-28-update-min-base-fee/validations/base-signer-rollback.json",
    "content": "{\n  \"cmd\": \"OLD_MIN_BASE_FEE=2000000 NEW_MIN_BASE_FEE=1000000 SAFE_NONCE=102 forge script --rpc-url https://eth-mainnet.public.blastapi.io SetMinBaseFeeScript --sig sign(address[]) [] --sender 0x1841CB3C2ce6870D0417844C817849da64E6e937\",\n  \"ledgerId\": 0,\n  \"rpcUrl\": \"https://eth-mainnet.public.blastapi.io\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n    \"domainHash\": \"0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289\",\n    \"messageHash\": \"0x958bc6d2c75aefd6c5af7ce5825bef61506377550e0f7dd5275b04f46e45b788\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000066\",\n          \"description\": \"Override the nonce to be our expected value after initial execution.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xd96e337c9f34562a0a042ee37c857df4ed36d1833e9378b47607537ecc3cc7e5\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Mainnet\",\n      \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n      \"overrides\": [\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006c\",\n          \"value\": \"0x0000000000000000001e848095703e0982140d16f8eba6d158fccede42f04a4c\",\n          \"description\": \"Overrides min base fee to 2M wei (0x1E8480) so rollback simulation succeeds.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000066\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000067\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Mainnet\",\n      \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n      \"changes\": [\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006c\",\n          \"before\": \"0x0000000000000000001e848095703e0982140d16f8eba6d158fccede42f04a4c\",\n          \"after\": \"0x0000000000000000000f424095703e0982140d16f8eba6d158fccede42f04a4c\",\n          \"description\": \"Updates min base fee from 2M wei (0x1E8480) to 1M wei (0xF4240).\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "mainnet/2026-01-28-update-min-base-fee/validations/base-signer.json",
    "content": "{\n  \"cmd\": \"NEW_MIN_BASE_FEE=2000000 OLD_MIN_BASE_FEE=1000000 forge script --rpc-url https://eth-mainnet.public.blastapi.io SetMinBaseFeeScript --sig sign(address[]) [] --sender 0x1841CB3C2ce6870D0417844C817849da64E6e937\",\n  \"ledgerId\": 0,\n  \"rpcUrl\": \"https://eth-mainnet.public.blastapi.io\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n    \"domainHash\": \"0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289\",\n    \"messageHash\": \"0x82d8245851a2f2423bf94988a880bd38f27376462f845ce05483f75e80d93018\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xf81fc2071b1687dd1159dd28e26ae77fee04a1b8d388330c8780bcbad62f1140\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000065\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000066\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Mainnet\",\n      \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n      \"changes\": [\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006c\",\n          \"before\": \"0x0000000000000000000f424095703e0982140d16f8eba6d158fccede42f04a4c\",\n          \"after\": \"0x0000000000000000001e848095703e0982140d16f8eba6d158fccede42f04a4c\",\n          \"description\": \"Updates min base fee from 1M wei (0xF4240) to 2M wei (0x1E8480).\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "mainnet/2026-02-03-eip1559-denominator-increase/FACILITATORS.md",
    "content": "# Facilitator Guide\n\nGuide for facilitators after collecting signatures from signers.\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd mainnet/2026-02-03-eip1559-denominator-increase\nmake deps\n```\n\n### 2. Execute upgrade\n\n```bash\nSIGNATURES=AAABBBCCC make execute\n```\n\n### 3. (**ONLY** if needed) Execute upgrade rollback\n\n> [!IMPORTANT]\n> \n> THIS SHOULD ONLY BE PERFORMED IN THE EVENT THAT WE NEED TO ROLLBACK\n\n```bash\nSIGNATURES=AAABBBCCC make execute-rollback\n```\n"
  },
  {
    "path": "mainnet/2026-02-03-eip1559-denominator-increase/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\nifndef ROLLBACK_NONCE_OFFSET\noverride ROLLBACK_NONCE_OFFSET = 1\nendif\n\nRPC_URL = $(L1_RPC_URL)\nSCRIPT_NAME = IncreaseEip1559DenominatorScript\n\n# Validate required configuration before execution\n.PHONY: validate-config\nvalidate-config:\n\t@test -n \"$(OP_COMMIT)\" -a \"$(OP_COMMIT)\" != \"TODO\" || (echo \"OP_COMMIT required\" && exit 1)\n\t@test -n \"$(BASE_CONTRACTS_COMMIT)\" -a \"$(BASE_CONTRACTS_COMMIT)\" != \"TODO\" || (echo \"BASE_CONTRACTS_COMMIT required\" && exit 1)\n\t@test -n \"$(OWNER_SAFE)\" || (echo \"OWNER_SAFE required\" && exit 1)\n\t@test -n \"$(SYSTEM_CONFIG)\" || (echo \"SYSTEM_CONFIG required\" && exit 1)\n\t@test -n \"$(SENDER)\" || (echo \"SENDER required\" && exit 1)\n\t@test -n \"$(FROM_DENOMINATOR)\" -a \"$(FROM_DENOMINATOR)\" != \"TODO\" || (echo \"FROM_DENOMINATOR required\" && exit 1)\n\t@test -n \"$(TO_DENOMINATOR)\" -a \"$(TO_DENOMINATOR)\" != \"TODO\" || (echo \"TO_DENOMINATOR required\" && exit 1)\n\t@echo \"Configuration validated successfully\"\n\n.PHONY: gen-validation\ngen-validation: validate-config checkout-signer-tool run-script\n\n.PHONY: run-script\nrun-script:\n\tmkdir -p validations; \\\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \\\n\t--workdir .. --forge-cmd 'NEW_DENOMINATOR=$(TO_DENOMINATOR) \\\n\tOLD_DENOMINATOR=$(FROM_DENOMINATOR) \\\n\tforge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" [] --sender $(SENDER)' --out ../validations/base-signer.json;\n\n.PHONY: execute\nexecute: validate-config\n\tNEW_DENOMINATOR=$(TO_DENOMINATOR) \\\n\tOLD_DENOMINATOR=$(FROM_DENOMINATOR) \\\n\t$(call MULTISIG_EXECUTE,$(SIGNATURES))\n\n.PHONY: gen-validation-rollback\ngen-validation-rollback: validate-config checkout-signer-tool run-script-rollback\n\n.PHONY: run-script-rollback\nrun-script-rollback:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \\\n\t--workdir .. --forge-cmd 'OLD_DENOMINATOR=$(TO_DENOMINATOR) \\\n\tNEW_DENOMINATOR=$(FROM_DENOMINATOR) \\\n\tSAFE_NONCE=$(shell expr $$(cast call $(OWNER_SAFE) \"nonce()\" --rpc-url $(RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \\\n\tforge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" [] --sender $(SENDER)' --out ../validations/base-signer-rollback.json;\n\n.PHONY: execute-rollback\nexecute-rollback: validate-config\n\tOLD_DENOMINATOR=$(TO_DENOMINATOR) \\\n\tNEW_DENOMINATOR=$(FROM_DENOMINATOR) \\\n\tSAFE_NONCE=$(shell expr $$(cast call $(OWNER_SAFE) \"nonce()\" --rpc-url $(RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \\\n\tforge script --rpc-url $(RPC_URL) $(SCRIPT_NAME) \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2026-02-03-eip1559-denominator-increase/README.md",
    "content": "# Increase EIP-1559 Denominator in L1 `SystemConfig`\n\nStatus: [EXECUTED](https://etherscan.io/tx/0x30bb34595b1536556112591bfd26b9b24096dbfb37d59cc13515101a5f8b4de5)\n\n## Description\n\nWe are increaseing the EIP-1559 Denominator to reduce the maximum rate of change for the base fee, and thus limit overall fee volatility.\n\nThis runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base/contracts) repository:\n\n`IncreaseEip1559Denominator` -- This script will update the EIP-1559 denominator to 125 if invoked as part of the \"upgrade\" process, or revert to the old denominator of 50 if invoked as part of the \"rollback\" process.\n\nThe values we are sending are statically defined in the `.env` file.\n\n> [!IMPORTANT]\n>\n> We have two transactions to sign. Please follow\n> the flow for both \"Approving the Update transaction\" and\n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed.\n\n## Install dependencies\n\n### 1. Update foundry\n\n```bash\nfoundryup\n```\n\n### 2. Install Node.js if needed\n\nFirst, check if you have node installed\n\n```bash\nnode --version\n```\n\nIf you see a version output from the above command, you can move on. Otherwise, install node\n\n```bash\nbrew install node\n```\n\n## Approving the Update transaction\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n### 2. Run the signing tool\n\n```bash\nmake sign-task\n```\n\n### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\nBe sure to select the correct task from the list of available tasks to sign (**not** the \"Base Signer Rollback\" task). Copy the resulting signature and save it.\n\n### 4. Rollback signing\n\nNow, click on the \"Base Signer\" selection and switch over to the rollback task (called \"Base Signer Rollback\"). Copy the resulting signature and save it.\n\n### 5. Send signatures to facilitator\n\nSend the two signatures to the facilitator and make sure to clearly note which one is the primary one and which one is the rollback.\n\nYou may now kill the Signer Tool process in your terminal window by running `Ctrl + C`.\n"
  },
  {
    "path": "mainnet/2026-02-03-eip1559-denominator-increase/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "mainnet/2026-02-03-eip1559-denominator-increase/records/IncreaseEip1559Denominator.s.sol/1/run-1770211645877.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x30bb34595b1536556112591bfd26b9b24096dbfb37d59cc13515101a5f8b4de5\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b41000000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x3322877c3153ed23effdc7894de0a93403b8243bd56449320cd743c45f86e974364650c4c398f6a450c8bee0cad416fc0ee5072ef60ed9139bf1022d1ad06f6f1b9151b86cb5d919979f49ffee9332c542e8a761a180aee01b732b4f6c6e15bf3b7e8c49c46bfaef771a7f8d2d3c0eed671f1311a4f3bbc3817064050880396fc01c684c4ef74ab8f590c229ad61401999e2606a86a450563298bf8c7fbdd0a97ef921918d78579dab2ef21601282e1654cc6a38e2fae4fa5761519cbe4a2ee1daec1c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x1ddd0\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e00000000000000000000000000000000000000000000000000000000000000164174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b41000000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c33322877c3153ed23effdc7894de0a93403b8243bd56449320cd743c45f86e974364650c4c398f6a450c8bee0cad416fc0ee5072ef60ed9139bf1022d1ad06f6f1b9151b86cb5d919979f49ffee9332c542e8a761a180aee01b732b4f6c6e15bf3b7e8c49c46bfaef771a7f8d2d3c0eed671f1311a4f3bbc3817064050880396fc01c684c4ef74ab8f590c229ad61401999e2606a86a450563298bf8c7fbdd0a97ef921918d78579dab2ef21601282e1654cc6a38e2fae4fa5761519cbe4a2ee1daec1c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0xf\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x2b1beed\",\n      \"logs\": [\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000004\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000007d00000006\",\n          \"blockHash\": \"0x4c7670bf0a44e61a807d0c306e412a22afd3c7627849c61c30cb7aba83456070\",\n          \"blockNumber\": \"0x1741128\",\n          \"blockTimestamp\": \"0x6983493b\",\n          \"transactionHash\": \"0x30bb34595b1536556112591bfd26b9b24096dbfb37d59cc13515101a5f8b4de5\",\n          \"transactionIndex\": \"0x166\",\n          \"logIndex\": \"0x39c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x917f9cce8979b5da15ce2c5abc88d3caf315c87ff6438e053c19ef426be478f60000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x4c7670bf0a44e61a807d0c306e412a22afd3c7627849c61c30cb7aba83456070\",\n          \"blockNumber\": \"0x1741128\",\n          \"blockTimestamp\": \"0x6983493b\",\n          \"transactionHash\": \"0x30bb34595b1536556112591bfd26b9b24096dbfb37d59cc13515101a5f8b4de5\",\n          \"transactionIndex\": \"0x166\",\n          \"logIndex\": \"0x39d\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0000000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000008000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000004000000000000000000002000000000008000000000000000000000000000000000000000008000000000000000000020000000000000000040000000000000000000000000000000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x30bb34595b1536556112591bfd26b9b24096dbfb37d59cc13515101a5f8b4de5\",\n      \"transactionIndex\": \"0x166\",\n      \"blockHash\": \"0x4c7670bf0a44e61a807d0c306e412a22afd3c7627849c61c30cb7aba83456070\",\n      \"blockNumber\": \"0x1741128\",\n      \"gasUsed\": \"0x159ef\",\n      \"effectiveGasPrice\": \"0xa41eb99\",\n      \"from\": \"0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1770211645877,\n  \"chain\": 1,\n  \"commit\": \"e8951ec\"\n}"
  },
  {
    "path": "mainnet/2026-02-03-eip1559-denominator-increase/script/IncreaseEip1559Denominator.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\n\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\n\ninterface ISystemConfig {\n    function eip1559Elasticity() external view returns (uint32);\n    function eip1559Denominator() external view returns (uint32);\n    function setEIP1559Params(uint32 _denominator, uint32 _elasticity) external;\n}\n\ncontract IncreaseEip1559DenominatorScript is MultisigScript {\n    address internal immutable OWNER_SAFE;\n    address internal immutable SYSTEM_CONFIG;\n\n    uint32 internal immutable DENOMINATOR;\n    uint32 internal immutable NEW_DENOMINATOR;\n    uint32 internal immutable ELASTICITY;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n        SYSTEM_CONFIG = vm.envAddress(\"SYSTEM_CONFIG\");\n\n        DENOMINATOR = uint32(vm.envUint(\"OLD_DENOMINATOR\"));\n        NEW_DENOMINATOR = uint32(vm.envUint(\"NEW_DENOMINATOR\"));\n\n        ELASTICITY = ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity();\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Denominator(), NEW_DENOMINATOR, \"Denominator mismatch\");\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity(), ELASTICITY, \"Elasticity mismatch\");\n    }\n\n    function _simulationOverrides() internal view override returns (Simulation.StateOverride[] memory _stateOverrides) {\n        if (DENOMINATOR != ISystemConfig(SYSTEM_CONFIG).eip1559Denominator()) {\n            // Override SystemConfig state to the expected \"from\" values so simulations succeeds even\n            // when the chain already reflects the post-change values (during rollback simulation).\n\n            // Prepare one storage override for SystemConfig\n            Simulation.StateOverride[] memory stateOverrides = new Simulation.StateOverride[](1);\n            Simulation.StorageOverride[] memory storageOverrides = new Simulation.StorageOverride[](1);\n\n            // Load current packed EIP-1559 params (slot 0x6a) and replace only the lower 32 bits with DENOMINATOR\n            bytes32 eip1559SlotKey = bytes32(uint256(0x6a));\n            uint256 existingEip1559Word = uint256(vm.load(SYSTEM_CONFIG, eip1559SlotKey));\n            uint256 updatedEip1559Word = (existingEip1559Word & ~uint256(0xffffffff)) | uint256(DENOMINATOR);\n            storageOverrides[0] = Simulation.StorageOverride({key: eip1559SlotKey, value: bytes32(updatedEip1559Word)});\n\n            stateOverrides[0] = Simulation.StateOverride({contractAddress: SYSTEM_CONFIG, overrides: storageOverrides});\n            return stateOverrides;\n        }\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) {\n        IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n\n        calls[0] = IMulticall3.Call3Value({\n            target: SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(ISystemConfig.setEIP1559Params, (NEW_DENOMINATOR, ELASTICITY)),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "mainnet/2026-02-03-eip1559-denominator-increase/validations/base-signer-rollback.json",
    "content": "{\n  \"cmd\": \"OLD_DENOMINATOR=125 NEW_DENOMINATOR=50 SAFE_NONCE=103 forge script --rpc-url https://eth-mainnet.public.blastapi.io IncreaseEip1559DenominatorScript --sig sign(address[]) [] --sender 0x1841CB3C2ce6870D0417844C817849da64E6e937\",\n  \"ledgerId\": 0,\n  \"rpcUrl\": \"https://eth-mainnet.public.blastapi.io\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n    \"domainHash\": \"0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289\",\n    \"messageHash\": \"0x96f9aabc336c8752c76a513c4de4f28886f7d8757f132fc375edb6005a3a0876\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000067\",\n          \"description\": \"Override the nonce to be our expected value after initial execution.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x46a08474ac712a822d2c6035d1899c5d8c6e0032d6fb14e842f146f6083e44a9\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Mainnet\",\n      \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n      \"overrides\": [\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006a\",\n          \"value\": \"0x00000000000000000000008b000000000000000000000000000000060000007d\",\n          \"description\": \"Override EIP-1559 denominator to 125 (post-upgrade value) for rollback simulation\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000067\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000068\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Mainnet\",\n      \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n      \"changes\": [\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006a\",\n          \"before\": \"0x00000000000000000000008b000000000000000000000000000000060000007d\",\n          \"after\": \"0x00000000000000000000008b0000000000000000000000000000000600000032\",\n          \"description\": \"Updates EIP-1559 denominator from 125 to 50 (rollback)\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}"
  },
  {
    "path": "mainnet/2026-02-03-eip1559-denominator-increase/validations/base-signer.json",
    "content": "{\n  \"cmd\": \"NEW_DENOMINATOR=125 OLD_DENOMINATOR=50 forge script --rpc-url https://eth-mainnet.public.blastapi.io IncreaseEip1559DenominatorScript --sig sign(address[]) [] --sender 0x1841CB3C2ce6870D0417844C817849da64E6e937\",\n  \"ledgerId\": 0,\n  \"rpcUrl\": \"https://eth-mainnet.public.blastapi.io\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n    \"domainHash\": \"0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289\",\n    \"messageHash\": \"0xe52e27f6cec04498de893370845f72411334429156f545ee433f90a7e8f76d8b\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x5e4b9fe0c8e5e0cf29569cea37479d1c813b4881b22928ed039505834232afb1\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000066\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000067\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Mainnet\",\n      \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n      \"changes\": [\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006a\",\n          \"before\": \"0x00000000000000000000008b0000000000000000000000000000000600000032\",\n          \"after\": \"0x00000000000000000000008b000000000000000000000000000000060000007d\",\n          \"description\": \"Updates EIP-1559 denominator from 50 to 125\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}"
  },
  {
    "path": "mainnet/2026-02-17-update-min-base-fee/FACILITATOR.md",
    "content": "# Facilitator Guide\n\nGuide for facilitators after collecting signatures from signers.\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd mainnet/2026-02-17-update-min-base-fee\nmake deps\n```\n\n### 2. Execute upgrade\n\n```bash\nSIGNATURES=AAABBBCCC make execute\n```\n\n### 3. (**ONLY** if needed) Execute upgrade rollback\n\n> [!IMPORTANT]\n> \n> THIS SHOULD ONLY BE PERFORMED IN THE EVENT THAT WE NEED TO ROLLBACK\n\n```bash\nSIGNATURES=AAABBBCCC make execute-rollback\n```\n"
  },
  {
    "path": "mainnet/2026-02-17-update-min-base-fee/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\nifndef ROLLBACK_NONCE_OFFSET\noverride ROLLBACK_NONCE_OFFSET = 1\nendif\n\nRPC_URL = $(L1_RPC_URL)\nSCRIPT_NAME = SetMinBaseFeeScript\n\n# Validate required configuration before execution\n.PHONY: validate-config\nvalidate-config:\n\t@test -n \"$(OP_COMMIT)\" -a \"$(OP_COMMIT)\" != \"TODO\" || (echo \"OP_COMMIT required\" && exit 1)\n\t@test -n \"$(BASE_CONTRACTS_COMMIT)\" -a \"$(BASE_CONTRACTS_COMMIT)\" != \"TODO\" || (echo \"BASE_CONTRACTS_COMMIT required\" && exit 1)\n\t@test -n \"$(OWNER_SAFE)\" || (echo \"OWNER_SAFE required\" && exit 1)\n\t@test -n \"$(SYSTEM_CONFIG)\" || (echo \"SYSTEM_CONFIG required\" && exit 1)\n\t@test -n \"$(SENDER)\" || (echo \"SENDER required\" && exit 1)\n\t@test -n \"$(OLD_MIN_BASE_FEE)\" -a \"$(OLD_MIN_BASE_FEE)\" != \"TODO\" || (echo \"OLD_MIN_BASE_FEE required\" && exit 1)\n\t@test -n \"$(NEW_MIN_BASE_FEE)\" -a \"$(NEW_MIN_BASE_FEE)\" != \"TODO\" || (echo \"NEW_MIN_BASE_FEE required\" && exit 1)\n\t@echo \"Configuration validated successfully\"\n\n.PHONY: gen-validation\ngen-validation: validate-config checkout-signer-tool run-script\n\n.PHONY: run-script\nrun-script:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \\\n\t--workdir .. --forge-cmd 'NEW_MIN_BASE_FEE=$(NEW_MIN_BASE_FEE) \\\n\tOLD_MIN_BASE_FEE=$(OLD_MIN_BASE_FEE) \\\n\tforge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" [] --sender $(SENDER)' --out ../validations/base-signer.json;\n\n.PHONY: execute\nexecute: validate-config\n\tNEW_MIN_BASE_FEE=$(NEW_MIN_BASE_FEE) \\\n\tOLD_MIN_BASE_FEE=$(OLD_MIN_BASE_FEE) \\\n\t$(call MULTISIG_EXECUTE,$(SIGNATURES))\n\n.PHONY: gen-validation-rollback\ngen-validation-rollback: validate-config checkout-signer-tool run-script-rollback\n\n.PHONY: run-script-rollback\nrun-script-rollback:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \\\n\t--workdir .. --forge-cmd 'OLD_MIN_BASE_FEE=$(NEW_MIN_BASE_FEE) \\\n\tNEW_MIN_BASE_FEE=$(OLD_MIN_BASE_FEE) \\\n\tSAFE_NONCE=$(shell expr $$(cast call $(OWNER_SAFE) \"nonce()\" --rpc-url $(RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \\\n\tforge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" [] --sender $(SENDER)' --out ../validations/base-signer-rollback.json;\n\n.PHONY: execute-rollback\nexecute-rollback: validate-config\n\tOLD_MIN_BASE_FEE=$(NEW_MIN_BASE_FEE) \\\n\tNEW_MIN_BASE_FEE=$(OLD_MIN_BASE_FEE) \\\n\tSAFE_NONCE=$(shell expr $$(cast call $(OWNER_SAFE) \"nonce()\" --rpc-url $(RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \\\n\tforge script --rpc-url $(RPC_URL) $(SCRIPT_NAME) \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "mainnet/2026-02-17-update-min-base-fee/README.md",
    "content": "# Update Min Base Fee in L1 `SystemConfig`\n\nStatus: [EXECUTED](https://etherscan.io/tx/0xb7b7f0b8cf10b5246713a9a8dd823b4735c9c4ad2e0cf94f3382957e25c9dbaf)\n\n## Description\n\nWe are updating the minimum base fee from 2,000,000 wei to 5,000,000 wei (2.5x increase).\n\nThis runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base/contracts) repository:\n\n`SetMinBaseFeeScript` -- This script will update the min base fee to 5,000,000 wei if invoked as part of the \"upgrade\" process, or revert to the old value of 2,000,000 wei if invoked as part of the \"rollback\" process.\n\nThe values we are sending are statically defined in the `.env` file.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow\n> the flow for both \"Approving the Update transaction\" and\n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed.\n\n## Install dependencies\n\n### 1. Update foundry\n\n```bash\nfoundryup\n```\n\n### 2. Install Node.js if needed\n\nFirst, check if you have node installed\n\n```bash\nnode --version\n```\n\nIf you see a version output from the above command, you can move on. Otherwise, install node\n\n```bash\nbrew install node\n```\n\n## Approving the Update transaction\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root).\n\n```bash\nmake sign-task\n```\n\n### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\nBe sure to select the correct task from the list of available tasks to sign (**not** the \"Base Signer Rollback\" task). Copy the resulting signature and save it.\n\n### 4. Rollback signing\n\nNow, click on the \"Base Signer\" selection and switch over to the rollback task (called \"Base Signer Rollback\"). Copy the resulting signature and save it.\n\n### 5. Send signature to facilitator\n\nSend the two signatures to the facilitator and make sure to clearly note which one is the primary one and which one is the rollback.\n\nYou may now kill the Signer Tool process in your terminal window by running `Ctrl + C`.\n"
  },
  {
    "path": "mainnet/2026-02-17-update-min-base-fee/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2026-02-17-update-min-base-fee/records/SetMinBaseFee.s.sol/1/run-1771531755195.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xb7b7f0b8cf10b5246713a9a8dd823b4735c9c4ad2e0cf94f3382957e25c9dbaf\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000247616f0e800000000000000000000000000000000000000000000000000000000004c4b4000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xf186b9286db505bf3ad17d5dd6c2a1c8a4f21e6d94d6d03bfd46dbd4f781ea7237987278279ff0db1581799b92c9e5a03acc76ef57793bc8ddfada4131a42fe01b85c2f221971397845ea90cb781c19497bdfc79155bb5653f17884d6a80d6c8e17e38670916546373722e2cc212fff3f39261d0ceed87b4cd07292bb74df03f171b8ed8f805a2692bd119e2c2e3d3111ea02fadd014fbfb5a3f23a69a13c67953151b02af45f993f8f7055117897370f0ef15448951a051e151efb6869df9948cd31c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x541a833e4303eb56a45be7e8e4a908db97568d1e\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x1dc00\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000144174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000247616f0e800000000000000000000000000000000000000000000000000000000004c4b40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3f186b9286db505bf3ad17d5dd6c2a1c8a4f21e6d94d6d03bfd46dbd4f781ea7237987278279ff0db1581799b92c9e5a03acc76ef57793bc8ddfada4131a42fe01b85c2f221971397845ea90cb781c19497bdfc79155bb5653f17884d6a80d6c8e17e38670916546373722e2cc212fff3f39261d0ceed87b4cd07292bb74df03f171b8ed8f805a2692bd119e2c2e3d3111ea02fadd014fbfb5a3f23a69a13c67953151b02af45f993f8f7055117897370f0ef15448951a051e151efb6869df9948cd31c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x4\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x20a6f7b\",\n      \"logs\": [\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000006\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000004c4b40\",\n          \"blockHash\": \"0x8a8d4169a01a5e51b765a1705519971871c44adf3bee7405eb753a60523bf3a9\",\n          \"blockNumber\": \"0x175bc82\",\n          \"blockTimestamp\": \"0x69976de7\",\n          \"transactionHash\": \"0xb7b7f0b8cf10b5246713a9a8dd823b4735c9c4ad2e0cf94f3382957e25c9dbaf\",\n          \"transactionIndex\": \"0x176\",\n          \"logIndex\": \"0x37f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xa970ca7df9badd67dc859be4747b81324ae0e9ef2969134e5e6da79054643b660000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x8a8d4169a01a5e51b765a1705519971871c44adf3bee7405eb753a60523bf3a9\",\n          \"blockNumber\": \"0x175bc82\",\n          \"blockTimestamp\": \"0x69976de7\",\n          \"transactionHash\": \"0xb7b7f0b8cf10b5246713a9a8dd823b4735c9c4ad2e0cf94f3382957e25c9dbaf\",\n          \"transactionIndex\": \"0x176\",\n          \"logIndex\": \"0x380\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0000000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000408000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000400000000000000040000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000080000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000000000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xb7b7f0b8cf10b5246713a9a8dd823b4735c9c4ad2e0cf94f3382957e25c9dbaf\",\n      \"transactionIndex\": \"0x176\",\n      \"blockHash\": \"0x8a8d4169a01a5e51b765a1705519971871c44adf3bee7405eb753a60523bf3a9\",\n      \"blockNumber\": \"0x175bc82\",\n      \"gasUsed\": \"0x1589f\",\n      \"effectiveGasPrice\": \"0x4a8aa00\",\n      \"from\": \"0x541a833e4303eb56a45be7e8e4a908db97568d1e\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1771531755195,\n  \"chain\": 1,\n  \"commit\": \"6079d0e\"\n}"
  },
  {
    "path": "mainnet/2026-02-17-update-min-base-fee/script/SetMinBaseFee.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\n\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\n\ninterface ISystemConfig {\n    function minBaseFee() external view returns (uint64);\n    function setMinBaseFee(uint64 _minBaseFee) external;\n}\n\ncontract SetMinBaseFeeScript is MultisigScript {\n    address internal immutable OWNER_SAFE;\n    address internal immutable SYSTEM_CONFIG;\n\n    uint64 internal immutable MIN_BASE_FEE;\n    uint64 internal immutable NEW_MIN_BASE_FEE;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n        SYSTEM_CONFIG = vm.envAddress(\"SYSTEM_CONFIG\");\n\n        MIN_BASE_FEE = uint64(vm.envUint(\"OLD_MIN_BASE_FEE\"));\n        NEW_MIN_BASE_FEE = uint64(vm.envUint(\"NEW_MIN_BASE_FEE\"));\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).minBaseFee(), NEW_MIN_BASE_FEE, \"Min base fee mismatch\");\n    }\n\n    function _simulationOverrides() internal view override returns (Simulation.StateOverride[] memory _stateOverrides) {\n        if (MIN_BASE_FEE != ISystemConfig(SYSTEM_CONFIG).minBaseFee()) {\n            // Override SystemConfig state to the expected \"from\" values so simulations succeeds even\n            // when the chain already reflects the post-change values (during rollback simulation).\n\n            Simulation.StateOverride[] memory stateOverrides = new Simulation.StateOverride[](1);\n            Simulation.StorageOverride[] memory storageOverrides = new Simulation.StorageOverride[](1);\n\n            // Update minBaseFee (slot 0x6c)\n            // Storage layout (low to high bits):\n            //   - superchainConfig (address): bits 0-159\n            //   - minBaseFee (uint64): bits 160-223\n            // Load existing slot to preserve superchainConfig, then update minBaseFee.\n            bytes32 minBaseFeeSlotKey = bytes32(uint256(0x6c));\n            uint256 existingMinBaseFeeWord = uint256(vm.load(SYSTEM_CONFIG, minBaseFeeSlotKey));\n            uint256 updatedMinBaseFeeWord = (existingMinBaseFeeWord & ((1 << 160) - 1)) | (uint256(MIN_BASE_FEE) << 160);\n            storageOverrides[0] =\n                Simulation.StorageOverride({key: minBaseFeeSlotKey, value: bytes32(updatedMinBaseFeeWord)});\n\n            stateOverrides[0] = Simulation.StateOverride({contractAddress: SYSTEM_CONFIG, overrides: storageOverrides});\n            return stateOverrides;\n        }\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) {\n        IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n\n        calls[0] = IMulticall3.Call3Value({\n            target: SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(ISystemConfig.setMinBaseFee, (NEW_MIN_BASE_FEE)),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "mainnet/2026-02-17-update-min-base-fee/validations/base-signer-rollback.json",
    "content": "{\n  \"cmd\": \"OLD_MIN_BASE_FEE=5000000 NEW_MIN_BASE_FEE=2000000 SAFE_NONCE=104 forge script --rpc-url https://eth-mainnet.public.blastapi.io SetMinBaseFeeScript --sig sign(address[]) [] --sender 0x1841CB3C2ce6870D0417844C817849da64E6e937\",\n  \"ledgerId\": 0,\n  \"rpcUrl\": \"https://eth-mainnet.public.blastapi.io\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n    \"domainHash\": \"0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289\",\n    \"messageHash\": \"0x5fb75649784c7985d9ab466f3fe5937a74f309f7868c77594f2260fdf15b4f9e\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000068\",\n          \"description\": \"Override the nonce to be our expected value after initial execution.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x3dc6b9d0cf3ce395987a1645e7ce7647b6141537dd995a2446c20b48a670c29a\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Mainnet\",\n      \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n      \"overrides\": [\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006c\",\n          \"value\": \"0x0000000000000000004c4b4095703e0982140d16f8eba6d158fccede42f04a4c\",\n          \"description\": \"Overrides min base fee to 5M wei (0x4C4B40) so rollback simulation succeeds.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000068\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000069\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Mainnet\",\n      \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n      \"changes\": [\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006c\",\n          \"before\": \"0x0000000000000000004c4b4095703e0982140d16f8eba6d158fccede42f04a4c\",\n          \"after\": \"0x0000000000000000001e848095703e0982140d16f8eba6d158fccede42f04a4c\",\n          \"description\": \"Updates min base fee from 5M wei (0x4C4B40) to 2M wei (0x1E8480).\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "mainnet/2026-02-17-update-min-base-fee/validations/base-signer.json",
    "content": "{\n  \"cmd\": \"NEW_MIN_BASE_FEE=5000000 OLD_MIN_BASE_FEE=2000000 forge script --rpc-url https://eth-mainnet.public.blastapi.io SetMinBaseFeeScript --sig sign(address[]) [] --sender 0x1841CB3C2ce6870D0417844C817849da64E6e937\",\n  \"ledgerId\": 0,\n  \"rpcUrl\": \"https://eth-mainnet.public.blastapi.io\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n    \"domainHash\": \"0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289\",\n    \"messageHash\": \"0xff454a68abb04ade8aa6f4ff54103a36c2edeebad3170f6ee3473c05b22cd6a7\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2cc1499eda3340dfd38be98fbcfba86e827ed0db5b5cdf5bba47146fd8b495f7\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000067\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000068\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Mainnet\",\n      \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n      \"changes\": [\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006c\",\n          \"before\": \"0x0000000000000000001e848095703e0982140d16f8eba6d158fccede42f04a4c\",\n          \"after\": \"0x0000000000000000004c4b4095703e0982140d16f8eba6d158fccede42f04a4c\",\n          \"description\": \"Updates min base fee from 2M wei (0x1E8480) to 5M wei (0x4C4B40).\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/FACILITATORS.md",
    "content": "# Facilitator Instructions\n\nThis document describes how to execute the Superchain separation mainnet transactions after collecting signatures.\n\n## Prerequisites\n\n### 1. Update repo and install dependencies\n\n```bash\ncd contract-deployments\ngit pull\ncd mainnet/2026-02-19-superchain-separation\nmake deps\n```\n\n## General Procedure\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export as the `SIGNATURES` environment variable:\n   `export SIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"`\n3. Run the appropriate `make approve-*` command(s) for each nested Safe.\n4. Run the appropriate `make execute-*` command to execute the transaction.\n\n## Important: Execution Order\n\n**Transactions MUST be executed in order** due to nonce dependencies:\n\n1. CB Nested Safe: Approve UpdateProxyAdminOwnerSigners\n\n```bash\nmake approve-proxyadminowner-signers-cb\n```\n\n2. SC Safe: Approve UpdateProxyAdminOwnerSigners\n\n```bash\nmake approve-proxyadminowner-signers-sc\n```\n\n3. CB Parent Safe: Approve UpdateProxyAdminOwnerSigners\n\n```bash\nmake approve-proxyadminowner-signers-cb-coord\n```\n\n4. OP Safe: Approve UpdateProxyAdminOwnerSigners\n\n```bash\nmake approve-proxyadminowner-signers-op\n```\n\n5. ProxyAdminOwner: Execute UpdateProxyAdminOwnerSigners\n\n```bash\nmake execute-proxyadminownersigners\n```\n\n6. CB Nested Safe: Approve CBSafeSigners\n\n```bash\nmake approve-cbsafesigners-cb\n```\n\n7. SC Safe: Approve CBSafeSigners\n\n```bash\nmake approve-cbsafesigners-sc\n```\n\n8. CB Parent Safe: Execute CBSafeSigners\n\n```bash\nmake execute-cbsafesigners\n```\n\n9. CB Parent Safe: Approve UpgradeSystemConfig\n\n```bash\nmake approve-systemconfig-cb\n```\n\n10. SC Safe: Approve UpgradeSystemConfig\n\n```bash\nmake approve-systemconfig-sc\n```\n\n11. ProxyAdminOwner: Execute UpgradeSystemConfig\n\n```bash\nmake execute-systemconfig\n```\n\n12. CB Nested Safe: Execute UpgradeFeeDisburser\n\n```bash\nmake execute-feedisburser\n```\n\n13. OP CB Safe: Execute TerminateSmartEscrow\n\n```bash\nmake execute-terminate-smartescrow\n```\n\n14. OP CB Safe: Approve WithdrawSmartEscrow\n\n```bash\nmake approve-withdraw-smartescrow-cb\n```\n\n15. OP OP Safe: Approve WithdrawSmartEscrow\n\n```bash\nmake approve-withdraw-smartescrow-op\n```\n\n16. OP Parent Safe: Execute WithdrawSmartEscrow\n\n```bash\nmake execute-withdraw-smartescrow\n```\n\n17. SC Safe: Execute AddSecurityCouncilSigner\n\n```bash\nmake execute-add-signer\n```\n\n### Example Signature Output\n\nIf the quorum is 3 and you receive the following outputs:\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE01\nSignature: AAAA\n```\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE02\nSignature: BBBB\n```\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE03\nSignature: CCCC\n```\n\nConcatenate: `SIGNATURES=AAAABBBBCCCC`\n\n---\n\n## Part 1: UpdateCBSafeSigners (CB + SC)\n\nUpdates the signers on the Coinbase Safe.\n\n### Approve\n\nCoinbase facilitator (with CB signer signatures):\n\n```bash\nSIGNATURES=<CB_SIGNATURES> make approve-cbsafesigners-cb\n```\n\nCoinbase facilitator (with SC signer signatures):\n\n```bash\nSIGNATURES=<SC_SIGNATURES> make approve-cbsafesigners-sc\n```\n\n### Execute\n\nOnce all approvals are submitted:\n\n```bash\nmake execute-cbsafesigners\n```\n\n---\n\n## Part 2: UpgradeSystemConfig (CB + SC)\n\nUpgrades the SystemConfig contract with the new SuperchainConfig.\n\n### Approve\n\nCoinbase facilitator (with CB signer signatures):\n\n```bash\nSIGNATURES=<CB_SIGNATURES> make approve-systemconfig-cb\n```\n\nCoinbase facilitator (with SC signer signatures):\n\n```bash\nSIGNATURES=<SC_SIGNATURES> make approve-systemconfig-sc\n```\n\n### Execute\n\nOnce all approvals are submitted:\n\n```bash\nmake execute-systemconfig\n```\n\n---\n\n## Part 3: UpgradeFeeDisburser (CB only)\n\nUpgrades the FeeDisburser contract via a deposit transaction on L1.\n\n> **Note:** This must be executed AFTER Part 1 (execute-cbsafesigners) due to nonce dependencies on `CB_NESTED_SAFE_ADDR`.\n\n### Approve (if using nested safe)\n\n```bash\nSIGNATURES=<CB_SIGNATURES> make approve-feedisburser\n```\n\n### Execute\n\n```bash\nSIGNATURES=<CB_SIGNATURES> make execute-feedisburser\n```\n"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\n\ninclude ../.env\ninclude .env\n\nOP_RPC_URL = https://mainnet.optimism.io\nRPC_URL = $(L1_RPC_URL)\n\n# Comma variable for use in $(call ...) arguments\nCOMMA := ,\n\n# Sender addresses for validation generation\nCB_NESTED_SENDER   := 0x6CD3850756b7894774Ab715D136F9dD02837De50\nCB_SIGNER_SENDER   := 0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110\nSC_SENDER          := 0x5ff5C78ff194acc24C22DAaDdE4D639ebF18ACC6\nOP_MAINNET_SENDER  := 0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\nOP_OP_SENDER       := 0x4d494C5F61b60752D3A10062276a0eFC22596151\n\n##\n# Signer Tool Setup\n##\ndeps-signer-tool: checkout-signer-tool\n\tcd $(SIGNER_TOOL_PATH) && npm ci\n\n##\n# Validation File Generation\n##\n# Generates validation files for multisig signing\n# Usage: GEN_VALIDATION(script_name, safe_addr, sender, output_file, env_vars)\n# Note: env_vars (5th param) is optional, used for nonce overrides when pre-signing multiple txs\ndefine GEN_VALIDATION\n\tcd $(SIGNER_TOOL_PATH) && \\\n\t\tbun run scripts/genValidationFile.ts \\\n\t\t\t--rpc-url $(RPC_URL) \\\n\t\t\t--workdir .. \\\n\t\t\t--forge-cmd '$(if $(5),$(5) )forge script --rpc-url $(RPC_URL) $(1) --sig \"sign(address[])\" \"[$(2)]\" --sender $(3)' \\\n\t\t\t--ledger-id $(LEDGER_ACCOUNT) \\\n\t\t\t--out ../validations/$(4)\nendef\n\n# Helper to get current nonce for a safe\n# Usage: $(call GET_NONCE,safe_address)\ndefine GET_NONCE\n$(shell cast call $(1) \"nonce()\" --rpc-url $(RPC_URL) | cast to-dec)\nendef\n\n# Helper to convert address to uppercase for SAFE_NONCE env var\n# Usage: $(call ADDR_UPPER,safe_address)\ndefine ADDR_UPPER\n$(shell echo $(1) | tr '[:lower:]' '[:upper:]')\nendef\n\n# Part 1: UpdateProxyAdminOwnerSigners\n.PHONY: gen-validation-cb-1\ngen-validation-cb-1: deps-signer-tool\n\t$(call GEN_VALIDATION,UpdateProxyAdminOwnerSigners,$(CB_NESTED_SAFE_ADDR)$(COMMA)$(CB_SIGNER_SAFE_ADDR),$(CB_NESTED_SENDER),coinbase-signer-part-1.json,)\n\n.PHONY: gen-validation-cb-sc-1\ngen-validation-cb-sc-1: deps-signer-tool\n\t$(call GEN_VALIDATION,UpdateProxyAdminOwnerSigners,$(CB_SC_SAFE_ADDR)$(COMMA)$(CB_SIGNER_SAFE_ADDR),$(SC_SENDER),security-council-signer-part-1.json,)\n\n.PHONY: gen-validation-op-1\ngen-validation-op-1: deps-signer-tool\n\t$(call GEN_VALIDATION,UpdateProxyAdminOwnerSigners,$(OP_SIGNER_SAFE_ADDR),$(OP_MAINNET_SENDER),optimism-signer.json,)\n\n# Part 2: UpdateCBSafeSigners\n# Task uses CB_SIGNER_SAFE_ADDR which will approve part 1 - needs nonce+1\n.PHONY: gen-validation-cb-2\ngen-validation-cb-2: deps-signer-tool\n\t$(eval CB_PARENT_NONCE := $(shell expr $(call GET_NONCE,$(CB_SIGNER_SAFE_ADDR)) + 1))\n\t$(eval CB_SIGNER_NONCE := $(shell expr $(call GET_NONCE,$(CB_NESTED_SAFE_ADDR)) + 1))\n\t$(call GEN_VALIDATION,UpdateCBSafeSigners,$(CB_NESTED_SAFE_ADDR),$(CB_NESTED_SENDER),coinbase-signer-part-2.json,SAFE_NONCE_$(call ADDR_UPPER,$(CB_NESTED_SAFE_ADDR))=$(CB_SIGNER_NONCE) SAFE_NONCE_$(call ADDR_UPPER,$(CB_SIGNER_SAFE_ADDR))=$(CB_PARENT_NONCE))\n\n# SC uses CB_SC_SAFE_ADDR which will approve part 1 - needs nonce+1\n.PHONY: gen-validation-cb-sc-2\ngen-validation-cb-sc-2: deps-signer-tool\n\t$(eval CB_PARENT_NONCE := $(shell expr $(call GET_NONCE,$(CB_SIGNER_SAFE_ADDR)) + 1))\n\t$(eval SC_SIGNER_NONCE := $(shell expr $(call GET_NONCE,$(CB_SC_SAFE_ADDR)) + 1))\n\t$(call GEN_VALIDATION,UpdateCBSafeSigners,$(CB_SC_SAFE_ADDR),$(SC_SENDER),security-council-signer-part-2.json,SAFE_NONCE_$(call ADDR_UPPER,$(CB_SC_SAFE_ADDR))=$(SC_SIGNER_NONCE) SAFE_NONCE_$(call ADDR_UPPER,$(CB_SIGNER_SAFE_ADDR))=$(CB_PARENT_NONCE))\n\n# Part 3: UpgradeSystemConfig\n# ProxyAdminOwner will execute part 1 - needs nonce+1\n# CB uses CB_SIGNER_SAFE_ADDR which will approve part 1 and execute part 2 - needs nonce+2\n.PHONY: gen-validation-cb-3\ngen-validation-cb-3: deps-signer-tool\n\t$(eval PROXY_ADMIN_OWNER_NONCE := $(shell expr $(call GET_NONCE,$(OWNER_SAFE)) + 1))\n\t$(eval CB_PARENT_NONCE := $(shell expr $(call GET_NONCE,$(CB_SIGNER_SAFE_ADDR)) + 2))\n\t$(call GEN_VALIDATION,UpgradeSystemConfig,$(CB_SIGNER_SAFE_ADDR),$(CB_SIGNER_SENDER),coinbase-signer-part-3.json,SAFE_NONCE_$(call ADDR_UPPER,$(CB_SIGNER_SAFE_ADDR))=$(CB_PARENT_NONCE) SAFE_NONCE_$(call ADDR_UPPER,$(OWNER_SAFE))=$(PROXY_ADMIN_OWNER_NONCE))\n\n# SC uses CB_SC_SAFE_ADDR which has Part 1 and 2 txs pending - needs nonce+2\n.PHONY: gen-validation-cb-sc-3\ngen-validation-cb-sc-3: deps-signer-tool\n\t$(eval PROXY_ADMIN_OWNER_NONCE := $(shell expr $(call GET_NONCE,$(OWNER_SAFE)) + 1))\n\t$(eval SC_NONCE := $(shell expr $(call GET_NONCE,$(CB_SC_SAFE_ADDR)) + 2))\n\t$(call GEN_VALIDATION,UpgradeSystemConfig,$(CB_SC_SAFE_ADDR),$(SC_SENDER),security-council-signer-part-3.json,SAFE_NONCE_$(call ADDR_UPPER,$(CB_SC_SAFE_ADDR))=$(SC_NONCE) SAFE_NONCE_$(call ADDR_UPPER,$(OWNER_SAFE))=$(PROXY_ADMIN_OWNER_NONCE))\n\n# Part 4: UpgradeFeeDisburser\n# Uses CB_NESTED_SAFE_ADDR which has Part 1 and 2 txs pending - needs nonce+2\n.PHONY: gen-validation-cb-4\ngen-validation-cb-4: deps-signer-tool\n\t$(eval CB_NESTED_NONCE := $(shell expr $(call GET_NONCE,$(CB_NESTED_SAFE_ADDR)) + 2))\n\t$(call GEN_VALIDATION,UpgradeFeeDisburser,,$(CB_NESTED_SENDER),coinbase-signer-part-4.json,SAFE_NONCE_$(call ADDR_UPPER,$(CB_NESTED_SAFE_ADDR))=$(CB_NESTED_NONCE))\n\n# Part 5: TerminateSmartEscrow\n.PHONY: gen-validation-cb-5\ngen-validation-cb-5: RPC_URL = $(OP_RPC_URL)\ngen-validation-cb-5: deps-signer-tool\n\t$(call GEN_VALIDATION,TerminateSmartEscrow,,$(CB_NESTED_SENDER),coinbase-signer-part-5.json,)\n\n# Part 6: WithdrawSmartEscrow\n# Uses CB_SAFE_ON_OP which executes part 5 - needs nonce+1\n.PHONY: gen-validation-cb-6\ngen-validation-cb-6: RPC_URL = $(OP_RPC_URL)\ngen-validation-cb-6: deps-signer-tool\n\t$(eval CB_NONCE := $(shell expr $(call GET_NONCE,$(CB_SAFE_ON_OP)) + 1))\n\t$(call GEN_VALIDATION,WithdrawSmartEscrow,$(CB_SAFE_ON_OP),$(CB_NESTED_SENDER),coinbase-signer-part-6.json,SAFE_NONCE_$(call ADDR_UPPER,$(CB_SAFE_ON_OP))=$(CB_NONCE))\n\n.PHONY: gen-validation-op-2\ngen-validation-op-2: RPC_URL = $(OP_RPC_URL)\ngen-validation-op-2: deps-signer-tool\n\t$(call GEN_VALIDATION,WithdrawSmartEscrow,$(OP_SAFE_ON_OP),$(OP_OP_SENDER),optimism-op-mainnet-signer.json,)\n\n# Part 7: AddSecurityCouncilSigner\n# Uses CB_SIGNER_SAFE_ADDR which will approve part 1, 2 and 3 - needs nonce+3\n.PHONY: gen-validation-cb-sc-4\ngen-validation-cb-sc-4: deps-signer-tool\n\t$(eval SC_NONCE := $(shell expr $(call GET_NONCE,$(CB_SC_SAFE_ADDR)) + 3))\n\t$(call GEN_VALIDATION,AddSecurityCouncilSigner,,$(SC_SENDER),security-council-signer-part-4.json,SAFE_NONCE_$(call ADDR_UPPER,$(CB_SC_SAFE_ADDR))=$(SC_NONCE))\n\n##\n# Deployments\n##\n.PHONY: deploy-fee-disburser\ndeploy-fee-disburser:\nifndef VERIFIER_API_KEY\n\t$(error VERIFIER_API_KEY is not set)\nendif\n\tforge script script/DeployFeeDisburser.s.sol:DeployFeeDisburser \\\n\t\t--rpc-url $(L2_RPC_URL) \\\n\t\t--broadcast \\\n\t\t--verify \\\n\t\t--verifier-api-key $(VERIFIER_API_KEY) \\\n\t\t--ledger --hd-paths $(LEDGER_HD_PATH) \\\n\t\t-vvvv\n\n.PHONY: deploy-l1-contracts\ndeploy-l1-contracts:\nifndef VERIFIER_API_KEY\n\t$(error VERIFIER_API_KEY is not set)\nendif\n\tforge script script/DeploySuperchainConfigAndSystemConfig.s.sol:DeploySuperchainConfigAndSystemConfig \\\n\t\t--rpc-url $(L1_RPC_URL) \\\n\t\t--broadcast \\\n\t\t--verify \\\n\t\t--verifier-api-key $(VERIFIER_API_KEY) \\\n\t\t--ledger --hd-paths $(LEDGER_HD_PATH) \\\n\t\t-vvvv\n\n##\n# Approvals - UpdateProxyAdminOwnerSigners\n##\n.PHONY: approve-proxyadminowner-signers-cb\napprove-proxyadminowner-signers-cb: SCRIPT_NAME = UpdateProxyAdminOwnerSigners\napprove-proxyadminowner-signers-cb:\n\t$(call MULTISIG_APPROVE,$(CB_NESTED_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES))\n\n.PHONY: approve-proxyadminowner-signers-sc\napprove-proxyadminowner-signers-sc: SCRIPT_NAME = UpdateProxyAdminOwnerSigners\napprove-proxyadminowner-signers-sc:\n\t$(call MULTISIG_APPROVE,$(CB_SC_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES))\n\n.PHONY: approve-proxyadminowner-signers-op\napprove-proxyadminowner-signers-op: SCRIPT_NAME = UpdateProxyAdminOwnerSigners\napprove-proxyadminowner-signers-op:\n\t$(call MULTISIG_APPROVE,$(OP_SIGNER_SAFE_ADDR),$(SIGNATURES))\n\n.PHONY: approve-proxyadminowner-signers-cb-coord\napprove-proxyadminowner-signers-cb-coord: SCRIPT_NAME = UpdateProxyAdminOwnerSigners\napprove-proxyadminowner-signers-cb-coord:\n\t$(call MULTISIG_APPROVE,$(CB_SIGNER_SAFE_ADDR),0x)\n\n##\n# Approvals - UpdateCBSafeSigners\n##\n.PHONY: approve-cbsafesigners-cb\napprove-cbsafesigners-cb: SCRIPT_NAME = UpdateCBSafeSigners\napprove-cbsafesigners-cb:\n\t$(call MULTISIG_APPROVE,$(CB_NESTED_SAFE_ADDR),$(SIGNATURES))\n\n.PHONY: approve-cbsafesigners-sc\napprove-cbsafesigners-sc: SCRIPT_NAME = UpdateCBSafeSigners\napprove-cbsafesigners-sc:\n\t$(call MULTISIG_APPROVE,$(CB_SC_SAFE_ADDR),$(SIGNATURES))\n\n##\n# Approvals - UpgradeSystemConfig\n##\n.PHONY: approve-systemconfig-cb\napprove-systemconfig-cb: SCRIPT_NAME = UpgradeSystemConfig\napprove-systemconfig-cb:\n\t$(call MULTISIG_APPROVE,$(CB_SIGNER_SAFE_ADDR),$(SIGNATURES))\n\n.PHONY: approve-systemconfig-sc\napprove-systemconfig-sc: SCRIPT_NAME = UpgradeSystemConfig\napprove-systemconfig-sc:\n\t$(call MULTISIG_APPROVE,$(CB_SC_SAFE_ADDR),$(SIGNATURES))\n\n##\n# Approvals - WithdrawSmartEscrow\n##\n.PHONY: approve-withdraw-smartescrow-cb\napprove-withdraw-smartescrow-cb: RPC_URL = $(OP_RPC_URL)\napprove-withdraw-smartescrow-cb: SCRIPT_NAME = WithdrawSmartEscrow\napprove-withdraw-smartescrow-cb:\n\t$(call MULTISIG_APPROVE,$(CB_SAFE_ON_OP),$(SIGNATURES))\n\n.PHONY: approve-withdraw-smartescrow-op\napprove-withdraw-smartescrow-op: RPC_URL = $(OP_RPC_URL)\napprove-withdraw-smartescrow-op: SCRIPT_NAME = WithdrawSmartEscrow\napprove-withdraw-smartescrow-op:\n\t$(call MULTISIG_APPROVE,$(OP_SAFE_ON_OP),$(SIGNATURES))\n\n##\n# Execute\n##\n.PHONY: execute-proxyadminownersigners\nexecute-proxyadminownersigners: SCRIPT_NAME = UpdateProxyAdminOwnerSigners\nexecute-proxyadminownersigners:\n\t$(call MULTISIG_EXECUTE,0x)\n\n.PHONY: execute-cbsafesigners\nexecute-cbsafesigners: SCRIPT_NAME = UpdateCBSafeSigners\nexecute-cbsafesigners:\n\t$(call MULTISIG_EXECUTE,0x)\n\n.PHONY: execute-systemconfig\nexecute-systemconfig: SCRIPT_NAME = UpgradeSystemConfig\nexecute-systemconfig:\n\t$(call MULTISIG_EXECUTE,0x)\n\n.PHONY: execute-feedisburser\nexecute-feedisburser: SCRIPT_NAME = UpgradeFeeDisburser\nexecute-feedisburser:\n\t$(call MULTISIG_EXECUTE,$(SIGNATURES))\n\n.PHONY: execute-terminate-smartescrow\nexecute-terminate-smartescrow: RPC_URL = $(OP_RPC_URL)\nexecute-terminate-smartescrow: SCRIPT_NAME = TerminateSmartEscrow\nexecute-terminate-smartescrow:\n\t$(call MULTISIG_EXECUTE,$(SIGNATURES))\n\n.PHONY: execute-withdraw-smartescrow\nexecute-withdraw-smartescrow: RPC_URL = $(OP_RPC_URL)\nexecute-withdraw-smartescrow: SCRIPT_NAME = WithdrawSmartEscrow\nexecute-withdraw-smartescrow:\n\t$(call MULTISIG_EXECUTE,0x)\n\n.PHONY: execute-add-signer\nexecute-add-signer: SCRIPT_NAME = AddSecurityCouncilSigner\nexecute-add-signer:\n\t$(call MULTISIG_EXECUTE,$(SIGNATURES))\n"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/README.md",
    "content": "# Mainnet OP Stack Separation\n\nStatus: EXECUTED\n\n[UpdateProxyAdminOwnerSigners](https://etherscan.io/tx/0x00de17d8f1f65c5baa6cfb5ea313309ac6be1ca858035c5a4956727e7ff357e3)\n[UpdateCBSafeSigners](https://etherscan.io/tx/0x17d10687b8d9e0f7ce68b65e5cbc23bbceb7ac494a99746a6a2f979cd7206e4f)\n[UpgradeSystemConfig](https://etherscan.io/tx/0xa2dc938704977d2f3d0765832e79e1239d97aa6912efadc21a9705ef7dca42eb)\n[UpgradeFeeDisburser](https://etherscan.io/tx/0xdc700942c3b4e05e2ee2f6519cb8ed4e5ff626dc70f48c91931b1b3f3593f5b6)\n[TerminateSmartEscrow](https://optimistic.etherscan.io/tx/0x75ddb1f30d7fc14a4cea7ab7364cf34001b01863fee954c239564dbcfacbb178)\n[WithdrawSmartEscrow](https://optimistic.etherscan.io/tx/0xa3754486278c1a51c380a4507c05106e42f072af34be414c3c3abeca95f67e5b)\n[AddSecurityCouncilSigner](https://etherscan.io/tx/0x117b78c970396446c891ba82439351555c537f04d0d90222a9d523975bfe599b)\n\n## Description\n\nThis task executes our migration away from the shared Superchain configuration to a Base-owned configuration. Each signer profile must produce multiple signatures, so you will repeat the signing steps in the signer tool for each part until all parts are complete.\n\nThe number of signatures required per signer profile:\n\n| Signer Profile             | Parts        |\n| -------------------------- | ------------ |\n| Coinbase Signer            | 6 (part 1–6) |\n| Security Council Signer    | 4 (part 1–4) |\n| Optimism Signer            | 1            |\n| Optimism OP Mainnet Signer | 1            |\n\n## Procedure\n\n### Install dependencies\n\n#### 1. Update foundry\n\n```bash\nfoundryup\n```\n\n#### 2. Install Node.js if needed\n\nFirst, check if you have node installed:\n\n```bash\nnode --version\n```\n\nIf you see a version output from the above command, you can move on. Otherwise, install node:\n\n```bash\nbrew install node\n```\n\n### Approve the transaction\n\n#### 1. Update repo\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n#### 2. Run the signing tool\n\n```bash\nmake sign-task\n```\n\n#### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\n- Select the correct signer role from the list of available users to sign.\n- Complete the signature for the current part (e.g., part 1).\n- Repeat steps 2–3 for each subsequent part (part 2, part 3, … part N) until all parts have been signed.\n- After all parts are complete, close the signer tool with `Ctrl + C`.\n\n#### 4. Send signatures to facilitator\n\nCopy the signature outputs for all parts and send them to the designated facilitator via the agreed communication channel. The facilitator will collect all signatures and execute the transactions.\n\nFor facilitator instructions, see [FACILITATORS.md](./FACILITATORS.md).\n"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/contracts',\n    'solady/=lib/solady/src/',\n    '@solady/=lib/solady/src/',\n    '@lib-keccak/=lib/lib-keccak/contracts/lib',\n]\n\n[lint]\nlint_on_build = false\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/records/AddSecurityCouncilSigner.s.sol/1/run-1772559435293.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x117b78c970396446c891ba82439351555c537f04d0d90222a9d523975bfe599b\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd\",\n        \"0\",\n        \"0x0d582f13000000000000000000000000bde1845c879942fc326f247ad708677733dd55940000000000000000000000000000000000000000000000000000000000000008\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xfd658319c99cff49476e7e692935ad63fd8edb9564cefebef73a018e588a10b667af0bd5778ba8e1876f0959b64ac0178a0095c28042d131c7f531dcb7d3b1701c9d2899be8cf5a986b38afa3c0944fae9a41ceb3b865929f596e9171a200a96d50db6881bac9ece9c619a47d80c249e89df342733bdf83df9b950792c16c96b641cee52af07fb419041a77669fa8b1fca34a5aaedbfd2ddeba4b0fea29b00f4d7a276dd60dce1dcd3e4b3cc55745bb365e929b0fd9fdbc5c71ed5d78f6562aaa6221bd550fd9308d97a9a963e90b2be14e7fdb9db1579aa2333072c3976a3c4bfca3f63d34adba8e73e67e6523e13dc598c91c31f8e97f3f9fc5ac426bda6f75cfc2b1badda1c6da891e12d351a1c1d9ea34cbc9f4c5ef80e7fa9f2f60d18a738d6c8a96c9df2d806415c0e2cd8bd2632f18470f7aceb0cec6de73e74ef69bd5232d0411c8074bce08d825e17c70dfb8ba50472e7860d2169922c3c296bd899903a2c6e7b6f1408d271e0b2ac1a8410b9e5d5636376024b590a6b0eedaa275d64c5c466121b597e4140c168efd09ac0af8bf2c9c1287bb316d0dcc494e1a91bde55d23fd3e50c2eefb3bc25a1e34e399935db146532bcd8ef56770c1e0566463ff1016121d71b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n        \"gas\": \"0x2c829\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a76120200000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000bde1845c879942fc326f247ad708677733dd559400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c7fd658319c99cff49476e7e692935ad63fd8edb9564cefebef73a018e588a10b667af0bd5778ba8e1876f0959b64ac0178a0095c28042d131c7f531dcb7d3b1701c9d2899be8cf5a986b38afa3c0944fae9a41ceb3b865929f596e9171a200a96d50db6881bac9ece9c619a47d80c249e89df342733bdf83df9b950792c16c96b641cee52af07fb419041a77669fa8b1fca34a5aaedbfd2ddeba4b0fea29b00f4d7a276dd60dce1dcd3e4b3cc55745bb365e929b0fd9fdbc5c71ed5d78f6562aaa6221bd550fd9308d97a9a963e90b2be14e7fdb9db1579aa2333072c3976a3c4bfca3f63d34adba8e73e67e6523e13dc598c91c31f8e97f3f9fc5ac426bda6f75cfc2b1badda1c6da891e12d351a1c1d9ea34cbc9f4c5ef80e7fa9f2f60d18a738d6c8a96c9df2d806415c0e2cd8bd2632f18470f7aceb0cec6de73e74ef69bd5232d0411c8074bce08d825e17c70dfb8ba50472e7860d2169922c3c296bd899903a2c6e7b6f1408d271e0b2ac1a8410b9e5d5636376024b590a6b0eedaa275d64c5c466121b597e4140c168efd09ac0af8bf2c9c1287bb316d0dcc494e1a91bde55d23fd3e50c2eefb3bc25a1e34e399935db146532bcd8ef56770c1e0566463ff1016121d71b00000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x54\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x213fe2c\",\n      \"logs\": [\n        {\n          \"address\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\",\n            \"0x000000000000000000000000bde1845c879942fc326f247ad708677733dd5594\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x209657e9e7454b34db36f76168bc62670e21cfb80b7628e1daca232f0a8f21b5\",\n          \"blockNumber\": \"0x17709a0\",\n          \"blockTimestamp\": \"0x69a71c47\",\n          \"transactionHash\": \"0x117b78c970396446c891ba82439351555c537f04d0d90222a9d523975bfe599b\",\n          \"transactionIndex\": \"0x12c\",\n          \"logIndex\": \"0x45e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n          \"topics\": [\n            \"0x610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c93\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000008\",\n          \"blockHash\": \"0x209657e9e7454b34db36f76168bc62670e21cfb80b7628e1daca232f0a8f21b5\",\n          \"blockNumber\": \"0x17709a0\",\n          \"blockTimestamp\": \"0x69a71c47\",\n          \"transactionHash\": \"0x117b78c970396446c891ba82439351555c537f04d0d90222a9d523975bfe599b\",\n          \"transactionIndex\": \"0x12c\",\n          \"logIndex\": \"0x45f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0x234852df02c6e285dd47af493352c407aeec926e1e079c4355709d5902f92afe\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x209657e9e7454b34db36f76168bc62670e21cfb80b7628e1daca232f0a8f21b5\",\n          \"blockNumber\": \"0x17709a0\",\n          \"blockTimestamp\": \"0x69a71c47\",\n          \"transactionHash\": \"0x117b78c970396446c891ba82439351555c537f04d0d90222a9d523975bfe599b\",\n          \"transactionIndex\": \"0x12c\",\n          \"logIndex\": \"0x460\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000080200000000008040000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000004010000000000000000000000000000000000020010000000000000000000040000000000000000000000000000000000000000000000000000080000000000000000001001000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000008000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x117b78c970396446c891ba82439351555c537f04d0d90222a9d523975bfe599b\",\n      \"transactionIndex\": \"0x12c\",\n      \"blockHash\": \"0x209657e9e7454b34db36f76168bc62670e21cfb80b7628e1daca232f0a8f21b5\",\n      \"blockNumber\": \"0x17709a0\",\n      \"gasUsed\": \"0x20398\",\n      \"effectiveGasPrice\": \"0x960f3e9\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1772559435293,\n  \"chain\": 1,\n  \"commit\": \"d7efe46\"\n}"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/records/DeployFeeDisburser.s.sol/8453/run-1771962505194.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x031c32563f60ac00e52edb55a05936cb648a7f70b864321cfa9bdcf05345052d\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"FeeDisburser\",\n      \"contractAddress\": \"0xda70b4cd0cd8193f665a7d49cefd5f79f11fcc75\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x23B597f33f6f2621F77DA117523Dffd634cDf4ea\",\n        \"86400\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"gas\": \"0xa082f\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c060405234801561000f575f80fd5b5060405161092238038061092283398101604081905261002e9161008f565b6001600160a01b0382166100555760405163d92e233d60e01b815260040160405180910390fd5b62015180811015610079576040516352063f8560e11b815260040160405180910390fd5b6001600160a01b0390911660805260a0526100c6565b5f80604083850312156100a0575f80fd5b82516001600160a01b03811681146100b6575f80fd5b6020939093015192949293505050565b60805160a05161082e6100f45f395f8181610156015261020501525f818160c2015261034e015261082e5ff3fe608060405260043610610071575f3560e01c806354664de51161004c57806354664de51461014557806354fd4d5014610178578063ad41d09c146101c3578063b87ea8d4146101ed575f80fd5b806336f1a6e5146100b1578063394d27311461010e578063447eb5ac14610130575f80fd5b366100ad5760405134815233907f2ccfc58c2cef4ee590b5f16be0548cc54afc12e1c66a67b362b7d640fd16bb2d9060200160405180910390a2005b5f80fd5b3480156100bc575f80fd5b506100e47f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b348015610119575f80fd5b506101225f5481565b604051908152602001610105565b34801561013b575f80fd5b5061012260015481565b348015610150575f80fd5b506101227f000000000000000000000000000000000000000000000000000000000000000081565b348015610183575f80fd5b50604080518082018252600581527f312e302e300000000000000000000000000000000000000000000000000000006020820152905161010591906106c9565b3480156101ce575f80fd5b506101d86188b881565b60405163ffffffff9091168152602001610105565b3480156101f8575f80fd5b50610201610203565b005b7f00000000000000000000000000000000000000000000000000000000000000005f5461023091906106e2565b421015610269576040517fc7a06d5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6102867342000000000000000000000000000000000000116103f8565b6102a37342000000000000000000000000000000000000196103f8565b6102c073420000000000000000000000000000000000001a6103f8565b475f8190036102f4576040517f8c887b1215d5e6b119c1c1008fe1d0919b4c438301d5a0357362a13fb56f6a40905f90a150565b425f90815560408051602081018252918252517fe11013dd0000000000000000000000000000000000000000000000000000000081527342000000000000000000000000000000000000109163e11013dd91479161037a917f0000000000000000000000000000000000000000000000000000000000000000916188b891600401610720565b5f604051808303818588803b158015610391575f80fd5b505af11580156103a3573d5f803e3d5ffd5b50505050507fe155e054cfe69655d6d2f8bbfb856aa8cdf49ecbea6557901533364539caad945f545f836040516103ed939291909283526020830191909152604082015260600190565b60405180910390a150565b60018173ffffffffffffffffffffffffffffffffffffffff1663d0e12f906040518163ffffffff1660e01b8152600401602060405180830381865afa158015610443573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104679190610790565b600181111561047857610478610763565b146104af576040517f72e01a1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16630d9019e16040518163ffffffff1660e01b8152600401602060405180830381865afa15801561050f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061053391906107ae565b73ffffffffffffffffffffffffffffffffffffffff1614610580576040517fc9bb076d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663d3e5792b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ed91906107e1565b8173ffffffffffffffffffffffffffffffffffffffff16311061067a578073ffffffffffffffffffffffffffffffffffffffff16633ccfd60b6040518163ffffffff1660e01b81526004016020604051808303815f875af1158015610654573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061067891906107e1565b505b50565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f6106db602083018461067d565b9392505050565b8082018082111561071a577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b92915050565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff83166020820152606060408201525f61075a606083018461067d565b95945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f602082840312156107a0575f80fd5b8151600281106106db575f80fd5b5f602082840312156107be575f80fd5b815173ffffffffffffffffffffffffffffffffffffffff811681146106db575f80fd5b5f602082840312156107f1575f80fd5b505191905056fea2646970667358221220336c595fd7137b3c3f4c6426e8c647a4cef35063703231a6acf3a4f77f7ea01e64736f6c6343000819003300000000000000000000000023b597f33f6f2621f77da117523dffd634cdf4ea0000000000000000000000000000000000000000000000000000000000015180\",\n        \"nonce\": \"0x16\",\n        \"chainId\": \"0x2105\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x11c933e\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x031c32563f60ac00e52edb55a05936cb648a7f70b864321cfa9bdcf05345052d\",\n      \"transactionIndex\": \"0x3b\",\n      \"blockHash\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n      \"blockNumber\": \"0x289d1d3\",\n      \"gasUsed\": \"0x7b787\",\n      \"effectiveGasPrice\": \"0x5f9859\",\n      \"blobGasUsed\": \"0x28ca6\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": null,\n      \"contractAddress\": \"0xda70b4cd0cd8193f665a7d49cefd5f79f11fcc75\",\n      \"daFootprintGasScalar\": \"0x8b\",\n      \"l1BaseFeeScalar\": \"0x8dd\",\n      \"l1BlobBaseFee\": \"0x2c2f1c\",\n      \"l1BlobBaseFeeScalar\": \"0x101c12\",\n      \"l1Fee\": \"0x1c1e13ae\",\n      \"l1GasPrice\": \"0x2b9ccfe\",\n      \"l1GasUsed\": \"0x4b2f\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1771962505194,\n  \"chain\": 8453,\n  \"commit\": \"b338d09\"\n}"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/records/DeploySuperchainConfigAndSystemConfig.s.sol/1/run-1771973281770.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x5fe6086ac9be6441d08b253758f6da6b23883bf2494facfc18773a7930381f5b\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"SuperchainConfig\",\n      \"contractAddress\": \"0xc4ceeb264fa35a022e470acc3c6a522308f3ec02\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\n        \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"gas\": \"0xd0ff9\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c060405234801561001057600080fd5b50604051610bd4380380610bd483398101604081905261002f91610062565b6001600160a01b039182166080521660a052610095565b80516001600160a01b038116811461005d57600080fd5b919050565b6000806040838503121561007557600080fd5b61007e83610046565b915061008c60208401610046565b90509250929050565b60805160a051610af76100dd600039600081816102ad015281816102d601526109110152600081816101d4015281816102630152818161085f01526108d00152610af76000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80635c975abb11610097578063a967905811610066578063a9679058146102ab578063b2bff544146102d1578063dad544e0146102f8578063f125af6b1461030057600080fd5b80635c975abb14610256578063724c184c1461025e57806376a67a5114610285578063820057151461029857600080fd5b80633e47158c116100d35780633e47158c146101a5578063452a9320146101d257806354fd4d50146101f857806357b001f91461024157600080fd5b806304dbe3fe146101055780630e3b6d1f1461012b5780632e48152c1461014b57806332dfadd91461016e575b600080fd5b610118610113366004610990565b610309565b6040519081526020015b60405180910390f35b610118610139366004610990565b60006020819052908152604090205481565b61015e610159366004610990565b610353565b6040519015158152602001610122565b61015e61017c366004610990565b73ffffffffffffffffffffffffffffffffffffffff166000908152602081905260409020541590565b6101ad61039f565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610122565b7f00000000000000000000000000000000000000000000000000000000000000006101ad565b6102346040518060400160405280600581526020017f322e352e3000000000000000000000000000000000000000000000000000000081525081565b60405161012291906109ad565b61025461024f366004610990565b6105aa565b005b61015e610610565b6101ad7f000000000000000000000000000000000000000000000000000000000000000081565b610254610293366004610990565b610621565b6102546102a6366004610990565b6106fa565b7f00000000000000000000000000000000000000000000000000000000000000006101ad565b6101ad7f000000000000000000000000000000000000000000000000000000000000000081565b6101ad6107cf565b62784ce0610118565b73ffffffffffffffffffffffffffffffffffffffff811660009081526020819052604081205480820361033f5750600092915050565b61034c62784ce082610a4f565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152602081905260408120548082036103895750600092915050565b61039662784ce082610a4f565b42109392505050565b6000806103ca7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b905073ffffffffffffffffffffffffffffffffffffffff8116156103ed57919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e6765720000000000008152505160026104309190610a67565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000919091179061048b906060015b604051602081830303815290604052805190602001205490565b146104c2576040517f54e433cd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080513060208201526001918101919091526000906104e490606001610471565b905073ffffffffffffffffffffffffffffffffffffffff811615610578578073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561054d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105719190610aa4565b9250505090565b6040517f332144db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105b2610847565b73ffffffffffffffffffffffffffffffffffffffff81166000818152602081815260408083209290925590519182527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa91015b60405180910390a150565b600061061c6000610353565b905090565b6106296108b8565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260208190526040902054156106a3576040517fb7d8689400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526024015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff81166000818152602081815260409182902042905590519182527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589101610605565b610702610847565b73ffffffffffffffffffffffffffffffffffffffff81166000908152602081905260408120549003610778576040517f335b869500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260240161069a565b73ffffffffffffffffffffffffffffffffffffffff81166000818152602081815260409182902042905590519182527f1163213dbd11d2d966db59d270ddfc3c6fbe0540ffe8f0e7f38c5cac16d2f36b9101610605565b60006107d961039f565b73ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610823573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061c9190610aa4565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146108b6576040517fafbe9bc600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480159061093457503373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614155b156108b6576040517fd8f0cd1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461098d57600080fd5b50565b6000602082840312156109a257600080fd5b813561034c8161096b565b600060208083528351808285015260005b818110156109da578581018301518582016040015282016109be565b818111156109ec576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115610a6257610a62610a20565b500190565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610a9f57610a9f610a20565b500290565b600060208284031215610ab657600080fd5b815161034c8161096b56fea26469706673582212201fc2d4748a57ea5bb9d08639578195cae0662d14d2d150b1f7ec989d64c7ce9f64736f6c634300080f00330000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c00000000000000000000000014536667cd30e52c0b458baaccb9fada7046e056\",\n        \"nonce\": \"0x43\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xbee0439e568f1ce65bbc1fd28c1dac2be19e08c9d771f2b1b3c5d0449525a06a\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0xb535ff7f118260a952ce65e7ff41b1743de8ee6c\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x644e3DedB0e4F83Bfcf8F9992964d240224B74dc\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"gas\": \"0xa966d\",\n        \"value\": \"0x0\",\n        \"input\": \"0x608060405234801561001057600080fd5b5060405161094838038061094883398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206109288339815191525490565b600080516020610928833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b610834806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea26469706673582212206cc3f4a7681ca9dbc3f40b95accbd7755aa5af7dd2a1ed42bd0d302a66ea6bdf64736f6c634300080f0033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103000000000000000000000000644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"nonce\": \"0x44\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x29d51cf032651b7bedba5af1030eff2c43e40b676d4fe2cdf6c970a8a01e3a43\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0xb535ff7f118260a952ce65e7ff41b1743de8ee6c\",\n      \"function\": \"upgradeTo(address)\",\n      \"arguments\": [\n        \"0xc4ceeB264Fa35a022e470aCc3C6A522308f3ec02\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0xb535ff7f118260a952ce65e7ff41b1743de8ee6c\",\n        \"gas\": \"0xfe85\",\n        \"value\": \"0x0\",\n        \"input\": \"0x3659cfe6000000000000000000000000c4ceeb264fa35a022e470acc3c6a522308f3ec02\",\n        \"nonce\": \"0x45\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xe75671e5b58fe5265cd96f886f3378ff75b0fb11ba75dee924d828a744cf482a\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0xb535ff7f118260a952ce65e7ff41b1743de8ee6c\",\n      \"function\": \"changeAdmin(address)\",\n      \"arguments\": [\n        \"0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0xb535ff7f118260a952ce65e7ff41b1743de8ee6c\",\n        \"gas\": \"0x98ca\",\n        \"value\": \"0x0\",\n        \"input\": \"0x8f2839700000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e\",\n        \"nonce\": \"0x46\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x3b68285ae90531b2b358d03e271eb84e9ad449058eda5f1ea7dbccea04daf952\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"SystemConfig\",\n      \"contractAddress\": \"0x0507aaa21c678976fcdc7e804836acd6ebc17a44\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"gas\": \"0x377955\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60a06040523480156200001157600080fd5b5060046080526200005f6200004860017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a062000135565b60001b6000196200006f60201b62001b241760201c565b6200006962000073565b6200015b565b9055565b600054610100900460ff1615620000e05760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000133576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000828210156200015657634e487b7160e01b600052601160045260246000fd5b500390565b6080516131046200017e600039600081816105620152610b3801526131046000f3fe608060405234801561001057600080fd5b50600436106103af5760003560e01c80637e54b8ad116101f4578063d220a9e01161011a578063f2c4bc9e116100ad578063f8c68de01161007c578063f8c68de0146109d2578063fd32aa0f146109da578063fe3d5710146109e2578063ffa1ad7414610a1b57600080fd5b8063f2c4bc9e1461098f578063f2fde38b146109a2578063f45e65d8146109b5578063f68016b7146109be57600080fd5b8063e0e2016d116100e9578063e0e2016d14610956578063e81b2c6d1461095e578063ec70751714610967578063f2b4e6171461098757600080fd5b8063d220a9e01461092d578063d6ae3cd51461093d578063dac6e63a14610946578063dad544e01461094e57600080fd5b8063b40a817c11610192578063c4e8ddfa11610161578063c4e8ddfa146107c6578063c9b26f61146107ce578063c9ff2d16146107e1578063cc731b02146107f957600080fd5b8063b40a817c1461077c578063bc49ce5f1461078f578063bfb14fb714610797578063c0fd4b41146107b357600080fd5b80639b7d7f0a116101ce5780639b7d7f0a146106ca578063a39fac12146106d2578063a62611a214610748578063a71198691461077457600080fd5b80637e54b8ad146106915780638da5cb5b14610699578063935f029e146106b757600080fd5b806321d7fde5116102d95780634add321d116102775780635c975abb116102465780635c975abb146106665780635d73369c1461066e578063715018a6146106765780637616f0e81461067e57600080fd5b80634add321d146105c75780634d5d9a2a146105cf5780634f16540b1461060057806354fd4d501461062757600080fd5b80633e47158c116102b35780633e47158c1461058c578063452a93201461059457806347af267b1461059c57806348cd4cb1146105bf57600080fd5b806321d7fde51461052857806335e80ab31461053b57806338d38c971461055b57600080fd5b806316d3bc7f116103515780631fd19ee1116103205780631fd19ee1146104a657806320f06fdc146104ae57806321326849146104c1578063215b7a1c1461052057600080fd5b806316d3bc7f1461045457806318d139181461047857806319f5cea81461048b5780631edd50981461049357600080fd5b80630a49cb031161038d5780630a49cb03146104115780630ae14b1b146104195780630c18c16214610438578063155b6c6f1461044157600080fd5b806306c92657146103b4578063078f29cf146103cf5780630a2ca2a9146103fc575b600080fd5b6103bc610a23565b6040519081526020015b60405180910390f35b6103d7610a51565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016103c6565b61040f61040a366004612ac6565b610a8a565b005b6103d7610ab4565b631dcd65005b60405167ffffffffffffffff90911681526020016103c6565b6103bc60655481565b61040f61044f366004612b16565b610ae4565b606a5461041f906c01000000000000000000000000900467ffffffffffffffff1681565b61040f610486366004612ac6565b610afa565b6103bc610b0b565b61040f6104a1366004612c80565b610b36565b6103d7610ed2565b61040f6104bc366004612df0565b610efc565b7f435553544f4d5f4741535f544f4b454e00000000000000000000000000000000600052606d6020527f3ec9a18bd22a834e2a13465cc2aa2a9aebb161ffdebf39cdb0028dbb1b5394b45460ff165b60405190151581526020016103c6565b6103d7610f0d565b61040f610536366004612e14565b610f3d565b606c546103d79073ffffffffffffffffffffffffffffffffffffffff1681565b60405160ff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103c6565b6103d7610f4f565b6103d761115a565b6105106105aa366004612e3e565b606d6020526000908152604090205460ff1681565b6103bc6111ee565b61041f61121e565b606a546105eb9068010000000000000000900463ffffffff1681565b60405163ffffffff90911681526020016103c6565b6103bc7f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c0881565b604080518082018252600681527f332e31332e320000000000000000000000000000000000000000000000000000602082015290516103c69190612ec2565b610510611244565b6103bc611451565b61040f61147c565b61040f61068c366004612ed5565b611490565b6103bc6114a1565b60335473ffffffffffffffffffffffffffffffffffffffff166103d7565b61040f6106c5366004612ef0565b6114cc565b6103d76114de565b6106da61150e565b6040516103c69190600060c08201905073ffffffffffffffffffffffffffffffffffffffff8084511683528060208501511660208401528060408501511660408401528060608501511660608401528060808501511660808401528060a08501511660a08401525092915050565b606c5461041f9074010000000000000000000000000000000000000000900467ffffffffffffffff1681565b6103d761161f565b61040f61078a366004612ed5565b61164f565b6103bc611660565b6068546105eb9068010000000000000000900463ffffffff1681565b61040f6107c1366004612e14565b61168b565b6103d761169d565b61040f6107dc366004612e3e565b6116cd565b606a546105eb90640100000000900463ffffffff1681565b6108bd6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152506040805160c08101825260695463ffffffff8082168352640100000000820460ff9081166020850152650100000000008304169383019390935266010000000000008104831660608301526a0100000000000000000000810490921660808201526e0100000000000000000000000000009091046fffffffffffffffffffffffffffffffff1660a082015290565b6040516103c69190600060c08201905063ffffffff80845116835260ff602085015116602084015260ff6040850151166040840152806060850151166060840152806080850151166080840152506fffffffffffffffffffffffffffffffff60a08401511660a083015292915050565b606a546105eb9063ffffffff1681565b6103bc606b5481565b6103d76116de565b6103d761170e565b6103bc611762565b6103bc60675481565b6068546105eb906c01000000000000000000000000900463ffffffff1681565b6103d761178d565b61040f61099d366004612f20565b611809565b61040f6109b0366004612ac6565b611a1a565b6103bc60665481565b60685461041f9067ffffffffffffffff1681565b6103bc611ace565b6103bc611af9565b606a54610a089074010000000000000000000000000000000000000000900461ffff1681565b60405161ffff90911681526020016103c6565b6103bc600081565b610a4e60017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d612f7f565b81565b6000610a85610a8160017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377612f7f565b5490565b905090565b610a92611b28565b610ab173ffffffffffffffffffffffffffffffffffffffff8216611ba9565b50565b6000610a85610a8160017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad612f7f565b610aec611b28565b610af68282611c0a565b5050565b610b02611b28565b610ab181611d1a565b610a4e60017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8612f7f565b7f0000000000000000000000000000000000000000000000000000000000000000600054610100900460ff16158015610b76575060005460ff8083169116105b610c07576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001660ff831617610100179055610c40611d9e565b610c48611e1f565b610c518c611a1a565b610c5a89611ba9565b610c648b8b611ebe565b610c6d88611fc3565b610c967f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c08889055565b610cc9610cc460017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598612f7f565b869055565b610cfd610cf760017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637612f7f565b85519055565b610d34610d2b60017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8612f7f565b60208601519055565b610d6b610d6260017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377612f7f565b60408601519055565b610da2610d9960017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad612f7f565b60608601519055565b610dd9610dd060017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d612f7f565b60808601519055565b610e10610e0760017f51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd5900612f7f565b60a08601519055565b610e18612119565b610e2186612181565b606b839055606c80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416179055600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050505050505050565b6000610a857f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c085490565b610f04611b28565b610ab1816125f5565b6000610a85610a8160017f51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd5900612f7f565b610f45611b28565b610af68282611ebe565b600080610f7a7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b905073ffffffffffffffffffffffffffffffffffffffff811615610f9d57919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000815250516002610fe09190612f96565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000919091179061103b906060015b604051602081830303815290604052805190602001205490565b14611072576040517f54e433cd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805130602082015260019181019190915260009061109490606001611021565b905073ffffffffffffffffffffffffffffffffffffffff811615611128578073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111219190612fd3565b9250505090565b6040517f332144db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606c54604080517f452a9320000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163452a93209160048083019260209291908290030181865afa1580156111ca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a859190612fd3565b6000610a85610a8160017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0612f7f565b606954600090610a859063ffffffff6a0100000000000000000000820481169116612ff0565b7f4554485f4c4f434b424f580000000000000000000000000000000000000000006000908152606d6020527f58e88e949bd180ff86d6c072735c3d8d5a05a543c16130176ec0bc0adf3fd80654819060ff166112a7576112a2610ab4565b61131d565b6112af610ab4565b73ffffffffffffffffffffffffffffffffffffffff1663b682c4446040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131d9190612fd3565b606c546040517f2e48152c0000000000000000000000000000000000000000000000000000000081526000600482015291925073ffffffffffffffffffffffffffffffffffffffff1690632e48152c90602401602060405180830381865afa15801561138d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b1919061301c565b8061144b5750606c546040517f2e48152c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff838116600483015290911690632e48152c90602401602060405180830381865afa158015611427573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144b919061301c565b91505090565b610a4e60017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637612f7f565b611484611b28565b61148e6000612662565b565b611498611b28565b610ab1816126d9565b610a4e60017f51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd5900612f7f565b6114d4611b28565b610af6828261274c565b6000610a85610a8160017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d612f7f565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a08101919091526040518060c0016040528061155361161f565b73ffffffffffffffffffffffffffffffffffffffff16815260200161157661169d565b73ffffffffffffffffffffffffffffffffffffffff168152602001611599610a51565b73ffffffffffffffffffffffffffffffffffffffff1681526020016115bc610ab4565b73ffffffffffffffffffffffffffffffffffffffff1681526020016115df6114de565b73ffffffffffffffffffffffffffffffffffffffff168152602001611602610f0d565b73ffffffffffffffffffffffffffffffffffffffff169052919050565b6000610a85610a8160017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637612f7f565b611657611b28565b610ab181611fc3565b610a4e60017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598612f7f565b611693611b28565b610af68282612822565b6000610a85610a8160017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8612f7f565b6116d5611b28565b610ab181611ba9565b6000610a85610a8160017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598612f7f565b6000611718610f4f565b73ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111ca573d6000803e3d6000fd5b610a4e60017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0612f7f565b600080611798610ab4565b90508073ffffffffffffffffffffffffffffffffffffffff1663f2b4e6176040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144b9190612fd3565b611811611d9e565b6000828152606d602052604090205460ff1615158115150361185f576040517ff5828b0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f4554485f4c4f434b424f5800000000000000000000000000000000000000000082036119b0576000828152606d602052604090205460ff1680156118a2575080155b801561193a575060006118b3610ab4565b73ffffffffffffffffffffffffffffffffffffffff1663b682c4446040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119219190612fd3565b73ffffffffffffffffffffffffffffffffffffffff1614155b15611971576040517ff5828b0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611979611244565b156119b0576040517ff5828b0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828152606d602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168415159081179091559051909184917fb876f6594132c89891d2fd198e925e999be741ec809abb58bfe9b966876cc06c9190a35050565b611a22611b28565b73ffffffffffffffffffffffffffffffffffffffff8116611ac5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610bfe565b610ab181612662565b610a4e60017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377612f7f565b610a4e60017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad612f7f565b9055565b60335473ffffffffffffffffffffffffffffffffffffffff16331461148e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610bfe565b60678190556040805160208082018490528251808303909101815290820190915260005b60007f1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be83604051611bfe9190612ec2565b60405180910390a35050565b606a80547fffffffffffffffffffffffff000000000000000000000000ffffffffffffffff166801000000000000000063ffffffff8516027fffffffffffffffffffffffff0000000000000000ffffffffffffffffffffffff16176c0100000000000000000000000067ffffffffffffffff841690810291909117909155604080516bffffffff000000000000000085831b16909217602083015260009101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060055b60007f1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be83604051611d0d9190612ec2565b60405180910390a3505050565b611d437f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c08829055565b6040805173ffffffffffffffffffffffffffffffffffffffff8316602082015260009101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290506003611bcd565b33611da7610f4f565b73ffffffffffffffffffffffffffffffffffffffff1614158015611de8575033611dcf61170e565b73ffffffffffffffffffffffffffffffffffffffff1614155b1561148e576040517fc4050a2600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600054610100900460ff16611eb6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610bfe565b61148e6129f4565b606880547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff166801000000000000000063ffffffff8581169182027fffffffffffffffffffffffffffffffff00000000ffffffffffffffffffffffff16929092176c0100000000000000000000000092851692909202919091179091557f0100000000000000000000000000000000000000000000000000000000000000602083811b67ffffffff000000001690921717606681905560655460408051938401919091528201526000906060015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290506001611cdc565b611fcb61121e565b67ffffffffffffffff168167ffffffffffffffff161015612048576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f77006044820152606401610bfe565b631dcd650067ffffffffffffffff821611156120c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f20686967686044820152606401610bfe565b606880547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff83169081179091556040805160208082019390935281518082039093018352810190526002611bcd565b612147610a8160017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0612f7f565b60000361148e5761148e61217c60017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0612f7f565b439055565b8060a001516fffffffffffffffffffffffffffffffff16816060015163ffffffff161115612231576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f53797374656d436f6e6669673a206d696e206261736520666565206d7573742060448201527f6265206c657373207468616e206d6178206261736500000000000000000000006064820152608401610bfe565b6001816040015160ff16116122c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f53797374656d436f6e6669673a2064656e6f6d696e61746f72206d757374206260448201527f65206c6172676572207468616e203100000000000000000000000000000000006064820152608401610bfe565b6068546080820151825167ffffffffffffffff909216916122e99190613039565b63ffffffff161115612357576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f77006044820152606401610bfe565b6000816020015160ff16116123ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f53797374656d436f6e6669673a20656c6173746963697479206d756c7469706c60448201527f6965722063616e6e6f74206265203000000000000000000000000000000000006064820152608401610bfe565b8051602082015163ffffffff82169160ff9091169061240e908290613058565b61241891906130a2565b63ffffffff16146124ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f53797374656d436f6e6669673a20707265636973696f6e206c6f73732077697460448201527f6820746172676574207265736f75726365206c696d69740000000000000000006064820152608401610bfe565b805160698054602084015160408501516060860151608087015160a09097015163ffffffff9687167fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009095169490941764010000000060ff94851602177fffffffffffffffffffffffffffffffffffffffffffff0000000000ffffffffff166501000000000093909216929092027fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff1617660100000000000091851691909102177fffff0000000000000000000000000000000000000000ffffffffffffffffffff166a010000000000000000000093909416929092027fffff00000000000000000000000000000000ffffffffffffffffffffffffffff16929092176e0100000000000000000000000000006fffffffffffffffffffffffffffffffff90921691909102179055565b606a80547fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000061ffff8416908102919091179091556040805160208082019390935281518082039093018352810190526007611bcd565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606c80547fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000067ffffffffffffffff8416908102919091179091556040805160208082019390935281518082039093018352810190526006611bcd565b7fff000000000000000000000000000000000000000000000000000000000000008116156127fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f53797374656d436f6e6669673a207363616c61722065786365656473206d617860448201527f2e000000000000000000000000000000000000000000000000000000000000006064820152608401610bfe565b606582905560668190556040805160208101849052908101829052600090606001611f8c565b60018263ffffffff1610156128b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53797374656d436f6e6669673a2064656e6f6d696e61746f72206d757374206260448201527f65203e3d203100000000000000000000000000000000000000000000000000006064820152608401610bfe565b60018163ffffffff161015612950576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f53797374656d436f6e6669673a20656c6173746963697479206d75737420626560448201527f203e3d20310000000000000000000000000000000000000000000000000000006064820152608401610bfe565b606a805463ffffffff83811664010000000081027fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000090931691861691909117919091179091556040516000916129bd91602086811b67ffffffff0000000016909217910190815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290506004611cdc565b600054610100900460ff16612a8b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610bfe565b61148e33612662565b73ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b8035612ac181612a94565b919050565b600060208284031215612ad857600080fd5b8135612ae381612a94565b9392505050565b803563ffffffff81168114612ac157600080fd5b803567ffffffffffffffff81168114612ac157600080fd5b60008060408385031215612b2957600080fd5b612b3283612aea565b9150612b4060208401612afe565b90509250929050565b60405160c0810167ffffffffffffffff81118282101715612b93577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b803560ff81168114612ac157600080fd5b600060c08284031215612bbc57600080fd5b60405160c0810181811067ffffffffffffffff82111715612c06577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040529050808235612c1781612a94565b81526020830135612c2781612a94565b60208201526040830135612c3a81612a94565b60408201526060830135612c4d81612a94565b60608201526080830135612c6081612a94565b608082015260a0830135612c7381612a94565b60a0919091015292915050565b60008060008060008060008060008060008b8d036102a0811215612ca357600080fd5b8c35612cae81612a94565b9b50612cbc60208e01612aea565b9a50612cca60408e01612aea565b995060608d01359850612cdf60808e01612afe565b975060a08d0135612cef81612a94565b965060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4082011215612d2157600080fd5b50612d2a612b49565b612d3660c08e01612aea565b8152612d4460e08e01612b99565b6020820152612d566101008e01612b99565b6040820152612d686101208e01612aea565b6060820152612d7a6101408e01612aea565b60808201526101608d01356fffffffffffffffffffffffffffffffff81168114612da357600080fd5b60a08201529450612db76101808d01612ab6565b9350612dc78d6101a08e01612baa565b92506102608c01359150612dde6102808d01612ab6565b90509295989b509295989b9093969950565b600060208284031215612e0257600080fd5b813561ffff81168114612ae357600080fd5b60008060408385031215612e2757600080fd5b612e3083612aea565b9150612b4060208401612aea565b600060208284031215612e5057600080fd5b5035919050565b6000815180845260005b81811015612e7d57602081850181015186830182015201612e61565b81811115612e8f576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000612ae36020830184612e57565b600060208284031215612ee757600080fd5b612ae382612afe565b60008060408385031215612f0357600080fd5b50508035926020909101359150565b8015158114610ab157600080fd5b60008060408385031215612f3357600080fd5b823591506020830135612f4581612f12565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015612f9157612f91612f50565b500390565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612fce57612fce612f50565b500290565b600060208284031215612fe557600080fd5b8151612ae381612a94565b600067ffffffffffffffff80831681851680830382111561301357613013612f50565b01949350505050565b60006020828403121561302e57600080fd5b8151612ae381612f12565b600063ffffffff80831681851680830382111561301357613013612f50565b600063ffffffff80841680613096577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b92169190910492915050565b600063ffffffff808316818516818304811182151516156130c5576130c5612f50565b0294935050505056fea264697066735822122015eb76369f67aa910a0fae5f4a9e9a9b9b4b22d853abcf77ae151ce1e4249aba64736f6c634300080f0033\",\n        \"nonce\": \"0x47\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x12bf56f\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x5fe6086ac9be6441d08b253758f6da6b23883bf2494facfc18773a7930381f5b\",\n      \"transactionIndex\": \"0x9e\",\n      \"blockHash\": \"0x3d42e88b68dc571e813d40d06dff53353a441f9263771ad756105977d0d6b2a7\",\n      \"blockNumber\": \"0x1764bb3\",\n      \"gasUsed\": \"0xa0c4a\",\n      \"effectiveGasPrice\": \"0x2782de6\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": null,\n      \"contractAddress\": \"0xc4ceeb264fa35a022e470acc3c6a522308f3ec02\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xec2b05\",\n      \"logs\": [\n        {\n          \"address\": \"0xb535ff7f118260a952ce65e7ff41b1743de8ee6c\",\n          \"topics\": [\n            \"0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n          \"blockHash\": \"0xb97757e1515940073043b50e761efbe645278f54438f2175d5cd180818d7e3ee\",\n          \"blockNumber\": \"0x1764bb6\",\n          \"blockTimestamp\": \"0x699e2a9f\",\n          \"transactionHash\": \"0xbee0439e568f1ce65bbc1fd28c1dac2be19e08c9d771f2b1b3c5d0449525a06a\",\n          \"transactionIndex\": \"0xc8\",\n          \"logIndex\": \"0x15d\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000200000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xbee0439e568f1ce65bbc1fd28c1dac2be19e08c9d771f2b1b3c5d0449525a06a\",\n      \"transactionIndex\": \"0xc8\",\n      \"blockHash\": \"0xb97757e1515940073043b50e761efbe645278f54438f2175d5cd180818d7e3ee\",\n      \"blockNumber\": \"0x1764bb6\",\n      \"gasUsed\": \"0x824f2\",\n      \"effectiveGasPrice\": \"0x2672164\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": null,\n      \"contractAddress\": \"0xb535ff7f118260a952ce65e7ff41b1743de8ee6c\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xece34a\",\n      \"logs\": [\n        {\n          \"address\": \"0xb535ff7f118260a952ce65e7ff41b1743de8ee6c\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x000000000000000000000000c4ceeb264fa35a022e470acc3c6a522308f3ec02\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xb97757e1515940073043b50e761efbe645278f54438f2175d5cd180818d7e3ee\",\n          \"blockNumber\": \"0x1764bb6\",\n          \"blockTimestamp\": \"0x699e2a9f\",\n          \"transactionHash\": \"0x29d51cf032651b7bedba5af1030eff2c43e40b676d4fe2cdf6c970a8a01e3a43\",\n          \"transactionIndex\": \"0xc9\",\n          \"logIndex\": \"0x15e\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000080400000100000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000002000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x29d51cf032651b7bedba5af1030eff2c43e40b676d4fe2cdf6c970a8a01e3a43\",\n      \"transactionIndex\": \"0xc9\",\n      \"blockHash\": \"0xb97757e1515940073043b50e761efbe645278f54438f2175d5cd180818d7e3ee\",\n      \"blockNumber\": \"0x1764bb6\",\n      \"gasUsed\": \"0xb845\",\n      \"effectiveGasPrice\": \"0x2672164\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0xb535ff7f118260a952ce65e7ff41b1743de8ee6c\",\n      \"contractAddress\": null\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x18f2d11\",\n      \"logs\": [\n        {\n          \"address\": \"0xb535ff7f118260a952ce65e7ff41b1743de8ee6c\",\n          \"topics\": [\n            \"0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f\"\n          ],\n          \"data\": \"0x000000000000000000000000644e3dedb0e4f83bfcf8f9992964d240224b74dc0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e\",\n          \"blockHash\": \"0xb97757e1515940073043b50e761efbe645278f54438f2175d5cd180818d7e3ee\",\n          \"blockNumber\": \"0x1764bb6\",\n          \"blockTimestamp\": \"0x699e2a9f\",\n          \"transactionHash\": \"0xe75671e5b58fe5265cd96f886f3378ff75b0fb11ba75dee924d828a744cf482a\",\n          \"transactionIndex\": \"0x12c\",\n          \"logIndex\": \"0x28e\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000200000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xe75671e5b58fe5265cd96f886f3378ff75b0fb11ba75dee924d828a744cf482a\",\n      \"transactionIndex\": \"0x12c\",\n      \"blockHash\": \"0xb97757e1515940073043b50e761efbe645278f54438f2175d5cd180818d7e3ee\",\n      \"blockNumber\": \"0x1764bb6\",\n      \"gasUsed\": \"0x6e9f\",\n      \"effectiveGasPrice\": \"0x2672164\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0xb535ff7f118260a952ce65e7ff41b1743de8ee6c\",\n      \"contractAddress\": null\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1e3a3d5\",\n      \"logs\": [\n        {\n          \"address\": \"0x0507aaa21c678976fcdc7e804836acd6ebc17a44\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000ff\",\n          \"blockHash\": \"0xb97757e1515940073043b50e761efbe645278f54438f2175d5cd180818d7e3ee\",\n          \"blockNumber\": \"0x1764bb6\",\n          \"blockTimestamp\": \"0x699e2a9f\",\n          \"transactionHash\": \"0x3b68285ae90531b2b358d03e271eb84e9ad449058eda5f1ea7dbccea04daf952\",\n          \"transactionIndex\": \"0x13d\",\n          \"logIndex\": \"0x2dd\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000010000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x3b68285ae90531b2b358d03e271eb84e9ad449058eda5f1ea7dbccea04daf952\",\n      \"transactionIndex\": \"0x13d\",\n      \"blockHash\": \"0xb97757e1515940073043b50e761efbe645278f54438f2175d5cd180818d7e3ee\",\n      \"blockNumber\": \"0x1764bb6\",\n      \"gasUsed\": \"0x2aac1a\",\n      \"effectiveGasPrice\": \"0x2672164\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": null,\n      \"contractAddress\": \"0x0507aaa21c678976fcdc7e804836acd6ebc17a44\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1771973281770,\n  \"chain\": 1,\n  \"commit\": \"3f75356\"\n}"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/records/TerminateSmartEscrow.s.sol/10/run-1772559267231.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x75ddb1f30d7fc14a4cea7ab7364cf34001b01863fee954c239564dbcfacbb178\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xb3C2f9fC2727078EC3A2255410e83BA5B62c5B5f\",\n        \"0\",\n        \"0x0c08bf88\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x6cde48d33a3a10c2ef3f3c4a8e2cb828bc85ed1b35dcd55a21f975198ec896711789bdc406bf96894648b25fdab941165707a65ca4b4b08239cc81e1c0b519f91bedc409e68d1990e6b67295eb84e4845a01517098b9d45c7f936f765b87a34179186cafbc19c7a73bae989ea3e7e3ed2e43d1151f803b9fb0e9fe727cfff188341c11cba1dd26e1e66f65415843579fe3b964f862fa71c0481f848ab9ddea6971324a59d74d84ca7d6f15ae711176beb571adef70c9c994378761edd2a1ea851fd71b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6\",\n        \"gas\": \"0x24eba\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000b3c2f9fc2727078ec3a2255410e83ba5b62c5b5f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000040c08bf880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c36cde48d33a3a10c2ef3f3c4a8e2cb828bc85ed1b35dcd55a21f975198ec896711789bdc406bf96894648b25fdab941165707a65ca4b4b08239cc81e1c0b519f91bedc409e68d1990e6b67295eb84e4845a01517098b9d45c7f936f765b87a34179186cafbc19c7a73bae989ea3e7e3ed2e43d1151f803b9fb0e9fe727cfff188341c11cba1dd26e1e66f65415843579fe3b964f862fa71c0481f848ab9ddea6971324a59d74d84ca7d6f15ae711176beb571adef70c9c994378761edd2a1ea851fd71b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x7\",\n        \"chainId\": \"0xa\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x346cbb\",\n      \"logs\": [\n        {\n          \"address\": \"0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000b3c2f9fc2727078ec3a2255410e83ba5b62c5b5f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000040c08bf880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c36cde48d33a3a10c2ef3f3c4a8e2cb828bc85ed1b35dcd55a21f975198ec896711789bdc406bf96894648b25fdab941165707a65ca4b4b08239cc81e1c0b519f91bedc409e68d1990e6b67295eb84e4845a01517098b9d45c7f936f765b87a34179186cafbc19c7a73bae989ea3e7e3ed2e43d1151f803b9fb0e9fe727cfff188341c11cba1dd26e1e66f65415843579fe3b964f862fa71c0481f848ab9ddea6971324a59d74d84ca7d6f15ae711176beb571adef70c9c994378761edd2a1ea851fd71b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000003000000000000000000000000644e3dedb0e4f83bfcf8f9992964d240224b74dc0000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0x91604538d951272324a39cb09793a8af265432e6568362068a5dc1a07f84a56e\",\n          \"blockNumber\": \"0x8d9a0f5\",\n          \"blockTimestamp\": \"0x69a71ba3\",\n          \"transactionHash\": \"0x75ddb1f30d7fc14a4cea7ab7364cf34001b01863fee954c239564dbcfacbb178\",\n          \"transactionIndex\": \"0x7\",\n          \"logIndex\": \"0x78\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb3c2f9fc2727078ec3a2255410e83ba5b62c5b5f\",\n          \"topics\": [\n            \"0x6d0d90585834980bd0e5603341ff50b06349c11e0bf9241d03f6d065f12a262b\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x91604538d951272324a39cb09793a8af265432e6568362068a5dc1a07f84a56e\",\n          \"blockNumber\": \"0x8d9a0f5\",\n          \"blockTimestamp\": \"0x69a71ba3\",\n          \"transactionHash\": \"0x75ddb1f30d7fc14a4cea7ab7364cf34001b01863fee954c239564dbcfacbb178\",\n          \"transactionIndex\": \"0x7\",\n          \"logIndex\": \"0x79\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x4a42b8883abd35c22e8c2ef8373b2641bbfe8814cafe91bfa9530269c939a7490000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x91604538d951272324a39cb09793a8af265432e6568362068a5dc1a07f84a56e\",\n          \"blockNumber\": \"0x8d9a0f5\",\n          \"blockTimestamp\": \"0x69a71ba3\",\n          \"transactionHash\": \"0x75ddb1f30d7fc14a4cea7ab7364cf34001b01863fee954c239564dbcfacbb178\",\n          \"transactionIndex\": \"0x7\",\n          \"logIndex\": \"0x7a\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000000000100000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000010000000000000000000000000000800000000000008000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000004000000000000000001000000000000000000000000000000040000000000020000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000004\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x75ddb1f30d7fc14a4cea7ab7364cf34001b01863fee954c239564dbcfacbb178\",\n      \"transactionIndex\": \"0x7\",\n      \"blockHash\": \"0x91604538d951272324a39cb09793a8af265432e6568362068a5dc1a07f84a56e\",\n      \"blockNumber\": \"0x8d9a0f5\",\n      \"gasUsed\": \"0x193eb\",\n      \"effectiveGasPrice\": \"0x452\",\n      \"blobGasUsed\": \"0x1af40\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6\",\n      \"contractAddress\": null,\n      \"daFootprintGasScalar\": \"0x190\",\n      \"l1BaseFeeScalar\": \"0x146b\",\n      \"l1BlobBaseFee\": \"0x8dbeb1\",\n      \"l1BlobBaseFeeScalar\": \"0xf79c5\",\n      \"l1Fee\": \"0x18b554d57\",\n      \"l1GasPrice\": \"0xa67a4ae\",\n      \"l1GasUsed\": \"0x1141\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1772559267231,\n  \"chain\": 10,\n  \"commit\": \"d7efe46\"\n}"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/records/UpdateCBSafeSigners.s.sol/1/approve-latest.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xb791395ec26b0b2a443d74c042c8105d3a65a63c3d53af00479b22a8151fe2c7\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x9855054731540A48b28990B63DcF4f33d8AE46A1\",\n        \"0\",\n        \"0xd4d9bdcdea2e51f62de22ec9d80a45b4f788c33c59a71b773fe3dda2b5fe8851ffb8655c\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xdec5607c6bba2296d1e0b4f5ae239fad109a9405ecd3969d234f6fca6ec53da852946e0c74eb8a840c00c8b3d0bd5ca534356ab3f871ffa9563e8172876e57721c8a94aecd7d9c41466f650ff62350d15b714dcb7ae3235bc170f1d85e76374a565908b3baf52002a64afc564f71eb6c624108b992bcd539145ccd6e34e84d63551ca6a856248ae6f6d034f23da1661c100b7adb5d60ab7fca46d6c12e869a01afa8022af70e0d4210dd20068d9c3caa5288b7d3d89b8352f3e06efd482da76322a51b2315d679c1499169c53cfe548c228a73321470971e0cb8a0864f881336e1fdba548b1ce1f6b78fccf2a48d65873ee231a84918ea22c1689e68d3092944f3e78f1bbef6944a855c755dcec417040f2bc0b829ccd3b4723fd16c1dc1763d56442b4a7bcbad9a54f045420f05aa0436886d42e1410e894575951c93f8e1aa385ceb1e1cc4a3bf34475ae347243601e3b69d96c4d4e550d5ed3dd7fc8d0b75abc2be1d725e76bd5f3f74f5fc5f45e1c638767ded826f16ffe79db84b74c293fedbab16881c240a94ae6e540f5cc46609e984b613f5f818e02f06f653b01212879eb3b8c02f1aa70faa7979b2fc9e1a07ccc384cfe80e679ebe7630658119e2b7af1089f9f51b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n        \"gas\": \"0x2a994\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcdea2e51f62de22ec9d80a45b4f788c33c59a71b773fe3dda2b5fe8851ffb8655c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c7dec5607c6bba2296d1e0b4f5ae239fad109a9405ecd3969d234f6fca6ec53da852946e0c74eb8a840c00c8b3d0bd5ca534356ab3f871ffa9563e8172876e57721c8a94aecd7d9c41466f650ff62350d15b714dcb7ae3235bc170f1d85e76374a565908b3baf52002a64afc564f71eb6c624108b992bcd539145ccd6e34e84d63551ca6a856248ae6f6d034f23da1661c100b7adb5d60ab7fca46d6c12e869a01afa8022af70e0d4210dd20068d9c3caa5288b7d3d89b8352f3e06efd482da76322a51b2315d679c1499169c53cfe548c228a73321470971e0cb8a0864f881336e1fdba548b1ce1f6b78fccf2a48d65873ee231a84918ea22c1689e68d3092944f3e78f1bbef6944a855c755dcec417040f2bc0b829ccd3b4723fd16c1dc1763d56442b4a7bcbad9a54f045420f05aa0436886d42e1410e894575951c93f8e1aa385ceb1e1cc4a3bf34475ae347243601e3b69d96c4d4e550d5ed3dd7fc8d0b75abc2be1d725e76bd5f3f74f5fc5f45e1c638767ded826f16ffe79db84b74c293fedbab16881c240a94ae6e540f5cc46609e984b613f5f818e02f06f653b01212879eb3b8c02f1aa70faa7979b2fc9e1a07ccc384cfe80e679ebe7630658119e2b7af1089f9f51b00000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x4e\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1e5ca0c\",\n      \"logs\": [\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xea2e51f62de22ec9d80a45b4f788c33c59a71b773fe3dda2b5fe8851ffb8655c\",\n            \"0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x0e83f196dfa8bb1e280a55a6f3cd185b025c1da43e052a7d32f2f2a39b6ee6aa\",\n          \"blockNumber\": \"0x1770970\",\n          \"blockTimestamp\": \"0x69a71a07\",\n          \"transactionHash\": \"0xb791395ec26b0b2a443d74c042c8105d3a65a63c3d53af00479b22a8151fe2c7\",\n          \"transactionIndex\": \"0x1ae\",\n          \"logIndex\": \"0x31e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0x4a63cc4fd50d3eaf0b6714725c2c70ca4ba8a0615b7729e6f749399a682db1ac\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x0e83f196dfa8bb1e280a55a6f3cd185b025c1da43e052a7d32f2f2a39b6ee6aa\",\n          \"blockNumber\": \"0x1770970\",\n          \"blockTimestamp\": \"0x69a71a07\",\n          \"transactionHash\": \"0xb791395ec26b0b2a443d74c042c8105d3a65a63c3d53af00479b22a8151fe2c7\",\n          \"transactionIndex\": \"0x1ae\",\n          \"logIndex\": \"0x31f\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000001000000010000000000000000008000000000008040000000000000000000000800000000000000000000000000000100800000000000000000000000000000000000000000000000000000008000000000000400000000000000000400000000008400000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020010004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000080000000000000000000000000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xb791395ec26b0b2a443d74c042c8105d3a65a63c3d53af00479b22a8151fe2c7\",\n      \"transactionIndex\": \"0x1ae\",\n      \"blockHash\": \"0x0e83f196dfa8bb1e280a55a6f3cd185b025c1da43e052a7d32f2f2a39b6ee6aa\",\n      \"blockNumber\": \"0x1770970\",\n      \"gasUsed\": \"0x1ed74\",\n      \"effectiveGasPrice\": \"0xda301d8\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1772558857931,\n  \"chain\": 1,\n  \"commit\": \"d7efe46\"\n}"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/records/UpdateCBSafeSigners.s.sol/1/run-1772558762154.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x73f4719c586a50cea1ffbbcaa369ed5f0b5db27dacf0f7c064707eb6ff8a6d13\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x9855054731540A48b28990B63DcF4f33d8AE46A1\",\n        \"0\",\n        \"0xd4d9bdcdea2e51f62de22ec9d80a45b4f788c33c59a71b773fe3dda2b5fe8851ffb8655c\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xb77fd3671bd7317da4af668e8bd1b14d19b1c939d7c5ad4affe3b463b5cd431d7849734b88743b175ab29d0bf6a03836735f92ccb231f969230dada8c555cfb31b6069c6f990514b8c9b4b837860f17516556e84ee728e276397cf792cdf88a41e26c118d6919ce23bb15bc26ee57947befe8a1fbddef2c18224c7cc235deebae61cc2344acd85489b564ca1af6efaf2ad6a33ed9627d80cd486c3ebc3297682b9170ccef8f8d714770785175c5ffe6a69726ee9c7497219d3e171133ebf2c04caec1c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n        \"gas\": \"0x2110f\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcdea2e51f62de22ec9d80a45b4f788c33c59a71b773fe3dda2b5fe8851ffb8655c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3b77fd3671bd7317da4af668e8bd1b14d19b1c939d7c5ad4affe3b463b5cd431d7849734b88743b175ab29d0bf6a03836735f92ccb231f969230dada8c555cfb31b6069c6f990514b8c9b4b837860f17516556e84ee728e276397cf792cdf88a41e26c118d6919ce23bb15bc26ee57947befe8a1fbddef2c18224c7cc235deebae61cc2344acd85489b564ca1af6efaf2ad6a33ed9627d80cd486c3ebc3297682b9170ccef8f8d714770785175c5ffe6a69726ee9c7497219d3e171133ebf2c04caec1c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x4d\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1f5fc39\",\n      \"logs\": [\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xea2e51f62de22ec9d80a45b4f788c33c59a71b773fe3dda2b5fe8851ffb8655c\",\n            \"0x0000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x5eec65612b926e4fb25b18b6d449f8515aa13d9d32991223b9c44d2ec965612a\",\n          \"blockNumber\": \"0x1770968\",\n          \"blockTimestamp\": \"0x69a719a7\",\n          \"transactionHash\": \"0x73f4719c586a50cea1ffbbcaa369ed5f0b5db27dacf0f7c064707eb6ff8a6d13\",\n          \"transactionIndex\": \"0x1c1\",\n          \"logIndex\": \"0x3c9\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0xcbfee2aaf1f4a88d8c7ab9b62edb353e928e226a94ec4ac0156d81b7d64c6f44\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x5eec65612b926e4fb25b18b6d449f8515aa13d9d32991223b9c44d2ec965612a\",\n          \"blockNumber\": \"0x1770968\",\n          \"blockTimestamp\": \"0x69a719a7\",\n          \"transactionHash\": \"0x73f4719c586a50cea1ffbbcaa369ed5f0b5db27dacf0f7c064707eb6ff8a6d13\",\n          \"transactionIndex\": \"0x1c1\",\n          \"logIndex\": \"0x3ca\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000400400000000000000010000000000000000008000000000000040000000000000100000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000008000000800000000000040000000000400000000008400000000000000000000000000800000000000000000000000000000000000000000000001000010000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000010000000000000000000000000000000000000000000100000000000001000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x73f4719c586a50cea1ffbbcaa369ed5f0b5db27dacf0f7c064707eb6ff8a6d13\",\n      \"transactionIndex\": \"0x1c1\",\n      \"blockHash\": \"0x5eec65612b926e4fb25b18b6d449f8515aa13d9d32991223b9c44d2ec965612a\",\n      \"blockNumber\": \"0x1770968\",\n      \"gasUsed\": \"0x17f08\",\n      \"effectiveGasPrice\": \"0xf17d56f\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1772558762154,\n  \"chain\": 1,\n  \"commit\": \"d7efe46\"\n}"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/records/UpdateCBSafeSigners.s.sol/1/run-1772558857931.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xb791395ec26b0b2a443d74c042c8105d3a65a63c3d53af00479b22a8151fe2c7\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x9855054731540A48b28990B63DcF4f33d8AE46A1\",\n        \"0\",\n        \"0xd4d9bdcdea2e51f62de22ec9d80a45b4f788c33c59a71b773fe3dda2b5fe8851ffb8655c\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xdec5607c6bba2296d1e0b4f5ae239fad109a9405ecd3969d234f6fca6ec53da852946e0c74eb8a840c00c8b3d0bd5ca534356ab3f871ffa9563e8172876e57721c8a94aecd7d9c41466f650ff62350d15b714dcb7ae3235bc170f1d85e76374a565908b3baf52002a64afc564f71eb6c624108b992bcd539145ccd6e34e84d63551ca6a856248ae6f6d034f23da1661c100b7adb5d60ab7fca46d6c12e869a01afa8022af70e0d4210dd20068d9c3caa5288b7d3d89b8352f3e06efd482da76322a51b2315d679c1499169c53cfe548c228a73321470971e0cb8a0864f881336e1fdba548b1ce1f6b78fccf2a48d65873ee231a84918ea22c1689e68d3092944f3e78f1bbef6944a855c755dcec417040f2bc0b829ccd3b4723fd16c1dc1763d56442b4a7bcbad9a54f045420f05aa0436886d42e1410e894575951c93f8e1aa385ceb1e1cc4a3bf34475ae347243601e3b69d96c4d4e550d5ed3dd7fc8d0b75abc2be1d725e76bd5f3f74f5fc5f45e1c638767ded826f16ffe79db84b74c293fedbab16881c240a94ae6e540f5cc46609e984b613f5f818e02f06f653b01212879eb3b8c02f1aa70faa7979b2fc9e1a07ccc384cfe80e679ebe7630658119e2b7af1089f9f51b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n        \"gas\": \"0x2a994\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcdea2e51f62de22ec9d80a45b4f788c33c59a71b773fe3dda2b5fe8851ffb8655c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c7dec5607c6bba2296d1e0b4f5ae239fad109a9405ecd3969d234f6fca6ec53da852946e0c74eb8a840c00c8b3d0bd5ca534356ab3f871ffa9563e8172876e57721c8a94aecd7d9c41466f650ff62350d15b714dcb7ae3235bc170f1d85e76374a565908b3baf52002a64afc564f71eb6c624108b992bcd539145ccd6e34e84d63551ca6a856248ae6f6d034f23da1661c100b7adb5d60ab7fca46d6c12e869a01afa8022af70e0d4210dd20068d9c3caa5288b7d3d89b8352f3e06efd482da76322a51b2315d679c1499169c53cfe548c228a73321470971e0cb8a0864f881336e1fdba548b1ce1f6b78fccf2a48d65873ee231a84918ea22c1689e68d3092944f3e78f1bbef6944a855c755dcec417040f2bc0b829ccd3b4723fd16c1dc1763d56442b4a7bcbad9a54f045420f05aa0436886d42e1410e894575951c93f8e1aa385ceb1e1cc4a3bf34475ae347243601e3b69d96c4d4e550d5ed3dd7fc8d0b75abc2be1d725e76bd5f3f74f5fc5f45e1c638767ded826f16ffe79db84b74c293fedbab16881c240a94ae6e540f5cc46609e984b613f5f818e02f06f653b01212879eb3b8c02f1aa70faa7979b2fc9e1a07ccc384cfe80e679ebe7630658119e2b7af1089f9f51b00000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x4e\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1e5ca0c\",\n      \"logs\": [\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xea2e51f62de22ec9d80a45b4f788c33c59a71b773fe3dda2b5fe8851ffb8655c\",\n            \"0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x0e83f196dfa8bb1e280a55a6f3cd185b025c1da43e052a7d32f2f2a39b6ee6aa\",\n          \"blockNumber\": \"0x1770970\",\n          \"blockTimestamp\": \"0x69a71a07\",\n          \"transactionHash\": \"0xb791395ec26b0b2a443d74c042c8105d3a65a63c3d53af00479b22a8151fe2c7\",\n          \"transactionIndex\": \"0x1ae\",\n          \"logIndex\": \"0x31e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0x4a63cc4fd50d3eaf0b6714725c2c70ca4ba8a0615b7729e6f749399a682db1ac\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x0e83f196dfa8bb1e280a55a6f3cd185b025c1da43e052a7d32f2f2a39b6ee6aa\",\n          \"blockNumber\": \"0x1770970\",\n          \"blockTimestamp\": \"0x69a71a07\",\n          \"transactionHash\": \"0xb791395ec26b0b2a443d74c042c8105d3a65a63c3d53af00479b22a8151fe2c7\",\n          \"transactionIndex\": \"0x1ae\",\n          \"logIndex\": \"0x31f\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000001000000010000000000000000008000000000008040000000000000000000000800000000000000000000000000000100800000000000000000000000000000000000000000000000000000008000000000000400000000000000000400000000008400000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020010004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000080000000000000000000000000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xb791395ec26b0b2a443d74c042c8105d3a65a63c3d53af00479b22a8151fe2c7\",\n      \"transactionIndex\": \"0x1ae\",\n      \"blockHash\": \"0x0e83f196dfa8bb1e280a55a6f3cd185b025c1da43e052a7d32f2f2a39b6ee6aa\",\n      \"blockNumber\": \"0x1770970\",\n      \"gasUsed\": \"0x1ed74\",\n      \"effectiveGasPrice\": \"0xda301d8\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1772558857931,\n  \"chain\": 1,\n  \"commit\": \"d7efe46\"\n}"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/records/UpdateCBSafeSigners.s.sol/1/run-1772558895941.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x17d10687b8d9e0f7ce68b65e5cbc23bbceb7ac494a99746a6a2f979cd7206e4f\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303\",\n        \"0\",\n        \"0x858cc8320000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000a200000000000000000000000000000000000000000000000000000000000000aa00000000000000000000000000000000000000000000000000000000000000b200000000000000000000000000000000000000000000000000000000000000ba00000000000000000000000000000000000000000000000000000000000000c200000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000d20000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c580130300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000088482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000580000000000000000000000000000000000000000000000000000000000000066000000000000000000000000000000000000000000000000000000000000007400000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000000000000000000000000000000000000000000100000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000006cd3850756b7894774ab715d136f9dd02837de500000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000003cd692ece8b6573a2220ae00d0deb98f0dffa9a10000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000001c870776b168a9ffae80c51f050c611edd2467410000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000003dad2200849925bb46d9bf05afa5f7f213f4c18e0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000b011a32ed8b4f70d9943a2199f539bbecd7b62f70000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000f9e320f3da12e68af219d9e2a490dd649f6b177c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000006cd3850756b7894774ab715d136f9dd02837de500000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n        \"gas\": \"0x5e09a\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c5801303000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f600000000000000000000000000000000000000000000000000000000000000de4858cc8320000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000a200000000000000000000000000000000000000000000000000000000000000aa00000000000000000000000000000000000000000000000000000000000000b200000000000000000000000000000000000000000000000000000000000000ba00000000000000000000000000000000000000000000000000000000000000c200000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000d20000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c580130300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000088482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000580000000000000000000000000000000000000000000000000000000000000066000000000000000000000000000000000000000000000000000000000000007400000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000000000000000000000000000000000000000000100000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000006cd3850756b7894774ab715d136f9dd02837de500000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000003cd692ece8b6573a2220ae00d0deb98f0dffa9a10000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000001c870776b168a9ffae80c51f050c611edd2467410000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000003dad2200849925bb46d9bf05afa5f7f213f4c18e0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000b011a32ed8b4f70d9943a2199f539bbecd7b62f70000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000f9e320f3da12e68af219d9e2a490dd649f6b177c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000006cd3850756b7894774ab715d136f9dd02837de500000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a11000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x4f\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x153d5a8\",\n      \"logs\": [\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n          \"blockHash\": \"0xce5799969952049f6fed5a3ea4db917e787ebc94afc497b7240bece2c05ee094\",\n          \"blockNumber\": \"0x1770973\",\n          \"blockTimestamp\": \"0x69a71a2b\",\n          \"transactionHash\": \"0x17d10687b8d9e0f7ce68b65e5cbc23bbceb7ac494a99746a6a2f979cd7206e4f\",\n          \"transactionIndex\": \"0x5c\",\n          \"logIndex\": \"0x459\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0x610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c93\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0xce5799969952049f6fed5a3ea4db917e787ebc94afc497b7240bece2c05ee094\",\n          \"blockNumber\": \"0x1770973\",\n          \"blockTimestamp\": \"0x69a71a2b\",\n          \"transactionHash\": \"0x17d10687b8d9e0f7ce68b65e5cbc23bbceb7ac494a99746a6a2f979cd7206e4f\",\n          \"transactionIndex\": \"0x5c\",\n          \"logIndex\": \"0x45a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x0000000000000000000000006cd3850756b7894774ab715d136f9dd02837de50\",\n          \"blockHash\": \"0xce5799969952049f6fed5a3ea4db917e787ebc94afc497b7240bece2c05ee094\",\n          \"blockNumber\": \"0x1770973\",\n          \"blockTimestamp\": \"0x69a71a2b\",\n          \"transactionHash\": \"0x17d10687b8d9e0f7ce68b65e5cbc23bbceb7ac494a99746a6a2f979cd7206e4f\",\n          \"transactionIndex\": \"0x5c\",\n          \"logIndex\": \"0x45b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x0000000000000000000000003cd692ece8b6573a2220ae00d0deb98f0dffa9a1\",\n          \"blockHash\": \"0xce5799969952049f6fed5a3ea4db917e787ebc94afc497b7240bece2c05ee094\",\n          \"blockNumber\": \"0x1770973\",\n          \"blockTimestamp\": \"0x69a71a2b\",\n          \"transactionHash\": \"0x17d10687b8d9e0f7ce68b65e5cbc23bbceb7ac494a99746a6a2f979cd7206e4f\",\n          \"transactionIndex\": \"0x5c\",\n          \"logIndex\": \"0x45c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x0000000000000000000000001c870776b168a9ffae80c51f050c611edd246741\",\n          \"blockHash\": \"0xce5799969952049f6fed5a3ea4db917e787ebc94afc497b7240bece2c05ee094\",\n          \"blockNumber\": \"0x1770973\",\n          \"blockTimestamp\": \"0x69a71a2b\",\n          \"transactionHash\": \"0x17d10687b8d9e0f7ce68b65e5cbc23bbceb7ac494a99746a6a2f979cd7206e4f\",\n          \"transactionIndex\": \"0x5c\",\n          \"logIndex\": \"0x45d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x0000000000000000000000003dad2200849925bb46d9bf05afa5f7f213f4c18e\",\n          \"blockHash\": \"0xce5799969952049f6fed5a3ea4db917e787ebc94afc497b7240bece2c05ee094\",\n          \"blockNumber\": \"0x1770973\",\n          \"blockTimestamp\": \"0x69a71a2b\",\n          \"transactionHash\": \"0x17d10687b8d9e0f7ce68b65e5cbc23bbceb7ac494a99746a6a2f979cd7206e4f\",\n          \"transactionIndex\": \"0x5c\",\n          \"logIndex\": \"0x45e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x000000000000000000000000b011a32ed8b4f70d9943a2199f539bbecd7b62f7\",\n          \"blockHash\": \"0xce5799969952049f6fed5a3ea4db917e787ebc94afc497b7240bece2c05ee094\",\n          \"blockNumber\": \"0x1770973\",\n          \"blockTimestamp\": \"0x69a71a2b\",\n          \"transactionHash\": \"0x17d10687b8d9e0f7ce68b65e5cbc23bbceb7ac494a99746a6a2f979cd7206e4f\",\n          \"transactionIndex\": \"0x5c\",\n          \"logIndex\": \"0x45f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x000000000000000000000000f9e320f3da12e68af219d9e2a490dd649f6b177c\",\n          \"blockHash\": \"0xce5799969952049f6fed5a3ea4db917e787ebc94afc497b7240bece2c05ee094\",\n          \"blockNumber\": \"0x1770973\",\n          \"blockTimestamp\": \"0x69a71a2b\",\n          \"transactionHash\": \"0x17d10687b8d9e0f7ce68b65e5cbc23bbceb7ac494a99746a6a2f979cd7206e4f\",\n          \"transactionIndex\": \"0x5c\",\n          \"logIndex\": \"0x460\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x0000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n          \"blockHash\": \"0xce5799969952049f6fed5a3ea4db917e787ebc94afc497b7240bece2c05ee094\",\n          \"blockNumber\": \"0x1770973\",\n          \"blockTimestamp\": \"0x69a71a2b\",\n          \"transactionHash\": \"0x17d10687b8d9e0f7ce68b65e5cbc23bbceb7ac494a99746a6a2f979cd7206e4f\",\n          \"transactionIndex\": \"0x5c\",\n          \"logIndex\": \"0x461\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0x610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c93\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0xce5799969952049f6fed5a3ea4db917e787ebc94afc497b7240bece2c05ee094\",\n          \"blockNumber\": \"0x1770973\",\n          \"blockTimestamp\": \"0x69a71a2b\",\n          \"transactionHash\": \"0x17d10687b8d9e0f7ce68b65e5cbc23bbceb7ac494a99746a6a2f979cd7206e4f\",\n          \"transactionIndex\": \"0x5c\",\n          \"logIndex\": \"0x462\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xea2e51f62de22ec9d80a45b4f788c33c59a71b773fe3dda2b5fe8851ffb8655c0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xce5799969952049f6fed5a3ea4db917e787ebc94afc497b7240bece2c05ee094\",\n          \"blockNumber\": \"0x1770973\",\n          \"blockTimestamp\": \"0x69a71a2b\",\n          \"transactionHash\": \"0x17d10687b8d9e0f7ce68b65e5cbc23bbceb7ac494a99746a6a2f979cd7206e4f\",\n          \"transactionIndex\": \"0x5c\",\n          \"logIndex\": \"0x463\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000010000000000000000088000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000010000000000000000000000000000000000020004000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000001000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000400000000000000000000000008000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x17d10687b8d9e0f7ce68b65e5cbc23bbceb7ac494a99746a6a2f979cd7206e4f\",\n      \"transactionIndex\": \"0x5c\",\n      \"blockHash\": \"0xce5799969952049f6fed5a3ea4db917e787ebc94afc497b7240bece2c05ee094\",\n      \"blockNumber\": \"0x1770973\",\n      \"gasUsed\": \"0x4414f\",\n      \"effectiveGasPrice\": \"0xd17f166\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1772558895941,\n  \"chain\": 1,\n  \"commit\": \"d7efe46\"\n}"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/records/UpdateProxyAdminOwnerSigners.s.sol/1/approve-latest.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x34f8f89ab1f12bc549da0060098e5d645da1058148eba78a71062896ad71f0a7\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\n        \"0\",\n        \"0xd4d9bdcd2caeadb15ac54460cd92d2f96969a14d2734cdbea59c206efef81d923fcb909c\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x32bf05a877ef8b95de1384ea0bead927deb4cd2df05c2a7a4ef0ec960540363800b398f196d8096ace03a19122c9143157576e13350198aa9261f952614fb2a41c00000000000000000000000042d27eea1ad6e22af6284f609847cb3cd56b9c640000000000000000000000000000000000000000000000000000000000000000019e97dec43fdfed41178ff6df5444cf9c516f8aa4bdcbafeb5debe5ead48236c67d3a41d55487d48be2e46a73480219a09feb7c8092afe7b4016cc8fe130137131bef6edda87bde50b6083115f5a179f7393cea0f66493c598a98e939cba12359394f72ee04e7ecba7f5ca37d6dc3721252c7dc69b94b3227f30d7590a2d8d598e91cdb1ee97ae35265e54c0b4f6cae5a5f4d0f2c0a54e33eb21af88e27b221ef32297eea3b0fcc9f0311d476d4b40dbcf66c6b96c96a0b0f97e3e87eaacb35d33cd21b8041c10f6a49c977188c0a8ec3329391a38ac4e066462b036d857b14aff1b84707000366a31d23a3562ea882b30a2b3232baaf3e507825f9ec77723471231b151b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a\",\n        \"gas\": \"0x27e36\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd2caeadb15ac54460cd92d2f96969a14d2734cdbea59c206efef81d923fcb909c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018632bf05a877ef8b95de1384ea0bead927deb4cd2df05c2a7a4ef0ec960540363800b398f196d8096ace03a19122c9143157576e13350198aa9261f952614fb2a41c00000000000000000000000042d27eea1ad6e22af6284f609847cb3cd56b9c640000000000000000000000000000000000000000000000000000000000000000019e97dec43fdfed41178ff6df5444cf9c516f8aa4bdcbafeb5debe5ead48236c67d3a41d55487d48be2e46a73480219a09feb7c8092afe7b4016cc8fe130137131bef6edda87bde50b6083115f5a179f7393cea0f66493c598a98e939cba12359394f72ee04e7ecba7f5ca37d6dc3721252c7dc69b94b3227f30d7590a2d8d598e91cdb1ee97ae35265e54c0b4f6cae5a5f4d0f2c0a54e33eb21af88e27b221ef32297eea3b0fcc9f0311d476d4b40dbcf66c6b96c96a0b0f97e3e87eaacb35d33cd21b8041c10f6a49c977188c0a8ec3329391a38ac4e066462b036d857b14aff1b84707000366a31d23a3562ea882b30a2b3232baaf3e507825f9ec77723471231b151b0000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x4b\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x20a98c4\",\n      \"logs\": [\n        {\n          \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x2caeadb15ac54460cd92d2f96969a14d2734cdbea59c206efef81d923fcb909c\",\n            \"0x0000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x318aabe32046047e1514c7bd3fe5b6feb22e4e73bb6a006e2852be5541565618\",\n          \"blockNumber\": \"0x177095e\",\n          \"blockTimestamp\": \"0x69a7192f\",\n          \"transactionHash\": \"0x34f8f89ab1f12bc549da0060098e5d645da1058148eba78a71062896ad71f0a7\",\n          \"transactionIndex\": \"0x144\",\n          \"logIndex\": \"0x4ed\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0xfc5bb803a2b2c2b8ef2a18886cd5aa51ae6070a93c5612c37067398d9cbb9fc0\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x318aabe32046047e1514c7bd3fe5b6feb22e4e73bb6a006e2852be5541565618\",\n          \"blockNumber\": \"0x177095e\",\n          \"blockTimestamp\": \"0x69a7192f\",\n          \"transactionHash\": \"0x34f8f89ab1f12bc549da0060098e5d645da1058148eba78a71062896ad71f0a7\",\n          \"transactionIndex\": \"0x144\",\n          \"logIndex\": \"0x4ee\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000002000000000000000000000004000000000000000000100000000000200000001000000000000000000000000000000000002000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000020000000000000000000000004000000000000010000000000000000008000000000000000800000000000000000000000000000000000000000000080000000000000002000000000000000200000400000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x34f8f89ab1f12bc549da0060098e5d645da1058148eba78a71062896ad71f0a7\",\n      \"transactionIndex\": \"0x144\",\n      \"blockHash\": \"0x318aabe32046047e1514c7bd3fe5b6feb22e4e73bb6a006e2852be5541565618\",\n      \"blockNumber\": \"0x177095e\",\n      \"gasUsed\": \"0x1b463\",\n      \"effectiveGasPrice\": \"0x110250fa\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1772558642511,\n  \"chain\": 1,\n  \"commit\": \"d7efe46\"\n}"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/records/UpdateProxyAdminOwnerSigners.s.sol/1/run-1772558365917.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xd3400410fff4138675f138673b4e366429c02d3645776aa5f1b368a884eae7d0\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x9855054731540A48b28990B63DcF4f33d8AE46A1\",\n        \"0\",\n        \"0xd4d9bdcd7e11393f480558eade8d3d233b3af9a3aca1c28e1a599eb9246297be90290abf\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x6ab550791e874b605d8b0f398e098023ec50b1be802ddde5396591ab0b7666363883b29a91c58fcfa6ade4a2d80969f010759f59b5cf26e0b5b30b85b55b2ecd1b1de1a93c26bcdc21405bea35a105e9fd4c06d5d09fc8c3ce755fe2a2756deb690b2da92af78bc9f7d58954f95830a10b91db78457679469139aed44d528deb9a1b15800fa038c13b5758cbaa19675195f6f538a2cb0583072f5f1f9c3aac17a16d5e8eafd9ceddaea76faa8ce6e2b6685a9c1693c87acb05222bcaa6e19b1a5d781b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n        \"gas\": \"0x2110f\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd7e11393f480558eade8d3d233b3af9a3aca1c28e1a599eb9246297be90290abf0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c36ab550791e874b605d8b0f398e098023ec50b1be802ddde5396591ab0b7666363883b29a91c58fcfa6ade4a2d80969f010759f59b5cf26e0b5b30b85b55b2ecd1b1de1a93c26bcdc21405bea35a105e9fd4c06d5d09fc8c3ce755fe2a2756deb690b2da92af78bc9f7d58954f95830a10b91db78457679469139aed44d528deb9a1b15800fa038c13b5758cbaa19675195f6f538a2cb0583072f5f1f9c3aac17a16d5e8eafd9ceddaea76faa8ce6e2b6685a9c1693c87acb05222bcaa6e19b1a5d781b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x48\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x19e7b0f\",\n      \"logs\": [\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x7e11393f480558eade8d3d233b3af9a3aca1c28e1a599eb9246297be90290abf\",\n            \"0x0000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x0caea267401ff35907f57fb6f9d561d62bc6cbb48548c4c1fb234c5850cb9c75\",\n          \"blockNumber\": \"0x1770948\",\n          \"blockTimestamp\": \"0x69a7181b\",\n          \"transactionHash\": \"0xd3400410fff4138675f138673b4e366429c02d3645776aa5f1b368a884eae7d0\",\n          \"transactionIndex\": \"0x131\",\n          \"logIndex\": \"0x30a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0xd5e65d6cf89b35f05bdb8edd290944fd61f1281f86d38957c335ed4760b4dbe2\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x0caea267401ff35907f57fb6f9d561d62bc6cbb48548c4c1fb234c5850cb9c75\",\n          \"blockNumber\": \"0x1770948\",\n          \"blockTimestamp\": \"0x69a7181b\",\n          \"transactionHash\": \"0xd3400410fff4138675f138673b4e366429c02d3645776aa5f1b368a884eae7d0\",\n          \"transactionIndex\": \"0x131\",\n          \"logIndex\": \"0x30b\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000010000000000800000008000000000000040000000000000100000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000008000000800000000000040000000000400001000000000000000000000000000000000000000000000000000000000000000000000000000000001000010000000000000000000000000000000000000000000000000000000004000000000000000000000080000000000000000020000000000000000000000000000000000000000000000000000000000800000000000000000000000000000008000000000000100000000000001000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xd3400410fff4138675f138673b4e366429c02d3645776aa5f1b368a884eae7d0\",\n      \"transactionIndex\": \"0x131\",\n      \"blockHash\": \"0x0caea267401ff35907f57fb6f9d561d62bc6cbb48548c4c1fb234c5850cb9c75\",\n      \"blockNumber\": \"0x1770948\",\n      \"gasUsed\": \"0x17f08\",\n      \"effectiveGasPrice\": \"0x100955ac\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1772558365917,\n  \"chain\": 1,\n  \"commit\": \"d7efe46\"\n}"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/records/UpdateProxyAdminOwnerSigners.s.sol/1/run-1772558522364.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xbaae2197df523a8d7c4618494059f8c140ea8a782b4ab4e77645b0e797ef001a\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x9855054731540A48b28990B63DcF4f33d8AE46A1\",\n        \"0\",\n        \"0xd4d9bdcd7e11393f480558eade8d3d233b3af9a3aca1c28e1a599eb9246297be90290abf\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0278383dc4647ce1e893dfaf31906793d010c30f0db235d90bbfc350f42cbfb0405a1b6954ef2db2ea716536c56f157a5d4a6c324e3af8977efab343bc52c30c1be0711f42a5f34391e4d7646a5b86664e3cc8e004a4c6fa2471b900325636aeb62e4f1247b34f902d2abb3367661720fe08bfb4020965a923860a882dad3530741c037c8dae2b480bd3897bce44f3a81bc39103d8371fbc3bc10b2cad350d837ecf6d58fda932246849247d82245864c1a3524e683eef79343b936be9650a6625a31b4b5d6d377faf090899c1021aa6211c02082a85ea2a920fed1fb74b7b91148c4a50618a782d2b62a5b279136eebdbc075235f4a228c481af8030d0322a7dce07b1b33a694340301f99a1198b45be7d5fd60eb877e6099e4a9283fcd14b144d6ac7c554e1b4741eeea24d8f7652fa1e0652176a3ac7b29e74a90a05bb1591ba9fbae1c6c319bed3d852e8bb1fed8afad196ec4478545193b465cc164b0f0c2f9c2aa2167d2bb33cfd7660edf4356ce2db4673e76e7d494530c16d57fcab38ebe46a3361c454f44fa72aac9f2906c2939c458c8dacff34b50ec8bbfa16cf83026ad5186076e52d2aa0d5004aea06d3395c119a9a42dd345a23c33576b54bda37c5ceaafcb1c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n        \"gas\": \"0x2a994\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd7e11393f480558eade8d3d233b3af9a3aca1c28e1a599eb9246297be90290abf0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c70278383dc4647ce1e893dfaf31906793d010c30f0db235d90bbfc350f42cbfb0405a1b6954ef2db2ea716536c56f157a5d4a6c324e3af8977efab343bc52c30c1be0711f42a5f34391e4d7646a5b86664e3cc8e004a4c6fa2471b900325636aeb62e4f1247b34f902d2abb3367661720fe08bfb4020965a923860a882dad3530741c037c8dae2b480bd3897bce44f3a81bc39103d8371fbc3bc10b2cad350d837ecf6d58fda932246849247d82245864c1a3524e683eef79343b936be9650a6625a31b4b5d6d377faf090899c1021aa6211c02082a85ea2a920fed1fb74b7b91148c4a50618a782d2b62a5b279136eebdbc075235f4a228c481af8030d0322a7dce07b1b33a694340301f99a1198b45be7d5fd60eb877e6099e4a9283fcd14b144d6ac7c554e1b4741eeea24d8f7652fa1e0652176a3ac7b29e74a90a05bb1591ba9fbae1c6c319bed3d852e8bb1fed8afad196ec4478545193b465cc164b0f0c2f9c2aa2167d2bb33cfd7660edf4356ce2db4673e76e7d494530c16d57fcab38ebe46a3361c454f44fa72aac9f2906c2939c458c8dacff34b50ec8bbfa16cf83026ad5186076e52d2aa0d5004aea06d3395c119a9a42dd345a23c33576b54bda37c5ceaafcb1c00000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x49\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x2d05547\",\n      \"logs\": [\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x7e11393f480558eade8d3d233b3af9a3aca1c28e1a599eb9246297be90290abf\",\n            \"0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x1509993ed9b2e837eaee96355dfc4d1debf767f24fed62095fb46b7be4b455fd\",\n          \"blockNumber\": \"0x1770954\",\n          \"blockTimestamp\": \"0x69a718b7\",\n          \"transactionHash\": \"0xbaae2197df523a8d7c4618494059f8c140ea8a782b4ab4e77645b0e797ef001a\",\n          \"transactionIndex\": \"0x1c4\",\n          \"logIndex\": \"0x4a8\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0xd438defb5165855f4203643e21ec180740771b055f40e15eb00f265cf60f5a78\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x1509993ed9b2e837eaee96355dfc4d1debf767f24fed62095fb46b7be4b455fd\",\n          \"blockNumber\": \"0x1770954\",\n          \"blockTimestamp\": \"0x69a718b7\",\n          \"transactionHash\": \"0xbaae2197df523a8d7c4618494059f8c140ea8a782b4ab4e77645b0e797ef001a\",\n          \"transactionIndex\": \"0x1c4\",\n          \"logIndex\": \"0x4a9\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000001080000010000000000000000008000000000008040000000000000000000000800000000000000000000000080000100000000000000000000000000000000000000000000000000000000008000000000000400000000000000000400001000000000000000000000000000000000000000010000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000010004000000000000000000000080000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xbaae2197df523a8d7c4618494059f8c140ea8a782b4ab4e77645b0e797ef001a\",\n      \"transactionIndex\": \"0x1c4\",\n      \"blockHash\": \"0x1509993ed9b2e837eaee96355dfc4d1debf767f24fed62095fb46b7be4b455fd\",\n      \"blockNumber\": \"0x1770954\",\n      \"gasUsed\": \"0x1ed74\",\n      \"effectiveGasPrice\": \"0xfdc8075\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1772558522364,\n  \"chain\": 1,\n  \"commit\": \"d7efe46\"\n}"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/records/UpdateProxyAdminOwnerSigners.s.sol/1/run-1772558558823.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x66cbbfd4e4166e6c7f3f9de2f7589f9f449eae6c7b42270da8510222a3edd743\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\n        \"0\",\n        \"0xd4d9bdcd2caeadb15ac54460cd92d2f96969a14d2734cdbea59c206efef81d923fcb909c\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n        \"gas\": \"0x1cc76\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd2caeadb15ac54460cd92d2f96969a14d2734cdbea59c206efef81d923fcb909c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x4a\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1c78d0a\",\n      \"logs\": [\n        {\n          \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x2caeadb15ac54460cd92d2f96969a14d2734cdbea59c206efef81d923fcb909c\",\n            \"0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x64d93f867ebd81e511cf49d688ebabd172a378977e3615d323f70d82e88e9531\",\n          \"blockNumber\": \"0x1770957\",\n          \"blockTimestamp\": \"0x69a718db\",\n          \"transactionHash\": \"0x66cbbfd4e4166e6c7f3f9de2f7589f9f449eae6c7b42270da8510222a3edd743\",\n          \"transactionIndex\": \"0xc1\",\n          \"logIndex\": \"0x398\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x7e11393f480558eade8d3d233b3af9a3aca1c28e1a599eb9246297be90290abf0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x64d93f867ebd81e511cf49d688ebabd172a378977e3615d323f70d82e88e9531\",\n          \"blockNumber\": \"0x1770957\",\n          \"blockTimestamp\": \"0x69a718db\",\n          \"transactionHash\": \"0x66cbbfd4e4166e6c7f3f9de2f7589f9f449eae6c7b42270da8510222a3edd743\",\n          \"transactionIndex\": \"0xc1\",\n          \"logIndex\": \"0x399\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000010000000000000000008000000000000040000000002000000000000000101000004000000000000000000100000000000200000001000000000000000000000000000000000000008000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000200000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x66cbbfd4e4166e6c7f3f9de2f7589f9f449eae6c7b42270da8510222a3edd743\",\n      \"transactionIndex\": \"0xc1\",\n      \"blockHash\": \"0x64d93f867ebd81e511cf49d688ebabd172a378977e3615d323f70d82e88e9531\",\n      \"blockNumber\": \"0x1770957\",\n      \"gasUsed\": \"0x14d5f\",\n      \"effectiveGasPrice\": \"0x1190e835\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1772558558823,\n  \"chain\": 1,\n  \"commit\": \"d7efe46\"\n}"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/records/UpdateProxyAdminOwnerSigners.s.sol/1/run-1772558642511.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x34f8f89ab1f12bc549da0060098e5d645da1058148eba78a71062896ad71f0a7\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\n        \"0\",\n        \"0xd4d9bdcd2caeadb15ac54460cd92d2f96969a14d2734cdbea59c206efef81d923fcb909c\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x32bf05a877ef8b95de1384ea0bead927deb4cd2df05c2a7a4ef0ec960540363800b398f196d8096ace03a19122c9143157576e13350198aa9261f952614fb2a41c00000000000000000000000042d27eea1ad6e22af6284f609847cb3cd56b9c640000000000000000000000000000000000000000000000000000000000000000019e97dec43fdfed41178ff6df5444cf9c516f8aa4bdcbafeb5debe5ead48236c67d3a41d55487d48be2e46a73480219a09feb7c8092afe7b4016cc8fe130137131bef6edda87bde50b6083115f5a179f7393cea0f66493c598a98e939cba12359394f72ee04e7ecba7f5ca37d6dc3721252c7dc69b94b3227f30d7590a2d8d598e91cdb1ee97ae35265e54c0b4f6cae5a5f4d0f2c0a54e33eb21af88e27b221ef32297eea3b0fcc9f0311d476d4b40dbcf66c6b96c96a0b0f97e3e87eaacb35d33cd21b8041c10f6a49c977188c0a8ec3329391a38ac4e066462b036d857b14aff1b84707000366a31d23a3562ea882b30a2b3232baaf3e507825f9ec77723471231b151b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a\",\n        \"gas\": \"0x27e36\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd2caeadb15ac54460cd92d2f96969a14d2734cdbea59c206efef81d923fcb909c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018632bf05a877ef8b95de1384ea0bead927deb4cd2df05c2a7a4ef0ec960540363800b398f196d8096ace03a19122c9143157576e13350198aa9261f952614fb2a41c00000000000000000000000042d27eea1ad6e22af6284f609847cb3cd56b9c640000000000000000000000000000000000000000000000000000000000000000019e97dec43fdfed41178ff6df5444cf9c516f8aa4bdcbafeb5debe5ead48236c67d3a41d55487d48be2e46a73480219a09feb7c8092afe7b4016cc8fe130137131bef6edda87bde50b6083115f5a179f7393cea0f66493c598a98e939cba12359394f72ee04e7ecba7f5ca37d6dc3721252c7dc69b94b3227f30d7590a2d8d598e91cdb1ee97ae35265e54c0b4f6cae5a5f4d0f2c0a54e33eb21af88e27b221ef32297eea3b0fcc9f0311d476d4b40dbcf66c6b96c96a0b0f97e3e87eaacb35d33cd21b8041c10f6a49c977188c0a8ec3329391a38ac4e066462b036d857b14aff1b84707000366a31d23a3562ea882b30a2b3232baaf3e507825f9ec77723471231b151b0000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x4b\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x20a98c4\",\n      \"logs\": [\n        {\n          \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x2caeadb15ac54460cd92d2f96969a14d2734cdbea59c206efef81d923fcb909c\",\n            \"0x0000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x318aabe32046047e1514c7bd3fe5b6feb22e4e73bb6a006e2852be5541565618\",\n          \"blockNumber\": \"0x177095e\",\n          \"blockTimestamp\": \"0x69a7192f\",\n          \"transactionHash\": \"0x34f8f89ab1f12bc549da0060098e5d645da1058148eba78a71062896ad71f0a7\",\n          \"transactionIndex\": \"0x144\",\n          \"logIndex\": \"0x4ed\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0xfc5bb803a2b2c2b8ef2a18886cd5aa51ae6070a93c5612c37067398d9cbb9fc0\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x318aabe32046047e1514c7bd3fe5b6feb22e4e73bb6a006e2852be5541565618\",\n          \"blockNumber\": \"0x177095e\",\n          \"blockTimestamp\": \"0x69a7192f\",\n          \"transactionHash\": \"0x34f8f89ab1f12bc549da0060098e5d645da1058148eba78a71062896ad71f0a7\",\n          \"transactionIndex\": \"0x144\",\n          \"logIndex\": \"0x4ee\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000002000000000000000000000004000000000000000000100000000000200000001000000000000000000000000000000000002000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000020000000000000000000000004000000000000010000000000000000008000000000000000800000000000000000000000000000000000000000000080000000000000002000000000000000200000400000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x34f8f89ab1f12bc549da0060098e5d645da1058148eba78a71062896ad71f0a7\",\n      \"transactionIndex\": \"0x144\",\n      \"blockHash\": \"0x318aabe32046047e1514c7bd3fe5b6feb22e4e73bb6a006e2852be5541565618\",\n      \"blockNumber\": \"0x177095e\",\n      \"gasUsed\": \"0x1b463\",\n      \"effectiveGasPrice\": \"0x110250fa\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1772558642511,\n  \"chain\": 1,\n  \"commit\": \"d7efe46\"\n}"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/records/UpdateProxyAdminOwnerSigners.s.sol/1/run-1772558678595.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x00de17d8f1f65c5baa6cfb5ea313309ac6be1ca858035c5a4956727e7ff357e3\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\n        \"0\",\n        \"0xe318b52b0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n        \"gas\": \"0x1d6a7\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000064e318b52b0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x4c\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1d31de1\",\n      \"logs\": [\n        {\n          \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x0000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a\",\n          \"blockHash\": \"0xcaa22cb0b149ff6312f9f73715c346e497b5e9c127a9722aa8d105af99190744\",\n          \"blockNumber\": \"0x1770961\",\n          \"blockTimestamp\": \"0x69a71953\",\n          \"transactionHash\": \"0x00de17d8f1f65c5baa6cfb5ea313309ac6be1ca858035c5a4956727e7ff357e3\",\n          \"transactionIndex\": \"0x164\",\n          \"logIndex\": \"0x27a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n          \"blockHash\": \"0xcaa22cb0b149ff6312f9f73715c346e497b5e9c127a9722aa8d105af99190744\",\n          \"blockNumber\": \"0x1770961\",\n          \"blockTimestamp\": \"0x69a71953\",\n          \"transactionHash\": \"0x00de17d8f1f65c5baa6cfb5ea313309ac6be1ca858035c5a4956727e7ff357e3\",\n          \"transactionIndex\": \"0x164\",\n          \"logIndex\": \"0x27b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x2caeadb15ac54460cd92d2f96969a14d2734cdbea59c206efef81d923fcb909c0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xcaa22cb0b149ff6312f9f73715c346e497b5e9c127a9722aa8d105af99190744\",\n          \"blockNumber\": \"0x1770961\",\n          \"blockTimestamp\": \"0x69a71953\",\n          \"transactionHash\": \"0x00de17d8f1f65c5baa6cfb5ea313309ac6be1ca858035c5a4956727e7ff357e3\",\n          \"transactionIndex\": \"0x164\",\n          \"logIndex\": \"0x27c\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000000000000000000000000000004000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000400000000000000000200000008000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x00de17d8f1f65c5baa6cfb5ea313309ac6be1ca858035c5a4956727e7ff357e3\",\n      \"transactionIndex\": \"0x164\",\n      \"blockHash\": \"0xcaa22cb0b149ff6312f9f73715c346e497b5e9c127a9722aa8d105af99190744\",\n      \"blockNumber\": \"0x1770961\",\n      \"gasUsed\": \"0x141d1\",\n      \"effectiveGasPrice\": \"0x1115562f\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1772558678595,\n  \"chain\": 1,\n  \"commit\": \"d7efe46\"\n}"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/records/UpgradeFeeDisburser.s.sol/1/run-1772559195571.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xdc700942c3b4e05e2ee2f6519cb8ed4e5ff626dc70f48c91931b1b3f3593f5b6\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e\",\n        \"0\",\n        \"0xe9e05c4200000000000000000000000009c7bad99688a55a2e83644bfaed09e62bdcccba000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000243659cfe6000000000000000000000000da70b4cd0cd8193f665a7d49cefd5f79f11fcc7500000000000000000000000000000000000000000000000000000000\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xbce50c415a2414559ac473f4ba715f69914da4f26ae86d588e64e067798eb729005c21eb7619aff75ab65c5fd91f938840596daa84b8563233275f7ca27372851b2404c9a0e494876369c543d6d033290826b5f32706e005217139f6f200d0e0dc144b87ac4c4e2f3b57ca17c9f409f7e9c6450f7ce542f262a4e9ad109793455c1c7371cad9a48784d38e961e0f995811f8a02ba19795fcd5891b1a5bc06f56ad173f276b7abd51d1a8134d40c7716e19bc06937bd4dba4b62e0c4967822299444a1c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n        \"gas\": \"0x3e54d\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a76120200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000104e9e05c4200000000000000000000000009c7bad99688a55a2e83644bfaed09e62bdcccba000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000243659cfe6000000000000000000000000da70b4cd0cd8193f665a7d49cefd5f79f11fcc75000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3bce50c415a2414559ac473f4ba715f69914da4f26ae86d588e64e067798eb729005c21eb7619aff75ab65c5fd91f938840596daa84b8563233275f7ca27372851b2404c9a0e494876369c543d6d033290826b5f32706e005217139f6f200d0e0dc144b87ac4c4e2f3b57ca17c9f409f7e9c6450f7ce542f262a4e9ad109793455c1c7371cad9a48784d38e961e0f995811f8a02ba19795fcd5891b1a5bc06f56ad173f276b7abd51d1a8134d40c7716e19bc06937bd4dba4b62e0c4967822299444a1c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x53\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x366c163\",\n      \"logs\": [\n        {\n          \"address\": \"0x49048044d57e1c92a77f79988d21fa8faf74e97e\",\n          \"topics\": [\n            \"0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32\",\n            \"0x000000000000000000000000ad5b57feb77e294fd7bf5ebe9ab01caa0a90b221\",\n            \"0x00000000000000000000000009c7bad99688a55a2e83644bfaed09e62bdcccba\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0003659cfe6000000000000000000000000da70b4cd0cd8193f665a7d49cefd5f79f11fcc7500000000000000000000000000000000000000\",\n          \"blockHash\": \"0xb1ae98f079b37c0d3fc69b1b7f3e516a67de8cb05d394fc92d940cf8cbbf66e8\",\n          \"blockNumber\": \"0x177098c\",\n          \"blockTimestamp\": \"0x69a71b57\",\n          \"transactionHash\": \"0xdc700942c3b4e05e2ee2f6519cb8ed4e5ff626dc70f48c91931b1b3f3593f5b6\",\n          \"transactionIndex\": \"0x204\",\n          \"logIndex\": \"0x742\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0x1d8de310fef96c8a145fe41756ca10f38ece678ca10c648b06eedb2444fc137a\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xb1ae98f079b37c0d3fc69b1b7f3e516a67de8cb05d394fc92d940cf8cbbf66e8\",\n          \"blockNumber\": \"0x177098c\",\n          \"blockTimestamp\": \"0x69a71b57\",\n          \"transactionHash\": \"0xdc700942c3b4e05e2ee2f6519cb8ed4e5ff626dc70f48c91931b1b3f3593f5b6\",\n          \"transactionIndex\": \"0x204\",\n          \"logIndex\": \"0x743\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x000000004000000000000000000000000000008000000000000000008400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000008010000000000000000000000200000000000000000008000000001000000000000000088000000000000000000000800000000000400010000100000000000000000000000000000000000000000000000004000000040000000000000000000000000000000000000000000000000000000000000000800000000040000000000000000000200000000000000000000000000020000000000000000a0000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xdc700942c3b4e05e2ee2f6519cb8ed4e5ff626dc70f48c91931b1b3f3593f5b6\",\n      \"transactionIndex\": \"0x204\",\n      \"blockHash\": \"0xb1ae98f079b37c0d3fc69b1b7f3e516a67de8cb05d394fc92d940cf8cbbf66e8\",\n      \"blockNumber\": \"0x177098c\",\n      \"gasUsed\": \"0x2a9eb\",\n      \"effectiveGasPrice\": \"0x9feb003\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1772559195571,\n  \"chain\": 1,\n  \"commit\": \"d7efe46\"\n}"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/records/UpgradeSystemConfig.s.sol/1/approve-latest.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x0337f9ecc6d984b0240589222b3a3f72686f61220e9d3c57d6fa5e07ad0d8c7d\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\n        \"0\",\n        \"0xd4d9bdcd53771364c1ede35051f5f0d1b8be61934964ba5f488b2414a2ae9b27373b0772\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x82e29bacb542c5cd168db7ea0971d65f39735897c2f01406a0cea07d1d9db11c51b35f57d87cdf1aa195e5e3557b29d062b856c118d64deeea6e1bf129e125ad1c0aceb8b8fd777c7da9592e4230c1504ccc4fd645075e61cd40501c84e79796387fa427ca0f538bd2a550be5bb1548bcd45e4389ce1cc2f89dababb001d397f761c21f84072cbe2df57a3b72e0f100c27553449d2ab7dee306b2637fe0569ac4f6c36520acf3bc0f96b5465c26d1ca81494f7f8d6b0dea3bf7fc1433d2938bf9a851c17124f4e1427f97be0c5e44615ec511eba724f52f203f23de593c94bc265ec9d4d47f7d84ce2c4595634d78ab1e266c1c077e06d23ba1cc5004e99acd7f99fdb1c17e1eb4978201809ca96eaa00a7a3841942627c95bbaaa5eeb19b4b544354dde46bab8c530012de7155a489849b426420e961f37c4ff3f0e9141d8bc5765acaa1c8bb37f5c6abd372d8c637154f13ef4b1ae62e19b045f2d13ea609786ea84a1712105a4ab620d12bf71e0208eaab73119b719c3122aa3fb9cdc262f26151913fe1ca98c54d55253093866bbf3e1fc88e23c223db773da88e44b19442720243bd73c7d52d3c526666e5bf5117ce14b8c1c62eb4ef987bfa225001ed36788ae8289061b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n        \"gas\": \"0x2a972\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd53771364c1ede35051f5f0d1b8be61934964ba5f488b2414a2ae9b27373b07720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c782e29bacb542c5cd168db7ea0971d65f39735897c2f01406a0cea07d1d9db11c51b35f57d87cdf1aa195e5e3557b29d062b856c118d64deeea6e1bf129e125ad1c0aceb8b8fd777c7da9592e4230c1504ccc4fd645075e61cd40501c84e79796387fa427ca0f538bd2a550be5bb1548bcd45e4389ce1cc2f89dababb001d397f761c21f84072cbe2df57a3b72e0f100c27553449d2ab7dee306b2637fe0569ac4f6c36520acf3bc0f96b5465c26d1ca81494f7f8d6b0dea3bf7fc1433d2938bf9a851c17124f4e1427f97be0c5e44615ec511eba724f52f203f23de593c94bc265ec9d4d47f7d84ce2c4595634d78ab1e266c1c077e06d23ba1cc5004e99acd7f99fdb1c17e1eb4978201809ca96eaa00a7a3841942627c95bbaaa5eeb19b4b544354dde46bab8c530012de7155a489849b426420e961f37c4ff3f0e9141d8bc5765acaa1c8bb37f5c6abd372d8c637154f13ef4b1ae62e19b045f2d13ea609786ea84a1712105a4ab620d12bf71e0208eaab73119b719c3122aa3fb9cdc262f26151913fe1ca98c54d55253093866bbf3e1fc88e23c223db773da88e44b19442720243bd73c7d52d3c526666e5bf5117ce14b8c1c62eb4ef987bfa225001ed36788ae8289061b00000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x51\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1af25cc\",\n      \"logs\": [\n        {\n          \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x53771364c1ede35051f5f0d1b8be61934964ba5f488b2414a2ae9b27373b0772\",\n            \"0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x6220d509cc653e4529ccece2dcf56cf33fc48acdb02ca7a9067bf1a2656e2ddd\",\n          \"blockNumber\": \"0x177097f\",\n          \"blockTimestamp\": \"0x69a71abb\",\n          \"transactionHash\": \"0x0337f9ecc6d984b0240589222b3a3f72686f61220e9d3c57d6fa5e07ad0d8c7d\",\n          \"transactionIndex\": \"0x12c\",\n          \"logIndex\": \"0x293\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0x5de6976ed5cc18d8ef4e79743b31bcca6cdcd6c24cdd7abb1592a875d8694a63\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x6220d509cc653e4529ccece2dcf56cf33fc48acdb02ca7a9067bf1a2656e2ddd\",\n          \"blockNumber\": \"0x177097f\",\n          \"blockTimestamp\": \"0x69a71abb\",\n          \"transactionHash\": \"0x0337f9ecc6d984b0240589222b3a3f72686f61220e9d3c57d6fa5e07ad0d8c7d\",\n          \"transactionIndex\": \"0x12c\",\n          \"logIndex\": \"0x294\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000009000000000000000000000000000000000000008040000000000000000000000800000000004000000000000020000100000000000000000001000000000000001000000000000000000000000000000000000400080000000000000400000000000000001000000800000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x0337f9ecc6d984b0240589222b3a3f72686f61220e9d3c57d6fa5e07ad0d8c7d\",\n      \"transactionIndex\": \"0x12c\",\n      \"blockHash\": \"0x6220d509cc653e4529ccece2dcf56cf33fc48acdb02ca7a9067bf1a2656e2ddd\",\n      \"blockNumber\": \"0x177097f\",\n      \"gasUsed\": \"0x1ed5c\",\n      \"effectiveGasPrice\": \"0xc3a2669\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1772559037725,\n  \"chain\": 1,\n  \"commit\": \"d7efe46\"\n}"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/records/UpgradeSystemConfig.s.sol/1/run-1772558954723.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x682f2e4eaa1866ec1f5b966caac03889b8c971d07cb0a8312838988a94be04cc\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\n        \"0\",\n        \"0xd4d9bdcd53771364c1ede35051f5f0d1b8be61934964ba5f488b2414a2ae9b27373b0772\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x712a99f7c054cbd6825bebbf2fcd2435a0ad4e0a62fbe80e8f74849567ee74417f645a38d5e621960a99fadcfb2fa03349931790a991a2d00952252403ce90a41c9f1a883e4d8fc00841a5e8fdf6c0f4b4cef3f4133c0231c93d8ae530506ba7034be02d03d21068163eaeed0827128f5d4ee7fc3495014dda09249bab084a5be21bcafee9b62552e813a23044c7f4c1ae2a063eee2316dde8d7fb99565b48a5e94e0dca54d89aa522d9862b241d2c93e313b39650fd6b6cc304c0387b83837bc8921c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n        \"gas\": \"0x22157\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd53771364c1ede35051f5f0d1b8be61934964ba5f488b2414a2ae9b27373b07720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3712a99f7c054cbd6825bebbf2fcd2435a0ad4e0a62fbe80e8f74849567ee74417f645a38d5e621960a99fadcfb2fa03349931790a991a2d00952252403ce90a41c9f1a883e4d8fc00841a5e8fdf6c0f4b4cef3f4133c0231c93d8ae530506ba7034be02d03d21068163eaeed0827128f5d4ee7fc3495014dda09249bab084a5be21bcafee9b62552e813a23044c7f4c1ae2a063eee2316dde8d7fb99565b48a5e94e0dca54d89aa522d9862b241d2c93e313b39650fd6b6cc304c0387b83837bc8921c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x50\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x189cbf7\",\n      \"logs\": [\n        {\n          \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x53771364c1ede35051f5f0d1b8be61934964ba5f488b2414a2ae9b27373b0772\",\n            \"0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xb128ede19b6a637df92033eb9e0dec5db77a5a62a9bff7870f37d593b26edea6\",\n          \"blockNumber\": \"0x1770978\",\n          \"blockTimestamp\": \"0x69a71a67\",\n          \"transactionHash\": \"0x682f2e4eaa1866ec1f5b966caac03889b8c971d07cb0a8312838988a94be04cc\",\n          \"transactionIndex\": \"0xcc\",\n          \"logIndex\": \"0x34c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x44b81d8c81eb18caddd74fbdda1de6f034b12c09511061c0eac01a93e9d557b10000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xb128ede19b6a637df92033eb9e0dec5db77a5a62a9bff7870f37d593b26edea6\",\n          \"blockNumber\": \"0x1770978\",\n          \"blockTimestamp\": \"0x69a71a67\",\n          \"transactionHash\": \"0x682f2e4eaa1866ec1f5b966caac03889b8c971d07cb0a8312838988a94be04cc\",\n          \"transactionIndex\": \"0xcc\",\n          \"logIndex\": \"0x34d\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000008000000010000000000000000008000000000000040000000000000000000000000101000004000000000000000000100000000000000000001000000000000000000000000000000000000008000000000000000080000000000002400000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x682f2e4eaa1866ec1f5b966caac03889b8c971d07cb0a8312838988a94be04cc\",\n      \"transactionIndex\": \"0xcc\",\n      \"blockHash\": \"0xb128ede19b6a637df92033eb9e0dec5db77a5a62a9bff7870f37d593b26edea6\",\n      \"blockNumber\": \"0x1770978\",\n      \"gasUsed\": \"0x174e2\",\n      \"effectiveGasPrice\": \"0xc9d58d7\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x9855054731540a48b28990b63dcf4f33d8ae46a1\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1772558954723,\n  \"chain\": 1,\n  \"commit\": \"d7efe46\"\n}"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/records/UpgradeSystemConfig.s.sol/1/run-1772559037725.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x0337f9ecc6d984b0240589222b3a3f72686f61220e9d3c57d6fa5e07ad0d8c7d\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\n        \"0\",\n        \"0xd4d9bdcd53771364c1ede35051f5f0d1b8be61934964ba5f488b2414a2ae9b27373b0772\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x82e29bacb542c5cd168db7ea0971d65f39735897c2f01406a0cea07d1d9db11c51b35f57d87cdf1aa195e5e3557b29d062b856c118d64deeea6e1bf129e125ad1c0aceb8b8fd777c7da9592e4230c1504ccc4fd645075e61cd40501c84e79796387fa427ca0f538bd2a550be5bb1548bcd45e4389ce1cc2f89dababb001d397f761c21f84072cbe2df57a3b72e0f100c27553449d2ab7dee306b2637fe0569ac4f6c36520acf3bc0f96b5465c26d1ca81494f7f8d6b0dea3bf7fc1433d2938bf9a851c17124f4e1427f97be0c5e44615ec511eba724f52f203f23de593c94bc265ec9d4d47f7d84ce2c4595634d78ab1e266c1c077e06d23ba1cc5004e99acd7f99fdb1c17e1eb4978201809ca96eaa00a7a3841942627c95bbaaa5eeb19b4b544354dde46bab8c530012de7155a489849b426420e961f37c4ff3f0e9141d8bc5765acaa1c8bb37f5c6abd372d8c637154f13ef4b1ae62e19b045f2d13ea609786ea84a1712105a4ab620d12bf71e0208eaab73119b719c3122aa3fb9cdc262f26151913fe1ca98c54d55253093866bbf3e1fc88e23c223db773da88e44b19442720243bd73c7d52d3c526666e5bf5117ce14b8c1c62eb4ef987bfa225001ed36788ae8289061b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n        \"gas\": \"0x2a972\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd53771364c1ede35051f5f0d1b8be61934964ba5f488b2414a2ae9b27373b07720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c782e29bacb542c5cd168db7ea0971d65f39735897c2f01406a0cea07d1d9db11c51b35f57d87cdf1aa195e5e3557b29d062b856c118d64deeea6e1bf129e125ad1c0aceb8b8fd777c7da9592e4230c1504ccc4fd645075e61cd40501c84e79796387fa427ca0f538bd2a550be5bb1548bcd45e4389ce1cc2f89dababb001d397f761c21f84072cbe2df57a3b72e0f100c27553449d2ab7dee306b2637fe0569ac4f6c36520acf3bc0f96b5465c26d1ca81494f7f8d6b0dea3bf7fc1433d2938bf9a851c17124f4e1427f97be0c5e44615ec511eba724f52f203f23de593c94bc265ec9d4d47f7d84ce2c4595634d78ab1e266c1c077e06d23ba1cc5004e99acd7f99fdb1c17e1eb4978201809ca96eaa00a7a3841942627c95bbaaa5eeb19b4b544354dde46bab8c530012de7155a489849b426420e961f37c4ff3f0e9141d8bc5765acaa1c8bb37f5c6abd372d8c637154f13ef4b1ae62e19b045f2d13ea609786ea84a1712105a4ab620d12bf71e0208eaab73119b719c3122aa3fb9cdc262f26151913fe1ca98c54d55253093866bbf3e1fc88e23c223db773da88e44b19442720243bd73c7d52d3c526666e5bf5117ce14b8c1c62eb4ef987bfa225001ed36788ae8289061b00000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x51\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1af25cc\",\n      \"logs\": [\n        {\n          \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x53771364c1ede35051f5f0d1b8be61934964ba5f488b2414a2ae9b27373b0772\",\n            \"0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x6220d509cc653e4529ccece2dcf56cf33fc48acdb02ca7a9067bf1a2656e2ddd\",\n          \"blockNumber\": \"0x177097f\",\n          \"blockTimestamp\": \"0x69a71abb\",\n          \"transactionHash\": \"0x0337f9ecc6d984b0240589222b3a3f72686f61220e9d3c57d6fa5e07ad0d8c7d\",\n          \"transactionIndex\": \"0x12c\",\n          \"logIndex\": \"0x293\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0x5de6976ed5cc18d8ef4e79743b31bcca6cdcd6c24cdd7abb1592a875d8694a63\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x6220d509cc653e4529ccece2dcf56cf33fc48acdb02ca7a9067bf1a2656e2ddd\",\n          \"blockNumber\": \"0x177097f\",\n          \"blockTimestamp\": \"0x69a71abb\",\n          \"transactionHash\": \"0x0337f9ecc6d984b0240589222b3a3f72686f61220e9d3c57d6fa5e07ad0d8c7d\",\n          \"transactionIndex\": \"0x12c\",\n          \"logIndex\": \"0x294\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000009000000000000000000000000000000000000008040000000000000000000000800000000004000000000000020000100000000000000000001000000000000001000000000000000000000000000000000000400080000000000000400000000000000001000000800000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x0337f9ecc6d984b0240589222b3a3f72686f61220e9d3c57d6fa5e07ad0d8c7d\",\n      \"transactionIndex\": \"0x12c\",\n      \"blockHash\": \"0x6220d509cc653e4529ccece2dcf56cf33fc48acdb02ca7a9067bf1a2656e2ddd\",\n      \"blockNumber\": \"0x177097f\",\n      \"gasUsed\": \"0x1ed5c\",\n      \"effectiveGasPrice\": \"0xc3a2669\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1772559037725,\n  \"chain\": 1,\n  \"commit\": \"d7efe46\"\n}"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/records/UpgradeSystemConfig.s.sol/1/run-1772559062275.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xa2dc938704977d2f3d0765832e79e1239d97aa6912efadc21a9705ef7dca42eb\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E\",\n        \"0\",\n        \"0x9623609d00000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000507aaa21c678976fcdc7e804836acd6ebc17a44000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002a41edd509800000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000000008dd0000000000000000000000000000000000000000000000000000000000101c120000000000000000000000005050f69a9786f081509234f1a7f4684b5e5b76c900000000000000000000000000000000000000000000000000000000165a0bc0000000000000000000000000af6e19be0f9ce7f8afd49a1824851023a8249e8a0000000000000000000000000000000000000000000000000000000001312d00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000ffffffffffffffffffffffffffffffff000000000000000000000000ff00000000000000000000000000000000008453000000000000000000000000866e82a600a1414e583f7f13623f1ac5d58b0afa000000000000000000000000608d94945a64503e642e6370ec598e519a2c1e530000000000000000000000003154cf16ccdb4c6d922629664174b904d80f2c3500000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e00000000000000000000000005cc379ebd9b30bba19c6fa282ab29218ec61d8400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002105000000000000000000000000b535ff7f118260a952ce65e7ff41b1743de8ee6c00000000000000000000000000000000000000000000000000000000\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n        \"gas\": \"0x328de\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000003449623609d00000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000507aaa21c678976fcdc7e804836acd6ebc17a44000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002a41edd509800000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000000008dd0000000000000000000000000000000000000000000000000000000000101c120000000000000000000000005050f69a9786f081509234f1a7f4684b5e5b76c900000000000000000000000000000000000000000000000000000000165a0bc0000000000000000000000000af6e19be0f9ce7f8afd49a1824851023a8249e8a0000000000000000000000000000000000000000000000000000000001312d00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000ffffffffffffffffffffffffffffffff000000000000000000000000ff00000000000000000000000000000000008453000000000000000000000000866e82a600a1414e583f7f13623f1ac5d58b0afa000000000000000000000000608d94945a64503e642e6370ec598e519a2c1e530000000000000000000000003154cf16ccdb4c6d922629664174b904d80f2c3500000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e00000000000000000000000005cc379ebd9b30bba19c6fa282ab29218ec61d8400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002105000000000000000000000000b535ff7f118260a952ce65e7ff41b1743de8ee6c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x52\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1757521\",\n      \"logs\": [\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x0000000000000000000000000507aaa21c678976fcdc7e804836acd6ebc17a44\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf28b6337074b00219c168aea98cd7471a45ed6df409ffd8e1cfc8cfbf255324d\",\n          \"blockNumber\": \"0x1770981\",\n          \"blockTimestamp\": \"0x69a71ad3\",\n          \"transactionHash\": \"0xa2dc938704977d2f3d0765832e79e1239d97aa6912efadc21a9705ef7dca42eb\",\n          \"transactionIndex\": \"0xd0\",\n          \"logIndex\": \"0x30b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x00000000000000000000000014536667cd30e52c0b458baaccb9fada7046e056\",\n            \"0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf28b6337074b00219c168aea98cd7471a45ed6df409ffd8e1cfc8cfbf255324d\",\n          \"blockNumber\": \"0x1770981\",\n          \"blockTimestamp\": \"0x69a71ad3\",\n          \"transactionHash\": \"0xa2dc938704977d2f3d0765832e79e1239d97aa6912efadc21a9705ef7dca42eb\",\n          \"transactionIndex\": \"0xd0\",\n          \"logIndex\": \"0x30c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e\",\n            \"0x00000000000000000000000014536667cd30e52c0b458baaccb9fada7046e056\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf28b6337074b00219c168aea98cd7471a45ed6df409ffd8e1cfc8cfbf255324d\",\n          \"blockNumber\": \"0x1770981\",\n          \"blockTimestamp\": \"0x69a71ad3\",\n          \"transactionHash\": \"0xa2dc938704977d2f3d0765832e79e1239d97aa6912efadc21a9705ef7dca42eb\",\n          \"transactionIndex\": \"0xd0\",\n          \"logIndex\": \"0x30d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000005050f69a9786f081509234f1a7f4684b5e5b76c9\",\n          \"blockHash\": \"0xf28b6337074b00219c168aea98cd7471a45ed6df409ffd8e1cfc8cfbf255324d\",\n          \"blockNumber\": \"0x1770981\",\n          \"blockTimestamp\": \"0x69a71ad3\",\n          \"transactionHash\": \"0xa2dc938704977d2f3d0765832e79e1239d97aa6912efadc21a9705ef7dca42eb\",\n          \"transactionIndex\": \"0xd0\",\n          \"logIndex\": \"0x30e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000001\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000101c12000008dd\",\n          \"blockHash\": \"0xf28b6337074b00219c168aea98cd7471a45ed6df409ffd8e1cfc8cfbf255324d\",\n          \"blockNumber\": \"0x1770981\",\n          \"blockTimestamp\": \"0x69a71ad3\",\n          \"transactionHash\": \"0xa2dc938704977d2f3d0765832e79e1239d97aa6912efadc21a9705ef7dca42eb\",\n          \"transactionIndex\": \"0xd0\",\n          \"logIndex\": \"0x30f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000002\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000165a0bc0\",\n          \"blockHash\": \"0xf28b6337074b00219c168aea98cd7471a45ed6df409ffd8e1cfc8cfbf255324d\",\n          \"blockNumber\": \"0x1770981\",\n          \"blockTimestamp\": \"0x69a71ad3\",\n          \"transactionHash\": \"0xa2dc938704977d2f3d0765832e79e1239d97aa6912efadc21a9705ef7dca42eb\",\n          \"transactionIndex\": \"0xd0\",\n          \"logIndex\": \"0x310\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"blockHash\": \"0xf28b6337074b00219c168aea98cd7471a45ed6df409ffd8e1cfc8cfbf255324d\",\n          \"blockNumber\": \"0x1770981\",\n          \"blockTimestamp\": \"0x69a71ad3\",\n          \"transactionHash\": \"0xa2dc938704977d2f3d0765832e79e1239d97aa6912efadc21a9705ef7dca42eb\",\n          \"transactionIndex\": \"0xd0\",\n          \"logIndex\": \"0x311\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x53771364c1ede35051f5f0d1b8be61934964ba5f488b2414a2ae9b27373b07720000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xf28b6337074b00219c168aea98cd7471a45ed6df409ffd8e1cfc8cfbf255324d\",\n          \"blockNumber\": \"0x1770981\",\n          \"blockTimestamp\": \"0x69a71ad3\",\n          \"transactionHash\": \"0xa2dc938704977d2f3d0765832e79e1239d97aa6912efadc21a9705ef7dca42eb\",\n          \"transactionIndex\": \"0xd0\",\n          \"logIndex\": \"0x312\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x04000000400000000000000000000000400000000000000000800000040000000000008020000000000000000005000000000000020008000000000000040000001000000000000000000400000002000001000000040000000000000000000000000000020000000000000000000800000000000000000000000000000000400000000040000000000000040000000000000000000080000000000000000000000000000000000000000100000404000000000000000000000020000000000000000020000000000100000000040000000000100020000000000000000060000000000000000040000000000000200000000000008000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xa2dc938704977d2f3d0765832e79e1239d97aa6912efadc21a9705ef7dca42eb\",\n      \"transactionIndex\": \"0xd0\",\n      \"blockHash\": \"0xf28b6337074b00219c168aea98cd7471a45ed6df409ffd8e1cfc8cfbf255324d\",\n      \"blockNumber\": \"0x1770981\",\n      \"gasUsed\": \"0x2499c\",\n      \"effectiveGasPrice\": \"0xc13a6a4\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x7bb41c3008b3f03fe483b28b8db90e19cf07595c\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1772559062275,\n  \"chain\": 1,\n  \"commit\": \"d7efe46\"\n}"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/records/WithdrawSmartEscrow.s.sol/10/approve-latest.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x4a8255f0c4154ba4c423253b5b1d36d538bd90d45288a46e16151bac1b39bda8\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940\",\n        \"0\",\n        \"0xd4d9bdcdc711039c57aed7f42a040cc4b69a1ce222513ec53291d978170bcbbd1fe0ef4e\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x644fe21a16197f0bc575a367437bfae3192f7f8beb91f917ce8238295ab3e2841958c8c661a02c4769a111cee6dc7c86eb027f48f76bb77ec1f0fc8cd74059761ca925b65641fcb5cebfcf5a77b641db45f5a1b5e46a820ae7713ff1f611576ce40b426a896e49a8a245c2a0c2053df11144f488711b1e5f7ee88231e55c5e12b11b4df9867cdf2e1e68e43ce1c40990e4071a52535df324bccbfe97ad8a36c1bfbf2a707151f6e798ed581d8f26325363735b079946bd9591584e9024925a01bd461b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6\",\n        \"gas\": \"0x235e6\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec709400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcdc711039c57aed7f42a040cc4b69a1ce222513ec53291d978170bcbbd1fe0ef4e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3644fe21a16197f0bc575a367437bfae3192f7f8beb91f917ce8238295ab3e2841958c8c661a02c4769a111cee6dc7c86eb027f48f76bb77ec1f0fc8cd74059761ca925b65641fcb5cebfcf5a77b641db45f5a1b5e46a820ae7713ff1f611576ce40b426a896e49a8a245c2a0c2053df11144f488711b1e5f7ee88231e55c5e12b11b4df9867cdf2e1e68e43ce1c40990e4071a52535df324bccbfe97ad8a36c1bfbf2a707151f6e798ed581d8f26325363735b079946bd9591584e9024925a01bd461b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x8\",\n        \"chainId\": \"0xa\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x5030b2\",\n      \"logs\": [\n        {\n          \"address\": \"0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x0000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec709400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000024d4d9bdcdc711039c57aed7f42a040cc4b69a1ce222513ec53291d978170bcbbd1fe0ef4e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3644fe21a16197f0bc575a367437bfae3192f7f8beb91f917ce8238295ab3e2841958c8c661a02c4769a111cee6dc7c86eb027f48f76bb77ec1f0fc8cd74059761ca925b65641fcb5cebfcf5a77b641db45f5a1b5e46a820ae7713ff1f611576ce40b426a896e49a8a245c2a0c2053df11144f488711b1e5f7ee88231e55c5e12b11b4df9867cdf2e1e68e43ce1c40990e4071a52535df324bccbfe97ad8a36c1bfbf2a707151f6e798ed581d8f26325363735b079946bd9591584e9024925a01bd461b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000004000000000000000000000000644e3dedb0e4f83bfcf8f9992964d240224b74dc0000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0x352763e369940bb85473361638bfa54c34dae0ffe37adbd473f47cd081228bfc\",\n          \"blockNumber\": \"0x8d9a112\",\n          \"blockTimestamp\": \"0x69a71bdd\",\n          \"transactionHash\": \"0x4a8255f0c4154ba4c423253b5b1d36d538bd90d45288a46e16151bac1b39bda8\",\n          \"transactionIndex\": \"0xb\",\n          \"logIndex\": \"0xc4\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xc711039c57aed7f42a040cc4b69a1ce222513ec53291d978170bcbbd1fe0ef4e\",\n            \"0x0000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f6\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x352763e369940bb85473361638bfa54c34dae0ffe37adbd473f47cd081228bfc\",\n          \"blockNumber\": \"0x8d9a112\",\n          \"blockTimestamp\": \"0x69a71bdd\",\n          \"transactionHash\": \"0x4a8255f0c4154ba4c423253b5b1d36d538bd90d45288a46e16151bac1b39bda8\",\n          \"transactionIndex\": \"0xb\",\n          \"logIndex\": \"0xc5\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x97f14e9f15b4c043b83d183889da27b66a5e1532a76db0d7add6b875d530c9720000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x352763e369940bb85473361638bfa54c34dae0ffe37adbd473f47cd081228bfc\",\n          \"blockNumber\": \"0x8d9a112\",\n          \"blockTimestamp\": \"0x69a71bdd\",\n          \"transactionHash\": \"0x4a8255f0c4154ba4c423253b5b1d36d538bd90d45288a46e16151bac1b39bda8\",\n          \"transactionIndex\": \"0xb\",\n          \"logIndex\": \"0xc6\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x01000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000080100000000000000000000000000000000000000000000000000000040000000000000000000000000000000000400000000000000000000000000000000000000000800000000000000000000000000000008000000000000000000000000000000000000000000000000000000400000000000000000004000020000000000005000000000000000000000000000000000000000000020000000000000000000000000000000000000000000040000000020001000000000000000000000000100000000000200004\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x4a8255f0c4154ba4c423253b5b1d36d538bd90d45288a46e16151bac1b39bda8\",\n      \"transactionIndex\": \"0xb\",\n      \"blockHash\": \"0x352763e369940bb85473361638bfa54c34dae0ffe37adbd473f47cd081228bfc\",\n      \"blockNumber\": \"0x8d9a112\",\n      \"gasUsed\": \"0x199b4\",\n      \"effectiveGasPrice\": \"0x457\",\n      \"blobGasUsed\": \"0x1d7e0\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6\",\n      \"contractAddress\": null,\n      \"daFootprintGasScalar\": \"0x190\",\n      \"l1BaseFeeScalar\": \"0x146b\",\n      \"l1BlobBaseFee\": \"0x9f2a46\",\n      \"l1BlobBaseFeeScalar\": \"0xf79c5\",\n      \"l1Fee\": \"0x1cc5f9911\",\n      \"l1GasPrice\": \"0xaa26018\",\n      \"l1GasUsed\": \"0x12ee\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1772559325436,\n  \"chain\": 10,\n  \"commit\": \"d7efe46\"\n}"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/records/WithdrawSmartEscrow.s.sol/10/run-1772559325436.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x4a8255f0c4154ba4c423253b5b1d36d538bd90d45288a46e16151bac1b39bda8\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940\",\n        \"0\",\n        \"0xd4d9bdcdc711039c57aed7f42a040cc4b69a1ce222513ec53291d978170bcbbd1fe0ef4e\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x644fe21a16197f0bc575a367437bfae3192f7f8beb91f917ce8238295ab3e2841958c8c661a02c4769a111cee6dc7c86eb027f48f76bb77ec1f0fc8cd74059761ca925b65641fcb5cebfcf5a77b641db45f5a1b5e46a820ae7713ff1f611576ce40b426a896e49a8a245c2a0c2053df11144f488711b1e5f7ee88231e55c5e12b11b4df9867cdf2e1e68e43ce1c40990e4071a52535df324bccbfe97ad8a36c1bfbf2a707151f6e798ed581d8f26325363735b079946bd9591584e9024925a01bd461b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6\",\n        \"gas\": \"0x235e6\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec709400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcdc711039c57aed7f42a040cc4b69a1ce222513ec53291d978170bcbbd1fe0ef4e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3644fe21a16197f0bc575a367437bfae3192f7f8beb91f917ce8238295ab3e2841958c8c661a02c4769a111cee6dc7c86eb027f48f76bb77ec1f0fc8cd74059761ca925b65641fcb5cebfcf5a77b641db45f5a1b5e46a820ae7713ff1f611576ce40b426a896e49a8a245c2a0c2053df11144f488711b1e5f7ee88231e55c5e12b11b4df9867cdf2e1e68e43ce1c40990e4071a52535df324bccbfe97ad8a36c1bfbf2a707151f6e798ed581d8f26325363735b079946bd9591584e9024925a01bd461b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x8\",\n        \"chainId\": \"0xa\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x5030b2\",\n      \"logs\": [\n        {\n          \"address\": \"0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x0000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec709400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000024d4d9bdcdc711039c57aed7f42a040cc4b69a1ce222513ec53291d978170bcbbd1fe0ef4e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3644fe21a16197f0bc575a367437bfae3192f7f8beb91f917ce8238295ab3e2841958c8c661a02c4769a111cee6dc7c86eb027f48f76bb77ec1f0fc8cd74059761ca925b65641fcb5cebfcf5a77b641db45f5a1b5e46a820ae7713ff1f611576ce40b426a896e49a8a245c2a0c2053df11144f488711b1e5f7ee88231e55c5e12b11b4df9867cdf2e1e68e43ce1c40990e4071a52535df324bccbfe97ad8a36c1bfbf2a707151f6e798ed581d8f26325363735b079946bd9591584e9024925a01bd461b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000004000000000000000000000000644e3dedb0e4f83bfcf8f9992964d240224b74dc0000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0x352763e369940bb85473361638bfa54c34dae0ffe37adbd473f47cd081228bfc\",\n          \"blockNumber\": \"0x8d9a112\",\n          \"blockTimestamp\": \"0x69a71bdd\",\n          \"transactionHash\": \"0x4a8255f0c4154ba4c423253b5b1d36d538bd90d45288a46e16151bac1b39bda8\",\n          \"transactionIndex\": \"0xb\",\n          \"logIndex\": \"0xc4\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xc711039c57aed7f42a040cc4b69a1ce222513ec53291d978170bcbbd1fe0ef4e\",\n            \"0x0000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f6\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x352763e369940bb85473361638bfa54c34dae0ffe37adbd473f47cd081228bfc\",\n          \"blockNumber\": \"0x8d9a112\",\n          \"blockTimestamp\": \"0x69a71bdd\",\n          \"transactionHash\": \"0x4a8255f0c4154ba4c423253b5b1d36d538bd90d45288a46e16151bac1b39bda8\",\n          \"transactionIndex\": \"0xb\",\n          \"logIndex\": \"0xc5\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x97f14e9f15b4c043b83d183889da27b66a5e1532a76db0d7add6b875d530c9720000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x352763e369940bb85473361638bfa54c34dae0ffe37adbd473f47cd081228bfc\",\n          \"blockNumber\": \"0x8d9a112\",\n          \"blockTimestamp\": \"0x69a71bdd\",\n          \"transactionHash\": \"0x4a8255f0c4154ba4c423253b5b1d36d538bd90d45288a46e16151bac1b39bda8\",\n          \"transactionIndex\": \"0xb\",\n          \"logIndex\": \"0xc6\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x01000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000080100000000000000000000000000000000000000000000000000000040000000000000000000000000000000000400000000000000000000000000000000000000000800000000000000000000000000000008000000000000000000000000000000000000000000000000000000400000000000000000004000020000000000005000000000000000000000000000000000000000000020000000000000000000000000000000000000000000040000000020001000000000000000000000000100000000000200004\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x4a8255f0c4154ba4c423253b5b1d36d538bd90d45288a46e16151bac1b39bda8\",\n      \"transactionIndex\": \"0xb\",\n      \"blockHash\": \"0x352763e369940bb85473361638bfa54c34dae0ffe37adbd473f47cd081228bfc\",\n      \"blockNumber\": \"0x8d9a112\",\n      \"gasUsed\": \"0x199b4\",\n      \"effectiveGasPrice\": \"0x457\",\n      \"blobGasUsed\": \"0x1d7e0\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6\",\n      \"contractAddress\": null,\n      \"daFootprintGasScalar\": \"0x190\",\n      \"l1BaseFeeScalar\": \"0x146b\",\n      \"l1BlobBaseFee\": \"0x9f2a46\",\n      \"l1BlobBaseFeeScalar\": \"0xf79c5\",\n      \"l1Fee\": \"0x1cc5f9911\",\n      \"l1GasPrice\": \"0xaa26018\",\n      \"l1GasUsed\": \"0x12ee\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1772559325436,\n  \"chain\": 10,\n  \"commit\": \"d7efe46\"\n}"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/records/WithdrawSmartEscrow.s.sol/10/run-1773681700867.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xa3754486278c1a51c380a4507c05106e42f072af34be414c3c3abeca95f67e5b\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xb3C2f9fC2727078EC3A2255410e83BA5B62c5B5f\",\n        \"0\",\n        \"0x2806e3d6\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f00000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f6000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940\",\n        \"gas\": \"0x1ea51\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000b3c2f9fc2727078ec3a2255410e83ba5b62c5b5f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000042806e3d60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f00000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f6000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x9\",\n        \"chainId\": \"0xa\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x67652a\",\n      \"logs\": [\n        {\n          \"address\": \"0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000b3c2f9fc2727078ec3a2255410e83ba5b62c5b5f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000000042806e3d60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f00000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f600000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002000000000000000000000000644e3dedb0e4f83bfcf8f9992964d240224b74dc0000000000000000000000000000000000000000000000000000000000000002\",\n          \"blockHash\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockNumber\": \"0x8e23136\",\n          \"blockTimestamp\": \"0x69b83c25\",\n          \"transactionHash\": \"0xa3754486278c1a51c380a4507c05106e42f072af34be414c3c3abeca95f67e5b\",\n          \"transactionIndex\": \"0x1e\",\n          \"logIndex\": \"0xc6\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x4200000000000000000000000000000000000042\",\n          \"topics\": [\n            \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n            \"0x000000000000000000000000b3c2f9fc2727078ec3a2255410e83ba5b62c5b5f\",\n            \"0x0000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f0\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000003b363e7f0b6bf06900000\",\n          \"blockHash\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockNumber\": \"0x8e23136\",\n          \"blockTimestamp\": \"0x69b83c25\",\n          \"transactionHash\": \"0xa3754486278c1a51c380a4507c05106e42f072af34be414c3c3abeca95f67e5b\",\n          \"transactionIndex\": \"0x1e\",\n          \"logIndex\": \"0xc7\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb3c2f9fc2727078ec3a2255410e83ba5b62c5b5f\",\n          \"topics\": [\n            \"0x6352c5382c4a4578e712449ca65e83cdb392d045dfcf1cad9615189db2da244b\",\n            \"0x0000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f0\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000003b363e7f0b6bf06900000\",\n          \"blockHash\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockNumber\": \"0x8e23136\",\n          \"blockTimestamp\": \"0x69b83c25\",\n          \"transactionHash\": \"0xa3754486278c1a51c380a4507c05106e42f072af34be414c3c3abeca95f67e5b\",\n          \"transactionIndex\": \"0x1e\",\n          \"logIndex\": \"0xc8\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xc711039c57aed7f42a040cc4b69a1ce222513ec53291d978170bcbbd1fe0ef4e0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockNumber\": \"0x8e23136\",\n          \"blockTimestamp\": \"0x69b83c25\",\n          \"transactionHash\": \"0xa3754486278c1a51c380a4507c05106e42f072af34be414c3c3abeca95f67e5b\",\n          \"transactionIndex\": \"0x1e\",\n          \"logIndex\": \"0xc9\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000040000000000000000040800000000000100000000000000000000000000000000000000000020000000000840000000000000000030000008000000000000040000000000000000000000000000000000000000000000000100800000000000000000010000000010000000008000000000040000008000000000000040000000000000000000000000000000000000000400000000000000000004000020000000000000000000000000000000000002000000000000000000020000008000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xa3754486278c1a51c380a4507c05106e42f072af34be414c3c3abeca95f67e5b\",\n      \"transactionIndex\": \"0x1e\",\n      \"blockHash\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n      \"blockNumber\": \"0x8e23136\",\n      \"gasUsed\": \"0x162fc\",\n      \"effectiveGasPrice\": \"0x42f\",\n      \"blobGasUsed\": \"0xfb90\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940\",\n      \"contractAddress\": null,\n      \"daFootprintGasScalar\": \"0x190\",\n      \"l1BaseFeeScalar\": \"0x146b\",\n      \"l1BlobBaseFee\": \"0x1421d27\",\n      \"l1BlobBaseFeeScalar\": \"0xf79c5\",\n      \"l1Fee\": \"0x137930291\",\n      \"l1GasPrice\": \"0x15ff1310\",\n      \"l1GasUsed\": \"0xa18\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1773681700867,\n  \"chain\": 10,\n  \"commit\": \"c623c31\"\n}"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/script/AddSecurityCouncilSigner.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\n\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {IGnosisSafe, Enum} from \"@base-contracts/script/universal/IGnosisSafe.sol\";\n\n/// @title AddSecurityCouncilSigner\n/// @notice Adds a new signer to the Security Council Safe and increases the threshold to 3.\n/// @dev Uses addOwnerWithThreshold to add the new signer and set the threshold in a single call.\ncontract AddSecurityCouncilSigner is MultisigScript {\n    /// @notice The new threshold after adding the signer.\n    uint256 public constant NEW_THRESHOLD = 8;\n\n    /// @notice The Security Council Safe whose signers are being updated.\n    address public immutable SECURITY_COUNCIL = vm.envAddress(\"CB_SC_SAFE_ADDR\");\n\n    /// @notice The new signer address to be added.\n    address public immutable NEW_SIGNER = vm.envAddress(\"NEW_SC_SIGNER_ADDR\");\n\n    /// @notice The current threshold before the update.\n    uint256 public currentThreshold;\n\n    /// @notice The current number of owners before the update.\n    uint256 public currentOwnerCount;\n\n    function setUp() external {\n        // Prechecks: Verify initial state\n        require(!IGnosisSafe(SECURITY_COUNCIL).isOwner(NEW_SIGNER), \"Precheck: NEW_SIGNER must not already be an owner\");\n\n        currentThreshold = IGnosisSafe(SECURITY_COUNCIL).getThreshold();\n        currentOwnerCount = IGnosisSafe(SECURITY_COUNCIL).getOwners().length;\n\n        require(currentThreshold < NEW_THRESHOLD, \"Precheck: Current threshold must be less than NEW_THRESHOLD\");\n        require(currentOwnerCount + 1 >= NEW_THRESHOLD, \"Precheck: Owner count after adding must be >= NEW_THRESHOLD\");\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        // Verify new signer was added\n        require(IGnosisSafe(SECURITY_COUNCIL).isOwner(NEW_SIGNER), \"Postcheck: NEW_SIGNER must be an owner\");\n\n        // Verify threshold was updated\n        require(\n            IGnosisSafe(SECURITY_COUNCIL).getThreshold() == NEW_THRESHOLD, \"Postcheck: Threshold must be NEW_THRESHOLD\"\n        );\n\n        // Verify owner count increased by 1\n        require(\n            IGnosisSafe(SECURITY_COUNCIL).getOwners().length == currentOwnerCount + 1,\n            \"Postcheck: Owner count must increase by 1\"\n        );\n    }\n\n    function _buildCalls() internal view override returns (MultisigScript.Call[] memory) {\n        MultisigScript.Call[] memory calls = new MultisigScript.Call[](1);\n\n        // Add new signer and set threshold to NEW_THRESHOLD in a single call\n        calls[0] = MultisigScript.Call({\n            operation: Enum.Operation.Call,\n            target: SECURITY_COUNCIL,\n            data: abi.encodeCall(IGnosisSafe.addOwnerWithThreshold, (NEW_SIGNER, NEW_THRESHOLD)),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return SECURITY_COUNCIL;\n    }\n}\n"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/script/DeployFeeDisburser.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.25;\n\nimport {Script} from \"forge-std/Script.sol\";\nimport {console} from \"forge-std/console.sol\";\n\nimport {FeeDisburser} from \"@base-contracts/src/revenue-share/FeeDisburser.sol\";\n\n/// @title DeployFeeDisburser\n/// @notice Deploys the FeeDisburser contract which collects fees from L2 FeeVaults and bridges them to L1.\n/// @dev Required environment variables:\n///      - L1_WALLET: The L1 address that will receive bridged fees\n///      - FEE_DISBURSEMENT_INTERVAL: Minimum time in seconds between disbursements (must be >= 24 hours)\ncontract DeployFeeDisburser is Script {\n    /// @notice The L1 address that will receive the bridged fees.\n    address public immutable L1_WALLET = vm.envAddress(\"BALANCE_TRACKER\");\n\n    /// @notice The minimum time in seconds between fee disbursements.\n    uint256 public immutable FEE_DISBURSEMENT_INTERVAL = vm.envUint(\"FEE_DISBURSEMENT_INTERVAL\");\n\n    function run() external {\n        vm.startBroadcast();\n\n        FeeDisburser feeDisburser = new FeeDisburser(L1_WALLET, FEE_DISBURSEMENT_INTERVAL);\n\n        console.log(\"FeeDisburser deployed at:\", address(feeDisburser));\n        console.log(\"  L1_WALLET:\", L1_WALLET);\n        console.log(\"  FEE_DISBURSEMENT_INTERVAL:\", FEE_DISBURSEMENT_INTERVAL);\n\n        vm.stopBroadcast();\n\n        // Post-deployment checks to ensure immutables match expected values\n        // (guards against shell env variables overriding .env file)\n        require(\n            feeDisburser.L1_WALLET() == 0x23B597f33f6f2621F77DA117523Dffd634cDf4ea,\n            \"DeployFeeDisburser: L1_WALLET mismatch\"\n        );\n        require(\n            feeDisburser.FEE_DISBURSEMENT_INTERVAL() == 86400, \"DeployFeeDisburser: FEE_DISBURSEMENT_INTERVAL mismatch\"\n        );\n    }\n}\n"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/script/DeploySuperchainConfigAndSystemConfig.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Script} from \"forge-std/Script.sol\";\n\nimport {Proxy} from \"@base-contracts/src/universal/Proxy.sol\";\nimport {ProxyAdmin} from \"@base-contracts/src/universal/ProxyAdmin.sol\";\nimport {SystemConfig} from \"@base-contracts/src/L1/SystemConfig.sol\";\nimport {SuperchainConfig} from \"@base-contracts/src/L1/SuperchainConfig.sol\";\n\n/// @title DeploySuperchainConfigAndSystemConfig\n/// @notice Deploys a new SuperchainConfig proxy and a patched SystemConfig implementation.\n///         The SuperchainConfig proxy is initialized with the guardian address and admin\n///         is transferred to the ProxyAdmin contract. The SystemConfig implementation uses\n///         init version 4 to allow re-initialization on existing proxies.\ncontract DeploySuperchainConfigAndSystemConfig is Script {\n    /// @notice The ProxyAdmin contract that will be the admin of the SuperchainConfig proxy.\n    address public immutable PROXY_ADMIN = vm.envAddress(\"PROXY_ADMIN\");\n\n    /// @notice The Safe that owns the ProxyAdmin.\n    address public immutable OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n\n    /// @notice The guardian address that can pause and perform dispute game operations (should be the same as the owner safe which is our top level 2-of-2).\n    address public immutable GUARDIAN = vm.envAddress(\"OWNER_SAFE\");\n\n    /// @notice The incident responder address that can only pause.\n    address public immutable INCIDENT_RESPONDER = vm.envAddress(\"INCIDENT_MULTISIG\");\n\n    function run() external {\n        vm.startBroadcast();\n\n        // Deploy SuperchainConfig implementation with guardian and incident responder as constructor args\n        SuperchainConfig superchainConfigImpl = new SuperchainConfig(GUARDIAN, INCIDENT_RESPONDER);\n\n        // Deploy SuperchainConfig proxy\n        Proxy superchainConfigProxy = new Proxy(msg.sender);\n        superchainConfigProxy.upgradeTo(address(superchainConfigImpl));\n        superchainConfigProxy.changeAdmin(PROXY_ADMIN);\n\n        // Deploy patched SystemConfig implementation (uses init version 4)\n        new SystemConfig();\n\n        vm.stopBroadcast();\n\n        // Post-deployment verification\n        SuperchainConfig superchainConfig = SuperchainConfig(address(superchainConfigProxy));\n        require(superchainConfig.GUARDIAN() == GUARDIAN, \"Postcheck: Guardian not set correctly\");\n        require(\n            superchainConfig.INCIDENT_RESPONDER() == INCIDENT_RESPONDER,\n            \"Postcheck: Incident responder not set correctly\"\n        );\n        require(!superchainConfig.paused(), \"Postcheck: SuperchainConfig should not be paused\");\n\n        // Verify proxy admin is set correctly\n        vm.prank(address(0));\n        require(superchainConfigProxy.admin() == PROXY_ADMIN, \"Postcheck: Proxy admin not set correctly\");\n\n        // Verify proxy admin owner is correct\n        require(ProxyAdmin(PROXY_ADMIN).owner() == OWNER_SAFE, \"Postcheck: ProxyAdmin owner not set correctly\");\n    }\n}\n"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/script/TerminateSmartEscrow.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\n\nimport {MultisigScript, Enum} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\n\ninterface ISmartEscrow {\n    function terminate() external;\n    function contractTerminated() external view returns (bool);\n}\n\n/// @title TerminateSmartEscrow\n/// @notice Script to terminate the SmartEscrow contract via a multisig transaction.\n///         The caller must have the TERMINATOR_ROLE on the SmartEscrow contract.\n///         Termination releases any vested tokens to the beneficiary before setting\n///         the contract to a terminated state.\ncontract TerminateSmartEscrow is MultisigScript {\n    /// @notice The Safe address that has the TERMINATOR_ROLE on the SmartEscrow contract.\n    address public immutable OWNER_SAFE = vm.envAddress(\"CB_SAFE_ON_OP\");\n\n    /// @notice The SmartEscrow contract address to terminate.\n    address public immutable SMART_ESCROW = vm.envAddress(\"SMART_ESCROW\");\n\n    /// @notice Verifies that the SmartEscrow contract was successfully terminated.\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        require(ISmartEscrow(SMART_ESCROW).contractTerminated(), \"Postcheck: SmartEscrow contract was not terminated\");\n    }\n\n    /// @notice Builds the call to SmartEscrow.terminate().\n    function _buildCalls() internal view override returns (MultisigScript.Call[] memory) {\n        MultisigScript.Call[] memory calls = new MultisigScript.Call[](1);\n\n        calls[0] = MultisigScript.Call({\n            operation: Enum.Operation.Call,\n            target: SMART_ESCROW,\n            data: abi.encodeCall(ISmartEscrow.terminate, ()),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    /// @notice Returns the Safe address that will execute this transaction.\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/script/UpdateCBSafeSigners.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\n\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {IGnosisSafe, Enum} from \"@base-contracts/script/universal/IGnosisSafe.sol\";\n\n/// @title UpdateCBSafeSigners\n/// @notice Updates the CB signer safe to replace nested safe signers with individual EOAs.\n/// @dev Execution order:\n///      1. Remove SECURITY_COUNCIL from OWNER_SAFE (threshold temporarily set to 1)\n///      2. Add each CB EOA from CB_NESTED_SAFE as direct signers (threshold stays at 1)\n///      3. Remove CB_NESTED_SAFE and set final threshold to FINAL_THRESHOLD\ncontract UpdateCBSafeSigners is MultisigScript {\n    /// @notice Sentinel address used by Safe's linked list implementation.\n    address internal constant SENTINEL = address(0x1);\n\n    /// @notice Interim threshold used during owner modifications.\n    uint256 internal constant INTERIM_THRESHOLD = 1;\n\n    /// @notice Final threshold after all owner modifications are complete.\n    uint256 public constant FINAL_THRESHOLD = 3;\n\n    /// @notice The Safe whose signers are being updated.\n    address public immutable OWNER_SAFE = vm.envAddress(\"CB_SIGNER_SAFE_ADDR\");\n\n    /// @notice The security council Safe to be removed as a signer.\n    address public immutable SECURITY_COUNCIL = vm.envAddress(\"CB_SC_SAFE_ADDR\");\n\n    /// @notice The nested Safe whose EOA owners will become direct signers.\n    address public immutable CB_NESTED_SAFE = vm.envAddress(\"CB_NESTED_SAFE_ADDR\");\n\n    /// @notice The previous owner in Safe's linked list, needed for removeOwner.\n    address public prevOwnerOfSecurityCouncil = SENTINEL;\n\n    /// @notice The EOA addresses from CB_NESTED_SAFE that will become direct signers.\n    address[] public cbEoas;\n\n    function setUp() external {\n        // Prechecks: Verify initial state\n        require(IGnosisSafe(OWNER_SAFE).isOwner(SECURITY_COUNCIL), \"Precheck: SECURITY_COUNCIL must be an owner\");\n        require(IGnosisSafe(OWNER_SAFE).isOwner(CB_NESTED_SAFE), \"Precheck: CB_NESTED_SAFE must be an owner\");\n\n        // Find prevOwner for SECURITY_COUNCIL in Safe's linked list.\n        // Safe's getOwners() returns owners in linked list order.\n        // The first owner has SENTINEL (0x1) as its prevOwner.\n        address[] memory owners = IGnosisSafe(OWNER_SAFE).getOwners();\n\n        for (uint256 i; i < owners.length; i++) {\n            if (owners[i] == SECURITY_COUNCIL) break;\n            prevOwnerOfSecurityCouncil = owners[i];\n        }\n\n        // Get EOAs from nested safe to add as direct signers\n        cbEoas = IGnosisSafe(CB_NESTED_SAFE).getOwners();\n        require(cbEoas.length > 0, \"Precheck: CB_NESTED_SAFE must have at least one owner\");\n        require(cbEoas.length >= FINAL_THRESHOLD, \"Precheck: CB_NESTED_SAFE must have at least FINAL_THRESHOLD owners\");\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        // Verify removed signers\n        require(!IGnosisSafe(OWNER_SAFE).isOwner(SECURITY_COUNCIL), \"Postcheck: SECURITY_COUNCIL must be removed\");\n        require(!IGnosisSafe(OWNER_SAFE).isOwner(CB_NESTED_SAFE), \"Postcheck: CB_NESTED_SAFE must be removed\");\n\n        // Verify all EOAs are now direct signers\n        for (uint256 i = 0; i < cbEoas.length; i++) {\n            require(IGnosisSafe(OWNER_SAFE).isOwner(cbEoas[i]), \"Postcheck: CB EOA must be an owner\");\n        }\n\n        // Verify threshold\n        require(\n            IGnosisSafe(OWNER_SAFE).getThreshold() == FINAL_THRESHOLD, \"Postcheck: Threshold must be FINAL_THRESHOLD\"\n        );\n    }\n\n    function _buildCalls() internal view override returns (MultisigScript.Call[] memory) {\n        // Total calls: 1 (remove SECURITY_COUNCIL) + cbEoas.length (add EOAs) + 1 (remove CB_NESTED_SAFE)\n        MultisigScript.Call[] memory calls = new MultisigScript.Call[](2 + cbEoas.length);\n\n        // Step 1: Remove SECURITY_COUNCIL, set threshold to 1\n        calls[0] = MultisigScript.Call({\n            operation: Enum.Operation.Call,\n            target: OWNER_SAFE,\n            data: abi.encodeCall(\n                IGnosisSafe.removeOwner, (prevOwnerOfSecurityCouncil, SECURITY_COUNCIL, INTERIM_THRESHOLD)\n            ),\n            value: 0\n        });\n\n        // Step 2: Add each CB EOA as a direct signer (keep threshold at 1)\n        // Note: addOwnerWithThreshold adds new owners to the FRONT of Safe's linked list.\n        // After adding cbEoas[0..n-1], the order will be:\n        //   SENTINEL -> cbEoas[n-1] -> ... -> cbEoas[0] -> CB_NESTED_SAFE -> ...\n        // Therefore, cbEoas[0] will be the prevOwner of CB_NESTED_SAFE.\n        for (uint256 i = 0; i < cbEoas.length; i++) {\n            calls[i + 1] = MultisigScript.Call({\n                operation: Enum.Operation.Call,\n                target: OWNER_SAFE,\n                data: abi.encodeCall(IGnosisSafe.addOwnerWithThreshold, (cbEoas[i], INTERIM_THRESHOLD)),\n                value: 0\n            });\n        }\n\n        // Step 3: Remove CB_NESTED_SAFE and set final threshold\n        // cbEoas[0] is the prevOwner because it was added first and is now\n        // immediately before CB_NESTED_SAFE in the linked list.\n        calls[calls.length - 1] = MultisigScript.Call({\n            operation: Enum.Operation.Call,\n            target: OWNER_SAFE,\n            data: abi.encodeCall(IGnosisSafe.removeOwner, (cbEoas[0], CB_NESTED_SAFE, FINAL_THRESHOLD)),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/script/UpdateProxyAdminOwnerSigners.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\n\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {IGnosisSafe, Enum} from \"@base-contracts/script/universal/IGnosisSafe.sol\";\n\n/// @title UpdateProxyAdminOwnerSigners\n/// @notice Swaps OP_SAFE for SECURITY_COUNCIL as an owner on the ProxyAdmin owner Safe.\n/// @dev This script expects the Safe to have exactly 2 owners and threshold of 2 before and after the swap.\ncontract UpdateProxyAdminOwnerSigners is MultisigScript {\n    /// @notice Sentinel address used by Safe's linked list implementation.\n    address internal constant SENTINEL = address(0x1);\n\n    /// @notice Expected owner count before and after the swap.\n    uint256 internal constant EXPECTED_OWNER_COUNT = 2;\n\n    /// @notice The Safe whose signers are being updated.\n    address public immutable OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n\n    /// @notice The OP signer Safe to be removed as an owner.\n    address public immutable OP_SAFE = vm.envAddress(\"OP_SIGNER_SAFE_ADDR\");\n\n    /// @notice The security council Safe to be added as an owner.\n    address public immutable SECURITY_COUNCIL = vm.envAddress(\"CB_SC_SAFE_ADDR\");\n\n    /// @notice The previous owner in Safe's linked list, needed for swapOwner.\n    address public prevOwner = SENTINEL;\n\n    function setUp() external {\n        // Prechecks: Verify initial state\n        require(IGnosisSafe(OWNER_SAFE).isOwner(OP_SAFE), \"Precheck: OP_SAFE must be an owner\");\n        require(\n            !IGnosisSafe(OWNER_SAFE).isOwner(SECURITY_COUNCIL),\n            \"Precheck: SECURITY_COUNCIL must not already be an owner\"\n        );\n        require(\n            IGnosisSafe(OWNER_SAFE).getOwners().length == EXPECTED_OWNER_COUNT,\n            \"Precheck: Must have EXPECTED_OWNER_COUNT owners\"\n        );\n\n        // Find prevOwner for OP_SAFE in Safe's linked list.\n        // Safe's getOwners() returns owners in linked list order.\n        // The first owner has SENTINEL (0x1) as its prevOwner.\n        address[] memory owners = IGnosisSafe(OWNER_SAFE).getOwners();\n\n        for (uint256 i; i < owners.length; i++) {\n            if (owners[i] == OP_SAFE) break;\n            prevOwner = owners[i];\n        }\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        require(IGnosisSafe(OWNER_SAFE).isOwner(SECURITY_COUNCIL), \"Postcheck: SECURITY_COUNCIL must be an owner\");\n        require(!IGnosisSafe(OWNER_SAFE).isOwner(OP_SAFE), \"Postcheck: OP_SAFE must be removed\");\n        require(\n            IGnosisSafe(OWNER_SAFE).getOwners().length == EXPECTED_OWNER_COUNT,\n            \"Postcheck: Must have EXPECTED_OWNER_COUNT owners\"\n        );\n    }\n\n    function _buildCalls() internal view override returns (MultisigScript.Call[] memory) {\n        MultisigScript.Call[] memory calls = new MultisigScript.Call[](1);\n\n        calls[0] = MultisigScript.Call({\n            operation: Enum.Operation.Call,\n            target: OWNER_SAFE,\n            data: abi.encodeCall(IGnosisSafe.swapOwner, (prevOwner, OP_SAFE, SECURITY_COUNCIL)),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/script/UpgradeFeeDisburser.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\n\nimport {MultisigScript, Enum} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\n\ninterface IOptimismPortal2 {\n    function depositTransaction(address _to, uint256 _value, uint64 _gasLimit, bool _isCreation, bytes memory _data)\n        external\n        payable;\n}\n\ninterface IProxy {\n    function upgradeTo(address newImplementation) external;\n}\n\n/// @title UpgradeFeeDisburser\n/// @notice Script to upgrade the FeeDisburser proxy on L2 via a deposit transaction from L1.\n///         The FeeDisburser proxy is owned by CB_NESTED_SAFE_ADDR on L1, so this upgrade\n///         must be executed as a deposit transaction through OptimismPortal2.\ncontract UpgradeFeeDisburser is MultisigScript {\n    /// @notice The L1 Safe that owns the FeeDisburser proxy (aliased address is the admin).\n    address public immutable OWNER_SAFE = vm.envAddress(\"CB_NESTED_SAFE_ADDR\");\n\n    /// @notice The OptimismPortal2 contract on L1 used for deposit transactions.\n    address public immutable OPTIMISM_PORTAL = vm.envAddress(\"OPTIMISM_PORTAL_ADDR\");\n\n    /// @notice The FeeDisburser proxy contract on L2.\n    address public immutable FEE_DISBURSER_PROXY = vm.envAddress(\"FEE_DISBURSER_ADDR\");\n\n    /// @notice The new FeeDisburser implementation contract on L2.\n    address public immutable FEE_DISBURSER_IMPL = vm.envAddress(\"FEE_DISBURSER_IMPL_ADDR\");\n\n    /// @notice Post-check is a no-op since we cannot verify L2 state from L1 simulation.\n    ///         The upgrade result should be verified on L2 after the deposit transaction is processed.\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal override {}\n\n    /// @notice Builds the call to OptimismPortal2.depositTransaction that will upgrade\n    ///         the FeeDisburser proxy on L2.\n    function _buildCalls() internal view override returns (MultisigScript.Call[] memory) {\n        MultisigScript.Call[] memory calls = new MultisigScript.Call[](1);\n\n        // Build the upgradeTo calldata to call directly on the FeeDisburser proxy\n        bytes memory upgradeCalldata = abi.encodeCall(IProxy.upgradeTo, (FEE_DISBURSER_IMPL));\n\n        // Parameters for the deposit transaction\n        address to = FEE_DISBURSER_PROXY;\n        uint256 value = 0;\n        uint64 gasLimit = 100_000; // Sufficient gas for proxy upgrade\n        bool isCreation = false;\n\n        calls[0] = MultisigScript.Call({\n            operation: Enum.Operation.Call,\n            target: OPTIMISM_PORTAL,\n            data: abi.encodeCall(\n                IOptimismPortal2.depositTransaction, (to, value, gasLimit, isCreation, upgradeCalldata)\n            ),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    /// @notice Returns the Safe address that will execute this transaction on L1.\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/script/UpgradeSystemConfig.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\n\nimport {MultisigScript, Enum} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {IGnosisSafe} from \"@base-contracts/script/universal/IGnosisSafe.sol\";\nimport {SystemConfig, IResourceMetering, ISuperchainConfig} from \"@base-contracts/src/L1/SystemConfig.sol\";\nimport {IProxyAdmin} from \"@base-contracts/interfaces/universal/IProxyAdmin.sol\";\n\n/// @title UpgradeSystemConfig\n/// @notice Script to upgrade the SystemConfig proxy to a new implementation and reinitialize\n///         it with a new SuperchainConfig address. This preserves all existing configuration\n///         parameters while updating the SuperchainConfig reference.\ncontract UpgradeSystemConfig is MultisigScript {\n    /// @notice The Safe that owns the ProxyAdmin and will execute this upgrade.\n    address public immutable OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n\n    /// @notice The ProxyAdmin contract that manages the SystemConfig proxy.\n    address public immutable PROXY_ADMIN = vm.envAddress(\"PROXY_ADMIN\");\n\n    /// @notice The SystemConfig proxy contract to be upgraded.\n    address public immutable SYSTEM_CONFIG = vm.envAddress(\"SYSTEM_CONFIG\");\n\n    /// @notice The new SystemConfig implementation contract.\n    address public immutable SYSTEM_CONFIG_IMPLEMENTATION = vm.envAddress(\"SYSTEM_CONFIG_IMPLEMENTATION\");\n\n    /// @notice The new SuperchainConfig address to set during reinitialization.\n    address public immutable NEW_SUPERCHAIN_CONFIG = vm.envAddress(\"NEW_SUPERCHAIN_CONFIG\");\n\n    /// @notice The security council Safe that becomes an owner of OWNER_SAFE after step 1.\n    address public immutable SECURITY_COUNCIL = vm.envAddress(\"CB_SC_SAFE_ADDR\");\n\n    /// @notice Safe's owners linked list base storage slot: mapping(address => address) at slot 2.\n    bytes32 internal constant SAFE_OWNERS_BASE_SLOT = bytes32(uint256(2));\n\n    /// @notice Sentinel address used by Safe's linked list implementation.\n    address internal constant SENTINEL = address(0x1);\n\n    /// @notice Validates the post-upgrade state.\n    /// @dev Verifies that:\n    ///      1. The implementation was updated correctly\n    ///      2. The SuperchainConfig was set to the new address\n    ///      3. All existing parameters were preserved\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        SystemConfig systemConfig = SystemConfig(SYSTEM_CONFIG);\n\n        // Verify the implementation was updated\n        address currentImpl = IProxyAdmin(PROXY_ADMIN).getProxyImplementation(SYSTEM_CONFIG);\n        require(currentImpl == SYSTEM_CONFIG_IMPLEMENTATION, \"Postcheck: Implementation not updated\");\n\n        // Verify the SuperchainConfig was updated\n        require(\n            address(systemConfig.superchainConfig()) == NEW_SUPERCHAIN_CONFIG, \"Postcheck: SuperchainConfig not updated\"\n        );\n    }\n\n    /// @notice Builds the upgrade call to ProxyAdmin.upgradeAndCall.\n    /// @dev Reads all existing SystemConfig parameters and rebuilds the initialize calldata\n    ///      with the new SuperchainConfig address. All other parameters are preserved.\n    function _buildCalls() internal view override returns (MultisigScript.Call[] memory) {\n        SystemConfig systemConfig = SystemConfig(SYSTEM_CONFIG);\n\n        // Get all existing SystemConfig parameters\n        address owner = systemConfig.owner();\n        uint32 basefeeScalar = systemConfig.basefeeScalar();\n        uint32 blobbasefeeScalar = systemConfig.blobbasefeeScalar();\n        bytes32 batcherHash = systemConfig.batcherHash();\n        uint64 gasLimit = systemConfig.gasLimit();\n        address unsafeBlockSigner = systemConfig.unsafeBlockSigner();\n        IResourceMetering.ResourceConfig memory resourceConfig = systemConfig.resourceConfig();\n        address batchInbox = systemConfig.batchInbox();\n        uint256 l2ChainId = systemConfig.l2ChainId();\n\n        // Get the Addresses struct\n        SystemConfig.Addresses memory addresses = systemConfig.getAddresses();\n\n        // Build the initialize calldata with the new SuperchainConfig\n        bytes memory initializeCalldata = abi.encodeCall(\n            SystemConfig.initialize,\n            (\n                owner,\n                basefeeScalar,\n                blobbasefeeScalar,\n                batcherHash,\n                gasLimit,\n                unsafeBlockSigner,\n                resourceConfig,\n                batchInbox,\n                addresses,\n                l2ChainId,\n                ISuperchainConfig(NEW_SUPERCHAIN_CONFIG)\n            )\n        );\n\n        MultisigScript.Call[] memory calls = new MultisigScript.Call[](1);\n\n        calls[0] = MultisigScript.Call({\n            operation: Enum.Operation.Call,\n            target: PROXY_ADMIN,\n            data: abi.encodeCall(\n                IProxyAdmin.upgradeAndCall, (payable(SYSTEM_CONFIG), SYSTEM_CONFIG_IMPLEMENTATION, initializeCalldata)\n            ),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    /// @notice Overrides the OWNER_SAFE state to include SECURITY_COUNCIL as an owner\n    ///         when step 1 (UpdateProxyAdminOwnerSigners) hasn't been executed yet.\n    ///         This allows pre-generating SC validation files before step 1 runs on-chain.\n    function _simulationOverrides() internal view override returns (Simulation.StateOverride[] memory) {\n        if (IGnosisSafe(OWNER_SAFE).isOwner(SECURITY_COUNCIL)) {\n            return new Simulation.StateOverride[](0);\n        }\n\n        // Insert SECURITY_COUNCIL at the head of OWNER_SAFE's owners linked list:\n        //   SENTINEL -> SECURITY_COUNCIL -> old_head -> ...\n        bytes32 sentinelSlot = keccak256(abi.encode(SENTINEL, SAFE_OWNERS_BASE_SLOT));\n        address currentHead = address(uint160(uint256(vm.load(OWNER_SAFE, sentinelSlot))));\n        bytes32 scSlot = keccak256(abi.encode(SECURITY_COUNCIL, SAFE_OWNERS_BASE_SLOT));\n\n        Simulation.StorageOverride[] memory storageOverrides = new Simulation.StorageOverride[](2);\n        storageOverrides[0] = Simulation.StorageOverride({\n            key: sentinelSlot,\n            value: bytes32(uint256(uint160(SECURITY_COUNCIL)))\n        });\n        storageOverrides[1] = Simulation.StorageOverride({key: scSlot, value: bytes32(uint256(uint160(currentHead)))});\n\n        Simulation.StateOverride[] memory overrides = new Simulation.StateOverride[](1);\n        overrides[0] = Simulation.StateOverride({contractAddress: OWNER_SAFE, overrides: storageOverrides});\n        return overrides;\n    }\n\n    /// @notice Returns the Safe address that will execute this transaction.\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/script/WithdrawSmartEscrow.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\n\nimport {IERC20} from \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\nimport {MultisigScript, Enum} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\n\ninterface ISmartEscrow {\n    function withdrawUnvestedTokens() external;\n    function contractTerminated() external view returns (bool);\n}\n\n/// @title WithdrawSmartEscrow\n/// @notice Script to withdraw unvested tokens from the SmartEscrow contract via a multisig transaction.\n///         The caller must have the DEFAULT_ADMIN_ROLE on the SmartEscrow contract.\n///         The contract must be terminated before calling this function.\n///         This withdraws all remaining OP tokens to the benefactor address.\ncontract WithdrawSmartEscrow is MultisigScript {\n    /// @notice OP token contract address.\n    IERC20 public constant OP_TOKEN = IERC20(0x4200000000000000000000000000000000000042);\n\n    /// @notice Storage slot for the `contractTerminated` variable in the SmartEscrow contract.\n    /// @dev    This slot was determined using `forge inspect SmartEscrow storage-layout`.\n    bytes32 public constant CONTRACT_TERMINATED_SLOT = bytes32(uint256(6));\n\n    /// @notice The Safe address that has the DEFAULT_ADMIN_ROLE on the SmartEscrow contract.\n    address public immutable OWNER_SAFE = vm.envAddress(\"OWNER_SAFE_ON_OP\");\n\n    /// @notice The SmartEscrow contract address to withdraw from.\n    address public immutable SMART_ESCROW = vm.envAddress(\"SMART_ESCROW\");\n\n    /// @notice Verifies that the SmartEscrow contract's OP token balance is zero after withdrawal.\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        require(ISmartEscrow(SMART_ESCROW).contractTerminated(), \"Postcheck: SmartEscrow contract must be terminated\");\n        require(OP_TOKEN.balanceOf(SMART_ESCROW) == 0, \"Postcheck: SmartEscrow OP token balance is not zero\");\n    }\n\n    /// @notice Builds the call to SmartEscrow.withdrawUnvestedTokens().\n    function _buildCalls() internal view override returns (MultisigScript.Call[] memory) {\n        MultisigScript.Call[] memory calls = new MultisigScript.Call[](1);\n\n        calls[0] = MultisigScript.Call({\n            operation: Enum.Operation.Call,\n            target: SMART_ESCROW,\n            data: abi.encodeCall(ISmartEscrow.withdrawUnvestedTokens, ()),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _simulationOverrides()\n        internal\n        view\n        virtual\n        override\n        returns (Simulation.StateOverride[] memory overrides_)\n    {\n        // If the contract is not yet terminated, override the storage slot to simulate termination.\n        if (!ISmartEscrow(SMART_ESCROW).contractTerminated()) {\n            Simulation.StorageOverride[] memory storageOverrides = new Simulation.StorageOverride[](1);\n            storageOverrides[0] = Simulation.StorageOverride({\n                key: CONTRACT_TERMINATED_SLOT,\n                value: bytes32(uint256(1)) // true\n            });\n\n            overrides_ = new Simulation.StateOverride[](1);\n            overrides_[0] = Simulation.StateOverride(SMART_ESCROW, storageOverrides);\n        }\n    }\n\n    /// @notice Returns the Safe address that will execute this transaction.\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/validations/coinbase-signer-part-1.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://eth-mainnet.public.blastapi.io UpdateProxyAdminOwnerSigners --sig sign(address[]) [0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110,0x9855054731540A48b28990B63DcF4f33d8AE46A1] --sender 0x6CD3850756b7894774Ab715D136F9dD02837De50\",\n  \"ledgerId\": 0,\n  \"rpcUrl\": \"https://eth-mainnet.public.blastapi.io\",\n  \"skipTaskOriginValidation\": true,\n  \"hideTaskOriginSkippedPage\": true,\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\n    \"domainHash\": \"0xfb308368b8deca582e84a807d31c1bfcec6fda754061e2801b4d6be5cb52a8ac\",\n    \"messageHash\": \"0xf3424f2d20bd3bea29e731601a54aee55ae5879fa27ea4d1fa3a0f669677e7db\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Mainnet\",\n      \"address\": \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Mainnet\",\n      \"address\": \"0x9855054731540A48b28990B63DcF4f33d8AE46A1\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Mainnet\",\n      \"address\": \"0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0207753ea3aa65ff8bd1dcc8c7107873d3ee3cac7dd9c2b03cf0d8d7785936da\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Proxy Admin Owner - Mainnet\",\n      \"address\": \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000000d\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000000e\",\n          \"description\": \"Increments the Safe nonce from 13 to 14 after executing the swapOwner transaction.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x40f18e1e92745b4511e8f96e7d41ff580ab32c07e37860843c4074d834967b02\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Sets approvedHashes[CB Coordinator Safe][txHash] = 1, recording the CB Coordinator Safe's approval for this transaction.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xad7f222f29a1b375bb6b2847405c3279f1dff83a30de9e555815353d94c2306b\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"description\": \"Removes OP Safe (0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a) from the owners linked list by clearing its entry.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xb79e2255a19f37f0fc20cbcd8e46bdb84bf2577e147dcf50c4471a96c0623f53\",\n          \"before\": \"0x0000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a\",\n          \"after\": \"0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n          \"description\": \"Updates the owners linked list pointer to replace OP Safe with Security Council Safe (0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xc68c82056a4782e6920506248dec06b7949eabf81d66a13e5e8ec70d4e8f4b13\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Adds Security Council Safe to the owners linked list by setting its entry to point to SENTINEL (0x1).\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Mainnet\",\n      \"address\": \"0x9855054731540A48b28990B63DcF4f33d8AE46A1\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000001a\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000001b\",\n          \"description\": \"Increments the Safe nonce from 26 to 27 after executing the nested approval transaction.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xc69bb53c813ebd0ff32f797a3122317cbcab5ec8c26a2fbc8a250cb78a4ad650\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Sets approvedHashes[CB Signer Safe][txHash] = 1, recording the CB Signer Safe's approval for the nested transaction to the Proxy Admin Owner.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Mainnet\",\n      \"address\": \"0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000006\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000007\",\n          \"description\": \"Increments the Safe nonce from 6 to 7 after the signer submits their approval.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/validations/coinbase-signer-part-2.json",
    "content": "{\n  \"cmd\": \"SAFE_NONCE_0X9C4A57FEB77E294FD7BF5EBE9AB01CAA0A90A110=7 SAFE_NONCE_0X9855054731540A48B28990B63DCF4F33D8AE46A1=27 forge script --rpc-url https://eth-mainnet.public.blastapi.io UpdateCBSafeSigners --sig sign(address[]) [0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110] --sender 0x6CD3850756b7894774Ab715D136F9dD02837De50\",\n  \"ledgerId\": 0,\n  \"rpcUrl\": \"https://eth-mainnet.public.blastapi.io\",\n  \"skipTaskOriginValidation\": true,\n  \"hideTaskOriginSkippedPage\": true,\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x9855054731540A48b28990B63DcF4f33d8AE46A1\",\n    \"domainHash\": \"0xfb308368b8deca582e84a807d31c1bfcec6fda754061e2801b4d6be5cb52a8ac\",\n    \"messageHash\": \"0x0442c61c7fc3ac5dda4f0b10c07954282e9df8e895d274900c8cb9b3f0adb072\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"CB Coordinator Safe - Mainnet\",\n      \"address\": \"0x9855054731540A48b28990B63DcF4f33d8AE46A1\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur with a single signer.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"value\": \"0x000000000000000000000000000000000000000000000000000000000000001b\",\n          \"description\": \"Override the nonce to 27, the expected value after Part 1 (UpdateProxyAdminOwnerSigners) executes.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Mainnet\",\n      \"address\": \"0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur with a single signer.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000007\",\n          \"description\": \"Override the nonce to 7, the expected value after Part 1 (UpdateProxyAdminOwnerSigners) executes.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x314a92beef78881e1e0297326a7a68563f4a7cf184570d7c08396763f32eb604\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Sets approvedHashes[msg.sender][txHash] = 1 to simulate an approval from the signer, allowing the transaction simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"CB Coordinator Safe - Mainnet\",\n      \"address\": \"0x9855054731540A48b28990B63DcF4f33d8AE46A1\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000002\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000006\",\n          \"description\": \"Updates the owner count from 2 to 6 (removes Security Council Safe and CB Nested Safe, adds 6 individual EOA signers).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"description\": \"Updates the Safe execution threshold from 1 to 3 (3-of-6 required for execution).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000001b\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000001c\",\n          \"description\": \"Increments the Safe nonce from 27 to 28 after executing the UpdateCBSafeSigners transaction.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x1772a703ae675a1daf302df5578a40ec15df2da0f370aaae76c24b3dc3cf5a82\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Adds EOA signer to owners linked list by setting its entry to point to SENTINEL (0x1), marking it as the last owner.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x41ed7d57be3aeb16e937147407ec4fe9778850776e44a977f984860d4294c66f\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000003cd692ece8b6573a2220ae00d0deb98f0dffa9a1\",\n          \"description\": \"Adds EOA signer to owners linked list, setting its entry to point to next owner (0x3cd692ece8b6573a2220ae00d0deb98f0dffa9a1).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x758f7362f1c252e82fc720287a93c81366f743607812809705593fe1d7c3853f\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x000000000000000000000000b011a32ed8b4f70d9943a2199f539bbecd7b62f7\",\n          \"description\": \"Adds EOA signer to owners linked list, setting its entry to point to next owner (0xb011a32ed8b4f70d9943a2199f539bbecd7b62f7).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x805c8fe6c374d506404de2868e0b31ae6b921cd2462f27b5646e9cdbef1ba947\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Sets approvedHashes[CB Signer Safe][txHash] = 1, recording the CB Signer Safe's approval for the UpdateCBSafeSigners transaction.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xc2eb038642409cacb7427667d194e7ffc6322f605a293c3088ea50e7387c0be8\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000001c870776b168a9ffae80c51f050c611edd246741\",\n          \"description\": \"Adds EOA signer to owners linked list, setting its entry to point to next owner (0x1c870776b168a9ffae80c51f050c611edd246741).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xc68c82056a4782e6920506248dec06b7949eabf81d66a13e5e8ec70d4e8f4b13\",\n          \"before\": \"0x0000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"description\": \"Removes CB Nested Safe (0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110) from the owners linked list by clearing its entry.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xdaf8a00b5bed19da86efcb9f47bb7ded536a0ee70f1c43b062cb09e630709778\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000003dad2200849925bb46d9bf05afa5f7f213f4c18e\",\n          \"description\": \"Adds EOA signer to owners linked list, setting its entry to point to next owner (0x3dad2200849925bb46d9bf05afa5f7f213f4c18e).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0\",\n          \"before\": \"0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n          \"after\": \"0x000000000000000000000000f9e320f3da12e68af219d9e2a490dd649f6b177c\",\n          \"description\": \"Updates SENTINEL pointer (head of owners linked list) from Security Council Safe (0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd) to new first EOA signer (0xf9e320f3da12e68af219d9e2a490dd649f6b177c).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xf2703bf6aed371ed0006c3f1370d925046c90122272e607d356ede2c94165357\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"description\": \"Removes Security Council Safe (0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd) from owners linked list by clearing its entry (was pointing to SENTINEL).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xf50027dc233102bb13bb30a38326315505fe2452eaf2e2f78f1c0da0084d86c4\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000006cd3850756b7894774ab715d136f9dd02837de50\",\n          \"description\": \"Adds EOA signer to owners linked list, setting its entry to point to next owner (0x6cd3850756b7894774ab715d136f9dd02837de50).\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Mainnet\",\n      \"address\": \"0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000007\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000008\",\n          \"description\": \"Increments the Safe nonce from 7 to 8 after the signer submits their approval.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/validations/coinbase-signer-part-3.json",
    "content": "{\n  \"cmd\": \"SAFE_NONCE_0X9855054731540A48B28990B63DCF4F33D8AE46A1=28 SAFE_NONCE_0X7BB41C3008B3F03FE483B28B8DB90E19CF07595C=14 forge script --rpc-url https://eth-mainnet.public.blastapi.io UpgradeSystemConfig --sig sign(address[]) [0x9855054731540A48b28990B63DcF4f33d8AE46A1] --sender 0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110\",\n  \"ledgerId\": 0,\n  \"rpcUrl\": \"https://eth-mainnet.public.blastapi.io\",\n  \"skipTaskOriginValidation\": true,\n  \"hideTaskOriginSkippedPage\": true,\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\n    \"domainHash\": \"0x88aac3dc27cc1618ec43a87b3df21482acd24d172027ba3fbb5a5e625d895a0b\",\n    \"messageHash\": \"0x03fda21411d9502362d43b049059f93cc737158756ff30686d5102a25977c6f2\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Mainnet\",\n      \"address\": \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"value\": \"0x000000000000000000000000000000000000000000000000000000000000000e\",\n          \"description\": \"Override the nonce to 14, the expected value after Part 1 (UpdateProxyAdminOwnerSigners) executes.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xc68c82056a4782e6920506248dec06b7949eabf81d66a13e5e8ec70d4e8f4b13\",\n          \"value\": \"0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"description\": \"Simulates the post-Part-1 state where Security Council Safe points to CB Coordinator Safe (0x9855054731540a48b28990b63dcf4f33d8ae46a1) in the owners linked list.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0\",\n          \"value\": \"0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n          \"description\": \"Simulates the post-Part-1 state where SENTINEL points to Security Council Safe (0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd) as head of the owners linked list.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Mainnet\",\n      \"address\": \"0x9855054731540A48b28990B63DcF4f33d8AE46A1\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"value\": \"0x000000000000000000000000000000000000000000000000000000000000001c\",\n          \"description\": \"Override the nonce to 28, the expected value after Parts 1-2 (UpdateProxyAdminOwnerSigners and UpdateCBSafeSigners) execute.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xc684d136668f11eb9679104054d0bdbde45d28d4b8ca596defa8d986a363aa10\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"System Config - Mainnet\",\n      \"address\": \"0x73a79Fab69143498Ed3712e519A88a918e1f4072\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"description\": \"Increments the _initialized version from 3 to 4 as part of the SystemConfig upgrade re-initialization.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006c\",\n          \"before\": \"0x0000000000000000004c4b4095703e0982140d16f8eba6d158fccede42f04a4c\",\n          \"after\": \"0x0000000000000000004c4b40b535ff7f118260a952ce65e7ff41b1743de8ee6c\",\n          \"description\": \"Updates the SuperchainConfig address stored in SystemConfig from OP's shared SuperchainConfig (0x95703e09...) to Base's own SuperchainConfig (0xb535ff7f...).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x000000000000000000000000d392c27b84b1ca776528f2704bc67b82a62132d2\",\n          \"after\": \"0x0000000000000000000000000507aaa21c678976fcdc7e804836acd6ebc17a44\",\n          \"description\": \"Updates the EIP-1967 implementation address of the SystemConfig proxy from old (0xd392c27b...) to new (0x0507aaa2...).\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Proxy Admin Owner - Mainnet\",\n      \"address\": \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000000e\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000000f\",\n          \"description\": \"Increments the Safe nonce from 14 to 15 after executing the upgradeAndCall transaction.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x98a1c6ec6ae3c99ac8db82641b5b617d0c4b915a4d9c855e6617788a467f3654\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Sets approvedHashes[CB Coordinator Safe][txHash] = 1, recording the CB Coordinator Safe's approval for this transaction.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Mainnet\",\n      \"address\": \"0x9855054731540A48b28990B63DcF4f33d8AE46A1\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000001c\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000001d\",\n          \"description\": \"Increments the Safe nonce from 28 to 29 after the CB Coordinator Safe submits its approval.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/validations/coinbase-signer-part-4.json",
    "content": "{\n  \"cmd\": \"SAFE_NONCE_0X9C4A57FEB77E294FD7BF5EBE9AB01CAA0A90A110=8 forge script --rpc-url https://eth-mainnet.public.blastapi.io UpgradeFeeDisburser --sig sign(address[]) [] --sender 0x6CD3850756b7894774Ab715D136F9dD02837De50\",\n  \"ledgerId\": 0,\n  \"rpcUrl\": \"https://eth-mainnet.public.blastapi.io\",\n  \"skipTaskOriginValidation\": true,\n  \"hideTaskOriginSkippedPage\": true,\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110\",\n    \"domainHash\": \"0xfb308368b8deca582e84a807d31c1bfcec6fda754061e2801b4d6be5cb52a8ac\",\n    \"messageHash\": \"0x2688fbdc2a8590867b05fc001c18c14c29069b218452d835e430f7984713aa82\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"CB Signer Safe - Mainnet\",\n      \"address\": \"0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000008\",\n          \"description\": \"Override the nonce to 8, the expected value after Parts 1-2 (UpdateProxyAdminOwnerSigners and UpdateCBSafeSigners) execute.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x22c0feaaeed4185d82f924f457252f81dbadc69cc524f14c36b23023cbe4657a\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"OptimismPortal - Mainnet\",\n      \"address\": \"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"before\": \"0x0000000001764b3c000000000004bdd00000000000000000000000003b9aca00\",\n          \"after\": \"0x0000000001764b3d00000000000186a00000000000000000000000003b9aca00\",\n          \"description\": \"Updates the ResourceMetering parameters (prevBlockNum, prevBoughtGas, prevBaseFee).\",\n          \"allowDifference\": true\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Mainnet\",\n      \"address\": \"0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000008\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000009\",\n          \"description\": \"Increments the Safe nonce from 8 to 9 after executing the UpgradeFeeDisburser deposit transaction.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/validations/coinbase-signer-part-5.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://mainnet.optimism.io TerminateSmartEscrow --sig sign(address[]) [] --sender 0x6CD3850756b7894774Ab715D136F9dD02837De50\",\n  \"ledgerId\": 0,\n  \"rpcUrl\": \"https://mainnet.optimism.io\",\n  \"skipTaskOriginValidation\": true,\n  \"hideTaskOriginSkippedPage\": true,\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x6e1DFd5C1E22A4677663A81D24C6BA03561ef0f6\",\n    \"domainHash\": \"0x4ac8f60706331537a33c4a4cbda024cb722855e6b160a3e8b28ab487510598b1\",\n    \"messageHash\": \"0xff53888d026d3cf3557a3c91bd99ca58e97d342cef8dc2ed5a190c4a3352f799\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"CB Signer Safe - Optimism\",\n      \"address\": \"0x6e1DFd5C1E22A4677663A81D24C6BA03561ef0f6\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x13c86125570d7981706f2b7a58917ffc9e8ea8faf77052182023566ddb61da6c\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"CB Signer Safe - Optimism\",\n      \"address\": \"0x6e1DFd5C1E22A4677663A81D24C6BA03561ef0f6\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"description\": \"Increments the Safe nonce from 3 to 4 after executing the TerminateSmartEscrow transaction.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"SmartEscrow - Optimism\",\n      \"address\": \"0xb3C2f9fC2727078EC3A2255410e83BA5B62c5B5f\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000006\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Sets contractTerminated from false (0) to true (1), marking the SmartEscrow contract as permanently terminated.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/validations/coinbase-signer-part-6.json",
    "content": "{\n  \"cmd\": \"SAFE_NONCE_0X6E1DFD5C1E22A4677663A81D24C6BA03561EF0F6=4 forge script --rpc-url https://mainnet.optimism.io WithdrawSmartEscrow --sig sign(address[]) [0x6e1DFd5C1E22A4677663A81D24C6BA03561ef0f6] --sender 0x6CD3850756b7894774Ab715D136F9dD02837De50\",\n  \"ledgerId\": 0,\n  \"rpcUrl\": \"https://mainnet.optimism.io\",\n  \"skipTaskOriginValidation\": true,\n  \"hideTaskOriginSkippedPage\": true,\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940\",\n    \"domainHash\": \"0x4ac8f60706331537a33c4a4cbda024cb722855e6b160a3e8b28ab487510598b1\",\n    \"messageHash\": \"0xe47bca5a208fb4739ae2381f86cb91d5386307481a7381c8381fe0e5f99186bb\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Owner Safe - Optimism\",\n      \"address\": \"0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Optimism\",\n      \"address\": \"0x6e1DFd5C1E22A4677663A81D24C6BA03561ef0f6\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"description\": \"Override the nonce to 4, the expected value after Part 5 (TerminateSmartEscrow) executes.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x3d9213bb9c16b3af7b48531e517a418f86c1ed190cf932410b9396a84c06eb31\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"SmartEscrow - Optimism\",\n      \"address\": \"0xb3C2f9fC2727078EC3A2255410e83BA5B62c5B5f\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000006\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Overrides contractTerminated from false (0) to true (1), marking the SmartEscrow contract as permanently terminated.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Owner Safe - Optimism\",\n      \"address\": \"0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000002\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"description\": \"Increments the Safe nonce from 2 to 3 after executing the WithdrawSmartEscrow transaction.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xdaefa18710789b315c073a0a6715e936e4dd091921c4de5bca445545fd20e45a\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Sets approvedHashes[CB Signer Safe][txHash] = 1, recording the CB Signer Safe's (0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6) approval for this transaction.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Governance Token - Optimism\",\n      \"address\": \"0x4200000000000000000000000000000000000042\",\n      \"changes\": [\n        {\n          \"key\": \"0x9c7ffc2d159d7a0a8143e9bb815194a3d0239701011646f61c42aefd6122e68c\",\n          \"before\": \"0x00000000000000000000000000000000000000000003b363e7f0b6bf06900000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"description\": \"Decreases SmartEscrow's (0xb3c2f9fc2727078ec3a2255410e83ba5b62c5b5f) OP token balance to 0 as all remaining unvested tokens are withdrawn to the benefactor. Note: The 'before' value reflects current state; after part-5 executes, the actual balance will be ~4,473,924 OP.\",\n          \"allowDifference\": true\n        },\n        {\n          \"key\": \"0xcac14c40c8d3847e740432064e9977516347ef1cecdd901d8d3a7d24e118edde\",\n          \"before\": \"0x000000000000000000000000000000000000000001972e3df849a1834d414e71\",\n          \"after\": \"0x0000000000000000000000000000000000000000019ae1a1e03a584253d14e71\",\n          \"description\": \"Increases the benefactor's (Owner Safe: 0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940) OP token balance, receiving the unvested tokens withdrawn from the SmartEscrow contract. Note: The actual amount will be ~4,473,924 OP after part-5 executes.\",\n          \"allowDifference\": true\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Optimism\",\n      \"address\": \"0x6e1DFd5C1E22A4677663A81D24C6BA03561ef0f6\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"description\": \"Increments the Safe nonce from 4 to 5 after the CB Signer Safe submits its approval for the WithdrawSmartEscrow transaction.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/validations/optimism-op-mainnet-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://mainnet.optimism.io WithdrawSmartEscrow --sig sign(address[]) [0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0] --sender 0x4d494C5F61b60752D3A10062276a0eFC22596151\",\n  \"ledgerId\": 0,\n  \"rpcUrl\": \"https://mainnet.optimism.io\",\n  \"skipTaskOriginValidation\": true,\n  \"hideTaskOriginSkippedPage\": true,\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940\",\n    \"domainHash\": \"0xb34978142f4478f3e5633915597a756daa58a1a59a3e0234f9acd5444f1ca70e\",\n    \"messageHash\": \"0x53dfd07347c4bc0d7f114f7bf1904d03e0dd469942a3289fdf6b91a656478c69\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Owner Safe - Optimism\",\n      \"address\": \"0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Optimism Signer Safe - Optimism\",\n      \"address\": \"0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xa9f390a6c9b0489bb7634fcf6fe7b1bae27056f6b3572645eb72dce819c6ede7\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Owner Safe - Optimism\",\n      \"address\": \"0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000002\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"description\": \"Increments the Safe nonce from 2 to 3 after executing the WithdrawSmartEscrow transaction.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xb1c95fcac4fdae1ba0795d84c4fcffb6e0c71dec884cdedbdde2ed87bdc4541f\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Sets approvedHashes[Optimism Signer Safe][txHash] = 1, recording the Optimism Signer Safe's (0x2501c477d0a35545a387aa4a3eee4292a9a8b3f0) approval for this transaction.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Optimism Signer Safe - Optimism\",\n      \"address\": \"0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x00000000000000000000000000000000000000000000000000000000000000b7\",\n          \"after\": \"0x00000000000000000000000000000000000000000000000000000000000000b8\",\n          \"description\": \"Increments the Safe nonce from 183 to 184 after the Optimism Signer Safe submits its approval for the WithdrawSmartEscrow transaction.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Governance Token - Optimism\",\n      \"address\": \"0x4200000000000000000000000000000000000042\",\n      \"changes\": [\n        {\n          \"key\": \"0x9c7ffc2d159d7a0a8143e9bb815194a3d0239701011646f61c42aefd6122e68c\",\n          \"before\": \"0x00000000000000000000000000000000000000000003b363e7f0b6bf06900000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"description\": \"Decreases SmartEscrow's (0xb3c2f9fc2727078ec3a2255410e83ba5b62c5b5f) OP token balance to 0 as all remaining unvested tokens are withdrawn to the benefactor. Note: The 'before' value reflects current state; after part-5 executes, the actual balance will be ~4,473,924 OP.\",\n          \"allowDifference\": true\n        },\n        {\n          \"key\": \"0xcac14c40c8d3847e740432064e9977516347ef1cecdd901d8d3a7d24e118edde\",\n          \"before\": \"0x000000000000000000000000000000000000000001972e3df849a1834d414e71\",\n          \"after\": \"0x0000000000000000000000000000000000000000019ae1a1e03a584253d14e71\",\n          \"description\": \"Increases the benefactor's (Owner Safe: 0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940) OP token balance, receiving the unvested tokens withdrawn from the SmartEscrow contract. Note: The actual amount will be ~4,473,924 OP after part-5 executes.\",\n          \"allowDifference\": true\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/validations/optimism-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://eth-mainnet.public.blastapi.io UpdateProxyAdminOwnerSigners --sig sign(address[]) [0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A] --sender 0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\",\n  \"ledgerId\": 0,\n  \"rpcUrl\": \"https://eth-mainnet.public.blastapi.io\",\n  \"skipTaskOriginValidation\": true,\n  \"hideTaskOriginSkippedPage\": true,\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\n    \"domainHash\": \"0x2e5ad244d335c45fbace4ebd1736b0fad81b01591a2819baedad311ead5bce76\",\n    \"messageHash\": \"0x4d1c90985d451650298a8044f4414ed7a7bd58faa58906bb3e29ae40f4f2c1bb\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Mainnet\",\n      \"address\": \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"OP Signer Safe - Mainnet\",\n      \"address\": \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xf74051f18591c85a4a0017b106d71ea94cd5743291d5cfacfc6ba537ead40a06\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Proxy Admin Owner - Mainnet\",\n      \"address\": \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000000d\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000000e\",\n          \"description\": \"Increments the Safe nonce from 13 to 14 after executing the swapOwner transaction.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x7aa433313675d2977eaae6d96569ce810db740a6bd89321cda525bba26cbaf6f\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Sets approvedHashes[OP Safe][txHash] = 1, recording the OP Safe's approval for this transaction.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xad7f222f29a1b375bb6b2847405c3279f1dff83a30de9e555815353d94c2306b\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"description\": \"Removes OP Safe (0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a) from the owners linked list by clearing its entry.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xb79e2255a19f37f0fc20cbcd8e46bdb84bf2577e147dcf50c4471a96c0623f53\",\n          \"before\": \"0x0000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a\",\n          \"after\": \"0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n          \"description\": \"Updates the owners linked list pointer to replace OP Safe with Security Council Safe (0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xc68c82056a4782e6920506248dec06b7949eabf81d66a13e5e8ec70d4e8f4b13\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Adds Security Council Safe to the owners linked list by setting its entry to point to SENTINEL (0x1).\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"OP Signer Safe - Mainnet\",\n      \"address\": \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000073\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000074\",\n          \"description\": \"Increments the Safe nonce from 115 to 116 after the signer submits their approval.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/validations/security-council-signer-part-1.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://eth-mainnet.public.blastapi.io UpdateProxyAdminOwnerSigners --sig sign(address[]) [0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd,0x9855054731540A48b28990B63DcF4f33d8AE46A1] --sender 0x5ff5C78ff194acc24C22DAaDdE4D639ebF18ACC6\",\n  \"ledgerId\": 0,\n  \"rpcUrl\": \"https://eth-mainnet.public.blastapi.io\",\n  \"skipTaskOriginValidation\": true,\n  \"hideTaskOriginSkippedPage\": true,\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\n    \"domainHash\": \"0x1fbfdc61ceb715f63cb17c56922b88c3a980f1d83873df2b9325a579753e8aa3\",\n    \"messageHash\": \"0xae5cb7595360cf94f0ccdedafd32df84bb5f3fcbeb03ddd3b796455bdd718aca\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Security Council Safe - Mainnet\",\n      \"address\": \"0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xf2c78c90abfd8ec97343cf355a4ca2dc9b0d4348e57729db34c8fb0280862866\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Proxy Admin Owner - Mainnet\",\n      \"address\": \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Mainnet\",\n      \"address\": \"0x9855054731540A48b28990B63DcF4f33d8AE46A1\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Security Council Safe - Mainnet\",\n      \"address\": \"0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000006\",\n          \"description\": \"Increments the Safe nonce from 5 to 6 after the signer submits their approval.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Proxy Admin Owner - Mainnet\",\n      \"address\": \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000000d\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000000e\",\n          \"description\": \"Increments the Safe nonce from 13 to 14 after executing the swapOwner transaction.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x40f18e1e92745b4511e8f96e7d41ff580ab32c07e37860843c4074d834967b02\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Sets approvedHashes[CB Coordinator Safe][txHash] = 1, recording the CB Coordinator Safe's approval for this transaction.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xad7f222f29a1b375bb6b2847405c3279f1dff83a30de9e555815353d94c2306b\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"description\": \"Removes OP Safe (0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a) from the owners linked list by clearing its entry.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xb79e2255a19f37f0fc20cbcd8e46bdb84bf2577e147dcf50c4471a96c0623f53\",\n          \"before\": \"0x0000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a\",\n          \"after\": \"0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n          \"description\": \"Updates the owners linked list pointer to replace OP Safe with Security Council Safe (0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xc68c82056a4782e6920506248dec06b7949eabf81d66a13e5e8ec70d4e8f4b13\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Adds Security Council Safe to the owners linked list by setting its entry to point to SENTINEL (0x1).\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Mainnet\",\n      \"address\": \"0x9855054731540A48b28990B63DcF4f33d8AE46A1\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000001a\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000001b\",\n          \"description\": \"Increments the Safe nonce from 26 to 27 after executing the nested approval transaction.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xdbd7c5f04bc1b069effa0e376df1a8c35fb1f8061444f5bd6f4887bc55d6d568\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Sets approvedHashes[Security Council Safe][txHash] = 1, recording the Security Council Safe's approval for the nested transaction to the Proxy Admin Owner.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/validations/security-council-signer-part-2.json",
    "content": "{\n  \"cmd\": \"SAFE_NONCE_0X20ACF55A3DCFE07FC4CECACFA1628F788EC8A4DD=6 SAFE_NONCE_0X9855054731540A48B28990B63DCF4F33D8AE46A1=27 forge script --rpc-url https://eth-mainnet.public.blastapi.io UpdateCBSafeSigners --sig sign(address[]) [0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd] --sender 0x5ff5C78ff194acc24C22DAaDdE4D639ebF18ACC6\",\n  \"ledgerId\": 0,\n  \"rpcUrl\": \"https://eth-mainnet.public.blastapi.io\",\n  \"skipTaskOriginValidation\": true,\n  \"hideTaskOriginSkippedPage\": true,\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x9855054731540A48b28990B63DcF4f33d8AE46A1\",\n    \"domainHash\": \"0x1fbfdc61ceb715f63cb17c56922b88c3a980f1d83873df2b9325a579753e8aa3\",\n    \"messageHash\": \"0xd7c720dc818ccd2f2217474bb6f8583f7f664d8fc6b4f2da62ce4553d2a7732b\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Security Council Safe - Mainnet\",\n      \"address\": \"0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000006\",\n          \"description\": \"Override the nonce to 6, the expected value after Part 1 (UpdateProxyAdminOwnerSigners) executes.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xd5db630c3b2710b7cd19c73f96bc5fb0167896436e5ac8d3ec887993dd98fa2c\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Mainnet\",\n      \"address\": \"0x9855054731540A48b28990B63DcF4f33d8AE46A1\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"value\": \"0x000000000000000000000000000000000000000000000000000000000000001b\",\n          \"description\": \"Override the nonce to 27, the expected value after Part 1 (UpdateProxyAdminOwnerSigners) executes.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Security Council Safe - Mainnet\",\n      \"address\": \"0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000006\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000007\",\n          \"description\": \"Increments the Safe nonce from 6 to 7 after the signer submits their approval.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Mainnet\",\n      \"address\": \"0x9855054731540A48b28990B63DcF4f33d8AE46A1\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000002\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000006\",\n          \"description\": \"Updates the owner count from 2 to 6 (removes Security Council Safe and CB Nested Safe, adds 6 individual EOA signers).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"description\": \"Updates the Safe execution threshold from 1 to 3 (3-of-6 required for execution).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000001b\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000001c\",\n          \"description\": \"Increments the Safe nonce from 27 to 28 after executing the UpdateCBSafeSigners transaction.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x1772a703ae675a1daf302df5578a40ec15df2da0f370aaae76c24b3dc3cf5a82\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Adds EOA signer to owners linked list by setting its entry to point to SENTINEL (0x1), marking it as the last owner.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x41ed7d57be3aeb16e937147407ec4fe9778850776e44a977f984860d4294c66f\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000003cd692ece8b6573a2220ae00d0deb98f0dffa9a1\",\n          \"description\": \"Adds EOA signer to owners linked list, setting its entry to point to next owner (0x3cd692ece8b6573a2220ae00d0deb98f0dffa9a1).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x758f7362f1c252e82fc720287a93c81366f743607812809705593fe1d7c3853f\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x000000000000000000000000b011a32ed8b4f70d9943a2199f539bbecd7b62f7\",\n          \"description\": \"Adds EOA signer to owners linked list, setting its entry to point to next owner (0xb011a32ed8b4f70d9943a2199f539bbecd7b62f7).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xc2eb038642409cacb7427667d194e7ffc6322f605a293c3088ea50e7387c0be8\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000001c870776b168a9ffae80c51f050c611edd246741\",\n          \"description\": \"Adds EOA signer to owners linked list, setting its entry to point to next owner (0x1c870776b168a9ffae80c51f050c611edd246741).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xc68c82056a4782e6920506248dec06b7949eabf81d66a13e5e8ec70d4e8f4b13\",\n          \"before\": \"0x0000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"description\": \"Removes CB Nested Safe (0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110) from the owners linked list by clearing its entry.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xdaf8a00b5bed19da86efcb9f47bb7ded536a0ee70f1c43b062cb09e630709778\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000003dad2200849925bb46d9bf05afa5f7f213f4c18e\",\n          \"description\": \"Adds EOA signer to owners linked list, setting its entry to point to next owner (0x3dad2200849925bb46d9bf05afa5f7f213f4c18e).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0\",\n          \"before\": \"0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n          \"after\": \"0x000000000000000000000000f9e320f3da12e68af219d9e2a490dd649f6b177c\",\n          \"description\": \"Updates SENTINEL pointer (head of owners linked list) from Security Council Safe (0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd) to new first EOA signer (0xf9e320f3da12e68af219d9e2a490dd649f6b177c).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xf2703bf6aed371ed0006c3f1370d925046c90122272e607d356ede2c94165357\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"description\": \"Removes Security Council Safe (0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd) from owners linked list by clearing its entry (was pointing to SENTINEL).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xf50027dc233102bb13bb30a38326315505fe2452eaf2e2f78f1c0da0084d86c4\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000006cd3850756b7894774ab715d136f9dd02837de50\",\n          \"description\": \"Adds EOA signer to owners linked list, setting its entry to point to next owner (0x6cd3850756b7894774ab715d136f9dd02837de50).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xfabcf704e62a1cc99ee758de3edd11a4234df4f0bf03420e74085bec5df5faa9\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Sets approvedHashes[Security Council Safe][txHash] = 1, recording the Security Council Safe's approval for the UpdateCBSafeSigners transaction.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/validations/security-council-signer-part-3.json",
    "content": "{\n  \"cmd\": \"SAFE_NONCE_0X20ACF55A3DCFE07FC4CECACFA1628F788EC8A4DD=7 SAFE_NONCE_0X7BB41C3008B3F03FE483B28B8DB90E19CF07595C=14 forge script --rpc-url https://eth-mainnet.public.blastapi.io UpgradeSystemConfig --sig sign(address[]) [0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd] --sender 0x5ff5C78ff194acc24C22DAaDdE4D639ebF18ACC6\",\n  \"ledgerId\": 0,\n  \"rpcUrl\": \"https://eth-mainnet.public.blastapi.io\",\n  \"skipTaskOriginValidation\": true,\n  \"hideTaskOriginSkippedPage\": true,\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\n    \"domainHash\": \"0x1fbfdc61ceb715f63cb17c56922b88c3a980f1d83873df2b9325a579753e8aa3\",\n    \"messageHash\": \"0xe72a52cc544858db55fa6306282af950d61dfe7d0e698f1b13fd3445bd5ce47b\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Security Council Safe - Mainnet\",\n      \"address\": \"0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000007\",\n          \"description\": \"Override the nonce to 7, the expected value after Parts 1-2 (UpdateProxyAdminOwnerSigners and UpdateCBSafeSigners) execute.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xafc023447912a7237c842d785f6627279b1b43e61818ef99634bff4764f61c23\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Proxy Admin Owner - Mainnet\",\n      \"address\": \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"value\": \"0x000000000000000000000000000000000000000000000000000000000000000e\",\n          \"description\": \"Override the nonce to 14, the expected value after Part 1 (UpdateProxyAdminOwnerSigners) executes.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xc68c82056a4782e6920506248dec06b7949eabf81d66a13e5e8ec70d4e8f4b13\",\n          \"value\": \"0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1\",\n          \"description\": \"Simulates the post-Part-1 state where Security Council Safe points to CB Coordinator Safe (0x9855054731540a48b28990b63dcf4f33d8ae46a1) in the owners linked list.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0\",\n          \"value\": \"0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd\",\n          \"description\": \"Simulates the post-Part-1 state where SENTINEL points to Security Council Safe (0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd) as head of the owners linked list.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Security Council Safe - Mainnet\",\n      \"address\": \"0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000007\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000008\",\n          \"description\": \"Increments the Safe nonce from 7 to 8 after the Security Council Safe submits its approval.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Mainnet\",\n      \"address\": \"0x73a79Fab69143498Ed3712e519A88a918e1f4072\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"description\": \"Increments the _initialized version from 3 to 4 as part of the SystemConfig upgrade re-initialization.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006c\",\n          \"before\": \"0x0000000000000000004c4b4095703e0982140d16f8eba6d158fccede42f04a4c\",\n          \"after\": \"0x0000000000000000004c4b40b535ff7f118260a952ce65e7ff41b1743de8ee6c\",\n          \"description\": \"Updates the SuperchainConfig address stored in SystemConfig from OP's shared SuperchainConfig (0x95703e09...) to Base's own SuperchainConfig (0xb535ff7f...).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x000000000000000000000000d392c27b84b1ca776528f2704bc67b82a62132d2\",\n          \"after\": \"0x0000000000000000000000000507aaa21c678976fcdc7e804836acd6ebc17a44\",\n          \"description\": \"Updates the EIP-1967 implementation address of the SystemConfig proxy from old (0xd392c27b...) to new (0x0507aaa2...).\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Proxy Admin Owner - Mainnet\",\n      \"address\": \"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000000e\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000000f\",\n          \"description\": \"Increments the Safe nonce from 14 to 15 after executing the upgradeAndCall transaction.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x28a7318595c81eb318175ebf2c94267a25f37f93adec80875cc729cf44840d85\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Sets approvedHashes[Security Council Safe][txHash] = 1, recording the Security Council Safe's approval for this transaction.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "mainnet/2026-02-19-superchain-separation/validations/security-council-signer-part-4.json",
    "content": "{\n  \"cmd\": \"SAFE_NONCE_0X20ACF55A3DCFE07FC4CECACFA1628F788EC8A4DD=8 forge script --rpc-url https://eth-mainnet.public.blastapi.io AddSecurityCouncilSigner --sig sign(address[]) [] --sender 0x5ff5C78ff194acc24C22DAaDdE4D639ebF18ACC6\",\n  \"ledgerId\": 0,\n  \"rpcUrl\": \"https://eth-mainnet.public.blastapi.io\",\n  \"skipTaskOriginValidation\": true,\n  \"hideTaskOriginSkippedPage\": true,\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd\",\n    \"domainHash\": \"0x1fbfdc61ceb715f63cb17c56922b88c3a980f1d83873df2b9325a579753e8aa3\",\n    \"messageHash\": \"0x9a22cfa78b9681ad2313bf8eea2d76890598722faecc6606db8585be6bf3773c\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Security Council Safe - Mainnet\",\n      \"address\": \"0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000008\",\n          \"description\": \"Override the nonce to 8, the expected value after Parts 1-3 (UpdateProxyAdminOwnerSigners, UpdateCBSafeSigners, and UpgradeSystemConfig) execute.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xefc76de8fcb1bee05c91a2b10f082422b19ab2a075386e7c7f7c903b4764a3e6\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Security Council Safe - Mainnet\",\n      \"address\": \"0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000000a\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000000b\",\n          \"description\": \"Updates the owner count from 10 to 11 after adding the new Security Council signer (0xbDE1845c879942fC326F247Ad708677733Dd5594).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000008\",\n          \"description\": \"Updates the execution threshold to 8 (8-of-11 required for execution).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000008\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000009\",\n          \"description\": \"Increments the Safe nonce from 8 to 9 after executing the AddSecurityCouncilSigner transaction.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xdc949e6be273b76165696c06fd11bc8f9fbb299f447694327fef95e141060cb7\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000005ff5c78ff194acc24c22daadde4d639ebf18acc6\",\n          \"description\": \"Adds new Security Council signer (0xbDE1845c879942fC326F247Ad708677733Dd5594) to the owners linked list, setting its entry to point to the previous head owner (0x5ff5c78ff194acc24c22daadde4d639ebf18acc6).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0\",\n          \"before\": \"0x0000000000000000000000005ff5c78ff194acc24c22daadde4d639ebf18acc6\",\n          \"after\": \"0x000000000000000000000000bde1845c879942fc326f247ad708677733dd5594\",\n          \"description\": \"Updates SENTINEL pointer (head of owners linked list) from previous head (0x5ff5c78ff194acc24c22daadde4d639ebf18acc6) to new Security Council signer (0xbde1845c879942fc326f247ad708677733dd5594).\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "mainnet/2026-02-27-pause-superchain-config/FACILITATOR.md",
    "content": "#### Execute the transaction\n\n## 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd <network>/<task-name>\nmake deps\n```\n\n### 2. Check current pause status\n\n```bash\nmake check-status\n```\n\n### 3. Execute pause\n\n```bash\nSIGNATURES=AAABBBCCC make execute-pause\n```\n"
  },
  {
    "path": "mainnet/2026-02-27-pause-superchain-config/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n# Get first owner from INCIDENT_MULTISIG\nSENDER := $(shell cast call $(INCIDENT_MULTISIG) \"getOwners()(address[])\" --rpc-url $(L1_RPC_URL) | head -1 | tr -d '[]' | cut -d',' -f1)\n\nSCRIPT_NAME=PauseSuperchainConfig\n\n.PHONY: sign-pause\nsign-pause:\n\t@rm -f signatures-pause.txt\n\t@start_nonce=$$(cast call $(INCIDENT_MULTISIG) \"nonce()\" --rpc-url $(L1_RPC_URL) | xargs printf \"%d\"); \\\n\techo \"Starting nonce: $$start_nonce\"; \\\n\tfor i in $$(seq 0 19); do \\\n\t\tnonce=$$(($$start_nonce + $$i)); \\\n\t\techo \"Signing with nonce $$nonce\"; \\\n\t\tSAFE_NONCE=$$nonce $(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\t\tforge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \\\n\t\t--sig \"sign(address[])\" \"[]\" --sender $(SENDER) | tee sign_output.tmp; \\\n\t\tsigner=$$(grep \"^Signer:\" sign_output.tmp | awk '{print $$2}'); \\\n\t\tsig=$$(grep \"^Signature:\" sign_output.tmp | awk '{print $$2}'); \\\n\t\tprintf \"%s,\" \"$$signer:$$nonce:$$sig\" >> signatures-pause.txt; \\\n\t\trm -f sign_output.tmp; \\\n\tdone; \\\n\techo \"\" >> signatures-pause.txt\n\n# Execute\n.PHONY: execute-pause\nexecute-pause:\n\tforge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\"  --broadcast -vvvv\n\n.PHONY: check-status\ncheck-status:\n\t@superchain_config=$$(cast call $(SYSTEM_CONFIG) \"superchainConfig()\" --rpc-url $(L1_RPC_URL)); \\\n\tsuperchain_config=$$(echo $$superchain_config | sed 's/0x000000000000000000000000//'); \\\n\techo \"SuperchainConfig address: 0x$$superchain_config\"; \\\n\tcast call 0x$$superchain_config \"paused()\" --rpc-url $(L1_RPC_URL)\n\n.PHONY: check-nonce\ncheck-nonce:\n\t@echo \"Incident Safe: $(INCIDENT_MULTISIG)\"\n\t@cast call $(INCIDENT_MULTISIG) \"nonce()\" --rpc-url $(L1_RPC_URL)\n"
  },
  {
    "path": "mainnet/2026-02-27-pause-superchain-config/README.md",
    "content": "# Pause SuperchainConfig\n\nStatus: SIGNED\n\n## Description\n\nPauses deposits/withdrawals Base.\n\n## Install dependencies\n\n### 1. Update foundry\n\n```bash\nfoundryup\n```\n\n## Sign Pause Task\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd <network>/<task-name>\nmake deps\n```\n\n### 2. Sign pause transactions\n\n```bash\nmake sign-pause\n```\n\nThis will output your signature batch to a `signatures-pause.txt` file.\n\n### 3. Send the contents of `signatures-pause.txt` to facilitator\n"
  },
  {
    "path": "mainnet/2026-02-27-pause-superchain-config/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nevm_version = \"shanghai\"\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/contracts',\n    '@solady/=lib/solady/src/',\n    '@lib-keccak=lib/lib-keccak/contracts/lib/'\n]\n\n[lint]\nlint_on_build = false\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "mainnet/2026-02-27-pause-superchain-config/script/PauseSuperchainConfig.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Enum} from \"@base-contracts/script/universal/IGnosisSafe.sol\";\n\ninterface ISystemConfig {\n    function superchainConfig() external view returns (address);\n}\n\ninterface ISuperchainConfig {\n    function pause(address _identifier) external;\n    function paused(address) external view returns (bool);\n}\n\ncontract PauseSuperchainConfig is MultisigScript {\n    address public immutable INCIDENT_MULTISIG = vm.envAddress(\"INCIDENT_MULTISIG\");\n    address public immutable SYSTEM_CONFIG = vm.envAddress(\"SYSTEM_CONFIG\");\n\n    function _buildCalls() internal view override returns (Call[] memory) {\n        Call[] memory calls = new Call[](1);\n\n        address superchainConfig = ISystemConfig(SYSTEM_CONFIG).superchainConfig();\n\n        calls[0] = Call({\n            operation: Enum.Operation.Call,\n            target: superchainConfig,\n            data: abi.encodeCall(ISuperchainConfig.pause, (address(0))),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        address superchainConfig = ISystemConfig(SYSTEM_CONFIG).superchainConfig();\n        bool paused = ISuperchainConfig(superchainConfig).paused(address(0));\n        require(paused == true, \"PauseSuperchainConfig: chain is not paused\");\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return INCIDENT_MULTISIG;\n    }\n}\n"
  },
  {
    "path": "mainnet/2026-03-11-patch-fee-disburser/FACILITATOR.md",
    "content": "# Facilitator Guide\n\nGuide for facilitators managing this task.\n\n## Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd mainnet/2026-03-11-patch-fee-disburser\nmake deps\n```\n\n## Task Origin Signing\n\nAfter setting up the task, generate cryptographic attestations (sigstore bundles) to prove who created and facilitated the task. These signatures are stored in `<network>/signatures/<task-name>/`.\n\n### Task creator (run after task setup):\n\n```bash\nmake sign-as-task-creator\n```\n\n### Base facilitator:\n\n```bash\nmake sign-as-base-facilitator\n```\n\n### Security Council facilitator:\n\n```bash\nmake sign-as-sc-facilitator\n```\n"
  },
  {
    "path": "mainnet/2026-03-11-patch-fee-disburser/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\ninclude ../.env\ninclude .env\n\nRPC_URL = $(L1_RPC_URL)\n\n# Sender address for validation generation (parent of OWNER_SAFE)\nSENDER := $(shell cast call $(OWNER_SAFE) \"getOwners()(address[])\" --rpc-url $(L1_RPC_URL) | head -1 | tr -d '[]' | cut -d',' -f1)\n\n.PHONY: apply-patches\napply-patches:\n\tcd lib/contracts && patch -p1 < ../../patch/ifee-vault-withdraw.patch\n\tcd lib/contracts && patch -p1 < ../../patch/fee-disburser-semver.patch\n\n.PHONY: deps\ndeps: install-eip712sign clean-lib forge-deps clone-oz-upgradeable checkout-base-contracts-commit apply-patches\n\n##\n# Deployment\n##\n.PHONY: deploy-fee-disburser\ndeploy-fee-disburser:\n\tforge script script/DeployFeeDisburser.s.sol:DeployFeeDisburser \\\n\t\t--rpc-url $(L2_RPC_URL) \\\n\t\t--broadcast \\\n\t\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" \\\n\t\t-vvvv\n\n##\n# Upgrade FeeDisburser (via L1 deposit transaction)\n##\n.PHONY: gen-validation-upgrade\ngen-validation-upgrade: deps-signer-tool\n\t$(call GEN_VALIDATION,UpgradeFeeDisburser,,$(SENDER),base-signer.json,)\n\n.PHONY: execute-upgrade-feedisburser\nexecute-upgrade-feedisburser: SCRIPT_NAME = UpgradeFeeDisburser\nexecute-upgrade-feedisburser:\n\t$(call MULTISIG_EXECUTE,$(SIGNATURES))\n"
  },
  {
    "path": "mainnet/2026-03-11-patch-fee-disburser/README.md",
    "content": "# FeeDisburser Patch\n\nStatus: [EXECUTED](https://etherscan.io/tx/0xd156906b67b1110bc1f804367bae08d77afbd9ca65be146449d551ae9f0c5af1)\n\n## Description\n\nOur latest deployment of the `FeeDisburser` contract is using an interface that is incompatible with our current FeeVault deployments on Base. This patch upgrade fixes the interface.\n\n## Procedure\n\n### Install dependencies\n\n#### 1. Update foundry\n\n```bash\nfoundryup\n```\n\n#### 2. Install Node.js if needed\n\nFirst, check if you have node installed:\n\n```bash\nnode --version\n```\n\nIf you see a version output from the above command, you can move on. Otherwise, install node:\n\n```bash\nbrew install node\n```\n\n### Approve the transaction\n\n#### 1. Update repo\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n#### 2. Run the signing tool\n\n```bash\nmake sign-task\n```\n\n#### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\n- Select the correct signer role from the list of available users to sign.\n- After completion, close the signer tool with `Ctrl + C`.\n\n#### 4. Send signature to facilitator\n\nCopy the signature output and send it to the designated facilitator via the agreed communication channel. The facilitator will collect all signatures and execute the transaction.\n"
  },
  {
    "path": "mainnet/2026-03-11-patch-fee-disburser/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/contracts',\n    '@solady/=lib/solady/src/',\n]\n\n[lint]\nlint_on_build = false\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "mainnet/2026-03-11-patch-fee-disburser/patch/fee-disburser-semver.patch",
    "content": "diff --git a/src/revenue-share/FeeDisburser.sol b/src/revenue-share/FeeDisburser.sol\n--- a/src/revenue-share/FeeDisburser.sol\n+++ b/src/revenue-share/FeeDisburser.sol\n@@ -131,9 +131,9 @@ contract FeeDisburser is ISemver {\n         emit FeesReceived(msg.sender, msg.value);\n     }\n \n-    /// @custom:semver 1.0.0\n+    /// @custom:semver 1.0.0+fee-vault-withdraw-compat\n     function version() external pure virtual returns (string memory) {\n-        return \"1.0.0\";\n+        return \"1.0.0+fee-vault-withdraw-compat\";\n     }\n \n     ////////////////////////////////////////////////////////////////\n"
  },
  {
    "path": "mainnet/2026-03-11-patch-fee-disburser/patch/ifee-vault-withdraw.patch",
    "content": "diff --git a/interfaces/L2/IFeeVault.sol b/interfaces/L2/IFeeVault.sol\n--- a/interfaces/L2/IFeeVault.sol\n+++ b/interfaces/L2/IFeeVault.sol\n@@ -32,7 +32,7 @@ interface IFeeVault {\n     function minWithdrawalAmount() external view returns (uint256);\n     function recipient() external view returns (address);\n     function totalProcessed() external view returns (uint256);\n-    function withdraw() external returns (uint256 value_);\n+    function withdraw() external;\n     function withdrawalNetwork() external view returns (Types.WithdrawalNetwork);\n     function setMinWithdrawalAmount(uint256 _newMinWithdrawalAmount) external;\n     function setRecipient(address _newRecipient) external;\n"
  },
  {
    "path": "mainnet/2026-03-11-patch-fee-disburser/records/DeployFeeDisburser.s.sol/8453/run-1773254584772.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x229488c0a1d101520c9be586f5736e2a05b63ed79c8aa6d344835654c6c5f4da\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"FeeDisburser\",\n      \"contractAddress\": \"0x72984fef9c2123ebb66912ceab9e47c5e9b738e6\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x23B597f33f6f2621F77DA117523Dffd634cDf4ea\",\n        \"86400\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"gas\": \"0x9f3bb\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c060405234801561000f575f80fd5b5060405161090e38038061090e83398101604081905261002e9161008f565b6001600160a01b0382166100555760405163d92e233d60e01b815260040160405180910390fd5b62015180811015610079576040516352063f8560e11b815260040160405180910390fd5b6001600160a01b0390911660805260a0526100c6565b5f80604083850312156100a0575f80fd5b82516001600160a01b03811681146100b6575f80fd5b6020939093015192949293505050565b60805160a05161081a6100f45f395f8181610156015261020501525f818160c2015261034e015261081a5ff3fe608060405260043610610071575f3560e01c806354664de51161004c57806354664de51461014557806354fd4d5014610178578063ad41d09c146101c3578063b87ea8d4146101ed575f80fd5b806336f1a6e5146100b1578063394d27311461010e578063447eb5ac14610130575f80fd5b366100ad5760405134815233907f2ccfc58c2cef4ee590b5f16be0548cc54afc12e1c66a67b362b7d640fd16bb2d9060200160405180910390a2005b5f80fd5b3480156100bc575f80fd5b506100e47f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b348015610119575f80fd5b506101225f5481565b604051908152602001610105565b34801561013b575f80fd5b5061012260015481565b348015610150575f80fd5b506101227f000000000000000000000000000000000000000000000000000000000000000081565b348015610183575f80fd5b50604080518082018252601f81527f312e302e302b6665652d7661756c742d77697468647261772d636f6d706174006020820152905161010591906106b5565b3480156101ce575f80fd5b506101d86188b881565b60405163ffffffff9091168152602001610105565b3480156101f8575f80fd5b50610201610203565b005b7f00000000000000000000000000000000000000000000000000000000000000005f5461023091906106ce565b421015610269576040517fc7a06d5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6102867342000000000000000000000000000000000000116103f8565b6102a37342000000000000000000000000000000000000196103f8565b6102c073420000000000000000000000000000000000001a6103f8565b475f8190036102f4576040517f8c887b1215d5e6b119c1c1008fe1d0919b4c438301d5a0357362a13fb56f6a40905f90a150565b425f90815560408051602081018252918252517fe11013dd0000000000000000000000000000000000000000000000000000000081527342000000000000000000000000000000000000109163e11013dd91479161037a917f0000000000000000000000000000000000000000000000000000000000000000916188b89160040161070c565b5f604051808303818588803b158015610391575f80fd5b505af11580156103a3573d5f803e3d5ffd5b50505050507fe155e054cfe69655d6d2f8bbfb856aa8cdf49ecbea6557901533364539caad945f545f836040516103ed939291909283526020830191909152604082015260600190565b60405180910390a150565b60018173ffffffffffffffffffffffffffffffffffffffff1663d0e12f906040518163ffffffff1660e01b8152600401602060405180830381865afa158015610443573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610467919061077c565b60018111156104785761047861074f565b146104af576040517f72e01a1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16630d9019e16040518163ffffffff1660e01b8152600401602060405180830381865afa15801561050f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610533919061079a565b73ffffffffffffffffffffffffffffffffffffffff1614610580576040517fc9bb076d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663d3e5792b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ed91906107cd565b8173ffffffffffffffffffffffffffffffffffffffff163110610666578073ffffffffffffffffffffffffffffffffffffffff16633ccfd60b6040518163ffffffff1660e01b81526004015f604051808303815f87803b15801561064f575f80fd5b505af1158015610661573d5f803e3d5ffd5b505050505b50565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f6106c76020830184610669565b9392505050565b80820180821115610706577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b92915050565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff83166020820152606060408201525f6107466060830184610669565b95945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f6020828403121561078c575f80fd5b8151600281106106c7575f80fd5b5f602082840312156107aa575f80fd5b815173ffffffffffffffffffffffffffffffffffffffff811681146106c7575f80fd5b5f602082840312156107dd575f80fd5b505191905056fea2646970667358221220ede52522202c163574ba53ebb17a001cdd3afcf470d3dfa0e7dd0e56a46e753e64736f6c6343000819003300000000000000000000000023b597f33f6f2621f77da117523dffd634cdf4ea0000000000000000000000000000000000000000000000000000000000015180\",\n        \"nonce\": \"0x17\",\n        \"chainId\": \"0x2105\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xbd33f5\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x229488c0a1d101520c9be586f5736e2a05b63ed79c8aa6d344835654c6c5f4da\",\n      \"transactionIndex\": \"0x31\",\n      \"blockHash\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n      \"blockNumber\": \"0x293ad6b\",\n      \"gasUsed\": \"0x7a7cb\",\n      \"effectiveGasPrice\": \"0x4df8f0\",\n      \"blobGasUsed\": \"0x2966c\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": null,\n      \"contractAddress\": \"0x72984fef9c2123ebb66912ceab9e47c5e9b738e6\",\n      \"daFootprintGasScalar\": \"0x8b\",\n      \"l1BaseFeeScalar\": \"0x8dd\",\n      \"l1BlobBaseFee\": \"0x590f2e\",\n      \"l1BlobBaseFeeScalar\": \"0x101c12\",\n      \"l1Fee\": \"0x3ea9ec88\",\n      \"l1GasPrice\": \"0x724d44e\",\n      \"l1GasUsed\": \"0x4c48\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1773254584772,\n  \"chain\": 8453,\n  \"commit\": \"597834e\"\n}"
  },
  {
    "path": "mainnet/2026-03-11-patch-fee-disburser/records/UpgradeFeeDisburser.s.sol/1/run-1773435817460.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xd156906b67b1110bc1f804367bae08d77afbd9ca65be146449d551ae9f0c5af1\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e\",\n        \"0\",\n        \"0xe9e05c4200000000000000000000000009c7bad99688a55a2e83644bfaed09e62bdcccba000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000243659cfe600000000000000000000000072984fef9c2123ebb66912ceab9e47c5e9b738e600000000000000000000000000000000000000000000000000000000\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x87ad5a7c48da2add5e293a813bbaf57817e3b19e7c28d59361678e48135ba377250947c17edb28501269504d1e431238680405be5bd338ee6e5191ab4a1cc4a91b6d9eae6b4432c7ee5984e57bbb3971507bc57dc920af9e66798280d28889a0d42095676800a55b672edcff4a575434fe18c2db15fd4c612b8632353cefad55091c9bd9d7930c86118e2cc323c15630c8e95b04492baedc21aff0946c70bceccde002ee60c79350b2348e5ef00d8152c4cefce716eccbde89a5d04c9c78f304c1fe1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n        \"to\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n        \"gas\": \"0x3adf6\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a76120200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000104e9e05c4200000000000000000000000009c7bad99688a55a2e83644bfaed09e62bdcccba000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000243659cfe600000000000000000000000072984fef9c2123ebb66912ceab9e47c5e9b738e6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c387ad5a7c48da2add5e293a813bbaf57817e3b19e7c28d59361678e48135ba377250947c17edb28501269504d1e431238680405be5bd338ee6e5191ab4a1cc4a91b6d9eae6b4432c7ee5984e57bbb3971507bc57dc920af9e66798280d28889a0d42095676800a55b672edcff4a575434fe18c2db15fd4c612b8632353cefad55091c9bd9d7930c86118e2cc323c15630c8e95b04492baedc21aff0946c70bceccde002ee60c79350b2348e5ef00d8152c4cefce716eccbde89a5d04c9c78f304c1fe1b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x55\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x178b465\",\n      \"logs\": [\n        {\n          \"address\": \"0x49048044d57e1c92a77f79988d21fa8faf74e97e\",\n          \"topics\": [\n            \"0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32\",\n            \"0x000000000000000000000000ad5b57feb77e294fd7bf5ebe9ab01caa0a90b221\",\n            \"0x00000000000000000000000009c7bad99688a55a2e83644bfaed09e62bdcccba\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0003659cfe600000000000000000000000072984fef9c2123ebb66912ceab9e47c5e9b738e600000000000000000000000000000000000000\",\n          \"blockHash\": \"0xa586dec1cd97258496fa7a0c3cd6ae8d44ea2513b6805570f88b8b3fa9e56956\",\n          \"blockNumber\": \"0x1782567\",\n          \"blockTimestamp\": \"0x69b47ba7\",\n          \"transactionHash\": \"0xd156906b67b1110bc1f804367bae08d77afbd9ca65be146449d551ae9f0c5af1\",\n          \"transactionIndex\": \"0x142\",\n          \"logIndex\": \"0x256\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0x57b4b987149c04119d1bef6df4214d8f9c09043b89357e285cf0363fe87ae023\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xa586dec1cd97258496fa7a0c3cd6ae8d44ea2513b6805570f88b8b3fa9e56956\",\n          \"blockNumber\": \"0x1782567\",\n          \"blockTimestamp\": \"0x69b47ba7\",\n          \"transactionHash\": \"0xd156906b67b1110bc1f804367bae08d77afbd9ca65be146449d551ae9f0c5af1\",\n          \"transactionIndex\": \"0x142\",\n          \"logIndex\": \"0x257\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x000000004000000000000000000000000000008000000000000000008400000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000020000000000000000000000008010000000000000000000000200000000000000000008000000000000000000000000008000000000000000000000800000000000400010000100000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000010000000000000000000000000800000000040000000000000000000200000000000000000000000000020000000000000000a0000000000000000000100\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xd156906b67b1110bc1f804367bae08d77afbd9ca65be146449d551ae9f0c5af1\",\n      \"transactionIndex\": \"0x142\",\n      \"blockHash\": \"0xa586dec1cd97258496fa7a0c3cd6ae8d44ea2513b6805570f88b8b3fa9e56956\",\n      \"blockNumber\": \"0x1782567\",\n      \"gasUsed\": \"0x2a9f7\",\n      \"effectiveGasPrice\": \"0x23cf6b7\",\n      \"from\": \"0x644e3dedb0e4f83bfcf8f9992964d240224b74dc\",\n      \"to\": \"0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1773435817460,\n  \"chain\": 1,\n  \"commit\": \"2bbc0c1\"\n}"
  },
  {
    "path": "mainnet/2026-03-11-patch-fee-disburser/script/DeployFeeDisburser.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.25;\n\nimport {Script} from \"forge-std/Script.sol\";\nimport {console} from \"forge-std/console.sol\";\n\nimport {FeeDisburser} from \"@base-contracts/src/revenue-share/FeeDisburser.sol\";\n\n/// @title DeployFeeDisburser\n/// @notice Deploys the FeeDisburser implementation contract which collects fees from L2 FeeVaults\n///         and bridges them to L1.\n/// @dev Required environment variables:\n///      - BALANCE_TRACKER: The L1 address that will receive bridged fees\n///      - FEE_DISBURSEMENT_INTERVAL: Minimum time in seconds between disbursements (must be >= 24 hours)\n///      - FEE_DISBURSER_ADDR: The existing FeeDisburser proxy contract on L2\ncontract DeployFeeDisburser is Script {\n    address public immutable L1_WALLET = vm.envAddress(\"BALANCE_TRACKER\");\n    uint256 public immutable FEE_DISBURSEMENT_INTERVAL = vm.envUint(\"FEE_DISBURSEMENT_INTERVAL\");\n    address public immutable FEE_DISBURSER_PROXY = vm.envAddress(\"FEE_DISBURSER_ADDR\");\n\n    /// @notice EIP-1967 implementation storage slot.\n    bytes32 internal constant IMPL_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\n\n    function run() external {\n        vm.startBroadcast();\n\n        FeeDisburser feeDisburser = new FeeDisburser(L1_WALLET, FEE_DISBURSEMENT_INTERVAL);\n\n        console.log(\"FeeDisburser deployed at:\", address(feeDisburser));\n        console.log(\"  L1_WALLET:\", L1_WALLET);\n        console.log(\"  FEE_DISBURSEMENT_INTERVAL:\", FEE_DISBURSEMENT_INTERVAL);\n\n        vm.stopBroadcast();\n\n        require(feeDisburser.L1_WALLET() == L1_WALLET, \"DeployFeeDisburser: L1_WALLET mismatch\");\n        require(\n            feeDisburser.FEE_DISBURSEMENT_INTERVAL() == FEE_DISBURSEMENT_INTERVAL,\n            \"DeployFeeDisburser: FEE_DISBURSEMENT_INTERVAL mismatch\"\n        );\n\n        _postCheck(address(feeDisburser));\n    }\n\n    /// @notice Simulates disburseFees() on the proxy with the newly deployed implementation\n    ///         to verify ABI compatibility with the deployed FeeVaults.\n    function _postCheck(address newImpl) internal {\n        vm.store(FEE_DISBURSER_PROXY, IMPL_SLOT, bytes32(uint256(uint160(newImpl))));\n        FeeDisburser(payable(FEE_DISBURSER_PROXY)).disburseFees();\n        console.log(\"Postcheck: disburseFees() simulation succeeded with new implementation\");\n    }\n}\n"
  },
  {
    "path": "mainnet/2026-03-11-patch-fee-disburser/script/UpgradeFeeDisburser.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\n\nimport {MultisigScript, Enum} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\n\ninterface IOptimismPortal2 {\n    function depositTransaction(address _to, uint256 _value, uint64 _gasLimit, bool _isCreation, bytes memory _data)\n        external\n        payable;\n}\n\ninterface IProxy {\n    function upgradeTo(address newImplementation) external;\n}\n\n/// @title UpgradeFeeDisburser\n/// @notice Script to upgrade the FeeDisburser proxy on L2 via a deposit transaction from L1.\n///         The FeeDisburser proxy admin is the L1 alias of OWNER_SAFE, so this upgrade\n///         must be executed as a deposit transaction through OptimismPortal2.\ncontract UpgradeFeeDisburser is MultisigScript {\n    /// @notice The L1 Safe that owns the FeeDisburser proxy (aliased address is the admin).\n    address public immutable OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n\n    /// @notice The OptimismPortal2 contract on L1 used for deposit transactions.\n    address public immutable OPTIMISM_PORTAL = vm.envAddress(\"OPTIMISM_PORTAL_ADDR\");\n\n    /// @notice The FeeDisburser proxy contract on L2.\n    address public immutable FEE_DISBURSER_PROXY = vm.envAddress(\"FEE_DISBURSER_ADDR\");\n\n    /// @notice The new FeeDisburser implementation contract on L2.\n    address public immutable FEE_DISBURSER_IMPL = vm.envAddress(\"FEE_DISBURSER_IMPL_ADDR\");\n\n    /// @notice Post-check is a no-op since we cannot verify L2 state from L1 simulation.\n    ///         The upgrade result should be verified on L2 after the deposit transaction is processed.\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal override {}\n\n    /// @notice Builds the call to OptimismPortal2.depositTransaction that will upgrade\n    ///         the FeeDisburser proxy on L2.\n    function _buildCalls() internal view override returns (MultisigScript.Call[] memory) {\n        MultisigScript.Call[] memory calls = new MultisigScript.Call[](1);\n\n        bytes memory upgradeCalldata = abi.encodeCall(IProxy.upgradeTo, (FEE_DISBURSER_IMPL));\n\n        calls[0] = MultisigScript.Call({\n            operation: Enum.Operation.Call,\n            target: OPTIMISM_PORTAL,\n            data: abi.encodeCall(\n                IOptimismPortal2.depositTransaction, (FEE_DISBURSER_PROXY, 0, 100_000, false, upgradeCalldata)\n            ),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    /// @notice Returns the Safe address that will execute this transaction on L1.\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "mainnet/2026-03-11-patch-fee-disburser/validations/base-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://eth-mainnet.public.blastapi.io UpgradeFeeDisburser --sig sign(address[]) [] --sender 0x6CD3850756b7894774Ab715D136F9dD02837De50\",\n  \"ledgerId\": 0,\n  \"rpcUrl\": \"https://eth-mainnet.public.blastapi.io\",\n  \"skipTaskOriginValidation\": true,\n  \"hideTaskOriginSkippedPage\": true,\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110\",\n    \"domainHash\": \"0xfb308368b8deca582e84a807d31c1bfcec6fda754061e2801b4d6be5cb52a8ac\",\n    \"messageHash\": \"0xd1023f4dba0b6ffbeb42d431ab320be78a2f45473304354fb917b70148c68dd9\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"CB Signer Safe - Mainnet\",\n      \"address\": \"0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x519d43638472ac4a58b8219e319082b3740cb171ea7d8ba1ebbce34fa70e37bc\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"OptimismPortal - Mainnet\",\n      \"address\": \"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"before\": \"0x000000000177eab6000000000007e1760000000000000000000000003b9aca00\",\n          \"after\": \"0x000000000177eac800000000000186a00000000000000000000000003b9aca00\",\n          \"description\": \"Updates the ResourceMetering parameters (prevBlockNum, prevBoughtGas, prevBaseFee).\",\n          \"allowDifference\": true\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Mainnet\",\n      \"address\": \"0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000009\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000000a\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": [],\n  \"taskOriginConfig\": {\n    \"taskCreator\": {\n      \"commonName\": \"jack.chuma@coinbase.com\"\n    }\n  }\n}\n"
  },
  {
    "path": "mainnet/2026-03-25-increase-gas-and-elasticity-limit/FACILITATOR.md",
    "content": "# Facilitator Guide\n\nGuide for facilitators managing this task.\n\n## Task Origin Signing\n\nAfter setting up the task, generate cryptographic attestations (sigstore bundles) to prove who created and facilitated the task. These signatures are stored in `<network>/signatures/<task-name>/`.\n\n### Task creator (run after task setup):\n```bash\nmake sign-as-task-creator\n```\n\n### Base facilitator:\n```bash\nmake sign-as-base-facilitator\n```\n\n### Security Council facilitator:\n```bash\nmake sign-as-sc-facilitator\n```\n\n## Execution\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd <network>/<task-name>\nmake deps\n```\n\n### 2. Execute upgrade\n\n```bash\nSIGNATURES=AAABBBCCC make execute\n```\n\n### 3. (**ONLY** if needed) Execute upgrade rollback\n\n> [!IMPORTANT]\n>\n> THIS SHOULD ONLY BE PERFORMED IN THE EVENT THAT WE NEED TO ROLLBACK\n\n```bash\nSIGNATURES=AAABBBCCC make execute-rollback\n```\n"
  },
  {
    "path": "mainnet/2026-03-25-increase-gas-and-elasticity-limit/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\ninclude ../.env\ninclude .env\n\n# Map config variables to script variables\nOWNER_SAFE ?= $(INCIDENT_MULTISIG)\nexport OWNER_SAFE\n\nifndef ROLLBACK_NONCE_OFFSET\noverride ROLLBACK_NONCE_OFFSET = 1\nendif\n\nRPC_URL = $(L1_RPC_URL)\nSCRIPT_NAME = IncreaseEip1559ElasticityAndIncreaseGasLimitScript\n\n# Validate required configuration before execution\n.PHONY: validate-config\nvalidate-config:\n\t@test -n \"$(BASE_CONTRACTS_COMMIT)\" -a \"$(BASE_CONTRACTS_COMMIT)\" != \"TODO\" || (echo \"BASE_CONTRACTS_COMMIT required\" && exit 1)\n\t@test -n \"$(OWNER_SAFE)\" || (echo \"OWNER_SAFE required\" && exit 1)\n\t@test -n \"$(SYSTEM_CONFIG)\" || (echo \"SYSTEM_CONFIG required\" && exit 1)\n\t@test -n \"$(SENDER)\" || (echo \"SENDER required\" && exit 1)\n\t@test -n \"$(FROM_GAS_LIMIT)\" -a \"$(FROM_GAS_LIMIT)\" != \"TODO\" || (echo \"FROM_GAS_LIMIT required\" && exit 1)\n\t@test -n \"$(TO_GAS_LIMIT)\" -a \"$(TO_GAS_LIMIT)\" != \"TODO\" || (echo \"TO_GAS_LIMIT required\" && exit 1)\n\t@test -n \"$(FROM_ELASTICITY)\" -a \"$(FROM_ELASTICITY)\" != \"TODO\" || (echo \"FROM_ELASTICITY required\" && exit 1)\n\t@test -n \"$(TO_ELASTICITY)\" -a \"$(TO_ELASTICITY)\" != \"TODO\" || (echo \"TO_ELASTICITY required\" && exit 1)\n\t@test -n \"$(FROM_DENOMINATOR)\" -a \"$(FROM_DENOMINATOR)\" != \"TODO\" || (echo \"FROM_DENOMINATOR required\" && exit 1)\n\t@test -n \"$(TO_DENOMINATOR)\" -a \"$(TO_DENOMINATOR)\" != \"TODO\" || (echo \"TO_DENOMINATOR required\" && exit 1)\n\t@test -n \"$(FROM_DA_FOOTPRINT_GAS_SCALAR)\" -a \"$(FROM_DA_FOOTPRINT_GAS_SCALAR)\" != \"TODO\" || (echo \"FROM_DA_FOOTPRINT_GAS_SCALAR required\" && exit 1)\n\t@test -n \"$(TO_DA_FOOTPRINT_GAS_SCALAR)\" -a \"$(TO_DA_FOOTPRINT_GAS_SCALAR)\" != \"TODO\" || (echo \"TO_DA_FOOTPRINT_GAS_SCALAR required\" && exit 1)\n\t@echo \"Configuration validated successfully\"\n\n# Calculate the DA footprint gas scalar based on the formula:\n# da_footprint_gas_scalar = gas_limit / (elasticity * target_blob_count * 32,000)\n# Uses TO_GAS_LIMIT and TO_ELASTICITY from .env\n.PHONY: da-scalar\nda-scalar:\nifndef TARGET_BLOB_COUNT\n\t$(error TARGET_BLOB_COUNT is not set. Usage: make da-scalar TARGET_BLOB_COUNT=<value>)\nendif\nifeq ($(TO_GAS_LIMIT),TODO)\n\t$(error TO_GAS_LIMIT is not set. Please set it in .env before running this command.)\nendif\nifeq ($(TO_ELASTICITY),TODO)\n\t$(error TO_ELASTICITY is not set. Please set it in .env before running this command.)\nendif\n\t@echo \"$(TO_GAS_LIMIT) / ($(TO_ELASTICITY) * $(TARGET_BLOB_COUNT) * 32000) =\"\n\t@echo \"TO_DA_FOOTPRINT_GAS_SCALAR=$$(( $(TO_GAS_LIMIT) / ($(TO_ELASTICITY) * $(TARGET_BLOB_COUNT) * 32000) ))\"\n\n.PHONY: gen-validation\ngen-validation: validate-config deps-signer-tool\n\t$(call GEN_VALIDATION,$(SCRIPT_NAME),,$(SENDER),base-signer.json,OWNER_SAFE=$(OWNER_SAFE) SYSTEM_CONFIG=$(SYSTEM_CONFIG) NEW_GAS_LIMIT=$(TO_GAS_LIMIT) OLD_GAS_LIMIT=$(FROM_GAS_LIMIT) NEW_ELASTICITY=$(TO_ELASTICITY) OLD_ELASTICITY=$(FROM_ELASTICITY) NEW_DENOMINATOR=$(TO_DENOMINATOR) OLD_DENOMINATOR=$(FROM_DENOMINATOR) NEW_DA_FOOTPRINT_GAS_SCALAR=$(TO_DA_FOOTPRINT_GAS_SCALAR) OLD_DA_FOOTPRINT_GAS_SCALAR=$(FROM_DA_FOOTPRINT_GAS_SCALAR))\n\n.PHONY: execute\nexecute: validate-config\n\tNEW_GAS_LIMIT=$(TO_GAS_LIMIT) \\\n\tOLD_GAS_LIMIT=$(FROM_GAS_LIMIT) \\\n\tNEW_ELASTICITY=$(TO_ELASTICITY) \\\n\tOLD_ELASTICITY=$(FROM_ELASTICITY) \\\n\tNEW_DENOMINATOR=$(TO_DENOMINATOR) \\\n\tOLD_DENOMINATOR=$(FROM_DENOMINATOR) \\\n\tNEW_DA_FOOTPRINT_GAS_SCALAR=$(TO_DA_FOOTPRINT_GAS_SCALAR) \\\n\tOLD_DA_FOOTPRINT_GAS_SCALAR=$(FROM_DA_FOOTPRINT_GAS_SCALAR) \\\n\t$(call MULTISIG_EXECUTE,$(SIGNATURES))\n\n# Generate rollback validation file with swapped old/new values and nonce offset.\n# SAFE_NONCE is set to current_nonce + ROLLBACK_NONCE_OFFSET so the rollback\n# transaction targets the correct future nonce.\n.PHONY: gen-validation-rollback\ngen-validation-rollback: validate-config deps-signer-tool\n\t$(call GEN_VALIDATION,$(SCRIPT_NAME),,$(SENDER),base-signer-rollback.json,OWNER_SAFE=$(OWNER_SAFE) SYSTEM_CONFIG=$(SYSTEM_CONFIG) OLD_GAS_LIMIT=$(TO_GAS_LIMIT) NEW_GAS_LIMIT=$(FROM_GAS_LIMIT) OLD_ELASTICITY=$(TO_ELASTICITY) NEW_ELASTICITY=$(FROM_ELASTICITY) OLD_DENOMINATOR=$(TO_DENOMINATOR) NEW_DENOMINATOR=$(FROM_DENOMINATOR) OLD_DA_FOOTPRINT_GAS_SCALAR=$(TO_DA_FOOTPRINT_GAS_SCALAR) NEW_DA_FOOTPRINT_GAS_SCALAR=$(FROM_DA_FOOTPRINT_GAS_SCALAR) SAFE_NONCE=$(shell expr $(call GET_NONCE,$(OWNER_SAFE)) + $(ROLLBACK_NONCE_OFFSET)))\n\n.PHONY: execute-rollback\nexecute-rollback: validate-config\n\tOLD_GAS_LIMIT=$(TO_GAS_LIMIT) \\\n\tNEW_GAS_LIMIT=$(FROM_GAS_LIMIT) \\\n\tOLD_ELASTICITY=$(TO_ELASTICITY) \\\n\tNEW_ELASTICITY=$(FROM_ELASTICITY) \\\n\tOLD_DENOMINATOR=$(TO_DENOMINATOR) \\\n\tNEW_DENOMINATOR=$(FROM_DENOMINATOR) \\\n\tOLD_DA_FOOTPRINT_GAS_SCALAR=$(TO_DA_FOOTPRINT_GAS_SCALAR) \\\n\tNEW_DA_FOOTPRINT_GAS_SCALAR=$(FROM_DA_FOOTPRINT_GAS_SCALAR) \\\n\tSAFE_NONCE=$(shell expr $(call GET_NONCE,$(OWNER_SAFE)) + $(ROLLBACK_NONCE_OFFSET)) \\\n\t$(call MULTISIG_EXECUTE,$(SIGNATURES))\n"
  },
  {
    "path": "mainnet/2026-03-25-increase-gas-and-elasticity-limit/README.md",
    "content": "# Update Gas Limit, EIP-1559 Params & DA Footprint Gas Scalar in L1 `SystemConfig`\n\nStatus: [EXECUTED](https://etherscan.io/tx/0xa0e2f62a2867858350ff32a7943a23ddb872571eeacee7bc0453b46948a5c372) ([artifact](./records/IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol/1/run-1774471597995.json))\n\n## Description\n\nWe are updating the gas limit, EIP-1559 elasticity, EIP-1559 denominator, and DA footprint gas scalar to improve TPS and reduce gas fees.\n\nThis runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base/contracts) repository:\n\n`IncreaseEip1559ElasticityAndIncreaseGasLimitScript` -- This script will update the gas limit to 400,000,000, elasticity to 5, denominator to 100, and DA footprint gas scalar to 148 if invoked as part of the \"upgrade\" process, or revert to the old limit of 375,000,000 gas, elasticity of 6, denominator of 125, and DA footprint gas scalar of 139 if invoked as part of the \"rollback\" process.\n\n### DA Footprint Gas Scalar Formula\n\nWe typically set the DA footprint gas scalar to cause base fees to rise if and only if the DA usage exceeds the L1 target blob throughput. (Below that level of DA usage, the normal base fee rules apply.) We use the following formula:\n\n```\nda_footprint_gas_scalar = gas_limit / (elasticity * l2_block_time * l1_target_throughput * estimation_ratio)\n```\n\nWhere:\n- `gas_limit` = L2 gas limit per block\n- `elasticity` = EIP-1559 elasticity multiplier\n- `l2_block_time` = 2 seconds\n- `l1_target_throughput = (target_blob_count * 128,000 bytes/blob) / 12 sec/block`\n- `target_blob_count` = target number of blobs per L1 block\n- `estimation_ratio` = 1.5 to account for differences between compression estimates and actual usage\n\nThis simplifies to:\n\n```\nda_footprint_gas_scalar = gas_limit / (elasticity * target_blob_count * 32,000)\n```\n\nExample with gas_limit = 120,000,000, elasticity = 2, and target_blob_count = 6:\n```\nda_footprint_gas_scalar = 120,000,000 / (2 * 6 * 32,000) = 312.5 ≈ 312\n```\n\nThe values we are sending are statically defined in the `.env` file.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow\n> the flow for both \"Approving the Update transaction\" and\n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed.\n\n## Install dependencies\n\n### 1. Update foundry\n\n```bash\nfoundryup\n```\n\n### 2. Install Node.js if needed\n\nFirst, check if you have node installed\n\n```bash\nnode --version\n```\n\nIf you see a version output from the above command, you can move on. Otherwise, install node\n\n```bash\nbrew install node\n```\n\n## Approving the Update transaction\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root).\n\n```bash\nmake sign-task\n```\n\n### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\nBe sure to select the correct task from the list of available tasks to sign (**not** the \"Base Signer Rollback\" task). Copy the resulting signature and save it.\n\n### 4. Rollback signing\n\nNow, click on the \"Base Signer\" selection and switch over to the rollback task (called \"Base Signer Rollback\"). Copy the resulting signature and save it.\n\n### 5. Send signature to facilitator\n\nSend the two signatures to the facilitator and make sure to clearly note which one is the primary one and which one is the rollback.\n\nYou may now kill the Signer Tool process in your terminal window by running `Ctrl + C`.\n"
  },
  {
    "path": "mainnet/2026-03-25-increase-gas-and-elasticity-limit/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nevm_version = \"shanghai\"\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/contracts',\n    '@solady/=lib/solady/src/'\n]\n\n[lint]\nlint_on_build = false\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "mainnet/2026-03-25-increase-gas-and-elasticity-limit/records/IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol/1/run-1774471597995.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xa0e2f62a2867858350ff32a7943a23ddb872571eeacee7bc0453b46948a5c372\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303\",\n        \"0\",\n        \"0x858cc83200000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000480000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c580130300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000030482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000020000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044c0fd4b41000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000017d784000000000000000000000000000000000000000000000000000000000000000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002420f06fdc0000000000000000000000000000000000000000000000000000000000000094000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xce1271414c6dd52ce530619e2a6325ff7eba8c5a4f9bf79c2f4be557d882d2fc1177319908c5969a730b142f388b4430ddca48477b0fce2068fa557d06f26c971c19d22f3c506edf09b69b16a43844d544a4b91c08b69f76083a9ef7c5d101bf896265849a9ef5f20b2414970d1d355972dc311e9752969e87af409239de6529761b85c65f93762b52cb5d30abb32e1d515a08d89d61ad0c8284300592211c904d0e0fa4075ee73fd37715052d4ed55279dc8cda335526d667214b5082aa4e51c57c1c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x1841cb3c2ce6870d0417844c817849da64e6e937\",\n        \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n        \"gas\": \"0x2b3f4\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006c00000000000000000000000000000000000000000000000000000000000000544858cc83200000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000480000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c580130300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000030482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000020000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044c0fd4b41000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000017d784000000000000000000000000000000000000000000000000000000000000000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002420f06fdc00000000000000000000000000000000000000000000000000000000000000940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3ce1271414c6dd52ce530619e2a6325ff7eba8c5a4f9bf79c2f4be557d882d2fc1177319908c5969a730b142f388b4430ddca48477b0fce2068fa557d06f26c971c19d22f3c506edf09b69b16a43844d544a4b91c08b69f76083a9ef7c5d101bf896265849a9ef5f20b2414970d1d355972dc311e9752969e87af409239de6529761b85c65f93762b52cb5d30abb32e1d515a08d89d61ad0c8284300592211c904d0e0fa4075ee73fd37715052d4ed55279dc8cda335526d667214b5082aa4e51c57c1c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x9\",\n        \"chainId\": \"0x1\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x21fa240\",\n      \"logs\": [\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000004\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000006400000005\",\n          \"blockHash\": \"0x9a65b444fb4ad1c55900632f93f46618d65d6744e5473b8838c8a9945b458f84\",\n          \"blockNumber\": \"0x1797513\",\n          \"blockTimestamp\": \"0x69c449ab\",\n          \"transactionHash\": \"0xa0e2f62a2867858350ff32a7943a23ddb872571eeacee7bc0453b46948a5c372\",\n          \"transactionIndex\": \"0x1e0\",\n          \"logIndex\": \"0x288\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000002\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000017d78400\",\n          \"blockHash\": \"0x9a65b444fb4ad1c55900632f93f46618d65d6744e5473b8838c8a9945b458f84\",\n          \"blockNumber\": \"0x1797513\",\n          \"blockTimestamp\": \"0x69c449ab\",\n          \"transactionHash\": \"0xa0e2f62a2867858350ff32a7943a23ddb872571eeacee7bc0453b46948a5c372\",\n          \"transactionIndex\": \"0x1e0\",\n          \"logIndex\": \"0x289\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x73a79fab69143498ed3712e519a88a918e1f4072\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000007\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000094\",\n          \"blockHash\": \"0x9a65b444fb4ad1c55900632f93f46618d65d6744e5473b8838c8a9945b458f84\",\n          \"blockNumber\": \"0x1797513\",\n          \"blockTimestamp\": \"0x69c449ab\",\n          \"transactionHash\": \"0xa0e2f62a2867858350ff32a7943a23ddb872571eeacee7bc0453b46948a5c372\",\n          \"transactionIndex\": \"0x1e0\",\n          \"logIndex\": \"0x28a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x64974c55513353b44df68b37144ce0b9f45fd40d543c8952d879bfa76e04fb5d0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x9a65b444fb4ad1c55900632f93f46618d65d6744e5473b8838c8a9945b458f84\",\n          \"blockNumber\": \"0x1797513\",\n          \"blockTimestamp\": \"0x69c449ab\",\n          \"transactionHash\": \"0xa0e2f62a2867858350ff32a7943a23ddb872571eeacee7bc0453b46948a5c372\",\n          \"transactionIndex\": \"0x1e0\",\n          \"logIndex\": \"0x28b\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000001000000008000000000000000000000020000000000000000000000000000001000000000000000000000000000008000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000002000000000008000000000000000000000000000000000000000008000000000000100000020000000000000000040000000000000000000000000008000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xa0e2f62a2867858350ff32a7943a23ddb872571eeacee7bc0453b46948a5c372\",\n      \"transactionIndex\": \"0x1e0\",\n      \"blockHash\": \"0x9a65b444fb4ad1c55900632f93f46618d65d6744e5473b8838c8a9945b458f84\",\n      \"blockNumber\": \"0x1797513\",\n      \"gasUsed\": \"0x1d922\",\n      \"effectiveGasPrice\": \"0x4adef7e\",\n      \"from\": \"0x1841cb3c2ce6870d0417844c817849da64e6e937\",\n      \"to\": \"0x14536667cd30e52c0b458baaccb9fada7046e056\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1774471597995,\n  \"chain\": 1,\n  \"commit\": \"361864f\"\n}\n"
  },
  {
    "path": "mainnet/2026-03-25-increase-gas-and-elasticity-limit/script/IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\n\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Enum} from \"@base-contracts/script/universal/IGnosisSafe.sol\";\n\ninterface ISystemConfig {\n    function eip1559Elasticity() external view returns (uint32);\n    function eip1559Denominator() external view returns (uint32);\n    function setEIP1559Params(uint32 _denominator, uint32 _elasticity) external;\n    function gasLimit() external view returns (uint64);\n    function setGasLimit(uint64 _gasLimit) external;\n    function daFootprintGasScalar() external view returns (uint16);\n    function setDAFootprintGasScalar(uint16 _daFootprintGasScalar) external;\n}\n\ncontract IncreaseEip1559ElasticityAndIncreaseGasLimitScript is MultisigScript {\n    address internal immutable OWNER_SAFE;\n    address internal immutable SYSTEM_CONFIG;\n\n    uint32 internal immutable ELASTICITY;\n    uint32 internal immutable NEW_ELASTICITY;\n    uint64 internal immutable GAS_LIMIT;\n    uint64 internal immutable NEW_GAS_LIMIT;\n    uint32 internal immutable DENOMINATOR;\n    uint32 internal immutable NEW_DENOMINATOR;\n    uint16 internal immutable DA_FOOTPRINT_GAS_SCALAR;\n    uint16 internal immutable NEW_DA_FOOTPRINT_GAS_SCALAR;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n        SYSTEM_CONFIG = vm.envAddress(\"SYSTEM_CONFIG\");\n\n        GAS_LIMIT = uint64(vm.envUint(\"OLD_GAS_LIMIT\"));\n        NEW_GAS_LIMIT = uint64(vm.envUint(\"NEW_GAS_LIMIT\"));\n\n        ELASTICITY = uint32(vm.envUint(\"OLD_ELASTICITY\"));\n        NEW_ELASTICITY = uint32(vm.envUint(\"NEW_ELASTICITY\"));\n\n        DENOMINATOR = uint32(vm.envUint(\"OLD_DENOMINATOR\"));\n        NEW_DENOMINATOR = uint32(vm.envUint(\"NEW_DENOMINATOR\"));\n\n        DA_FOOTPRINT_GAS_SCALAR = uint16(vm.envUint(\"OLD_DA_FOOTPRINT_GAS_SCALAR\"));\n        NEW_DA_FOOTPRINT_GAS_SCALAR = uint16(vm.envUint(\"NEW_DA_FOOTPRINT_GAS_SCALAR\"));\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Denominator(), NEW_DENOMINATOR, \"Denominator mismatch\");\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity(), NEW_ELASTICITY, \"Elasticity mismatch\");\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).gasLimit(), NEW_GAS_LIMIT, \"Gas Limit mismatch\");\n        vm.assertEq(\n            ISystemConfig(SYSTEM_CONFIG).daFootprintGasScalar(),\n            NEW_DA_FOOTPRINT_GAS_SCALAR,\n            \"DA Footprint Gas Scalar mismatch\"\n        );\n    }\n\n    function _simulationOverrides() internal view override returns (Simulation.StateOverride[] memory _stateOverrides) {\n        if (\n            GAS_LIMIT != ISystemConfig(SYSTEM_CONFIG).gasLimit()\n                || ELASTICITY != ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity()\n                || DENOMINATOR != ISystemConfig(SYSTEM_CONFIG).eip1559Denominator()\n                || DA_FOOTPRINT_GAS_SCALAR != ISystemConfig(SYSTEM_CONFIG).daFootprintGasScalar()\n        ) {\n            // Override SystemConfig state to the expected \"from\" values so simulations succeeds even\n            // when the chain already reflects the post-change values (during rollback simulation).\n\n            // Prepare two storage overrides for SystemConfig\n            Simulation.StateOverride[] memory stateOverrides = new Simulation.StateOverride[](1);\n            Simulation.StorageOverride[] memory storageOverrides = new Simulation.StorageOverride[](2);\n\n            // Load current packed gas config (slot 0x68) and replace only the lower 64 bits with GAS_LIMIT\n            bytes32 gasConfigSlotKey = bytes32(uint256(0x68));\n            uint256 gasConfigWord = uint256(vm.load(SYSTEM_CONFIG, gasConfigSlotKey));\n            uint256 updatedGasConfigWord = (gasConfigWord & ~uint256(0xffffffffffffffff)) | uint256(GAS_LIMIT);\n            storageOverrides[0] =\n                Simulation.StorageOverride({key: gasConfigSlotKey, value: bytes32(updatedGasConfigWord)});\n\n            // Update EIP-1559 params and DA Footprint Gas Scalar (slot 0x6a)\n            // Storage layout (low to high bits):\n            //   - eip1559Denominator (uint32): bits 0-31\n            //   - eip1559Elasticity (uint32): bits 32-63\n            //   - operatorFeeScalar (uint32): bits 64-95\n            //   - operatorFeeConstant (uint64): bits 96-159\n            //   - daFootprintGasScalar (uint16): bits 160-175\n            // Load existing slot to preserve operatorFeeScalar and operatorFeeConstant, then update\n            // the fields we care about.\n            bytes32 eip1559SlotKey = bytes32(uint256(0x6a));\n            uint256 existingEip1559Word = uint256(vm.load(SYSTEM_CONFIG, eip1559SlotKey));\n            // Mask to preserve bits 64-159 (operatorFeeScalar and operatorFeeConstant)\n            uint256 operatorFeeMask = uint256(0xFFFFFFFFFFFFFFFFFFFFFFFF) << 64;\n            uint256 preservedOperatorFees = existingEip1559Word & operatorFeeMask;\n            uint256 composedEip1559Word = (uint256(DA_FOOTPRINT_GAS_SCALAR) << 160) | preservedOperatorFees\n                | (uint256(ELASTICITY) << 32) | uint256(DENOMINATOR);\n            storageOverrides[1] = Simulation.StorageOverride({key: eip1559SlotKey, value: bytes32(composedEip1559Word)});\n\n            stateOverrides[0] = Simulation.StateOverride({contractAddress: SYSTEM_CONFIG, overrides: storageOverrides});\n            return stateOverrides;\n        }\n    }\n\n    function _buildCalls() internal view override returns (Call[] memory) {\n        Call[] memory calls = new Call[](3);\n\n        calls[0] = Call({\n            operation: Enum.Operation.Call,\n            target: SYSTEM_CONFIG,\n            data: abi.encodeCall(ISystemConfig.setEIP1559Params, (NEW_DENOMINATOR, NEW_ELASTICITY)),\n            value: 0\n        });\n\n        calls[1] = Call({\n            operation: Enum.Operation.Call,\n            target: SYSTEM_CONFIG,\n            data: abi.encodeCall(ISystemConfig.setGasLimit, (NEW_GAS_LIMIT)),\n            value: 0\n        });\n\n        calls[2] = Call({\n            operation: Enum.Operation.Call,\n            target: SYSTEM_CONFIG,\n            data: abi.encodeCall(ISystemConfig.setDAFootprintGasScalar, (NEW_DA_FOOTPRINT_GAS_SCALAR)),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "mainnet/2026-03-25-increase-gas-and-elasticity-limit/validations/base-signer-rollback.json",
    "content": "{\n  \"cmd\": \"OWNER_SAFE=0x14536667Cd30e52C0b458BaACcB9faDA7046E056 SYSTEM_CONFIG=0x73a79Fab69143498Ed3712e519A88a918e1f4072 OLD_GAS_LIMIT=400000000 NEW_GAS_LIMIT=375000000 OLD_ELASTICITY=5 NEW_ELASTICITY=6 OLD_DENOMINATOR=100 NEW_DENOMINATOR=125 OLD_DA_FOOTPRINT_GAS_SCALAR=148 NEW_DA_FOOTPRINT_GAS_SCALAR=139 SAFE_NONCE=105 forge script --rpc-url https://eth-mainnet.public.blastapi.io IncreaseEip1559ElasticityAndIncreaseGasLimitScript --sig sign(address[]) [] --sender 0x1841CB3C2ce6870D0417844C817849da64E6e937\",\n  \"ledgerId\": 0,\n  \"rpcUrl\": \"https://eth-mainnet.public.blastapi.io\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n    \"domainHash\": \"0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289\",\n    \"messageHash\": \"0x26a19e1e19c9dd593b254574af1c18ab62b00f4e36d4cd554891a02617f3f7cc\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000069\",\n          \"description\": \"Override the nonce to be our expected value after initial execution.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xc6edbbe6d06beac67af3a930fafb3f0c0505c89cd6ad26f26b9501da24434821\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Mainnet\",\n      \"address\": \"0x73a79Fab69143498Ed3712e519A88a918e1f4072\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000068\",\n          \"value\": \"0x0000000000000000000000000000000000101c12000008dd0000000017d78400\",\n          \"description\": \"Overrides gas limit to post-upgrade value (400,000,000) so rollback simulation succeeds\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006a\",\n          \"value\": \"0x0000000000000000000000940000000000000000000000000000000500000064\",\n          \"description\": \"Overrides EIP-1559 params and DA footprint gas scalar to post-upgrade values so rollback simulation succeeds\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000069\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000006a\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Mainnet\",\n      \"address\": \"0x73a79Fab69143498Ed3712e519A88a918e1f4072\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000068\",\n          \"before\": \"0x0000000000000000000000000000000000101c12000008dd0000000017d78400\",\n          \"after\": \"0x0000000000000000000000000000000000101c12000008dd00000000165a0bc0\",\n          \"description\": \"Reverts the gas limit from 400,000,000 back to 375,000,000\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006a\",\n          \"before\": \"0x0000000000000000000000940000000000000000000000000000000500000064\",\n          \"after\": \"0x00000000000000000000008b000000000000000000000000000000060000007d\",\n          \"description\": \"Updates EIP-1559 params (denominator, elasticity) and DA Footprint Gas Scalar for the chain\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": [],\n  \"skipTaskOriginValidation\": true,\n  \"taskOriginConfig\": {\n    \"taskCreator\": {\n      \"commonName\": \"leopold.joy@coinbase.com\"\n    }\n  }\n}\n"
  },
  {
    "path": "mainnet/2026-03-25-increase-gas-and-elasticity-limit/validations/base-signer.json",
    "content": "{\n  \"cmd\": \"OWNER_SAFE=0x14536667Cd30e52C0b458BaACcB9faDA7046E056 SYSTEM_CONFIG=0x73a79Fab69143498Ed3712e519A88a918e1f4072 NEW_GAS_LIMIT=400000000 OLD_GAS_LIMIT=375000000 NEW_ELASTICITY=5 OLD_ELASTICITY=6 NEW_DENOMINATOR=100 OLD_DENOMINATOR=125 NEW_DA_FOOTPRINT_GAS_SCALAR=148 OLD_DA_FOOTPRINT_GAS_SCALAR=139 forge script --rpc-url https://eth-mainnet.public.blastapi.io IncreaseEip1559ElasticityAndIncreaseGasLimitScript --sig sign(address[]) [] --sender 0x1841CB3C2ce6870D0417844C817849da64E6e937\",\n  \"ledgerId\": 0,\n  \"rpcUrl\": \"https://eth-mainnet.public.blastapi.io\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n    \"domainHash\": \"0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289\",\n    \"messageHash\": \"0xf919188ede592321fa24fc431d5cbf603c705947a97383c8b678762e1c058346\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x3beade20373f7a410f579a325ce98e80864139807a4531e2131af2d5a2068ba7\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Incident Safe - Mainnet\",\n      \"address\": \"0x14536667Cd30e52C0b458BaACcB9faDA7046E056\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000068\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000069\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Mainnet\",\n      \"address\": \"0x73a79Fab69143498Ed3712e519A88a918e1f4072\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000068\",\n          \"before\": \"0x0000000000000000000000000000000000101c12000008dd00000000165a0bc0\",\n          \"after\": \"0x0000000000000000000000000000000000101c12000008dd0000000017d78400\",\n          \"description\": \"Updates the gas limit from 375,000,000 to 400,000,000\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006a\",\n          \"before\": \"0x00000000000000000000008b000000000000000000000000000000060000007d\",\n          \"after\": \"0x0000000000000000000000940000000000000000000000000000000500000064\",\n          \"description\": \"Updates EIP-1559 params (denominator, elasticity) and DA Footprint Gas Scalar for the chain\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": [],\n  \"skipTaskOriginValidation\": true,\n  \"taskOriginConfig\": {\n    \"taskCreator\": {\n      \"commonName\": \"leopold.joy@coinbase.com\"\n    }\n  }\n}\n"
  },
  {
    "path": "mainnet/addresses.json",
    "content": "{\n  \"AddressManager\": \"0x8EfB6B5c4767B09Dc9AA6Af4eAA89F749522BaE2\",\n  \"L1CrossDomainMessengerProxy\": \"0x866E82a600A1414e583f7F13623F1aC5d58b0Afa\",\n  \"L1ERC721BridgeProxy\": \"0x608d94945A64503E642E6370Ec598e519a2C1E53\",\n  \"L1StandardBridgeProxy\": \"0x3154Cf16ccdb4C6d922629664174b904d80F2C35\",\n  \"L2OutputOracleProxy\": \"0x56315b90c40730925ec5485cf004d835058518A0\",\n  \"OptimismMintableERC20FactoryProxy\": \"0x05cc379EBD9B30BbA19C6fA282AB29218EC61D84\",\n  \"OptimismPortalProxy\": \"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e\",\n  \"ProxyAdmin\": \"0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E\",\n  \"SystemConfigProxy\": \"0x73a79Fab69143498Ed3712e519A88a918e1f4072\",\n  \"SystemDictatorProxy\": \"0x1fE3fdd1F0193Dd657C0a9AAC37314D6B479E557\"\n}\n"
  },
  {
    "path": "sepolia/2023-09-26-deploy/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n##\n# Deploy command\n##\n.PHONY: deploy\ndeploy:\n\tcp deploy-config/deploy-config.json lib/optimism/packages/contracts-bedrock/deploy-config/\n\tcd lib/optimism/packages/contracts-bedrock && \\\n\t\tforge build && \\\n\t\tETH_RPC_URL=$(L1_RPC_URL) DEPLOYMENT_CONTEXT=deploy-config IMPL_SALT=allyourbasearebelongtoyou forge script --private-key $(PRIVATE_KEY) --rpc-url $(L1_RPC_URL) Deploy --broadcast\n\tcp lib/optimism/packages/contracts-bedrock/deployments/deploy-config/.deploy deployed/addresses.json\n"
  },
  {
    "path": "sepolia/2023-09-26-deploy/deploy-config/deploy-config.json",
    "content": "{\n  \"finalSystemOwner\": \"0x608081689Fe46936fB2fBDF7552CbB1D80ad4822\",\n  \"portalGuardian\": \"0xA9FF930151130fd19DA1F03E5077AFB7C78F8503\",\n\n  \"l1StartingBlockTag\": \"safe\",\n\n  \"l1ChainID\": 11155111,\n  \"l2ChainID\": 84532,\n  \"l1BlockTime\": 12,\n  \"l2BlockTime\": 2,\n\n  \"maxSequencerDrift\": 600,\n  \"sequencerWindowSize\": 3600,\n  \"channelTimeout\": 300,\n\n  \"p2pSequencerAddress\": \"0xb830b99c95Ea32300039624Cb567d324D4b1D83C\",\n  \"batchInboxAddress\": \"0xFf00000000000000000000000000000000084532\",\n  \"batchSenderAddress\": \"0x6CDEbe940BC0F26850285cacA097C11c33103E47\",\n\n  \"l2OutputOracleSubmissionInterval\": 120,\n  \"l2OutputOracleStartingBlockNumber\": 0,\n  \"l2OutputOracleStartingTimestamp\": -1,\n\n  \"l2OutputOracleProposer\": \"0x20044a0d104E9e788A0C984A2B7eAe615afD046b\",\n  \"l2OutputOracleChallenger\": \"0xDa3037Ff70Ac92CD867c683BD807e5A484857405\",\n\n  \"finalizationPeriodSeconds\": 12,\n\n  \"proxyAdminOwner\": \"0x8937037a0bB08658e5A178C182e60b12f14720ce\",\n  \"baseFeeVaultRecipient\": \"0xc7dE632EC7f11634318856a57c5897f6a0bda3b0\",\n  \"l1FeeVaultRecipient\": \"0x9082AB367EAFe8887a88A1B9970BE2719007Cf6b\",\n  \"sequencerFeeVaultRecipient\": \"0x4cFDfb25b34b5e5E3932dA5C4F080194137AF20F\",\n\n  \"baseFeeVaultMinimumWithdrawalAmount\": \"0x1bc16d674ec80000\",\n  \"l1FeeVaultMinimumWithdrawalAmount\": \"0x1bc16d674ec80000\",\n  \"sequencerFeeVaultMinimumWithdrawalAmount\": \"0x1bc16d674ec80000\",\n  \"baseFeeVaultWithdrawalNetwork\": 0,\n  \"l1FeeVaultWithdrawalNetwork\": 0,\n  \"sequencerFeeVaultWithdrawalNetwork\": 0,\n\n  \"gasPriceOracleOverhead\": 2100,\n  \"gasPriceOracleScalar\": 1000000,\n\n  \"governanceTokenSymbol\": \"NA\",\n  \"governanceTokenName\": \"NotApplicable\",\n  \"governanceTokenOwner\": \"0xEb5E931176714636563DC7BE4A10387D911BaE05\",\n\n  \"l2GenesisBlockGasLimit\": \"0x17D7840\",\n  \"l2GenesisBlockBaseFeePerGas\": \"0x3b9aca00\",\n\n  \"eip1559Denominator\": 50,\n  \"eip1559Elasticity\": 10,\n\n  \"l2GenesisRegolithTimeOffset\": \"0x0\",\n\n  \"systemConfigStartBlock\": 0,\n  \"requiredProtocolVersion\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n  \"recommendedProtocolVersion\": \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n}\n"
  },
  {
    "path": "sepolia/2023-09-26-deploy/deployed/addresses.json",
    "content": "{\n  \"AddressManager\": \"0x709c2B8ef4A9feFc629A8a2C1AF424Dc5BD6ad1B\",\n  \"L1CrossDomainMessenger\": \"0x08A0C2EB1599718854bA30da3A3F6229982f31Ae\",\n  \"L1CrossDomainMessengerProxy\": \"0xC34855F4De64F1840e5686e64278da901e261f20\",\n  \"L1ERC721Bridge\": \"0xbb2Bb6A75cb9E302bb79804b36232D0f78Ee3B3A\",\n  \"L1ERC721BridgeProxy\": \"0x21eFD066e581FA55Ef105170Cc04d74386a09190\",\n  \"L1StandardBridge\": \"0x48E438E88870e5806d56c0fEF5BcAad080dB9b37\",\n  \"L1StandardBridgeProxy\": \"0xfd0Bf71F60660E2f608ed56e1659C450eB113120\",\n  \"L2OutputOracle\": \"0xAFEac3ccABcbCb93e0d04fb0337B519360E898B8\",\n  \"L2OutputOracleProxy\": \"0x84457ca9D0163FbC4bbfe4Dfbb20ba46e48DF254\",\n  \"OptimismMintableERC20Factory\": \"0x2f36789426D2E32d33d2Fc2F2A7C06e5B1ED17f6\",\n  \"OptimismMintableERC20FactoryProxy\": \"0xb1efB9650aD6d0CC1ed3Ac4a0B7f1D5732696D37\",\n  \"OptimismPortal\": \"0xC1A068299d53DbEc9f23A334B2C8FB72FA87CA4A\",\n  \"OptimismPortalProxy\": \"0x49f53e41452C74589E85cA1677426Ba426459e85\",\n  \"ProtocolVersions\": \"0x2763F595e95B1D18cF0Aa4ef35a7A1Cefb6652Ea\",\n  \"ProtocolVersionsProxy\": \"0x2e18754eA334c30Adb7Ecdd0A0d0D7dDf7A711E0\",\n  \"ProxyAdmin\": \"0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3\",\n  \"SystemConfig\": \"0x1126E5AfB588d39C3C5465a15aF389146D309581\",\n  \"SystemConfigProxy\": \"0xf272670eb55e895584501d564AfEB048bEd26194\"\n}"
  },
  {
    "path": "sepolia/2023-09-26-deploy/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nscript = 'script'\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nremappings = [\n#    '@optimism/=lib/optimism/packages/contracts-bedrock',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@cwia/=lib/clones-with-immutable-args/src',\n    'safe-contracts/=lib/safe-contracts/contracts/',\n]\n"
  },
  {
    "path": "sepolia/2023-10-07-upgrade-l1-standard-bridge/.gitignore",
    "content": "/src/\n"
  },
  {
    "path": "sepolia/2023-10-07-upgrade-l1-standard-bridge/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n.PHONY: deploy\ndeploy:\n\tforge script --rpc-url $(L1_RPC_URL) --private-key $(PRIVATE_KEY) DeployL1StandardBridgeImplementation --broadcast\n\n.PHONY: upgrade\nupgrade:\n\tforge script --rpc-url $(L1_RPC_URL) --private-key $(PRIVATE_KEY) UpgradeL1StandardBridge --broadcast\n"
  },
  {
    "path": "sepolia/2023-10-07-upgrade-l1-standard-bridge/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/contracts/=lib/optimism/packages/contracts-bedrock/src/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@cwia/=lib/clones-with-immutable-args/src'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "sepolia/2023-10-07-upgrade-l1-standard-bridge/records/DeployL1StandardBridge.s.sol/11155111/run-1696724294.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x02259eb8c19c8c7af599cfbf1a783429242d43bf732bcf3a655e5b92dcbb6ba3\",\n      \"transactionType\": \"CREATE2\",\n      \"contractName\": \"L1StandardBridge\",\n      \"contractAddress\": \"0xACd2E50B877ab12924a766b8dDBd9272402C7d72\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x24a1704636ab7083eac56294aff13e1651997638\",\n        \"to\": \"0x4e59b44847b379578588920ca78fbf26c0b4956c\",\n        \"gas\": \"0x29b8fc\",\n        \"value\": \"0x0\",\n        \"data\": \"0x1d7142e59e480de73a38d2758c350fa84e149eb4d5f19848e6492c009ac913bb60a08060405234610184577342000000000000000000000000000000000000106080526000549060ff8260081c161580610177575b1561011e575061ffff1916610103811760081c60ff16156100c557600380546001600160a01b03191681559081176000556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a160405161227b908161018a8239608051818181610316015281816108be01528181610d3301528181611aec0152611d640152f35b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b62461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50600360ff831610610034565b600080fdfe60806040526004361015610023575b361561001957600080fd5b610021610c2f565b005b60003560e01c80630166a07a1461012c57806309fc8843146101235780631532ec341461016b5780631635f5fd1461016b5780633cb747bf1461013e578063540abf731461015957806354fd4d501461016257806358a997f6146101505780637f46ddb214610111578063838b25201461015957806387087623146101505780638f601f661461014757806391c49bf814610111578063927ede2d1461013e5780639a2ac6d514610135578063a9f9e6751461012c578063b1a1a88214610123578063c4d66de81461011a578063c89701a2146101115763e11013dd0361000e5761010c610980565b61000e565b5061010c610872565b5061010c6109f8565b5061010c61037d565b5061010c61024b565b5061010c610980565b5061010c6104a7565b5061010c6108e2565b5061010c6107e5565b5061010c6104fa565b5061010c610764565b5061010c6103fa565b73ffffffffffffffffffffffffffffffffffffffff81160361019257565b600080fd5b9181601f840112156101925782359167ffffffffffffffff8311610192576020838186019501011161019257565b9060c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc830112610192576004356101fc81610174565b9160243561020981610174565b9160443561021681610174565b9160643561022381610174565b916084359160a4359067ffffffffffffffff82116101925761024791600401610197565b9091565b50346101925761002161025d366101c5565b956102ca6102a261028960039894989795975473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff808216331491826102cf575b5050610ec1565b6113cb565b60049250602090604051938480927f6e296e450000000000000000000000000000000000000000000000000000000082525afa918215610370575b600092610340575b50807f00000000000000000000000000000000000000000000000000000000000000001691161438806102c3565b61036291925060203d8111610369575b61035a8183610639565b810190610e9c565b9038610312565b503d610350565b610378610eb4565b61030a565b5060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101925760043563ffffffff81168103610192576024359067ffffffffffffffff8211610192576103f16103df610021933690600401610197565b6103ea333b15610ba4565b3691610d92565b903433336119f2565b5060807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101925760043561043181610174565b6024359061043e82610174565b6064359167ffffffffffffffff831161019257610462610021933690600401610197565b92909161049373ffffffffffffffffffffffffffffffffffffffff80600354169081331491826102cf575050610ec1565b60443591611113565b600091031261019257565b50346101925760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019257602073ffffffffffffffffffffffffffffffffffffffff60035416604051908152f35b50346101925760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101925760043561053681610174565b6024359061054382610174565b6044359161055083610174565b6084359063ffffffff821682036101925760a4359367ffffffffffffffff8511610192576105886103ea610021963690600401610197565b93606435923391611bfd565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff81116105d857604052565b6105e0610594565b604052565b6040810190811067ffffffffffffffff8211176105d857604052565b6020810190811067ffffffffffffffff8211176105d857604052565b6060810190811067ffffffffffffffff8211176105d857604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176105d857604052565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60209267ffffffffffffffff81116106b6575b01160190565b6106be610594565b6106b0565b604051906020820182811067ffffffffffffffff8211176106e8575b60405260008252565b6106f0610594565b6106df565b91908251928382526000905b84821061074c5750601f84602094957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0931161073f575b0116010190565b6000858286010152610738565b90602090818082850101519082860101520190610701565b50346101925760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610192576107e16040516107a3816105e5565b600581527f312e342e3000000000000000000000000000000000000000000000000000000060208201526040519182916020835260208301906106f5565b0390f35b50346101925760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101925760043561082181610174565b60243561082d81610174565b60643563ffffffff81168103610192576084359267ffffffffffffffff8411610192576108646103df610021953690600401610197565b926044359133913391611bfd565b50346101925760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019257602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346101925760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019257602061097760043561092381610174565b73ffffffffffffffffffffffffffffffffffffffff6024359161094583610174565b166000526002835260406000209073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b54604051908152f35b5060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610192576004356109b781610174565b6024359063ffffffff82168203610192576044359167ffffffffffffffff8311610192576109ef6103ea610021943690600401610197565b913490336119f2565b50346101925760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019257600435610a3481610174565b60005460ff8160081c16159081610b96575b5015610b1257610ab690610a8060037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006000541617600055565b610ab16101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff6000541617600055565b610dc9565b610ae37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff60005416600055565b604051600381527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a1005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152fd5b6003915060ff161038610a46565b15610bab57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c60448201527f792062652063616c6c65642066726f6d20616e20454f410000000000000000006064820152fd5b610c3a333b15610ba4565b610cb7604051610c4981610601565b60008152610c5981343333611b26565b610ce3610c7e61028960035473ffffffffffffffffffffffffffffffffffffffff1690565b916040519384917f1635f5fd0000000000000000000000000000000000000000000000000000000060208401523433336024860161193b565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101845283610639565b803b1561019257610d5c9160009160405180809581947f3dbb202b00000000000000000000000000000000000000000000000000000000835273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660048401611977565b039134905af18015610d85575b610d705750565b80610d7d610d83926105c4565b8061049c565b565b610d8d610eb4565b610d69565b929192610d9e8261067a565b91610dac6040519384610639565b829481845281830111610192578281602093846000960137010152565b60ff60005460081c1615610e185773ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006003541617600355565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152fd5b908160209103126101925751610eb181610174565b90565b506040513d6000823e3d90fd5b15610ec857565b60a46040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604160248201527f5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c60448201527f792062652063616c6c65642066726f6d20746865206f7468657220627269646760648201527f65000000000000000000000000000000000000000000000000000000000000006084820152fd5b15610f7957565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f5374616e646172644272696467653a2063616e6e6f742073656e6420746f207360448201527f656c6600000000000000000000000000000000000000000000000000000000006064820152fd5b1561100457565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f5374616e646172644272696467653a2063616e6e6f742073656e6420746f206d60448201527f657373656e6765720000000000000000000000000000000000000000000000006064820152fd5b1561108f57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f5374616e646172644272696467653a20455448207472616e736665722066616960448201527f6c656400000000000000000000000000000000000000000000000000000000006064820152fd5b939291909181340361119c57610d8394828461118261118894611197986103ea73ffffffffffffffffffffffffffffffffffffffff851661115630821415610f72565b61117b61028961028960035473ffffffffffffffffffffffffffffffffffffffff1690565b1415610ffd565b92611237565b5a6111916106c3565b926112c0565b611088565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5374616e646172644272696467653a20616d6f756e742073656e7420646f657360448201527f206e6f74206d6174636820616d6f756e742072657175697265640000000000006064820152fd5b604090610eb19392815281602082015201906106f5565b927f31b2166ff604fc5672ea5df08a78081d2bc6d746cadce880747f3643d819e83d91929373ffffffffffffffffffffffffffffffffffffffff80911693169384847f2ac69ee804d9a7a0984249f508dfab7cb2534b465b6ce1580f99a38ba9c5e631604051806112a9878783611220565b0390a36112bb60405192839283611220565b0390a3565b906000939192849360208451940192f190565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81811061130e570390565b6113166112d3565b0390565b1561132157565b60a46040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604a60248201527f5374616e646172644272696467653a2077726f6e672072656d6f746520746f6b60448201527f656e20666f72204f7074696d69736d204d696e7461626c65204552433230206c60648201527f6f63616c20746f6b656e000000000000000000000000000000000000000000006084820152fd5b946113d586611f47565b156114a7576113ec6113e7838861214c565b61131a565b73ffffffffffffffffffffffffffffffffffffffff861690813b15610192576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8616600482015260248101879052610d8398611481939091906000908290604490829084905af1801561149a575b611487575b503691610d92565b94611821565b80610d7d611494926105c4565b38611479565b6114a2610eb4565b611474565b61148190610d839761150c87611506866114e18c73ffffffffffffffffffffffffffffffffffffffff166000526002602052604060002090565b9073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b54611303565b61153a856114e18b73ffffffffffffffffffffffffffffffffffffffff166000526002602052604060002090565b5561155c878773ffffffffffffffffffffffffffffffffffffffff8b16611561565b6103ea565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff90921660248301526044820192909252610d83916115c08260648101610cb7565b611668565b90816020910312610192575180151581036101925790565b156115e457565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff16906040519061168c826105e5565b6020928383527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656484840152803b1561170357600082819282876116de9796519301915af16116d8611761565b90611791565b805190816116eb57505050565b82610d83936116fe9383010191016115c5565b6115dd565b606484604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b3d1561178c573d906117728261067a565b916117806040519384610639565b82523d6000602084013e565b606090565b9091901561179d575090565b8151156117ad5750805190602001fd5b6117eb906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906106f5565b0390fd5b610eb1939273ffffffffffffffffffffffffffffffffffffffff606093168252602082015281604082015201906106f5565b926118ab7fd59c65b35445225835c83f50b6ede06a7be047d22e357073e250d9af537518cd9395929473ffffffffffffffffffffffffffffffffffffffff8080921696169616968787877f3ceee06c1e37648fcbb6ed52e17b3e1f275a1f8c7b22a84b2b84732431e046b36040518061189c878b8b846117ef565b0390a4604051938493846117ef565b0390a4565b156118b757565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f5374616e646172644272696467653a206272696467696e6720455448206d757360448201527f7420696e636c7564652073756666696369656e74204554482076616c756500006064820152fd5b9092610eb1949360809373ffffffffffffffffffffffffffffffffffffffff8092168452166020830152604082015281606082015201906106f5565b92916119ad60409173ffffffffffffffffffffffffffffffffffffffff62030d40941686526060602087015260608601906106f5565b930152565b916119eb63ffffffff9173ffffffffffffffffffffffffffffffffffffffff6040949796971685526060602086015260608501906106f5565b9416910152565b611a9b90949194939293611a078534146118b0565b611a1383868884611b26565b611a6f611a3861028960035473ffffffffffffffffffffffffffffffffffffffff1690565b93866040519889947f1635f5fd0000000000000000000000000000000000000000000000000000000060208701526024860161193b565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101865285610639565b803b1561019257611b15936000936040518096819582947f3dbb202b00000000000000000000000000000000000000000000000000000000845273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016600485016119b2565b03925af18015610d8557610d705750565b927f2849b43074093a05396b6f2a937dee8565b15a48a7b3d4bffb732a5017380af591929373ffffffffffffffffffffffffffffffffffffffff80911693169384847f35d79ab81f2b2017e19afb5c5571778877782d7a8786f5907f93b0f4702f4f23604051806112a9878783611220565b81198111611ba4570190565b611bac6112d3565b0190565b9293610eb19695929160c09573ffffffffffffffffffffffffffffffffffffffff809481809416885216602087015216604085015216606083015260808201528160a082015201906106f5565b9493909195611c0b86611f47565b15611dad57611c1d6113e7848861214c565b73ffffffffffffffffffffffffffffffffffffffff861691823b15610192576040517f9dc29fac00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8916600482015260248101829052611d1295610cb7949091906000908290604490829084905af18015611da0575b611d8d575b505b611cba8383838c898d611ecc565b611cdc61028960035473ffffffffffffffffffffffffffffffffffffffff1690565b986040519889967f0166a07a00000000000000000000000000000000000000000000000000000000602089015260248801611bb0565b823b1561019257611b1592600092836040518096819582947f3dbb202b00000000000000000000000000000000000000000000000000000000845273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016600485016119b2565b80610d7d611d9a926105c4565b38611caa565b611da8610eb4565b611ca5565b81611d1294611dd7610cb794308b73ffffffffffffffffffffffffffffffffffffffff8c16611e43565b611e0f82611e09876114e18c73ffffffffffffffffffffffffffffffffffffffff166000526002602052604060002090565b54611b98565b611e3d866114e18b73ffffffffffffffffffffffffffffffffffffffff166000526002602052604060002090565b55611cac565b9092610d8393604051937f23b872dd00000000000000000000000000000000000000000000000000000000602086015273ffffffffffffffffffffffffffffffffffffffff809216602486015216604484015260648301526064825260a0820182811067ffffffffffffffff821117611ebf575b604052611668565b611ec7610594565b611eb7565b926118ab7f7ff126db8024424bbfd9826e8ab82ff59136289ea440b04b39a0df1b03b9cabf9395929473ffffffffffffffffffffffffffffffffffffffff8080921696169616968787877f718594027abd4eaed59f95162563e0cc6d0e8d5b86b1c7be8b1b0ac3343d03966040518061189c878b8b846117ef565b611f5081612019565b908115611f5b575090565b9050611f66816120a8565b9081612007575b81611f76575090565b60209150600090604051838101907f01ffc9a70000000000000000000000000000000000000000000000000000000082527fec4fc8e300000000000000000000000000000000000000000000000000000000602482015260248152611fda8161061d565b5191617530fa6000513d82611ffb575b5081611ff4575090565b9050151590565b60201115915038611fea565b9050612012816120ea565b1590611f6d565b612022816120a8565b9081612096575b81612032575090565b60209150600090604051838101907f01ffc9a70000000000000000000000000000000000000000000000000000000082527f1d1d8b6300000000000000000000000000000000000000000000000000000000602482015260248152611fda8161061d565b90506120a1816120ea565b1590612029565b6000602091604051838101907f01ffc9a700000000000000000000000000000000000000000000000000000000808352602482015260248152611fda8161061d565b6000602091604051838101907f01ffc9a70000000000000000000000000000000000000000000000000000000082527fffffffff00000000000000000000000000000000000000000000000000000000602482015260248152611fda8161061d565b61215581612019565b156121e657604051907fc01e1bd600000000000000000000000000000000000000000000000000000000825281602081600473ffffffffffffffffffffffffffffffffffffffff95868096165afa9081156121d9575b6000916121bb575b501691161490565b6121d3915060203d81116103695761035a8183610639565b386121b3565b6121e1610eb4565b6121ab565b604051907fd6c0b2c400000000000000000000000000000000000000000000000000000000825281602081600473ffffffffffffffffffffffffffffffffffffffff95868096165afa9081156121d9576000916121bb5750169116149056fea2646970667358221220f0ce1b4960361b2d5bf8aac4bc81ea4c00ee5061710e9318ddef54d10c4be7ce64736f6c634300080f0033\",\n        \"nonce\": \"0x53\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0x02259eb8c19c8c7af599cfbf1a783429242d43bf732bcf3a655e5b92dcbb6ba3\",\n      \"transactionIndex\": \"0x2\",\n      \"blockHash\": \"0x499b622b32cecccf5340267174c8602d646d68cc48d555922af3c72a46790168\",\n      \"blockNumber\": \"0x43d9ca\",\n      \"from\": \"0x24A1704636AB7083eaC56294aFF13e1651997638\",\n      \"to\": \"0x4e59b44847b379578588920cA78FbF26c0B4956C\",\n      \"cumulativeGasUsed\": \"0x3948d5\",\n      \"gasUsed\": \"0x1e371a\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0xACd2E50B877ab12924a766b8dDBd9272402C7d72\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0x499b622b32cecccf5340267174c8602d646d68cc48d555922af3c72a46790168\",\n          \"blockNumber\": \"0x43d9ca\",\n          \"transactionHash\": \"0x02259eb8c19c8c7af599cfbf1a783429242d43bf732bcf3a655e5b92dcbb6ba3\",\n          \"transactionIndex\": \"0x2\",\n          \"logIndex\": \"0x2\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000010000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d05e0b\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1696724294,\n  \"chain\": 11155111,\n  \"multi\": false,\n  \"commit\": \"37c83b4\"\n}"
  },
  {
    "path": "sepolia/2023-10-07-upgrade-l1-standard-bridge/records/UpgradeL1StandardBridge.s.sol/11155111/run-1696724395.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x6829f5d3470433f4544dbdedd6d0854d4e389be36d8b9bcb7ad07eea7e71eee4\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"ProxyAdmin\",\n      \"contractAddress\": \"0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3\",\n      \"function\": \"upgradeAndCall(address,address,bytes)\",\n      \"arguments\": [\n        \"0xfd0Bf71F60660E2f608ed56e1659C450eB113120\",\n        \"0xACd2E50B877ab12924a766b8dDBd9272402C7d72\",\n        \"0xc4d66de8000000000000000000000000c34855f4de64f1840e5686e64278da901e261f20\"\n      ],\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x608081689fe46936fb2fbdf7552cbb1d80ad4822\",\n        \"to\": \"0x0389e59aa0a41e4a413ae70f0008e76caa34b1f3\",\n        \"gas\": \"0x12955\",\n        \"value\": \"0x0\",\n        \"data\": \"0x9623609d000000000000000000000000fd0bf71f60660e2f608ed56e1659c450eb113120000000000000000000000000acd2e50b877ab12924a766b8ddbd9272402c7d7200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000c34855f4de64f1840e5686e64278da901e261f2000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x0\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0x6829f5d3470433f4544dbdedd6d0854d4e389be36d8b9bcb7ad07eea7e71eee4\",\n      \"transactionIndex\": \"0x2\",\n      \"blockHash\": \"0x9dd9403fc25ea32a9bf658d40f6e0f4eb2acef88e6e14c3e6dc90b05aed7fca5\",\n      \"blockNumber\": \"0x43d9d1\",\n      \"from\": \"0x608081689Fe46936fB2fBDF7552CbB1D80ad4822\",\n      \"to\": \"0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3\",\n      \"cumulativeGasUsed\": \"0xfacc6\",\n      \"gasUsed\": \"0xd744\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0xfd0Bf71F60660E2f608ed56e1659C450eB113120\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0x9dd9403fc25ea32a9bf658d40f6e0f4eb2acef88e6e14c3e6dc90b05aed7fca5\",\n          \"blockNumber\": \"0x43d9d1\",\n          \"transactionHash\": \"0x6829f5d3470433f4544dbdedd6d0854d4e389be36d8b9bcb7ad07eea7e71eee4\",\n          \"transactionIndex\": \"0x2\",\n          \"logIndex\": \"0x2\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000100000400000000000000000000000000000000000000000000000000000000000000040000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d05e0b\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1696724395,\n  \"chain\": 11155111,\n  \"multi\": false,\n  \"commit\": \"37c83b4\"\n}"
  },
  {
    "path": "sepolia/2023-10-07-upgrade-l1-standard-bridge/script/DeployL1StandardBridge.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"@eth-optimism-bedrock/contracts/L1/L1StandardBridge.sol\";\nimport \"forge-std/Script.sol\";\n\ncontract DeployL1StandardBridgeImplementation is Script {\n    address internal DEPLOYER = 0x24A1704636AB7083eaC56294aFF13e1651997638;\n    address internal L1_STANDARD_BRIDGE_PROXY = vm.envAddress(\"L1_STANDARD_BRIDGE_PROXY\");\n\n    function implSalt() public returns (bytes32) {\n        return keccak256(bytes(vm.envOr(\"IMPL_SALT\", string(\"allyourbasearebelongtoyou\"))));\n    }\n\n    function run() public {\n        L1StandardBridge proxy = L1StandardBridge(payable(L1_STANDARD_BRIDGE_PROXY));\n\n        CrossDomainMessenger messenger = proxy.messenger();\n        console.log(\"Current L1CrossDomainMessenger value: %s\", address(messenger));\n\n        string memory version = proxy.version();\n        console.log(\"Current L1StandardBridge version: %s\", version);\n\n        vm.broadcast(DEPLOYER);\n        L1StandardBridge bridge = new L1StandardBridge{ salt: implSalt() }();\n        console.log(\"New L1StandardBridge deployed at %s\", address(bridge));\n\n        version = bridge.version();\n        console.log(\"New L1StandardBridge version: %s\", version);\n\n        require(address(bridge.MESSENGER()) == address(0));\n        require(address(bridge.messenger()) == address(0));\n        require(address(bridge.OTHER_BRIDGE()) == Predeploys.L2_STANDARD_BRIDGE);\n        require(address(bridge.otherBridge()) == Predeploys.L2_STANDARD_BRIDGE);\n    }\n}\n"
  },
  {
    "path": "sepolia/2023-10-07-upgrade-l1-standard-bridge/script/UpgradeL1StandardBridge.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"@eth-optimism-bedrock/contracts/L1/L1StandardBridge.sol\";\nimport \"@eth-optimism-bedrock/contracts/L1/L1CrossDomainMessenger.sol\";\nimport \"forge-std/Script.sol\";\nimport {ProxyAdmin} from \"@eth-optimism-bedrock/contracts/universal/ProxyAdmin.sol\";\n\ncontract UpgradeL1StandardBridge is Script {\n    address internal L1_STANDARD_BRIDGE_PROXY = vm.envAddress(\"L1_STANDARD_BRIDGE_PROXY\");\n    address internal NEW_IMPLEMENTATION = 0xACd2E50B877ab12924a766b8dDBd9272402C7d72;\n    address internal PROXY_ADMIN = vm.envAddress(\"PROXY_ADMIN\");\n    address internal PROXY_ADMIN_OWNER = vm.envAddress(\"PROXY_ADMIN_OWNER\");\n\n    function run() public {\n        L1StandardBridge proxy = L1StandardBridge(payable(L1_STANDARD_BRIDGE_PROXY));\n\n        CrossDomainMessenger messenger = proxy.messenger();\n        console.log(\"Current L1CrossDomainMessenger value: %s\", address(messenger));\n\n        string memory version = proxy.version();\n        console.log(\"Current L1StandardBridge version: %s\", version);\n\n        L1StandardBridge bridge = L1StandardBridge(payable(NEW_IMPLEMENTATION));\n        console.log(\"Upgrading L1StandardBridge implementation to: %s\", address(bridge));\n\n        require(address(bridge.MESSENGER()) == address(0));\n        require(address(bridge.messenger()) == address(0));\n        require(address(bridge.OTHER_BRIDGE()) == Predeploys.L2_STANDARD_BRIDGE);\n        require(address(bridge.otherBridge()) == Predeploys.L2_STANDARD_BRIDGE);\n\n        ProxyAdmin proxyAdmin = ProxyAdmin(PROXY_ADMIN);\n        require(uint256(proxyAdmin.proxyType(L1_STANDARD_BRIDGE_PROXY)) == uint256(ProxyAdmin.ProxyType.CHUGSPLASH));\n\n        vm.broadcast(PROXY_ADMIN_OWNER);\n        proxyAdmin.upgradeAndCall({\n            _proxy: payable(L1_STANDARD_BRIDGE_PROXY),\n            _implementation: address(bridge),\n            _data: abi.encodeCall(L1StandardBridge.initialize, (L1CrossDomainMessenger(address(messenger))))\n        });\n\n        version = proxy.version();\n        console.log(\"New L1StandardBridge version: %s\", version);\n        console.log(\"New L1CrossDomainMessenger value: %s\", address(proxy.messenger()));\n\n        require(address(proxy.MESSENGER()) == address(messenger));\n        require(address(proxy.messenger()) == address(messenger));\n        require(address(proxy.OTHER_BRIDGE()) == Predeploys.L2_STANDARD_BRIDGE);\n        require(address(proxy.otherBridge()) == Predeploys.L2_STANDARD_BRIDGE);\n    }\n}\n"
  },
  {
    "path": "sepolia/2024-01-22-deploy-revshare/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n##\n# Foundry commands\n##\n.PHONY: deploy-balance-tracker\ndeploy-balance-tracker:\n\tforge script DeployBalanceTracker --rpc-url $(L1_RPC_URL) --sig \"run()\"\n\n.PHONY: deploy-fee-disburser\ndeploy-fee-disburser:\n\tforge script DeployFeeDisburser --rpc-url $(L2_RPC_URL) --sig \"run()\"\n\n.PHONY: verify-balance-tracker\nverify-balance-tracker:\n\tforge verify-contract ${BALANCE_TRACKER_IMPL} ./lib/base-contracts/src/revenue-share/BalanceTracker.sol:BalanceTracker --constructor-args $(shell cast abi-encode \"constructor(address)\" ${PROFIT_WALLET}) --verifier ${VERIFIER} --verifier-url ${L1_VERIFIER_URL}  --chain-id ${BALANCE_TRACKER_CHAIN_ID} --retries=1 --etherscan-api-key ${L1_ETHERSCAN_API_KEY} --optimizer-runs=999999 --watch \n\tforge verify-contract ${BALANCE_TRACKER_PROXY} Proxy --constructor-args $(shell cast abi-encode \"constructor(address)\" ${BALANCE_TRACKER_DEPLOYER}) --verifier ${VERIFIER} --verifier-url ${L1_VERIFIER_URL} --chain-id ${BALANCE_TRACKER_CHAIN_ID} --retries=1 --etherscan-api-key ${L1_ETHERSCAN_API_KEY} --optimizer-runs=999999 --watch \n\n.PHONY: verify-fee-disburser\nverify-fee-disburser:\n\tETHERSCAN_API_KEY=$(L2_ETHERSCAN_API_KEY) forge verify-contract ${FEE_DISBURSER_IMPL} ./lib/base-contracts/src/revenue-share/FeeDisburser.sol:FeeDisburser --constructor-args $(shell cast abi-encode \"constructor(address,address,uint256)\" ${OPTIMISM_WALLET} ${BALANCE_TRACKER_PROXY} ${FEE_DISBURSEMENT_INTERVAL}) --verifier ${VERIFIER} --verifier-url ${L2_VERIFIER_URL} --chain-id ${L2_CHAIN_ID} --optimizer-runs=999999 --retries=1 --compiler-version v0.8.15+commit.e14f2714 --watch \n\tETHERSCAN_API_KEY=$(L2_ETHERSCAN_API_KEY) forge verify-contract ${FEE_DISBURSER_PROXY} Proxy --constructor-args $(shell cast abi-encode \"constructor(address)\" ${FEE_DISBURSER_DEPLOYER}) --verifier ${VERIFIER} --verifier-url ${L2_VERIFIER_URL} --chain-id ${L2_CHAIN_ID} --num-of-optimizations=99999 --retries=1 --compiler-version v0.8.15+commit.e14f2714 --watch\n\n.PHONY: deploy-new-fee-vaults\ndeploy-new-fee-vaults:\n\tforge script DeployNewFeeVaults --rpc-url $(L2_RPC_URL) --sig \"run()\"\n\n.PHONY: verify-fee-vaults\nverify-fee-vaults:\n\tETHERSCAN_API_KEY=$(L2_ETHERSCAN_API_KEY) forge verify-contract ${SEQUENCER_FEE_VAULT_IMPL} SequencerFeeVault --constructor-args $(shell cast abi-encode \"constructor(address,uint256,uint8)\" ${FEE_DISBURSER_PROXY} 2000000000000000000 1) --verifier ${VERIFIER} --verifier-url ${L2_VERIFIER_URL} --chain-id ${L2_CHAIN_ID} --optimizer-runs=999999 --retries=1 --watch \n\tETHERSCAN_API_KEY=$(L2_ETHERSCAN_API_KEY) forge verify-contract ${L1_FEE_VAULT_IMPL} L1FeeVault --constructor-args $(shell cast abi-encode \"constructor(address,uint256,uint8)\" ${FEE_DISBURSER_PROXY} 2000000000000000000 1) --verifier ${VERIFIER} --verifier-url ${L2_VERIFIER_URL} --chain-id ${L2_CHAIN_ID} --optimizer-runs=999999 --retries=1 --watch \n\tETHERSCAN_API_KEY=$(L2_ETHERSCAN_API_KEY) forge verify-contract ${BASE_FEE_VAULT_IMPL} BaseFeeVault --constructor-args $(shell cast abi-encode \"constructor(address,uint256,uint8)\" ${FEE_DISBURSER_PROXY} 2000000000000000000 1) --verifier ${VERIFIER} --verifier-url ${L2_VERIFIER_URL} --chain-id ${L2_CHAIN_ID} --optimizer-runs=999999 --retries=1 --watch \n\n.PHONY: upgrade-fee-vault-proxy\nupgrade-fee-vault-proxy:\n\tforge script UpgradeFeeVaultProxy --rpc-url $(L2_RPC_URL) --sig \"run()\"\n"
  },
  {
    "path": "sepolia/2024-01-22-deploy-revshare/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "sepolia/2024-01-22-deploy-revshare/records/DeployBalanceTracker.s.sol/11155111/run-1706212422.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xc432177d1ff094d05ad414e50999eb16f514d8b80ea1177ee967e331166a29b9\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"BalanceTracker\",\n      \"contractAddress\": \"0x3A92D1B1dF54870245efF0C8B1a2EBF16d997cAA\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x5A822ea15764a6090b86B1EABfFc051cEC99AFE9\"\n      ],\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x4672425c27a942bb27e7b9709c1b21ab89a3ca13\",\n        \"gas\": \"0x1312d0\",\n        \"value\": \"0x0\",\n        \"data\": \"0x60a03461018057601f61119a38819003918201601f19168301916001600160401b038311848410176101855780849260209460405283398101031261018057516001600160a01b03811680820361018057156101205760805260005460ff8160081c166100cb5760ff80821610610090575b604051610ffe908161019c823960805181818161046b015261052e0152f35b60ff90811916176000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a138610071565b60405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b60405162461bcd60e51b815260206004820152603260248201527f42616c616e6365547261636b65723a2050524f4649545f57414c4c45542063616044820152716e6e6f74206265206164647265737328302960701b6064820152608490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe60806040526004361015610023575b361561001957600080fd5b610021610db0565b005b6000803560e01c9081630a5657201461009e575080636d1eb022146100955780637fbbe46f1461008c578063927a1a7714610083578063981949e81461007a5763ba69ebed0361000e5761007561048f565b61000e565b5061007561041f565b50610075610399565b506100756102c3565b50610075610180565b346101085760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610108576004359060345482101561010857507f46bddb1178e94d7f2892ff5f366840eb658911794f2c3a44c450aa2c505186c1015460805260206080f35b80fd5b507f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b603454811015610173575b60346000527f46bddb1178e94d7f2892ff5f366840eb658911794f2c3a44c450aa2c505186c10190600090565b61017b61010b565b610146565b50346101bb5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101bb57602060405160148152f35b600080fd5b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761023457604052565b61023c6101c0565b604052565b60209067ffffffffffffffff811161025b575b60051b0190565b6102636101c0565b610254565b9080601f830112156101bb5781359061028861028383610241565b6101f0565b9182938184526020808095019260051b8201019283116101bb578301905b8282106102b4575050505090565b813581529083019083016102a6565b50346101bb5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101bb5767ffffffffffffffff6004358181116101bb57366023820112156101bb5780600401359061032361028383610241565b908192808352602460208094019160051b830101913683116101bb57602401905b82821061036d57602435858782116101bb57610367610021923690600401610268565b9061066d565b813573ffffffffffffffffffffffffffffffffffffffff811681036101bb578152908301908301610344565b50346101bb5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101bb576004356033548110156101bb5773ffffffffffffffffffffffffffffffffffffffff60209160336000527f82a75bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a82015416604051908152f35b50346101bb5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101bb57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346101bb576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610108576001600281541461060f576002815560338054906104df821515610817565b835b8281106105785784475a7fbadd9d7563efca77438dc132e885aa156837e0b784469f68fbd810cbfb6cda77610567610556858080808873ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168099f1151590565b604051948552939081906020820190565b0390a361057360018055565b604051f35b83908254811015610602575b8286526105fc6105ca827f82a75bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a82015473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff6105f56105eb8561013b565b90549060031b1c90565b9116610dde565b016104e1565b61060a61010b565b610584565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b6000549160ff8360081c161580938194610809575b81156107e9575b5015610765576106cd91836106c460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006000541617600055565b61072f57610c50565b6106d357565b6107007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff60005416600055565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a1565b6107606101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff6000541617600055565b610c50565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152fd5b303b159150816107fb575b5038610689565b6001915060ff1614386107f4565b600160ff8216109150610682565b1561081e57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f42616c616e6365547261636b65723a2073797374656d4164647265737365732060448201527f63616e6e6f7420686176652061206c656e677468206f66207a65726f000000006064820152fd5b156108a957565b60a46040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604760248201527f42616c616e6365547261636b65723a2073797374656d4164647265737365732060448201527f616e642074617267657442616c616e636573206c656e677468206d757374206260648201527f6520657175616c000000000000000000000000000000000000000000000000006084820152fd5b6020918151811015610968575b60051b010190565b61097061010b565b610960565b1561097c57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f42616c616e6365547261636b65723a2073797374656d4164647265737365732060448201527f63616e6e6f7420636f6e7461696e2061646472657373283029000000000000006064820152fd5b15610a0757565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f42616c616e6365547261636b65723a2074617267657442616c616e636573206360448201527f616e6e6f7420636f6e7461696e203020746172676574000000000000000000006064820152fd5b805190680100000000000000008211610b7e575b60335482603355808310610b3d575b5060208091019060336000527f82a75bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a826000925b848410610aed575050505050565b6001838273ffffffffffffffffffffffffffffffffffffffff839451167fffffffffffffffffffffffff000000000000000000000000000000000000000086541617855501920193019290610adf565b827f82a75bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a8291820191015b818110610b725750610aae565b60008155600101610b65565b610b866101c0565b610a9f565b805190680100000000000000008211610c43575b60345482603455808310610c02575b5060208091019060346000527f46bddb1178e94d7f2892ff5f366840eb658911794f2c3a44c450aa2c505186c16000925b848410610bed575050505050565b60018382829351855501920193019290610bdf565b827f46bddb1178e94d7f2892ff5f366840eb658911794f2c3a44c450aa2c505186c191820191015b818110610c375750610bae565b60008155600101610c2a565b610c4b6101c0565b610b9f565b91908251610c5f811515610817565b60148111610d0657610c73825182146108a2565b60005b818110610c9b575050610c8c610c919293610a8b565b610b8b565b610c99610fa8565b565b80610ceb610ce4610ccb610cb16001958a610953565b5173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b1515610975565b610d00610cf88286610953565b511515610a00565b01610c76565b60a46040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604460248201527f42616c616e6365547261636b65723a2073797374656d4164647265737365732060448201527f63616e6e6f7420686176652061206c656e67746820677265617465722074686160648201527f6e203230000000000000000000000000000000000000000000000000000000006084820152fd5b6040513481527f5741979df5f3e491501da74d3b0a83dd2496ab1f34929865b3e190a8ad75859a60203392a2565b9081319080821015610ecf57818110610ea057034780821115610e635773ffffffffffffffffffffffffffffffffffffffff7f74273f98770936abfe9aad12868d2dbe403347b74b7f3a539d0359c123d5d31c915b610e5e6000808080858a5af19160405193849315159716958360209093929193604081019481520152565b0390a3565b507f74273f98770936abfe9aad12868d2dbe403347b74b7f3a539d0359c123d5d31c73ffffffffffffffffffffffffffffffffffffffff82610e33565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b50506000907f74273f98770936abfe9aad12868d2dbe403347b74b7f3a539d0359c123d5d31c604073ffffffffffffffffffffffffffffffffffffffff8151938585528560208601521692a3565b15610f2457565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152fd5b610fc260ff60005460081c16610fbd81610f1d565b610f1d565b6001805556fea2646970667358221220776dca8b27759da82dbd27c107427fcdb099a7ec01ffff824492749cf334290e64736f6c634300080f00330000000000000000000000005a822ea15764a6090b86b1eabffc051cec99afe9\",\n        \"nonce\": \"0x0\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x541cce477b50e3d1fa7c4991ae488f4c0d10e6f8c236cf86644c5ddd4bd92f5b\",\n      \"transactionType\": \"CREATE2\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0x8D1b5e5614300F5c7ADA01fFA4ccF8F1752D9A57\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x4672425C27A942bB27e7b9709c1b21ab89a3cA13\"\n      ],\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x4672425c27a942bb27e7b9709c1b21ab89a3ca13\",\n        \"to\": \"0x4e59b44847b379578588920ca78fbf26c0b4956c\",\n        \"gas\": \"0xb5d85\",\n        \"value\": \"0x0\",\n        \"data\": \"0x53c0cf0062ef0fce31978bc0b82e86ac4ba252f2225b3578bac49b137adf18c86080346100b857601f61089638819003918201601f19168301916001600160401b038311848410176100bd578084926020946040528339810103126100b857516001600160a01b03808216918281036100b8577f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f926040927fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610392835493558351921682526020820152a16040516107c290816100d48239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561002c575b361561001f575b61001d6106aa565b005b6100276106aa565b610015565b6000803560e01c9081633659cfe614610093575080634f1ef2861461008a5780635c60da1b146100815780638f283970146100785763f851a4400361000e576100736104f0565b61000e565b50610073610422565b50610073610362565b506100736101d0565b3461012f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012f576100ca610132565b73ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103541633148015610127575b1561011e5761011990610647565b604051f35b506101196106aa565b50331561010b565b80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361015557565b600080fd5b919091602080825283519081818401526000945b8286106101ba575050601f817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09260409596116101ad575b0116010190565b60008582860101526101a6565b858101820151848701604001529481019461016e565b5060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015557610203610132565b6024359067ffffffffffffffff908183116101555736602384011215610155578260040135908282116101555736602483860101116101555761031f9360609273ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354163314801561035a575b156103485791602460009392849361029b84610647565b80604051938493018337810184815203915af4903d1561033d5750610313903d838111610330575b604051937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f850116011685019085821090821117610323575b60405283523d6000602085013e6105bc565b6040519182918261015a565b0390f35b61032b61058c565b610301565b61033861058c565b6102c3565b9150610313906105bc565b50505090506103556106aa565b610313565b503315610284565b50346101555760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610155576020600073ffffffffffffffffffffffffffffffffffffffff90817fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354163314801561041a575b1561040c57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54905b60405191168152f35b906104156106aa565b610403565b5033156103d9565b50346101555760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101555761045a610132565b73ffffffffffffffffffffffffffffffffffffffff907fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610382815416331480156104e8575b156104dd577f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f92826040938354935581845193168352166020820152a1005b50505061001d6106aa565b50331561049e565b50346101555760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610155576020600073ffffffffffffffffffffffffffffffffffffffff907fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103908282541633148015610584575b1561057957505460405191168152f35b9190506104156106aa565b503315610569565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b156105c357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c6564000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff90807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b6000604051a2565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff811615610708576000808092368280378136915af43d82803e15610704573d90f35b3d90fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a65640000000000000000000000000000000000000000000000000000006064820152fdfea2646970667358221220914a5c8d83206f4354a6aed19cb9a6fc061333d51350803e95cb7854134ac14664736f6c634300080f00330000000000000000000000004672425c27a942bb27e7b9709c1b21ab89a3ca13\",\n        \"nonce\": \"0x1\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x3f7c22882159cfe63a1386c4f2dbb7d33fd374763845c8a36ad2d6a036bd2527\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0x8D1b5e5614300F5c7ADA01fFA4ccF8F1752D9A57\",\n      \"function\": \"upgradeToAndCall(address,bytes)\",\n      \"arguments\": [\n        \"0x3A92D1B1dF54870245efF0C8B1a2EBF16d997cAA\",\n        \"0x7fbbe46f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000020044a0d104e9e788a0c984a2b7eae615afd046b0000000000000000000000006cdebe940bc0f26850285caca097c11c33103e47000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000ad78ebc5ac620000000000000000000000000000000000000000000000000003635c9adc5dea00000\"\n      ],\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x4672425c27a942bb27e7b9709c1b21ab89a3ca13\",\n        \"to\": \"0x8d1b5e5614300f5c7ada01ffa4ccf8f1752d9a57\",\n        \"gas\": \"0x4eea9\",\n        \"value\": \"0x0\",\n        \"data\": \"0x4f1ef2860000000000000000000000003a92d1b1df54870245eff0c8b1a2ebf16d997caa000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001047fbbe46f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000020044a0d104e9e788a0c984a2b7eae615afd046b0000000000000000000000006cdebe940bc0f26850285caca097c11c33103e47000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000ad78ebc5ac620000000000000000000000000000000000000000000000000003635c9adc5dea0000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x2\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x3902e92894cb397ad2be779ffe88f08b1f2d1ee3432b0542b07ebd8e9e4220f4\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0x8D1b5e5614300F5c7ADA01fFA4ccF8F1752D9A57\",\n      \"function\": \"changeAdmin(address)\",\n      \"arguments\": [\n        \"0x4672425C27A942bB27e7b9709c1b21ab89a3cA13\"\n      ],\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x4672425c27a942bb27e7b9709c1b21ab89a3ca13\",\n        \"to\": \"0x8d1b5e5614300f5c7ada01ffa4ccf8f1752d9a57\",\n        \"gas\": \"0x9111\",\n        \"value\": \"0x0\",\n        \"data\": \"0x8f2839700000000000000000000000004672425c27a942bb27e7b9709c1b21ab89a3ca13\",\n        \"nonce\": \"0x3\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0xc432177d1ff094d05ad414e50999eb16f514d8b80ea1177ee967e331166a29b9\",\n      \"transactionIndex\": \"0x15\",\n      \"blockHash\": \"0xd58fc661a622b36f2de09dac1a54571c75590007d7029f58d5002f45a96fda07\",\n      \"blockNumber\": \"0x4ea13a\",\n      \"from\": \"0x4672425C27A942bB27e7b9709c1b21ab89a3cA13\",\n      \"to\": null,\n      \"cumulativeGasUsed\": \"0x1e6156\",\n      \"gasUsed\": \"0xead1f\",\n      \"contractAddress\": \"0x3A92D1B1dF54870245efF0C8B1a2EBF16d997cAA\",\n      \"logs\": [\n        {\n          \"address\": \"0x3A92D1B1dF54870245efF0C8B1a2EBF16d997cAA\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000ff\",\n          \"blockHash\": \"0xd58fc661a622b36f2de09dac1a54571c75590007d7029f58d5002f45a96fda07\",\n          \"blockNumber\": \"0x4ea13a\",\n          \"transactionHash\": \"0xc432177d1ff094d05ad414e50999eb16f514d8b80ea1177ee967e331166a29b9\",\n          \"transactionIndex\": \"0x15\",\n          \"logIndex\": \"0xc\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000001000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xd81aaeb0\"\n    },\n    {\n      \"transactionHash\": \"0x541cce477b50e3d1fa7c4991ae488f4c0d10e6f8c236cf86644c5ddd4bd92f5b\",\n      \"transactionIndex\": \"0x16\",\n      \"blockHash\": \"0xd58fc661a622b36f2de09dac1a54571c75590007d7029f58d5002f45a96fda07\",\n      \"blockNumber\": \"0x4ea13a\",\n      \"from\": \"0x4672425C27A942bB27e7b9709c1b21ab89a3cA13\",\n      \"to\": \"0x4e59b44847b379578588920cA78FbF26c0B4956C\",\n      \"cumulativeGasUsed\": \"0x26274d\",\n      \"gasUsed\": \"0x7c5f7\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x8D1b5e5614300F5c7ADA01fFA4ccF8F1752D9A57\",\n          \"topics\": [\n            \"0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000004672425c27a942bb27e7b9709c1b21ab89a3ca13\",\n          \"blockHash\": \"0xd58fc661a622b36f2de09dac1a54571c75590007d7029f58d5002f45a96fda07\",\n          \"blockNumber\": \"0x4ea13a\",\n          \"transactionHash\": \"0x541cce477b50e3d1fa7c4991ae488f4c0d10e6f8c236cf86644c5ddd4bd92f5b\",\n          \"transactionIndex\": \"0x16\",\n          \"logIndex\": \"0xd\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000001000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000020000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xd81aaeb0\"\n    },\n    {\n      \"transactionHash\": \"0x3f7c22882159cfe63a1386c4f2dbb7d33fd374763845c8a36ad2d6a036bd2527\",\n      \"transactionIndex\": \"0x17\",\n      \"blockHash\": \"0xd58fc661a622b36f2de09dac1a54571c75590007d7029f58d5002f45a96fda07\",\n      \"blockNumber\": \"0x4ea13a\",\n      \"from\": \"0x4672425C27A942bB27e7b9709c1b21ab89a3cA13\",\n      \"to\": \"0x8D1b5e5614300F5c7ADA01fFA4ccF8F1752D9A57\",\n      \"cumulativeGasUsed\": \"0x29b972\",\n      \"gasUsed\": \"0x39225\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x8D1b5e5614300F5c7ADA01fFA4ccF8F1752D9A57\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x0000000000000000000000003a92d1b1df54870245eff0c8b1a2ebf16d997caa\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xd58fc661a622b36f2de09dac1a54571c75590007d7029f58d5002f45a96fda07\",\n          \"blockNumber\": \"0x4ea13a\",\n          \"transactionHash\": \"0x3f7c22882159cfe63a1386c4f2dbb7d33fd374763845c8a36ad2d6a036bd2527\",\n          \"transactionIndex\": \"0x17\",\n          \"logIndex\": \"0xe\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x8D1b5e5614300F5c7ADA01fFA4ccF8F1752D9A57\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0xd58fc661a622b36f2de09dac1a54571c75590007d7029f58d5002f45a96fda07\",\n          \"blockNumber\": \"0x4ea13a\",\n          \"transactionHash\": \"0x3f7c22882159cfe63a1386c4f2dbb7d33fd374763845c8a36ad2d6a036bd2527\",\n          \"transactionIndex\": \"0x17\",\n          \"logIndex\": \"0xf\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000400000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000001000000000000000080000000000000000000000000000000000000000000000400020000000000000000000000000000000000000020000000000000000000040000000000000400000000000000000000000000000000000000000000000000020000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xd81aaeb0\"\n    },\n    {\n      \"transactionHash\": \"0x3902e92894cb397ad2be779ffe88f08b1f2d1ee3432b0542b07ebd8e9e4220f4\",\n      \"transactionIndex\": \"0x18\",\n      \"blockHash\": \"0xd58fc661a622b36f2de09dac1a54571c75590007d7029f58d5002f45a96fda07\",\n      \"blockNumber\": \"0x4ea13a\",\n      \"from\": \"0x4672425C27A942bB27e7b9709c1b21ab89a3cA13\",\n      \"to\": \"0x8D1b5e5614300F5c7ADA01fFA4ccF8F1752D9A57\",\n      \"cumulativeGasUsed\": \"0x2a1ca3\",\n      \"gasUsed\": \"0x6331\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x8D1b5e5614300F5c7ADA01fFA4ccF8F1752D9A57\",\n          \"topics\": [\n            \"0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f\"\n          ],\n          \"data\": \"0x0000000000000000000000004672425c27a942bb27e7b9709c1b21ab89a3ca130000000000000000000000004672425c27a942bb27e7b9709c1b21ab89a3ca13\",\n          \"blockHash\": \"0xd58fc661a622b36f2de09dac1a54571c75590007d7029f58d5002f45a96fda07\",\n          \"blockNumber\": \"0x4ea13a\",\n          \"transactionHash\": \"0x3902e92894cb397ad2be779ffe88f08b1f2d1ee3432b0542b07ebd8e9e4220f4\",\n          \"transactionIndex\": \"0x18\",\n          \"logIndex\": \"0x10\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000001000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000020000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xd81aaeb0\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1706212422,\n  \"chain\": 11155111,\n  \"multi\": false,\n  \"commit\": \"bb37a30\"\n}"
  },
  {
    "path": "sepolia/2024-01-22-deploy-revshare/records/DeployFeeDisburser.s.sol/84532/run-1706221009.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x417a7155b7b63a179aa81c94649ed85a5ac6313d3cd872687453dba8a4fdbaaa\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"FeeDisburser\",\n      \"contractAddress\": \"0xCA9be02F8e417D20f33551BA22ddf3f7623FB345\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x5A822ea15764a6090b86B1EABfFc051cEC99AFE9\",\n        \"0x8D1b5e5614300F5c7ADA01fFA4ccF8F1752D9A57\",\n        \"604800\"\n      ],\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x4672425c27a942bb27e7b9709c1b21ab89a3ca13\",\n        \"gas\": \"0x11a8d3\",\n        \"value\": \"0x0\",\n        \"data\": \"0x60e0346101f357601f61113438819003918201601f191683019291906001600160401b038411838510176101f85781606092849260409687528339810103126101f35780516001600160a01b03808216929091908382036101f3576020810151928316908184036101f3578501519315610195571561013d576201518083106100c85760805260a05260c05251610f25908161020f823960805181818161015001526107d1015260a0518181816101fb0152610879015260c0518181816102d0015261072c0152f35b835162461bcd60e51b815260206004820152604260248201527f4665654469736275727365723a2046656544697362757273656d656e74496e7460448201527f657276616c2063616e6e6f74206265206c657373207468616e20323420686f75606482015261727360f01b608482015260a490fd5b835162461bcd60e51b815260206004820152602b60248201527f4665654469736275727365723a204c3157616c6c65742063616e6e6f7420626560448201526a206164647265737328302960a81b6064820152608490fd5b845162461bcd60e51b815260206004820152603160248201527f4665654469736275727365723a204f7074696d69736d57616c6c65742063616e6044820152706e6f74206265206164647265737328302960781b6064820152608490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe60806040526004361015610023575b361561001957600080fd5b61002161092a565b005b60003560e01c80630c8cd070146100eb578063235d506d146100e257806336f1a6e5146100d9578063394d2731146100d0578063447eb5ac146100c757806354664de5146100be5780635b201d83146100b557806393819a3f146100ac578063ad41d09c146100a35763b87ea8d40361000e5761009e6103a7565b61000e565b5061009e61036b565b5061009e61032f565b5061009e6102f3565b5061009e610299565b5061009e61025c565b5061009e61021f565b5061009e6101af565b5061009e610174565b5061009e610104565b60009103126100ff57565b600080fd5b50346100ff5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ff57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346100ff5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ff57602060405160fa8152f35b50346100ff5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ff57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346100ff5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ff576020600054604051908152f35b50346100ff5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ff576020600154604051908152f35b50346100ff5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ff5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b50346100ff5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ff5760206040516127108152f35b50346100ff5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ff5760206040516105dc8152f35b50346100ff5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ff5760206040516188b88152f35b50346100ff5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ff5761002161071f565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8119811161041b570190565b6104236103df565b0190565b1561042e57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f4665654469736275727365723a2044697362757273656d656e7420696e74657260448201527f76616c206e6f74207265616368656400000000000000000000000000000000006064820152fd5b6105dc90807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211811515166104e7570290565b6104ef6103df565b0290565b60fa90807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211811515166104e7570290565b1561052e57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f4665654469736275727365723a204661696c656420746f2073656e642066756e60448201527f647320746f204f7074696d69736d0000000000000000000000000000000000006064820152fd5b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff81116105f657604052565b6105fe6105b2565b604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176105f657604052565b604051906020820182811067ffffffffffffffff821117610669575b60405260008252565b6106716105b2565b610660565b9073ffffffffffffffffffffffffffffffffffffffff9093929316815260206188b881830152606060408301528351908160608401526000945b8286106106fc575050601f817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09260809596116106ef575b0116010190565b60008582860101526106e8565b85810182015184870160800152948101946106b0565b506040513d6000823e3d90fd5b60009061075961075183547f00000000000000000000000000000000000000000000000000000000000000009061040f565b421015610427565b610761610bf0565b610769610e18565b610771610e7b565b478015610900574283556107b061079461078c6001546104b2565b612710900490565b61079e6000600155565b6107aa61078c846104f3565b90610ede565b906107f884808080865a73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690f1610527565b47610801610644565b73420000000000000000000000000000000000001090813b156108fc5791866108a17fe155e054cfe69655d6d2f8bbfb856aa8cdf49ecbea6557901533364539caad949798936108d1956040519485809481937fe11013dd0000000000000000000000000000000000000000000000000000000083527f000000000000000000000000000000000000000000000000000000000000000060048401610676565b03925af180156108ef575b6108d6575b505491604051938493846040919493926060820195825260208201520152565b0390a1565b806108e36108e9926105e2565b806100f4565b386108b1565b6108f7610712565b6108ac565b8680fd5b50907f8c887b1215d5e6b119c1c1008fe1d0919b4c438301d5a0357362a13fb56f6a4090604051a1565b73420000000000000000000000000000000000001133148015610a31575b156109915761096161095c3460015461040f565b600155565b60405134815233907f2ccfc58c2cef4ee590b5f16be0548cc54afc12e1c66a67b362b7d640fd16bb2d90602090a2565b73420000000000000000000000000000000000001a3303156109615760846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f4665654469736275727365723a204f6e6c79204665655661756c74732063616e60448201527f2073656e642045544820746f20466565446973627572736572000000000000006064820152fd5b507342000000000000000000000000000000000000193314610948565b908160209103126100ff575160028110156100ff5790565b60021115610a7057565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b15610aa657565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4665654469736275727365723a204665655661756c74206d757374207769746860448201527f6472617720746f204c32000000000000000000000000000000000000000000006064820152fd5b908160209103126100ff575173ffffffffffffffffffffffffffffffffffffffff811681036100ff5790565b15610b5d57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4665654469736275727365723a204665655661756c74206d757374207769746860448201527f6472617720746f2046656544697362757273657220636f6e74726163740000006064820152fd5b908160209103126100ff575190565b6040517fd0e12f900000000000000000000000000000000000000000000000000000000081526020610c5b6001734200000000000000000000000000000000000011938381600481885afa908115610e0b575b600091610dde575b50610c5581610a66565b14610a9f565b610cba6040517f0d9019e10000000000000000000000000000000000000000000000000000000081528281600481875afa908115610dd1575b600091610da4575b5073ffffffffffffffffffffffffffffffffffffffff163014610b56565b81316040517fd3e5792b0000000000000000000000000000000000000000000000000000000081528281600481875afa928315610d97575b600093610d68575b50501015610d055750565b803b156100ff57600080916004604051809481937f3ccfd60b0000000000000000000000000000000000000000000000000000000083525af18015610d5b575b610d4c5750565b806108e3610d59926105e2565b565b610d63610712565b610d45565b610d88929350803d10610d90575b610d808183610603565b810190610be1565b903880610cfa565b503d610d76565b610d9f610712565b610cf2565b610dc49150833d8511610dca575b610dbc8183610603565b810190610b2a565b38610c9c565b503d610db2565b610dd9610712565b610c94565b610dfe9150843d8611610e04575b610df68183610603565b810190610a4e565b38610c4b565b503d610dec565b610e13610712565b610c43565b6040517fd0e12f900000000000000000000000000000000000000000000000000000000081526020610c5b6001734200000000000000000000000000000000000019938381600481885afa908115610e0b57600091610dde5750610c5581610a66565b6040517fd0e12f900000000000000000000000000000000000000000000000000000000081526020610c5b600173420000000000000000000000000000000000001a938381600481885afa908115610e0b57600091610dde5750610c5581610a66565b90808210610eea575090565b90509056fea2646970667358221220ab543d3c367c06f65dd028bbf46753be38ede9ecaa2bc0ebd8ff9e9cb6953cd064736f6c634300080f00330000000000000000000000005a822ea15764a6090b86b1eabffc051cec99afe90000000000000000000000008d1b5e5614300f5c7ada01ffa4ccf8f1752d9a570000000000000000000000000000000000000000000000000000000000093a80\",\n        \"nonce\": \"0x2\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xbf0aba9cff7f5f6ac0ab47169f479854b1b308e15b848569c6e4b72a46ad331e\",\n      \"transactionType\": \"CREATE2\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0x76355A67fCBCDE6F9a69409A8EAd5EaA9D8d875d\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x4672425C27A942bB27e7b9709c1b21ab89a3cA13\"\n      ],\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x4672425c27a942bb27e7b9709c1b21ab89a3ca13\",\n        \"to\": \"0x4e59b44847b379578588920ca78fbf26c0b4956c\",\n        \"gas\": \"0xabbf2\",\n        \"value\": \"0x0\",\n        \"data\": \"0xbf4491d8f9f2e3e841563ec19c29afb358f86d5bec100ce006569acd46b846d36080346100b857601f61089638819003918201601f19168301916001600160401b038311848410176100bd578084926020946040528339810103126100b857516001600160a01b03808216918281036100b8577f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f926040927fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610392835493558351921682526020820152a16040516107c290816100d48239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561002c575b361561001f575b61001d6106aa565b005b6100276106aa565b610015565b6000803560e01c9081633659cfe614610093575080634f1ef2861461008a5780635c60da1b146100815780638f283970146100785763f851a4400361000e576100736104f0565b61000e565b50610073610422565b50610073610362565b506100736101d0565b3461012f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012f576100ca610132565b73ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103541633148015610127575b1561011e5761011990610647565b604051f35b506101196106aa565b50331561010b565b80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361015557565b600080fd5b919091602080825283519081818401526000945b8286106101ba575050601f817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09260409596116101ad575b0116010190565b60008582860101526101a6565b858101820151848701604001529481019461016e565b5060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015557610203610132565b6024359067ffffffffffffffff908183116101555736602384011215610155578260040135908282116101555736602483860101116101555761031f9360609273ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354163314801561035a575b156103485791602460009392849361029b84610647565b80604051938493018337810184815203915af4903d1561033d5750610313903d838111610330575b604051937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f850116011685019085821090821117610323575b60405283523d6000602085013e6105bc565b6040519182918261015a565b0390f35b61032b61058c565b610301565b61033861058c565b6102c3565b9150610313906105bc565b50505090506103556106aa565b610313565b503315610284565b50346101555760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610155576020600073ffffffffffffffffffffffffffffffffffffffff90817fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354163314801561041a575b1561040c57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54905b60405191168152f35b906104156106aa565b610403565b5033156103d9565b50346101555760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101555761045a610132565b73ffffffffffffffffffffffffffffffffffffffff907fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610382815416331480156104e8575b156104dd577f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f92826040938354935581845193168352166020820152a1005b50505061001d6106aa565b50331561049e565b50346101555760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610155576020600073ffffffffffffffffffffffffffffffffffffffff907fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103908282541633148015610584575b1561057957505460405191168152f35b9190506104156106aa565b503315610569565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b156105c357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c6564000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff90807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b6000604051a2565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff811615610708576000808092368280378136915af43d82803e15610704573d90f35b3d90fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a65640000000000000000000000000000000000000000000000000000006064820152fdfea2646970667358221220914a5c8d83206f4354a6aed19cb9a6fc061333d51350803e95cb7854134ac14664736f6c634300080f00330000000000000000000000004672425c27a942bb27e7b9709c1b21ab89a3ca13\",\n        \"nonce\": \"0x3\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xadb2105b6b1e912ad8510b4c4f6858b419509a54291613e666d4b7bb3f81daed\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0x76355A67fCBCDE6F9a69409A8EAd5EaA9D8d875d\",\n      \"function\": \"changeAdmin(address)\",\n      \"arguments\": [\n        \"0x4672425C27A942bB27e7b9709c1b21ab89a3cA13\"\n      ],\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x4672425c27a942bb27e7b9709c1b21ab89a3ca13\",\n        \"to\": \"0x76355a67fcbcde6f9a69409a8ead5eaa9d8d875d\",\n        \"gas\": \"0x9111\",\n        \"value\": \"0x0\",\n        \"data\": \"0x8f2839700000000000000000000000004672425c27a942bb27e7b9709c1b21ab89a3ca13\",\n        \"nonce\": \"0x4\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0x417a7155b7b63a179aa81c94649ed85a5ac6313d3cd872687453dba8a4fdbaaa\",\n      \"transactionIndex\": \"0x1\",\n      \"blockHash\": \"0x891986c17eedf56097f70767b818d8c916226d65a2e11ed514d007dca7b80255\",\n      \"blockNumber\": \"0x4fbf77\",\n      \"from\": \"0x4672425C27A942bB27e7b9709c1b21ab89a3cA13\",\n      \"to\": null,\n      \"cumulativeGasUsed\": \"0xe4dde\",\n      \"gasUsed\": \"0xd96a9\",\n      \"contractAddress\": \"0xCA9be02F8e417D20f33551BA22ddf3f7623FB345\",\n      \"logs\": [],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d05efe\"\n    },\n    {\n      \"transactionHash\": \"0xbf0aba9cff7f5f6ac0ab47169f479854b1b308e15b848569c6e4b72a46ad331e\",\n      \"transactionIndex\": \"0x2\",\n      \"blockHash\": \"0x891986c17eedf56097f70767b818d8c916226d65a2e11ed514d007dca7b80255\",\n      \"blockNumber\": \"0x4fbf77\",\n      \"from\": \"0x4672425C27A942bB27e7b9709c1b21ab89a3cA13\",\n      \"to\": \"0x4e59b44847b379578588920cA78FbF26c0B4956C\",\n      \"cumulativeGasUsed\": \"0x1613e1\",\n      \"gasUsed\": \"0x7c603\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x76355A67fCBCDE6F9a69409A8EAd5EaA9D8d875d\",\n          \"topics\": [\n            \"0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000004672425c27a942bb27e7b9709c1b21ab89a3ca13\",\n          \"blockHash\": \"0x891986c17eedf56097f70767b818d8c916226d65a2e11ed514d007dca7b80255\",\n          \"blockNumber\": \"0x4fbf77\",\n          \"transactionHash\": \"0xbf0aba9cff7f5f6ac0ab47169f479854b1b308e15b848569c6e4b72a46ad331e\",\n          \"transactionIndex\": \"0x2\",\n          \"logIndex\": \"0x0\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000800000000000000000200000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d05efe\"\n    },\n    {\n      \"transactionHash\": \"0xadb2105b6b1e912ad8510b4c4f6858b419509a54291613e666d4b7bb3f81daed\",\n      \"transactionIndex\": \"0x3\",\n      \"blockHash\": \"0x891986c17eedf56097f70767b818d8c916226d65a2e11ed514d007dca7b80255\",\n      \"blockNumber\": \"0x4fbf77\",\n      \"from\": \"0x4672425C27A942bB27e7b9709c1b21ab89a3cA13\",\n      \"to\": \"0x76355A67fCBCDE6F9a69409A8EAd5EaA9D8d875d\",\n      \"cumulativeGasUsed\": \"0x167712\",\n      \"gasUsed\": \"0x6331\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x76355A67fCBCDE6F9a69409A8EAd5EaA9D8d875d\",\n          \"topics\": [\n            \"0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f\"\n          ],\n          \"data\": \"0x0000000000000000000000004672425c27a942bb27e7b9709c1b21ab89a3ca130000000000000000000000004672425c27a942bb27e7b9709c1b21ab89a3ca13\",\n          \"blockHash\": \"0x891986c17eedf56097f70767b818d8c916226d65a2e11ed514d007dca7b80255\",\n          \"blockNumber\": \"0x4fbf77\",\n          \"transactionHash\": \"0xadb2105b6b1e912ad8510b4c4f6858b419509a54291613e666d4b7bb3f81daed\",\n          \"transactionIndex\": \"0x3\",\n          \"logIndex\": \"0x1\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000800000000000000000200000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d05efe\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1706221009,\n  \"chain\": 84532,\n  \"multi\": false,\n  \"commit\": \"38078de\"\n}"
  },
  {
    "path": "sepolia/2024-01-22-deploy-revshare/records/DeployNewFeeVaults.s.sol/84532/run-1706826531.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x713dbc9097a6c9a8b98b68fad6f8b838e25e19f90dba64f2733bc84339dae7ee\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"SequencerFeeVault\",\n      \"contractAddress\": \"0xa6c30A3816abe69A61B64311EE743ce9B2C682A0\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x76355A67fCBCDE6F9a69409A8EAd5EaA9D8d875d\",\n        \"2000000000000000000\",\n        \"1\"\n      ],\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x4672425c27a942bb27e7b9709c1b21ab89a3ca13\",\n        \"gas\": \"0x9fc25\",\n        \"value\": \"0x0\",\n        \"data\": \"0x60e0346100ac57601f6108f838819003918201601f19168301916001600160401b038311848410176100b1578084926060946040528339810103126100ac578051906001600160a01b03821682036100ac57604060208201519101519160028310156100ac5760a05260805260c05260405161083090816100c8823960805181818160c10152610271015260a0518181816102a60152610726015260c05181818161012001526103140152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe60406080815260049081361015610020575b5050361561001e57600080fd5b005b600090813560e01c9283630d9019e1146106d25783633ccfd60b1461024057836354fd4d501461017f5750826384411d6514610146578263d0e12f90146100e8578263d3e5792b1461008d57505063d4ff921814610080575b3880610011565b6100886106da565b610079565b346100e457817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100e457602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b5080fd5b346100e457817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100e45760209051610144817f00000000000000000000000000000000000000000000000000000000000000006107be565bf35b346100e457817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100e457602091549051908152f35b913461023d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d575080519080820182811067ffffffffffffffff82111761020f5761020b93508152600582527f312e342e3000000000000000000000000000000000000000000000000000000060208301525191829160208352602083019061074f565b0390f35b6041847f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b80fd5b346106ce57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106ce57477f00000000000000000000000000000000000000000000000000000000000000001161062657478354811981116105fa57810184557f00000000000000000000000000000000000000000000000000000000000000009083518181527fc8a211cc64b6ed1b50595a9fcb1932b6d1e5a6e8ef15b60e5b1f988ea9086bba606073ffffffffffffffffffffffffffffffffffffffff8516928360208201523388820152a17f00000000000000000000000000000000000000000000000000000000000000007f38e04cbeb8c10f8f568618aa75be0f10b6729b8b4237743b4de20cbcde2839ee60808751858152846020820152338982015261037360608201856107be565ba160028110156105ce576001036104ac575084809281928651915af13d156104a75767ffffffffffffffff3d81811161020f578451917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f85011601168301908382109082111761047957855281528460203d92013e5b156103f7575051f35b602060849251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603060248201527f4665655661756c743a206661696c656420746f2073656e642045544820746f2060448201527f4c322066656520726563697069656e74000000000000000000000000000000006064820152fd5b6041857f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b6103ee565b91508394935190602082019267ffffffffffffffff93838110858211176105a257875285835273420000000000000000000000000000000000001091823b1561059e579161054195949391879389518098819582947fe11013dd0000000000000000000000000000000000000000000000000000000084528a8401526188b8602484015260606044840152606483019061074f565b03925af1801561059457610557575b5050509051f35b821161056857508252828080610550565b8260416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b85513d86823e3d90fd5b8680fd5b6024876041887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024876021877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024856011857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b602060a49251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152604a60248201527f4665655661756c743a207769746864726177616c20616d6f756e74206d75737460448201527f2062652067726561746572207468616e206d696e696d756d207769746864726160648201527f77616c20616d6f756e74000000000000000000000000000000000000000000006084820152fd5b8280fd5b505050506100885b503461074a5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261074a57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b600080fd5b91908251928382526000905b8482106107a65750601f84602094957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09311610799575b0116010190565b6000858286010152610792565b9060209081808285010151908286010152019061075b565b9060028210156107cb5752565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea26469706673582212204c85bf1289044304e0f69cad15906f30ee9b10d0cb6d5e61e3ba8339821da3a564736f6c634300080f003300000000000000000000000076355a67fcbcde6f9a69409a8ead5eaa9d8d875d0000000000000000000000000000000000000000000000001bc16d674ec800000000000000000000000000000000000000000000000000000000000000000001\",\n        \"nonce\": \"0xb\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xc30b915b40160009f576c4f248566a81649ef5c5ac5b63bc5a6ce74150e8f8a8\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"L1FeeVault\",\n      \"contractAddress\": \"0x6a247B2b85ed05c83dB1C56E1891830f493C35D9\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x76355A67fCBCDE6F9a69409A8EAd5EaA9D8d875d\",\n        \"2000000000000000000\",\n        \"1\"\n      ],\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x4672425c27a942bb27e7b9709c1b21ab89a3ca13\",\n        \"gas\": \"0x9d5e6\",\n        \"value\": \"0x0\",\n        \"data\": \"0x60e0346100ac57601f6108d538819003918201601f19168301916001600160401b038311848410176100b1578084926060946040528339810103126100ac578051906001600160a01b03821682036100ac57604060208201519101519160028310156100ac5760a05260805260c05260405161080d90816100c8823960805181818160a8015261025d015260a0518181816102920152610708015260c05181818161010801526103000152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604081815260049182361015610022575b505050361561002057600080fd5b005b600092833560e01c9182630d9019e1146106be575081633ccfd60b1461022a57816354fd4d50146101685750806384411d651461012e578063d0e12f90146100cf5763d3e5792b146100745780610012565b346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b5080fd5b50346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb576020905161012c817f000000000000000000000000000000000000000000000000000000000000000061079b565bf35b50346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb57602091549051908152f35b82843461022757807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610227575080519080820182811067ffffffffffffffff8211176101f9576101f593508152600582527f312e342e3000000000000000000000000000000000000000000000000000000060208301525191829160208352602083019061072c565b0390f35b6041847f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b80fd5b9050346106ba57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106ba57477f00000000000000000000000000000000000000000000000000000000000000001161061257478354811981116105e657810184557f00000000000000000000000000000000000000000000000000000000000000009083518181527fc8a211cc64b6ed1b50595a9fcb1932b6d1e5a6e8ef15b60e5b1f988ea9086bba606073ffffffffffffffffffffffffffffffffffffffff8516928360208201523388820152a17f00000000000000000000000000000000000000000000000000000000000000007f38e04cbeb8c10f8f568618aa75be0f10b6729b8b4237743b4de20cbcde2839ee60808751858152846020820152338982015261035f606082018561079b565ba160028110156105ba57600103610498575084809281928651915af13d156104935767ffffffffffffffff3d8181116101f9578451917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f85011601168301908382109082111761046557855281528460203d92013e5b156103e3575051f35b602060849251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603060248201527f4665655661756c743a206661696c656420746f2073656e642045544820746f2060448201527f4c322066656520726563697069656e74000000000000000000000000000000006064820152fd5b6041857f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b6103da565b91508394935190602082019267ffffffffffffffff938381108582111761058e57875285835273420000000000000000000000000000000000001091823b1561058a579161052d95949391879389518098819582947fe11013dd0000000000000000000000000000000000000000000000000000000084528a8401526188b8602484015260606044840152606483019061072c565b03925af1801561058057610543575b5050509051f35b82116105545750825238808061053c565b8260416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b85513d86823e3d90fd5b8680fd5b6024876041887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024876021877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024856011857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b602060a49251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152604a60248201527f4665655661756c743a207769746864726177616c20616d6f756e74206d75737460448201527f2062652067726561746572207468616e206d696e696d756d207769746864726160648201527f77616c20616d6f756e74000000000000000000000000000000000000000000006084820152fd5b8280fd5b8490346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb5760209073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b91908251928382526000905b8482106107835750601f84602094957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09311610776575b0116010190565b600085828601015261076f565b90602090818082850101519082860101520190610738565b9060028210156107a85752565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea2646970667358221220e9bf01fb4d74a970f588233e9f7eac59c8567f6aa27d07713bbf2aef5aee12e064736f6c634300080f003300000000000000000000000076355a67fcbcde6f9a69409a8ead5eaa9d8d875d0000000000000000000000000000000000000000000000001bc16d674ec800000000000000000000000000000000000000000000000000000000000000000001\",\n        \"nonce\": \"0xc\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xd1347ba27005bc619ca35e04cfd898f549f334076ff85829465eaf628ea05f18\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"BaseFeeVault\",\n      \"contractAddress\": \"0x682EA8eAB30943e53a7390401A0e1706928627F2\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x76355A67fCBCDE6F9a69409A8EAd5EaA9D8d875d\",\n        \"2000000000000000000\",\n        \"1\"\n      ],\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x4672425c27a942bb27e7b9709c1b21ab89a3ca13\",\n        \"gas\": \"0x9d5e6\",\n        \"value\": \"0x0\",\n        \"data\": \"0x60e0346100ac57601f6108d538819003918201601f19168301916001600160401b038311848410176100b1578084926060946040528339810103126100ac578051906001600160a01b03821682036100ac57604060208201519101519160028310156100ac5760a05260805260c05260405161080d90816100c8823960805181818160a8015261025d015260a0518181816102920152610708015260c05181818161010801526103000152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604081815260049182361015610022575b505050361561002057600080fd5b005b600092833560e01c9182630d9019e1146106be575081633ccfd60b1461022a57816354fd4d50146101685750806384411d651461012e578063d0e12f90146100cf5763d3e5792b146100745780610012565b346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b5080fd5b50346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb576020905161012c817f000000000000000000000000000000000000000000000000000000000000000061079b565bf35b50346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb57602091549051908152f35b82843461022757807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610227575080519080820182811067ffffffffffffffff8211176101f9576101f593508152600582527f312e342e3000000000000000000000000000000000000000000000000000000060208301525191829160208352602083019061072c565b0390f35b6041847f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b80fd5b9050346106ba57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106ba57477f00000000000000000000000000000000000000000000000000000000000000001161061257478354811981116105e657810184557f00000000000000000000000000000000000000000000000000000000000000009083518181527fc8a211cc64b6ed1b50595a9fcb1932b6d1e5a6e8ef15b60e5b1f988ea9086bba606073ffffffffffffffffffffffffffffffffffffffff8516928360208201523388820152a17f00000000000000000000000000000000000000000000000000000000000000007f38e04cbeb8c10f8f568618aa75be0f10b6729b8b4237743b4de20cbcde2839ee60808751858152846020820152338982015261035f606082018561079b565ba160028110156105ba57600103610498575084809281928651915af13d156104935767ffffffffffffffff3d8181116101f9578451917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f85011601168301908382109082111761046557855281528460203d92013e5b156103e3575051f35b602060849251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603060248201527f4665655661756c743a206661696c656420746f2073656e642045544820746f2060448201527f4c322066656520726563697069656e74000000000000000000000000000000006064820152fd5b6041857f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b6103da565b91508394935190602082019267ffffffffffffffff938381108582111761058e57875285835273420000000000000000000000000000000000001091823b1561058a579161052d95949391879389518098819582947fe11013dd0000000000000000000000000000000000000000000000000000000084528a8401526188b8602484015260606044840152606483019061072c565b03925af1801561058057610543575b5050509051f35b82116105545750825238808061053c565b8260416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b85513d86823e3d90fd5b8680fd5b6024876041887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024876021877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024856011857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b602060a49251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152604a60248201527f4665655661756c743a207769746864726177616c20616d6f756e74206d75737460448201527f2062652067726561746572207468616e206d696e696d756d207769746864726160648201527f77616c20616d6f756e74000000000000000000000000000000000000000000006084820152fd5b8280fd5b8490346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb5760209073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b91908251928382526000905b8482106107835750601f84602094957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09311610776575b0116010190565b600085828601015261076f565b90602090818082850101519082860101520190610738565b9060028210156107a85752565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea2646970667358221220f2c4e1b52d303b91ca799355d931950bfc17feab9b8734b5a7308ba15a3619e064736f6c634300080f003300000000000000000000000076355a67fcbcde6f9a69409a8ead5eaa9d8d875d0000000000000000000000000000000000000000000000001bc16d674ec800000000000000000000000000000000000000000000000000000000000000000001\",\n        \"nonce\": \"0xd\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [],\n  \"libraries\": [],\n  \"pending\": [\n    \"0x713dbc9097a6c9a8b98b68fad6f8b838e25e19f90dba64f2733bc84339dae7ee\",\n    \"0xc30b915b40160009f576c4f248566a81649ef5c5ac5b63bc5a6ce74150e8f8a8\",\n    \"0xd1347ba27005bc619ca35e04cfd898f549f334076ff85829465eaf628ea05f18\"\n  ],\n  \"returns\": {},\n  \"timestamp\": 1706826531,\n  \"chain\": 84532,\n  \"multi\": false,\n  \"commit\": \"d136524\"\n}"
  },
  {
    "path": "sepolia/2024-01-22-deploy-revshare/records/DeployNewFeeVaults.s.sol/84532/run-1706826537.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x713dbc9097a6c9a8b98b68fad6f8b838e25e19f90dba64f2733bc84339dae7ee\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"SequencerFeeVault\",\n      \"contractAddress\": \"0xa6c30A3816abe69A61B64311EE743ce9B2C682A0\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x76355A67fCBCDE6F9a69409A8EAd5EaA9D8d875d\",\n        \"2000000000000000000\",\n        \"1\"\n      ],\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x4672425c27a942bb27e7b9709c1b21ab89a3ca13\",\n        \"gas\": \"0x9fc25\",\n        \"value\": \"0x0\",\n        \"data\": \"0x60e0346100ac57601f6108f838819003918201601f19168301916001600160401b038311848410176100b1578084926060946040528339810103126100ac578051906001600160a01b03821682036100ac57604060208201519101519160028310156100ac5760a05260805260c05260405161083090816100c8823960805181818160c10152610271015260a0518181816102a60152610726015260c05181818161012001526103140152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe60406080815260049081361015610020575b5050361561001e57600080fd5b005b600090813560e01c9283630d9019e1146106d25783633ccfd60b1461024057836354fd4d501461017f5750826384411d6514610146578263d0e12f90146100e8578263d3e5792b1461008d57505063d4ff921814610080575b3880610011565b6100886106da565b610079565b346100e457817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100e457602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b5080fd5b346100e457817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100e45760209051610144817f00000000000000000000000000000000000000000000000000000000000000006107be565bf35b346100e457817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100e457602091549051908152f35b913461023d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d575080519080820182811067ffffffffffffffff82111761020f5761020b93508152600582527f312e342e3000000000000000000000000000000000000000000000000000000060208301525191829160208352602083019061074f565b0390f35b6041847f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b80fd5b346106ce57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106ce57477f00000000000000000000000000000000000000000000000000000000000000001161062657478354811981116105fa57810184557f00000000000000000000000000000000000000000000000000000000000000009083518181527fc8a211cc64b6ed1b50595a9fcb1932b6d1e5a6e8ef15b60e5b1f988ea9086bba606073ffffffffffffffffffffffffffffffffffffffff8516928360208201523388820152a17f00000000000000000000000000000000000000000000000000000000000000007f38e04cbeb8c10f8f568618aa75be0f10b6729b8b4237743b4de20cbcde2839ee60808751858152846020820152338982015261037360608201856107be565ba160028110156105ce576001036104ac575084809281928651915af13d156104a75767ffffffffffffffff3d81811161020f578451917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f85011601168301908382109082111761047957855281528460203d92013e5b156103f7575051f35b602060849251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603060248201527f4665655661756c743a206661696c656420746f2073656e642045544820746f2060448201527f4c322066656520726563697069656e74000000000000000000000000000000006064820152fd5b6041857f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b6103ee565b91508394935190602082019267ffffffffffffffff93838110858211176105a257875285835273420000000000000000000000000000000000001091823b1561059e579161054195949391879389518098819582947fe11013dd0000000000000000000000000000000000000000000000000000000084528a8401526188b8602484015260606044840152606483019061074f565b03925af1801561059457610557575b5050509051f35b821161056857508252828080610550565b8260416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b85513d86823e3d90fd5b8680fd5b6024876041887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024876021877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024856011857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b602060a49251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152604a60248201527f4665655661756c743a207769746864726177616c20616d6f756e74206d75737460448201527f2062652067726561746572207468616e206d696e696d756d207769746864726160648201527f77616c20616d6f756e74000000000000000000000000000000000000000000006084820152fd5b8280fd5b505050506100885b503461074a5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261074a57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b600080fd5b91908251928382526000905b8482106107a65750601f84602094957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09311610799575b0116010190565b6000858286010152610792565b9060209081808285010151908286010152019061075b565b9060028210156107cb5752565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea26469706673582212204c85bf1289044304e0f69cad15906f30ee9b10d0cb6d5e61e3ba8339821da3a564736f6c634300080f003300000000000000000000000076355a67fcbcde6f9a69409a8ead5eaa9d8d875d0000000000000000000000000000000000000000000000001bc16d674ec800000000000000000000000000000000000000000000000000000000000000000001\",\n        \"nonce\": \"0xb\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xc30b915b40160009f576c4f248566a81649ef5c5ac5b63bc5a6ce74150e8f8a8\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"L1FeeVault\",\n      \"contractAddress\": \"0x6a247B2b85ed05c83dB1C56E1891830f493C35D9\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x76355A67fCBCDE6F9a69409A8EAd5EaA9D8d875d\",\n        \"2000000000000000000\",\n        \"1\"\n      ],\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x4672425c27a942bb27e7b9709c1b21ab89a3ca13\",\n        \"gas\": \"0x9d5e6\",\n        \"value\": \"0x0\",\n        \"data\": \"0x60e0346100ac57601f6108d538819003918201601f19168301916001600160401b038311848410176100b1578084926060946040528339810103126100ac578051906001600160a01b03821682036100ac57604060208201519101519160028310156100ac5760a05260805260c05260405161080d90816100c8823960805181818160a8015261025d015260a0518181816102920152610708015260c05181818161010801526103000152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604081815260049182361015610022575b505050361561002057600080fd5b005b600092833560e01c9182630d9019e1146106be575081633ccfd60b1461022a57816354fd4d50146101685750806384411d651461012e578063d0e12f90146100cf5763d3e5792b146100745780610012565b346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b5080fd5b50346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb576020905161012c817f000000000000000000000000000000000000000000000000000000000000000061079b565bf35b50346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb57602091549051908152f35b82843461022757807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610227575080519080820182811067ffffffffffffffff8211176101f9576101f593508152600582527f312e342e3000000000000000000000000000000000000000000000000000000060208301525191829160208352602083019061072c565b0390f35b6041847f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b80fd5b9050346106ba57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106ba57477f00000000000000000000000000000000000000000000000000000000000000001161061257478354811981116105e657810184557f00000000000000000000000000000000000000000000000000000000000000009083518181527fc8a211cc64b6ed1b50595a9fcb1932b6d1e5a6e8ef15b60e5b1f988ea9086bba606073ffffffffffffffffffffffffffffffffffffffff8516928360208201523388820152a17f00000000000000000000000000000000000000000000000000000000000000007f38e04cbeb8c10f8f568618aa75be0f10b6729b8b4237743b4de20cbcde2839ee60808751858152846020820152338982015261035f606082018561079b565ba160028110156105ba57600103610498575084809281928651915af13d156104935767ffffffffffffffff3d8181116101f9578451917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f85011601168301908382109082111761046557855281528460203d92013e5b156103e3575051f35b602060849251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603060248201527f4665655661756c743a206661696c656420746f2073656e642045544820746f2060448201527f4c322066656520726563697069656e74000000000000000000000000000000006064820152fd5b6041857f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b6103da565b91508394935190602082019267ffffffffffffffff938381108582111761058e57875285835273420000000000000000000000000000000000001091823b1561058a579161052d95949391879389518098819582947fe11013dd0000000000000000000000000000000000000000000000000000000084528a8401526188b8602484015260606044840152606483019061072c565b03925af1801561058057610543575b5050509051f35b82116105545750825238808061053c565b8260416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b85513d86823e3d90fd5b8680fd5b6024876041887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024876021877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024856011857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b602060a49251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152604a60248201527f4665655661756c743a207769746864726177616c20616d6f756e74206d75737460448201527f2062652067726561746572207468616e206d696e696d756d207769746864726160648201527f77616c20616d6f756e74000000000000000000000000000000000000000000006084820152fd5b8280fd5b8490346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb5760209073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b91908251928382526000905b8482106107835750601f84602094957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09311610776575b0116010190565b600085828601015261076f565b90602090818082850101519082860101520190610738565b9060028210156107a85752565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea2646970667358221220e9bf01fb4d74a970f588233e9f7eac59c8567f6aa27d07713bbf2aef5aee12e064736f6c634300080f003300000000000000000000000076355a67fcbcde6f9a69409a8ead5eaa9d8d875d0000000000000000000000000000000000000000000000001bc16d674ec800000000000000000000000000000000000000000000000000000000000000000001\",\n        \"nonce\": \"0xc\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xd1347ba27005bc619ca35e04cfd898f549f334076ff85829465eaf628ea05f18\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"BaseFeeVault\",\n      \"contractAddress\": \"0x682EA8eAB30943e53a7390401A0e1706928627F2\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x76355A67fCBCDE6F9a69409A8EAd5EaA9D8d875d\",\n        \"2000000000000000000\",\n        \"1\"\n      ],\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x4672425c27a942bb27e7b9709c1b21ab89a3ca13\",\n        \"gas\": \"0x9d5e6\",\n        \"value\": \"0x0\",\n        \"data\": \"0x60e0346100ac57601f6108d538819003918201601f19168301916001600160401b038311848410176100b1578084926060946040528339810103126100ac578051906001600160a01b03821682036100ac57604060208201519101519160028310156100ac5760a05260805260c05260405161080d90816100c8823960805181818160a8015261025d015260a0518181816102920152610708015260c05181818161010801526103000152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604081815260049182361015610022575b505050361561002057600080fd5b005b600092833560e01c9182630d9019e1146106be575081633ccfd60b1461022a57816354fd4d50146101685750806384411d651461012e578063d0e12f90146100cf5763d3e5792b146100745780610012565b346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b5080fd5b50346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb576020905161012c817f000000000000000000000000000000000000000000000000000000000000000061079b565bf35b50346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb57602091549051908152f35b82843461022757807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610227575080519080820182811067ffffffffffffffff8211176101f9576101f593508152600582527f312e342e3000000000000000000000000000000000000000000000000000000060208301525191829160208352602083019061072c565b0390f35b6041847f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b80fd5b9050346106ba57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106ba57477f00000000000000000000000000000000000000000000000000000000000000001161061257478354811981116105e657810184557f00000000000000000000000000000000000000000000000000000000000000009083518181527fc8a211cc64b6ed1b50595a9fcb1932b6d1e5a6e8ef15b60e5b1f988ea9086bba606073ffffffffffffffffffffffffffffffffffffffff8516928360208201523388820152a17f00000000000000000000000000000000000000000000000000000000000000007f38e04cbeb8c10f8f568618aa75be0f10b6729b8b4237743b4de20cbcde2839ee60808751858152846020820152338982015261035f606082018561079b565ba160028110156105ba57600103610498575084809281928651915af13d156104935767ffffffffffffffff3d8181116101f9578451917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f85011601168301908382109082111761046557855281528460203d92013e5b156103e3575051f35b602060849251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603060248201527f4665655661756c743a206661696c656420746f2073656e642045544820746f2060448201527f4c322066656520726563697069656e74000000000000000000000000000000006064820152fd5b6041857f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b6103da565b91508394935190602082019267ffffffffffffffff938381108582111761058e57875285835273420000000000000000000000000000000000001091823b1561058a579161052d95949391879389518098819582947fe11013dd0000000000000000000000000000000000000000000000000000000084528a8401526188b8602484015260606044840152606483019061072c565b03925af1801561058057610543575b5050509051f35b82116105545750825238808061053c565b8260416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b85513d86823e3d90fd5b8680fd5b6024876041887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024876021877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024856011857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b602060a49251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152604a60248201527f4665655661756c743a207769746864726177616c20616d6f756e74206d75737460448201527f2062652067726561746572207468616e206d696e696d756d207769746864726160648201527f77616c20616d6f756e74000000000000000000000000000000000000000000006084820152fd5b8280fd5b8490346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb5760209073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b91908251928382526000905b8482106107835750601f84602094957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09311610776575b0116010190565b600085828601015261076f565b90602090818082850101519082860101520190610738565b9060028210156107a85752565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea2646970667358221220f2c4e1b52d303b91ca799355d931950bfc17feab9b8734b5a7308ba15a3619e064736f6c634300080f003300000000000000000000000076355a67fcbcde6f9a69409a8ead5eaa9d8d875d0000000000000000000000000000000000000000000000001bc16d674ec800000000000000000000000000000000000000000000000000000000000000000001\",\n        \"nonce\": \"0xd\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0x713dbc9097a6c9a8b98b68fad6f8b838e25e19f90dba64f2733bc84339dae7ee\",\n      \"transactionIndex\": \"0x1\",\n      \"blockHash\": \"0x1ab4f7be624034ba1d9e94296128401fd4204811a0896e0c3d81786b504aff04\",\n      \"blockNumber\": \"0x545e22\",\n      \"from\": \"0x4672425C27A942bB27e7b9709c1b21ab89a3cA13\",\n      \"to\": null,\n      \"cumulativeGasUsed\": \"0x8a8e7\",\n      \"gasUsed\": \"0x7aeda\",\n      \"contractAddress\": \"0xa6c30A3816abe69A61B64311EE743ce9B2C682A0\",\n      \"logs\": [],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d06039\"\n    },\n    {\n      \"transactionHash\": \"0xc30b915b40160009f576c4f248566a81649ef5c5ac5b63bc5a6ce74150e8f8a8\",\n      \"transactionIndex\": \"0x2\",\n      \"blockHash\": \"0x1ab4f7be624034ba1d9e94296128401fd4204811a0896e0c3d81786b504aff04\",\n      \"blockNumber\": \"0x545e22\",\n      \"from\": \"0x4672425C27A942bB27e7b9709c1b21ab89a3cA13\",\n      \"to\": null,\n      \"cumulativeGasUsed\": \"0x103a54\",\n      \"gasUsed\": \"0x7916d\",\n      \"contractAddress\": \"0x6a247B2b85ed05c83dB1C56E1891830f493C35D9\",\n      \"logs\": [],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d06039\"\n    },\n    {\n      \"transactionHash\": \"0xd1347ba27005bc619ca35e04cfd898f549f334076ff85829465eaf628ea05f18\",\n      \"transactionIndex\": \"0x3\",\n      \"blockHash\": \"0x1ab4f7be624034ba1d9e94296128401fd4204811a0896e0c3d81786b504aff04\",\n      \"blockNumber\": \"0x545e22\",\n      \"from\": \"0x4672425C27A942bB27e7b9709c1b21ab89a3cA13\",\n      \"to\": null,\n      \"cumulativeGasUsed\": \"0x17cbc1\",\n      \"gasUsed\": \"0x7916d\",\n      \"contractAddress\": \"0x682EA8eAB30943e53a7390401A0e1706928627F2\",\n      \"logs\": [],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d06039\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1706826537,\n  \"chain\": 84532,\n  \"multi\": false,\n  \"commit\": \"d136524\"\n}"
  },
  {
    "path": "sepolia/2024-01-22-deploy-revshare/records/UpdateFeeVaultRecipient.s.sol/84532/run-1706556198.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x875ce1a5d6e75f369d97199adb8b157889eb6f251b19a42ecd99b1eeb957de7b\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"SequencerFeeVault\",\n      \"contractAddress\": \"0xD82e08F9Fc01627418061Bc6c2B90b30b7975702\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x76355A67fCBCDE6F9a69409A8EAd5EaA9D8d875d\",\n        \"2000000000000000000\",\n        \"0\"\n      ],\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8937037a0bb08658e5a178c182e60b12f14720ce\",\n        \"gas\": \"0x9fc15\",\n        \"value\": \"0x0\",\n        \"data\": \"0x60e0346100ac57601f6108f838819003918201601f19168301916001600160401b038311848410176100b1578084926060946040528339810103126100ac578051906001600160a01b03821682036100ac57604060208201519101519160028310156100ac5760a05260805260c05260405161083090816100c8823960805181818160c10152610271015260a0518181816102a60152610726015260c05181818161012001526103140152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe60406080815260049081361015610020575b5050361561001e57600080fd5b005b600090813560e01c9283630d9019e1146106d25783633ccfd60b1461024057836354fd4d501461017f5750826384411d6514610146578263d0e12f90146100e8578263d3e5792b1461008d57505063d4ff921814610080575b3880610011565b6100886106da565b610079565b346100e457817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100e457602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b5080fd5b346100e457817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100e45760209051610144817f00000000000000000000000000000000000000000000000000000000000000006107be565bf35b346100e457817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100e457602091549051908152f35b913461023d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d575080519080820182811067ffffffffffffffff82111761020f5761020b93508152600582527f312e342e3000000000000000000000000000000000000000000000000000000060208301525191829160208352602083019061074f565b0390f35b6041847f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b80fd5b346106ce57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106ce57477f00000000000000000000000000000000000000000000000000000000000000001161062657478354811981116105fa57810184557f00000000000000000000000000000000000000000000000000000000000000009083518181527fc8a211cc64b6ed1b50595a9fcb1932b6d1e5a6e8ef15b60e5b1f988ea9086bba606073ffffffffffffffffffffffffffffffffffffffff8516928360208201523388820152a17f00000000000000000000000000000000000000000000000000000000000000007f38e04cbeb8c10f8f568618aa75be0f10b6729b8b4237743b4de20cbcde2839ee60808751858152846020820152338982015261037360608201856107be565ba160028110156105ce576001036104ac575084809281928651915af13d156104a75767ffffffffffffffff3d81811161020f578451917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f85011601168301908382109082111761047957855281528460203d92013e5b156103f7575051f35b602060849251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603060248201527f4665655661756c743a206661696c656420746f2073656e642045544820746f2060448201527f4c322066656520726563697069656e74000000000000000000000000000000006064820152fd5b6041857f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b6103ee565b91508394935190602082019267ffffffffffffffff93838110858211176105a257875285835273420000000000000000000000000000000000001091823b1561059e579161054195949391879389518098819582947fe11013dd0000000000000000000000000000000000000000000000000000000084528a8401526188b8602484015260606044840152606483019061074f565b03925af1801561059457610557575b5050509051f35b821161056857508252828080610550565b8260416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b85513d86823e3d90fd5b8680fd5b6024876041887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024876021877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024856011857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b602060a49251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152604a60248201527f4665655661756c743a207769746864726177616c20616d6f756e74206d75737460448201527f2062652067726561746572207468616e206d696e696d756d207769746864726160648201527f77616c20616d6f756e74000000000000000000000000000000000000000000006084820152fd5b8280fd5b505050506100885b503461074a5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261074a57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b600080fd5b91908251928382526000905b8482106107a65750601f84602094957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09311610799575b0116010190565b6000858286010152610792565b9060209081808285010151908286010152019061075b565b9060028210156107cb5752565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea2646970667358221220a40b3c79c7f5c57e18ab8ceb7af73a3b985de034ecbee5f11d29a0b05e5bf88a64736f6c634300080f003300000000000000000000000076355a67fcbcde6f9a69409a8ead5eaa9d8d875d0000000000000000000000000000000000000000000000001bc16d674ec800000000000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x0\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x4cfb567975bec4a620fcaa4c946339e214727f4f8404b6a00f649329c0d2ab2d\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"L1FeeVault\",\n      \"contractAddress\": \"0xfBa224A64C664C5fD320c9Fd3Ced4C18405952D1\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x76355A67fCBCDE6F9a69409A8EAd5EaA9D8d875d\",\n        \"2000000000000000000\",\n        \"0\"\n      ],\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8937037a0bb08658e5a178c182e60b12f14720ce\",\n        \"gas\": \"0x9d5d7\",\n        \"value\": \"0x0\",\n        \"data\": \"0x60e0346100ac57601f6108d538819003918201601f19168301916001600160401b038311848410176100b1578084926060946040528339810103126100ac578051906001600160a01b03821682036100ac57604060208201519101519160028310156100ac5760a05260805260c05260405161080d90816100c8823960805181818160a8015261025d015260a0518181816102920152610708015260c05181818161010801526103000152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604081815260049182361015610022575b505050361561002057600080fd5b005b600092833560e01c9182630d9019e1146106be575081633ccfd60b1461022a57816354fd4d50146101685750806384411d651461012e578063d0e12f90146100cf5763d3e5792b146100745780610012565b346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b5080fd5b50346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb576020905161012c817f000000000000000000000000000000000000000000000000000000000000000061079b565bf35b50346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb57602091549051908152f35b82843461022757807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610227575080519080820182811067ffffffffffffffff8211176101f9576101f593508152600582527f312e342e3000000000000000000000000000000000000000000000000000000060208301525191829160208352602083019061072c565b0390f35b6041847f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b80fd5b9050346106ba57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106ba57477f00000000000000000000000000000000000000000000000000000000000000001161061257478354811981116105e657810184557f00000000000000000000000000000000000000000000000000000000000000009083518181527fc8a211cc64b6ed1b50595a9fcb1932b6d1e5a6e8ef15b60e5b1f988ea9086bba606073ffffffffffffffffffffffffffffffffffffffff8516928360208201523388820152a17f00000000000000000000000000000000000000000000000000000000000000007f38e04cbeb8c10f8f568618aa75be0f10b6729b8b4237743b4de20cbcde2839ee60808751858152846020820152338982015261035f606082018561079b565ba160028110156105ba57600103610498575084809281928651915af13d156104935767ffffffffffffffff3d8181116101f9578451917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f85011601168301908382109082111761046557855281528460203d92013e5b156103e3575051f35b602060849251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603060248201527f4665655661756c743a206661696c656420746f2073656e642045544820746f2060448201527f4c322066656520726563697069656e74000000000000000000000000000000006064820152fd5b6041857f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b6103da565b91508394935190602082019267ffffffffffffffff938381108582111761058e57875285835273420000000000000000000000000000000000001091823b1561058a579161052d95949391879389518098819582947fe11013dd0000000000000000000000000000000000000000000000000000000084528a8401526188b8602484015260606044840152606483019061072c565b03925af1801561058057610543575b5050509051f35b82116105545750825238808061053c565b8260416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b85513d86823e3d90fd5b8680fd5b6024876041887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024876021877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024856011857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b602060a49251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152604a60248201527f4665655661756c743a207769746864726177616c20616d6f756e74206d75737460448201527f2062652067726561746572207468616e206d696e696d756d207769746864726160648201527f77616c20616d6f756e74000000000000000000000000000000000000000000006084820152fd5b8280fd5b8490346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb5760209073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b91908251928382526000905b8482106107835750601f84602094957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09311610776575b0116010190565b600085828601015261076f565b90602090818082850101519082860101520190610738565b9060028210156107a85752565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea26469706673582212204a21bf070ee280b60e4d4dbc7cc1fe9d39ca4ffc4f5184afcfcb8377a938561264736f6c634300080f003300000000000000000000000076355a67fcbcde6f9a69409a8ead5eaa9d8d875d0000000000000000000000000000000000000000000000001bc16d674ec800000000000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x1\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xf7958d93a3c1c64d783a726769a17062245d2789d3218fd4da02829ecbc7346e\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"BaseFeeVault\",\n      \"contractAddress\": \"0xb4BE1Ce574B27A340322fE70d5634E2aEC0eD09A\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x76355A67fCBCDE6F9a69409A8EAd5EaA9D8d875d\",\n        \"2000000000000000000\",\n        \"0\"\n      ],\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8937037a0bb08658e5a178c182e60b12f14720ce\",\n        \"gas\": \"0x9d5d7\",\n        \"value\": \"0x0\",\n        \"data\": \"0x60e0346100ac57601f6108d538819003918201601f19168301916001600160401b038311848410176100b1578084926060946040528339810103126100ac578051906001600160a01b03821682036100ac57604060208201519101519160028310156100ac5760a05260805260c05260405161080d90816100c8823960805181818160a8015261025d015260a0518181816102920152610708015260c05181818161010801526103000152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604081815260049182361015610022575b505050361561002057600080fd5b005b600092833560e01c9182630d9019e1146106be575081633ccfd60b1461022a57816354fd4d50146101685750806384411d651461012e578063d0e12f90146100cf5763d3e5792b146100745780610012565b346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b5080fd5b50346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb576020905161012c817f000000000000000000000000000000000000000000000000000000000000000061079b565bf35b50346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb57602091549051908152f35b82843461022757807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610227575080519080820182811067ffffffffffffffff8211176101f9576101f593508152600582527f312e342e3000000000000000000000000000000000000000000000000000000060208301525191829160208352602083019061072c565b0390f35b6041847f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b80fd5b9050346106ba57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106ba57477f00000000000000000000000000000000000000000000000000000000000000001161061257478354811981116105e657810184557f00000000000000000000000000000000000000000000000000000000000000009083518181527fc8a211cc64b6ed1b50595a9fcb1932b6d1e5a6e8ef15b60e5b1f988ea9086bba606073ffffffffffffffffffffffffffffffffffffffff8516928360208201523388820152a17f00000000000000000000000000000000000000000000000000000000000000007f38e04cbeb8c10f8f568618aa75be0f10b6729b8b4237743b4de20cbcde2839ee60808751858152846020820152338982015261035f606082018561079b565ba160028110156105ba57600103610498575084809281928651915af13d156104935767ffffffffffffffff3d8181116101f9578451917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f85011601168301908382109082111761046557855281528460203d92013e5b156103e3575051f35b602060849251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603060248201527f4665655661756c743a206661696c656420746f2073656e642045544820746f2060448201527f4c322066656520726563697069656e74000000000000000000000000000000006064820152fd5b6041857f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b6103da565b91508394935190602082019267ffffffffffffffff938381108582111761058e57875285835273420000000000000000000000000000000000001091823b1561058a579161052d95949391879389518098819582947fe11013dd0000000000000000000000000000000000000000000000000000000084528a8401526188b8602484015260606044840152606483019061072c565b03925af1801561058057610543575b5050509051f35b82116105545750825238808061053c565b8260416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b85513d86823e3d90fd5b8680fd5b6024876041887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024876021877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024856011857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b602060a49251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152604a60248201527f4665655661756c743a207769746864726177616c20616d6f756e74206d75737460448201527f2062652067726561746572207468616e206d696e696d756d207769746864726160648201527f77616c20616d6f756e74000000000000000000000000000000000000000000006084820152fd5b8280fd5b8490346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb5760209073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b91908251928382526000905b8482106107835750601f84602094957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09311610776575b0116010190565b600085828601015261076f565b90602090818082850101519082860101520190610738565b9060028210156107a85752565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea2646970667358221220d6229addc191fcbf52a949026ec8f2ac3a173d93e2142a46789025d6cee8510e64736f6c634300080f003300000000000000000000000076355a67fcbcde6f9a69409a8ead5eaa9d8d875d0000000000000000000000000000000000000000000000001bc16d674ec800000000000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x2\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xda01d3cc398611822dd5d8cd2f0188c84d87fcd4e686c51b7cf6fcb275d0de7f\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x4200000000000000000000000000000000000018\",\n      \"function\": \"upgrade(address,address)\",\n      \"arguments\": [\n        \"0x4200000000000000000000000000000000000011\",\n        \"0xD82e08F9Fc01627418061Bc6c2B90b30b7975702\"\n      ],\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8937037a0bb08658e5a178c182e60b12f14720ce\",\n        \"to\": \"0x4200000000000000000000000000000000000018\",\n        \"gas\": \"0xe766\",\n        \"value\": \"0x0\",\n        \"data\": \"0x99a88ec40000000000000000000000004200000000000000000000000000000000000011000000000000000000000000d82e08f9fc01627418061bc6c2b90b30b7975702\",\n        \"nonce\": \"0x3\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x9f82a9e50bad1d05a6f8250c4f5fea986656c6a7f8679f439039e3c7f39cbd32\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x4200000000000000000000000000000000000018\",\n      \"function\": \"upgrade(address,address)\",\n      \"arguments\": [\n        \"0x420000000000000000000000000000000000001A\",\n        \"0xfBa224A64C664C5fD320c9Fd3Ced4C18405952D1\"\n      ],\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8937037a0bb08658e5a178c182e60b12f14720ce\",\n        \"to\": \"0x4200000000000000000000000000000000000018\",\n        \"gas\": \"0xe766\",\n        \"value\": \"0x0\",\n        \"data\": \"0x99a88ec4000000000000000000000000420000000000000000000000000000000000001a000000000000000000000000fba224a64c664c5fd320c9fd3ced4c18405952d1\",\n        \"nonce\": \"0x4\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x202c780887dee87586515334a502511d2a6ff61f45198a750f3a30d1a22a24a4\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x4200000000000000000000000000000000000018\",\n      \"function\": \"upgrade(address,address)\",\n      \"arguments\": [\n        \"0x4200000000000000000000000000000000000019\",\n        \"0xb4BE1Ce574B27A340322fE70d5634E2aEC0eD09A\"\n      ],\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8937037a0bb08658e5a178c182e60b12f14720ce\",\n        \"to\": \"0x4200000000000000000000000000000000000018\",\n        \"gas\": \"0xe766\",\n        \"value\": \"0x0\",\n        \"data\": \"0x99a88ec40000000000000000000000004200000000000000000000000000000000000019000000000000000000000000b4be1ce574b27a340322fe70d5634e2aec0ed09a\",\n        \"nonce\": \"0x5\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0x875ce1a5d6e75f369d97199adb8b157889eb6f251b19a42ecd99b1eeb957de7b\",\n      \"transactionIndex\": \"0x1\",\n      \"blockHash\": \"0x023142dbbe39ba9d68efb5474cacfaab76d5de10348168b9687af94d3fef8d3a\",\n      \"blockNumber\": \"0x524e21\",\n      \"from\": \"0x8937037a0bB08658e5A178C182e60b12f14720ce\",\n      \"to\": null,\n      \"cumulativeGasUsed\": \"0x87407\",\n      \"gasUsed\": \"0x7aece\",\n      \"contractAddress\": \"0xD82e08F9Fc01627418061Bc6c2B90b30b7975702\",\n      \"logs\": [],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d05f06\"\n    },\n    {\n      \"transactionHash\": \"0x4cfb567975bec4a620fcaa4c946339e214727f4f8404b6a00f649329c0d2ab2d\",\n      \"transactionIndex\": \"0x2\",\n      \"blockHash\": \"0x023142dbbe39ba9d68efb5474cacfaab76d5de10348168b9687af94d3fef8d3a\",\n      \"blockNumber\": \"0x524e21\",\n      \"from\": \"0x8937037a0bB08658e5A178C182e60b12f14720ce\",\n      \"to\": null,\n      \"cumulativeGasUsed\": \"0x100568\",\n      \"gasUsed\": \"0x79161\",\n      \"contractAddress\": \"0xfBa224A64C664C5fD320c9Fd3Ced4C18405952D1\",\n      \"logs\": [],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d05f06\"\n    },\n    {\n      \"transactionHash\": \"0xf7958d93a3c1c64d783a726769a17062245d2789d3218fd4da02829ecbc7346e\",\n      \"transactionIndex\": \"0x3\",\n      \"blockHash\": \"0x023142dbbe39ba9d68efb5474cacfaab76d5de10348168b9687af94d3fef8d3a\",\n      \"blockNumber\": \"0x524e21\",\n      \"from\": \"0x8937037a0bB08658e5A178C182e60b12f14720ce\",\n      \"to\": null,\n      \"cumulativeGasUsed\": \"0x1796c9\",\n      \"gasUsed\": \"0x79161\",\n      \"contractAddress\": \"0xb4BE1Ce574B27A340322fE70d5634E2aEC0eD09A\",\n      \"logs\": [],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d05f06\"\n    },\n    {\n      \"transactionHash\": \"0xda01d3cc398611822dd5d8cd2f0188c84d87fcd4e686c51b7cf6fcb275d0de7f\",\n      \"transactionIndex\": \"0x4\",\n      \"blockHash\": \"0x023142dbbe39ba9d68efb5474cacfaab76d5de10348168b9687af94d3fef8d3a\",\n      \"blockNumber\": \"0x524e21\",\n      \"from\": \"0x8937037a0bB08658e5A178C182e60b12f14720ce\",\n      \"to\": \"0x4200000000000000000000000000000000000018\",\n      \"cumulativeGasUsed\": \"0x18348d\",\n      \"gasUsed\": \"0x9dc4\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x4200000000000000000000000000000000000011\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x000000000000000000000000d82e08f9fc01627418061bc6c2b90b30b7975702\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x023142dbbe39ba9d68efb5474cacfaab76d5de10348168b9687af94d3fef8d3a\",\n          \"blockNumber\": \"0x524e21\",\n          \"transactionHash\": \"0xda01d3cc398611822dd5d8cd2f0188c84d87fcd4e686c51b7cf6fcb275d0de7f\",\n          \"transactionIndex\": \"0x4\",\n          \"logIndex\": \"0x0\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000400000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000002000001000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000900000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d05f06\"\n    },\n    {\n      \"transactionHash\": \"0x9f82a9e50bad1d05a6f8250c4f5fea986656c6a7f8679f439039e3c7f39cbd32\",\n      \"transactionIndex\": \"0x5\",\n      \"blockHash\": \"0x023142dbbe39ba9d68efb5474cacfaab76d5de10348168b9687af94d3fef8d3a\",\n      \"blockNumber\": \"0x524e21\",\n      \"from\": \"0x8937037a0bB08658e5A178C182e60b12f14720ce\",\n      \"to\": \"0x4200000000000000000000000000000000000018\",\n      \"cumulativeGasUsed\": \"0x18dc15\",\n      \"gasUsed\": \"0xa788\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x420000000000000000000000000000000000001A\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x000000000000000000000000fba224a64c664c5fd320c9fd3ced4c18405952d1\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x023142dbbe39ba9d68efb5474cacfaab76d5de10348168b9687af94d3fef8d3a\",\n          \"blockNumber\": \"0x524e21\",\n          \"transactionHash\": \"0x9f82a9e50bad1d05a6f8250c4f5fea986656c6a7f8679f439039e3c7f39cbd32\",\n          \"transactionIndex\": \"0x5\",\n          \"logIndex\": \"0x1\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000400000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400100000000000000000000000000000020000000000000000000000000000000000000000000010000000000000000000000000000000010000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d05f06\"\n    },\n    {\n      \"transactionHash\": \"0x202c780887dee87586515334a502511d2a6ff61f45198a750f3a30d1a22a24a4\",\n      \"transactionIndex\": \"0x6\",\n      \"blockHash\": \"0x023142dbbe39ba9d68efb5474cacfaab76d5de10348168b9687af94d3fef8d3a\",\n      \"blockNumber\": \"0x524e21\",\n      \"from\": \"0x8937037a0bB08658e5A178C182e60b12f14720ce\",\n      \"to\": \"0x4200000000000000000000000000000000000018\",\n      \"cumulativeGasUsed\": \"0x19839d\",\n      \"gasUsed\": \"0xa788\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x4200000000000000000000000000000000000019\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x000000000000000000000000b4be1ce574b27a340322fe70d5634e2aec0ed09a\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x023142dbbe39ba9d68efb5474cacfaab76d5de10348168b9687af94d3fef8d3a\",\n          \"blockNumber\": \"0x524e21\",\n          \"transactionHash\": \"0x202c780887dee87586515334a502511d2a6ff61f45198a750f3a30d1a22a24a4\",\n          \"transactionIndex\": \"0x6\",\n          \"logIndex\": \"0x2\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000400400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000002000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000020000000000000000000000000000000000000000040000000000000000000000000800000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d05f06\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1706556198,\n  \"chain\": 84532,\n  \"multi\": false,\n  \"commit\": \"ec542ba\"\n}"
  },
  {
    "path": "sepolia/2024-01-22-deploy-revshare/records/UpgradeFeeVaultProxy.s.sol/84532/run-1706827667.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x91662d6f236bf3d87aa57def922e33a9e343f5ac2fac526a43e33301ba60f977\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x4200000000000000000000000000000000000018\",\n      \"function\": \"upgrade(address,address)\",\n      \"arguments\": [\n        \"0x4200000000000000000000000000000000000011\",\n        \"0xa6c30A3816abe69A61B64311EE743ce9B2C682A0\"\n      ],\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8937037a0bb08658e5a178c182e60b12f14720ce\",\n        \"to\": \"0x4200000000000000000000000000000000000018\",\n        \"gas\": \"0xe766\",\n        \"value\": \"0x0\",\n        \"data\": \"0x99a88ec40000000000000000000000004200000000000000000000000000000000000011000000000000000000000000a6c30a3816abe69a61b64311ee743ce9b2c682a0\",\n        \"nonce\": \"0x6\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x5bc6c3f3ee56519a14eb3763b84f939443a51cdd94d5bb7a4da3f1f184d96f4c\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x4200000000000000000000000000000000000018\",\n      \"function\": \"upgrade(address,address)\",\n      \"arguments\": [\n        \"0x420000000000000000000000000000000000001A\",\n        \"0x6a247B2b85ed05c83dB1C56E1891830f493C35D9\"\n      ],\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8937037a0bb08658e5a178c182e60b12f14720ce\",\n        \"to\": \"0x4200000000000000000000000000000000000018\",\n        \"gas\": \"0xe766\",\n        \"value\": \"0x0\",\n        \"data\": \"0x99a88ec4000000000000000000000000420000000000000000000000000000000000001a0000000000000000000000006a247b2b85ed05c83db1c56e1891830f493c35d9\",\n        \"nonce\": \"0x7\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xfadad7a8989496eb2f2ab1593e3039466876feac290c128432555b5801b1dcc9\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x4200000000000000000000000000000000000018\",\n      \"function\": \"upgrade(address,address)\",\n      \"arguments\": [\n        \"0x4200000000000000000000000000000000000019\",\n        \"0x682EA8eAB30943e53a7390401A0e1706928627F2\"\n      ],\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8937037a0bb08658e5a178c182e60b12f14720ce\",\n        \"to\": \"0x4200000000000000000000000000000000000018\",\n        \"gas\": \"0xe766\",\n        \"value\": \"0x0\",\n        \"data\": \"0x99a88ec40000000000000000000000004200000000000000000000000000000000000019000000000000000000000000682ea8eab30943e53a7390401a0e1706928627f2\",\n        \"nonce\": \"0x8\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0x91662d6f236bf3d87aa57def922e33a9e343f5ac2fac526a43e33301ba60f977\",\n      \"transactionIndex\": \"0x1\",\n      \"blockHash\": \"0xba3977faf53474f64161037c599811f4ddb68eca85c7e8ce3e16b1be572b1b62\",\n      \"blockNumber\": \"0x546057\",\n      \"from\": \"0x8937037a0bB08658e5A178C182e60b12f14720ce\",\n      \"to\": \"0x4200000000000000000000000000000000000018\",\n      \"cumulativeGasUsed\": \"0x154f9\",\n      \"gasUsed\": \"0x9dc4\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x4200000000000000000000000000000000000011\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x000000000000000000000000a6c30a3816abe69a61b64311ee743ce9b2c682a0\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xba3977faf53474f64161037c599811f4ddb68eca85c7e8ce3e16b1be572b1b62\",\n          \"blockNumber\": \"0x546057\",\n          \"transactionHash\": \"0x91662d6f236bf3d87aa57def922e33a9e343f5ac2fac526a43e33301ba60f977\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x0\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000400000000000000010000000000000000000000000000008000000000000000000000000000000000000000000000000000000000001000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000008000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d06671\"\n    },\n    {\n      \"transactionHash\": \"0x5bc6c3f3ee56519a14eb3763b84f939443a51cdd94d5bb7a4da3f1f184d96f4c\",\n      \"transactionIndex\": \"0x2\",\n      \"blockHash\": \"0xba3977faf53474f64161037c599811f4ddb68eca85c7e8ce3e16b1be572b1b62\",\n      \"blockNumber\": \"0x546057\",\n      \"from\": \"0x8937037a0bB08658e5A178C182e60b12f14720ce\",\n      \"to\": \"0x4200000000000000000000000000000000000018\",\n      \"cumulativeGasUsed\": \"0x1fc81\",\n      \"gasUsed\": \"0xa788\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x420000000000000000000000000000000000001A\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x0000000000000000000000006a247b2b85ed05c83db1c56e1891830f493c35d9\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xba3977faf53474f64161037c599811f4ddb68eca85c7e8ce3e16b1be572b1b62\",\n          \"blockNumber\": \"0x546057\",\n          \"transactionHash\": \"0x5bc6c3f3ee56519a14eb3763b84f939443a51cdd94d5bb7a4da3f1f184d96f4c\",\n          \"transactionIndex\": \"0x2\",\n          \"logIndex\": \"0x1\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000400000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000008002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000020000000000000000000000000000000000000000000010000000000000000000000000000000000000000000004000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d06671\"\n    },\n    {\n      \"transactionHash\": \"0xfadad7a8989496eb2f2ab1593e3039466876feac290c128432555b5801b1dcc9\",\n      \"transactionIndex\": \"0x3\",\n      \"blockHash\": \"0xba3977faf53474f64161037c599811f4ddb68eca85c7e8ce3e16b1be572b1b62\",\n      \"blockNumber\": \"0x546057\",\n      \"from\": \"0x8937037a0bB08658e5A178C182e60b12f14720ce\",\n      \"to\": \"0x4200000000000000000000000000000000000018\",\n      \"cumulativeGasUsed\": \"0x2a409\",\n      \"gasUsed\": \"0xa788\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x4200000000000000000000000000000000000019\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x000000000000000000000000682ea8eab30943e53a7390401a0e1706928627f2\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xba3977faf53474f64161037c599811f4ddb68eca85c7e8ce3e16b1be572b1b62\",\n          \"blockNumber\": \"0x546057\",\n          \"transactionHash\": \"0xfadad7a8989496eb2f2ab1593e3039466876feac290c128432555b5801b1dcc9\",\n          \"transactionIndex\": \"0x3\",\n          \"logIndex\": \"0x2\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000400000000000000000000004000020000000000000000000000000000000000000000040000000000000000000000000000000100000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d06671\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1706827667,\n  \"chain\": 84532,\n  \"multi\": false,\n  \"commit\": \"b0fe03f\"\n}"
  },
  {
    "path": "sepolia/2024-01-22-deploy-revshare/script/DeployBalanceTracker.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport { console } from \"forge-std/console.sol\";\nimport { Script } from \"forge-std/Script.sol\";\n\nimport { Proxy } from \"@eth-optimism-bedrock/src/universal/Proxy.sol\";\nimport { BalanceTracker } from \"@base-contracts/src/revenue-share/BalanceTracker.sol\";\n\ncontract DeployBalanceTracker is Script {\n   address payable[] systemAddresses;\n   uint256[] targetBalances;\n\n   function run() external {\n        address deployer = vm.envAddress(\"BALANCE_TRACKER_DEPLOYER\");\n        address payable profitWallet = payable(vm.envAddress(\"PROFIT_WALLET\"));\n        address payable outputProposer = payable(vm.envAddress(\"OUTPUT_PROPOSER\"));\n        address payable batchSender = payable(vm.envAddress(\"BATCH_SENDER\"));\n        uint256 outputProposerTargetBalance = vm.envUint(\"OUTPUT_PROPOSER_TARGET_BALANCE\");\n        uint256 batchSenderTargetBalance = vm.envUint(\"BATCH_SENDER_TARGET_BALANCE\");\n        address admin = vm.envAddress(\"BALANCE_TRACKER_ADMIN\");\n        string memory salt = vm.envString(\"BALANCE_TRACKER_SALT\");\n\n        console.log(\"Deployer: %s\", deployer);\n        console.log(\"Profit Wallet: %s\", profitWallet);\n        console.log(\"Batch Sender: %s\", batchSender);\n        console.log(\"Output Proposer: %s\", outputProposer);\n        console.log(\"Batch Sender Target Balance: %s\", batchSenderTargetBalance);\n        console.log(\"Output Proposer Target Balance: %s\", outputProposerTargetBalance);\n        console.log(\"Admin: %s\", admin);\n        console.log(\"Salt: %s\", salt);\n\n        vm.broadcast(deployer);\n        BalanceTracker balanceTrackerImpl = new BalanceTracker(profitWallet);\n        require(balanceTrackerImpl.PROFIT_WALLET() == profitWallet, \"DeployBalanceTracker: incorrect profit wallet\");\n\n        systemAddresses.push(outputProposer);\n        systemAddresses.push(batchSender);\n        targetBalances.push(outputProposerTargetBalance);\n        targetBalances.push(batchSenderTargetBalance);\n\n        bytes memory initializeCall = abi.encodeCall(\n            BalanceTracker.initialize, (\n                systemAddresses,\n                targetBalances\n            )\n        );\n\n        vm.broadcast(deployer);\n        Proxy proxy = new Proxy{ salt: keccak256(abi.encode(salt))}(deployer);\n        vm.prank(address(0));\n        require(proxy.admin() == deployer, \"DeployBalanceTracker: incorrect proxy admin\");\n        vm.broadcast(deployer);\n        proxy.upgradeToAndCall(payable(address(balanceTrackerImpl)), initializeCall);\n        BalanceTracker balanceTracker = BalanceTracker(payable(address(proxy)));\n        require(balanceTracker.systemAddresses(0) == outputProposer, \"DeployBalanceTracker: incorrect output proposer\");\n        require(balanceTracker.systemAddresses(1) == batchSender, \"DeployBalanceTracker: incorrect batch sender\");\n        require(balanceTracker.targetBalances(0) == outputProposerTargetBalance, \"DeployBalanceTracker: incorrect output proposer target balance\");\n        require(balanceTracker.targetBalances(1) == batchSenderTargetBalance, \"DeployBalanceTracker: incorrect batch sender target balance\");\n\n        vm.broadcast(deployer);\n        proxy.changeAdmin(admin);\n        vm.prank(address(0));\n        require(proxy.admin() == admin, \"DeployBalanceTracker: incorrect proxy admin\");\n\n        console.log(\"Balance Tracker Impl address: %s\", address(balanceTrackerImpl));\n        console.log(\"Balance Tracker Proxy address: %s\", address(proxy));\n   }\n}"
  },
  {
    "path": "sepolia/2024-01-22-deploy-revshare/script/DeployFeeDisburser.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport { console } from \"forge-std/console.sol\";\nimport { Script } from \"forge-std/Script.sol\";\n\nimport { Proxy } from \"@eth-optimism-bedrock/src/universal/Proxy.sol\";\nimport { FeeDisburser } from \"@base-contracts/src/revenue-share/FeeDisburser.sol\";\n\ncontract DeployFeeDisburser is Script {\n   function run() external {\n        address deployer = vm.envAddress(\"FEE_DISBURSER_DEPLOYER\");\n        address payable optimismWallet = payable(vm.envAddress(\"OPTIMISM_WALLET\"));\n        address balanceTracker = vm.envAddress(\"BALANCE_TRACKER_PROXY\");\n        uint256 feeDisbursementInterval = vm.envUint(\"FEE_DISBURSEMENT_INTERVAL\");\n        address admin = vm.envAddress(\"FEE_DISBURSER_ADMIN\");\n        string memory salt = vm.envString(\"FEE_DISBURSER_SALT\");\n\n        console.log(\"Deployer: %s\", deployer);\n        console.log(\"Optimism Wallet: %s\", optimismWallet);\n        console.log(\"Balance Tracker: %s\", balanceTracker);\n        console.log(\"Fee Disbursement Interval: %s\", feeDisbursementInterval);\n        console.log(\"Admin: %s\", admin);\n        console.log(\"Salt: %s\", salt);\n\n        vm.broadcast(deployer);\n        FeeDisburser feeDisburserImpl = new FeeDisburser(\n            optimismWallet,\n            balanceTracker,\n            feeDisbursementInterval\n        );\n        require(feeDisburserImpl.OPTIMISM_WALLET() == optimismWallet, \"DeployFeeDisburser: incorrect optimism wallet\");\n        require(feeDisburserImpl.L1_WALLET() == balanceTracker, \"DeployFeeDisburser: incorrect l1 wallet\");\n        require(feeDisburserImpl.FEE_DISBURSEMENT_INTERVAL() == feeDisbursementInterval, \"DeployFeeDisburser: incorrect fee disbursement interval\");\n\n        vm.broadcast(deployer);\n        Proxy proxy = new Proxy{ salt: keccak256(abi.encode(salt))}(deployer);\n        vm.prank(address(0));\n        require(proxy.admin() == deployer, \"DeployFeeDisburser: incorrect proxy admin\");\n        \n        vm.broadcast(deployer);\n        proxy.changeAdmin(admin);\n        vm.prank(address(0));\n        require(proxy.admin() == admin, \"DeployFeeDisburser: incorrect proxy admin\");\n\n        console.log(\"Fee Disburser Impl address: %s\", address(feeDisburserImpl));\n        console.log(\"Fee Disburser Proxy address: %s\", address(proxy));\n   }\n}"
  },
  {
    "path": "sepolia/2024-01-22-deploy-revshare/script/DeployNewFeeVaults.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"forge-std/Script.sol\";\n\nimport \"@eth-optimism-bedrock/src/libraries/Predeploys.sol\";\nimport {SequencerFeeVault, FeeVault} from \"@eth-optimism-bedrock/src/L2/SequencerFeeVault.sol\";\nimport {L1FeeVault} from \"@eth-optimism-bedrock/src/L2/L1FeeVault.sol\";\nimport {BaseFeeVault} from \"@eth-optimism-bedrock/src/L2/BaseFeeVault.sol\";\n\ncontract DeployNewFeeVaults is Script {\n    address internal recipient = vm.envAddress(\"FEE_DISBURSER_PROXY\");\n\n    error FeeVaultFailedToUpdate(string feeVaultType, string reason);\n    \n    function run() public {\n        address proxyAdminOwner = vm.envAddress(\"PROXY_ADMIN_OWNER\");\n\n        address payable sfvProxy = payable(Predeploys.SEQUENCER_FEE_WALLET);\n        address payable lfvProxy = payable(Predeploys.L1_FEE_VAULT);\n        address payable bfvProxy = payable(Predeploys.BASE_FEE_VAULT);\n\n        SequencerFeeVault sfvOld = SequencerFeeVault(sfvProxy);\n        L1FeeVault lfvOld = L1FeeVault(lfvProxy);\n        BaseFeeVault bfvOld = BaseFeeVault(bfvProxy);\n\n        vm.startBroadcast(proxyAdminOwner);\n        SequencerFeeVault sfvNew = new SequencerFeeVault(\n            recipient,\n            sfvOld.MIN_WITHDRAWAL_AMOUNT(),\n            FeeVault.WithdrawalNetwork.L2\n        );\n        _checks(sfvOld, sfvNew, \"SequencerFeeVault\");\n        L1FeeVault lfvNew = new L1FeeVault(\n            recipient,\n            lfvOld.MIN_WITHDRAWAL_AMOUNT(),\n            FeeVault.WithdrawalNetwork.L2\n        );\n        _checks(lfvOld, lfvNew, \"L1FeeVault\");\n        BaseFeeVault bfvNew = new BaseFeeVault(\n            recipient,\n            bfvOld.MIN_WITHDRAWAL_AMOUNT(),\n            FeeVault.WithdrawalNetwork.L2\n        );\n        _checks(bfvOld, bfvNew, \"BaseFeeVault\");\n        console.log(\"Sequencer Fee Vault Impl address: %s\", address(sfvNew));\n        console.log(\"L1 Fee Vault Impl address: %s\", address(lfvNew));\n        console.log(\"Base Fee Vault Impl address: %s\", address(bfvNew));\n        vm.stopBroadcast();\n    }\n\n    function _checks(\n        FeeVault _oldFV,\n        FeeVault _newFV,\n        string memory typeOfVault\n    ) internal view {\n        // totalProcessed() should be 0 for existing vaults since no withdraw has done yet\n        if (_newFV.totalProcessed() != _oldFV.totalProcessed()) {\n            revert FeeVaultFailedToUpdate({\n                feeVaultType: typeOfVault,\n                reason: \"totalProcessed mismatch.\"\n            });\n        }\n        if (_newFV.MIN_WITHDRAWAL_AMOUNT() != _oldFV.MIN_WITHDRAWAL_AMOUNT()) {\n            revert FeeVaultFailedToUpdate({\n                feeVaultType: typeOfVault,\n                reason: \"MIN_WITHDRAWAL_AMOUNT mismatch.\"\n            });\n        }\n        if (_newFV.WITHDRAWAL_NETWORK() != FeeVault.WithdrawalNetwork.L2) {\n            revert FeeVaultFailedToUpdate({\n                feeVaultType: typeOfVault,\n                reason: \"WITHDRAWAL_NETWORK mismatch.\"\n            });\n        }\n        if (_newFV.RECIPIENT() != recipient) {\n            revert FeeVaultFailedToUpdate({\n                feeVaultType: typeOfVault,\n                reason: \"incorrect new recipient.\"\n            });\n        }\n    }\n}"
  },
  {
    "path": "sepolia/2024-01-22-deploy-revshare/script/UpgradeFeeVaultProxy.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"forge-std/Script.sol\";\n\nimport \"@eth-optimism-bedrock/src/libraries/Predeploys.sol\";\nimport \"@eth-optimism-bedrock/src/universal/ProxyAdmin.sol\";\nimport {SequencerFeeVault, FeeVault} from \"@eth-optimism-bedrock/src/L2/SequencerFeeVault.sol\";\nimport {L1FeeVault} from \"@eth-optimism-bedrock/src/L2/L1FeeVault.sol\";\nimport {BaseFeeVault} from \"@eth-optimism-bedrock/src/L2/BaseFeeVault.sol\";\n\ncontract UpgradeFeeVaultProxy is Script {\n    function run() public {\n        ProxyAdmin proxyAdmin = ProxyAdmin(Predeploys.PROXY_ADMIN);\n        address proxyAdminOwner = vm.envAddress(\"PROXY_ADMIN_OWNER\");\n\n        address payable sfvProxy = payable(Predeploys.SEQUENCER_FEE_WALLET);\n        address payable lfvProxy = payable(Predeploys.L1_FEE_VAULT);\n        address payable bfvProxy = payable(Predeploys.BASE_FEE_VAULT);\n\n        address sfvNew = vm.envAddress(\"SEQUENCER_FEE_VAULT_IMPL\");\n        address lfvNew = vm.envAddress(\"L1_FEE_VAULT_IMPL\");\n        address bfvNew = vm.envAddress(\"BASE_FEE_VAULT_IMPL\");\n\n        vm.startBroadcast(proxyAdminOwner);\n        proxyAdmin.upgrade(sfvProxy, address(sfvNew));\n        require(\n            proxyAdmin.getProxyImplementation(sfvProxy).codehash ==\n                address(sfvNew).codehash,\n            \"SequencerFeeVault proxy not upgraded\"\n        );\n        console.log(\"Upgraded Sequencer Fee Vault Impl.\");\n        proxyAdmin.upgrade(lfvProxy, address(lfvNew));\n        require(\n            proxyAdmin.getProxyImplementation(address(lfvProxy)).codehash ==\n                address(lfvNew).codehash,\n            \"L1FeeVault proxy not Upgraded\"\n        );\n        console.log(\"Upgraded L1 Fee Vault Impl.\");\n        proxyAdmin.upgrade(bfvProxy, address(bfvNew));\n        require(\n            proxyAdmin.getProxyImplementation(address(bfvProxy)).codehash ==\n                address(bfvNew).codehash,\n            \"BaseFeeVault proxy not upgraded\"\n        );\n        console.log(\"Upgraded Base Fee Vault Impl.\");\n        vm.stopBroadcast();\n    }\n}\n"
  },
  {
    "path": "sepolia/2024-02-28-pause-unpause-portal/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n##\n# Incident response commands\n# Note that --ledger --hd-paths <PATH> can be replaced with --private-key $(PRIVATE_KEY)\n# in any command when using a local key.\n##\n\nifndef PORTAL_GUARDIAN_PRIVATE_KEY\n$(error PORTAL_GUARDIAN_PRIVATE_KEY is undefined)\nendif\n\n# Pause OptimismPortal Commands\n\n.PHONY: pause-portal-dryrun\npause-portal-dryrun:\n\t@forge script --rpc-url $(L1_RPC_URL) \\\n\tPausePortal --private-key $(PORTAL_GUARDIAN_PRIVATE_KEY)\n\n.PHONY: pause-portal\npause-portal:\n\t@forge script --rpc-url $(L1_RPC_URL) \\\n\tPausePortal --private-key $(PORTAL_GUARDIAN_PRIVATE_KEY) \\\n\t--broadcast\n\n# Unpause OptimismPortal Commands\n\n.PHONY: unpause-portal-dryrun\nunpause-portal-dryrun:\n\t@forge script --rpc-url $(L1_RPC_URL) \\\n\tUnpausePortal --private-key $(PORTAL_GUARDIAN_PRIVATE_KEY)\n\n.PHONY: unpause-portal\nunpause-portal:\n\t@forge script --rpc-url $(L1_RPC_URL) \\\n\tUnpausePortal --private-key $(PORTAL_GUARDIAN_PRIVATE_KEY) \\\n\t--broadcast\n"
  },
  {
    "path": "sepolia/2024-02-28-pause-unpause-portal/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "sepolia/2024-02-28-pause-unpause-portal/records/PausePortal.s.sol/11155111/run-1709751738.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x8f90f6aeef8ea05db9462f9c4eb5b5b4e7199821a9db17d1b8a482ce5378ceaa\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0x49f53e41452C74589E85cA1677426Ba426459e85\",\n      \"function\": \"pause()\",\n      \"arguments\": [],\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0xa9ff930151130fd19da1f03e5077afb7c78f8503\",\n        \"to\": \"0x49f53e41452c74589e85ca1677426ba426459e85\",\n        \"gas\": \"0xba1b\",\n        \"value\": \"0x0\",\n        \"data\": \"0x8456cb59\",\n        \"nonce\": \"0x0\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0x8f90f6aeef8ea05db9462f9c4eb5b5b4e7199821a9db17d1b8a482ce5378ceaa\",\n      \"transactionIndex\": \"0x10\",\n      \"blockHash\": \"0x9c1b181e4cf465cac0530b0d0d2c9bee853f2aabf115fc6cc48f221e0488ee91\",\n      \"blockNumber\": \"0x52dbec\",\n      \"from\": \"0xA9FF930151130fd19DA1F03E5077AFB7C78F8503\",\n      \"to\": \"0x49f53e41452C74589E85cA1677426Ba426459e85\",\n      \"cumulativeGasUsed\": \"0x9c721\",\n      \"gasUsed\": \"0x86be\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x49f53e41452C74589E85cA1677426Ba426459e85\",\n          \"topics\": [\n            \"0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258\"\n          ],\n          \"data\": \"0x000000000000000000000000a9ff930151130fd19da1f03e5077afb7c78f8503\",\n          \"blockHash\": \"0x9c1b181e4cf465cac0530b0d0d2c9bee853f2aabf115fc6cc48f221e0488ee91\",\n          \"blockNumber\": \"0x52dbec\",\n          \"transactionHash\": \"0x8f90f6aeef8ea05db9462f9c4eb5b5b4e7199821a9db17d1b8a482ce5378ceaa\",\n          \"transactionIndex\": \"0x10\",\n          \"logIndex\": \"0x3\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000010020000000000000000008000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xd68a1817\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1709751738,\n  \"chain\": 11155111,\n  \"multi\": false,\n  \"commit\": \"8f6beb5\"\n}"
  },
  {
    "path": "sepolia/2024-02-28-pause-unpause-portal/records/UnpausePortal.s.sol/11155111/run-1709755240.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x08671683881a1f6a9ad863ca102f8b7b5b43753cdedc7f7b6b7167b38714a5f4\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0x49f53e41452C74589E85cA1677426Ba426459e85\",\n      \"function\": \"unpause()\",\n      \"arguments\": [],\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0xa9ff930151130fd19da1f03e5077afb7c78f8503\",\n        \"to\": \"0x49f53e41452c74589e85ca1677426ba426459e85\",\n        \"gas\": \"0xb9ab\",\n        \"value\": \"0x0\",\n        \"data\": \"0x3f4ba83a\",\n        \"nonce\": \"0x1\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0x08671683881a1f6a9ad863ca102f8b7b5b43753cdedc7f7b6b7167b38714a5f4\",\n      \"transactionIndex\": \"0x17\",\n      \"blockHash\": \"0x94d9e3db17f89cfb420d54ef911e6344799f3b85e66960aaf1c61bee160c8515\",\n      \"blockNumber\": \"0x52dd02\",\n      \"from\": \"0xA9FF930151130fd19DA1F03E5077AFB7C78F8503\",\n      \"to\": \"0x49f53e41452C74589E85cA1677426Ba426459e85\",\n      \"cumulativeGasUsed\": \"0x182260\",\n      \"gasUsed\": \"0x866d\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x49f53e41452C74589E85cA1677426Ba426459e85\",\n          \"topics\": [\n            \"0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa\"\n          ],\n          \"data\": \"0x000000000000000000000000a9ff930151130fd19da1f03e5077afb7c78f8503\",\n          \"blockHash\": \"0x94d9e3db17f89cfb420d54ef911e6344799f3b85e66960aaf1c61bee160c8515\",\n          \"blockNumber\": \"0x52dd02\",\n          \"transactionHash\": \"0x08671683881a1f6a9ad863ca102f8b7b5b43753cdedc7f7b6b7167b38714a5f4\",\n          \"transactionIndex\": \"0x17\",\n          \"logIndex\": \"0x6\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000020000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xbabd99cc\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1709755240,\n  \"chain\": 11155111,\n  \"multi\": false,\n  \"commit\": \"6fb47e2\"\n}"
  },
  {
    "path": "sepolia/2024-02-28-pause-unpause-portal/script/PausePortal.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"forge-std/Script.sol\";\nimport \"@eth-optimism-bedrock/src/L1/OptimismPortal.sol\";\n\ncontract PausePortal is Script {\n    address internal OPTIMISM_PORTAL_PROXY = vm.envAddress(\"OPTIMISM_PORTAL_PROXY\");\n    address internal GUARDIAN = vm.envAddress(\"GUARDIAN\");\n\n    function run() external {\n        OptimismPortal optimismPortal = OptimismPortal(payable(OPTIMISM_PORTAL_PROXY));\n\n        vm.broadcast(GUARDIAN);\n        optimismPortal.pause();\n\n        require(optimismPortal.paused() == true, \"PausePortal: failed to pause\");\n    }\n}\n"
  },
  {
    "path": "sepolia/2024-02-28-pause-unpause-portal/script/UnpausePortal.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"forge-std/Script.sol\";\nimport \"@eth-optimism-bedrock/src/L1/OptimismPortal.sol\";\n\ncontract UnpausePortal is Script {\n    address internal OPTIMISM_PORTAL_PROXY = vm.envAddress(\"OPTIMISM_PORTAL_PROXY\");\n    address internal GUARDIAN = vm.envAddress(\"GUARDIAN\");\n\n    function run() external {\n        OptimismPortal optimismPortal = OptimismPortal(payable(OPTIMISM_PORTAL_PROXY));\n\n        vm.broadcast(GUARDIAN);\n        optimismPortal.unpause();\n\n        require(optimismPortal.paused() == false, \"PausePortal: failed to unpause\");\n    }\n}\n"
  },
  {
    "path": "sepolia/2024-03-07-ecotone-sysconfig-updates/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n# Unpause OptimismPortal Commands\n\n.PHONY: update-gas-config\nupdate-gas-config:\n\t@forge script --rpc-url $(L1_RPC_URL) UpdateGasConfigSepolia --private-key $(PRIVATE_KEY)  --broadcast\n"
  },
  {
    "path": "sepolia/2024-03-07-ecotone-sysconfig-updates/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "sepolia/2024-03-07-ecotone-sysconfig-updates/records/UpdateGasConfig.sol/11155111/run-1709934684.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xc63f3e32bc0700085b9a0d522cafc343c1dc92f16190e8d750f6a84c0abab405\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0xf272670eb55e895584501d564AfEB048bEd26194\",\n      \"function\": \"setGasConfig(uint256,uint256)\",\n      \"arguments\": [\n        \"0\",\n        \"452312848583266388373324160190187140051835877600158453279134021569375896653\"\n      ],\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x608081689fe46936fb2fbdf7552cbb1d80ad4822\",\n        \"to\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n        \"gas\": \"0xc851\",\n        \"value\": \"0x0\",\n        \"data\": \"0x935f029e0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000a118b0000044d\",\n        \"nonce\": \"0x1\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0xc63f3e32bc0700085b9a0d522cafc343c1dc92f16190e8d750f6a84c0abab405\",\n      \"transactionIndex\": \"0x19\",\n      \"blockHash\": \"0x5e6f0954e92038bf301d84303f8d78680affeef1d958eda474c732b1889f9f1c\",\n      \"blockNumber\": \"0x531478\",\n      \"from\": \"0x608081689Fe46936fB2fBDF7552CbB1D80ad4822\",\n      \"to\": \"0xf272670eb55e895584501d564AfEB048bEd26194\",\n      \"cumulativeGasUsed\": \"0x1a16da\",\n      \"gasUsed\": \"0x9107\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0xf272670eb55e895584501d564AfEB048bEd26194\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000001\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000a118b0000044d\",\n          \"blockHash\": \"0x5e6f0954e92038bf301d84303f8d78680affeef1d958eda474c732b1889f9f1c\",\n          \"blockNumber\": \"0x531478\",\n          \"transactionHash\": \"0xc63f3e32bc0700085b9a0d522cafc343c1dc92f16190e8d750f6a84c0abab405\",\n          \"transactionIndex\": \"0x19\",\n          \"logIndex\": \"0x1b\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000040000000000000000000000000000000000000000000000040000000000000000000000000000020100000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000400000060000000000000000000000000000000000000000000000000000000008000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0x39fe9d8ea7\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1709934684,\n  \"chain\": 11155111,\n  \"multi\": false,\n  \"commit\": \"c740cf5\"\n}"
  },
  {
    "path": "sepolia/2024-03-07-ecotone-sysconfig-updates/script/UpdateGasConfig.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport \"forge-std/Script.sol\";\n\ncontract UpdateGasConfigSepolia is Script {\n\n    address internal L1_SYSTEM_CONFIG = vm.envAddress(\"L1_SYSTEM_CONFIG_ADDRESS\");\n    uint256 internal SCALAR = vm.envUint(\"SCALAR\");\n    address internal OWNER = vm.envAddress(\"OWNER_ADDRESS\");\n\n    function _postCheck() internal view {\n        require(SystemConfig(L1_SYSTEM_CONFIG).scalar() == SCALAR);\n        require(SystemConfig(L1_SYSTEM_CONFIG).overhead() == 0);\n    }\n\n    function run() public {\n        vm.startBroadcast(OWNER);\n        SystemConfig(L1_SYSTEM_CONFIG).setGasConfig(0, SCALAR); \n        _postCheck();\n        vm.stopBroadcast(); \n    }\n}"
  },
  {
    "path": "sepolia/2024-03-26-increase-gas-limit/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n.PHONY: update-gas-limit\nupdate-gas-limit:\n\t@forge script --rpc-url $(L1_RPC_URL) UpdateGasLimitSepolia --private-key $(PRIVATE_KEY)  --broadcast\n"
  },
  {
    "path": "sepolia/2024-03-26-increase-gas-limit/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "sepolia/2024-03-26-increase-gas-limit/records/UpdateGasLimit.sol/11155111/run-1711511753.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x63f9d2a57a15ebf0d0779b867168d25d01f5060aac291d14e12d866ffd610433\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0xf272670eb55e895584501d564AfEB048bEd26194\",\n      \"function\": \"setGasLimit(uint64)\",\n      \"arguments\": [\n        \"45000000\"\n      ],\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x608081689fe46936fb2fbdf7552cbb1d80ad4822\",\n        \"to\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n        \"gas\": \"0xdde6\",\n        \"value\": \"0x0\",\n        \"data\": \"0xb40a817c0000000000000000000000000000000000000000000000000000000002aea540\",\n        \"nonce\": \"0x2\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0x63f9d2a57a15ebf0d0779b867168d25d01f5060aac291d14e12d866ffd610433\",\n      \"transactionIndex\": \"0xf\",\n      \"blockHash\": \"0xeb59e80f0164c78ad7e1c83f95daeff844aafdd47211f00b716e2eb2b73d7d28\",\n      \"blockNumber\": \"0x54fa18\",\n      \"from\": \"0x608081689Fe46936fB2fBDF7552CbB1D80ad4822\",\n      \"to\": \"0xf272670eb55e895584501d564AfEB048bEd26194\",\n      \"cumulativeGasUsed\": \"0xcc24a\",\n      \"gasUsed\": \"0x97ba\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0xf272670eb55e895584501d564AfEB048bEd26194\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000002\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000002aea540\",\n          \"blockHash\": \"0xeb59e80f0164c78ad7e1c83f95daeff844aafdd47211f00b716e2eb2b73d7d28\",\n          \"blockNumber\": \"0x54fa18\",\n          \"transactionHash\": \"0x63f9d2a57a15ebf0d0779b867168d25d01f5060aac291d14e12d866ffd610433\",\n          \"transactionIndex\": \"0xf\",\n          \"logIndex\": \"0x9\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020100000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000400000020000000000000000000000000000000000000000000008000000000008000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb4df77d1\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1711511753,\n  \"chain\": 11155111,\n  \"commit\": \"6ece564\"\n}"
  },
  {
    "path": "sepolia/2024-03-26-increase-gas-limit/script/UpdateGasLimit.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport \"forge-std/Script.sol\";\n\ncontract UpdateGasLimitSepolia is Script {\n    address internal L1_SYSTEM_CONFIG = vm.envAddress(\"L1_SYSTEM_CONFIG_ADDRESS\");\n    uint64 internal GAS_LIMIT = uint64(vm.envUint(\"GAS_LIMIT\"));\n    address internal OWNER = vm.envAddress(\"OWNER_ADDRESS\");\n\n    function _postCheck() internal view {\n        require(SystemConfig(L1_SYSTEM_CONFIG).gasLimit() == GAS_LIMIT);\n    }\n\n    function run() public {\n        vm.startBroadcast(OWNER);\n        SystemConfig(L1_SYSTEM_CONFIG).setGasLimit(GAS_LIMIT);\n        _postCheck();\n        vm.stopBroadcast();\n    }\n}\n"
  },
  {
    "path": "sepolia/2024-04-10-deploy-ERC20Factory/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n##\n# Deploy command\n##\n.PHONY: deploy\ndeploy:\n\tforge script RunERC20FactoryDeploy --rpc-url $(L2_RPC_URL) --broadcast\n\n.PHONY: verify\nverify:\n\tforge verify-contract 0x6922ac4dbdfedea3a1e5535f12c3171f2b964c91 OptimismMintableERC20Factory \\\n\t--watch --chain-id 84532 \\\n\t--num-of-optimizations=99999 --retries=1 \\\n\t--verifier-url \thttps://sepolia-api.basescan.org/api "
  },
  {
    "path": "sepolia/2024-04-10-deploy-ERC20Factory/deployed/addresses.json",
    "content": ""
  },
  {
    "path": "sepolia/2024-04-10-deploy-ERC20Factory/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\n\n# note 'src/universal=lib/optimism/packages/contracts-bedrock/src/universal' is needed\n# for relative paths in optimism repo to work\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n    'src/universal=lib/optimism/packages/contracts-bedrock/src/universal' \n]\n"
  },
  {
    "path": "sepolia/2024-04-10-deploy-ERC20Factory/records/RunERC20FactoryDeploy.s.sol/84532/run-1712769228.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xbd26930635bbb29ed85193494ea69ad8e895b543e6ba0dcb7b03bf84d9ea02f6\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"OptimismMintableERC20Factory\",\n      \"contractAddress\": \"0x11e73c1a710458c7Ee9b5973f1e43D87e89a4455\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0xfd896bf5eba7e1b9843b91ef6182de16b547273b\",\n        \"gas\": \"0x24fcf6\",\n        \"value\": \"0x0\",\n        \"data\": \"0x608060405234801561001057600080fd5b5061001b6000610020565b610169565b600054610100900460ff16158080156100405750600054600160ff909116105b8061006b57506100593061015a60201b61059d1760201c565b15801561006b575060005460ff166001145b6100d25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff1916600117905580156100f5576000805461ff0019166101001790555b600180546001600160a01b0319166001600160a01b0384161790558015610156576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6001600160a01b03163b151590565b61207e806101786000396000f3fe60806040523480156200001157600080fd5b5060043610620000875760003560e01c8063c4d66de81162000062578063c4d66de81462000135578063ce5ac90f146200014e578063e78cea921462000165578063ee9a31a2146200018657600080fd5b806354fd4d50146200008c578063896f93d114620000e15780638cf0629c146200011e575b600080fd5b620000c96040518060400160405280600581526020017f312e392e3000000000000000000000000000000000000000000000000000000081525081565b604051620000d8919062000635565b60405180910390f35b620000f8620000f23660046200075d565b620001a5565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001620000d8565b620000f86200012f366004620007da565b620001bc565b6200014c6200014636600462000871565b620003ba565b005b620000f86200015f3660046200075d565b6200058c565b600154620000f89073ffffffffffffffffffffffffffffffffffffffff1681565b60015473ffffffffffffffffffffffffffffffffffffffff16620000f8565b6000620001b48484846200058c565b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff851662000267576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f4f7074696d69736d4d696e7461626c654552433230466163746f72793a206d7560448201527f73742070726f766964652072656d6f746520746f6b656e20616464726573730060648201526084015b60405180910390fd5b6000858585856040516020016200028294939291906200088f565b604051602081830303815290604052805190602001209050600081600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1688888888604051620002d290620005b9565b620002e2959493929190620008e9565b8190604051809103906000f590508015801562000303573d6000803e3d6000fd5b5090508073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fceeb8e7d520d7f3b65fc11a262b91066940193b05d4f93df07cfdced0eb551cf60405160405180910390a360405133815273ffffffffffffffffffffffffffffffffffffffff80891691908316907f52fe89dd5930f343d25650b62fd367bae47088bcddffd2a88350a6ecdd620cdb9060200160405180910390a39695505050505050565b600054610100900460ff1615808015620003db5750600054600160ff909116105b80620003f75750303b158015620003f7575060005460ff166001145b62000485576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016200025e565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015620004e457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841617905580156200058857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6000620001b48484846012620001bc565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b6116fa806200094f83390190565b6000815180845260005b81811015620005ef57602081850181015186830182015201620005d1565b8181111562000602576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006200064a6020830184620005c7565b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146200067657600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112620006bc57600080fd5b813567ffffffffffffffff80821115620006da57620006da6200067b565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156200072357620007236200067b565b816040528381528660208588010111156200073d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156200077357600080fd5b6200077e8462000651565b9250602084013567ffffffffffffffff808211156200079c57600080fd5b620007aa87838801620006aa565b93506040860135915080821115620007c157600080fd5b50620007d086828701620006aa565b9150509250925092565b60008060008060808587031215620007f157600080fd5b620007fc8562000651565b9350602085013567ffffffffffffffff808211156200081a57600080fd5b6200082888838901620006aa565b945060408701359150808211156200083f57600080fd5b506200084e87828801620006aa565b925050606085013560ff811681146200086657600080fd5b939692955090935050565b6000602082840312156200088457600080fd5b6200064a8262000651565b73ffffffffffffffffffffffffffffffffffffffff85168152608060208201526000620008c06080830186620005c7565b8281036040840152620008d48186620005c7565b91505060ff8316606083015295945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a060408301526200092460a0830186620005c7565b8281036060840152620009388186620005c7565b91505060ff83166080830152969550505050505056fe60e06040523480156200001157600080fd5b50604051620016fa380380620016fa833981016040819052620000349162000163565b828260036200004483826200029e565b5060046200005382826200029e565b5050506001600160a01b039384166080529390921660a052505060ff1660c0526200036a565b80516001600160a01b03811681146200009157600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620000be57600080fd5b81516001600160401b0380821115620000db57620000db62000096565b604051601f8301601f19908116603f0116810190828211818310171562000106576200010662000096565b816040528381526020925086838588010111156200012357600080fd5b600091505b8382101562000147578582018301518183018401529082019062000128565b83821115620001595760008385830101525b9695505050505050565b600080600080600060a086880312156200017c57600080fd5b620001878662000079565b9450620001976020870162000079565b60408701519094506001600160401b0380821115620001b557600080fd5b620001c389838a01620000ac565b94506060880151915080821115620001da57600080fd5b50620001e988828901620000ac565b925050608086015160ff811681146200020157600080fd5b809150509295509295909350565b600181811c908216806200022457607f821691505b6020821081036200024557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200029957600081815260208120601f850160051c81016020861015620002745750805b601f850160051c820191505b81811015620002955782815560010162000280565b5050505b505050565b81516001600160401b03811115620002ba57620002ba62000096565b620002d281620002cb84546200020f565b846200024b565b602080601f8311600181146200030a5760008415620002f15750858301515b600019600386901b1c1916600185901b17855562000295565b600085815260208120601f198616915b828110156200033b578886015182559484019460019091019084016200031a565b50858210156200035a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c051611344620003b6600039600061024401526000818161034b015281816103e001528181610625015261075c0152600081816101a9015261037101526113446000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c806370a08231116100d8578063ae1f6aaf1161008c578063dd62ed3e11610066578063dd62ed3e14610395578063e78cea9214610349578063ee9a31a2146103db57600080fd5b8063ae1f6aaf14610349578063c01e1bd61461036f578063d6c0b2c41461036f57600080fd5b80639dc29fac116100bd5780639dc29fac14610310578063a457c2d714610323578063a9059cbb1461033657600080fd5b806370a08231146102d257806395d89b411461030857600080fd5b806323b872dd1161012f5780633950935111610114578063395093511461026e57806340c10f191461028157806354fd4d501461029657600080fd5b806323b872dd1461022a578063313ce5671461023d57600080fd5b806306fdde031161016057806306fdde03146101f0578063095ea7b31461020557806318160ddd1461021857600080fd5b806301ffc9a71461017c578063033964be146101a4575b600080fd5b61018f61018a3660046110e3565b610402565b60405190151581526020015b60405180910390f35b6101cb7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019b565b6101f86104f3565b60405161019b919061112c565b61018f6102133660046111c8565b610585565b6002545b60405190815260200161019b565b61018f6102383660046111f2565b61059d565b60405160ff7f000000000000000000000000000000000000000000000000000000000000000016815260200161019b565b61018f61027c3660046111c8565b6105c1565b61029461028f3660046111c8565b61060d565b005b6101f86040518060400160405280600581526020017f312e332e3000000000000000000000000000000000000000000000000000000081525081565b61021c6102e036600461122e565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6101f8610735565b61029461031e3660046111c8565b610744565b61018f6103313660046111c8565b61085b565b61018f6103443660046111c8565b61092c565b7f00000000000000000000000000000000000000000000000000000000000000006101cb565b7f00000000000000000000000000000000000000000000000000000000000000006101cb565b61021c6103a3366004611249565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6101cb7f000000000000000000000000000000000000000000000000000000000000000081565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007f1d1d8b63000000000000000000000000000000000000000000000000000000007fec4fc8e3000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000085168314806104bb57507fffffffff00000000000000000000000000000000000000000000000000000000858116908316145b806104ea57507fffffffff00000000000000000000000000000000000000000000000000000000858116908216145b95945050505050565b6060600380546105029061127c565b80601f016020809104026020016040519081016040528092919081815260200182805461052e9061127c565b801561057b5780601f106105505761010080835404028352916020019161057b565b820191906000526020600020905b81548152906001019060200180831161055e57829003601f168201915b5050505050905090565b60003361059381858561093a565b5060019392505050565b6000336105ab858285610aee565b6105b6858585610bc5565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919061059390829086906106089087906112cf565b61093a565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146106d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603460248201527f4f7074696d69736d4d696e7461626c6545524332303a206f6e6c79206272696460448201527f67652063616e206d696e7420616e64206275726e00000000000000000000000060648201526084015b60405180910390fd5b6106e18282610e34565b8173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858260405161072991815260200190565b60405180910390a25050565b6060600480546105029061127c565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610809576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603460248201527f4f7074696d69736d4d696e7461626c6545524332303a206f6e6c79206272696460448201527f67652063616e206d696e7420616e64206275726e00000000000000000000000060648201526084016106ce565b6108138282610f27565b8173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405161072991815260200190565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091908381101561091f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016106ce565b6105b6828686840361093a565b600033610593818585610bc5565b73ffffffffffffffffffffffffffffffffffffffff83166109dc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff8216610a7f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610bbf5781811015610bb2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016106ce565b610bbf848484840361093a565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610c68576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff8216610d0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610dc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610bbf565b73ffffffffffffffffffffffffffffffffffffffff8216610eb1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016106ce565b8060026000828254610ec391906112cf565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8216610fca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015611080576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610ae1565b6000602082840312156110f557600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461112557600080fd5b9392505050565b600060208083528351808285015260005b818110156111595785810183015185820160400152820161113d565b8181111561116b576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146111c357600080fd5b919050565b600080604083850312156111db57600080fd5b6111e48361119f565b946020939093013593505050565b60008060006060848603121561120757600080fd5b6112108461119f565b925061121e6020850161119f565b9150604084013590509250925092565b60006020828403121561124057600080fd5b6111258261119f565b6000806040838503121561125c57600080fd5b6112658361119f565b91506112736020840161119f565b90509250929050565b600181811c9082168061129057607f821691505b6020821081036112c9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60008219821115611309577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b50019056fea26469706673582212202df4e3515813e1e6acc68b8e6669c69c12451a433f10f8f772ab4f305cf2278a64736f6c634300080f0033a2646970667358221220cad1c50fecc4745ea0d4dac6e3422feea951aaf984027aeef5296a626bddc9e264736f6c634300080f0033\",\n        \"nonce\": \"0x5a\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0xbd26930635bbb29ed85193494ea69ad8e895b543e6ba0dcb7b03bf84d9ea02f6\",\n      \"transactionIndex\": \"0x1\",\n      \"blockHash\": \"0x2231c79c0a1e0cb90f55ca82a26c264f132589089b26f98f1107c49682b348b1\",\n      \"blockNumber\": \"0x81b4f4\",\n      \"from\": \"0xfd896Bf5Eba7E1B9843B91ef6182DE16B547273B\",\n      \"to\": null,\n      \"cumulativeGasUsed\": \"0x1d2160\",\n      \"gasUsed\": \"0x1c75f1\",\n      \"contractAddress\": \"0x11e73c1a710458c7Ee9b5973f1e43D87e89a4455\",\n      \"logs\": [\n        {\n          \"address\": \"0x11e73c1a710458c7Ee9b5973f1e43D87e89a4455\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0x2231c79c0a1e0cb90f55ca82a26c264f132589089b26f98f1107c49682b348b1\",\n          \"blockNumber\": \"0x81b4f4\",\n          \"transactionHash\": \"0xbd26930635bbb29ed85193494ea69ad8e895b543e6ba0dcb7b03bf84d9ea02f6\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x0\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000080000000000001000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d05f06\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1712769228,\n  \"chain\": 84532,\n  \"commit\": \"a401461\"\n}"
  },
  {
    "path": "sepolia/2024-04-10-deploy-ERC20Factory/records/RunERC20FactoryDeploy.s.sol/84532/run-1712947267.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xe57d85ce1eb67b99348f595ad076f537a2c070c717e1834d6acd282163ddc10e\",\n      \"transactionType\": \"CREATE2\",\n      \"contractName\": \"OptimismMintableERC20Factory\",\n      \"contractAddress\": \"0x6539A3F5FBf41B3f601C418712a45660f00FdAE9\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0xfd896bf5eba7e1b9843b91ef6182de16b547273b\",\n        \"to\": \"0x4e59b44847b379578588920ca78fbf26c0b4956c\",\n        \"gas\": \"0x2760bd\",\n        \"value\": \"0x0\",\n        \"data\": \"0x3078626135656400000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b5061001b6000610020565b610169565b600054610100900460ff16158080156100405750600054600160ff909116105b8061006b57506100593061015a60201b61059d1760201c565b15801561006b575060005460ff166001145b6100d25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff1916600117905580156100f5576000805461ff0019166101001790555b600180546001600160a01b0319166001600160a01b0384161790558015610156576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6001600160a01b03163b151590565b61207e806101786000396000f3fe60806040523480156200001157600080fd5b5060043610620000875760003560e01c8063c4d66de81162000062578063c4d66de81462000135578063ce5ac90f146200014e578063e78cea921462000165578063ee9a31a2146200018657600080fd5b806354fd4d50146200008c578063896f93d114620000e15780638cf0629c146200011e575b600080fd5b620000c96040518060400160405280600581526020017f312e392e3000000000000000000000000000000000000000000000000000000081525081565b604051620000d8919062000635565b60405180910390f35b620000f8620000f23660046200075d565b620001a5565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001620000d8565b620000f86200012f366004620007da565b620001bc565b6200014c6200014636600462000871565b620003ba565b005b620000f86200015f3660046200075d565b6200058c565b600154620000f89073ffffffffffffffffffffffffffffffffffffffff1681565b60015473ffffffffffffffffffffffffffffffffffffffff16620000f8565b6000620001b48484846200058c565b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff851662000267576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f4f7074696d69736d4d696e7461626c654552433230466163746f72793a206d7560448201527f73742070726f766964652072656d6f746520746f6b656e20616464726573730060648201526084015b60405180910390fd5b6000858585856040516020016200028294939291906200088f565b604051602081830303815290604052805190602001209050600081600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1688888888604051620002d290620005b9565b620002e2959493929190620008e9565b8190604051809103906000f590508015801562000303573d6000803e3d6000fd5b5090508073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fceeb8e7d520d7f3b65fc11a262b91066940193b05d4f93df07cfdced0eb551cf60405160405180910390a360405133815273ffffffffffffffffffffffffffffffffffffffff80891691908316907f52fe89dd5930f343d25650b62fd367bae47088bcddffd2a88350a6ecdd620cdb9060200160405180910390a39695505050505050565b600054610100900460ff1615808015620003db5750600054600160ff909116105b80620003f75750303b158015620003f7575060005460ff166001145b62000485576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016200025e565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015620004e457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841617905580156200058857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6000620001b48484846012620001bc565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b6116fa806200094f83390190565b6000815180845260005b81811015620005ef57602081850181015186830182015201620005d1565b8181111562000602576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006200064a6020830184620005c7565b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146200067657600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112620006bc57600080fd5b813567ffffffffffffffff80821115620006da57620006da6200067b565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156200072357620007236200067b565b816040528381528660208588010111156200073d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156200077357600080fd5b6200077e8462000651565b9250602084013567ffffffffffffffff808211156200079c57600080fd5b620007aa87838801620006aa565b93506040860135915080821115620007c157600080fd5b50620007d086828701620006aa565b9150509250925092565b60008060008060808587031215620007f157600080fd5b620007fc8562000651565b9350602085013567ffffffffffffffff808211156200081a57600080fd5b6200082888838901620006aa565b945060408701359150808211156200083f57600080fd5b506200084e87828801620006aa565b925050606085013560ff811681146200086657600080fd5b939692955090935050565b6000602082840312156200088457600080fd5b6200064a8262000651565b73ffffffffffffffffffffffffffffffffffffffff85168152608060208201526000620008c06080830186620005c7565b8281036040840152620008d48186620005c7565b91505060ff8316606083015295945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a060408301526200092460a0830186620005c7565b8281036060840152620009388186620005c7565b91505060ff83166080830152969550505050505056fe60e06040523480156200001157600080fd5b50604051620016fa380380620016fa833981016040819052620000349162000163565b828260036200004483826200029e565b5060046200005382826200029e565b5050506001600160a01b039384166080529390921660a052505060ff1660c0526200036a565b80516001600160a01b03811681146200009157600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620000be57600080fd5b81516001600160401b0380821115620000db57620000db62000096565b604051601f8301601f19908116603f0116810190828211818310171562000106576200010662000096565b816040528381526020925086838588010111156200012357600080fd5b600091505b8382101562000147578582018301518183018401529082019062000128565b83821115620001595760008385830101525b9695505050505050565b600080600080600060a086880312156200017c57600080fd5b620001878662000079565b9450620001976020870162000079565b60408701519094506001600160401b0380821115620001b557600080fd5b620001c389838a01620000ac565b94506060880151915080821115620001da57600080fd5b50620001e988828901620000ac565b925050608086015160ff811681146200020157600080fd5b809150509295509295909350565b600181811c908216806200022457607f821691505b6020821081036200024557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200029957600081815260208120601f850160051c81016020861015620002745750805b601f850160051c820191505b81811015620002955782815560010162000280565b5050505b505050565b81516001600160401b03811115620002ba57620002ba62000096565b620002d281620002cb84546200020f565b846200024b565b602080601f8311600181146200030a5760008415620002f15750858301515b600019600386901b1c1916600185901b17855562000295565b600085815260208120601f198616915b828110156200033b578886015182559484019460019091019084016200031a565b50858210156200035a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c051611344620003b6600039600061024401526000818161034b015281816103e001528181610625015261075c0152600081816101a9015261037101526113446000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c806370a08231116100d8578063ae1f6aaf1161008c578063dd62ed3e11610066578063dd62ed3e14610395578063e78cea9214610349578063ee9a31a2146103db57600080fd5b8063ae1f6aaf14610349578063c01e1bd61461036f578063d6c0b2c41461036f57600080fd5b80639dc29fac116100bd5780639dc29fac14610310578063a457c2d714610323578063a9059cbb1461033657600080fd5b806370a08231146102d257806395d89b411461030857600080fd5b806323b872dd1161012f5780633950935111610114578063395093511461026e57806340c10f191461028157806354fd4d501461029657600080fd5b806323b872dd1461022a578063313ce5671461023d57600080fd5b806306fdde031161016057806306fdde03146101f0578063095ea7b31461020557806318160ddd1461021857600080fd5b806301ffc9a71461017c578063033964be146101a4575b600080fd5b61018f61018a3660046110e3565b610402565b60405190151581526020015b60405180910390f35b6101cb7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019b565b6101f86104f3565b60405161019b919061112c565b61018f6102133660046111c8565b610585565b6002545b60405190815260200161019b565b61018f6102383660046111f2565b61059d565b60405160ff7f000000000000000000000000000000000000000000000000000000000000000016815260200161019b565b61018f61027c3660046111c8565b6105c1565b61029461028f3660046111c8565b61060d565b005b6101f86040518060400160405280600581526020017f312e332e3000000000000000000000000000000000000000000000000000000081525081565b61021c6102e036600461122e565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6101f8610735565b61029461031e3660046111c8565b610744565b61018f6103313660046111c8565b61085b565b61018f6103443660046111c8565b61092c565b7f00000000000000000000000000000000000000000000000000000000000000006101cb565b7f00000000000000000000000000000000000000000000000000000000000000006101cb565b61021c6103a3366004611249565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6101cb7f000000000000000000000000000000000000000000000000000000000000000081565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007f1d1d8b63000000000000000000000000000000000000000000000000000000007fec4fc8e3000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000085168314806104bb57507fffffffff00000000000000000000000000000000000000000000000000000000858116908316145b806104ea57507fffffffff00000000000000000000000000000000000000000000000000000000858116908216145b95945050505050565b6060600380546105029061127c565b80601f016020809104026020016040519081016040528092919081815260200182805461052e9061127c565b801561057b5780601f106105505761010080835404028352916020019161057b565b820191906000526020600020905b81548152906001019060200180831161055e57829003601f168201915b5050505050905090565b60003361059381858561093a565b5060019392505050565b6000336105ab858285610aee565b6105b6858585610bc5565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919061059390829086906106089087906112cf565b61093a565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146106d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603460248201527f4f7074696d69736d4d696e7461626c6545524332303a206f6e6c79206272696460448201527f67652063616e206d696e7420616e64206275726e00000000000000000000000060648201526084015b60405180910390fd5b6106e18282610e34565b8173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858260405161072991815260200190565b60405180910390a25050565b6060600480546105029061127c565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610809576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603460248201527f4f7074696d69736d4d696e7461626c6545524332303a206f6e6c79206272696460448201527f67652063616e206d696e7420616e64206275726e00000000000000000000000060648201526084016106ce565b6108138282610f27565b8173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405161072991815260200190565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091908381101561091f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016106ce565b6105b6828686840361093a565b600033610593818585610bc5565b73ffffffffffffffffffffffffffffffffffffffff83166109dc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff8216610a7f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610bbf5781811015610bb2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016106ce565b610bbf848484840361093a565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610c68576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff8216610d0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610dc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610bbf565b73ffffffffffffffffffffffffffffffffffffffff8216610eb1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016106ce565b8060026000828254610ec391906112cf565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8216610fca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015611080576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610ae1565b6000602082840312156110f557600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461112557600080fd5b9392505050565b600060208083528351808285015260005b818110156111595785810183015185820160400152820161113d565b8181111561116b576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146111c357600080fd5b919050565b600080604083850312156111db57600080fd5b6111e48361119f565b946020939093013593505050565b60008060006060848603121561120757600080fd5b6112108461119f565b925061121e6020850161119f565b9150604084013590509250925092565b60006020828403121561124057600080fd5b6111258261119f565b6000806040838503121561125c57600080fd5b6112658361119f565b91506112736020840161119f565b90509250929050565b600181811c9082168061129057607f821691505b6020821081036112c9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60008219821115611309577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b50019056fea2646970667358221220f21a65c38ff963b7fcf194d890ef0478048a540d10bfe5324dde6bf3dd5f61eb64736f6c634300080f0033a264697066735822122049fc50fdcc512610be2c5730c8fb01d639e351d34405ed1b6f25a3f6a87eb34664736f6c634300080f0033\",\n        \"nonce\": \"0x64\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0xe57d85ce1eb67b99348f595ad076f537a2c070c717e1834d6acd282163ddc10e\",\n      \"transactionIndex\": \"0x1\",\n      \"blockHash\": \"0x38426a7f370e978987e9bcb84476d6579d427f9645c706c7e250a0a23f15ecdf\",\n      \"blockNumber\": \"0x8310b0\",\n      \"from\": \"0xfd896Bf5Eba7E1B9843B91ef6182DE16B547273B\",\n      \"to\": \"0x4e59b44847b379578588920cA78FbF26c0B4956C\",\n      \"cumulativeGasUsed\": \"0x1d2fbd\",\n      \"gasUsed\": \"0x1c8466\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x6539A3F5FBf41B3f601C418712a45660f00FdAE9\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0x38426a7f370e978987e9bcb84476d6579d427f9645c706c7e250a0a23f15ecdf\",\n          \"blockNumber\": \"0x8310b0\",\n          \"transactionHash\": \"0xe57d85ce1eb67b99348f595ad076f537a2c070c717e1834d6acd282163ddc10e\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x0\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000008000000000000000000000000000000000000000080000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d05f1f\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1712947267,\n  \"chain\": 84532,\n  \"commit\": \"82171e7\"\n}"
  },
  {
    "path": "sepolia/2024-04-10-deploy-ERC20Factory/records/RunERC20FactoryDeploy.s.sol/84532/run-1713280540.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x8ede91c21d5b4e05688da42e87460d4a49a0c525fa77521f641e0b279f142e93\",\n      \"transactionType\": \"CREATE2\",\n      \"contractName\": \"OptimismMintableERC20Factory\",\n      \"contractAddress\": \"0xa55d579461bb6be7691c5109e94faaea4557b674\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"from\": \"0xfd896bf5eba7e1b9843b91ef6182de16b547273b\",\n        \"to\": \"0x4e59b44847b379578588920ca78fbf26c0b4956c\",\n        \"gas\": \"0x2760bd\",\n        \"value\": \"0x0\",\n        \"input\": \"0x3078424135454400000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b5061001b6000610020565b610169565b600054610100900460ff16158080156100405750600054600160ff909116105b8061006b57506100593061015a60201b61059d1760201c565b15801561006b575060005460ff166001145b6100d25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff1916600117905580156100f5576000805461ff0019166101001790555b600180546001600160a01b0319166001600160a01b0384161790558015610156576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6001600160a01b03163b151590565b61207e806101786000396000f3fe60806040523480156200001157600080fd5b5060043610620000875760003560e01c8063c4d66de81162000062578063c4d66de81462000135578063ce5ac90f146200014e578063e78cea921462000165578063ee9a31a2146200018657600080fd5b806354fd4d50146200008c578063896f93d114620000e15780638cf0629c146200011e575b600080fd5b620000c96040518060400160405280600581526020017f312e392e3000000000000000000000000000000000000000000000000000000081525081565b604051620000d8919062000635565b60405180910390f35b620000f8620000f23660046200075d565b620001a5565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001620000d8565b620000f86200012f366004620007da565b620001bc565b6200014c6200014636600462000871565b620003ba565b005b620000f86200015f3660046200075d565b6200058c565b600154620000f89073ffffffffffffffffffffffffffffffffffffffff1681565b60015473ffffffffffffffffffffffffffffffffffffffff16620000f8565b6000620001b48484846200058c565b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff851662000267576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f4f7074696d69736d4d696e7461626c654552433230466163746f72793a206d7560448201527f73742070726f766964652072656d6f746520746f6b656e20616464726573730060648201526084015b60405180910390fd5b6000858585856040516020016200028294939291906200088f565b604051602081830303815290604052805190602001209050600081600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1688888888604051620002d290620005b9565b620002e2959493929190620008e9565b8190604051809103906000f590508015801562000303573d6000803e3d6000fd5b5090508073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fceeb8e7d520d7f3b65fc11a262b91066940193b05d4f93df07cfdced0eb551cf60405160405180910390a360405133815273ffffffffffffffffffffffffffffffffffffffff80891691908316907f52fe89dd5930f343d25650b62fd367bae47088bcddffd2a88350a6ecdd620cdb9060200160405180910390a39695505050505050565b600054610100900460ff1615808015620003db5750600054600160ff909116105b80620003f75750303b158015620003f7575060005460ff166001145b62000485576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016200025e565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015620004e457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841617905580156200058857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6000620001b48484846012620001bc565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b6116fa806200094f83390190565b6000815180845260005b81811015620005ef57602081850181015186830182015201620005d1565b8181111562000602576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006200064a6020830184620005c7565b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146200067657600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112620006bc57600080fd5b813567ffffffffffffffff80821115620006da57620006da6200067b565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156200072357620007236200067b565b816040528381528660208588010111156200073d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156200077357600080fd5b6200077e8462000651565b9250602084013567ffffffffffffffff808211156200079c57600080fd5b620007aa87838801620006aa565b93506040860135915080821115620007c157600080fd5b50620007d086828701620006aa565b9150509250925092565b60008060008060808587031215620007f157600080fd5b620007fc8562000651565b9350602085013567ffffffffffffffff808211156200081a57600080fd5b6200082888838901620006aa565b945060408701359150808211156200083f57600080fd5b506200084e87828801620006aa565b925050606085013560ff811681146200086657600080fd5b939692955090935050565b6000602082840312156200088457600080fd5b6200064a8262000651565b73ffffffffffffffffffffffffffffffffffffffff85168152608060208201526000620008c06080830186620005c7565b8281036040840152620008d48186620005c7565b91505060ff8316606083015295945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a060408301526200092460a0830186620005c7565b8281036060840152620009388186620005c7565b91505060ff83166080830152969550505050505056fe60e06040523480156200001157600080fd5b50604051620016fa380380620016fa833981016040819052620000349162000163565b828260036200004483826200029e565b5060046200005382826200029e565b5050506001600160a01b039384166080529390921660a052505060ff1660c0526200036a565b80516001600160a01b03811681146200009157600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620000be57600080fd5b81516001600160401b0380821115620000db57620000db62000096565b604051601f8301601f19908116603f0116810190828211818310171562000106576200010662000096565b816040528381526020925086838588010111156200012357600080fd5b600091505b8382101562000147578582018301518183018401529082019062000128565b83821115620001595760008385830101525b9695505050505050565b600080600080600060a086880312156200017c57600080fd5b620001878662000079565b9450620001976020870162000079565b60408701519094506001600160401b0380821115620001b557600080fd5b620001c389838a01620000ac565b94506060880151915080821115620001da57600080fd5b50620001e988828901620000ac565b925050608086015160ff811681146200020157600080fd5b809150509295509295909350565b600181811c908216806200022457607f821691505b6020821081036200024557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200029957600081815260208120601f850160051c81016020861015620002745750805b601f850160051c820191505b81811015620002955782815560010162000280565b5050505b505050565b81516001600160401b03811115620002ba57620002ba62000096565b620002d281620002cb84546200020f565b846200024b565b602080601f8311600181146200030a5760008415620002f15750858301515b600019600386901b1c1916600185901b17855562000295565b600085815260208120601f198616915b828110156200033b578886015182559484019460019091019084016200031a565b50858210156200035a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c051611344620003b6600039600061024401526000818161034b015281816103e001528181610625015261075c0152600081816101a9015261037101526113446000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c806370a08231116100d8578063ae1f6aaf1161008c578063dd62ed3e11610066578063dd62ed3e14610395578063e78cea9214610349578063ee9a31a2146103db57600080fd5b8063ae1f6aaf14610349578063c01e1bd61461036f578063d6c0b2c41461036f57600080fd5b80639dc29fac116100bd5780639dc29fac14610310578063a457c2d714610323578063a9059cbb1461033657600080fd5b806370a08231146102d257806395d89b411461030857600080fd5b806323b872dd1161012f5780633950935111610114578063395093511461026e57806340c10f191461028157806354fd4d501461029657600080fd5b806323b872dd1461022a578063313ce5671461023d57600080fd5b806306fdde031161016057806306fdde03146101f0578063095ea7b31461020557806318160ddd1461021857600080fd5b806301ffc9a71461017c578063033964be146101a4575b600080fd5b61018f61018a3660046110e3565b610402565b60405190151581526020015b60405180910390f35b6101cb7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019b565b6101f86104f3565b60405161019b919061112c565b61018f6102133660046111c8565b610585565b6002545b60405190815260200161019b565b61018f6102383660046111f2565b61059d565b60405160ff7f000000000000000000000000000000000000000000000000000000000000000016815260200161019b565b61018f61027c3660046111c8565b6105c1565b61029461028f3660046111c8565b61060d565b005b6101f86040518060400160405280600581526020017f312e332e3000000000000000000000000000000000000000000000000000000081525081565b61021c6102e036600461122e565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6101f8610735565b61029461031e3660046111c8565b610744565b61018f6103313660046111c8565b61085b565b61018f6103443660046111c8565b61092c565b7f00000000000000000000000000000000000000000000000000000000000000006101cb565b7f00000000000000000000000000000000000000000000000000000000000000006101cb565b61021c6103a3366004611249565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6101cb7f000000000000000000000000000000000000000000000000000000000000000081565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007f1d1d8b63000000000000000000000000000000000000000000000000000000007fec4fc8e3000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000085168314806104bb57507fffffffff00000000000000000000000000000000000000000000000000000000858116908316145b806104ea57507fffffffff00000000000000000000000000000000000000000000000000000000858116908216145b95945050505050565b6060600380546105029061127c565b80601f016020809104026020016040519081016040528092919081815260200182805461052e9061127c565b801561057b5780601f106105505761010080835404028352916020019161057b565b820191906000526020600020905b81548152906001019060200180831161055e57829003601f168201915b5050505050905090565b60003361059381858561093a565b5060019392505050565b6000336105ab858285610aee565b6105b6858585610bc5565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919061059390829086906106089087906112cf565b61093a565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146106d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603460248201527f4f7074696d69736d4d696e7461626c6545524332303a206f6e6c79206272696460448201527f67652063616e206d696e7420616e64206275726e00000000000000000000000060648201526084015b60405180910390fd5b6106e18282610e34565b8173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858260405161072991815260200190565b60405180910390a25050565b6060600480546105029061127c565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610809576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603460248201527f4f7074696d69736d4d696e7461626c6545524332303a206f6e6c79206272696460448201527f67652063616e206d696e7420616e64206275726e00000000000000000000000060648201526084016106ce565b6108138282610f27565b8173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405161072991815260200190565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091908381101561091f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016106ce565b6105b6828686840361093a565b600033610593818585610bc5565b73ffffffffffffffffffffffffffffffffffffffff83166109dc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff8216610a7f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610bbf5781811015610bb2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016106ce565b610bbf848484840361093a565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610c68576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff8216610d0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610dc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610bbf565b73ffffffffffffffffffffffffffffffffffffffff8216610eb1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016106ce565b8060026000828254610ec391906112cf565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8216610fca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015611080576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610ae1565b6000602082840312156110f557600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461112557600080fd5b9392505050565b600060208083528351808285015260005b818110156111595785810183015185820160400152820161113d565b8181111561116b576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146111c357600080fd5b919050565b600080604083850312156111db57600080fd5b6111e48361119f565b946020939093013593505050565b60008060006060848603121561120757600080fd5b6112108461119f565b925061121e6020850161119f565b9150604084013590509250925092565b60006020828403121561124057600080fd5b6111258261119f565b6000806040838503121561125c57600080fd5b6112658361119f565b91506112736020840161119f565b90509250929050565b600181811c9082168061129057607f821691505b6020821081036112c9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60008219821115611309577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b50019056fea26469706673582212202df4e3515813e1e6acc68b8e6669c69c12451a433f10f8f772ab4f305cf2278a64736f6c634300080f0033a2646970667358221220cad1c50fecc4745ea0d4dac6e3422feea951aaf984027aeef5296a626bddc9e264736f6c634300080f0033\",\n        \"nonce\": \"0x65\",\n        \"chainId\": \"0x14a34\",\n        \"accessList\": null,\n        \"type\": null\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x217889\",\n      \"logs\": [\n        {\n          \"address\": \"0xa55d579461bb6be7691c5109e94faaea4557b674\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0x85991a4e54d7a64ae7124cfbce5bd8657e318cec06d3a0ee1769e0e9216505d4\",\n          \"blockNumber\": \"0x859b9c\",\n          \"transactionHash\": \"0x8ede91c21d5b4e05688da42e87460d4a49a0c525fa77521f641e0b279f142e93\",\n          \"transactionIndex\": \"0x5\",\n          \"logIndex\": \"0x2\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x8ede91c21d5b4e05688da42e87460d4a49a0c525fa77521f641e0b279f142e93\",\n      \"transactionIndex\": \"0x5\",\n      \"blockHash\": \"0x85991a4e54d7a64ae7124cfbce5bd8657e318cec06d3a0ee1769e0e9216505d4\",\n      \"blockNumber\": \"0x859b9c\",\n      \"gasUsed\": \"0x1c8466\",\n      \"effectiveGasPrice\": \"0x187e2\",\n      \"from\": \"0xfd896bf5eba7e1b9843b91ef6182de16b547273b\",\n      \"to\": \"0x4e59b44847b379578588920ca78fbf26c0b4956c\",\n      \"contractAddress\": null,\n      \"l1Fee\": \"0x9dd237d9e33e\",\n      \"l1GasPrice\": \"0x684263\",\n      \"l1GasUsed\": \"0x1dcd8\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1713280540,\n  \"chain\": 84532,\n  \"commit\": \"19ee800\"\n}"
  },
  {
    "path": "sepolia/2024-04-10-deploy-ERC20Factory/script/RunERC20FactoryDeploy.s.sol",
    "content": "\n// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"forge-std/Script.sol\";\nimport {OptimismMintableERC20Factory} from \"@eth-optimism-bedrock/src/universal/OptimismMintableERC20Factory.sol\";\n\ncontract RunERC20FactoryDeploy is Script {\n    function run() public {\n        uint256 deployerPrivateKey = vm.envUint(\"PRIVATE_KEY\");\n        vm.startBroadcast(deployerPrivateKey);\n        new OptimismMintableERC20Factory{salt: '0xBA5ED'}();\n    }\n}"
  },
  {
    "path": "sepolia/2024-04-30-deployTempERC20Factory/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n##\n# Deploy command\n##\n.PHONY: deploy\ndeploy:\n\tforge script RunERC20FactoryDeploy --rpc-url $(L2_RPC_URL) --broadcast --verify"
  },
  {
    "path": "sepolia/2024-04-30-deployTempERC20Factory/deployed/addresses.json",
    "content": "{}\n"
  },
  {
    "path": "sepolia/2024-04-30-deployTempERC20Factory/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\n\n# note 'src/universal=lib/optimism/packages/contracts-bedrock/src/universal' is needed\n# for relative paths in optimism repo to work\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n    'src/universal=lib/optimism/packages/contracts-bedrock/src/universal' \n]\n\n"
  },
  {
    "path": "sepolia/2024-04-30-deployTempERC20Factory/inputs/construct-config.sh",
    "content": "#!/bin/bash\n\nDEPLOY_FIELDS='\"baseFeeVaultRecipient\",\"batchSenderAddress\",\"controller\",\"deployerAddress\",\"finalSystemOwner\",\"finalizationPeriodSeconds\",\"gasPriceOracleOverhead\",\"gasPriceOracleScalar\",\"l1ChainID\",\"l1FeeVaultRecipient\",\"l2BlockTime\",\"l2ChainID\",\"l2OutputOracleChallenger\",\"l2OutputOracleProposer\",\"l2OutputOracleStartingBlockNumber\",\"l2OutputOracleStartingTimestamp\",\"l2OutputOracleSubmissionInterval\",\"p2pSequencerAddress\",\"portalGuardian\",\"proxyAdminOwnerL2\",\"sequencerFeeVaultRecipient\"'\n\nDEPLOY_CONFIG_FILE=\"inputs/deploy-config.json\"\nMISC_CONFIG_FILE=\"inputs/misc-config.json\"\nFOUNDRY_CONFIG_FILE=\"inputs/foundry-config.json\"\n\n# Convert field from hex to decimal\nVALUE=$(jq -r '.l2GenesisBlockGasLimit' \"$DEPLOY_CONFIG_FILE\")\nGAS_LIMIT=$(printf %d $VALUE)\n\n# Construct config file which will be the input in deploy script\njq -s '.[0] * .[1]' \"$DEPLOY_CONFIG_FILE\" \"$MISC_CONFIG_FILE\" | \\\njq \"with_entries(select([.key] | inside([$DEPLOY_FIELDS])))\" | \\\njq --arg l2GenesisBlockGasLimit $GAS_LIMIT '. + {l2GenesisBlockGasLimit: $l2GenesisBlockGasLimit | tonumber}' | \\\njq --sort-keys | \\\njq '{\"deployConfig\": .}' > \"$FOUNDRY_CONFIG_FILE\"\n"
  },
  {
    "path": "sepolia/2024-04-30-deployTempERC20Factory/inputs/deploy-config.json",
    "content": ""
  },
  {
    "path": "sepolia/2024-04-30-deployTempERC20Factory/inputs/misc-config.json",
    "content": ""
  },
  {
    "path": "sepolia/2024-04-30-deployTempERC20Factory/records/RunDeployERC20Factory.sol/84532/run-1714484076.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xd37121f6a788a21e1f6e465791ddc74077738c0df4db805885c8429d5c3a395a\",\n      \"transactionType\": \"CREATE2\",\n      \"contractName\": \"ERC20Factory\",\n      \"contractAddress\": \"0xf10122d428b4bc8a9d050d06a2037259b4c4b83b\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"from\": \"0xfd896bf5eba7e1b9843b91ef6182de16b547273b\",\n        \"to\": \"0x4e59b44847b379578588920ca78fbf26c0b4956c\",\n        \"gas\": \"0x2a33fe\",\n        \"value\": \"0x0\",\n        \"input\": \"0x3078424135454400000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b5061001b600061003d565b61003873420000000000000000000000000000000000001061003d565b610186565b600054610100900460ff161580801561005d5750600054600160ff909116105b8061008857506100763061017760201b61059d1760201c565b158015610088575060005460ff166001145b6100ef5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff191660011790558015610112576000805461ff0019166101001790555b600180546001600160a01b0319166001600160a01b0384161790558015610173576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6001600160a01b03163b151590565b61207e806101956000396000f3fe60806040523480156200001157600080fd5b5060043610620000875760003560e01c8063c4d66de81162000062578063c4d66de81462000135578063ce5ac90f146200014e578063e78cea921462000165578063ee9a31a2146200018657600080fd5b806354fd4d50146200008c578063896f93d114620000e15780638cf0629c146200011e575b600080fd5b620000c96040518060400160405280600581526020017f312e392e3000000000000000000000000000000000000000000000000000000081525081565b604051620000d8919062000635565b60405180910390f35b620000f8620000f23660046200075d565b620001a5565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001620000d8565b620000f86200012f366004620007da565b620001bc565b6200014c6200014636600462000871565b620003ba565b005b620000f86200015f3660046200075d565b6200058c565b600154620000f89073ffffffffffffffffffffffffffffffffffffffff1681565b60015473ffffffffffffffffffffffffffffffffffffffff16620000f8565b6000620001b48484846200058c565b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff851662000267576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f4f7074696d69736d4d696e7461626c654552433230466163746f72793a206d7560448201527f73742070726f766964652072656d6f746520746f6b656e20616464726573730060648201526084015b60405180910390fd5b6000858585856040516020016200028294939291906200088f565b604051602081830303815290604052805190602001209050600081600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1688888888604051620002d290620005b9565b620002e2959493929190620008e9565b8190604051809103906000f590508015801562000303573d6000803e3d6000fd5b5090508073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fceeb8e7d520d7f3b65fc11a262b91066940193b05d4f93df07cfdced0eb551cf60405160405180910390a360405133815273ffffffffffffffffffffffffffffffffffffffff80891691908316907f52fe89dd5930f343d25650b62fd367bae47088bcddffd2a88350a6ecdd620cdb9060200160405180910390a39695505050505050565b600054610100900460ff1615808015620003db5750600054600160ff909116105b80620003f75750303b158015620003f7575060005460ff166001145b62000485576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016200025e565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015620004e457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841617905580156200058857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6000620001b48484846012620001bc565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b6116fa806200094f83390190565b6000815180845260005b81811015620005ef57602081850181015186830182015201620005d1565b8181111562000602576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006200064a6020830184620005c7565b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146200067657600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112620006bc57600080fd5b813567ffffffffffffffff80821115620006da57620006da6200067b565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156200072357620007236200067b565b816040528381528660208588010111156200073d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156200077357600080fd5b6200077e8462000651565b9250602084013567ffffffffffffffff808211156200079c57600080fd5b620007aa87838801620006aa565b93506040860135915080821115620007c157600080fd5b50620007d086828701620006aa565b9150509250925092565b60008060008060808587031215620007f157600080fd5b620007fc8562000651565b9350602085013567ffffffffffffffff808211156200081a57600080fd5b6200082888838901620006aa565b945060408701359150808211156200083f57600080fd5b506200084e87828801620006aa565b925050606085013560ff811681146200086657600080fd5b939692955090935050565b6000602082840312156200088457600080fd5b6200064a8262000651565b73ffffffffffffffffffffffffffffffffffffffff85168152608060208201526000620008c06080830186620005c7565b8281036040840152620008d48186620005c7565b91505060ff8316606083015295945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a060408301526200092460a0830186620005c7565b8281036060840152620009388186620005c7565b91505060ff83166080830152969550505050505056fe60e06040523480156200001157600080fd5b50604051620016fa380380620016fa833981016040819052620000349162000163565b828260036200004483826200029e565b5060046200005382826200029e565b5050506001600160a01b039384166080529390921660a052505060ff1660c0526200036a565b80516001600160a01b03811681146200009157600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620000be57600080fd5b81516001600160401b0380821115620000db57620000db62000096565b604051601f8301601f19908116603f0116810190828211818310171562000106576200010662000096565b816040528381526020925086838588010111156200012357600080fd5b600091505b8382101562000147578582018301518183018401529082019062000128565b83821115620001595760008385830101525b9695505050505050565b600080600080600060a086880312156200017c57600080fd5b620001878662000079565b9450620001976020870162000079565b60408701519094506001600160401b0380821115620001b557600080fd5b620001c389838a01620000ac565b94506060880151915080821115620001da57600080fd5b50620001e988828901620000ac565b925050608086015160ff811681146200020157600080fd5b809150509295509295909350565b600181811c908216806200022457607f821691505b6020821081036200024557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200029957600081815260208120601f850160051c81016020861015620002745750805b601f850160051c820191505b81811015620002955782815560010162000280565b5050505b505050565b81516001600160401b03811115620002ba57620002ba62000096565b620002d281620002cb84546200020f565b846200024b565b602080601f8311600181146200030a5760008415620002f15750858301515b600019600386901b1c1916600185901b17855562000295565b600085815260208120601f198616915b828110156200033b578886015182559484019460019091019084016200031a565b50858210156200035a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c051611344620003b6600039600061024401526000818161034b015281816103e001528181610625015261075c0152600081816101a9015261037101526113446000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c806370a08231116100d8578063ae1f6aaf1161008c578063dd62ed3e11610066578063dd62ed3e14610395578063e78cea9214610349578063ee9a31a2146103db57600080fd5b8063ae1f6aaf14610349578063c01e1bd61461036f578063d6c0b2c41461036f57600080fd5b80639dc29fac116100bd5780639dc29fac14610310578063a457c2d714610323578063a9059cbb1461033657600080fd5b806370a08231146102d257806395d89b411461030857600080fd5b806323b872dd1161012f5780633950935111610114578063395093511461026e57806340c10f191461028157806354fd4d501461029657600080fd5b806323b872dd1461022a578063313ce5671461023d57600080fd5b806306fdde031161016057806306fdde03146101f0578063095ea7b31461020557806318160ddd1461021857600080fd5b806301ffc9a71461017c578063033964be146101a4575b600080fd5b61018f61018a3660046110e3565b610402565b60405190151581526020015b60405180910390f35b6101cb7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019b565b6101f86104f3565b60405161019b919061112c565b61018f6102133660046111c8565b610585565b6002545b60405190815260200161019b565b61018f6102383660046111f2565b61059d565b60405160ff7f000000000000000000000000000000000000000000000000000000000000000016815260200161019b565b61018f61027c3660046111c8565b6105c1565b61029461028f3660046111c8565b61060d565b005b6101f86040518060400160405280600581526020017f312e332e3000000000000000000000000000000000000000000000000000000081525081565b61021c6102e036600461122e565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6101f8610735565b61029461031e3660046111c8565b610744565b61018f6103313660046111c8565b61085b565b61018f6103443660046111c8565b61092c565b7f00000000000000000000000000000000000000000000000000000000000000006101cb565b7f00000000000000000000000000000000000000000000000000000000000000006101cb565b61021c6103a3366004611249565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6101cb7f000000000000000000000000000000000000000000000000000000000000000081565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007f1d1d8b63000000000000000000000000000000000000000000000000000000007fec4fc8e3000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000085168314806104bb57507fffffffff00000000000000000000000000000000000000000000000000000000858116908316145b806104ea57507fffffffff00000000000000000000000000000000000000000000000000000000858116908216145b95945050505050565b6060600380546105029061127c565b80601f016020809104026020016040519081016040528092919081815260200182805461052e9061127c565b801561057b5780601f106105505761010080835404028352916020019161057b565b820191906000526020600020905b81548152906001019060200180831161055e57829003601f168201915b5050505050905090565b60003361059381858561093a565b5060019392505050565b6000336105ab858285610aee565b6105b6858585610bc5565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919061059390829086906106089087906112cf565b61093a565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146106d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603460248201527f4f7074696d69736d4d696e7461626c6545524332303a206f6e6c79206272696460448201527f67652063616e206d696e7420616e64206275726e00000000000000000000000060648201526084015b60405180910390fd5b6106e18282610e34565b8173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858260405161072991815260200190565b60405180910390a25050565b6060600480546105029061127c565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610809576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603460248201527f4f7074696d69736d4d696e7461626c6545524332303a206f6e6c79206272696460448201527f67652063616e206d696e7420616e64206275726e00000000000000000000000060648201526084016106ce565b6108138282610f27565b8173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405161072991815260200190565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091908381101561091f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016106ce565b6105b6828686840361093a565b600033610593818585610bc5565b73ffffffffffffffffffffffffffffffffffffffff83166109dc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff8216610a7f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610bbf5781811015610bb2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016106ce565b610bbf848484840361093a565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610c68576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff8216610d0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610dc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610bbf565b73ffffffffffffffffffffffffffffffffffffffff8216610eb1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016106ce565b8060026000828254610ec391906112cf565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8216610fca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015611080576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610ae1565b6000602082840312156110f557600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461112557600080fd5b9392505050565b600060208083528351808285015260005b818110156111595785810183015185820160400152820161113d565b8181111561116b576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146111c357600080fd5b919050565b600080604083850312156111db57600080fd5b6111e48361119f565b946020939093013593505050565b60008060006060848603121561120757600080fd5b6112108461119f565b925061121e6020850161119f565b9150604084013590509250925092565b60006020828403121561124057600080fd5b6111258261119f565b6000806040838503121561125c57600080fd5b6112658361119f565b91506112736020840161119f565b90509250929050565b600181811c9082168061129057607f821691505b6020821081036112c9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60008219821115611309577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b50019056fea26469706673582212209d6a73773a8b3ada7d4c6d75345f8313289c1253717e855c8b5987154ecfb2b164736f6c634300080f0033a2646970667358221220a687cfe67e1c7171a707b2cd7a2d1a0ce8bd4b8d1c8be1013687c9d175d4ae4d64736f6c634300080f0033\",\n        \"nonce\": \"0x74\",\n        \"chainId\": \"0x14a34\",\n        \"accessList\": null,\n        \"type\": null\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x2c4328\",\n      \"logs\": [\n        {\n          \"address\": \"0xf10122d428b4bc8a9d050d06a2037259b4c4b83b\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0x724060e992f5d54626693c53c8f14519b9c8fd22b5ff1fba0fca13ae2adc00c7\",\n          \"blockNumber\": \"0x8eca3b\",\n          \"transactionHash\": \"0xd37121f6a788a21e1f6e465791ddc74077738c0df4db805885c8429d5c3a395a\",\n          \"transactionIndex\": \"0x7\",\n          \"logIndex\": \"0x5\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf10122d428b4bc8a9d050d06a2037259b4c4b83b\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0x724060e992f5d54626693c53c8f14519b9c8fd22b5ff1fba0fca13ae2adc00c7\",\n          \"blockNumber\": \"0x8eca3b\",\n          \"transactionHash\": \"0xd37121f6a788a21e1f6e465791ddc74077738c0df4db805885c8429d5c3a395a\",\n          \"transactionIndex\": \"0x7\",\n          \"logIndex\": \"0x6\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xd37121f6a788a21e1f6e465791ddc74077738c0df4db805885c8429d5c3a395a\",\n      \"transactionIndex\": \"0x7\",\n      \"blockHash\": \"0x724060e992f5d54626693c53c8f14519b9c8fd22b5ff1fba0fca13ae2adc00c7\",\n      \"blockNumber\": \"0x8eca3b\",\n      \"gasUsed\": \"0x1cdd7b\",\n      \"effectiveGasPrice\": \"0xf436f\",\n      \"from\": \"0xfd896bf5eba7e1b9843b91ef6182de16b547273b\",\n      \"to\": \"0x4e59b44847b379578588920ca78fbf26c0b4956c\",\n      \"contractAddress\": \"0xf10122d428b4bc8a9d050d06a2037259b4c4b83b\",\n      \"l1Fee\": \"0x25a83698b8754\",\n      \"l1GasPrice\": \"0x307fb4f01\",\n      \"l1GasUsed\": \"0x1dddc\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1714484076,\n  \"chain\": 84532,\n  \"commit\": \"da64ba9\"\n}"
  },
  {
    "path": "sepolia/2024-04-30-deployTempERC20Factory/script/RunDeployERC20Factory.sol",
    "content": "\n// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"forge-std/Script.sol\";\nimport {ERC20Factory} from \"../src/ERC20Factory.sol\";\n\ncontract RunERC20FactoryDeploy is Script {\n    function run() public {\n        uint256 deployerPrivateKey = vm.envUint(\"PRIVATE_KEY\");\n        vm.startBroadcast(deployerPrivateKey);\n        new ERC20Factory{salt: '0xBA5ED'}();\n    }\n}"
  },
  {
    "path": "sepolia/2024-04-30-deployTempERC20Factory/src/ERC20Factory.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {OptimismMintableERC20Factory} from \"@eth-optimism-bedrock/src/universal/OptimismMintableERC20Factory.sol\";\n\ncontract ERC20Factory is OptimismMintableERC20Factory {\n  constructor() {\n    initialize({ _bridge: address(0x4200000000000000000000000000000000000010 ) });\n  }\n}"
  },
  {
    "path": "sepolia/2024-05-30-transfer-proxyadmin-owners/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n##\n# Foundry commands\n##\n.PHONY: transfer-l1-proxy-admin-owner\ntransfer-l1-proxy-admin-owner:\n\t@forge script TransferL1ProxyAdminOwner --private-key $(PRIVATE_KEY) --broadcast --rpc-url $(L1_RPC_URL) --sig \"run()\"\n\n.PHONY: transfer-l2-proxy-admin-owner\ntransfer-l2-proxy-admin-owner:\n\t@forge script TransferL2ProxyAdminOwner --private-key $(PRIVATE_KEY) --broadcast --rpc-url $(L2_RPC_URL) --sig \"run()\"\n\n.PHONY: transfer-system-config-proxy-owner\ntransfer-system-config-proxy-owner:\n\t@forge script TransferSystemConfigProxyOwner --private-key $(PRIVATE_KEY) --broadcast --rpc-url $(L1_RPC_URL) --sig \"run()\"\n\n"
  },
  {
    "path": "sepolia/2024-05-30-transfer-proxyadmin-owners/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "sepolia/2024-05-30-transfer-proxyadmin-owners/records/TransferL1ProxyAdminOwner.s.sol/11155111/run-1717448862.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x643ade451b869d9a95b5b5089e3887303814d9884030b9d6e8069b72c8708ede\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"ProxyAdmin\",\n      \"contractAddress\": \"0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3\",\n      \"function\": \"transferOwnership(address)\",\n      \"arguments\": [\n        \"0x0fe884546476dDd290eC46318785046ef68a0BA9\"\n      ],\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x608081689fe46936fb2fbdf7552cbb1d80ad4822\",\n        \"to\": \"0x0389e59aa0a41e4a413ae70f0008e76caa34b1f3\",\n        \"gas\": \"0xa32b\",\n        \"value\": \"0x0\",\n        \"data\": \"0xf2fde38b0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9\",\n        \"nonce\": \"0x3\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0x643ade451b869d9a95b5b5089e3887303814d9884030b9d6e8069b72c8708ede\",\n      \"transactionIndex\": \"0x13\",\n      \"blockHash\": \"0x45cb3a826cd5fef991612c2f465d6da09f3b2f23128a367b8ef9df46c274eb18\",\n      \"blockNumber\": \"0x5c1138\",\n      \"from\": \"0x608081689Fe46936fB2fBDF7552CbB1D80ad4822\",\n      \"to\": \"0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3\",\n      \"cumulativeGasUsed\": \"0x155d18\",\n      \"gasUsed\": \"0x6f92\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x000000000000000000000000608081689fe46936fb2fbdf7552cbb1d80ad4822\",\n            \"0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x45cb3a826cd5fef991612c2f465d6da09f3b2f23128a367b8ef9df46c274eb18\",\n          \"blockNumber\": \"0x5c1138\",\n          \"transactionHash\": \"0x643ade451b869d9a95b5b5089e3887303814d9884030b9d6e8069b72c8708ede\",\n          \"transactionIndex\": \"0x13\",\n          \"logIndex\": \"0x18\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000800008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000080000000000000000000080000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000004000000000000000000000000000000000020400000000000000000000000001000000000000000000000000000400000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xe77df4fe\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1717448862,\n  \"chain\": 11155111,\n  \"commit\": \"82b71ed\"\n}"
  },
  {
    "path": "sepolia/2024-05-30-transfer-proxyadmin-owners/records/TransferL2ProxyAdminOwner.s.sol/84532/run-1717448942.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x86c4e558f7d12633352518d37de66a4b47f143e3aa4dbfd159898f2e9560992e\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x4200000000000000000000000000000000000018\",\n      \"function\": \"transferOwnership(address)\",\n      \"arguments\": [\n        \"0x20f984546476DDd290eC46318785046eF68a1Cba\"\n      ],\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x8937037a0bb08658e5a178c182e60b12f14720ce\",\n        \"to\": \"0x4200000000000000000000000000000000000018\",\n        \"gas\": \"0xbfa3\",\n        \"value\": \"0x0\",\n        \"data\": \"0xf2fde38b00000000000000000000000020f984546476ddd290ec46318785046ef68a1cba\",\n        \"nonce\": \"0x9\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0x86c4e558f7d12633352518d37de66a4b47f143e3aa4dbfd159898f2e9560992e\",\n      \"transactionIndex\": \"0x1\",\n      \"blockHash\": \"0xbf944b2cb082b923913b412eac67c4e68d236fd89a2034b311cfc3a551526979\",\n      \"blockNumber\": \"0xa56904\",\n      \"from\": \"0x8937037a0bB08658e5A178C182e60b12f14720ce\",\n      \"to\": \"0x4200000000000000000000000000000000000018\",\n      \"cumulativeGasUsed\": \"0x14f3c\",\n      \"gasUsed\": \"0x8309\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x4200000000000000000000000000000000000018\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000008937037a0bb08658e5a178c182e60b12f14720ce\",\n            \"0x00000000000000000000000020f984546476ddd290ec46318785046ef68a1cba\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xbf944b2cb082b923913b412eac67c4e68d236fd89a2034b311cfc3a551526979\",\n          \"blockNumber\": \"0xa56904\",\n          \"transactionHash\": \"0x86c4e558f7d12633352518d37de66a4b47f143e3aa4dbfd159898f2e9560992e\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x0\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000800000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000001000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000001000000000000000000000000000000000000000001000000000000800000400000000000000000000000000000000000000000000000400000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d05eff\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1717448942,\n  \"chain\": 84532,\n  \"commit\": \"82b71ed\"\n}"
  },
  {
    "path": "sepolia/2024-05-30-transfer-proxyadmin-owners/records/TransferSystemConfigProxyOwner.s.sol/11155111/run-1717449020.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x2ddaa53c173eef0b3d23a3ae504ce55d375a8335c1815e444f6886ead83dd3c0\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0xf272670eb55e895584501d564AfEB048bEd26194\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x608081689fe46936fb2fbdf7552cbb1d80ad4822\",\n        \"to\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n        \"gas\": \"0xb547\",\n        \"value\": \"0x0\",\n        \"data\": \"0xf2fde38b0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9\",\n        \"nonce\": \"0x4\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0x2ddaa53c173eef0b3d23a3ae504ce55d375a8335c1815e444f6886ead83dd3c0\",\n      \"transactionIndex\": \"0xd\",\n      \"blockHash\": \"0xef07c027ee215c13711fed9cb291857f49e56914df54a8626d39518b5a679995\",\n      \"blockNumber\": \"0x5c1144\",\n      \"from\": \"0x608081689Fe46936fB2fBDF7552CbB1D80ad4822\",\n      \"to\": \"0xf272670eb55e895584501d564AfEB048bEd26194\",\n      \"cumulativeGasUsed\": \"0xc67b9\",\n      \"gasUsed\": \"0x833f\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0xf272670eb55e895584501d564AfEB048bEd26194\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x000000000000000000000000608081689fe46936fb2fbdf7552cbb1d80ad4822\",\n            \"0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xef07c027ee215c13711fed9cb291857f49e56914df54a8626d39518b5a679995\",\n          \"blockNumber\": \"0x5c1144\",\n          \"transactionHash\": \"0x2ddaa53c173eef0b3d23a3ae504ce55d375a8335c1815e444f6886ead83dd3c0\",\n          \"transactionIndex\": \"0xd\",\n          \"logIndex\": \"0x3\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000800008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000400000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000800000000000000000000000000000000000000000000000000000000000000420400000000000000000000000001000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xdf0fc016\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1717449020,\n  \"chain\": 11155111,\n  \"commit\": \"82b71ed\"\n}"
  },
  {
    "path": "sepolia/2024-05-30-transfer-proxyadmin-owners/script/TransferL1ProxyAdminOwner.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"forge-std/Script.sol\";\nimport {OwnableUpgradeable} from \"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\";\nimport \"@eth-optimism-bedrock/src/universal/ProxyAdmin.sol\";\n\ncontract TransferL1ProxyAdminOwner is Script {\n    address internal PROXY_CONTRACT = vm.envAddress(\"PROXY_ADMIN\");\n    address internal OLD_OWNER = vm.envAddress(\"OLD_PROXY_ADMIN_OWNER\");\n    address internal NEW_OWNER = vm.envAddress(\"NEW_PROXY_ADMIN_OWNER\");\n\n    function run() public {\n        ProxyAdmin proxyAdmin = ProxyAdmin(PROXY_CONTRACT);\n        require(proxyAdmin.owner() == OLD_OWNER, \"L1 ProxyAdmin owner is not the expected owner\");\n        vm.startBroadcast(OLD_OWNER);\n        proxyAdmin.transferOwnership(NEW_OWNER);\n        require(proxyAdmin.owner() == NEW_OWNER, \"L1 ProxyAdmin owner did not get updated\");\n        vm.stopBroadcast();\n    }\n}\n"
  },
  {
    "path": "sepolia/2024-05-30-transfer-proxyadmin-owners/script/TransferL2ProxyAdminOwner.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"forge-std/Script.sol\";\nimport {OwnableUpgradeable} from \"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\";\nimport \"@eth-optimism-bedrock/src/libraries/Predeploys.sol\";\nimport \"@eth-optimism-bedrock/src/universal/ProxyAdmin.sol\";\n\ncontract TransferL2ProxyAdminOwner is Script {\n    address internal PROXY_CONTRACT = Predeploys.PROXY_ADMIN;\n    address internal OLD_OWNER = vm.envAddress(\"OLD_PROXY_ADMIN_OWNER_L2\");\n    address internal NEW_OWNER = vm.envAddress(\"NEW_PROXY_ADMIN_OWNER_L2\");\n\n    function run() public {\n        ProxyAdmin proxyAdmin = ProxyAdmin(PROXY_CONTRACT);\n        require(proxyAdmin.owner() == OLD_OWNER, \"L2 ProxyAdmin owner is not the expected owner\");\n        vm.startBroadcast(OLD_OWNER);\n        proxyAdmin.transferOwnership(NEW_OWNER);\n        require(proxyAdmin.owner() == NEW_OWNER, \"L2 ProxyAdmin owner did not get updated\");\n        vm.stopBroadcast();\n    }\n}\n"
  },
  {
    "path": "sepolia/2024-05-30-transfer-proxyadmin-owners/script/TransferSystemConfigProxyOwner.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"forge-std/Script.sol\";\nimport {OwnableUpgradeable} from \"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\";\n\ncontract TransferSystemConfigProxyOwner is Script {\n    address internal SYSTEM_CONFIG_PROXY = vm.envAddress(\"SYSTEM_CONFIG_PROXY\");\n    address internal OLD_OWNER = vm.envAddress(\"OLD_SYSTEM_CONFIG_OWNER\");\n    address internal NEW_OWNER = vm.envAddress(\"NEW_SYSTEM_CONFIG_OWNER\");\n\n    function run() public {\n        require(\n            OwnableUpgradeable(SYSTEM_CONFIG_PROXY).owner() == OLD_OWNER, \"System config owner is not the expected owner\"\n        );\n        vm.startBroadcast(OLD_OWNER);\n        OwnableUpgradeable(SYSTEM_CONFIG_PROXY).transferOwnership(NEW_OWNER);\n        require(OwnableUpgradeable(SYSTEM_CONFIG_PROXY).owner() == NEW_OWNER, \"System config owner did not get updated\");\n        vm.stopBroadcast();\n    }\n}\n"
  },
  {
    "path": "sepolia/2024-08-26-update-batcher-hash/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 1\nendif\n\n# Batcher\n.PHONY: sign-update-batcher\nsign-update-batcher: \n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpdateBatcherHash \\\n\t--sig \"sign()\"\n\n.PHONY: execute-update-batcher\nexecute-update-batcher:\n\tforge script --rpc-url $(L1_RPC_URL) UpdateBatcherHash \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n.PHONY: sign-rollback-batcher\nsign-rollback-batcher: \n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) RollbackBatcherHash \\\n\t--sig \"sign()\"\n\n.PHONY: execute-rollback-batcher\nexecute-rollback-batcher:\n\tforge script --rpc-url $(L1_RPC_URL) RollbackBatcherHash \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\"\n"
  },
  {
    "path": "sepolia/2024-08-26-update-batcher-hash/README.md",
    "content": "# Update Batcher and Proposer addresses in L1 for sSepolia-alpha\n\nStatus: ready to execute\n\n## Objective\n\nWe are updating batcher address for sepolia to a key that is managed by the internal key management service.\n\nThis runbook implements scripts which allow system owner to execute: \n1. `UpdateBatcherHash` -- Updates the batcher hash in `SystemConfig` to be the new key.\n2. `RollbackBatcherHash` -- Rollback the batcher upgrade.\n\nThe values we are sending are statically defined in the `.env`.\n\n## Approving the Update transaction\n\n### 1. Update repo and move to the appropriate folder:\n```\ncd contract-deployments\ngit pull\ncd sepolia/2024-08-26-update-batcher-hash\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n``` shell\nmake sign-update-batcher\n```\n\nOnce you run the `make sign...` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark \n\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"SystemConfigProxy\" at address `0xf272670eb55e895584501d564AfEB048bEd26194`. We should see the nonce increment from 5 to 6:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000005\nAfter: 0x00000000000000000000000000000000000000000000000000000000000000006\n```\n\n2. Verify the new batcher hash value is appropriately updated under \"SystemConfigProxy\" at address `0xf272670eb55e895584501d564AfEB048bEd26194`.\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000067\nBefore: 0x0000000000000000000000006cdebe940bc0f26850285caca097c11c33103e47\nAfter: 0x000000000000000000000000fc56e7272eebbba5bc6c544e159483c4a38f8ba3\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n``` shell\nmake sign-update-batcher\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n\n## Approving the Rollback transaction\n\nComplete the above steps for `Approving the Update transaction` before continuing below.\n\n### 1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n``` shell\nmake sign-rollback-batcher\n```\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output. Once again paste this URL in your browser and click \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark \n\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000006\nAfter: 0x00000000000000000000000000000000000000000000000000000000000000007\n```\n\n2. Verify the new batcher hash value is appropriately updated under \"SystemConfigProxy\" at address `0xf272670eb55e895584501d564AfEB048bEd26194`.\n\nKey: 0x0000000000000000000000000000000000000000000000000000000000000067\nBefore: 0x000000000000000000000000fc56e7272eebbba5bc6c544e159483c4a38f8ba3\nAfter: 0x0000000000000000000000006cdebe940bc0f26850285caca097c11c33103e47\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n``` shell\nmake sign-rollback-batcher\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\n   SIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make execute`\n\n> [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK\n> Repeat the above, but replace the signatures with the signed\n> rollback signatures collected, the call `make execute-rollback`\n"
  },
  {
    "path": "sepolia/2024-08-26-update-batcher-hash/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "sepolia/2024-08-26-update-batcher-hash/records/UpdateBatcherHash.s.sol/11155111/run-1724971345.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xf814110a0c24045bbf0bdb8fae62c37ed5dc2f27e7d82f3a49218dd37a494ab4\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c9b26f61000000000000000000000000fc56e7272eebbba5bc6c544e159483c4a38f8ba300000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xac0d29bc3394aac501aab964e662bebdae0bd2792813e5e75f649e4bccdf01cc3528d0bd1e99cfebe4c2fa1a5ddaff3d529f1c1fcf284d9c1916c2924f80b0141b83e4cf7601ceddc980db4da5db1bf6463e4895b80f010ed67bbebf17d71ddd2811761391f9c8e98f0fa8917ffce9488fb5cef73eac997bfe048943443a336b191cd78d632c8b5b54e387fdad1ae7877cd0715586ffb8873762df9a88fcc48951f320acd725f2d2af4002fd513075f2ce31ef32627d621450120bd186404b9ea50e1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xee316db0edaee45347dfc498795a01311f085225\",\n        \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n        \"gas\": \"0x2193e\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c9b26f61000000000000000000000000fc56e7272eebbba5bc6c544e159483c4a38f8ba3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3ac0d29bc3394aac501aab964e662bebdae0bd2792813e5e75f649e4bccdf01cc3528d0bd1e99cfebe4c2fa1a5ddaff3d529f1c1fcf284d9c1916c2924f80b0141b83e4cf7601ceddc980db4da5db1bf6463e4895b80f010ed67bbebf17d71ddd2811761391f9c8e98f0fa8917ffce9488fb5cef73eac997bfe048943443a336b191cd78d632c8b5b54e387fdad1ae7877cd0715586ffb8873762df9a88fcc48951f320acd725f2d2af4002fd513075f2ce31ef32627d621450120bd186404b9ea50e1b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x0\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xd89e2d\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c9b26f61000000000000000000000000fc56e7272eebbba5bc6c544e159483c4a38f8ba3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3ac0d29bc3394aac501aab964e662bebdae0bd2792813e5e75f649e4bccdf01cc3528d0bd1e99cfebe4c2fa1a5ddaff3d529f1c1fcf284d9c1916c2924f80b0141b83e4cf7601ceddc980db4da5db1bf6463e4895b80f010ed67bbebf17d71ddd2811761391f9c8e98f0fa8917ffce9488fb5cef73eac997bfe048943443a336b191cd78d632c8b5b54e387fdad1ae7877cd0715586ffb8873762df9a88fcc48951f320acd725f2d2af4002fd513075f2ce31ef32627d621450120bd186404b9ea50e1b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000005000000000000000000000000ee316db0edaee45347dfc498795a01311f0852250000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0x7d399510fe11c9ac38a904655bf1d5b75cbf35fccfca97d0425dd523244dd61e\",\n          \"blockNumber\": \"0x64a79d\",\n          \"transactionHash\": \"0xf814110a0c24045bbf0bdb8fae62c37ed5dc2f27e7d82f3a49218dd37a494ab4\",\n          \"transactionIndex\": \"0x40\",\n          \"logIndex\": \"0x63\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000fc56e7272eebbba5bc6c544e159483c4a38f8ba3\",\n          \"blockHash\": \"0x7d399510fe11c9ac38a904655bf1d5b75cbf35fccfca97d0425dd523244dd61e\",\n          \"blockNumber\": \"0x64a79d\",\n          \"transactionHash\": \"0xf814110a0c24045bbf0bdb8fae62c37ed5dc2f27e7d82f3a49218dd37a494ab4\",\n          \"transactionIndex\": \"0x40\",\n          \"logIndex\": \"0x64\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x93a9679d733c159bb90824a51a06ddc9e8a673793cca3da7d36bdd52965426bf0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x7d399510fe11c9ac38a904655bf1d5b75cbf35fccfca97d0425dd523244dd61e\",\n          \"blockNumber\": \"0x64a79d\",\n          \"transactionHash\": \"0xf814110a0c24045bbf0bdb8fae62c37ed5dc2f27e7d82f3a49218dd37a494ab4\",\n          \"transactionIndex\": \"0x40\",\n          \"logIndex\": \"0x65\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000020100000000000000000800000000000000000000000000000008000000200000000800000000040000000000000000000000000000000000000000000000000400000000000000000004000000000000000000000000800000000000000000000000000000000000020000000000000000000000000400000020000000000000000000000000000000000000000000000000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xf814110a0c24045bbf0bdb8fae62c37ed5dc2f27e7d82f3a49218dd37a494ab4\",\n      \"transactionIndex\": \"0x40\",\n      \"blockHash\": \"0x7d399510fe11c9ac38a904655bf1d5b75cbf35fccfca97d0425dd523244dd61e\",\n      \"blockNumber\": \"0x64a79d\",\n      \"gasUsed\": \"0x184f5\",\n      \"effectiveGasPrice\": \"0x10d66bdc\",\n      \"from\": \"0xee316db0edaee45347dfc498795a01311f085225\",\n      \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1724971345,\n  \"chain\": 11155111,\n  \"commit\": \"751652e\"\n}"
  },
  {
    "path": "sepolia/2024-08-26-update-batcher-hash/script/RollbackBatcherHash.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport {Vm} from \"forge-std/Vm.sol\";\nimport \"forge-std/Script.sol\";\nimport \"forge-std/console.sol\";\nimport {\n    MultisigBuilder,\n    IMulticall3,\n    IGnosisSafe,\n    console,\n    Enum\n} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\n\ncontract RollbackBatcherHash is MultisigBuilder {\n    address internal SYSTEM_CONFIG_OWNER = vm.envAddress(\"SYSTEM_CONFIG_OWNER\");\n    address internal L1_SYSTEM_CONFIG = vm.envAddress(\"L1_SYSTEM_CONFIG_ADDRESS\");\n    address internal ROLLBACK_BATCH_SENDER = vm.envAddress(\"ROLLBACK_BATCH_SENDER\");\n\n    function _convertAddressToBytes32(address _address) internal pure returns (bytes32) {\n        return bytes32(uint256(uint160(_address)));\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal view override {\n        require(\n            SystemConfig(L1_SYSTEM_CONFIG).batcherHash() == _convertAddressToBytes32(ROLLBACK_BATCH_SENDER),\n            \"Rollback Deploy: batcherHash is incorrect\"\n        );\n        console.log(\"New batcherHash: \");\n        console.logBytes32(SystemConfig(L1_SYSTEM_CONFIG).batcherHash());\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n        console.log(\"Current batcherHash: \");\n        console.logBytes32(SystemConfig(L1_SYSTEM_CONFIG).batcherHash());\n        calls[0] = IMulticall3.Call3({\n            target: L1_SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(SystemConfig.setBatcherHash, (_convertAddressToBytes32(ROLLBACK_BATCH_SENDER)))\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return SYSTEM_CONFIG_OWNER;\n    }\n\n    function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) {\n        IGnosisSafe safe = IGnosisSafe(payable(_safe));\n        uint256 _incrementedNonce = _getNonce(safe) + 1;\n        return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _incrementedNonce);\n    }\n\n    function _addGenericOverrides() internal view override returns (SimulationStateOverride memory) {\n        SimulationStorageOverride[] memory _stateOverrides = new SimulationStorageOverride[](1);\n        _stateOverrides[0] = SimulationStorageOverride({\n            key: 0x0000000000000000000000000000000000000000000000000000000000000067, // slot of batcher hash\n            value: _convertAddressToBytes32(vm.envAddress(\"NEW_BATCH_SENDER\"))\n        });\n        return SimulationStateOverride({contractAddress: L1_SYSTEM_CONFIG, overrides: _stateOverrides});\n    }\n}\n"
  },
  {
    "path": "sepolia/2024-08-26-update-batcher-hash/script/UpdateBatcherHash.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport {Vm} from \"forge-std/Vm.sol\";\nimport \"forge-std/Script.sol\";\nimport \"forge-std/console.sol\";\nimport {\n    MultisigBuilder,\n    IMulticall3,\n    IGnosisSafe,\n    console,\n    Enum\n} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\n\ncontract UpdateBatcherHash is MultisigBuilder {\n    address internal SYSTEM_CONFIG_OWNER = vm.envAddress(\"SYSTEM_CONFIG_OWNER\");\n    address internal L1_SYSTEM_CONFIG = vm.envAddress(\"L1_SYSTEM_CONFIG_ADDRESS\");\n    address internal NEW_BATCH_SENDER = vm.envAddress(\"NEW_BATCH_SENDER\");\n\n    function _convertAddressToBytes32(address _address) internal pure returns (bytes32) {\n        return bytes32(uint256(uint160(_address)));\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal view override {\n        require(\n            SystemConfig(L1_SYSTEM_CONFIG).batcherHash() == _convertAddressToBytes32(NEW_BATCH_SENDER),\n            \"Rollback Deploy: batcherHash is incorrect\"\n        );\n        console.log(\"New batcherHash: \");\n        console.logBytes32(SystemConfig(L1_SYSTEM_CONFIG).batcherHash());\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n        console.log(\"Current batcherHash: \");\n        console.logBytes32(SystemConfig(L1_SYSTEM_CONFIG).batcherHash());\n        calls[0] = IMulticall3.Call3({\n            target: L1_SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(SystemConfig.setBatcherHash, (_convertAddressToBytes32(NEW_BATCH_SENDER)))\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return SYSTEM_CONFIG_OWNER;\n    }\n\n    function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) {\n        IGnosisSafe safe = IGnosisSafe(payable(_safe));\n        uint256 _nonce = _getNonce(safe);\n        return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce);\n    }\n}\n"
  },
  {
    "path": "sepolia/2024-09-11-deploy-new-PDG/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 1 # Sepolia using hd-path of 1\nendif\n\n# Proposer\n.PHONY: execute-deploy-dispute-game\nexecute-deploy-dispute-game:\n\tforge script --rpc-url $(L1_RPC_URL) --private-key $(PRIVATE_KEY) DeployNewPDG --broadcast\n\n\n"
  },
  {
    "path": "sepolia/2024-09-11-deploy-new-PDG/README.md",
    "content": "# Deploy new PermissionedDisputeGame\n\nStatus: ready to execute\n\n## Objective\n\nWe are deploying a new `PermissionedDisputeGame` so that it has the new proposer address\n\nThis runbook implements scripts which allow system owner to execute:\n1. `DeployNewPDG` -- Deploys a new `PermissionedDisputeGame` with the new proposer address.\n\nThe values we are sending are statically defined in the `.env`.\n\n## Deploy the new PDG\nThis step doesn't have to be done with multisig, we can use an EoA to deploy by running `make execute-deploy-dispute-game`. We should see the following output from the console\n```\n== Logs ==\n  New permissioned dispute game address:  <SOME ADDRESS>\n  New proposer:  0x037637067c1DbE6d2430616d8f54Cb774Daa5999\n```\n"
  },
  {
    "path": "sepolia/2024-09-11-deploy-new-PDG/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\n# via-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "sepolia/2024-09-11-deploy-new-PDG/records/DeployNewPDG.s.sol/11155111/run-1726092565.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x12dd3fa33babc9460a698a5029037a9f89395a9b4186d12f495ff45c19400158\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"PermissionedDisputeGame\",\n      \"contractAddress\": \"0x593d20c4c69485b95d11507239be2c725ea2a6fd\",\n      \"function\": null,\n      \"arguments\": [\n        \"1\",\n        \"0x030de10d9da911a2b180ecfae2aeaba8758961fc28262ce989458c6f9a547922\",\n        \"73\",\n        \"30\",\n        \"10800\",\n        \"302400\",\n        \"0x47B0E34C1054009e696BaBAAd56165e1e994144d\",\n        \"0x27A6128F707de3d99F89Bf09c35a4e0753E1B808\",\n        \"0x4C8BA32A5DAC2A720bb35CeDB51D6B067D104205\",\n        \"84532\",\n        \"0x037637067c1DbE6d2430616d8f54Cb774Daa5999\",\n        \"0x8b8c52B04A38f10515C52670fcb23f3C4C44474F\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xaf6e0e871f38c7b653700f7cbaedafaa2784d430\",\n        \"gas\": \"0x6a01f8\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6102006040523480156200001257600080fd5b50604051620067b4380380620067b4833981016040819052620000359162000468565b8b8b8b8b8b8b8b8b8b8b6200004d6001607e6200055b565b60ff168811156200007157604051633beff19960e11b815260040160405180910390fd5b6000198714806200008e5750876200008b88600162000581565b10155b15620000ad5760405163e62ccf3960e01b815260040160405180910390fd5b6002871015620000d05760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b038016846001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000119573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013f91906200059c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200017d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a39190620005bc565b1115620001c35760405163b4e1243360e01b815260040160405180910390fd5b6000620001e4876001600160401b03166200040860201b62000d051760201c565b620001fa906001600160401b03166002620005d6565b90506000856001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200023d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026391906200059c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002a1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c79190620005bc565b620002e6896001600160401b03166200040860201b62000d051760201c565b6001600160401b0316620002fb919062000581565b905060006200031683836200040b60201b620026401760201c565b90506001600160401b03811115620003415760405163235dfb2b60e21b815260040160405180910390fd5b62000360886001600160401b03166200040860201b62000d051760201c565b6001600160401b0316816001600160401b03161115620003935760405163235dfb2b60e21b815260040160405180910390fd5b50505063ffffffff9099166101205260809790975260a09590955260c0939093526001600160401b039182166101a0521660e0526001600160a01b03908116610100529081166101405290811661016052610180919091529182166101c052166101e05250620005f898505050505050505050565b90565b60008183116200041c57816200041e565b825b9392505050565b80516001600160401b03811681146200043d57600080fd5b919050565b6001600160a01b03811681146200045857600080fd5b50565b80516200043d8162000442565b6000806000806000806000806000806000806101808d8f0312156200048c57600080fd5b8c5163ffffffff81168114620004a157600080fd5b809c505060208d01519a5060408d0151995060608d01519850620004c860808e0162000425565b9750620004d860a08e0162000425565b9650620004e860c08e016200045b565b9550620004f860e08e016200045b565b9450620005096101008e016200045b565b93506101208d01519250620005226101408e016200045b565b9150620005336101608e016200045b565b90509295989b509295989b509295989b565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168082101562000578576200057862000545565b90039392505050565b6000821982111562000597576200059762000545565b500190565b600060208284031215620005af57600080fd5b81516200041e8162000442565b600060208284031215620005cf57600080fd5b5051919050565b6000816000190483118215151615620005f357620005f362000545565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051615ffd620007b76000396000818161058301528181611b1501526120b50152600081816108ce01528181611ad601528181611ba4015261207601526000818161070401528181613059015281816130c401526130f7015260008181610a9a015261255301526000818161065c01528181611806015261367901526000818161053d015281816119c801528181612a2d0152818161351e0152613a7b015260008181610909015281816125e201526136380152600081816104ca015281816121b101528181612f58015261436b015260008181610aed01528181610fdc01528181611d7a01528181611dbc01528181612ec8015281816131270152613186015260008181610b20015281816123b001528181612d1101528181612e3701528181613095015281816141be0152818161466d0152818161476e015281816148430152818161511a0152615346015260008181610bc701528181611e8a01528181611f1001528181612dda01528181612f2c015281816140b401526141df0152600081816107cf015261427d0152615ffd6000f3fe6080604052600436106103085760003560e01c806370872aa51161019a578063c6f0308c116100e1578063ec5e63081161008a578063fa24f74311610064578063fa24f74314610b94578063fa315aa914610bb8578063fe2bbeb214610beb57600080fd5b8063ec5e630814610b11578063eff0f59214610b44578063f8f43ff614610b7457600080fd5b8063d6ae3cd5116100bb578063d6ae3cd514610a8b578063d8cc1a3c14610abe578063dabd396d14610ade57600080fd5b8063c6f0308c146109b3578063cf09e0d014610a3d578063d5d44d8014610a5e57600080fd5b8063a445ece611610143578063bcef3b551161011d578063bcef3b5514610933578063bd8da95614610973578063c395e1ca1461099357600080fd5b8063a445ece6146107f3578063a8e4fb90146108bf578063bbdc02db146108f257600080fd5b80638980e0cc116101745780638980e0cc1461076b5780638b85902b146107805780638d450a95146107c057600080fd5b806370872aa51461073b5780637b0f0adc146107505780638129fc1c1461076357600080fd5b80633fc8cef31161025e5780635c0cba33116102075780636361506d116101e15780636361506d146106b55780636b6716c0146106f55780636f0344091461072857600080fd5b80635c0cba331461064d578063609d33341461068057806360e274641461069557600080fd5b806354fd4d501161023857806354fd4d50146105a757806357da950e146105fd5780635a5fa2d91461062d57600080fd5b80633fc8cef31461052e578063472777c614610561578063534db0e21461057457600080fd5b80632810e1d6116102c057806337b1b2291161029a57806337b1b2291461047b5780633a768463146104bb5780633e3ac912146104ee57600080fd5b80632810e1d6146103f45780632ad69aeb1461040957806330dbe5701461042957600080fd5b806319effeb4116102f157806319effeb41461034f578063200d2ed21461039a57806325fc2ace146103d557600080fd5b8063019351301461030d57806303c2924d1461032f575b600080fd5b34801561031957600080fd5b5061032d61032836600461575c565b610c1b565b005b34801561033b57600080fd5b5061032d61034a3660046157b7565b610f3c565b34801561035b57600080fd5b5060005461037c9068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103a657600080fd5b506000546103c890700100000000000000000000000000000000900460ff1681565b6040516103919190615808565b3480156103e157600080fd5b506008545b604051908152602001610391565b34801561040057600080fd5b506103c86115e2565b34801561041557600080fd5b506103e66104243660046157b7565b611887565b34801561043557600080fd5b506001546104569073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610391565b34801561048757600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90033560601c610456565b3480156104c757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156104fa57600080fd5b5060005461051e907201000000000000000000000000000000000000900460ff1681565b6040519015158152602001610391565b34801561053a57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b61032d61056f366004615849565b6118bd565b34801561058057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156105b357600080fd5b506105f06040518060400160405280600581526020017f312e332e3000000000000000000000000000000000000000000000000000000081525081565b60405161039191906158e0565b34801561060957600080fd5b50600854600954610618919082565b60408051928352602083019190915201610391565b34801561063957600080fd5b506103e66106483660046158f3565b6118cf565b34801561065957600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b34801561068c57600080fd5b506105f0611909565b3480156106a157600080fd5b5061032d6106b0366004615931565b611917565b3480156106c157600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003603401356103e6565b34801561070157600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061037c565b61032d610736366004615963565b611abe565b34801561074757600080fd5b506009546103e6565b61032d61075e366004615849565b611b7f565b61032d611b8c565b34801561077757600080fd5b506002546103e6565b34801561078c57600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401356103e6565b3480156107cc57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b3480156107ff57600080fd5b5061086b61080e3660046158f3565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046fffffffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff1684565b60408051941515855263ffffffff90931660208501526fffffffffffffffffffffffffffffffff9091169183019190915273ffffffffffffffffffffffffffffffffffffffff166060820152608001610391565b3480156108cb57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156108fe57600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610391565b34801561093f57600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356103e6565b34801561097f57600080fd5b5061037c61098e3660046158f3565b611c05565b34801561099f57600080fd5b506103e66109ae3660046159a2565b611de4565b3480156109bf57600080fd5b506109d36109ce3660046158f3565b611fc7565b6040805163ffffffff909816885273ffffffffffffffffffffffffffffffffffffffff968716602089015295909416948601949094526fffffffffffffffffffffffffffffffff9182166060860152608085015291821660a08401521660c082015260e001610391565b348015610a4957600080fd5b5060005461037c9067ffffffffffffffff1681565b348015610a6a57600080fd5b506103e6610a79366004615931565b60036020526000908152604090205481565b348015610a9757600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610aca57600080fd5b5061032d610ad93660046159d4565b61205e565b348015610aea57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061037c565b348015610b1d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610b5057600080fd5b5061051e610b5f3660046158f3565b60046020526000908152604090205460ff1681565b348015610b8057600080fd5b5061032d610b8f366004615849565b612123565b348015610ba057600080fd5b50610ba96125e0565b60405161039193929190615a5e565b348015610bc457600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610bf757600080fd5b5061051e610c063660046158f3565b60066020526000908152604090205460ff1681565b60008054700100000000000000000000000000000000900460ff166002811115610c4757610c476157d9565b14610c7e576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610cd1576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d08367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013590565b90565b610d1f610d1a36869003860186615ab2565b61265a565b14610d56576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610d6b929190615b3f565b604051809103902014610daa576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610df3610dee84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506126b692505050565b612723565b90506000610e1a82600881518110610e0d57610e0d615b4f565b60200260200101516128d9565b9050602081511115610e58576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401358103610ecd576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054700100000000000000000000000000000000900460ff166002811115610f6857610f686157d9565b14610f9f576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110610fb457610fb4615b4f565b906000526020600020906005020190506000610fcf84611c05565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015611038576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611081576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561109e57508515155b15611139578354640100000000900473ffffffffffffffffffffffffffffffffffffffff16600081156110d157816110ed565b600186015473ffffffffffffffffffffffffffffffffffffffff165b90506110f9818761298d565b50505060009485525050600660205250506040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046fffffffffffffffffffffffffffffffff16938101939093526001015473ffffffffffffffffffffffffffffffffffffffff1660608301526111dc576fffffffffffffffffffffffffffffffff60408201526001815260008690036111dc578195505b600086826020015163ffffffff166111f49190615bad565b905060008382116112055781611207565b835b602084015190915063ffffffff165b8181101561135357600086828154811061123257611232615b4f565b6000918252602080832090910154808352600690915260409091205490915060ff1661128a576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002828154811061129f5761129f615b4f565b600091825260209091206005909102018054909150640100000000900473ffffffffffffffffffffffffffffffffffffffff161580156112fc5750600481015460408701516fffffffffffffffffffffffffffffffff9182169116115b1561133e57600181015473ffffffffffffffffffffffffffffffffffffffff16606087015260048101546fffffffffffffffffffffffffffffffff1660408701525b5050808061134b90615bc5565b915050611216565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006fffffffffffffffffffffffffffffffff909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909316929092179091558490036115d757606083015160008a815260066020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055891580156114d357506000547201000000000000000000000000000000000000900460ff165b156115485760015473ffffffffffffffffffffffffffffffffffffffff166114fb818a61298d565b885473ffffffffffffffffffffffffffffffffffffffff909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff9091161788556115d5565b61158f73ffffffffffffffffffffffffffffffffffffffff82161561156d5781611589565b600189015473ffffffffffffffffffffffffffffffffffffffff165b8961298d565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff1664010000000073ffffffffffffffffffffffffffffffffffffffff8316021788555b505b505050505050505050565b600080600054700100000000000000000000000000000000900460ff166002811115611610576116106157d9565b14611647576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166116ab576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660026000815481106116d7576116d7615b4f565b6000918252602090912060059091020154640100000000900473ffffffffffffffffffffffffffffffffffffffff1614611712576001611715565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff909116177001000000000000000000000000000000008360028111156117c6576117c66157d9565b0217905560028111156117db576117db6157d9565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a27f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663838c2d1e6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561186c57600080fd5b505af1158015611880573d6000803e3d6000fd5b5050505090565b600560205281600052604060002081815481106118a357600080fd5b90600052602060002001600091509150505481565b905090565b6118ca8383836001611abe565b505050565b6000818152600760209081526040808320600590925282208054825461190090610100900463ffffffff1682615bfd565b95945050505050565b60606118b860546020612a8e565b73ffffffffffffffffffffffffffffffffffffffff811660009081526003602052604081208054908290559081900361197c576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff3fef3a300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063f3fef3a390604401600060405180830381600087803b158015611a0c57600080fd5b505af1158015611a20573d6000803e3d6000fd5b5050505060008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611a7e576040519150601f19603f3d011682016040523d82523d6000602084013e611a83565b606091505b50509050806118ca576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480611b3757503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016145b611b6d576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b7984848484612ae0565b50505050565b6118ca8383836000611abe565b3273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611bfb576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c036135b9565b565b600080600054700100000000000000000000000000000000900460ff166002811115611c3357611c336157d9565b14611c6a576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110611c7f57611c7f615b4f565b600091825260208220600590910201805490925063ffffffff90811614611cee57815460028054909163ffffffff16908110611cbd57611cbd615b4f565b906000526020600020906005020160040160109054906101000a90046fffffffffffffffffffffffffffffffff1690505b6004820154600090611d2690700100000000000000000000000000000000900467ffffffffffffffff165b67ffffffffffffffff1690565b611d3a9067ffffffffffffffff1642615bfd565b611d59611d19846fffffffffffffffffffffffffffffffff1660401c90565b67ffffffffffffffff16611d6d9190615bad565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611611dba5780611900565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080611e83836fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115611ee2576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000611efd8383615c43565b9050670de0b6b3a76400006000611f34827f0000000000000000000000000000000000000000000000000000000000000000615c57565b90506000611f52611f4d670de0b6b3a764000086615c57565b613b12565b90506000611f608484613d6d565b90506000611f6e8383613dbc565b90506000611f7b82613dea565b90506000611f9a82611f95670de0b6b3a76400008f615c57565b613fd2565b90506000611fa88b83613dbc565b9050611fb4818d615c57565b9f9e505050505050505050505050505050565b60028181548110611fd757600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff8416955064010000000090930473ffffffffffffffffffffffffffffffffffffffff908116949216926fffffffffffffffffffffffffffffffff91821692918082169170010000000000000000000000000000000090041687565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614806120d757503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016145b61210d576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61211b868686868686614003565b505050505050565b60008054700100000000000000000000000000000000900460ff16600281111561214f5761214f6157d9565b14612186576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060008061219586614632565b935093509350935060006121ab85858585614a3b565b905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561221a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061223e9190615c94565b9050600189036123365773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a8461229a367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af115801561230c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123309190615cb1565b506115d7565b600289036123625773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a848961229a565b6003890361238e5773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a848761229a565b600489036125155760006123d46fffffffffffffffffffffffffffffffff85167f0000000000000000000000000000000000000000000000000000000000000000614af5565b6009546123e19190615bad565b6123ec906001615bad565b9050367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135811061245557367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135612457565b805b905073ffffffffffffffffffffffffffffffffffffffff82166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af11580156124ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061250e9190615cb1565b50506115d7565b600589036125ae576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b6044820152600860648201526084810188905273ffffffffffffffffffffffffffffffffffffffff8216906352f0f3ad9060a4016122ed565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356060612639611909565b9050909192565b600081831161264f5781612651565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001612699949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003612705576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b6060600080600061273385614ba3565b91945092509050600181600181111561274e5761274e6157d9565b14612785576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84516127918385615bad565b146127c8576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816127df5790505093506000835b86518110156128cd576000806128526040518060400160405280858c600001516128369190615bfd565b8152602001858c6020015161284b9190615bad565b9052614ba3565b50915091506040518060400160405280838361286e9190615bad565b8152602001848b602001516128839190615bad565b81525088858151811061289857612898615b4f565b60209081029190910101526128ae600185615bad565b93506128ba8183615bad565b6128c49084615bad565b9250505061280c565b50845250919392505050565b606060008060006128e985614ba3565b919450925090506000816001811115612904576129046157d9565b1461293b576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129458284615bad565b85511461297e576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61190085602001518484615041565b600281015473ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040812080546fffffffffffffffffffffffffffffffff909316928392906129dc908490615bad565b90915550506040517f7eee288d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018390527f00000000000000000000000000000000000000000000000000000000000000001690637eee288d90604401600060405180830381600087803b158015612a7157600080fd5b505af1158015612a85573d6000803e3d6000fd5b50505050505050565b604051818152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b60008054700100000000000000000000000000000000900460ff166002811115612b0c57612b0c6157d9565b14612b43576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028481548110612b5857612b58615b4f565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff8116845273ffffffffffffffffffffffffffffffffffffffff64010000000090910481169484019490945260018101549093169082015260028201546fffffffffffffffffffffffffffffffff908116606083015260038301546080830181905260049093015480821660a084015270010000000000000000000000000000000090041660c082015291508514612c3f576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156fffffffffffffffffffffffffffffffff83161760011b90506000612cff826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580612d3a5750612d377f00000000000000000000000000000000000000000000000000000000000000006002615bad565b81145b8015612d44575084155b15612d7b576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015612da1575086155b15612dd8576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115612e32576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612e5d7f00000000000000000000000000000000000000000000000000000000000000006001615bad565b8103612e6f57612e6f868885886150d6565b34612e7983611de4565b14612eb0576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612ebb88611c05565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603612f23576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612f5060017f0000000000000000000000000000000000000000000000000000000000000000615bfd565b830361308e577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612fc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fe59190615c94565b73ffffffffffffffffffffffffffffffffffffffff1663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561302f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130539190615cb1565b613087907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615cca565b9050613121565b6130b960017f0000000000000000000000000000000000000000000000000000000000000000615bfd565b83036130f4576130877f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166002615cf6565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b613155817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615d26565b67ffffffffffffffff166131708367ffffffffffffffff1690565b67ffffffffffffffff1611156131b7576131b4817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615d26565b91505b6000604083901b421760008a8152608087901b6fffffffffffffffffffffffffffffffff8d1617602052604081209192509060008181526004602052604090205490915060ff1615613235576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001346fffffffffffffffffffffffffffffffff1681526020018c8152602001886fffffffffffffffffffffffffffffffff168152602001846fffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160020160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506080820151816003015560a08201518160040160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060c08201518160040160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505050600560008c815260200190815260200160002060016002805490506134cb9190615bfd565b81546001810183556000928352602083200155604080517fd0e30db0000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263d0e30db09234926004808301939282900301818588803b15801561356357600080fd5b505af1158015613577573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b60005471010000000000000000000000000000000000900460ff161561360b576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f7258a80700000000000000000000000000000000000000000000000000000000815263ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637258a807906024016040805180830381865afa1580156136bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136e39190615d4f565b90925090508161371f576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a1461375257639824bdab6000526004601cfd5b80367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135116137ec576040517ff40239db000000000000000000000000000000000000000000000000000000008152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff8082526000602083018181527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe369081013560f01c90038035606090811c868801908152346fffffffffffffffffffffffffffffffff81811693890193845260149094013560808901908152600160a08a0181815242871660c08c019081526002805493840181558a529a5160059092027f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace81018054995173ffffffffffffffffffffffffffffffffffffffff908116640100000000027fffffffffffffffff000000000000000000000000000000000000000000000000909b1694909c16939093179890981790915592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf87018054918a167fffffffffffffffffffffffff000000000000000000000000000000000000000090921691909117905592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0860180549186167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090921691909117905591517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015551955182167001000000000000000000000000000000000295909116949094177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad29091015580547fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff167101000000000000000000000000000000000017815583517fd0e30db000000000000000000000000000000000000000000000000000000000815293517f00000000000000000000000000000000000000000000000000000000000000009092169363d0e30db093926004828101939282900301818588803b158015613ac157600080fd5b505af1158015613ad5573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050505050565b6fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213613b7157631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a764000002158202613daa57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b600081600019048311820215613dda5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d78213613e1857919050565b680755bf798b4a1bf1e58212613e365763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000612651670de0b6b3a764000083613fea86613b12565b613ff49190615d73565b613ffe9190615e2f565b613dea565b60008054700100000000000000000000000000000000900460ff16600281111561402f5761402f6157d9565b14614066576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002878154811061407b5761407b615b4f565b6000918252602082206005919091020160048101549092506fffffffffffffffffffffffffffffffff16908715821760011b90506140da7f00000000000000000000000000000000000000000000000000000000000000006001615bad565b614176826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16146141b0576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008089156142a7576142037f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000615bfd565b6001901b614222846fffffffffffffffffffffffffffffffff16615287565b6fffffffffffffffffffffffffffffffff1661423e9190615e97565b1561427b5761427261426360016fffffffffffffffffffffffffffffffff8716615eab565b865463ffffffff166000615326565b6003015461429d565b7f00000000000000000000000000000000000000000000000000000000000000005b91508490506142d1565b600385015491506142ce6142636fffffffffffffffffffffffffffffffff86166001615ed4565b90505b600882901b60088a8a6040516142e8929190615b3f565b6040518091039020901b14614329576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006143348c61540a565b90506000614343836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e14ced32906143bd908f908f908f908f908a90600401615f48565b6020604051808303816000875af11580156143dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144009190615cb1565b6004850154911491506000906002906144ab906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b614547896fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6145519190615f82565b61455b9190615fa5565b60ff16159050811515810361459c576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8754640100000000900473ffffffffffffffffffffffffffffffffffffffff16156145f3576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b600080600080600085905060006002828154811061465257614652615b4f565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614729906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611614763576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f00000000000000000000000000000000000000000000000000000000000000009061482a906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561489f57825463ffffffff166148697f00000000000000000000000000000000000000000000000000000000000000006001615bad565b8303614873578391505b6002818154811061488657614886615b4f565b9060005260206000209060050201935080945050614767565b600481810154908401546fffffffffffffffffffffffffffffffff91821691166000816fffffffffffffffffffffffffffffffff166149086148f3856fffffffffffffffffffffffffffffffff1660011c90565b6fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff1614905080156149d7576000614940836fffffffffffffffffffffffffffffffff16615287565b6fffffffffffffffffffffffffffffffff1611156149ab57600061498261497a60016fffffffffffffffffffffffffffffffff8616615eab565b896001615326565b6003810154600490910154909c506fffffffffffffffffffffffffffffffff169a506149b19050565b6008549a505b600386015460048701549099506fffffffffffffffffffffffffffffffff169750614a2d565b60006149f961497a6fffffffffffffffffffffffffffffffff85166001615ed4565b6003808901546004808b015492840154930154909e506fffffffffffffffffffffffffffffffff9182169d50919b50169850505b505050505050509193509193565b60006fffffffffffffffffffffffffffffffff841615614aa85760408051602081018790526fffffffffffffffffffffffffffffffff8087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611900565b8282604051602001614ad69291909182526fffffffffffffffffffffffffffffffff16602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614b82847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614be6576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614c0b57600060016000945094509450505061503a565b60b78111614d21576000614c20608083615bfd565b905080876000015111614c5f576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614cd757507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614d0e576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001955093506000925061503a915050565b60bf8111614e7f576000614d3660b783615bfd565b905080876000015111614d75576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614dd7576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614e1f576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e298184615bad565b895111614e62576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e6d836001615bad565b975095506000945061503a9350505050565b60f78111614ee4576000614e9460c083615bfd565b905080876000015111614ed3576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60019550935084925061503a915050565b6000614ef160f783615bfd565b905080876000015111614f30576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614f92576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614fda576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614fe48184615bad565b89511161501d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b615028836001615bad565b975095506001945061503a9350505050565b9193909250565b60608167ffffffffffffffff81111561505c5761505c615a83565b6040519080825280601f01601f191660200182016040528015615086576020820181803683370190505b50905081156150cf57600061509b8486615bad565b90506020820160005b848110156150bc5782810151828201526020016150a4565b848111156150cb576000858301525b5050505b9392505050565b60006150f56fffffffffffffffffffffffffffffffff84166001615ed4565b9050600061510582866001615326565b9050600086901a83806151f1575061513e60027f0000000000000000000000000000000000000000000000000000000000000000615e97565b60048301546002906151e2906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6151ec9190615fa5565b60ff16145b156152495760ff81166001148061520b575060ff81166002145b615244576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016137e3565b612a85565b60ff811615612a85576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016137e3565b600080615314837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b6000808261536f5761536a6fffffffffffffffffffffffffffffffff86167f0000000000000000000000000000000000000000000000000000000000000000615439565b61538a565b61538a856fffffffffffffffffffffffffffffffff166155c5565b90506002848154811061539f5761539f615b4f565b906000526020600020906005020191505b60048201546fffffffffffffffffffffffffffffffff82811691161461540257815460028054909163ffffffff169081106153ed576153ed615b4f565b906000526020600020906005020191506153b0565b509392505050565b600080600080600061541b86614632565b935093509350935061542f84848484614a3b565b9695505050505050565b6000816154d8846fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116154ee5763b34b5c226000526004601cfd5b6154f7836155c5565b905081615596826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611612654576126516155ac836001615bad565b6fffffffffffffffffffffffffffffffff83169061566a565b60008119600183011681615659827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b6000806156f7847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261572557600080fd5b50813567ffffffffffffffff81111561573d57600080fd5b60208301915083602082850101111561575557600080fd5b9250929050565b600080600083850360a081121561577257600080fd5b608081121561578057600080fd5b50839250608084013567ffffffffffffffff81111561579e57600080fd5b6157aa86828701615713565b9497909650939450505050565b600080604083850312156157ca57600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810160038310615843577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b60008060006060848603121561585e57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561589b5760208185018101518683018201520161587f565b818111156158ad576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006126516020830184615875565b60006020828403121561590557600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461592e57600080fd5b50565b60006020828403121561594357600080fd5b81356150cf8161590c565b8035801515811461595e57600080fd5b919050565b6000806000806080858703121561597957600080fd5b8435935060208501359250604085013591506159976060860161594e565b905092959194509250565b6000602082840312156159b457600080fd5b81356fffffffffffffffffffffffffffffffff811681146150cf57600080fd5b600080600080600080608087890312156159ed57600080fd5b863595506159fd6020880161594e565b9450604087013567ffffffffffffffff80821115615a1a57600080fd5b615a268a838b01615713565b90965094506060890135915080821115615a3f57600080fd5b50615a4c89828a01615713565b979a9699509497509295939492505050565b63ffffffff841681528260208201526060604082015260006119006060830184615875565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060808284031215615ac457600080fd5b6040516080810181811067ffffffffffffffff82111715615b0e577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115615bc057615bc0615b7e565b500190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203615bf657615bf6615b7e565b5060010190565b600082821015615c0f57615c0f615b7e565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082615c5257615c52615c14565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615615c8f57615c8f615b7e565b500290565b600060208284031215615ca657600080fd5b81516150cf8161590c565b600060208284031215615cc357600080fd5b5051919050565b600067ffffffffffffffff808316818516808303821115615ced57615ced615b7e565b01949350505050565b600067ffffffffffffffff80831681851681830481118215151615615d1d57615d1d615b7e565b02949350505050565b600067ffffffffffffffff83811690831681811015615d4757615d47615b7e565b039392505050565b60008060408385031215615d6257600080fd5b505080516020909101519092909150565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615db457615db4615b7e565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615def57615def615b7e565b60008712925087820587128484161615615e0b57615e0b615b7e565b87850587128184161615615e2157615e21615b7e565b505050929093029392505050565b600082615e3e57615e3e615c14565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f800000000000000000000000000000000000000000000000000000000000000083141615615e9257615e92615b7e565b500590565b600082615ea657615ea6615c14565b500690565b60006fffffffffffffffffffffffffffffffff83811690831681811015615d4757615d47615b7e565b60006fffffffffffffffffffffffffffffffff808316818516808303821115615ced57615ced615b7e565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615f5c606083018789615eff565b8281036020840152615f6f818688615eff565b9150508260408301529695505050505050565b600060ff821660ff841680821015615f9c57615f9c615b7e565b90039392505050565b600060ff831680615fb857615fb8615c14565b8060ff8416069150509291505056fea2646970667358221220e8b96106d78f2f7838688804cd7a7c1b73cf9ac778dc3b912e31933126cd1a1364736f6c634300080f00330000000000000000000000000000000000000000000000000000000000000001030de10d9da911a2b180ecfae2aeaba8758961fc28262ce989458c6f9a5479220000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d4000000000000000000000000047b0e34c1054009e696babaad56165e1e994144d00000000000000000000000027a6128f707de3d99f89bf09c35a4e0753e1b8080000000000000000000000004c8ba32a5dac2a720bb35cedb51d6b067d1042050000000000000000000000000000000000000000000000000000000000014a34000000000000000000000000037637067c1dbe6d2430616d8f54cb774daa59990000000000000000000000008b8c52b04a38f10515c52670fcb23f3c4c44474f\",\n        \"nonce\": \"0x15\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xe28667\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x12dd3fa33babc9460a698a5029037a9f89395a9b4186d12f495ff45c19400158\",\n      \"transactionIndex\": \"0x54\",\n      \"blockHash\": \"0x309cabfcc2090a93830a32865e216b22932fe04db884e06ea60f3ede39092f75\",\n      \"blockNumber\": \"0x65d81f\",\n      \"gasUsed\": \"0x5191f1\",\n      \"effectiveGasPrice\": \"0x18f56d16\",\n      \"from\": \"0xaf6e0e871f38c7b653700f7cbaedafaa2784d430\",\n      \"to\": null,\n      \"contractAddress\": \"0x593d20c4c69485b95d11507239be2c725ea2a6fd\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1726092565,\n  \"chain\": 11155111,\n  \"commit\": \"c38e34b\"\n}"
  },
  {
    "path": "sepolia/2024-09-11-deploy-new-PDG/script/DeployNewPDG.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {PermissionedDisputeGame} from \"@eth-optimism-bedrock/src/dispute/PermissionedDisputeGame.sol\";\nimport \"forge-std/Script.sol\";\n\ncontract DeployNewPDG is Script {\n    address internal NEW_PROPOSER = vm.envAddress(\"NEW_PROPOSER\");\n    address internal PERMISSIONED_DISPUTE_GAME = vm.envAddress(\"PERMISSIONED_DISPUTE_GAME\");\n\n    function run() public {\n        PermissionedDisputeGame pdg = PermissionedDisputeGame(PERMISSIONED_DISPUTE_GAME);\n        vm.startBroadcast();\n        PermissionedDisputeGame newPdgImpl = new PermissionedDisputeGame({\n            _gameType: pdg.gameType(),\n            _absolutePrestate: pdg.absolutePrestate(),\n            _maxGameDepth: pdg.maxGameDepth(),\n            _splitDepth: pdg.splitDepth(),\n            _clockExtension: pdg.clockExtension(),\n            _maxClockDuration: pdg.maxClockDuration(),\n            _vm: pdg.vm(),\n            _weth: pdg.weth(),\n            _anchorStateRegistry: pdg.anchorStateRegistry(),\n            _l2ChainId: pdg.l2ChainId(),\n            _proposer: NEW_PROPOSER,\n            _challenger: pdg.challenger()\n        });\n        require(newPdgImpl.proposer() == NEW_PROPOSER, \"Deploy: proposer is incorrect\");\n        console.log(\"New permissioned dispute game address: \", address(newPdgImpl));\n        console.log(\"New proposer: \", newPdgImpl.proposer());\n        vm.stopBroadcast();\n    }\n}\n"
  },
  {
    "path": "sepolia/2024-09-11-update-proposer/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 1# Sepolia using hd-path of 1\nendif\n\n.PHONY: sign-update-proposer\nsign-update-proposer: \n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpdateProposer \\\n\t--sig \"sign()\"\n\n.PHONY: execute-update-proposer\nexecute-update-proposer:\n\tforge script --rpc-url $(L1_RPC_URL) UpdateProposer \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n.PHONY: sign-rollback-proposer\nsign-rollback-proposer: \n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) RollbackProposer \\\n\t--sig \"sign()\"\n\n.PHONY: execute-rollback-proposer\nexecute-rollback-proposer:\n\tforge script --rpc-url $(L1_RPC_URL) RollbackProposer \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\"\n"
  },
  {
    "path": "sepolia/2024-09-11-update-proposer/README.md",
    "content": "# Update Sepolia proposer key\n\nStatus: ready to execute\n\n## Objective\n\nWe are updating proposer address for sepolia to a key that is managed by the internal key management service.\n\nThis runbook implements scripts which allow system owner to execute:\n1. `UpdateProposer` -- Upgrade `DisputeGameFactory` to have the new `PermissionedDisputeGame`.\n2. `RollbackProposer` -- Rollback the `DisputeGame` upgrade.\n\nThe values we are sending are statically defined in the `.env`.\n\n## Approving the Update transaction\n\n### 1. Update repo and move to the appropriate folder:\n```\ncd contract-deployments\ngit pull\ncd sepolia/2024-09-11-update-proposer\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n``` shell\nmake sign-update-proposer\n```\n\nOnce you run the `make sign...` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark \n\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x0fe884546476dDd290eC46318785046ef68a0BA9`. We should see the nonce increment from 5 to 6:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000007\nAfter: 0x00000000000000000000000000000000000000000000000000000000000000008\n```\n\n2. Verify the new `PermissionedDisputeGame` is appropriately updated under \"Proxy\" at address `0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1`.\n\n```\nKey: 0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e\nBefore: 0x000000000000000000000000ccefe451048eaa7df8d0d709be3aa30d565694d2\nAfter: 0x000000000000000000000000<NEW PERMISSIONED GAME ADDRESS>\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n``` shell\nmake sign-update-proposer\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n\n## Approving the Rollback transaction\n\nComplete the above steps for `Approving the Update transaction` before continuing below.\n\n### 1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n``` shell\nmake sign-rollback-proposer\n```\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output. Once again paste this URL in your browser and click \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark \n\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x0fe884546476dDd290eC46318785046ef68a0BA9`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000008\nAfter: 0x00000000000000000000000000000000000000000000000000000000000000009\n```\n\n2. Verify the new `PermissionedDisputeGame` is appropriately updated under \"Proxy\" at address `0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1`.\n\n```\nKey: 0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e\nBefore: 0x000000000000000000000000<NEW PERMISSIONED GAME ADDRESS>\nAfter: 0x000000000000000000000000ccefe451048eaa7df8d0d709be3aa30d565694d2\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n``` shell\nmake sign-rollback-proposer\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\n   SIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make execute`\n\n> [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK\n> Repeat the above, but replace the signatures with the signed\n> rollback signatures collected, the call `make execute-rollback`"
  },
  {
    "path": "sepolia/2024-09-11-update-proposer/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "sepolia/2024-09-11-update-proposer/records/UpdateProposer.s.sol/11155111/run-1726095157.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x8f590ae32fce8f00d539178dc0ca44d863987e262b7f56b3136e165aa5d1ebc3\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000001000000000000000000000000593d20c4c69485b95d11507239be2c725ea2a6fd00000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x7de44ceddfe0d043dc30107adf1c25ac015c6743cca2e8cccd3217116d2fb1497091c96e766527739e705d6c22e40a27ad82608a2079c872a316c98de1fb01e51b2f8c71a1fe41899428e14ce8bbdcb3f9f965b8957bd2a3b9e3d1b5ad7d5da1c5666aa54b9541a4c63774bd81eeff9058d740fd1d0ec7e72c00842aff60d0361c1cb041c1b13a684791dd6d1822570b9057550e143d9007ab56cfd1b56155ebfb6f671139719827247609626375c0a2fd33b9462ec11441fa615d22f5d65ee9cec01c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xee316db0edaee45347dfc498795a01311f085225\",\n        \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n        \"gas\": \"0x215f8\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000014482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000001000000000000000000000000593d20c4c69485b95d11507239be2c725ea2a6fd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c37de44ceddfe0d043dc30107adf1c25ac015c6743cca2e8cccd3217116d2fb1497091c96e766527739e705d6c22e40a27ad82608a2079c872a316c98de1fb01e51b2f8c71a1fe41899428e14ce8bbdcb3f9f965b8957bd2a3b9e3d1b5ad7d5da1c5666aa54b9541a4c63774bd81eeff9058d740fd1d0ec7e72c00842aff60d0361c1cb041c1b13a684791dd6d1822570b9057550e143d9007ab56cfd1b56155ebfb6f671139719827247609626375c0a2fd33b9462ec11441fa615d22f5d65ee9cec01c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x1\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xb9b12f\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000014482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000001000000000000000000000000593d20c4c69485b95d11507239be2c725ea2a6fd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c37de44ceddfe0d043dc30107adf1c25ac015c6743cca2e8cccd3217116d2fb1497091c96e766527739e705d6c22e40a27ad82608a2079c872a316c98de1fb01e51b2f8c71a1fe41899428e14ce8bbdcb3f9f965b8957bd2a3b9e3d1b5ad7d5da1c5666aa54b9541a4c63774bd81eeff9058d740fd1d0ec7e72c00842aff60d0361c1cb041c1b13a684791dd6d1822570b9057550e143d9007ab56cfd1b56155ebfb6f671139719827247609626375c0a2fd33b9462ec11441fa615d22f5d65ee9cec01c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000007000000000000000000000000ee316db0edaee45347dfc498795a01311f0852250000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0x5a800f6960b61e50548b272d75ced6fc7b4ed36b053c3287bbbb6b81e3ca0f33\",\n          \"blockNumber\": \"0x65d8c9\",\n          \"transactionHash\": \"0x8f590ae32fce8f00d539178dc0ca44d863987e262b7f56b3136e165aa5d1ebc3\",\n          \"transactionIndex\": \"0x61\",\n          \"logIndex\": \"0x7a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n          \"topics\": [\n            \"0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de\",\n            \"0x000000000000000000000000593d20c4c69485b95d11507239be2c725ea2a6fd\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000001\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x5a800f6960b61e50548b272d75ced6fc7b4ed36b053c3287bbbb6b81e3ca0f33\",\n          \"blockNumber\": \"0x65d8c9\",\n          \"transactionHash\": \"0x8f590ae32fce8f00d539178dc0ca44d863987e262b7f56b3136e165aa5d1ebc3\",\n          \"transactionIndex\": \"0x61\",\n          \"logIndex\": \"0x7b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xfdfeed9d2a7a52a4b6db8977516aa020f5105a304562582c92f0cc08825cfac90000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x5a800f6960b61e50548b272d75ced6fc7b4ed36b053c3287bbbb6b81e3ca0f33\",\n          \"blockNumber\": \"0x65d8c9\",\n          \"transactionHash\": \"0x8f590ae32fce8f00d539178dc0ca44d863987e262b7f56b3136e165aa5d1ebc3\",\n          \"transactionIndex\": \"0x61\",\n          \"logIndex\": \"0x7c\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000080044000000000000200000000000000000000000000000000000000000000000000048000000000000400000000000000000000000000040000040000000000000000000000010000000000000000000000000000000000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000400000002000000000004000000000000000000004000000000000000000000000000000000000000020000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x8f590ae32fce8f00d539178dc0ca44d863987e262b7f56b3136e165aa5d1ebc3\",\n      \"transactionIndex\": \"0x61\",\n      \"blockHash\": \"0x5a800f6960b61e50548b272d75ced6fc7b4ed36b053c3287bbbb6b81e3ca0f33\",\n      \"blockNumber\": \"0x65d8c9\",\n      \"gasUsed\": \"0x18296\",\n      \"effectiveGasPrice\": \"0x1856d2d9\",\n      \"from\": \"0xee316db0edaee45347dfc498795a01311f085225\",\n      \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1726095157,\n  \"chain\": 11155111,\n  \"commit\": \"72af3f7\"\n}"
  },
  {
    "path": "sepolia/2024-09-11-update-proposer/script/RollbackProposer.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {PermissionedDisputeGame} from \"@eth-optimism-bedrock/src/dispute/PermissionedDisputeGame.sol\";\nimport {DisputeGameFactory, IDisputeGame} from \"@eth-optimism-bedrock/src/dispute/DisputeGameFactory.sol\";\nimport {GameTypes} from \"@eth-optimism-bedrock/src/dispute/lib/Types.sol\";\nimport \"forge-std/Script.sol\";\nimport \"forge-std/console.sol\";\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {\n    MultisigBuilder,\n    IMulticall3,\n    IGnosisSafe,\n    console,\n    Enum\n} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\n\ncontract RollbackProposer is MultisigBuilder {\n    address internal OLD_PROPOSER = vm.envAddress(\"OLD_PROPOSER\");\n    address internal DISPUTE_GAME_FACTORY_PROXY = vm.envAddress(\"DISPUTE_GAME_FACTORY_PROXY\");\n    address internal PERMISSIONED_DISPUTE_GAME = vm.envAddress(\"PERMISSIONED_DISPUTE_GAME\");\n    address internal DISPUTE_GAME_FACTORY_PROXY_OWNER = vm.envAddress(\"DISPUTE_GAME_FACTORY_PROXY_OWNER\");\n\n    function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal view override {\n        DisputeGameFactory dGF = DisputeGameFactory(DISPUTE_GAME_FACTORY_PROXY);\n        IDisputeGame gameImpl = dGF.gameImpls(GameTypes.PERMISSIONED_CANNON);\n        require(PermissionedDisputeGame(address(gameImpl)).proposer() == OLD_PROPOSER, \"Deploy: proposer is incorrect\");\n        console.log(\"Updated proposer to: \");\n        console.log(OLD_PROPOSER);\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        PermissionedDisputeGame newPdgImpl = PermissionedDisputeGame(PERMISSIONED_DISPUTE_GAME);\n        require(newPdgImpl.proposer() == OLD_PROPOSER, \"Deploy: proposer is incorrect\");\n\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n        calls[0] = IMulticall3.Call3({\n            target: DISPUTE_GAME_FACTORY_PROXY,\n            allowFailure: false,\n            callData: abi.encodeCall(\n                DisputeGameFactory.setImplementation,\n                (GameTypes.PERMISSIONED_CANNON, IDisputeGame(PERMISSIONED_DISPUTE_GAME))\n            )\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return DISPUTE_GAME_FACTORY_PROXY_OWNER;\n    }\n\n    function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) {\n        IGnosisSafe safe = IGnosisSafe(payable(_safe));\n        uint256 _incrementedNonce = _getNonce(safe) + 1;\n        return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _incrementedNonce);\n    }\n\n    function _addGenericOverrides() internal view override returns (SimulationStateOverride memory) {\n        SimulationStorageOverride[] memory _stateOverrides = new SimulationStorageOverride[](1);\n        _stateOverrides[0] = SimulationStorageOverride({\n            key: 0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e, // slot of PermissionedDisputeGame\n            value: 0x000000000000000000000000c7f2cf4845c6db0e1a1e91ed41bcd0fcc1b0e141\n        });\n        return SimulationStateOverride({contractAddress: DISPUTE_GAME_FACTORY_PROXY, overrides: _stateOverrides});\n    }\n}\n"
  },
  {
    "path": "sepolia/2024-09-11-update-proposer/script/UpdateProposer.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {PermissionedDisputeGame} from \"@eth-optimism-bedrock/src/dispute/PermissionedDisputeGame.sol\";\nimport {DisputeGameFactory, IDisputeGame} from \"@eth-optimism-bedrock/src/dispute/DisputeGameFactory.sol\";\nimport {GameTypes} from \"@eth-optimism-bedrock/src/dispute/lib/Types.sol\";\nimport \"forge-std/Script.sol\";\nimport \"forge-std/console.sol\";\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {\n    MultisigBuilder,\n    IMulticall3,\n    IGnosisSafe,\n    console,\n    Enum\n} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\n\ncontract UpdateProposer is MultisigBuilder {\n    address internal NEW_PROPOSER = vm.envAddress(\"NEW_PROPOSER\");\n    address internal DISPUTE_GAME_FACTORY_PROXY = vm.envAddress(\"DISPUTE_GAME_FACTORY_PROXY\");\n    address internal NEW_PERMISSIONED_DISPUTE_GAME = vm.envAddress(\"NEW_PERMISSIONED_DISPUTE_GAME\");\n    address internal DISPUTE_GAME_FACTORY_PROXY_OWNER = vm.envAddress(\"DISPUTE_GAME_FACTORY_PROXY_OWNER\");\n\n    function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal view override {\n        DisputeGameFactory dGF = DisputeGameFactory(DISPUTE_GAME_FACTORY_PROXY);\n        IDisputeGame gameImpl = dGF.gameImpls(GameTypes.PERMISSIONED_CANNON);\n        require(PermissionedDisputeGame(address(gameImpl)).proposer() == NEW_PROPOSER, \"Deploy: proposer is incorrect\");\n        console.log(\"Updated proposer to: \");\n        console.log(NEW_PROPOSER);\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        PermissionedDisputeGame newPdgImpl = PermissionedDisputeGame(NEW_PERMISSIONED_DISPUTE_GAME);\n        require(newPdgImpl.proposer() == NEW_PROPOSER, \"Deploy: proposer is incorrect\");\n\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n        calls[0] = IMulticall3.Call3({\n            target: DISPUTE_GAME_FACTORY_PROXY,\n            allowFailure: false,\n            callData: abi.encodeCall(\n                DisputeGameFactory.setImplementation, (GameTypes.PERMISSIONED_CANNON, IDisputeGame(address(newPdgImpl)))\n            )\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return DISPUTE_GAME_FACTORY_PROXY_OWNER;\n    }\n\n    function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) {\n        IGnosisSafe safe = IGnosisSafe(payable(_safe));\n        uint256 _nonce = _getNonce(safe);\n        return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce);\n    }\n}\n"
  },
  {
    "path": "sepolia/2024-10-09-increase-gas-limit/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 1# Sepolia uses hd-path of 1\nendif\n\n.PHONY: sign-upgrade\nsign-upgrade:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \\\n\t--sig \"sign()\"\n\n.PHONY: execute-upgrade\nexecute-upgrade:\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n\n.PHONY: sign-rollback\nsign-rollback:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \\\n\t--sig \"sign()\"\n\n\n.PHONY: execute-rollback\nexecute-rollback:\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "sepolia/2024-10-09-increase-gas-limit/README.md",
    "content": "# Update Gas Limit in L1 `SystemConfig`\n\nStatus: DONE\n\n## Objective\n\nWe are updating the gas limit to improve TPS and reduce gas fees.\n\nThis runbook invokes two scripts which allow our signers to sign two different calls for our Incident Multisig, which are both defined in the [base-org/contracts](https://github.com/base-org/contracts) repository:\n\n1. `UpgradeGasLimit` -- This script will update the gas limit to our new limit of 60M gas\n2. `RollbackGasLimit` -- This script establishes a rollback call in the case we need to revert to gas\n\nThe values we are sending are statically defined in the `.env`.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow\n> the flow for both \"Approving the Update transaction\" and\n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed.\n\n## Approving the Upgrade transaction\n\n### 1. Update repo and move to the appropriate folder:\n\n```\ncd contract-deployments\ngit pull\ncd sepolia/2024-10-09-increase-gas-limit\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-upgrade\n```\n\nOnce you run the `make sign...` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Sepolia.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 8 to 9:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x0000000000000000000000000000000000000000000000000000000000000008\nAfter: 0x00000000000000000000000000000000000000000000000000000000000000009\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 45M to 60M:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x0000000000000000000000000000000000000000000000000000000002aea540\nAfter: 0x0000000000000000000000000000000000000000000000000000000003938700\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-upgrade\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Approving the Rollback transaction\n\nComplete the above steps for `Approving the Update transaction` before continuing below.\n\n### 1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-rollback\n```\n\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output. Once again paste this URL in your browser and click \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Sepolia.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: 0x00000000000000000000000000000000000000000000000000000000000000009\nAfter: 0x0000000000000000000000000000000000000000000000000000000000000000a\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: 0x0000000000000000000000000000000000000000000000000000000003938700\nAfter: 0x0000000000000000000000000000000000000000000000000000000002aea540\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-rollback\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make execute-upgrade`\n\n> [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK\n> Repeat the above, but replace the signatures with the signed\n> rollback signatures collected, the call `make execute-rollback`\n"
  },
  {
    "path": "sepolia/2024-10-09-increase-gas-limit/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "sepolia/2024-10-09-increase-gas-limit/records/UpgradeGasLimit.sol/11155111/run-1728578106.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x46e866262cef4758f01c98f3af1e93a26ba199be67c89d35a5c294a99ea9a053\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000393870000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x243db38f8b30ec8cde3ac552857d3f10369a6025775f612ed6be53f160dcce561af0b2efe04cc99bf2ef47aade6ab46f9c034232f86ffaf1823258a324b89dc91c46d849f9fd90e5bca0ddbe04bb4a200f334e7dc5dbbc478fc36010fd30192c72138331d0220772fd02a8df63f142c83a77d8fd29401f5bd3e4c7d56f327719d51c79690e737327ae098a38f829681cfc6bac7b727a1394ae72918b6751b1b58432590f742d0b5bf07e906288b945eaa2611d014cde6d93a16e1a8001f3160699091b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x420c8fe1ddb0593c71487445576c87c17f177179\",\n        \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n        \"gas\": \"0x2254b\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000003938700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3243db38f8b30ec8cde3ac552857d3f10369a6025775f612ed6be53f160dcce561af0b2efe04cc99bf2ef47aade6ab46f9c034232f86ffaf1823258a324b89dc91c46d849f9fd90e5bca0ddbe04bb4a200f334e7dc5dbbc478fc36010fd30192c72138331d0220772fd02a8df63f142c83a77d8fd29401f5bd3e4c7d56f327719d51c79690e737327ae098a38f829681cfc6bac7b727a1394ae72918b6751b1b58432590f742d0b5bf07e906288b945eaa2611d014cde6d93a16e1a8001f3160699091b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x0\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x9754bb\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000003938700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3243db38f8b30ec8cde3ac552857d3f10369a6025775f612ed6be53f160dcce561af0b2efe04cc99bf2ef47aade6ab46f9c034232f86ffaf1823258a324b89dc91c46d849f9fd90e5bca0ddbe04bb4a200f334e7dc5dbbc478fc36010fd30192c72138331d0220772fd02a8df63f142c83a77d8fd29401f5bd3e4c7d56f327719d51c79690e737327ae098a38f829681cfc6bac7b727a1394ae72918b6751b1b58432590f742d0b5bf07e906288b945eaa2611d014cde6d93a16e1a8001f3160699091b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000008000000000000000000000000420c8fe1ddb0593c71487445576c87c17f1771790000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0x197a0824233d97b90f9b068f1fde2e5d122765cb936b2a9f132af8e7ed0954d7\",\n          \"blockNumber\": \"0x688ae9\",\n          \"transactionHash\": \"0x46e866262cef4758f01c98f3af1e93a26ba199be67c89d35a5c294a99ea9a053\",\n          \"transactionIndex\": \"0x2b\",\n          \"logIndex\": \"0x57\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000002\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000003938700\",\n          \"blockHash\": \"0x197a0824233d97b90f9b068f1fde2e5d122765cb936b2a9f132af8e7ed0954d7\",\n          \"blockNumber\": \"0x688ae9\",\n          \"transactionHash\": \"0x46e866262cef4758f01c98f3af1e93a26ba199be67c89d35a5c294a99ea9a053\",\n          \"transactionIndex\": \"0x2b\",\n          \"logIndex\": \"0x58\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x1e5fb075847c66bf9847f8928514ae754aac6775a03631fa7bd090e0bfa41e820000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x197a0824233d97b90f9b068f1fde2e5d122765cb936b2a9f132af8e7ed0954d7\",\n          \"blockNumber\": \"0x688ae9\",\n          \"transactionHash\": \"0x46e866262cef4758f01c98f3af1e93a26ba199be67c89d35a5c294a99ea9a053\",\n          \"transactionIndex\": \"0x2b\",\n          \"logIndex\": \"0x59\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x04000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000020100000000000000000800000000000000000000000000000008000000200000000800000000040000000000000000000000000000000000000000000000000400000000000100000004000000000000000000000000800000000000000000000000000000000000020000000000000000000000000400000020000000000000000000000000000000000000000000008000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x46e866262cef4758f01c98f3af1e93a26ba199be67c89d35a5c294a99ea9a053\",\n      \"transactionIndex\": \"0x2b\",\n      \"blockHash\": \"0x197a0824233d97b90f9b068f1fde2e5d122765cb936b2a9f132af8e7ed0954d7\",\n      \"blockNumber\": \"0x688ae9\",\n      \"gasUsed\": \"0x18daf\",\n      \"effectiveGasPrice\": \"0x405d87585\",\n      \"from\": \"0x420c8fe1ddb0593c71487445576c87c17f177179\",\n      \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1728578106,\n  \"chain\": 11155111,\n  \"commit\": \"8c82c9c\"\n}"
  },
  {
    "path": "sepolia/2024-12-06-increase-max-gas-limit/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 1\nendif\n\n# Overwriting this from top level makefile to change the branch\n.PHONY: checkout-op-commit\ncheckout-op-commit:\n\trm -rf lib/optimism\n\tmkdir -p lib/optimism\n\tcd lib/optimism; \\\n\tgit init; \\\n\tgit remote add origin $(OPTIMISM_REPO); \\\n\tgit fetch --depth=1 origin tag $(OPTIMISM_VERSION) --no-tags; \\\n\tgit checkout $(OPTIMISM_VERSION); \\\n\tgit apply ../../$(OPTIMISM_CONTRACT_PATCH)\n\n\n.PHONY: deploy\ndeploy:\n\tforge script --rpc-url $(L1_RPC_URL) DeploySystemConfig --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --verify --broadcast\n\n.PHONY: sign\nsign:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfig \\\n\t--sig \"sign()\"\n\n.PHONY: run-upgrade\nexecute:\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfig \\\n\t--sig \"run()\" --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "sepolia/2024-12-06-increase-max-gas-limit/README.md",
    "content": "## Upgrade to new system config with 400m max gas limit\n\nBase is continuing to scale and we need higher block gas limit to support the increased demand.\n\n### Steps\n\n1. pull main branch of https://github.com/base-org/contract-deployments:\n`git clone git@github.com:base-org/contract-deployments.git`\n\n2. ledger needs to be connected and unlocked\n3. deploying contracts (base team):\n```shell\ncd sepolia/2024-12-06-increase-max-gas-limit\nmake deps\nmake deploy\n```\n\n4. sign\n```shell\ncd sepolia/2024-12-06-increase-max-gas-limit\nmake deps # skip if already installed\nmake sign\n```\n\n5. execute:\n```shell\ncd sepolia/2024-12-06-increase-max-gas-limit\nmake execute\n```"
  },
  {
    "path": "sepolia/2024-12-06-increase-max-gas-limit/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/',\n    'src/=lib/optimism/packages/contracts-bedrock/src/',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "sepolia/2024-12-06-increase-max-gas-limit/patch/max-gas-limit.patch",
    "content": "diff --git a/packages/contracts-bedrock/src/L1/SystemConfig.sol b/packages/contracts-bedrock/src/L1/SystemConfig.sol\nindex 67a8353ae..ae72faf92 100644\n--- a/packages/contracts-bedrock/src/L1/SystemConfig.sol\n+++ b/packages/contracts-bedrock/src/L1/SystemConfig.sol\n@@ -87,7 +87,7 @@ contract SystemConfig is OwnableUpgradeable, ISemver, IGasToken {\n     /// @notice The maximum gas limit that can be set for L2 blocks. This limit is used to enforce that the blocks\n     ///         on L2 are not too large to process and prove. Over time, this value can be increased as various\n     ///         optimizations and improvements are made to the system at large.\n-    uint64 internal constant MAX_GAS_LIMIT = 200_000_000;\n+    uint64 internal constant MAX_GAS_LIMIT = 400_000_000;\n \n     /// @notice Fixed L2 gas overhead. Used as part of the L2 fee calculation.\n     uint256 public overhead;\n@@ -115,8 +115,8 @@ contract SystemConfig is OwnableUpgradeable, ISemver, IGasToken {\n     event ConfigUpdate(uint256 indexed version, UpdateType indexed updateType, bytes data);\n \n     /// @notice Semantic version.\n-    /// @custom:semver 2.2.0\n-    string public constant version = \"2.2.0\";\n+    /// @custom:semver 2.2.0+max-gas-limit-400M\n+    string public constant version = \"2.2.0+max-gas-limit-400M\";\n \n     /// @notice Constructs the SystemConfig contract. Cannot set\n     ///         the owner to `address(0)` due to the Ownable contract's\n"
  },
  {
    "path": "sepolia/2024-12-06-increase-max-gas-limit/records/UpgradeSystemConfig.s.sol/11155111/run-1733527237.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xe05704f078ac0599f1d88e0e287eda779817506c2f51456a2b7bd82b966a00f1\",\n      \"transactionType\": \"CREATE2\",\n      \"contractName\": \"Simulation\",\n      \"contractAddress\": \"0x06036c9d89f70b103d47cb3a9e4a069658a5c667\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"from\": \"0xaa2489debf1ef02ab83ba6cde4419e662de9254e\",\n        \"to\": \"0x4e59b44847b379578588920ca78fbf26c0b4956c\",\n        \"gas\": \"0x273e9d\",\n        \"input\": \"0x0000000000000000000000000000000000000000000000000000000000000000611ef061003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100555760003560e01c8062be68721461005a5780630482b1631461006f57806342257f7414610082578063986bfec3146100ab575b600080fd5b61006d610068366004611385565b6100be565b005b61006d61007d36600461140d565b610117565b61009561009036600461165a565b610b45565b6040516100a29190611686565b60405180910390f35b6100956100b9366004611700565b610bf0565b610112838383600060405190808252806020026020018201604052801561010c57816020015b6040805180820190915260008152606060208201528152602001906001900390816100e45790505b50610117565b505050565b604080518082018252601081527f54454e4445524c595f50524f4a45435400000000000000000000000000000000602082015290517fd145736c000000000000000000000000000000000000000000000000000000008152600091737109709ecfa91a80626ff3989d68f67f5b1dd12d9163d145736c9161019a916004016117bb565b600060405180830381865afa1580156101b7573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526101fd9190810190611802565b604080518082018252601181527f54454e4445524c595f555345524e414d45000000000000000000000000000000602082015290517fd145736c000000000000000000000000000000000000000000000000000000008152919250600091737109709ecfa91a80626ff3989d68f67f5b1dd12d9163d145736c916102849190600401611879565b600060405180830381865afa1580156102a1573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526102e79190810190611802565b60408051808201909152600381527f2535420000000000000000000000000000000000000000000000000000000000602082015290915060005b84518110156106a857600085828151811061033e5761033e6118c0565b6020026020010151905060008211156103745782604051602001610362919061190b565b60405160208183030381529060405292505b80516040517f56ca623e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911660048201528390737109709ecfa91a80626ff3989d68f67f5b1dd12d906356ca623e90602401600060405180830381865afa1580156103f7573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261043d9190810190611802565b60405160200161044e92919061194c565b604051602081830303815290604052925060005b8160200151518110156106715780156104985783604051602001610486919061190b565b60405160208183030381529060405293505b837f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663b11a19e8846020015184815181106104ee576104ee6118c0565b6020026020010151600001516040518263ffffffff1660e01b815260040161051891815260200190565b600060405180830381865afa158015610535573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261057b9190810190611802565b60208401518051737109709ecfa91a80626ff3989d68f67f5b1dd12d9163b11a19e891869081106105ae576105ae6118c0565b6020026020010151602001516040518263ffffffff1660e01b81526004016105d891815260200190565b600060405180830381865afa1580156105f5573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261063b9190810190611802565b60405160200161064d939291906119ce565b6040516020818303038152906040529350808061066990611abe565b915050610462565b50826040516020016106839190611af6565b60405160208183030381529060405292505080806106a090611abe565b915050610321565b50806040516020016106ba9190611b37565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0018152908290527f6900a3ae000000000000000000000000000000000000000000000000000000008252466004830152915060009083908590737109709ecfa91a80626ff3989d68f67f5b1dd12d90636900a3ae90602401600060405180830381865afa158015610757573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261079d9190810190611802565b6040517f56ca623e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906356ca623e90602401600060405180830381865afa15801561081b573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526108619190810190611802565b6040517f56ca623e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8b166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906356ca623e90602401600060405180830381865afa1580156108df573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526109259190810190611802565b8660405160200161093b96959493929190611b78565b6040516020818303038152906040529050611f2c8751600261095d9190611ce0565b82516109699190611d1d565b1115610a5b57806040516020016109809190611d35565b604051602081830303815290604052905061099a81610ca9565b6040517f71aad10d000000000000000000000000000000000000000000000000000000008152610a5690737109709ecfa91a80626ff3989d68f67f5b1dd12d906371aad10d906109ee908b90600401611d9c565b600060405180830381865afa158015610a0b573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610a519190810190611802565b610ca9565b610b3b565b6040517f71aad10d0000000000000000000000000000000000000000000000000000000081528190737109709ecfa91a80626ff3989d68f67f5b1dd12d906371aad10d90610aad908b90600401611d9c565b600060405180830381865afa158015610aca573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610b109190810190611802565b604051602001610b21929190611daf565b6040516020818303038152906040529050610b3b81610ca9565b5050505050505050565b6040805180820190915260008152606060208201526040805180820190915273ffffffffffffffffffffffffffffffffffffffff841681526000906020810182604051908082528060200260200182016040528015610bca57816020015b6040805180820190915260008082526020820152815260200190600190039081610ba35790505b5090529050610bd98482610d3b565b9050610be6848285610ded565b9150505b92915050565b6040805180820190915260008152606060208201526040805180820190915273ffffffffffffffffffffffffffffffffffffffff851681526000906020810182604051908082528060200260200182016040528015610c7557816020015b6040805180820190915260008082526020820152815260200190600190039081610c4e5790505b5090529050610c848582610d3b565b9050610c91858286610ea6565b9050610c9e858285610ded565b9150505b9392505050565b610d3881604051602401610cbd9190611d9c565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac000000000000000000000000000000000000000000000000000000001790526110b9565b50565b6040805180820190915260008152606060208201528273ffffffffffffffffffffffffffffffffffffffff1663e75235b86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbf9190611e07565b600103610dcd575080610bea565b604080518082019091526004815260016020820152610ca29083906110c2565b604080518082019091526000815260606020820152818473ffffffffffffffffffffffffffffffffffffffff1663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e729190611e07565b03610e7e575081610ca2565b604080518082019091526005815260208101839052610e9e9084906110c2565b949350505050565b60408051808201909152600081526060602082015260008473ffffffffffffffffffffffffffffffffffffffff1663a0e67e2b6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610f08573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610f4e9190810190611e20565b905060005b8151811015610fc4578373ffffffffffffffffffffffffffffffffffffffff16828281518110610f8557610f856118c0565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603610fb2578492505050610ca2565b80610fbc81611abe565b915050610f53565b50604080518082019091526003815260016020820152610fe59085906110c2565b604080518082019091527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0815273ffffffffffffffffffffffffffffffffffffffff8516602082015290945061103c9085906110c2565b6040805180820190915273ffffffffffffffffffffffffffffffffffffffff8516606082015260026080820152909450610c9e9085908060a08101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190528051602091820120825260019101526110c2565b610d38816111ff565b604080518082019091526000815260606020820152600083602001515160016110eb9190611d1d565b67ffffffffffffffff81111561110357611103611242565b60405190808252806020026020018201604052801561114857816020015b60408051808201909152600080825260208201528152602001906001900390816111215790505b50905060005b8460200151518110156111a95784602001518181518110611171576111716118c0565b602002602001015182828151811061118b5761118b6118c0565b602002602001018190525080806111a190611abe565b91505061114e565b508281856020015151815181106111c2576111c26118c0565b60209081029190910181019190915260408051808201909152945173ffffffffffffffffffffffffffffffffffffffff1685528401525090919050565b60006a636f6e736f6c652e6c6f679050600080835160208501845afa505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610d3857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561129457611294611242565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156112e1576112e1611242565b604052919050565b600067ffffffffffffffff82111561130357611303611242565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f83011261134057600080fd5b813561135361134e826112e9565b61129a565b81815284602083860101111561136857600080fd5b816020850160208301376000918101602001919091529392505050565b60008060006060848603121561139a57600080fd5b83356113a581611220565b9250602084013567ffffffffffffffff8111156113c157600080fd5b6113cd8682870161132f565b92505060408401356113de81611220565b809150509250925092565b600067ffffffffffffffff82111561140357611403611242565b5060051b60200190565b6000806000806080858703121561142357600080fd5b61142d8535611220565b8435935067ffffffffffffffff6020860135111561144a57600080fd5b61145a866020870135870161132f565b92506114696040860135611220565b6040850135915067ffffffffffffffff6060860135111561148957600080fd5b85601f60608701358701011261149e57600080fd5b6114b161134e60608701358701356113e9565b6060860135860180358083526020808401939260059290921b909101018810156114da57600080fd5b602060608801358801015b60608801358801803560051b0160200181101561164d5767ffffffffffffffff8135111561151257600080fd5b8035606089013589010160407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0828c0301121561154e57600080fd5b611556611271565b6115636020830135611220565b6020820135815267ffffffffffffffff6040830135111561158357600080fd5b8a603f60408401358401011261159857600080fd5b6115ae61134e60206040850135850101356113e9565b6020604084810135850182810135808552928401939260061b01018d10156115d557600080fd5b6040808501358501015b6040858101358601602081013560061b010181101561162e576040818f03121561160857600080fd5b611610611271565b813581526020808301358183015290845292909201916040016115df565b50806020840152505080855250506020830192506020810190506114e5565b5094979396509194505050565b6000806040838503121561166d57600080fd5b823561167881611220565b946020939093013593505050565b6020808252825173ffffffffffffffffffffffffffffffffffffffff168282015282810151604080840181905281516060850181905260009392830191849160808701905b808410156116f457845180518352860151868301529385019360019390930192908201906116cb565b50979650505050505050565b60008060006060848603121561171557600080fd5b833561172081611220565b9250602084013561173081611220565b929592945050506040919091013590565b60005b8381101561175c578181015183820152602001611744565b8381111561176b576000848401525b50505050565b60008151808452611789816020860160208601611741565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60408152601060408201527f54454e4445524c595f50524f4a454354000000000000000000000000000000006060820152608060208201526000610ca26080830184611771565b60006020828403121561181457600080fd5b815167ffffffffffffffff81111561182b57600080fd5b8201601f8101841361183c57600080fd5b805161184a61134e826112e9565b81815285602083850101111561185f57600080fd5b611870826020830160208601611741565b95945050505050565b60408152601160408201527f54454e4445524c595f555345524e414d450000000000000000000000000000006060820152608060208201526000610ca26080830184611771565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151611901818560208601611741565b9290920192915050565b6000825161191d818460208701611741565b7f2c00000000000000000000000000000000000000000000000000000000000000920191825250600101919050565b6000835161195e818460208801611741565b7f25374222636f6e747261637441646472657373223a22000000000000000000009083019081528351611998816016840160208801611741565b7f222c2273746f72616765223a253542000000000000000000000000000000000060169290910191820152602501949350505050565b600084516119e0818460208901611741565b7f253742226b6579223a22000000000000000000000000000000000000000000009083019081528451611a1a81600a840160208901611741565b7f222c2276616c7565223a22000000000000000000000000000000000000000000600a92909101918201528351611a58816015840160208801611741565b7f22253744000000000000000000000000000000000000000000000000000000006015929091019182015260190195945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611aef57611aef611a8f565b5060010190565b60008251611b08818460208701611741565b7f2535442537440000000000000000000000000000000000000000000000000000920191825250600601919050565b60008251611b49818460208701611741565b7f2535440000000000000000000000000000000000000000000000000000000000920191825250600301919050565b7f68747470733a2f2f64617368626f6172642e74656e6465726c792e636f2f0000815260008751611bb081601e850160208c01611741565b7f2f00000000000000000000000000000000000000000000000000000000000000601e918401918201528751611bed81601f840160208c01611741565b7f2f73696d756c61746f722f6e65773f6e6574776f726b3d000000000000000000601f92909101918201528651611c2b816036840160208b01611741565b7f26636f6e7472616374416464726573733d000000000000000000000000000000603692909101918201528551611c69816047840160208a01611741565b7f2666726f6d3d000000000000000000000000000000000000000000000000000060479290910191820152611ca1604d8201866118ef565b7f2673746174654f76657272696465733d0000000000000000000000000000000081529050611cd360108201856118ef565b9998505050505050505050565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611d1857611d18611a8f565b500290565b60008219821115611d3057611d30611a8f565b500190565b60008251611d47818460208701611741565b7f0a496e736572742074686520666f6c6c6f77696e672068657820696e746f20749201918252507f6865202752617720696e707574206461746127206669656c643a0000000000006020820152603a01919050565b602081526000610ca26020830184611771565b60008351611dc1818460208801611741565b7f2672617746756e6374696f6e496e7075743d00000000000000000000000000009083019081528351611dfb816012840160208801611741565b01601201949350505050565b600060208284031215611e1957600080fd5b5051919050565b60006020808385031215611e3357600080fd5b825167ffffffffffffffff811115611e4a57600080fd5b8301601f81018513611e5b57600080fd5b8051611e6961134e826113e9565b81815260059190911b82018301908381019087831115611e8857600080fd5b928401925b82841015611eaf578351611ea081611220565b82529284019290840190611e8d565b97965050505050505056fea2646970667358221220283474ba77b92d33cd2ac4c86126748fbbdefd6ee7a11433b35b02a8b7cadf7c64736f6c634300080f0033\",\n        \"nonce\": \"0x9\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x6e6431b2fbad4d52bb409a6b4741cbca4e41f6ebe119e50b69b0424bf513d9da\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000031aad1062c25ce545c14bd9ee64dedef6c6b6fac0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x83f709e74d249d80828045315d4ec710e43f6940e6e979112a63924ef36a471a69975d580701e585c07babad95d46a99355316db1c37df8066894c376ec4165d1c83d5085e98fb6b5a68ad1e23ef380eae9ab2ca4963450bbc7d93e1231c5357db7c3b30b2a16d0f9e42628b5802d7c7d28db5552dc43eb8895a2afead0c360cb81b6bef18446c2d31cad0ea6049a942f3e3aa739e429bb84780f35e27dff09db9d17c99c6d40221e506bfa199b7ad2fc06d51d2e3f17e1a42c2f0279355aeda1bad1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xaa2489debf1ef02ab83ba6cde4419e662de9254e\",\n        \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n        \"gas\": \"0x277f1\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000028482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000031aad1062c25ce545c14bd9ee64dedef6c6b6fac00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c383f709e74d249d80828045315d4ec710e43f6940e6e979112a63924ef36a471a69975d580701e585c07babad95d46a99355316db1c37df8066894c376ec4165d1c83d5085e98fb6b5a68ad1e23ef380eae9ab2ca4963450bbc7d93e1231c5357db7c3b30b2a16d0f9e42628b5802d7c7d28db5552dc43eb8895a2afead0c360cb81b6bef18446c2d31cad0ea6049a942f3e3aa739e429bb84780f35e27dff09db9d17c99c6d40221e506bfa199b7ad2fc06d51d2e3f17e1a42c2f0279355aeda1bad1b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0xa\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x513852\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xe05704f078ac0599f1d88e0e287eda779817506c2f51456a2b7bd82b966a00f1\",\n      \"transactionIndex\": \"0x2b\",\n      \"blockHash\": \"0x07582c7a37bc0bd3aa60800db8faf43c7e3360202abd57c0c2942254587ce82b\",\n      \"blockNumber\": \"0x6e4361\",\n      \"gasUsed\": \"0x1ad76f\",\n      \"effectiveGasPrice\": \"0x1cab03\",\n      \"from\": \"0xaa2489debf1ef02ab83ba6cde4419e662de9254e\",\n      \"to\": \"0x4e59b44847b379578588920ca78fbf26c0b4956c\",\n      \"contractAddress\": null\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x52e86b\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004200000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000028482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000031aad1062c25ce545c14bd9ee64dedef6c6b6fac00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c383f709e74d249d80828045315d4ec710e43f6940e6e979112a63924ef36a471a69975d580701e585c07babad95d46a99355316db1c37df8066894c376ec4165d1c83d5085e98fb6b5a68ad1e23ef380eae9ab2ca4963450bbc7d93e1231c5357db7c3b30b2a16d0f9e42628b5802d7c7d28db5552dc43eb8895a2afead0c360cb81b6bef18446c2d31cad0ea6049a942f3e3aa739e429bb84780f35e27dff09db9d17c99c6d40221e506bfa199b7ad2fc06d51d2e3f17e1a42c2f0279355aeda1bad1b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e0000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0x07582c7a37bc0bd3aa60800db8faf43c7e3360202abd57c0c2942254587ce82b\",\n          \"blockNumber\": \"0x6e4361\",\n          \"transactionHash\": \"0x6e6431b2fbad4d52bb409a6b4741cbca4e41f6ebe119e50b69b0424bf513d9da\",\n          \"transactionIndex\": \"0x2c\",\n          \"logIndex\": \"0x69\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x00000000000000000000000031aad1062c25ce545c14bd9ee64dedef6c6b6fac\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x07582c7a37bc0bd3aa60800db8faf43c7e3360202abd57c0c2942254587ce82b\",\n          \"blockNumber\": \"0x6e4361\",\n          \"transactionHash\": \"0x6e6431b2fbad4d52bb409a6b4741cbca4e41f6ebe119e50b69b0424bf513d9da\",\n          \"transactionIndex\": \"0x2c\",\n          \"logIndex\": \"0x6a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x575a799ff9212271195dbf0b0b2ff3482da04050a6e8f5bed0f7324dcbf66fe70000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x07582c7a37bc0bd3aa60800db8faf43c7e3360202abd57c0c2942254587ce82b\",\n          \"blockNumber\": \"0x6e4361\",\n          \"transactionHash\": \"0x6e6431b2fbad4d52bb409a6b4741cbca4e41f6ebe119e50b69b0424bf513d9da\",\n          \"transactionIndex\": \"0x2c\",\n          \"logIndex\": \"0x6b\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000400000000000000400000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000040000000000000000000000000000000000000100000000000000000000000000000000000000000200000008000000200000000800000000000000000000000000000000000000000000000100000000000400000000000000000004000000000000000000000000800000000000000020000000000000000000020000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x6e6431b2fbad4d52bb409a6b4741cbca4e41f6ebe119e50b69b0424bf513d9da\",\n      \"transactionIndex\": \"0x2c\",\n      \"blockHash\": \"0x07582c7a37bc0bd3aa60800db8faf43c7e3360202abd57c0c2942254587ce82b\",\n      \"blockNumber\": \"0x6e4361\",\n      \"gasUsed\": \"0x1b019\",\n      \"effectiveGasPrice\": \"0x1cab03\",\n      \"from\": \"0xaa2489debf1ef02ab83ba6cde4419e662de9254e\",\n      \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [\n    \"lib/base-contracts/script/universal/Simulation.sol:Simulation:0x06036C9d89F70b103d47CB3a9E4A069658A5C667\"\n  ],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1733527237,\n  \"chain\": 11155111,\n  \"commit\": \"a62c6dd\"\n}"
  },
  {
    "path": "sepolia/2024-12-06-increase-max-gas-limit/script/DeploySystemConfig.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Script, console} from \"forge-std/Script.sol\";\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\n\ncontract DeploySystemConfig is Script {\n    function run() public {\n        vm.startBroadcast();\n        SystemConfig systemConfigImpl = new SystemConfig();\n        console.log(\"SystemConfig implementation deployed at: \", address(systemConfigImpl));\n        vm.stopBroadcast();\n    }\n}\n"
  },
  {
    "path": "sepolia/2024-12-06-increase-max-gas-limit/script/UpgradeSystemConfig.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport {MultisigBuilder, Simulation} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\n\ninterface IProxyAdmin {\n    function upgrade(address _proxy, address _implementation) external;\n}\n\ninterface IProxy {\n    function implementation() external view returns (address);\n}\n\ncontract UpgradeSystemConfig is MultisigBuilder {\n    address internal SAFE_ADDRESS = vm.envAddress(\"SAFE_ADDRESS\");\n    address internal PROXY_ADMIN_ADDRESS = vm.envAddress(\"PROXY_ADMIN_ADDRESS\");\n    address internal SYSTEM_CONFIG_ADDRESS = vm.envAddress(\"SYSTEM_CONFIG_ADDRESS\");\n    address internal NEW_IMPLEMENTATION = vm.envAddress(\"NEW_IMPLEMENTATION\");\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal override {\n        // NOTE: Bypass `proxyCallIfNotAdmin` modifier.\n        vm.prank(PROXY_ADMIN_ADDRESS);\n        require(IProxy(SYSTEM_CONFIG_ADDRESS).implementation() == NEW_IMPLEMENTATION);\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](3);\n\n        calls[0] = IMulticall3.Call3({\n            target: PROXY_ADMIN_ADDRESS,\n            allowFailure: false,\n            // NOTE: No need to call initialize as no storage would change (only changing `MAX_GAS_LIMIT` and `version`).\n            callData: abi.encodeCall(IProxyAdmin.upgrade, (SYSTEM_CONFIG_ADDRESS, NEW_IMPLEMENTATION))\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return SAFE_ADDRESS;\n    }\n}"
  },
  {
    "path": "sepolia/2025-01-23-upgrade-balance-tracker/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n##\n# Foundry commands\n##\n.PHONY: sim-upgrade\nsim-upgrade:\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeBalanceTracker --sig \"run()\" -vvvv\n\n.PHONY: upgrade\nupgrade:\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeBalanceTracker --sig \"run()\" --broadcast -vvvv\n"
  },
  {
    "path": "sepolia/2025-01-23-upgrade-balance-tracker/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "sepolia/2025-01-23-upgrade-balance-tracker/records/UpgradeBalanceTracker.s.sol/11155111/run-1738252251.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x45f4dd35fb7bc1127e735191cce0a44ab61fccc065084a4f917018f5d0d1443c\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"BalanceTracker\",\n      \"contractAddress\": \"0x16e4e4cc0aa385dcb683c25d3a8f38d84f649d21\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x5A822ea15764a6090b86B1EABfFc051cEC99AFE9\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x4672425c27a942bb27e7b9709c1b21ab89a3ca13\",\n        \"gas\": \"0x11f9e4\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60a060405234801561001057600080fd5b506040516110d53803806110d583398101604081905261002f9161017c565b6001600160a01b0381166100a55760405162461bcd60e51b815260206004820152603260248201527f42616c616e6365547261636b65723a2050524f4649545f57414c4c45542063616044820152716e6e6f74206265206164647265737328302960701b60648201526084015b60405180910390fd5b6001600160a01b0381166080526100ba6100c0565b506101ac565b600054610100900460ff16156101285760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840161009c565b60005460ff908116101561017a576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60006020828403121561018e57600080fd5b81516001600160a01b03811681146101a557600080fd5b9392505050565b608051610f006101d56000396000818161016b0152818161087d01526108aa0152610f006000f3fe6080604052600436106100695760003560e01c8063927a1a7711610043578063927a1a7714610114578063981949e814610159578063ba69ebed1461018d57600080fd5b80630a565720146100aa5780636d1eb022146100dd5780637fbbe46f146100f257600080fd5b366100a55760405134815233907f5741979df5f3e491501da74d3b0a83dd2496ab1f34929865b3e190a8ad75859a9060200160405180910390a2005b600080fd5b3480156100b657600080fd5b506100ca6100c5366004610c5b565b6101a2565b6040519081526020015b60405180910390f35b3480156100e957600080fd5b506100ca601481565b3480156100fe57600080fd5b5061011261010d366004610d81565b6101c3565b005b34801561012057600080fd5b5061013461012f366004610c5b565b6106ca565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100d4565b34801561016557600080fd5b506101347f000000000000000000000000000000000000000000000000000000000000000081565b34801561019957600080fd5b50610112610701565b603481815481106101b257600080fd5b600091825260209091200154905081565b600054600290610100900460ff161580156101e5575060005460ff8083169116105b610276576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001660ff831617610100179055825180610336576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f42616c616e6365547261636b65723a2073797374656d4164647265737365732060448201527f63616e6e6f7420686176652061206c656e677468206f66207a65726f00000000606482015260840161026d565b60148111156103ee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526044602482018190527f42616c616e6365547261636b65723a2073797374656d41646472657373657320908201527f63616e6e6f7420686176652061206c656e67746820677265617465722074686160648201527f6e20323000000000000000000000000000000000000000000000000000000000608482015260a40161026d565b825181146104a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604760248201527f42616c616e6365547261636b65723a2073797374656d4164647265737365732060448201527f616e642074617267657442616c616e636573206c656e677468206d757374206260648201527f6520657175616c00000000000000000000000000000000000000000000000000608482015260a40161026d565b60005b8181101561063557600073ffffffffffffffffffffffffffffffffffffffff168582815181106104d9576104d9610e5d565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603610584576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f42616c616e6365547261636b65723a2073797374656d4164647265737365732060448201527f63616e6e6f7420636f6e7461696e206164647265737328302900000000000000606482015260840161026d565b600084828151811061059857610598610e5d565b60200260200101511161062d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f42616c616e6365547261636b65723a2074617267657442616c616e636573206360448201527f616e6e6f7420636f6e7461696e20302074617267657400000000000000000000606482015260840161026d565b6001016104a7565b508351610649906033906020870190610b81565b50825161065d906034906020860190610c0b565b50610666610921565b50600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b603381815481106106da57600080fd5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60026001540361076d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161026d565b600260015560335480610802576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f42616c616e6365547261636b65723a2073797374656d4164647265737365732060448201527f63616e6e6f7420686176652061206c656e677468206f66207a65726f00000000606482015260840161026d565b60005b818110156108745761086c6033828154811061082357610823610e5d565b6000918252602090912001546034805473ffffffffffffffffffffffffffffffffffffffff909216918490811061085c5761085c610e5d565b90600052602060002001546109c2565b600101610805565b504760006108a37f00000000000000000000000000000000000000000000000000000000000000005a84610ad0565b90508015157f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff167fbadd9d7563efca77438dc132e885aa156837e0b784469f68fbd810cbfb6cda778460405161091091815260200190565b60405180910390a350506001805550565b600054610100900460ff166109b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161026d565b6109c0610ae4565b565b73ffffffffffffffffffffffffffffffffffffffff821631818110610a3a57604080516000808252602082018190529173ffffffffffffffffffffffffffffffffffffffff8616917f74273f98770936abfe9aad12868d2dbe403347b74b7f3a539d0359c123d5d31c910160405180910390a3505050565b6000610a468284610e8c565b9050476000818311610a585782610a5a565b815b90506000610a69875a84610ad0565b90508015158773ffffffffffffffffffffffffffffffffffffffff167f74273f98770936abfe9aad12868d2dbe403347b74b7f3a539d0359c123d5d31c8685604051610abf929190918252602082015260400190565b60405180910390a350505050505050565b6000806000806000858888f1949350505050565b600054610100900460ff16610b7b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161026d565b60018055565b828054828255906000526020600020908101928215610bfb579160200282015b82811115610bfb57825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909116178255602090920191600190910190610ba1565b50610c07929150610c46565b5090565b828054828255906000526020600020908101928215610bfb579160200282015b82811115610bfb578251825591602001919060010190610c2b565b5b80821115610c075760008155600101610c47565b600060208284031215610c6d57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610cea57610cea610c74565b604052919050565b600067ffffffffffffffff821115610d0c57610d0c610c74565b5060051b60200190565b600082601f830112610d2757600080fd5b81356020610d3c610d3783610cf2565b610ca3565b82815260059290921b84018101918181019086841115610d5b57600080fd5b8286015b84811015610d765780358352918301918301610d5f565b509695505050505050565b60008060408385031215610d9457600080fd5b823567ffffffffffffffff80821115610dac57600080fd5b818501915085601f830112610dc057600080fd5b81356020610dd0610d3783610cf2565b82815260059290921b84018101918181019089841115610def57600080fd5b948201945b83861015610e3057853573ffffffffffffffffffffffffffffffffffffffff81168114610e215760008081fd5b82529482019490820190610df4565b96505086013592505080821115610e4657600080fd5b50610e5385828601610d16565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082821015610ec5577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b50039056fea2646970667358221220107f4708b221cb3330d6bf60ef5b3fd77dc7dadbffa0b50f05d00597f9c6fe4864736f6c634300080f00330000000000000000000000005a822ea15764a6090b86b1eabffc051cec99afe9\",\n        \"nonce\": \"0x17\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xaeb77a62a6de63be08a05100c6b6e5ccd3ca988960f0ba0df76bd8ab391b2b95\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x8d1b5e5614300f5c7ada01ffa4ccf8f1752d9a57\",\n      \"function\": \"upgradeToAndCall(address,bytes)\",\n      \"arguments\": [\n        \"0x16E4e4Cc0aa385Dcb683c25d3a8f38d84f649D21\",\n        \"0x7fbbe46f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000037637067c1dbe6d2430616d8f54cb774daa5999000000000000000000000000fc56e7272eebbba5bc6c544e159483c4a38f8ba3000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000ad78ebc5ac620000000000000000000000000000000000000000000000000003635c9adc5dea00000\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x4672425c27a942bb27e7b9709c1b21ab89a3ca13\",\n        \"to\": \"0x8d1b5e5614300f5c7ada01ffa4ccf8f1752d9a57\",\n        \"gas\": \"0x1644d\",\n        \"value\": \"0x0\",\n        \"input\": \"0x4f1ef28600000000000000000000000016e4e4cc0aa385dcb683c25d3a8f38d84f649d21000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001047fbbe46f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000037637067c1dbe6d2430616d8f54cb774daa5999000000000000000000000000fc56e7272eebbba5bc6c544e159483c4a38f8ba3000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000ad78ebc5ac620000000000000000000000000000000000000000000000000003635c9adc5dea0000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x18\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x31881b\",\n      \"logs\": [\n        {\n          \"address\": \"0x16e4e4cc0aa385dcb683c25d3a8f38d84f649d21\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000ff\",\n          \"blockHash\": \"0xa80f85b47d540bded1eb9fd9ee6dbdc4edd878f905f97eaf45cfcf2c84d9106e\",\n          \"blockNumber\": \"0x740778\",\n          \"transactionHash\": \"0x45f4dd35fb7bc1127e735191cce0a44ab61fccc065084a4f917018f5d0d1443c\",\n          \"transactionIndex\": \"0x1d\",\n          \"logIndex\": \"0x2f\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000080000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000800000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x45f4dd35fb7bc1127e735191cce0a44ab61fccc065084a4f917018f5d0d1443c\",\n      \"transactionIndex\": \"0x1d\",\n      \"blockHash\": \"0xa80f85b47d540bded1eb9fd9ee6dbdc4edd878f905f97eaf45cfcf2c84d9106e\",\n      \"blockNumber\": \"0x740778\",\n      \"gasUsed\": \"0xdd4fb\",\n      \"effectiveGasPrice\": \"0x3143c382d\",\n      \"from\": \"0x4672425c27a942bb27e7b9709c1b21ab89a3ca13\",\n      \"to\": null,\n      \"contractAddress\": \"0x16e4e4cc0aa385dcb683c25d3a8f38d84f649d21\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x328a10\",\n      \"logs\": [\n        {\n          \"address\": \"0x8d1b5e5614300f5c7ada01ffa4ccf8f1752d9a57\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x00000000000000000000000016e4e4cc0aa385dcb683c25d3a8f38d84f649d21\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xa80f85b47d540bded1eb9fd9ee6dbdc4edd878f905f97eaf45cfcf2c84d9106e\",\n          \"blockNumber\": \"0x740778\",\n          \"transactionHash\": \"0xaeb77a62a6de63be08a05100c6b6e5ccd3ca988960f0ba0df76bd8ab391b2b95\",\n          \"transactionIndex\": \"0x1e\",\n          \"logIndex\": \"0x30\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x8d1b5e5614300f5c7ada01ffa4ccf8f1752d9a57\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000002\",\n          \"blockHash\": \"0xa80f85b47d540bded1eb9fd9ee6dbdc4edd878f905f97eaf45cfcf2c84d9106e\",\n          \"blockNumber\": \"0x740778\",\n          \"transactionHash\": \"0xaeb77a62a6de63be08a05100c6b6e5ccd3ca988960f0ba0df76bd8ab391b2b95\",\n          \"transactionIndex\": \"0x1e\",\n          \"logIndex\": \"0x31\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000400000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000001000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000020000000000000000000040000000000000400000000000000000000000000000000000000000000000000020000000000001000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xaeb77a62a6de63be08a05100c6b6e5ccd3ca988960f0ba0df76bd8ab391b2b95\",\n      \"transactionIndex\": \"0x1e\",\n      \"blockHash\": \"0xa80f85b47d540bded1eb9fd9ee6dbdc4edd878f905f97eaf45cfcf2c84d9106e\",\n      \"blockNumber\": \"0x740778\",\n      \"gasUsed\": \"0x101f5\",\n      \"effectiveGasPrice\": \"0x3143c382d\",\n      \"from\": \"0x4672425c27a942bb27e7b9709c1b21ab89a3ca13\",\n      \"to\": \"0x8d1b5e5614300f5c7ada01ffa4ccf8f1752d9a57\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1738252251,\n  \"chain\": 11155111,\n  \"commit\": \"06f1d28\"\n}"
  },
  {
    "path": "sepolia/2025-01-23-upgrade-balance-tracker/script/UpgradeBalanceTracker.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Script} from \"forge-std/Script.sol\";\nimport {console} from \"forge-std/console.sol\";\nimport {BalanceTracker} from \"@base-contracts/src/revenue-share/BalanceTracker.sol\";\nimport {Proxy} from \"@eth-optimism-bedrock/src/universal/Proxy.sol\";\n\ncontract UpgradeBalanceTracker is Script {\n    Proxy proxy;\n    BalanceTracker balanceTracker;\n\n    bytes initializeCall;\n\n    address deployer;\n    address payable profitWallet;\n    address payable outputProposer;\n    address payable batchSender;\n    uint256 outputProposerTargetBalance;\n    uint256 batchSenderTargetBalance;\n\n    function setUp() public {\n        deployer = vm.envAddress(\"BALANCE_TRACKER_DEPLOYER\");\n        profitWallet = payable(vm.envAddress(\"PROFIT_WALLET\"));\n        outputProposer = payable(vm.envAddress(\"OUTPUT_PROPOSER\"));\n        batchSender = payable(vm.envAddress(\"BATCH_SENDER\"));\n        outputProposerTargetBalance = vm.envUint(\"OUTPUT_PROPOSER_TARGET_BALANCE\");\n        batchSenderTargetBalance = vm.envUint(\"BATCH_SENDER_TARGET_BALANCE\");\n        address payable proxyAddress = payable(vm.envAddress(\"BALANCE_TRACKER_PROXY\"));\n\n        console.log(\"Deployer: %s\", deployer);\n        console.log(\"Profit Wallet: %s\", profitWallet);\n        console.log(\"Output Proposer: %s\", outputProposer);\n        console.log(\"Batch Sender: %s\", batchSender);\n        console.log(\"Output Proposer Target Balance: %s\", outputProposerTargetBalance);\n        console.log(\"Batch Sender Target Balance: %s\", batchSenderTargetBalance);\n        console.log(\"Proxy Address: %s\", proxyAddress);\n\n        address payable[] memory systemAddresses = new address payable[](2);\n        uint256[] memory targetBalances = new uint256[](2);\n\n        systemAddresses[0] = outputProposer;\n        systemAddresses[1] = batchSender;\n        targetBalances[0] = outputProposerTargetBalance;\n        targetBalances[1] = batchSenderTargetBalance;\n\n        initializeCall = abi.encodeCall(BalanceTracker.initialize, (systemAddresses, targetBalances));\n\n        proxy = Proxy(proxyAddress);\n        balanceTracker = BalanceTracker(payable(address(proxy)));\n\n        _preChecks();\n    }\n\n    function run() public {\n        address balanceTrackerImpl = _deployImplementation();\n        _upgradeProxy(balanceTrackerImpl);\n        _postChecks(balanceTrackerImpl);\n\n        console.log(\"Balance Tracker Impl address: %s\", address(balanceTrackerImpl));\n        console.log(\"Balance Tracker Proxy address: %s\", address(proxy));\n    }\n\n    function _deployImplementation() private returns (address) {\n        vm.broadcast(deployer);\n        return address(new BalanceTracker(profitWallet));\n    }\n\n    function _upgradeProxy(address balanceTrackerImpl) private {\n        vm.broadcast(deployer);\n        proxy.upgradeToAndCall(balanceTrackerImpl, initializeCall);\n    }\n\n    function _preChecks() private view {\n        require(balanceTracker.PROFIT_WALLET() == profitWallet, \"Precheck: incorrect profit wallet\");\n        require(balanceTracker.systemAddresses(0) != outputProposer, \"Precheck: incorrect output proposer\");\n        require(balanceTracker.systemAddresses(1) != batchSender, \"Precheck: incorrect batch sender\");\n        require(\n            balanceTracker.targetBalances(0) == outputProposerTargetBalance,\n            \"Precheck: incorrect output proposer target balance\"\n        );\n        require(\n            balanceTracker.targetBalances(1) == batchSenderTargetBalance,\n            \"Precheck: incorrect batch sender target balance\"\n        );\n    }\n\n    function _postChecks(address balanceTrackerImpl) private {\n        vm.prank(address(0));\n        require(proxy.implementation() == balanceTrackerImpl, \"Postcheck: incorrect implementation\");\n        require(balanceTracker.PROFIT_WALLET() == profitWallet, \"Postcheck: incorrect profit wallet\");\n        require(balanceTracker.systemAddresses(0) == outputProposer, \"Postcheck: incorrect output proposer\");\n        require(balanceTracker.systemAddresses(1) == batchSender, \"Postcheck: incorrect batch sender\");\n        require(\n            balanceTracker.targetBalances(0) == outputProposerTargetBalance,\n            \"Postcheck: incorrect output proposer target balance\"\n        );\n        require(\n            balanceTracker.targetBalances(1) == batchSenderTargetBalance,\n            \"Postcheck: incorrect batch sender target balance\"\n        );\n    }\n}\n"
  },
  {
    "path": "sepolia/2025-02-14-upgrade-fault-proofs/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 1\nendif\n\n##\n# NestedMultisigBuilder commands\n# The following commands can be used for tasks that utilize the NestedMultisigBuilder.\n# Note that --ledger --hd-paths <PATH> can be replaced with --private-key $(PRIVATE_KEY)\n# in any command when using a local key.\n# See more documentation on the various steps in NestedMultisigBuilder.sol.\n##\n\n.PHONY: deploy\ndeploy:\n\tforge script --rpc-url $(L1_RPC_URL) DeployDisputeGames \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv\n\n.PHONY: sign\nsign:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeDGF --sig \"sign()\"\n\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeDGF \\\n\t--sig \"run(bytes)\" $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv\n"
  },
  {
    "path": "sepolia/2025-02-14-upgrade-fault-proofs/README.md",
    "content": "# Upgrade Fault Proofs\n\nStatus: EXECUTED https://sepolia.etherscan.io/tx/0x77e5103ef33ab5f6d30c14dfad94ac1c6fd902b714df67d01191b75dd3f28e0c\n\n## Description\n\nThis task contains two scripts. One for deploying new versions of the `FaultDisputeGame` and `PermissionedDisputeGame` contracts, and one for updating the `DisputeGameFactory` contract to reference the new dispute game contracts.\n\n## Procedure\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd sepolia/2025-02-14-upgrade-fault-proofs\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Run relevant script(s)\n\n#### 3.1 Deploy new Dispute Game Implementations\n\n```bash\nmake deploy\n```\n\nThis will output the new addresses of the `FaultDisputeGame` and `PermissionedDisputeGame` contracts to an `addresses.json` file. You will need to commit this file to the repo before signers can sign.\n\n#### 3.2 Sign the transaction\n\nCoinbase signer:\n\n```bash\nmake sign\n```\n\nYou will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and extract the domain hash and\nmessage hash to approve on your Ledger:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n##### 3.2.1 Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Sepolia.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not see the derivation path Note above.\n\n##### 3.2.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab, and refer to the [State Validations](./VALIDATION.md) instructions for the transaction you are signing.\nOnce complete return to this document to complete the signing.\n\n##### 3.2.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\nOnce the validations are done, it's time to actually sign the\ntransaction.\n\n> [!WARNING]\n> This is the most security critical part of the playbook: make sure the\n> domain hash and message hash in the following two places match:\n>\n> 1. On your Ledger screen.\n> 2. In the Tenderly simulation. You should use the same Tenderly\n>    simulation as the one you used to verify the state diffs, instead\n>    of opening the new one printed in the console.\n>\n> There is no need to verify anything printed in the console. There is\n> no need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```shell\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n##### 3.2.4 Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n### [For Facilitator ONLY] How to execute\n\n#### Execute the transaction\n\n1. IMPORTANT: Ensure op-challenger has been updated before executing.\n1. Collect outputs from all participating signers.\n1. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"`.\n1. Run the `make execute` command as described below to execute the transaction.\n\nFor example, if the quorum is 2 and you get the following outputs:\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE01\nSignature: AAAA\n```\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE02\nSignature: BBBB\n```\n\nThen you should run:\n\nCoinbase facilitator:\n\n```bash\nSIGNATURES=AAAABBBB make execute\n```\n"
  },
  {
    "path": "sepolia/2025-02-14-upgrade-fault-proofs/VALIDATION.md",
    "content": "# Validation\n\nThis document can be used to validate the state diff resulting from the execution of the upgrade transactions.\n\nFor each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract:\n\n- The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur.\n- All addresses (in section headers and storage values) match the provided name, using the Etherscan and Superchain Registry links provided. This validates the bytecode deployed at the addresses contains the correct logic.\n- All key values match the semantic meaning provided, which can be validated using the storage layout links provided.\n\n## State Changes\n\n### `0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1` (`DisputeGameFactory`)\n\n- **Key**: `0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e` <br/>\n  **Before**: `0x00000000000000000000000068f600e592799c16d1b096616edbf1681fb9c0de` <br/>\n  **After**: `0x00000000000000000000000071ff927ee7b96f873c249093846aa292f374aef4` <br/>\n  **Meaning**: Updates the `PermissionedDisputeGame` implementation address from `0x68f600e592799c16D1b096616eDbf1681FB9c0De` to the newly deployed contract address (`0x71ff927ee7b96f873c249093846aa292f374aef4`).\n  **Verify**: You can verify the key derivation by running `cast index uint32 1 101` in your terminal.\n- **Key**: `0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b` <br/>\n  **Before**: `0x000000000000000000000000b7fb44a61fde2b9db28a84366e168b14d1a1b103` <br/>\n  **After**: `0x000000000000000000000000605b4248500c0a144e39bbb04c05c539e388e222` <br/>\n  **Meaning**: Updates the `FaultDisputeGame` implementation address from `0xB7fB44a61fdE2b9DB28a84366e168b14D1a1b103` to the newly deployed contract address (`0x605b4248500c0a144e39bbb04c05c539e388e222`).\n  **Verify**: You can verify the key derivation by running `cast index uint32 0 101` in your terminal.\n\nYou should also see nonce updates for the `ProxyAdminOwner` (`0x0fe884546476dDd290eC46318785046ef68a0BA9`) and the address you're signing with.\n"
  },
  {
    "path": "sepolia/2025-02-14-upgrade-fault-proofs/addresses.json",
    "content": "{\n  \"faultDisputeGame\": \"0x605b4248500c0a144e39bbb04c05c539e388e222\",\n  \"permissionedDisputeGame\": \"0x71ff927ee7b96f873c249093846aa292f374aef4\"\n}\n"
  },
  {
    "path": "sepolia/2025-02-14-upgrade-fault-proofs/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n    '@lib-keccak/=lib/lib-keccak/contracts/lib',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "sepolia/2025-02-14-upgrade-fault-proofs/records/DeployDisputeGames.s.sol/11155111/run-1740598045.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x959fd4e59dab152c5c6995dd0a9d8e244c0b813b237f2067b67ddc108545a01f\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"FaultDisputeGame\",\n      \"contractAddress\": \"0x605b4248500c0a144e39bbb04c05c539e388e222\",\n      \"function\": null,\n      \"arguments\": [\n        \"0\",\n        \"0x03925193e3e89f87835bbdf3a813f60b2aa818a36bbe71cd5d8fd7e79f5e8afe\",\n        \"73\",\n        \"30\",\n        \"10800\",\n        \"302400\",\n        \"0x69470D6970Cd2A006b84B1d4d70179c892cFCE01\",\n        \"0x489c2E5ebe0037bDb2DC039C5770757b8E54eA1F\",\n        \"0x4C8BA32A5DAC2A720bb35CeDB51D6B067D104205\",\n        \"84532\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"gas\": \"0x674a99\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6101c06040523480156200001257600080fd5b50604051620064b1380380620064b1833981016040819052620000359162000435565b620000436001607e6200050c565b60ff168811156200006757604051633beff19960e11b815260040160405180910390fd5b600019871480620000845750876200008188600162000532565b10155b15620000a35760405163e62ccf3960e01b815260040160405180910390fd5b6002871015620000c65760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b038016846001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200010f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013591906200054d565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000173573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019991906200056d565b1115620001b95760405163b4e1243360e01b815260040160405180910390fd5b6000620001da876001600160401b0316620003e260201b62000c891760201c565b620001f0906001600160401b0316600262000587565b90506000856001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000233573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025991906200054d565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000297573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002bd91906200056d565b620002dc896001600160401b0316620003e260201b62000c891760201c565b6001600160401b0316620002f1919062000532565b905060006200030c8383620003e560201b62003a261760201c565b90506001600160401b03811115620003375760405163235dfb2b60e21b815260040160405180910390fd5b62000356886001600160401b0316620003e260201b62000c891760201c565b6001600160401b0316816001600160401b03161115620003895760405163235dfb2b60e21b815260040160405180910390fd5b50505063ffffffff9099166101205260809790975260a09590955260c0939093526001600160401b039182166101a0521660e0526001600160a01b039081166101005290811661014052166101605261018052620005a9565b90565b6000818311620003f65781620003f8565b825b9392505050565b80516001600160401b03811681146200041757600080fd5b919050565b6001600160a01b03811681146200043257600080fd5b50565b6000806000806000806000806000806101408b8d0312156200045657600080fd5b8a5163ffffffff811681146200046b57600080fd5b809a505060208b0151985060408b0151975060608b015196506200049260808c01620003ff565b9550620004a260a08c01620003ff565b945060c08b0151620004b4816200041c565b60e08c0151909450620004c7816200041c565b6101008c0151909350620004db816200041c565b809250506101208b015190509295989b9194979a5092959850565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff841680821015620005295762000529620004f6565b90039392505050565b60008219821115620005485762000548620004f6565b500190565b6000602082840312156200056057600080fd5b8151620003f8816200041c565b6000602082840312156200058057600080fd5b5051919050565b6000816000190483118215151615620005a457620005a4620004f6565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051615d826200072f600039600081816106bb01528181611fbb015281816120260152612059015260008181610a1e01526139390152600081816106130152818161178a01526125e80152600081816105270152818161194c01528181612480015281816129ea0152613e1301526000818161088d015281816125a701526139c80152600081816104b401528181611eba015281816132420152613597015260008181610a7101528181610f6001528181611e2a01528181612089015281816120e801528181612bf60152612c38015260008181610aa401528181611c7301528181611d9901528181611ff7015281816130950152818161379601528181613f0a015281816146270152818161475501528181614856015261492b015260008181610b4b01528181611d3c01528181611e8e01528181612d0601528181612d8c01528181612f8b01526130b601526000818161078601526131540152615d826000f3fe6080604052600436106102f25760003560e01c806370872aa51161018f578063c6f0308c116100e1578063ec5e63081161008a578063fa24f74311610064578063fa24f74314610b18578063fa315aa914610b3c578063fe2bbeb214610b6f57600080fd5b8063ec5e630814610a95578063eff0f59214610ac8578063f8f43ff614610af857600080fd5b8063d6ae3cd5116100bb578063d6ae3cd514610a0f578063d8cc1a3c14610a42578063dabd396d14610a6257600080fd5b8063c6f0308c14610937578063cf09e0d0146109c1578063d5d44d80146109e257600080fd5b80638d450a9511610143578063bcef3b551161011d578063bcef3b55146108b7578063bd8da956146108f7578063c395e1ca1461091757600080fd5b80638d450a9514610777578063a445ece6146107aa578063bbdc02db1461087657600080fd5b80638129fc1c116101745780638129fc1c1461071a5780638980e0cc146107225780638b85902b1461073757600080fd5b806370872aa5146106f25780637b0f0adc1461070757600080fd5b80633fc8cef3116102485780635c0cba33116101fc5780636361506d116101d65780636361506d1461066c5780636b6716c0146106ac5780636f034409146106df57600080fd5b80635c0cba3314610604578063609d33341461063757806360e274641461064c57600080fd5b806354fd4d501161022d57806354fd4d501461055e57806357da950e146105b45780635a5fa2d9146105e457600080fd5b80633fc8cef314610518578063472777c61461054b57600080fd5b80632810e1d6116102aa57806337b1b2291161028457806337b1b229146104655780633a768463146104a55780633e3ac912146104d857600080fd5b80632810e1d6146103de5780632ad69aeb146103f357806330dbe5701461041357600080fd5b806319effeb4116102db57806319effeb414610339578063200d2ed21461038457806325fc2ace146103bf57600080fd5b806301935130146102f757806303c2924d14610319575b600080fd5b34801561030357600080fd5b506103176103123660046154e1565b610b9f565b005b34801561032557600080fd5b5061031761033436600461553c565b610ec0565b34801561034557600080fd5b506000546103669068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b34801561039057600080fd5b506000546103b290700100000000000000000000000000000000900460ff1681565b60405161037b919061558d565b3480156103cb57600080fd5b506008545b60405190815260200161037b565b3480156103ea57600080fd5b506103b2611566565b3480156103ff57600080fd5b506103d061040e36600461553c565b61180b565b34801561041f57600080fd5b506001546104409073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161037b565b34801561047157600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90033560601c610440565b3480156104b157600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610440565b3480156104e457600080fd5b50600054610508907201000000000000000000000000000000000000900460ff1681565b604051901515815260200161037b565b34801561052457600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610440565b6103176105593660046155ce565b611841565b34801561056a57600080fd5b506105a76040518060400160405280600581526020017f312e332e3100000000000000000000000000000000000000000000000000000081525081565b60405161037b9190615665565b3480156105c057600080fd5b506008546009546105cf919082565b6040805192835260208301919091520161037b565b3480156105f057600080fd5b506103d06105ff366004615678565b611853565b34801561061057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610440565b34801561064357600080fd5b506105a761188d565b34801561065857600080fd5b506103176106673660046156b6565b61189b565b34801561067857600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003603401356103d0565b3480156106b857600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610366565b6103176106ed3660046156e8565b611a42565b3480156106fe57600080fd5b506009546103d0565b6103176107153660046155ce565b61251b565b610317612528565b34801561072e57600080fd5b506002546103d0565b34801561074357600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401356103d0565b34801561078357600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b3480156107b657600080fd5b506108226107c5366004615678565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046fffffffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff1684565b60408051941515855263ffffffff90931660208501526fffffffffffffffffffffffffffffffff9091169183019190915273ffffffffffffffffffffffffffffffffffffffff16606082015260800161037b565b34801561088257600080fd5b5060405163ffffffff7f000000000000000000000000000000000000000000000000000000000000000016815260200161037b565b3480156108c357600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356103d0565b34801561090357600080fd5b50610366610912366004615678565b612a81565b34801561092357600080fd5b506103d0610932366004615727565b612c60565b34801561094357600080fd5b50610957610952366004615678565b612e43565b6040805163ffffffff909816885273ffffffffffffffffffffffffffffffffffffffff968716602089015295909416948601949094526fffffffffffffffffffffffffffffffff9182166060860152608085015291821660a08401521660c082015260e00161037b565b3480156109cd57600080fd5b506000546103669067ffffffffffffffff1681565b3480156109ee57600080fd5b506103d06109fd3660046156b6565b60036020526000908152604090205481565b348015610a1b57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b348015610a4e57600080fd5b50610317610a5d366004615759565b612eda565b348015610a6e57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610366565b348015610aa157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b348015610ad457600080fd5b50610508610ae3366004615678565b60046020526000908152604090205460ff1681565b348015610b0457600080fd5b50610317610b133660046155ce565b613509565b348015610b2457600080fd5b50610b2d6139c6565b60405161037b939291906157e3565b348015610b4857600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b348015610b7b57600080fd5b50610508610b8a366004615678565b60066020526000908152604090205460ff1681565b60008054700100000000000000000000000000000000900460ff166002811115610bcb57610bcb61555e565b14610c02576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610c55576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c8c367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013590565b90565b610ca3610c9e36869003860186615837565b613a40565b14610cda576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610cef9291906158c4565b604051809103902014610d2e576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d77610d7284848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613a9c92505050565b613b09565b90506000610d9e82600881518110610d9157610d916158d4565b6020026020010151613cbf565b9050602081511115610ddc576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401358103610e51576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054700100000000000000000000000000000000900460ff166002811115610eec57610eec61555e565b14610f23576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110610f3857610f386158d4565b906000526020600020906005020190506000610f5384612a81565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610fbc576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611005576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561102257508515155b156110bd578354640100000000900473ffffffffffffffffffffffffffffffffffffffff16600081156110555781611071565b600186015473ffffffffffffffffffffffffffffffffffffffff165b905061107d8187613d73565b50505060009485525050600660205250506040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046fffffffffffffffffffffffffffffffff16938101939093526001015473ffffffffffffffffffffffffffffffffffffffff166060830152611160576fffffffffffffffffffffffffffffffff6040820152600181526000869003611160578195505b600086826020015163ffffffff166111789190615932565b90506000838211611189578161118b565b835b602084015190915063ffffffff165b818110156112d75760008682815481106111b6576111b66158d4565b6000918252602080832090910154808352600690915260409091205490915060ff1661120e576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028281548110611223576112236158d4565b600091825260209091206005909102018054909150640100000000900473ffffffffffffffffffffffffffffffffffffffff161580156112805750600481015460408701516fffffffffffffffffffffffffffffffff9182169116115b156112c257600181015473ffffffffffffffffffffffffffffffffffffffff16606087015260048101546fffffffffffffffffffffffffffffffff1660408701525b505080806112cf9061594a565b91505061119a565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006fffffffffffffffffffffffffffffffff909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9093169290921790915584900361155b57606083015160008a815260066020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558915801561145757506000547201000000000000000000000000000000000000900460ff165b156114cc5760015473ffffffffffffffffffffffffffffffffffffffff1661147f818a613d73565b885473ffffffffffffffffffffffffffffffffffffffff909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611559565b61151373ffffffffffffffffffffffffffffffffffffffff8216156114f1578161150d565b600189015473ffffffffffffffffffffffffffffffffffffffff165b89613d73565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff1664010000000073ffffffffffffffffffffffffffffffffffffffff8316021788555b505b505050505050505050565b600080600054700100000000000000000000000000000000900460ff1660028111156115945761159461555e565b146115cb576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff1661162f576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008154811061165b5761165b6158d4565b6000918252602090912060059091020154640100000000900473ffffffffffffffffffffffffffffffffffffffff1614611696576001611699565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff9091161770010000000000000000000000000000000083600281111561174a5761174a61555e565b02179055600281111561175f5761175f61555e565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a27f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663838c2d1e6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156117f057600080fd5b505af1158015611804573d6000803e3d6000fd5b5050505090565b6005602052816000526040600020818154811061182757600080fd5b90600052602060002001600091509150505481565b905090565b61184e8383836001611a42565b505050565b6000818152600760209081526040808320600590925282208054825461188490610100900463ffffffff1682615982565b95945050505050565b606061183c60546020613e74565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260036020526040812080549082905590819003611900576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff3fef3a300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063f3fef3a390604401600060405180830381600087803b15801561199057600080fd5b505af11580156119a4573d6000803e3d6000fd5b5050505060008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611a02576040519150601f19603f3d011682016040523d82523d6000602084013e611a07565b606091505b505090508061184e576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054700100000000000000000000000000000000900460ff166002811115611a6e57611a6e61555e565b14611aa5576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028481548110611aba57611aba6158d4565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff8116845273ffffffffffffffffffffffffffffffffffffffff64010000000090910481169484019490945260018101549093169082015260028201546fffffffffffffffffffffffffffffffff908116606083015260038301546080830181905260049093015480821660a084015270010000000000000000000000000000000090041660c082015291508514611ba1576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156fffffffffffffffffffffffffffffffff83161760011b90506000611c61826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580611c9c5750611c997f00000000000000000000000000000000000000000000000000000000000000006002615932565b81145b8015611ca6575084155b15611cdd576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015611d03575086155b15611d3a576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115611d94576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611dbf7f00000000000000000000000000000000000000000000000000000000000000006001615932565b8103611dd157611dd186888588613ec6565b34611ddb83612c60565b14611e12576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611e1d88612a81565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603611e85576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611eb260017f0000000000000000000000000000000000000000000000000000000000000000615982565b8303611ff0577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f479190615999565b73ffffffffffffffffffffffffffffffffffffffff1663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fb591906159b6565b611fe9907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159cf565b9050612083565b61201b60017f0000000000000000000000000000000000000000000000000000000000000000615982565b830361205657611fe97f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff1660026159fb565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b6120b7817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615a2b565b67ffffffffffffffff166120d28367ffffffffffffffff1690565b67ffffffffffffffff16111561211957612116817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615a2b565b91505b6000604083901b421760008a8152608087901b6fffffffffffffffffffffffffffffffff8d1617602052604081209192509060008181526004602052604090205490915060ff1615612197576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001346fffffffffffffffffffffffffffffffff1681526020018c8152602001886fffffffffffffffffffffffffffffffff168152602001846fffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160020160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506080820151816003015560a08201518160040160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060c08201518160040160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505050600560008c8152602001908152602001600020600160028054905061242d9190615982565b81546001810183556000928352602083200155604080517fd0e30db0000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263d0e30db09234926004808301939282900301818588803b1580156124c557600080fd5b505af11580156124d9573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b61184e8383836000611a42565b60005471010000000000000000000000000000000000900460ff161561257a576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f7258a80700000000000000000000000000000000000000000000000000000000815263ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637258a807906024016040805180830381865afa15801561262e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126529190615a54565b90925090508161268e576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146126c157639824bdab6000526004601cfd5b80367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401351161275b576040517ff40239db000000000000000000000000000000000000000000000000000000008152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff8082526000602083018181527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe369081013560f01c90038035606090811c868801908152346fffffffffffffffffffffffffffffffff81811693890193845260149094013560808901908152600160a08a0181815242871660c08c019081526002805493840181558a529a5160059092027f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace81018054995173ffffffffffffffffffffffffffffffffffffffff908116640100000000027fffffffffffffffff000000000000000000000000000000000000000000000000909b1694909c16939093179890981790915592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf87018054918a167fffffffffffffffffffffffff000000000000000000000000000000000000000090921691909117905592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0860180549186167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090921691909117905591517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015551955182167001000000000000000000000000000000000295909116949094177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad29091015580547fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff167101000000000000000000000000000000000017815583517fd0e30db000000000000000000000000000000000000000000000000000000000815293517f00000000000000000000000000000000000000000000000000000000000000009092169363d0e30db093926004828101939282900301818588803b158015612a3057600080fd5b505af1158015612a44573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050505050565b600080600054700100000000000000000000000000000000900460ff166002811115612aaf57612aaf61555e565b14612ae6576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110612afb57612afb6158d4565b600091825260208220600590910201805490925063ffffffff90811614612b6a57815460028054909163ffffffff16908110612b3957612b396158d4565b906000526020600020906005020160040160109054906101000a90046fffffffffffffffffffffffffffffffff1690505b6004820154600090612ba290700100000000000000000000000000000000900467ffffffffffffffff165b67ffffffffffffffff1690565b612bb69067ffffffffffffffff1642615982565b612bd5612b95846fffffffffffffffffffffffffffffffff1660401c90565b67ffffffffffffffff16612be99190615932565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611612c365780611884565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612cff836fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115612d5e576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000612d798383615aa7565b9050670de0b6b3a76400006000612db0827f0000000000000000000000000000000000000000000000000000000000000000615abb565b90506000612dce612dc9670de0b6b3a764000086615abb565b614077565b90506000612ddc84846142d2565b90506000612dea8383614321565b90506000612df78261434f565b90506000612e1682612e11670de0b6b3a76400008f615abb565b614537565b90506000612e248b83614321565b9050612e30818d615abb565b9f9e505050505050505050505050505050565b60028181548110612e5357600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff8416955064010000000090930473ffffffffffffffffffffffffffffffffffffffff908116949216926fffffffffffffffffffffffffffffffff91821692918082169170010000000000000000000000000000000090041687565b60008054700100000000000000000000000000000000900460ff166002811115612f0657612f0661555e565b14612f3d576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028781548110612f5257612f526158d4565b6000918252602082206005919091020160048101549092506fffffffffffffffffffffffffffffffff16908715821760011b9050612fb17f00000000000000000000000000000000000000000000000000000000000000006001615932565b61304d826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1614613087576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080891561317e576130da7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000615982565b6001901b6130f9846fffffffffffffffffffffffffffffffff16614568565b6fffffffffffffffffffffffffffffffff166131159190615af8565b156131525761314961313a60016fffffffffffffffffffffffffffffffff8716615b0c565b865463ffffffff166000614607565b60030154613174565b7f00000000000000000000000000000000000000000000000000000000000000005b91508490506131a8565b600385015491506131a561313a6fffffffffffffffffffffffffffffffff86166001615b35565b90505b600882901b60088a8a6040516131bf9291906158c4565b6040518091039020901b14613200576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061320b8c6146eb565b9050600061321a836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e14ced3290613294908f908f908f908f908a90600401615ba9565b6020604051808303816000875af11580156132b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132d791906159b6565b600485015491149150600090600290613382906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61341e896fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6134289190615be3565b6134329190615c06565b60ff161590508115158103613473576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8754640100000000900473ffffffffffffffffffffffffffffffffffffffff16156134ca576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008054700100000000000000000000000000000000900460ff1660028111156135355761353561555e565b1461356c576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060008061357b8661471a565b9350935093509350600061359185858585614b23565b905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613600573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136249190615999565b90506001890361371c5773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a84613680367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156136f2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061371691906159b6565b5061155b565b600289036137485773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a8489613680565b600389036137745773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a8487613680565b600489036138fb5760006137ba6fffffffffffffffffffffffffffffffff85167f0000000000000000000000000000000000000000000000000000000000000000614bdd565b6009546137c79190615932565b6137d2906001615932565b9050367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135811061383b57367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036054013561383d565b805b905073ffffffffffffffffffffffffffffffffffffffff82166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af11580156138d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138f491906159b6565b505061155b565b60058903613994576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b6044820152600860648201526084810188905273ffffffffffffffffffffffffffffffffffffffff8216906352f0f3ad9060a4016136d3565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356060613a1f61188d565b9050909192565b6000818311613a355781613a37565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001613a7f949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003613aeb576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000613b1985614c8b565b919450925090506001816001811115613b3457613b3461555e565b14613b6b576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451613b778385615932565b14613bae576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b6040805180820190915260008082526020820152815260200190600190039081613bc55790505093506000835b8651811015613cb357600080613c386040518060400160405280858c60000151613c1c9190615982565b8152602001858c60200151613c319190615932565b9052614c8b565b509150915060405180604001604052808383613c549190615932565b8152602001848b60200151613c699190615932565b815250888581518110613c7e57613c7e6158d4565b6020908102919091010152613c94600185615932565b9350613ca08183615932565b613caa9084615932565b92505050613bf2565b50845250919392505050565b60606000806000613ccf85614c8b565b919450925090506000816001811115613cea57613cea61555e565b14613d21576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613d2b8284615932565b855114613d64576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61188485602001518484615129565b600281015473ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040812080546fffffffffffffffffffffffffffffffff90931692839290613dc2908490615932565b90915550506040517f7eee288d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018390527f00000000000000000000000000000000000000000000000000000000000000001690637eee288d90604401600060405180830381600087803b158015613e5757600080fd5b505af1158015613e6b573d6000803e3d6000fd5b50505050505050565b604051818152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b6000613ee56fffffffffffffffffffffffffffffffff84166001615b35565b90506000613ef582866001614607565b9050600086901a8380613fe15750613f2e60027f0000000000000000000000000000000000000000000000000000000000000000615af8565b6004830154600290613fd2906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b613fdc9190615c06565b60ff16145b156140395760ff811660011480613ffb575060ff81166002145b614034576040517ff40239db00000000000000000000000000000000000000000000000000000000815260048101889052602401612752565b613e6b565b60ff811615613e6b576040517ff40239db00000000000000000000000000000000000000000000000000000000815260048101889052602401612752565b6fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b17600082136140d657631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261430f57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b60008160001904831182021561433f5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d7821361437d57919050565b680755bf798b4a1bf1e5821261439b5763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000613a37670de0b6b3a76400008361454f86614077565b6145599190615c28565b6145639190615ce4565b61434f565b6000806145f5837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b600080826146505761464b6fffffffffffffffffffffffffffffffff86167f00000000000000000000000000000000000000000000000000000000000000006151be565b61466b565b61466b856fffffffffffffffffffffffffffffffff1661534a565b905060028481548110614680576146806158d4565b906000526020600020906005020191505b60048201546fffffffffffffffffffffffffffffffff8281169116146146e357815460028054909163ffffffff169081106146ce576146ce6158d4565b90600052602060002090600502019150614691565b509392505050565b60008060008060006146fc8661471a565b935093509350935061471084848484614b23565b9695505050505050565b600080600080600085905060006002828154811061473a5761473a6158d4565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614811906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161484b576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090614912906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561498757825463ffffffff166149517f00000000000000000000000000000000000000000000000000000000000000006001615932565b830361495b578391505b6002818154811061496e5761496e6158d4565b906000526020600020906005020193508094505061484f565b600481810154908401546fffffffffffffffffffffffffffffffff91821691166000816fffffffffffffffffffffffffffffffff166149f06149db856fffffffffffffffffffffffffffffffff1660011c90565b6fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff161490508015614abf576000614a28836fffffffffffffffffffffffffffffffff16614568565b6fffffffffffffffffffffffffffffffff161115614a93576000614a6a614a6260016fffffffffffffffffffffffffffffffff8616615b0c565b896001614607565b6003810154600490910154909c506fffffffffffffffffffffffffffffffff169a50614a999050565b6008549a505b600386015460048701549099506fffffffffffffffffffffffffffffffff169750614b15565b6000614ae1614a626fffffffffffffffffffffffffffffffff85166001615b35565b6003808901546004808b015492840154930154909e506fffffffffffffffffffffffffffffffff9182169d50919b50169850505b505050505050509193509193565b60006fffffffffffffffffffffffffffffffff841615614b905760408051602081018790526fffffffffffffffffffffffffffffffff8087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611884565b8282604051602001614bbe9291909182526fffffffffffffffffffffffffffffffff16602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614c6a847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614cce576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614cf3576000600160009450945094505050615122565b60b78111614e09576000614d08608083615982565b905080876000015111614d47576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614dbf57507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614df6576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250615122915050565b60bf8111614f67576000614e1e60b783615982565b905080876000015111614e5d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614ebf576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614f07576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f118184615932565b895111614f4a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f55836001615932565b97509550600094506151229350505050565b60f78111614fcc576000614f7c60c083615982565b905080876000015111614fbb576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250615122915050565b6000614fd960f783615982565b905080876000015111615018576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff0000000000000000000000000000000000000000000000000000000000000016600081900361507a576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c603781116150c2576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6150cc8184615932565b895111615105576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b615110836001615932565b97509550600194506151229350505050565b9193909250565b60608167ffffffffffffffff81111561514457615144615808565b6040519080825280601f01601f19166020018201604052801561516e576020820181803683370190505b50905081156151b75760006151838486615932565b90506020820160005b848110156151a457828101518282015260200161518c565b848111156151b3576000858301525b5050505b9392505050565b60008161525d846fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116152735763b34b5c226000526004601cfd5b61527c8361534a565b90508161531b826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611613a3a57613a37615331836001615932565b6fffffffffffffffffffffffffffffffff8316906153ef565b600081196001830116816153de827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061547c847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f8401126154aa57600080fd5b50813567ffffffffffffffff8111156154c257600080fd5b6020830191508360208285010111156154da57600080fd5b9250929050565b600080600083850360a08112156154f757600080fd5b608081121561550557600080fd5b50839250608084013567ffffffffffffffff81111561552357600080fd5b61552f86828701615498565b9497909650939450505050565b6000806040838503121561554f57600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60208101600383106155c8577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6000806000606084860312156155e357600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561562057602081850181015186830182015201615604565b81811115615632576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000613a3760208301846155fa565b60006020828403121561568a57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146156b357600080fd5b50565b6000602082840312156156c857600080fd5b81356151b781615691565b803580151581146156e357600080fd5b919050565b600080600080608085870312156156fe57600080fd5b84359350602085013592506040850135915061571c606086016156d3565b905092959194509250565b60006020828403121561573957600080fd5b81356fffffffffffffffffffffffffffffffff811681146151b757600080fd5b6000806000806000806080878903121561577257600080fd5b86359550615782602088016156d3565b9450604087013567ffffffffffffffff8082111561579f57600080fd5b6157ab8a838b01615498565b909650945060608901359150808211156157c457600080fd5b506157d189828a01615498565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061188460608301846155fa565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006080828403121561584957600080fd5b6040516080810181811067ffffffffffffffff82111715615893577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000821982111561594557615945615903565b500190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361597b5761597b615903565b5060010190565b60008282101561599457615994615903565b500390565b6000602082840312156159ab57600080fd5b81516151b781615691565b6000602082840312156159c857600080fd5b5051919050565b600067ffffffffffffffff8083168185168083038211156159f2576159f2615903565b01949350505050565b600067ffffffffffffffff80831681851681830481118215151615615a2257615a22615903565b02949350505050565b600067ffffffffffffffff83811690831681811015615a4c57615a4c615903565b039392505050565b60008060408385031215615a6757600080fd5b505080516020909101519092909150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082615ab657615ab6615a78565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615615af357615af3615903565b500290565b600082615b0757615b07615a78565b500690565b60006fffffffffffffffffffffffffffffffff83811690831681811015615a4c57615a4c615903565b60006fffffffffffffffffffffffffffffffff8083168185168083038211156159f2576159f2615903565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615bbd606083018789615b60565b8281036020840152615bd0818688615b60565b9150508260408301529695505050505050565b600060ff821660ff841680821015615bfd57615bfd615903565b90039392505050565b600060ff831680615c1957615c19615a78565b8060ff84160691505092915050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615c6957615c69615903565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615ca457615ca4615903565b60008712925087820587128484161615615cc057615cc0615903565b87850587128184161615615cd657615cd6615903565b505050929093029392505050565b600082615cf357615cf3615a78565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f800000000000000000000000000000000000000000000000000000000000000083141615615d4757615d47615903565b50059056fea264697066735822122009f1e45c4f315024e4f04a5b89d32ce43577e96a7582781ac417a31839b953d364736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000000003925193e3e89f87835bbdf3a813f60b2aa818a36bbe71cd5d8fd7e79f5e8afe0000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d4000000000000000000000000069470d6970cd2a006b84b1d4d70179c892cfce01000000000000000000000000489c2e5ebe0037bdb2dc039c5770757b8e54ea1f0000000000000000000000004c8ba32a5dac2a720bb35cedb51d6b067d1042050000000000000000000000000000000000000000000000000000000000014a34\",\n        \"nonce\": \"0x6\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xe23132ad95f1ca4a6dd0674dba51d46d803421e01479dfc67d25e4829f1ac635\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"PermissionedDisputeGame\",\n      \"contractAddress\": \"0x71ff927ee7b96f873c249093846aa292f374aef4\",\n      \"function\": null,\n      \"arguments\": [\n        \"1\",\n        \"0x03925193e3e89f87835bbdf3a813f60b2aa818a36bbe71cd5d8fd7e79f5e8afe\",\n        \"73\",\n        \"30\",\n        \"10800\",\n        \"302400\",\n        \"0x69470D6970Cd2A006b84B1d4d70179c892cFCE01\",\n        \"0x27A6128F707de3d99F89Bf09c35a4e0753E1B808\",\n        \"0x4C8BA32A5DAC2A720bb35CeDB51D6B067D104205\",\n        \"84532\",\n        \"0x037637067c1DbE6d2430616d8f54Cb774Daa5999\",\n        \"0x8b8c52B04A38f10515C52670fcb23f3C4C44474F\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"gas\": \"0x6a01f8\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6102006040523480156200001257600080fd5b50604051620067b4380380620067b4833981016040819052620000359162000468565b8b8b8b8b8b8b8b8b8b8b6200004d6001607e6200055b565b60ff168811156200007157604051633beff19960e11b815260040160405180910390fd5b6000198714806200008e5750876200008b88600162000581565b10155b15620000ad5760405163e62ccf3960e01b815260040160405180910390fd5b6002871015620000d05760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b038016846001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000119573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013f91906200059c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200017d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a39190620005bc565b1115620001c35760405163b4e1243360e01b815260040160405180910390fd5b6000620001e4876001600160401b03166200040860201b62000d051760201c565b620001fa906001600160401b03166002620005d6565b90506000856001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200023d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026391906200059c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002a1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c79190620005bc565b620002e6896001600160401b03166200040860201b62000d051760201c565b6001600160401b0316620002fb919062000581565b905060006200031683836200040b60201b620026401760201c565b90506001600160401b03811115620003415760405163235dfb2b60e21b815260040160405180910390fd5b62000360886001600160401b03166200040860201b62000d051760201c565b6001600160401b0316816001600160401b03161115620003935760405163235dfb2b60e21b815260040160405180910390fd5b50505063ffffffff9099166101205260809790975260a09590955260c0939093526001600160401b039182166101a0521660e0526001600160a01b03908116610100529081166101405290811661016052610180919091529182166101c052166101e05250620005f898505050505050505050565b90565b60008183116200041c57816200041e565b825b9392505050565b80516001600160401b03811681146200043d57600080fd5b919050565b6001600160a01b03811681146200045857600080fd5b50565b80516200043d8162000442565b6000806000806000806000806000806000806101808d8f0312156200048c57600080fd5b8c5163ffffffff81168114620004a157600080fd5b809c505060208d01519a5060408d0151995060608d01519850620004c860808e0162000425565b9750620004d860a08e0162000425565b9650620004e860c08e016200045b565b9550620004f860e08e016200045b565b9450620005096101008e016200045b565b93506101208d01519250620005226101408e016200045b565b9150620005336101608e016200045b565b90509295989b509295989b509295989b565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168082101562000578576200057862000545565b90039392505050565b6000821982111562000597576200059762000545565b500190565b600060208284031215620005af57600080fd5b81516200041e8162000442565b600060208284031215620005cf57600080fd5b5051919050565b6000816000190483118215151615620005f357620005f362000545565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051615ffd620007b76000396000818161058301528181611b1501526120b50152600081816108ce01528181611ad601528181611ba4015261207601526000818161070401528181613059015281816130c401526130f7015260008181610a9a015261255301526000818161065c01528181611806015261367901526000818161053d015281816119c801528181612a2d0152818161351e0152613a7b015260008181610909015281816125e201526136380152600081816104ca015281816121b101528181612f58015261436b015260008181610aed01528181610fdc01528181611d7a01528181611dbc01528181612ec8015281816131270152613186015260008181610b20015281816123b001528181612d1101528181612e3701528181613095015281816141be0152818161466d0152818161476e015281816148430152818161511a0152615346015260008181610bc701528181611e8a01528181611f1001528181612dda01528181612f2c015281816140b401526141df0152600081816107cf015261427d0152615ffd6000f3fe6080604052600436106103085760003560e01c806370872aa51161019a578063c6f0308c116100e1578063ec5e63081161008a578063fa24f74311610064578063fa24f74314610b94578063fa315aa914610bb8578063fe2bbeb214610beb57600080fd5b8063ec5e630814610b11578063eff0f59214610b44578063f8f43ff614610b7457600080fd5b8063d6ae3cd5116100bb578063d6ae3cd514610a8b578063d8cc1a3c14610abe578063dabd396d14610ade57600080fd5b8063c6f0308c146109b3578063cf09e0d014610a3d578063d5d44d8014610a5e57600080fd5b8063a445ece611610143578063bcef3b551161011d578063bcef3b5514610933578063bd8da95614610973578063c395e1ca1461099357600080fd5b8063a445ece6146107f3578063a8e4fb90146108bf578063bbdc02db146108f257600080fd5b80638980e0cc116101745780638980e0cc1461076b5780638b85902b146107805780638d450a95146107c057600080fd5b806370872aa51461073b5780637b0f0adc146107505780638129fc1c1461076357600080fd5b80633fc8cef31161025e5780635c0cba33116102075780636361506d116101e15780636361506d146106b55780636b6716c0146106f55780636f0344091461072857600080fd5b80635c0cba331461064d578063609d33341461068057806360e274641461069557600080fd5b806354fd4d501161023857806354fd4d50146105a757806357da950e146105fd5780635a5fa2d91461062d57600080fd5b80633fc8cef31461052e578063472777c614610561578063534db0e21461057457600080fd5b80632810e1d6116102c057806337b1b2291161029a57806337b1b2291461047b5780633a768463146104bb5780633e3ac912146104ee57600080fd5b80632810e1d6146103f45780632ad69aeb1461040957806330dbe5701461042957600080fd5b806319effeb4116102f157806319effeb41461034f578063200d2ed21461039a57806325fc2ace146103d557600080fd5b8063019351301461030d57806303c2924d1461032f575b600080fd5b34801561031957600080fd5b5061032d61032836600461575c565b610c1b565b005b34801561033b57600080fd5b5061032d61034a3660046157b7565b610f3c565b34801561035b57600080fd5b5060005461037c9068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103a657600080fd5b506000546103c890700100000000000000000000000000000000900460ff1681565b6040516103919190615808565b3480156103e157600080fd5b506008545b604051908152602001610391565b34801561040057600080fd5b506103c86115e2565b34801561041557600080fd5b506103e66104243660046157b7565b611887565b34801561043557600080fd5b506001546104569073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610391565b34801561048757600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90033560601c610456565b3480156104c757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156104fa57600080fd5b5060005461051e907201000000000000000000000000000000000000900460ff1681565b6040519015158152602001610391565b34801561053a57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b61032d61056f366004615849565b6118bd565b34801561058057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156105b357600080fd5b506105f06040518060400160405280600581526020017f312e332e3100000000000000000000000000000000000000000000000000000081525081565b60405161039191906158e0565b34801561060957600080fd5b50600854600954610618919082565b60408051928352602083019190915201610391565b34801561063957600080fd5b506103e66106483660046158f3565b6118cf565b34801561065957600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b34801561068c57600080fd5b506105f0611909565b3480156106a157600080fd5b5061032d6106b0366004615931565b611917565b3480156106c157600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003603401356103e6565b34801561070157600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061037c565b61032d610736366004615963565b611abe565b34801561074757600080fd5b506009546103e6565b61032d61075e366004615849565b611b7f565b61032d611b8c565b34801561077757600080fd5b506002546103e6565b34801561078c57600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401356103e6565b3480156107cc57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b3480156107ff57600080fd5b5061086b61080e3660046158f3565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046fffffffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff1684565b60408051941515855263ffffffff90931660208501526fffffffffffffffffffffffffffffffff9091169183019190915273ffffffffffffffffffffffffffffffffffffffff166060820152608001610391565b3480156108cb57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156108fe57600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610391565b34801561093f57600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356103e6565b34801561097f57600080fd5b5061037c61098e3660046158f3565b611c05565b34801561099f57600080fd5b506103e66109ae3660046159a2565b611de4565b3480156109bf57600080fd5b506109d36109ce3660046158f3565b611fc7565b6040805163ffffffff909816885273ffffffffffffffffffffffffffffffffffffffff968716602089015295909416948601949094526fffffffffffffffffffffffffffffffff9182166060860152608085015291821660a08401521660c082015260e001610391565b348015610a4957600080fd5b5060005461037c9067ffffffffffffffff1681565b348015610a6a57600080fd5b506103e6610a79366004615931565b60036020526000908152604090205481565b348015610a9757600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610aca57600080fd5b5061032d610ad93660046159d4565b61205e565b348015610aea57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061037c565b348015610b1d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610b5057600080fd5b5061051e610b5f3660046158f3565b60046020526000908152604090205460ff1681565b348015610b8057600080fd5b5061032d610b8f366004615849565b612123565b348015610ba057600080fd5b50610ba96125e0565b60405161039193929190615a5e565b348015610bc457600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610bf757600080fd5b5061051e610c063660046158f3565b60066020526000908152604090205460ff1681565b60008054700100000000000000000000000000000000900460ff166002811115610c4757610c476157d9565b14610c7e576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610cd1576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d08367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013590565b90565b610d1f610d1a36869003860186615ab2565b61265a565b14610d56576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610d6b929190615b3f565b604051809103902014610daa576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610df3610dee84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506126b692505050565b612723565b90506000610e1a82600881518110610e0d57610e0d615b4f565b60200260200101516128d9565b9050602081511115610e58576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401358103610ecd576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054700100000000000000000000000000000000900460ff166002811115610f6857610f686157d9565b14610f9f576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110610fb457610fb4615b4f565b906000526020600020906005020190506000610fcf84611c05565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015611038576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611081576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561109e57508515155b15611139578354640100000000900473ffffffffffffffffffffffffffffffffffffffff16600081156110d157816110ed565b600186015473ffffffffffffffffffffffffffffffffffffffff165b90506110f9818761298d565b50505060009485525050600660205250506040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046fffffffffffffffffffffffffffffffff16938101939093526001015473ffffffffffffffffffffffffffffffffffffffff1660608301526111dc576fffffffffffffffffffffffffffffffff60408201526001815260008690036111dc578195505b600086826020015163ffffffff166111f49190615bad565b905060008382116112055781611207565b835b602084015190915063ffffffff165b8181101561135357600086828154811061123257611232615b4f565b6000918252602080832090910154808352600690915260409091205490915060ff1661128a576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002828154811061129f5761129f615b4f565b600091825260209091206005909102018054909150640100000000900473ffffffffffffffffffffffffffffffffffffffff161580156112fc5750600481015460408701516fffffffffffffffffffffffffffffffff9182169116115b1561133e57600181015473ffffffffffffffffffffffffffffffffffffffff16606087015260048101546fffffffffffffffffffffffffffffffff1660408701525b5050808061134b90615bc5565b915050611216565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006fffffffffffffffffffffffffffffffff909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909316929092179091558490036115d757606083015160008a815260066020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055891580156114d357506000547201000000000000000000000000000000000000900460ff165b156115485760015473ffffffffffffffffffffffffffffffffffffffff166114fb818a61298d565b885473ffffffffffffffffffffffffffffffffffffffff909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff9091161788556115d5565b61158f73ffffffffffffffffffffffffffffffffffffffff82161561156d5781611589565b600189015473ffffffffffffffffffffffffffffffffffffffff165b8961298d565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff1664010000000073ffffffffffffffffffffffffffffffffffffffff8316021788555b505b505050505050505050565b600080600054700100000000000000000000000000000000900460ff166002811115611610576116106157d9565b14611647576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166116ab576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660026000815481106116d7576116d7615b4f565b6000918252602090912060059091020154640100000000900473ffffffffffffffffffffffffffffffffffffffff1614611712576001611715565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff909116177001000000000000000000000000000000008360028111156117c6576117c66157d9565b0217905560028111156117db576117db6157d9565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a27f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663838c2d1e6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561186c57600080fd5b505af1158015611880573d6000803e3d6000fd5b5050505090565b600560205281600052604060002081815481106118a357600080fd5b90600052602060002001600091509150505481565b905090565b6118ca8383836001611abe565b505050565b6000818152600760209081526040808320600590925282208054825461190090610100900463ffffffff1682615bfd565b95945050505050565b60606118b860546020612a8e565b73ffffffffffffffffffffffffffffffffffffffff811660009081526003602052604081208054908290559081900361197c576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff3fef3a300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063f3fef3a390604401600060405180830381600087803b158015611a0c57600080fd5b505af1158015611a20573d6000803e3d6000fd5b5050505060008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611a7e576040519150601f19603f3d011682016040523d82523d6000602084013e611a83565b606091505b50509050806118ca576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480611b3757503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016145b611b6d576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b7984848484612ae0565b50505050565b6118ca8383836000611abe565b3273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611bfb576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c036135b9565b565b600080600054700100000000000000000000000000000000900460ff166002811115611c3357611c336157d9565b14611c6a576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110611c7f57611c7f615b4f565b600091825260208220600590910201805490925063ffffffff90811614611cee57815460028054909163ffffffff16908110611cbd57611cbd615b4f565b906000526020600020906005020160040160109054906101000a90046fffffffffffffffffffffffffffffffff1690505b6004820154600090611d2690700100000000000000000000000000000000900467ffffffffffffffff165b67ffffffffffffffff1690565b611d3a9067ffffffffffffffff1642615bfd565b611d59611d19846fffffffffffffffffffffffffffffffff1660401c90565b67ffffffffffffffff16611d6d9190615bad565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611611dba5780611900565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080611e83836fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115611ee2576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000611efd8383615c43565b9050670de0b6b3a76400006000611f34827f0000000000000000000000000000000000000000000000000000000000000000615c57565b90506000611f52611f4d670de0b6b3a764000086615c57565b613b12565b90506000611f608484613d6d565b90506000611f6e8383613dbc565b90506000611f7b82613dea565b90506000611f9a82611f95670de0b6b3a76400008f615c57565b613fd2565b90506000611fa88b83613dbc565b9050611fb4818d615c57565b9f9e505050505050505050505050505050565b60028181548110611fd757600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff8416955064010000000090930473ffffffffffffffffffffffffffffffffffffffff908116949216926fffffffffffffffffffffffffffffffff91821692918082169170010000000000000000000000000000000090041687565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614806120d757503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016145b61210d576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61211b868686868686614003565b505050505050565b60008054700100000000000000000000000000000000900460ff16600281111561214f5761214f6157d9565b14612186576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060008061219586614632565b935093509350935060006121ab85858585614a3b565b905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561221a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061223e9190615c94565b9050600189036123365773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a8461229a367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af115801561230c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123309190615cb1565b506115d7565b600289036123625773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a848961229a565b6003890361238e5773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a848761229a565b600489036125155760006123d46fffffffffffffffffffffffffffffffff85167f0000000000000000000000000000000000000000000000000000000000000000614af5565b6009546123e19190615bad565b6123ec906001615bad565b9050367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135811061245557367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135612457565b805b905073ffffffffffffffffffffffffffffffffffffffff82166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af11580156124ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061250e9190615cb1565b50506115d7565b600589036125ae576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b6044820152600860648201526084810188905273ffffffffffffffffffffffffffffffffffffffff8216906352f0f3ad9060a4016122ed565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356060612639611909565b9050909192565b600081831161264f5781612651565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001612699949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003612705576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b6060600080600061273385614ba3565b91945092509050600181600181111561274e5761274e6157d9565b14612785576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84516127918385615bad565b146127c8576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816127df5790505093506000835b86518110156128cd576000806128526040518060400160405280858c600001516128369190615bfd565b8152602001858c6020015161284b9190615bad565b9052614ba3565b50915091506040518060400160405280838361286e9190615bad565b8152602001848b602001516128839190615bad565b81525088858151811061289857612898615b4f565b60209081029190910101526128ae600185615bad565b93506128ba8183615bad565b6128c49084615bad565b9250505061280c565b50845250919392505050565b606060008060006128e985614ba3565b919450925090506000816001811115612904576129046157d9565b1461293b576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129458284615bad565b85511461297e576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61190085602001518484615041565b600281015473ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040812080546fffffffffffffffffffffffffffffffff909316928392906129dc908490615bad565b90915550506040517f7eee288d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018390527f00000000000000000000000000000000000000000000000000000000000000001690637eee288d90604401600060405180830381600087803b158015612a7157600080fd5b505af1158015612a85573d6000803e3d6000fd5b50505050505050565b604051818152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b60008054700100000000000000000000000000000000900460ff166002811115612b0c57612b0c6157d9565b14612b43576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028481548110612b5857612b58615b4f565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff8116845273ffffffffffffffffffffffffffffffffffffffff64010000000090910481169484019490945260018101549093169082015260028201546fffffffffffffffffffffffffffffffff908116606083015260038301546080830181905260049093015480821660a084015270010000000000000000000000000000000090041660c082015291508514612c3f576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156fffffffffffffffffffffffffffffffff83161760011b90506000612cff826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580612d3a5750612d377f00000000000000000000000000000000000000000000000000000000000000006002615bad565b81145b8015612d44575084155b15612d7b576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015612da1575086155b15612dd8576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115612e32576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612e5d7f00000000000000000000000000000000000000000000000000000000000000006001615bad565b8103612e6f57612e6f868885886150d6565b34612e7983611de4565b14612eb0576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612ebb88611c05565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603612f23576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612f5060017f0000000000000000000000000000000000000000000000000000000000000000615bfd565b830361308e577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612fc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fe59190615c94565b73ffffffffffffffffffffffffffffffffffffffff1663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561302f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130539190615cb1565b613087907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615cca565b9050613121565b6130b960017f0000000000000000000000000000000000000000000000000000000000000000615bfd565b83036130f4576130877f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166002615cf6565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b613155817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615d26565b67ffffffffffffffff166131708367ffffffffffffffff1690565b67ffffffffffffffff1611156131b7576131b4817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615d26565b91505b6000604083901b421760008a8152608087901b6fffffffffffffffffffffffffffffffff8d1617602052604081209192509060008181526004602052604090205490915060ff1615613235576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001346fffffffffffffffffffffffffffffffff1681526020018c8152602001886fffffffffffffffffffffffffffffffff168152602001846fffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160020160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506080820151816003015560a08201518160040160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060c08201518160040160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505050600560008c815260200190815260200160002060016002805490506134cb9190615bfd565b81546001810183556000928352602083200155604080517fd0e30db0000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263d0e30db09234926004808301939282900301818588803b15801561356357600080fd5b505af1158015613577573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b60005471010000000000000000000000000000000000900460ff161561360b576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f7258a80700000000000000000000000000000000000000000000000000000000815263ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637258a807906024016040805180830381865afa1580156136bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136e39190615d4f565b90925090508161371f576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a1461375257639824bdab6000526004601cfd5b80367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135116137ec576040517ff40239db000000000000000000000000000000000000000000000000000000008152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff8082526000602083018181527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe369081013560f01c90038035606090811c868801908152346fffffffffffffffffffffffffffffffff81811693890193845260149094013560808901908152600160a08a0181815242871660c08c019081526002805493840181558a529a5160059092027f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace81018054995173ffffffffffffffffffffffffffffffffffffffff908116640100000000027fffffffffffffffff000000000000000000000000000000000000000000000000909b1694909c16939093179890981790915592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf87018054918a167fffffffffffffffffffffffff000000000000000000000000000000000000000090921691909117905592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0860180549186167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090921691909117905591517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015551955182167001000000000000000000000000000000000295909116949094177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad29091015580547fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff167101000000000000000000000000000000000017815583517fd0e30db000000000000000000000000000000000000000000000000000000000815293517f00000000000000000000000000000000000000000000000000000000000000009092169363d0e30db093926004828101939282900301818588803b158015613ac157600080fd5b505af1158015613ad5573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050505050565b6fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213613b7157631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a764000002158202613daa57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b600081600019048311820215613dda5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d78213613e1857919050565b680755bf798b4a1bf1e58212613e365763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000612651670de0b6b3a764000083613fea86613b12565b613ff49190615d73565b613ffe9190615e2f565b613dea565b60008054700100000000000000000000000000000000900460ff16600281111561402f5761402f6157d9565b14614066576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002878154811061407b5761407b615b4f565b6000918252602082206005919091020160048101549092506fffffffffffffffffffffffffffffffff16908715821760011b90506140da7f00000000000000000000000000000000000000000000000000000000000000006001615bad565b614176826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16146141b0576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008089156142a7576142037f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000615bfd565b6001901b614222846fffffffffffffffffffffffffffffffff16615287565b6fffffffffffffffffffffffffffffffff1661423e9190615e97565b1561427b5761427261426360016fffffffffffffffffffffffffffffffff8716615eab565b865463ffffffff166000615326565b6003015461429d565b7f00000000000000000000000000000000000000000000000000000000000000005b91508490506142d1565b600385015491506142ce6142636fffffffffffffffffffffffffffffffff86166001615ed4565b90505b600882901b60088a8a6040516142e8929190615b3f565b6040518091039020901b14614329576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006143348c61540a565b90506000614343836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e14ced32906143bd908f908f908f908f908a90600401615f48565b6020604051808303816000875af11580156143dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144009190615cb1565b6004850154911491506000906002906144ab906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b614547896fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6145519190615f82565b61455b9190615fa5565b60ff16159050811515810361459c576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8754640100000000900473ffffffffffffffffffffffffffffffffffffffff16156145f3576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b600080600080600085905060006002828154811061465257614652615b4f565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614729906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611614763576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f00000000000000000000000000000000000000000000000000000000000000009061482a906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561489f57825463ffffffff166148697f00000000000000000000000000000000000000000000000000000000000000006001615bad565b8303614873578391505b6002818154811061488657614886615b4f565b9060005260206000209060050201935080945050614767565b600481810154908401546fffffffffffffffffffffffffffffffff91821691166000816fffffffffffffffffffffffffffffffff166149086148f3856fffffffffffffffffffffffffffffffff1660011c90565b6fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff1614905080156149d7576000614940836fffffffffffffffffffffffffffffffff16615287565b6fffffffffffffffffffffffffffffffff1611156149ab57600061498261497a60016fffffffffffffffffffffffffffffffff8616615eab565b896001615326565b6003810154600490910154909c506fffffffffffffffffffffffffffffffff169a506149b19050565b6008549a505b600386015460048701549099506fffffffffffffffffffffffffffffffff169750614a2d565b60006149f961497a6fffffffffffffffffffffffffffffffff85166001615ed4565b6003808901546004808b015492840154930154909e506fffffffffffffffffffffffffffffffff9182169d50919b50169850505b505050505050509193509193565b60006fffffffffffffffffffffffffffffffff841615614aa85760408051602081018790526fffffffffffffffffffffffffffffffff8087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611900565b8282604051602001614ad69291909182526fffffffffffffffffffffffffffffffff16602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614b82847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614be6576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614c0b57600060016000945094509450505061503a565b60b78111614d21576000614c20608083615bfd565b905080876000015111614c5f576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614cd757507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614d0e576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001955093506000925061503a915050565b60bf8111614e7f576000614d3660b783615bfd565b905080876000015111614d75576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614dd7576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614e1f576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e298184615bad565b895111614e62576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e6d836001615bad565b975095506000945061503a9350505050565b60f78111614ee4576000614e9460c083615bfd565b905080876000015111614ed3576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60019550935084925061503a915050565b6000614ef160f783615bfd565b905080876000015111614f30576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614f92576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614fda576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614fe48184615bad565b89511161501d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b615028836001615bad565b975095506001945061503a9350505050565b9193909250565b60608167ffffffffffffffff81111561505c5761505c615a83565b6040519080825280601f01601f191660200182016040528015615086576020820181803683370190505b50905081156150cf57600061509b8486615bad565b90506020820160005b848110156150bc5782810151828201526020016150a4565b848111156150cb576000858301525b5050505b9392505050565b60006150f56fffffffffffffffffffffffffffffffff84166001615ed4565b9050600061510582866001615326565b9050600086901a83806151f1575061513e60027f0000000000000000000000000000000000000000000000000000000000000000615e97565b60048301546002906151e2906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6151ec9190615fa5565b60ff16145b156152495760ff81166001148061520b575060ff81166002145b615244576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016137e3565b612a85565b60ff811615612a85576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016137e3565b600080615314837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b6000808261536f5761536a6fffffffffffffffffffffffffffffffff86167f0000000000000000000000000000000000000000000000000000000000000000615439565b61538a565b61538a856fffffffffffffffffffffffffffffffff166155c5565b90506002848154811061539f5761539f615b4f565b906000526020600020906005020191505b60048201546fffffffffffffffffffffffffffffffff82811691161461540257815460028054909163ffffffff169081106153ed576153ed615b4f565b906000526020600020906005020191506153b0565b509392505050565b600080600080600061541b86614632565b935093509350935061542f84848484614a3b565b9695505050505050565b6000816154d8846fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116154ee5763b34b5c226000526004601cfd5b6154f7836155c5565b905081615596826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611612654576126516155ac836001615bad565b6fffffffffffffffffffffffffffffffff83169061566a565b60008119600183011681615659827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b6000806156f7847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261572557600080fd5b50813567ffffffffffffffff81111561573d57600080fd5b60208301915083602082850101111561575557600080fd5b9250929050565b600080600083850360a081121561577257600080fd5b608081121561578057600080fd5b50839250608084013567ffffffffffffffff81111561579e57600080fd5b6157aa86828701615713565b9497909650939450505050565b600080604083850312156157ca57600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810160038310615843577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b60008060006060848603121561585e57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561589b5760208185018101518683018201520161587f565b818111156158ad576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006126516020830184615875565b60006020828403121561590557600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461592e57600080fd5b50565b60006020828403121561594357600080fd5b81356150cf8161590c565b8035801515811461595e57600080fd5b919050565b6000806000806080858703121561597957600080fd5b8435935060208501359250604085013591506159976060860161594e565b905092959194509250565b6000602082840312156159b457600080fd5b81356fffffffffffffffffffffffffffffffff811681146150cf57600080fd5b600080600080600080608087890312156159ed57600080fd5b863595506159fd6020880161594e565b9450604087013567ffffffffffffffff80821115615a1a57600080fd5b615a268a838b01615713565b90965094506060890135915080821115615a3f57600080fd5b50615a4c89828a01615713565b979a9699509497509295939492505050565b63ffffffff841681528260208201526060604082015260006119006060830184615875565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060808284031215615ac457600080fd5b6040516080810181811067ffffffffffffffff82111715615b0e577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115615bc057615bc0615b7e565b500190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203615bf657615bf6615b7e565b5060010190565b600082821015615c0f57615c0f615b7e565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082615c5257615c52615c14565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615615c8f57615c8f615b7e565b500290565b600060208284031215615ca657600080fd5b81516150cf8161590c565b600060208284031215615cc357600080fd5b5051919050565b600067ffffffffffffffff808316818516808303821115615ced57615ced615b7e565b01949350505050565b600067ffffffffffffffff80831681851681830481118215151615615d1d57615d1d615b7e565b02949350505050565b600067ffffffffffffffff83811690831681811015615d4757615d47615b7e565b039392505050565b60008060408385031215615d6257600080fd5b505080516020909101519092909150565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615db457615db4615b7e565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615def57615def615b7e565b60008712925087820587128484161615615e0b57615e0b615b7e565b87850587128184161615615e2157615e21615b7e565b505050929093029392505050565b600082615e3e57615e3e615c14565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f800000000000000000000000000000000000000000000000000000000000000083141615615e9257615e92615b7e565b500590565b600082615ea657615ea6615c14565b500690565b60006fffffffffffffffffffffffffffffffff83811690831681811015615d4757615d47615b7e565b60006fffffffffffffffffffffffffffffffff808316818516808303821115615ced57615ced615b7e565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615f5c606083018789615eff565b8281036020840152615f6f818688615eff565b9150508260408301529695505050505050565b600060ff821660ff841680821015615f9c57615f9c615b7e565b90039392505050565b600060ff831680615fb857615fb8615c14565b8060ff8416069150509291505056fea2646970667358221220bc931b2ee20208c16632a7dcd9ed8f036d3c35b01291fc2486bcabad1f932bbb64736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000000103925193e3e89f87835bbdf3a813f60b2aa818a36bbe71cd5d8fd7e79f5e8afe0000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d4000000000000000000000000069470d6970cd2a006b84b1d4d70179c892cfce0100000000000000000000000027a6128f707de3d99f89bf09c35a4e0753e1b8080000000000000000000000004c8ba32a5dac2a720bb35cedb51d6b067d1042050000000000000000000000000000000000000000000000000000000000014a34000000000000000000000000037637067c1dbe6d2430616d8f54cb774daa59990000000000000000000000008b8c52b04a38f10515c52670fcb23f3c4c44474f\",\n        \"nonce\": \"0x7\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x13f4a11\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x959fd4e59dab152c5c6995dd0a9d8e244c0b813b237f2067b67ddc108545a01f\",\n      \"transactionIndex\": \"0x81\",\n      \"blockHash\": \"0x8731b3635689713524ae3e90e748e2595646c21f8ac2952618bf0545f6b485c4\",\n      \"blockNumber\": \"0x76e426\",\n      \"gasUsed\": \"0x4f7ad6\",\n      \"effectiveGasPrice\": \"0x14ea0fa28\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": null,\n      \"contractAddress\": \"0x605b4248500c0a144e39bbb04c05c539e388e222\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1b26e46\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xe23132ad95f1ca4a6dd0674dba51d46d803421e01479dfc67d25e4829f1ac635\",\n      \"transactionIndex\": \"0xef\",\n      \"blockHash\": \"0xe5e9e57503fab8b334563dde0d99acc384bdde130d99888c22944377a7dea23e\",\n      \"blockNumber\": \"0x76e427\",\n      \"gasUsed\": \"0x5191f1\",\n      \"effectiveGasPrice\": \"0x158661088\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": null,\n      \"contractAddress\": \"0x71ff927ee7b96f873c249093846aa292f374aef4\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1740598045,\n  \"chain\": 11155111,\n  \"commit\": \"d866d94\"\n}"
  },
  {
    "path": "sepolia/2025-02-14-upgrade-fault-proofs/records/UpgradeDGF.s.sol/11155111/run-1740768733.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x77e5103ef33ab5f6d30c14dfad94ac1c6fd902b714df67d01191b75dd3f28e0c\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000605b4248500c0a144e39bbb04c05c539e388e22200000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a3000000000000000000000000000000000000000000000000000000000000000100000000000000000000000071ff927ee7b96f873c249093846aa292f374aef400000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xd5ce3c302dfed2ea3aa5f0a6a1d9c3b0468e751fdd47c7b6ad196d592d3af958464d4eda1edea343ca38b9151be7cc8001e4de27b56eb114e56b9de7db2d059b1c520698d15c39b3ebc5026f7a5e153837116e5cf6aa49ab90351087a24b510ba145e046f9ea9235bfca523bc309edc6b0173b19d8cf2d8cbba276161a259432661cf568fb5da4070a87f7a286ae806604d2c958cabe12d8906a1b41d752491717af7b4b9724f363a8a2e388906f3a8e229cc9e1ba8696b28a83bf4301afeab073331c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n        \"gas\": \"0x27eaa\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000024482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000605b4248500c0a144e39bbb04c05c539e388e22200000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a3000000000000000000000000000000000000000000000000000000000000000100000000000000000000000071ff927ee7b96f873c249093846aa292f374aef4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3d5ce3c302dfed2ea3aa5f0a6a1d9c3b0468e751fdd47c7b6ad196d592d3af958464d4eda1edea343ca38b9151be7cc8001e4de27b56eb114e56b9de7db2d059b1c520698d15c39b3ebc5026f7a5e153837116e5cf6aa49ab90351087a24b510ba145e046f9ea9235bfca523bc309edc6b0173b19d8cf2d8cbba276161a259432661cf568fb5da4070a87f7a286ae806604d2c958cabe12d8906a1b41d752491717af7b4b9724f363a8a2e388906f3a8e229cc9e1ba8696b28a83bf4301afeab073331c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x8\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x15dd2a3\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000004e0000000000000000000000000000000000000000000000000000000000000024482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000605b4248500c0a144e39bbb04c05c539e388e22200000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a3000000000000000000000000000000000000000000000000000000000000000100000000000000000000000071ff927ee7b96f873c249093846aa292f374aef4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3d5ce3c302dfed2ea3aa5f0a6a1d9c3b0468e751fdd47c7b6ad196d592d3af958464d4eda1edea343ca38b9151be7cc8001e4de27b56eb114e56b9de7db2d059b1c520698d15c39b3ebc5026f7a5e153837116e5cf6aa49ab90351087a24b510ba145e046f9ea9235bfca523bc309edc6b0173b19d8cf2d8cbba276161a259432661cf568fb5da4070a87f7a286ae806604d2c958cabe12d8906a1b41d752491717af7b4b9724f363a8a2e388906f3a8e229cc9e1ba8696b28a83bf4301afeab073331c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000f0000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe072520000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0x466f730b3961f5d88852608a6e3837a557277eb87b03802be51c0502196dfff0\",\n          \"blockNumber\": \"0x771993\",\n          \"transactionHash\": \"0x77e5103ef33ab5f6d30c14dfad94ac1c6fd902b714df67d01191b75dd3f28e0c\",\n          \"transactionIndex\": \"0xdc\",\n          \"logIndex\": \"0xc2\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n          \"topics\": [\n            \"0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de\",\n            \"0x000000000000000000000000605b4248500c0a144e39bbb04c05c539e388e222\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x466f730b3961f5d88852608a6e3837a557277eb87b03802be51c0502196dfff0\",\n          \"blockNumber\": \"0x771993\",\n          \"transactionHash\": \"0x77e5103ef33ab5f6d30c14dfad94ac1c6fd902b714df67d01191b75dd3f28e0c\",\n          \"transactionIndex\": \"0xdc\",\n          \"logIndex\": \"0xc3\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n          \"topics\": [\n            \"0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de\",\n            \"0x00000000000000000000000071ff927ee7b96f873c249093846aa292f374aef4\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000001\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x466f730b3961f5d88852608a6e3837a557277eb87b03802be51c0502196dfff0\",\n          \"blockNumber\": \"0x771993\",\n          \"transactionHash\": \"0x77e5103ef33ab5f6d30c14dfad94ac1c6fd902b714df67d01191b75dd3f28e0c\",\n          \"transactionIndex\": \"0xdc\",\n          \"logIndex\": \"0xc4\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x8df062d0be6ef3f76009bbff88fe6a8d535de83e9c3f3e3652b21b5fa707b6430000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x466f730b3961f5d88852608a6e3837a557277eb87b03802be51c0502196dfff0\",\n          \"blockNumber\": \"0x771993\",\n          \"transactionHash\": \"0x77e5103ef33ab5f6d30c14dfad94ac1c6fd902b714df67d01191b75dd3f28e0c\",\n          \"transactionIndex\": \"0xdc\",\n          \"logIndex\": \"0xc5\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000080044000000000000200000000000000002000000000000000000000000000000000048000000000000400000000000000000004000000040000140000000000000000000000000000020000000000000000000800000000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000400000000400000000004000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000060000000000000001000000000000040000000000000000000000000000000000100\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x77e5103ef33ab5f6d30c14dfad94ac1c6fd902b714df67d01191b75dd3f28e0c\",\n      \"transactionIndex\": \"0xdc\",\n      \"blockHash\": \"0x466f730b3961f5d88852608a6e3837a557277eb87b03802be51c0502196dfff0\",\n      \"blockNumber\": \"0x771993\",\n      \"gasUsed\": \"0x1b4b2\",\n      \"effectiveGasPrice\": \"0xbb55f2ab\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1740768733,\n  \"chain\": 11155111,\n  \"commit\": \"00bb837\"\n}"
  },
  {
    "path": "sepolia/2025-02-14-upgrade-fault-proofs/script/DeployDisputeGames.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Script} from \"forge-std/Script.sol\";\n\nimport {\n    FaultDisputeGame,\n    IAnchorStateRegistry,\n    IDelayedWETH,\n    IBigStepper\n} from \"@eth-optimism-bedrock/src/dispute/FaultDisputeGame.sol\";\nimport {PermissionedDisputeGame} from \"@eth-optimism-bedrock/src/dispute/PermissionedDisputeGame.sol\";\nimport {GameTypes, Duration, Claim} from \"@eth-optimism-bedrock/src/dispute/lib/Types.sol\";\nimport {DisputeGameFactory} from \"@eth-optimism-bedrock/src/dispute/DisputeGameFactory.sol\";\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport {Strings} from \"@openzeppelin/contracts/utils/Strings.sol\";\n\n/// @notice This script deploys new versions of FaultDisputeGame and PermissionedDisputeGame with all the same\n///         parameters as the existing implementations excluding the absolute prestate.\ncontract DeployDisputeGames is Script {\n    using Strings for address;\n\n    SystemConfig internal _SYSTEM_CONFIG = SystemConfig(vm.envAddress(\"SYSTEM_CONFIG\"));\n    Claim absolutePrestate = Claim.wrap(vm.envBytes32(\"ABSOLUTE_PRESTATE\"));\n\n    DisputeGameFactory dgfProxy;\n\n    uint256 maxGameDepth;\n    uint256 splitDepth;\n    uint256 l2ChainId;\n    address proposer;\n    address challenger;\n    Duration clockExtension;\n    Duration maxClockDuration;\n    IDelayedWETH faultDisputeGameWeth;\n    IDelayedWETH permissionedDisputeGameWeth;\n    IAnchorStateRegistry anchorStateRegistry;\n    IBigStepper bigStepper;\n\n    function setUp() public {\n        dgfProxy = DisputeGameFactory(_SYSTEM_CONFIG.disputeGameFactory());\n        FaultDisputeGame currentFdg = FaultDisputeGame(address(dgfProxy.gameImpls(GameTypes.CANNON)));\n        PermissionedDisputeGame currentPdg =\n            PermissionedDisputeGame(address(dgfProxy.gameImpls(GameTypes.PERMISSIONED_CANNON)));\n\n        absolutePrestate = currentFdg.absolutePrestate();\n        maxGameDepth = currentFdg.maxGameDepth();\n        splitDepth = currentFdg.splitDepth();\n        clockExtension = currentFdg.clockExtension();\n        maxClockDuration = currentFdg.maxClockDuration();\n        bigStepper = currentFdg.vm();\n        faultDisputeGameWeth = currentFdg.weth();\n        anchorStateRegistry = currentFdg.anchorStateRegistry();\n        l2ChainId = currentFdg.l2ChainId();\n\n        permissionedDisputeGameWeth = currentPdg.weth();\n        proposer = currentPdg.proposer();\n        challenger = currentPdg.challenger();\n    }\n\n    function run() public {\n        (address fdg, address pdg) = _deployContracts();\n\n        vm.writeFile(\n            \"addresses.json\",\n            string.concat(\n                \"{\",\n                \"\\\"faultDisputeGame\\\": \\\"\",\n                fdg.toHexString(),\n                \"\\\",\",\n                \"\\\"permissionedDisputeGame\\\": \\\"\",\n                pdg.toHexString(),\n                \"\\\"\" \"}\"\n            )\n        );\n    }\n\n    function _deployContracts() private returns (address, address) {\n        vm.startBroadcast();\n        address fdg = address(\n            new FaultDisputeGame(\n                GameTypes.CANNON,\n                absolutePrestate,\n                maxGameDepth,\n                splitDepth,\n                clockExtension,\n                maxClockDuration,\n                bigStepper,\n                faultDisputeGameWeth,\n                anchorStateRegistry,\n                l2ChainId\n            )\n        );\n\n        address pdg = address(\n            new PermissionedDisputeGame(\n                GameTypes.PERMISSIONED_CANNON,\n                absolutePrestate,\n                maxGameDepth,\n                splitDepth,\n                clockExtension,\n                maxClockDuration,\n                bigStepper,\n                permissionedDisputeGameWeth,\n                anchorStateRegistry,\n                l2ChainId,\n                proposer,\n                challenger\n            )\n        );\n        vm.stopBroadcast();\n\n        return (fdg, pdg);\n    }\n}\n"
  },
  {
    "path": "sepolia/2025-02-14-upgrade-fault-proofs/script/UpgradeDGF.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {stdJson} from \"forge-std/StdJson.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\nimport {console} from \"forge-std/console.sol\";\n\nimport {MultisigBuilder} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {DisputeGameFactory, IDisputeGame} from \"@eth-optimism-bedrock/src/dispute/DisputeGameFactory.sol\";\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport {GameTypes, GameType, Duration, Hash} from \"@eth-optimism-bedrock/src/dispute/lib/Types.sol\";\nimport {FaultDisputeGame} from \"@eth-optimism-bedrock/src/dispute/FaultDisputeGame.sol\";\nimport {PermissionedDisputeGame} from \"@eth-optimism-bedrock/src/dispute/PermissionedDisputeGame.sol\";\n\n/// @notice This script updates the FaultDisputeGame and PermissionedDisputeGame implementations in the\n///         DisputeGameFactory contract.\ncontract UpgradeDGF is MultisigBuilder {\n    using stdJson for string;\n\n    address internal _OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n\n    DisputeGameFactory dgfProxy;\n    address fdgImpl;\n    address pdgImpl;\n\n    function setUp() public {\n        string memory rootPath = vm.projectRoot();\n        string memory path = string.concat(rootPath, \"/addresses.json\");\n        string memory addresses = vm.readFile(path);\n\n        dgfProxy = DisputeGameFactory(SystemConfig(vm.envAddress(\"SYSTEM_CONFIG\")).disputeGameFactory());\n        fdgImpl = addresses.readAddress(\".faultDisputeGame\");\n        pdgImpl = addresses.readAddress(\".permissionedDisputeGame\");\n\n        _precheckDisputeGameImplementation(GameTypes.CANNON, fdgImpl);\n        _precheckDisputeGameImplementation(GameTypes.PERMISSIONED_CANNON, pdgImpl);\n    }\n\n    // Checks that the new game being set has the same configuration as the existing implementation with the exception\n    // of the absolutePrestate. This is the most common scenario where the game implementation is upgraded to provide an\n    // updated fault proof program that supports an upcoming hard fork.\n    function _precheckDisputeGameImplementation(GameType targetGameType, address newImpl) internal view {\n        console.log(\"pre-check new game implementations\", targetGameType.raw());\n\n        FaultDisputeGame currentImpl = FaultDisputeGame(address(dgfProxy.gameImpls(GameType(targetGameType))));\n        // No checks are performed if there is no prior implementation.\n        // When deploying the first implementation, it is recommended to implement custom checks.\n        if (address(currentImpl) == address(0)) {\n            return;\n        }\n        FaultDisputeGame faultDisputeGame = FaultDisputeGame(newImpl);\n        require(address(currentImpl.vm()) == address(faultDisputeGame.vm()), \"10\");\n        require(address(currentImpl.weth()) == address(faultDisputeGame.weth()), \"20\");\n        require(address(currentImpl.anchorStateRegistry()) == address(faultDisputeGame.anchorStateRegistry()), \"30\");\n        require(currentImpl.l2ChainId() == faultDisputeGame.l2ChainId(), \"40\");\n        require(currentImpl.splitDepth() == faultDisputeGame.splitDepth(), \"50\");\n        require(currentImpl.maxGameDepth() == faultDisputeGame.maxGameDepth(), \"60\");\n        require(\n            uint64(Duration.unwrap(currentImpl.maxClockDuration()))\n                == uint64(Duration.unwrap(faultDisputeGame.maxClockDuration())),\n            \"70\"\n        );\n        require(\n            uint64(Duration.unwrap(currentImpl.clockExtension()))\n                == uint64(Duration.unwrap(faultDisputeGame.clockExtension())),\n            \"80\"\n        );\n\n        if (targetGameType.raw() == GameTypes.PERMISSIONED_CANNON.raw()) {\n            PermissionedDisputeGame currentPDG = PermissionedDisputeGame(address(currentImpl));\n            PermissionedDisputeGame permissionedDisputeGame = PermissionedDisputeGame(address(faultDisputeGame));\n            require(address(currentPDG.proposer()) == address(permissionedDisputeGame.proposer()), \"90\");\n            require(address(currentPDG.challenger()) == address(permissionedDisputeGame.challenger()), \"100\");\n        }\n    }\n\n    // Confirm the stored implementations are updated and the anchor states still exist.\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        require(address(dgfProxy.gameImpls(GameTypes.CANNON)) == fdgImpl, \"post-110\");\n        require(address(dgfProxy.gameImpls(GameTypes.PERMISSIONED_CANNON)) == pdgImpl, \"post-120\");\n        _postcheckHasAnchorState(GameTypes.CANNON);\n        _postcheckHasAnchorState(GameTypes.PERMISSIONED_CANNON);\n    }\n\n    // Checks the anchor state for the source game type still exists after re-initialization. The actual anchor state\n    // may have been updated since the task was defined so just assert it exists, not that it has a specific value.\n    function _postcheckHasAnchorState(GameType gameType) internal view {\n        console.log(\"check anchor state exists\", gameType.raw());\n\n        FaultDisputeGame impl = FaultDisputeGame(address(dgfProxy.gameImpls(GameType(gameType))));\n        (Hash root, uint256 rootBlockNumber) = FaultDisputeGame(address(impl)).anchorStateRegistry().anchors(gameType);\n\n        require(root.raw() != bytes32(0), \"check-300\");\n        require(rootBlockNumber != 0, \"check-310\");\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](2);\n\n        calls[0] = IMulticall3.Call3({\n            target: address(dgfProxy),\n            allowFailure: false,\n            callData: abi.encodeCall(DisputeGameFactory.setImplementation, (GameTypes.CANNON, IDisputeGame(fdgImpl)))\n        });\n        calls[1] = IMulticall3.Call3({\n            target: address(dgfProxy),\n            allowFailure: false,\n            callData: abi.encodeCall(\n                DisputeGameFactory.setImplementation, (GameTypes.PERMISSIONED_CANNON, IDisputeGame(pdgImpl))\n            )\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return _OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "sepolia/2025-03-12-upgrade-fault-proofs/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 1\nendif\n\n.PHONY: deploy\ndeploy:\n\tforge script --rpc-url $(L1_RPC_URL) DeployDisputeGames \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv\n\n.PHONY: sign\nsign:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeDGF \\\n\t--sig \"sign(address)\" $(SAFE_A)\n\n.PHONY: sign-b\nsign-b:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeDGF \\\n\t--sig \"sign(address)\" $(SAFE_B)\n\n# This step is run once per \"child\" safe, and can be run by anyone (doesn't have to be a signer)\n.PHONY: approve\napprove:\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeDGF \\\n\t--sig \"approve(address,bytes)\" $(SAFE_A) $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n.PHONY: approve-b\napprove-b:\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeDGF \\\n\t--sig \"approve(address,bytes)\" $(SAFE_B) $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n# This step is run once after all children safes have approved and can be run by anyone (doesn't have to be a signer)\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeDGF \\\n\t--sig \"run()\" --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "sepolia/2025-03-12-upgrade-fault-proofs/README.md",
    "content": "# Upgrade Fault Proofs\n\nStatus: EXECUTED https://sepolia.etherscan.io/tx/0xec809a93b8c946a64587fff87ac64586a3e17a5626b916279e39c87854a94bf4\n\n## Description\n\nThis task contains two scripts. One for deploying new versions of the `FaultDisputeGame` and `PermissionedDisputeGame` contracts, and one for updating the `DisputeGameFactory` contract to reference the new dispute game contracts.\n\n## Procedure\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd sepolia/2025-03-12-upgrade-fault-proofs\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Run relevant script(s)\n\n#### 3.1 Deploy new Dispute Game Implementations\n\n```bash\nmake deploy\n```\n\nThis will output the new addresses of the `FaultDisputeGame` and `PermissionedDisputeGame` contracts to an `addresses.json` file. You will need to commit this file to the repo before signers can sign.\n\n#### 3.2 Sign the transaction\n\n```bash\nmake sign\n```\n\nYou will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and extract the domain hash and message hash to approve on your Ledger:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n##### 3.2.1 Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Sepolia.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not see the derivation path Note above.\n\n##### 3.2.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab, and refer to the [State Validations](./VALIDATION.md) instructions for the transaction you are signing.\nOnce complete return to this document to complete the signing.\n\n##### 3.2.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\nOnce the validations are done, it's time to actually sign the\ntransaction.\n\n> [!WARNING]\n> This is the most security critical part of the playbook: make sure the\n> domain hash and message hash in the following two places match:\n>\n> 1. On your Ledger screen.\n> 2. In the Tenderly simulation. You should use the same Tenderly\n>    simulation as the one you used to verify the state diffs, instead\n>    of opening the new one printed in the console.\n>\n> There is no need to verify anything printed in the console. There is\n> no need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```shell\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n##### 3.2.4 Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n### [For Facilitator ONLY] How to execute\n\n#### Execute the transaction\n\n1. IMPORTANT: Ensure op-challenger has been updated before executing.\n1. Collect outputs from all participating signers.\n1. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"`.\n1. Run the `make execute` command as described below to execute the transaction.\n\nFor example, if the quorum is 2 and you get the following outputs:\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE01\nSignature: AAAA\n```\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE02\nSignature: BBBB\n```\n\nThen you should run:\n\n```bash\nSIGNATURES=AAAABBBB make execute\n```\n"
  },
  {
    "path": "sepolia/2025-03-12-upgrade-fault-proofs/VALIDATION.md",
    "content": "# Validation\n\nThis document can be used to validate the state diff resulting from the execution of the upgrade transactions.\n\nFor each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract:\n\n- The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur.\n- All addresses (in section headers and storage values) match the provided name, using the Etherscan and Superchain Registry links provided. This validates the bytecode deployed at the addresses contains the correct logic.\n- All key values match the semantic meaning provided, which can be validated using the storage layout links provided.\n\n## Sepolia State Overrides\n\n### `0x0fe884546476dDd290eC46318785046ef68a0BA9` (`ProxyAdminOwner`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n### Nested Safe\n\n[For CB Signers] `0x646132A1667ca7aD00d36616AFBA1A28116C770A` (`CB Nested Safe`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000003` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the owner count to 1 so the transaction simulation can occur.\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n- **Key**: `0x316a0aac0d94f5824f0b66f5bbe94a8c360a17699a1d3a233aafcf7146e9f11c` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: This is owners[0xca11bde05977b3631167028862be2a173976ca11] -> 1, so the key can be derived from cast index address 0xca11bde05977b3631167028862be2a173976ca11 2.\n\n- **Key**: `0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0` <br/>\n  **Override**: `0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca11` <br/>\n  **Meaning**: This is owners[1] -> 0xca11bde05977b3631167028862be2a173976ca11, so the key can be derived from cast index address 0x0000000000000000000000000000000000000001 2.\n\n## Sepolia State Changes\n\n### `0x0fe884546476dDd290eC46318785046ef68a0BA9` (`ProxyAdminOwner`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n  **Before**: `0x0000000000000000000000000000000000000000000000000000000000000012` <br/>\n  **After**: `0x0000000000000000000000000000000000000000000000000000000000000013` <br/>\n  **Meaning**: Nonce increment.\n\n#### For CB Signers\n\n- **Key**: `0xb8af1766c34180f8ca25988586bcc2d31b0506d064a8da05beb4a6e443b79e71` <br/>\n  **Before**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n  **After**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Sets an approval for this transaction from the signer.\n  **Verify**: Compute the expected key with `cast index bytes32 $NESTED_HASH $(cast index address $NESTED_SAFE 8)`\n\n### Nested Safe\n\n[For CB Signers] `0x646132A1667ca7aD00d36616AFBA1A28116C770A` (`CB Nested Safe`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n  **Before**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n  **After**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Nonce increment.\n\n### `0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1` (`DisputeGameFactory`)\n\n- **Key**: `0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e` <br/>\n  **Before**: `0x000000000000000000000000cca6a4916fa6de5d671cc77760a3b10b012cca16` <br/>\n  **After**: `0x00000000000000000000000058d465e2e31b811fdbbe5461627a0a88c3c1be2f` <br/>\n  **Meaning**: Updates the `PermissionedDisputeGame` implementation address from `0xcca6a4916fa6de5d671cc77760a3b10b012cca16` to `0x58d465e2e31b811fdbbe5461627a0a88c3c1be2f`.\n  **Verify**: You can verify the key derivation by running `cast index uint32 1 101` in your terminal.\n\n- **Key**: `0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b` <br/>\n  **Before**: `0x0000000000000000000000009cd8b02e84df3ef61db3b34123206568490cb279` <br/>\n  **After**: `0x00000000000000000000000076d7f861bbc8cbef20bad1a3f385eb95dd22306b` <br/>\n  **Meaning**: Updates the `FaultDisputeGame` implementation address from `0x9cd8b02e84df3ef61db3b34123206568490cb279` to `0x76d7f861bbc8cbef20bad1a3f385eb95dd22306b`.\n  **Verify**: You can verify the key derivation by running `cast index uint32 0 101` in your terminal.\n\n### Signing Address\n\nNonce increment.\n"
  },
  {
    "path": "sepolia/2025-03-12-upgrade-fault-proofs/addresses.json",
    "content": "{\n  \"faultDisputeGame\": \"0x76d7f861bbc8cbef20bad1a3f385eb95dd22306b\",\n  \"permissionedDisputeGame\": \"0x58d465e2e31b811fdbbe5461627a0a88c3c1be2f\"\n}\n"
  },
  {
    "path": "sepolia/2025-03-12-upgrade-fault-proofs/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n    '@lib-keccak/=lib/lib-keccak/contracts/lib',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "sepolia/2025-03-12-upgrade-fault-proofs/records/DeployDisputeGames.s.sol/11155111/run-1741808714.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xc3c95b71b3b100c8e837317a428c9fc2698b07883fbe50de54a29fff45dda4c3\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"FaultDisputeGame\",\n      \"contractAddress\": \"0x9cd8b02e84df3ef61db3b34123206568490cb279\",\n      \"function\": null,\n      \"arguments\": [\n        \"0\",\n        \"0x03925193e3e89f87835bbdf3a813f60b2aa818a36bbe71cd5d8fd7e79f5e8afe\",\n        \"73\",\n        \"30\",\n        \"10800\",\n        \"302400\",\n        \"0x69470D6970Cd2A006b84B1d4d70179c892cFCE01\",\n        \"0x489c2E5ebe0037bDb2DC039C5770757b8E54eA1F\",\n        \"0x4C8BA32A5DAC2A720bb35CeDB51D6B067D104205\",\n        \"84532\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"gas\": \"0x674a99\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6101c06040523480156200001257600080fd5b50604051620064b1380380620064b1833981016040819052620000359162000435565b620000436001607e6200050c565b60ff168811156200006757604051633beff19960e11b815260040160405180910390fd5b600019871480620000845750876200008188600162000532565b10155b15620000a35760405163e62ccf3960e01b815260040160405180910390fd5b6002871015620000c65760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b038016846001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200010f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013591906200054d565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000173573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019991906200056d565b1115620001b95760405163b4e1243360e01b815260040160405180910390fd5b6000620001da876001600160401b0316620003e260201b62000c891760201c565b620001f0906001600160401b0316600262000587565b90506000856001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000233573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025991906200054d565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000297573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002bd91906200056d565b620002dc896001600160401b0316620003e260201b62000c891760201c565b6001600160401b0316620002f1919062000532565b905060006200030c8383620003e560201b62003a261760201c565b90506001600160401b03811115620003375760405163235dfb2b60e21b815260040160405180910390fd5b62000356886001600160401b0316620003e260201b62000c891760201c565b6001600160401b0316816001600160401b03161115620003895760405163235dfb2b60e21b815260040160405180910390fd5b50505063ffffffff9099166101205260809790975260a09590955260c0939093526001600160401b039182166101a0521660e0526001600160a01b039081166101005290811661014052166101605261018052620005a9565b90565b6000818311620003f65781620003f8565b825b9392505050565b80516001600160401b03811681146200041757600080fd5b919050565b6001600160a01b03811681146200043257600080fd5b50565b6000806000806000806000806000806101408b8d0312156200045657600080fd5b8a5163ffffffff811681146200046b57600080fd5b809a505060208b0151985060408b0151975060608b015196506200049260808c01620003ff565b9550620004a260a08c01620003ff565b945060c08b0151620004b4816200041c565b60e08c0151909450620004c7816200041c565b6101008c0151909350620004db816200041c565b809250506101208b015190509295989b9194979a5092959850565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff841680821015620005295762000529620004f6565b90039392505050565b60008219821115620005485762000548620004f6565b500190565b6000602082840312156200056057600080fd5b8151620003f8816200041c565b6000602082840312156200058057600080fd5b5051919050565b6000816000190483118215151615620005a457620005a4620004f6565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051615d826200072f600039600081816106bb01528181611fbb015281816120260152612059015260008181610a1e01526139390152600081816106130152818161178a01526125e80152600081816105270152818161194c01528181612480015281816129ea0152613e1301526000818161088d015281816125a701526139c80152600081816104b401528181611eba015281816132420152613597015260008181610a7101528181610f6001528181611e2a01528181612089015281816120e801528181612bf60152612c38015260008181610aa401528181611c7301528181611d9901528181611ff7015281816130950152818161379601528181613f0a015281816146270152818161475501528181614856015261492b015260008181610b4b01528181611d3c01528181611e8e01528181612d0601528181612d8c01528181612f8b01526130b601526000818161078601526131540152615d826000f3fe6080604052600436106102f25760003560e01c806370872aa51161018f578063c6f0308c116100e1578063ec5e63081161008a578063fa24f74311610064578063fa24f74314610b18578063fa315aa914610b3c578063fe2bbeb214610b6f57600080fd5b8063ec5e630814610a95578063eff0f59214610ac8578063f8f43ff614610af857600080fd5b8063d6ae3cd5116100bb578063d6ae3cd514610a0f578063d8cc1a3c14610a42578063dabd396d14610a6257600080fd5b8063c6f0308c14610937578063cf09e0d0146109c1578063d5d44d80146109e257600080fd5b80638d450a9511610143578063bcef3b551161011d578063bcef3b55146108b7578063bd8da956146108f7578063c395e1ca1461091757600080fd5b80638d450a9514610777578063a445ece6146107aa578063bbdc02db1461087657600080fd5b80638129fc1c116101745780638129fc1c1461071a5780638980e0cc146107225780638b85902b1461073757600080fd5b806370872aa5146106f25780637b0f0adc1461070757600080fd5b80633fc8cef3116102485780635c0cba33116101fc5780636361506d116101d65780636361506d1461066c5780636b6716c0146106ac5780636f034409146106df57600080fd5b80635c0cba3314610604578063609d33341461063757806360e274641461064c57600080fd5b806354fd4d501161022d57806354fd4d501461055e57806357da950e146105b45780635a5fa2d9146105e457600080fd5b80633fc8cef314610518578063472777c61461054b57600080fd5b80632810e1d6116102aa57806337b1b2291161028457806337b1b229146104655780633a768463146104a55780633e3ac912146104d857600080fd5b80632810e1d6146103de5780632ad69aeb146103f357806330dbe5701461041357600080fd5b806319effeb4116102db57806319effeb414610339578063200d2ed21461038457806325fc2ace146103bf57600080fd5b806301935130146102f757806303c2924d14610319575b600080fd5b34801561030357600080fd5b506103176103123660046154e1565b610b9f565b005b34801561032557600080fd5b5061031761033436600461553c565b610ec0565b34801561034557600080fd5b506000546103669068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b34801561039057600080fd5b506000546103b290700100000000000000000000000000000000900460ff1681565b60405161037b919061558d565b3480156103cb57600080fd5b506008545b60405190815260200161037b565b3480156103ea57600080fd5b506103b2611566565b3480156103ff57600080fd5b506103d061040e36600461553c565b61180b565b34801561041f57600080fd5b506001546104409073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161037b565b34801561047157600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90033560601c610440565b3480156104b157600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610440565b3480156104e457600080fd5b50600054610508907201000000000000000000000000000000000000900460ff1681565b604051901515815260200161037b565b34801561052457600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610440565b6103176105593660046155ce565b611841565b34801561056a57600080fd5b506105a76040518060400160405280600581526020017f312e332e3100000000000000000000000000000000000000000000000000000081525081565b60405161037b9190615665565b3480156105c057600080fd5b506008546009546105cf919082565b6040805192835260208301919091520161037b565b3480156105f057600080fd5b506103d06105ff366004615678565b611853565b34801561061057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610440565b34801561064357600080fd5b506105a761188d565b34801561065857600080fd5b506103176106673660046156b6565b61189b565b34801561067857600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003603401356103d0565b3480156106b857600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610366565b6103176106ed3660046156e8565b611a42565b3480156106fe57600080fd5b506009546103d0565b6103176107153660046155ce565b61251b565b610317612528565b34801561072e57600080fd5b506002546103d0565b34801561074357600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401356103d0565b34801561078357600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b3480156107b657600080fd5b506108226107c5366004615678565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046fffffffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff1684565b60408051941515855263ffffffff90931660208501526fffffffffffffffffffffffffffffffff9091169183019190915273ffffffffffffffffffffffffffffffffffffffff16606082015260800161037b565b34801561088257600080fd5b5060405163ffffffff7f000000000000000000000000000000000000000000000000000000000000000016815260200161037b565b3480156108c357600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356103d0565b34801561090357600080fd5b50610366610912366004615678565b612a81565b34801561092357600080fd5b506103d0610932366004615727565b612c60565b34801561094357600080fd5b50610957610952366004615678565b612e43565b6040805163ffffffff909816885273ffffffffffffffffffffffffffffffffffffffff968716602089015295909416948601949094526fffffffffffffffffffffffffffffffff9182166060860152608085015291821660a08401521660c082015260e00161037b565b3480156109cd57600080fd5b506000546103669067ffffffffffffffff1681565b3480156109ee57600080fd5b506103d06109fd3660046156b6565b60036020526000908152604090205481565b348015610a1b57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b348015610a4e57600080fd5b50610317610a5d366004615759565b612eda565b348015610a6e57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610366565b348015610aa157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b348015610ad457600080fd5b50610508610ae3366004615678565b60046020526000908152604090205460ff1681565b348015610b0457600080fd5b50610317610b133660046155ce565b613509565b348015610b2457600080fd5b50610b2d6139c6565b60405161037b939291906157e3565b348015610b4857600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b348015610b7b57600080fd5b50610508610b8a366004615678565b60066020526000908152604090205460ff1681565b60008054700100000000000000000000000000000000900460ff166002811115610bcb57610bcb61555e565b14610c02576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610c55576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c8c367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013590565b90565b610ca3610c9e36869003860186615837565b613a40565b14610cda576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610cef9291906158c4565b604051809103902014610d2e576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d77610d7284848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613a9c92505050565b613b09565b90506000610d9e82600881518110610d9157610d916158d4565b6020026020010151613cbf565b9050602081511115610ddc576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401358103610e51576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054700100000000000000000000000000000000900460ff166002811115610eec57610eec61555e565b14610f23576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110610f3857610f386158d4565b906000526020600020906005020190506000610f5384612a81565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610fbc576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611005576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561102257508515155b156110bd578354640100000000900473ffffffffffffffffffffffffffffffffffffffff16600081156110555781611071565b600186015473ffffffffffffffffffffffffffffffffffffffff165b905061107d8187613d73565b50505060009485525050600660205250506040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046fffffffffffffffffffffffffffffffff16938101939093526001015473ffffffffffffffffffffffffffffffffffffffff166060830152611160576fffffffffffffffffffffffffffffffff6040820152600181526000869003611160578195505b600086826020015163ffffffff166111789190615932565b90506000838211611189578161118b565b835b602084015190915063ffffffff165b818110156112d75760008682815481106111b6576111b66158d4565b6000918252602080832090910154808352600690915260409091205490915060ff1661120e576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028281548110611223576112236158d4565b600091825260209091206005909102018054909150640100000000900473ffffffffffffffffffffffffffffffffffffffff161580156112805750600481015460408701516fffffffffffffffffffffffffffffffff9182169116115b156112c257600181015473ffffffffffffffffffffffffffffffffffffffff16606087015260048101546fffffffffffffffffffffffffffffffff1660408701525b505080806112cf9061594a565b91505061119a565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006fffffffffffffffffffffffffffffffff909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9093169290921790915584900361155b57606083015160008a815260066020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558915801561145757506000547201000000000000000000000000000000000000900460ff165b156114cc5760015473ffffffffffffffffffffffffffffffffffffffff1661147f818a613d73565b885473ffffffffffffffffffffffffffffffffffffffff909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611559565b61151373ffffffffffffffffffffffffffffffffffffffff8216156114f1578161150d565b600189015473ffffffffffffffffffffffffffffffffffffffff165b89613d73565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff1664010000000073ffffffffffffffffffffffffffffffffffffffff8316021788555b505b505050505050505050565b600080600054700100000000000000000000000000000000900460ff1660028111156115945761159461555e565b146115cb576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff1661162f576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008154811061165b5761165b6158d4565b6000918252602090912060059091020154640100000000900473ffffffffffffffffffffffffffffffffffffffff1614611696576001611699565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff9091161770010000000000000000000000000000000083600281111561174a5761174a61555e565b02179055600281111561175f5761175f61555e565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a27f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663838c2d1e6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156117f057600080fd5b505af1158015611804573d6000803e3d6000fd5b5050505090565b6005602052816000526040600020818154811061182757600080fd5b90600052602060002001600091509150505481565b905090565b61184e8383836001611a42565b505050565b6000818152600760209081526040808320600590925282208054825461188490610100900463ffffffff1682615982565b95945050505050565b606061183c60546020613e74565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260036020526040812080549082905590819003611900576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff3fef3a300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063f3fef3a390604401600060405180830381600087803b15801561199057600080fd5b505af11580156119a4573d6000803e3d6000fd5b5050505060008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611a02576040519150601f19603f3d011682016040523d82523d6000602084013e611a07565b606091505b505090508061184e576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054700100000000000000000000000000000000900460ff166002811115611a6e57611a6e61555e565b14611aa5576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028481548110611aba57611aba6158d4565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff8116845273ffffffffffffffffffffffffffffffffffffffff64010000000090910481169484019490945260018101549093169082015260028201546fffffffffffffffffffffffffffffffff908116606083015260038301546080830181905260049093015480821660a084015270010000000000000000000000000000000090041660c082015291508514611ba1576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156fffffffffffffffffffffffffffffffff83161760011b90506000611c61826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580611c9c5750611c997f00000000000000000000000000000000000000000000000000000000000000006002615932565b81145b8015611ca6575084155b15611cdd576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015611d03575086155b15611d3a576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115611d94576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611dbf7f00000000000000000000000000000000000000000000000000000000000000006001615932565b8103611dd157611dd186888588613ec6565b34611ddb83612c60565b14611e12576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611e1d88612a81565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603611e85576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611eb260017f0000000000000000000000000000000000000000000000000000000000000000615982565b8303611ff0577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f479190615999565b73ffffffffffffffffffffffffffffffffffffffff1663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fb591906159b6565b611fe9907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159cf565b9050612083565b61201b60017f0000000000000000000000000000000000000000000000000000000000000000615982565b830361205657611fe97f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff1660026159fb565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b6120b7817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615a2b565b67ffffffffffffffff166120d28367ffffffffffffffff1690565b67ffffffffffffffff16111561211957612116817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615a2b565b91505b6000604083901b421760008a8152608087901b6fffffffffffffffffffffffffffffffff8d1617602052604081209192509060008181526004602052604090205490915060ff1615612197576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001346fffffffffffffffffffffffffffffffff1681526020018c8152602001886fffffffffffffffffffffffffffffffff168152602001846fffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160020160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506080820151816003015560a08201518160040160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060c08201518160040160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505050600560008c8152602001908152602001600020600160028054905061242d9190615982565b81546001810183556000928352602083200155604080517fd0e30db0000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263d0e30db09234926004808301939282900301818588803b1580156124c557600080fd5b505af11580156124d9573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b61184e8383836000611a42565b60005471010000000000000000000000000000000000900460ff161561257a576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f7258a80700000000000000000000000000000000000000000000000000000000815263ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637258a807906024016040805180830381865afa15801561262e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126529190615a54565b90925090508161268e576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146126c157639824bdab6000526004601cfd5b80367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401351161275b576040517ff40239db000000000000000000000000000000000000000000000000000000008152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff8082526000602083018181527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe369081013560f01c90038035606090811c868801908152346fffffffffffffffffffffffffffffffff81811693890193845260149094013560808901908152600160a08a0181815242871660c08c019081526002805493840181558a529a5160059092027f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace81018054995173ffffffffffffffffffffffffffffffffffffffff908116640100000000027fffffffffffffffff000000000000000000000000000000000000000000000000909b1694909c16939093179890981790915592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf87018054918a167fffffffffffffffffffffffff000000000000000000000000000000000000000090921691909117905592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0860180549186167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090921691909117905591517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015551955182167001000000000000000000000000000000000295909116949094177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad29091015580547fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff167101000000000000000000000000000000000017815583517fd0e30db000000000000000000000000000000000000000000000000000000000815293517f00000000000000000000000000000000000000000000000000000000000000009092169363d0e30db093926004828101939282900301818588803b158015612a3057600080fd5b505af1158015612a44573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050505050565b600080600054700100000000000000000000000000000000900460ff166002811115612aaf57612aaf61555e565b14612ae6576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110612afb57612afb6158d4565b600091825260208220600590910201805490925063ffffffff90811614612b6a57815460028054909163ffffffff16908110612b3957612b396158d4565b906000526020600020906005020160040160109054906101000a90046fffffffffffffffffffffffffffffffff1690505b6004820154600090612ba290700100000000000000000000000000000000900467ffffffffffffffff165b67ffffffffffffffff1690565b612bb69067ffffffffffffffff1642615982565b612bd5612b95846fffffffffffffffffffffffffffffffff1660401c90565b67ffffffffffffffff16612be99190615932565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611612c365780611884565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612cff836fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115612d5e576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000612d798383615aa7565b9050670de0b6b3a76400006000612db0827f0000000000000000000000000000000000000000000000000000000000000000615abb565b90506000612dce612dc9670de0b6b3a764000086615abb565b614077565b90506000612ddc84846142d2565b90506000612dea8383614321565b90506000612df78261434f565b90506000612e1682612e11670de0b6b3a76400008f615abb565b614537565b90506000612e248b83614321565b9050612e30818d615abb565b9f9e505050505050505050505050505050565b60028181548110612e5357600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff8416955064010000000090930473ffffffffffffffffffffffffffffffffffffffff908116949216926fffffffffffffffffffffffffffffffff91821692918082169170010000000000000000000000000000000090041687565b60008054700100000000000000000000000000000000900460ff166002811115612f0657612f0661555e565b14612f3d576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028781548110612f5257612f526158d4565b6000918252602082206005919091020160048101549092506fffffffffffffffffffffffffffffffff16908715821760011b9050612fb17f00000000000000000000000000000000000000000000000000000000000000006001615932565b61304d826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1614613087576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080891561317e576130da7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000615982565b6001901b6130f9846fffffffffffffffffffffffffffffffff16614568565b6fffffffffffffffffffffffffffffffff166131159190615af8565b156131525761314961313a60016fffffffffffffffffffffffffffffffff8716615b0c565b865463ffffffff166000614607565b60030154613174565b7f00000000000000000000000000000000000000000000000000000000000000005b91508490506131a8565b600385015491506131a561313a6fffffffffffffffffffffffffffffffff86166001615b35565b90505b600882901b60088a8a6040516131bf9291906158c4565b6040518091039020901b14613200576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061320b8c6146eb565b9050600061321a836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e14ced3290613294908f908f908f908f908a90600401615ba9565b6020604051808303816000875af11580156132b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132d791906159b6565b600485015491149150600090600290613382906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61341e896fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6134289190615be3565b6134329190615c06565b60ff161590508115158103613473576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8754640100000000900473ffffffffffffffffffffffffffffffffffffffff16156134ca576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008054700100000000000000000000000000000000900460ff1660028111156135355761353561555e565b1461356c576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060008061357b8661471a565b9350935093509350600061359185858585614b23565b905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613600573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136249190615999565b90506001890361371c5773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a84613680367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156136f2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061371691906159b6565b5061155b565b600289036137485773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a8489613680565b600389036137745773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a8487613680565b600489036138fb5760006137ba6fffffffffffffffffffffffffffffffff85167f0000000000000000000000000000000000000000000000000000000000000000614bdd565b6009546137c79190615932565b6137d2906001615932565b9050367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135811061383b57367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036054013561383d565b805b905073ffffffffffffffffffffffffffffffffffffffff82166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af11580156138d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138f491906159b6565b505061155b565b60058903613994576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b6044820152600860648201526084810188905273ffffffffffffffffffffffffffffffffffffffff8216906352f0f3ad9060a4016136d3565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356060613a1f61188d565b9050909192565b6000818311613a355781613a37565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001613a7f949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003613aeb576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000613b1985614c8b565b919450925090506001816001811115613b3457613b3461555e565b14613b6b576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451613b778385615932565b14613bae576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b6040805180820190915260008082526020820152815260200190600190039081613bc55790505093506000835b8651811015613cb357600080613c386040518060400160405280858c60000151613c1c9190615982565b8152602001858c60200151613c319190615932565b9052614c8b565b509150915060405180604001604052808383613c549190615932565b8152602001848b60200151613c699190615932565b815250888581518110613c7e57613c7e6158d4565b6020908102919091010152613c94600185615932565b9350613ca08183615932565b613caa9084615932565b92505050613bf2565b50845250919392505050565b60606000806000613ccf85614c8b565b919450925090506000816001811115613cea57613cea61555e565b14613d21576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613d2b8284615932565b855114613d64576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61188485602001518484615129565b600281015473ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040812080546fffffffffffffffffffffffffffffffff90931692839290613dc2908490615932565b90915550506040517f7eee288d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018390527f00000000000000000000000000000000000000000000000000000000000000001690637eee288d90604401600060405180830381600087803b158015613e5757600080fd5b505af1158015613e6b573d6000803e3d6000fd5b50505050505050565b604051818152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b6000613ee56fffffffffffffffffffffffffffffffff84166001615b35565b90506000613ef582866001614607565b9050600086901a8380613fe15750613f2e60027f0000000000000000000000000000000000000000000000000000000000000000615af8565b6004830154600290613fd2906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b613fdc9190615c06565b60ff16145b156140395760ff811660011480613ffb575060ff81166002145b614034576040517ff40239db00000000000000000000000000000000000000000000000000000000815260048101889052602401612752565b613e6b565b60ff811615613e6b576040517ff40239db00000000000000000000000000000000000000000000000000000000815260048101889052602401612752565b6fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b17600082136140d657631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261430f57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b60008160001904831182021561433f5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d7821361437d57919050565b680755bf798b4a1bf1e5821261439b5763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000613a37670de0b6b3a76400008361454f86614077565b6145599190615c28565b6145639190615ce4565b61434f565b6000806145f5837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b600080826146505761464b6fffffffffffffffffffffffffffffffff86167f00000000000000000000000000000000000000000000000000000000000000006151be565b61466b565b61466b856fffffffffffffffffffffffffffffffff1661534a565b905060028481548110614680576146806158d4565b906000526020600020906005020191505b60048201546fffffffffffffffffffffffffffffffff8281169116146146e357815460028054909163ffffffff169081106146ce576146ce6158d4565b90600052602060002090600502019150614691565b509392505050565b60008060008060006146fc8661471a565b935093509350935061471084848484614b23565b9695505050505050565b600080600080600085905060006002828154811061473a5761473a6158d4565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614811906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161484b576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090614912906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561498757825463ffffffff166149517f00000000000000000000000000000000000000000000000000000000000000006001615932565b830361495b578391505b6002818154811061496e5761496e6158d4565b906000526020600020906005020193508094505061484f565b600481810154908401546fffffffffffffffffffffffffffffffff91821691166000816fffffffffffffffffffffffffffffffff166149f06149db856fffffffffffffffffffffffffffffffff1660011c90565b6fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff161490508015614abf576000614a28836fffffffffffffffffffffffffffffffff16614568565b6fffffffffffffffffffffffffffffffff161115614a93576000614a6a614a6260016fffffffffffffffffffffffffffffffff8616615b0c565b896001614607565b6003810154600490910154909c506fffffffffffffffffffffffffffffffff169a50614a999050565b6008549a505b600386015460048701549099506fffffffffffffffffffffffffffffffff169750614b15565b6000614ae1614a626fffffffffffffffffffffffffffffffff85166001615b35565b6003808901546004808b015492840154930154909e506fffffffffffffffffffffffffffffffff9182169d50919b50169850505b505050505050509193509193565b60006fffffffffffffffffffffffffffffffff841615614b905760408051602081018790526fffffffffffffffffffffffffffffffff8087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611884565b8282604051602001614bbe9291909182526fffffffffffffffffffffffffffffffff16602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614c6a847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614cce576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614cf3576000600160009450945094505050615122565b60b78111614e09576000614d08608083615982565b905080876000015111614d47576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614dbf57507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614df6576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250615122915050565b60bf8111614f67576000614e1e60b783615982565b905080876000015111614e5d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614ebf576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614f07576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f118184615932565b895111614f4a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f55836001615932565b97509550600094506151229350505050565b60f78111614fcc576000614f7c60c083615982565b905080876000015111614fbb576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250615122915050565b6000614fd960f783615982565b905080876000015111615018576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff0000000000000000000000000000000000000000000000000000000000000016600081900361507a576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c603781116150c2576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6150cc8184615932565b895111615105576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b615110836001615932565b97509550600194506151229350505050565b9193909250565b60608167ffffffffffffffff81111561514457615144615808565b6040519080825280601f01601f19166020018201604052801561516e576020820181803683370190505b50905081156151b75760006151838486615932565b90506020820160005b848110156151a457828101518282015260200161518c565b848111156151b3576000858301525b5050505b9392505050565b60008161525d846fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116152735763b34b5c226000526004601cfd5b61527c8361534a565b90508161531b826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611613a3a57613a37615331836001615932565b6fffffffffffffffffffffffffffffffff8316906153ef565b600081196001830116816153de827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061547c847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f8401126154aa57600080fd5b50813567ffffffffffffffff8111156154c257600080fd5b6020830191508360208285010111156154da57600080fd5b9250929050565b600080600083850360a08112156154f757600080fd5b608081121561550557600080fd5b50839250608084013567ffffffffffffffff81111561552357600080fd5b61552f86828701615498565b9497909650939450505050565b6000806040838503121561554f57600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60208101600383106155c8577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6000806000606084860312156155e357600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561562057602081850181015186830182015201615604565b81811115615632576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000613a3760208301846155fa565b60006020828403121561568a57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146156b357600080fd5b50565b6000602082840312156156c857600080fd5b81356151b781615691565b803580151581146156e357600080fd5b919050565b600080600080608085870312156156fe57600080fd5b84359350602085013592506040850135915061571c606086016156d3565b905092959194509250565b60006020828403121561573957600080fd5b81356fffffffffffffffffffffffffffffffff811681146151b757600080fd5b6000806000806000806080878903121561577257600080fd5b86359550615782602088016156d3565b9450604087013567ffffffffffffffff8082111561579f57600080fd5b6157ab8a838b01615498565b909650945060608901359150808211156157c457600080fd5b506157d189828a01615498565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061188460608301846155fa565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006080828403121561584957600080fd5b6040516080810181811067ffffffffffffffff82111715615893577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000821982111561594557615945615903565b500190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361597b5761597b615903565b5060010190565b60008282101561599457615994615903565b500390565b6000602082840312156159ab57600080fd5b81516151b781615691565b6000602082840312156159c857600080fd5b5051919050565b600067ffffffffffffffff8083168185168083038211156159f2576159f2615903565b01949350505050565b600067ffffffffffffffff80831681851681830481118215151615615a2257615a22615903565b02949350505050565b600067ffffffffffffffff83811690831681811015615a4c57615a4c615903565b039392505050565b60008060408385031215615a6757600080fd5b505080516020909101519092909150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082615ab657615ab6615a78565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615615af357615af3615903565b500290565b600082615b0757615b07615a78565b500690565b60006fffffffffffffffffffffffffffffffff83811690831681811015615a4c57615a4c615903565b60006fffffffffffffffffffffffffffffffff8083168185168083038211156159f2576159f2615903565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615bbd606083018789615b60565b8281036020840152615bd0818688615b60565b9150508260408301529695505050505050565b600060ff821660ff841680821015615bfd57615bfd615903565b90039392505050565b600060ff831680615c1957615c19615a78565b8060ff84160691505092915050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615c6957615c69615903565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615ca457615ca4615903565b60008712925087820587128484161615615cc057615cc0615903565b87850587128184161615615cd657615cd6615903565b505050929093029392505050565b600082615cf357615cf3615a78565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f800000000000000000000000000000000000000000000000000000000000000083141615615d4757615d47615903565b50059056fea264697066735822122009f1e45c4f315024e4f04a5b89d32ce43577e96a7582781ac417a31839b953d364736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000000003925193e3e89f87835bbdf3a813f60b2aa818a36bbe71cd5d8fd7e79f5e8afe0000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d4000000000000000000000000069470d6970cd2a006b84b1d4d70179c892cfce01000000000000000000000000489c2e5ebe0037bdb2dc039c5770757b8e54ea1f0000000000000000000000004c8ba32a5dac2a720bb35cedb51d6b067d1042050000000000000000000000000000000000000000000000000000000000014a34\",\n        \"nonce\": \"0xa\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x445fa39934c8b95c530b60699d80cb6fe7f58712bf6d698c5224bff6c0c8e270\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"PermissionedDisputeGame\",\n      \"contractAddress\": \"0xcca6a4916fa6de5d671cc77760a3b10b012cca16\",\n      \"function\": null,\n      \"arguments\": [\n        \"1\",\n        \"0x03925193e3e89f87835bbdf3a813f60b2aa818a36bbe71cd5d8fd7e79f5e8afe\",\n        \"73\",\n        \"30\",\n        \"10800\",\n        \"302400\",\n        \"0x69470D6970Cd2A006b84B1d4d70179c892cFCE01\",\n        \"0x27A6128F707de3d99F89Bf09c35a4e0753E1B808\",\n        \"0x4C8BA32A5DAC2A720bb35CeDB51D6B067D104205\",\n        \"84532\",\n        \"0x037637067c1DbE6d2430616d8f54Cb774Daa5999\",\n        \"0x8b8c52B04A38f10515C52670fcb23f3C4C44474F\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"gas\": \"0x6a01f8\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6102006040523480156200001257600080fd5b50604051620067b4380380620067b4833981016040819052620000359162000468565b8b8b8b8b8b8b8b8b8b8b6200004d6001607e6200055b565b60ff168811156200007157604051633beff19960e11b815260040160405180910390fd5b6000198714806200008e5750876200008b88600162000581565b10155b15620000ad5760405163e62ccf3960e01b815260040160405180910390fd5b6002871015620000d05760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b038016846001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000119573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013f91906200059c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200017d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a39190620005bc565b1115620001c35760405163b4e1243360e01b815260040160405180910390fd5b6000620001e4876001600160401b03166200040860201b62000d051760201c565b620001fa906001600160401b03166002620005d6565b90506000856001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200023d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026391906200059c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002a1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c79190620005bc565b620002e6896001600160401b03166200040860201b62000d051760201c565b6001600160401b0316620002fb919062000581565b905060006200031683836200040b60201b620026401760201c565b90506001600160401b03811115620003415760405163235dfb2b60e21b815260040160405180910390fd5b62000360886001600160401b03166200040860201b62000d051760201c565b6001600160401b0316816001600160401b03161115620003935760405163235dfb2b60e21b815260040160405180910390fd5b50505063ffffffff9099166101205260809790975260a09590955260c0939093526001600160401b039182166101a0521660e0526001600160a01b03908116610100529081166101405290811661016052610180919091529182166101c052166101e05250620005f898505050505050505050565b90565b60008183116200041c57816200041e565b825b9392505050565b80516001600160401b03811681146200043d57600080fd5b919050565b6001600160a01b03811681146200045857600080fd5b50565b80516200043d8162000442565b6000806000806000806000806000806000806101808d8f0312156200048c57600080fd5b8c5163ffffffff81168114620004a157600080fd5b809c505060208d01519a5060408d0151995060608d01519850620004c860808e0162000425565b9750620004d860a08e0162000425565b9650620004e860c08e016200045b565b9550620004f860e08e016200045b565b9450620005096101008e016200045b565b93506101208d01519250620005226101408e016200045b565b9150620005336101608e016200045b565b90509295989b509295989b509295989b565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168082101562000578576200057862000545565b90039392505050565b6000821982111562000597576200059762000545565b500190565b600060208284031215620005af57600080fd5b81516200041e8162000442565b600060208284031215620005cf57600080fd5b5051919050565b6000816000190483118215151615620005f357620005f362000545565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051615ffd620007b76000396000818161058301528181611b1501526120b50152600081816108ce01528181611ad601528181611ba4015261207601526000818161070401528181613059015281816130c401526130f7015260008181610a9a015261255301526000818161065c01528181611806015261367901526000818161053d015281816119c801528181612a2d0152818161351e0152613a7b015260008181610909015281816125e201526136380152600081816104ca015281816121b101528181612f58015261436b015260008181610aed01528181610fdc01528181611d7a01528181611dbc01528181612ec8015281816131270152613186015260008181610b20015281816123b001528181612d1101528181612e3701528181613095015281816141be0152818161466d0152818161476e015281816148430152818161511a0152615346015260008181610bc701528181611e8a01528181611f1001528181612dda01528181612f2c015281816140b401526141df0152600081816107cf015261427d0152615ffd6000f3fe6080604052600436106103085760003560e01c806370872aa51161019a578063c6f0308c116100e1578063ec5e63081161008a578063fa24f74311610064578063fa24f74314610b94578063fa315aa914610bb8578063fe2bbeb214610beb57600080fd5b8063ec5e630814610b11578063eff0f59214610b44578063f8f43ff614610b7457600080fd5b8063d6ae3cd5116100bb578063d6ae3cd514610a8b578063d8cc1a3c14610abe578063dabd396d14610ade57600080fd5b8063c6f0308c146109b3578063cf09e0d014610a3d578063d5d44d8014610a5e57600080fd5b8063a445ece611610143578063bcef3b551161011d578063bcef3b5514610933578063bd8da95614610973578063c395e1ca1461099357600080fd5b8063a445ece6146107f3578063a8e4fb90146108bf578063bbdc02db146108f257600080fd5b80638980e0cc116101745780638980e0cc1461076b5780638b85902b146107805780638d450a95146107c057600080fd5b806370872aa51461073b5780637b0f0adc146107505780638129fc1c1461076357600080fd5b80633fc8cef31161025e5780635c0cba33116102075780636361506d116101e15780636361506d146106b55780636b6716c0146106f55780636f0344091461072857600080fd5b80635c0cba331461064d578063609d33341461068057806360e274641461069557600080fd5b806354fd4d501161023857806354fd4d50146105a757806357da950e146105fd5780635a5fa2d91461062d57600080fd5b80633fc8cef31461052e578063472777c614610561578063534db0e21461057457600080fd5b80632810e1d6116102c057806337b1b2291161029a57806337b1b2291461047b5780633a768463146104bb5780633e3ac912146104ee57600080fd5b80632810e1d6146103f45780632ad69aeb1461040957806330dbe5701461042957600080fd5b806319effeb4116102f157806319effeb41461034f578063200d2ed21461039a57806325fc2ace146103d557600080fd5b8063019351301461030d57806303c2924d1461032f575b600080fd5b34801561031957600080fd5b5061032d61032836600461575c565b610c1b565b005b34801561033b57600080fd5b5061032d61034a3660046157b7565b610f3c565b34801561035b57600080fd5b5060005461037c9068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103a657600080fd5b506000546103c890700100000000000000000000000000000000900460ff1681565b6040516103919190615808565b3480156103e157600080fd5b506008545b604051908152602001610391565b34801561040057600080fd5b506103c86115e2565b34801561041557600080fd5b506103e66104243660046157b7565b611887565b34801561043557600080fd5b506001546104569073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610391565b34801561048757600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90033560601c610456565b3480156104c757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156104fa57600080fd5b5060005461051e907201000000000000000000000000000000000000900460ff1681565b6040519015158152602001610391565b34801561053a57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b61032d61056f366004615849565b6118bd565b34801561058057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156105b357600080fd5b506105f06040518060400160405280600581526020017f312e332e3100000000000000000000000000000000000000000000000000000081525081565b60405161039191906158e0565b34801561060957600080fd5b50600854600954610618919082565b60408051928352602083019190915201610391565b34801561063957600080fd5b506103e66106483660046158f3565b6118cf565b34801561065957600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b34801561068c57600080fd5b506105f0611909565b3480156106a157600080fd5b5061032d6106b0366004615931565b611917565b3480156106c157600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003603401356103e6565b34801561070157600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061037c565b61032d610736366004615963565b611abe565b34801561074757600080fd5b506009546103e6565b61032d61075e366004615849565b611b7f565b61032d611b8c565b34801561077757600080fd5b506002546103e6565b34801561078c57600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401356103e6565b3480156107cc57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b3480156107ff57600080fd5b5061086b61080e3660046158f3565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046fffffffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff1684565b60408051941515855263ffffffff90931660208501526fffffffffffffffffffffffffffffffff9091169183019190915273ffffffffffffffffffffffffffffffffffffffff166060820152608001610391565b3480156108cb57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156108fe57600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610391565b34801561093f57600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356103e6565b34801561097f57600080fd5b5061037c61098e3660046158f3565b611c05565b34801561099f57600080fd5b506103e66109ae3660046159a2565b611de4565b3480156109bf57600080fd5b506109d36109ce3660046158f3565b611fc7565b6040805163ffffffff909816885273ffffffffffffffffffffffffffffffffffffffff968716602089015295909416948601949094526fffffffffffffffffffffffffffffffff9182166060860152608085015291821660a08401521660c082015260e001610391565b348015610a4957600080fd5b5060005461037c9067ffffffffffffffff1681565b348015610a6a57600080fd5b506103e6610a79366004615931565b60036020526000908152604090205481565b348015610a9757600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610aca57600080fd5b5061032d610ad93660046159d4565b61205e565b348015610aea57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061037c565b348015610b1d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610b5057600080fd5b5061051e610b5f3660046158f3565b60046020526000908152604090205460ff1681565b348015610b8057600080fd5b5061032d610b8f366004615849565b612123565b348015610ba057600080fd5b50610ba96125e0565b60405161039193929190615a5e565b348015610bc457600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610bf757600080fd5b5061051e610c063660046158f3565b60066020526000908152604090205460ff1681565b60008054700100000000000000000000000000000000900460ff166002811115610c4757610c476157d9565b14610c7e576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610cd1576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d08367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013590565b90565b610d1f610d1a36869003860186615ab2565b61265a565b14610d56576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610d6b929190615b3f565b604051809103902014610daa576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610df3610dee84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506126b692505050565b612723565b90506000610e1a82600881518110610e0d57610e0d615b4f565b60200260200101516128d9565b9050602081511115610e58576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401358103610ecd576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054700100000000000000000000000000000000900460ff166002811115610f6857610f686157d9565b14610f9f576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110610fb457610fb4615b4f565b906000526020600020906005020190506000610fcf84611c05565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015611038576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611081576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561109e57508515155b15611139578354640100000000900473ffffffffffffffffffffffffffffffffffffffff16600081156110d157816110ed565b600186015473ffffffffffffffffffffffffffffffffffffffff165b90506110f9818761298d565b50505060009485525050600660205250506040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046fffffffffffffffffffffffffffffffff16938101939093526001015473ffffffffffffffffffffffffffffffffffffffff1660608301526111dc576fffffffffffffffffffffffffffffffff60408201526001815260008690036111dc578195505b600086826020015163ffffffff166111f49190615bad565b905060008382116112055781611207565b835b602084015190915063ffffffff165b8181101561135357600086828154811061123257611232615b4f565b6000918252602080832090910154808352600690915260409091205490915060ff1661128a576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002828154811061129f5761129f615b4f565b600091825260209091206005909102018054909150640100000000900473ffffffffffffffffffffffffffffffffffffffff161580156112fc5750600481015460408701516fffffffffffffffffffffffffffffffff9182169116115b1561133e57600181015473ffffffffffffffffffffffffffffffffffffffff16606087015260048101546fffffffffffffffffffffffffffffffff1660408701525b5050808061134b90615bc5565b915050611216565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006fffffffffffffffffffffffffffffffff909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909316929092179091558490036115d757606083015160008a815260066020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055891580156114d357506000547201000000000000000000000000000000000000900460ff165b156115485760015473ffffffffffffffffffffffffffffffffffffffff166114fb818a61298d565b885473ffffffffffffffffffffffffffffffffffffffff909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff9091161788556115d5565b61158f73ffffffffffffffffffffffffffffffffffffffff82161561156d5781611589565b600189015473ffffffffffffffffffffffffffffffffffffffff165b8961298d565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff1664010000000073ffffffffffffffffffffffffffffffffffffffff8316021788555b505b505050505050505050565b600080600054700100000000000000000000000000000000900460ff166002811115611610576116106157d9565b14611647576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166116ab576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660026000815481106116d7576116d7615b4f565b6000918252602090912060059091020154640100000000900473ffffffffffffffffffffffffffffffffffffffff1614611712576001611715565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff909116177001000000000000000000000000000000008360028111156117c6576117c66157d9565b0217905560028111156117db576117db6157d9565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a27f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663838c2d1e6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561186c57600080fd5b505af1158015611880573d6000803e3d6000fd5b5050505090565b600560205281600052604060002081815481106118a357600080fd5b90600052602060002001600091509150505481565b905090565b6118ca8383836001611abe565b505050565b6000818152600760209081526040808320600590925282208054825461190090610100900463ffffffff1682615bfd565b95945050505050565b60606118b860546020612a8e565b73ffffffffffffffffffffffffffffffffffffffff811660009081526003602052604081208054908290559081900361197c576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff3fef3a300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063f3fef3a390604401600060405180830381600087803b158015611a0c57600080fd5b505af1158015611a20573d6000803e3d6000fd5b5050505060008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611a7e576040519150601f19603f3d011682016040523d82523d6000602084013e611a83565b606091505b50509050806118ca576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480611b3757503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016145b611b6d576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b7984848484612ae0565b50505050565b6118ca8383836000611abe565b3273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611bfb576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c036135b9565b565b600080600054700100000000000000000000000000000000900460ff166002811115611c3357611c336157d9565b14611c6a576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110611c7f57611c7f615b4f565b600091825260208220600590910201805490925063ffffffff90811614611cee57815460028054909163ffffffff16908110611cbd57611cbd615b4f565b906000526020600020906005020160040160109054906101000a90046fffffffffffffffffffffffffffffffff1690505b6004820154600090611d2690700100000000000000000000000000000000900467ffffffffffffffff165b67ffffffffffffffff1690565b611d3a9067ffffffffffffffff1642615bfd565b611d59611d19846fffffffffffffffffffffffffffffffff1660401c90565b67ffffffffffffffff16611d6d9190615bad565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611611dba5780611900565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080611e83836fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115611ee2576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000611efd8383615c43565b9050670de0b6b3a76400006000611f34827f0000000000000000000000000000000000000000000000000000000000000000615c57565b90506000611f52611f4d670de0b6b3a764000086615c57565b613b12565b90506000611f608484613d6d565b90506000611f6e8383613dbc565b90506000611f7b82613dea565b90506000611f9a82611f95670de0b6b3a76400008f615c57565b613fd2565b90506000611fa88b83613dbc565b9050611fb4818d615c57565b9f9e505050505050505050505050505050565b60028181548110611fd757600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff8416955064010000000090930473ffffffffffffffffffffffffffffffffffffffff908116949216926fffffffffffffffffffffffffffffffff91821692918082169170010000000000000000000000000000000090041687565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614806120d757503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016145b61210d576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61211b868686868686614003565b505050505050565b60008054700100000000000000000000000000000000900460ff16600281111561214f5761214f6157d9565b14612186576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060008061219586614632565b935093509350935060006121ab85858585614a3b565b905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561221a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061223e9190615c94565b9050600189036123365773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a8461229a367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af115801561230c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123309190615cb1565b506115d7565b600289036123625773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a848961229a565b6003890361238e5773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a848761229a565b600489036125155760006123d46fffffffffffffffffffffffffffffffff85167f0000000000000000000000000000000000000000000000000000000000000000614af5565b6009546123e19190615bad565b6123ec906001615bad565b9050367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135811061245557367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135612457565b805b905073ffffffffffffffffffffffffffffffffffffffff82166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af11580156124ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061250e9190615cb1565b50506115d7565b600589036125ae576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b6044820152600860648201526084810188905273ffffffffffffffffffffffffffffffffffffffff8216906352f0f3ad9060a4016122ed565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356060612639611909565b9050909192565b600081831161264f5781612651565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001612699949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003612705576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b6060600080600061273385614ba3565b91945092509050600181600181111561274e5761274e6157d9565b14612785576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84516127918385615bad565b146127c8576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816127df5790505093506000835b86518110156128cd576000806128526040518060400160405280858c600001516128369190615bfd565b8152602001858c6020015161284b9190615bad565b9052614ba3565b50915091506040518060400160405280838361286e9190615bad565b8152602001848b602001516128839190615bad565b81525088858151811061289857612898615b4f565b60209081029190910101526128ae600185615bad565b93506128ba8183615bad565b6128c49084615bad565b9250505061280c565b50845250919392505050565b606060008060006128e985614ba3565b919450925090506000816001811115612904576129046157d9565b1461293b576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129458284615bad565b85511461297e576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61190085602001518484615041565b600281015473ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040812080546fffffffffffffffffffffffffffffffff909316928392906129dc908490615bad565b90915550506040517f7eee288d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018390527f00000000000000000000000000000000000000000000000000000000000000001690637eee288d90604401600060405180830381600087803b158015612a7157600080fd5b505af1158015612a85573d6000803e3d6000fd5b50505050505050565b604051818152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b60008054700100000000000000000000000000000000900460ff166002811115612b0c57612b0c6157d9565b14612b43576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028481548110612b5857612b58615b4f565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff8116845273ffffffffffffffffffffffffffffffffffffffff64010000000090910481169484019490945260018101549093169082015260028201546fffffffffffffffffffffffffffffffff908116606083015260038301546080830181905260049093015480821660a084015270010000000000000000000000000000000090041660c082015291508514612c3f576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156fffffffffffffffffffffffffffffffff83161760011b90506000612cff826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580612d3a5750612d377f00000000000000000000000000000000000000000000000000000000000000006002615bad565b81145b8015612d44575084155b15612d7b576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015612da1575086155b15612dd8576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115612e32576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612e5d7f00000000000000000000000000000000000000000000000000000000000000006001615bad565b8103612e6f57612e6f868885886150d6565b34612e7983611de4565b14612eb0576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612ebb88611c05565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603612f23576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612f5060017f0000000000000000000000000000000000000000000000000000000000000000615bfd565b830361308e577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612fc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fe59190615c94565b73ffffffffffffffffffffffffffffffffffffffff1663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561302f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130539190615cb1565b613087907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615cca565b9050613121565b6130b960017f0000000000000000000000000000000000000000000000000000000000000000615bfd565b83036130f4576130877f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166002615cf6565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b613155817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615d26565b67ffffffffffffffff166131708367ffffffffffffffff1690565b67ffffffffffffffff1611156131b7576131b4817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615d26565b91505b6000604083901b421760008a8152608087901b6fffffffffffffffffffffffffffffffff8d1617602052604081209192509060008181526004602052604090205490915060ff1615613235576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001346fffffffffffffffffffffffffffffffff1681526020018c8152602001886fffffffffffffffffffffffffffffffff168152602001846fffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160020160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506080820151816003015560a08201518160040160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060c08201518160040160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505050600560008c815260200190815260200160002060016002805490506134cb9190615bfd565b81546001810183556000928352602083200155604080517fd0e30db0000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263d0e30db09234926004808301939282900301818588803b15801561356357600080fd5b505af1158015613577573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b60005471010000000000000000000000000000000000900460ff161561360b576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f7258a80700000000000000000000000000000000000000000000000000000000815263ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637258a807906024016040805180830381865afa1580156136bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136e39190615d4f565b90925090508161371f576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a1461375257639824bdab6000526004601cfd5b80367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135116137ec576040517ff40239db000000000000000000000000000000000000000000000000000000008152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff8082526000602083018181527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe369081013560f01c90038035606090811c868801908152346fffffffffffffffffffffffffffffffff81811693890193845260149094013560808901908152600160a08a0181815242871660c08c019081526002805493840181558a529a5160059092027f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace81018054995173ffffffffffffffffffffffffffffffffffffffff908116640100000000027fffffffffffffffff000000000000000000000000000000000000000000000000909b1694909c16939093179890981790915592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf87018054918a167fffffffffffffffffffffffff000000000000000000000000000000000000000090921691909117905592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0860180549186167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090921691909117905591517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015551955182167001000000000000000000000000000000000295909116949094177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad29091015580547fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff167101000000000000000000000000000000000017815583517fd0e30db000000000000000000000000000000000000000000000000000000000815293517f00000000000000000000000000000000000000000000000000000000000000009092169363d0e30db093926004828101939282900301818588803b158015613ac157600080fd5b505af1158015613ad5573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050505050565b6fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213613b7157631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a764000002158202613daa57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b600081600019048311820215613dda5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d78213613e1857919050565b680755bf798b4a1bf1e58212613e365763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000612651670de0b6b3a764000083613fea86613b12565b613ff49190615d73565b613ffe9190615e2f565b613dea565b60008054700100000000000000000000000000000000900460ff16600281111561402f5761402f6157d9565b14614066576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002878154811061407b5761407b615b4f565b6000918252602082206005919091020160048101549092506fffffffffffffffffffffffffffffffff16908715821760011b90506140da7f00000000000000000000000000000000000000000000000000000000000000006001615bad565b614176826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16146141b0576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008089156142a7576142037f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000615bfd565b6001901b614222846fffffffffffffffffffffffffffffffff16615287565b6fffffffffffffffffffffffffffffffff1661423e9190615e97565b1561427b5761427261426360016fffffffffffffffffffffffffffffffff8716615eab565b865463ffffffff166000615326565b6003015461429d565b7f00000000000000000000000000000000000000000000000000000000000000005b91508490506142d1565b600385015491506142ce6142636fffffffffffffffffffffffffffffffff86166001615ed4565b90505b600882901b60088a8a6040516142e8929190615b3f565b6040518091039020901b14614329576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006143348c61540a565b90506000614343836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e14ced32906143bd908f908f908f908f908a90600401615f48565b6020604051808303816000875af11580156143dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144009190615cb1565b6004850154911491506000906002906144ab906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b614547896fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6145519190615f82565b61455b9190615fa5565b60ff16159050811515810361459c576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8754640100000000900473ffffffffffffffffffffffffffffffffffffffff16156145f3576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b600080600080600085905060006002828154811061465257614652615b4f565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614729906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611614763576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f00000000000000000000000000000000000000000000000000000000000000009061482a906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561489f57825463ffffffff166148697f00000000000000000000000000000000000000000000000000000000000000006001615bad565b8303614873578391505b6002818154811061488657614886615b4f565b9060005260206000209060050201935080945050614767565b600481810154908401546fffffffffffffffffffffffffffffffff91821691166000816fffffffffffffffffffffffffffffffff166149086148f3856fffffffffffffffffffffffffffffffff1660011c90565b6fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff1614905080156149d7576000614940836fffffffffffffffffffffffffffffffff16615287565b6fffffffffffffffffffffffffffffffff1611156149ab57600061498261497a60016fffffffffffffffffffffffffffffffff8616615eab565b896001615326565b6003810154600490910154909c506fffffffffffffffffffffffffffffffff169a506149b19050565b6008549a505b600386015460048701549099506fffffffffffffffffffffffffffffffff169750614a2d565b60006149f961497a6fffffffffffffffffffffffffffffffff85166001615ed4565b6003808901546004808b015492840154930154909e506fffffffffffffffffffffffffffffffff9182169d50919b50169850505b505050505050509193509193565b60006fffffffffffffffffffffffffffffffff841615614aa85760408051602081018790526fffffffffffffffffffffffffffffffff8087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611900565b8282604051602001614ad69291909182526fffffffffffffffffffffffffffffffff16602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614b82847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614be6576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614c0b57600060016000945094509450505061503a565b60b78111614d21576000614c20608083615bfd565b905080876000015111614c5f576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614cd757507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614d0e576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001955093506000925061503a915050565b60bf8111614e7f576000614d3660b783615bfd565b905080876000015111614d75576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614dd7576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614e1f576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e298184615bad565b895111614e62576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e6d836001615bad565b975095506000945061503a9350505050565b60f78111614ee4576000614e9460c083615bfd565b905080876000015111614ed3576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60019550935084925061503a915050565b6000614ef160f783615bfd565b905080876000015111614f30576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614f92576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614fda576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614fe48184615bad565b89511161501d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b615028836001615bad565b975095506001945061503a9350505050565b9193909250565b60608167ffffffffffffffff81111561505c5761505c615a83565b6040519080825280601f01601f191660200182016040528015615086576020820181803683370190505b50905081156150cf57600061509b8486615bad565b90506020820160005b848110156150bc5782810151828201526020016150a4565b848111156150cb576000858301525b5050505b9392505050565b60006150f56fffffffffffffffffffffffffffffffff84166001615ed4565b9050600061510582866001615326565b9050600086901a83806151f1575061513e60027f0000000000000000000000000000000000000000000000000000000000000000615e97565b60048301546002906151e2906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6151ec9190615fa5565b60ff16145b156152495760ff81166001148061520b575060ff81166002145b615244576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016137e3565b612a85565b60ff811615612a85576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016137e3565b600080615314837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b6000808261536f5761536a6fffffffffffffffffffffffffffffffff86167f0000000000000000000000000000000000000000000000000000000000000000615439565b61538a565b61538a856fffffffffffffffffffffffffffffffff166155c5565b90506002848154811061539f5761539f615b4f565b906000526020600020906005020191505b60048201546fffffffffffffffffffffffffffffffff82811691161461540257815460028054909163ffffffff169081106153ed576153ed615b4f565b906000526020600020906005020191506153b0565b509392505050565b600080600080600061541b86614632565b935093509350935061542f84848484614a3b565b9695505050505050565b6000816154d8846fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116154ee5763b34b5c226000526004601cfd5b6154f7836155c5565b905081615596826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611612654576126516155ac836001615bad565b6fffffffffffffffffffffffffffffffff83169061566a565b60008119600183011681615659827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b6000806156f7847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261572557600080fd5b50813567ffffffffffffffff81111561573d57600080fd5b60208301915083602082850101111561575557600080fd5b9250929050565b600080600083850360a081121561577257600080fd5b608081121561578057600080fd5b50839250608084013567ffffffffffffffff81111561579e57600080fd5b6157aa86828701615713565b9497909650939450505050565b600080604083850312156157ca57600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810160038310615843577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b60008060006060848603121561585e57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561589b5760208185018101518683018201520161587f565b818111156158ad576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006126516020830184615875565b60006020828403121561590557600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461592e57600080fd5b50565b60006020828403121561594357600080fd5b81356150cf8161590c565b8035801515811461595e57600080fd5b919050565b6000806000806080858703121561597957600080fd5b8435935060208501359250604085013591506159976060860161594e565b905092959194509250565b6000602082840312156159b457600080fd5b81356fffffffffffffffffffffffffffffffff811681146150cf57600080fd5b600080600080600080608087890312156159ed57600080fd5b863595506159fd6020880161594e565b9450604087013567ffffffffffffffff80821115615a1a57600080fd5b615a268a838b01615713565b90965094506060890135915080821115615a3f57600080fd5b50615a4c89828a01615713565b979a9699509497509295939492505050565b63ffffffff841681528260208201526060604082015260006119006060830184615875565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060808284031215615ac457600080fd5b6040516080810181811067ffffffffffffffff82111715615b0e577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115615bc057615bc0615b7e565b500190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203615bf657615bf6615b7e565b5060010190565b600082821015615c0f57615c0f615b7e565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082615c5257615c52615c14565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615615c8f57615c8f615b7e565b500290565b600060208284031215615ca657600080fd5b81516150cf8161590c565b600060208284031215615cc357600080fd5b5051919050565b600067ffffffffffffffff808316818516808303821115615ced57615ced615b7e565b01949350505050565b600067ffffffffffffffff80831681851681830481118215151615615d1d57615d1d615b7e565b02949350505050565b600067ffffffffffffffff83811690831681811015615d4757615d47615b7e565b039392505050565b60008060408385031215615d6257600080fd5b505080516020909101519092909150565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615db457615db4615b7e565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615def57615def615b7e565b60008712925087820587128484161615615e0b57615e0b615b7e565b87850587128184161615615e2157615e21615b7e565b505050929093029392505050565b600082615e3e57615e3e615c14565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f800000000000000000000000000000000000000000000000000000000000000083141615615e9257615e92615b7e565b500590565b600082615ea657615ea6615c14565b500690565b60006fffffffffffffffffffffffffffffffff83811690831681811015615d4757615d47615b7e565b60006fffffffffffffffffffffffffffffffff808316818516808303821115615ced57615ced615b7e565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615f5c606083018789615eff565b8281036020840152615f6f818688615eff565b9150508260408301529695505050505050565b600060ff821660ff841680821015615f9c57615f9c615b7e565b90039392505050565b600060ff831680615fb857615fb8615c14565b8060ff8416069150509291505056fea2646970667358221220bc931b2ee20208c16632a7dcd9ed8f036d3c35b01291fc2486bcabad1f932bbb64736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000000103925193e3e89f87835bbdf3a813f60b2aa818a36bbe71cd5d8fd7e79f5e8afe0000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d4000000000000000000000000069470d6970cd2a006b84b1d4d70179c892cfce0100000000000000000000000027a6128f707de3d99f89bf09c35a4e0753e1b8080000000000000000000000004c8ba32a5dac2a720bb35cedb51d6b067d1042050000000000000000000000000000000000000000000000000000000000014a34000000000000000000000000037637067c1dbe6d2430616d8f54cb774daa59990000000000000000000000008b8c52b04a38f10515c52670fcb23f3c4c44474f\",\n        \"nonce\": \"0xb\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x503376\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xc3c95b71b3b100c8e837317a428c9fc2698b07883fbe50de54a29fff45dda4c3\",\n      \"transactionIndex\": \"0x1\",\n      \"blockHash\": \"0x8d77e783fb5d4b7250fd563b7a251d7309c6ed6d7026c9c77b096bc1ba7e0622\",\n      \"blockNumber\": \"0x786081\",\n      \"gasUsed\": \"0x4f7ad6\",\n      \"effectiveGasPrice\": \"0x26e7ff09e\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": null,\n      \"contractAddress\": \"0x9cd8b02e84df3ef61db3b34123206568490cb279\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xa1c567\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x445fa39934c8b95c530b60699d80cb6fe7f58712bf6d698c5224bff6c0c8e270\",\n      \"transactionIndex\": \"0x2\",\n      \"blockHash\": \"0x8d77e783fb5d4b7250fd563b7a251d7309c6ed6d7026c9c77b096bc1ba7e0622\",\n      \"blockNumber\": \"0x786081\",\n      \"gasUsed\": \"0x5191f1\",\n      \"effectiveGasPrice\": \"0x26e7ff09e\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": null,\n      \"contractAddress\": \"0xcca6a4916fa6de5d671cc77760a3b10b012cca16\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1741808714,\n  \"chain\": 11155111,\n  \"commit\": \"fe21b92\"\n}"
  },
  {
    "path": "sepolia/2025-03-12-upgrade-fault-proofs/records/DeployDisputeGames.s.sol/11155111/run-1743014041.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x9be0564bb34ff311914554d06cdf62fc3254837c8fa6aa1acecd9e399eb3b4c9\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"FaultDisputeGame\",\n      \"contractAddress\": \"0x76d7f861bbc8cbef20bad1a3f385eb95dd22306b\",\n      \"function\": null,\n      \"arguments\": [\n        \"0\",\n        \"0x0354eee87a1775d96afee8977ef6d5d6bd3612b256170952a01bf1051610ee01\",\n        \"73\",\n        \"30\",\n        \"10800\",\n        \"302400\",\n        \"0x69470D6970Cd2A006b84B1d4d70179c892cFCE01\",\n        \"0x489c2E5ebe0037bDb2DC039C5770757b8E54eA1F\",\n        \"0x4C8BA32A5DAC2A720bb35CeDB51D6B067D104205\",\n        \"84532\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"gas\": \"0x674a99\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6101c06040523480156200001257600080fd5b50604051620064b1380380620064b1833981016040819052620000359162000435565b620000436001607e6200050c565b60ff168811156200006757604051633beff19960e11b815260040160405180910390fd5b600019871480620000845750876200008188600162000532565b10155b15620000a35760405163e62ccf3960e01b815260040160405180910390fd5b6002871015620000c65760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b038016846001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200010f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013591906200054d565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000173573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019991906200056d565b1115620001b95760405163b4e1243360e01b815260040160405180910390fd5b6000620001da876001600160401b0316620003e260201b62000c891760201c565b620001f0906001600160401b0316600262000587565b90506000856001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000233573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025991906200054d565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000297573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002bd91906200056d565b620002dc896001600160401b0316620003e260201b62000c891760201c565b6001600160401b0316620002f1919062000532565b905060006200030c8383620003e560201b62003a261760201c565b90506001600160401b03811115620003375760405163235dfb2b60e21b815260040160405180910390fd5b62000356886001600160401b0316620003e260201b62000c891760201c565b6001600160401b0316816001600160401b03161115620003895760405163235dfb2b60e21b815260040160405180910390fd5b50505063ffffffff9099166101205260809790975260a09590955260c0939093526001600160401b039182166101a0521660e0526001600160a01b039081166101005290811661014052166101605261018052620005a9565b90565b6000818311620003f65781620003f8565b825b9392505050565b80516001600160401b03811681146200041757600080fd5b919050565b6001600160a01b03811681146200043257600080fd5b50565b6000806000806000806000806000806101408b8d0312156200045657600080fd5b8a5163ffffffff811681146200046b57600080fd5b809a505060208b0151985060408b0151975060608b015196506200049260808c01620003ff565b9550620004a260a08c01620003ff565b945060c08b0151620004b4816200041c565b60e08c0151909450620004c7816200041c565b6101008c0151909350620004db816200041c565b809250506101208b015190509295989b9194979a5092959850565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff841680821015620005295762000529620004f6565b90039392505050565b60008219821115620005485762000548620004f6565b500190565b6000602082840312156200056057600080fd5b8151620003f8816200041c565b6000602082840312156200058057600080fd5b5051919050565b6000816000190483118215151615620005a457620005a4620004f6565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051615d826200072f600039600081816106bb01528181611fbb015281816120260152612059015260008181610a1e01526139390152600081816106130152818161178a01526125e80152600081816105270152818161194c01528181612480015281816129ea0152613e1301526000818161088d015281816125a701526139c80152600081816104b401528181611eba015281816132420152613597015260008181610a7101528181610f6001528181611e2a01528181612089015281816120e801528181612bf60152612c38015260008181610aa401528181611c7301528181611d9901528181611ff7015281816130950152818161379601528181613f0a015281816146270152818161475501528181614856015261492b015260008181610b4b01528181611d3c01528181611e8e01528181612d0601528181612d8c01528181612f8b01526130b601526000818161078601526131540152615d826000f3fe6080604052600436106102f25760003560e01c806370872aa51161018f578063c6f0308c116100e1578063ec5e63081161008a578063fa24f74311610064578063fa24f74314610b18578063fa315aa914610b3c578063fe2bbeb214610b6f57600080fd5b8063ec5e630814610a95578063eff0f59214610ac8578063f8f43ff614610af857600080fd5b8063d6ae3cd5116100bb578063d6ae3cd514610a0f578063d8cc1a3c14610a42578063dabd396d14610a6257600080fd5b8063c6f0308c14610937578063cf09e0d0146109c1578063d5d44d80146109e257600080fd5b80638d450a9511610143578063bcef3b551161011d578063bcef3b55146108b7578063bd8da956146108f7578063c395e1ca1461091757600080fd5b80638d450a9514610777578063a445ece6146107aa578063bbdc02db1461087657600080fd5b80638129fc1c116101745780638129fc1c1461071a5780638980e0cc146107225780638b85902b1461073757600080fd5b806370872aa5146106f25780637b0f0adc1461070757600080fd5b80633fc8cef3116102485780635c0cba33116101fc5780636361506d116101d65780636361506d1461066c5780636b6716c0146106ac5780636f034409146106df57600080fd5b80635c0cba3314610604578063609d33341461063757806360e274641461064c57600080fd5b806354fd4d501161022d57806354fd4d501461055e57806357da950e146105b45780635a5fa2d9146105e457600080fd5b80633fc8cef314610518578063472777c61461054b57600080fd5b80632810e1d6116102aa57806337b1b2291161028457806337b1b229146104655780633a768463146104a55780633e3ac912146104d857600080fd5b80632810e1d6146103de5780632ad69aeb146103f357806330dbe5701461041357600080fd5b806319effeb4116102db57806319effeb414610339578063200d2ed21461038457806325fc2ace146103bf57600080fd5b806301935130146102f757806303c2924d14610319575b600080fd5b34801561030357600080fd5b506103176103123660046154e1565b610b9f565b005b34801561032557600080fd5b5061031761033436600461553c565b610ec0565b34801561034557600080fd5b506000546103669068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b34801561039057600080fd5b506000546103b290700100000000000000000000000000000000900460ff1681565b60405161037b919061558d565b3480156103cb57600080fd5b506008545b60405190815260200161037b565b3480156103ea57600080fd5b506103b2611566565b3480156103ff57600080fd5b506103d061040e36600461553c565b61180b565b34801561041f57600080fd5b506001546104409073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161037b565b34801561047157600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90033560601c610440565b3480156104b157600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610440565b3480156104e457600080fd5b50600054610508907201000000000000000000000000000000000000900460ff1681565b604051901515815260200161037b565b34801561052457600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610440565b6103176105593660046155ce565b611841565b34801561056a57600080fd5b506105a76040518060400160405280600581526020017f312e332e3100000000000000000000000000000000000000000000000000000081525081565b60405161037b9190615665565b3480156105c057600080fd5b506008546009546105cf919082565b6040805192835260208301919091520161037b565b3480156105f057600080fd5b506103d06105ff366004615678565b611853565b34801561061057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610440565b34801561064357600080fd5b506105a761188d565b34801561065857600080fd5b506103176106673660046156b6565b61189b565b34801561067857600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003603401356103d0565b3480156106b857600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610366565b6103176106ed3660046156e8565b611a42565b3480156106fe57600080fd5b506009546103d0565b6103176107153660046155ce565b61251b565b610317612528565b34801561072e57600080fd5b506002546103d0565b34801561074357600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401356103d0565b34801561078357600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b3480156107b657600080fd5b506108226107c5366004615678565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046fffffffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff1684565b60408051941515855263ffffffff90931660208501526fffffffffffffffffffffffffffffffff9091169183019190915273ffffffffffffffffffffffffffffffffffffffff16606082015260800161037b565b34801561088257600080fd5b5060405163ffffffff7f000000000000000000000000000000000000000000000000000000000000000016815260200161037b565b3480156108c357600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356103d0565b34801561090357600080fd5b50610366610912366004615678565b612a81565b34801561092357600080fd5b506103d0610932366004615727565b612c60565b34801561094357600080fd5b50610957610952366004615678565b612e43565b6040805163ffffffff909816885273ffffffffffffffffffffffffffffffffffffffff968716602089015295909416948601949094526fffffffffffffffffffffffffffffffff9182166060860152608085015291821660a08401521660c082015260e00161037b565b3480156109cd57600080fd5b506000546103669067ffffffffffffffff1681565b3480156109ee57600080fd5b506103d06109fd3660046156b6565b60036020526000908152604090205481565b348015610a1b57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b348015610a4e57600080fd5b50610317610a5d366004615759565b612eda565b348015610a6e57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610366565b348015610aa157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b348015610ad457600080fd5b50610508610ae3366004615678565b60046020526000908152604090205460ff1681565b348015610b0457600080fd5b50610317610b133660046155ce565b613509565b348015610b2457600080fd5b50610b2d6139c6565b60405161037b939291906157e3565b348015610b4857600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b348015610b7b57600080fd5b50610508610b8a366004615678565b60066020526000908152604090205460ff1681565b60008054700100000000000000000000000000000000900460ff166002811115610bcb57610bcb61555e565b14610c02576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610c55576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c8c367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013590565b90565b610ca3610c9e36869003860186615837565b613a40565b14610cda576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610cef9291906158c4565b604051809103902014610d2e576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d77610d7284848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613a9c92505050565b613b09565b90506000610d9e82600881518110610d9157610d916158d4565b6020026020010151613cbf565b9050602081511115610ddc576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401358103610e51576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054700100000000000000000000000000000000900460ff166002811115610eec57610eec61555e565b14610f23576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110610f3857610f386158d4565b906000526020600020906005020190506000610f5384612a81565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610fbc576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611005576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561102257508515155b156110bd578354640100000000900473ffffffffffffffffffffffffffffffffffffffff16600081156110555781611071565b600186015473ffffffffffffffffffffffffffffffffffffffff165b905061107d8187613d73565b50505060009485525050600660205250506040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046fffffffffffffffffffffffffffffffff16938101939093526001015473ffffffffffffffffffffffffffffffffffffffff166060830152611160576fffffffffffffffffffffffffffffffff6040820152600181526000869003611160578195505b600086826020015163ffffffff166111789190615932565b90506000838211611189578161118b565b835b602084015190915063ffffffff165b818110156112d75760008682815481106111b6576111b66158d4565b6000918252602080832090910154808352600690915260409091205490915060ff1661120e576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028281548110611223576112236158d4565b600091825260209091206005909102018054909150640100000000900473ffffffffffffffffffffffffffffffffffffffff161580156112805750600481015460408701516fffffffffffffffffffffffffffffffff9182169116115b156112c257600181015473ffffffffffffffffffffffffffffffffffffffff16606087015260048101546fffffffffffffffffffffffffffffffff1660408701525b505080806112cf9061594a565b91505061119a565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006fffffffffffffffffffffffffffffffff909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9093169290921790915584900361155b57606083015160008a815260066020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558915801561145757506000547201000000000000000000000000000000000000900460ff165b156114cc5760015473ffffffffffffffffffffffffffffffffffffffff1661147f818a613d73565b885473ffffffffffffffffffffffffffffffffffffffff909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611559565b61151373ffffffffffffffffffffffffffffffffffffffff8216156114f1578161150d565b600189015473ffffffffffffffffffffffffffffffffffffffff165b89613d73565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff1664010000000073ffffffffffffffffffffffffffffffffffffffff8316021788555b505b505050505050505050565b600080600054700100000000000000000000000000000000900460ff1660028111156115945761159461555e565b146115cb576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff1661162f576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008154811061165b5761165b6158d4565b6000918252602090912060059091020154640100000000900473ffffffffffffffffffffffffffffffffffffffff1614611696576001611699565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff9091161770010000000000000000000000000000000083600281111561174a5761174a61555e565b02179055600281111561175f5761175f61555e565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a27f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663838c2d1e6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156117f057600080fd5b505af1158015611804573d6000803e3d6000fd5b5050505090565b6005602052816000526040600020818154811061182757600080fd5b90600052602060002001600091509150505481565b905090565b61184e8383836001611a42565b505050565b6000818152600760209081526040808320600590925282208054825461188490610100900463ffffffff1682615982565b95945050505050565b606061183c60546020613e74565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260036020526040812080549082905590819003611900576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff3fef3a300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063f3fef3a390604401600060405180830381600087803b15801561199057600080fd5b505af11580156119a4573d6000803e3d6000fd5b5050505060008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611a02576040519150601f19603f3d011682016040523d82523d6000602084013e611a07565b606091505b505090508061184e576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054700100000000000000000000000000000000900460ff166002811115611a6e57611a6e61555e565b14611aa5576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028481548110611aba57611aba6158d4565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff8116845273ffffffffffffffffffffffffffffffffffffffff64010000000090910481169484019490945260018101549093169082015260028201546fffffffffffffffffffffffffffffffff908116606083015260038301546080830181905260049093015480821660a084015270010000000000000000000000000000000090041660c082015291508514611ba1576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156fffffffffffffffffffffffffffffffff83161760011b90506000611c61826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580611c9c5750611c997f00000000000000000000000000000000000000000000000000000000000000006002615932565b81145b8015611ca6575084155b15611cdd576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015611d03575086155b15611d3a576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115611d94576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611dbf7f00000000000000000000000000000000000000000000000000000000000000006001615932565b8103611dd157611dd186888588613ec6565b34611ddb83612c60565b14611e12576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611e1d88612a81565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603611e85576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611eb260017f0000000000000000000000000000000000000000000000000000000000000000615982565b8303611ff0577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f479190615999565b73ffffffffffffffffffffffffffffffffffffffff1663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fb591906159b6565b611fe9907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159cf565b9050612083565b61201b60017f0000000000000000000000000000000000000000000000000000000000000000615982565b830361205657611fe97f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff1660026159fb565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b6120b7817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615a2b565b67ffffffffffffffff166120d28367ffffffffffffffff1690565b67ffffffffffffffff16111561211957612116817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615a2b565b91505b6000604083901b421760008a8152608087901b6fffffffffffffffffffffffffffffffff8d1617602052604081209192509060008181526004602052604090205490915060ff1615612197576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001346fffffffffffffffffffffffffffffffff1681526020018c8152602001886fffffffffffffffffffffffffffffffff168152602001846fffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160020160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506080820151816003015560a08201518160040160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060c08201518160040160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505050600560008c8152602001908152602001600020600160028054905061242d9190615982565b81546001810183556000928352602083200155604080517fd0e30db0000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263d0e30db09234926004808301939282900301818588803b1580156124c557600080fd5b505af11580156124d9573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b61184e8383836000611a42565b60005471010000000000000000000000000000000000900460ff161561257a576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f7258a80700000000000000000000000000000000000000000000000000000000815263ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637258a807906024016040805180830381865afa15801561262e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126529190615a54565b90925090508161268e576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146126c157639824bdab6000526004601cfd5b80367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401351161275b576040517ff40239db000000000000000000000000000000000000000000000000000000008152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff8082526000602083018181527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe369081013560f01c90038035606090811c868801908152346fffffffffffffffffffffffffffffffff81811693890193845260149094013560808901908152600160a08a0181815242871660c08c019081526002805493840181558a529a5160059092027f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace81018054995173ffffffffffffffffffffffffffffffffffffffff908116640100000000027fffffffffffffffff000000000000000000000000000000000000000000000000909b1694909c16939093179890981790915592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf87018054918a167fffffffffffffffffffffffff000000000000000000000000000000000000000090921691909117905592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0860180549186167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090921691909117905591517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015551955182167001000000000000000000000000000000000295909116949094177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad29091015580547fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff167101000000000000000000000000000000000017815583517fd0e30db000000000000000000000000000000000000000000000000000000000815293517f00000000000000000000000000000000000000000000000000000000000000009092169363d0e30db093926004828101939282900301818588803b158015612a3057600080fd5b505af1158015612a44573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050505050565b600080600054700100000000000000000000000000000000900460ff166002811115612aaf57612aaf61555e565b14612ae6576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110612afb57612afb6158d4565b600091825260208220600590910201805490925063ffffffff90811614612b6a57815460028054909163ffffffff16908110612b3957612b396158d4565b906000526020600020906005020160040160109054906101000a90046fffffffffffffffffffffffffffffffff1690505b6004820154600090612ba290700100000000000000000000000000000000900467ffffffffffffffff165b67ffffffffffffffff1690565b612bb69067ffffffffffffffff1642615982565b612bd5612b95846fffffffffffffffffffffffffffffffff1660401c90565b67ffffffffffffffff16612be99190615932565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611612c365780611884565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612cff836fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115612d5e576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000612d798383615aa7565b9050670de0b6b3a76400006000612db0827f0000000000000000000000000000000000000000000000000000000000000000615abb565b90506000612dce612dc9670de0b6b3a764000086615abb565b614077565b90506000612ddc84846142d2565b90506000612dea8383614321565b90506000612df78261434f565b90506000612e1682612e11670de0b6b3a76400008f615abb565b614537565b90506000612e248b83614321565b9050612e30818d615abb565b9f9e505050505050505050505050505050565b60028181548110612e5357600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff8416955064010000000090930473ffffffffffffffffffffffffffffffffffffffff908116949216926fffffffffffffffffffffffffffffffff91821692918082169170010000000000000000000000000000000090041687565b60008054700100000000000000000000000000000000900460ff166002811115612f0657612f0661555e565b14612f3d576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028781548110612f5257612f526158d4565b6000918252602082206005919091020160048101549092506fffffffffffffffffffffffffffffffff16908715821760011b9050612fb17f00000000000000000000000000000000000000000000000000000000000000006001615932565b61304d826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1614613087576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080891561317e576130da7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000615982565b6001901b6130f9846fffffffffffffffffffffffffffffffff16614568565b6fffffffffffffffffffffffffffffffff166131159190615af8565b156131525761314961313a60016fffffffffffffffffffffffffffffffff8716615b0c565b865463ffffffff166000614607565b60030154613174565b7f00000000000000000000000000000000000000000000000000000000000000005b91508490506131a8565b600385015491506131a561313a6fffffffffffffffffffffffffffffffff86166001615b35565b90505b600882901b60088a8a6040516131bf9291906158c4565b6040518091039020901b14613200576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061320b8c6146eb565b9050600061321a836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e14ced3290613294908f908f908f908f908a90600401615ba9565b6020604051808303816000875af11580156132b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132d791906159b6565b600485015491149150600090600290613382906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61341e896fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6134289190615be3565b6134329190615c06565b60ff161590508115158103613473576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8754640100000000900473ffffffffffffffffffffffffffffffffffffffff16156134ca576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008054700100000000000000000000000000000000900460ff1660028111156135355761353561555e565b1461356c576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060008061357b8661471a565b9350935093509350600061359185858585614b23565b905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613600573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136249190615999565b90506001890361371c5773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a84613680367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156136f2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061371691906159b6565b5061155b565b600289036137485773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a8489613680565b600389036137745773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a8487613680565b600489036138fb5760006137ba6fffffffffffffffffffffffffffffffff85167f0000000000000000000000000000000000000000000000000000000000000000614bdd565b6009546137c79190615932565b6137d2906001615932565b9050367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135811061383b57367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036054013561383d565b805b905073ffffffffffffffffffffffffffffffffffffffff82166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af11580156138d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138f491906159b6565b505061155b565b60058903613994576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b6044820152600860648201526084810188905273ffffffffffffffffffffffffffffffffffffffff8216906352f0f3ad9060a4016136d3565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356060613a1f61188d565b9050909192565b6000818311613a355781613a37565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001613a7f949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003613aeb576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000613b1985614c8b565b919450925090506001816001811115613b3457613b3461555e565b14613b6b576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451613b778385615932565b14613bae576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b6040805180820190915260008082526020820152815260200190600190039081613bc55790505093506000835b8651811015613cb357600080613c386040518060400160405280858c60000151613c1c9190615982565b8152602001858c60200151613c319190615932565b9052614c8b565b509150915060405180604001604052808383613c549190615932565b8152602001848b60200151613c699190615932565b815250888581518110613c7e57613c7e6158d4565b6020908102919091010152613c94600185615932565b9350613ca08183615932565b613caa9084615932565b92505050613bf2565b50845250919392505050565b60606000806000613ccf85614c8b565b919450925090506000816001811115613cea57613cea61555e565b14613d21576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613d2b8284615932565b855114613d64576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61188485602001518484615129565b600281015473ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040812080546fffffffffffffffffffffffffffffffff90931692839290613dc2908490615932565b90915550506040517f7eee288d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018390527f00000000000000000000000000000000000000000000000000000000000000001690637eee288d90604401600060405180830381600087803b158015613e5757600080fd5b505af1158015613e6b573d6000803e3d6000fd5b50505050505050565b604051818152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b6000613ee56fffffffffffffffffffffffffffffffff84166001615b35565b90506000613ef582866001614607565b9050600086901a8380613fe15750613f2e60027f0000000000000000000000000000000000000000000000000000000000000000615af8565b6004830154600290613fd2906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b613fdc9190615c06565b60ff16145b156140395760ff811660011480613ffb575060ff81166002145b614034576040517ff40239db00000000000000000000000000000000000000000000000000000000815260048101889052602401612752565b613e6b565b60ff811615613e6b576040517ff40239db00000000000000000000000000000000000000000000000000000000815260048101889052602401612752565b6fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b17600082136140d657631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261430f57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b60008160001904831182021561433f5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d7821361437d57919050565b680755bf798b4a1bf1e5821261439b5763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000613a37670de0b6b3a76400008361454f86614077565b6145599190615c28565b6145639190615ce4565b61434f565b6000806145f5837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b600080826146505761464b6fffffffffffffffffffffffffffffffff86167f00000000000000000000000000000000000000000000000000000000000000006151be565b61466b565b61466b856fffffffffffffffffffffffffffffffff1661534a565b905060028481548110614680576146806158d4565b906000526020600020906005020191505b60048201546fffffffffffffffffffffffffffffffff8281169116146146e357815460028054909163ffffffff169081106146ce576146ce6158d4565b90600052602060002090600502019150614691565b509392505050565b60008060008060006146fc8661471a565b935093509350935061471084848484614b23565b9695505050505050565b600080600080600085905060006002828154811061473a5761473a6158d4565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614811906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161484b576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090614912906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561498757825463ffffffff166149517f00000000000000000000000000000000000000000000000000000000000000006001615932565b830361495b578391505b6002818154811061496e5761496e6158d4565b906000526020600020906005020193508094505061484f565b600481810154908401546fffffffffffffffffffffffffffffffff91821691166000816fffffffffffffffffffffffffffffffff166149f06149db856fffffffffffffffffffffffffffffffff1660011c90565b6fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff161490508015614abf576000614a28836fffffffffffffffffffffffffffffffff16614568565b6fffffffffffffffffffffffffffffffff161115614a93576000614a6a614a6260016fffffffffffffffffffffffffffffffff8616615b0c565b896001614607565b6003810154600490910154909c506fffffffffffffffffffffffffffffffff169a50614a999050565b6008549a505b600386015460048701549099506fffffffffffffffffffffffffffffffff169750614b15565b6000614ae1614a626fffffffffffffffffffffffffffffffff85166001615b35565b6003808901546004808b015492840154930154909e506fffffffffffffffffffffffffffffffff9182169d50919b50169850505b505050505050509193509193565b60006fffffffffffffffffffffffffffffffff841615614b905760408051602081018790526fffffffffffffffffffffffffffffffff8087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611884565b8282604051602001614bbe9291909182526fffffffffffffffffffffffffffffffff16602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614c6a847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614cce576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614cf3576000600160009450945094505050615122565b60b78111614e09576000614d08608083615982565b905080876000015111614d47576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614dbf57507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614df6576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250615122915050565b60bf8111614f67576000614e1e60b783615982565b905080876000015111614e5d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614ebf576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614f07576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f118184615932565b895111614f4a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f55836001615932565b97509550600094506151229350505050565b60f78111614fcc576000614f7c60c083615982565b905080876000015111614fbb576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250615122915050565b6000614fd960f783615982565b905080876000015111615018576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff0000000000000000000000000000000000000000000000000000000000000016600081900361507a576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c603781116150c2576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6150cc8184615932565b895111615105576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b615110836001615932565b97509550600194506151229350505050565b9193909250565b60608167ffffffffffffffff81111561514457615144615808565b6040519080825280601f01601f19166020018201604052801561516e576020820181803683370190505b50905081156151b75760006151838486615932565b90506020820160005b848110156151a457828101518282015260200161518c565b848111156151b3576000858301525b5050505b9392505050565b60008161525d846fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116152735763b34b5c226000526004601cfd5b61527c8361534a565b90508161531b826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611613a3a57613a37615331836001615932565b6fffffffffffffffffffffffffffffffff8316906153ef565b600081196001830116816153de827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061547c847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f8401126154aa57600080fd5b50813567ffffffffffffffff8111156154c257600080fd5b6020830191508360208285010111156154da57600080fd5b9250929050565b600080600083850360a08112156154f757600080fd5b608081121561550557600080fd5b50839250608084013567ffffffffffffffff81111561552357600080fd5b61552f86828701615498565b9497909650939450505050565b6000806040838503121561554f57600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60208101600383106155c8577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6000806000606084860312156155e357600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561562057602081850181015186830182015201615604565b81811115615632576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000613a3760208301846155fa565b60006020828403121561568a57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146156b357600080fd5b50565b6000602082840312156156c857600080fd5b81356151b781615691565b803580151581146156e357600080fd5b919050565b600080600080608085870312156156fe57600080fd5b84359350602085013592506040850135915061571c606086016156d3565b905092959194509250565b60006020828403121561573957600080fd5b81356fffffffffffffffffffffffffffffffff811681146151b757600080fd5b6000806000806000806080878903121561577257600080fd5b86359550615782602088016156d3565b9450604087013567ffffffffffffffff8082111561579f57600080fd5b6157ab8a838b01615498565b909650945060608901359150808211156157c457600080fd5b506157d189828a01615498565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061188460608301846155fa565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006080828403121561584957600080fd5b6040516080810181811067ffffffffffffffff82111715615893577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000821982111561594557615945615903565b500190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361597b5761597b615903565b5060010190565b60008282101561599457615994615903565b500390565b6000602082840312156159ab57600080fd5b81516151b781615691565b6000602082840312156159c857600080fd5b5051919050565b600067ffffffffffffffff8083168185168083038211156159f2576159f2615903565b01949350505050565b600067ffffffffffffffff80831681851681830481118215151615615a2257615a22615903565b02949350505050565b600067ffffffffffffffff83811690831681811015615a4c57615a4c615903565b039392505050565b60008060408385031215615a6757600080fd5b505080516020909101519092909150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082615ab657615ab6615a78565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615615af357615af3615903565b500290565b600082615b0757615b07615a78565b500690565b60006fffffffffffffffffffffffffffffffff83811690831681811015615a4c57615a4c615903565b60006fffffffffffffffffffffffffffffffff8083168185168083038211156159f2576159f2615903565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615bbd606083018789615b60565b8281036020840152615bd0818688615b60565b9150508260408301529695505050505050565b600060ff821660ff841680821015615bfd57615bfd615903565b90039392505050565b600060ff831680615c1957615c19615a78565b8060ff84160691505092915050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615c6957615c69615903565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615ca457615ca4615903565b60008712925087820587128484161615615cc057615cc0615903565b87850587128184161615615cd657615cd6615903565b505050929093029392505050565b600082615cf357615cf3615a78565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f800000000000000000000000000000000000000000000000000000000000000083141615615d4757615d47615903565b50059056fea264697066735822122009f1e45c4f315024e4f04a5b89d32ce43577e96a7582781ac417a31839b953d364736f6c634300080f003300000000000000000000000000000000000000000000000000000000000000000354eee87a1775d96afee8977ef6d5d6bd3612b256170952a01bf1051610ee010000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d4000000000000000000000000069470d6970cd2a006b84b1d4d70179c892cfce01000000000000000000000000489c2e5ebe0037bdb2dc039c5770757b8e54ea1f0000000000000000000000004c8ba32a5dac2a720bb35cedb51d6b067d1042050000000000000000000000000000000000000000000000000000000000014a34\",\n        \"nonce\": \"0x2a\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xa38f8816db0369338432333bcb42b82683eabe981add85a727e15053ef49bfe7\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"PermissionedDisputeGame\",\n      \"contractAddress\": \"0x58d465e2e31b811fdbbe5461627a0a88c3c1be2f\",\n      \"function\": null,\n      \"arguments\": [\n        \"1\",\n        \"0x0354eee87a1775d96afee8977ef6d5d6bd3612b256170952a01bf1051610ee01\",\n        \"73\",\n        \"30\",\n        \"10800\",\n        \"302400\",\n        \"0x69470D6970Cd2A006b84B1d4d70179c892cFCE01\",\n        \"0x27A6128F707de3d99F89Bf09c35a4e0753E1B808\",\n        \"0x4C8BA32A5DAC2A720bb35CeDB51D6B067D104205\",\n        \"84532\",\n        \"0x037637067c1DbE6d2430616d8f54Cb774Daa5999\",\n        \"0x8b8c52B04A38f10515C52670fcb23f3C4C44474F\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"gas\": \"0x6a01f8\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6102006040523480156200001257600080fd5b50604051620067b4380380620067b4833981016040819052620000359162000468565b8b8b8b8b8b8b8b8b8b8b6200004d6001607e6200055b565b60ff168811156200007157604051633beff19960e11b815260040160405180910390fd5b6000198714806200008e5750876200008b88600162000581565b10155b15620000ad5760405163e62ccf3960e01b815260040160405180910390fd5b6002871015620000d05760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b038016846001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000119573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013f91906200059c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200017d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a39190620005bc565b1115620001c35760405163b4e1243360e01b815260040160405180910390fd5b6000620001e4876001600160401b03166200040860201b62000d051760201c565b620001fa906001600160401b03166002620005d6565b90506000856001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200023d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026391906200059c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002a1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c79190620005bc565b620002e6896001600160401b03166200040860201b62000d051760201c565b6001600160401b0316620002fb919062000581565b905060006200031683836200040b60201b620026401760201c565b90506001600160401b03811115620003415760405163235dfb2b60e21b815260040160405180910390fd5b62000360886001600160401b03166200040860201b62000d051760201c565b6001600160401b0316816001600160401b03161115620003935760405163235dfb2b60e21b815260040160405180910390fd5b50505063ffffffff9099166101205260809790975260a09590955260c0939093526001600160401b039182166101a0521660e0526001600160a01b03908116610100529081166101405290811661016052610180919091529182166101c052166101e05250620005f898505050505050505050565b90565b60008183116200041c57816200041e565b825b9392505050565b80516001600160401b03811681146200043d57600080fd5b919050565b6001600160a01b03811681146200045857600080fd5b50565b80516200043d8162000442565b6000806000806000806000806000806000806101808d8f0312156200048c57600080fd5b8c5163ffffffff81168114620004a157600080fd5b809c505060208d01519a5060408d0151995060608d01519850620004c860808e0162000425565b9750620004d860a08e0162000425565b9650620004e860c08e016200045b565b9550620004f860e08e016200045b565b9450620005096101008e016200045b565b93506101208d01519250620005226101408e016200045b565b9150620005336101608e016200045b565b90509295989b509295989b509295989b565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168082101562000578576200057862000545565b90039392505050565b6000821982111562000597576200059762000545565b500190565b600060208284031215620005af57600080fd5b81516200041e8162000442565b600060208284031215620005cf57600080fd5b5051919050565b6000816000190483118215151615620005f357620005f362000545565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051615ffd620007b76000396000818161058301528181611b1501526120b50152600081816108ce01528181611ad601528181611ba4015261207601526000818161070401528181613059015281816130c401526130f7015260008181610a9a015261255301526000818161065c01528181611806015261367901526000818161053d015281816119c801528181612a2d0152818161351e0152613a7b015260008181610909015281816125e201526136380152600081816104ca015281816121b101528181612f58015261436b015260008181610aed01528181610fdc01528181611d7a01528181611dbc01528181612ec8015281816131270152613186015260008181610b20015281816123b001528181612d1101528181612e3701528181613095015281816141be0152818161466d0152818161476e015281816148430152818161511a0152615346015260008181610bc701528181611e8a01528181611f1001528181612dda01528181612f2c015281816140b401526141df0152600081816107cf015261427d0152615ffd6000f3fe6080604052600436106103085760003560e01c806370872aa51161019a578063c6f0308c116100e1578063ec5e63081161008a578063fa24f74311610064578063fa24f74314610b94578063fa315aa914610bb8578063fe2bbeb214610beb57600080fd5b8063ec5e630814610b11578063eff0f59214610b44578063f8f43ff614610b7457600080fd5b8063d6ae3cd5116100bb578063d6ae3cd514610a8b578063d8cc1a3c14610abe578063dabd396d14610ade57600080fd5b8063c6f0308c146109b3578063cf09e0d014610a3d578063d5d44d8014610a5e57600080fd5b8063a445ece611610143578063bcef3b551161011d578063bcef3b5514610933578063bd8da95614610973578063c395e1ca1461099357600080fd5b8063a445ece6146107f3578063a8e4fb90146108bf578063bbdc02db146108f257600080fd5b80638980e0cc116101745780638980e0cc1461076b5780638b85902b146107805780638d450a95146107c057600080fd5b806370872aa51461073b5780637b0f0adc146107505780638129fc1c1461076357600080fd5b80633fc8cef31161025e5780635c0cba33116102075780636361506d116101e15780636361506d146106b55780636b6716c0146106f55780636f0344091461072857600080fd5b80635c0cba331461064d578063609d33341461068057806360e274641461069557600080fd5b806354fd4d501161023857806354fd4d50146105a757806357da950e146105fd5780635a5fa2d91461062d57600080fd5b80633fc8cef31461052e578063472777c614610561578063534db0e21461057457600080fd5b80632810e1d6116102c057806337b1b2291161029a57806337b1b2291461047b5780633a768463146104bb5780633e3ac912146104ee57600080fd5b80632810e1d6146103f45780632ad69aeb1461040957806330dbe5701461042957600080fd5b806319effeb4116102f157806319effeb41461034f578063200d2ed21461039a57806325fc2ace146103d557600080fd5b8063019351301461030d57806303c2924d1461032f575b600080fd5b34801561031957600080fd5b5061032d61032836600461575c565b610c1b565b005b34801561033b57600080fd5b5061032d61034a3660046157b7565b610f3c565b34801561035b57600080fd5b5060005461037c9068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103a657600080fd5b506000546103c890700100000000000000000000000000000000900460ff1681565b6040516103919190615808565b3480156103e157600080fd5b506008545b604051908152602001610391565b34801561040057600080fd5b506103c86115e2565b34801561041557600080fd5b506103e66104243660046157b7565b611887565b34801561043557600080fd5b506001546104569073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610391565b34801561048757600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90033560601c610456565b3480156104c757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156104fa57600080fd5b5060005461051e907201000000000000000000000000000000000000900460ff1681565b6040519015158152602001610391565b34801561053a57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b61032d61056f366004615849565b6118bd565b34801561058057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156105b357600080fd5b506105f06040518060400160405280600581526020017f312e332e3100000000000000000000000000000000000000000000000000000081525081565b60405161039191906158e0565b34801561060957600080fd5b50600854600954610618919082565b60408051928352602083019190915201610391565b34801561063957600080fd5b506103e66106483660046158f3565b6118cf565b34801561065957600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b34801561068c57600080fd5b506105f0611909565b3480156106a157600080fd5b5061032d6106b0366004615931565b611917565b3480156106c157600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003603401356103e6565b34801561070157600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061037c565b61032d610736366004615963565b611abe565b34801561074757600080fd5b506009546103e6565b61032d61075e366004615849565b611b7f565b61032d611b8c565b34801561077757600080fd5b506002546103e6565b34801561078c57600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401356103e6565b3480156107cc57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b3480156107ff57600080fd5b5061086b61080e3660046158f3565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046fffffffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff1684565b60408051941515855263ffffffff90931660208501526fffffffffffffffffffffffffffffffff9091169183019190915273ffffffffffffffffffffffffffffffffffffffff166060820152608001610391565b3480156108cb57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156108fe57600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610391565b34801561093f57600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356103e6565b34801561097f57600080fd5b5061037c61098e3660046158f3565b611c05565b34801561099f57600080fd5b506103e66109ae3660046159a2565b611de4565b3480156109bf57600080fd5b506109d36109ce3660046158f3565b611fc7565b6040805163ffffffff909816885273ffffffffffffffffffffffffffffffffffffffff968716602089015295909416948601949094526fffffffffffffffffffffffffffffffff9182166060860152608085015291821660a08401521660c082015260e001610391565b348015610a4957600080fd5b5060005461037c9067ffffffffffffffff1681565b348015610a6a57600080fd5b506103e6610a79366004615931565b60036020526000908152604090205481565b348015610a9757600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610aca57600080fd5b5061032d610ad93660046159d4565b61205e565b348015610aea57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061037c565b348015610b1d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610b5057600080fd5b5061051e610b5f3660046158f3565b60046020526000908152604090205460ff1681565b348015610b8057600080fd5b5061032d610b8f366004615849565b612123565b348015610ba057600080fd5b50610ba96125e0565b60405161039193929190615a5e565b348015610bc457600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610bf757600080fd5b5061051e610c063660046158f3565b60066020526000908152604090205460ff1681565b60008054700100000000000000000000000000000000900460ff166002811115610c4757610c476157d9565b14610c7e576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610cd1576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d08367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013590565b90565b610d1f610d1a36869003860186615ab2565b61265a565b14610d56576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610d6b929190615b3f565b604051809103902014610daa576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610df3610dee84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506126b692505050565b612723565b90506000610e1a82600881518110610e0d57610e0d615b4f565b60200260200101516128d9565b9050602081511115610e58576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401358103610ecd576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054700100000000000000000000000000000000900460ff166002811115610f6857610f686157d9565b14610f9f576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110610fb457610fb4615b4f565b906000526020600020906005020190506000610fcf84611c05565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015611038576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611081576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561109e57508515155b15611139578354640100000000900473ffffffffffffffffffffffffffffffffffffffff16600081156110d157816110ed565b600186015473ffffffffffffffffffffffffffffffffffffffff165b90506110f9818761298d565b50505060009485525050600660205250506040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046fffffffffffffffffffffffffffffffff16938101939093526001015473ffffffffffffffffffffffffffffffffffffffff1660608301526111dc576fffffffffffffffffffffffffffffffff60408201526001815260008690036111dc578195505b600086826020015163ffffffff166111f49190615bad565b905060008382116112055781611207565b835b602084015190915063ffffffff165b8181101561135357600086828154811061123257611232615b4f565b6000918252602080832090910154808352600690915260409091205490915060ff1661128a576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002828154811061129f5761129f615b4f565b600091825260209091206005909102018054909150640100000000900473ffffffffffffffffffffffffffffffffffffffff161580156112fc5750600481015460408701516fffffffffffffffffffffffffffffffff9182169116115b1561133e57600181015473ffffffffffffffffffffffffffffffffffffffff16606087015260048101546fffffffffffffffffffffffffffffffff1660408701525b5050808061134b90615bc5565b915050611216565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006fffffffffffffffffffffffffffffffff909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909316929092179091558490036115d757606083015160008a815260066020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055891580156114d357506000547201000000000000000000000000000000000000900460ff165b156115485760015473ffffffffffffffffffffffffffffffffffffffff166114fb818a61298d565b885473ffffffffffffffffffffffffffffffffffffffff909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff9091161788556115d5565b61158f73ffffffffffffffffffffffffffffffffffffffff82161561156d5781611589565b600189015473ffffffffffffffffffffffffffffffffffffffff165b8961298d565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff1664010000000073ffffffffffffffffffffffffffffffffffffffff8316021788555b505b505050505050505050565b600080600054700100000000000000000000000000000000900460ff166002811115611610576116106157d9565b14611647576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166116ab576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660026000815481106116d7576116d7615b4f565b6000918252602090912060059091020154640100000000900473ffffffffffffffffffffffffffffffffffffffff1614611712576001611715565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff909116177001000000000000000000000000000000008360028111156117c6576117c66157d9565b0217905560028111156117db576117db6157d9565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a27f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663838c2d1e6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561186c57600080fd5b505af1158015611880573d6000803e3d6000fd5b5050505090565b600560205281600052604060002081815481106118a357600080fd5b90600052602060002001600091509150505481565b905090565b6118ca8383836001611abe565b505050565b6000818152600760209081526040808320600590925282208054825461190090610100900463ffffffff1682615bfd565b95945050505050565b60606118b860546020612a8e565b73ffffffffffffffffffffffffffffffffffffffff811660009081526003602052604081208054908290559081900361197c576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff3fef3a300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063f3fef3a390604401600060405180830381600087803b158015611a0c57600080fd5b505af1158015611a20573d6000803e3d6000fd5b5050505060008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611a7e576040519150601f19603f3d011682016040523d82523d6000602084013e611a83565b606091505b50509050806118ca576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480611b3757503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016145b611b6d576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b7984848484612ae0565b50505050565b6118ca8383836000611abe565b3273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611bfb576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c036135b9565b565b600080600054700100000000000000000000000000000000900460ff166002811115611c3357611c336157d9565b14611c6a576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110611c7f57611c7f615b4f565b600091825260208220600590910201805490925063ffffffff90811614611cee57815460028054909163ffffffff16908110611cbd57611cbd615b4f565b906000526020600020906005020160040160109054906101000a90046fffffffffffffffffffffffffffffffff1690505b6004820154600090611d2690700100000000000000000000000000000000900467ffffffffffffffff165b67ffffffffffffffff1690565b611d3a9067ffffffffffffffff1642615bfd565b611d59611d19846fffffffffffffffffffffffffffffffff1660401c90565b67ffffffffffffffff16611d6d9190615bad565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611611dba5780611900565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080611e83836fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115611ee2576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000611efd8383615c43565b9050670de0b6b3a76400006000611f34827f0000000000000000000000000000000000000000000000000000000000000000615c57565b90506000611f52611f4d670de0b6b3a764000086615c57565b613b12565b90506000611f608484613d6d565b90506000611f6e8383613dbc565b90506000611f7b82613dea565b90506000611f9a82611f95670de0b6b3a76400008f615c57565b613fd2565b90506000611fa88b83613dbc565b9050611fb4818d615c57565b9f9e505050505050505050505050505050565b60028181548110611fd757600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff8416955064010000000090930473ffffffffffffffffffffffffffffffffffffffff908116949216926fffffffffffffffffffffffffffffffff91821692918082169170010000000000000000000000000000000090041687565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614806120d757503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016145b61210d576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61211b868686868686614003565b505050505050565b60008054700100000000000000000000000000000000900460ff16600281111561214f5761214f6157d9565b14612186576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060008061219586614632565b935093509350935060006121ab85858585614a3b565b905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561221a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061223e9190615c94565b9050600189036123365773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a8461229a367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af115801561230c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123309190615cb1565b506115d7565b600289036123625773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a848961229a565b6003890361238e5773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a848761229a565b600489036125155760006123d46fffffffffffffffffffffffffffffffff85167f0000000000000000000000000000000000000000000000000000000000000000614af5565b6009546123e19190615bad565b6123ec906001615bad565b9050367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135811061245557367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135612457565b805b905073ffffffffffffffffffffffffffffffffffffffff82166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af11580156124ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061250e9190615cb1565b50506115d7565b600589036125ae576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b6044820152600860648201526084810188905273ffffffffffffffffffffffffffffffffffffffff8216906352f0f3ad9060a4016122ed565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356060612639611909565b9050909192565b600081831161264f5781612651565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001612699949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003612705576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b6060600080600061273385614ba3565b91945092509050600181600181111561274e5761274e6157d9565b14612785576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84516127918385615bad565b146127c8576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816127df5790505093506000835b86518110156128cd576000806128526040518060400160405280858c600001516128369190615bfd565b8152602001858c6020015161284b9190615bad565b9052614ba3565b50915091506040518060400160405280838361286e9190615bad565b8152602001848b602001516128839190615bad565b81525088858151811061289857612898615b4f565b60209081029190910101526128ae600185615bad565b93506128ba8183615bad565b6128c49084615bad565b9250505061280c565b50845250919392505050565b606060008060006128e985614ba3565b919450925090506000816001811115612904576129046157d9565b1461293b576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129458284615bad565b85511461297e576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61190085602001518484615041565b600281015473ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040812080546fffffffffffffffffffffffffffffffff909316928392906129dc908490615bad565b90915550506040517f7eee288d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018390527f00000000000000000000000000000000000000000000000000000000000000001690637eee288d90604401600060405180830381600087803b158015612a7157600080fd5b505af1158015612a85573d6000803e3d6000fd5b50505050505050565b604051818152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b60008054700100000000000000000000000000000000900460ff166002811115612b0c57612b0c6157d9565b14612b43576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028481548110612b5857612b58615b4f565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff8116845273ffffffffffffffffffffffffffffffffffffffff64010000000090910481169484019490945260018101549093169082015260028201546fffffffffffffffffffffffffffffffff908116606083015260038301546080830181905260049093015480821660a084015270010000000000000000000000000000000090041660c082015291508514612c3f576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156fffffffffffffffffffffffffffffffff83161760011b90506000612cff826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580612d3a5750612d377f00000000000000000000000000000000000000000000000000000000000000006002615bad565b81145b8015612d44575084155b15612d7b576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015612da1575086155b15612dd8576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115612e32576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612e5d7f00000000000000000000000000000000000000000000000000000000000000006001615bad565b8103612e6f57612e6f868885886150d6565b34612e7983611de4565b14612eb0576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612ebb88611c05565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603612f23576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612f5060017f0000000000000000000000000000000000000000000000000000000000000000615bfd565b830361308e577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612fc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fe59190615c94565b73ffffffffffffffffffffffffffffffffffffffff1663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561302f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130539190615cb1565b613087907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615cca565b9050613121565b6130b960017f0000000000000000000000000000000000000000000000000000000000000000615bfd565b83036130f4576130877f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166002615cf6565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b613155817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615d26565b67ffffffffffffffff166131708367ffffffffffffffff1690565b67ffffffffffffffff1611156131b7576131b4817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615d26565b91505b6000604083901b421760008a8152608087901b6fffffffffffffffffffffffffffffffff8d1617602052604081209192509060008181526004602052604090205490915060ff1615613235576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001346fffffffffffffffffffffffffffffffff1681526020018c8152602001886fffffffffffffffffffffffffffffffff168152602001846fffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160020160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506080820151816003015560a08201518160040160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060c08201518160040160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505050600560008c815260200190815260200160002060016002805490506134cb9190615bfd565b81546001810183556000928352602083200155604080517fd0e30db0000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263d0e30db09234926004808301939282900301818588803b15801561356357600080fd5b505af1158015613577573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b60005471010000000000000000000000000000000000900460ff161561360b576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f7258a80700000000000000000000000000000000000000000000000000000000815263ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637258a807906024016040805180830381865afa1580156136bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136e39190615d4f565b90925090508161371f576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a1461375257639824bdab6000526004601cfd5b80367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135116137ec576040517ff40239db000000000000000000000000000000000000000000000000000000008152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff8082526000602083018181527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe369081013560f01c90038035606090811c868801908152346fffffffffffffffffffffffffffffffff81811693890193845260149094013560808901908152600160a08a0181815242871660c08c019081526002805493840181558a529a5160059092027f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace81018054995173ffffffffffffffffffffffffffffffffffffffff908116640100000000027fffffffffffffffff000000000000000000000000000000000000000000000000909b1694909c16939093179890981790915592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf87018054918a167fffffffffffffffffffffffff000000000000000000000000000000000000000090921691909117905592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0860180549186167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090921691909117905591517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015551955182167001000000000000000000000000000000000295909116949094177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad29091015580547fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff167101000000000000000000000000000000000017815583517fd0e30db000000000000000000000000000000000000000000000000000000000815293517f00000000000000000000000000000000000000000000000000000000000000009092169363d0e30db093926004828101939282900301818588803b158015613ac157600080fd5b505af1158015613ad5573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050505050565b6fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213613b7157631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a764000002158202613daa57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b600081600019048311820215613dda5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d78213613e1857919050565b680755bf798b4a1bf1e58212613e365763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000612651670de0b6b3a764000083613fea86613b12565b613ff49190615d73565b613ffe9190615e2f565b613dea565b60008054700100000000000000000000000000000000900460ff16600281111561402f5761402f6157d9565b14614066576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002878154811061407b5761407b615b4f565b6000918252602082206005919091020160048101549092506fffffffffffffffffffffffffffffffff16908715821760011b90506140da7f00000000000000000000000000000000000000000000000000000000000000006001615bad565b614176826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16146141b0576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008089156142a7576142037f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000615bfd565b6001901b614222846fffffffffffffffffffffffffffffffff16615287565b6fffffffffffffffffffffffffffffffff1661423e9190615e97565b1561427b5761427261426360016fffffffffffffffffffffffffffffffff8716615eab565b865463ffffffff166000615326565b6003015461429d565b7f00000000000000000000000000000000000000000000000000000000000000005b91508490506142d1565b600385015491506142ce6142636fffffffffffffffffffffffffffffffff86166001615ed4565b90505b600882901b60088a8a6040516142e8929190615b3f565b6040518091039020901b14614329576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006143348c61540a565b90506000614343836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e14ced32906143bd908f908f908f908f908a90600401615f48565b6020604051808303816000875af11580156143dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144009190615cb1565b6004850154911491506000906002906144ab906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b614547896fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6145519190615f82565b61455b9190615fa5565b60ff16159050811515810361459c576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8754640100000000900473ffffffffffffffffffffffffffffffffffffffff16156145f3576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b600080600080600085905060006002828154811061465257614652615b4f565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614729906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611614763576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f00000000000000000000000000000000000000000000000000000000000000009061482a906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561489f57825463ffffffff166148697f00000000000000000000000000000000000000000000000000000000000000006001615bad565b8303614873578391505b6002818154811061488657614886615b4f565b9060005260206000209060050201935080945050614767565b600481810154908401546fffffffffffffffffffffffffffffffff91821691166000816fffffffffffffffffffffffffffffffff166149086148f3856fffffffffffffffffffffffffffffffff1660011c90565b6fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff1614905080156149d7576000614940836fffffffffffffffffffffffffffffffff16615287565b6fffffffffffffffffffffffffffffffff1611156149ab57600061498261497a60016fffffffffffffffffffffffffffffffff8616615eab565b896001615326565b6003810154600490910154909c506fffffffffffffffffffffffffffffffff169a506149b19050565b6008549a505b600386015460048701549099506fffffffffffffffffffffffffffffffff169750614a2d565b60006149f961497a6fffffffffffffffffffffffffffffffff85166001615ed4565b6003808901546004808b015492840154930154909e506fffffffffffffffffffffffffffffffff9182169d50919b50169850505b505050505050509193509193565b60006fffffffffffffffffffffffffffffffff841615614aa85760408051602081018790526fffffffffffffffffffffffffffffffff8087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611900565b8282604051602001614ad69291909182526fffffffffffffffffffffffffffffffff16602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614b82847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614be6576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614c0b57600060016000945094509450505061503a565b60b78111614d21576000614c20608083615bfd565b905080876000015111614c5f576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614cd757507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614d0e576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001955093506000925061503a915050565b60bf8111614e7f576000614d3660b783615bfd565b905080876000015111614d75576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614dd7576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614e1f576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e298184615bad565b895111614e62576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e6d836001615bad565b975095506000945061503a9350505050565b60f78111614ee4576000614e9460c083615bfd565b905080876000015111614ed3576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60019550935084925061503a915050565b6000614ef160f783615bfd565b905080876000015111614f30576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614f92576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614fda576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614fe48184615bad565b89511161501d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b615028836001615bad565b975095506001945061503a9350505050565b9193909250565b60608167ffffffffffffffff81111561505c5761505c615a83565b6040519080825280601f01601f191660200182016040528015615086576020820181803683370190505b50905081156150cf57600061509b8486615bad565b90506020820160005b848110156150bc5782810151828201526020016150a4565b848111156150cb576000858301525b5050505b9392505050565b60006150f56fffffffffffffffffffffffffffffffff84166001615ed4565b9050600061510582866001615326565b9050600086901a83806151f1575061513e60027f0000000000000000000000000000000000000000000000000000000000000000615e97565b60048301546002906151e2906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6151ec9190615fa5565b60ff16145b156152495760ff81166001148061520b575060ff81166002145b615244576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016137e3565b612a85565b60ff811615612a85576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016137e3565b600080615314837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b6000808261536f5761536a6fffffffffffffffffffffffffffffffff86167f0000000000000000000000000000000000000000000000000000000000000000615439565b61538a565b61538a856fffffffffffffffffffffffffffffffff166155c5565b90506002848154811061539f5761539f615b4f565b906000526020600020906005020191505b60048201546fffffffffffffffffffffffffffffffff82811691161461540257815460028054909163ffffffff169081106153ed576153ed615b4f565b906000526020600020906005020191506153b0565b509392505050565b600080600080600061541b86614632565b935093509350935061542f84848484614a3b565b9695505050505050565b6000816154d8846fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116154ee5763b34b5c226000526004601cfd5b6154f7836155c5565b905081615596826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611612654576126516155ac836001615bad565b6fffffffffffffffffffffffffffffffff83169061566a565b60008119600183011681615659827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b6000806156f7847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261572557600080fd5b50813567ffffffffffffffff81111561573d57600080fd5b60208301915083602082850101111561575557600080fd5b9250929050565b600080600083850360a081121561577257600080fd5b608081121561578057600080fd5b50839250608084013567ffffffffffffffff81111561579e57600080fd5b6157aa86828701615713565b9497909650939450505050565b600080604083850312156157ca57600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810160038310615843577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b60008060006060848603121561585e57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561589b5760208185018101518683018201520161587f565b818111156158ad576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006126516020830184615875565b60006020828403121561590557600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461592e57600080fd5b50565b60006020828403121561594357600080fd5b81356150cf8161590c565b8035801515811461595e57600080fd5b919050565b6000806000806080858703121561597957600080fd5b8435935060208501359250604085013591506159976060860161594e565b905092959194509250565b6000602082840312156159b457600080fd5b81356fffffffffffffffffffffffffffffffff811681146150cf57600080fd5b600080600080600080608087890312156159ed57600080fd5b863595506159fd6020880161594e565b9450604087013567ffffffffffffffff80821115615a1a57600080fd5b615a268a838b01615713565b90965094506060890135915080821115615a3f57600080fd5b50615a4c89828a01615713565b979a9699509497509295939492505050565b63ffffffff841681528260208201526060604082015260006119006060830184615875565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060808284031215615ac457600080fd5b6040516080810181811067ffffffffffffffff82111715615b0e577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115615bc057615bc0615b7e565b500190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203615bf657615bf6615b7e565b5060010190565b600082821015615c0f57615c0f615b7e565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082615c5257615c52615c14565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615615c8f57615c8f615b7e565b500290565b600060208284031215615ca657600080fd5b81516150cf8161590c565b600060208284031215615cc357600080fd5b5051919050565b600067ffffffffffffffff808316818516808303821115615ced57615ced615b7e565b01949350505050565b600067ffffffffffffffff80831681851681830481118215151615615d1d57615d1d615b7e565b02949350505050565b600067ffffffffffffffff83811690831681811015615d4757615d47615b7e565b039392505050565b60008060408385031215615d6257600080fd5b505080516020909101519092909150565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615db457615db4615b7e565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615def57615def615b7e565b60008712925087820587128484161615615e0b57615e0b615b7e565b87850587128184161615615e2157615e21615b7e565b505050929093029392505050565b600082615e3e57615e3e615c14565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f800000000000000000000000000000000000000000000000000000000000000083141615615e9257615e92615b7e565b500590565b600082615ea657615ea6615c14565b500690565b60006fffffffffffffffffffffffffffffffff83811690831681811015615d4757615d47615b7e565b60006fffffffffffffffffffffffffffffffff808316818516808303821115615ced57615ced615b7e565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615f5c606083018789615eff565b8281036020840152615f6f818688615eff565b9150508260408301529695505050505050565b600060ff821660ff841680821015615f9c57615f9c615b7e565b90039392505050565b600060ff831680615fb857615fb8615c14565b8060ff8416069150509291505056fea2646970667358221220bc931b2ee20208c16632a7dcd9ed8f036d3c35b01291fc2486bcabad1f932bbb64736f6c634300080f003300000000000000000000000000000000000000000000000000000000000000010354eee87a1775d96afee8977ef6d5d6bd3612b256170952a01bf1051610ee010000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d4000000000000000000000000069470d6970cd2a006b84b1d4d70179c892cfce0100000000000000000000000027a6128f707de3d99f89bf09c35a4e0753e1b8080000000000000000000000004c8ba32a5dac2a720bb35cedb51d6b067d1042050000000000000000000000000000000000000000000000000000000000014a34000000000000000000000000037637067c1dbe6d2430616d8f54cb774daa59990000000000000000000000008b8c52b04a38f10515c52670fcb23f3c4c44474f\",\n        \"nonce\": \"0x2b\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x17b9c44\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x9be0564bb34ff311914554d06cdf62fc3254837c8fa6aa1acecd9e399eb3b4c9\",\n      \"transactionIndex\": \"0x5d\",\n      \"blockHash\": \"0x2471593ab027117ca408f39f0a66ba8a8dac103f4a72f4d36ec35ccd586c39b1\",\n      \"blockNumber\": \"0x79dfec\",\n      \"gasUsed\": \"0x4f7ad6\",\n      \"effectiveGasPrice\": \"0xd3440318\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": null,\n      \"contractAddress\": \"0x76d7f861bbc8cbef20bad1a3f385eb95dd22306b\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1ce3494\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xa38f8816db0369338432333bcb42b82683eabe981add85a727e15053ef49bfe7\",\n      \"transactionIndex\": \"0x5f\",\n      \"blockHash\": \"0x2471593ab027117ca408f39f0a66ba8a8dac103f4a72f4d36ec35ccd586c39b1\",\n      \"blockNumber\": \"0x79dfec\",\n      \"gasUsed\": \"0x5191f1\",\n      \"effectiveGasPrice\": \"0xd3440318\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": null,\n      \"contractAddress\": \"0x58d465e2e31b811fdbbe5461627a0a88c3c1be2f\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1743014041,\n  \"chain\": 11155111,\n  \"commit\": \"774edec\"\n}"
  },
  {
    "path": "sepolia/2025-03-12-upgrade-fault-proofs/records/UpgradeDGF.s.sol/11155111/approve-latest.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x8fb8ceb96e6aef263f54d5e566aa20747e4a5d454b18f2ea6b37181b3a186bcd\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdef98b0515031f92c2834fcc96ffd18a141d31ac6875228500d99c30e0813621500000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x3c6e1874c4c2aba140a920c8465fdd8b86497c31ca25aa1126f7d26d7ddc9c852693fa40516cf466e123f43208375b1cbc3f2774d77a9712ee7901c3450e96851c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n        \"gas\": \"0x24663\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdef98b0515031f92c2834fcc96ffd18a141d31ac6875228500d99c30e08136215000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000413c6e1874c4c2aba140a920c8465fdd8b86497c31ca25aa1126f7d26d7ddc9c852693fa40516cf466e123f43208375b1cbc3f2774d77a9712ee7901c3450e96851c00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x2d\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x879c53\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xef98b0515031f92c2834fcc96ffd18a141d31ac6875228500d99c30e08136215\",\n            \"0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x6c44eca49f1aefb2a9fb5e1a9c1aebed6e67025d55de5127db6df94a256e6616\",\n          \"blockNumber\": \"0x79e2be\",\n          \"transactionHash\": \"0x8fb8ceb96e6aef263f54d5e566aa20747e4a5d454b18f2ea6b37181b3a186bcd\",\n          \"transactionIndex\": \"0x5e\",\n          \"logIndex\": \"0x71\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xb6e6351c545c91626a847c43d1d7c3c1329bc2dee25a18912ae28cc460a5ddd80000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x6c44eca49f1aefb2a9fb5e1a9c1aebed6e67025d55de5127db6df94a256e6616\",\n          \"blockNumber\": \"0x79e2be\",\n          \"transactionHash\": \"0x8fb8ceb96e6aef263f54d5e566aa20747e4a5d454b18f2ea6b37181b3a186bcd\",\n          \"transactionIndex\": \"0x5e\",\n          \"logIndex\": \"0x72\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000000000000000000000000000000000008000000200000000800000010000000000000000000000100000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000014020000000000000000000000100000000008000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x8fb8ceb96e6aef263f54d5e566aa20747e4a5d454b18f2ea6b37181b3a186bcd\",\n      \"transactionIndex\": \"0x5e\",\n      \"blockHash\": \"0x6c44eca49f1aefb2a9fb5e1a9c1aebed6e67025d55de5127db6df94a256e6616\",\n      \"blockNumber\": \"0x79e2be\",\n      \"gasUsed\": \"0x1a5a4\",\n      \"effectiveGasPrice\": \"0x4efe860f\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1743022789,\n  \"chain\": 11155111,\n  \"commit\": \"d59ef03\"\n}"
  },
  {
    "path": "sepolia/2025-03-12-upgrade-fault-proofs/records/UpgradeDGF.s.sol/11155111/run-1741902924.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xdf0e41681492a95315a94e19afc6669702f605299a28afd71c35204a03b0faae\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a300000000000000000000000000000000000000000000000000000000000000000000000000000000000000009cd8b02e84df3ef61db3b34123206568490cb27900000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000001000000000000000000000000cca6a4916fa6de5d671cc77760a3b10b012cca1600000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xab6f3448f83421084d88c034af68d616fbe6ae4805edeef89ed8254cd698e231187ded090ef1e3f93afbcbff04243c5caa6ce0d4eb3a3e6c1938d72a78d3b5951c07f086cc26f31a2ab81d4679249f7dfce82da306227e13d2c434f8e913460a8a777063bc1b0a832f3f55fbd9bf01d2fb2c07f32b0ac9453abd4bba9859c3e73a1b96c5a03ba5e83b328c1b2876e9c66d991b5eaaaccc7a3a9ba8513862fbaf0b603f7a51f2afe1b6dfd57f5b799cfb602b37f312d29cebd0d4439c7224cd7efbed1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n        \"gas\": \"0x27eaa\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000024482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a300000000000000000000000000000000000000000000000000000000000000000000000000000000000000009cd8b02e84df3ef61db3b34123206568490cb27900000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000001000000000000000000000000cca6a4916fa6de5d671cc77760a3b10b012cca16000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3ab6f3448f83421084d88c034af68d616fbe6ae4805edeef89ed8254cd698e231187ded090ef1e3f93afbcbff04243c5caa6ce0d4eb3a3e6c1938d72a78d3b5951c07f086cc26f31a2ab81d4679249f7dfce82da306227e13d2c434f8e913460a8a777063bc1b0a832f3f55fbd9bf01d2fb2c07f32b0ac9453abd4bba9859c3e73a1b96c5a03ba5e83b328c1b2876e9c66d991b5eaaaccc7a3a9ba8513862fbaf0b603f7a51f2afe1b6dfd57f5b799cfb602b37f312d29cebd0d4439c7224cd7efbed1b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0xc\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xabb03c\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000004e0000000000000000000000000000000000000000000000000000000000000024482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a300000000000000000000000000000000000000000000000000000000000000000000000000000000000000009cd8b02e84df3ef61db3b34123206568490cb27900000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000001000000000000000000000000cca6a4916fa6de5d671cc77760a3b10b012cca16000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3ab6f3448f83421084d88c034af68d616fbe6ae4805edeef89ed8254cd698e231187ded090ef1e3f93afbcbff04243c5caa6ce0d4eb3a3e6c1938d72a78d3b5951c07f086cc26f31a2ab81d4679249f7dfce82da306227e13d2c434f8e913460a8a777063bc1b0a832f3f55fbd9bf01d2fb2c07f32b0ac9453abd4bba9859c3e73a1b96c5a03ba5e83b328c1b2876e9c66d991b5eaaaccc7a3a9ba8513862fbaf0b603f7a51f2afe1b6dfd57f5b799cfb602b37f312d29cebd0d4439c7224cd7efbed1b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000100000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe072520000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0xce7de570673cf15254415b72977fb4406726e69601f16e91486627756ce6ca33\",\n          \"blockNumber\": \"0x787d64\",\n          \"transactionHash\": \"0xdf0e41681492a95315a94e19afc6669702f605299a28afd71c35204a03b0faae\",\n          \"transactionIndex\": \"0x81\",\n          \"logIndex\": \"0xac\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n          \"topics\": [\n            \"0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de\",\n            \"0x0000000000000000000000009cd8b02e84df3ef61db3b34123206568490cb279\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xce7de570673cf15254415b72977fb4406726e69601f16e91486627756ce6ca33\",\n          \"blockNumber\": \"0x787d64\",\n          \"transactionHash\": \"0xdf0e41681492a95315a94e19afc6669702f605299a28afd71c35204a03b0faae\",\n          \"transactionIndex\": \"0x81\",\n          \"logIndex\": \"0xad\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n          \"topics\": [\n            \"0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de\",\n            \"0x000000000000000000000000cca6a4916fa6de5d671cc77760a3b10b012cca16\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000001\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xce7de570673cf15254415b72977fb4406726e69601f16e91486627756ce6ca33\",\n          \"blockNumber\": \"0x787d64\",\n          \"transactionHash\": \"0xdf0e41681492a95315a94e19afc6669702f605299a28afd71c35204a03b0faae\",\n          \"transactionIndex\": \"0x81\",\n          \"logIndex\": \"0xae\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x70e917f84f42536c13ff9dbdcdb7f0f9d4be6964380f3215f4bcd3f39168554c0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xce7de570673cf15254415b72977fb4406726e69601f16e91486627756ce6ca33\",\n          \"blockNumber\": \"0x787d64\",\n          \"transactionHash\": \"0xdf0e41681492a95315a94e19afc6669702f605299a28afd71c35204a03b0faae\",\n          \"transactionIndex\": \"0x81\",\n          \"logIndex\": \"0xaf\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400004000000200000000000000000000000000000000080044000000000000200000000000000000000000000000000000000000000000000048000000000000404000000000000000000000000040000040000000000000000000000000000020000000000000000000800000000000000000000000000000008000000200000000800000000000000000000000001000000000000000000000000000000000400100000000000000004000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xdf0e41681492a95315a94e19afc6669702f605299a28afd71c35204a03b0faae\",\n      \"transactionIndex\": \"0x81\",\n      \"blockHash\": \"0xce7de570673cf15254415b72977fb4406726e69601f16e91486627756ce6ca33\",\n      \"blockNumber\": \"0x787d64\",\n      \"gasUsed\": \"0x1b4b2\",\n      \"effectiveGasPrice\": \"0x81caa6\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1741902924,\n  \"chain\": 11155111,\n  \"commit\": \"a2556de\"\n}"
  },
  {
    "path": "sepolia/2025-03-12-upgrade-fault-proofs/records/UpgradeDGF.s.sol/11155111/run-1743022548.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xbb085665165d455e1e3bcc336b7eb8845b3bf6ae801db62b00d1d0f840a228b9\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdef98b0515031f92c2834fcc96ffd18a141d31ac6875228500d99c30e0813621500000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xf22ccc04db6ca82cca4d8ecd551ffc166cd58cd1849869d4e3a4d0cdf814650d15375fa4b21f5c1e7d9b811033ac6c3b85885ac609cbcf853c6826add9d7ac611cb6064ed3727c360f6de90ac02966eac697f80e88e258876c95b7e70fba11e2ba2ed5b38b688a4dca753ae88d2d7097ba523d331e3fedf781a70ee7532e598e181c07ebcd019f6254bbb558ff2e70b0196a08d5743bc441d3da9a23d55f7178be6c0b92b753c5f0f022091c0a3c4657a27e4c828d11d1c330c3ba49a87a030e53d51c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n        \"gas\": \"0x29134\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdef98b0515031f92c2834fcc96ffd18a141d31ac6875228500d99c30e08136215000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3f22ccc04db6ca82cca4d8ecd551ffc166cd58cd1849869d4e3a4d0cdf814650d15375fa4b21f5c1e7d9b811033ac6c3b85885ac609cbcf853c6826add9d7ac611cb6064ed3727c360f6de90ac02966eac697f80e88e258876c95b7e70fba11e2ba2ed5b38b688a4dca753ae88d2d7097ba523d331e3fedf781a70ee7532e598e181c07ebcd019f6254bbb558ff2e70b0196a08d5743bc441d3da9a23d55f7178be6c0b92b753c5f0f022091c0a3c4657a27e4c828d11d1c330c3ba49a87a030e53d51c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x2c\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x154baa2\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xef98b0515031f92c2834fcc96ffd18a141d31ac6875228500d99c30e08136215\",\n            \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xca3adffb91b71cec0fc81b78918e68eb74101a0fa82b9a107e9d67e13e9e0236\",\n          \"blockNumber\": \"0x79e2aa\",\n          \"transactionHash\": \"0xbb085665165d455e1e3bcc336b7eb8845b3bf6ae801db62b00d1d0f840a228b9\",\n          \"transactionIndex\": \"0xa3\",\n          \"logIndex\": \"0x174\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x4e518e529af7a4e9063bf89378d62dba65e3f6e76564002b75000ffccc432ec40000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xca3adffb91b71cec0fc81b78918e68eb74101a0fa82b9a107e9d67e13e9e0236\",\n          \"blockNumber\": \"0x79e2aa\",\n          \"transactionHash\": \"0xbb085665165d455e1e3bcc336b7eb8845b3bf6ae801db62b00d1d0f840a228b9\",\n          \"transactionIndex\": \"0xa3\",\n          \"logIndex\": \"0x175\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000010000000000000000000000000008000000200000000800000010000000000000000000000100000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000800000000000000001004000020000000000000000000000000000000000000000200000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xbb085665165d455e1e3bcc336b7eb8845b3bf6ae801db62b00d1d0f840a228b9\",\n      \"transactionIndex\": \"0xa3\",\n      \"blockHash\": \"0xca3adffb91b71cec0fc81b78918e68eb74101a0fa82b9a107e9d67e13e9e0236\",\n      \"blockNumber\": \"0x79e2aa\",\n      \"gasUsed\": \"0x1dbcf\",\n      \"effectiveGasPrice\": \"0x3ab1dbd8\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1743022548,\n  \"chain\": 11155111,\n  \"commit\": \"d59ef03\"\n}"
  },
  {
    "path": "sepolia/2025-03-12-upgrade-fault-proofs/records/UpgradeDGF.s.sol/11155111/run-1743022789.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x8fb8ceb96e6aef263f54d5e566aa20747e4a5d454b18f2ea6b37181b3a186bcd\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdef98b0515031f92c2834fcc96ffd18a141d31ac6875228500d99c30e0813621500000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x3c6e1874c4c2aba140a920c8465fdd8b86497c31ca25aa1126f7d26d7ddc9c852693fa40516cf466e123f43208375b1cbc3f2774d77a9712ee7901c3450e96851c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n        \"gas\": \"0x24663\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdef98b0515031f92c2834fcc96ffd18a141d31ac6875228500d99c30e08136215000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000413c6e1874c4c2aba140a920c8465fdd8b86497c31ca25aa1126f7d26d7ddc9c852693fa40516cf466e123f43208375b1cbc3f2774d77a9712ee7901c3450e96851c00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x2d\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x879c53\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xef98b0515031f92c2834fcc96ffd18a141d31ac6875228500d99c30e08136215\",\n            \"0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x6c44eca49f1aefb2a9fb5e1a9c1aebed6e67025d55de5127db6df94a256e6616\",\n          \"blockNumber\": \"0x79e2be\",\n          \"transactionHash\": \"0x8fb8ceb96e6aef263f54d5e566aa20747e4a5d454b18f2ea6b37181b3a186bcd\",\n          \"transactionIndex\": \"0x5e\",\n          \"logIndex\": \"0x71\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xb6e6351c545c91626a847c43d1d7c3c1329bc2dee25a18912ae28cc460a5ddd80000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x6c44eca49f1aefb2a9fb5e1a9c1aebed6e67025d55de5127db6df94a256e6616\",\n          \"blockNumber\": \"0x79e2be\",\n          \"transactionHash\": \"0x8fb8ceb96e6aef263f54d5e566aa20747e4a5d454b18f2ea6b37181b3a186bcd\",\n          \"transactionIndex\": \"0x5e\",\n          \"logIndex\": \"0x72\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000000000000000000000000000000000008000000200000000800000010000000000000000000000100000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000014020000000000000000000000100000000008000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x8fb8ceb96e6aef263f54d5e566aa20747e4a5d454b18f2ea6b37181b3a186bcd\",\n      \"transactionIndex\": \"0x5e\",\n      \"blockHash\": \"0x6c44eca49f1aefb2a9fb5e1a9c1aebed6e67025d55de5127db6df94a256e6616\",\n      \"blockNumber\": \"0x79e2be\",\n      \"gasUsed\": \"0x1a5a4\",\n      \"effectiveGasPrice\": \"0x4efe860f\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1743022789,\n  \"chain\": 11155111,\n  \"commit\": \"d59ef03\"\n}"
  },
  {
    "path": "sepolia/2025-03-12-upgrade-fault-proofs/records/UpgradeDGF.s.sol/11155111/run-1743022908.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xec809a93b8c946a64587fff87ac64586a3e17a5626b916279e39c87854a94bf4\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000076d7f861bbc8cbef20bad1a3f385eb95dd22306b00000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a3000000000000000000000000000000000000000000000000000000000000000100000000000000000000000058d465e2e31b811fdbbe5461627a0a88c3c1be2f00000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n        \"gas\": \"0x220f8\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000024482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000076d7f861bbc8cbef20bad1a3f385eb95dd22306b00000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a3000000000000000000000000000000000000000000000000000000000000000100000000000000000000000058d465e2e31b811fdbbe5461627a0a88c3c1be2f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x2e\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x99747f\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000004a0000000000000000000000000000000000000000000000000000000000000024482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000076d7f861bbc8cbef20bad1a3f385eb95dd22306b00000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a3000000000000000000000000000000000000000000000000000000000000000100000000000000000000000058d465e2e31b811fdbbe5461627a0a88c3c1be2f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000120000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe072520000000000000000000000000000000000000000000000000000000000000002\",\n          \"blockHash\": \"0xa25b84ef728e09b889f14c8208c5e3f3289344d9ada797b534d6854f333bd41b\",\n          \"blockNumber\": \"0x79e2c8\",\n          \"transactionHash\": \"0xec809a93b8c946a64587fff87ac64586a3e17a5626b916279e39c87854a94bf4\",\n          \"transactionIndex\": \"0x5f\",\n          \"logIndex\": \"0x9c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n          \"topics\": [\n            \"0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de\",\n            \"0x00000000000000000000000076d7f861bbc8cbef20bad1a3f385eb95dd22306b\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xa25b84ef728e09b889f14c8208c5e3f3289344d9ada797b534d6854f333bd41b\",\n          \"blockNumber\": \"0x79e2c8\",\n          \"transactionHash\": \"0xec809a93b8c946a64587fff87ac64586a3e17a5626b916279e39c87854a94bf4\",\n          \"transactionIndex\": \"0x5f\",\n          \"logIndex\": \"0x9d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n          \"topics\": [\n            \"0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de\",\n            \"0x00000000000000000000000058d465e2e31b811fdbbe5461627a0a88c3c1be2f\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000001\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xa25b84ef728e09b889f14c8208c5e3f3289344d9ada797b534d6854f333bd41b\",\n          \"blockNumber\": \"0x79e2c8\",\n          \"transactionHash\": \"0xec809a93b8c946a64587fff87ac64586a3e17a5626b916279e39c87854a94bf4\",\n          \"transactionIndex\": \"0x5f\",\n          \"logIndex\": \"0x9e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xef98b0515031f92c2834fcc96ffd18a141d31ac6875228500d99c30e081362150000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xa25b84ef728e09b889f14c8208c5e3f3289344d9ada797b534d6854f333bd41b\",\n          \"blockNumber\": \"0x79e2c8\",\n          \"transactionHash\": \"0xec809a93b8c946a64587fff87ac64586a3e17a5626b916279e39c87854a94bf4\",\n          \"transactionIndex\": \"0x5f\",\n          \"logIndex\": \"0x9f\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000080044000000000000200000000000000100000000000000080000000000000000000048000000000000402002000000000000000000000040000040000000000000000000000000000020000000000000000000800000000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000400000000000000000004000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000060000000000080000000000000000000000400000000000000000000000000000100\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xec809a93b8c946a64587fff87ac64586a3e17a5626b916279e39c87854a94bf4\",\n      \"transactionIndex\": \"0x5f\",\n      \"blockHash\": \"0xa25b84ef728e09b889f14c8208c5e3f3289344d9ada797b534d6854f333bd41b\",\n      \"blockNumber\": \"0x79e2c8\",\n      \"gasUsed\": \"0x18a8d\",\n      \"effectiveGasPrice\": \"0x556a560d\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1743022908,\n  \"chain\": 11155111,\n  \"commit\": \"d59ef03\"\n}"
  },
  {
    "path": "sepolia/2025-03-12-upgrade-fault-proofs/script/DeployDisputeGames.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Script} from \"forge-std/Script.sol\";\n\nimport {\n    FaultDisputeGame,\n    IAnchorStateRegistry,\n    IDelayedWETH,\n    IBigStepper\n} from \"@eth-optimism-bedrock/src/dispute/FaultDisputeGame.sol\";\nimport {PermissionedDisputeGame} from \"@eth-optimism-bedrock/src/dispute/PermissionedDisputeGame.sol\";\nimport {GameTypes, Duration, Claim, LibClaim} from \"@eth-optimism-bedrock/src/dispute/lib/Types.sol\";\nimport {DisputeGameFactory} from \"@eth-optimism-bedrock/src/dispute/DisputeGameFactory.sol\";\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport {Strings} from \"@openzeppelin/contracts/utils/Strings.sol\";\nimport {console} from \"forge-std/console.sol\";\n\n/// @notice This script deploys new versions of FaultDisputeGame and PermissionedDisputeGame with all the same\n///         parameters as the existing implementations excluding the absolute prestate.\ncontract DeployDisputeGames is Script {\n    using Strings for address;\n    using LibClaim for Claim;\n\n    SystemConfig internal _SYSTEM_CONFIG = SystemConfig(vm.envAddress(\"SYSTEM_CONFIG\"));\n    Claim immutable absolutePrestate;\n\n    DisputeGameFactory dgfProxy;\n\n    uint256 maxGameDepth;\n    uint256 splitDepth;\n    uint256 l2ChainId;\n    address proposer;\n    address challenger;\n    Duration clockExtension;\n    Duration maxClockDuration;\n    IDelayedWETH faultDisputeGameWeth;\n    IDelayedWETH permissionedDisputeGameWeth;\n    IAnchorStateRegistry anchorStateRegistry;\n    IBigStepper bigStepper;\n\n    constructor() {\n        absolutePrestate = Claim.wrap(vm.envBytes32(\"ABSOLUTE_PRESTATE\"));\n    }\n\n    function setUp() public {\n        dgfProxy = DisputeGameFactory(_SYSTEM_CONFIG.disputeGameFactory());\n        FaultDisputeGame currentFdg = FaultDisputeGame(address(dgfProxy.gameImpls(GameTypes.CANNON)));\n        PermissionedDisputeGame currentPdg =\n            PermissionedDisputeGame(address(dgfProxy.gameImpls(GameTypes.PERMISSIONED_CANNON)));\n\n        maxGameDepth = currentFdg.maxGameDepth();\n        splitDepth = currentFdg.splitDepth();\n        clockExtension = currentFdg.clockExtension();\n        maxClockDuration = currentFdg.maxClockDuration();\n        bigStepper = currentFdg.vm();\n        faultDisputeGameWeth = currentFdg.weth();\n        anchorStateRegistry = currentFdg.anchorStateRegistry();\n        l2ChainId = currentFdg.l2ChainId();\n\n        permissionedDisputeGameWeth = currentPdg.weth();\n        proposer = currentPdg.proposer();\n        challenger = currentPdg.challenger();\n    }\n\n    function _postCheck(address fdg, address pdg) private view {\n        require(FaultDisputeGame(fdg).absolutePrestate().raw() == vm.envBytes32(\"ABSOLUTE_PRESTATE\"), \"Postcheck 1\");\n        require(\n            PermissionedDisputeGame(pdg).absolutePrestate().raw() == vm.envBytes32(\"ABSOLUTE_PRESTATE\"), \"Postcheck 2\"\n        );\n    }\n\n    function run() public {\n        console.log(\"FDG Args:\");\n        console.logBytes(\n            abi.encode(\n                GameTypes.CANNON,\n                absolutePrestate,\n                maxGameDepth,\n                splitDepth,\n                clockExtension,\n                maxClockDuration,\n                bigStepper,\n                faultDisputeGameWeth,\n                anchorStateRegistry,\n                l2ChainId\n            )\n        );\n\n        console.log(\"PDG Args:\");\n        console.logBytes(\n            abi.encode(\n                GameTypes.PERMISSIONED_CANNON,\n                absolutePrestate,\n                maxGameDepth,\n                splitDepth,\n                clockExtension,\n                maxClockDuration,\n                bigStepper,\n                permissionedDisputeGameWeth,\n                anchorStateRegistry,\n                l2ChainId,\n                proposer,\n                challenger\n            )\n        );\n\n        (address fdg, address pdg) = _deployContracts();\n\n        vm.writeFile(\n            \"addresses.json\",\n            string.concat(\n                \"{\",\n                \"\\\"faultDisputeGame\\\": \\\"\",\n                fdg.toHexString(),\n                \"\\\",\",\n                \"\\\"permissionedDisputeGame\\\": \\\"\",\n                pdg.toHexString(),\n                \"\\\"\" \"}\"\n            )\n        );\n    }\n\n    function _deployContracts() private returns (address, address) {\n        vm.startBroadcast();\n        address fdg = address(\n            new FaultDisputeGame(\n                GameTypes.CANNON,\n                absolutePrestate,\n                maxGameDepth,\n                splitDepth,\n                clockExtension,\n                maxClockDuration,\n                bigStepper,\n                faultDisputeGameWeth,\n                anchorStateRegistry,\n                l2ChainId\n            )\n        );\n\n        address pdg = address(\n            new PermissionedDisputeGame(\n                GameTypes.PERMISSIONED_CANNON,\n                absolutePrestate,\n                maxGameDepth,\n                splitDepth,\n                clockExtension,\n                maxClockDuration,\n                bigStepper,\n                permissionedDisputeGameWeth,\n                anchorStateRegistry,\n                l2ChainId,\n                proposer,\n                challenger\n            )\n        );\n        vm.stopBroadcast();\n\n        return (fdg, pdg);\n    }\n}\n"
  },
  {
    "path": "sepolia/2025-03-12-upgrade-fault-proofs/script/UpgradeDGF.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.24;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {stdJson} from \"forge-std/StdJson.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\nimport {console} from \"forge-std/console.sol\";\nimport {NestedMultisigBuilder} from \"@base-contracts/script/universal/NestedMultisigBuilder.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\n\ninterface IDisputeGameFactory {\n    function gameImpls(uint32) external view returns (address);\n    function setImplementation(uint32, address) external;\n}\n\ninterface IPermissionedDisputeGame {\n    function challenger() external view returns (address);\n    function proposer() external view returns (address);\n}\n\ninterface ISystemConfig {\n    function disputeGameFactory() external view returns (address);\n}\n\ninterface IFaultDisputeGame {\n    function vm() external view returns (address);\n    function weth() external view returns (address);\n    function anchorStateRegistry() external view returns (address);\n    function l2ChainId() external view returns (uint64);\n    function splitDepth() external view returns (uint64);\n    function maxGameDepth() external view returns (uint64);\n    function maxClockDuration() external view returns (uint64);\n    function clockExtension() external view returns (uint64);\n}\ninterface IAnchorStateRegistry {\n    function anchors(uint32) external view returns (bytes32, uint256);\n}\n\n/// @notice This script updates the FaultDisputeGame and PermissionedDisputeGame implementations in the\n///         DisputeGameFactory contract.\ncontract UpgradeDGF is NestedMultisigBuilder {\n    using stdJson for string;\n\n    address internal _OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n\n    uint32 private constant CANNON = 0;\n    uint32 private constant PERMISSIONED_CANNON = 1;\n\n    IDisputeGameFactory dgfProxy;\n    address fdgImpl;\n    address pdgImpl;\n\n    function setUp() public {\n        string memory rootPath = vm.projectRoot();\n        string memory path = string.concat(rootPath, \"/addresses.json\");\n        string memory addresses = vm.readFile(path);\n\n        dgfProxy = IDisputeGameFactory(ISystemConfig(vm.envAddress(\"SYSTEM_CONFIG\")).disputeGameFactory());\n        fdgImpl = addresses.readAddress(\".faultDisputeGame\");\n        pdgImpl = addresses.readAddress(\".permissionedDisputeGame\");\n\n        _precheckDisputeGameImplementation(CANNON, fdgImpl);\n        _precheckDisputeGameImplementation(PERMISSIONED_CANNON, pdgImpl);\n    }\n\n    // Checks that the new game being set has the same configuration as the existing implementation with the exception\n    // of the absolutePrestate. This is the most common scenario where the game implementation is upgraded to provide an\n    // updated fault proof program that supports an upcoming hard fork.\n    function _precheckDisputeGameImplementation(uint32 targetGameType, address newImpl) internal view {\n        console.log(\"pre-check new game implementations\", targetGameType);\n\n        IFaultDisputeGame currentImpl = IFaultDisputeGame(address(dgfProxy.gameImpls(targetGameType)));\n        // No checks are performed if there is no prior implementation.\n        // When deploying the first implementation, it is recommended to implement custom checks.\n        if (address(currentImpl) == address(0)) {\n            return;\n        }\n        IFaultDisputeGame faultDisputeGame = IFaultDisputeGame(newImpl);\n        require(address(currentImpl.vm()) == address(faultDisputeGame.vm()), \"10\");\n        require(address(currentImpl.weth()) == address(faultDisputeGame.weth()), \"20\");\n        require(address(currentImpl.anchorStateRegistry()) == address(faultDisputeGame.anchorStateRegistry()), \"30\");\n        require(currentImpl.l2ChainId() == faultDisputeGame.l2ChainId(), \"40\");\n        require(currentImpl.splitDepth() == faultDisputeGame.splitDepth(), \"50\");\n        require(currentImpl.maxGameDepth() == faultDisputeGame.maxGameDepth(), \"60\");\n        require(currentImpl.maxClockDuration() == faultDisputeGame.maxClockDuration(), \"70\");\n        require(currentImpl.clockExtension() == faultDisputeGame.clockExtension(), \"80\");\n\n        if (targetGameType == PERMISSIONED_CANNON) {\n            IPermissionedDisputeGame currentPDG = IPermissionedDisputeGame(address(currentImpl));\n            IPermissionedDisputeGame permissionedDisputeGame = IPermissionedDisputeGame(address(faultDisputeGame));\n            require(address(currentPDG.proposer()) == address(permissionedDisputeGame.proposer()), \"90\");\n            require(address(currentPDG.challenger()) == address(permissionedDisputeGame.challenger()), \"100\");\n        }\n    }\n\n    // Confirm the stored implementations are updated and the anchor states still exist.\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        require(address(dgfProxy.gameImpls(CANNON)) == fdgImpl, \"post-110\");\n        require(address(dgfProxy.gameImpls(PERMISSIONED_CANNON)) == pdgImpl, \"post-120\");\n        _postcheckHasAnchorState(CANNON);\n        _postcheckHasAnchorState(PERMISSIONED_CANNON);\n    }\n\n    // Checks the anchor state for the source game type still exists after re-initialization. The actual anchor state\n    // may have been updated since the task was defined so just assert it exists, not that it has a specific value.\n    function _postcheckHasAnchorState(uint32 gameType) internal view {\n        console.log(\"check anchor state exists\", gameType);\n\n        IFaultDisputeGame impl = IFaultDisputeGame(address(dgfProxy.gameImpls(gameType)));\n        (bytes32 root, uint256 rootBlockNumber) =\n            IAnchorStateRegistry(IFaultDisputeGame(address(impl)).anchorStateRegistry()).anchors(gameType);\n\n        require(root != bytes32(0), \"check-300\");\n        require(rootBlockNumber != 0, \"check-310\");\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](2);\n\n        calls[0] = IMulticall3.Call3({\n            target: address(dgfProxy),\n            allowFailure: false,\n            callData: abi.encodeCall(IDisputeGameFactory.setImplementation, (CANNON, fdgImpl))\n        });\n        calls[1] = IMulticall3.Call3({\n            target: address(dgfProxy),\n            allowFailure: false,\n            callData: abi.encodeCall(IDisputeGameFactory.setImplementation, (PERMISSIONED_CANNON, pdgImpl))\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return _OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "sepolia/2025-03-14-mirror-mainnet-hierarchy/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 1\nendif\n\n.PHONY: deps\ndeps:\n\tforge install --no-git safe-global/safe-smart-account@186a21a74b327f17fc41217a927dea7064f74604\n\n.PHONY: deploy\ndeploy:\n\tforge script --rpc-url $(L1_RPC_URL) DeploySafes --account testnet-admin --broadcast -vvvv\n\n.PHONY: sign\nsign:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpdateSigners --sig \"sign()\"\n\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(L1_RPC_URL) UpdateSigners \\\n\t--sig \"run(bytes)\" $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv\n"
  },
  {
    "path": "sepolia/2025-03-14-mirror-mainnet-hierarchy/README.md",
    "content": "# Mirror Mainnet Hierarchy\n\nStatus: EXECUTED https://sepolia.etherscan.io/tx/0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684\n\n## Description\n\nThis task contains two scripts. One for deploying new Gnosis Safe contracts, and one for updating the `ProxyAdminOwner` owners to be a 2-of-2 with 2 new safes as owners. The two new safes have the exact same owners as the current `ProxyAdminOwner`. One safe has the same threshold as the current `ProxyAdminOwner`, the other safe has a threshold of 1.\n\n## Procedure\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd sepolia/2025-03-14-mirror-mainnet-hierarchy\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Run relevant script(s)\n\n#### 3.1 Deploy new Gnosis Safes\n\n```bash\nmake deploy\n```\n\nThis will output the new addresses of the `GnosisSafe` contracts to an `addresses.json` file. You will need to commit this file to the repo before signers can sign.\n\n#### 3.2 Sign the transaction\n\n```bash\nmake sign\n```\n\nYou will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and extract the domain hash and message hash to approve on your Ledger:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n##### 3.2.1 Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Sepolia.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not see the derivation path Note above.\n\n##### 3.2.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab, and refer to the [State Validations](./Validation.md) instructions for the transaction you are signing.\nOnce complete return to this document to complete the signing.\n\n##### 3.2.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\nOnce the validations are done, it's time to actually sign the\ntransaction.\n\n> [!WARNING]\n> This is the most security critical part of the playbook: make sure the\n> domain hash and message hash in the following two places match:\n>\n> 1. On your Ledger screen.\n> 2. In the Tenderly simulation. You should use the same Tenderly\n>    simulation as the one you used to verify the state diffs, instead\n>    of opening the new one printed in the console.\n>\n> There is no need to verify anything printed in the console. There is\n> no need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```shell\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n##### 3.2.4 Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n### [For Facilitator ONLY] How to execute\n\n#### Execute the transaction\n\n1. IMPORTANT: Ensure op-challenger has been updated before executing.\n1. Collect outputs from all participating signers.\n1. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"`.\n1. Run the `make execute` command as described below to execute the transaction.\n\nFor example, if the quorum is 2 and you get the following outputs:\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE01\nSignature: AAAA\n```\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE02\nSignature: BBBB\n```\n\nThen you should run:\n\n```bash\nSIGNATURES=AAAABBBB make execute\n```\n"
  },
  {
    "path": "sepolia/2025-03-14-mirror-mainnet-hierarchy/Validation.md",
    "content": "# Validation\n\nThis document can be used to validate the state diff resulting from the execution of the AddSigners transaction.\n\nFor each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract:\n\n- The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur.\n- All addresses (in section headers and storage values) match the provided name, using the Etherscan and Superchain Registry links provided. This validates the bytecode deployed at the addresses contains the correct logic.\n- All key values match the semantic meaning provided, which can be validated using the storage layout links provided.\n\n## State Overrides\n\n### `0x0fe884546476dDd290eC46318785046ef68a0BA9` (`ProxyAdminOwner`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n## State Changes\n\n### `0x0fe884546476dDd290eC46318785046ef68a0BA9` (`ProxyAdminOwner`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000003` <br/>\n  **Before**: `0x000000000000000000000000000000000000000000000000000000000000000e` <br/>\n  **After**: `0x0000000000000000000000000000000000000000000000000000000000000002` <br/>\n  **Meaning**: Decrease owner count from 14 to 2.\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Before**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **After**: `0x0000000000000000000000000000000000000000000000000000000000000002` <br/>\n  **Meaning**: Update threshold from 1 to 2. This is really decreasing from 3 to 2 but the simulation presents this way because of the state override.\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n  **Before**: `0x0000000000000000000000000000000000000000000000000000000000000011` <br/>\n  **After**: `0x0000000000000000000000000000000000000000000000000000000000000012` <br/>\n  **Meaning**: Nonce increment.\n\n- **Key**: `0x2146980ccf4a7741c01fd860f90d2fab597ba25316f4b73d17092ab48b2eb5ce` <br/>\n  **Before**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n  **After**: `0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a` <br/>\n  **Meaning**: Adds `0x6af0674791925f767060dd52f7fb20984e8639d8` to the owners linked list pointing to `0x646132a1667ca7ad00d36616afba1a28116c770a`\n  **Verify**: Verify key with `cast index address 0x6af0674791925f767060dd52f7fb20984e8639d8 2`\n\n- **Key**: `0xda056de0e460c75e5163abc19a3eb1ec6a9ada3e95462ea3fc0925b123fc73d9` <br/>\n  **Before**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n  **After**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Adds `0x646132a1667ca7ad00d36616afba1a28116c770a` as the tail of the owners linked list.\n  **Verify**: Verify key with `cast index address 0x646132a1667ca7ad00d36616afba1a28116c770a 2`\n\n- **Key**: `0x4bf34efa2cf5d17da7425df2ee4f6191d734167ae5ba396b1eaa05b9d92099f6` <br/>\n  **Before**: `0x000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179` <br/>\n  **After**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n  **Meaning**: Removes `0xee316db0edaee45347dfc498795a01311f085225` from the owners list. Was previously pointing to `0x420c8fE1dDb0593c71487445576c87c17f177179`.\n  **Verify**: Verify key with `cast index address 0xee316db0edaee45347dfc498795a01311f085225 2`\n\n- **Key**: `0x563d4ddf297b5a92e03dce553dc56572bfee245f134f6db63397742b674f94dd` <br/>\n  **Before**: `0x000000000000000000000000ee316db0edaee45347dfc498795a01311f085225` <br/>\n  **After**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n  **Meaning**: Removes `0xb2d9a52e76841279ef0372c534c539a4f68f8c0b` from the owners list. Was previously pointing to `0xee316db0edaee45347dfc498795a01311f085225`.\n  **Verify**: Verify key with `cast index address 0xb2d9a52e76841279ef0372c534c539a4f68f8c0b 2`\n\n- **Key**: `0x58d120a0b20e1a9e1a4e5e474f65af5c48d6f00c80f80d95320860a00359ab1a` <br/>\n  **Before**: `0x0000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e26` <br/>\n  **After**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n  **Meaning**: Removes `0xa8c40cc18581ff25c0d2605631514cca6590c503` from the owners list. Was previously pointing to `0x2fa5d8294575a8fa880a8aec008b860fb6a70e26`.\n  **Verify**: Verify key with `cast index address 0xa8c40cc18581ff25c0d2605631514cca6590c503 2`\n\n- **Key**: `0x7a83097f5b56a04accdbc8d4b0501bec3106db0d2c2ea1a63e7cbbf0fa91372d` <br/>\n  **Before**: `0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b` <br/>\n  **After**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n  **Meaning**: Removes `0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252` from the owners list. Was previously pointing to `0xb2d9a52e76841279ef0372c534c539a4f68f8c0b`.\n  **Verify**: Verify key with `cast index address 0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252 2`\n\n- **Key**: `0x7be060a34deb1d91639bcd2c9d7b1a34999e25875869cc3a83bb8d21aae3abe8` <br/>\n  **Before**: `0x00000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4` <br/>\n  **After**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n  **Meaning**: Removes `0x2fa5d8294575a8fa880a8aec008b860fb6a70e26` from the owners list. Was previously pointing to `0x79dc63ba7b5d9817a0f0840cd5373292e86735e4`.\n  **Verify**: Verify key with `cast index address 0x2fa5d8294575a8fa880a8aec008b860fb6a70e26 2`\n\n- **Key**: `0xa17f6b5d5c5960e10cb741113b64d7f023e3513339475444585747297bf07208` <br/>\n  **Before**: `0x0000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799` <br/>\n  **After**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n  **Meaning**: Removes `0x4ffd98b5eea905ec25aa3daf180552f67873ed78` from the owners list. Was previously pointing to `0x9b43cc2ef6fa521127ade09e20efd6abbc5bf799`.\n  **Verify**: Verify key with `cast index address 0x4ffd98b5eea905ec25aa3daf180552f67873ed78 2`\n\n- **Key**: `0xa4a7a27737970be72bc7ea3d1499d5a7ca677dcfe71298e98f16342b46fd6324` <br/>\n  **Before**: `0x000000000000000000000000b04e501237d9a941b130172868201dee9b965c38` <br/>\n  **After**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n  **Meaning**: Removes `0x066a2b1419ccf2e1e672a03f14cc1d1146e717a0` from the owners list. Was previously pointing to `0xb04e501237d9a941b130172868201dee9b965c38`.\n  **Verify**: Verify key with `cast index address 0x066a2b1419ccf2e1e672a03f14cc1d1146e717a0 2`\n\n- **Key**: `0xa90dbf3509e5dacce4ce51b1e0056ed396086cef191332ab4a46abeba6c00648` <br/>\n  **Before**: `0x000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0` <br/>\n  **After**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n  **Meaning**: Removes `0x79dc63ba7b5d9817a0f0840cd5373292e86735e4` from the owners list. Was previously pointing to `0x066a2b1419ccf2e1e672a03f14cc1d1146e717a0`.\n  **Verify**: Verify key with `cast index address 0x79dc63ba7b5d9817a0f0840cd5373292e86735e4 2`\n\n- **Key**: `0xc737cf9e0b995a0b7c95319fd1b2a1daedbcafc9b244731b97e04bbf2a8067f3` <br/>\n  **Before**: `0x0000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252` <br/>\n  **After**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n  **Meaning**: Removes `0x7f10098bd53519c739ca8a404afe127647d94774` from the owners list. Was previously pointing to `0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252`.\n  **Verify**: Verify key with `cast index address 0x7f10098bd53519c739ca8a404afe127647d94774 2`\n\n- **Key**: `0xcd8fdd39f0d4ab3740418f660069bb6ed71bb4dd40a37a6eb4fee616a1dc1b08` <br/>\n  **Before**: `0x0000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed78` <br/>\n  **After**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n  **Meaning**: Removes `0xb04e501237d9a941b130172868201dee9b965c38` from the owners list. Was previously pointing to `0x4ffd98b5eea905ec25aa3daf180552f67873ed78`.\n  **Verify**: Verify key with `cast index address 0xb04e501237d9a941b130172868201dee9b965c38 2`\n\n- **Key**: `0xd5a3955556fe832b0d9dee1f7edb84880eee53ea4dc4e838bfa6bebc90480c2a` <br/>\n  **Before**: `0x000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d` <br/>\n  **After**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n  **Meaning**: Removes `0x9b43cc2ef6fa521127ade09e20efd6abbc5bf799` from the owners list. Was previously pointing to `0x644d0f5c2c55a4679b4bfe057b87ba203af9ac0d`.\n  **Verify**: Verify key with `cast index address 0x9b43cc2ef6fa521127ade09e20efd6abbc5bf799 2`\n\n- **Key**: `0xdbe1c9b8b04b880813d25a9c5e89056031fb59c22374b4ee4da23606ff9ee5f5` <br/>\n  **Before**: `0x000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e` <br/>\n  **After**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n  **Meaning**: Removes `0x644d0f5c2c55a4679b4bfe057b87ba203af9ac0d` from the owners list. Was previously pointing to `0xaa2489debf1ef02ab83ba6cde4419e662de9254e`.\n  **Verify**: Verify key with `cast index address 0x644d0f5c2c55a4679b4bfe057b87ba203af9ac0d 2`\n\n- **Key**: `0xdd723b4c2a66aea3d2ac26f837bd1e7dea4ce6cca7e4fa76af2185076784453f` <br/>\n  **Before**: `0x000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c503` <br/>\n  **After**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n  **Meaning**: Removes `0x420c8fe1ddb0593c71487445576c87c17f177179` from the owners list. Was previously pointing to `0xa8c40cc18581ff25c0d2605631514cca6590c503`.\n  **Verify**: Verify key with `cast index address 0x420c8fe1ddb0593c71487445576c87c17f177179 2`\n\n- **Key**: `0xe475b9e5509f43031ff937d793c47553513dacb8de5b10e556e7da05bd6d6e54` <br/>\n  **Before**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **After**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n  **Meaning**: Removes `0xaa2489debf1ef02ab83ba6cde4419e662de9254e` from the owners list. Was previously pointing to `0x0000000000000000000000000000000000000001` which marks the tail of the list.\n  **Verify**: Verify key with `cast index address 0xaa2489debf1ef02ab83ba6cde4419e662de9254e 2`\n\n- **Key**: `0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0` <br/>\n  **Before**: `0x0000000000000000000000007f10098bd53519c739ca8a404afe127647d94774` <br/>\n  **After**: `0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8` <br/>\n  **Meaning**: Updates head of owners linked list from `0x7f10098BD53519c739cA8A404afE127647D94774` to `0x6af0674791925f767060dd52f7fb20984e8639d8`\n  **Verify**: Verify key with `cast index address 0x0000000000000000000000000000000000000001 2`\n\nYou should also see nonce updates for the address you're signing with.\n"
  },
  {
    "path": "sepolia/2025-03-14-mirror-mainnet-hierarchy/addresses.json",
    "content": "{\n  \"SafeA\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n  \"SafeB\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\"\n}\n"
  },
  {
    "path": "sepolia/2025-03-14-mirror-mainnet-hierarchy/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "sepolia/2025-03-14-mirror-mainnet-hierarchy/records/DeploySafes.s.sol/11155111/run-1742037481.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xa4d699bb96247f5ebc9d0279e2a7396ab1761998522726721508f021cc818007\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"GnosisSafeProxy\",\n      \"contractAddress\": \"0x06c8f4371b708d0b4911aa2cca07bf14904a3111\",\n      \"function\": null,\n      \"arguments\": [\n        \"0xFFcaF1c5cc584d6cfb17DbC1944d900459b45227\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x240cc\",\n        \"value\": \"0x0\",\n        \"input\": \"0x608060405234801561000f575f80fd5b5060405161018f38038061018f83398101604081905261002e916100b7565b6001600160a01b0381166100935760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b5f80546001600160a01b0319166001600160a01b03929092169190911790556100e4565b5f602082840312156100c7575f80fd5b81516001600160a01b03811681146100dd575f80fd5b9392505050565b609f806100f05f395ff3fe608060405273ffffffffffffffffffffffffffffffffffffffff5f54167fa619486e000000000000000000000000000000000000000000000000000000005f3503604b57805f5260205ff35b365f80375f80365f845af490503d5f803e806064573d5ffd5b503d5ff3fea26469706673582212208e538dc4db03bb49b0d91fd4fa5ba3f26e23132bbe3332b7604c9091af9fca0564736f6c63430008180033000000000000000000000000ffcaf1c5cc584d6cfb17dbc1944d900459b45227\",\n        \"nonce\": \"0x2c\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x3b4661bbeb1542bc1b69996706e9dff578f6b618425b4c2fa348c537dd675ea2\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"GnosisSafeProxy\",\n      \"contractAddress\": \"0x06c8f4371b708d0b4911aa2cca07bf14904a3111\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"to\": \"0x06c8f4371b708d0b4911aa2cca07bf14904a3111\",\n        \"gas\": \"0xa2075\",\n        \"value\": \"0x0\",\n        \"input\": \"0xb63e800d00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000295f73c663843302591290b7dd4520bf23e6a5f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000007f10098bd53519c739ca8a404afe127647d947740000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000ee316db0edaee45347dfc498795a01311f085225000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c5030000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e2600000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0000000000000000000000000b04e501237d9a941b130172868201dee9b965c380000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e0000000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x2d\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x4d3b2b34c34368e2003a0deface5469e17a566f6f37b0c0270e4489c022fd2d9\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"GnosisSafeProxy\",\n      \"contractAddress\": \"0xb9d174e999f2450ae87ca69e367c433ee25a01c1\",\n      \"function\": null,\n      \"arguments\": [\n        \"0xFFcaF1c5cc584d6cfb17DbC1944d900459b45227\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x240cc\",\n        \"value\": \"0x0\",\n        \"input\": \"0x608060405234801561000f575f80fd5b5060405161018f38038061018f83398101604081905261002e916100b7565b6001600160a01b0381166100935760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b5f80546001600160a01b0319166001600160a01b03929092169190911790556100e4565b5f602082840312156100c7575f80fd5b81516001600160a01b03811681146100dd575f80fd5b9392505050565b609f806100f05f395ff3fe608060405273ffffffffffffffffffffffffffffffffffffffff5f54167fa619486e000000000000000000000000000000000000000000000000000000005f3503604b57805f5260205ff35b365f80375f80365f845af490503d5f803e806064573d5ffd5b503d5ff3fea26469706673582212208e538dc4db03bb49b0d91fd4fa5ba3f26e23132bbe3332b7604c9091af9fca0564736f6c63430008180033000000000000000000000000ffcaf1c5cc584d6cfb17dbc1944d900459b45227\",\n        \"nonce\": \"0x2e\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xd9bbae3caaa1dd5bd2f0436f25945d379d2f74716f9e637eba5ff5725e7f9496\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"GnosisSafeProxy\",\n      \"contractAddress\": \"0xb9d174e999f2450ae87ca69e367c433ee25a01c1\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"to\": \"0xb9d174e999f2450ae87ca69e367c433ee25a01c1\",\n        \"gas\": \"0xa2075\",\n        \"value\": \"0x0\",\n        \"input\": \"0xb63e800d00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000295f73c663843302591290b7dd4520bf23e6a5f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000007f10098bd53519c739ca8a404afe127647d947740000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000ee316db0edaee45347dfc498795a01311f085225000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c5030000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e2600000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0000000000000000000000000b04e501237d9a941b130172868201dee9b965c380000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e0000000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x2f\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xc9ef04\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xa4d699bb96247f5ebc9d0279e2a7396ab1761998522726721508f021cc818007\",\n      \"transactionIndex\": \"0x93\",\n      \"blockHash\": \"0xad28547ae36d25ee161a1cc5e737e9c34fd8ac3335d145a2ebc81774275d86a6\",\n      \"blockNumber\": \"0x78a6bc\",\n      \"gasUsed\": \"0x1bbb1\",\n      \"effectiveGasPrice\": \"0x1d0f71a53\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0x06c8f4371b708d0b4911aa2cca07bf14904a3111\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xdda6d4\",\n      \"logs\": [\n        {\n          \"address\": \"0x06c8f4371b708d0b4911aa2cca07bf14904a3111\",\n          \"topics\": [\n            \"0x141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a8\",\n            \"0x0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000295f73c663843302591290b7dd4520bf23e6a5f0000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000007f10098bd53519c739ca8a404afe127647d947740000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000ee316db0edaee45347dfc498795a01311f085225000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c5030000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e2600000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0000000000000000000000000b04e501237d9a941b130172868201dee9b965c380000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e\",\n          \"blockHash\": \"0x57f14f0e97238f5d80d21dbadd891e89fac6d51e90a16ebe4daf0875b591473f\",\n          \"blockNumber\": \"0x78a6bd\",\n          \"transactionHash\": \"0x3b4661bbeb1542bc1b69996706e9dff578f6b618425b4c2fa348c537dd675ea2\",\n          \"transactionIndex\": \"0x81\",\n          \"logIndex\": \"0xde\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000008000000000000000000000000004000000100000000000000000000000000000000000000000000000000000000000000000000000000000000080000800000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x3b4661bbeb1542bc1b69996706e9dff578f6b618425b4c2fa348c537dd675ea2\",\n      \"transactionIndex\": \"0x81\",\n      \"blockHash\": \"0x57f14f0e97238f5d80d21dbadd891e89fac6d51e90a16ebe4daf0875b591473f\",\n      \"blockNumber\": \"0x78a6bd\",\n      \"gasUsed\": \"0x754e5\",\n      \"effectiveGasPrice\": \"0x1d0fe9337\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": \"0x06c8f4371b708d0b4911aa2cca07bf14904a3111\",\n      \"contractAddress\": null\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xdce8db\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x4d3b2b34c34368e2003a0deface5469e17a566f6f37b0c0270e4489c022fd2d9\",\n      \"transactionIndex\": \"0x93\",\n      \"blockHash\": \"0xb83bb371e7ab57edc1c070e7c5df76084dbbb43ffbcb6664dd8a90ba37f99ca4\",\n      \"blockNumber\": \"0x78a6c0\",\n      \"gasUsed\": \"0x1bbb1\",\n      \"effectiveGasPrice\": \"0x1da661a16\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0xb9d174e999f2450ae87ca69e367c433ee25a01c1\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1abe611\",\n      \"logs\": [\n        {\n          \"address\": \"0xb9d174e999f2450ae87ca69e367c433ee25a01c1\",\n          \"topics\": [\n            \"0x141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a8\",\n            \"0x0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000295f73c663843302591290b7dd4520bf23e6a5f0000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000007f10098bd53519c739ca8a404afe127647d947740000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000ee316db0edaee45347dfc498795a01311f085225000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c5030000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e2600000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0000000000000000000000000b04e501237d9a941b130172868201dee9b965c380000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e\",\n          \"blockHash\": \"0x69615d6be5b2872a650d663203b7ad1f52e791adf4d5e0eab6400be94e66895c\",\n          \"blockNumber\": \"0x78a6c2\",\n          \"transactionHash\": \"0xd9bbae3caaa1dd5bd2f0436f25945d379d2f74716f9e637eba5ff5725e7f9496\",\n          \"transactionIndex\": \"0xdd\",\n          \"logIndex\": \"0x13e\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000008000000000000000000000000004000000100000000000000000000000000000000000000000000000000000010000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xd9bbae3caaa1dd5bd2f0436f25945d379d2f74716f9e637eba5ff5725e7f9496\",\n      \"transactionIndex\": \"0xdd\",\n      \"blockHash\": \"0x69615d6be5b2872a650d663203b7ad1f52e791adf4d5e0eab6400be94e66895c\",\n      \"blockNumber\": \"0x78a6c2\",\n      \"gasUsed\": \"0x754e5\",\n      \"effectiveGasPrice\": \"0x1b3200815\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": \"0xb9d174e999f2450ae87ca69e367c433ee25a01c1\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1742037481,\n  \"chain\": 11155111,\n  \"commit\": \"1fc54a0\"\n}"
  },
  {
    "path": "sepolia/2025-03-14-mirror-mainnet-hierarchy/records/DeploySafes.s.sol/11155111/run-1742418121.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x33d11d8394d8739755583bd623de6815e4c68aa92ee9c9df7b36802df143e891\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"GnosisSafeProxy\",\n      \"contractAddress\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x90Ff2f4fAB3fB886cC60A1A5D5cAc2E774b5ce03\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x240cc\",\n        \"value\": \"0x0\",\n        \"input\": \"0x608060405234801561000f575f80fd5b5060405161018f38038061018f83398101604081905261002e916100b7565b6001600160a01b0381166100935760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b5f80546001600160a01b0319166001600160a01b03929092169190911790556100e4565b5f602082840312156100c7575f80fd5b81516001600160a01b03811681146100dd575f80fd5b9392505050565b609f806100f05f395ff3fe608060405273ffffffffffffffffffffffffffffffffffffffff5f54167fa619486e000000000000000000000000000000000000000000000000000000005f3503604b57805f5260205ff35b365f80375f80365f845af490503d5f803e806064573d5ffd5b503d5ff3fea26469706673582212208e538dc4db03bb49b0d91fd4fa5ba3f26e23132bbe3332b7604c9091af9fca0564736f6c6343000818003300000000000000000000000090ff2f4fab3fb886cc60a1a5d5cac2e774b5ce03\",\n        \"nonce\": \"0x3c\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xd7bcf57ba663611d93071803be5d5885046466ff62fadfaf712e35fc2bab563d\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"GnosisSafeProxy\",\n      \"contractAddress\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n        \"gas\": \"0x9fa30\",\n        \"value\": \"0x0\",\n        \"input\": \"0xb63e800d00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000094efe8be8e8e726cbc2ce0cda98ae0d55de2453b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000007f10098bd53519c739ca8a404afe127647d947740000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000ee316db0edaee45347dfc498795a01311f085225000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c5030000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e2600000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0000000000000000000000000b04e501237d9a941b130172868201dee9b965c380000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e0000000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x3d\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xd4f7bfb3fb4e4ed56eaab70d448ca5cf6c305318323bb5261d7aa33a1c46aabd\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"GnosisSafeProxy\",\n      \"contractAddress\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x90Ff2f4fAB3fB886cC60A1A5D5cAc2E774b5ce03\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x240cc\",\n        \"value\": \"0x0\",\n        \"input\": \"0x608060405234801561000f575f80fd5b5060405161018f38038061018f83398101604081905261002e916100b7565b6001600160a01b0381166100935760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b5f80546001600160a01b0319166001600160a01b03929092169190911790556100e4565b5f602082840312156100c7575f80fd5b81516001600160a01b03811681146100dd575f80fd5b9392505050565b609f806100f05f395ff3fe608060405273ffffffffffffffffffffffffffffffffffffffff5f54167fa619486e000000000000000000000000000000000000000000000000000000005f3503604b57805f5260205ff35b365f80375f80365f845af490503d5f803e806064573d5ffd5b503d5ff3fea26469706673582212208e538dc4db03bb49b0d91fd4fa5ba3f26e23132bbe3332b7604c9091af9fca0564736f6c6343000818003300000000000000000000000090ff2f4fab3fb886cc60a1a5d5cac2e774b5ce03\",\n        \"nonce\": \"0x3e\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x540728ac420b0f7419fe921668168ddc9699da29200ed80cbd19fb65083ae322\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"GnosisSafeProxy\",\n      \"contractAddress\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n        \"gas\": \"0x9fa30\",\n        \"value\": \"0x0\",\n        \"input\": \"0xb63e800d00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000094efe8be8e8e726cbc2ce0cda98ae0d55de2453b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000007f10098bd53519c739ca8a404afe127647d947740000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000ee316db0edaee45347dfc498795a01311f085225000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c5030000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e2600000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0000000000000000000000000b04e501237d9a941b130172868201dee9b965c380000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e0000000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x3f\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xb47c78\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x33d11d8394d8739755583bd623de6815e4c68aa92ee9c9df7b36802df143e891\",\n      \"transactionIndex\": \"0x62\",\n      \"blockHash\": \"0xe7569d6c35342af09dbb186d7b966d6031bf68b6df462d1703982336d58a0abb\",\n      \"blockNumber\": \"0x791e63\",\n      \"gasUsed\": \"0x1bbb1\",\n      \"effectiveGasPrice\": \"0x4a3403\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xbe077f\",\n      \"logs\": [\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a8\",\n            \"0x0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094efe8be8e8e726cbc2ce0cda98ae0d55de2453b000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000007f10098bd53519c739ca8a404afe127647d947740000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000ee316db0edaee45347dfc498795a01311f085225000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c5030000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e2600000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0000000000000000000000000b04e501237d9a941b130172868201dee9b965c380000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e\",\n          \"blockHash\": \"0xe7569d6c35342af09dbb186d7b966d6031bf68b6df462d1703982336d58a0abb\",\n          \"blockNumber\": \"0x791e63\",\n          \"transactionHash\": \"0xd7bcf57ba663611d93071803be5d5885046466ff62fadfaf712e35fc2bab563d\",\n          \"transactionIndex\": \"0x64\",\n          \"logIndex\": \"0x5e\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000008000000000000000000000000004000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000800000000000000000000004000020000000000000000000000000000000000000000020000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xd7bcf57ba663611d93071803be5d5885046466ff62fadfaf712e35fc2bab563d\",\n      \"transactionIndex\": \"0x64\",\n      \"blockHash\": \"0xe7569d6c35342af09dbb186d7b966d6031bf68b6df462d1703982336d58a0abb\",\n      \"blockNumber\": \"0x791e63\",\n      \"gasUsed\": \"0x73930\",\n      \"effectiveGasPrice\": \"0x4a3403\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"contractAddress\": null\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x84a35f\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xd4f7bfb3fb4e4ed56eaab70d448ca5cf6c305318323bb5261d7aa33a1c46aabd\",\n      \"transactionIndex\": \"0x3d\",\n      \"blockHash\": \"0xabaed8f1d2483cd33e88c29c567a3f2803e758acf276b7a4f9ffa8c86868eb06\",\n      \"blockNumber\": \"0x791e64\",\n      \"gasUsed\": \"0x1bbb1\",\n      \"effectiveGasPrice\": \"0x47efd8\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x8bdc8f\",\n      \"logs\": [\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a8\",\n            \"0x0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094efe8be8e8e726cbc2ce0cda98ae0d55de2453b000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000007f10098bd53519c739ca8a404afe127647d947740000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000ee316db0edaee45347dfc498795a01311f085225000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c5030000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e2600000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0000000000000000000000000b04e501237d9a941b130172868201dee9b965c380000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e\",\n          \"blockHash\": \"0xabaed8f1d2483cd33e88c29c567a3f2803e758acf276b7a4f9ffa8c86868eb06\",\n          \"blockNumber\": \"0x791e64\",\n          \"transactionHash\": \"0x540728ac420b0f7419fe921668168ddc9699da29200ed80cbd19fb65083ae322\",\n          \"transactionIndex\": \"0x3e\",\n          \"logIndex\": \"0x3f\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000008000000000000000000000000004000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000010000000000020000000000000000000000008000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x540728ac420b0f7419fe921668168ddc9699da29200ed80cbd19fb65083ae322\",\n      \"transactionIndex\": \"0x3e\",\n      \"blockHash\": \"0xabaed8f1d2483cd33e88c29c567a3f2803e758acf276b7a4f9ffa8c86868eb06\",\n      \"blockNumber\": \"0x791e64\",\n      \"gasUsed\": \"0x73930\",\n      \"effectiveGasPrice\": \"0x47efd8\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1742418121,\n  \"chain\": 11155111,\n  \"commit\": \"1e1892c\"\n}"
  },
  {
    "path": "sepolia/2025-03-14-mirror-mainnet-hierarchy/records/UpdateSigners.s.sol/11155111/run-1742902176.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000000000000000000000000000000000000000006c000000000000000000000000000000000000000000000000000000000000007c000000000000000000000000000000000000000000000000000000000000008c000000000000000000000000000000000000000000000000000000000000009c00000000000000000000000000000000000000000000000000000000000000ac00000000000000000000000000000000000000000000000000000000000000bc00000000000000000000000000000000000000000000000000000000000000cc00000000000000000000000000000000000000000000000000000000000000dc00000000000000000000000000000000000000000000000000000000000000ec00000000000000000000000000000000000000000000000000000000000000fc000000000000000000000000000000000000000000000000000000000000010c00000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000007f10098bd53519c739ca8a404afe127647d947740000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe072520000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000ee316db0edaee45347dfc498795a01311f0852250000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000420c8fe1ddb0593c71487445576c87c17f1771790000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c5030000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e260000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a00000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e40000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000b04e501237d9a941b130172868201dee9b965c380000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf7990000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x61debecb43919d000fc9ca914bdac8110ec2b861194f3703fd45abbb5df3f86c5749e26def15da219e3ade4bedeaa1574c9b87889c6c5fbeaf556e30425746d21b5e7ff885782581c15a35d0ec3b55fbabc1aff635b8f0b6d87e28e8928a5acf2b6e09cf7eaee698f91032ce59a58d4d4df59b2ab23de53908474390c2ba6c8cdb1c5140bcc600ac3de8b031dc88d687ce634b52cc95b03f48e8426bd76126dc674848b09b85eba9b976055fecade4f701fad2e2e94af35fd8b7d835b27c2469a5281c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n        \"gas\": \"0x6387d\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001380000000000000000000000000000000000000000000000000000000000000120482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000000000000000000000000000000000000000006c000000000000000000000000000000000000000000000000000000000000007c000000000000000000000000000000000000000000000000000000000000008c000000000000000000000000000000000000000000000000000000000000009c00000000000000000000000000000000000000000000000000000000000000ac00000000000000000000000000000000000000000000000000000000000000bc00000000000000000000000000000000000000000000000000000000000000cc00000000000000000000000000000000000000000000000000000000000000dc00000000000000000000000000000000000000000000000000000000000000ec00000000000000000000000000000000000000000000000000000000000000fc000000000000000000000000000000000000000000000000000000000000010c00000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000007f10098bd53519c739ca8a404afe127647d947740000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe072520000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000ee316db0edaee45347dfc498795a01311f0852250000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000420c8fe1ddb0593c71487445576c87c17f1771790000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c5030000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e260000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a00000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e40000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000b04e501237d9a941b130172868201dee9b965c380000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf7990000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c361debecb43919d000fc9ca914bdac8110ec2b861194f3703fd45abbb5df3f86c5749e26def15da219e3ade4bedeaa1574c9b87889c6c5fbeaf556e30425746d21b5e7ff885782581c15a35d0ec3b55fbabc1aff635b8f0b6d87e28e8928a5acf2b6e09cf7eaee698f91032ce59a58d4d4df59b2ab23de53908474390c2ba6c8cdb1c5140bcc600ac3de8b031dc88d687ce634b52cc95b03f48e8426bd76126dc674848b09b85eba9b976055fecade4f701fad2e2e94af35fd8b7d835b27c2469a5281c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x29\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1218b35\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013a000000000000000000000000000000000000000000000000000000000000014a0000000000000000000000000000000000000000000000000000000000000120482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000000000000000000000000000000000000000006c000000000000000000000000000000000000000000000000000000000000007c000000000000000000000000000000000000000000000000000000000000008c000000000000000000000000000000000000000000000000000000000000009c00000000000000000000000000000000000000000000000000000000000000ac00000000000000000000000000000000000000000000000000000000000000bc00000000000000000000000000000000000000000000000000000000000000cc00000000000000000000000000000000000000000000000000000000000000dc00000000000000000000000000000000000000000000000000000000000000ec00000000000000000000000000000000000000000000000000000000000000fc000000000000000000000000000000000000000000000000000000000000010c00000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000007f10098bd53519c739ca8a404afe127647d947740000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe072520000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000ee316db0edaee45347dfc498795a01311f0852250000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000420c8fe1ddb0593c71487445576c87c17f1771790000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c5030000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e260000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a00000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e40000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000b04e501237d9a941b130172868201dee9b965c380000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf7990000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c361debecb43919d000fc9ca914bdac8110ec2b861194f3703fd45abbb5df3f86c5749e26def15da219e3ade4bedeaa1574c9b87889c6c5fbeaf556e30425746d21b5e7ff885782581c15a35d0ec3b55fbabc1aff635b8f0b6d87e28e8928a5acf2b6e09cf7eaee698f91032ce59a58d4d4df59b2ab23de53908474390c2ba6c8cdb1c5140bcc600ac3de8b031dc88d687ce634b52cc95b03f48e8426bd76126dc674848b09b85eba9b976055fecade4f701fad2e2e94af35fd8b7d835b27c2469a5281c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000110000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe072520000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076\",\n          \"blockNumber\": \"0x79bb99\",\n          \"transactionHash\": \"0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684\",\n          \"transactionIndex\": \"0x52\",\n          \"logIndex\": \"0x85\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"blockHash\": \"0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076\",\n          \"blockNumber\": \"0x79bb99\",\n          \"transactionHash\": \"0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684\",\n          \"transactionIndex\": \"0x52\",\n          \"logIndex\": \"0x86\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c93\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000002\",\n          \"blockHash\": \"0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076\",\n          \"blockNumber\": \"0x79bb99\",\n          \"transactionHash\": \"0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684\",\n          \"transactionIndex\": \"0x52\",\n          \"logIndex\": \"0x87\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\",\n          \"blockHash\": \"0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076\",\n          \"blockNumber\": \"0x79bb99\",\n          \"transactionHash\": \"0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684\",\n          \"transactionIndex\": \"0x52\",\n          \"logIndex\": \"0x88\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x0000000000000000000000007f10098bd53519c739ca8a404afe127647d94774\",\n          \"blockHash\": \"0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076\",\n          \"blockNumber\": \"0x79bb99\",\n          \"transactionHash\": \"0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684\",\n          \"transactionIndex\": \"0x52\",\n          \"logIndex\": \"0x89\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x0000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n          \"blockHash\": \"0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076\",\n          \"blockNumber\": \"0x79bb99\",\n          \"transactionHash\": \"0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684\",\n          \"transactionIndex\": \"0x52\",\n          \"logIndex\": \"0x8a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n          \"blockHash\": \"0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076\",\n          \"blockNumber\": \"0x79bb99\",\n          \"transactionHash\": \"0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684\",\n          \"transactionIndex\": \"0x52\",\n          \"logIndex\": \"0x8b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x000000000000000000000000ee316db0edaee45347dfc498795a01311f085225\",\n          \"blockHash\": \"0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076\",\n          \"blockNumber\": \"0x79bb99\",\n          \"transactionHash\": \"0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684\",\n          \"transactionIndex\": \"0x52\",\n          \"logIndex\": \"0x8c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179\",\n          \"blockHash\": \"0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076\",\n          \"blockNumber\": \"0x79bb99\",\n          \"transactionHash\": \"0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684\",\n          \"transactionIndex\": \"0x52\",\n          \"logIndex\": \"0x8d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c503\",\n          \"blockHash\": \"0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076\",\n          \"blockNumber\": \"0x79bb99\",\n          \"transactionHash\": \"0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684\",\n          \"transactionIndex\": \"0x52\",\n          \"logIndex\": \"0x8e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x0000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e26\",\n          \"blockHash\": \"0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076\",\n          \"blockNumber\": \"0x79bb99\",\n          \"transactionHash\": \"0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684\",\n          \"transactionIndex\": \"0x52\",\n          \"logIndex\": \"0x8f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x00000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4\",\n          \"blockHash\": \"0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076\",\n          \"blockNumber\": \"0x79bb99\",\n          \"transactionHash\": \"0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684\",\n          \"transactionIndex\": \"0x52\",\n          \"logIndex\": \"0x90\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0\",\n          \"blockHash\": \"0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076\",\n          \"blockNumber\": \"0x79bb99\",\n          \"transactionHash\": \"0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684\",\n          \"transactionIndex\": \"0x52\",\n          \"logIndex\": \"0x91\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x000000000000000000000000b04e501237d9a941b130172868201dee9b965c38\",\n          \"blockHash\": \"0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076\",\n          \"blockNumber\": \"0x79bb99\",\n          \"transactionHash\": \"0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684\",\n          \"transactionIndex\": \"0x52\",\n          \"logIndex\": \"0x92\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x0000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed78\",\n          \"blockHash\": \"0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076\",\n          \"blockNumber\": \"0x79bb99\",\n          \"transactionHash\": \"0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684\",\n          \"transactionIndex\": \"0x52\",\n          \"logIndex\": \"0x93\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x0000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799\",\n          \"blockHash\": \"0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076\",\n          \"blockNumber\": \"0x79bb99\",\n          \"transactionHash\": \"0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684\",\n          \"transactionIndex\": \"0x52\",\n          \"logIndex\": \"0x94\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d\",\n          \"blockHash\": \"0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076\",\n          \"blockNumber\": \"0x79bb99\",\n          \"transactionHash\": \"0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684\",\n          \"transactionIndex\": \"0x52\",\n          \"logIndex\": \"0x95\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e\",\n          \"blockHash\": \"0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076\",\n          \"blockNumber\": \"0x79bb99\",\n          \"transactionHash\": \"0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684\",\n          \"transactionIndex\": \"0x52\",\n          \"logIndex\": \"0x96\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x029b34c668dd36404f34d80690f20068c5aa5c9318d6e014b5d9583a53aa4b9c0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076\",\n          \"blockNumber\": \"0x79bb99\",\n          \"transactionHash\": \"0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684\",\n          \"transactionIndex\": \"0x52\",\n          \"logIndex\": \"0x97\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000080000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000010000000000000000000000000000000000020004000008000000200000040800000000000000000000000000000000000000000000000000000000000400000000001000000004000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000040000000000000400000000000000000000000008000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684\",\n      \"transactionIndex\": \"0x52\",\n      \"blockHash\": \"0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076\",\n      \"blockNumber\": \"0x79bb99\",\n      \"gasUsed\": \"0x440e2\",\n      \"effectiveGasPrice\": \"0x2dbdbca0f\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1742902176,\n  \"chain\": 11155111,\n  \"commit\": \"d3774bb\"\n}"
  },
  {
    "path": "sepolia/2025-03-14-mirror-mainnet-hierarchy/script/DeploySafes.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.24;\n\nimport {Script} from \"forge-std/Script.sol\";\nimport {GnosisSafe} from \"safe-smart-account/GnosisSafe.sol\";\nimport {GnosisSafeProxy} from \"safe-smart-account/proxies/GnosisSafeProxy.sol\";\nimport {Strings} from \"@openzeppelin/contracts/utils/Strings.sol\";\n\ncontract DeploySafes is Script {\n    using Strings for address;\n\n    address private SAFE_IMPLEMENTATION = vm.envAddress(\"L1_GNOSIS_SAFE_IMPLEMENTATION\");\n    address private FALLBACK_HANDLER = vm.envAddress(\"L1_GNOSIS_COMPATIBILITY_FALLBACK_HANDLER\");\n    address private OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n    address private zAddr;\n\n    // Need to deploy a SafeA and a SafeB with the same owners as current proxy admin owner\n    function run() public {\n        GnosisSafe ownerSafe = GnosisSafe(payable(OWNER_SAFE));\n        address[] memory owners = ownerSafe.getOwners();\n\n        vm.startBroadcast();\n        // First safe maintains the same owners + threshold as the current proxy admin owner\n        address safeA = _createAndInitProxy(owners, ownerSafe.getThreshold());\n        // Second safe just uses threshold of 1\n        address safeB = _createAndInitProxy(owners, 1);\n        vm.stopBroadcast();\n\n        vm.writeFile(\n            \"addresses.json\",\n            string.concat(\n                \"{\", \"\\\"SafeA\\\": \\\"\", safeA.toHexString(), \"\\\",\", \"\\\"SafeB\\\": \\\"\", safeB.toHexString(), \"\\\"\" \"}\"\n            )\n        );\n    }\n\n    function _createAndInitProxy(address[] memory owners, uint256 threshold) private returns (address) {\n        GnosisSafe proxy = GnosisSafe(payable(address(new GnosisSafeProxy(SAFE_IMPLEMENTATION))));\n        proxy.setup(owners, threshold, zAddr, \"\", FALLBACK_HANDLER, zAddr, 0, payable(zAddr));\n        return address(proxy);\n    }\n}\n"
  },
  {
    "path": "sepolia/2025-03-14-mirror-mainnet-hierarchy/script/UpdateSigners.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.24;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {stdJson} from \"forge-std/StdJson.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\n\nimport {MultisigBuilder} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {GnosisSafe} from \"safe-smart-account/GnosisSafe.sol\";\nimport {OwnerManager} from \"safe-smart-account/base/OwnerManager.sol\";\n\n// Adds `SAFE_A` and `SAFE_B` as owners to `OWNER_SAFE` and sets threshold to 2\n// `SAFE_A` and `SAFE_B` should have same owners as `OWNER_SAFE`\n// `SAFE_A` should have same threshold as `OWNER_SAFE`. `SAFE_B` should have threshold 1\ncontract UpdateSigners is MultisigBuilder {\n    using stdJson for string;\n\n    address payable private SAFE_A;\n    address payable private SAFE_B;\n\n    uint256 internal constant THRESHOLD = 2;\n    address payable internal OWNER_SAFE = payable(vm.envAddress(\"OWNER_SAFE\"));\n    string private ADDRESSES;\n\n    address[] private A_OWNERS;\n    address[] private B_OWNERS;\n\n    uint256 private A_THRESHOLD;\n    uint256 private B_THRESHOLD;\n\n    function setUp() public {\n        string memory rootPath = vm.projectRoot();\n        string memory path = string.concat(rootPath, \"/addresses.json\");\n        ADDRESSES = vm.readFile(path);\n\n        SAFE_A = payable(ADDRESSES.readAddress(\".SafeA\"));\n        SAFE_B = payable(ADDRESSES.readAddress(\".SafeB\"));\n\n        A_OWNERS = GnosisSafe(SAFE_A).getOwners();\n        A_THRESHOLD = GnosisSafe(SAFE_A).getThreshold();\n\n        B_OWNERS = GnosisSafe(SAFE_B).getOwners();\n        B_THRESHOLD = GnosisSafe(SAFE_B).getThreshold();\n\n        address[] memory ownerSafeOwners = GnosisSafe(OWNER_SAFE).getOwners();\n        uint256 ownerSafeThreshold = GnosisSafe(OWNER_SAFE).getThreshold();\n\n        require(ownerSafeOwners.length == A_OWNERS.length, \"Precheck owner count mismatch - A\");\n        require(ownerSafeOwners.length == B_OWNERS.length, \"Precheck owner count mismatch - B\");\n\n        require(ownerSafeThreshold == A_THRESHOLD, \"Precheck threshold mismatch - A\");\n        require(B_THRESHOLD == 1, \"Precheck threshold mismatch - B\");\n\n        for (uint256 i; i < ownerSafeOwners.length; i++) {\n            require(ownerSafeOwners[i] == A_OWNERS[i], \"Precheck owner mismatch - A\");\n            require(ownerSafeOwners[i] == B_OWNERS[i], \"Precheck owner mismatch - B\");\n        }\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        address[] memory aOwners = GnosisSafe(SAFE_A).getOwners();\n        address[] memory bOwners = GnosisSafe(SAFE_B).getOwners();\n\n        uint256 aThreshold = GnosisSafe(SAFE_A).getThreshold();\n        uint256 bThreshold = GnosisSafe(SAFE_B).getThreshold();\n\n        address[] memory ownerSafeOwners = GnosisSafe(OWNER_SAFE).getOwners();\n\n        uint256 ownerSafeThreshold = GnosisSafe(OWNER_SAFE).getThreshold();\n\n        require(aThreshold == A_THRESHOLD, \"Postcheck new signer threshold mismatch - A\");\n        require(bThreshold == B_THRESHOLD, \"Postcheck new signer threshold mismatch - B\");\n\n        require(aOwners.length == A_OWNERS.length, \"Postcheck length mismatch - A\");\n        require(bOwners.length == B_OWNERS.length, \"Postcheck length mismatch - B\");\n\n        require(ownerSafeThreshold == THRESHOLD, \"Postcheck owner threshold mismatch\");\n        require(ownerSafeOwners.length == 2, \"Postcheck owner count mismatch\");\n\n        require(ownerSafeOwners[0] == SAFE_B, \"Postcheck new signer mismatch - B\");\n        require(ownerSafeOwners[1] == SAFE_A, \"Postcheck new signer mismatch - A\");\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](2 + A_OWNERS.length);\n\n        calls[0] = IMulticall3.Call3({\n            target: OWNER_SAFE,\n            allowFailure: false,\n            callData: abi.encodeCall(OwnerManager.addOwnerWithThreshold, (SAFE_A, THRESHOLD))\n        });\n        calls[1] = IMulticall3.Call3({\n            target: OWNER_SAFE,\n            allowFailure: false,\n            callData: abi.encodeCall(OwnerManager.addOwnerWithThreshold, (SAFE_B, THRESHOLD))\n        });\n\n        address prevOwner = SAFE_A;\n\n        for (uint256 i; i < A_OWNERS.length; i++) {\n            calls[2 + i] = IMulticall3.Call3({\n                target: OWNER_SAFE,\n                allowFailure: false,\n                callData: abi.encodeCall(OwnerManager.removeOwner, (prevOwner, A_OWNERS[i], THRESHOLD))\n            });\n        }\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "sepolia/2025-04-01-nested-ownership-transfer/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 1\nendif\n\n.PHONY: deps\ndeps:\n\tforge install --no-git safe-global/safe-smart-account@21dc82410445637820f600c7399a804ad55841d5\n\n.PHONY: deploy\ndeploy:\n\tforge script --rpc-url $(L1_RPC_URL) DeploySafes --account testnet-admin --broadcast -vvvv\n\n.PHONY: sign\nsign:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpdateSigners --sig \"sign()\"\n\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(L1_RPC_URL) UpdateSigners \\\n\t--sig \"run(bytes)\" $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv\n"
  },
  {
    "path": "sepolia/2025-04-01-nested-ownership-transfer/README.md",
    "content": "# Nested Ownership Transfer\n\nStatus: EXECUTED (https://sepolia.etherscan.io/tx/0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed)\n\n## Procedure\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd sepolia/2025-04-01-nested-ownership-transfer\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Run relevant script(s)\n\n#### 3.1 Deploy new Safes\n\n```bash\nmake deploy\n```\n\nThis will output the new addresses of the `SafeA` and `SafeB` contracts to an `addresses.json` file. You will need to commit this file to the repo before signers can sign.\n\n#### 3.2 Sign the transaction\n\n```bash\nmake sign\n```\n\nYou will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and extract the domain hash and message hash to approve on your Ledger:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n##### 3.2.1 Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Sepolia.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not see the derivation path Note above.\n\n##### 3.2.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab, and refer to the [State Validations](./VALIDATION.md) instructions for the transaction you are signing.\nOnce complete return to this document to complete the signing.\n\n##### 3.2.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\nOnce the validations are done, it's time to actually sign the\ntransaction.\n\n> [!WARNING]\n> This is the most security critical part of the playbook: make sure the\n> domain hash and message hash in the following two places match:\n>\n> 1. On your Ledger screen.\n> 2. In the Tenderly simulation. You should use the same Tenderly\n>    simulation as the one you used to verify the state diffs, instead\n>    of opening the new one printed in the console.\n>\n> There is no need to verify anything printed in the console. There is\n> no need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```shell\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n##### 3.2.4 Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n### [For Facilitator ONLY] How to execute\n\n#### Execute the transaction\n\n1. Collect outputs from all participating signers.\n1. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"`.\n1. Run the `make execute` command as described below to execute the transaction.\n\nFor example, if the quorum is 2 and you get the following outputs:\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE01\nSignature: AAAA\n```\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE02\nSignature: BBBB\n```\n\nThen you should run:\n\n```bash\nSIGNATURES=AAAABBBB make execute\n```\n"
  },
  {
    "path": "sepolia/2025-04-01-nested-ownership-transfer/VALIDATION.md",
    "content": "# Validation\n\nThis document can be used to validate the inputs and result of the execution of the upgrade transaction which you are\nsigning.\n\nThe steps are:\n\n1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes)\n2. [Verifying the state changes](#state-changes)\n\n## Expected Domain and Message Hashes\n\nFirst, we need to validate the domain and message hashes. These values should match both the values on your ledger and\nthe values printed to the terminal when you run the task.\n\n> [!CAUTION]\n>\n> Before signing, ensure the below hashes match what is on your ledger.\n>\n> ### Sepolia Safe A: `0x646132a1667ca7ad00d36616afba1a28116c770a`\n>\n> - Domain Hash: `0x1d3f2566fd7b1bf017258b03d4d4d435d326d9cb051d5b7993d7c65e7ec78d0e`\n> - Message Hash: `0xbd6dbdbc796e78642497d9f5a0d57bbc4a82ecda60dc03ecf9e0211b29c262ba`\n\n# State Validations\n\nFor each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract:\n\n- The following state changes (and none others) are made to that contract. This validates that no unexpected state\n  changes occur.\n- All addresses (in section headers and storage values) match the provided name, using the Etherscan and Superchain\n  Registry links provided. This validates the bytecode deployed at the addresses contains the correct logic.\n- All key values match the semantic meaning provided, which can be validated using the storage layout links provided.\n\n## State Overrides\n\n### Nested Safe\n\n`0x646132a1667ca7ad00d36616afba1a28116c770a` (`Safe A`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n## Task State Changes\n\n<pre>\n<code>\n----- DecodedStateDiff[0] -----\n  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A\n  Contract:          Signer Safe - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0x0000000000000000000000000000000000000000000000000000000000000003\n  Raw Old Value:     0x000000000000000000000000000000000000000000000000000000000000000e\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000002\n  Decoded Kind:      uint256\n  Decoded Old Value: 14\n  Decoded New Value: 2\n\n  Summary:           Update owner count to 2. This turns Safe A into a 2-of-2.\n\n----- DecodedStateDiff[1] -----\n  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A\n  Contract:          Signer Safe - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0x0000000000000000000000000000000000000000000000000000000000000004\n  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000001\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000002\n  Decoded Kind:      uint256\n  Decoded Old Value: 1\n  Decoded New Value: 2\n\n  Summary:           Update threshold to 2. This turns Safe A into a 2-of-2.\n\n----- DecodedStateDiff[2] -----\n  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A\n  Contract:          Signer Safe - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0x0000000000000000000000000000000000000000000000000000000000000005\n  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000003\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000004\n  Decoded Kind:      uint256\n  Decoded Old Value: 3\n  Decoded New Value: 4\n\n  Summary:           Nonce increment.\n\n----- DecodedStateDiff[3] -----\n  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A\n  Contract:          Signer Safe - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0x2146980ccf4a7741c01fd860f90d2fab597ba25316f4b73d17092ab48b2eb5ce\n  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Raw New Value:     0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f\n  Decoded Kind:      address\n  Decoded Old Value: 0x0000000000000000000000000000000000000000\n  Decoded New Value: 0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f\n\n  Summary:           Adds 0x6af0674791925f767060dd52f7fb20984e8639d8 to owners linked list. \n                     Confirm slot key with `cast index address 0x6af0674791925f767060dd52f7fb20984e8639d8 2`.\n\n----- DecodedStateDiff[4] -----\n  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A\n  Contract:          Signer Safe - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0x4bf34efa2cf5d17da7425df2ee4f6191d734167ae5ba396b1eaa05b9d92099f6\n  Raw Old Value:     0x000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Decoded Kind:      address\n  Decoded Old Value: 0x420c8fE1dDb0593c71487445576c87c17f177179\n  Decoded New Value: 0x0000000000000000000000000000000000000000\n\n  Summary:           Removes 0xee316db0edaee45347dfc498795a01311f085225 from owners linked list. \n                     Confirm slot key with `cast index address 0xee316db0edaee45347dfc498795a01311f085225 2`.\n\n----- DecodedStateDiff[5] -----\n  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A\n  Contract:          Signer Safe - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0x563d4ddf297b5a92e03dce553dc56572bfee245f134f6db63397742b674f94dd\n  Raw Old Value:     0x000000000000000000000000ee316db0edaee45347dfc498795a01311f085225\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Decoded Kind:      address\n  Decoded Old Value: 0xEE316Db0eDaee45347DfC498795a01311F085225\n  Decoded New Value: 0x0000000000000000000000000000000000000000\n\n  Summary:           Removes 0xb2d9a52e76841279ef0372c534c539a4f68f8c0b from owners linked list. \n                     Confirm slot key with `cast index address 0xb2d9a52e76841279ef0372c534c539a4f68f8c0b 2`.\n\n----- DecodedStateDiff[6] -----\n  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A\n  Contract:          Signer Safe - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0x58d120a0b20e1a9e1a4e5e474f65af5c48d6f00c80f80d95320860a00359ab1a\n  Raw Old Value:     0x0000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e26\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Decoded Kind:      address\n  Decoded Old Value: 0x2Fa5D8294575A8fA880A8aec008b860Fb6A70e26\n  Decoded New Value: 0x0000000000000000000000000000000000000000\n\n  Summary:           Removes 0xa8c40cc18581ff25c0d2605631514cca6590c503 from owners linked list. \n                     Confirm slot key with `cast index address 0xa8c40cc18581ff25c0d2605631514cca6590c503 2`.\n\n----- DecodedStateDiff[7] -----\n  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A\n  Contract:          Signer Safe - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0x7a83097f5b56a04accdbc8d4b0501bec3106db0d2c2ea1a63e7cbbf0fa91372d\n  Raw Old Value:     0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Decoded Kind:      address\n  Decoded Old Value: 0xb2d9a52e76841279EF0372c534C539a4f68f8C0B\n  Decoded New Value: 0x0000000000000000000000000000000000000000\n\n  Summary:           Removes 0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252 from owners linked list. \n                     Confirm slot key with `cast index address 0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252 2`.\n\n----- DecodedStateDiff[8] -----\n  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A\n  Contract:          Signer Safe - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0x7be060a34deb1d91639bcd2c9d7b1a34999e25875869cc3a83bb8d21aae3abe8\n  Raw Old Value:     0x00000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Decoded Kind:      address\n  Decoded Old Value: 0x79dc63ba7b5D9817A0f0840Cd5373292E86735E4\n  Decoded New Value: 0x0000000000000000000000000000000000000000\n\n  Summary:           Removes 0x2fa5d8294575a8fa880a8aec008b860fb6a70e26 from owners linked list. \n                     Confirm slot key with `cast index address 0x2fa5d8294575a8fa880a8aec008b860fb6a70e26 2`.\n\n----- DecodedStateDiff[9] -----\n  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A\n  Contract:          Signer Safe - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0x917c3b0ca176e18dc93b76b7fcfca717fb0dcb74c9b02c1a4ef75f3b382fd6c9\n  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000001\n  Decoded Kind:      address\n  Decoded Old Value: 0x0000000000000000000000000000000000000000\n  Decoded New Value: 0x0000000000000000000000000000000000000001\n\n  Summary:           Sets 0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f as tail of owners linked list.\n                     Confirm slot key with `cast index address 0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f 2`.\n\n----- DecodedStateDiff[10] -----\n  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A\n  Contract:          Signer Safe - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0xa17f6b5d5c5960e10cb741113b64d7f023e3513339475444585747297bf07208\n  Raw Old Value:     0x0000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Decoded Kind:      address\n  Decoded Old Value: 0x9B43cC2EF6fa521127Ade09e20efD6ABBC5BF799\n  Decoded New Value: 0x0000000000000000000000000000000000000000\n\n  Summary:           Removes 0x4ffd98b5eea905ec25aa3daf180552f67873ed78 from owners linked list. \n                     Confirm slot key with `cast index address 0x4ffd98b5eea905ec25aa3daf180552f67873ed78 2`.\n\n----- DecodedStateDiff[11] -----\n  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A\n  Contract:          Signer Safe - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0xa4a7a27737970be72bc7ea3d1499d5a7ca677dcfe71298e98f16342b46fd6324\n  Raw Old Value:     0x000000000000000000000000b04e501237d9a941b130172868201dee9b965c38\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Decoded Kind:      address\n  Decoded Old Value: 0xb04e501237d9a941b130172868201dEE9b965C38\n  Decoded New Value: 0x0000000000000000000000000000000000000000\n\n  Summary:           Removes 0x066a2b1419ccf2e1e672a03f14cc1d1146e717a0 from owners linked list. \n                     Confirm slot key with `cast index address 0x066a2b1419ccf2e1e672a03f14cc1d1146e717a0 2`.\n\n----- DecodedStateDiff[12] -----\n  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A\n  Contract:          Signer Safe - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0xa90dbf3509e5dacce4ce51b1e0056ed396086cef191332ab4a46abeba6c00648\n  Raw Old Value:     0x000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Decoded Kind:      address\n  Decoded Old Value: 0x066a2b1419CCf2e1e672A03F14cC1d1146E717a0\n  Decoded New Value: 0x0000000000000000000000000000000000000000\n\n  Summary:           Removes 0x79dc63ba7b5d9817a0f0840cd5373292e86735e4 from owners linked list. \n                     Confirm slot key with `cast index address 0x79dc63ba7b5d9817a0f0840cd5373292e86735e4 2`.\n\n----- DecodedStateDiff[13] -----\n  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A\n  Contract:          Signer Safe - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0xc737cf9e0b995a0b7c95319fd1b2a1daedbcafc9b244731b97e04bbf2a8067f3\n  Raw Old Value:     0x0000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Decoded Kind:      address\n  Decoded Old Value: 0x9986ccaf9E3DE0fFEF82a0f7fA3a06D5aFe07252\n  Decoded New Value: 0x0000000000000000000000000000000000000000\n\n  Summary:           Removes 0x7f10098bd53519c739ca8a404afe127647d94774 from owners linked list. \n                     Confirm slot key with `cast index address 0x7f10098bd53519c739ca8a404afe127647d94774 2`.\n\n----- DecodedStateDiff[14] -----\n  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A\n  Contract:          Signer Safe - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0xcd8fdd39f0d4ab3740418f660069bb6ed71bb4dd40a37a6eb4fee616a1dc1b08\n  Raw Old Value:     0x0000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed78\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Decoded Kind:      address\n  Decoded Old Value: 0x4ffd98B5EEA905eC25aA3daF180552F67873Ed78\n  Decoded New Value: 0x0000000000000000000000000000000000000000\n\n  Summary:           Removes 0xb04e501237d9a941b130172868201dee9b965c38 from owners linked list. \n                     Confirm slot key with `cast index address 0xb04e501237d9a941b130172868201dee9b965c38 2`.\n\n----- DecodedStateDiff[15] -----\n  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A\n  Contract:          Signer Safe - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0xd5a3955556fe832b0d9dee1f7edb84880eee53ea4dc4e838bfa6bebc90480c2a\n  Raw Old Value:     0x000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Decoded Kind:      address\n  Decoded Old Value: 0x644d0F5c2C55A4679b4BFe057B87ba203AF9aC0D\n  Decoded New Value: 0x0000000000000000000000000000000000000000\n\n  Summary:           Removes 0x9b43cc2ef6fa521127ade09e20efd6abbc5bf799 from owners linked list. \n                     Confirm slot key with `cast index address 0x9b43cc2ef6fa521127ade09e20efd6abbc5bf799 2`.\n\n----- DecodedStateDiff[16] -----\n  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A\n  Contract:          Signer Safe - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0xdbe1c9b8b04b880813d25a9c5e89056031fb59c22374b4ee4da23606ff9ee5f5\n  Raw Old Value:     0x000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Decoded Kind:      address\n  Decoded Old Value: 0xaa2489DEbF1EF02ab83bA6Cde4419E662De9254E\n  Decoded New Value: 0x0000000000000000000000000000000000000000\n\n  Summary:           Removes 0x644d0f5c2c55a4679b4bfe057b87ba203af9ac0d from owners linked list. \n                     Confirm slot key with `cast index address 0x644d0f5c2c55a4679b4bfe057b87ba203af9ac0d 2`.\n\n----- DecodedStateDiff[17] -----\n  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A\n  Contract:          Signer Safe - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0xdd723b4c2a66aea3d2ac26f837bd1e7dea4ce6cca7e4fa76af2185076784453f\n  Raw Old Value:     0x000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c503\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Decoded Kind:      address\n  Decoded Old Value: 0xa8c40CC18581Ff25c0D2605631514CCa6590c503\n  Decoded New Value: 0x0000000000000000000000000000000000000000\n\n  Summary:           Removes 0x420c8fe1ddb0593c71487445576c87c17f177179 from owners linked list. \n                     Confirm slot key with `cast index address 0x420c8fe1ddb0593c71487445576c87c17f177179 2`.\n\n----- DecodedStateDiff[18] -----\n  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A\n  Contract:          Signer Safe - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0xe475b9e5509f43031ff937d793c47553513dacb8de5b10e556e7da05bd6d6e54\n  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000001\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Decoded Kind:      address\n  Decoded Old Value: 0x0000000000000000000000000000000000000001\n  Decoded New Value: 0x0000000000000000000000000000000000000000\n\n  Summary:           Removes 0xaa2489debf1ef02ab83ba6cde4419e662de9254e from owners linked list. \n                     Confirm slot key with `cast index address 0xaa2489debf1ef02ab83ba6cde4419e662de9254e 2`.\n\n----- DecodedStateDiff[19] -----\n  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A\n  Contract:          Signer Safe - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0\n  Raw Old Value:     0x0000000000000000000000007f10098bd53519c739ca8a404afe127647d94774\n  Raw New Value:     0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\n  Decoded Kind:      address\n  Decoded Old Value: 0x7f10098BD53519c739cA8A404afE127647D94774\n  Decoded New Value: 0x6AF0674791925f767060Dd52f7fB20984E8639d8\n\n  Summary:           Sets 0x6AF0674791925f767060Dd52f7fB20984E8639d8 as head of owners linked list. \n                     Confirm slot key with `cast index address 0x0000000000000000000000000000000000000001 2`.\n\n----- Additional Nonce Changes -----\n  Details:           You should see a nonce increment for the account you're signing with.\n</pre>\n"
  },
  {
    "path": "sepolia/2025-04-01-nested-ownership-transfer/addresses.json",
    "content": "{\n  \"SafeA\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n  \"SafeB\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\"\n}\n"
  },
  {
    "path": "sepolia/2025-04-01-nested-ownership-transfer/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "sepolia/2025-04-01-nested-ownership-transfer/records/DeploySafes.s.sol/11155111/run-1744716601.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x06ac9646be51c5ccfbcd31e2b87e890ff0814ccc1a02b4e3e37594663d4c925b\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67\",\n      \"function\": \"createProxyWithNonce(address,bytes,uint256)\",\n      \"arguments\": [\n        \"0x41675C099F32341bf84BFc5382aF534df5C7461a\",\n        \"0xb63e800d00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000fd0732dc9e303f09fcef3a7388ad10a83459ec99000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000007f10098bd53519c739ca8a404afe127647d947740000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000ee316db0edaee45347dfc498795a01311f085225000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c5030000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e2600000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0000000000000000000000000b04e501237d9a941b130172868201dee9b965c380000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e0000000000000000000000000000000000000000000000000000000000000000\",\n        \"0\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"to\": \"0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67\",\n        \"gas\": \"0xc9672\",\n        \"value\": \"0x0\",\n        \"input\": \"0x1688f0b900000000000000000000000041675c099f32341bf84bfc5382af534df5c7461a000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000304b63e800d00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000fd0732dc9e303f09fcef3a7388ad10a83459ec99000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000007f10098bd53519c739ca8a404afe127647d947740000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000ee316db0edaee45347dfc498795a01311f085225000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c5030000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e2600000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0000000000000000000000000b04e501237d9a941b130172868201dee9b965c380000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x44\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [\n        {\n          \"transactionType\": \"CREATE2\",\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"initCode\": \"0x608060405234801561001057600080fd5b506040516101e63803806101e68339818101604052602081101561003357600080fd5b8101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806101c46022913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060ab806101196000396000f3fe608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea264697066735822122003d1488ee65e08fa41e58e888a9865554c535f2c77126a82cb4c0f917f31441364736f6c63430007060033496e76616c69642073696e676c65746f6e20616464726573732070726f766964656400000000000000000000000041675c099f32341bf84bfc5382af534df5c7461a\"\n        }\n      ],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1608374\",\n      \"logs\": [\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0x141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a8\",\n            \"0x0000000000000000000000004e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fd0732dc9e303f09fcef3a7388ad10a83459ec99000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000007f10098bd53519c739ca8a404afe127647d947740000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000ee316db0edaee45347dfc498795a01311f085225000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c5030000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e2600000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0000000000000000000000000b04e501237d9a941b130172868201dee9b965c380000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e\",\n          \"blockHash\": \"0xaf0772965041571f7e1f46f14b3eebf35a4b82be8371f0c330f19be079f8d3e3\",\n          \"blockNumber\": \"0x7bf2cf\",\n          \"transactionHash\": \"0x06ac9646be51c5ccfbcd31e2b87e890ff0814ccc1a02b4e3e37594663d4c925b\",\n          \"transactionIndex\": \"0xb8\",\n          \"logIndex\": \"0xd8\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67\",\n          \"topics\": [\n            \"0x4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e235\",\n            \"0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f\"\n          ],\n          \"data\": \"0x00000000000000000000000041675c099f32341bf84bfc5382af534df5c7461a\",\n          \"blockHash\": \"0xaf0772965041571f7e1f46f14b3eebf35a4b82be8371f0c330f19be079f8d3e3\",\n          \"blockNumber\": \"0x7bf2cf\",\n          \"transactionHash\": \"0x06ac9646be51c5ccfbcd31e2b87e890ff0814ccc1a02b4e3e37594663d4c925b\",\n          \"transactionIndex\": \"0xb8\",\n          \"logIndex\": \"0xd9\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000008000800000000000000000000000000000500000000000000000000000100000000000000000000000800000000000200000000000200000000000000000000000000000000000000000000000000000000100020000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000010000000040000000100020000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x06ac9646be51c5ccfbcd31e2b87e890ff0814ccc1a02b4e3e37594663d4c925b\",\n      \"transactionIndex\": \"0xb8\",\n      \"blockHash\": \"0xaf0772965041571f7e1f46f14b3eebf35a4b82be8371f0c330f19be079f8d3e3\",\n      \"blockNumber\": \"0x7bf2cf\",\n      \"gasUsed\": \"0x89b62\",\n      \"effectiveGasPrice\": \"0x14e8d6\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": \"0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1744716601,\n  \"chain\": 11155111,\n  \"commit\": \"ce529a4\"\n}"
  },
  {
    "path": "sepolia/2025-04-01-nested-ownership-transfer/records/UpdateSigners.s.sol/11155111/run-1744741044.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000000000000000000000000000000000000000006c000000000000000000000000000000000000000000000000000000000000007c000000000000000000000000000000000000000000000000000000000000008c000000000000000000000000000000000000000000000000000000000000009c00000000000000000000000000000000000000000000000000000000000000ac00000000000000000000000000000000000000000000000000000000000000bc00000000000000000000000000000000000000000000000000000000000000cc00000000000000000000000000000000000000000000000000000000000000dc00000000000000000000000000000000000000000000000000000000000000ec00000000000000000000000000000000000000000000000000000000000000fc000000000000000000000000000000000000000000000000000000000000010c0000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000007f10098bd53519c739ca8a404afe127647d94774000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000ee316db0edaee45347dfc498795a01311f085225000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c503000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e26000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f00000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000b04e501237d9a941b130172868201dee9b965c38000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed78000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0aabddd720f0c670007858063f29f49f87c7d2e23ade4d679da96fc7440d6de809fe2d74eed292b62eea2af8eaef47d5e61e3325d6223a20ea5888c84f4a41fd1c6b0e3daa1c37efd9ba0397c001c70282967d90420d3d2bdc8fc89adb43c06c7760b5ca4d94a8a273ac6404836551bc546ea156286b793897ebb22d068319489a1c7edcc70d91c853972111ab9ee4748e65f59ff7e89853a4958f63fdc4a838020c683a1cd7c5767deb1bf07c83781c7820dcb0ccba08a8dff800342915b489898e1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n        \"gas\": \"0x5625d\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001380000000000000000000000000000000000000000000000000000000000000120482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000000000000000000000000000000000000000006c000000000000000000000000000000000000000000000000000000000000007c000000000000000000000000000000000000000000000000000000000000008c000000000000000000000000000000000000000000000000000000000000009c00000000000000000000000000000000000000000000000000000000000000ac00000000000000000000000000000000000000000000000000000000000000bc00000000000000000000000000000000000000000000000000000000000000cc00000000000000000000000000000000000000000000000000000000000000dc00000000000000000000000000000000000000000000000000000000000000ec00000000000000000000000000000000000000000000000000000000000000fc000000000000000000000000000000000000000000000000000000000000010c0000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000007f10098bd53519c739ca8a404afe127647d94774000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000ee316db0edaee45347dfc498795a01311f085225000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c503000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e26000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f00000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000b04e501237d9a941b130172868201dee9b965c38000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed78000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c30aabddd720f0c670007858063f29f49f87c7d2e23ade4d679da96fc7440d6de809fe2d74eed292b62eea2af8eaef47d5e61e3325d6223a20ea5888c84f4a41fd1c6b0e3daa1c37efd9ba0397c001c70282967d90420d3d2bdc8fc89adb43c06c7760b5ca4d94a8a273ac6404836551bc546ea156286b793897ebb22d068319489a1c7edcc70d91c853972111ab9ee4748e65f59ff7e89853a4958f63fdc4a838020c683a1cd7c5767deb1bf07c83781c7820dcb0ccba08a8dff800342915b489898e1b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x32\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xa0adda\",\n      \"logs\": [\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"blockHash\": \"0x9672d564a148049379cd2254ed775a4c067c299d2395dbaafa9838b1017d1373\",\n          \"blockNumber\": \"0x7bfa82\",\n          \"transactionHash\": \"0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed\",\n          \"transactionIndex\": \"0x5d\",\n          \"logIndex\": \"0xb6\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c93\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000002\",\n          \"blockHash\": \"0x9672d564a148049379cd2254ed775a4c067c299d2395dbaafa9838b1017d1373\",\n          \"blockNumber\": \"0x7bfa82\",\n          \"transactionHash\": \"0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed\",\n          \"transactionIndex\": \"0x5d\",\n          \"logIndex\": \"0xb7\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\",\n          \"blockHash\": \"0x9672d564a148049379cd2254ed775a4c067c299d2395dbaafa9838b1017d1373\",\n          \"blockNumber\": \"0x7bfa82\",\n          \"transactionHash\": \"0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed\",\n          \"transactionIndex\": \"0x5d\",\n          \"logIndex\": \"0xb8\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x0000000000000000000000007f10098bd53519c739ca8a404afe127647d94774\",\n          \"blockHash\": \"0x9672d564a148049379cd2254ed775a4c067c299d2395dbaafa9838b1017d1373\",\n          \"blockNumber\": \"0x7bfa82\",\n          \"transactionHash\": \"0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed\",\n          \"transactionIndex\": \"0x5d\",\n          \"logIndex\": \"0xb9\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x0000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n          \"blockHash\": \"0x9672d564a148049379cd2254ed775a4c067c299d2395dbaafa9838b1017d1373\",\n          \"blockNumber\": \"0x7bfa82\",\n          \"transactionHash\": \"0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed\",\n          \"transactionIndex\": \"0x5d\",\n          \"logIndex\": \"0xba\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n          \"blockHash\": \"0x9672d564a148049379cd2254ed775a4c067c299d2395dbaafa9838b1017d1373\",\n          \"blockNumber\": \"0x7bfa82\",\n          \"transactionHash\": \"0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed\",\n          \"transactionIndex\": \"0x5d\",\n          \"logIndex\": \"0xbb\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x000000000000000000000000ee316db0edaee45347dfc498795a01311f085225\",\n          \"blockHash\": \"0x9672d564a148049379cd2254ed775a4c067c299d2395dbaafa9838b1017d1373\",\n          \"blockNumber\": \"0x7bfa82\",\n          \"transactionHash\": \"0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed\",\n          \"transactionIndex\": \"0x5d\",\n          \"logIndex\": \"0xbc\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179\",\n          \"blockHash\": \"0x9672d564a148049379cd2254ed775a4c067c299d2395dbaafa9838b1017d1373\",\n          \"blockNumber\": \"0x7bfa82\",\n          \"transactionHash\": \"0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed\",\n          \"transactionIndex\": \"0x5d\",\n          \"logIndex\": \"0xbd\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c503\",\n          \"blockHash\": \"0x9672d564a148049379cd2254ed775a4c067c299d2395dbaafa9838b1017d1373\",\n          \"blockNumber\": \"0x7bfa82\",\n          \"transactionHash\": \"0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed\",\n          \"transactionIndex\": \"0x5d\",\n          \"logIndex\": \"0xbe\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x0000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e26\",\n          \"blockHash\": \"0x9672d564a148049379cd2254ed775a4c067c299d2395dbaafa9838b1017d1373\",\n          \"blockNumber\": \"0x7bfa82\",\n          \"transactionHash\": \"0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed\",\n          \"transactionIndex\": \"0x5d\",\n          \"logIndex\": \"0xbf\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x00000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4\",\n          \"blockHash\": \"0x9672d564a148049379cd2254ed775a4c067c299d2395dbaafa9838b1017d1373\",\n          \"blockNumber\": \"0x7bfa82\",\n          \"transactionHash\": \"0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed\",\n          \"transactionIndex\": \"0x5d\",\n          \"logIndex\": \"0xc0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0\",\n          \"blockHash\": \"0x9672d564a148049379cd2254ed775a4c067c299d2395dbaafa9838b1017d1373\",\n          \"blockNumber\": \"0x7bfa82\",\n          \"transactionHash\": \"0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed\",\n          \"transactionIndex\": \"0x5d\",\n          \"logIndex\": \"0xc1\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x000000000000000000000000b04e501237d9a941b130172868201dee9b965c38\",\n          \"blockHash\": \"0x9672d564a148049379cd2254ed775a4c067c299d2395dbaafa9838b1017d1373\",\n          \"blockNumber\": \"0x7bfa82\",\n          \"transactionHash\": \"0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed\",\n          \"transactionIndex\": \"0x5d\",\n          \"logIndex\": \"0xc2\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x0000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed78\",\n          \"blockHash\": \"0x9672d564a148049379cd2254ed775a4c067c299d2395dbaafa9838b1017d1373\",\n          \"blockNumber\": \"0x7bfa82\",\n          \"transactionHash\": \"0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed\",\n          \"transactionIndex\": \"0x5d\",\n          \"logIndex\": \"0xc3\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x0000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799\",\n          \"blockHash\": \"0x9672d564a148049379cd2254ed775a4c067c299d2395dbaafa9838b1017d1373\",\n          \"blockNumber\": \"0x7bfa82\",\n          \"transactionHash\": \"0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed\",\n          \"transactionIndex\": \"0x5d\",\n          \"logIndex\": \"0xc4\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d\",\n          \"blockHash\": \"0x9672d564a148049379cd2254ed775a4c067c299d2395dbaafa9838b1017d1373\",\n          \"blockNumber\": \"0x7bfa82\",\n          \"transactionHash\": \"0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed\",\n          \"transactionIndex\": \"0x5d\",\n          \"logIndex\": \"0xc5\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e\",\n          \"blockHash\": \"0x9672d564a148049379cd2254ed775a4c067c299d2395dbaafa9838b1017d1373\",\n          \"blockNumber\": \"0x7bfa82\",\n          \"transactionHash\": \"0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed\",\n          \"transactionIndex\": \"0x5d\",\n          \"logIndex\": \"0xc6\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xd88eaab177142f98fb9e965bccf167e6cc8d8d5ed30a686936781dab4427252c0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x9672d564a148049379cd2254ed775a4c067c299d2395dbaafa9838b1017d1373\",\n          \"blockNumber\": \"0x7bfa82\",\n          \"transactionHash\": \"0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed\",\n          \"transactionIndex\": \"0x5d\",\n          \"logIndex\": \"0xc7\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000080000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000020004000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000001000000004000000000000010000000000000000000000000000000000000000000000000000000000000000000004000020000040000000000000400000000000000000000000008000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed\",\n      \"transactionIndex\": \"0x5d\",\n      \"blockHash\": \"0x9672d564a148049379cd2254ed775a4c067c299d2395dbaafa9838b1017d1373\",\n      \"blockNumber\": \"0x7bfa82\",\n      \"gasUsed\": \"0x3ae79\",\n      \"effectiveGasPrice\": \"0x115d07\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1744741044,\n  \"chain\": 11155111,\n  \"commit\": \"ef5ecfc\"\n}"
  },
  {
    "path": "sepolia/2025-04-01-nested-ownership-transfer/script/DeploySafes.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.24;\n\nimport {Script} from \"forge-std/Script.sol\";\nimport {Safe} from \"safe-smart-account/contracts/Safe.sol\";\nimport {SafeProxyFactory} from \"safe-smart-account/contracts/proxies/SafeProxyFactory.sol\";\nimport {Strings} from \"@openzeppelin/contracts/utils/Strings.sol\";\nimport {console} from \"forge-std/console.sol\";\n\ncontract DeploySafes is Script {\n    using Strings for address;\n\n    address public immutable SAFE_IMPLEMENTATION;\n    address public immutable FALLBACK_HANDLER;\n    address public immutable SAFE_PROXY_FACTORY;\n    address public immutable OWNER_SAFE;\n    address public zAddr;\n\n    address[] public OWNER_SAFE_OWNERS;\n    uint256 public OWNER_SAFE_THRESHOLD;\n\n    constructor() {\n        SAFE_IMPLEMENTATION = vm.envAddress(\"L1_GNOSIS_SAFE_IMPLEMENTATION\");\n        FALLBACK_HANDLER = vm.envAddress(\"L1_GNOSIS_COMPATIBILITY_FALLBACK_HANDLER\");\n        SAFE_PROXY_FACTORY = vm.envAddress(\"SAFE_PROXY_FACTORY\");\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n    }\n\n    function run() public {\n        Safe ownerSafe = Safe(payable(OWNER_SAFE));\n        OWNER_SAFE_OWNERS = ownerSafe.getOwners();\n        OWNER_SAFE_THRESHOLD = ownerSafe.getThreshold();\n\n        require(OWNER_SAFE_OWNERS.length == 14, \"Owner safe owners length must be 14\");\n\n        require(OWNER_SAFE_THRESHOLD == 3, \"Owner safe threshold must be 3\");\n\n        console.log(\"Deploying SafeA with owners:\");\n        _printOwners(OWNER_SAFE_OWNERS);\n\n        console.log(\"Threshold of SafeA:\", OWNER_SAFE_THRESHOLD);\n\n        vm.startBroadcast();\n        // First safe maintains the same owners + threshold as the current owner safe\n        address safeA = _createAndInitProxy(OWNER_SAFE_OWNERS, OWNER_SAFE_THRESHOLD);\n        // Second safe specifies its own owners + threshold\n        // address safeB = _createAndInitProxy(SAFE_B_OWNERS, SAFE_B_THRESHOLD);\n        address safeB = 0x6AF0674791925f767060Dd52f7fB20984E8639d8;\n        vm.stopBroadcast();\n        _postCheck(safeA, safeB);\n\n        vm.writeFile(\n            \"addresses.json\",\n            string.concat(\n                \"{\", \"\\\"SafeA\\\": \\\"\", safeA.toHexString(), \"\\\",\", \"\\\"SafeB\\\": \\\"\", safeB.toHexString(), \"\\\"\" \"}\"\n            )\n        );\n    }\n\n    function _postCheck(address safeAAddress, address safeBAddress) private view {\n        Safe safeA = Safe(payable(safeAAddress));\n        Safe safeB = Safe(payable(safeBAddress));\n\n        address[] memory safeAOwners = safeA.getOwners();\n        uint256 safeAThreshold = safeA.getThreshold();\n\n        address[] memory safeBOwners = safeB.getOwners();\n        uint256 safeBThreshold = safeB.getThreshold();\n\n        require(safeAThreshold == 3, \"PostCheck 1\");\n        require(safeBThreshold == 1, \"PostCheck 2\");\n\n        require(safeAOwners.length == 14, \"PostCheck 3\");\n        require(safeBOwners.length == 14, \"PostCheck 4\");\n\n        for (uint256 i; i < safeAOwners.length; i++) {\n            require(safeAOwners[i] == OWNER_SAFE_OWNERS[i], \"PostCheck 5\");\n        }\n\n        for (uint256 i; i < safeBOwners.length; i++) {\n            require(safeBOwners[i] == OWNER_SAFE_OWNERS[i], \"PostCheck 6\");\n        }\n\n        console.log(\"PostCheck passed\");\n    }\n\n    function _createAndInitProxy(address[] memory owners, uint256 threshold) private returns (address) {\n        bytes memory initializer =\n            abi.encodeCall(Safe.setup, (owners, threshold, zAddr, \"\", FALLBACK_HANDLER, zAddr, 0, payable(zAddr)));\n        return address(SafeProxyFactory(SAFE_PROXY_FACTORY).createProxyWithNonce(SAFE_IMPLEMENTATION, initializer, 0));\n    }\n\n    function _printOwners(address[] memory owners) private pure {\n        for (uint256 i; i < owners.length; i++) {\n            console.logAddress(owners[i]);\n        }\n    }\n}\n"
  },
  {
    "path": "sepolia/2025-04-01-nested-ownership-transfer/script/UpdateSigners.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.24;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {stdJson} from \"forge-std/StdJson.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\n\nimport {MultisigBuilder} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {Safe} from \"safe-smart-account/contracts/Safe.sol\";\nimport {OwnerManager} from \"safe-smart-account/contracts/base/OwnerManager.sol\";\n\n// Adds `SAFE_A` and `SAFE_B` as owners to `OWNER_SAFE` and sets threshold to 2\n// `SAFE_A` should have same owners as `OWNER_SAFE`\n// `SAFE_A` should have same threshold as `OWNER_SAFE`\n// `SAFE_B` should be a 1-of-14 multisig\ncontract UpdateSigners is MultisigBuilder {\n    using stdJson for string;\n\n    address payable private SAFE_A;\n    address payable private SAFE_B;\n\n    uint256 internal constant THRESHOLD = 2;\n    address payable internal OWNER_SAFE = payable(vm.envAddress(\"OWNER_SAFE\"));\n    string private ADDRESSES;\n\n    address[] private A_OWNERS;\n    address[] private B_OWNERS;\n\n    uint256 private A_THRESHOLD;\n    uint256 private B_THRESHOLD;\n\n    function setUp() public {\n        string memory rootPath = vm.projectRoot();\n        string memory path = string.concat(rootPath, \"/addresses.json\");\n        ADDRESSES = vm.readFile(path);\n\n        SAFE_A = payable(ADDRESSES.readAddress(\".SafeA\"));\n        SAFE_B = payable(ADDRESSES.readAddress(\".SafeB\"));\n\n        A_OWNERS = Safe(SAFE_A).getOwners();\n        A_THRESHOLD = Safe(SAFE_A).getThreshold();\n\n        require(A_OWNERS.length == 14, \"A owners length must be 14\");\n        require(A_THRESHOLD == 3, \"A threshold must be 3\");\n\n        B_OWNERS = Safe(SAFE_B).getOwners();\n        B_THRESHOLD = Safe(SAFE_B).getThreshold();\n\n        require(B_OWNERS.length == 14, \"B owners length must be 14\");\n        require(B_THRESHOLD == 1, \"B threshold must be 1\");\n\n        address[] memory ownerSafeOwners = Safe(OWNER_SAFE).getOwners();\n        uint256 ownerSafeThreshold = Safe(OWNER_SAFE).getThreshold();\n\n        require(ownerSafeOwners.length == A_OWNERS.length, \"Precheck owner count mismatch - A\");\n\n        require(ownerSafeThreshold == A_THRESHOLD, \"Precheck threshold mismatch - A\");\n\n        for (uint256 i; i < ownerSafeOwners.length; i++) {\n            require(ownerSafeOwners[i] == A_OWNERS[i], \"Precheck owner mismatch - A\");\n        }\n\n        // Special check for testnet\n        for (uint256 i; i < ownerSafeOwners.length; i++) {\n            require(ownerSafeOwners[i] == B_OWNERS[i], \"Precheck owner mismatch - B\");\n        }\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        address[] memory aOwners = Safe(SAFE_A).getOwners();\n        address[] memory bOwners = Safe(SAFE_B).getOwners();\n\n        uint256 aThreshold = Safe(SAFE_A).getThreshold();\n        uint256 bThreshold = Safe(SAFE_B).getThreshold();\n\n        address[] memory ownerSafeOwners = Safe(OWNER_SAFE).getOwners();\n\n        uint256 ownerSafeThreshold = Safe(OWNER_SAFE).getThreshold();\n\n        require(aThreshold == A_THRESHOLD, \"Postcheck new signer threshold mismatch - A\");\n        require(bThreshold == B_THRESHOLD, \"Postcheck new signer threshold mismatch - B\");\n\n        require(aOwners.length == A_OWNERS.length, \"Postcheck length mismatch - A\");\n        require(bOwners.length == B_OWNERS.length, \"Postcheck length mismatch - B\");\n\n        require(ownerSafeThreshold == THRESHOLD, \"Postcheck owner threshold mismatch\");\n        require(ownerSafeOwners.length == 2, \"Postcheck owner count mismatch\");\n\n        require(ownerSafeOwners[0] == SAFE_B, \"Postcheck new signer mismatch - B\");\n        require(ownerSafeOwners[1] == SAFE_A, \"Postcheck new signer mismatch - A\");\n\n        for (uint256 i; i < aOwners.length; i++) {\n            require(aOwners[i] == A_OWNERS[i], \"PostCheck 5\");\n        }\n\n        for (uint256 i; i < bOwners.length; i++) {\n            require(bOwners[i] == B_OWNERS[i], \"PostCheck 6\");\n        }\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](2 + A_OWNERS.length);\n\n        calls[0] = IMulticall3.Call3({\n            target: OWNER_SAFE,\n            allowFailure: false,\n            callData: abi.encodeCall(OwnerManager.addOwnerWithThreshold, (SAFE_A, THRESHOLD))\n        });\n        calls[1] = IMulticall3.Call3({\n            target: OWNER_SAFE,\n            allowFailure: false,\n            callData: abi.encodeCall(OwnerManager.addOwnerWithThreshold, (SAFE_B, THRESHOLD))\n        });\n\n        address prevOwner = SAFE_A;\n\n        for (uint256 i; i < A_OWNERS.length; i++) {\n            calls[2 + i] = IMulticall3.Call3({\n                target: OWNER_SAFE,\n                allowFailure: false,\n                callData: abi.encodeCall(OwnerManager.removeOwner, (prevOwner, A_OWNERS[i], THRESHOLD))\n            });\n        }\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "sepolia/2025-04-09-testnet-multisig-signers/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 1\nendif\n\n.PHONY: deps\ndeps:\n\tforge install --no-git safe-global/safe-smart-account@21dc82410445637820f600c7399a804ad55841d5\n\n.PHONY: sign\nsign:\n\tOWNER_SAFE=$(SAFE_A) $(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpdateSigners --sig \"sign()\"\n\n.PHONY: sign-b\nsign-b:\n\tOWNER_SAFE=$(SAFE_B) $(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpdateSigners --sig \"sign()\"\n\n.PHONY: execute\nexecute:\n\tOWNER_SAFE=$(SAFE_A) forge script --rpc-url $(L1_RPC_URL) \\\n\tUpdateSigners --sig \"run(bytes)\" $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" \\\n\t--broadcast -vvvv\n\n.PHONY: execute-b\nexecute-b:\n\tOWNER_SAFE=$(SAFE_B) forge script --rpc-url $(L1_RPC_URL) \\\n\tUpdateSigners --sig \"run(bytes)\" $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" \\\n\t--broadcast -vvvv\n"
  },
  {
    "path": "sepolia/2025-04-09-testnet-multisig-signers/OwnerDiff.json",
    "content": "{\n  \"OwnersToAdd\": [\n    \"0xEdecf2c444559210a865a22acfc6A2a25590Ab1b\",\n    \"0xf2Fb17eab635f036Da7864B8e39ef8e9A03441df\",\n    \"0xE45AC81eA7f53dea5f0bd6Caa0733DD5c02d3b60\",\n    \"0x931E24B032511d8dD029AedeB44837FAc251f3d8\",\n    \"0x0CF2F86C3338993ce10F74d6f4B095712c7efe26\"\n  ],\n  \"OwnersToRemove\": [\n    \"0xa8c40CC18581Ff25c0D2605631514CCa6590c503\",\n    \"0x2Fa5D8294575A8fA880A8aec008b860Fb6A70e26\",\n    \"0x79dc63ba7b5D9817A0f0840Cd5373292E86735E4\",\n    \"0x066a2b1419CCf2e1e672A03F14cC1d1146E717a0\",\n    \"0xb04e501237d9a941b130172868201dEE9b965C38\"\n  ]\n}\n"
  },
  {
    "path": "sepolia/2025-04-09-testnet-multisig-signers/README.md",
    "content": "# Update Sepolia Multisig Signers\n\nStatus: EXECUTED\n\nSafe A: https://sepolia.etherscan.io/tx/0x6bc215bc3c7e609ebfcda87b3b74d433e45f685101733982b8a910331acd609b\nSafe B: https://sepolia.etherscan.io/tx/0x5a3e78badcccd6e586c541c15cc2b2517dfd54ea156bf50b662b21fedf5e3a81\n\n## Description\n\nWe wish to update the owners of our [SafeA](https://sepolia.etherscan.io/address/0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f) and [SafeB](https://sepolia.etherscan.io/address/0x6af0674791925f767060dd52f7fb20984e8639d8) multisigs on Sepolia to be consistent with the current state of our Base Chain Eng team. These safes make up the two signers for our `ProxyAdminOwner` contract for Sepolia.\n\n## Procedure\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd sepolia/2025-04-09-testnet-multisig-signers\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Run relevant script(s)\n\n#### Sign the transaction\n\n```bash\nmake sign\n```\n\nYou will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and extract the domain hash and message hash to approve on your Ledger:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n##### 3.1 Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Sepolia.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not see the derivation path Note above.\n\n##### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab, and refer to the [State Validations](./validations/SafeA.md) instructions for the transaction you are signing.\nOnce complete return to this document to complete the signing.\n\n##### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\nOnce the validations are done, it's time to actually sign the\ntransaction.\n\n> [!WARNING]\n> This is the most security critical part of the playbook: make sure the\n> domain hash and message hash in the following two places match:\n>\n> 1. On your Ledger screen.\n> 2. In the Tenderly simulation. You should use the same Tenderly\n>    simulation as the one you used to verify the state diffs, instead\n>    of opening the new one printed in the console.\n>\n> There is no need to verify anything printed in the console. There is\n> no need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```shell\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n##### 3.4 Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n### [For Facilitator ONLY] How to execute\n\n#### Execute the transaction\n\n1. Collect outputs from all participating signers.\n1. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"`.\n1. Run the `make execute` command as described below to execute the transaction.\n\nFor example, if the quorum is 2 and you get the following outputs:\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE01\nSignature: AAAA\n```\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE02\nSignature: BBBB\n```\n\nThen you should run:\n\n```bash\nSIGNATURES=AAAABBBB make execute\n```\n"
  },
  {
    "path": "sepolia/2025-04-09-testnet-multisig-signers/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "sepolia/2025-04-09-testnet-multisig-signers/records/UpdateSigners.s.sol/11155111/run-1744919029.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x5a3e78badcccd6e586c541c15cc2b2517dfd54ea156bf50b662b21fedf5e3a81\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000005a000000000000000000000000000000000000000000000000000000000000006a000000000000000000000000000000000000000000000000000000000000007a000000000000000000000000000000000000000000000000000000000000008a000000000000000000000000000000000000000000000000000000000000009a00000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000f2fb17eab635f036da7864b8e39ef8e9a03441df0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000931e24b032511d8dd029aedeb44837fac251f3d80000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe260000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c5030000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f1771790000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e260000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f17717900000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e40000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000b04e501237d9a941b130172868201dee9b965c38000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x78393631b355e80d484d4b196b27dd257bb72cc3775b23a9bc0e2bf522a43e221be92302bad9a2bc145e184dd1273242f438257179c5dff83413df17ab26bcb81c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n        \"gas\": \"0x56915\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c600000000000000000000000000000000000000000000000000000000000000ae482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000005a000000000000000000000000000000000000000000000000000000000000006a000000000000000000000000000000000000000000000000000000000000007a000000000000000000000000000000000000000000000000000000000000008a000000000000000000000000000000000000000000000000000000000000009a00000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000f2fb17eab635f036da7864b8e39ef8e9a03441df0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000931e24b032511d8dd029aedeb44837fac251f3d80000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe260000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c5030000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f1771790000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e260000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f17717900000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e40000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000b04e501237d9a941b130172868201dee9b965c3800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004178393631b355e80d484d4b196b27dd257bb72cc3775b23a9bc0e2bf522a43e221be92302bad9a2bc145e184dd1273242f438257179c5dff83413df17ab26bcb81c00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x38\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1206ddb\",\n      \"logs\": [\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b\",\n          \"blockHash\": \"0xf3eaee8f695fe81b5919a5cd1d07f2bbd8d43a500fb9c71145901c14775ee90b\",\n          \"blockNumber\": \"0x7c3158\",\n          \"transactionHash\": \"0x5a3e78badcccd6e586c541c15cc2b2517dfd54ea156bf50b662b21fedf5e3a81\",\n          \"transactionIndex\": \"0xa9\",\n          \"logIndex\": \"0xb3\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x000000000000000000000000f2fb17eab635f036da7864b8e39ef8e9a03441df\",\n          \"blockHash\": \"0xf3eaee8f695fe81b5919a5cd1d07f2bbd8d43a500fb9c71145901c14775ee90b\",\n          \"blockNumber\": \"0x7c3158\",\n          \"transactionHash\": \"0x5a3e78badcccd6e586c541c15cc2b2517dfd54ea156bf50b662b21fedf5e3a81\",\n          \"transactionIndex\": \"0xa9\",\n          \"logIndex\": \"0xb4\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60\",\n          \"blockHash\": \"0xf3eaee8f695fe81b5919a5cd1d07f2bbd8d43a500fb9c71145901c14775ee90b\",\n          \"blockNumber\": \"0x7c3158\",\n          \"transactionHash\": \"0x5a3e78badcccd6e586c541c15cc2b2517dfd54ea156bf50b662b21fedf5e3a81\",\n          \"transactionIndex\": \"0xa9\",\n          \"logIndex\": \"0xb5\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x000000000000000000000000931e24b032511d8dd029aedeb44837fac251f3d8\",\n          \"blockHash\": \"0xf3eaee8f695fe81b5919a5cd1d07f2bbd8d43a500fb9c71145901c14775ee90b\",\n          \"blockNumber\": \"0x7c3158\",\n          \"transactionHash\": \"0x5a3e78badcccd6e586c541c15cc2b2517dfd54ea156bf50b662b21fedf5e3a81\",\n          \"transactionIndex\": \"0xa9\",\n          \"logIndex\": \"0xb6\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x0000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe26\",\n          \"blockHash\": \"0xf3eaee8f695fe81b5919a5cd1d07f2bbd8d43a500fb9c71145901c14775ee90b\",\n          \"blockNumber\": \"0x7c3158\",\n          \"transactionHash\": \"0x5a3e78badcccd6e586c541c15cc2b2517dfd54ea156bf50b662b21fedf5e3a81\",\n          \"transactionIndex\": \"0xa9\",\n          \"logIndex\": \"0xb7\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c503\",\n          \"blockHash\": \"0xf3eaee8f695fe81b5919a5cd1d07f2bbd8d43a500fb9c71145901c14775ee90b\",\n          \"blockNumber\": \"0x7c3158\",\n          \"transactionHash\": \"0x5a3e78badcccd6e586c541c15cc2b2517dfd54ea156bf50b662b21fedf5e3a81\",\n          \"transactionIndex\": \"0xa9\",\n          \"logIndex\": \"0xb8\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x0000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e26\",\n          \"blockHash\": \"0xf3eaee8f695fe81b5919a5cd1d07f2bbd8d43a500fb9c71145901c14775ee90b\",\n          \"blockNumber\": \"0x7c3158\",\n          \"transactionHash\": \"0x5a3e78badcccd6e586c541c15cc2b2517dfd54ea156bf50b662b21fedf5e3a81\",\n          \"transactionIndex\": \"0xa9\",\n          \"logIndex\": \"0xb9\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x00000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4\",\n          \"blockHash\": \"0xf3eaee8f695fe81b5919a5cd1d07f2bbd8d43a500fb9c71145901c14775ee90b\",\n          \"blockNumber\": \"0x7c3158\",\n          \"transactionHash\": \"0x5a3e78badcccd6e586c541c15cc2b2517dfd54ea156bf50b662b21fedf5e3a81\",\n          \"transactionIndex\": \"0xa9\",\n          \"logIndex\": \"0xba\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0\",\n          \"blockHash\": \"0xf3eaee8f695fe81b5919a5cd1d07f2bbd8d43a500fb9c71145901c14775ee90b\",\n          \"blockNumber\": \"0x7c3158\",\n          \"transactionHash\": \"0x5a3e78badcccd6e586c541c15cc2b2517dfd54ea156bf50b662b21fedf5e3a81\",\n          \"transactionIndex\": \"0xa9\",\n          \"logIndex\": \"0xbb\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x000000000000000000000000b04e501237d9a941b130172868201dee9b965c38\",\n          \"blockHash\": \"0xf3eaee8f695fe81b5919a5cd1d07f2bbd8d43a500fb9c71145901c14775ee90b\",\n          \"blockNumber\": \"0x7c3158\",\n          \"transactionHash\": \"0x5a3e78badcccd6e586c541c15cc2b2517dfd54ea156bf50b662b21fedf5e3a81\",\n          \"transactionIndex\": \"0xa9\",\n          \"logIndex\": \"0xbc\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xe326cadd9bcea7d8886576d691150e35de06e3287c7066d200e6e11ee26ba3b00000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xf3eaee8f695fe81b5919a5cd1d07f2bbd8d43a500fb9c71145901c14775ee90b\",\n          \"blockNumber\": \"0x7c3158\",\n          \"transactionHash\": \"0x5a3e78badcccd6e586c541c15cc2b2517dfd54ea156bf50b662b21fedf5e3a81\",\n          \"transactionIndex\": \"0xa9\",\n          \"logIndex\": \"0xbd\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000400000000010000000000000008000000000000000000008000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x5a3e78badcccd6e586c541c15cc2b2517dfd54ea156bf50b662b21fedf5e3a81\",\n      \"transactionIndex\": \"0xa9\",\n      \"blockHash\": \"0xf3eaee8f695fe81b5919a5cd1d07f2bbd8d43a500fb9c71145901c14775ee90b\",\n      \"blockNumber\": \"0x7c3158\",\n      \"gasUsed\": \"0x3b311\",\n      \"effectiveGasPrice\": \"0x166f02\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1744919029,\n  \"chain\": 11155111,\n  \"commit\": \"28ca165\"\n}"
  },
  {
    "path": "sepolia/2025-04-09-testnet-multisig-signers/records/UpdateSigners.s.sol/11155111/run-1744919545.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x6bc215bc3c7e609ebfcda87b3b74d433e45f685101733982b8a910331acd609b\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000005a000000000000000000000000000000000000000000000000000000000000006a000000000000000000000000000000000000000000000000000000000000007a000000000000000000000000000000000000000000000000000000000000008a000000000000000000000000000000000000000000000000000000000000009a00000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000f2fb17eab635f036da7864b8e39ef8e9a03441df0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b600000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000931e24b032511d8dd029aedeb44837fac251f3d80000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe260000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c5030000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f1771790000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e260000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f17717900000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e40000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a00000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000b04e501237d9a941b130172868201dee9b965c38000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xfd67d5d87570deaa92d716c0a8eff1e6bb6e62dc31f9765fc899bb47267c0a5d72e2060cc7779c982a3d24817be594a010e4dcfcd61f54b5aea649f4f99485841c412b73af6eb929f511c53a932a52208ddb248d5b644cfa0de720e78779661d3d6a6e2e3cd88e4815437367bf7521f4b5cceb5f85d7161852fab4af6801bae8751b63d24b2969a226140e82a2e2dde1a712ad31d527a80ffa8f7b2a70cd2ac006a12204c083bcdd6ecc06618984e67ad3c5371cd9bcd3bcee2380aa2c5bb09bc4d41c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n        \"gas\": \"0x57028\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c600000000000000000000000000000000000000000000000000000000000000ae482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000005a000000000000000000000000000000000000000000000000000000000000006a000000000000000000000000000000000000000000000000000000000000007a000000000000000000000000000000000000000000000000000000000000008a000000000000000000000000000000000000000000000000000000000000009a00000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000f2fb17eab635f036da7864b8e39ef8e9a03441df0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b600000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000931e24b032511d8dd029aedeb44837fac251f3d80000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe260000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c5030000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f1771790000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e260000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f17717900000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e40000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a00000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000b04e501237d9a941b130172868201dee9b965c380000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3fd67d5d87570deaa92d716c0a8eff1e6bb6e62dc31f9765fc899bb47267c0a5d72e2060cc7779c982a3d24817be594a010e4dcfcd61f54b5aea649f4f99485841c412b73af6eb929f511c53a932a52208ddb248d5b644cfa0de720e78779661d3d6a6e2e3cd88e4815437367bf7521f4b5cceb5f85d7161852fab4af6801bae8751b63d24b2969a226140e82a2e2dde1a712ad31d527a80ffa8f7b2a70cd2ac006a12204c083bcdd6ecc06618984e67ad3c5371cd9bcd3bcee2380aa2c5bb09bc4d41c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x39\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x6c67b3\",\n      \"logs\": [\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\",\n            \"0x000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xa8f2a825ffe0904a0c492122269b6ecfb4abc188aa7fcadcd6787a64a88950ef\",\n          \"blockNumber\": \"0x7c3180\",\n          \"transactionHash\": \"0x6bc215bc3c7e609ebfcda87b3b74d433e45f685101733982b8a910331acd609b\",\n          \"transactionIndex\": \"0x46\",\n          \"logIndex\": \"0x83\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\",\n            \"0x000000000000000000000000f2fb17eab635f036da7864b8e39ef8e9a03441df\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xa8f2a825ffe0904a0c492122269b6ecfb4abc188aa7fcadcd6787a64a88950ef\",\n          \"blockNumber\": \"0x7c3180\",\n          \"transactionHash\": \"0x6bc215bc3c7e609ebfcda87b3b74d433e45f685101733982b8a910331acd609b\",\n          \"transactionIndex\": \"0x46\",\n          \"logIndex\": \"0x84\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\",\n            \"0x000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xa8f2a825ffe0904a0c492122269b6ecfb4abc188aa7fcadcd6787a64a88950ef\",\n          \"blockNumber\": \"0x7c3180\",\n          \"transactionHash\": \"0x6bc215bc3c7e609ebfcda87b3b74d433e45f685101733982b8a910331acd609b\",\n          \"transactionIndex\": \"0x46\",\n          \"logIndex\": \"0x85\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\",\n            \"0x000000000000000000000000931e24b032511d8dd029aedeb44837fac251f3d8\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xa8f2a825ffe0904a0c492122269b6ecfb4abc188aa7fcadcd6787a64a88950ef\",\n          \"blockNumber\": \"0x7c3180\",\n          \"transactionHash\": \"0x6bc215bc3c7e609ebfcda87b3b74d433e45f685101733982b8a910331acd609b\",\n          \"transactionIndex\": \"0x46\",\n          \"logIndex\": \"0x86\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\",\n            \"0x0000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe26\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xa8f2a825ffe0904a0c492122269b6ecfb4abc188aa7fcadcd6787a64a88950ef\",\n          \"blockNumber\": \"0x7c3180\",\n          \"transactionHash\": \"0x6bc215bc3c7e609ebfcda87b3b74d433e45f685101733982b8a910331acd609b\",\n          \"transactionIndex\": \"0x46\",\n          \"logIndex\": \"0x87\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\",\n            \"0x000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c503\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xa8f2a825ffe0904a0c492122269b6ecfb4abc188aa7fcadcd6787a64a88950ef\",\n          \"blockNumber\": \"0x7c3180\",\n          \"transactionHash\": \"0x6bc215bc3c7e609ebfcda87b3b74d433e45f685101733982b8a910331acd609b\",\n          \"transactionIndex\": \"0x46\",\n          \"logIndex\": \"0x88\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\",\n            \"0x0000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e26\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xa8f2a825ffe0904a0c492122269b6ecfb4abc188aa7fcadcd6787a64a88950ef\",\n          \"blockNumber\": \"0x7c3180\",\n          \"transactionHash\": \"0x6bc215bc3c7e609ebfcda87b3b74d433e45f685101733982b8a910331acd609b\",\n          \"transactionIndex\": \"0x46\",\n          \"logIndex\": \"0x89\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\",\n            \"0x00000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xa8f2a825ffe0904a0c492122269b6ecfb4abc188aa7fcadcd6787a64a88950ef\",\n          \"blockNumber\": \"0x7c3180\",\n          \"transactionHash\": \"0x6bc215bc3c7e609ebfcda87b3b74d433e45f685101733982b8a910331acd609b\",\n          \"transactionIndex\": \"0x46\",\n          \"logIndex\": \"0x8a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\",\n            \"0x000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xa8f2a825ffe0904a0c492122269b6ecfb4abc188aa7fcadcd6787a64a88950ef\",\n          \"blockNumber\": \"0x7c3180\",\n          \"transactionHash\": \"0x6bc215bc3c7e609ebfcda87b3b74d433e45f685101733982b8a910331acd609b\",\n          \"transactionIndex\": \"0x46\",\n          \"logIndex\": \"0x8b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\",\n            \"0x000000000000000000000000b04e501237d9a941b130172868201dee9b965c38\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xa8f2a825ffe0904a0c492122269b6ecfb4abc188aa7fcadcd6787a64a88950ef\",\n          \"blockNumber\": \"0x7c3180\",\n          \"transactionHash\": \"0x6bc215bc3c7e609ebfcda87b3b74d433e45f685101733982b8a910331acd609b\",\n          \"transactionIndex\": \"0x46\",\n          \"logIndex\": \"0x8c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0x5582cc9862d5ef48d69838324cd35da6f68d937c6d6a0fce96c3a7e6742ce2b1\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xa8f2a825ffe0904a0c492122269b6ecfb4abc188aa7fcadcd6787a64a88950ef\",\n          \"blockNumber\": \"0x7c3180\",\n          \"transactionHash\": \"0x6bc215bc3c7e609ebfcda87b3b74d433e45f685101733982b8a910331acd609b\",\n          \"transactionIndex\": \"0x46\",\n          \"logIndex\": \"0x8d\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000100000000000000040000000000000000100000000000000000000000000000000000400000000000000000000000000000000000000000020000440000000000000000004800000000200100010000000100010000000000000002000040000000000000000004000020000000010000000000000000000000000000100100000000000000000000000000000000008000000000001000000404000000000080000000080000000000000000000004040000000000000002000000000000000000200000000000000040000000000000450080000840000000000000008000000008000004000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x6bc215bc3c7e609ebfcda87b3b74d433e45f685101733982b8a910331acd609b\",\n      \"transactionIndex\": \"0x46\",\n      \"blockHash\": \"0xa8f2a825ffe0904a0c492122269b6ecfb4abc188aa7fcadcd6787a64a88950ef\",\n      \"blockNumber\": \"0x7c3180\",\n      \"gasUsed\": \"0x3efe6\",\n      \"effectiveGasPrice\": \"0x15c96f\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1744919545,\n  \"chain\": 11155111,\n  \"commit\": \"28ca165\"\n}"
  },
  {
    "path": "sepolia/2025-04-09-testnet-multisig-signers/script/UpdateSigners.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.24;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {stdJson} from \"forge-std/StdJson.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\n\nimport {MultisigBuilder} from \"@base-contracts/script/universal/MultisigBuilder.sol\";\nimport {Safe} from \"safe-smart-account/contracts/Safe.sol\";\nimport {OwnerManager} from \"safe-smart-account/contracts/base/OwnerManager.sol\";\n\ncontract UpdateSigners is MultisigBuilder {\n    using stdJson for string;\n\n    address public constant SENTINEL_OWNERS = address(0x1);\n\n    address public immutable OWNER_SAFE;\n    uint256 public immutable THRESHOLD;\n    address[] public EXISTING_OWNERS;\n\n    address[] public OWNERS_TO_ADD;\n    address[] public OWNERS_TO_REMOVE;\n\n    mapping(address => address) public ownerToPrevOwner;\n    mapping(address => address) public ownerToNextOwner;\n    mapping(address => bool) public expectedOwner;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n\n        Safe ownerSafe = Safe(payable(OWNER_SAFE));\n        THRESHOLD = ownerSafe.getThreshold();\n        EXISTING_OWNERS = ownerSafe.getOwners();\n\n        string memory rootPath = vm.projectRoot();\n        string memory path = string.concat(rootPath, \"/OwnerDiff.json\");\n        string memory jsonData = vm.readFile(path);\n\n        OWNERS_TO_ADD = abi.decode(jsonData.parseRaw(\".OwnersToAdd\"), (address[]));\n        OWNERS_TO_REMOVE = abi.decode(jsonData.parseRaw(\".OwnersToRemove\"), (address[]));\n    }\n\n    function setUp() external {\n        require(OWNERS_TO_ADD.length > 0, \"Precheck 00\");\n        require(OWNERS_TO_REMOVE.length > 0, \"Precheck 01\");\n        require(EXISTING_OWNERS.length == 14, \"Precheck 02\");\n\n        Safe ownerSafe = Safe(payable(OWNER_SAFE));\n        address prevOwner = SENTINEL_OWNERS;\n\n        for (uint256 i = OWNERS_TO_ADD.length; i > 0; i--) {\n            uint256 index = i - 1;\n            // Make sure owners to add are not already owners\n            require(!ownerSafe.isOwner(OWNERS_TO_ADD[index]), \"Precheck 03\");\n            // Prevent duplicates\n            require(!expectedOwner[OWNERS_TO_ADD[index]], \"Precheck 04\");\n\n            ownerToPrevOwner[OWNERS_TO_ADD[index]] = prevOwner;\n            ownerToNextOwner[prevOwner] = OWNERS_TO_ADD[index];\n            prevOwner = OWNERS_TO_ADD[index];\n            expectedOwner[OWNERS_TO_ADD[index]] = true;\n        }\n\n        for (uint256 i; i < EXISTING_OWNERS.length; i++) {\n            ownerToPrevOwner[EXISTING_OWNERS[i]] = prevOwner;\n            ownerToNextOwner[prevOwner] = EXISTING_OWNERS[i];\n            prevOwner = EXISTING_OWNERS[i];\n            expectedOwner[EXISTING_OWNERS[i]] = true;\n        }\n\n        for (uint256 i; i < OWNERS_TO_REMOVE.length; i++) {\n            // Make sure owners to remove are owners\n            require(ownerSafe.isOwner(OWNERS_TO_REMOVE[i]), \"Precheck 05\");\n            // Prevent duplicates\n            require(expectedOwner[OWNERS_TO_REMOVE[i]], \"Precheck 06\");\n            expectedOwner[OWNERS_TO_REMOVE[i]] = false;\n\n            // Remove from linked list to keep ownerToPrevOwner up to date\n            // Note: This works as long as the order of OWNERS_TO_REMOVE does not change during `_buildCalls()`\n            address nextOwner = ownerToNextOwner[OWNERS_TO_REMOVE[i]];\n            address prevPtr = ownerToPrevOwner[OWNERS_TO_REMOVE[i]];\n            ownerToPrevOwner[nextOwner] = prevPtr;\n            ownerToNextOwner[prevPtr] = nextOwner;\n        }\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        Safe ownerSafe = Safe(payable(OWNER_SAFE));\n        address[] memory postCheckOwners = ownerSafe.getOwners();\n        uint256 postCheckThreshold = ownerSafe.getThreshold();\n\n        uint256 expectedLength = EXISTING_OWNERS.length + OWNERS_TO_ADD.length - OWNERS_TO_REMOVE.length;\n\n        require(postCheckThreshold == THRESHOLD, \"Postcheck 00\");\n        require(postCheckOwners.length == expectedLength, \"Postcheck 01\");\n\n        for (uint256 i; i < postCheckOwners.length; i++) {\n            require(expectedOwner[postCheckOwners[i]], \"Postcheck 02\");\n        }\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](OWNERS_TO_ADD.length + OWNERS_TO_REMOVE.length);\n\n        for (uint256 i; i < OWNERS_TO_ADD.length; i++) {\n            calls[i] = IMulticall3.Call3({\n                target: OWNER_SAFE,\n                allowFailure: false,\n                callData: abi.encodeCall(OwnerManager.addOwnerWithThreshold, (OWNERS_TO_ADD[i], THRESHOLD))\n            });\n        }\n\n        for (uint256 i; i < OWNERS_TO_REMOVE.length; i++) {\n            calls[OWNERS_TO_ADD.length + i] = IMulticall3.Call3({\n                target: OWNER_SAFE,\n                allowFailure: false,\n                callData: abi.encodeCall(\n                    OwnerManager.removeOwner, (ownerToPrevOwner[OWNERS_TO_REMOVE[i]], OWNERS_TO_REMOVE[i], THRESHOLD)\n                )\n            });\n        }\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "sepolia/2025-04-09-testnet-multisig-signers/validations/SafeA.md",
    "content": "# Safe A Validation\n\nThis document can be used to validate the inputs and result of the execution of the upgrade transaction which you are\nsigning.\n\nThe steps are:\n\n1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes)\n2. [Verifying the state changes](#state-changes)\n\n## Expected Domain and Message Hashes\n\nFirst, we need to validate the domain and message hashes. These values should match both the values on your ledger and\nthe values printed to the terminal when you run the task.\n\n> [!CAUTION]\n>\n> Before signing, ensure the below hashes match what is on your ledger.\n>\n> ### Safe A: `0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f`\n>\n> - Domain Hash: `0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23`\n> - Message Hash: `0xfbfb489c88b9d7121951b94a50ccf1255266219a829eb5efb6cd49d2f0b977e0`\n\n# State Validations\n\nFor each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract:\n\n- The following state changes (and none others) are made to that contract. This validates that no unexpected state\n  changes occur.\n- All addresses (in section headers and storage values) match the provided name, using the Etherscan and Superchain\n  Registry links provided. This validates the bytecode deployed at the addresses contains the correct logic.\n- All key values match the semantic meaning provided, which can be validated using the storage layout links provided.\n\n## State Overrides\n\n### Safe A (`0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n## Task State Changes\n\n<pre>\n<code>\n----- DecodedStateDiff[0] -----\n  Who:               0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\n  Contract:          Safe A - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0x0000000000000000000000000000000000000000000000000000000000000004\n  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000001\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000003\n  Decoded Kind:      uint256\n  Decoded Old Value: 1\n  Decoded New Value: 3\n\n  Summary:           Update threshold to 3. This is not actually a change - it just displays as one because of the state override mentioned above.\n\n----- DecodedStateDiff[1] -----\n  Who:               0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\n  Contract:          Safe A - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0x0000000000000000000000000000000000000000000000000000000000000005\n  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000001\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000002\n  Decoded Kind:      uint256\n  Decoded Old Value: 1\n  Decoded New Value: 2\n\n  Summary:           Increment nonce in Safe A.\n\n----- DecodedStateDiff[2] -----\n  Who:               0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\n  Contract:          Safe A - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0x50acbb719f16147a2c8ee75d12507825fd23cf8249e700977d21095d26e2750b\n  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Raw New Value:     0x000000000000000000000000931e24b032511d8dd029aedeb44837fac251f3d8\n  Decoded Kind:      address\n  Decoded Old Value: 0x0000000000000000000000000000000000000000\n  Decoded New Value: 0x931E24B032511d8dD029AedeB44837FAc251f3d8\n\n  Summary:           Adds 0x0cf2f86c3338993ce10f74d6f4b095712c7efe26 to owners linked list\n  Detail:            This storage key is derived from `cast index address 0x0cf2f86c3338993ce10f74d6f4b095712c7efe26 2`.\n\n----- DecodedStateDiff[3] -----\n  Who:               0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\n  Contract:          Safe A - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0x58d120a0b20e1a9e1a4e5e474f65af5c48d6f00c80f80d95320860a00359ab1a\n  Raw Old Value:     0x0000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e26\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Decoded Kind:      address\n  Decoded Old Value: 0x2Fa5D8294575A8fA880A8aec008b860Fb6A70e26\n  Decoded New Value: 0x0000000000000000000000000000000000000000\n\n  Summary:           Removes 0xa8c40cc18581ff25c0d2605631514cca6590c503 from owners linked list\n  Detail:            This storage key is derived from `cast index address 0xa8c40cc18581ff25c0d2605631514cca6590c503 2`.\n\n----- DecodedStateDiff[4] -----\n  Who:               0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\n  Contract:          Safe A - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0x789d0a937d11245f00c7805a1652391bdbf3de0209dd993a5d6bc0ea4964bd5e\n  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Raw New Value:     0x0000000000000000000000007f10098bd53519c739ca8a404afe127647d94774\n  Decoded Kind:      address\n  Decoded Old Value: 0x0000000000000000000000000000000000000000\n  Decoded New Value: 0x7f10098BD53519c739cA8A404afE127647D94774\n\n  Summary:           Adds 0xedecf2c444559210a865a22acfc6a2a25590ab1b to owners linked list\n  Detail:            This storage key is derived from `cast index address 0xedecf2c444559210a865a22acfc6a2a25590ab1b 2`.\n\n----- DecodedStateDiff[5] -----\n  Who:               0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\n  Contract:          Safe A - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0x7be060a34deb1d91639bcd2c9d7b1a34999e25875869cc3a83bb8d21aae3abe8\n  Raw Old Value:     0x00000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Decoded Kind:      address\n  Decoded Old Value: 0x79dc63ba7b5D9817A0f0840Cd5373292E86735E4\n  Decoded New Value: 0x0000000000000000000000000000000000000000\n\n  Summary:           Removes 0x2fa5d8294575a8fa880a8aec008b860fb6a70e26 from owners linked list\n  Detail:            This storage key is derived from `cast index address 0x2fa5d8294575a8fa880a8aec008b860fb6a70e26 2`.\n\n----- DecodedStateDiff[6] -----\n  Who:               0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\n  Contract:          Safe A - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0xa4a7a27737970be72bc7ea3d1499d5a7ca677dcfe71298e98f16342b46fd6324\n  Raw Old Value:     0x000000000000000000000000b04e501237d9a941b130172868201dee9b965c38\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Decoded Kind:      address\n  Decoded Old Value: 0xb04e501237d9a941b130172868201dEE9b965C38\n  Decoded New Value: 0x0000000000000000000000000000000000000000\n\n  Summary:           This removes 0x066a2b1419ccf2e1e672a03f14cc1d1146e717a0 from the owners linked list.\n  Detail:            This storage key is derived from `cast index address 0x066a2b1419ccf2e1e672a03f14cc1d1146e717a0 2`\n\n----- DecodedStateDiff[7] -----\n  Who:               0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\n  Contract:          Safe A - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0xa90dbf3509e5dacce4ce51b1e0056ed396086cef191332ab4a46abeba6c00648\n  Raw Old Value:     0x000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Decoded Kind:      address\n  Decoded Old Value: 0x066a2b1419CCf2e1e672A03F14cC1d1146E717a0\n  Decoded New Value: 0x0000000000000000000000000000000000000000\n\n  Summary:           Removes 0x79dc63ba7b5d9817a0f0840cd5373292e86735e4 from owners linked list\n  Detail:            This storage key is derived from `cast index address 0x79dc63ba7b5d9817a0f0840cd5373292e86735e4 2`.\n\n----- DecodedStateDiff[8] -----\n  Who:               0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\n  Contract:          Safe A - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0xb06fd2848181e1497bbaa80b8d007c335c7806a2e47211a7bba7a9af63e0ca64\n  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Raw New Value:     0x000000000000000000000000f2fb17eab635f036da7864b8e39ef8e9a03441df\n  Decoded Kind:      address\n  Decoded Old Value: 0x0000000000000000000000000000000000000000\n  Decoded New Value: 0xf2Fb17eab635f036Da7864B8e39ef8e9A03441df\n\n  Summary:           Adds 0xe45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60 to owners linked list\n  Detail:            This storage key is derived from `cast index address 0xe45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60 2`.\n\n----- DecodedStateDiff[9] -----\n  Who:               0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\n  Contract:          Safe A - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0xb7148df08fba2104e13e2db097b95b457295019a50d577cc90c6010aba3100d1\n  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Raw New Value:     0x000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60\n  Decoded Kind:      address\n  Decoded Old Value: 0x0000000000000000000000000000000000000000\n  Decoded New Value: 0xE45AC81eA7f53dea5f0bd6Caa0733DD5c02d3b60\n\n  Summary:           Adds 0x931e24b032511d8dd029aedeb44837fac251f3d8 to owners linked list\n  Detail:            This storage key is derived from `cast index address 0x931e24b032511d8dd029aedeb44837fac251f3d8 2`.\n\n----- DecodedStateDiff[10] -----\n  Who:               0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\n  Contract:          Safe A - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0xcd8fdd39f0d4ab3740418f660069bb6ed71bb4dd40a37a6eb4fee616a1dc1b08\n  Raw Old Value:     0x0000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed78\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Decoded Kind:      address\n  Decoded Old Value: 0x4ffd98B5EEA905eC25aA3daF180552F67873Ed78\n  Decoded New Value: 0x0000000000000000000000000000000000000000\n\n  Summary:           Removes 0xb04e501237d9a941b130172868201dee9b965c38 from owners linked list\n  Detail:            This storage key is derived from `cast index address 0xb04e501237d9a941b130172868201dee9b965c38 2`.\n\n----- DecodedStateDiff[11] -----\n  Who:               0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\n  Contract:          Safe A - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0xdd723b4c2a66aea3d2ac26f837bd1e7dea4ce6cca7e4fa76af2185076784453f\n  Raw Old Value:     0x000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c503\n  Raw New Value:     0x0000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed78\n  Decoded Kind:      address\n  Decoded Old Value: 0xa8c40CC18581Ff25c0D2605631514CCa6590c503\n  Decoded New Value: 0x4ffd98B5EEA905eC25aA3daF180552F67873Ed78\n\n  Summary:           Results from removing 0xa8c40CC18581Ff25c0D2605631514CCa6590c503 from owners linked list\n  Detail:            This storage key is derived from `cast index address 0x420c8fe1ddb0593c71487445576c87c17f177179 2`. This updates the list pointer for 0x420c8fe1ddb0593c71487445576c87c17f177179 from 0xa8c40CC18581Ff25c0D2605631514CCa6590c503 to 0x4ffd98B5EEA905eC25aA3daF180552F67873Ed78.\n\n----- DecodedStateDiff[12] -----\n  Who:               0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\n  Contract:          Safe A - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0xdf293ebdd99010d44bfef5d86d47c7943a4e69db74a426354dc622e6d4d85761\n  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Raw New Value:     0x000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b\n  Decoded Kind:      address\n  Decoded Old Value: 0x0000000000000000000000000000000000000000\n  Decoded New Value: 0xEdecf2c444559210a865a22acfc6A2a25590Ab1b\n\n  Summary:           Adds 0xf2fb17eab635f036da7864b8e39ef8e9a03441df to owners linked list\n  Detail:            This storage key is derived from `cast index address 0xf2fb17eab635f036da7864b8e39ef8e9a03441df 2`.\n\n----- DecodedStateDiff[13] -----\n  Who:               0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\n  Contract:          Safe A - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0\n  Raw Old Value:     0x0000000000000000000000007f10098bd53519c739ca8a404afe127647d94774\n  Raw New Value:     0x0000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe26\n  Decoded Kind:      address\n  Decoded Old Value: 0x7f10098BD53519c739cA8A404afE127647D94774\n  Decoded New Value: 0x0CF2F86C3338993ce10F74d6f4B095712c7efe26\n\n  Summary:           Updates the head of the owners linked list to 0x0CF2F86C3338993ce10F74d6f4B095712c7efe26\n  Detail:            This storage key is derived from `cast index address 0x0000000000000000000000000000000000000001 2`.\n\n----- Additional Nonce Changes -----\n  Details:           You should see a nonce increment for the account you're signing with.\n</pre>\n"
  },
  {
    "path": "sepolia/2025-04-09-testnet-multisig-signers/validations/SafeB.md",
    "content": "# Safe B Validation\n\nThis document can be used to validate the inputs and result of the execution of the upgrade transaction which you are\nsigning.\n\nThe steps are:\n\n1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes)\n2. [Verifying the state changes](#state-changes)\n\n## Expected Domain and Message Hashes\n\nFirst, we need to validate the domain and message hashes. These values should match both the values on your ledger and\nthe values printed to the terminal when you run the task.\n\n> [!CAUTION]\n>\n> Before signing, ensure the below hashes match what is on your ledger.\n>\n> ### Safe B: `0x6af0674791925f767060dd52f7fb20984e8639d8`\n>\n> - Domain Hash: `0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa`\n> - Message Hash: `0x911f00103be60626fca703e1141a3d9a03f21536d178c3c827c32e7980425d4f`\n\n# State Validations\n\nFor each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract:\n\n- The following state changes (and none others) are made to that contract. This validates that no unexpected state\n  changes occur.\n- All addresses (in section headers and storage values) match the provided name, using the Etherscan and Superchain\n  Registry links provided. This validates the bytecode deployed at the addresses contains the correct logic.\n- All key values match the semantic meaning provided, which can be validated using the storage layout links provided.\n\n## Task State Changes\n\n<pre>\n<code>\n----- DecodedStateDiff[0] -----\n  Who:               0x6af0674791925f767060dd52f7fb20984e8639d8\n  Contract:          Safe B - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0x0000000000000000000000000000000000000000000000000000000000000005\n  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000005\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000006\n  Decoded Kind:      uint256\n  Decoded Old Value: 5\n  Decoded New Value: 6\n\n  Summary:           Increment nonce in Safe B.\n\n----- DecodedStateDiff[1] -----\n  Who:               0x6af0674791925f767060dd52f7fb20984e8639d8\n  Contract:          Safe B - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0x50acbb719f16147a2c8ee75d12507825fd23cf8249e700977d21095d26e2750b\n  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Raw New Value:     0x000000000000000000000000931e24b032511d8dd029aedeb44837fac251f3d8\n  Decoded Kind:      address\n  Decoded Old Value: 0x0000000000000000000000000000000000000000\n  Decoded New Value: 0x931E24B032511d8dD029AedeB44837FAc251f3d8\n\n  Summary:           Adds 0x0cf2f86c3338993ce10f74d6f4b095712c7efe26 to owners linked list\n  Detail:            This storage key is derived from `cast index address 0x0cf2f86c3338993ce10f74d6f4b095712c7efe26 2`.\n\n----- DecodedStateDiff[2] -----\n  Who:               0x6af0674791925f767060dd52f7fb20984e8639d8\n  Contract:          Safe B - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0x58d120a0b20e1a9e1a4e5e474f65af5c48d6f00c80f80d95320860a00359ab1a\n  Raw Old Value:     0x0000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e26\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Decoded Kind:      address\n  Decoded Old Value: 0x2Fa5D8294575A8fA880A8aec008b860Fb6A70e26\n  Decoded New Value: 0x0000000000000000000000000000000000000000\n\n  Summary:           Removes 0xa8c40cc18581ff25c0d2605631514cca6590c503 from owners linked list\n  Detail:            This storage key is derived from `cast index address 0xa8c40cc18581ff25c0d2605631514cca6590c503 2`.\n\n----- DecodedStateDiff[3] -----\n  Who:               0x6af0674791925f767060dd52f7fb20984e8639d8\n  Contract:          Safe B - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0x789d0a937d11245f00c7805a1652391bdbf3de0209dd993a5d6bc0ea4964bd5e\n  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Raw New Value:     0x0000000000000000000000007f10098bd53519c739ca8a404afe127647d94774\n  Decoded Kind:      address\n  Decoded Old Value: 0x0000000000000000000000000000000000000000\n  Decoded New Value: 0x7f10098BD53519c739cA8A404afE127647D94774\n\n  Summary:           Adds 0xedecf2c444559210a865a22acfc6a2a25590ab1b to owners linked list\n  Detail:            This storage key is derived from `cast index address 0xedecf2c444559210a865a22acfc6a2a25590ab1b 2`.\n\n----- DecodedStateDiff[4] -----\n  Who:               0x6af0674791925f767060dd52f7fb20984e8639d8\n  Contract:          Safe B - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0x7be060a34deb1d91639bcd2c9d7b1a34999e25875869cc3a83bb8d21aae3abe8\n  Raw Old Value:     0x00000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Decoded Kind:      address\n  Decoded Old Value: 0x79dc63ba7b5D9817A0f0840Cd5373292E86735E4\n  Decoded New Value: 0x0000000000000000000000000000000000000000\n\n  Summary:           Removes 0x2fa5d8294575a8fa880a8aec008b860fb6a70e26 from owners linked list\n  Detail:            This storage key is derived from `cast index address 0x2fa5d8294575a8fa880a8aec008b860fb6a70e26 2`.\n\n----- DecodedStateDiff[5] -----\n  Who:               0x6af0674791925f767060dd52f7fb20984e8639d8\n  Contract:          Safe B - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0xa4a7a27737970be72bc7ea3d1499d5a7ca677dcfe71298e98f16342b46fd6324\n  Raw Old Value:     0x000000000000000000000000b04e501237d9a941b130172868201dee9b965c38\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Decoded Kind:      address\n  Decoded Old Value: 0xb04e501237d9a941b130172868201dEE9b965C38\n  Decoded New Value: 0x0000000000000000000000000000000000000000\n\n  Summary:           This removes 0x066a2b1419ccf2e1e672a03f14cc1d1146e717a0 from the owners linked list.\n  Detail:            This storage key is derived from `cast index address 0x066a2b1419ccf2e1e672a03f14cc1d1146e717a0 2`\n\n----- DecodedStateDiff[6] -----\n  Who:               0x6af0674791925f767060dd52f7fb20984e8639d8\n  Contract:          Safe B - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0xa90dbf3509e5dacce4ce51b1e0056ed396086cef191332ab4a46abeba6c00648\n  Raw Old Value:     0x000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Decoded Kind:      address\n  Decoded Old Value: 0x066a2b1419CCf2e1e672A03F14cC1d1146E717a0\n  Decoded New Value: 0x0000000000000000000000000000000000000000\n\n  Summary:           Removes 0x79dc63ba7b5d9817a0f0840cd5373292e86735e4 from owners linked list\n  Detail:            This storage key is derived from `cast index address 0x79dc63ba7b5d9817a0f0840cd5373292e86735e4 2`.\n\n----- DecodedStateDiff[7] -----\n  Who:               0x6af0674791925f767060dd52f7fb20984e8639d8\n  Contract:          Safe B - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0xb06fd2848181e1497bbaa80b8d007c335c7806a2e47211a7bba7a9af63e0ca64\n  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Raw New Value:     0x000000000000000000000000f2fb17eab635f036da7864b8e39ef8e9a03441df\n  Decoded Kind:      address\n  Decoded Old Value: 0x0000000000000000000000000000000000000000\n  Decoded New Value: 0xf2Fb17eab635f036Da7864B8e39ef8e9A03441df\n\n  Summary:           Adds 0xe45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60 to owners linked list\n  Detail:            This storage key is derived from `cast index address 0xe45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60 2`.\n\n----- DecodedStateDiff[8] -----\n  Who:               0x6af0674791925f767060dd52f7fb20984e8639d8\n  Contract:          Safe B - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0xb7148df08fba2104e13e2db097b95b457295019a50d577cc90c6010aba3100d1\n  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Raw New Value:     0x000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60\n  Decoded Kind:      address\n  Decoded Old Value: 0x0000000000000000000000000000000000000000\n  Decoded New Value: 0xE45AC81eA7f53dea5f0bd6Caa0733DD5c02d3b60\n\n  Summary:           Adds 0x931e24b032511d8dd029aedeb44837fac251f3d8 to owners linked list\n  Detail:            This storage key is derived from `cast index address 0x931e24b032511d8dd029aedeb44837fac251f3d8 2`.\n\n----- DecodedStateDiff[9] -----\n  Who:               0x6af0674791925f767060dd52f7fb20984e8639d8\n  Contract:          Safe B - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0xcd8fdd39f0d4ab3740418f660069bb6ed71bb4dd40a37a6eb4fee616a1dc1b08\n  Raw Old Value:     0x0000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed78\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Decoded Kind:      address\n  Decoded Old Value: 0x4ffd98B5EEA905eC25aA3daF180552F67873Ed78\n  Decoded New Value: 0x0000000000000000000000000000000000000000\n\n  Summary:           Removes 0xb04e501237d9a941b130172868201dee9b965c38 from owners linked list\n  Detail:            This storage key is derived from `cast index address 0xb04e501237d9a941b130172868201dee9b965c38 2`.\n\n----- DecodedStateDiff[10] -----\n  Who:               0x6af0674791925f767060dd52f7fb20984e8639d8\n  Contract:          Safe B - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0xdd723b4c2a66aea3d2ac26f837bd1e7dea4ce6cca7e4fa76af2185076784453f\n  Raw Old Value:     0x000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c503\n  Raw New Value:     0x0000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed78\n  Decoded Kind:      address\n  Decoded Old Value: 0xa8c40CC18581Ff25c0D2605631514CCa6590c503\n  Decoded New Value: 0x4ffd98B5EEA905eC25aA3daF180552F67873Ed78\n\n  Summary:           Results from removing 0xa8c40CC18581Ff25c0D2605631514CCa6590c503 from owners linked list\n  Detail:            This storage key is derived from `cast index address 0x420c8fe1ddb0593c71487445576c87c17f177179 2`. This updates the list pointer for 0x420c8fe1ddb0593c71487445576c87c17f177179 from 0xa8c40CC18581Ff25c0D2605631514CCa6590c503 to 0x4ffd98B5EEA905eC25aA3daF180552F67873Ed78.\n\n----- DecodedStateDiff[11] -----\n  Who:               0x6af0674791925f767060dd52f7fb20984e8639d8\n  Contract:          Safe B - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0xdf293ebdd99010d44bfef5d86d47c7943a4e69db74a426354dc622e6d4d85761\n  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Raw New Value:     0x000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b\n  Decoded Kind:      address\n  Decoded Old Value: 0x0000000000000000000000000000000000000000\n  Decoded New Value: 0xEdecf2c444559210a865a22acfc6A2a25590Ab1b\n\n  Summary:           Adds 0xf2fb17eab635f036da7864b8e39ef8e9a03441df to owners linked list\n  Detail:            This storage key is derived from `cast index address 0xf2fb17eab635f036da7864b8e39ef8e9a03441df 2`.\n\n----- DecodedStateDiff[12] -----\n  Who:               0x6af0674791925f767060dd52f7fb20984e8639d8\n  Contract:          Safe B - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0\n  Raw Old Value:     0x0000000000000000000000007f10098bd53519c739ca8a404afe127647d94774\n  Raw New Value:     0x0000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe26\n  Decoded Kind:      address\n  Decoded Old Value: 0x7f10098BD53519c739cA8A404afE127647D94774\n  Decoded New Value: 0x0CF2F86C3338993ce10F74d6f4B095712c7efe26\n\n  Summary:           Updates the head of the owners linked list to 0x0CF2F86C3338993ce10F74d6f4B095712c7efe26\n  Detail:            This storage key is derived from `cast index address 0x0000000000000000000000000000000000000001 2`.\n\n----- Additional Nonce Changes -----\n  Details:           You should see a nonce increment for the account you're signing with.\n</pre>\n"
  },
  {
    "path": "sepolia/2025-04-14-upgrade-fault-proofs/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 1\nendif\n\n.PHONY: deploy\ndeploy:\n\tforge script --rpc-url $(L1_RPC_URL) DeployDisputeGames \\\n\t--account testnet-admin --broadcast -vvvv\n\n.PHONY: sign-b\nsign-b:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeDGF \\\n\t--sig \"sign(address)\" $(SAFE_B)\n\n.PHONY: approve-b\napprove-b:\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeDGF \\\n\t--sig \"approve(address,bytes)\" $(SAFE_B) $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeDGF \\\n\t--sig \"run()\" --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n\n.PHONY: sign\nsign:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeDGF \\\n\t--sig \"sign(address,address)\" $(SAFE_A) $(COORDINATOR_SAFE_ADDR)\n\n.PHONY: sign-nested-b\nsign-nested-b:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeDGF \\\n\t--sig \"sign(address,address)\" $(SAFE_B) $(COORDINATOR_SAFE_ADDR)\n\n.PHONY: approve\napprove:\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeDGF \\\n\t--sig \"approveOnBehalfOfSignerSafe(address,address,bytes)\" $(SAFE_A) $(COORDINATOR_SAFE_ADDR) $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv\n\n.PHONY: approve-nested-b\napprove-nested-b:\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeDGF \\\n\t--sig \"approveOnBehalfOfSignerSafe(address,address,bytes)\" $(SAFE_B) $(COORDINATOR_SAFE_ADDR) $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv\n\n.PHONY: approve-coordinator\napprove-coordinator:\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeDGF \\\n\t--sig \"approveOnBehalfOfIntermediateSafe(address)\" $(COORDINATOR_SAFE_ADDR) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv\n"
  },
  {
    "path": "sepolia/2025-04-14-upgrade-fault-proofs/README.md",
    "content": "# Upgrade Fault Proofs\n\nStatus: EXECUTED (https://sepolia.etherscan.io/tx/0x9815d944bf9edec3ebf81b7418d438144861c4bf2f2560ec12e028a175de7505)\n\n## Description\n\nThis task contains two scripts for our required onchain updates for the OP Stack's [Upgrade 15](https://docs.optimism.io/notices/upgrade-15). One for deploying new versions of the `FaultDisputeGame` and `PermissionedDisputeGame` contracts, and one for updating the `DisputeGameFactory` contract to reference the new dispute game contracts.\n\n## Procedure\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd sepolia/2025-04-14-upgrade-fault-proofs\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Run relevant script(s)\n\n#### 3.1 Deploy new Dispute Game Implementations\n\n```bash\nmake deploy\n```\n\nThis will output the new addresses of the `FaultDisputeGame` and `PermissionedDisputeGame` contracts to an `addresses.json` file. You will need to commit this file to the repo before signers can sign.\n\n#### 3.2 Sign the transaction\n\n```bash\nmake sign\n```\n\nYou will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and extract the domain hash and message hash to approve on your Ledger:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n##### 3.2.1 Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Sepolia.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not see the derivation path Note above.\n\n##### 3.2.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab, and refer to the [State Validations](./validations/SafeA.md) instructions for the transaction you are signing.\nOnce complete return to this document to complete the signing.\n\n##### 3.2.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\nOnce the validations are done, it's time to actually sign the\ntransaction.\n\n> [!WARNING]\n> This is the most security critical part of the playbook: make sure the\n> domain hash and message hash in the following two places match:\n>\n> 1. On your Ledger screen.\n> 2. In the Tenderly simulation. You should use the same Tenderly\n>    simulation as the one you used to verify the state diffs, instead\n>    of opening the new one printed in the console.\n>\n> There is no need to verify anything printed in the console. There is\n> no need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```shell\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n##### 3.2.4 Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n### [For Facilitator ONLY] How to execute\n\n#### Approve the transaction\n\n1. Collect outputs from all participating signers.\n1. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"`.\n1. Run the `make approve` command as described below to approve the transaction.\n\nFor example, if the quorum is 2 and you get the following outputs:\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE01\nSignature: AAAA\n```\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE02\nSignature: BBBB\n```\n\n```bash\nSIGNATURES=AAAABBBB make approve\n```\n\nAs the facilitator, you are then expected to sign / approve on behalf of the rest of our testnet multisigs that mirror our mainnet hierarchy.\n\n```bash\nmake sign-b\n```\n\n```bash\nSIGNATURES=AAAA make approve-b\n```\n\n```bash\nmake sign-nested-b\n```\n\n```bash\nSIGNATURES=AAAA make approve-nested-b\n```\n\n```bash\nmake approve-coordinator\n```\n\n#### Execute the transaction\n\nIMPORTANT: Ensure op-challenger has been updated before executing.\n\nOnce the signatures have been submitted approving the transaction for all nested Safes run:\n\n```bash\nmake execute\n```\n"
  },
  {
    "path": "sepolia/2025-04-14-upgrade-fault-proofs/addresses.json",
    "content": "{\n  \"faultDisputeGame\": \"0xcfce7dd673fbbbffd16ab936b7245a2f2db31c9a\",\n  \"permissionedDisputeGame\": \"0xf0102ffe22649a5421d53acc96e309660960cf44\"\n}\n"
  },
  {
    "path": "sepolia/2025-04-14-upgrade-fault-proofs/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 200\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n    '@lib-keccak/=lib/lib-keccak/contracts/lib',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "sepolia/2025-04-14-upgrade-fault-proofs/records/DeployDisputeGames.s.sol/11155111/run-1744743721.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x8c759a253375b2b62743268cd133da994dacae821ed82ff57fd52a77a4ffa8fe\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"FaultDisputeGame\",\n      \"contractAddress\": \"0xcfce7dd673fbbbffd16ab936b7245a2f2db31c9a\",\n      \"function\": null,\n      \"arguments\": [\n        \"(0, 0x03682932cec7ce0a3874b19675a6bbc923054a7b321efc7d3835187b172494b6, 73, 30, 10800, 302400, 0xF027F4A985560fb13324e943edf55ad6F1d15Dc1, 0x489c2E5ebe0037bDb2DC039C5770757b8E54eA1F, 0x0729957c92A1F50590A84cb2D65D761093f3f8eB, 84532)\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x528b6f\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6101c06040523480156200001257600080fd5b50604051620052163803806200521683398101604081905262000035916200052d565b620000436001607e62000600565b60ff16816040015111156200006b57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000955750604081015160608201516200009290600162000626565b10155b15620000b45760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000db5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000128573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014e919062000641565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b2919062000661565b1115620001d25760405163b4e1243360e01b815260040160405180910390fd5b6000620001f782608001516001600160401b03166200048060201b62000b7f1760201c565b6200020d906001600160401b031660026200067b565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000254573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027a919062000641565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002de919062000661565b6200030184608001516001600160401b03166200048060201b62000b7f1760201c565b6001600160401b031662000316919062000626565b905060006200033183836200048360201b620030a61760201c565b90506001600160401b038111156200035c5760405163235dfb2b60e21b815260040160405180910390fd5b6200037f8460a001516001600160401b03166200048060201b62000b7f1760201c565b6001600160401b0316816001600160401b03161115620003b25760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003d9856000015163ffffffff166200048060201b62000b7f1760201c565b63ffffffff1603620003fe5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015116610160529091015161018052506200069d565b90565b600081831162000494578162000496565b825b9392505050565b60405161014081016001600160401b0381118282101715620004cf57634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004ea57600080fd5b919050565b80516001600160401b0381168114620004ea57600080fd5b6001600160a01b03811681146200051d57600080fd5b50565b8051620004ea8162000507565b600061014082840312156200054157600080fd5b6200054b6200049d565b6200055683620004d5565b81526020830151602082015260408301516040820152606083015160608201526200058460808401620004ef565b60808201526200059760a08401620004ef565b60a0820152620005aa60c0840162000520565b60c0820152620005bd60e0840162000520565b60e0820152610100620005d281850162000520565b90820152610120928301519281019290925250919050565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8416808210156200061d576200061d620005ea565b90039392505050565b600082198211156200063c576200063c620005ea565b500190565b6000602082840312156200065457600080fd5b8151620004968162000507565b6000602082840312156200067457600080fd5b5051919050565b6000816000190483118215151615620006985762000698620005ea565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516149de620008386000396000818161068c01528181611a3401528181611a9e0152611ad001526000818161098b0152612ffe01526000818161060f01528181611f960152818161203e015281816120b4015281816121ce0152612522015260008181610515015281816114b00152818161157a01528181611e1a015261245a01526000818161081c015281816124f9015261306a0152600081816104c10152818161194d01528181612bab0152612d640152600081816109de01528181610d63015281816118d601528181611aff01528181611b5a015281816126f80152612738015260008181610a11015281816117930152818161185f01528181611a6f01528181612a5401528181612ee5015281816134e401528181613a1401528181613b2f01528181613b8d0152613bd8015260008181610ab80152818161181b015281816119210152818161277c015281816127e9015281816129ed0152612a750152600081816107410152612af801526149de6000f3fe6080604052600436106102e45760003560e01c80636f03440911610190578063c395e1ca116100dc578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610a65578063fa24f74314610a85578063fa315aa914610aa9578063fe2bbeb214610adc57600080fd5b8063dabd396d146109cf578063ec5e630814610a02578063eff0f59214610a3557600080fd5b8063c395e1ca146108a8578063c6f0308c146108c8578063cf09e0d01461093c578063d5d44d801461095c578063d6ae3cd51461097c578063d8cc1a3c146109af57600080fd5b80638b85902b11610149578063bbdc02db11610123578063bbdc02db14610805578063bcef3b5514610846578063bd8da9561461085b578063c0d8bb741461087b57600080fd5b80638b85902b1461071d5780638d450a9514610732578063a445ece61461076557600080fd5b80636f034409146106b057806370872aa5146106c3578063786b844b146106d85780637b0f0adc146106ed5780638129fc1c146107005780638980e0cc1461070857600080fd5b80633a7684631161024f57806357da950e11610208578063609d3334116101e2578063609d33341461063357806360e27464146106485780636361506d146106685780636b6716c01461067d57600080fd5b806357da950e146105b05780635a5fa2d9146105e05780635c0cba331461060057600080fd5b80633a768463146104b25780633e3ac912146104e55780633fc8cef314610506578063472777c614610539578063529d6a8c1461054c57806354fd4d501461057957600080fd5b806325fc2ace116102a157806325fc2ace146103f75780632810e1d6146104165780632ad69aeb1461042b57806330dbe5701461044b578063378dd48c1461048357806337b1b2291461049d57600080fd5b806301935130146102e957806303c2924d1461030b57806319effeb41461032b578063200d2ed21461036f578063222abf451461039d578063250e69bd146103dd575b600080fd5b3480156102f557600080fd5b506103096103043660046142bd565b610b0c565b005b34801561031757600080fd5b50610309610326366004614317565b610cea565b34801561033757600080fd5b5060005461035290600160401b90046001600160401b031681565b6040516001600160401b0390911681526020015b60405180910390f35b34801561037b57600080fd5b5060005461039090600160801b900460ff1681565b6040516103669190614370565b3480156103a957600080fd5b506103cd6103b8366004614398565b600c6020526000908152604090205460ff1681565b6040519015158152602001610366565b3480156103e957600080fd5b50600a546103cd9060ff1681565b34801561040357600080fd5b506008545b604051908152602001610366565b34801561042257600080fd5b50610390611195565b34801561043757600080fd5b50610408610446366004614317565b611315565b34801561045757600080fd5b5060015461046b906001600160a01b031681565b6040516001600160a01b039091168152602001610366565b34801561048f57600080fd5b50600d546103909060ff1681565b3480156104a957600080fd5b5061046b611346565b3480156104be57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046b565b3480156104f157600080fd5b506000546103cd90600160901b900460ff1681565b34801561051257600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046b565b6103096105473660046143b5565b611357565b34801561055857600080fd5b50610408610567366004614398565b60036020526000908152604090205481565b34801561058557600080fd5b50604080518082019091526005815264312e342e3160d81b60208201525b604051610366919061442e565b3480156105bc57600080fd5b506008546009546105cb919082565b60408051928352602083019190915201610366565b3480156105ec57600080fd5b506104086105fb366004614441565b611369565b34801561060c57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046b565b34801561063f57600080fd5b506105a36113a3565b34801561065457600080fd5b50610309610663366004614398565b6113b1565b34801561067457600080fd5b5061040861164c565b34801561068957600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610352565b6103096106be366004614468565b611658565b3480156106cf57600080fd5b50600954610408565b3480156106e457600080fd5b50610309611ec9565b6103096106fb3660046143b5565b612192565b61030961219f565b34801561071457600080fd5b50600254610408565b34801561072957600080fd5b506104086125b5565b34801561073e57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610408565b34801561077157600080fd5b506107c7610780366004614441565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b03166060820152608001610366565b34801561081157600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610366565b34801561085257600080fd5b506104086125c1565b34801561086757600080fd5b50610352610876366004614441565b6125cd565b34801561088757600080fd5b50610408610896366004614398565b600b6020526000908152604090205481565b3480156108b457600080fd5b506104086108c33660046144a9565b612760565b3480156108d457600080fd5b506108e86108e3366004614441565b6128a0565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e001610366565b34801561094857600080fd5b50600054610352906001600160401b031681565b34801561096857600080fd5b50610408610977366004614398565b612913565b34801561098857600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610408565b3480156109bb57600080fd5b506103096109ca3660046144d2565b61296b565b3480156109db57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610352565b348015610a0e57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610408565b348015610a4157600080fd5b506103cd610a50366004614441565b60046020526000908152604090205460ff1681565b348015610a7157600080fd5b50610309610a803660046143b5565b612cfc565b348015610a9157600080fd5b50610a9a613068565b6040516103669392919061455d565b348015610ab557600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610408565b348015610ae857600080fd5b506103cd610af7366004614441565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610b2b57610b2b614339565b14610b495760405163067fe19560e41b815260040160405180910390fd5b600054600160901b900460ff1615610b745760405163075173a960e11b815260040160405180910390fd5b610b82610b7f6125c1565b90565b610b99610b9436869003860186614598565b6130c0565b14610bb757604051639cc00b5b60e01b815260040160405180910390fd5b82606001358282604051610bcc92919061460b565b604051809103902014610bf25760405163d81d583b60e01b815260040160405180910390fd5b6000610c3b610c3684848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061311c92505050565b613170565b90506000610c6282600881518110610c5557610c5561461b565b60200260200101516132f4565b9050602081511115610c875760405163d81d583b60e01b815260040160405180910390fd5b602081810151825190910360031b1c610c9e6125b5565b8103610cbd57604051630b8ed88360e41b815260040160405180910390fd5b5050600180546001600160a01b0319163317905550506000805460ff60901b1916600160901b1790555050565b60008054600160801b900460ff166002811115610d0957610d09614339565b14610d275760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610d3c57610d3c61461b565b906000526020600020906005020190506000610d57846125cd565b90506001600160401b037f000000000000000000000000000000000000000000000000000000000000000081169082161015610da65760405163f2440b5360e01b815260040160405180910390fd5b60008481526006602052604090205460ff1615610dd65760405163f1a9458160e01b815260040160405180910390fd5b6000848152600560205260409020805480158015610df357508515155b15610e55578354600160201b90046001600160a01b031660008115610e185781610e27565b60018601546001600160a01b03165b9050610e338187613376565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b03166060830152610ed9576001600160801b036040820152600181526000869003610ed9578195505b600086826020015163ffffffff16610ef19190614647565b90506000838211610f025781610f04565b835b602084015190915063ffffffff165b8181101561100a576000868281548110610f2f57610f2f61461b565b6000918252602080832090910154808352600690915260409091205490915060ff16610f6e57604051634d03b32360e11b815260040160405180910390fd5b600060028281548110610f8357610f8361461b565b600091825260209091206005909102018054909150600160201b90046001600160a01b0316158015610fc95750600481015460408701516001600160801b039182169116115b15610ff55760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b505080806110029061465f565b915050610f13565b5063ffffffff818116602085810191825260008c815260079091526040908190208651815493519288015164ffffffffff1990941690151564ffffffff00191617610100929094169182029390931774ffffffffffffffffffffffffffffffff00000000001916650100000000006001600160801b03909316929092029190911782556060850151600190920180546001600160a01b0319166001600160a01b039093169290921790915584900361118a57606083015160008a8152600660205260409020805460ff19166001179055891580156110f15750600054600160901b900460ff165b15611137576001546001600160a01b031661110c818a613376565b88546001600160a01b03909116600160201b02640100000000600160c01b0319909116178855611188565b6111646001600160a01b0382161561114f578161115e565b60018901546001600160a01b03165b89613376565b8754640100000000600160c01b031916600160201b6001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156111b6576111b6614339565b146111d45760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff1661121f57604051634d03b32360e11b815260040160405180910390fd5b60006001600160a01b0316600260008154811061123e5761123e61461b565b6000918252602090912060059091020154600160201b90046001600160a01b03161461126b57600161126e565b60025b600080546001600160401b034216600160401b026fffffffffffffffff000000000000000019821681178355929350839260ff60801b191670ffffffffffffffffff00000000000000001990911617600160801b8360028111156112d4576112d4614339565b0217905560028111156112e9576112e9614339565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061133157600080fd5b90600052602060002001600091509150505481565b600061135260006133b8565b905090565b6113648383836001611658565b505050565b6000818152600760209081526040808320600590925282208054825461139a90610100900463ffffffff1682614678565b95945050505050565b6060611352605460206133db565b6113b9611ec9565b60006002600d5460ff1660028111156113d4576113d4614339565b036113f857506001600160a01b0381166000908152600b602052604090205461144e565b6001600d5460ff16600281111561141157611411614339565b0361143557506001600160a01b03811660009081526003602052604090205461144e565b6040516301e28f7d60e21b815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff16611512576001600160a01b038281166000818152600c602052604090819020805460ff1916600117905551637eee288d60e01b81526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b1580156114f657600080fd5b505af115801561150a573d6000803e3d6000fd5b505050505050565b80600003611533576040516317bfe5f760e01b815260040160405180910390fd5b6001600160a01b038281166000818152600b602090815260408083208390556003909152808220919091555163f3fef3a360e01b81526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b1580156115c057600080fd5b505af11580156115d4573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611625576040519150601f19603f3d011682016040523d82523d6000602084013e61162a565b606091505b5050905080611364576040516383e6cc6b60e01b815260040160405180910390fd5b6000611352603461341d565b60008054600160801b900460ff16600281111561167757611677614339565b146116955760405163067fe19560e41b815260040160405180910390fd5b6000600284815481106116aa576116aa61461b565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b03600160201b90910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c0820152915085146117545760405163180a019960e11b815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000611781826001600160801b031661343d565b60ff1690508615806117bc57506117b97f00000000000000000000000000000000000000000000000000000000000000006002614647565b81145b80156117c6575084155b156117e4576040516329098def60e21b815260040160405180910390fd5b600054600160901b900460ff1680156117fb575086155b156118195760405163075173a960e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000081111561185a576040516356f57b2b60e01b815260040160405180910390fd5b6118857f00000000000000000000000000000000000000000000000000000000000000006001614647565b810361189757611897868885886134a9565b346118a183612760565b146118bf57604051638620aa1960e01b815260040160405180910390fd5b60006118ca886125cd565b90506001600160401b037f000000000000000000000000000000000000000000000000000000000000000081169082160361191857604051630ce0744560e21b815260040160405180910390fd5b600061194560017f0000000000000000000000000000000000000000000000000000000000000000614678565b8303611a68577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119cd919061468f565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a2e91906146ac565b611a61907f00000000000000000000000000000000000000000000000000000000000000006001600160401b03166146c5565b9050611af9565b611a9360017f0000000000000000000000000000000000000000000000000000000000000000614678565b8303611acd57611a617f00000000000000000000000000000000000000000000000000000000000000006001600160401b031660026146f0565b507f00000000000000000000000000000000000000000000000000000000000000006001600160401b03165b611b2c817f00000000000000000000000000000000000000000000000000000000000000006001600160401b031661471f565b6001600160401b0316611b45836001600160401b031690565b6001600160401b03161115611b8a57611b87817f00000000000000000000000000000000000000000000000000000000000000006001600160401b031661471f565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff1615611be6576040516380497e3b60e01b815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c81526020019081526020016000206001600280549050611ddd9190614678565b81546001810183556000928352602080842090910191909155338252600b9052604081208054349290611e11908490614647565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015611e7357600080fd5b505af1158015611e87573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b6002600d5460ff166002811115611ee257611ee2614339565b1480611f0457506001600d5460ff166002811115611f0257611f02614339565b145b15611f0b57565b6000600d5460ff166002811115611f2457611f24614339565b14611f42576040516301e28f7d60e21b815260040160405180910390fd5b600054600160401b90046001600160401b03166001600160401b0316600003611f7e57604051636082930560e11b815260040160405180910390fd5b604051630314d2b360e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015611fe5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120099190614747565b90508061202957604051634851bd9b60e01b815260040160405180910390fd5b6040516317cf21a960e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561208a57600080fd5b505af192505050801561209b575060015b506040516324b5ce0b60e11b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa158015612103573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121279190614747565b9050801561214157600d805460ff1916600117905561214f565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f916121869160ff90911690614370565b60405180910390a15050565b6113648383836000611658565b600054600160881b900460ff16156121c95760405162dc149f60e41b815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015612229573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061224d9190614764565b90925090508161227057604051633535e1d960e11b815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146122a357639824bdab6000526004601cfd5b806122ac6125b5565b116122de576122b96125c1565b60405163f40239db60e01b81526004016122d591815260200190565b60405180910390fd5b6040805160e08101825263ffffffff8152600060208201526002918101612303611346565b6001600160a01b03168152602001346001600160801b031681526020016123286125c1565b815260016020820152604001426001600160801b0390811690915282546001808201855560009485526020808620855160059094020180549186015163ffffffff9094166001600160c01b031990921691909117600160201b6001600160a01b0394851602178155604085015191810180546001600160a01b031916929093169190911790915560608301516002820180546fffffffffffffffffffffffffffffffff19169184169190911790556080830151600382015560a083015160c090930151928216600160801b9390921692909202176004909101558054600160881b60ff60881b199091161781553490600b90612422611346565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008282546124519190614647565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156124b357600080fd5b505af11580156124c7573d6000803e3d6000fd5b50506000805467ffffffffffffffff1916426001600160401b0316179055505060408051630f27ce5f60e21b815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015612575573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125999190614788565b600a805460ff191663ffffffff92909216929092141790555050565b6000611352605461341d565b6000611352601461341d565b600080600054600160801b900460ff1660028111156125ee576125ee614339565b1461260c5760405163067fe19560e41b815260040160405180910390fd5b6000600283815481106126215761262161461b565b600091825260208220600590910201805490925063ffffffff9081161461268757815460028054909163ffffffff1690811061265f5761265f61461b565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b60048201546000906126b090600160801b90046001600160401b03165b6001600160401b031690565b6126c3906001600160401b031642614678565b6126d96126a4846001600160801b031660401c90565b6001600160401b03166126ec9190614647565b90506001600160401b037f0000000000000000000000000000000000000000000000000000000000000000166001600160401b0316816001600160401b031611612736578061139a565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612775836001600160801b031661343d565b60ff1690507f00000000000000000000000000000000000000000000000000000000000000008111156127bb576040516356f57b2b60e01b815260040160405180910390fd5b642e90edd00062061a806311e1a30060006127d683836147c4565b9050670de0b6b3a7640000600061280d827f00000000000000000000000000000000000000000000000000000000000000006147d8565b9050600061282b612826670de0b6b3a7640000866147d8565b61359e565b9050600061283984846137b4565b905060006128478383613803565b9050600061285482613831565b905060006128738261286e670de0b6b3a76400008f6147d8565b6139ae565b905060006128818b83613803565b905061288d818d6147d8565b9f9e505050505050505050505050505050565b600281815481106128b057600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff84169550600160201b9093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff16600281111561292e5761292e614339565b0361294f57506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b60008054600160801b900460ff16600281111561298a5761298a614339565b146129a85760405163067fe19560e41b815260040160405180910390fd5b6000600287815481106129bd576129bd61461b565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b9050612a137f00000000000000000000000000000000000000000000000000000000000000006001614647565b612a25826001600160801b031661343d565b60ff1614612a4657604051630bea7bb360e31b815260040160405180910390fd5b6000808915612b2257612a997f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000614678565b6001901b612aaf846001600160801b03166139df565b6001600160801b0316612ac291906147f7565b15612af657612aed612ade60016001600160801b03871661480b565b865463ffffffff1660006139fd565b60030154612b18565b7f00000000000000000000000000000000000000000000000000000000000000005b9150849050612b43565b60038501549150612b40612ade6001600160801b038616600161482b565b90505b600882901b60088a8a604051612b5a92919061460b565b6040518091039020901b14612b825760405163696550ff60e01b815260040160405180910390fd5b6000612b8d8c613ac6565b90506000612b9c836003015490565b6040516370a6769960e11b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced3290612bf0908f908f908f908f908a90600401614876565b6020604051808303816000875af1158015612c0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c3391906146ac565b600485015491149150600090600290612c54906001600160801b031661343d565b612c66896001600160801b031661343d565b612c7091906148b0565b612c7a91906148d3565b60ff161590508115158103612ca25760405163fb4e40dd60e01b815260040160405180910390fd5b8754600160201b90046001600160a01b031615612cd257604051639071e6af60e01b815260040160405180910390fd5b50508554640100000000600160c01b03191633600160201b02179095555050505050505050505050565b60008054600160801b900460ff166002811115612d1b57612d1b614339565b14612d395760405163067fe19560e41b815260040160405180910390fd5b600080600080612d4886613af5565b93509350935093506000612d5e85858585613d64565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612dc0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612de4919061468f565b905060018903612e8e576001600160a01b0381166352f0f3ad8a84612e0a610b7f61164c565b6040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af1158015612e64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e8891906146ac565b5061118a565b60028903612ead576001600160a01b0381166352f0f3ad8a8489612e0a565b60038903612ecc576001600160a01b0381166352f0f3ad8a8487612e0a565b60048903612fd9576000612f096001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000613e03565b600954612f169190614647565b612f21906001614647565b9050612f2b6125b5565b8110612f3e57612f396125b5565b612f40565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b6001600160e01b03191681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015612fae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fd291906146ac565b505061118a565b6005890361304c576040516352f0f3ad60e01b8152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a401612e45565b604051600162ec819b60e01b0319815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000600060606130956125c1565b915061309f6113a3565b9050909192565b60008183116130b557816130b7565b825b90505b92915050565b600081600001518260200151836040015184606001516040516020016130ff949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b6040805180820190915260008082526020820152815160000361315257604051635ab458fb60e01b815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b6060600080600061318085613e30565b91945092509050600181600181111561319b5761319b614339565b146131b9576040516325ce355f60e11b815260040160405180910390fd5b84516131c58385614647565b146131e357604051630b8aa6f760e31b815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816131fa5790505093506000835b86518110156132e85760008061326d6040518060400160405280858c600001516132519190614678565b8152602001858c602001516132669190614647565b9052613e30565b5091509150604051806040016040528083836132899190614647565b8152602001848b6020015161329e9190614647565b8152508885815181106132b3576132b361461b565b60209081029190910101526132c9600185614647565b93506132d58183614647565b6132df9084614647565b92505050613227565b50845250919392505050565b6060600080600061330485613e30565b91945092509050600081600181111561331f5761331f614339565b1461333d576040516307fe6cb960e21b815260040160405180910390fd5b6133478284614647565b85511461336757604051630b8aa6f760e31b815260040160405180910390fd5b61139a85602001518484614126565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b03909316929091906133af908490614647565b90915550505050565b6000806133cd3660011981013560f01c900390565b929092013560601c92915050565b606060006133f13660011981013560f01c900390565b905060405191508282528284820160208401378260208301016000815260208101604052505092915050565b6000806134323660011981013560f01c900390565b929092013592915050565b7e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b6001600160401b03831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60006134bf6001600160801b038416600161482b565b905060006134cf828660016139fd565b9050600086901a8380613531575061350860027f00000000000000000000000000000000000000000000000000000000000000006147f7565b6004830154600290613522906001600160801b031661343d565b61352c91906148d3565b60ff16145b156135705760ff81166001148061354b575060ff81166002145b61356b5760405163f40239db60e01b8152600481018890526024016122d5565b613595565b60ff8116156135955760405163f40239db60e01b8152600481018890526024016122d5565b50505050505050565b6001600160801b03811160071b81811c6001600160401b031060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b17600082136135f357631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a7640000021582026137f157637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b6000816000190483118202156138215763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b600068023f2fa8f6da5b9d2819821361384957919050565b680755bf798b4a1bf1e582126138675763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b60006130b7670de0b6b3a7640000836139c68661359e565b6139d091906148f5565b6139da919061497a565b613831565b6000806139eb8361343d565b600160ff919091161b90920392915050565b60008082613a3d57613a386001600160801b0386167f00000000000000000000000000000000000000000000000000000000000000006141ba565b613a4f565b613a4f856001600160801b0316614229565b905060028481548110613a6457613a6461461b565b906000526020600020906005020191505b60048201546001600160801b03828116911614613abe57815460028054909163ffffffff16908110613aa957613aa961461b565b90600052602060002090600502019150613a75565b509392505050565b6000806000806000613ad786613af5565b9350935093509350613aeb84848484613d64565b9695505050505050565b6000806000806000859050600060028281548110613b1557613b1561461b565b6000918252602090912060059091020160048101549091507f000000000000000000000000000000000000000000000000000000000000000090613b61906001600160801b031661343d565b60ff1611613b82576040516359a5ae1160e11b815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090613bbf906001600160801b031661343d565b60ff169250821115613c3457825463ffffffff16613bfe7f00000000000000000000000000000000000000000000000000000000000000006001614647565b8303613c08578391505b60028181548110613c1b57613c1b61461b565b9060005260206000209060050201935080945050613b86565b600481810154908401546001600160801b0391821691166000816001600160801b0316613c79613c6d856001600160801b031660011c90565b6001600160801b031690565b6001600160801b03161490508015613d12576000613c9f836001600160801b03166139df565b6001600160801b03161115613cef576000613ccf613cc760016001600160801b03861661480b565b8960016139fd565b6003810154600490910154909c506001600160801b03169a50613cf59050565b6008549a505b600386015460048701549099506001600160801b03169750613d56565b6000613d2b613cc76001600160801b038516600161482b565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b03841615613dbf5760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a0016040516020818303038152906040528051906020012061139a565b8282604051602001613de49291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080613e0f8461343d565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003613e5a57604051635ab458fb60e01b815260040160405180910390fd5b6020840151805160001a607f8111613e7f57600060016000945094509450505061411f565b60b78111613f17576000613e94608083614678565b905080876000015111613eba576040516366c9448560e01b815260040160405180910390fd5b6001838101516001600160f81b0319169082148015613ee65750600160ff1b6001600160f81b03198216105b15613f045760405163babb01dd60e01b815260040160405180910390fd5b506001955093506000925061411f915050565b60bf8111613ff9576000613f2c60b783614678565b905080876000015111613f52576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b0319166000819003613f835760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c60378111613fb25760405163babb01dd60e01b815260040160405180910390fd5b613fbc8184614647565b895111613fdc576040516366c9448560e01b815260040160405180910390fd5b613fe7836001614647565b975095506000945061411f9350505050565b60f7811161404557600061400e60c083614678565b905080876000015111614034576040516366c9448560e01b815260040160405180910390fd5b60019550935084925061411f915050565b600061405260f783614678565b905080876000015111614078576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b03191660008190036140a95760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c603781116140d85760405163babb01dd60e01b815260040160405180910390fd5b6140e28184614647565b895111614102576040516366c9448560e01b815260040160405180910390fd5b61410d836001614647565b975095506001945061411f9350505050565b9193909250565b6060816001600160401b0381111561414057614140614582565b6040519080825280601f01601f19166020018201604052801561416a576020820181803683370190505b50905081156141b357600061417f8486614647565b90506020820160005b848110156141a0578281015182820152602001614188565b848111156141af576000858301525b5050505b9392505050565b6000816141cf846001600160801b031661343d565b60ff16116141e55763b34b5c226000526004601cfd5b6141ee83614229565b905081614203826001600160801b031661343d565b60ff16116130ba576130b7614219836001614647565b6001600160801b0383169061424d565b6000811960018301168161423c8261343d565b60ff169390931c8015179392505050565b6000806142598461343d565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261428757600080fd5b5081356001600160401b0381111561429e57600080fd5b6020830191508360208285010111156142b657600080fd5b9250929050565b600080600083850360a08112156142d357600080fd5b60808112156142e157600080fd5b5083925060808401356001600160401b038111156142fe57600080fd5b61430a86828701614275565b9497909650939450505050565b6000806040838503121561432a57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061436d57634e487b7160e01b600052602160045260246000fd5b50565b6020810161437d8361434f565b91905290565b6001600160a01b038116811461436d57600080fd5b6000602082840312156143aa57600080fd5b81356141b381614383565b6000806000606084860312156143ca57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b81811015614407576020818501810151868301820152016143eb565b81811115614419576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006130b760208301846143e1565b60006020828403121561445357600080fd5b5035919050565b801515811461436d57600080fd5b6000806000806080858703121561447e57600080fd5b843593506020850135925060408501359150606085013561449e8161445a565b939692955090935050565b6000602082840312156144bb57600080fd5b81356001600160801b03811681146141b357600080fd5b600080600080600080608087890312156144eb57600080fd5b8635955060208701356144fd8161445a565b945060408701356001600160401b038082111561451957600080fd5b6145258a838b01614275565b9096509450606089013591508082111561453e57600080fd5b5061454b89828a01614275565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061139a60608301846143e1565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156145aa57600080fd5b604051608081018181106001600160401b03821117156145da57634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561465a5761465a614631565b500190565b60006001820161467157614671614631565b5060010190565b60008282101561468a5761468a614631565b500390565b6000602082840312156146a157600080fd5b81516141b381614383565b6000602082840312156146be57600080fd5b5051919050565b60006001600160401b038083168185168083038211156146e7576146e7614631565b01949350505050565b60006001600160401b038083168185168183048111821515161561471657614716614631565b02949350505050565b60006001600160401b038381169083168181101561473f5761473f614631565b039392505050565b60006020828403121561475957600080fd5b81516141b38161445a565b6000806040838503121561477757600080fd5b505080516020909101519092909150565b60006020828403121561479a57600080fd5b815163ffffffff811681146141b357600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826147d3576147d36147ae565b500490565b60008160001904831182151516156147f2576147f2614631565b500290565b600082614806576148066147ae565b500690565b60006001600160801b038381169083168181101561473f5761473f614631565b60006001600160801b038083168185168083038211156146e7576146e7614631565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60608152600061488a60608301878961484d565b828103602084015261489d81868861484d565b9150508260408301529695505050505050565b600060ff821660ff8416808210156148ca576148ca614631565b90039392505050565b600060ff8316806148e6576148e66147ae565b8060ff84160691505092915050565b60006001600160ff1b038184138284138082168684048611161561491b5761491b614631565b600160ff1b600087128281168783058912161561493a5761493a614631565b6000871292508782058712848416161561495657614956614631565b8785058712818416161561496c5761496c614631565b505050929093029392505050565b600082614989576149896147ae565b600160ff1b8214600019841416156149a3576149a3614631565b50059056fea264697066735822122042af6780a7c8dda46d8b2a5e18225ee0551564fb98a13883feff792f9f9e94d364736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000000003682932cec7ce0a3874b19675a6bbc923054a7b321efc7d3835187b172494b60000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d40000000000000000000000000f027f4a985560fb13324e943edf55ad6f1d15dc1000000000000000000000000489c2e5ebe0037bdb2dc039c5770757b8e54ea1f0000000000000000000000000729957c92a1f50590a84cb2d65d761093f3f8eb0000000000000000000000000000000000000000000000000000000000014a34\",\n        \"nonce\": \"0x45\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x9259bdb6ae2ebec1a4fba4d98b340c18c197df19ef747eab54d108e8e341b3a2\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"PermissionedDisputeGame\",\n      \"contractAddress\": \"0xf0102ffe22649a5421d53acc96e309660960cf44\",\n      \"function\": null,\n      \"arguments\": [\n        \"(1, 0x03682932cec7ce0a3874b19675a6bbc923054a7b321efc7d3835187b172494b6, 73, 30, 10800, 302400, 0xF027F4A985560fb13324e943edf55ad6F1d15Dc1, 0x27A6128F707de3d99F89Bf09c35a4e0753E1B808, 0x0729957c92A1F50590A84cb2D65D761093f3f8eB, 84532)\",\n        \"0x037637067c1DbE6d2430616d8f54Cb774Daa5999\",\n        \"0x8b8c52B04A38f10515C52670fcb23f3C4C44474F\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x54c770\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6102006040523480156200001257600080fd5b50604051620054a0380380620054a083398101604081905262000035916200053b565b82620000446001607e6200064a565b60ff16816040015111156200006c57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000965750604081015160608201516200009390600162000670565b10155b15620000b55760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000dc5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000129573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014f91906200068b565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b39190620006ab565b1115620001d35760405163b4e1243360e01b815260040160405180910390fd5b6000620001f882608001516001600160401b03166200048e60201b62000c1b1760201c565b6200020e906001600160401b03166002620006c5565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000255573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027b91906200068b565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002df9190620006ab565b6200030284608001516001600160401b03166200048e60201b62000c1b1760201c565b6001600160401b031662000317919062000670565b905060006200033283836200049160201b620022951760201c565b90506001600160401b038111156200035d5760405163235dfb2b60e21b815260040160405180910390fd5b620003808460a001516001600160401b03166200048e60201b62000c1b1760201c565b6001600160401b0316816001600160401b03161115620003b35760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003da856000015163ffffffff166200048e60201b62000c1b1760201c565b63ffffffff1603620003ff5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015181166101605292015161018052509182166101c052166101e05250620006e7565b90565b6000818311620004a25781620004a4565b825b9392505050565b60405161014081016001600160401b0381118282101715620004dd57634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004f857600080fd5b919050565b80516001600160401b0381168114620004f857600080fd5b6001600160a01b03811681146200052b57600080fd5b50565b8051620004f88162000515565b60008060008385036101808112156200055357600080fd5b610140808212156200056457600080fd5b6200056e620004ab565b91506200057b86620004e3565b8252602086015160208301526040860151604083015260608601516060830152620005a960808701620004fd565b6080830152620005bc60a08701620004fd565b60a0830152620005cf60c087016200052e565b60c0830152620005e260e087016200052e565b60e0830152610100620005f78188016200052e565b8184015250610120808701518184015250819450620006188187016200052e565b935050506200062b61016085016200052e565b90509250925092565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168082101562000667576200066762000634565b90039392505050565b6000821982111562000686576200068662000634565b500190565b6000602082840312156200069e57600080fd5b8151620004a48162000515565b600060208284031215620006be57600080fd5b5051919050565b6000816000190483118215151615620006e257620006e262000634565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051614be5620008bb600039600081816105be015281816117310152611e9e01526000818161087d015281816116ff01528181611a630152611e6c0152600081816106f501528181612a0801528181612a720152612aa4015260008181610a2701526121ed0152600081816106780152818161184f015281816118f70152818161196d01528181612ecc015261322001526000818161054b0152818161154c0152818161161601528181612dee01526131580152600081816108b80152818161225901526131f70152600081816104f701528181611f530152818161292101526139a0015260008181610a7a01528181610dff01528181611bee01528181611c2e015281816128aa01528181612ad30152612b2e015260008181610aad015281816120d4015281816127670152818161283301528181612a430152818161384901528181613b2b01528181613b8901528181613bd4015281816141f101526142e0015260008181610b5401528181611c7201528181611cdf015281816127ef015281816128f5015281816137e2015261386a0152600081816107aa01526138ed0152614be56000f3fe60806040526004361061031a5760003560e01c80636f034409116101ab578063c0d8bb74116100f7578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b01578063fa24f74314610b21578063fa315aa914610b45578063fe2bbeb214610b7857600080fd5b8063dabd396d14610a6b578063ec5e630814610a9e578063eff0f59214610ad157600080fd5b8063cf09e0d0116100d1578063cf09e0d0146109d8578063d5d44d80146109f8578063d6ae3cd514610a18578063d8cc1a3c14610a4b57600080fd5b8063c0d8bb7414610917578063c395e1ca14610944578063c6f0308c1461096457600080fd5b80638b85902b11610164578063a8e4fb901161013e578063a8e4fb901461086e578063bbdc02db146108a1578063bcef3b55146108e2578063bd8da956146108f757600080fd5b80638b85902b146107865780638d450a951461079b578063a445ece6146107ce57600080fd5b80636f0344091461071957806370872aa51461072c578063786b844b146107415780637b0f0adc146107565780638129fc1c146107695780638980e0cc1461077157600080fd5b80633e3ac9121161026a57806357da950e11610223578063609d3334116101fd578063609d33341461069c57806360e27464146106b15780636361506d146106d15780636b6716c0146106e657600080fd5b806357da950e146106195780635a5fa2d9146106495780635c0cba331461066957600080fd5b80633e3ac9121461051b5780633fc8cef31461053c578063472777c61461056f578063529d6a8c14610582578063534db0e2146105af57806354fd4d50146105e257600080fd5b806325fc2ace116102d757806330dbe570116102b157806330dbe57014610481578063378dd48c146104b957806337b1b229146104d35780633a768463146104e857600080fd5b806325fc2ace1461042d5780632810e1d61461044c5780632ad69aeb1461046157600080fd5b8063019351301461031f57806303c2924d1461034157806319effeb414610361578063200d2ed2146103a5578063222abf45146103d3578063250e69bd14610413575b600080fd5b34801561032b57600080fd5b5061033f61033a3660046144c4565b610ba8565b005b34801561034d57600080fd5b5061033f61035c36600461451e565b610d86565b34801561036d57600080fd5b5060005461038890600160401b90046001600160401b031681565b6040516001600160401b0390911681526020015b60405180910390f35b3480156103b157600080fd5b506000546103c690600160801b900460ff1681565b60405161039c9190614577565b3480156103df57600080fd5b506104036103ee36600461459f565b600c6020526000908152604090205460ff1681565b604051901515815260200161039c565b34801561041f57600080fd5b50600a546104039060ff1681565b34801561043957600080fd5b506008545b60405190815260200161039c565b34801561045857600080fd5b506103c6611231565b34801561046d57600080fd5b5061043e61047c36600461451e565b6113b1565b34801561048d57600080fd5b506001546104a1906001600160a01b031681565b6040516001600160a01b03909116815260200161039c565b3480156104c557600080fd5b50600d546103c69060ff1681565b3480156104df57600080fd5b506104a16113e2565b3480156104f457600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104a1565b34801561052757600080fd5b5060005461040390600160901b900460ff1681565b34801561054857600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104a1565b61033f61057d3660046145bc565b6113f3565b34801561058e57600080fd5b5061043e61059d36600461459f565b60036020526000908152604090205481565b3480156105bb57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104a1565b3480156105ee57600080fd5b50604080518082019091526005815264312e342e3160d81b60208201525b60405161039c9190614635565b34801561062557600080fd5b50600854600954610634919082565b6040805192835260208301919091520161039c565b34801561065557600080fd5b5061043e610664366004614648565b611405565b34801561067557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104a1565b3480156106a857600080fd5b5061060c61143f565b3480156106bd57600080fd5b5061033f6106cc36600461459f565b61144d565b3480156106dd57600080fd5b5061043e6116e8565b3480156106f257600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610388565b61033f61072736600461466f565b6116f4565b34801561073857600080fd5b5060095461043e565b34801561074d57600080fd5b5061033f611782565b61033f6107643660046145bc565b611a4b565b61033f611a58565b34801561077d57600080fd5b5060025461043e565b34801561079257600080fd5b5061043e611aab565b3480156107a757600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061043e565b3480156107da57600080fd5b506108306107e9366004614648565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b0316606082015260800161039c565b34801561087a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104a1565b3480156108ad57600080fd5b5060405163ffffffff7f000000000000000000000000000000000000000000000000000000000000000016815260200161039c565b3480156108ee57600080fd5b5061043e611ab7565b34801561090357600080fd5b50610388610912366004614648565b611ac3565b34801561092357600080fd5b5061043e61093236600461459f565b600b6020526000908152604090205481565b34801561095057600080fd5b5061043e61095f3660046146b0565b611c56565b34801561097057600080fd5b5061098461097f366004614648565b611d96565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e00161039c565b3480156109e457600080fd5b50600054610388906001600160401b031681565b348015610a0457600080fd5b5061043e610a1336600461459f565b611e09565b348015610a2457600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061043e565b348015610a5757600080fd5b5061033f610a663660046146d9565b611e61565b348015610a7757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610388565b348015610aaa57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061043e565b348015610add57600080fd5b50610403610aec366004614648565b60046020526000908152604090205460ff1681565b348015610b0d57600080fd5b5061033f610b1c3660046145bc565b611eeb565b348015610b2d57600080fd5b50610b36612257565b60405161039c93929190614764565b348015610b5157600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061043e565b348015610b8457600080fd5b50610403610b93366004614648565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610bc757610bc7614540565b14610be55760405163067fe19560e41b815260040160405180910390fd5b600054600160901b900460ff1615610c105760405163075173a960e11b815260040160405180910390fd5b610c1e610c1b611ab7565b90565b610c35610c303686900386018661479f565b6122af565b14610c5357604051639cc00b5b60e01b815260040160405180910390fd5b82606001358282604051610c68929190614812565b604051809103902014610c8e5760405163d81d583b60e01b815260040160405180910390fd5b6000610cd7610cd284848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061230b92505050565b61235f565b90506000610cfe82600881518110610cf157610cf1614822565b60200260200101516124e3565b9050602081511115610d235760405163d81d583b60e01b815260040160405180910390fd5b602081810151825190910360031b1c610d3a611aab565b8103610d5957604051630b8ed88360e41b815260040160405180910390fd5b5050600180546001600160a01b0319163317905550506000805460ff60901b1916600160901b1790555050565b60008054600160801b900460ff166002811115610da557610da5614540565b14610dc35760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610dd857610dd8614822565b906000526020600020906005020190506000610df384611ac3565b90506001600160401b037f000000000000000000000000000000000000000000000000000000000000000081169082161015610e425760405163f2440b5360e01b815260040160405180910390fd5b60008481526006602052604090205460ff1615610e725760405163f1a9458160e01b815260040160405180910390fd5b6000848152600560205260409020805480158015610e8f57508515155b15610ef1578354600160201b90046001600160a01b031660008115610eb45781610ec3565b60018601546001600160a01b03165b9050610ecf8187612565565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b03166060830152610f75576001600160801b036040820152600181526000869003610f75578195505b600086826020015163ffffffff16610f8d919061484e565b90506000838211610f9e5781610fa0565b835b602084015190915063ffffffff165b818110156110a6576000868281548110610fcb57610fcb614822565b6000918252602080832090910154808352600690915260409091205490915060ff1661100a57604051634d03b32360e11b815260040160405180910390fd5b60006002828154811061101f5761101f614822565b600091825260209091206005909102018054909150600160201b90046001600160a01b03161580156110655750600481015460408701516001600160801b039182169116115b156110915760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b5050808061109e90614866565b915050610faf565b5063ffffffff818116602085810191825260008c815260079091526040908190208651815493519288015164ffffffffff1990941690151564ffffffff00191617610100929094169182029390931774ffffffffffffffffffffffffffffffff00000000001916650100000000006001600160801b03909316929092029190911782556060850151600190920180546001600160a01b0319166001600160a01b039093169290921790915584900361122657606083015160008a8152600660205260409020805460ff191660011790558915801561118d5750600054600160901b900460ff165b156111d3576001546001600160a01b03166111a8818a612565565b88546001600160a01b03909116600160201b02640100000000600160c01b0319909116178855611224565b6112006001600160a01b038216156111eb57816111fa565b60018901546001600160a01b03165b89612565565b8754640100000000600160c01b031916600160201b6001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff16600281111561125257611252614540565b146112705760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166112bb57604051634d03b32360e11b815260040160405180910390fd5b60006001600160a01b031660026000815481106112da576112da614822565b6000918252602090912060059091020154600160201b90046001600160a01b03161461130757600161130a565b60025b600080546001600160401b034216600160401b026fffffffffffffffff000000000000000019821681178355929350839260ff60801b191670ffffffffffffffffff00000000000000001990911617600160801b83600281111561137057611370614540565b02179055600281111561138557611385614540565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b600560205281600052604060002081815481106113cd57600080fd5b90600052602060002001600091509150505481565b60006113ee60006125a7565b905090565b61140083838360016116f4565b505050565b6000818152600760209081526040808320600590925282208054825461143690610100900463ffffffff168261487f565b95945050505050565b60606113ee605460206125ca565b611455611782565b60006002600d5460ff16600281111561147057611470614540565b0361149457506001600160a01b0381166000908152600b60205260409020546114ea565b6001600d5460ff1660028111156114ad576114ad614540565b036114d157506001600160a01b0381166000908152600360205260409020546114ea565b6040516301e28f7d60e21b815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff166115ae576001600160a01b038281166000818152600c602052604090819020805460ff1916600117905551637eee288d60e01b81526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b15801561159257600080fd5b505af11580156115a6573d6000803e3d6000fd5b505050505050565b806000036115cf576040516317bfe5f760e01b815260040160405180910390fd5b6001600160a01b038281166000818152600b602090815260408083208390556003909152808220919091555163f3fef3a360e01b81526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b15801561165c57600080fd5b505af1158015611670573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146116c1576040519150601f19603f3d011682016040523d82523d6000602084013e6116c6565b606091505b5050905080611400576040516383e6cc6b60e01b815260040160405180910390fd5b60006113ee603461260c565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806117535750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b611770576040516369c3779f60e11b815260040160405180910390fd5b61177c8484848461262c565b50505050565b6002600d5460ff16600281111561179b5761179b614540565b14806117bd57506001600d5460ff1660028111156117bb576117bb614540565b145b156117c457565b6000600d5460ff1660028111156117dd576117dd614540565b146117fb576040516301e28f7d60e21b815260040160405180910390fd5b600054600160401b90046001600160401b03166001600160401b031660000361183757604051636082930560e11b815260040160405180910390fd5b604051630314d2b360e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa15801561189e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c29190614896565b9050806118e257604051634851bd9b60e01b815260040160405180910390fd5b6040516317cf21a960e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561194357600080fd5b505af1925050508015611954575060015b506040516324b5ce0b60e11b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa1580156119bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e09190614896565b905080156119fa57600d805460ff19166001179055611a08565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f91611a3f9160ff90911690614577565b60405180910390a15050565b61140083838360006116f4565b326001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611aa1576040516369c3779f60e11b815260040160405180910390fd5b611aa9612e9d565b565b60006113ee605461260c565b60006113ee601461260c565b600080600054600160801b900460ff166002811115611ae457611ae4614540565b14611b025760405163067fe19560e41b815260040160405180910390fd5b600060028381548110611b1757611b17614822565b600091825260208220600590910201805490925063ffffffff90811614611b7d57815460028054909163ffffffff16908110611b5557611b55614822565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b6004820154600090611ba690600160801b90046001600160401b03165b6001600160401b031690565b611bb9906001600160401b03164261487f565b611bcf611b9a846001600160801b031660401c90565b6001600160401b0316611be2919061484e565b90506001600160401b037f0000000000000000000000000000000000000000000000000000000000000000166001600160401b0316816001600160401b031611611c2c5780611436565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080611c6b836001600160801b03166132b3565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115611cb1576040516356f57b2b60e01b815260040160405180910390fd5b642e90edd00062061a806311e1a3006000611ccc83836148c9565b9050670de0b6b3a76400006000611d03827f00000000000000000000000000000000000000000000000000000000000000006148dd565b90506000611d21611d1c670de0b6b3a7640000866148dd565b61331f565b90506000611d2f8484613535565b90506000611d3d8383613584565b90506000611d4a826135b2565b90506000611d6982611d64670de0b6b3a76400008f6148dd565b61372f565b90506000611d778b83613584565b9050611d83818d6148dd565b9f9e505050505050505050505050505050565b60028181548110611da657600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff84169550600160201b9093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff166002811115611e2457611e24614540565b03611e4557506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480611ec05750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b611edd576040516369c3779f60e11b815260040160405180910390fd5b6115a6868686868686613760565b60008054600160801b900460ff166002811115611f0a57611f0a614540565b14611f285760405163067fe19560e41b815260040160405180910390fd5b600080600080611f3786613af1565b93509350935093506000611f4d85858585613d60565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611faf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fd391906148fc565b90506001890361207d576001600160a01b0381166352f0f3ad8a84611ff9610c1b6116e8565b6040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af1158015612053573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120779190614919565b50611226565b6002890361209c576001600160a01b0381166352f0f3ad8a8489611ff9565b600389036120bb576001600160a01b0381166352f0f3ad8a8487611ff9565b600489036121c85760006120f86001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000613dff565b600954612105919061484e565b61211090600161484e565b905061211a611aab565b811061212d57612128611aab565b61212f565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b6001600160e01b03191681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af115801561219d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121c19190614919565b5050611226565b6005890361223b576040516352f0f3ad60e01b8152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a401612034565b604051600162ec819b60e01b0319815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000060006060612284611ab7565b915061228e61143f565b9050909192565b60008183116122a457816122a6565b825b90505b92915050565b600081600001518260200151836040015184606001516040516020016122ee949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b6040805180820190915260008082526020820152815160000361234157604051635ab458fb60e01b815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b6060600080600061236f85613e2c565b91945092509050600181600181111561238a5761238a614540565b146123a8576040516325ce355f60e11b815260040160405180910390fd5b84516123b4838561484e565b146123d257604051630b8aa6f760e31b815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816123e95790505093506000835b86518110156124d75760008061245c6040518060400160405280858c60000151612440919061487f565b8152602001858c60200151612455919061484e565b9052613e2c565b509150915060405180604001604052808383612478919061484e565b8152602001848b6020015161248d919061484e565b8152508885815181106124a2576124a2614822565b60209081029190910101526124b860018561484e565b93506124c4818361484e565b6124ce908461484e565b92505050612416565b50845250919392505050565b606060008060006124f385613e2c565b91945092509050600081600181111561250e5761250e614540565b1461252c576040516307fe6cb960e21b815260040160405180910390fd5b612536828461484e565b85511461255657604051630b8aa6f760e31b815260040160405180910390fd5b61143685602001518484614122565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b039093169290919061259e90849061484e565b90915550505050565b6000806125bc3660011981013560f01c900390565b929092013560601c92915050565b606060006125e03660011981013560f01c900390565b905060405191508282528284820160208401378260208301016000815260208101604052505092915050565b6000806126213660011981013560f01c900390565b929092013592915050565b60008054600160801b900460ff16600281111561264b5761264b614540565b146126695760405163067fe19560e41b815260040160405180910390fd5b60006002848154811061267e5761267e614822565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b03600160201b90910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c0820152915085146127285760405163180a019960e11b815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000612755826001600160801b03166132b3565b60ff169050861580612790575061278d7f0000000000000000000000000000000000000000000000000000000000000000600261484e565b81145b801561279a575084155b156127b8576040516329098def60e21b815260040160405180910390fd5b600054600160901b900460ff1680156127cf575086155b156127ed5760405163075173a960e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000081111561282e576040516356f57b2b60e01b815260040160405180910390fd5b6128597f0000000000000000000000000000000000000000000000000000000000000000600161484e565b810361286b5761286b868885886141b6565b3461287583611c56565b1461289357604051638620aa1960e01b815260040160405180910390fd5b600061289e88611ac3565b90506001600160401b037f00000000000000000000000000000000000000000000000000000000000000008116908216036128ec57604051630ce0744560e21b815260040160405180910390fd5b600061291960017f000000000000000000000000000000000000000000000000000000000000000061487f565b8303612a3c577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561297d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129a191906148fc565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a029190614919565b612a35907f00000000000000000000000000000000000000000000000000000000000000006001600160401b0316614932565b9050612acd565b612a6760017f000000000000000000000000000000000000000000000000000000000000000061487f565b8303612aa157612a357f00000000000000000000000000000000000000000000000000000000000000006001600160401b0316600261495d565b507f00000000000000000000000000000000000000000000000000000000000000006001600160401b03165b612b00817f00000000000000000000000000000000000000000000000000000000000000006001600160401b031661498c565b6001600160401b0316612b19836001600160401b031690565b6001600160401b03161115612b5e57612b5b817f00000000000000000000000000000000000000000000000000000000000000006001600160401b031661498c565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff1615612bba576040516380497e3b60e01b815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c81526020019081526020016000206001600280549050612db1919061487f565b81546001810183556000928352602080842090910191909155338252600b9052604081208054349290612de590849061484e565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015612e4757600080fd5b505af1158015612e5b573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b600054600160881b900460ff1615612ec75760405162dc149f60e41b815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015612f27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f4b91906149b4565b909250905081612f6e57604051633535e1d960e11b815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a14612fa157639824bdab6000526004601cfd5b80612faa611aab565b11612fdc57612fb7611ab7565b60405163f40239db60e01b8152600401612fd391815260200190565b60405180910390fd5b6040805160e08101825263ffffffff81526000602082015260029181016130016113e2565b6001600160a01b03168152602001346001600160801b03168152602001613026611ab7565b815260016020820152604001426001600160801b0390811690915282546001808201855560009485526020808620855160059094020180549186015163ffffffff9094166001600160c01b031990921691909117600160201b6001600160a01b0394851602178155604085015191810180546001600160a01b031916929093169190911790915560608301516002820180546fffffffffffffffffffffffffffffffff19169184169190911790556080830151600382015560a083015160c090930151928216600160801b9390921692909202176004909101558054600160881b60ff60881b199091161781553490600b906131206113e2565b6001600160a01b03166001600160a01b03168152602001908152602001600020600082825461314f919061484e565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156131b157600080fd5b505af11580156131c5573d6000803e3d6000fd5b50506000805467ffffffffffffffff1916426001600160401b0316179055505060408051630f27ce5f60e21b815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015613273573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061329791906149d8565b600a805460ff191663ffffffff92909216929092141790555050565b7e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b6001600160401b03831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6001600160801b03811160071b81811c6001600160401b031060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b176000821361337457631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261357257637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b6000816000190483118202156135a25763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b600068023f2fa8f6da5b9d281982136135ca57919050565b680755bf798b4a1bf1e582126135e85763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b60006122a6670de0b6b3a7640000836137478661331f565b61375191906149fe565b61375b9190614a83565b6135b2565b60008054600160801b900460ff16600281111561377f5761377f614540565b1461379d5760405163067fe19560e41b815260040160405180910390fd5b6000600287815481106137b2576137b2614822565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506138087f0000000000000000000000000000000000000000000000000000000000000000600161484e565b61381a826001600160801b03166132b3565b60ff161461383b57604051630bea7bb360e31b815260040160405180910390fd5b60008089156139175761388e7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061487f565b6001901b6138a4846001600160801b03166142ab565b6001600160801b03166138b79190614ab1565b156138eb576138e26138d360016001600160801b038716614ac5565b865463ffffffff1660006142c9565b6003015461390d565b7f00000000000000000000000000000000000000000000000000000000000000005b9150849050613938565b600385015491506139356138d36001600160801b0386166001614ae5565b90505b600882901b60088a8a60405161394f929190614812565b6040518091039020901b146139775760405163696550ff60e01b815260040160405180910390fd5b60006139828c614392565b90506000613991836003015490565b6040516370a6769960e11b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced32906139e5908f908f908f908f908a90600401614b30565b6020604051808303816000875af1158015613a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a289190614919565b600485015491149150600090600290613a49906001600160801b03166132b3565b613a5b896001600160801b03166132b3565b613a659190614b6a565b613a6f9190614b8d565b60ff161590508115158103613a975760405163fb4e40dd60e01b815260040160405180910390fd5b8754600160201b90046001600160a01b031615613ac757604051639071e6af60e01b815260040160405180910390fd5b50508554640100000000600160c01b03191633600160201b02179095555050505050505050505050565b6000806000806000859050600060028281548110613b1157613b11614822565b6000918252602090912060059091020160048101549091507f000000000000000000000000000000000000000000000000000000000000000090613b5d906001600160801b03166132b3565b60ff1611613b7e576040516359a5ae1160e11b815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090613bbb906001600160801b03166132b3565b60ff169250821115613c3057825463ffffffff16613bfa7f0000000000000000000000000000000000000000000000000000000000000000600161484e565b8303613c04578391505b60028181548110613c1757613c17614822565b9060005260206000209060050201935080945050613b82565b600481810154908401546001600160801b0391821691166000816001600160801b0316613c75613c69856001600160801b031660011c90565b6001600160801b031690565b6001600160801b03161490508015613d0e576000613c9b836001600160801b03166142ab565b6001600160801b03161115613ceb576000613ccb613cc360016001600160801b038616614ac5565b8960016142c9565b6003810154600490910154909c506001600160801b03169a50613cf19050565b6008549a505b600386015460048701549099506001600160801b03169750613d52565b6000613d27613cc36001600160801b0385166001614ae5565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b03841615613dbb5760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611436565b8282604051602001613de09291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080613e0b846132b3565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003613e5657604051635ab458fb60e01b815260040160405180910390fd5b6020840151805160001a607f8111613e7b57600060016000945094509450505061411b565b60b78111613f13576000613e9060808361487f565b905080876000015111613eb6576040516366c9448560e01b815260040160405180910390fd5b6001838101516001600160f81b0319169082148015613ee25750600160ff1b6001600160f81b03198216105b15613f005760405163babb01dd60e01b815260040160405180910390fd5b506001955093506000925061411b915050565b60bf8111613ff5576000613f2860b78361487f565b905080876000015111613f4e576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b0319166000819003613f7f5760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c60378111613fae5760405163babb01dd60e01b815260040160405180910390fd5b613fb8818461484e565b895111613fd8576040516366c9448560e01b815260040160405180910390fd5b613fe383600161484e565b975095506000945061411b9350505050565b60f7811161404157600061400a60c08361487f565b905080876000015111614030576040516366c9448560e01b815260040160405180910390fd5b60019550935084925061411b915050565b600061404e60f78361487f565b905080876000015111614074576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b03191660008190036140a55760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c603781116140d45760405163babb01dd60e01b815260040160405180910390fd5b6140de818461484e565b8951116140fe576040516366c9448560e01b815260040160405180910390fd5b61410983600161484e565b975095506001945061411b9350505050565b9193909250565b6060816001600160401b0381111561413c5761413c614789565b6040519080825280601f01601f191660200182016040528015614166576020820181803683370190505b50905081156141af57600061417b848661484e565b90506020820160005b8481101561419c578281015182820152602001614184565b848111156141ab576000858301525b5050505b9392505050565b60006141cc6001600160801b0384166001614ae5565b905060006141dc828660016142c9565b9050600086901a838061423e575061421560027f0000000000000000000000000000000000000000000000000000000000000000614ab1565b600483015460029061422f906001600160801b03166132b3565b6142399190614b8d565b60ff16145b1561427d5760ff811660011480614258575060ff81166002145b6142785760405163f40239db60e01b815260048101889052602401612fd3565b6142a2565b60ff8116156142a25760405163f40239db60e01b815260048101889052602401612fd3565b50505050505050565b6000806142b7836132b3565b600160ff919091161b90920392915050565b60008082614309576143046001600160801b0386167f00000000000000000000000000000000000000000000000000000000000000006143c1565b61431b565b61431b856001600160801b0316614430565b90506002848154811061433057614330614822565b906000526020600020906005020191505b60048201546001600160801b0382811691161461438a57815460028054909163ffffffff1690811061437557614375614822565b90600052602060002090600502019150614341565b509392505050565b60008060008060006143a386613af1565b93509350935093506143b784848484613d60565b9695505050505050565b6000816143d6846001600160801b03166132b3565b60ff16116143ec5763b34b5c226000526004601cfd5b6143f583614430565b90508161440a826001600160801b03166132b3565b60ff16116122a9576122a661442083600161484e565b6001600160801b03831690614454565b60008119600183011681614443826132b3565b60ff169390931c8015179392505050565b600080614460846132b3565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261448e57600080fd5b5081356001600160401b038111156144a557600080fd5b6020830191508360208285010111156144bd57600080fd5b9250929050565b600080600083850360a08112156144da57600080fd5b60808112156144e857600080fd5b5083925060808401356001600160401b0381111561450557600080fd5b6145118682870161447c565b9497909650939450505050565b6000806040838503121561453157600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061457457634e487b7160e01b600052602160045260246000fd5b50565b6020810161458483614556565b91905290565b6001600160a01b038116811461457457600080fd5b6000602082840312156145b157600080fd5b81356141af8161458a565b6000806000606084860312156145d157600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561460e576020818501810151868301820152016145f2565b81811115614620576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006122a660208301846145e8565b60006020828403121561465a57600080fd5b5035919050565b801515811461457457600080fd5b6000806000806080858703121561468557600080fd5b84359350602085013592506040850135915060608501356146a581614661565b939692955090935050565b6000602082840312156146c257600080fd5b81356001600160801b03811681146141af57600080fd5b600080600080600080608087890312156146f257600080fd5b86359550602087013561470481614661565b945060408701356001600160401b038082111561472057600080fd5b61472c8a838b0161447c565b9096509450606089013591508082111561474557600080fd5b5061475289828a0161447c565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061143660608301846145e8565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156147b157600080fd5b604051608081018181106001600160401b03821117156147e157634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561486157614861614838565b500190565b60006001820161487857614878614838565b5060010190565b60008282101561489157614891614838565b500390565b6000602082840312156148a857600080fd5b81516141af81614661565b634e487b7160e01b600052601260045260246000fd5b6000826148d8576148d86148b3565b500490565b60008160001904831182151516156148f7576148f7614838565b500290565b60006020828403121561490e57600080fd5b81516141af8161458a565b60006020828403121561492b57600080fd5b5051919050565b60006001600160401b0380831681851680830382111561495457614954614838565b01949350505050565b60006001600160401b038083168185168183048111821515161561498357614983614838565b02949350505050565b60006001600160401b03838116908316818110156149ac576149ac614838565b039392505050565b600080604083850312156149c757600080fd5b505080516020909101519092909150565b6000602082840312156149ea57600080fd5b815163ffffffff811681146141af57600080fd5b60006001600160ff1b0381841382841380821686840486111615614a2457614a24614838565b600160ff1b6000871282811687830589121615614a4357614a43614838565b60008712925087820587128484161615614a5f57614a5f614838565b87850587128184161615614a7557614a75614838565b505050929093029392505050565b600082614a9257614a926148b3565b600160ff1b821460001984141615614aac57614aac614838565b500590565b600082614ac057614ac06148b3565b500690565b60006001600160801b03838116908316818110156149ac576149ac614838565b60006001600160801b0380831681851680830382111561495457614954614838565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b606081526000614b44606083018789614b07565b8281036020840152614b57818688614b07565b9150508260408301529695505050505050565b600060ff821660ff841680821015614b8457614b84614838565b90039392505050565b600060ff831680614ba057614ba06148b3565b8060ff8416069150509291505056fea2646970667358221220f7ed1e8138fabb419e12943b164c707feba00282c8887ea78c4d88e07890192064736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000000103682932cec7ce0a3874b19675a6bbc923054a7b321efc7d3835187b172494b60000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d40000000000000000000000000f027f4a985560fb13324e943edf55ad6f1d15dc100000000000000000000000027a6128f707de3d99f89bf09c35a4e0753e1b8080000000000000000000000000729957c92a1f50590a84cb2d65d761093f3f8eb0000000000000000000000000000000000000000000000000000000000014a34000000000000000000000000037637067c1dbe6d2430616d8f54cb774daa59990000000000000000000000008b8c52b04a38f10515c52670fcb23f3c4c44474f\",\n        \"nonce\": \"0x46\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x171f817\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x8c759a253375b2b62743268cd133da994dacae821ed82ff57fd52a77a4ffa8fe\",\n      \"transactionIndex\": \"0x45\",\n      \"blockHash\": \"0xc7cbc7977df7a2425e63913159ae44958fa3ca88e1603cef8b0d29f0680df07c\",\n      \"blockNumber\": \"0x7bfb57\",\n      \"gasUsed\": \"0x3f8429\",\n      \"effectiveGasPrice\": \"0x1362d8\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0xcfce7dd673fbbbffd16ab936b7245a2f2db31c9a\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1b3bda0\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x9259bdb6ae2ebec1a4fba4d98b340c18c197df19ef747eab54d108e8e341b3a2\",\n      \"transactionIndex\": \"0x47\",\n      \"blockHash\": \"0xc7cbc7977df7a2425e63913159ae44958fa3ca88e1603cef8b0d29f0680df07c\",\n      \"blockNumber\": \"0x7bfb57\",\n      \"gasUsed\": \"0x413c56\",\n      \"effectiveGasPrice\": \"0x1362d8\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0xf0102ffe22649a5421d53acc96e309660960cf44\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1744743721,\n  \"chain\": 11155111,\n  \"commit\": \"b94c30d\"\n}"
  },
  {
    "path": "sepolia/2025-04-14-upgrade-fault-proofs/records/UpgradeDGF.s.sol/11155111/approve-latest.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xb2196ea506626d91682ba17dca74b6d9a47b30c2276ac74a193f67e15ab88b29\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd1e4a76bbefb5005f1739856d035c83fd7ee77e73d3b38babc4c5847998ce6a1e00000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xb91695f3fd37687dd11a76e2d2917bfbf5f4223cae6416bde5c18426b559913a1a125910c779630a2373c19c0135ae11b3650d936ac6911d99edc13cf11d1a361b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n        \"gas\": \"0x1ea0f\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd1e4a76bbefb5005f1739856d035c83fd7ee77e73d3b38babc4c5847998ce6a1e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041b91695f3fd37687dd11a76e2d2917bfbf5f4223cae6416bde5c18426b559913a1a125910c779630a2373c19c0135ae11b3650d936ac6911d99edc13cf11d1a361b00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x36\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1ed727c\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x1e4a76bbefb5005f1739856d035c83fd7ee77e73d3b38babc4c5847998ce6a1e\",\n            \"0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x3b8936919d26dd4470d37dd43d78a4e5b6d6c0a8103f381e64f9c17efeb8698e\",\n          \"blockNumber\": \"0x7c1469\",\n          \"transactionHash\": \"0xb2196ea506626d91682ba17dca74b6d9a47b30c2276ac74a193f67e15ab88b29\",\n          \"transactionIndex\": \"0xe4\",\n          \"logIndex\": \"0x1e4\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xcd2f5745f773c13e0fa37f6ed4a7b53ab91390722336ba4e4710b2759252cc5f0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x3b8936919d26dd4470d37dd43d78a4e5b6d6c0a8103f381e64f9c17efeb8698e\",\n          \"blockNumber\": \"0x7c1469\",\n          \"transactionHash\": \"0xb2196ea506626d91682ba17dca74b6d9a47b30c2276ac74a193f67e15ab88b29\",\n          \"transactionIndex\": \"0xe4\",\n          \"logIndex\": \"0x1e5\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000010000000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000000000000000000000000000000000008000000200000000800000000000000000000000000008000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014020000000000000200000000100000000008000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xb2196ea506626d91682ba17dca74b6d9a47b30c2276ac74a193f67e15ab88b29\",\n      \"transactionIndex\": \"0xe4\",\n      \"blockHash\": \"0x3b8936919d26dd4470d37dd43d78a4e5b6d6c0a8103f381e64f9c17efeb8698e\",\n      \"blockNumber\": \"0x7c1469\",\n      \"gasUsed\": \"0x162cc\",\n      \"effectiveGasPrice\": \"0x375cccc21\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1744823689,\n  \"chain\": 11155111,\n  \"commit\": \"c8c9b78\"\n}"
  },
  {
    "path": "sepolia/2025-04-14-upgrade-fault-proofs/records/UpgradeDGF.s.sol/11155111/approveOnBehalfOfIntermediateSafe-latest.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x376c09440439c50f33aac91724f457f021eb7af3f63543a7dd8a21207e35a042\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd1e4a76bbefb5005f1739856d035c83fd7ee77e73d3b38babc4c5847998ce6a1e00000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n        \"gas\": \"0x1ff0a\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd1e4a76bbefb5005f1739856d035c83fd7ee77e73d3b38babc4c5847998ce6a1e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x35\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xc67662\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x1e4a76bbefb5005f1739856d035c83fd7ee77e73d3b38babc4c5847998ce6a1e\",\n            \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x03013d13ac81d1ba856f8863b53af3c7bcc6cc7e3d8346d0ddea8873df0c0efe\",\n          \"blockNumber\": \"0x7c1455\",\n          \"transactionHash\": \"0x376c09440439c50f33aac91724f457f021eb7af3f63543a7dd8a21207e35a042\",\n          \"transactionIndex\": \"0x62\",\n          \"logIndex\": \"0xaf\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xab570f85b64f6cdd9c0676ea0628f2ec677f43261b11766d7ee85e6e9cac3e240000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x03013d13ac81d1ba856f8863b53af3c7bcc6cc7e3d8346d0ddea8873df0c0efe\",\n          \"blockNumber\": \"0x7c1455\",\n          \"transactionHash\": \"0x376c09440439c50f33aac91724f457f021eb7af3f63543a7dd8a21207e35a042\",\n          \"transactionIndex\": \"0x62\",\n          \"logIndex\": \"0xb0\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000010000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000010000000000000000000000000008000000200000000800000000000000000000000000008000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000001004000020000000000000000000000000000000000000000200000200000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x376c09440439c50f33aac91724f457f021eb7af3f63543a7dd8a21207e35a042\",\n      \"transactionIndex\": \"0x62\",\n      \"blockHash\": \"0x03013d13ac81d1ba856f8863b53af3c7bcc6cc7e3d8346d0ddea8873df0c0efe\",\n      \"blockNumber\": \"0x7c1455\",\n      \"gasUsed\": \"0x171fd\",\n      \"effectiveGasPrice\": \"0x349dbdb5c\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1744823401,\n  \"chain\": 11155111,\n  \"commit\": \"c8c9b78\"\n}"
  },
  {
    "path": "sepolia/2025-04-14-upgrade-fault-proofs/records/UpgradeDGF.s.sol/11155111/approveOnBehalfOfSignerSafe-latest.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x07f5252a685d78b83fd3d5e64266f172d763836e4dd9298f9c7c6350057f6bb8\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdab570f85b64f6cdd9c0676ea0628f2ec677f43261b11766d7ee85e6e9cac3e2400000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xcc6e1683a75b0955a7348084ef188d4e5723a975747c47ce447d4d3f4b7169af090a1bd1b61284a0886f20ad69b2ce72379d1e03d1b39e7f5370da3e4e3e4e411b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n        \"gas\": \"0x1f7d8\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdab570f85b64f6cdd9c0676ea0628f2ec677f43261b11766d7ee85e6e9cac3e2400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041cc6e1683a75b0955a7348084ef188d4e5723a975747c47ce447d4d3f4b7169af090a1bd1b61284a0886f20ad69b2ce72379d1e03d1b39e7f5370da3e4e3e4e411b00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x34\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x17fa65d\",\n      \"logs\": [\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xab570f85b64f6cdd9c0676ea0628f2ec677f43261b11766d7ee85e6e9cac3e24\",\n            \"0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x45fe584eca2fba5ce1b7e133648a1bc807cc997af8fa167cf866421a2d950fd6\",\n          \"blockNumber\": \"0x7c144d\",\n          \"transactionHash\": \"0x07f5252a685d78b83fd3d5e64266f172d763836e4dd9298f9c7c6350057f6bb8\",\n          \"transactionIndex\": \"0xa5\",\n          \"logIndex\": \"0x143\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x218ee5676a20741243534198f9d7c541eb22dd71434a60bd6b2606f8b8c762b60000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x45fe584eca2fba5ce1b7e133648a1bc807cc997af8fa167cf866421a2d950fd6\",\n          \"blockNumber\": \"0x7c144d\",\n          \"transactionHash\": \"0x07f5252a685d78b83fd3d5e64266f172d763836e4dd9298f9c7c6350057f6bb8\",\n          \"transactionIndex\": \"0xa5\",\n          \"logIndex\": \"0x144\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000004000000000000010000040000000000000000000000000040000000000000000000000000000000000004000020000000000000000000000000000014020000000000000000000000100000000008000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x07f5252a685d78b83fd3d5e64266f172d763836e4dd9298f9c7c6350057f6bb8\",\n      \"transactionIndex\": \"0xa5\",\n      \"blockHash\": \"0x45fe584eca2fba5ce1b7e133648a1bc807cc997af8fa167cf866421a2d950fd6\",\n      \"blockNumber\": \"0x7c144d\",\n      \"gasUsed\": \"0x15883\",\n      \"effectiveGasPrice\": \"0x38b620b6d\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1744823305,\n  \"chain\": 11155111,\n  \"commit\": \"c8c9b78\"\n}"
  },
  {
    "path": "sepolia/2025-04-14-upgrade-fault-proofs/records/UpgradeDGF.s.sol/11155111/run-1744822945.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x00ce97e08d314df46bb48cd197ca5ed18e4a56364fffe406c57ebc5a5611d801\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdab570f85b64f6cdd9c0676ea0628f2ec677f43261b11766d7ee85e6e9cac3e2400000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x3d43b0dd13f0303b30a7b84902b5df24a880a80777f34582a77a2494046fd54a262e97b083ce10f9b34fab9823feadb7c1af56aad8bb302fced611cf6b8fd7011c820486edbbb01b0e140e5c8501b6e585890335704131b6a10ad456e8cd02ac615962e5e79e72ebdb3db82f2cd360e4e444824efa76c14f28501b836eb44813701be634be4e49c481bb6fbdea315e475782a015cd7a21cfb03ea85017dec71b69fe0e640babfa49fb78ee6636eeffff4fb4b14d3d926732c21e06789f5e2ad2b6861b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n        \"gas\": \"0x2b501\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdab570f85b64f6cdd9c0676ea0628f2ec677f43261b11766d7ee85e6e9cac3e24000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c33d43b0dd13f0303b30a7b84902b5df24a880a80777f34582a77a2494046fd54a262e97b083ce10f9b34fab9823feadb7c1af56aad8bb302fced611cf6b8fd7011c820486edbbb01b0e140e5c8501b6e585890335704131b6a10ad456e8cd02ac615962e5e79e72ebdb3db82f2cd360e4e444824efa76c14f28501b836eb44813701be634be4e49c481bb6fbdea315e475782a015cd7a21cfb03ea85017dec71b69fe0e640babfa49fb78ee6636eeffff4fb4b14d3d926732c21e06789f5e2ad2b6861b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x33\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x4caa1d\",\n      \"logs\": [\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xab570f85b64f6cdd9c0676ea0628f2ec677f43261b11766d7ee85e6e9cac3e24\",\n            \"0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x5373295a664ba4f72b22950963493e53264c17ba04364602bbb2a1fae8280b2e\",\n          \"blockNumber\": \"0x7c1431\",\n          \"transactionHash\": \"0x00ce97e08d314df46bb48cd197ca5ed18e4a56364fffe406c57ebc5a5611d801\",\n          \"transactionIndex\": \"0x37\",\n          \"logIndex\": \"0x3f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0x80b465312b6735c58343db030592705e1798415e9aeb6b8b583e724be2f32146\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x5373295a664ba4f72b22950963493e53264c17ba04364602bbb2a1fae8280b2e\",\n          \"blockNumber\": \"0x7c1431\",\n          \"transactionHash\": \"0x00ce97e08d314df46bb48cd197ca5ed18e4a56364fffe406c57ebc5a5611d801\",\n          \"transactionIndex\": \"0x37\",\n          \"logIndex\": \"0x40\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000200000000000000000000000000040000000000010000000000000000000000000000000000000000100000000000000000000000000020000000000000000000000000000000000000000800004000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000004000000000000000020000404000000000000010000040000000000000000000000000040000000000000000000000000000000000004000020000000000000000000000000000040000000000000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x00ce97e08d314df46bb48cd197ca5ed18e4a56364fffe406c57ebc5a5611d801\",\n      \"transactionIndex\": \"0x37\",\n      \"blockHash\": \"0x5373295a664ba4f72b22950963493e53264c17ba04364602bbb2a1fae8280b2e\",\n      \"blockNumber\": \"0x7c1431\",\n      \"gasUsed\": \"0x1d9da\",\n      \"effectiveGasPrice\": \"0x3929fc9dc\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1744822945,\n  \"chain\": 11155111,\n  \"commit\": \"c8c9b78\"\n}"
  },
  {
    "path": "sepolia/2025-04-14-upgrade-fault-proofs/records/UpgradeDGF.s.sol/11155111/run-1744823305.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x07f5252a685d78b83fd3d5e64266f172d763836e4dd9298f9c7c6350057f6bb8\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdab570f85b64f6cdd9c0676ea0628f2ec677f43261b11766d7ee85e6e9cac3e2400000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xcc6e1683a75b0955a7348084ef188d4e5723a975747c47ce447d4d3f4b7169af090a1bd1b61284a0886f20ad69b2ce72379d1e03d1b39e7f5370da3e4e3e4e411b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n        \"gas\": \"0x1f7d8\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdab570f85b64f6cdd9c0676ea0628f2ec677f43261b11766d7ee85e6e9cac3e2400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041cc6e1683a75b0955a7348084ef188d4e5723a975747c47ce447d4d3f4b7169af090a1bd1b61284a0886f20ad69b2ce72379d1e03d1b39e7f5370da3e4e3e4e411b00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x34\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x17fa65d\",\n      \"logs\": [\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xab570f85b64f6cdd9c0676ea0628f2ec677f43261b11766d7ee85e6e9cac3e24\",\n            \"0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x45fe584eca2fba5ce1b7e133648a1bc807cc997af8fa167cf866421a2d950fd6\",\n          \"blockNumber\": \"0x7c144d\",\n          \"transactionHash\": \"0x07f5252a685d78b83fd3d5e64266f172d763836e4dd9298f9c7c6350057f6bb8\",\n          \"transactionIndex\": \"0xa5\",\n          \"logIndex\": \"0x143\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x218ee5676a20741243534198f9d7c541eb22dd71434a60bd6b2606f8b8c762b60000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x45fe584eca2fba5ce1b7e133648a1bc807cc997af8fa167cf866421a2d950fd6\",\n          \"blockNumber\": \"0x7c144d\",\n          \"transactionHash\": \"0x07f5252a685d78b83fd3d5e64266f172d763836e4dd9298f9c7c6350057f6bb8\",\n          \"transactionIndex\": \"0xa5\",\n          \"logIndex\": \"0x144\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000004000000000000010000040000000000000000000000000040000000000000000000000000000000000004000020000000000000000000000000000014020000000000000000000000100000000008000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x07f5252a685d78b83fd3d5e64266f172d763836e4dd9298f9c7c6350057f6bb8\",\n      \"transactionIndex\": \"0xa5\",\n      \"blockHash\": \"0x45fe584eca2fba5ce1b7e133648a1bc807cc997af8fa167cf866421a2d950fd6\",\n      \"blockNumber\": \"0x7c144d\",\n      \"gasUsed\": \"0x15883\",\n      \"effectiveGasPrice\": \"0x38b620b6d\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1744823305,\n  \"chain\": 11155111,\n  \"commit\": \"c8c9b78\"\n}"
  },
  {
    "path": "sepolia/2025-04-14-upgrade-fault-proofs/records/UpgradeDGF.s.sol/11155111/run-1744823401.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x376c09440439c50f33aac91724f457f021eb7af3f63543a7dd8a21207e35a042\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd1e4a76bbefb5005f1739856d035c83fd7ee77e73d3b38babc4c5847998ce6a1e00000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n        \"gas\": \"0x1ff0a\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd1e4a76bbefb5005f1739856d035c83fd7ee77e73d3b38babc4c5847998ce6a1e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x35\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xc67662\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x1e4a76bbefb5005f1739856d035c83fd7ee77e73d3b38babc4c5847998ce6a1e\",\n            \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x03013d13ac81d1ba856f8863b53af3c7bcc6cc7e3d8346d0ddea8873df0c0efe\",\n          \"blockNumber\": \"0x7c1455\",\n          \"transactionHash\": \"0x376c09440439c50f33aac91724f457f021eb7af3f63543a7dd8a21207e35a042\",\n          \"transactionIndex\": \"0x62\",\n          \"logIndex\": \"0xaf\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xab570f85b64f6cdd9c0676ea0628f2ec677f43261b11766d7ee85e6e9cac3e240000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x03013d13ac81d1ba856f8863b53af3c7bcc6cc7e3d8346d0ddea8873df0c0efe\",\n          \"blockNumber\": \"0x7c1455\",\n          \"transactionHash\": \"0x376c09440439c50f33aac91724f457f021eb7af3f63543a7dd8a21207e35a042\",\n          \"transactionIndex\": \"0x62\",\n          \"logIndex\": \"0xb0\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000010000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000010000000000000000000000000008000000200000000800000000000000000000000000008000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000001004000020000000000000000000000000000000000000000200000200000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x376c09440439c50f33aac91724f457f021eb7af3f63543a7dd8a21207e35a042\",\n      \"transactionIndex\": \"0x62\",\n      \"blockHash\": \"0x03013d13ac81d1ba856f8863b53af3c7bcc6cc7e3d8346d0ddea8873df0c0efe\",\n      \"blockNumber\": \"0x7c1455\",\n      \"gasUsed\": \"0x171fd\",\n      \"effectiveGasPrice\": \"0x349dbdb5c\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1744823401,\n  \"chain\": 11155111,\n  \"commit\": \"c8c9b78\"\n}"
  },
  {
    "path": "sepolia/2025-04-14-upgrade-fault-proofs/records/UpgradeDGF.s.sol/11155111/run-1744823689.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xb2196ea506626d91682ba17dca74b6d9a47b30c2276ac74a193f67e15ab88b29\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd1e4a76bbefb5005f1739856d035c83fd7ee77e73d3b38babc4c5847998ce6a1e00000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xb91695f3fd37687dd11a76e2d2917bfbf5f4223cae6416bde5c18426b559913a1a125910c779630a2373c19c0135ae11b3650d936ac6911d99edc13cf11d1a361b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n        \"gas\": \"0x1ea0f\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd1e4a76bbefb5005f1739856d035c83fd7ee77e73d3b38babc4c5847998ce6a1e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041b91695f3fd37687dd11a76e2d2917bfbf5f4223cae6416bde5c18426b559913a1a125910c779630a2373c19c0135ae11b3650d936ac6911d99edc13cf11d1a361b00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x36\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1ed727c\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x1e4a76bbefb5005f1739856d035c83fd7ee77e73d3b38babc4c5847998ce6a1e\",\n            \"0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x3b8936919d26dd4470d37dd43d78a4e5b6d6c0a8103f381e64f9c17efeb8698e\",\n          \"blockNumber\": \"0x7c1469\",\n          \"transactionHash\": \"0xb2196ea506626d91682ba17dca74b6d9a47b30c2276ac74a193f67e15ab88b29\",\n          \"transactionIndex\": \"0xe4\",\n          \"logIndex\": \"0x1e4\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xcd2f5745f773c13e0fa37f6ed4a7b53ab91390722336ba4e4710b2759252cc5f0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x3b8936919d26dd4470d37dd43d78a4e5b6d6c0a8103f381e64f9c17efeb8698e\",\n          \"blockNumber\": \"0x7c1469\",\n          \"transactionHash\": \"0xb2196ea506626d91682ba17dca74b6d9a47b30c2276ac74a193f67e15ab88b29\",\n          \"transactionIndex\": \"0xe4\",\n          \"logIndex\": \"0x1e5\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000010000000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000000000000000000000000000000000008000000200000000800000000000000000000000000008000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014020000000000000200000000100000000008000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xb2196ea506626d91682ba17dca74b6d9a47b30c2276ac74a193f67e15ab88b29\",\n      \"transactionIndex\": \"0xe4\",\n      \"blockHash\": \"0x3b8936919d26dd4470d37dd43d78a4e5b6d6c0a8103f381e64f9c17efeb8698e\",\n      \"blockNumber\": \"0x7c1469\",\n      \"gasUsed\": \"0x162cc\",\n      \"effectiveGasPrice\": \"0x375cccc21\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1744823689,\n  \"chain\": 11155111,\n  \"commit\": \"c8c9b78\"\n}"
  },
  {
    "path": "sepolia/2025-04-14-upgrade-fault-proofs/records/UpgradeDGF.s.sol/11155111/run-1744823785.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x9815d944bf9edec3ebf81b7418d438144861c4bf2f2560ec12e028a175de7505\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cfce7dd673fbbbffd16ab936b7245a2f2db31c9a00000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f0102ffe22649a5421d53acc96e309660960cf4400000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n        \"gas\": \"0x220f8\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000024482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cfce7dd673fbbbffd16ab936b7245a2f2db31c9a00000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f0102ffe22649a5421d53acc96e309660960cf4400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x37\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xeebda7\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000004a0000000000000000000000000000000000000000000000000000000000000024482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cfce7dd673fbbbffd16ab936b7245a2f2db31c9a00000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f0102ffe22649a5421d53acc96e309660960cf4400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000150000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe072520000000000000000000000000000000000000000000000000000000000000002\",\n          \"blockHash\": \"0xee5a51ae88b706cd83568a0bff62011d57802b335e086d220f1f93565568708a\",\n          \"blockNumber\": \"0x7c1470\",\n          \"transactionHash\": \"0x9815d944bf9edec3ebf81b7418d438144861c4bf2f2560ec12e028a175de7505\",\n          \"transactionIndex\": \"0x72\",\n          \"logIndex\": \"0xdb\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n          \"topics\": [\n            \"0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de\",\n            \"0x000000000000000000000000cfce7dd673fbbbffd16ab936b7245a2f2db31c9a\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xee5a51ae88b706cd83568a0bff62011d57802b335e086d220f1f93565568708a\",\n          \"blockNumber\": \"0x7c1470\",\n          \"transactionHash\": \"0x9815d944bf9edec3ebf81b7418d438144861c4bf2f2560ec12e028a175de7505\",\n          \"transactionIndex\": \"0x72\",\n          \"logIndex\": \"0xdc\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n          \"topics\": [\n            \"0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de\",\n            \"0x000000000000000000000000f0102ffe22649a5421d53acc96e309660960cf44\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000001\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xee5a51ae88b706cd83568a0bff62011d57802b335e086d220f1f93565568708a\",\n          \"blockNumber\": \"0x7c1470\",\n          \"transactionHash\": \"0x9815d944bf9edec3ebf81b7418d438144861c4bf2f2560ec12e028a175de7505\",\n          \"transactionIndex\": \"0x72\",\n          \"logIndex\": \"0xdd\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x1e4a76bbefb5005f1739856d035c83fd7ee77e73d3b38babc4c5847998ce6a1e0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xee5a51ae88b706cd83568a0bff62011d57802b335e086d220f1f93565568708a\",\n          \"blockNumber\": \"0x7c1470\",\n          \"transactionHash\": \"0x9815d944bf9edec3ebf81b7418d438144861c4bf2f2560ec12e028a175de7505\",\n          \"transactionIndex\": \"0x72\",\n          \"logIndex\": \"0xde\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000080044000000000000200000000000000000000001000000000000000100000000000048000000000000400000000000000000000000000040000040000000000000000000000000000020000000000000000000800000000000000000000000000000008010000200000000800000000000000000000000000000000000000000000000000000000000400000000000000000004100000000000000040000000000000000000000000000000000000000000020000000000000000000400000000000060000000000000000000000000000000000000000000000000000000000000000100\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x9815d944bf9edec3ebf81b7418d438144861c4bf2f2560ec12e028a175de7505\",\n      \"transactionIndex\": \"0x72\",\n      \"blockHash\": \"0xee5a51ae88b706cd83568a0bff62011d57802b335e086d220f1f93565568708a\",\n      \"blockNumber\": \"0x7c1470\",\n      \"gasUsed\": \"0x18a8d\",\n      \"effectiveGasPrice\": \"0x3b839e98d\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1744823785,\n  \"chain\": 11155111,\n  \"commit\": \"c8c9b78\"\n}"
  },
  {
    "path": "sepolia/2025-04-14-upgrade-fault-proofs/script/DeployDisputeGames.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Script} from \"forge-std/Script.sol\";\n\nimport {IAnchorStateRegistry, IDelayedWETH, IBigStepper} from \"@eth-optimism-bedrock/src/dispute/FaultDisputeGame.sol\";\nimport {\n    PermissionedDisputeGame, FaultDisputeGame\n} from \"@eth-optimism-bedrock/src/dispute/PermissionedDisputeGame.sol\";\nimport {GameTypes, GameType, Duration, Claim} from \"@eth-optimism-bedrock/src/dispute/lib/Types.sol\";\nimport {LibGameType, LibDuration} from \"@eth-optimism-bedrock/src/dispute/lib/LibUDT.sol\";\nimport {DisputeGameFactory} from \"@eth-optimism-bedrock/src/dispute/DisputeGameFactory.sol\";\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport {Strings} from \"@openzeppelin/contracts/utils/Strings.sol\";\nimport {console} from \"forge-std/console.sol\";\n\n/// @notice This script deploys new versions of FaultDisputeGame and PermissionedDisputeGame with all the same\n///         parameters as the existing implementations excluding the absolute prestate.\ncontract DeployDisputeGames is Script {\n    using Strings for address;\n    using LibDuration for Duration;\n    using LibGameType for GameType;\n\n    string public constant EXPECTED_VERSION = \"1.4.1\";\n\n    SystemConfig internal _SYSTEM_CONFIG = SystemConfig(vm.envAddress(\"SYSTEM_CONFIG\"));\n    Claim immutable absolutePrestate;\n\n    FaultDisputeGame.GameConstructorParams fdgParams;\n    FaultDisputeGame.GameConstructorParams pdgParams;\n    address proposer;\n    address challenger;\n\n    constructor() {\n        absolutePrestate = Claim.wrap(vm.envBytes32(\"ABSOLUTE_PRESTATE\"));\n    }\n\n    function setUp() public {\n        DisputeGameFactory dgfProxy = DisputeGameFactory(_SYSTEM_CONFIG.disputeGameFactory());\n        FaultDisputeGame currentFdg = FaultDisputeGame(address(dgfProxy.gameImpls(GameTypes.CANNON)));\n        PermissionedDisputeGame currentPdg =\n            PermissionedDisputeGame(address(dgfProxy.gameImpls(GameTypes.PERMISSIONED_CANNON)));\n\n        uint256 maxGameDepth = currentFdg.maxGameDepth();\n        uint256 splitDepth = currentFdg.splitDepth();\n        Duration clockExtension = currentFdg.clockExtension();\n        Duration maxClockDuration = currentFdg.maxClockDuration();\n        IBigStepper bigStepper = currentFdg.vm();\n        IAnchorStateRegistry anchorStateRegistry = currentFdg.anchorStateRegistry();\n        uint256 l2ChainId = currentFdg.l2ChainId();\n\n        proposer = currentPdg.proposer();\n        challenger = currentPdg.challenger();\n\n        fdgParams = FaultDisputeGame.GameConstructorParams({\n            gameType: GameTypes.CANNON,\n            absolutePrestate: absolutePrestate,\n            maxGameDepth: maxGameDepth,\n            splitDepth: splitDepth,\n            clockExtension: clockExtension,\n            maxClockDuration: maxClockDuration,\n            vm: bigStepper,\n            weth: currentFdg.weth(),\n            anchorStateRegistry: anchorStateRegistry,\n            l2ChainId: l2ChainId\n        });\n        pdgParams = FaultDisputeGame.GameConstructorParams({\n            gameType: GameTypes.PERMISSIONED_CANNON,\n            absolutePrestate: absolutePrestate,\n            maxGameDepth: maxGameDepth,\n            splitDepth: splitDepth,\n            clockExtension: clockExtension,\n            maxClockDuration: maxClockDuration,\n            vm: bigStepper,\n            weth: currentPdg.weth(),\n            anchorStateRegistry: anchorStateRegistry,\n            l2ChainId: l2ChainId\n        });\n    }\n\n    function _postCheck(address fdgImpl, address pdgImpl) private view {\n        FaultDisputeGame fdg = FaultDisputeGame(fdgImpl);\n        PermissionedDisputeGame pdg = PermissionedDisputeGame(pdgImpl);\n\n        require(Strings.equal(fdg.version(), EXPECTED_VERSION), \"Postcheck version 1\");\n        require(Strings.equal(pdg.version(), EXPECTED_VERSION), \"Postcheck version 2\");\n\n        require(fdg.gameType().raw() == GameTypes.CANNON.raw(), \"Postcheck 1\");\n        require(fdg.absolutePrestate().raw() == absolutePrestate.raw(), \"Postcheck 2\");\n        require(fdg.maxGameDepth() == fdgParams.maxGameDepth, \"Postcheck 3\");\n        require(fdg.splitDepth() == fdgParams.splitDepth, \"Postcheck 4\");\n        require(fdg.clockExtension().raw() == fdgParams.clockExtension.raw(), \"Postcheck 5\");\n        require(fdg.maxClockDuration().raw() == fdgParams.maxClockDuration.raw(), \"Postcheck 6\");\n        require(fdg.vm() == fdgParams.vm, \"Postcheck 7\");\n        require(fdg.weth() == fdgParams.weth, \"Postcheck 8\");\n        require(fdg.anchorStateRegistry() == fdgParams.anchorStateRegistry, \"Postcheck 9\");\n        require(fdg.l2ChainId() == fdgParams.l2ChainId, \"Postcheck 10\");\n\n        require(pdg.gameType().raw() == GameTypes.PERMISSIONED_CANNON.raw(), \"Postcheck 11\");\n        require(pdg.absolutePrestate().raw() == absolutePrestate.raw(), \"Postcheck 12\");\n        require(pdg.maxGameDepth() == pdgParams.maxGameDepth, \"Postcheck 13\");\n        require(pdg.splitDepth() == pdgParams.splitDepth, \"Postcheck 14\");\n        require(pdg.clockExtension().raw() == pdgParams.clockExtension.raw(), \"Postcheck 15\");\n        require(pdg.maxClockDuration().raw() == pdgParams.maxClockDuration.raw(), \"Postcheck 16\");\n        require(pdg.vm() == pdgParams.vm, \"Postcheck 17\");\n        require(pdg.weth() == pdgParams.weth, \"Postcheck 18\");\n        require(pdg.anchorStateRegistry() == pdgParams.anchorStateRegistry, \"Postcheck 19\");\n        require(pdg.l2ChainId() == pdgParams.l2ChainId, \"Postcheck 20\");\n        require(pdg.proposer() == proposer, \"Postcheck 21\");\n        require(pdg.challenger() == challenger, \"Postcheck 22\");\n    }\n\n    function run() public {\n        (address fdg, address pdg) = _deployContracts();\n        _postCheck(fdg, pdg);\n\n        vm.writeFile(\n            \"addresses.json\",\n            string.concat(\n                \"{\",\n                \"\\\"faultDisputeGame\\\": \\\"\",\n                fdg.toHexString(),\n                \"\\\",\",\n                \"\\\"permissionedDisputeGame\\\": \\\"\",\n                pdg.toHexString(),\n                \"\\\"\" \"}\"\n            )\n        );\n    }\n\n    function _deployContracts() private returns (address, address) {\n        console.log(\"FaultDisputeGame params:\");\n        console.logBytes(abi.encode(fdgParams));\n\n        console.log(\"PermissionedDisputeGame params:\");\n        console.logBytes(abi.encode(pdgParams, proposer, challenger));\n\n        vm.startBroadcast();\n        address fdg = address(new FaultDisputeGame(fdgParams));\n        address pdg = address(new PermissionedDisputeGame(pdgParams, proposer, challenger));\n        vm.stopBroadcast();\n\n        return (fdg, pdg);\n    }\n}\n"
  },
  {
    "path": "sepolia/2025-04-14-upgrade-fault-proofs/script/UpgradeDGF.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.24;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {stdJson} from \"forge-std/StdJson.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\nimport {console} from \"forge-std/console.sol\";\n\nimport {DoubleNestedMultisigBuilder} from \"@base-contracts/script/universal/DoubleNestedMultisigBuilder.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {Strings} from \"@openzeppelin/contracts/utils/Strings.sol\";\n\ninterface IDisputeGameFactory {\n    function gameImpls(uint32) external view returns (address);\n    function setImplementation(uint32, address) external;\n}\n\ninterface IPermissionedDisputeGame {\n    function challenger() external view returns (address);\n    function proposer() external view returns (address);\n}\n\ninterface ISystemConfig {\n    function disputeGameFactory() external view returns (address);\n}\n\ninterface IFaultDisputeGame {\n    function version() external view returns (string memory);\n    function vm() external view returns (address);\n    function weth() external view returns (address);\n    function anchorStateRegistry() external view returns (address);\n    function l2ChainId() external view returns (uint64);\n    function splitDepth() external view returns (uint64);\n    function maxGameDepth() external view returns (uint64);\n    function maxClockDuration() external view returns (uint64);\n    function clockExtension() external view returns (uint64);\n}\n\ninterface IAnchorStateRegistry {\n    function anchors(uint32) external view returns (bytes32, uint256);\n}\n\n/// @notice This script updates the FaultDisputeGame and PermissionedDisputeGame implementations in the\n///         DisputeGameFactory contract.\ncontract UpgradeDGF is DoubleNestedMultisigBuilder {\n    using stdJson for string;\n\n    string public constant EXPECTED_VERSION = \"1.4.1\";\n    uint32 public constant CANNON = 0;\n    uint32 public constant PERMISSIONED_CANNON = 1;\n\n    address public immutable OWNER_SAFE;\n\n    IDisputeGameFactory public dgfProxy;\n    address public fdgImpl;\n    address public pdgImpl;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n    }\n\n    function setUp() public {\n        string memory rootPath = vm.projectRoot();\n        string memory path = string.concat(rootPath, \"/addresses.json\");\n        string memory addresses = vm.readFile(path);\n\n        dgfProxy = IDisputeGameFactory(ISystemConfig(vm.envAddress(\"SYSTEM_CONFIG\")).disputeGameFactory());\n        fdgImpl = addresses.readAddress(\".faultDisputeGame\");\n        pdgImpl = addresses.readAddress(\".permissionedDisputeGame\");\n\n        _precheckDisputeGameImplementation(CANNON, fdgImpl);\n        _precheckDisputeGameImplementation(PERMISSIONED_CANNON, pdgImpl);\n    }\n\n    // Checks that the new game being set has the same configuration as the existing implementation with the exception\n    // of the absolutePrestate. This is the most common scenario where the game implementation is upgraded to provide an\n    // updated fault proof program that supports an upcoming hard fork.\n    function _precheckDisputeGameImplementation(uint32 targetGameType, address newImpl) internal view {\n        console.log(\"pre-check new game implementations\", targetGameType);\n\n        IFaultDisputeGame currentImpl = IFaultDisputeGame(address(dgfProxy.gameImpls(targetGameType)));\n        // No checks are performed if there is no prior implementation.\n        // When deploying the first implementation, it is recommended to implement custom checks.\n        if (address(currentImpl) == address(0)) {\n            return;\n        }\n        IFaultDisputeGame faultDisputeGame = IFaultDisputeGame(newImpl);\n        require(Strings.equal(currentImpl.version(), EXPECTED_VERSION), \"00\");\n        require(currentImpl.vm() == faultDisputeGame.vm(), \"10\");\n        require(currentImpl.weth() == faultDisputeGame.weth(), \"20\");\n        require(currentImpl.anchorStateRegistry() == faultDisputeGame.anchorStateRegistry(), \"30\");\n        require(currentImpl.l2ChainId() == faultDisputeGame.l2ChainId(), \"40\");\n        require(currentImpl.splitDepth() == faultDisputeGame.splitDepth(), \"50\");\n        require(currentImpl.maxGameDepth() == faultDisputeGame.maxGameDepth(), \"60\");\n        require(currentImpl.maxClockDuration() == faultDisputeGame.maxClockDuration(), \"70\");\n        require(currentImpl.clockExtension() == faultDisputeGame.clockExtension(), \"80\");\n\n        if (targetGameType == PERMISSIONED_CANNON) {\n            IPermissionedDisputeGame currentPDG = IPermissionedDisputeGame(address(currentImpl));\n            IPermissionedDisputeGame permissionedDisputeGame = IPermissionedDisputeGame(address(faultDisputeGame));\n            require(currentPDG.proposer() == permissionedDisputeGame.proposer(), \"90\");\n            require(currentPDG.challenger() == permissionedDisputeGame.challenger(), \"100\");\n        }\n    }\n\n    // Confirm the stored implementations are updated and the anchor states still exist.\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        require(dgfProxy.gameImpls(CANNON) == fdgImpl, \"post-110\");\n        require(dgfProxy.gameImpls(PERMISSIONED_CANNON) == pdgImpl, \"post-120\");\n        _postcheckHasAnchorState(CANNON);\n        _postcheckHasAnchorState(PERMISSIONED_CANNON);\n    }\n\n    // Checks the anchor state for the source game type still exists after re-initialization. The actual anchor state\n    // may have been updated since the task was defined so just assert it exists, not that it has a specific value.\n    function _postcheckHasAnchorState(uint32 gameType) internal view {\n        console.log(\"check anchor state exists\", gameType);\n\n        IFaultDisputeGame impl = IFaultDisputeGame(dgfProxy.gameImpls(gameType));\n        (bytes32 root, uint256 rootBlockNumber) = IAnchorStateRegistry(impl.anchorStateRegistry()).anchors(gameType);\n\n        require(root != bytes32(0), \"check-300\");\n        require(rootBlockNumber != 0, \"check-310\");\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) {\n        IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](2);\n\n        calls[0] = IMulticall3.Call3({\n            target: address(dgfProxy),\n            allowFailure: false,\n            callData: abi.encodeCall(IDisputeGameFactory.setImplementation, (CANNON, fdgImpl))\n        });\n        calls[1] = IMulticall3.Call3({\n            target: address(dgfProxy),\n            allowFailure: false,\n            callData: abi.encodeCall(IDisputeGameFactory.setImplementation, (PERMISSIONED_CANNON, pdgImpl))\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "sepolia/2025-04-14-upgrade-fault-proofs/validations/NestedSafeB.md",
    "content": "# Validation\n\nThis document can be used to validate the inputs and result of the execution of the upgrade transaction which you are signing.\n\nThe steps are:\n\n1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes)\n2. [Verifying the state changes](#state-changes)\n\n## Expected Domain and Message Hashes\n\nFirst, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task.\n\n> [!CAUTION]\n>\n> Before signing, ensure the below hashes match what is on your ledger.\n>\n> ### Sepolia Nested Safe B: `0x6af0674791925f767060dd52f7fb20984e8639d8`\n>\n> - Domain Hash: `0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa`\n> - Message Hash: `0x96288ea8d1ed0c28d42600176370a14feea0603f1b2bf703c2f0e9c051057d91`\n\n# State Validations\n\nFor each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract:\n\n- The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur.\n- All addresses (in section headers and storage values) match the provided name, using the Etherscan and Superchain Registry links provided. This validates the bytecode deployed at the addresses contains the correct logic.\n- All key values match the semantic meaning provided, which can be validated using the storage layout links provided.\n\n## State Overrides\n\n### Proxy Admin Owner (`0x0fe884546476dDd290eC46318785046ef68a0BA9`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n### Coordinator Safe (`0x646132a1667ca7ad00d36616afba1a28116c770a`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n### Safe B (`0x6af0674791925f767060dd52f7fb20984e8639d8`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000003` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the owner count to 1 so the transaction simulation can occur.\n\n- **Key**: `0x316a0aac0d94f5824f0b66f5bbe94a8c360a17699a1d3a233aafcf7146e9f11c` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: This is owners[0xca11bde05977b3631167028862be2a173976ca11] -> 1, so the key can be derived from cast index address 0xca11bde05977b3631167028862be2a173976ca11 2.\n\n- **Key**: `0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0` <br/>\n  **Override**: `0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca11` <br/>\n  **Meaning**: This is owners[1] -> 0xca11bde05977b3631167028862be2a173976ca11, so the key can be derived from cast index address 0x0000000000000000000000000000000000000001 2.\n\n## Task State Changes\n\n<pre>\n<code>\n----- DecodedStateDiff[0] -----\n  Who:               0x0fe884546476dDd290eC46318785046ef68a0BA9\n  Contract:          Proxy Admin Owner - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0x0000000000000000000000000000000000000000000000000000000000000005\n  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000015\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000016\n  Decoded Kind:      uint256\n  Decoded Old Value: 21\n  Decoded New Value: 22\n\n  Summary:           Nonce increment.\n\n----- DecodedStateDiff[1] -----\n  Who:               0x0fe884546476dDd290eC46318785046ef68a0BA9\n  Contract:          Proxy Admin Owner - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0xab950079e3717aa6d08dc27e568f5d265f0191a3c834755df7d524ff90e68e15\n  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000001\n  Decoded Kind:      uint256\n  Decoded Old Value: 0\n  Decoded New Value: 1\n\n  Summary:           Sets an approval for this transaction from the signer. Compute the expected raw slot key with `cast index bytes32 $NESTED_HASH $(cast index address $NESTED_SAFE 8)` where `NESTED_HASH` is `0x1e4a76bbefb5005f1739856d035c83fd7ee77e73d3b38babc4c5847998ce6a1e` (you should see this in your terminal after the transaction simulation) and `NESTED_SAFE` is `0x646132a1667ca7ad00d36616afba1a28116c770a` (the safe linked above).\n\n----- DecodedStateDiff[2] -----\n  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A\n  Contract:          Coordinator Safe - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0x0000000000000000000000000000000000000000000000000000000000000005\n  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000004\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000005\n  Decoded Kind:      uint256\n  Decoded Old Value: 4\n  Decoded New Value: 5\n\n  Summary:           Nonce increment.\n\n----- DecodedStateDiff[3] -----\n  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A\n  Contract:          Coordinator Safe - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0x2c3020a2a54d72ea6bb5dc07d7fc42853cbd98a60be682e47419bb1909c4b1bd\n  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000001\n  Decoded Kind:      uint256\n  Decoded Old Value: 0\n  Decoded New Value: 1\n\n  Summary:           Sets an approval for this transaction from the signer. Compute the expected raw slot key with `cast index bytes32 $NESTED_HASH $(cast index address $NESTED_SAFE 8)` where `NESTED_HASH` is `0xab570f85b64f6cdd9c0676ea0628f2ec677f43261b11766d7ee85e6e9cac3e24` (you should see this in your terminal after the transaction simulation) and `NESTED_SAFE` is `0x6af0674791925f767060dd52f7fb20984e8639d8` (the safe linked above).\n\n----- DecodedStateDiff[4] -----\n  Who:               0x6af0674791925f767060dd52f7fb20984e8639d8\n  Contract:          Safe B - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0x0000000000000000000000000000000000000000000000000000000000000005\n  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000003\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000004\n  Decoded Kind:      uint256\n  Decoded Old Value: 3\n  Decoded New Value: 4\n\n  Summary:           Nonce increment.\n\n----- DecodedStateDiff[5] -----\n  Who:               0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1\n  Contract:          Dispute Game Factory - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e\n  Raw Old Value:     0x0000000000000000000000006f67e57c143321e266bac32a0d9d22d88ce1b3e5\n  Raw New Value:     0x000000000000000000000000f0102ffe22649a5421d53acc96e309660960cf44\n  Decoded Kind:      address\n  Decoded Old Value: 0x6F67E57C143321e266bac32A0D9D22d88cE1b3e5\n  Decoded New Value: 0xF0102fFe22649A5421D53aCC96E309660960cF44\n\n  Summary:           Updates the `PermissionedDisputeGame` implementation address. You can verify the key derivation by running `cast index uint32 1 101` in your terminal.\n\n----- DecodedStateDiff[6] -----\n  Who:               0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1\n  Contract:          Dispute Game Factory - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b\n  Raw Old Value:     0x000000000000000000000000340c1364d299ed55b193d4efcecbad8c3fb104c4\n  Raw New Value:     0x000000000000000000000000cfce7dd673fbbbffd16ab936b7245a2f2db31c9a\n  Decoded Kind:      address\n  Decoded Old Value: 0x340c1364D299ED55B193d4eFcecBAD8c3Fb104c4\n  Decoded New Value: 0xCFcE7DD673fBbbFfD16Ab936B7245A2f2dB31C9a\n\n  Summary:           Updates the `FaultDisputeGame` implementation address. You can verify the key derivation by running `cast index uint32 0 101` in your terminal.\n\n----- Additional Nonce Changes -----\n  Details:           You should see a nonce increment for the account you're signing with.\n</pre>\n"
  },
  {
    "path": "sepolia/2025-04-14-upgrade-fault-proofs/validations/SafeA.md",
    "content": "# Validation\n\nThis document can be used to validate the inputs and result of the execution of the upgrade transaction which you are signing.\n\nThe steps are:\n\n1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes)\n2. [Verifying the state changes](#state-changes)\n\n## Expected Domain and Message Hashes\n\nFirst, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task.\n\n> [!CAUTION]\n>\n> Before signing, ensure the below hashes match what is on your ledger.\n>\n> ### Sepolia Safe A: `0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f`\n>\n> - Domain Hash: `0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23`\n> - Message Hash: `0xa09d16a602ff4e764c24e038fb7c11a4256f5bf904dfedd730de0643b16bb24a`\n\n# State Validations\n\nFor each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract:\n\n- The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur.\n- All addresses (in section headers and storage values) match the provided name, using the Etherscan and Superchain Registry links provided. This validates the bytecode deployed at the addresses contains the correct logic.\n- All key values match the semantic meaning provided, which can be validated using the storage layout links provided.\n\n## State Overrides\n\n### Proxy Admin Owner (`0x0fe884546476dDd290eC46318785046ef68a0BA9`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n### Safe A (`0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000003` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the owner count to 1 so the transaction simulation can occur.\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n- **Key**: `0x316a0aac0d94f5824f0b66f5bbe94a8c360a17699a1d3a233aafcf7146e9f11c` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: This is owners[0xca11bde05977b3631167028862be2a173976ca11] -> 1, so the key can be derived from cast index address 0xca11bde05977b3631167028862be2a173976ca11 2.\n\n- **Key**: `0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0` <br/>\n  **Override**: `0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca11` <br/>\n  **Meaning**: This is owners[1] -> 0xca11bde05977b3631167028862be2a173976ca11, so the key can be derived from cast index address 0x0000000000000000000000000000000000000001 2.\n\n### Coordinator Safe (`0x646132A1667ca7aD00d36616AFBA1A28116C770A`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n## Task State Changes\n\n<pre>\n<code>\n----- DecodedStateDiff[0] -----\n  Who:               0x0fe884546476dDd290eC46318785046ef68a0BA9\n  Contract:          Proxy Admin Owner - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0x0000000000000000000000000000000000000000000000000000000000000005\n  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000015\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000016\n  Decoded Kind:      uint256\n  Decoded Old Value: 21\n  Decoded New Value: 22\n\n  Summary:           Nonce increment.\n\n----- DecodedStateDiff[1] -----\n  Who:               0x0fe884546476dDd290eC46318785046ef68a0BA9\n  Contract:          Proxy Admin Owner - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0xab950079e3717aa6d08dc27e568f5d265f0191a3c834755df7d524ff90e68e15\n  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000001\n  Decoded Kind:      uint256\n  Decoded Old Value: 0\n  Decoded New Value: 1\n\n  Summary:           Sets an approval for this transaction from the signer. Compute the expected raw slot key with `cast index bytes32 $NESTED_HASH $(cast index address $NESTED_SAFE 8)` where `NESTED_HASH` is `0x1e4a76bbefb5005f1739856d035c83fd7ee77e73d3b38babc4c5847998ce6a1e` (you should see this in your terminal after the transaction simulation) and `NESTED_SAFE` is `0x646132a1667ca7ad00d36616afba1a28116c770a` (the safe linked above).\n\n----- DecodedStateDiff[2] -----\n  Who:               0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f\n  Contract:          Safe A - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0x0000000000000000000000000000000000000000000000000000000000000005\n  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000001\n  Decoded Kind:      uint256\n  Decoded Old Value: 0\n  Decoded New Value: 1\n\n  Summary:           Nonce increment.\n\n----- DecodedStateDiff[3] -----\n  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A\n  Contract:          Coordinator Safe - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0x0000000000000000000000000000000000000000000000000000000000000005\n  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000004\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000005\n  Decoded Kind:      uint256\n  Decoded Old Value: 4\n  Decoded New Value: 5\n\n  Summary:           Nonce increment.\n\n----- DecodedStateDiff[4] -----\n  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A\n  Contract:          Coordinator Safe - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0xdc2a8b21796295f338f397c162b212b221d214b9394fbe9a571cb58f3ad7c979\n  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000001\n  Decoded Kind:      uint256\n  Decoded Old Value: 0\n  Decoded New Value: 1\n\n  Summary:           Sets an approval for this transaction from the signer. Compute the expected raw slot key with `cast index bytes32 $NESTED_HASH $(cast index address $NESTED_SAFE 8)` where `NESTED_HASH` is `0xab570f85b64f6cdd9c0676ea0628f2ec677f43261b11766d7ee85e6e9cac3e24` (you should see this in your terminal after the transaction simulation) and `NESTED_SAFE` is `0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f` (the safe linked above).\n\n----- DecodedStateDiff[5] -----\n  Who:               0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1\n  Contract:          Dispute Game Factory - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e\n  Raw Old Value:     0x0000000000000000000000006f67e57c143321e266bac32a0d9d22d88ce1b3e5\n  Raw New Value:     0x000000000000000000000000f0102ffe22649a5421d53acc96e309660960cf44\n  Decoded Kind:      address\n  Decoded Old Value: 0x6F67E57C143321e266bac32A0D9D22d88cE1b3e5\n  Decoded New Value: 0xF0102fFe22649A5421D53aCC96E309660960cF44\n\n  Summary:           Updates the `PermissionedDisputeGame` implementation address. You can verify the key derivation by running `cast index uint32 1 101` in your terminal.\n\n----- DecodedStateDiff[6] -----\n  Who:               0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1\n  Contract:          Dispute Game Factory - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b\n  Raw Old Value:     0x000000000000000000000000340c1364d299ed55b193d4efcecbad8c3fb104c4\n  Raw New Value:     0x000000000000000000000000cfce7dd673fbbbffd16ab936b7245a2f2db31c9a\n  Decoded Kind:      address\n  Decoded Old Value: 0x340c1364D299ED55B193d4eFcecBAD8c3Fb104c4\n  Decoded New Value: 0xCFcE7DD673fBbbFfD16Ab936B7245A2f2dB31C9a\n\n  Summary:           Updates the `FaultDisputeGame` implementation address. You can verify the key derivation by running `cast index uint32 0 101` in your terminal.\n\n----- Additional Nonce Changes -----\n  Details:           You should see a nonce increment for the account you're signing with.\n</pre>\n"
  },
  {
    "path": "sepolia/2025-04-14-upgrade-fault-proofs/validations/SafeB.md",
    "content": "# Validation\n\nThis document can be used to validate the inputs and result of the execution of the upgrade transaction which you are signing.\n\nThe steps are:\n\n1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes)\n2. [Verifying the state changes](#state-changes)\n\n## Expected Domain and Message Hashes\n\nFirst, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task.\n\n> [!CAUTION]\n>\n> Before signing, ensure the below hashes match what is on your ledger.\n>\n> ### Sepolia Safe B: `0x6af0674791925f767060dd52f7fb20984e8639d8`\n>\n> - Domain Hash: `0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa`\n> - Message Hash: `0x7d36496183631f74bd08724fe13d8c30ffe9600a334d642e5141ea030ee83dac`\n\n# State Validations\n\nFor each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract:\n\n- The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur.\n- All addresses (in section headers and storage values) match the provided name, using the Etherscan and Superchain Registry links provided. This validates the bytecode deployed at the addresses contains the correct logic.\n- All key values match the semantic meaning provided, which can be validated using the storage layout links provided.\n\n## State Overrides\n\n### Proxy Admin Owner (`0x0fe884546476dDd290eC46318785046ef68a0BA9`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n### Safe B (`0x6AF0674791925f767060Dd52f7fB20984E8639d8`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000003` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the owner count to 1 so the transaction simulation can occur.\n\n- **Key**: `0x316a0aac0d94f5824f0b66f5bbe94a8c360a17699a1d3a233aafcf7146e9f11c` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: This is owners[0xca11bde05977b3631167028862be2a173976ca11] -> 1, so the key can be derived from cast index address 0xca11bde05977b3631167028862be2a173976ca11 2.\n\n- **Key**: `0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0` <br/>\n  **Override**: `0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca11` <br/>\n  **Meaning**: This is owners[1] -> 0xca11bde05977b3631167028862be2a173976ca11, so the key can be derived from cast index address 0x0000000000000000000000000000000000000001 2.\n\n## Task State Changes\n\n<pre>\n<code>\n----- DecodedStateDiff[0] -----\n  Who:               0x0fe884546476dDd290eC46318785046ef68a0BA9\n  Contract:          Proxy Admin Owner - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0x0000000000000000000000000000000000000000000000000000000000000005\n  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000015\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000016\n  Decoded Kind:      uint256\n  Decoded Old Value: 21\n  Decoded New Value: 22\n\n  Summary:           Nonce increment.\n\n----- DecodedStateDiff[1] -----\n  Who:               0x0fe884546476dDd290eC46318785046ef68a0BA9\n  Contract:          Proxy Admin Owner - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0x817eda31e1518570433e4bc8b57d7ea96fcd5460045124fefb39dba853c8bcf1\n  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000001\n  Decoded Kind:      uint256\n  Decoded Old Value: 0\n  Decoded New Value: 1\n\n  Summary:           Sets an approval for this transaction from the signer. Compute the expected raw slot key with `cast index bytes32 $NESTED_HASH $(cast index address $NESTED_SAFE 8)` where `NESTED_HASH` is `0x1e4a76bbefb5005f1739856d035c83fd7ee77e73d3b38babc4c5847998ce6a1e` (you should see this in your terminal after the transaction simulation) and `NESTED_SAFE` is `0x6af0674791925f767060dd52f7fb20984e8639d8` (the safe linked above).\n\n----- DecodedStateDiff[2] -----\n  Who:               0x6AF0674791925f767060Dd52f7fB20984E8639d8\n  Contract:          Safe B - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0x0000000000000000000000000000000000000000000000000000000000000005\n  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000003\n  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000004\n  Decoded Kind:      uint256\n  Decoded Old Value: 3\n  Decoded New Value: 4\n\n  Summary:           Nonce increment.\n\n----- DecodedStateDiff[3] -----\n  Who:               0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1\n  Contract:          Dispute Game Factory - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e\n  Raw Old Value:     0x0000000000000000000000006f67e57c143321e266bac32a0d9d22d88ce1b3e5\n  Raw New Value:     0x000000000000000000000000f0102ffe22649a5421d53acc96e309660960cf44\n  Decoded Kind:      address\n  Decoded Old Value: 0x6F67E57C143321e266bac32A0D9D22d88cE1b3e5\n  Decoded New Value: 0xF0102fFe22649A5421D53aCC96E309660960cF44\n\n  Summary:           Updates the `PermissionedDisputeGame` implementation address. You can verify the key derivation by running `cast index uint32 1 101` in your terminal.\n\n----- DecodedStateDiff[4] -----\n  Who:               0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1\n  Contract:          Dispute Game Factory - Sepolia\n  Chain ID:          11155111\n  Raw Slot:          0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b\n  Raw Old Value:     0x000000000000000000000000340c1364d299ed55b193d4efcecbad8c3fb104c4\n  Raw New Value:     0x000000000000000000000000cfce7dd673fbbbffd16ab936b7245a2f2db31c9a\n  Decoded Kind:      address\n  Decoded Old Value: 0x340c1364D299ED55B193d4eFcecBAD8c3Fb104c4\n  Decoded New Value: 0xCFcE7DD673fBbbFfD16Ab936B7245A2f2dB31C9a\n\n  Summary:           Updates the `FaultDisputeGame` implementation address. You can verify the key derivation by running `cast index uint32 0 101` in your terminal.\n\n----- Additional Nonce Changes -----\n  Details:           You should see a nonce increment for the account you're signing with.\n</pre>\n"
  },
  {
    "path": "sepolia/2025-05-08-update-fee-disperser-ownership/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n.PHONY: sim-transfer\nsim-transfer:\n\tforge script --rpc-url $(L2_RPC_URL) OwnershipTransfer --sig \"run()\" --sender \"${OWNER_EOA}\" -vvvv\n\n.PHONY: transfer\ntransfer:\n\tforge script --rpc-url $(L2_RPC_URL) \\\n\tOwnershipTransfer --sig \"run()\" \\\n\t--account sepolia-fee-disperser-owner --broadcast -vvvv\n"
  },
  {
    "path": "sepolia/2025-05-08-update-fee-disperser-ownership/README.md",
    "content": "# Transfer Fee Disperser Ownership to Base Sepolia Eng Multisig\n\nStatus: [EXECUTED](https://sepolia.basescan.org/tx/0x7c724ca80756c64c93967be6eee37f6a0ee74e59ebed5773374a7d0da3eb5a68)\n\n## Description\n\nThis task updates the owner of our [FeeDisperser](https://sepolia.basescan.org/address/0x76355A67fCBCDE6F9a69409A8EAd5EaA9D8d875d) contract on Base Sepolia to be the aliased address of our [Base Sepolia Eng Multisig](https://sepolia.etherscan.io/address/0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f).\n\nFor more information on deriving L1 aliased addresses in the OP stack, see [here](https://docs.optimism.io/stack/differences#address-aliasing).\n\n## Procedure\n\n### 1. Update repo\n\n```bash\ncd contract-deployments\ngit pull\ncd sepolia/2025-05-08-update-fee-disperser-ownership\nmake deps\n```\n\n### 2. Run relevant script(s)\n\n#### Simulate the transaction\n\n```bash\nmake sim-transfer\n```\n\nYou will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n\n##### 2.1 Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Base Sepolia.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not see the derivation path Note above.\n\n##### 2.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab, and refer to the [State Validations](./VALIDATION.md) instructions for the transaction you are sending.\nOnce complete return to this document to complete the execution.\n\n#### Execute the transaction\n\nThe `transfer` make command expects a Foundry EOA account set up in the keystore by the name of `sepolia-fee-disperser-owner`. If your account name is different, or you wish to pass in a hex private key instead, you will need to modify the Makefile command accordingly.\n\nOnce the account is set up, execute the transfer by running:\n\n```bash\nmake transfer\n```\n"
  },
  {
    "path": "sepolia/2025-05-08-update-fee-disperser-ownership/VALIDATION.md",
    "content": "# Validation\n\nThis document can be used to validate the inputs and result of the execution of the upgrade transaction which you are signing.\n\n\n# State Validations\n\nFor each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract:\n\n- The following state changes (and none others) are made to that contract. This validates that no unexpected state\n  changes occur.\n- All addresses (in section headers and storage values) match the provided name, using the Etherscan and Superchain\n  Registry links provided. This validates the bytecode deployed at the addresses contains the correct logic.\n- All key values match the semantic meaning provided, which can be validated using the storage layout links provided.\n\n\n## Task State Changes\n\n<pre>\n<code>\n----- DecodedStateDiff[0] -----\n  Who:               0x76355A67fCBCDE6F9a69409A8EAd5EaA9D8d875d\n  Contract:          FeeDisperser - Base Sepolia\n  Chain ID:          84532\n  Raw Slot:          0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103\n  Raw Old Value:     0x0000000000000000000000004672425c27a942bb27e7b9709c1b21ab89a3ca13\n  Raw New Value:     0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\n  Decoded Kind:      address\n  Decoded Old Value: 0x4672425c27a942bb27e7b9709c1b21ab89a3ca13\n  Decoded New Value: 0x6F0fB066334B67355A15dc9b67317fd2A2E20890\n\n  Summary:           Update FeeDisperser owner from `0x4672425c27a942bb27e7b9709c1b21ab89a3ca13` to `0x6F0fB066334B67355A15dc9b67317fd2A2E20890`\n\n----- Additional Nonce Changes -----\n  Who:               0x4672425c27a942bb27e7b9709c1b21ab89a3ca13\n\n  Details:           Nonce Updates for all addresses listed above.\n  Summary:\n    - 0x4672425c27a942bb27e7b9709c1b21ab89a3ca13 is the caller\n</pre>\n"
  },
  {
    "path": "sepolia/2025-05-08-update-fee-disperser-ownership/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "sepolia/2025-05-08-update-fee-disperser-ownership/records/OwnershipTransfer.s.sol/84532/run-1748360700.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x7c724ca80756c64c93967be6eee37f6a0ee74e59ebed5773374a7d0da3eb5a68\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x76355a67fcbcde6f9a69409a8ead5eaa9d8d875d\",\n      \"function\": \"changeAdmin(address)\",\n      \"arguments\": [\n        \"0x6F0fB066334B67355A15dc9b67317fd2A2E20890\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x4672425c27a942bb27e7b9709c1b21ab89a3ca13\",\n        \"to\": \"0x76355a67fcbcde6f9a69409a8ead5eaa9d8d875d\",\n        \"gas\": \"0xa110\",\n        \"value\": \"0x0\",\n        \"input\": \"0x8f2839700000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\",\n        \"nonce\": \"0xde\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xeb1d32\",\n      \"logs\": [\n        {\n          \"address\": \"0x76355a67fcbcde6f9a69409a8ead5eaa9d8d875d\",\n          \"topics\": [\n            \"0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f\"\n          ],\n          \"data\": \"0x0000000000000000000000004672425c27a942bb27e7b9709c1b21ab89a3ca130000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\",\n          \"blockHash\": \"0x91a50962936ca68c39ab036d12eab768ae9119056cb0cadc2ff2fe1b77db1c31\",\n          \"blockNumber\": \"0x1913f8b\",\n          \"transactionHash\": \"0x7c724ca80756c64c93967be6eee37f6a0ee74e59ebed5773374a7d0da3eb5a68\",\n          \"transactionIndex\": \"0xdf\",\n          \"logIndex\": \"0x5e\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000800000000000000000200000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x7c724ca80756c64c93967be6eee37f6a0ee74e59ebed5773374a7d0da3eb5a68\",\n      \"transactionIndex\": \"0xdf\",\n      \"blockHash\": \"0x91a50962936ca68c39ab036d12eab768ae9119056cb0cadc2ff2fe1b77db1c31\",\n      \"blockNumber\": \"0x1913f8b\",\n      \"gasUsed\": \"0x6e21\",\n      \"effectiveGasPrice\": \"0x23ae1d28\",\n      \"from\": \"0x4672425c27a942bb27e7b9709c1b21ab89a3ca13\",\n      \"to\": \"0x76355a67fcbcde6f9a69409a8ead5eaa9d8d875d\",\n      \"contractAddress\": null,\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x2ddcfa614\",\n      \"l1GasPrice\": \"0x1a08f3800\",\n      \"l1GasUsed\": \"0x640\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1748360700,\n  \"chain\": 84532,\n  \"commit\": \"e32c625\"\n}"
  },
  {
    "path": "sepolia/2025-05-08-update-fee-disperser-ownership/script/OwnershipTransfer.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {console} from \"forge-std/console.sol\";\nimport {Script} from \"forge-std/Script.sol\";\nimport {Proxy} from \"@eth-optimism-bedrock/src/universal/Proxy.sol\";\nimport {AddressAliasHelper} from \"@eth-optimism-bedrock/src/vendor/AddressAliasHelper.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\n\ncontract OwnershipTransfer is Script {\n    using AddressAliasHelper for address;\n\n    address immutable OWNER_EOA;\n    address immutable L1_SAFE;\n    address immutable TARGET;\n\n    Proxy immutable proxy;\n    address immutable L1_SAFE_ALIASED;\n\n    constructor() {\n        OWNER_EOA = vm.envAddress(\"OWNER_EOA\");\n        L1_SAFE = vm.envAddress(\"L1_SAFE\");\n        TARGET = vm.envAddress(\"TARGET\");\n\n        proxy = Proxy(payable(TARGET));\n        L1_SAFE_ALIASED = L1_SAFE.applyL1ToL2Alias();\n\n        console.log(\"OWNER_EOA: %s\", OWNER_EOA);\n        console.log(\"L1_SAFE: %s\", L1_SAFE);\n        console.log(\"TARGET: %s\", TARGET);\n        console.log(\"L1_SAFE_ALIASED: %s\", L1_SAFE_ALIASED);\n    }\n\n    function run() public {\n        _preChecks();\n\n        Simulation.StateOverride[] memory overrides;\n        bytes memory data = abi.encodeCall(Proxy.changeAdmin, (L1_SAFE_ALIASED));\n        Simulation.logSimulationLink(\n            TARGET,\n            data,\n            OWNER_EOA,\n            overrides\n        );\n\n        vm.startBroadcast(OWNER_EOA);\n        (bool success, ) = TARGET.call(data);\n        vm.stopBroadcast();\n\n        require(success, \"changeAdmin() call failed\");\n\n        _postChecks();\n    }\n\n    // Precheck assertion to make sure original admin is OWNER_EOA\n    function _preChecks() private {\n        vm.prank(address(0));\n        address expectedOriginalAdmin = proxy.admin();\n        require(expectedOriginalAdmin == OWNER_EOA, \"Original admin is not OWNER_EOA\");\n    }\n\n    function _postChecks() private {\n        vm.prank(address(0));\n        address admin = proxy.admin();\n        require(admin == L1_SAFE_ALIASED, \"New admin is not L1_SAFE_ALIASED\");\n    }\n}\n"
  },
  {
    "path": "sepolia/2025-05-15-eip1559-denominator-reduction/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 1\nendif\n\nMOCK_OP_NESTED=0x6AF0674791925f767060Dd52f7fB20984E8639d8\nCB_COORDINATOR=0x646132A1667ca7aD00d36616AFBA1A28116C770A\nCB_NESTED=0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f\n\n#                                   +------------------+\n#                                   |   Proxy Admin    |\n#                                   |      Owner       |\n#                                   |    (2-of-2)      |\n#                                   +------------------+\n#                                   /                  \\\n#                                  /                    \\\n#                                 /                      \\\n#                +---------------+                        +------------------+\n#                |   Mock OP     |                        |        CB        |\n#                |  Nested Safe  |----------------------->|    Coordinator   |\n#                |    Signer     |                        |      Signer      |\n#                |   (1-of-14)   |                        |     (2-of-2)     |\n#                +---------------+                        +------------------+\n#               /    |     |      \\                              |\n#              /     |     |       \\                             |\n#             /      |     |        \\                            |\n#            /       |     |         \\                           |\n# +---------+  +----------+   +----------+              +------------------+\n# | CB EOA 1|  | CB EOA 2 |   | CB EOA 14|              |   CB Nested     |\n# +---------+  +----------+   +----------+              |  Safe Signer    |\n#                                                       |   (3-of-14)     |\n#                                                       +------------------+\n#                                                      /    |     |        \\\n#                                                     /     |     |         \\\n#                                                    /      |     |          \\\n#                                                   /       |     |           \\\n#                                          +---------+  +----------+   +----------+\n#                                          | CB EOA 1|  | CB EOA 2 |   | CB EOA 14|\n#                                          +---------+  +----------+   +----------+\n\n.PHONY: sign-mock-op-nested\nsign-mock-op-nested:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) ReduceEip1559DenominatorScript \\\n\t--sig \"sign(address[])\" \"[$(MOCK_OP_NESTED)]\"\n\n.PHONY: approve-mock-op-nested\napprove-mock-op-nested:\n\tforge script --rpc-url $(L1_RPC_URL) ReduceEip1559DenominatorScript \\\n\t--sig \"approve(address[],bytes)\" \"[$(MOCK_OP_NESTED)]\" $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv\n\n\n.PHONY: sign # sign-cb-nested-coordinator\nsign:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) ReduceEip1559DenominatorScript \\\n\t--sig \"sign(address[])\" \"[$(CB_NESTED), $(CB_COORDINATOR)]\"\n\n.PHONY: approve-cb-nested-coordinator\napprove-cb-nested-coordinator:\n\tforge script --rpc-url $(L1_RPC_URL) ReduceEip1559DenominatorScript \\\n\t--sig \"approve(address[],bytes)\" \"[$(CB_NESTED), $(CB_COORDINATOR)]\" $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv\n\n.PHONY: sign-mock-op-nested-coordinator\nsign-mock-op-nested-coordinator:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) ReduceEip1559DenominatorScript \\\n\t--sig \"sign(address[])\" \"[$(MOCK_OP_NESTED), $(CB_COORDINATOR)]\"\n\n.PHONY: approve-mock-op-nested-coordinator\napprove-mock-op-nested-coordinator:\n\tforge script --rpc-url $(L1_RPC_URL) ReduceEip1559DenominatorScript \\\n\t--sig \"approve(address[],bytes)\" \"[$(MOCK_OP_NESTED), $(CB_COORDINATOR)]\" $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv\n\n.PHONY: approve-cb-coordinator\napprove-cb-coordinator:\n\tforge script --rpc-url $(L1_RPC_URL) ReduceEip1559DenominatorScript \\\n\t--sig \"approve(address[],bytes)\" \"[$(CB_COORDINATOR)]\" 0x \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv\n\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(L1_RPC_URL) ReduceEip1559DenominatorScript \\\n\t--sig \"run(bytes)\" 0x --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv\n"
  },
  {
    "path": "sepolia/2025-05-15-eip1559-denominator-reduction/README.md",
    "content": "# EIP-1559 Denominator 250 -> 50 Reduction\n\nStatus: [EXECUTED](https://sepolia.etherscan.io/tx/0x49d78a837ade5176b75bc7d53e3f2c391140180d4db86d1d37103bdb0aa8bb39)\n\n## Description\n\nThis task contains a single script that reduces the EIP-1559 denominator from 250 to 50.\n\n## Procedure\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd sepolia/2025-05-15-EIP1559-denominator-reduction\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate, Validate, and Sign\n\n#### 3.1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following command:\n\n```bash\nmake sign\n```\n\nFor each run, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and extract the domain hash and\nmessage hash to approve on your Ledger:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n##### 3.1.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is `Sepolia`.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n\n##### 3.1.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab, and refer to the [validations instructions](./validations/CB_NESTED_COORDINATOR.md) for the transaction you are signing. Once complete return to this document to complete the signing.\n\n### 4. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\nOnce the validations are done, it's time to actually sign the\ntransaction.\n\n> [!WARNING]\n> This is the most security critical part of the playbook: make sure the\n> domain hash and message hash in the following three places match:\n>\n> 1. On your Ledger screen.\n> 2. In the terminal output.\n> 3. In the Tenderly simulation. You should use the same Tenderly\n>    simulation as the one you used to verify the state diffs, instead\n>    of opening the new one printed in the console.\n>\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```shell\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n#### 4.1. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n"
  },
  {
    "path": "sepolia/2025-05-15-eip1559-denominator-reduction/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.24\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "sepolia/2025-05-15-eip1559-denominator-reduction/records/ReduceEip1559Denominator.s.sol/11155111/approve-latest.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x4a943afd5346c311d2d7fbe280ed4b2643216bc590bf36c8ce066770b3bf2dba\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcda6c9313de83c063ff4e940cea082f3527ff3e92e8727fbfcfefb654509dabd0800000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n        \"gas\": \"0x21d2d\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcda6c9313de83c063ff4e940cea082f3527ff3e92e8727fbfcfefb654509dabd08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x7\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x13bedc7\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xa6c9313de83c063ff4e940cea082f3527ff3e92e8727fbfcfefb654509dabd08\",\n            \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xb9b05075c82acc9a80660b90f5c35c7e519e3d01f7f79866a6e34e8c0703c389\",\n          \"blockNumber\": \"0x8076bc\",\n          \"transactionHash\": \"0x4a943afd5346c311d2d7fbe280ed4b2643216bc590bf36c8ce066770b3bf2dba\",\n          \"transactionIndex\": \"0x8b\",\n          \"logIndex\": \"0x164\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xb0a1aaf50a97a55b80f041736fc17bf69547d5c06cadca7ea62da4a3966548be0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xb9b05075c82acc9a80660b90f5c35c7e519e3d01f7f79866a6e34e8c0703c389\",\n          \"blockNumber\": \"0x8076bc\",\n          \"transactionHash\": \"0x4a943afd5346c311d2d7fbe280ed4b2643216bc590bf36c8ce066770b3bf2dba\",\n          \"transactionIndex\": \"0x8b\",\n          \"logIndex\": \"0x165\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000014001000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000001004000020000000000000000000000008000000000000000200000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x4a943afd5346c311d2d7fbe280ed4b2643216bc590bf36c8ce066770b3bf2dba\",\n      \"transactionIndex\": \"0x8b\",\n      \"blockHash\": \"0xb9b05075c82acc9a80660b90f5c35c7e519e3d01f7f79866a6e34e8c0703c389\",\n      \"blockNumber\": \"0x8076bc\",\n      \"gasUsed\": \"0x17209\",\n      \"effectiveGasPrice\": \"0x2b56b2347\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1748366112,\n  \"chain\": 11155111,\n  \"commit\": \"0a0ffb3\"\n}"
  },
  {
    "path": "sepolia/2025-05-15-eip1559-denominator-reduction/records/ReduceEip1559Denominator.s.sol/11155111/run-1748365405.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xe45ebeb092736a38c1efebeb3db6203ced3ed316d3cf09aac26436985c55bf14\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdb0a1aaf50a97a55b80f041736fc17bf69547d5c06cadca7ea62da4a3966548be00000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x6cc53fc06036da53aaf03d4190624af2b3e800d94728bee655f12ace1c61d9fb66df70c9f4bdcb513db8e7db0c9cfaedf8545be3df174e269c666a936e224f011b212b50032f08e1441472975f69f48c6ff232a1f645d3e9a85eb117913ccab4aa41d11664c43265e3fc2079a77a1c226e32ad572b06cb7a502c140e6be539931b1c2c6413d7d250cefffbabebee4b80ee48a3f3fe9c3916f3c040f10dabcb36874e3182a7718375187a327b359ccef3925ee6c6ea6d936c48d87978bcf5d7613d8b1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n        \"gas\": \"0x2533f\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdb0a1aaf50a97a55b80f041736fc17bf69547d5c06cadca7ea62da4a3966548be000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c36cc53fc06036da53aaf03d4190624af2b3e800d94728bee655f12ace1c61d9fb66df70c9f4bdcb513db8e7db0c9cfaedf8545be3df174e269c666a936e224f011b212b50032f08e1441472975f69f48c6ff232a1f645d3e9a85eb117913ccab4aa41d11664c43265e3fc2079a77a1c226e32ad572b06cb7a502c140e6be539931b1c2c6413d7d250cefffbabebee4b80ee48a3f3fe9c3916f3c040f10dabcb36874e3182a7718375187a327b359ccef3925ee6c6ea6d936c48d87978bcf5d7613d8b1b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x4\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x138e2a1\",\n      \"logs\": [\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xb0a1aaf50a97a55b80f041736fc17bf69547d5c06cadca7ea62da4a3966548be\",\n            \"0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xb2eab5b72eec478f80027973413425e0e783b571a8e3555517f3233643380b85\",\n          \"blockNumber\": \"0x807681\",\n          \"transactionHash\": \"0xe45ebeb092736a38c1efebeb3db6203ced3ed316d3cf09aac26436985c55bf14\",\n          \"transactionIndex\": \"0x9a\",\n          \"logIndex\": \"0x144\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0xb15cdc1122b0c096cb384d56065177169e142cf7f3d14c3ab0d055ca3fbf0bac\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xb2eab5b72eec478f80027973413425e0e783b571a8e3555517f3233643380b85\",\n          \"blockNumber\": \"0x807681\",\n          \"transactionHash\": \"0xe45ebeb092736a38c1efebeb3db6203ced3ed316d3cf09aac26436985c55bf14\",\n          \"transactionIndex\": \"0x9a\",\n          \"logIndex\": \"0x145\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000000010000000000000000000000000000000000000000100000002000100000000000000000000000000000000000000000000000000000000800000000000800000000400000000000000000000000000000000000000000000000000000000000000000000000000000200200000000000000000000000080000000000000000000000000000000000020400404000000000000010000000000000000000000000000000000000000000000000000000000000000000004000020000000000000000000000000000040000000000000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xe45ebeb092736a38c1efebeb3db6203ced3ed316d3cf09aac26436985c55bf14\",\n      \"transactionIndex\": \"0x9a\",\n      \"blockHash\": \"0xb2eab5b72eec478f80027973413425e0e783b571a8e3555517f3233643380b85\",\n      \"blockNumber\": \"0x807681\",\n      \"gasUsed\": \"0x19702\",\n      \"effectiveGasPrice\": \"0x3c5caeaa8\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1748365405,\n  \"chain\": 11155111,\n  \"commit\": \"0a0ffb3\"\n}"
  },
  {
    "path": "sepolia/2025-05-15-eip1559-denominator-reduction/records/ReduceEip1559Denominator.s.sol/11155111/run-1748365537.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x1cdc9dab8f28a73122186da213afbf75bec8c4d7f87733cda5021bb7d7c12808\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcda6c9313de83c063ff4e940cea082f3527ff3e92e8727fbfcfefb654509dabd0800000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x2cf85d9f9ae4d49c20e769c3a972200b3c093c7b9076a7353d59824d749053022d4258bec44135c3adc80bbc0f16203ce9f977da5c62b97f51b7449ad8df88a81b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n        \"gas\": \"0x1ea20\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcda6c9313de83c063ff4e940cea082f3527ff3e92e8727fbfcfefb654509dabd08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412cf85d9f9ae4d49c20e769c3a972200b3c093c7b9076a7353d59824d749053022d4258bec44135c3adc80bbc0f16203ce9f977da5c62b97f51b7449ad8df88a81b00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x5\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x12e8b99\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xa6c9313de83c063ff4e940cea082f3527ff3e92e8727fbfcfefb654509dabd08\",\n            \"0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf7d231ccef6001d2ba822bfc6d4da13cfeb572c66f3713412f54b3f6f7db03e5\",\n          \"blockNumber\": \"0x80768c\",\n          \"transactionHash\": \"0x1cdc9dab8f28a73122186da213afbf75bec8c4d7f87733cda5021bb7d7c12808\",\n          \"transactionIndex\": \"0x9a\",\n          \"logIndex\": \"0x1ae\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x4e9aa559e7534c9f25446d400f0b181a9c7dc84face66f2298a910d64d4b7f5c0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xf7d231ccef6001d2ba822bfc6d4da13cfeb572c66f3713412f54b3f6f7db03e5\",\n          \"blockNumber\": \"0x80768c\",\n          \"transactionHash\": \"0x1cdc9dab8f28a73122186da213afbf75bec8c4d7f87733cda5021bb7d7c12808\",\n          \"transactionIndex\": \"0x9a\",\n          \"logIndex\": \"0x1af\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000000004001000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000014020000000000000000000000100000000008000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x1cdc9dab8f28a73122186da213afbf75bec8c4d7f87733cda5021bb7d7c12808\",\n      \"transactionIndex\": \"0x9a\",\n      \"blockHash\": \"0xf7d231ccef6001d2ba822bfc6d4da13cfeb572c66f3713412f54b3f6f7db03e5\",\n      \"blockNumber\": \"0x80768c\",\n      \"gasUsed\": \"0x162d8\",\n      \"effectiveGasPrice\": \"0x300428b19\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1748365537,\n  \"chain\": 11155111,\n  \"commit\": \"0a0ffb3\"\n}"
  },
  {
    "path": "sepolia/2025-05-15-eip1559-denominator-reduction/records/ReduceEip1559Denominator.s.sol/11155111/run-1748366042.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x3947f1fd80fc2cd057cb3ad8b01a122bd3df83cf02ffa0f0c20fbf463ac659fe\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdb0a1aaf50a97a55b80f041736fc17bf69547d5c06cadca7ea62da4a3966548be00000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x54f4ff9af8a24cfb0b5341087da88db9ae024ea1789c9c34fa11fd282efef6157867499276c56aaa28c336ba3004276b317c1d9126f492ed515999f1d143aad31b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n        \"gas\": \"0x1f7d8\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdb0a1aaf50a97a55b80f041736fc17bf69547d5c06cadca7ea62da4a3966548be0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004154f4ff9af8a24cfb0b5341087da88db9ae024ea1789c9c34fa11fd282efef6157867499276c56aaa28c336ba3004276b317c1d9126f492ed515999f1d143aad31b00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x6\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x17c4927\",\n      \"logs\": [\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xb0a1aaf50a97a55b80f041736fc17bf69547d5c06cadca7ea62da4a3966548be\",\n            \"0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x1926f7f7da1d217d4d01c5aa83696411240c131a37bdd3cd0c25516396e99d71\",\n          \"blockNumber\": \"0x8076b6\",\n          \"transactionHash\": \"0x3947f1fd80fc2cd057cb3ad8b01a122bd3df83cf02ffa0f0c20fbf463ac659fe\",\n          \"transactionIndex\": \"0xd4\",\n          \"logIndex\": \"0x204\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x02aacf8a28de47da4e19ec3d07231f1b9c2cb9ee6702d978105441e7bcfe432f0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x1926f7f7da1d217d4d01c5aa83696411240c131a37bdd3cd0c25516396e99d71\",\n          \"blockNumber\": \"0x8076b6\",\n          \"transactionHash\": \"0x3947f1fd80fc2cd057cb3ad8b01a122bd3df83cf02ffa0f0c20fbf463ac659fe\",\n          \"transactionIndex\": \"0xd4\",\n          \"logIndex\": \"0x205\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000100000000000000000000000000000000000000000000000000000000400000000000800000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400004000000000000010000000000000000000000000000000000000000000000000000000000000000000004000020000000000000000000000000000014020000000000000000000000100000000008000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x3947f1fd80fc2cd057cb3ad8b01a122bd3df83cf02ffa0f0c20fbf463ac659fe\",\n      \"transactionIndex\": \"0xd4\",\n      \"blockHash\": \"0x1926f7f7da1d217d4d01c5aa83696411240c131a37bdd3cd0c25516396e99d71\",\n      \"blockNumber\": \"0x8076b6\",\n      \"gasUsed\": \"0x15883\",\n      \"effectiveGasPrice\": \"0x2d5d3a70b\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1748366042,\n  \"chain\": 11155111,\n  \"commit\": \"0a0ffb3\"\n}"
  },
  {
    "path": "sepolia/2025-05-15-eip1559-denominator-reduction/records/ReduceEip1559Denominator.s.sol/11155111/run-1748366112.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x4a943afd5346c311d2d7fbe280ed4b2643216bc590bf36c8ce066770b3bf2dba\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcda6c9313de83c063ff4e940cea082f3527ff3e92e8727fbfcfefb654509dabd0800000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n        \"gas\": \"0x21d2d\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcda6c9313de83c063ff4e940cea082f3527ff3e92e8727fbfcfefb654509dabd08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x7\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x13bedc7\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xa6c9313de83c063ff4e940cea082f3527ff3e92e8727fbfcfefb654509dabd08\",\n            \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xb9b05075c82acc9a80660b90f5c35c7e519e3d01f7f79866a6e34e8c0703c389\",\n          \"blockNumber\": \"0x8076bc\",\n          \"transactionHash\": \"0x4a943afd5346c311d2d7fbe280ed4b2643216bc590bf36c8ce066770b3bf2dba\",\n          \"transactionIndex\": \"0x8b\",\n          \"logIndex\": \"0x164\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xb0a1aaf50a97a55b80f041736fc17bf69547d5c06cadca7ea62da4a3966548be0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xb9b05075c82acc9a80660b90f5c35c7e519e3d01f7f79866a6e34e8c0703c389\",\n          \"blockNumber\": \"0x8076bc\",\n          \"transactionHash\": \"0x4a943afd5346c311d2d7fbe280ed4b2643216bc590bf36c8ce066770b3bf2dba\",\n          \"transactionIndex\": \"0x8b\",\n          \"logIndex\": \"0x165\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000014001000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000001004000020000000000000000000000008000000000000000200000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x4a943afd5346c311d2d7fbe280ed4b2643216bc590bf36c8ce066770b3bf2dba\",\n      \"transactionIndex\": \"0x8b\",\n      \"blockHash\": \"0xb9b05075c82acc9a80660b90f5c35c7e519e3d01f7f79866a6e34e8c0703c389\",\n      \"blockNumber\": \"0x8076bc\",\n      \"gasUsed\": \"0x17209\",\n      \"effectiveGasPrice\": \"0x2b56b2347\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1748366112,\n  \"chain\": 11155111,\n  \"commit\": \"0a0ffb3\"\n}"
  },
  {
    "path": "sepolia/2025-05-15-eip1559-denominator-reduction/records/ReduceEip1559Denominator.s.sol/11155111/run-1748366149.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x49d78a837ade5176b75bc7d53e3f2c391140180d4db86d1d37103bdb0aa8bb39\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b410000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n        \"gas\": \"0x1e48f\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e00000000000000000000000000000000000000000000000000000000000000164174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b410000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x8\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1c0e8a7\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000164174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b410000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d800000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000016000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b0000000000000000000000000000000000000000000000000000000000000002\",\n          \"blockHash\": \"0x6870bdab4071dc13acd0303ca6a2a2426d1edeb0cf1f3ffe5ce1662b45be896d\",\n          \"blockNumber\": \"0x8076bf\",\n          \"transactionHash\": \"0x49d78a837ade5176b75bc7d53e3f2c391140180d4db86d1d37103bdb0aa8bb39\",\n          \"transactionIndex\": \"0xb4\",\n          \"logIndex\": \"0x2a3\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000004\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000003200000004\",\n          \"blockHash\": \"0x6870bdab4071dc13acd0303ca6a2a2426d1edeb0cf1f3ffe5ce1662b45be896d\",\n          \"blockNumber\": \"0x8076bf\",\n          \"transactionHash\": \"0x49d78a837ade5176b75bc7d53e3f2c391140180d4db86d1d37103bdb0aa8bb39\",\n          \"transactionIndex\": \"0xb4\",\n          \"logIndex\": \"0x2a4\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xa6c9313de83c063ff4e940cea082f3527ff3e92e8727fbfcfefb654509dabd080000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x6870bdab4071dc13acd0303ca6a2a2426d1edeb0cf1f3ffe5ce1662b45be896d\",\n          \"blockNumber\": \"0x8076bf\",\n          \"transactionHash\": \"0x49d78a837ade5176b75bc7d53e3f2c391140180d4db86d1d37103bdb0aa8bb39\",\n          \"transactionIndex\": \"0xb4\",\n          \"logIndex\": \"0x2a5\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000040000000000000000000000000008000000020100000000000000000800000000000000000000000000000008000000200000000800000000040000000000000000000000000000000000000000000000000400000000000000000004000000000000000000002000800000000000000000000000000000000000020000000000008000000000000400000020000000000000000000000000000000000000000000000000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x49d78a837ade5176b75bc7d53e3f2c391140180d4db86d1d37103bdb0aa8bb39\",\n      \"transactionIndex\": \"0xb4\",\n      \"blockHash\": \"0x6870bdab4071dc13acd0303ca6a2a2426d1edeb0cf1f3ffe5ce1662b45be896d\",\n      \"blockNumber\": \"0x8076bf\",\n      \"gasUsed\": \"0x15ed0\",\n      \"effectiveGasPrice\": \"0x2dc225b91\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1748366149,\n  \"chain\": 11155111,\n  \"commit\": \"0a0ffb3\"\n}"
  },
  {
    "path": "sepolia/2025-05-15-eip1559-denominator-reduction/script/ReduceEip1559Denominator.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.24;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\n\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\n\ninterface ISystemConfig {\n    function eip1559Elasticity() external view returns (uint32);\n    function eip1559Denominator() external view returns (uint32);\n    function setEIP1559Params(uint32 _denominator, uint32 _elasticity) external;\n}\n\ncontract ReduceEip1559DenominatorScript is MultisigScript {\n    address internal immutable OWNER_SAFE;\n    address internal immutable SYSTEM_CONFIG;\n\n    uint32 internal constant DENOMINATOR = 250;\n    uint32 internal constant ELASTICITY = 4;\n    uint32 internal constant NEW_DENOMINATOR = 50;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n        SYSTEM_CONFIG = vm.envAddress(\"SYSTEM_CONFIG\");\n    }\n\n    function setUp() external view {\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Denominator(), DENOMINATOR, \"Denominator mismatch\");\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity(), ELASTICITY, \"Elasticity mismatch\");\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Denominator(), NEW_DENOMINATOR, \"Denominator mismatch\");\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity(), ELASTICITY, \"Elasticity mismatch\");\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) {\n        IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n\n        calls[0] = IMulticall3.Call3Value({\n            target: SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(ISystemConfig.setEIP1559Params, (NEW_DENOMINATOR, ELASTICITY)),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "sepolia/2025-05-15-eip1559-denominator-reduction/validations/CB_NESTED_COORDINATOR.md",
    "content": "# Validation\n\nThis document can be used to validate the inputs and result of the execution of `sign-mock-cb-nested-coordinator` command.\n\n> [!NOTE]\n>\n> This document provides names for each contract address to add clarity to what you are seeing. These names will not be visible in the Tenderly UI. All that matters is that addresses and storage slot hex values match exactly what is presented in this document.\n\nThe steps are:\n\n1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes)\n2. [Verifying the state changes](#state-changes)\n\n## Expected Domain and Message Hashes\n\nFirst, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task.\n\n> [!CAUTION]\n>\n> Before signing, ensure the below hashes match what is on your ledger.\n>\n> ### CB Nested - Sepolia: `0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f`\n>\n> - Domain Hash: `0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23`\n> - Message Hash: `0xeb4fd8cd515683c5f3e5badc0d3365152e273be1ffeeede650cabc128e61a4ab`\n\n# State Validations\n\nFor each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract:\n\n- The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur.\n- All key values match the semantic meaning provided, which can be validated using the terminal commands provided.\n\n## State Overrides\n\n### System Config Owner - Sepolia (`0x0fe884546476dDd290eC46318785046ef68a0BA9`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n### CB Nested - Sepolia (`0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n- **Key**: `0x15da65abea640207b3ada02d3004196783015f1090bb5158ea37ea41b7d1d1ff` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Simulates an approval from msg.sender in order for the task simulation to succeed. Note: The `Key` might be different as it corresponds to the slot associated [with your signer address](https://github.com/safe-global/safe-smart-account/blob/main/contracts/Safe.sol#L69).\n\n### CB Coordinator - Sepolia (`0x646132A1667ca7aD00d36616AFBA1A28116C770A`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n## Task State Changes\n\n### System Config Owner - Sepolia (`0x0fe884546476dDd290eC46318785046ef68a0BA9`)\n\n0. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000016` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000017` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `22` <br/>\n   **Decoded New Value**: `23` <br/>\n   **Meaning**: Increments the nonce <br/>\n\n1. **Key**: `0xb8617d913ec0184dd931b7d503813c9c8463303c5537bbf5c834bd7267c0f86c` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `0` <br/>\n   **Decoded New Value**: `1` <br/>\n   **Meaning**: Sets `approvedHashes[0x646132a1667ca7ad00d36616afba1a28116c770a][0xa6c9313de83c063ff4e940cea082f3527ff3e92e8727fbfcfefb654509dabd08]` to `1`. <br/>\n\n### CB Nested - Sepolia(`0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f`)\n\n2. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000002` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000003` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `2` <br/>\n   **Decoded New Value**: `3` <br/>\n   **Meaning**: Increments the nonce <br/>\n\n### CB Coordinator - Sepolia (`0x646132A1667ca7aD00d36616AFBA1A28116C770A`)\n\n3. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000006` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `5` <br/>\n   **Decoded New Value**: `6` <br/>\n   **Meaning**: Increments the nonce <br/>\n\n4. **Key**: `0xf02ac180c9d9d43593598594486821f3f3a7b3da70582919e670116326e46954` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `0` <br/>\n   **Decoded New Value**: `1` <br/>\n   **Meaning**: Sets `approvedHashes[0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f][0xb0a1aaf50a97a55b80f041736fc17bf69547d5c06cadca7ea62da4a3966548be]` to `1`. <br/>\n\n### System Config - Sepolia (`0xf272670eb55e895584501d564AfEB048bEd26194`)\n\n5. **Key**: `0x000000000000000000000000000000000000000000000000000000000000006a` <br/>\n   **Before**: `0x00000000000000000000000000000000000000000000000000000004000000fa` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000400000032` <br/>\n   **Value Type**: (uint32,uint32,uint32,uint32) <br/>\n   **Decoded Old Value**: operatorFeeConstant: `0`, operatorFeeScalar: `0`, eip1559Elasticity: `4`, eip1559Denominator: `250` <br/>\n   **Decoded New Value**: operatorFeeConstant: `0`, operatorFeeScalar: `0`, eip1559Elasticity: `4`, eip1559Denominator: `50` <br/>\n   **Meaning**: Sets the eip1559Denominator to 50 <br/>\n\n### Your Signer Address\n\n- Nonce increment\n\nYou can now navigate back to the [README](../README.md#43-extract-the-domain-hash-and-the-message-hash-to-approve) to continue the signing process.\n"
  },
  {
    "path": "sepolia/2025-05-15-eip1559-denominator-reduction/validations/MOCK_OP_NESTED.md",
    "content": "# Validation\n\nThis document can be used to validate the inputs and result of the execution of `sign-mock-op-nested` command.\n\n> [!NOTE]\n>\n> This document provides names for each contract address to add clarity to what you are seeing. These names will not be visible in the Tenderly UI. All that matters is that addresses and storage slot hex values match exactly what is presented in this document.\n\nThe steps are:\n\n1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes)\n2. [Verifying the state changes](#state-changes)\n\n## Expected Domain and Message Hashes\n\nFirst, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task.\n\n> [!CAUTION]\n>\n> Before signing, ensure the below hashes match what is on your ledger.\n>\n> ### Mock OP Nested - Sepolia: `0x6AF0674791925f767060Dd52f7fB20984E8639d8`\n>\n> - Domain Hash: `0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa`\n> - Message Hash: `0x7eba4a15ee576a9a3e810780b6bcabc315c574f3a08184a963a1ecb849bf704f`\n\n# State Validations\n\nFor each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract:\n\n- The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur.\n- All key values match the semantic meaning provided, which can be validated using the terminal commands provided.\n\n## State Overrides\n\n### System Config Owner - Sepolia (`0x0fe884546476dDd290eC46318785046ef68a0BA9`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n### Mock OP Nested - Sepolia (`0x6AF0674791925f767060Dd52f7fB20984E8639d8`)\n\n- **Key**: `0xbdc69c7e427970b62fa9575f3df9b068fd76a17d0f677a039970ee010315ea0a` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Simulates an approval from msg.sender in order for the task simulation to succeed. Note: The `Key` might be different as it corresponds to the slot associated [with your signer address](https://github.com/safe-global/safe-smart-account/blob/main/contracts/Safe.sol#L69).\n  \n## Task State Changes\n\n### System Config Owner - Sepolia (`0x0fe884546476dDd290eC46318785046ef68a0BA9`)\n\n0. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000016` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000017` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `22` <br/>\n   **Decoded New Value**: `23` <br/>\n   **Meaning**: Increments the nonce <br/>\n\n1. **Key**: `0x82fc8b7c584567d53f1d98535c6d084856ae32ca942be48e7120c22d371038a9` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `0` <br/>\n   **Decoded New Value**: `1` <br/>\n   **Meaning**: Sets `approvedHashes[0x6af0674791925f767060dd52f7fb20984e8639d8][0xa6c9313de83c063ff4e940cea082f3527ff3e92e8727fbfcfefb654509dabd08]` to `1`. <br/>\n\n### Mock OP Nested - Sepolia (`0x6AF0674791925f767060Dd52f7fB20984E8639d8`)\n\n2. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000006` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000007` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `6` <br/>\n   **Decoded New Value**: `7` <br/>\n   **Meaning**: Increments the nonce <br/>\n\n### System Config - Sepolia (`0xf272670eb55e895584501d564AfEB048bEd26194`)\n\n3. **Key**: `0x000000000000000000000000000000000000000000000000000000000000006a` <br/>\n   **Before**: `0x00000000000000000000000000000000000000000000000000000004000000fa` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000400000032` <br/>\n   **Value Type**: (uint32,uint32,uint32,uint32) <br/>\n   **Decoded Old Value**: operatorFeeConstant: `0`, operatorFeeScalar: `0`, eip1559Elasticity: `4`, eip1559Denominator: `250` <br/>\n   **Decoded New Value**: operatorFeeConstant: `0`, operatorFeeScalar: `0`, eip1559Elasticity: `4`, eip1559Denominator: `50` <br/>\n   **Meaning**: Sets the eip1559Denominator to 50 <br/>\n\n### Your Signer Address\n\n- Nonce increment\n\nYou can now navigate back to the [README](../README.md#43-extract-the-domain-hash-and-the-message-hash-to-approve) to continue the signing process.\n"
  },
  {
    "path": "sepolia/2025-05-15-eip1559-denominator-reduction/validations/MOCK_OP_NESTED_COORDINATOR.md",
    "content": "# Validation\n\nThis document can be used to validate the inputs and result of the execution of `sign-mock-op-nested-coordinator` command.\n\n> [!NOTE]\n>\n> This document provides names for each contract address to add clarity to what you are seeing. These names will not be visible in the Tenderly UI. All that matters is that addresses and storage slot hex values match exactly what is presented in this document.\n\nThe steps are:\n\n1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes)\n2. [Verifying the state changes](#state-changes)\n\n## Expected Domain and Message Hashes\n\nFirst, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task.\n\n> [!CAUTION]\n>\n> Before signing, ensure the below hashes match what is on your ledger.\n>\n> ### Signer Safe B - Sepolia: `0x6AF0674791925f767060Dd52f7fB20984E8639d8`\n>\n> - Domain Hash: `0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa`\n> - Message Hash: `0xa9c8be78fc18ffc31611ab3383313f508a807a96ff50a0e385980e681092e05e`\n\n# State Validations\n\nFor each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract:\n\n- The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur.\n- All key values match the semantic meaning provided, which can be validated using the terminal commands provided.\n\n## State Overrides\n\n### System Config Owner - Sepolia (`0x0fe884546476dDd290eC46318785046ef68a0BA9`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n### CB Coordinator - Sepolia (`0x646132A1667ca7aD00d36616AFBA1A28116C770A`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n### Mock OP Nested - Sepolia (`0x6AF0674791925f767060Dd52f7fB20984E8639d8`)\n\n- **Key**: `0x553f24f5da896cd48edd08523bced82431a0c53b0bb8cacc0743ce10948d338b` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Simulates an approval from msg.sender in order for the task simulation to succeed. Note: The `Key` might be different as it corresponds to the slot associated [with your signer address](https://github.com/safe-global/safe-smart-account/blob/main/contracts/Safe.sol#L69).\n  \n## Task State Changes\n\n### System Config Owner - Sepolia (`0x0fe884546476dDd290eC46318785046ef68a0BA9`)\n\n0. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000016` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000017` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `22` <br/>\n   **Decoded New Value**: `23` <br/>\n   **Meaning**: Increments the nonce <br/>\n\n1. **Key**: `0xb8617d913ec0184dd931b7d503813c9c8463303c5537bbf5c834bd7267c0f86c` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `0` <br/>\n   **Decoded New Value**: `1` <br/>\n   **Meaning**: Sets `approvedHashes[0x646132a1667ca7ad00d36616afba1a28116c770a][0xa6c9313de83c063ff4e940cea082f3527ff3e92e8727fbfcfefb654509dabd08]` to `1`. <br/>\n\n### CB Coordinator - Sepolia (`0x646132A1667ca7aD00d36616AFBA1A28116C770A`)\n\n2. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000006` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `5` <br/>\n   **Decoded New Value**: `6` <br/>\n   **Meaning**: Increments the nonce <br/>\n\n3. **Key**: `0x7e443f90c58b35e7206ca7ca116f6cfaf742c79887e3d952c80dcbd0aa405cfe` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `0` <br/>\n   **Decoded New Value**: `1` <br/>\n   **Meaning**: Sets `approvedHashes[0x6af0674791925f767060dd52f7fb20984e8639d8][0xb0a1aaf50a97a55b80f041736fc17bf69547d5c06cadca7ea62da4a3966548be]` to `1`. <br/>\n\n### Mock OP Nested - Sepolia (`0x6AF0674791925f767060Dd52f7fB20984E8639d8`)\n\n4. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000006` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000007` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `6` <br/>\n   **Decoded New Value**: `7` <br/>\n   **Meaning**: Increments the nonce <br/>\n\n### <<ContractName>> (`0xf272670eb55e895584501d564AfEB048bEd26194`)\n\n5. **Key**: `0x000000000000000000000000000000000000000000000000000000000000006a` <br/>\n   **Before**: `0x00000000000000000000000000000000000000000000000000000004000000fa` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000400000032` <br/>\n   **Value Type**: (uint32,uint32,uint32,uint32) <br/>\n   **Decoded Old Value**: operatorFeeConstant: `0`, operatorFeeScalar: `0`, eip1559Elasticity: `4`, eip1559Denominator: `250` <br/>\n   **Decoded New Value**: operatorFeeConstant: `0`, operatorFeeScalar: `0`, eip1559Elasticity: `4`, eip1559Denominator: `50` <br/>\n   **Meaning**: Sets the eip1559Denominator to 50 <br/>\n\n### Your Signer Address\n\n- Nonce increment\n\nYou can now navigate back to the [README](../README.md#43-extract-the-domain-hash-and-the-message-hash-to-approve) to continue the signing process.\n"
  },
  {
    "path": "sepolia/2025-06-04-upgrade-system-config/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 1\nendif\n\n# Overwriting this from top level makefile to change the branch\n.PHONY: checkout-op-commit\ncheckout-op-commit:\n\trm -rf lib/optimism\n\tmkdir -p lib/optimism\n\tcd lib/optimism; \\\n\tgit init; \\\n\tgit remote add origin $(OP_REPO); \\\n\tgit fetch --depth=1 origin tag $(OP_VERSION) --no-tags; \\\n\tgit checkout $(OP_VERSION); \\\n\tgit apply ../../$(OP_CONTRACT_PATCH)\n\n.PHONY: deps\ndeps: new-go-deps\n\n.PHONY: new-go-deps\nnew-go-deps:\n\tgo install github.com/jackchuma/state-diff@v0.0.3\n\n.PHONY: deploy\ndeploy:\n\tforge script --rpc-url $(L1_RPC_URL) DeploySystemConfigScript --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --verify --broadcast\n\n#\n#    ┌─────────────────────────────────────────────┐       ┌─────────────────────────────────────────────┐       ┌─────────────────────────────────────────────┐\n#    │                 Base Nested                 │       │             Base Security Council           │       │                    OP                       │\n#    │                  (3 of 14)                  │       │                 (1 of 14)                   │       │                 (1 of 14)                   │\n#    │  0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f │       │  0x6AF0674791925f767060Dd52f7fB20984E8639d8 │       │  0x6AF0674791925f767060Dd52f7fB20984E8639d8 │\n#    └─────────────────────┬───────────────────────┘       └─────────────────────┬───────────────────────┘       └─────────────────────┬───────────────────────┘\n#                          │                                                     │                                                     │\n#                          └─────────────────┬───────────────────────────────────┘                                                     │      \n#                                            ▼                                                                                         │\n#                             ┌─────────────────────────────────────────────┐                                                          │\n#                             │                    Base                     │                                                          │\n#                             │  0x646132A1667ca7aD00d36616AFBA1A28116C770A │                                                          │\n#                             └─────────────────────┬───────────────────────┘                                                          │\n#                                                   │                                                                                  │\n#                                                   └─────────────────┬────────────────────────────────────────────────────────────────┘\n#                                                                     ▼\n#                                            ┌─────────────────────────────────────────────┐\n#                                            │               ProxyAdminOwner               │\n#                                            │  0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c │\n#                                            └─────────────────────────────────────────────┘\n\n# OPTIMISM\n\n.PHONY: sign-op\nsign-op:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \\\n\t--sig  \"sign(address[])\" \"[$(OP_MULTISIG)]\"\n\n.PHONY: gen-validation-op\ngen-validation-op:\n\t$(GOPATH)/bin/state-diff --rpc $(L1_RPC_URL) -o validations/OP_VALIDATION.md \\\n\t-- forge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \\\n\t--sig \"sign(address[])\" \"[$(OP_MULTISIG)]\" \\\n\t--sender 0xb2d9a52e76841279EF0372c534C539a4f68f8C0B\n\n.PHONY: approve-op\napprove-op:\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \\\n\t--sig \"approve(address[],bytes)\" \"[$(OP_MULTISIG)]\" $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv\n\n# BASE NESTED\n\n.PHONY: sign-base-nested\nsign-base-nested:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \\\n\t--sig \"sign(address[])\" \"[$(BASE_NESTED_MULTISIG), $(BASE_MULTISIG)]\"\n\n.PHONY: gen-validation-base-nested\ngen-validation-base-nested:\n\t$(GOPATH)/bin/state-diff --rpc $(L1_RPC_URL) -o validations/BASE_NESTED_VALIDATION.md \\\n\t-- forge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \\\n\t--sig \"sign(address[])\" \"[$(BASE_NESTED_MULTISIG), $(BASE_MULTISIG)]\" \\\n\t--sender 0xb2d9a52e76841279EF0372c534C539a4f68f8C0B\n\n.PHONY: approve-base-nested\napprove-base-nested:\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \\\n\t--sig \"approve(address[],bytes)\" \"[$(BASE_NESTED_MULTISIG), $(BASE_MULTISIG)]\" $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv\n\n# BASE SC\n\n.PHONY: sign-base-sc\nsign-base-sc:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \\\n\t--sig \"sign(address[])\" \"[$(BASE_SC_MULTISIG), $(BASE_MULTISIG)]\"\n\n.PHONY: gen-validation-base-sc\ngen-validation-base-sc:\n\t$(GOPATH)/bin/state-diff --rpc $(L1_RPC_URL) -o validations/BASE_SC_VALIDATION.md \\\n\t-- forge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \\\n\t--sig \"sign(address[])\" \"[$(BASE_SC_MULTISIG), $(BASE_MULTISIG)]\" \\\n\t--sender 0xb2d9a52e76841279EF0372c534C539a4f68f8C0B\n\n.PHONY: approve-base-sc\napprove-base-sc:\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \\\n\t--sig \"approve(address[],bytes)\" \"[$(BASE_SC_MULTISIG), $(BASE_MULTISIG)]\" $(SIGNATURES) \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv\n\n# BASE\n\n.PHONY: approve-base\napprove-base:\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \\\n\t--sig \"approve(address[],bytes)\" \"[$(BASE_MULTISIG)]\" 0x \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv\n\n\n# Execute\n\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \\\n\t--sig \"run(bytes)\" 0x --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv"
  },
  {
    "path": "sepolia/2025-06-04-upgrade-system-config/README.md",
    "content": "# Upgrade System Config\n\nStatus: [EXECUTED](https://sepolia.etherscan.io/tx/0x2aa195db4b41a6051db275bd80160c9c361caf0ee617a7c695398789182dc850)\n\n## Description\n\nThis task contains two scripts:\n1. `DeploySystemConfigScript` - This script deploys the new system config implementation.\n2. `UpgradeSystemConfigScript` - This script performs the upgrade to the new implementation deployed in the previous step.\n\nNOTE: Signers should not care about the `DeploySystemConfigScript` script as it will be ran before hand by the facilitator.\nThe rest of this document will focus on using the `UpgradeSystemConfigScript` script.\n\n## Procedure\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd sepolia/2025-06-04-upgrade-system-config\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate, Validate, and Sign\n\n#### 3.1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following command:\n\nFor Optimism signers:\n```bash\nmake sign-op\n```\n\nFor Base signers:\n```bash\nmake sign-base-nested\n```\n\nFor Base Security Council signers:\n```bash\nmake sign-base-sc\n```\n\nFor each run, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and extract the domain hash and\nmessage hash to approve on your Ledger:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n##### 3.1.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is `Sepolia`.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n\n##### 3.1.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab, and refer to the validations instructions for the transaction you are signing:\n\n- For Optimism signers: [validations instructions](./validations/OP_VALIDATION.md)\n- For Base signers: [validations instructions](./validations/BASE_NESTED_VALIDATION.md)\n- For Base Security Council signers: [validations instructions](./validations/BASE_SC_VALIDATION.md)\n\nOnce complete return to this document to complete the signing.\n\n### 4. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Overview\" tab, and find the\n`GnosisSafe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\nOnce the validations are done, it's time to actually sign the\ntransaction.\n\n> [!WARNING]\n> This is the most security critical part of the playbook: make sure the\n> domain hash and message hash in the following three places match:\n>\n> 1. On your Ledger screen.\n> 2. In the terminal output.\n> 3. In the Tenderly simulation. You should use the same Tenderly\n>    simulation as the one you used to verify the state diffs, instead\n>    of opening the new one printed in the console.\n>\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```shell\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n#### 4.1. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n"
  },
  {
    "path": "sepolia/2025-06-04-upgrade-system-config/addresses.json",
    "content": "{\n  \"systemConfig\": \"0xfdA350e8038728B689976D4A9E8A318400A150C5\"\n}"
  },
  {
    "path": "sepolia/2025-06-04-upgrade-system-config/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nevm_version = \"prague\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n    '@lib-keccak/=lib/lib-keccak/contracts/lib',\n    'src/libraries/=lib/optimism/packages/contracts-bedrock/src/libraries',\n    'interfaces/universal/=lib/optimism/packages/contracts-bedrock/interfaces/universal',\n    'interfaces/L1/=lib/optimism/packages/contracts-bedrock/interfaces/L1',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "sepolia/2025-06-04-upgrade-system-config/patch/max-gas-limit.patch",
    "content": "diff --git a/packages/contracts-bedrock/src/L1/SystemConfig.sol b/packages/contracts-bedrock/src/L1/SystemConfig.sol\nindex e767bc64a..a7617d5e8 100644\n--- a/packages/contracts-bedrock/src/L1/SystemConfig.sol\n+++ b/packages/contracts-bedrock/src/L1/SystemConfig.sol\n@@ -87,7 +87,7 @@ contract SystemConfig is OwnableUpgradeable, ISemver {\n     /// @notice The maximum gas limit that can be set for L2 blocks. This limit is used to enforce that the blocks\n     ///         on L2 are not too large to process and prove. Over time, this value can be increased as various\n     ///         optimizations and improvements are made to the system at large.\n-    uint64 internal constant MAX_GAS_LIMIT = 200_000_000;\n+    uint64 internal constant MAX_GAS_LIMIT = 500_000_000;\n \n     /// @notice Fixed L2 gas overhead. Used as part of the L2 fee calculation.\n     ///         Deprecated since the Ecotone network upgrade\n@@ -136,9 +136,9 @@ contract SystemConfig is OwnableUpgradeable, ISemver {\n     event ConfigUpdate(uint256 indexed version, UpdateType indexed updateType, bytes data);\n \n     /// @notice Semantic version.\n-    /// @custom:semver 2.5.0\n+    /// @custom:semver 2.5.0+max-gas-limit-500M\n     function version() public pure virtual returns (string memory) {\n-        return \"2.5.0\";\n+        return \"2.5.0+max-gas-limit-500M\";\n     }\n \n     /// @notice Constructs the SystemConfig contract.\n"
  },
  {
    "path": "sepolia/2025-06-04-upgrade-system-config/records/UpgradeSystemConfig.s.sol/11155111/approve-latest.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xe70e90678ed3ff742bb62dcba8616232ac71070ec766159573b028c44e8a0691\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd896f60a7707d589d89416c9f44b99b54bdfcfd52b9f505f241b5dc0e110d9b7b00000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n        \"gas\": \"0x21d2d\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd896f60a7707d589d89416c9f44b99b54bdfcfd52b9f505f241b5dc0e110d9b7b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0xe\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x288614a\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x896f60a7707d589d89416c9f44b99b54bdfcfd52b9f505f241b5dc0e110d9b7b\",\n            \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x51d71df3ddeeb0985d2e00de8816ddff7206a9b41d4fc8de17db0fd7e0a62261\",\n          \"blockNumber\": \"0x819182\",\n          \"transactionHash\": \"0xe70e90678ed3ff742bb62dcba8616232ac71070ec766159573b028c44e8a0691\",\n          \"transactionIndex\": \"0xda\",\n          \"logIndex\": \"0x1ef\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xf94a73a4944796410dc97e3c46ce03a893278ba124962ab63ccb7cb36023e7b10000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x51d71df3ddeeb0985d2e00de8816ddff7206a9b41d4fc8de17db0fd7e0a62261\",\n          \"blockNumber\": \"0x819182\",\n          \"transactionHash\": \"0xe70e90678ed3ff742bb62dcba8616232ac71070ec766159573b028c44e8a0691\",\n          \"transactionIndex\": \"0xda\",\n          \"logIndex\": \"0x1f0\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000800000000000000000004000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000010000000000000000000000000008000000200000000800200000000000000000000000000000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000001004000020000000000000000000000000000000000000000200000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xe70e90678ed3ff742bb62dcba8616232ac71070ec766159573b028c44e8a0691\",\n      \"transactionIndex\": \"0xda\",\n      \"blockHash\": \"0x51d71df3ddeeb0985d2e00de8816ddff7206a9b41d4fc8de17db0fd7e0a62261\",\n      \"blockNumber\": \"0x819182\",\n      \"gasUsed\": \"0x17209\",\n      \"effectiveGasPrice\": \"0xf4251\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1749236318,\n  \"chain\": 11155111,\n  \"commit\": \"bef05db\"\n}"
  },
  {
    "path": "sepolia/2025-06-04-upgrade-system-config/records/UpgradeSystemConfig.s.sol/11155111/run-1749236088.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x758f92e0a0b1ef65111ef7628b5f1e2fc1453ba77a8aeebdb7e631633de688e1\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdf94a73a4944796410dc97e3c46ce03a893278ba124962ab63ccb7cb36023e7b100000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xa87a2450a3981d28efc53b99921792e1942cd29a0c4accf721ad16ccd0df008c004c482a88416c7eecf9def763eea06bc3c2e3ce4cae26f95949617d5f3e94501ccfca59d282ea005b2a9de8ff37b5a78e7a9d43404d61f2f223baa82a00e43254662ae887ab1a75cc15db0c7ac364b0548f2fef2ad50b4bf07f42570d5971b8391cec6883f4b77e405f9fb701d0a1ae1b21f97f02355e2847f3549e6058c6ed664235888ddd7a4194ccbd3dd36795252c6160d4a3ae24dfbf0a77760aa6d6a302561c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n        \"gas\": \"0x231fb\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdf94a73a4944796410dc97e3c46ce03a893278ba124962ab63ccb7cb36023e7b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3a87a2450a3981d28efc53b99921792e1942cd29a0c4accf721ad16ccd0df008c004c482a88416c7eecf9def763eea06bc3c2e3ce4cae26f95949617d5f3e94501ccfca59d282ea005b2a9de8ff37b5a78e7a9d43404d61f2f223baa82a00e43254662ae887ab1a75cc15db0c7ac364b0548f2fef2ad50b4bf07f42570d5971b8391cec6883f4b77e405f9fb701d0a1ae1b21f97f02355e2847f3549e6058c6ed664235888ddd7a4194ccbd3dd36795252c6160d4a3ae24dfbf0a77760aa6d6a302561c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0xb\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xc560a7\",\n      \"logs\": [\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xf94a73a4944796410dc97e3c46ce03a893278ba124962ab63ccb7cb36023e7b1\",\n            \"0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x4de1b19420e4b9e28dcb0e979f03923cd5ca5f15de7a3c8b03eaaaa8851d8790\",\n          \"blockNumber\": \"0x81916f\",\n          \"transactionHash\": \"0x758f92e0a0b1ef65111ef7628b5f1e2fc1453ba77a8aeebdb7e631633de688e1\",\n          \"transactionIndex\": \"0x58\",\n          \"logIndex\": \"0xd0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0x56f576f50e8a7cfa45e99c1026d18450742de9f01330d3f9d8e2734efdb9e44f\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x4de1b19420e4b9e28dcb0e979f03923cd5ca5f15de7a3c8b03eaaaa8851d8790\",\n          \"blockNumber\": \"0x81916f\",\n          \"transactionHash\": \"0x758f92e0a0b1ef65111ef7628b5f1e2fc1453ba77a8aeebdb7e631633de688e1\",\n          \"transactionIndex\": \"0x58\",\n          \"logIndex\": \"0xd1\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000200010000002000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000800000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000802000020000404000000010000010000000000000000000000000000000000000000008000000000000000000000000004000020000000000000000000000000000040000000000000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x758f92e0a0b1ef65111ef7628b5f1e2fc1453ba77a8aeebdb7e631633de688e1\",\n      \"transactionIndex\": \"0x58\",\n      \"blockHash\": \"0x4de1b19420e4b9e28dcb0e979f03923cd5ca5f15de7a3c8b03eaaaa8851d8790\",\n      \"blockNumber\": \"0x81916f\",\n      \"gasUsed\": \"0x196de\",\n      \"effectiveGasPrice\": \"0x124f8c\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1749236088,\n  \"chain\": 11155111,\n  \"commit\": \"bef05db\"\n}"
  },
  {
    "path": "sepolia/2025-06-04-upgrade-system-config/records/UpgradeSystemConfig.s.sol/11155111/run-1749236197.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xb51e60a2d330a4f1fde99f423ccc6b0f9005d8da9b92664d03808066b300f680\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd896f60a7707d589d89416c9f44b99b54bdfcfd52b9f505f241b5dc0e110d9b7b00000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0f87a73da686ca342c8b3d7b626df58dd4e2c6026b5806ee18777b799bf955bb5c2b23e9bcffdcd561f7f9d292441650a2c116527530115d03ddf0aedb601a291b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n        \"gas\": \"0x1ea20\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd896f60a7707d589d89416c9f44b99b54bdfcfd52b9f505f241b5dc0e110d9b7b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000410f87a73da686ca342c8b3d7b626df58dd4e2c6026b5806ee18777b799bf955bb5c2b23e9bcffdcd561f7f9d292441650a2c116527530115d03ddf0aedb601a291b00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0xc\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x92c11f\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x896f60a7707d589d89416c9f44b99b54bdfcfd52b9f505f241b5dc0e110d9b7b\",\n            \"0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x29e9ebf11c4e92c309cea562e39f87bd6aa890a0659fb200a687a1cf891f9db7\",\n          \"blockNumber\": \"0x819178\",\n          \"transactionHash\": \"0xb51e60a2d330a4f1fde99f423ccc6b0f9005d8da9b92664d03808066b300f680\",\n          \"transactionIndex\": \"0x53\",\n          \"logIndex\": \"0xae\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x9244f6507461ca544a2e1d920b2b87fe3ab15a38a8cd8af321996d36158285270000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x29e9ebf11c4e92c309cea562e39f87bd6aa890a0659fb200a687a1cf891f9db7\",\n          \"blockNumber\": \"0x819178\",\n          \"transactionHash\": \"0xb51e60a2d330a4f1fde99f423ccc6b0f9005d8da9b92664d03808066b300f680\",\n          \"transactionIndex\": \"0x53\",\n          \"logIndex\": \"0xaf\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000040000000000000000800000000000000000004000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000000000000000000000000000000000008000000200000000800200000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014020000000000000000000000100000000008000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xb51e60a2d330a4f1fde99f423ccc6b0f9005d8da9b92664d03808066b300f680\",\n      \"transactionIndex\": \"0x53\",\n      \"blockHash\": \"0x29e9ebf11c4e92c309cea562e39f87bd6aa890a0659fb200a687a1cf891f9db7\",\n      \"blockNumber\": \"0x819178\",\n      \"gasUsed\": \"0x162d8\",\n      \"effectiveGasPrice\": \"0x124f8e\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1749236197,\n  \"chain\": 11155111,\n  \"commit\": \"bef05db\"\n}"
  },
  {
    "path": "sepolia/2025-06-04-upgrade-system-config/records/UpgradeSystemConfig.s.sol/11155111/run-1749236268.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x5c8c9596ce88cc23585f2c589bd95d530ba08cf94d8936f8215ae3e09e471618\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdf94a73a4944796410dc97e3c46ce03a893278ba124962ab63ccb7cb36023e7b100000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xefb6fcaa523e6a436541cd510ca5a29ac4a4d5205144763c63c9708f2e5ddd230900c7218373498f77fbcab7334608cb9b48109afa1e834507b5b557e3f490e81b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n        \"gas\": \"0x1dbca\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdf94a73a4944796410dc97e3c46ce03a893278ba124962ab63ccb7cb36023e7b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041efb6fcaa523e6a436541cd510ca5a29ac4a4d5205144763c63c9708f2e5ddd230900c7218373498f77fbcab7334608cb9b48109afa1e834507b5b557e3f490e81b00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0xd\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x930772\",\n      \"logs\": [\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xf94a73a4944796410dc97e3c46ce03a893278ba124962ab63ccb7cb36023e7b1\",\n            \"0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x97ff44af16ef3c5fcf39e735798ae2cc3c2a73b1752fdfbcb050dffef05e6805\",\n          \"blockNumber\": \"0x81917e\",\n          \"transactionHash\": \"0x5c8c9596ce88cc23585f2c589bd95d530ba08cf94d8936f8215ae3e09e471618\",\n          \"transactionIndex\": \"0x5a\",\n          \"logIndex\": \"0xa4\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x8b298c5aa78a4bc5c6573471c66917eda787701a802b0a701afe6b42810f4eb60000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x97ff44af16ef3c5fcf39e735798ae2cc3c2a73b1752fdfbcb050dffef05e6805\",\n          \"blockNumber\": \"0x81917e\",\n          \"transactionHash\": \"0x5c8c9596ce88cc23585f2c589bd95d530ba08cf94d8936f8215ae3e09e471618\",\n          \"transactionIndex\": \"0x5a\",\n          \"logIndex\": \"0xa5\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000802000000000004000000010000010000000000000000000000000000000000000000000000000000000000000000000004000020000000000000000000000000000014020000000000000000000000100000000008000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x5c8c9596ce88cc23585f2c589bd95d530ba08cf94d8936f8215ae3e09e471618\",\n      \"transactionIndex\": \"0x5a\",\n      \"blockHash\": \"0x97ff44af16ef3c5fcf39e735798ae2cc3c2a73b1752fdfbcb050dffef05e6805\",\n      \"blockNumber\": \"0x81917e\",\n      \"gasUsed\": \"0x15877\",\n      \"effectiveGasPrice\": \"0x124f91\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1749236268,\n  \"chain\": 11155111,\n  \"commit\": \"bef05db\"\n}"
  },
  {
    "path": "sepolia/2025-06-04-upgrade-system-config/records/UpgradeSystemConfig.s.sol/11155111/run-1749236318.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xe70e90678ed3ff742bb62dcba8616232ac71070ec766159573b028c44e8a0691\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd896f60a7707d589d89416c9f44b99b54bdfcfd52b9f505f241b5dc0e110d9b7b00000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n        \"gas\": \"0x21d2d\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd896f60a7707d589d89416c9f44b99b54bdfcfd52b9f505f241b5dc0e110d9b7b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0xe\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x288614a\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x896f60a7707d589d89416c9f44b99b54bdfcfd52b9f505f241b5dc0e110d9b7b\",\n            \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x51d71df3ddeeb0985d2e00de8816ddff7206a9b41d4fc8de17db0fd7e0a62261\",\n          \"blockNumber\": \"0x819182\",\n          \"transactionHash\": \"0xe70e90678ed3ff742bb62dcba8616232ac71070ec766159573b028c44e8a0691\",\n          \"transactionIndex\": \"0xda\",\n          \"logIndex\": \"0x1ef\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xf94a73a4944796410dc97e3c46ce03a893278ba124962ab63ccb7cb36023e7b10000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x51d71df3ddeeb0985d2e00de8816ddff7206a9b41d4fc8de17db0fd7e0a62261\",\n          \"blockNumber\": \"0x819182\",\n          \"transactionHash\": \"0xe70e90678ed3ff742bb62dcba8616232ac71070ec766159573b028c44e8a0691\",\n          \"transactionIndex\": \"0xda\",\n          \"logIndex\": \"0x1f0\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000800000000000000000004000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000010000000000000000000000000008000000200000000800200000000000000000000000000000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000001004000020000000000000000000000000000000000000000200000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xe70e90678ed3ff742bb62dcba8616232ac71070ec766159573b028c44e8a0691\",\n      \"transactionIndex\": \"0xda\",\n      \"blockHash\": \"0x51d71df3ddeeb0985d2e00de8816ddff7206a9b41d4fc8de17db0fd7e0a62261\",\n      \"blockNumber\": \"0x819182\",\n      \"gasUsed\": \"0x17209\",\n      \"effectiveGasPrice\": \"0xf4251\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1749236318,\n  \"chain\": 11155111,\n  \"commit\": \"bef05db\"\n}"
  },
  {
    "path": "sepolia/2025-06-04-upgrade-system-config/records/UpgradeSystemConfig.s.sol/11155111/run-1749236365.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x2aa195db4b41a6051db275bd80160c9c361caf0ee617a7c695398789182dc850\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000fda350e8038728b689976d4a9e8a318400a150c500000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n        \"gas\": \"0x207e3\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e00000000000000000000000000000000000000000000000000000000000000164174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000fda350e8038728b689976d4a9e8a318400a150c500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0xf\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x15a03ac\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000164174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000fda350e8038728b689976d4a9e8a318400a150c500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d800000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000017000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b0000000000000000000000000000000000000000000000000000000000000002\",\n          \"blockHash\": \"0xa5179505d3ef2f1d9c2556649ca496e98910d6d2fbb0855e538e789dde164024\",\n          \"blockNumber\": \"0x819186\",\n          \"transactionHash\": \"0x2aa195db4b41a6051db275bd80160c9c361caf0ee617a7c695398789182dc850\",\n          \"transactionIndex\": \"0x7c\",\n          \"logIndex\": \"0x10c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x000000000000000000000000fda350e8038728b689976d4a9e8a318400a150c5\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xa5179505d3ef2f1d9c2556649ca496e98910d6d2fbb0855e538e789dde164024\",\n          \"blockNumber\": \"0x819186\",\n          \"transactionHash\": \"0x2aa195db4b41a6051db275bd80160c9c361caf0ee617a7c695398789182dc850\",\n          \"transactionIndex\": \"0x7c\",\n          \"logIndex\": \"0x10d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x896f60a7707d589d89416c9f44b99b54bdfcfd52b9f505f241b5dc0e110d9b7b0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xa5179505d3ef2f1d9c2556649ca496e98910d6d2fbb0855e538e789dde164024\",\n          \"blockNumber\": \"0x819186\",\n          \"transactionHash\": \"0x2aa195db4b41a6051db275bd80160c9c361caf0ee617a7c695398789182dc850\",\n          \"transactionIndex\": \"0x7c\",\n          \"logIndex\": \"0x10e\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000400000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002002000000840000000000000000000000000000000000000100000000000000000000000000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000400008000000000000004000000000000000000000000800000000000000020000000000000000000020000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x2aa195db4b41a6051db275bd80160c9c361caf0ee617a7c695398789182dc850\",\n      \"transactionIndex\": \"0x7c\",\n      \"blockHash\": \"0xa5179505d3ef2f1d9c2556649ca496e98910d6d2fbb0855e538e789dde164024\",\n      \"blockNumber\": \"0x819186\",\n      \"gasUsed\": \"0x1637b\",\n      \"effectiveGasPrice\": \"0xf4254\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1749236365,\n  \"chain\": 11155111,\n  \"commit\": \"bef05db\"\n}"
  },
  {
    "path": "sepolia/2025-06-04-upgrade-system-config/script/DeploySystemConfig.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Script, console} from \"forge-std/Script.sol\";\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\n\ncontract DeploySystemConfigScript is Script {\n    SystemConfig systemConfigImpl;\n\n    function run() public {\n        vm.startBroadcast();\n        systemConfigImpl = new SystemConfig();\n        console.log(\"SystemConfig implementation deployed at: \", address(systemConfigImpl));\n        vm.stopBroadcast();\n\n        string memory obj = \"root\";\n        string memory json = vm.serializeAddress(obj, \"systemConfig\", address(systemConfigImpl));\n        vm.writeJson(json, \"addresses.json\");\n\n        _postCheck();\n    }\n\n    function _postCheck() internal view {\n        require(\n            keccak256(bytes(SystemConfig(systemConfigImpl).version())) == keccak256(\"2.5.0+max-gas-limit-500M\"),\n            \"SystemConfig version mismatch\"\n        );\n\n        require(SystemConfig(systemConfigImpl).maximumGasLimit() == 500_000_000, \"Maximum gas limit mismatch\");\n    }\n}\n"
  },
  {
    "path": "sepolia/2025-06-04-upgrade-system-config/script/UpgradeSystemConfig.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\n\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\n\ninterface IProxyAdmin {\n    function upgrade(address _proxy, address _implementation) external;\n}\n\ninterface IProxy {\n    function implementation() external view returns (address);\n}\n\ncontract UpgradeSystemConfigScript is MultisigScript {\n    address internal immutable OWNER_SAFE;\n    address internal immutable PROXY_ADMIN;\n    address internal immutable SYSTEM_CONFIG;\n\n    address internal immutable NEW_IMPLEMENTATION;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n        PROXY_ADMIN = vm.envAddress(\"PROXY_ADMIN\");\n        SYSTEM_CONFIG = vm.envAddress(\"SYSTEM_CONFIG\");\n\n        string memory root = vm.projectRoot();\n        string memory path = string.concat(root, \"/addresses.json\");\n        string memory json = vm.readFile(path);\n        NEW_IMPLEMENTATION = vm.parseJsonAddress(json, \".systemConfig\");\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal override {\n        // NOTE: Bypass `proxyCallIfNotAdmin` modifier.\n        vm.prank(PROXY_ADMIN);\n        require(IProxy(SYSTEM_CONFIG).implementation() == NEW_IMPLEMENTATION);\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) {\n        IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n\n        calls[0] = IMulticall3.Call3Value({\n            target: PROXY_ADMIN,\n            allowFailure: false,\n            // NOTE: No need to call initialize as no storage would change (only changing `MAX_GAS_LIMIT` and `version`).\n            callData: abi.encodeCall(IProxyAdmin.upgrade, (SYSTEM_CONFIG, NEW_IMPLEMENTATION)),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "sepolia/2025-06-04-upgrade-system-config/validations/BASE_NESTED_VALIDATION.md",
    "content": "# Validation\n\nThis document can be used to validate the inputs and result of the execution of the upgrade transaction which you are signing.\n\n> [!NOTE]\n>\n> This document provides names for each contract address to add clarity to what you are seeing. These names will not be visible in the Tenderly UI. All that matters is that addresses and storage slot hex values match exactly what is presented in this document.\nThe steps are:\n\n1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes)\n2. [Verifying the state changes](#state-changes)\n\n## Expected Domain and Message Hashes\n\nFirst, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task.\n\n> [!CAUTION]\n>\n> Before signing, ensure the below hashes match what is on your ledger.\n>\n> ### Base Security Council Multisig - Sepolia: `0x6AF0674791925f767060Dd52f7fB20984E8639d8`\n>\n> - Domain Hash: `0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23`\n> - Message Hash: `0xf118d3927d9544e9ac00951c9e0ae5a010e8cc924e290c96de96975354f79572`\n# State Validations\n\nFor each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract:\n\n- The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur.\n- All key values match the semantic meaning provided, which can be validated using the terminal commands provided.\n\n## State Overrides\n\n### Proxy Admin Owner - Sepolia (`0x0fe884546476dDd290eC46318785046ef68a0BA9`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n### Base Nested Multisig - Sepolia (`0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n- **Key**: `0x8127d7083c34ec4fe481817f385f57f0aef1a5689a5200e1ebfe63e617c31bd3` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Simulates an approval from `msg.sender` in order for the task simulation to succeed. Note: The Key might be different as it corresponds to the slot associated with [your signer address](https://github.com/safe-global/safe-smart-account/blob/main/contracts/Safe.sol#L69).\n\n### Base Multisig - Sepolia (`0x646132A1667ca7aD00d36616AFBA1A28116C770A`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n## Task State Changes\n\n### Proxy Admin Owner - Sepolia (`0x0fe884546476dDd290eC46318785046ef68a0BA9`)\n\n0. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000017` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000018` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `23` <br/>\n   **Decoded New Value**: `24` <br/>\n   **Meaning**: Increments the nonce <br/>\n\n1. **Key**: `0x9aca296d64aeaeea50429f39c01f6a25e3cb2bab02cb90aa18a20e47b97e2ed2` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `0` <br/>\n   **Decoded New Value**: `1` <br/>\n   **Meaning**: Sets approvedHashes[0x646132a1667ca7ad00d36616afba1a28116c770a][0x896f60a7707d589d89416c9f44b99b54bdfcfd52b9f505f241b5dc0e110d9b7b] to 1 (approved by the Base Multisig).\n\n### Base Nested Multisig - Sepolia (`0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f`)\n\n4. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000003` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `3` <br/>\n   **Decoded New Value**: `4` <br/>\n   **Meaning**: Increments the nonce <br/>\n\n### Base Multisig - Sepolia (`0x646132A1667ca7aD00d36616AFBA1A28116C770A`)\n\n2. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000006` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000007` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `6` <br/>\n   **Decoded New Value**: `7` <br/>\n   **Meaning**: Increments the nonce <br/>\n\n3. **Key**: `0xcf1a8c325afe0c63e91c74fa9f32b1aff854f6e40e74a063a58464e55edb7d52` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `0` <br/>\n   **Decoded New Value**: `1` <br/>\n   **Meaning**: Sets approvedHashes[0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f][0xf94a73a4944796410dc97e3c46ce03a893278ba124962ab63ccb7cb36023e7b1] to 1 (approved by the Base Nested Multisig).\n\n### System Config (`0xf272670eb55e895584501d564AfEB048bEd26194`)\n\n5. **Key**: `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc` <br/>\n   **Before**: `0x000000000000000000000000340f923e5c7cbb2171146f64169ec9d5a9ffe647` <br/>\n   **After**: `0x000000000000000000000000fda350e8038728b689976d4a9e8a318400a150c5` <br/>\n   **Value Type**: address <br/>\n   **Decoded Old Value**: `0x340f923e5c7cbb2171146f64169ec9d5a9ffe647` <br/>\n   **Decoded New Value**: `0xfdA350e8038728B689976D4A9E8A318400A150C5` <br/>\n   **Meaning**: Updates the System Config implementation address <br/>\n\n### Your Signer Address\n\n- Nonce increment\n\nYou can now navigate back to the [README](../README.md#4-extract-the-domain-hash-and-the-message-hash-to-approve) to continue the signing process.\n"
  },
  {
    "path": "sepolia/2025-06-04-upgrade-system-config/validations/BASE_SC_VALIDATION.md",
    "content": "# Validation\n\nThis document can be used to validate the inputs and result of the execution of the upgrade transaction which you are signing.\n\n> [!NOTE]\n>\n> This document provides names for each contract address to add clarity to what you are seeing. These names will not be visible in the Tenderly UI. All that matters is that addresses and storage slot hex values match exactly what is presented in this document.\nThe steps are:\n\n1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes)\n2. [Verifying the state changes](#state-changes)\n\n## Expected Domain and Message Hashes\n\nFirst, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task.\n\n> [!CAUTION]\n>\n> Before signing, ensure the below hashes match what is on your ledger.\n>\n> ### Base Security Council Multisig - Sepolia: `0x6AF0674791925f767060Dd52f7fB20984E8639d8`\n>\n> - Domain Hash: `0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa`\n> - Message Hash: `0x162e3e3614192c09995c2e575e230eede29197c5f344436497cefac155e79602`\n# State Validations\n\nFor each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract:\n\n- The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur.\n- All key values match the semantic meaning provided, which can be validated using the terminal commands provided.\n\n## State Overrides\n\n### Proxy Admin Owner - Sepolia (`0x0fe884546476dDd290eC46318785046ef68a0BA9`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n### Base Multisig - Sepolia (`0x646132A1667ca7aD00d36616AFBA1A28116C770A`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n### Base Security Council Multisig - Sepolia (`0x6AF0674791925f767060Dd52f7fB20984E8639d8`)\n\n- **Key**: `0xed56a8e17d5b17ed763270d3db31249f41c143af05268d00dfd1edc65ba1b0b6` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Simulates an approval from `msg.sender` in order for the task simulation to succeed. Note: The Key might be different as it corresponds to the slot associated with [your signer address](https://github.com/safe-global/safe-smart-account/blob/main/contracts/Safe.sol#L69).\n\n## Task State Changes\n\n### Proxy Admin Owner - Sepolia (`0x0fe884546476dDd290eC46318785046ef68a0BA9`)\n\n0. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000017` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000018` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `23` <br/>\n   **Decoded New Value**: `24` <br/>\n   **Meaning**: Increments the nonce <br/>\n\n1. **Key**: `0x9aca296d64aeaeea50429f39c01f6a25e3cb2bab02cb90aa18a20e47b97e2ed2` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `0` <br/>\n   **Decoded New Value**: `1` <br/>\n   **Meaning**: Sets approvedHashes[0x646132a1667ca7ad00d36616afba1a28116c770a][0x896f60a7707d589d89416c9f44b99b54bdfcfd52b9f505f241b5dc0e110d9b7b] to 1 (approved by the Base Multisig).\n\n### Base Multisig - Sepolia (`0x646132A1667ca7aD00d36616AFBA1A28116C770A`)\n\n2. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000006` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000007` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `6` <br/>\n   **Decoded New Value**: `7` <br/>\n   **Meaning**: Increments the nonce <br/>\n\n3. **Key**: `0x71dfe6a8ef18d31663922940612f4666ec7858fa87245eb8475fda49e94738e0` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `0` <br/>\n   **Decoded New Value**: `1` <br/>\n   **Meaning**: Sets approvedHashes[0x6af0674791925f767060dd52f7fb20984e8639d8][0xf94a73a4944796410dc97e3c46ce03a893278ba124962ab63ccb7cb36023e7b1] to 1 (approved by the Base Security Council Multisig).\n\n### Base Security Council Multisig - Sepolia (`0x6AF0674791925f767060Dd52f7fB20984E8639d8`)\n\n4. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000008` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000009` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `8` <br/>\n   **Decoded New Value**: `9` <br/>\n   **Meaning**: Increments the nonce <br/>\n\n### System Config (`0xf272670eb55e895584501d564AfEB048bEd26194`)\n\n5. **Key**: `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc` <br/>\n   **Before**: `0x000000000000000000000000340f923e5c7cbb2171146f64169ec9d5a9ffe647` <br/>\n   **After**: `0x000000000000000000000000fda350e8038728b689976d4a9e8a318400a150c5` <br/>\n   **Value Type**: address <br/>\n   **Decoded Old Value**: `0x340f923e5c7cbb2171146f64169ec9d5a9ffe647` <br/>\n   **Decoded New Value**: `0xfdA350e8038728B689976D4A9E8A318400A150C5` <br/>\n   **Meaning**: Updates the System Config implementation address <br/>\n\n### Your Signer Address\n\n- Nonce increment\n\nYou can now navigate back to the [README](../README.md#4-extract-the-domain-hash-and-the-message-hash-to-approve) to continue the signing process.\n"
  },
  {
    "path": "sepolia/2025-06-04-upgrade-system-config/validations/OP_VALIDATION.md",
    "content": "# Validation\n\nThis document can be used to validate the inputs and result of the execution of the upgrade transaction which you are signing.\n\n> [!NOTE]\n>\n> This document provides names for each contract address to add clarity to what you are seeing. These names will not be visible in the Tenderly UI. All that matters is that addresses and storage slot hex values match exactly what is presented in this document.\nThe steps are:\n\n1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes)\n2. [Verifying the state changes](#state-changes)\n\n## Expected Domain and Message Hashes\n\nFirst, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task.\n\n> [!CAUTION]\n>\n> Before signing, ensure the below hashes match what is on your ledger.\n>\n> ### OP Multisig - Sepolia: `0x6AF0674791925f767060Dd52f7fB20984E8639d8`\n>\n> - Domain Hash: `0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa`\n> - Message Hash: `0x10fd7c9b221dcd2911cfb8982a1b74145d4b2e662bc37d5ab163ab632838f20c`\n# State Validations\n\nFor each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract:\n\n- The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur.\n- All key values match the semantic meaning provided, which can be validated using the terminal commands provided.\n\n## State Overrides\n\n### Proxy Admin Owner - Sepolia (`0x0fe884546476dDd290eC46318785046ef68a0BA9`)\n\n- **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Override the threshold to 1 so the transaction simulation can occur.\n\n### OP Multisig - Sepolia (`0x6AF0674791925f767060Dd52f7fB20984E8639d8`)\n\n- **Key**: `0x102a573576f9ca72f69161a2750669103d95f6700cf832b4dd6fb8765e71b793` <br/>\n  **Override**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n  **Meaning**: Simulates an approval from `msg.sender` in order for the task simulation to succeed. Note: The Key might be different as it corresponds to the slot associated with [your signer address](https://github.com/safe-global/safe-smart-account/blob/main/contracts/Safe.sol#L69).\n\n## Task State Changes\n\n### Proxy Admin Owner - Sepolia (`0x0fe884546476dDd290eC46318785046ef68a0BA9`)\n\n0. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000017` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000018` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `23` <br/>\n   **Decoded New Value**: `24` <br/>\n   **Meaning**: Increments the nonce <br/>\n\n1. **Key**: `0xb2a3e1d0267998cb7e736c5b9108ef896858967092076634b2d792c0b44ded4b` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000000` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000001` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `0` <br/>\n   **Decoded New Value**: `1` <br/>\n   **Meaning**: Sets approvedHashes[0x6AF0674791925f767060Dd52f7fB20984E8639d8][0x896f60a7707d589d89416c9f44b99b54bdfcfd52b9f505f241b5dc0e110d9b7b] to 1 (approved by the OP Multisig).\n\n### OP Multisig - Sepolia (`0x6AF0674791925f767060Dd52f7fB20984E8639d8`)\n\n2. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005` <br/>\n   **Before**: `0x0000000000000000000000000000000000000000000000000000000000000008` <br/>\n   **After**: `0x0000000000000000000000000000000000000000000000000000000000000009` <br/>\n   **Value Type**: uint256 <br/>\n   **Decoded Old Value**: `8` <br/>\n   **Decoded New Value**: `9` <br/>\n   **Meaning**: Increments the nonce <br/>\n\n### System Config (`0xf272670eb55e895584501d564AfEB048bEd26194`)\n\n3. **Key**: `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc` <br/>\n   **Before**: `0x000000000000000000000000340f923e5c7cbb2171146f64169ec9d5a9ffe647` <br/>\n   **After**: `0x000000000000000000000000fda350e8038728b689976d4a9e8a318400a150c5` <br/>\n   **Value Type**: address <br/>\n   **Decoded Old Value**: `0x340f923e5c7cbb2171146f64169ec9d5a9ffe647` <br/>\n   **Decoded New Value**: `0xfdA350e8038728B689976D4A9E8A318400A150C5` <br/>\n   **Meaning**: Updates the System Config implementation address <br/>\n\n### Your Signer Address\n\n- Nonce increment\n\nYou can now navigate back to the [README](../README.md#4-extract-the-domain-hash-and-the-message-hash-to-approve) to continue the signing process.\n"
  },
  {
    "path": "sepolia/2025-09-22-upgrade-to-U16a/README.md",
    "content": "# Upgrade U16a (029-U16a-opcm-upgrade-v410-base): Base Sepolia to op-contracts/v4.1.0\n\nStatus: [EXECUTED](https://sepolia.etherscan.io/tx/0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d)\n\n## Description\n\nThis task consisted of upgrading Base Sepolia to U16a. More context on U16a can be found in the upgrade instructions [here](https://github.com/ethereum-optimism/superchain-ops/tree/main/src/tasks/sep/029-U16a-opcm-upgrade-v410-base).\n\n## Transactions\n\n- Base-Nested Council Approval: [`0xf3dfe75048e36f31f28278c68553673aa4d06f7ae440d407fbafd2158626f7aa`](https://sepolia.etherscan.io/tx/0xf3dfe75048e36f31f28278c68553673aa4d06f7ae440d407fbafd2158626f7aa)\n- Base-Nested Operations Approval: [`0x4d9d27bd0c5d50189fef344a04751e8d554f4e117acab8cebe5c35254b2fbe1e`](https://sepolia.etherscan.io/tx/0x4d9d27bd0c5d50189fef344a04751e8d554f4e117acab8cebe5c35254b2fbe1e)\n- Base-Nested Approval: [`0xc270eb70de58d51e251bdab85fa3106a49e4f4fe857b06f65fcad6ba0397632b`](https://sepolia.etherscan.io/tx/0xc270eb70de58d51e251bdab85fa3106a49e4f4fe857b06f65fcad6ba0397632b)\n- Unnested Operations Approval: [`0xfcfafcc6f4fb4fb0d7d1a3a4509e95d13a77d6800fafd9a14449511d61b6822e`](https://sepolia.etherscan.io/tx/0xfcfafcc6f4fb4fb0d7d1a3a4509e95d13a77d6800fafd9a14449511d61b6822e) (artefacts: [approve-latest.json](./records/OPCMUpgradeV410.sol/11155111/approve-latest.json))\n- Execution Transaction: [`0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d`](https://sepolia.etherscan.io/tx/0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d) (artefacts: [execute-latest.json](./records/OPCMUpgradeV410.sol/11155111/execute-latest.json))\n"
  },
  {
    "path": "sepolia/2025-09-22-upgrade-to-U16a/records/OPCMUpgradeV410.sol/11155111/approve-latest.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xfcfafcc6f4fb4fb0d7d1a3a4509e95d13a77d6800fafd9a14449511d61b6822e\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024d4d9bdcd38088b006efbd2e14694c61a6603bd579955beee666fc83a3674ed8e6e80873500000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xe8b0879c898d1606523e222b431e5a340e49d38642df17dbb2f23651373e97367a07dd5e6f257ff3a4d5f49ab44da7bb7a86e14ef0d2f1192eb3304949caf6791b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xcd57f7ec19baa45293ebc5e62fe500edf961b225\",\n        \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n        \"gas\": \"0x207f8\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000144174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024d4d9bdcd38088b006efbd2e14694c61a6603bd579955beee666fc83a3674ed8e6e80873500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041e8b0879c898d1606523e222b431e5a340e49d38642df17dbb2f23651373e97367a07dd5e6f257ff3a4d5f49ab44da7bb7a86e14ef0d2f1192eb3304949caf6791b00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x3\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x173ccb1\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x38088b006efbd2e14694c61a6603bd579955beee666fc83a3674ed8e6e808735\",\n            \"0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x19348721fdc139914d81cf7ee60303f4a2519f07af3fbe7aec66d1226914c3af\",\n          \"blockNumber\": \"0x8d4394\",\n          \"transactionHash\": \"0xfcfafcc6f4fb4fb0d7d1a3a4509e95d13a77d6800fafd9a14449511d61b6822e\",\n          \"transactionIndex\": \"0x36\",\n          \"logIndex\": \"0x43\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x553fb8e51838b2732687e3a5837e4fd3c32fc0e00847332ce0aef43d191b45fc0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x19348721fdc139914d81cf7ee60303f4a2519f07af3fbe7aec66d1226914c3af\",\n          \"blockNumber\": \"0x8d4394\",\n          \"transactionHash\": \"0xfcfafcc6f4fb4fb0d7d1a3a4509e95d13a77d6800fafd9a14449511d61b6822e\",\n          \"transactionIndex\": \"0x36\",\n          \"logIndex\": \"0x44\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000010000000000100000000000000000000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000000000000000000000000000000000008000004200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014020000000000000000000000100010000008000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xfcfafcc6f4fb4fb0d7d1a3a4509e95d13a77d6800fafd9a14449511d61b6822e\",\n      \"transactionIndex\": \"0x36\",\n      \"blockHash\": \"0x19348721fdc139914d81cf7ee60303f4a2519f07af3fbe7aec66d1226914c3af\",\n      \"blockNumber\": \"0x8d4394\",\n      \"gasUsed\": \"0x16389\",\n      \"effectiveGasPrice\": \"0x119d96\",\n      \"blobGasUsed\": \"0x0\",\n      \"from\": \"0xcd57f7ec19baa45293ebc5e62fe500edf961b225\",\n      \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1758569414,\n  \"chain\": 11155111,\n  \"commit\": \"218da43b\"\n}\n"
  },
  {
    "path": "sepolia/2025-09-22-upgrade-to-U16a/records/OPCMUpgradeV410.sol/11155111/execute-latest.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x93dc480940585D9961bfcEab58124fFD3d60f76a\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000003bb6437aba031afbf9cb3538fa064161e2bf2d780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4ff2dd5a100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f303eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc800000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xcd57f7ec19baa45293ebc5e62fe500edf961b225\",\n        \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n        \"gas\": \"0xfe9a5b\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a76120200000000000000000000000093dc480940585d9961bfceab58124ffd3d60f76a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000001a482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000003bb6437aba031afbf9cb3538fa064161e2bf2d780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4ff2dd5a100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f303eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x4\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [\n        {\n          \"transactionType\": \"CREATE2\",\n          \"address\": \"0x2ff5cc82dbf333ea30d8ee462178ab1707315355\",\n          \"initCode\": \"0x608060405234801561001057600080fd5b5060405161091f38038061091f83398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206108ff8339815191525490565b6000805160206108ff833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61080b806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61030000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3\"\n        },\n        {\n          \"transactionType\": \"CREATE2\",\n          \"address\": \"0x32ce910d9c6c8f78dc6779c1499ab05f281a054e\",\n          \"initCode\": \"0x608060405234801561001057600080fd5b5060405161091f38038061091f83398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206108ff8339815191525490565b6000805160206108ff833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61080b806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61030000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3\"\n        },\n        {\n          \"transactionType\": \"CREATE2\",\n          \"address\": \"0x217e725700de4dc599360adbd57dbb7de280817e\",\n          \"initCode\": \"0x6102006040523480156200001257600080fd5b50604051620065243803806200652483398101604081905262000035916200053c565b82620000446001607e6200064b565b60ff16816040015111156200006c57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000965750604081015160608201516200009390600162000671565b10155b15620000b55760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000dc5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000129573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014f91906200068c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b39190620006ac565b1115620001d35760405163b4e1243360e01b815260040160405180910390fd5b6000620001f882608001516001600160401b03166200048e60201b62000cec1760201c565b6200020e906001600160401b03166002620006c6565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000255573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027b91906200068c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002df9190620006ac565b6200030284608001516001600160401b03166200048e60201b62000cec1760201c565b6001600160401b031662000317919062000671565b905060006200033283836200049160201b6200283e1760201c565b90506001600160401b038111156200035d5760405163235dfb2b60e21b815260040160405180910390fd5b620003808460a001516001600160401b03166200048e60201b62000cec1760201c565b6001600160401b0316816001600160401b03161115620003b35760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003da856000015163ffffffff166200048e60201b62000cec1760201c565b63ffffffff1603620003ff5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015181166101605292015161018052509182166101c052166101e05250620006e8565b90565b600081831015620004a35781620004a5565b825b9392505050565b60405161014081016001600160401b0381118282101715620004de57634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004f957600080fd5b919050565b80516001600160401b0381168114620004f957600080fd5b6001600160a01b03811681146200052c57600080fd5b50565b8051620004f98162000516565b60008060008385036101808112156200055457600080fd5b610140808212156200056557600080fd5b6200056f620004ac565b91506200057c86620004e4565b8252602086015160208301526040860151604083015260608601516060830152620005aa60808701620004fe565b6080830152620005bd60a08701620004fe565b60a0830152620005d060c087016200052f565b60c0830152620005e360e087016200052f565b60e0830152610100620005f88188016200052f565b8184015250610120808701518184015250819450620006198187016200052f565b935050506200062c61016085016200052f565b90509250925092565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168082101562000668576200066862000635565b90039392505050565b6000821982111562000687576200068762000635565b500190565b6000602082840312156200069f57600080fd5b8151620004a58162000516565b600060208284031215620006bf57600080fd5b5051919050565b6000816000190483118215151615620006e357620006e362000635565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051615c61620008c36000396000818161061c01528181611a4a01526123b001526000818161090d01528181611a1801528181611eeb015261237e015260008181610778015281816130ed01528181613158015261318b015260008181610ac5015261277c0152600081816106ee01528181611b4801528181611c8c01528181611d6601528181611df5015281816135fa0152613a890152600081816105a90152818161182601528181611922015281816134f40152613990015260008181610948015281816127fe0152613a600152600081816105460152818161247e0152818161300601526142f7015260008181610b1801528181610f7f0152818161207c015281816120be01528181612f76015281816131bb015261321a015260008181610b4b0152818161262201528181612dbf01528181612ee5015281816131290152818161416e0152818161459b0152818161467a0152818161472d01528181614f5b015261514c015260008181610bf20152818161216a015281816121f001528181612e8801528181612fda01528181614086015261418f01526000818161083a01526142120152615c616000f3fe6080604052600436106103555760003560e01c806370872aa5116101bb578063c0d8bb74116100f7578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b9f578063fa24f74314610bbf578063fa315aa914610be3578063fe2bbeb214610c1657600080fd5b8063dabd396d14610b09578063ec5e630814610b3c578063eff0f59214610b6f57600080fd5b8063cf09e0d0116100d1578063cf09e0d014610a75578063d5d44d8014610a96578063d6ae3cd514610ab6578063d8cc1a3c14610ae957600080fd5b8063c0d8bb74146109b4578063c395e1ca146109e1578063c6f0308c14610a0157600080fd5b80638d450a9511610164578063a8e4fb901161013e578063a8e4fb90146108fe578063bbdc02db14610931578063bcef3b5514610972578063bd8da9561461099457600080fd5b80638d450a951461082b57806399735e3214610809578063a445ece61461085e57600080fd5b80638129fc1c116101955780638129fc1c146107ec5780638980e0cc146107f45780638b85902b1461080957600080fd5b806370872aa5146107af578063786b844b146107c45780637b0f0adc146107d957600080fd5b80633e3ac912116102955780635a5fa2d91161023357806360e274641161020d57806360e27464146107275780636361506d146107475780636b6716c0146107695780636f0344091461079c57600080fd5b80635a5fa2d9146106bf5780635c0cba33146106df578063609d33341461071257600080fd5b8063529d6a8c1161026f578063529d6a8c146105e0578063534db0e21461060d57806354fd4d501461064057806357da950e1461068f57600080fd5b80633e3ac9121461056a5780633fc8cef31461059a578063472777c6146105cd57600080fd5b806325fc2ace1161030257806330dbe570116102dc57806330dbe570146104c3578063378dd48c146104fb57806337b1b229146105155780633a7684631461053757600080fd5b806325fc2ace1461046f5780632810e1d61461048e5780632ad69aeb146104a357600080fd5b8063200d2ed211610333578063200d2ed2146103e7578063222abf4514610415578063250e69bd1461045557600080fd5b8063019351301461035a57806303c2924d1461037c57806319effeb41461039c575b600080fd5b34801561036657600080fd5b5061037a6103753660046154d1565b610c46565b005b34801561038857600080fd5b5061037a61039736600461552c565b610f05565b3480156103a857600080fd5b506000546103c99068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103f357600080fd5b5060005461040890600160801b900460ff1681565b6040516103de9190615585565b34801561042157600080fd5b506104456104303660046155ad565b600c6020526000908152604090205460ff1681565b60405190151581526020016103de565b34801561046157600080fd5b50600a546104459060ff1681565b34801561047b57600080fd5b506008545b6040519081526020016103de565b34801561049a57600080fd5b5061040861148d565b3480156104af57600080fd5b506104806104be36600461552c565b611665565b3480156104cf57600080fd5b506001546104e3906001600160a01b031681565b6040516001600160a01b0390911681526020016103de565b34801561050757600080fd5b50600d546104089060ff1681565b34801561052157600080fd5b503660011981013560f01c90033560601c6104e3565b34801561054357600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561057657600080fd5b50600054610445907201000000000000000000000000000000000000900460ff1681565b3480156105a657600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b61037a6105db3660046155ca565b61169b565b3480156105ec57600080fd5b506104806105fb3660046155ad565b60036020526000908152604090205481565b34801561061957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561064c57600080fd5b5060408051808201909152600581527f312e372e3000000000000000000000000000000000000000000000000000000060208201525b6040516103de9190615661565b34801561069b57600080fd5b506008546009546106aa919082565b604080519283526020830191909152016103de565b3480156106cb57600080fd5b506104806106da366004615674565b6116ad565b3480156106eb57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561071e57600080fd5b506106826116e7565b34801561073357600080fd5b5061037a6107423660046155ad565b6116f5565b34801561075357600080fd5b503660011981013560f01c900360340135610480565b34801561077557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c9565b61037a6107aa36600461569b565b611a0d565b3480156107bb57600080fd5b50600954610480565b3480156107d057600080fd5b5061037a611ab4565b61037a6107e73660046155ca565b611ed3565b61037a611ee0565b34801561080057600080fd5b50600254610480565b34801561081557600080fd5b503660011981013560f01c900360540135610480565b34801561083757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b34801561086a57600080fd5b506108c0610879366004615674565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103de565b34801561090a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561093d57600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103de565b34801561097e57600080fd5b503660011981013560f01c900360140135610480565b3480156109a057600080fd5b506103c96109af366004615674565b611f4c565b3480156109c057600080fd5b506104806109cf3660046155ad565b600b6020526000908152604090205481565b3480156109ed57600080fd5b506104806109fc3660046156dc565b6120e6565b348015610a0d57600080fd5b50610a21610a1c366004615674565b6122a7565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103de565b348015610a8157600080fd5b506000546103c99067ffffffffffffffff1681565b348015610aa257600080fd5b50610480610ab13660046155ad565b61231b565b348015610ac257600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610af557600080fd5b5061037a610b04366004615705565b612373565b348015610b1557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c9565b348015610b4857600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610b7b57600080fd5b50610445610b8a366004615674565b60046020526000908152604090205460ff1681565b348015610bab57600080fd5b5061037a610bba3660046155ca565b612416565b348015610bcb57600080fd5b50610bd46127fc565b6040516103de93929190615791565b348015610bef57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610c2257600080fd5b50610445610c31366004615674565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610c6557610c6561554e565b14610c835760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610cd6576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cef3660011981013560f01c90036014013590565b90565b610d06610d01368690038601866157cc565b612859565b14610d3d576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610d52929190615840565b604051809103902014610d91576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610dda610dd584848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128b592505050565b612922565b90506000610e0182600881518110610df457610df4615850565b6020026020010151612ad8565b9050602081511115610e3f576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e96576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610f2457610f2461554e565b14610f425760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610f5757610f57615850565b906000526020600020906005020190506000610f7284611f4c565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610fdb576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611024576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561104157508515155b156110a457835464010000000090046001600160a01b0316600081156110675781611076565b60018601546001600160a01b03165b90506110828187612b8c565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b03166060830152611128576001600160801b036040820152600181526000869003611128578195505b600086826020015163ffffffff16611140919061587c565b905060008382116111515781611153565b835b602084015190915063ffffffff165b8181101561127357600086828154811061117e5761117e615850565b6000918252602080832090910154808352600690915260409091205490915060ff166111d6576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600282815481106111eb576111eb615850565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156112325750600481015460408701516001600160801b039182169116115b1561125e5760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b5050808061126b90615894565b915050611162565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361148257606083015160008a8152600660205260409020805460ff19166001179055891580156113bf57506000547201000000000000000000000000000000000000900460ff165b1561141a576001546001600160a01b03166113da818a612b8c565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611480565b6114476001600160a01b038216156114325781611441565b60018901546001600160a01b03165b89612b8c565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156114ae576114ae61554e565b146114cc5760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff16611530576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b0316600260008154811061154f5761154f615850565b600091825260209091206005909102015464010000000090046001600160a01b03161461157d576001611580565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b8360028111156116245761162461554e565b0217905560028111156116395761163961554e565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061168157600080fd5b90600052602060002001600091509150505481565b905090565b6116a88383836001611a0d565b505050565b600081815260076020908152604080832060059092528220805482546116de90610100900463ffffffff16826158ae565b95945050505050565b606061169660546020612bce565b6116fd611ab4565b60006002600d5460ff1660028111156117185761171861554e565b0361173c57506001600160a01b0381166000908152600b60205260409020546117ab565b6001600d5460ff1660028111156117555761175561554e565b0361177957506001600160a01b0381166000908152600360205260409020546117ab565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff16611888576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b15801561186c57600080fd5b505af1158015611880573d6000803e3d6000fd5b505050505050565b806000036118c2576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b15801561196857600080fd5b505af115801561197c573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146119cd576040519150601f19603f3d011682016040523d82523d6000602084013e6119d2565b606091505b50509050806116a8576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480611a6c5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b611aa2576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611aae84848484612c02565b50505050565b6002600d5460ff166002811115611acd57611acd61554e565b1480611aef57506001600d5460ff166002811115611aed57611aed61554e565b145b15611af657565b6000600d5460ff166002811115611b0f57611b0f61554e565b14611b46576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ba4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bc891906158c5565b15611bff576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff16600003611c5b576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015611cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cff91906158c5565b905080611d38576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b158015611db257600080fd5b505af1925050508015611dc3575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa158015611e44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6891906158c5565b90508015611e8257600d805460ff19166001179055611e90565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f91611ec79160ff90911690615585565b60405180910390a15050565b6116a88383836000611a0d565b326001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f42576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f4a6135a3565b565b600080600054600160801b900460ff166002811115611f6d57611f6d61554e565b14611f8b5760405163067fe19560e41b815260040160405180910390fd5b600060028381548110611fa057611fa0615850565b600091825260208220600590910201805490925063ffffffff9081161461200657815460028054909163ffffffff16908110611fde57611fde615850565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b600482015460009061203190600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b6120459067ffffffffffffffff16426158ae565b61205b612024846001600160801b031660401c90565b67ffffffffffffffff1661206f919061587c565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff16116120bc57806116de565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612163836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f00000000000000000000000000000000000000000000000000000000000000008111156121c2576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a30060006121dd83836158f8565b9050670de0b6b3a76400006000612214827f000000000000000000000000000000000000000000000000000000000000000061590c565b9050600061223261222d670de0b6b3a76400008661590c565b613b1c565b905060006122408484613d6e565b9050600061224e8383613dbd565b9050600061225b82613deb565b9050600061227a82612275670de0b6b3a76400008f61590c565b613fd3565b905060006122888b83613dbd565b9050612294818d61590c565b9f9e505050505050505050505050505050565b600281815481106122b757600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff1660028111156123365761233661554e565b0361235757506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806123d25750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b612408576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611880868686868686614004565b60008054600160801b900460ff1660028111156124355761243561554e565b146124535760405163067fe19560e41b815260040160405180910390fd5b60008060008061246286614560565b93509350935093506000612478858585856148b9565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124fe919061592b565b9050600189036125cb576001600160a01b0381166352f0f3ad8a8461252f3660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156125a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c59190615948565b50611482565b600289036125ea576001600160a01b0381166352f0f3ad8a848961252f565b60038903612609576001600160a01b0381166352f0f3ad8a848761252f565b6004890361273e5760006126466001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000614958565b600954612653919061587c565b61265e90600161587c565b90503660011981013560f01c900360540135811061268b573660011981013560f01c90036054013561268d565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015612713573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127379190615948565b5050611482565b600589036127ca576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a401612582565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003660011981013560f01c90036014013560606128376116e7565b9050909192565b60008183101561284e5781612850565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001612898949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003612904576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000612932856149ed565b91945092509050600181600181111561294d5761294d61554e565b14612984576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451612990838561587c565b146129c7576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816129de5790505093506000835b8651811015612acc57600080612a516040518060400160405280858c60000151612a3591906158ae565b8152602001858c60200151612a4a919061587c565b90526149ed565b509150915060405180604001604052808383612a6d919061587c565b8152602001848b60200151612a82919061587c565b815250888581518110612a9757612a97615850565b6020908102919091010152612aad60018561587c565b9350612ab9818361587c565b612ac3908461587c565b92505050612a0b565b50845250919392505050565b60606000806000612ae8856149ed565b919450925090506000816001811115612b0357612b0361554e565b14612b3a576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612b44828461587c565b855114612b7d576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116de85602001518484614e8b565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190612bc590849061587c565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b60008054600160801b900460ff166002811115612c2157612c2161554e565b14612c3f5760405163067fe19560e41b815260040160405180910390fd5b600060028481548110612c5457612c54615850565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514612d18576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000612dad826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580612de85750612de57f0000000000000000000000000000000000000000000000000000000000000000600261587c565b81145b8015612df2575084155b15612e29576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015612e4f575086155b15612e86576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115612ee0576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612f0b7f0000000000000000000000000000000000000000000000000000000000000000600161587c565b8103612f1d57612f1d86888588614f20565b34612f27836120e6565b14612f5e576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612f6988611f4c565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603612fd1576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612ffe60017f00000000000000000000000000000000000000000000000000000000000000006158ae565b8303613122577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613062573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613086919061592b565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130e79190615948565b61311b907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615961565b90506131b5565b61314d60017f00000000000000000000000000000000000000000000000000000000000000006158ae565b83036131885761311b7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16600261598d565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b6131e9817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159bd565b67ffffffffffffffff166132048367ffffffffffffffff1690565b67ffffffffffffffff16111561324b57613248817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159bd565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff16156132c0576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c815260200190815260200160002060016002805490506134b791906158ae565b81546001810183556000928352602080842090910191909155338252600b90526040812080543492906134eb90849061587c565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561354d57600080fd5b505af1158015613561573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b60005471010000000000000000000000000000000000900460ff16156135f5576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015613655573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061367991906159e6565b9092509050816136b5576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146136e857639824bdab6000526004601cfd5b803660011981013560f01c90036054013511613746576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b90915291822080549192909161398790849061587c565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156139e957600080fd5b505af11580156139fd573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015613adc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b009190615a0a565b600a805460ff191663ffffffff92909216929092141790555050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213613b7257631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a764000002158202613dab57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b600081600019048311820215613ddb5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d78213613e1957919050565b680755bf798b4a1bf1e58212613e375763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000612850670de0b6b3a764000083613feb86613b1c565b613ff59190615a30565b613fff9190615aec565b613deb565b60008054600160801b900460ff1660028111156140235761402361554e565b146140415760405163067fe19560e41b815260040160405180910390fd5b60006002878154811061405657614056615850565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506140ac7f0000000000000000000000000000000000000000000000000000000000000000600161587c565b614126826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1614614160576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080891561423c576141b37f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006158ae565b6001901b6141c9846001600160801b03166150af565b6001600160801b03166141dc9190615b36565b15614210576142076141f860016001600160801b038716615b4a565b865463ffffffff166000615135565b60030154614232565b7f00000000000000000000000000000000000000000000000000000000000000005b915084905061425d565b6003850154915061425a6141f86001600160801b0386166001615b6a565b90505b600882901b60088a8a604051614274929190615840565b6040518091039020901b146142b5576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006142c08c6151fe565b905060006142cf836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced329061433c908f908f908f908f908a90600401615bd5565b6020604051808303816000875af115801561435b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061437f9190615948565b600485015491149150600090600290614408906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b614482896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61448c9190615c0f565b6144969190615c32565b60ff1615905081151581036144d7576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b031615614521576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b600080600080600085905060006002828154811061458057614580615850565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614635906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161466f576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090614714906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561478957825463ffffffff166147537f0000000000000000000000000000000000000000000000000000000000000000600161587c565b830361475d578391505b6002818154811061477057614770615850565b9060005260206000209060050201935080945050614673565b600481810154908401546001600160801b0391821691166000816001600160801b03166147ce6147c2856001600160801b031660011c90565b6001600160801b031690565b6001600160801b031614905080156148675760006147f4836001600160801b03166150af565b6001600160801b0316111561484457600061482461481c60016001600160801b038616615b4a565b896001615135565b6003810154600490910154909c506001600160801b03169a5061484a9050565b6008549a505b600386015460048701549099506001600160801b031697506148ab565b600061488061481c6001600160801b0385166001615b6a565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b038416156149145760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a001604051602081830303815290604052805190602001206116de565b82826040516020016149399291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b6000806149cc847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614a30576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614a55576000600160009450945094505050614e84565b60b78111614b6b576000614a6a6080836158ae565b905080876000015111614aa9576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614b2157507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614b58576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614e84915050565b60bf8111614cc9576000614b8060b7836158ae565b905080876000015111614bbf576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614c21576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614c69576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614c73818461587c565b895111614cac576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614cb783600161587c565b9750955060009450614e849350505050565b60f78111614d2e576000614cde60c0836158ae565b905080876000015111614d1d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614e84915050565b6000614d3b60f7836158ae565b905080876000015111614d7a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614ddc576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614e24576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e2e818461587c565b895111614e67576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e7283600161587c565b9750955060019450614e849350505050565b9193909250565b60608167ffffffffffffffff811115614ea657614ea66157b6565b6040519080825280601f01601f191660200182016040528015614ed0576020820181803683370190505b5090508115614f19576000614ee5848661587c565b90506020820160005b84811015614f06578281015182820152602001614eee565b84811115614f15576000858301525b5050505b9392505050565b6000614f366001600160801b0384166001615b6a565b90506000614f4682866001615135565b9050600086901a83806150105750614f7f60027f0000000000000000000000000000000000000000000000000000000000000000615b36565b6004830154600290615001906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61500b9190615c32565b60ff16145b156150685760ff81166001148061502a575060ff81166002145b615063576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161373d565b6150a6565b60ff8116156150a6576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161373d565b50505050505050565b600080615123837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b60008082615175576151706001600160801b0386167f000000000000000000000000000000000000000000000000000000000000000061522d565b615187565b615187856001600160801b031661536c565b90506002848154811061519c5761519c615850565b906000526020600020906005020191505b60048201546001600160801b038281169116146151f657815460028054909163ffffffff169081106151e1576151e1615850565b906000526020600020906005020191506151ad565b509392505050565b600080600080600061520f86614560565b9350935093509350615223848484846148b9565b9695505050505050565b6000816152aa846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116152c05763b34b5c226000526004601cfd5b6152c98361536c565b905081615346826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116128535761285061535c83600161587c565b6001600160801b038316906153f8565b600081196001830116816153e7827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061546c847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261549a57600080fd5b50813567ffffffffffffffff8111156154b257600080fd5b6020830191508360208285010111156154ca57600080fd5b9250929050565b600080600083850360a08112156154e757600080fd5b60808112156154f557600080fd5b50839250608084013567ffffffffffffffff81111561551357600080fd5b61551f86828701615488565b9497909650939450505050565b6000806040838503121561553f57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061558257634e487b7160e01b600052602160045260246000fd5b50565b6020810161559283615564565b91905290565b6001600160a01b038116811461558257600080fd5b6000602082840312156155bf57600080fd5b8135614f1981615598565b6000806000606084860312156155df57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561561c57602081850181015186830182015201615600565b8181111561562e576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061285060208301846155f6565b60006020828403121561568657600080fd5b5035919050565b801515811461558257600080fd5b600080600080608085870312156156b157600080fd5b84359350602085013592506040850135915060608501356156d18161568d565b939692955090935050565b6000602082840312156156ee57600080fd5b81356001600160801b0381168114614f1957600080fd5b6000806000806000806080878903121561571e57600080fd5b8635955060208701356157308161568d565b9450604087013567ffffffffffffffff8082111561574d57600080fd5b6157598a838b01615488565b9096509450606089013591508082111561577257600080fd5b5061577f89828a01615488565b979a9699509497509295939492505050565b63ffffffff841681528260208201526060604082015260006116de60608301846155f6565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156157de57600080fd5b6040516080810181811067ffffffffffffffff8211171561580f57634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561588f5761588f615866565b500190565b600060001982036158a7576158a7615866565b5060010190565b6000828210156158c0576158c0615866565b500390565b6000602082840312156158d757600080fd5b8151614f198161568d565b634e487b7160e01b600052601260045260246000fd5b600082615907576159076158e2565b500490565b600081600019048311821515161561592657615926615866565b500290565b60006020828403121561593d57600080fd5b8151614f1981615598565b60006020828403121561595a57600080fd5b5051919050565b600067ffffffffffffffff80831681851680830382111561598457615984615866565b01949350505050565b600067ffffffffffffffff808316818516818304811182151516156159b4576159b4615866565b02949350505050565b600067ffffffffffffffff838116908316818110156159de576159de615866565b039392505050565b600080604083850312156159f957600080fd5b505080516020909101519092909150565b600060208284031215615a1c57600080fd5b815163ffffffff81168114614f1957600080fd5b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615a7157615a71615866565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615aac57615aac615866565b60008712925087820587128484161615615ac857615ac8615866565b87850587128184161615615ade57615ade615866565b505050929093029392505050565b600082615afb57615afb6158e2565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615b3157615b31615866565b500590565b600082615b4557615b456158e2565b500690565b60006001600160801b03838116908316818110156159de576159de615866565b60006001600160801b0380831681851680830382111561598457615984615866565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615be9606083018789615b8c565b8281036020840152615bfc818688615b8c565b9150508260408301529695505050505050565b600060ff821660ff841680821015615c2957615c29615866565b90039392505050565b600060ff831680615c4557615c456158e2565b8060ff8416069150509291505056fea164736f6c634300080f000a000000000000000000000000000000000000000000000000000000000000000103eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc80000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d4000000000000000000000000007babe08ee4d07dba236530183b24055535a701100000000000000000000000032ce910d9c6c8f78dc6779c1499ab05f281a054e0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153550000000000000000000000000000000000000000000000000000000000014a34000000000000000000000000037637067c1dbe6d2430616d8f54cb774daa59990000000000000000000000008b8c52b04a38f10515c52670fcb23f3c4c44474f\"\n        },\n        {\n          \"transactionType\": \"CREATE2\",\n          \"address\": \"0xd3683e4947a7769603ab6418ec02f000ce3cf30b\",\n          \"initCode\": \"0x608060405234801561001057600080fd5b5060405161091f38038061091f83398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206108ff8339815191525490565b6000805160206108ff833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61080b806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61030000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3\"\n        },\n        {\n          \"transactionType\": \"CREATE2\",\n          \"address\": \"0x32b37bbd2c81e853ea098ce45856ae305df10dd1\",\n          \"initCode\": \"0x6101c06040523480156200001257600080fd5b506040516200626f3803806200626f83398101604081905262000035916200052e565b620000436001607e62000601565b60ff16816040015111156200006b57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000955750604081015160608201516200009290600162000627565b10155b15620000b45760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000db5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000128573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014e919062000642565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b2919062000662565b1115620001d25760405163b4e1243360e01b815260040160405180910390fd5b6000620001f782608001516001600160401b03166200048060201b62000c701760201c565b6200020d906001600160401b031660026200067c565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000254573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027a919062000642565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002de919062000662565b6200030184608001516001600160401b03166200048060201b62000c701760201c565b6001600160401b031662000316919062000627565b905060006200033183836200048360201b62003a821760201c565b90506001600160401b038111156200035c5760405163235dfb2b60e21b815260040160405180910390fd5b6200037f8460a001516001600160401b03166200048060201b62000c701760201c565b6001600160401b0316816001600160401b03161115620003b25760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003d9856000015163ffffffff166200048060201b62000c701760201c565b63ffffffff1603620003fe5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015116610160529091015161018052506200069e565b90565b60008183101562000495578162000497565b825b9392505050565b60405161014081016001600160401b0381118282101715620004d057634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004eb57600080fd5b919050565b80516001600160401b0381168114620004eb57600080fd5b6001600160a01b03811681146200051e57600080fd5b50565b8051620004eb8162000508565b600061014082840312156200054257600080fd5b6200054c6200049e565b6200055783620004d6565b81526020830151602082015260408301516040820152606083015160608201526200058560808401620004f0565b60808201526200059860a08401620004f0565b60a0820152620005ab60c0840162000521565b60c0820152620005be60e0840162000521565b60e0820152610100620005d381850162000521565b90820152610120928301519281019290925250919050565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8416808210156200061e576200061e620005eb565b90039392505050565b600082198211156200063d576200063d620005eb565b500190565b6000602082840312156200065557600080fd5b8151620004978162000508565b6000602082840312156200067557600080fd5b5051919050565b6000816000190483118215151615620006995762000699620005eb565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051615a2f620008406000396000818161072f01528181611e7c01528181611ee70152611f1a015260008181610a4901526139c00152600081816106a5015281816123c60152818161250a015281816125e401528181612673015281816127b50152612c44015260008181610593015281816117aa015281816118a6015281816122830152612b4b0152600081816108cc01528181612c1b0152613a4201526000818161053001528181611d95015281816133f101526136c2015260008181610a9c01528181610f0301528181611d0501528181611f4a01528181611fa901528181612e070152612e49015260008181610acf01528181611b4e01528181611c7401528181611eb8015281816132680152818161386601528181613e810152818161455a01528181614676015281816147550152614808015260008181610b7601528181611c1701528181611d6901528181612ef501528181612f7b0152818161318001526132890152600081816107f1015261330c0152615a2f6000f3fe60806040526004361061033f5760003560e01c806370872aa5116101b0578063c395e1ca116100ec578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b23578063fa24f74314610b43578063fa315aa914610b67578063fe2bbeb214610b9a57600080fd5b8063dabd396d14610a8d578063ec5e630814610ac0578063eff0f59214610af357600080fd5b8063d5d44d80116100c6578063d5d44d8014610a1a578063d6ae3cd514610a3a578063d8cc1a3c14610a6d57600080fd5b8063c395e1ca14610965578063c6f0308c14610985578063cf09e0d0146109f957600080fd5b80638d450a9511610159578063bbdc02db11610133578063bbdc02db146108b5578063bcef3b55146108f6578063bd8da95614610918578063c0d8bb741461093857600080fd5b80638d450a95146107e257806399735e32146107c0578063a445ece61461081557600080fd5b80638129fc1c1161018a5780638129fc1c146107a35780638980e0cc146107ab5780638b85902b146107c057600080fd5b806370872aa514610766578063786b844b1461077b5780637b0f0adc1461079057600080fd5b80633e3ac9121161027f5780635a5fa2d91161022857806360e274641161020257806360e27464146106de5780636361506d146106fe5780636b6716c0146107205780636f0344091461075357600080fd5b80635a5fa2d9146106765780635c0cba3314610696578063609d3334146106c957600080fd5b8063529d6a8c11610259578063529d6a8c146105ca57806354fd4d50146105f757806357da950e1461064657600080fd5b80633e3ac912146105545780633fc8cef314610584578063472777c6146105b757600080fd5b806325fc2ace116102ec57806330dbe570116102c657806330dbe570146104ad578063378dd48c146104e557806337b1b229146104ff5780633a7684631461052157600080fd5b806325fc2ace146104595780632810e1d6146104785780632ad69aeb1461048d57600080fd5b8063200d2ed21161031d578063200d2ed2146103d1578063222abf45146103ff578063250e69bd1461043f57600080fd5b8063019351301461034457806303c2924d1461036657806319effeb414610386575b600080fd5b34801561035057600080fd5b5061036461035f36600461529f565b610bca565b005b34801561037257600080fd5b506103646103813660046152fa565b610e89565b34801561039257600080fd5b506000546103b39068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103dd57600080fd5b506000546103f290600160801b900460ff1681565b6040516103c89190615353565b34801561040b57600080fd5b5061042f61041a36600461537b565b600c6020526000908152604090205460ff1681565b60405190151581526020016103c8565b34801561044b57600080fd5b50600a5461042f9060ff1681565b34801561046557600080fd5b506008545b6040519081526020016103c8565b34801561048457600080fd5b506103f2611411565b34801561049957600080fd5b5061046a6104a83660046152fa565b6115e9565b3480156104b957600080fd5b506001546104cd906001600160a01b031681565b6040516001600160a01b0390911681526020016103c8565b3480156104f157600080fd5b50600d546103f29060ff1681565b34801561050b57600080fd5b503660011981013560f01c90033560601c6104cd565b34801561052d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b34801561056057600080fd5b5060005461042f907201000000000000000000000000000000000000900460ff1681565b34801561059057600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b6103646105c5366004615398565b61161f565b3480156105d657600080fd5b5061046a6105e536600461537b565b60036020526000908152604090205481565b34801561060357600080fd5b5060408051808201909152600581527f312e372e3000000000000000000000000000000000000000000000000000000060208201525b6040516103c8919061542f565b34801561065257600080fd5b50600854600954610661919082565b604080519283526020830191909152016103c8565b34801561068257600080fd5b5061046a610691366004615442565b611631565b3480156106a257600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b3480156106d557600080fd5b5061063961166b565b3480156106ea57600080fd5b506103646106f936600461537b565b611679565b34801561070a57600080fd5b503660011981013560f01c90036034013561046a565b34801561072c57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103b3565b610364610761366004615469565b611991565b34801561077257600080fd5b5060095461046a565b34801561078757600080fd5b50610364612332565b61036461079e366004615398565b612751565b61036461275e565b3480156107b757600080fd5b5060025461046a565b3480156107cc57600080fd5b503660011981013560f01c90036054013561046a565b3480156107ee57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b34801561082157600080fd5b50610877610830366004615442565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103c8565b3480156108c157600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103c8565b34801561090257600080fd5b503660011981013560f01c90036014013561046a565b34801561092457600080fd5b506103b3610933366004615442565b612cd7565b34801561094457600080fd5b5061046a61095336600461537b565b600b6020526000908152604090205481565b34801561097157600080fd5b5061046a6109803660046154aa565b612e71565b34801561099157600080fd5b506109a56109a0366004615442565b613032565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103c8565b348015610a0557600080fd5b506000546103b39067ffffffffffffffff1681565b348015610a2657600080fd5b5061046a610a3536600461537b565b6130a6565b348015610a4657600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610a7957600080fd5b50610364610a883660046154d3565b6130fe565b348015610a9957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103b3565b348015610acc57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610aff57600080fd5b5061042f610b0e366004615442565b60046020526000908152604090205460ff1681565b348015610b2f57600080fd5b50610364610b3e366004615398565b61365a565b348015610b4f57600080fd5b50610b58613a40565b6040516103c89392919061555f565b348015610b7357600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610ba657600080fd5b5061042f610bb5366004615442565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610be957610be961531c565b14610c075760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610c5a576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c733660011981013560f01c90036014013590565b90565b610c8a610c853686900386018661559a565b613a9d565b14610cc1576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610cd692919061560e565b604051809103902014610d15576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d5e610d5984848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613af992505050565b613b66565b90506000610d8582600881518110610d7857610d7861561e565b6020026020010151613d1c565b9050602081511115610dc3576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e1a576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610ea857610ea861531c565b14610ec65760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610edb57610edb61561e565b906000526020600020906005020190506000610ef684612cd7565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610f5f576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615610fa8576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000848152600560205260409020805480158015610fc557508515155b1561102857835464010000000090046001600160a01b031660008115610feb5781610ffa565b60018601546001600160a01b03165b90506110068187613dd0565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b031660608301526110ac576001600160801b0360408201526001815260008690036110ac578195505b600086826020015163ffffffff166110c4919061564a565b905060008382116110d557816110d7565b835b602084015190915063ffffffff165b818110156111f75760008682815481106111025761110261561e565b6000918252602080832090910154808352600690915260409091205490915060ff1661115a576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002828154811061116f5761116f61561e565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156111b65750600481015460408701516001600160801b039182169116115b156111e25760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b505080806111ef90615662565b9150506110e6565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361140657606083015160008a8152600660205260409020805460ff191660011790558915801561134357506000547201000000000000000000000000000000000000900460ff165b1561139e576001546001600160a01b031661135e818a613dd0565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611404565b6113cb6001600160a01b038216156113b657816113c5565b60018901546001600160a01b03165b89613dd0565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156114325761143261531c565b146114505760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166114b4576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b031660026000815481106114d3576114d361561e565b600091825260209091206005909102015464010000000090046001600160a01b031614611501576001611504565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b8360028111156115a8576115a861531c565b0217905560028111156115bd576115bd61531c565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061160557600080fd5b90600052602060002001600091509150505481565b905090565b61162c8383836001611991565b505050565b6000818152600760209081526040808320600590925282208054825461166290610100900463ffffffff168261567c565b95945050505050565b606061161a60546020613e12565b611681612332565b60006002600d5460ff16600281111561169c5761169c61531c565b036116c057506001600160a01b0381166000908152600b602052604090205461172f565b6001600d5460ff1660028111156116d9576116d961531c565b036116fd57506001600160a01b03811660009081526003602052604090205461172f565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff1661180c576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b1580156117f057600080fd5b505af1158015611804573d6000803e3d6000fd5b505050505050565b80600003611846576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b1580156118ec57600080fd5b505af1158015611900573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611951576040519150601f19603f3d011682016040523d82523d6000602084013e611956565b606091505b505090508061162c576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054600160801b900460ff1660028111156119b0576119b061531c565b146119ce5760405163067fe19560e41b815260040160405180910390fd5b6000600284815481106119e3576119e361561e565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514611aa7576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000611b3c826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580611b775750611b747f0000000000000000000000000000000000000000000000000000000000000000600261564a565b81145b8015611b81575084155b15611bb8576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015611bde575086155b15611c15576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115611c6f576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c9a7f0000000000000000000000000000000000000000000000000000000000000000600161564a565b8103611cac57611cac86888588613e46565b34611cb683612e71565b14611ced576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611cf888612cd7565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603611d60576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611d8d60017f000000000000000000000000000000000000000000000000000000000000000061567c565b8303611eb1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611df1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e159190615693565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7691906156b0565b611eaa907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166156c9565b9050611f44565b611edc60017f000000000000000000000000000000000000000000000000000000000000000061567c565b8303611f1757611eaa7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff1660026156f5565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b611f78817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615725565b67ffffffffffffffff16611f938367ffffffffffffffff1690565b67ffffffffffffffff161115611fda57611fd7817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615725565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff161561204f576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c81526020019081526020016000206001600280549050612246919061567c565b81546001810183556000928352602080842090910191909155338252600b905260408120805434929061227a90849061564a565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156122dc57600080fd5b505af11580156122f0573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b6002600d5460ff16600281111561234b5761234b61531c565b148061236d57506001600d5460ff16600281111561236b5761236b61531c565b145b1561237457565b6000600d5460ff16600281111561238d5761238d61531c565b146123c4576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612422573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612446919061574e565b1561247d576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff166000036124d9576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015612559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061257d919061574e565b9050806125b6576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561263057600080fd5b505af1925050508015612641575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa1580156126c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126e6919061574e565b9050801561270057600d805460ff1916600117905561270e565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f916127459160ff90911690615353565b60405180910390a15050565b61162c8383836000611991565b60005471010000000000000000000000000000000000900460ff16156127b0576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015612810573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612834919061576b565b909250905081612870576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146128a357639824bdab6000526004601cfd5b803660011981013560f01c90036054013511612901576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b909152918220805491929091612b4290849061564a565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015612ba457600080fd5b505af1158015612bb8573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015612c97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cbb919061578f565b600a805460ff191663ffffffff92909216929092141790555050565b600080600054600160801b900460ff166002811115612cf857612cf861531c565b14612d165760405163067fe19560e41b815260040160405180910390fd5b600060028381548110612d2b57612d2b61561e565b600091825260208220600590910201805490925063ffffffff90811614612d9157815460028054909163ffffffff16908110612d6957612d6961561e565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b6004820154600090612dbc90600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b612dd09067ffffffffffffffff164261567c565b612de6612daf846001600160801b031660401c90565b67ffffffffffffffff16612dfa919061564a565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611612e475780611662565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612eee836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115612f4d576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000612f6883836157cb565b9050670de0b6b3a76400006000612f9f827f00000000000000000000000000000000000000000000000000000000000000006157df565b90506000612fbd612fb8670de0b6b3a7640000866157df565b613fd5565b90506000612fcb8484614227565b90506000612fd98383614276565b90506000612fe6826142a4565b9050600061300582613000670de0b6b3a76400008f6157df565b61448c565b905060006130138b83614276565b905061301f818d6157df565b9f9e505050505050505050505050505050565b6002818154811061304257600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff1660028111156130c1576130c161531c565b036130e257506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b60008054600160801b900460ff16600281111561311d5761311d61531c565b1461313b5760405163067fe19560e41b815260040160405180910390fd5b6000600287815481106131505761315061561e565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506131a67f0000000000000000000000000000000000000000000000000000000000000000600161564a565b613220826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161461325a576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808915613336576132ad7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061567c565b6001901b6132c3846001600160801b03166144bd565b6001600160801b03166132d691906157fe565b1561330a576133016132f260016001600160801b038716615812565b865463ffffffff166000614543565b6003015461332c565b7f00000000000000000000000000000000000000000000000000000000000000005b9150849050613357565b600385015491506133546132f26001600160801b0386166001615832565b90505b600882901b60088a8a60405161336e92919061560e565b6040518091039020901b146133af576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006133ba8c61460c565b905060006133c9836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced3290613436908f908f908f908f908a9060040161589d565b6020604051808303816000875af1158015613455573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061347991906156b0565b600485015491149150600090600290613502906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61357c896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61358691906158d7565b61359091906158fa565b60ff1615905081151581036135d1576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b03161561361b576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008054600160801b900460ff1660028111156136795761367961531c565b146136975760405163067fe19560e41b815260040160405180910390fd5b6000806000806136a68661463b565b935093509350935060006136bc85858585614994565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561371e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137429190615693565b90506001890361380f576001600160a01b0381166352f0f3ad8a846137733660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156137e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061380991906156b0565b50611406565b6002890361382e576001600160a01b0381166352f0f3ad8a8489613773565b6003890361384d576001600160a01b0381166352f0f3ad8a8487613773565b6004890361398257600061388a6001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000614a33565b600954613897919061564a565b6138a290600161564a565b90503660011981013560f01c90036054013581106138cf573660011981013560f01c9003605401356138d1565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015613957573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061397b91906156b0565b5050611406565b60058903613a0e576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a4016137c6565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003660011981013560f01c9003601401356060613a7b61166b565b9050909192565b600081831015613a925781613a94565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001613adc949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003613b48576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000613b7685614ac8565b919450925090506001816001811115613b9157613b9161531c565b14613bc8576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451613bd4838561564a565b14613c0b576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b6040805180820190915260008082526020820152815260200190600190039081613c225790505093506000835b8651811015613d1057600080613c956040518060400160405280858c60000151613c79919061567c565b8152602001858c60200151613c8e919061564a565b9052614ac8565b509150915060405180604001604052808383613cb1919061564a565b8152602001848b60200151613cc6919061564a565b815250888581518110613cdb57613cdb61561e565b6020908102919091010152613cf160018561564a565b9350613cfd818361564a565b613d07908461564a565b92505050613c4f565b50845250919392505050565b60606000806000613d2c85614ac8565b919450925090506000816001811115613d4757613d4761531c565b14613d7e576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613d88828461564a565b855114613dc1576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61166285602001518484614f66565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190613e0990849061564a565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b6000613e5c6001600160801b0384166001615832565b90506000613e6c82866001614543565b9050600086901a8380613f365750613ea560027f00000000000000000000000000000000000000000000000000000000000000006157fe565b6004830154600290613f27906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b613f3191906158fa565b60ff16145b15613f8e5760ff811660011480613f50575060ff81166002145b613f89576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016128f8565b613fcc565b60ff811615613fcc576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016128f8565b50505050505050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b176000821361402b57631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261426457637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b6000816000190483118202156142945763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d782136142d257919050565b680755bf798b4a1bf1e582126142f05763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000613a94670de0b6b3a7640000836144a486613fd5565b6144ae919061591c565b6144b891906159d8565b6142a4565b600080614531837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b600080826145835761457e6001600160801b0386167f0000000000000000000000000000000000000000000000000000000000000000614ffb565b614595565b614595856001600160801b031661513a565b9050600284815481106145aa576145aa61561e565b906000526020600020906005020191505b60048201546001600160801b0382811691161461460457815460028054909163ffffffff169081106145ef576145ef61561e565b906000526020600020906005020191506145bb565b509392505050565b600080600080600061461d8661463b565b935093509350935061463184848484614994565b9695505050505050565b600080600080600085905060006002828154811061465b5761465b61561e565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614710906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161474a576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f0000000000000000000000000000000000000000000000000000000000000000906147ef906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561486457825463ffffffff1661482e7f0000000000000000000000000000000000000000000000000000000000000000600161564a565b8303614838578391505b6002818154811061484b5761484b61561e565b906000526020600020906005020193508094505061474e565b600481810154908401546001600160801b0391821691166000816001600160801b03166148a961489d856001600160801b031660011c90565b6001600160801b031690565b6001600160801b031614905080156149425760006148cf836001600160801b03166144bd565b6001600160801b0316111561491f5760006148ff6148f760016001600160801b038616615812565b896001614543565b6003810154600490910154909c506001600160801b03169a506149259050565b6008549a505b600386015460048701549099506001600160801b03169750614986565b600061495b6148f76001600160801b0385166001615832565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b038416156149ef5760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611662565b8282604051602001614a149291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614aa7847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614b0b576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614b30576000600160009450945094505050614f5f565b60b78111614c46576000614b4560808361567c565b905080876000015111614b84576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614bfc57507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614c33576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614f5f915050565b60bf8111614da4576000614c5b60b78361567c565b905080876000015111614c9a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614cfc576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614d44576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614d4e818461564a565b895111614d87576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614d9283600161564a565b9750955060009450614f5f9350505050565b60f78111614e09576000614db960c08361567c565b905080876000015111614df8576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614f5f915050565b6000614e1660f78361567c565b905080876000015111614e55576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614eb7576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614eff576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f09818461564a565b895111614f42576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f4d83600161564a565b9750955060019450614f5f9350505050565b9193909250565b60608167ffffffffffffffff811115614f8157614f81615584565b6040519080825280601f01601f191660200182016040528015614fab576020820181803683370190505b5090508115614ff4576000614fc0848661564a565b90506020820160005b84811015614fe1578281015182820152602001614fc9565b84811115614ff0576000858301525b5050505b9392505050565b600081615078846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161508e5763b34b5c226000526004601cfd5b6150978361513a565b905081615114826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611613a9757613a9461512a83600161564a565b6001600160801b038316906151c6565b600081196001830116816151b5827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061523a847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261526857600080fd5b50813567ffffffffffffffff81111561528057600080fd5b60208301915083602082850101111561529857600080fd5b9250929050565b600080600083850360a08112156152b557600080fd5b60808112156152c357600080fd5b50839250608084013567ffffffffffffffff8111156152e157600080fd5b6152ed86828701615256565b9497909650939450505050565b6000806040838503121561530d57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061535057634e487b7160e01b600052602160045260246000fd5b50565b6020810161536083615332565b91905290565b6001600160a01b038116811461535057600080fd5b60006020828403121561538d57600080fd5b8135614ff481615366565b6000806000606084860312156153ad57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b818110156153ea576020818501810151868301820152016153ce565b818111156153fc576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000613a9460208301846153c4565b60006020828403121561545457600080fd5b5035919050565b801515811461535057600080fd5b6000806000806080858703121561547f57600080fd5b843593506020850135925060408501359150606085013561549f8161545b565b939692955090935050565b6000602082840312156154bc57600080fd5b81356001600160801b0381168114614ff457600080fd5b600080600080600080608087890312156154ec57600080fd5b8635955060208701356154fe8161545b565b9450604087013567ffffffffffffffff8082111561551b57600080fd5b6155278a838b01615256565b9096509450606089013591508082111561554057600080fd5b5061554d89828a01615256565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061166260608301846153c4565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156155ac57600080fd5b6040516080810181811067ffffffffffffffff821117156155dd57634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561565d5761565d615634565b500190565b6000600019820361567557615675615634565b5060010190565b60008282101561568e5761568e615634565b500390565b6000602082840312156156a557600080fd5b8151614ff481615366565b6000602082840312156156c257600080fd5b5051919050565b600067ffffffffffffffff8083168185168083038211156156ec576156ec615634565b01949350505050565b600067ffffffffffffffff8083168185168183048111821515161561571c5761571c615634565b02949350505050565b600067ffffffffffffffff8381169083168181101561574657615746615634565b039392505050565b60006020828403121561576057600080fd5b8151614ff48161545b565b6000806040838503121561577e57600080fd5b505080516020909101519092909150565b6000602082840312156157a157600080fd5b815163ffffffff81168114614ff457600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826157da576157da6157b5565b500490565b60008160001904831182151516156157f9576157f9615634565b500290565b60008261580d5761580d6157b5565b500690565b60006001600160801b038381169083168181101561574657615746615634565b60006001600160801b038083168185168083038211156156ec576156ec615634565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6060815260006158b1606083018789615854565b82810360208401526158c4818688615854565b9150508260408301529695505050505050565b600060ff821660ff8416808210156158f1576158f1615634565b90039392505050565b600060ff83168061590d5761590d6157b5565b8060ff84160691505092915050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60008413600084138583048511828216161561595d5761595d615634565b7f8000000000000000000000000000000000000000000000000000000000000000600087128682058812818416161561599857615998615634565b600087129250878205871284841616156159b4576159b4615634565b878505871281841616156159ca576159ca615634565b505050929093029392505050565b6000826159e7576159e76157b5565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615a1d57615a1d615634565b50059056fea164736f6c634300080f000a000000000000000000000000000000000000000000000000000000000000000003eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc80000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d4000000000000000000000000007babe08ee4d07dba236530183b24055535a7011000000000000000000000000d3683e4947a7769603ab6418ec02f000ce3cf30b0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153550000000000000000000000000000000000000000000000000000000000014a34\"\n        }\n      ],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x15a6f48\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x00000000000000000000000093dc480940585d9961bfceab58124ffd3d60f76a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000340000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001a482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000003bb6437aba031afbf9cb3538fa064161e2bf2d780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4ff2dd5a100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f303eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d800000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000018000000000000000000000000cd57f7ec19baa45293ebc5e62fe500edf961b2250000000000000000000000000000000000000000000000000000000000000002\",\n          \"blockHash\": \"0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34\",\n          \"blockNumber\": \"0x8d43b2\",\n          \"transactionHash\": \"0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d\",\n          \"transactionIndex\": \"0x3f\",\n          \"logIndex\": \"0x49\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34\",\n          \"blockNumber\": \"0x8d43b2\",\n          \"transactionHash\": \"0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d\",\n          \"transactionIndex\": \"0x3f\",\n          \"logIndex\": \"0x4a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34\",\n          \"blockNumber\": \"0x8d43b2\",\n          \"transactionHash\": \"0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d\",\n          \"transactionIndex\": \"0x3f\",\n          \"logIndex\": \"0x4b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34\",\n          \"blockNumber\": \"0x8d43b2\",\n          \"transactionHash\": \"0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d\",\n          \"transactionIndex\": \"0x3f\",\n          \"logIndex\": \"0x4c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x2ff5cc82dbf333ea30d8ee462178ab1707315355\",\n          \"topics\": [\n            \"0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3\",\n          \"blockHash\": \"0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34\",\n          \"blockNumber\": \"0x8d43b2\",\n          \"transactionHash\": \"0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d\",\n          \"transactionIndex\": \"0x3f\",\n          \"logIndex\": \"0x4d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x2ff5cc82dbf333ea30d8ee462178ab1707315355\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34\",\n          \"blockNumber\": \"0x8d43b2\",\n          \"transactionHash\": \"0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d\",\n          \"transactionIndex\": \"0x3f\",\n          \"logIndex\": \"0x4e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x2ff5cc82dbf333ea30d8ee462178ab1707315355\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34\",\n          \"blockNumber\": \"0x8d43b2\",\n          \"transactionHash\": \"0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d\",\n          \"transactionIndex\": \"0x3f\",\n          \"logIndex\": \"0x4f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x49f53e41452c74589e85ca1677426ba426459e85\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34\",\n          \"blockNumber\": \"0x8d43b2\",\n          \"transactionHash\": \"0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d\",\n          \"transactionIndex\": \"0x3f\",\n          \"logIndex\": \"0x50\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x49f53e41452c74589e85ca1677426ba426459e85\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34\",\n          \"blockNumber\": \"0x8d43b2\",\n          \"transactionHash\": \"0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d\",\n          \"transactionIndex\": \"0x3f\",\n          \"logIndex\": \"0x51\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x709c2b8ef4a9fefc629a8a2c1af424dc5bd6ad1b\",\n          \"topics\": [\n            \"0x9416a153a346f93d95f94b064ae3f148b6460473c6e82b3f9fc2521b873fcd6c\",\n            \"0x3b4a6791a6879d27c0ceeea3f78f8ebe66a01905f4a1290a8c6aff3e85f4665a\"\n          ],\n          \"data\": \"0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d60000000000000000000000005d5a095665886119693f0b41d8dfee78da033e8b\",\n          \"blockHash\": \"0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34\",\n          \"blockNumber\": \"0x8d43b2\",\n          \"transactionHash\": \"0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d\",\n          \"transactionIndex\": \"0x3f\",\n          \"logIndex\": \"0x52\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc34855f4de64f1840e5686e64278da901e261f20\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34\",\n          \"blockNumber\": \"0x8d43b2\",\n          \"transactionHash\": \"0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d\",\n          \"transactionIndex\": \"0x3f\",\n          \"logIndex\": \"0x53\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xfd0bf71f60660e2f608ed56e1659c450eb113120\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34\",\n          \"blockNumber\": \"0x8d43b2\",\n          \"transactionHash\": \"0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d\",\n          \"transactionIndex\": \"0x3f\",\n          \"logIndex\": \"0x54\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x21efd066e581fa55ef105170cc04d74386a09190\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34\",\n          \"blockNumber\": \"0x8d43b2\",\n          \"transactionHash\": \"0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d\",\n          \"transactionIndex\": \"0x3f\",\n          \"logIndex\": \"0x55\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x21efd066e581fa55ef105170cc04d74386a09190\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34\",\n          \"blockNumber\": \"0x8d43b2\",\n          \"transactionHash\": \"0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d\",\n          \"transactionIndex\": \"0x3f\",\n          \"logIndex\": \"0x56\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x32ce910d9c6c8f78dc6779c1499ab05f281a054e\",\n          \"topics\": [\n            \"0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3\",\n          \"blockHash\": \"0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34\",\n          \"blockNumber\": \"0x8d43b2\",\n          \"transactionHash\": \"0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d\",\n          \"transactionIndex\": \"0x3f\",\n          \"logIndex\": \"0x57\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x32ce910d9c6c8f78dc6779c1499ab05f281a054e\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34\",\n          \"blockNumber\": \"0x8d43b2\",\n          \"transactionHash\": \"0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d\",\n          \"transactionIndex\": \"0x3f\",\n          \"logIndex\": \"0x58\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x32ce910d9c6c8f78dc6779c1499ab05f281a054e\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34\",\n          \"blockNumber\": \"0x8d43b2\",\n          \"transactionHash\": \"0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d\",\n          \"transactionIndex\": \"0x3f\",\n          \"logIndex\": \"0x59\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n          \"topics\": [\n            \"0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de\",\n            \"0x000000000000000000000000217e725700de4dc599360adbd57dbb7de280817e\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000001\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34\",\n          \"blockNumber\": \"0x8d43b2\",\n          \"transactionHash\": \"0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d\",\n          \"transactionIndex\": \"0x3f\",\n          \"logIndex\": \"0x5a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd3683e4947a7769603ab6418ec02f000ce3cf30b\",\n          \"topics\": [\n            \"0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3\",\n          \"blockHash\": \"0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34\",\n          \"blockNumber\": \"0x8d43b2\",\n          \"transactionHash\": \"0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d\",\n          \"transactionIndex\": \"0x3f\",\n          \"logIndex\": \"0x5b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd3683e4947a7769603ab6418ec02f000ce3cf30b\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34\",\n          \"blockNumber\": \"0x8d43b2\",\n          \"transactionHash\": \"0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d\",\n          \"transactionIndex\": \"0x3f\",\n          \"logIndex\": \"0x5c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd3683e4947a7769603ab6418ec02f000ce3cf30b\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34\",\n          \"blockNumber\": \"0x8d43b2\",\n          \"transactionHash\": \"0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d\",\n          \"transactionIndex\": \"0x3f\",\n          \"logIndex\": \"0x5d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n          \"topics\": [\n            \"0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de\",\n            \"0x00000000000000000000000032b37bbd2c81e853ea098ce45856ae305df10dd1\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34\",\n          \"blockNumber\": \"0x8d43b2\",\n          \"transactionHash\": \"0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d\",\n          \"transactionIndex\": \"0x3f\",\n          \"logIndex\": \"0x5e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x78bc67b9bf548ef6410becd31a3e10b9ea6c255974ef6b4530728b431df30030\",\n            \"0x0000000000000000000000000000000000000000000000000000000000014a34\",\n            \"0x000000000000000000000000f272670eb55e895584501d564afeb048bed26194\",\n            \"0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34\",\n          \"blockNumber\": \"0x8d43b2\",\n          \"transactionHash\": \"0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d\",\n          \"transactionIndex\": \"0x3f\",\n          \"logIndex\": \"0x5f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x38088b006efbd2e14694c61a6603bd579955beee666fc83a3674ed8e6e8087350000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34\",\n          \"blockNumber\": \"0x8d43b2\",\n          \"transactionHash\": \"0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d\",\n          \"transactionIndex\": \"0x3f\",\n          \"logIndex\": \"0x60\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x000000004006000800800000000000004020000000000000000000800c4002000000000200000000000000000000000000000000000000200000010000048100000081120410000808000001004002000000040000840000000000001000000040000000020100000000028024000800000000810020000080000000000008200000210000400800000000000208000008040020000081000000080080800000000000000400004100000100000404020000100000410000040000800000000000080020000010080000000000060002100000000c00200001010422400060000000000000442000000000000000000000000000000000000000000000000100\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d\",\n      \"transactionIndex\": \"0x3f\",\n      \"blockHash\": \"0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34\",\n      \"blockNumber\": \"0x8d43b2\",\n      \"gasUsed\": \"0xb853f4\",\n      \"effectiveGasPrice\": \"0xf74f9\",\n      \"blobGasUsed\": \"0x0\",\n      \"from\": \"0xcd57f7ec19baa45293ebc5e62fe500edf961b225\",\n      \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {\n    \"0\": {\n      \"internal_type\": \"struct VmSafe.AccountAccess[]\",\n      \"value\": \"[((0, 11155111), 8, 0x7109709ECfa91a80626fF3989D68f67F5b1DD12D, 0x5b73C5498c1E3b4dbA84de0F1833c4a029d90519, true, 0, 0, 0x, 0, 0x, false, [], 1), ((0, 11155111), 0, 0x0fe884546476dDd290eC46318785046ef68a0BA9, 0xCd57F7ec19baA45293EBC5e62fE500EDf961b225, true, 2645212231990000, 2645212231990000, 0x, 0, 0x6a76120200000000000000000000000093dc480940585d9961bfceab58124ffd3d60f76a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000001a482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000003bb6437aba031afbf9cb3538fa064161e2bf2d780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4ff2dd5a100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f303eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000, false, [(0x0fe884546476dDd290eC46318785046ef68a0BA9, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x000000000000000000000000fb1bffc9d739b8d520daf37df666da4c687191ea, 0x000000000000000000000000fb1bffc9d739b8d520daf37df666da4c687191ea, false)], 1), ((0, 11155111), 1, 0xfb1bffC9d739B8D520DaF37dF666da4C687191EA, 0xCd57F7ec19baA45293EBC5e62fE500EDf961b225, true, 2645212231990000, 2645212231990000, 0x, 0, 0x6a76120200000000000000000000000093dc480940585d9961bfceab58124ffd3d60f76a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000001a482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000003bb6437aba031afbf9cb3538fa064161e2bf2d780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4ff2dd5a100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f303eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000, false, [(0x0fe884546476dDd290eC46318785046ef68a0BA9, 0x0000000000000000000000000000000000000000000000000000000000000005, false, 0x0000000000000000000000000000000000000000000000000000000000000018, 0x0000000000000000000000000000000000000000000000000000000000000018, false), (0x0fe884546476dDd290eC46318785046ef68a0BA9, 0x0000000000000000000000000000000000000000000000000000000000000004, false, 0x0000000000000000000000000000000000000000000000000000000000000002, 0x0000000000000000000000000000000000000000000000000000000000000002, false), (0x0fe884546476dDd290eC46318785046ef68a0BA9, 0x0000000000000000000000000000000000000000000000000000000000000005, false, 0x0000000000000000000000000000000000000000000000000000000000000018, 0x0000000000000000000000000000000000000000000000000000000000000018, false), (0x0fe884546476dDd290eC46318785046ef68a0BA9, 0x0000000000000000000000000000000000000000000000000000000000000005, false, 0x0000000000000000000000000000000000000000000000000000000000000018, 0x0000000000000000000000000000000000000000000000000000000000000018, false), (0x0fe884546476dDd290eC46318785046ef68a0BA9, 0x0000000000000000000000000000000000000000000000000000000000000005, true, 0x0000000000000000000000000000000000000000000000000000000000000018, 0x0000000000000000000000000000000000000000000000000000000000000019, false), (0x0fe884546476dDd290eC46318785046ef68a0BA9, 0x0000000000000000000000000000000000000000000000000000000000000004, false, 0x0000000000000000000000000000000000000000000000000000000000000002, 0x0000000000000000000000000000000000000000000000000000000000000002, false), (0x0fe884546476dDd290eC46318785046ef68a0BA9, 0xf2bbbeb1826921cbddfd00e626fa8ba949fbcef64056b814959151cf996c2935, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x0fe884546476dDd290eC46318785046ef68a0BA9, 0xda056de0e460c75e5163abc19a3eb1ec6a9ada3e95462ea3fc0925b123fc73d9, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x0fe884546476dDd290eC46318785046ef68a0BA9, 0x558c5af92cc007f6979df06dadbfed6701df2ae48b8f8771b867aa10f78aa652, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x0fe884546476dDd290eC46318785046ef68a0BA9, 0x2146980ccf4a7741c01fd860f90d2fab597ba25316f4b73d17092ab48b2eb5ce, false, 0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a, 0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a, false), (0x0fe884546476dDd290eC46318785046ef68a0BA9, 0x4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c8, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 2), ((0, 11155111), 1, 0x93dc480940585D9961bfcEab58124fFD3d60f76a, 0xCd57F7ec19baA45293EBC5e62fE500EDf961b225, true, 2645212231990000, 2645212231990000, 0x, 0, 0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000003bb6437aba031afbf9cb3538fa064161e2bf2d780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4ff2dd5a100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f303eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc800000000000000000000000000000000000000000000000000000000, false, [], 3), ((0, 11155111), 1, 0x3Bb6437ABa031AFBF9CB3538Fa064161E2bf2d78, 0xCd57F7ec19baA45293EBC5e62fE500EDf961b225, true, 2645212231990000, 2645212231990000, 0x, 0, 0xff2dd5a100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f303eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc8, false, [], 4), ((0, 11155111), 1, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, 0xCd57F7ec19baA45293EBC5e62fE500EDf961b225, true, 2645212231990000, 2645212231990000, 0x, 0, 0xff2dd5a100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f303eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc8, false, [], 5), ((0, 11155111), 3, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x30e9012c, false, [], 6), ((0, 11155111), 3, 0x10596fE51861c5D3865568278270B1DF050Ee547, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, true, 0, 0, 0x, 0, 0x30e9012c, false, [(0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000d, false, 0x000000000000000000000000ce28685eb204186b557133766eca00334eb441e4, 0x000000000000000000000000ce28685eb204186b557133766eca00334eb441e4, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000e, false, 0x00000000000000000000000037e15e4d6dffa9e5e320ee1ec036922e563cb76c, 0x00000000000000000000000037e15e4d6dffa9e5e320ee1ec036922e563cb76c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000f, false, 0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696, 0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000010, false, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000011, false, 0x000000000000000000000000b0eb854fd842e0e564d49d2fe6b2ac25d035523c, 0x000000000000000000000000b0eb854fd842e0e564d49d2fe6b2ac25d035523c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000012, false, 0x000000000000000000000000784d2f03593a42a6e4676a012762f18775ecbbe6, 0x000000000000000000000000784d2f03593a42a6e4676a012762f18775ecbbe6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000013, false, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000014, false, 0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f, 0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000015, false, 0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6, 0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000016, false, 0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, 0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000017, false, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000018, false, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000019, false, 0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998, 0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000001a, false, 0x00000000000000000000000007babe08ee4d07dba236530183b24055535a7011, 0x00000000000000000000000007babe08ee4d07dba236530183b24055535a7011, false)], 7), ((0, 11155111), 8, 0xf272670eb55e895584501d564AfEB048bEd26194, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 8, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 3, 0xf272670eb55e895584501d564AfEB048bEd26194, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x0a49cb03, false, [(0xf272670eb55e895584501d564AfEB048bEd26194, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000fda350e8038728b689976d4a9e8a318400a150c5, 0x000000000000000000000000fda350e8038728b689976d4a9e8a318400a150c5, false)], 6), ((0, 11155111), 1, 0xfdA350e8038728B689976D4A9E8A318400A150C5, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x0a49cb03, false, [(0xf272670eb55e895584501d564AfEB048bEd26194, 0x4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ac, false, 0x00000000000000000000000049f53e41452c74589e85ca1677426ba426459e85, 0x00000000000000000000000049f53e41452c74589e85ca1677426ba426459e85, false)], 7), ((0, 11155111), 3, 0x49f53e41452C74589E85cA1677426Ba426459e85, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 1150428230307645607463903, 1150428230307645607463903, 0x, 0, 0x35e80ab3, false, [(0x49f53e41452C74589E85cA1677426Ba426459e85, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000b443da3e07052204a02d630a8933dac05a0d6fb4, 0x000000000000000000000000b443da3e07052204a02d630a8933dac05a0d6fb4, false)], 6), ((0, 11155111), 1, 0xB443Da3e07052204A02d630a8933dAc05a0d6fB4, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 1150428230307645607463903, 1150428230307645607463903, 0x, 0, 0x35e80ab3, false, [(0x49f53e41452C74589E85cA1677426Ba426459e85, 0x0000000000000000000000000000000000000000000000000000000000000035, false, 0x0000000000000000000000c2be75506d5724086deb7245bd260cc9753911be00, 0x0000000000000000000000c2be75506d5724086deb7245bd260cc9753911be00, false)], 7), ((0, 11155111), 3, 0xC2Be75506d5724086DEB7245bd260Cc9753911Be, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x54fd4d50, false, [(0xC2Be75506d5724086DEB7245bd260Cc9753911Be, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000ce28685eb204186b557133766eca00334eb441e4, 0x000000000000000000000000ce28685eb204186b557133766eca00334eb441e4, false)], 6), ((0, 11155111), 1, 0xCe28685EB204186b557133766eCA00334EB441E4, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x54fd4d50, false, [], 7), ((0, 11155111), 3, 0xCe28685EB204186b557133766eCA00334EB441E4, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x54fd4d50, false, [], 6), ((0, 11155111), 3, 0xf272670eb55e895584501d564AfEB048bEd26194, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0xf272670eb55e895584501d564AfEB048bEd26194, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000fda350e8038728b689976d4a9e8a318400a150c5, 0x000000000000000000000000fda350e8038728b689976d4a9e8a318400a150c5, false)], 6), ((0, 11155111), 1, 0xfdA350e8038728B689976D4A9E8A318400A150C5, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0xf272670eb55e895584501d564AfEB048bEd26194, 0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906, false, 0x000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1, 0x000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1, false)], 7), ((0, 11155111), 8, 0x33D1e8571a85a538ed3D5A4d88f46C112383439D, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 8, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 0, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x99a88ec4000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false, [(0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, false), (0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x036723db289c38b166a11a0b9dd57a1451c4c87ca346237156f58cad15cfb7b5, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 6), ((0, 11155111), 8, 0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0x, false, [], 7), ((0, 11155111), 0, 0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0x3659cfe600000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false, [(0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false), (0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, true, 0x0000000000000000000000004bba758f006ef09402ef31724203f316ab74e4a0, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false)], 7), ((0, 11155111), 3, 0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x1b685b9e0000000000000000000000000000000000000000000000000000000000000001, false, [(0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false)], 6), ((0, 11155111), 1, 0x33D1e8571a85a538ed3D5A4d88f46C112383439D, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x1b685b9e0000000000000000000000000000000000000000000000000000000000000001, false, [(0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e, false, 0x000000000000000000000000f0102ffe22649a5421d53acc96e309660960cf44, 0x000000000000000000000000f0102ffe22649a5421d53acc96e309660960cf44, false)], 7), ((0, 11155111), 3, 0xF0102fFe22649A5421D53aCC96E309660960cF44, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xd6ae3cd5, false, [], 6), ((0, 11155111), 8, 0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 8, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 0, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x9623609d000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a55700000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044028f4e470000000000000000000000000000000000000000000000000000000000014a34000000000000000000000000c2be75506d5724086deb7245bd260cc9753911be00000000000000000000000000000000000000000000000000000000, false, [(0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, false), (0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x862ac04ffb5d6e496959459d5c02c9d865119871919c87f3554eab282e6ab7d6, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 6), ((0, 11155111), 0, 0xf272670eb55e895584501d564AfEB048bEd26194, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0x4f1ef2860000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a55700000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000044028f4e470000000000000000000000000000000000000000000000000000000000014a34000000000000000000000000c2be75506d5724086deb7245bd260cc9753911be00000000000000000000000000000000000000000000000000000000, false, [(0xf272670eb55e895584501d564AfEB048bEd26194, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false), (0xf272670eb55e895584501d564AfEB048bEd26194, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, true, 0x000000000000000000000000fda350e8038728b689976d4a9e8a318400a150c5, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, false)], 7), ((0, 11155111), 1, 0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0x028f4e470000000000000000000000000000000000000000000000000000000000014a34000000000000000000000000c2be75506d5724086deb7245bd260cc9753911be, false, [(0xf272670eb55e895584501d564AfEB048bEd26194, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0xf272670eb55e895584501d564AfEB048bEd26194, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0xf272670eb55e895584501d564AfEB048bEd26194, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0xf272670eb55e895584501d564AfEB048bEd26194, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000103, false), (0xf272670eb55e895584501d564AfEB048bEd26194, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false), (0xf272670eb55e895584501d564AfEB048bEd26194, 0x000000000000000000000000000000000000000000000000000000000000006b, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000014a34, false), (0xf272670eb55e895584501d564AfEB048bEd26194, 0x000000000000000000000000000000000000000000000000000000000000006c, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0xf272670eb55e895584501d564AfEB048bEd26194, 0x000000000000000000000000000000000000000000000000000000000000006c, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x000000000000000000000000c2be75506d5724086deb7245bd260cc9753911be, false), (0xf272670eb55e895584501d564AfEB048bEd26194, 0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906, true, 0x000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0xf272670eb55e895584501d564AfEB048bEd26194, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000103, 0x0000000000000000000000000000000000000000000000000000000000000103, false), (0xf272670eb55e895584501d564AfEB048bEd26194, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000103, 0x0000000000000000000000000000000000000000000000000000000000000003, false)], 8), ((0, 11155111), 3, 0x49f53e41452C74589E85cA1677426Ba426459e85, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 1150428230307645607463903, 1150428230307645607463903, 0x, 0, 0x5c0cba33, true, [(0x49f53e41452C74589E85cA1677426Ba426459e85, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000b443da3e07052204a02d630a8933dac05a0d6fb4, 0x000000000000000000000000b443da3e07052204a02d630a8933dac05a0d6fb4, true)], 6), ((0, 11155111), 1, 0xB443Da3e07052204A02d630a8933dAc05a0d6fB4, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 1150428230307645607463903, 1150428230307645607463903, 0x, 0, 0x5c0cba33, true, [], 7), ((0, 11155111), 3, 0x49f53e41452C74589E85cA1677426Ba426459e85, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 1150428230307645607463903, 1150428230307645607463903, 0x, 0, 0x3c9f397c, false, [(0x49f53e41452C74589E85cA1677426Ba426459e85, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000b443da3e07052204a02d630a8933dac05a0d6fb4, 0x000000000000000000000000b443da3e07052204a02d630a8933dac05a0d6fb4, false)], 6), ((0, 11155111), 1, 0xB443Da3e07052204A02d630a8933dAc05a0d6fB4, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 1150428230307645607463903, 1150428230307645607463903, 0x, 0, 0x3c9f397c, false, [(0x49f53e41452C74589E85cA1677426Ba426459e85, 0x000000000000000000000000000000000000000000000000000000000000003b, false, 0x000000000000000000000000000000000000000000000000669fd84800000000, 0x000000000000000000000000000000000000000000000000669fd84800000000, false)], 7), ((0, 11155111), 3, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [], 6), ((0, 11155111), 3, 0x10596fE51861c5D3865568278270B1DF050Ee547, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [(0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000001, false, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000002, false, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000004, false, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000005, false, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000006, false, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000007, false, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000008, false, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000009, false, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000a, false, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000b, false, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000c, false, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, false)], 7), ((0, 11155111), 8, 0xA643EA8ee60D92f615eC70AF0248c449bBCEcF4d, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 10, 0xA643EA8ee60D92f615eC70AF0248c449bBCEcF4d, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 3, 0x0000000000000000000000000000000000000004, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 613037898440193504, 613037898440193504, 0x, 0, 0x608060405234801561001057600080fd5b5060405161091f38038061091f83398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206108ff8339815191525490565b6000805160206108ff833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61080b806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, [], 6), ((0, 11155111), 4, 0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000a, 0, 0x608060405234801561001057600080fd5b5060405161091f38038061091f83398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206108ff8339815191525490565b6000805160206108ff833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61080b806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61030000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false, [(0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false)], 6), ((0, 11155111), 3, 0xF0102fFe22649A5421D53aCC96E309660960cF44, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x5c0cba33, false, [], 6), ((0, 11155111), 3, 0x0729957c92A1F50590A84cb2D65D761093f3f8eB, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x7258a8070000000000000000000000000000000000000000000000000000000000000000, false, [(0x0729957c92A1F50590A84cb2D65D761093f3f8eB, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x0000000000000000000000007b465370bb7a333f99edd19599eb7fb1c2d3f8d2, 0x0000000000000000000000007b465370bb7a333f99edd19599eb7fb1c2d3f8d2, false)], 6), ((0, 11155111), 1, 0x7b465370BB7A333f99edd19599EB7Fb1c2D3F8D2, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x7258a8070000000000000000000000000000000000000000000000000000000000000000, false, [(0x0729957c92A1F50590A84cb2D65D761093f3f8eB, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x0000000000000000000000002784de572c26e3394f30079a09f47cc03ff89d77, 0x0000000000000000000000002784de572c26e3394f30079a09f47cc03ff89d77, false), (0x0729957c92A1F50590A84cb2D65D761093f3f8eB, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x0000000000000000000000002784de572c26e3394f30079a09f47cc03ff89d77, 0x0000000000000000000000002784de572c26e3394f30079a09f47cc03ff89d77, false)], 7), ((0, 11155111), 3, 0x2784De572c26E3394f30079A09F47cc03FF89d77, 0x0729957c92A1F50590A84cb2D65D761093f3f8eB, true, 0, 0, 0x, 0, 0xbcef3b55, false, [], 8), ((0, 11155111), 1, 0xCFcE7DD673fBbbFfD16Ab936B7245A2f2dB31C9a, 0x0729957c92A1F50590A84cb2D65D761093f3f8eB, true, 0, 0, 0x, 0, 0xbcef3b55037637067c1dbe6d2430616d8f54cb774daa599910283d1a23d115b2de66adf6ae7e08f50f7c9c7808c3017d6160c853a385668ab3f0fe6cc40b127faccb2d3035a39df941c6ea731c44fffc2d530de7936e85030000000000000000000000000000000000000000000000000000000001da84580076, false, [], 9), ((0, 11155111), 6, 0x7b465370BB7A333f99edd19599EB7Fb1c2D3F8D2, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [(0x0729957c92A1F50590A84cb2D65D761093f3f8eB, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x0000000000000000000000002784de572c26e3394f30079a09f47cc03ff89d77, 0x0000000000000000000000002784de572c26e3394f30079a09f47cc03ff89d77, false)], 7), ((0, 11155111), 3, 0x2784De572c26E3394f30079A09F47cc03FF89d77, 0x0729957c92A1F50590A84cb2D65D761093f3f8eB, true, 0, 0, 0x, 0, 0x8b85902b, false, [], 8), ((0, 11155111), 1, 0xCFcE7DD673fBbbFfD16Ab936B7245A2f2dB31C9a, 0x0729957c92A1F50590A84cb2D65D761093f3f8eB, true, 0, 0, 0x, 0, 0x8b85902b037637067c1dbe6d2430616d8f54cb774daa599910283d1a23d115b2de66adf6ae7e08f50f7c9c7808c3017d6160c853a385668ab3f0fe6cc40b127faccb2d3035a39df941c6ea731c44fffc2d530de7936e85030000000000000000000000000000000000000000000000000000000001da84580076, false, [], 9), ((0, 11155111), 8, 0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 8, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 0, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x9623609d0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a447a222c5000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e110283d1a23d115b2de66adf6ae7e08f50f7c9c7808c3017d6160c853a385668a0000000000000000000000000000000000000000000000000000000001da8458000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, false, [(0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, false), (0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0xe703bf7ebca1d010d044163e36bc343b75cc35dd2dee1492dd8442eff950cbe3, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 6), ((0, 11155111), 0, 0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0x4f1ef286000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a447a222c5000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e110283d1a23d115b2de66adf6ae7e08f50f7c9c7808c3017d6160c853a385668a0000000000000000000000000000000000000000000000000000000001da8458000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, false, [(0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false), (0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, false)], 7), ((0, 11155111), 1, 0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0x47a222c5000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e110283d1a23d115b2de66adf6ae7e08f50f7c9c7808c3017d6160c853a385668a0000000000000000000000000000000000000000000000000000000001da84580000000000000000000000000000000000000000000000000000000000000000, false, [(0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000101, false), (0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false), (0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000101, 0x0000000000000000000000000000000000000000000000000000000000000101, false), (0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x0000000000000000000000000000000000000000000000000000000000000001, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x0000000000000000000000000000000000000000000000000000000000000001, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1, false), (0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x0000000000000000000000000000000000000000000000000000000000000003, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x10283d1a23d115b2de66adf6ae7e08f50f7c9c7808c3017d6160c853a385668a, false), (0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x0000000000000000000000000000000000000000000000000000000000000004, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000001da8458, false), (0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x0000000000000000000000000000000000000000000000000000000000000006, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x0000000000000000000000000000000000000000000000000000000000000006, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x00000000000000000000000000000000000000000000000068d1a4f000000000, false), (0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000101, 0x00000000000000000000f272670eb55e895584501d564afeb048bed261940001, false)], 8), ((0, 11155111), 3, 0x49f53e41452C74589E85cA1677426Ba426459e85, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 1150428230307645607463903, 1150428230307645607463903, 0x, 0, 0xb682c444, true, [(0x49f53e41452C74589E85cA1677426Ba426459e85, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000b443da3e07052204a02d630a8933dac05a0d6fb4, 0x000000000000000000000000b443da3e07052204a02d630a8933dac05a0d6fb4, true)], 6), ((0, 11155111), 1, 0xB443Da3e07052204A02d630a8933dAc05a0d6fB4, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 1150428230307645607463903, 1150428230307645607463903, 0x, 0, 0xb682c444, true, [], 7), ((0, 11155111), 3, 0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x78ecabce0000000000000000000000000000000000000000000000000000000000000001, false, [], 6), ((0, 11155111), 8, 0x381E729FF983FA4BCEd820e7b922d79bF653B999, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 8, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 0, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x99a88ec400000000000000000000000049f53e41452c74589e85ca1677426ba426459e85000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, false, [(0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, false), (0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0xce985a546c068dd561c5b2037f60a829819f2e723060101d9b471a9c215600e3, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 6), ((0, 11155111), 8, 0x49f53e41452C74589E85cA1677426Ba426459e85, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 1150428230307645607463903, 1150428230307645607463903, 0x, 0, 0x, false, [], 7), ((0, 11155111), 0, 0x49f53e41452C74589E85cA1677426Ba426459e85, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 1150428230307645607463903, 1150428230307645607463903, 0x, 0, 0x3659cfe6000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, false, [(0x49f53e41452C74589E85cA1677426Ba426459e85, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false), (0x49f53e41452C74589E85cA1677426Ba426459e85, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, true, 0x000000000000000000000000b443da3e07052204a02d630a8933dac05a0d6fb4, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, false)], 7), ((0, 11155111), 8, 0x49f53e41452C74589E85cA1677426Ba426459e85, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 1150428230307645607463903, 1150428230307645607463903, 0x, 0, 0x, false, [], 6), ((0, 11155111), 0, 0x49f53e41452C74589E85cA1677426Ba426459e85, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 1150428230307645607463903, 1150428230307645607463903, 0x, 0, 0x0900f0100000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355, false, [(0x49f53e41452C74589E85cA1677426Ba426459e85, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, false)], 6), ((0, 11155111), 1, 0x381E729FF983FA4BCEd820e7b922d79bF653B999, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 1150428230307645607463903, 1150428230307645607463903, 0x, 0, 0x0900f0100000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355, false, [(0x49f53e41452C74589E85cA1677426Ba426459e85, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x49f53e41452C74589E85cA1677426Ba426459e85, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x49f53e41452C74589E85cA1677426Ba426459e85, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x49f53e41452C74589E85cA1677426Ba426459e85, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000103, false), (0x49f53e41452C74589E85cA1677426Ba426459e85, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false), (0x49f53e41452C74589E85cA1677426Ba426459e85, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false)], 7), ((0, 11155111), 3, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x49f53e41452C74589E85cA1677426Ba426459e85, true, 0, 0, 0x, 0, 0x8da5cb5b, false, [(0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, false)], 8), ((0, 11155111), 6, 0x381E729FF983FA4BCEd820e7b922d79bF653B999, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [(0x49f53e41452C74589E85cA1677426Ba426459e85, 0x0000000000000000000000000000000000000000000000000000000000000037, false, 0x000000000000000000000000f272670eb55e895584501d564afeb048bed26194, 0x000000000000000000000000f272670eb55e895584501d564afeb048bed26194, false)], 7), ((0, 11155111), 3, 0xf272670eb55e895584501d564AfEB048bEd26194, 0x49f53e41452C74589E85cA1677426Ba426459e85, true, 0, 0, 0x, 0, 0x47af267b4554485f4c4f434b424f58000000000000000000000000000000000000000000, false, [(0xf272670eb55e895584501d564AfEB048bEd26194, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, false)], 8), ((0, 11155111), 1, 0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557, 0x49f53e41452C74589E85cA1677426Ba426459e85, true, 0, 0, 0x, 0, 0x47af267b4554485f4c4f434b424f58000000000000000000000000000000000000000000, false, [(0xf272670eb55e895584501d564AfEB048bEd26194, 0x58e88e949bd180ff86d6c072735c3d8d5a05a543c16130176ec0bc0adf3fd806, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 9), ((0, 11155111), 6, 0x381E729FF983FA4BCEd820e7b922d79bF653B999, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [(0x49f53e41452C74589E85cA1677426Ba426459e85, 0x0000000000000000000000000000000000000000000000000000000000000037, false, 0x000000000000000000000000f272670eb55e895584501d564afeb048bed26194, 0x000000000000000000000000f272670eb55e895584501d564afeb048bed26194, false)], 7), ((0, 11155111), 3, 0xf272670eb55e895584501d564AfEB048bEd26194, 0x49f53e41452C74589E85cA1677426Ba426459e85, true, 0, 0, 0x, 0, 0x47af267b4554485f4c4f434b424f58000000000000000000000000000000000000000000, false, [(0xf272670eb55e895584501d564AfEB048bEd26194, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, false)], 8), ((0, 11155111), 1, 0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557, 0x49f53e41452C74589E85cA1677426Ba426459e85, true, 0, 0, 0x, 0, 0x47af267b4554485f4c4f434b424f58000000000000000000000000000000000000000000, false, [(0xf272670eb55e895584501d564AfEB048bEd26194, 0x58e88e949bd180ff86d6c072735c3d8d5a05a543c16130176ec0bc0adf3fd806, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 9), ((0, 11155111), 6, 0x381E729FF983FA4BCEd820e7b922d79bF653B999, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [(0x49f53e41452C74589E85cA1677426Ba426459e85, 0x000000000000000000000000000000000000000000000000000000000000003f, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x49f53e41452C74589E85cA1677426Ba426459e85, 0x000000000000000000000000000000000000000000000000000000000000003e, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x49f53e41452C74589E85cA1677426Ba426459e85, 0x000000000000000000000000000000000000000000000000000000000000003e, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355, false), (0x49f53e41452C74589E85cA1677426Ba426459e85, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000103, 0x0000000000000000000000000000000000000000000000000000000000000103, false), (0x49f53e41452C74589E85cA1677426Ba426459e85, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000103, 0x0000000000000000000000000000000000000000000000000000000000000003, false)], 7), ((0, 11155111), 3, 0xf272670eb55e895584501d564AfEB048bEd26194, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xa39fac12, false, [(0xf272670eb55e895584501d564AfEB048bEd26194, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, false)], 6), ((0, 11155111), 1, 0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xa39fac12, false, [(0xf272670eb55e895584501d564AfEB048bEd26194, 0x383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580636, false, 0x000000000000000000000000c34855f4de64f1840e5686e64278da901e261f20, 0x000000000000000000000000c34855f4de64f1840e5686e64278da901e261f20, false), (0xf272670eb55e895584501d564AfEB048bEd26194, 0x46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a7, false, 0x00000000000000000000000021efd066e581fa55ef105170cc04d74386a09190, 0x00000000000000000000000021efd066e581fa55ef105170cc04d74386a09190, false), (0xf272670eb55e895584501d564AfEB048bEd26194, 0x9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6376, false, 0x000000000000000000000000fd0bf71f60660e2f608ed56e1659c450eb113120, 0x000000000000000000000000fd0bf71f60660e2f608ed56e1659c450eb113120, false), (0xf272670eb55e895584501d564AfEB048bEd26194, 0x4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ac, false, 0x00000000000000000000000049f53e41452c74589e85ca1677426ba426459e85, 0x00000000000000000000000049f53e41452c74589e85ca1677426ba426459e85, false), (0xf272670eb55e895584501d564AfEB048bEd26194, 0xa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320c, false, 0x000000000000000000000000b1efb9650ad6d0cc1ed3ac4a0b7f1d5732696d37, 0x000000000000000000000000b1efb9650ad6d0cc1ed3ac4a0b7f1d5732696d37, false)], 7), ((0, 11155111), 8, 0x22D12E0FAebD62d429514A65EBAe32dd316c12D6, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 8, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 0, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x9623609d000000000000000000000000c34855f4de64f1840e5686e64278da901e261f2000000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000240900f010000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000000000000000000000000000000000000, false, [(0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, false), (0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x4802108971ade4df2a4e6eb8efc0286bfc34bc5e01a8582833de2aaa40329829, false, 0x0000000000000000000000000000000000000000000000000000000000000002, 0x0000000000000000000000000000000000000000000000000000000000000002, false), (0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, false), (0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x4802108971ade4df2a4e6eb8efc0286bfc34bc5e01a8582833de2aaa40329829, false, 0x0000000000000000000000000000000000000000000000000000000000000002, 0x0000000000000000000000000000000000000000000000000000000000000002, false), (0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x8677fe5a344c74cf14735d23c77ffa15ad8a628e50d096f484b32c7d9ee142a2, false, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, false), (0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x8677fe5a344c74cf14735d23c77ffa15ad8a628e50d096f484b32c7d9ee142a2, false, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, false), (0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x8677fe5a344c74cf14735d23c77ffa15ad8a628e50d096f484b32c7d9ee142a2, false, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, false), (0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x000000000000000000000000709c2b8ef4a9fefc629a8a2c1af424dc5bd6ad1b, 0x000000000000000000000000709c2b8ef4a9fefc629a8a2c1af424dc5bd6ad1b, false)], 6), ((0, 11155111), 8, 0x709c2B8ef4A9feFc629A8a2C1AF424Dc5BD6ad1B, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0x, false, [], 7), ((0, 11155111), 0, 0x709c2B8ef4A9feFc629A8a2C1AF424Dc5BD6ad1B, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0x9b2ea4bd000000000000000000000000000000000000000000000000000000000000004000000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6000000000000000000000000000000000000000000000000000000000000001a4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000, false, [(0x709c2B8ef4A9feFc629A8a2C1AF424Dc5BD6ad1B, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false), (0x709c2B8ef4A9feFc629A8a2C1AF424Dc5BD6ad1B, 0x515216935740e67dfdda5cf8e248ea32b3277787818ab59153061ac875c9385e, false, 0x0000000000000000000000005d5a095665886119693f0b41d8dfee78da033e8b, 0x0000000000000000000000005d5a095665886119693f0b41d8dfee78da033e8b, false), (0x709c2B8ef4A9feFc629A8a2C1AF424Dc5BD6ad1B, 0x515216935740e67dfdda5cf8e248ea32b3277787818ab59153061ac875c9385e, true, 0x0000000000000000000000005d5a095665886119693f0b41d8dfee78da033e8b, 0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6, false)], 7), ((0, 11155111), 0, 0xC34855F4De64F1840e5686e64278da901e261f20, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 950000000000000000, 950000000000000000, 0x, 0, 0x0900f010000000000000000000000000f272670eb55e895584501d564afeb048bed26194, false, [(0xC34855F4De64F1840e5686e64278da901e261f20, 0x4802108971ade4df2a4e6eb8efc0286bfc34bc5e01a8582833de2aaa40329829, false, 0x000000000000000000000000709c2b8ef4a9fefc629a8a2c1af424dc5bd6ad1b, 0x000000000000000000000000709c2b8ef4a9fefc629a8a2c1af424dc5bd6ad1b, false), (0xC34855F4De64F1840e5686e64278da901e261f20, 0xd083228562f0f7e41f9d9a915a63419a65d150599969a44b0cc2f72e209dad09, false, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, false)], 7), ((0, 11155111), 3, 0x709c2B8ef4A9feFc629A8a2C1AF424Dc5BD6ad1B, 0xC34855F4De64F1840e5686e64278da901e261f20, true, 0, 0, 0x, 0, 0xbf40fac10000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001a4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000, false, [(0x709c2B8ef4A9feFc629A8a2C1AF424Dc5BD6ad1B, 0x515216935740e67dfdda5cf8e248ea32b3277787818ab59153061ac875c9385e, false, 0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6, 0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6, false)], 8), ((0, 11155111), 1, 0x22D12E0FAebD62d429514A65EBAe32dd316c12D6, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 950000000000000000, 950000000000000000, 0x, 0, 0x0900f010000000000000000000000000f272670eb55e895584501d564afeb048bed26194, false, [(0xC34855F4De64F1840e5686e64278da901e261f20, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000010000000000000000000000000000000000000000, 0x0000000000000000000000010000000000000000000000000000000000000000, false), (0xC34855F4De64F1840e5686e64278da901e261f20, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000010000000000000000000000000000000000000000, 0x0000000000000000000000010000000000000000000000000000000000000000, false), (0xC34855F4De64F1840e5686e64278da901e261f20, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000010000000000000000000000000000000000000000, 0x0000000000000000000000010000000000000000000000000000000000000000, false), (0xC34855F4De64F1840e5686e64278da901e261f20, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000010000000000000000000000000000000000000000, 0x0000000000000000000001030000000000000000000000000000000000000000, false), (0xC34855F4De64F1840e5686e64278da901e261f20, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0xC34855F4De64F1840e5686e64278da901e261f20, 0xd083228562f0f7e41f9d9a915a63419a65d150599969a44b0cc2f72e209dad09, false, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, false), (0xC34855F4De64F1840e5686e64278da901e261f20, 0x4802108971ade4df2a4e6eb8efc0286bfc34bc5e01a8582833de2aaa40329829, false, 0x000000000000000000000000709c2b8ef4a9fefc629a8a2c1af424dc5bd6ad1b, 0x000000000000000000000000709c2b8ef4a9fefc629a8a2c1af424dc5bd6ad1b, false)], 8), ((0, 11155111), 3, 0x709c2B8ef4A9feFc629A8a2C1AF424Dc5BD6ad1B, 0xC34855F4De64F1840e5686e64278da901e261f20, true, 0, 0, 0x, 0, 0x8da5cb5b, false, [(0x709c2B8ef4A9feFc629A8a2C1AF424Dc5BD6ad1B, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false)], 9), ((0, 11155111), 6, 0x22D12E0FAebD62d429514A65EBAe32dd316c12D6, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0x, false, [(0xC34855F4De64F1840e5686e64278da901e261f20, 0x00000000000000000000000000000000000000000000000000000000000000fe, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0xC34855F4De64F1840e5686e64278da901e261f20, 0x00000000000000000000000000000000000000000000000000000000000000fe, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x000000000000000000000000f272670eb55e895584501d564afeb048bed26194, false), (0xC34855F4De64F1840e5686e64278da901e261f20, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000001030000000000000000000000000000000000000000, 0x0000000000000000000001030000000000000000000000000000000000000000, false), (0xC34855F4De64F1840e5686e64278da901e261f20, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000001030000000000000000000000000000000000000000, 0x0000000000000000000000030000000000000000000000000000000000000000, false)], 8), ((0, 11155111), 8, 0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 8, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 0, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x9623609d000000000000000000000000fd0bf71f60660e2f608ed56e1659c450eb113120000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000240900f010000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000000000000000000000000000000000000, false, [(0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, false), (0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0xa979e28f24e3b10a9d8cdb4e6fe7240c2b9df685395a072fc4ad4366bd3d820d, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, false), (0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0xa979e28f24e3b10a9d8cdb4e6fe7240c2b9df685395a072fc4ad4366bd3d820d, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false)], 6), ((0, 11155111), 8, 0xfd0Bf71F60660E2f608ed56e1659C450eB113120, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0x, false, [], 7), ((0, 11155111), 0, 0xfd0Bf71F60660E2f608ed56e1659C450eB113120, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0x9b0b0fda360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, false, [(0xfd0Bf71F60660E2f608ed56e1659C450eB113120, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false), (0xfd0Bf71F60660E2f608ed56e1659C450eB113120, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, true, 0x0000000000000000000000000b09ba359a106c9ea3b181cbc5f394570c7d2a7a, 0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, false)], 7), ((0, 11155111), 0, 0xfd0Bf71F60660E2f608ed56e1659C450eB113120, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0x0900f010000000000000000000000000f272670eb55e895584501d564afeb048bed26194, false, [(0xfd0Bf71F60660E2f608ed56e1659C450eB113120, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false)], 7), ((0, 11155111), 3, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0xfd0Bf71F60660E2f608ed56e1659C450eB113120, true, 0, 0, 0x, 0, 0xb7947262, false, [(0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x000000000000000000000000709c2b8ef4a9fefc629a8a2c1af424dc5bd6ad1b, 0x000000000000000000000000709c2b8ef4a9fefc629a8a2c1af424dc5bd6ad1b, false)], 8), ((0, 11155111), 6, 0xfd0Bf71F60660E2f608ed56e1659C450eB113120, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0x, false, [(0xfd0Bf71F60660E2f608ed56e1659C450eB113120, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, 0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, false)], 7), ((0, 11155111), 1, 0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0x0900f010000000000000000000000000f272670eb55e895584501d564afeb048bed26194, false, [(0xfd0Bf71F60660E2f608ed56e1659C450eB113120, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0xfd0Bf71F60660E2f608ed56e1659C450eB113120, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0xfd0Bf71F60660E2f608ed56e1659C450eB113120, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0xfd0Bf71F60660E2f608ed56e1659C450eB113120, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000103, false), (0xfd0Bf71F60660E2f608ed56e1659C450eB113120, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false), (0xfd0Bf71F60660E2f608ed56e1659C450eB113120, 0x0000000000000000000000000000000000000000000000000000000000000034, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0xfd0Bf71F60660E2f608ed56e1659C450eB113120, 0x0000000000000000000000000000000000000000000000000000000000000034, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x000000000000000000000000f272670eb55e895584501d564afeb048bed26194, false), (0xfd0Bf71F60660E2f608ed56e1659C450eB113120, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000103, 0x0000000000000000000000000000000000000000000000000000000000000103, false), (0xfd0Bf71F60660E2f608ed56e1659C450eB113120, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000103, 0x0000000000000000000000000000000000000000000000000000000000000003, false)], 8), ((0, 11155111), 8, 0x7f1d12fB2911EB095278085f721e644C1f675696, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 8, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 0, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x9623609d00000000000000000000000021efd066e581fa55ef105170cc04d74386a091900000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000240900f010000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000000000000000000000000000000000000, false, [(0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, false), (0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x086f4d42227304d3e75c16990414dcc918867ab2b17d8ed48a119eff1b13887f, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 6), ((0, 11155111), 0, 0x21eFD066e581FA55Ef105170Cc04d74386a09190, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0x4f1ef2860000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000240900f010000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000000000000000000000000000000000000, false, [(0x21eFD066e581FA55Ef105170Cc04d74386a09190, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false), (0x21eFD066e581FA55Ef105170Cc04d74386a09190, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, true, 0x0000000000000000000000007ae1d3bd877a4c5ca257404ce26be93a02c98013, 0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696, false)], 7), ((0, 11155111), 1, 0x7f1d12fB2911EB095278085f721e644C1f675696, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0x0900f010000000000000000000000000f272670eb55e895584501d564afeb048bed26194, false, [(0x21eFD066e581FA55Ef105170Cc04d74386a09190, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x21eFD066e581FA55Ef105170Cc04d74386a09190, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x21eFD066e581FA55Ef105170Cc04d74386a09190, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x21eFD066e581FA55Ef105170Cc04d74386a09190, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000103, false), (0x21eFD066e581FA55Ef105170Cc04d74386a09190, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false), (0x21eFD066e581FA55Ef105170Cc04d74386a09190, 0x0000000000000000000000000000000000000000000000000000000000000033, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x21eFD066e581FA55Ef105170Cc04d74386a09190, 0x0000000000000000000000000000000000000000000000000000000000000033, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x000000000000000000000000f272670eb55e895584501d564afeb048bed26194, false), (0x21eFD066e581FA55Ef105170Cc04d74386a09190, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000103, 0x0000000000000000000000000000000000000000000000000000000000000103, false), (0x21eFD066e581FA55Ef105170Cc04d74386a09190, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000103, 0x0000000000000000000000000000000000000000000000000000000000000003, false)], 8), ((0, 11155111), 3, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [], 6), ((0, 11155111), 3, 0x10596fE51861c5D3865568278270B1DF050Ee547, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [(0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000001, false, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000002, false, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000004, false, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000005, false, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000006, false, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000007, false, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000008, false, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000009, false, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000a, false, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000b, false, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000c, false, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, false)], 7), ((0, 11155111), 8, 0xA643EA8ee60D92f615eC70AF0248c449bBCEcF4d, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 10, 0xA643EA8ee60D92f615eC70AF0248c449bBCEcF4d, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 3, 0x0000000000000000000000000000000000000004, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 613037898440193504, 613037898440193504, 0x, 0, 0x608060405234801561001057600080fd5b5060405161091f38038061091f83398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206108ff8339815191525490565b6000805160206108ff833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61080b806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, [], 6), ((0, 11155111), 4, 0x32cE910d9C6c8F78dc6779c1499aB05F281A054e, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000a, 0, 0x608060405234801561001057600080fd5b5060405161091f38038061091f83398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206108ff8339815191525490565b6000805160206108ff833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61080b806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61030000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false, [(0x32cE910d9C6c8F78dc6779c1499aB05F281A054e, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x32cE910d9C6c8F78dc6779c1499aB05F281A054e, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false)], 6), ((0, 11155111), 8, 0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 8, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 0, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x9623609d00000000000000000000000032ce910d9c6c8f78dc6779c1499ab05f281a054e00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c699800000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000000000000000000000000000000000000, false, [(0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, false), (0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0xf4e2dd1ff5f568e1dbf5f8fa93c6108298c7a999503172117c9013d6bd90f7c3, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 6), ((0, 11155111), 0, 0x32cE910d9C6c8F78dc6779c1499aB05F281A054e, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0x4f1ef28600000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c699800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000000000000000000000000000000000000, false, [(0x32cE910d9C6c8F78dc6779c1499aB05F281A054e, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false), (0x32cE910d9C6c8F78dc6779c1499aB05F281A054e, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998, false)], 7), ((0, 11155111), 1, 0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0xc4d66de8000000000000000000000000f272670eb55e895584501d564afeb048bed26194, false, [(0x32cE910d9C6c8F78dc6779c1499aB05F281A054e, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x32cE910d9C6c8F78dc6779c1499aB05F281A054e, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x32cE910d9C6c8F78dc6779c1499aB05F281A054e, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x32cE910d9C6c8F78dc6779c1499aB05F281A054e, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000101, false), (0x32cE910d9C6c8F78dc6779c1499aB05F281A054e, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false), (0x32cE910d9C6c8F78dc6779c1499aB05F281A054e, 0x0000000000000000000000000000000000000000000000000000000000000004, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x32cE910d9C6c8F78dc6779c1499aB05F281A054e, 0x0000000000000000000000000000000000000000000000000000000000000004, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x000000000000000000000000f272670eb55e895584501d564afeb048bed26194, false), (0x32cE910d9C6c8F78dc6779c1499aB05F281A054e, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000101, 0x0000000000000000000000000000000000000000000000000000000000000101, false), (0x32cE910d9C6c8F78dc6779c1499aB05F281A054e, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000101, 0x0000000000000000000000000000000000000000000000000000000000000001, false)], 8), ((0, 11155111), 3, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [], 6), ((0, 11155111), 3, 0x10596fE51861c5D3865568278270B1DF050Ee547, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [(0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000001, false, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000002, false, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000004, false, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000005, false, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000006, false, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000007, false, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000008, false, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000009, false, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000a, false, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000b, false, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000c, false, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, false)], 7), ((0, 11155111), 3, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x30e9012c, false, [], 6), ((0, 11155111), 3, 0x10596fE51861c5D3865568278270B1DF050Ee547, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, true, 0, 0, 0x, 0, 0x30e9012c, false, [(0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000d, false, 0x000000000000000000000000ce28685eb204186b557133766eca00334eb441e4, 0x000000000000000000000000ce28685eb204186b557133766eca00334eb441e4, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000e, false, 0x00000000000000000000000037e15e4d6dffa9e5e320ee1ec036922e563cb76c, 0x00000000000000000000000037e15e4d6dffa9e5e320ee1ec036922e563cb76c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000f, false, 0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696, 0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000010, false, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000011, false, 0x000000000000000000000000b0eb854fd842e0e564d49d2fe6b2ac25d035523c, 0x000000000000000000000000b0eb854fd842e0e564d49d2fe6b2ac25d035523c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000012, false, 0x000000000000000000000000784d2f03593a42a6e4676a012762f18775ecbbe6, 0x000000000000000000000000784d2f03593a42a6e4676a012762f18775ecbbe6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000013, false, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000014, false, 0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f, 0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000015, false, 0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6, 0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000016, false, 0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, 0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000017, false, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000018, false, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000019, false, 0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998, 0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000001a, false, 0x00000000000000000000000007babe08ee4d07dba236530183b24055535a7011, 0x00000000000000000000000007babe08ee4d07dba236530183b24055535a7011, false)], 7), ((0, 11155111), 3, 0xF0102fFe22649A5421D53aCC96E309660960cF44, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xbbdc02db, false, [], 6), ((0, 11155111), 3, 0xF0102fFe22649A5421D53aCC96E309660960cF44, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xd6ae3cd5, false, [], 6), ((0, 11155111), 3, 0xF0102fFe22649A5421D53aCC96E309660960cF44, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x8d450a95, false, [], 6), ((0, 11155111), 3, 0xF0102fFe22649A5421D53aCC96E309660960cF44, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xfa315aa9, false, [], 6), ((0, 11155111), 3, 0xF0102fFe22649A5421D53aCC96E309660960cF44, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xec5e6308, false, [], 6), ((0, 11155111), 3, 0xF0102fFe22649A5421D53aCC96E309660960cF44, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x6b6716c0, false, [], 6), ((0, 11155111), 3, 0xF0102fFe22649A5421D53aCC96E309660960cF44, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xdabd396d, false, [], 6), ((0, 11155111), 3, 0xF0102fFe22649A5421D53aCC96E309660960cF44, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x3a768463, false, [], 6), ((0, 11155111), 3, 0xF0102fFe22649A5421D53aCC96E309660960cF44, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x3fc8cef3, false, [], 6), ((0, 11155111), 3, 0xF0102fFe22649A5421D53aCC96E309660960cF44, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x5c0cba33, false, [], 6), ((0, 11155111), 3, 0xF0102fFe22649A5421D53aCC96E309660960cF44, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xa8e4fb90, false, [], 6), ((0, 11155111), 3, 0xF0102fFe22649A5421D53aCC96E309660960cF44, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x534db0e2, false, [], 6), ((0, 11155111), 8, 0x2538DA6A2862914Fd87CE8E88FF133f81c289F80, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 10, 0x2538DA6A2862914Fd87CE8E88FF133f81c289F80, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 3, 0x0000000000000000000000000000000000000004, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 613037898440193504, 613037898440193504, 0x, 0, 0x6102006040523480156200001257600080fd5b50604051620065243803806200652483398101604081905262000035916200053c565b82620000446001607e6200064b565b60ff16816040015111156200006c57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000965750604081015160608201516200009390600162000671565b10155b15620000b55760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000dc5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000129573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014f91906200068c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b39190620006ac565b1115620001d35760405163b4e1243360e01b815260040160405180910390fd5b6000620001f882608001516001600160401b03166200048e60201b62000cec1760201c565b6200020e906001600160401b03166002620006c6565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000255573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027b91906200068c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002df9190620006ac565b6200030284608001516001600160401b03166200048e60201b62000cec1760201c565b6001600160401b031662000317919062000671565b905060006200033283836200049160201b6200283e1760201c565b90506001600160401b038111156200035d5760405163235dfb2b60e21b815260040160405180910390fd5b620003808460a001516001600160401b03166200048e60201b62000cec1760201c565b6001600160401b0316816001600160401b03161115620003b35760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003da856000015163ffffffff166200048e60201b62000cec1760201c565b63ffffffff1603620003ff5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015181166101605292015161018052509182166101c052166101e05250620006e8565b90565b600081831015620004a35781620004a5565b825b9392505050565b60405161014081016001600160401b0381118282101715620004de57634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004f957600080fd5b919050565b80516001600160401b0381168114620004f957600080fd5b6001600160a01b03811681146200052c57600080fd5b50565b8051620004f98162000516565b60008060008385036101808112156200055457600080fd5b610140808212156200056557600080fd5b6200056f620004ac565b91506200057c86620004e4565b8252602086015160208301526040860151604083015260608601516060830152620005aa60808701620004fe565b6080830152620005bd60a08701620004fe565b60a0830152620005d060c087016200052f565b60c0830152620005e360e087016200052f565b60e0830152610100620005f88188016200052f565b8184015250610120808701518184015250819450620006198187016200052f565b935050506200062c61016085016200052f565b90509250925092565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168082101562000668576200066862000635565b90039392505050565b6000821982111562000687576200068762000635565b500190565b6000602082840312156200069f57600080fd5b8151620004a58162000516565b600060208284031215620006bf57600080fd5b5051919050565b6000816000190483118215151615620006e357620006e362000635565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051615c61620008c36000396000818161061c01528181611a4a01526123b001526000818161090d01528181611a1801528181611eeb015261237e015260008181610778015281816130ed01528181613158015261318b015260008181610ac5015261277c0152600081816106ee01528181611b4801528181611c8c01528181611d6601528181611df5015281816135fa0152613a890152600081816105a90152818161182601528181611922015281816134f40152613990015260008181610948015281816127fe0152613a600152600081816105460152818161247e0152818161300601526142f7015260008181610b1801528181610f7f0152818161207c015281816120be01528181612f76015281816131bb015261321a015260008181610b4b0152818161262201528181612dbf01528181612ee5015281816131290152818161416e0152818161459b0152818161467a0152818161472d01528181614f5b015261514c015260008181610bf20152818161216a015281816121f001528181612e8801528181612fda01528181614086015261418f01526000818161083a01526142120152615c616000f3fe6080604052600436106103555760003560e01c806370872aa5116101bb578063c0d8bb74116100f7578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b9f578063fa24f74314610bbf578063fa315aa914610be3578063fe2bbeb214610c1657600080fd5b8063dabd396d14610b09578063ec5e630814610b3c578063eff0f59214610b6f57600080fd5b8063cf09e0d0116100d1578063cf09e0d014610a75578063d5d44d8014610a96578063d6ae3cd514610ab6578063d8cc1a3c14610ae957600080fd5b8063c0d8bb74146109b4578063c395e1ca146109e1578063c6f0308c14610a0157600080fd5b80638d450a9511610164578063a8e4fb901161013e578063a8e4fb90146108fe578063bbdc02db14610931578063bcef3b5514610972578063bd8da9561461099457600080fd5b80638d450a951461082b57806399735e3214610809578063a445ece61461085e57600080fd5b80638129fc1c116101955780638129fc1c146107ec5780638980e0cc146107f45780638b85902b1461080957600080fd5b806370872aa5146107af578063786b844b146107c45780637b0f0adc146107d957600080fd5b80633e3ac912116102955780635a5fa2d91161023357806360e274641161020d57806360e27464146107275780636361506d146107475780636b6716c0146107695780636f0344091461079c57600080fd5b80635a5fa2d9146106bf5780635c0cba33146106df578063609d33341461071257600080fd5b8063529d6a8c1161026f578063529d6a8c146105e0578063534db0e21461060d57806354fd4d501461064057806357da950e1461068f57600080fd5b80633e3ac9121461056a5780633fc8cef31461059a578063472777c6146105cd57600080fd5b806325fc2ace1161030257806330dbe570116102dc57806330dbe570146104c3578063378dd48c146104fb57806337b1b229146105155780633a7684631461053757600080fd5b806325fc2ace1461046f5780632810e1d61461048e5780632ad69aeb146104a357600080fd5b8063200d2ed211610333578063200d2ed2146103e7578063222abf4514610415578063250e69bd1461045557600080fd5b8063019351301461035a57806303c2924d1461037c57806319effeb41461039c575b600080fd5b34801561036657600080fd5b5061037a6103753660046154d1565b610c46565b005b34801561038857600080fd5b5061037a61039736600461552c565b610f05565b3480156103a857600080fd5b506000546103c99068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103f357600080fd5b5060005461040890600160801b900460ff1681565b6040516103de9190615585565b34801561042157600080fd5b506104456104303660046155ad565b600c6020526000908152604090205460ff1681565b60405190151581526020016103de565b34801561046157600080fd5b50600a546104459060ff1681565b34801561047b57600080fd5b506008545b6040519081526020016103de565b34801561049a57600080fd5b5061040861148d565b3480156104af57600080fd5b506104806104be36600461552c565b611665565b3480156104cf57600080fd5b506001546104e3906001600160a01b031681565b6040516001600160a01b0390911681526020016103de565b34801561050757600080fd5b50600d546104089060ff1681565b34801561052157600080fd5b503660011981013560f01c90033560601c6104e3565b34801561054357600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561057657600080fd5b50600054610445907201000000000000000000000000000000000000900460ff1681565b3480156105a657600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b61037a6105db3660046155ca565b61169b565b3480156105ec57600080fd5b506104806105fb3660046155ad565b60036020526000908152604090205481565b34801561061957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561064c57600080fd5b5060408051808201909152600581527f312e372e3000000000000000000000000000000000000000000000000000000060208201525b6040516103de9190615661565b34801561069b57600080fd5b506008546009546106aa919082565b604080519283526020830191909152016103de565b3480156106cb57600080fd5b506104806106da366004615674565b6116ad565b3480156106eb57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561071e57600080fd5b506106826116e7565b34801561073357600080fd5b5061037a6107423660046155ad565b6116f5565b34801561075357600080fd5b503660011981013560f01c900360340135610480565b34801561077557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c9565b61037a6107aa36600461569b565b611a0d565b3480156107bb57600080fd5b50600954610480565b3480156107d057600080fd5b5061037a611ab4565b61037a6107e73660046155ca565b611ed3565b61037a611ee0565b34801561080057600080fd5b50600254610480565b34801561081557600080fd5b503660011981013560f01c900360540135610480565b34801561083757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b34801561086a57600080fd5b506108c0610879366004615674565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103de565b34801561090a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561093d57600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103de565b34801561097e57600080fd5b503660011981013560f01c900360140135610480565b3480156109a057600080fd5b506103c96109af366004615674565b611f4c565b3480156109c057600080fd5b506104806109cf3660046155ad565b600b6020526000908152604090205481565b3480156109ed57600080fd5b506104806109fc3660046156dc565b6120e6565b348015610a0d57600080fd5b50610a21610a1c366004615674565b6122a7565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103de565b348015610a8157600080fd5b506000546103c99067ffffffffffffffff1681565b348015610aa257600080fd5b50610480610ab13660046155ad565b61231b565b348015610ac257600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610af557600080fd5b5061037a610b04366004615705565b612373565b348015610b1557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c9565b348015610b4857600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610b7b57600080fd5b50610445610b8a366004615674565b60046020526000908152604090205460ff1681565b348015610bab57600080fd5b5061037a610bba3660046155ca565b612416565b348015610bcb57600080fd5b50610bd46127fc565b6040516103de93929190615791565b348015610bef57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610c2257600080fd5b50610445610c31366004615674565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610c6557610c6561554e565b14610c835760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610cd6576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cef3660011981013560f01c90036014013590565b90565b610d06610d01368690038601866157cc565b612859565b14610d3d576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610d52929190615840565b604051809103902014610d91576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610dda610dd584848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128b592505050565b612922565b90506000610e0182600881518110610df457610df4615850565b6020026020010151612ad8565b9050602081511115610e3f576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e96576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610f2457610f2461554e565b14610f425760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610f5757610f57615850565b906000526020600020906005020190506000610f7284611f4c565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610fdb576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611024576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561104157508515155b156110a457835464010000000090046001600160a01b0316600081156110675781611076565b60018601546001600160a01b03165b90506110828187612b8c565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b03166060830152611128576001600160801b036040820152600181526000869003611128578195505b600086826020015163ffffffff16611140919061587c565b905060008382116111515781611153565b835b602084015190915063ffffffff165b8181101561127357600086828154811061117e5761117e615850565b6000918252602080832090910154808352600690915260409091205490915060ff166111d6576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600282815481106111eb576111eb615850565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156112325750600481015460408701516001600160801b039182169116115b1561125e5760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b5050808061126b90615894565b915050611162565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361148257606083015160008a8152600660205260409020805460ff19166001179055891580156113bf57506000547201000000000000000000000000000000000000900460ff165b1561141a576001546001600160a01b03166113da818a612b8c565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611480565b6114476001600160a01b038216156114325781611441565b60018901546001600160a01b03165b89612b8c565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156114ae576114ae61554e565b146114cc5760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff16611530576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b0316600260008154811061154f5761154f615850565b600091825260209091206005909102015464010000000090046001600160a01b03161461157d576001611580565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b8360028111156116245761162461554e565b0217905560028111156116395761163961554e565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061168157600080fd5b90600052602060002001600091509150505481565b905090565b6116a88383836001611a0d565b505050565b600081815260076020908152604080832060059092528220805482546116de90610100900463ffffffff16826158ae565b95945050505050565b606061169660546020612bce565b6116fd611ab4565b60006002600d5460ff1660028111156117185761171861554e565b0361173c57506001600160a01b0381166000908152600b60205260409020546117ab565b6001600d5460ff1660028111156117555761175561554e565b0361177957506001600160a01b0381166000908152600360205260409020546117ab565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff16611888576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b15801561186c57600080fd5b505af1158015611880573d6000803e3d6000fd5b505050505050565b806000036118c2576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b15801561196857600080fd5b505af115801561197c573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146119cd576040519150601f19603f3d011682016040523d82523d6000602084013e6119d2565b606091505b50509050806116a8576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480611a6c5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b611aa2576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611aae84848484612c02565b50505050565b6002600d5460ff166002811115611acd57611acd61554e565b1480611aef57506001600d5460ff166002811115611aed57611aed61554e565b145b15611af657565b6000600d5460ff166002811115611b0f57611b0f61554e565b14611b46576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ba4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bc891906158c5565b15611bff576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff16600003611c5b576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015611cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cff91906158c5565b905080611d38576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b158015611db257600080fd5b505af1925050508015611dc3575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa158015611e44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6891906158c5565b90508015611e8257600d805460ff19166001179055611e90565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f91611ec79160ff90911690615585565b60405180910390a15050565b6116a88383836000611a0d565b326001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f42576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f4a6135a3565b565b600080600054600160801b900460ff166002811115611f6d57611f6d61554e565b14611f8b5760405163067fe19560e41b815260040160405180910390fd5b600060028381548110611fa057611fa0615850565b600091825260208220600590910201805490925063ffffffff9081161461200657815460028054909163ffffffff16908110611fde57611fde615850565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b600482015460009061203190600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b6120459067ffffffffffffffff16426158ae565b61205b612024846001600160801b031660401c90565b67ffffffffffffffff1661206f919061587c565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff16116120bc57806116de565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612163836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f00000000000000000000000000000000000000000000000000000000000000008111156121c2576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a30060006121dd83836158f8565b9050670de0b6b3a76400006000612214827f000000000000000000000000000000000000000000000000000000000000000061590c565b9050600061223261222d670de0b6b3a76400008661590c565b613b1c565b905060006122408484613d6e565b9050600061224e8383613dbd565b9050600061225b82613deb565b9050600061227a82612275670de0b6b3a76400008f61590c565b613fd3565b905060006122888b83613dbd565b9050612294818d61590c565b9f9e505050505050505050505050505050565b600281815481106122b757600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff1660028111156123365761233661554e565b0361235757506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806123d25750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b612408576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611880868686868686614004565b60008054600160801b900460ff1660028111156124355761243561554e565b146124535760405163067fe19560e41b815260040160405180910390fd5b60008060008061246286614560565b93509350935093506000612478858585856148b9565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124fe919061592b565b9050600189036125cb576001600160a01b0381166352f0f3ad8a8461252f3660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156125a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c59190615948565b50611482565b600289036125ea576001600160a01b0381166352f0f3ad8a848961252f565b60038903612609576001600160a01b0381166352f0f3ad8a848761252f565b6004890361273e5760006126466001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000614958565b600954612653919061587c565b61265e90600161587c565b90503660011981013560f01c900360540135811061268b573660011981013560f01c90036054013561268d565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015612713573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127379190615948565b5050611482565b600589036127ca576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a401612582565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003660011981013560f01c90036014013560606128376116e7565b9050909192565b60008183101561284e5781612850565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001612898949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003612904576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000612932856149ed565b91945092509050600181600181111561294d5761294d61554e565b14612984576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451612990838561587c565b146129c7576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816129de5790505093506000835b8651811015612acc57600080612a516040518060400160405280858c60000151612a3591906158ae565b8152602001858c60200151612a4a919061587c565b90526149ed565b509150915060405180604001604052808383612a6d919061587c565b8152602001848b60200151612a82919061587c565b815250888581518110612a9757612a97615850565b6020908102919091010152612aad60018561587c565b9350612ab9818361587c565b612ac3908461587c565b92505050612a0b565b50845250919392505050565b60606000806000612ae8856149ed565b919450925090506000816001811115612b0357612b0361554e565b14612b3a576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612b44828461587c565b855114612b7d576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116de85602001518484614e8b565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190612bc590849061587c565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b60008054600160801b900460ff166002811115612c2157612c2161554e565b14612c3f5760405163067fe19560e41b815260040160405180910390fd5b600060028481548110612c5457612c54615850565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514612d18576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000612dad826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580612de85750612de57f0000000000000000000000000000000000000000000000000000000000000000600261587c565b81145b8015612df2575084155b15612e29576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015612e4f575086155b15612e86576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115612ee0576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612f0b7f0000000000000000000000000000000000000000000000000000000000000000600161587c565b8103612f1d57612f1d86888588614f20565b34612f27836120e6565b14612f5e576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612f6988611f4c565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603612fd1576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612ffe60017f00000000000000000000000000000000000000000000000000000000000000006158ae565b8303613122577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613062573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613086919061592b565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130e79190615948565b61311b907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615961565b90506131b5565b61314d60017f00000000000000000000000000000000000000000000000000000000000000006158ae565b83036131885761311b7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16600261598d565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b6131e9817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159bd565b67ffffffffffffffff166132048367ffffffffffffffff1690565b67ffffffffffffffff16111561324b57613248817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159bd565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff16156132c0576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c815260200190815260200160002060016002805490506134b791906158ae565b81546001810183556000928352602080842090910191909155338252600b90526040812080543492906134eb90849061587c565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561354d57600080fd5b505af1158015613561573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b60005471010000000000000000000000000000000000900460ff16156135f5576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015613655573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061367991906159e6565b9092509050816136b5576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146136e857639824bdab6000526004601cfd5b803660011981013560f01c90036054013511613746576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b90915291822080549192909161398790849061587c565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156139e957600080fd5b505af11580156139fd573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015613adc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b009190615a0a565b600a805460ff191663ffffffff92909216929092141790555050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213613b7257631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a764000002158202613dab57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b600081600019048311820215613ddb5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d78213613e1957919050565b680755bf798b4a1bf1e58212613e375763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000612850670de0b6b3a764000083613feb86613b1c565b613ff59190615a30565b613fff9190615aec565b613deb565b60008054600160801b900460ff1660028111156140235761402361554e565b146140415760405163067fe19560e41b815260040160405180910390fd5b60006002878154811061405657614056615850565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506140ac7f0000000000000000000000000000000000000000000000000000000000000000600161587c565b614126826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1614614160576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080891561423c576141b37f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006158ae565b6001901b6141c9846001600160801b03166150af565b6001600160801b03166141dc9190615b36565b15614210576142076141f860016001600160801b038716615b4a565b865463ffffffff166000615135565b60030154614232565b7f00000000000000000000000000000000000000000000000000000000000000005b915084905061425d565b6003850154915061425a6141f86001600160801b0386166001615b6a565b90505b600882901b60088a8a604051614274929190615840565b6040518091039020901b146142b5576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006142c08c6151fe565b905060006142cf836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced329061433c908f908f908f908f908a90600401615bd5565b6020604051808303816000875af115801561435b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061437f9190615948565b600485015491149150600090600290614408906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b614482896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61448c9190615c0f565b6144969190615c32565b60ff1615905081151581036144d7576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b031615614521576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b600080600080600085905060006002828154811061458057614580615850565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614635906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161466f576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090614714906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561478957825463ffffffff166147537f0000000000000000000000000000000000000000000000000000000000000000600161587c565b830361475d578391505b6002818154811061477057614770615850565b9060005260206000209060050201935080945050614673565b600481810154908401546001600160801b0391821691166000816001600160801b03166147ce6147c2856001600160801b031660011c90565b6001600160801b031690565b6001600160801b031614905080156148675760006147f4836001600160801b03166150af565b6001600160801b0316111561484457600061482461481c60016001600160801b038616615b4a565b896001615135565b6003810154600490910154909c506001600160801b03169a5061484a9050565b6008549a505b600386015460048701549099506001600160801b031697506148ab565b600061488061481c6001600160801b0385166001615b6a565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b038416156149145760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a001604051602081830303815290604052805190602001206116de565b82826040516020016149399291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b6000806149cc847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614a30576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614a55576000600160009450945094505050614e84565b60b78111614b6b576000614a6a6080836158ae565b905080876000015111614aa9576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614b2157507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614b58576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614e84915050565b60bf8111614cc9576000614b8060b7836158ae565b905080876000015111614bbf576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614c21576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614c69576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614c73818461587c565b895111614cac576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614cb783600161587c565b9750955060009450614e849350505050565b60f78111614d2e576000614cde60c0836158ae565b905080876000015111614d1d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614e84915050565b6000614d3b60f7836158ae565b905080876000015111614d7a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614ddc576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614e24576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e2e818461587c565b895111614e67576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e7283600161587c565b9750955060019450614e849350505050565b9193909250565b60608167ffffffffffffffff811115614ea657614ea66157b6565b6040519080825280601f01601f191660200182016040528015614ed0576020820181803683370190505b5090508115614f19576000614ee5848661587c565b90506020820160005b84811015614f06578281015182820152602001614eee565b84811115614f15576000858301525b5050505b9392505050565b6000614f366001600160801b0384166001615b6a565b90506000614f4682866001615135565b9050600086901a83806150105750614f7f60027f0000000000000000000000000000000000000000000000000000000000000000615b36565b6004830154600290615001906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61500b9190615c32565b60ff16145b156150685760ff81166001148061502a575060ff81166002145b615063576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161373d565b6150a6565b60ff8116156150a6576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161373d565b50505050505050565b600080615123837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b60008082615175576151706001600160801b0386167f000000000000000000000000000000000000000000000000000000000000000061522d565b615187565b615187856001600160801b031661536c565b90506002848154811061519c5761519c615850565b906000526020600020906005020191505b60048201546001600160801b038281169116146151f657815460028054909163ffffffff169081106151e1576151e1615850565b906000526020600020906005020191506151ad565b509392505050565b600080600080600061520f86614560565b9350935093509350615223848484846148b9565b9695505050505050565b6000816152aa846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116152c05763b34b5c226000526004601cfd5b6152c98361536c565b905081615346826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffff, false, [], 6), ((0, 11155111), 8, 0xB8d4EA750956C54B394F4A9d270CaF2EDA627013, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 10, 0xB8d4EA750956C54B394F4A9d270CaF2EDA627013, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 3, 0x0000000000000000000000000000000000000004, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 613037898440193504, 613037898440193504, 0x, 0, 0xffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116128535761285061535c83600161587c565b6001600160801b038316906153f8565b600081196001830116816153e7827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061546c847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261549a57600080fd5b50813567ffffffffffffffff8111156154b257600080fd5b6020830191508360208285010111156154ca57600080fd5b9250929050565b600080600083850360a08112156154e757600080fd5b60808112156154f557600080fd5b50839250608084013567ffffffffffffffff81111561551357600080fd5b61551f86828701615488565b9497909650939450505050565b6000806040838503121561553f57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061558257634e487b7160e01b600052602160045260246000fd5b50565b6020810161559283615564565b91905290565b6001600160a01b038116811461558257600080fd5b6000602082840312156155bf57600080fd5b8135614f1981615598565b6000806000606084860312156155df57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561561c57602081850181015186830182015201615600565b8181111561562e576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061285060208301846155f6565b60006020828403121561568657600080fd5b5035919050565b801515811461558257600080fd5b600080600080608085870312156156b157600080fd5b84359350602085013592506040850135915060608501356156d18161568d565b939692955090935050565b6000602082840312156156ee57600080fd5b81356001600160801b0381168114614f1957600080fd5b6000806000806000806080878903121561571e57600080fd5b8635955060208701356157308161568d565b9450604087013567ffffffffffffffff8082111561574d57600080fd5b6157598a838b01615488565b9096509450606089013591508082111561577257600080fd5b5061577f89828a01615488565b979a9699509497509295939492505050565b63ffffffff841681528260208201526060604082015260006116de60608301846155f6565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156157de57600080fd5b6040516080810181811067ffffffffffffffff8211171561580f57634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561588f5761588f615866565b500190565b600060001982036158a7576158a7615866565b5060010190565b6000828210156158c0576158c0615866565b500390565b6000602082840312156158d757600080fd5b8151614f198161568d565b634e487b7160e01b600052601260045260246000fd5b600082615907576159076158e2565b500490565b600081600019048311821515161561592657615926615866565b500290565b60006020828403121561593d57600080fd5b8151614f1981615598565b60006020828403121561595a57600080fd5b5051919050565b600067ffffffffffffffff80831681851680830382111561598457615984615866565b01949350505050565b600067ffffffffffffffff808316818516818304811182151516156159b4576159b4615866565b02949350505050565b600067ffffffffffffffff838116908316818110156159de576159de615866565b039392505050565b600080604083850312156159f957600080fd5b505080516020909101519092909150565b600060208284031215615a1c57600080fd5b815163ffffffff81168114614f1957600080fd5b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615a7157615a71615866565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615aac57615aac615866565b60008712925087820587128484161615615ac857615ac8615866565b87850587128184161615615ade57615ade615866565b505050929093029392505050565b600082615afb57615afb6158e2565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615b3157615b31615866565b500590565b600082615b4557615b456158e2565b500690565b60006001600160801b03838116908316818110156159de576159de615866565b60006001600160801b0380831681851680830382111561598457615984615866565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615be9606083018789615b8c565b8281036020840152615bfc818688615b8c565b9150508260408301529695505050505050565b600060ff821660ff841680821015615c2957615c29615866565b90039392505050565b600060ff831680615c4557615c456158e2565b8060ff8416069150509291505056fea164736f6c634300080f000a, false, [], 6), ((0, 11155111), 4, 0x217e725700DE4Dc599360aDbd57dbb7DE280817E, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x6080604052600436106103555760003560e01c806370872aa5116101bb578063c0d8bb74116100f7578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b9f578063fa24f74314610bbf578063fa315aa914610be3578063fe2bbeb214610c1657600080fd5b8063dabd396d14610b09578063ec5e630814610b3c578063eff0f59214610b6f57600080fd5b8063cf09e0d0116100d1578063cf09e0d014610a75578063d5d44d8014610a96578063d6ae3cd514610ab6578063d8cc1a3c14610ae957600080fd5b8063c0d8bb74146109b4578063c395e1ca146109e1578063c6f0308c14610a0157600080fd5b80638d450a9511610164578063a8e4fb901161013e578063a8e4fb90146108fe578063bbdc02db14610931578063bcef3b5514610972578063bd8da9561461099457600080fd5b80638d450a951461082b57806399735e3214610809578063a445ece61461085e57600080fd5b80638129fc1c116101955780638129fc1c146107ec5780638980e0cc146107f45780638b85902b1461080957600080fd5b806370872aa5146107af578063786b844b146107c45780637b0f0adc146107d957600080fd5b80633e3ac912116102955780635a5fa2d91161023357806360e274641161020d57806360e27464146107275780636361506d146107475780636b6716c0146107695780636f0344091461079c57600080fd5b80635a5fa2d9146106bf5780635c0cba33146106df578063609d33341461071257600080fd5b8063529d6a8c1161026f578063529d6a8c146105e0578063534db0e21461060d57806354fd4d501461064057806357da950e1461068f57600080fd5b80633e3ac9121461056a5780633fc8cef31461059a578063472777c6146105cd57600080fd5b806325fc2ace1161030257806330dbe570116102dc57806330dbe570146104c3578063378dd48c146104fb57806337b1b229146105155780633a7684631461053757600080fd5b806325fc2ace1461046f5780632810e1d61461048e5780632ad69aeb146104a357600080fd5b8063200d2ed211610333578063200d2ed2146103e7578063222abf4514610415578063250e69bd1461045557600080fd5b8063019351301461035a57806303c2924d1461037c57806319effeb41461039c575b600080fd5b34801561036657600080fd5b5061037a6103753660046154d1565b610c46565b005b34801561038857600080fd5b5061037a61039736600461552c565b610f05565b3480156103a857600080fd5b506000546103c99068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103f357600080fd5b5060005461040890600160801b900460ff1681565b6040516103de9190615585565b34801561042157600080fd5b506104456104303660046155ad565b600c6020526000908152604090205460ff1681565b60405190151581526020016103de565b34801561046157600080fd5b50600a546104459060ff1681565b34801561047b57600080fd5b506008545b6040519081526020016103de565b34801561049a57600080fd5b5061040861148d565b3480156104af57600080fd5b506104806104be36600461552c565b611665565b3480156104cf57600080fd5b506001546104e3906001600160a01b031681565b6040516001600160a01b0390911681526020016103de565b34801561050757600080fd5b50600d546104089060ff1681565b34801561052157600080fd5b503660011981013560f01c90033560601c6104e3565b34801561054357600080fd5b507f00000000000000000000000007babe08ee4d07dba236530183b24055535a70116104e3565b34801561057657600080fd5b50600054610445907201000000000000000000000000000000000000900460ff1681565b3480156105a657600080fd5b507f00000000000000000000000032ce910d9c6c8f78dc6779c1499ab05f281a054e6104e3565b61037a6105db3660046155ca565b61169b565b3480156105ec57600080fd5b506104806105fb3660046155ad565b60036020526000908152604090205481565b34801561061957600080fd5b507f0000000000000000000000008b8c52b04a38f10515c52670fcb23f3c4c44474f6104e3565b34801561064c57600080fd5b5060408051808201909152600581527f312e372e3000000000000000000000000000000000000000000000000000000060208201525b6040516103de9190615661565b34801561069b57600080fd5b506008546009546106aa919082565b604080519283526020830191909152016103de565b3480156106cb57600080fd5b506104806106da366004615674565b6116ad565b3480156106eb57600080fd5b507f0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153556104e3565b34801561071e57600080fd5b506106826116e7565b34801561073357600080fd5b5061037a6107423660046155ad565b6116f5565b34801561075357600080fd5b503660011981013560f01c900360340135610480565b34801561077557600080fd5b507f0000000000000000000000000000000000000000000000000000000000002a306103c9565b61037a6107aa36600461569b565b611a0d565b3480156107bb57600080fd5b50600954610480565b3480156107d057600080fd5b5061037a611ab4565b61037a6107e73660046155ca565b611ed3565b61037a611ee0565b34801561080057600080fd5b50600254610480565b34801561081557600080fd5b503660011981013560f01c900360540135610480565b34801561083757600080fd5b507f03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc8610480565b34801561086a57600080fd5b506108c0610879366004615674565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103de565b34801561090a57600080fd5b507f000000000000000000000000037637067c1dbe6d2430616d8f54cb774daa59996104e3565b34801561093d57600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000011681526020016103de565b34801561097e57600080fd5b503660011981013560f01c900360140135610480565b3480156109a057600080fd5b506103c96109af366004615674565b611f4c565b3480156109c057600080fd5b506104806109cf3660046155ad565b600b6020526000908152604090205481565b3480156109ed57600080fd5b506104806109fc3660046156dc565b6120e6565b348015610a0d57600080fd5b50610a21610a1c366004615674565b6122a7565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103de565b348015610a8157600080fd5b506000546103c99067ffffffffffffffff1681565b348015610aa257600080fd5b50610480610ab13660046155ad565b61231b565b348015610ac257600080fd5b507f0000000000000000000000000000000000000000000000000000000000014a34610480565b348015610af557600080fd5b5061037a610b04366004615705565b612373565b348015610b1557600080fd5b507f0000000000000000000000000000000000000000000000000000000000049d406103c9565b348015610b4857600080fd5b507f000000000000000000000000000000000000000000000000000000000000001e610480565b348015610b7b57600080fd5b50610445610b8a366004615674565b60046020526000908152604090205460ff1681565b348015610bab57600080fd5b5061037a610bba3660046155ca565b612416565b348015610bcb57600080fd5b50610bd46127fc565b6040516103de93929190615791565b348015610bef57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000049610480565b348015610c2257600080fd5b50610445610c31366004615674565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610c6557610c6561554e565b14610c835760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610cd6576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cef3660011981013560f01c90036014013590565b90565b610d06610d01368690038601866157cc565b612859565b14610d3d576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610d52929190615840565b604051809103902014610d91576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610dda610dd584848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128b592505050565b612922565b90506000610e0182600881518110610df457610df4615850565b6020026020010151612ad8565b9050602081511115610e3f576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e96576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610f2457610f2461554e565b14610f425760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610f5757610f57615850565b906000526020600020906005020190506000610f7284611f4c565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000049d4081169082161015610fdb576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611024576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561104157508515155b156110a457835464010000000090046001600160a01b0316600081156110675781611076565b60018601546001600160a01b03165b90506110828187612b8c565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b03166060830152611128576001600160801b036040820152600181526000869003611128578195505b600086826020015163ffffffff16611140919061587c565b905060008382116111515781611153565b835b602084015190915063ffffffff165b8181101561127357600086828154811061117e5761117e615850565b6000918252602080832090910154808352600690915260409091205490915060ff166111d6576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600282815481106111eb576111eb615850565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156112325750600481015460408701516001600160801b039182169116115b1561125e5760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b5050808061126b90615894565b915050611162565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361148257606083015160008a8152600660205260409020805460ff19166001179055891580156113bf57506000547201000000000000000000000000000000000000900460ff165b1561141a576001546001600160a01b03166113da818a612b8c565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611480565b6114476001600160a01b038216156114325781611441565b60018901546001600160a01b03165b89612b8c565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156114ae576114ae61554e565b146114cc5760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff16611530576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b0316600260008154811061154f5761154f615850565b600091825260209091206005909102015464010000000090046001600160a01b03161461157d576001611580565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b8360028111156116245761162461554e565b0217905560028111156116395761163961554e565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061168157600080fd5b90600052602060002001600091509150505481565b905090565b6116a88383836001611a0d565b505050565b600081815260076020908152604080832060059092528220805482546116de90610100900463ffffffff16826158ae565b95945050505050565b606061169660546020612bce565b6116fd611ab4565b60006002600d5460ff1660028111156117185761171861554e565b0361173c57506001600160a01b0381166000908152600b60205260409020546117ab565b6001600d5460ff1660028111156117555761175561554e565b0361177957506001600160a01b0381166000908152600360205260409020546117ab565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff16611888576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000032ce910d9c6c8f78dc6779c1499ab05f281a054e90911690637eee288d90604401600060405180830381600087803b15801561186c57600080fd5b505af1158015611880573d6000803e3d6000fd5b505050505050565b806000036118c2576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000032ce910d9c6c8f78dc6779c1499ab05f281a054e9091169063f3fef3a390604401600060405180830381600087803b15801561196857600080fd5b505af115801561197c573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146119cd576040519150601f19603f3d011682016040523d82523d6000602084013e6119d2565b606091505b50509050806116a8576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336001600160a01b037f000000000000000000000000037637067c1dbe6d2430616d8f54cb774daa5999161480611a6c5750336001600160a01b037f0000000000000000000000008b8c52b04a38f10515c52670fcb23f3c4c44474f16145b611aa2576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611aae84848484612c02565b50505050565b6002600d5460ff166002811115611acd57611acd61554e565b1480611aef57506001600d5460ff166002811115611aed57611aed61554e565b145b15611af657565b6000600d5460ff166002811115611b0f57611b0f61554e565b14611b46576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153556001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ba4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bc891906158c5565b15611bff576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff16600003611c5b576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153556001600160a01b031690630314d2b390602401602060405180830381865afa158015611cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cff91906158c5565b905080611d38576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153556001600160a01b0316906317cf21a990602401600060405180830381600087803b158015611db257600080fd5b505af1925050508015611dc3575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153556001600160a01b03169063496b9c1690602401602060405180830381865afa158015611e44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6891906158c5565b90508015611e8257600d805460ff19166001179055611e90565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f91611ec79160ff90911690615585565b60405180910390a15050565b6116a88383836000611a0d565b326001600160a01b037f000000000000000000000000037637067c1dbe6d2430616d8f54cb774daa59991614611f42576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f4a6135a3565b565b600080600054600160801b900460ff166002811115611f6d57611f6d61554e565b14611f8b5760405163067fe19560e41b815260040160405180910390fd5b600060028381548110611fa057611fa0615850565b600091825260208220600590910201805490925063ffffffff9081161461200657815460028054909163ffffffff16908110611fde57611fde615850565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b600482015460009061203190600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b6120459067ffffffffffffffff16426158ae565b61205b612024846001600160801b031660401c90565b67ffffffffffffffff1661206f919061587c565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000049d401667ffffffffffffffff168167ffffffffffffffff16116120bc57806116de565b7f0000000000000000000000000000000000000000000000000000000000049d4095945050505050565b600080612163836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f00000000000000000000000000000000000000000000000000000000000000498111156121c2576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a30060006121dd83836158f8565b9050670de0b6b3a76400006000612214827f000000000000000000000000000000000000000000000000000000000000004961590c565b9050600061223261222d670de0b6b3a76400008661590c565b613b1c565b905060006122408484613d6e565b9050600061224e8383613dbd565b9050600061225b82613deb565b9050600061227a82612275670de0b6b3a76400008f61590c565b613fd3565b905060006122888b83613dbd565b9050612294818d61590c565b9f9e505050505050505050505050505050565b600281815481106122b757600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff1660028111156123365761233661554e565b0361235757506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b336001600160a01b037f000000000000000000000000037637067c1dbe6d2430616d8f54cb774daa59991614806123d25750336001600160a01b037f0000000000000000000000008b8c52b04a38f10515c52670fcb23f3c4c44474f16145b612408576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611880868686868686614004565b60008054600160801b900460ff1660028111156124355761243561554e565b146124535760405163067fe19560e41b815260040160405180910390fd5b60008060008061246286614560565b93509350935093506000612478858585856148b9565b905060007f00000000000000000000000007babe08ee4d07dba236530183b24055535a70116001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124fe919061592b565b9050600189036125cb576001600160a01b0381166352f0f3ad8a8461252f3660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156125a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c59190615948565b50611482565b600289036125ea576001600160a01b0381166352f0f3ad8a848961252f565b60038903612609576001600160a01b0381166352f0f3ad8a848761252f565b6004890361273e5760006126466001600160801b0385167f000000000000000000000000000000000000000000000000000000000000001e614958565b600954612653919061587c565b61265e90600161587c565b90503660011981013560f01c900360540135811061268b573660011981013560f01c90036054013561268d565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015612713573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127379190615948565b5050611482565b600589036127ca576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f0000000000000000000000000000000000000000000000000000000000014a3460c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a401612582565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000013660011981013560f01c90036014013560606128376116e7565b9050909192565b60008183101561284e5781612850565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001612898949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003612904576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000612932856149ed565b91945092509050600181600181111561294d5761294d61554e565b14612984576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451612990838561587c565b146129c7576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816129de5790505093506000835b8651811015612acc57600080612a516040518060400160405280858c60000151612a3591906158ae565b8152602001858c60200151612a4a919061587c565b90526149ed565b509150915060405180604001604052808383612a6d919061587c565b8152602001848b60200151612a82919061587c565b815250888581518110612a9757612a97615850565b6020908102919091010152612aad60018561587c565b9350612ab9818361587c565b612ac3908461587c565b92505050612a0b565b50845250919392505050565b60606000806000612ae8856149ed565b919450925090506000816001811115612b0357612b0361554e565b14612b3a576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612b44828461587c565b855114612b7d576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116de85602001518484614e8b565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190612bc590849061587c565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b60008054600160801b900460ff166002811115612c2157612c2161554e565b14612c3f5760405163067fe19560e41b815260040160405180910390fd5b600060028481548110612c5457612c54615850565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514612d18576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000612dad826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580612de85750612de57f000000000000000000000000000000000000000000000000000000000000001e600261587c565b81145b8015612df2575084155b15612e29576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015612e4f575086155b15612e86576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000049811115612ee0576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612f0b7f000000000000000000000000000000000000000000000000000000000000001e600161587c565b8103612f1d57612f1d86888588614f20565b34612f27836120e6565b14612f5e576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612f6988611f4c565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000049d40811690821603612fd1576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612ffe60017f00000000000000000000000000000000000000000000000000000000000000496158ae565b8303613122577f00000000000000000000000007babe08ee4d07dba236530183b24055535a70116001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613062573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613086919061592b565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130e79190615948565b61311b907f0000000000000000000000000000000000000000000000000000000000002a3067ffffffffffffffff16615961565b90506131b5565b61314d60017f000000000000000000000000000000000000000000000000000000000000001e6158ae565b83036131885761311b7f0000000000000000000000000000000000000000000000000000000000002a3067ffffffffffffffff16600261598d565b507f0000000000000000000000000000000000000000000000000000000000002a3067ffffffffffffffff165b6131e9817f0000000000000000000000000000000000000000000000000000000000049d4067ffffffffffffffff166159bd565b67ffffffffffffffff166132048367ffffffffffffffff1690565b67ffffffffffffffff16111561324b57613248817f0000000000000000000000000000000000000000000000000000000000049d4067ffffffffffffffff166159bd565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff16156132c0576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c815260200190815260200160002060016002805490506134b791906158ae565b81546001810183556000928352602080842090910191909155338252600b90526040812080543492906134eb90849061587c565b925050819055507f00000000000000000000000032ce910d9c6c8f78dc6779c1499ab05f281a054e6001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561354d57600080fd5b505af1158015613561573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b60005471010000000000000000000000000000000000900460ff16156135f5576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153556001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015613655573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061367991906159e6565b9092509050816136b5576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146136e857639824bdab6000526004601cfd5b803660011981013560f01c90036054013511613746576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b90915291822080549192909161398790849061587c565b925050819055507f00000000000000000000000032ce910d9c6c8f78dc6779c1499ab05f281a054e6001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156139e957600080fd5b505af11580156139fd573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000163ffffffff1692507f0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153556001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015613adc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b009190615a0a565b600a805460ff191663ffffffff92909216929092141790555050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213613b7257631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a764000002158202613dab57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b600081600019048311820215613ddb5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d78213613e1957919050565b680755bf798b4a1bf1e58212613e375763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000612850670de0b6b3a764000083613feb86613b1c565b613ff59190615a30565b613fff9190615aec565b613deb565b60008054600160801b900460ff1660028111156140235761402361554e565b146140415760405163067fe19560e41b815260040160405180910390fd5b60006002878154811061405657614056615850565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506140ac7f0000000000000000000000000000000000000000000000000000000000000049600161587c565b614126826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1614614160576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080891561423c576141b37f000000000000000000000000000000000000000000000000000000000000001e7f00000000000000000000000000000000000000000000000000000000000000496158ae565b6001901b6141c9846001600160801b03166150af565b6001600160801b03166141dc9190615b36565b15614210576142076141f860016001600160801b038716615b4a565b865463ffffffff166000615135565b60030154614232565b7f03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc85b915084905061425d565b6003850154915061425a6141f86001600160801b0386166001615b6a565b90505b600882901b60088a8a604051614274929190615840565b6040518091039020901b146142b5576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006142c08c6151fe565b905060006142cf836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000007babe08ee4d07dba236530183b24055535a70116001600160a01b03169063e14ced329061433c908f908f908f908f908a90600401615bd5565b6020604051808303816000875af115801561435b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061437f9190615948565b600485015491149150600090600290614408906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b614482896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61448c9190615c0f565b6144969190615c32565b60ff1615905081151581036144d7576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b031615614521576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b600080600080600085905060006002828154811061458057614580615850565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000001e90614635906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161466f576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000001e90614714906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561478957825463ffffffff166147537f000000000000000000000000000000000000000000000000000000000000001e600161587c565b830361475d578391505b6002818154811061477057614770615850565b9060005260206000209060050201935080945050614673565b600481810154908401546001600160801b0391821691166000816001600160801b03166147ce6147c2856001600160801b031660011c90565b6001600160801b031690565b6001600160801b031614905080156148675760006147f4836001600160801b03166150af565b6001600160801b0316111561484457600061482461481c60016001600160801b038616615b4a565b896001615135565b6003810154600490910154909c506001600160801b03169a5061484a9050565b6008549a505b600386015460048701549099506001600160801b031697506148ab565b600061488061481c6001600160801b0385166001615b6a565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b038416156149145760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a001604051602081830303815290604052805190602001206116de565b82826040516020016149399291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b6000806149cc847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614a30576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614a55576000600160009450945094505050614e84565b60b78111614b6b576000614a6a6080836158ae565b905080876000015111614aa9576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614b2157507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614b58576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614e84915050565b60bf8111614cc9576000614b8060b7836158ae565b905080876000015111614bbf576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614c21576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614c69576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614c73818461587c565b895111614cac576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614cb783600161587c565b9750955060009450614e849350505050565b60f78111614d2e576000614cde60c0836158ae565b905080876000015111614d1d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614e84915050565b6000614d3b60f7836158ae565b905080876000015111614d7a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614ddc576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614e24576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e2e818461587c565b895111614e67576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e7283600161587c565b9750955060019450614e849350505050565b9193909250565b60608167ffffffffffffffff811115614ea657614ea66157b6565b6040519080825280601f01601f191660200182016040528015614ed0576020820181803683370190505b5090508115614f19576000614ee5848661587c565b90506020820160005b84811015614f06578281015182820152602001614eee565b84811115614f15576000858301525b5050505b9392505050565b6000614f366001600160801b0384166001615b6a565b90506000614f4682866001615135565b9050600086901a83806150105750614f7f60027f000000000000000000000000000000000000000000000000000000000000001e615b36565b6004830154600290615001906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61500b9190615c32565b60ff16145b156150685760ff81166001148061502a575060ff81166002145b615063576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161373d565b6150a6565b60ff8116156150a6576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161373d565b50505050505050565b600080615123837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b60008082615175576151706001600160801b0386167f000000000000000000000000000000000000000000000000000000000000001e61522d565b615187565b615187856001600160801b031661536c565b90506002848154811061519c5761519c615850565b906000526020600020906005020191505b60048201546001600160801b038281169116146151f657815460028054909163ffffffff169081106151e1576151e1615850565b906000526020600020906005020191506151ad565b509392505050565b600080600080600061520f86614560565b9350935093509350615223848484846148b9565b9695505050505050565b6000816152aa846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116152c05763b34b5c226000526004601cfd5b6152c98361536c565b905081615346826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116128535761285061535c83600161587c565b6001600160801b038316906153f8565b600081196001830116816153e7827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061546c847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261549a57600080fd5b50813567ffffffffffffffff8111156154b257600080fd5b6020830191508360208285010111156154ca57600080fd5b9250929050565b600080600083850360a08112156154e757600080fd5b60808112156154f557600080fd5b50839250608084013567ffffffffffffffff81111561551357600080fd5b61551f86828701615488565b9497909650939450505050565b6000806040838503121561553f57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061558257634e487b7160e01b600052602160045260246000fd5b50565b6020810161559283615564565b91905290565b6001600160a01b038116811461558257600080fd5b6000602082840312156155bf57600080fd5b8135614f1981615598565b6000806000606084860312156155df57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561561c57602081850181015186830182015201615600565b8181111561562e576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061285060208301846155f6565b60006020828403121561568657600080fd5b5035919050565b801515811461558257600080fd5b600080600080608085870312156156b157600080fd5b84359350602085013592506040850135915060608501356156d18161568d565b939692955090935050565b6000602082840312156156ee57600080fd5b81356001600160801b0381168114614f1957600080fd5b6000806000806000806080878903121561571e57600080fd5b8635955060208701356157308161568d565b9450604087013567ffffffffffffffff8082111561574d57600080fd5b6157598a838b01615488565b9096509450606089013591508082111561577257600080fd5b5061577f89828a01615488565b979a9699509497509295939492505050565b63ffffffff841681528260208201526060604082015260006116de60608301846155f6565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156157de57600080fd5b6040516080810181811067ffffffffffffffff8211171561580f57634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561588f5761588f615866565b500190565b600060001982036158a7576158a7615866565b5060010190565b6000828210156158c0576158c0615866565b500390565b6000602082840312156158d757600080fd5b8151614f198161568d565b634e487b7160e01b600052601260045260246000fd5b600082615907576159076158e2565b500490565b600081600019048311821515161561592657615926615866565b500290565b60006020828403121561593d57600080fd5b8151614f1981615598565b60006020828403121561595a57600080fd5b5051919050565b600067ffffffffffffffff80831681851680830382111561598457615984615866565b01949350505050565b600067ffffffffffffffff808316818516818304811182151516156159b4576159b4615866565b02949350505050565b600067ffffffffffffffff838116908316818110156159de576159de615866565b039392505050565b600080604083850312156159f957600080fd5b505080516020909101519092909150565b600060208284031215615a1c57600080fd5b815163ffffffff81168114614f1957600080fd5b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615a7157615a71615866565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615aac57615aac615866565b60008712925087820587128484161615615ac857615ac8615866565b87850587128184161615615ade57615ade615866565b505050929093029392505050565b600082615afb57615afb6158e2565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615b3157615b31615866565b500590565b600082615b4557615b456158e2565b500690565b60006001600160801b03838116908316818110156159de576159de615866565b60006001600160801b0380831681851680830382111561598457615984615866565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615be9606083018789615b8c565b8281036020840152615bfc818688615b8c565b9150508260408301529695505050505050565b600060ff821660ff841680821015615c2957615c29615866565b90039392505050565b600060ff831680615c4557615c456158e2565b8060ff8416069150509291505056fea164736f6c634300080f000a, 0, 0x6102006040523480156200001257600080fd5b50604051620065243803806200652483398101604081905262000035916200053c565b82620000446001607e6200064b565b60ff16816040015111156200006c57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000965750604081015160608201516200009390600162000671565b10155b15620000b55760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000dc5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000129573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014f91906200068c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b39190620006ac565b1115620001d35760405163b4e1243360e01b815260040160405180910390fd5b6000620001f882608001516001600160401b03166200048e60201b62000cec1760201c565b6200020e906001600160401b03166002620006c6565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000255573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027b91906200068c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002df9190620006ac565b6200030284608001516001600160401b03166200048e60201b62000cec1760201c565b6001600160401b031662000317919062000671565b905060006200033283836200049160201b6200283e1760201c565b90506001600160401b038111156200035d5760405163235dfb2b60e21b815260040160405180910390fd5b620003808460a001516001600160401b03166200048e60201b62000cec1760201c565b6001600160401b0316816001600160401b03161115620003b35760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003da856000015163ffffffff166200048e60201b62000cec1760201c565b63ffffffff1603620003ff5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015181166101605292015161018052509182166101c052166101e05250620006e8565b90565b600081831015620004a35781620004a5565b825b9392505050565b60405161014081016001600160401b0381118282101715620004de57634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004f957600080fd5b919050565b80516001600160401b0381168114620004f957600080fd5b6001600160a01b03811681146200052c57600080fd5b50565b8051620004f98162000516565b60008060008385036101808112156200055457600080fd5b610140808212156200056557600080fd5b6200056f620004ac565b91506200057c86620004e4565b8252602086015160208301526040860151604083015260608601516060830152620005aa60808701620004fe565b6080830152620005bd60a08701620004fe565b60a0830152620005d060c087016200052f565b60c0830152620005e360e087016200052f565b60e0830152610100620005f88188016200052f565b8184015250610120808701518184015250819450620006198187016200052f565b935050506200062c61016085016200052f565b90509250925092565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168082101562000668576200066862000635565b90039392505050565b6000821982111562000687576200068762000635565b500190565b6000602082840312156200069f57600080fd5b8151620004a58162000516565b600060208284031215620006bf57600080fd5b5051919050565b6000816000190483118215151615620006e357620006e362000635565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051615c61620008c36000396000818161061c01528181611a4a01526123b001526000818161090d01528181611a1801528181611eeb015261237e015260008181610778015281816130ed01528181613158015261318b015260008181610ac5015261277c0152600081816106ee01528181611b4801528181611c8c01528181611d6601528181611df5015281816135fa0152613a890152600081816105a90152818161182601528181611922015281816134f40152613990015260008181610948015281816127fe0152613a600152600081816105460152818161247e0152818161300601526142f7015260008181610b1801528181610f7f0152818161207c015281816120be01528181612f76015281816131bb015261321a015260008181610b4b0152818161262201528181612dbf01528181612ee5015281816131290152818161416e0152818161459b0152818161467a0152818161472d01528181614f5b015261514c015260008181610bf20152818161216a015281816121f001528181612e8801528181612fda01528181614086015261418f01526000818161083a01526142120152615c616000f3fe6080604052600436106103555760003560e01c806370872aa5116101bb578063c0d8bb74116100f7578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b9f578063fa24f74314610bbf578063fa315aa914610be3578063fe2bbeb214610c1657600080fd5b8063dabd396d14610b09578063ec5e630814610b3c578063eff0f59214610b6f57600080fd5b8063cf09e0d0116100d1578063cf09e0d014610a75578063d5d44d8014610a96578063d6ae3cd514610ab6578063d8cc1a3c14610ae957600080fd5b8063c0d8bb74146109b4578063c395e1ca146109e1578063c6f0308c14610a0157600080fd5b80638d450a9511610164578063a8e4fb901161013e578063a8e4fb90146108fe578063bbdc02db14610931578063bcef3b5514610972578063bd8da9561461099457600080fd5b80638d450a951461082b57806399735e3214610809578063a445ece61461085e57600080fd5b80638129fc1c116101955780638129fc1c146107ec5780638980e0cc146107f45780638b85902b1461080957600080fd5b806370872aa5146107af578063786b844b146107c45780637b0f0adc146107d957600080fd5b80633e3ac912116102955780635a5fa2d91161023357806360e274641161020d57806360e27464146107275780636361506d146107475780636b6716c0146107695780636f0344091461079c57600080fd5b80635a5fa2d9146106bf5780635c0cba33146106df578063609d33341461071257600080fd5b8063529d6a8c1161026f578063529d6a8c146105e0578063534db0e21461060d57806354fd4d501461064057806357da950e1461068f57600080fd5b80633e3ac9121461056a5780633fc8cef31461059a578063472777c6146105cd57600080fd5b806325fc2ace1161030257806330dbe570116102dc57806330dbe570146104c3578063378dd48c146104fb57806337b1b229146105155780633a7684631461053757600080fd5b806325fc2ace1461046f5780632810e1d61461048e5780632ad69aeb146104a357600080fd5b8063200d2ed211610333578063200d2ed2146103e7578063222abf4514610415578063250e69bd1461045557600080fd5b8063019351301461035a57806303c2924d1461037c57806319effeb41461039c575b600080fd5b34801561036657600080fd5b5061037a6103753660046154d1565b610c46565b005b34801561038857600080fd5b5061037a61039736600461552c565b610f05565b3480156103a857600080fd5b506000546103c99068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103f357600080fd5b5060005461040890600160801b900460ff1681565b6040516103de9190615585565b34801561042157600080fd5b506104456104303660046155ad565b600c6020526000908152604090205460ff1681565b60405190151581526020016103de565b34801561046157600080fd5b50600a546104459060ff1681565b34801561047b57600080fd5b506008545b6040519081526020016103de565b34801561049a57600080fd5b5061040861148d565b3480156104af57600080fd5b506104806104be36600461552c565b611665565b3480156104cf57600080fd5b506001546104e3906001600160a01b031681565b6040516001600160a01b0390911681526020016103de565b34801561050757600080fd5b50600d546104089060ff1681565b34801561052157600080fd5b503660011981013560f01c90033560601c6104e3565b34801561054357600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561057657600080fd5b50600054610445907201000000000000000000000000000000000000900460ff1681565b3480156105a657600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b61037a6105db3660046155ca565b61169b565b3480156105ec57600080fd5b506104806105fb3660046155ad565b60036020526000908152604090205481565b34801561061957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561064c57600080fd5b5060408051808201909152600581527f312e372e3000000000000000000000000000000000000000000000000000000060208201525b6040516103de9190615661565b34801561069b57600080fd5b506008546009546106aa919082565b604080519283526020830191909152016103de565b3480156106cb57600080fd5b506104806106da366004615674565b6116ad565b3480156106eb57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561071e57600080fd5b506106826116e7565b34801561073357600080fd5b5061037a6107423660046155ad565b6116f5565b34801561075357600080fd5b503660011981013560f01c900360340135610480565b34801561077557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c9565b61037a6107aa36600461569b565b611a0d565b3480156107bb57600080fd5b50600954610480565b3480156107d057600080fd5b5061037a611ab4565b61037a6107e73660046155ca565b611ed3565b61037a611ee0565b34801561080057600080fd5b50600254610480565b34801561081557600080fd5b503660011981013560f01c900360540135610480565b34801561083757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b34801561086a57600080fd5b506108c0610879366004615674565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103de565b34801561090a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561093d57600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103de565b34801561097e57600080fd5b503660011981013560f01c900360140135610480565b3480156109a057600080fd5b506103c96109af366004615674565b611f4c565b3480156109c057600080fd5b506104806109cf3660046155ad565b600b6020526000908152604090205481565b3480156109ed57600080fd5b506104806109fc3660046156dc565b6120e6565b348015610a0d57600080fd5b50610a21610a1c366004615674565b6122a7565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103de565b348015610a8157600080fd5b506000546103c99067ffffffffffffffff1681565b348015610aa257600080fd5b50610480610ab13660046155ad565b61231b565b348015610ac257600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610af557600080fd5b5061037a610b04366004615705565b612373565b348015610b1557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c9565b348015610b4857600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610b7b57600080fd5b50610445610b8a366004615674565b60046020526000908152604090205460ff1681565b348015610bab57600080fd5b5061037a610bba3660046155ca565b612416565b348015610bcb57600080fd5b50610bd46127fc565b6040516103de93929190615791565b348015610bef57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610c2257600080fd5b50610445610c31366004615674565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610c6557610c6561554e565b14610c835760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610cd6576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cef3660011981013560f01c90036014013590565b90565b610d06610d01368690038601866157cc565b612859565b14610d3d576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610d52929190615840565b604051809103902014610d91576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610dda610dd584848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128b592505050565b612922565b90506000610e0182600881518110610df457610df4615850565b6020026020010151612ad8565b9050602081511115610e3f576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e96576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610f2457610f2461554e565b14610f425760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610f5757610f57615850565b906000526020600020906005020190506000610f7284611f4c565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610fdb576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611024576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561104157508515155b156110a457835464010000000090046001600160a01b0316600081156110675781611076565b60018601546001600160a01b03165b90506110828187612b8c565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b03166060830152611128576001600160801b036040820152600181526000869003611128578195505b600086826020015163ffffffff16611140919061587c565b905060008382116111515781611153565b835b602084015190915063ffffffff165b8181101561127357600086828154811061117e5761117e615850565b6000918252602080832090910154808352600690915260409091205490915060ff166111d6576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600282815481106111eb576111eb615850565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156112325750600481015460408701516001600160801b039182169116115b1561125e5760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b5050808061126b90615894565b915050611162565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361148257606083015160008a8152600660205260409020805460ff19166001179055891580156113bf57506000547201000000000000000000000000000000000000900460ff165b1561141a576001546001600160a01b03166113da818a612b8c565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611480565b6114476001600160a01b038216156114325781611441565b60018901546001600160a01b03165b89612b8c565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156114ae576114ae61554e565b146114cc5760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff16611530576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b0316600260008154811061154f5761154f615850565b600091825260209091206005909102015464010000000090046001600160a01b03161461157d576001611580565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b8360028111156116245761162461554e565b0217905560028111156116395761163961554e565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061168157600080fd5b90600052602060002001600091509150505481565b905090565b6116a88383836001611a0d565b505050565b600081815260076020908152604080832060059092528220805482546116de90610100900463ffffffff16826158ae565b95945050505050565b606061169660546020612bce565b6116fd611ab4565b60006002600d5460ff1660028111156117185761171861554e565b0361173c57506001600160a01b0381166000908152600b60205260409020546117ab565b6001600d5460ff1660028111156117555761175561554e565b0361177957506001600160a01b0381166000908152600360205260409020546117ab565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff16611888576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b15801561186c57600080fd5b505af1158015611880573d6000803e3d6000fd5b505050505050565b806000036118c2576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b15801561196857600080fd5b505af115801561197c573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146119cd576040519150601f19603f3d011682016040523d82523d6000602084013e6119d2565b606091505b50509050806116a8576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480611a6c5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b611aa2576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611aae84848484612c02565b50505050565b6002600d5460ff166002811115611acd57611acd61554e565b1480611aef57506001600d5460ff166002811115611aed57611aed61554e565b145b15611af657565b6000600d5460ff166002811115611b0f57611b0f61554e565b14611b46576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ba4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bc891906158c5565b15611bff576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff16600003611c5b576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015611cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cff91906158c5565b905080611d38576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b158015611db257600080fd5b505af1925050508015611dc3575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa158015611e44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6891906158c5565b90508015611e8257600d805460ff19166001179055611e90565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f91611ec79160ff90911690615585565b60405180910390a15050565b6116a88383836000611a0d565b326001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f42576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f4a6135a3565b565b600080600054600160801b900460ff166002811115611f6d57611f6d61554e565b14611f8b5760405163067fe19560e41b815260040160405180910390fd5b600060028381548110611fa057611fa0615850565b600091825260208220600590910201805490925063ffffffff9081161461200657815460028054909163ffffffff16908110611fde57611fde615850565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b600482015460009061203190600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b6120459067ffffffffffffffff16426158ae565b61205b612024846001600160801b031660401c90565b67ffffffffffffffff1661206f919061587c565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff16116120bc57806116de565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612163836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f00000000000000000000000000000000000000000000000000000000000000008111156121c2576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a30060006121dd83836158f8565b9050670de0b6b3a76400006000612214827f000000000000000000000000000000000000000000000000000000000000000061590c565b9050600061223261222d670de0b6b3a76400008661590c565b613b1c565b905060006122408484613d6e565b9050600061224e8383613dbd565b9050600061225b82613deb565b9050600061227a82612275670de0b6b3a76400008f61590c565b613fd3565b905060006122888b83613dbd565b9050612294818d61590c565b9f9e505050505050505050505050505050565b600281815481106122b757600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff1660028111156123365761233661554e565b0361235757506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806123d25750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b612408576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611880868686868686614004565b60008054600160801b900460ff1660028111156124355761243561554e565b146124535760405163067fe19560e41b815260040160405180910390fd5b60008060008061246286614560565b93509350935093506000612478858585856148b9565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124fe919061592b565b9050600189036125cb576001600160a01b0381166352f0f3ad8a8461252f3660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156125a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c59190615948565b50611482565b600289036125ea576001600160a01b0381166352f0f3ad8a848961252f565b60038903612609576001600160a01b0381166352f0f3ad8a848761252f565b6004890361273e5760006126466001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000614958565b600954612653919061587c565b61265e90600161587c565b90503660011981013560f01c900360540135811061268b573660011981013560f01c90036054013561268d565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015612713573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127379190615948565b5050611482565b600589036127ca576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a401612582565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003660011981013560f01c90036014013560606128376116e7565b9050909192565b60008183101561284e5781612850565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001612898949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003612904576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000612932856149ed565b91945092509050600181600181111561294d5761294d61554e565b14612984576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451612990838561587c565b146129c7576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816129de5790505093506000835b8651811015612acc57600080612a516040518060400160405280858c60000151612a3591906158ae565b8152602001858c60200151612a4a919061587c565b90526149ed565b509150915060405180604001604052808383612a6d919061587c565b8152602001848b60200151612a82919061587c565b815250888581518110612a9757612a97615850565b6020908102919091010152612aad60018561587c565b9350612ab9818361587c565b612ac3908461587c565b92505050612a0b565b50845250919392505050565b60606000806000612ae8856149ed565b919450925090506000816001811115612b0357612b0361554e565b14612b3a576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612b44828461587c565b855114612b7d576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116de85602001518484614e8b565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190612bc590849061587c565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b60008054600160801b900460ff166002811115612c2157612c2161554e565b14612c3f5760405163067fe19560e41b815260040160405180910390fd5b600060028481548110612c5457612c54615850565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514612d18576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000612dad826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580612de85750612de57f0000000000000000000000000000000000000000000000000000000000000000600261587c565b81145b8015612df2575084155b15612e29576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015612e4f575086155b15612e86576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115612ee0576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612f0b7f0000000000000000000000000000000000000000000000000000000000000000600161587c565b8103612f1d57612f1d86888588614f20565b34612f27836120e6565b14612f5e576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612f6988611f4c565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603612fd1576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612ffe60017f00000000000000000000000000000000000000000000000000000000000000006158ae565b8303613122577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613062573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613086919061592b565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130e79190615948565b61311b907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615961565b90506131b5565b61314d60017f00000000000000000000000000000000000000000000000000000000000000006158ae565b83036131885761311b7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16600261598d565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b6131e9817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159bd565b67ffffffffffffffff166132048367ffffffffffffffff1690565b67ffffffffffffffff16111561324b57613248817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159bd565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff16156132c0576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c815260200190815260200160002060016002805490506134b791906158ae565b81546001810183556000928352602080842090910191909155338252600b90526040812080543492906134eb90849061587c565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561354d57600080fd5b505af1158015613561573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b60005471010000000000000000000000000000000000900460ff16156135f5576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015613655573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061367991906159e6565b9092509050816136b5576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146136e857639824bdab6000526004601cfd5b803660011981013560f01c90036054013511613746576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b90915291822080549192909161398790849061587c565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156139e957600080fd5b505af11580156139fd573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015613adc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b009190615a0a565b600a805460ff191663ffffffff92909216929092141790555050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213613b7257631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a764000002158202613dab57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b600081600019048311820215613ddb5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d78213613e1957919050565b680755bf798b4a1bf1e58212613e375763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000612850670de0b6b3a764000083613feb86613b1c565b613ff59190615a30565b613fff9190615aec565b613deb565b60008054600160801b900460ff1660028111156140235761402361554e565b146140415760405163067fe19560e41b815260040160405180910390fd5b60006002878154811061405657614056615850565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506140ac7f0000000000000000000000000000000000000000000000000000000000000000600161587c565b614126826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1614614160576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080891561423c576141b37f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006158ae565b6001901b6141c9846001600160801b03166150af565b6001600160801b03166141dc9190615b36565b15614210576142076141f860016001600160801b038716615b4a565b865463ffffffff166000615135565b60030154614232565b7f00000000000000000000000000000000000000000000000000000000000000005b915084905061425d565b6003850154915061425a6141f86001600160801b0386166001615b6a565b90505b600882901b60088a8a604051614274929190615840565b6040518091039020901b146142b5576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006142c08c6151fe565b905060006142cf836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced329061433c908f908f908f908f908a90600401615bd5565b6020604051808303816000875af115801561435b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061437f9190615948565b600485015491149150600090600290614408906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b614482896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61448c9190615c0f565b6144969190615c32565b60ff1615905081151581036144d7576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b031615614521576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b600080600080600085905060006002828154811061458057614580615850565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614635906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161466f576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090614714906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561478957825463ffffffff166147537f0000000000000000000000000000000000000000000000000000000000000000600161587c565b830361475d578391505b6002818154811061477057614770615850565b9060005260206000209060050201935080945050614673565b600481810154908401546001600160801b0391821691166000816001600160801b03166147ce6147c2856001600160801b031660011c90565b6001600160801b031690565b6001600160801b031614905080156148675760006147f4836001600160801b03166150af565b6001600160801b0316111561484457600061482461481c60016001600160801b038616615b4a565b896001615135565b6003810154600490910154909c506001600160801b03169a5061484a9050565b6008549a505b600386015460048701549099506001600160801b031697506148ab565b600061488061481c6001600160801b0385166001615b6a565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b038416156149145760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a001604051602081830303815290604052805190602001206116de565b82826040516020016149399291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b6000806149cc847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614a30576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614a55576000600160009450945094505050614e84565b60b78111614b6b576000614a6a6080836158ae565b905080876000015111614aa9576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614b2157507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614b58576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614e84915050565b60bf8111614cc9576000614b8060b7836158ae565b905080876000015111614bbf576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614c21576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614c69576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614c73818461587c565b895111614cac576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614cb783600161587c565b9750955060009450614e849350505050565b60f78111614d2e576000614cde60c0836158ae565b905080876000015111614d1d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614e84915050565b6000614d3b60f7836158ae565b905080876000015111614d7a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614ddc576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614e24576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e2e818461587c565b895111614e67576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e7283600161587c565b9750955060019450614e849350505050565b9193909250565b60608167ffffffffffffffff811115614ea657614ea66157b6565b6040519080825280601f01601f191660200182016040528015614ed0576020820181803683370190505b5090508115614f19576000614ee5848661587c565b90506020820160005b84811015614f06578281015182820152602001614eee565b84811115614f15576000858301525b5050505b9392505050565b6000614f366001600160801b0384166001615b6a565b90506000614f4682866001615135565b9050600086901a83806150105750614f7f60027f0000000000000000000000000000000000000000000000000000000000000000615b36565b6004830154600290615001906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61500b9190615c32565b60ff16145b156150685760ff81166001148061502a575060ff81166002145b615063576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161373d565b6150a6565b60ff8116156150a6576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161373d565b50505050505050565b600080615123837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b60008082615175576151706001600160801b0386167f000000000000000000000000000000000000000000000000000000000000000061522d565b615187565b615187856001600160801b031661536c565b90506002848154811061519c5761519c615850565b906000526020600020906005020191505b60048201546001600160801b038281169116146151f657815460028054909163ffffffff169081106151e1576151e1615850565b906000526020600020906005020191506151ad565b509392505050565b600080600080600061520f86614560565b9350935093509350615223848484846148b9565b9695505050505050565b6000816152aa846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116152c05763b34b5c226000526004601cfd5b6152c98361536c565b905081615346826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116128535761285061535c83600161587c565b6001600160801b038316906153f8565b600081196001830116816153e7827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061546c847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261549a57600080fd5b50813567ffffffffffffffff8111156154b257600080fd5b6020830191508360208285010111156154ca57600080fd5b9250929050565b600080600083850360a08112156154e757600080fd5b60808112156154f557600080fd5b50839250608084013567ffffffffffffffff81111561551357600080fd5b61551f86828701615488565b9497909650939450505050565b6000806040838503121561553f57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061558257634e487b7160e01b600052602160045260246000fd5b50565b6020810161559283615564565b91905290565b6001600160a01b038116811461558257600080fd5b6000602082840312156155bf57600080fd5b8135614f1981615598565b6000806000606084860312156155df57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561561c57602081850181015186830182015201615600565b8181111561562e576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061285060208301846155f6565b60006020828403121561568657600080fd5b5035919050565b801515811461558257600080fd5b600080600080608085870312156156b157600080fd5b84359350602085013592506040850135915060608501356156d18161568d565b939692955090935050565b6000602082840312156156ee57600080fd5b81356001600160801b0381168114614f1957600080fd5b6000806000806000806080878903121561571e57600080fd5b8635955060208701356157308161568d565b9450604087013567ffffffffffffffff8082111561574d57600080fd5b6157598a838b01615488565b9096509450606089013591508082111561577257600080fd5b5061577f89828a01615488565b979a9699509497509295939492505050565b63ffffffff841681528260208201526060604082015260006116de60608301846155f6565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156157de57600080fd5b6040516080810181811067ffffffffffffffff8211171561580f57634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561588f5761588f615866565b500190565b600060001982036158a7576158a7615866565b5060010190565b6000828210156158c0576158c0615866565b500390565b6000602082840312156158d757600080fd5b8151614f198161568d565b634e487b7160e01b600052601260045260246000fd5b600082615907576159076158e2565b500490565b600081600019048311821515161561592657615926615866565b500290565b60006020828403121561593d57600080fd5b8151614f1981615598565b60006020828403121561595a57600080fd5b5051919050565b600067ffffffffffffffff80831681851680830382111561598457615984615866565b01949350505050565b600067ffffffffffffffff808316818516818304811182151516156159b4576159b4615866565b02949350505050565b600067ffffffffffffffff838116908316818110156159de576159de615866565b039392505050565b600080604083850312156159f957600080fd5b505080516020909101519092909150565b600060208284031215615a1c57600080fd5b815163ffffffff81168114614f1957600080fd5b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615a7157615a71615866565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615aac57615aac615866565b60008712925087820587128484161615615ac857615ac8615866565b87850587128184161615615ade57615ade615866565b505050929093029392505050565b600082615afb57615afb6158e2565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615b3157615b31615866565b500590565b600082615b4557615b456158e2565b500690565b60006001600160801b03838116908316818110156159de576159de615866565b60006001600160801b0380831681851680830382111561598457615984615866565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615be9606083018789615b8c565b8281036020840152615bfc818688615b8c565b9150508260408301529695505050505050565b600060ff821660ff841680821015615c2957615c29615866565b90039392505050565b600060ff831680615c4557615c456158e2565b8060ff8416069150509291505056fea164736f6c634300080f000a000000000000000000000000000000000000000000000000000000000000000103eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc80000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d4000000000000000000000000007babe08ee4d07dba236530183b24055535a701100000000000000000000000032ce910d9c6c8f78dc6779c1499ab05f281a054e0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153550000000000000000000000000000000000000000000000000000000000014a34000000000000000000000000037637067c1dbe6d2430616d8f54cb774daa59990000000000000000000000008b8c52b04a38f10515c52670fcb23f3c4c44474f, false, [], 6), ((0, 11155111), 3, 0x07BABE08EE4D07dBA236530183B24055535A7011, 0x217e725700DE4Dc599360aDbd57dbb7DE280817E, true, 0, 0, 0x, 0, 0x7dc0d1d0, false, [], 7), ((0, 11155111), 3, 0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3, 0x217e725700DE4Dc599360aDbd57dbb7DE280817E, true, 0, 0, 0x, 0, 0xf3f480d9, false, [], 7), ((0, 11155111), 3, 0x07BABE08EE4D07dBA236530183B24055535A7011, 0x217e725700DE4Dc599360aDbd57dbb7DE280817E, true, 0, 0, 0x, 0, 0x7dc0d1d0, false, [], 7), ((0, 11155111), 3, 0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3, 0x217e725700DE4Dc599360aDbd57dbb7DE280817E, true, 0, 0, 0x, 0, 0xf3f480d9, false, [], 7), ((0, 11155111), 3, 0xf272670eb55e895584501d564AfEB048bEd26194, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0xf272670eb55e895584501d564AfEB048bEd26194, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, false)], 6), ((0, 11155111), 1, 0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0xf272670eb55e895584501d564AfEB048bEd26194, 0x4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ac, false, 0x00000000000000000000000049f53e41452c74589e85ca1677426ba426459e85, 0x00000000000000000000000049f53e41452c74589e85ca1677426ba426459e85, false)], 7), ((0, 11155111), 3, 0x49f53e41452C74589E85cA1677426Ba426459e85, 0xf272670eb55e895584501d564AfEB048bEd26194, true, 1150428230307645607463903, 1150428230307645607463903, 0x, 0, 0xf2b4e617, false, [(0x49f53e41452C74589E85cA1677426Ba426459e85, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, false)], 8), ((0, 11155111), 1, 0x381E729FF983FA4BCEd820e7b922d79bF653B999, 0xf272670eb55e895584501d564AfEB048bEd26194, true, 1150428230307645607463903, 1150428230307645607463903, 0x, 0, 0xf2b4e617, false, [(0x49f53e41452C74589E85cA1677426Ba426459e85, 0x000000000000000000000000000000000000000000000000000000000000003e, false, 0x0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355, 0x0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355, false)], 9), ((0, 11155111), 3, 0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x49f53e41452C74589E85cA1677426Ba426459e85, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, false)], 10), ((0, 11155111), 1, 0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E, 0x49f53e41452C74589E85cA1677426Ba426459e85, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x0000000000000000000000000000000000000000000000000000000000000001, false, 0x000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1, 0x000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1, false)], 11), ((0, 11155111), 8, 0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 0, 0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x14f6b1a30000000000000000000000000000000000000000000000000000000000000001000000000000000000000000217e725700de4dc599360adbd57dbb7de280817e, false, [(0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false)], 6), ((0, 11155111), 1, 0x33D1e8571a85a538ed3D5A4d88f46C112383439D, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x14f6b1a30000000000000000000000000000000000000000000000000000000000000001000000000000000000000000217e725700de4dc599360adbd57dbb7de280817e, false, [(0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0x0000000000000000000000000000000000000000000000000000000000000033, false, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, false), (0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e, false, 0x000000000000000000000000f0102ffe22649a5421d53acc96e309660960cf44, 0x000000000000000000000000f0102ffe22649a5421d53acc96e309660960cf44, false), (0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e, true, 0x000000000000000000000000f0102ffe22649a5421d53acc96e309660960cf44, 0x000000000000000000000000217e725700de4dc599360adbd57dbb7de280817e, false)], 7), ((0, 11155111), 3, 0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x1b685b9e0000000000000000000000000000000000000000000000000000000000000000, false, [(0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false)], 6), ((0, 11155111), 1, 0x33D1e8571a85a538ed3D5A4d88f46C112383439D, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x1b685b9e0000000000000000000000000000000000000000000000000000000000000000, false, [(0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b, false, 0x000000000000000000000000cfce7dd673fbbbffd16ab936b7245a2f2db31c9a, 0x000000000000000000000000cfce7dd673fbbbffd16ab936b7245a2f2db31c9a, false)], 7), ((0, 11155111), 3, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [], 6), ((0, 11155111), 3, 0x10596fE51861c5D3865568278270B1DF050Ee547, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [(0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000001, false, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000002, false, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000004, false, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000005, false, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000006, false, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000007, false, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000008, false, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000009, false, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000a, false, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000b, false, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000c, false, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, false)], 7), ((0, 11155111), 8, 0xA643EA8ee60D92f615eC70AF0248c449bBCEcF4d, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 10, 0xA643EA8ee60D92f615eC70AF0248c449bBCEcF4d, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 3, 0x0000000000000000000000000000000000000004, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 613037898440193504, 613037898440193504, 0x, 0, 0x608060405234801561001057600080fd5b5060405161091f38038061091f83398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206108ff8339815191525490565b6000805160206108ff833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61080b806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, [], 6), ((0, 11155111), 4, 0xd3683e4947A7769603Ab6418eC02f000CE3cF30b, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000a, 0, 0x608060405234801561001057600080fd5b5060405161091f38038061091f83398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206108ff8339815191525490565b6000805160206108ff833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61080b806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61030000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false, [(0xd3683e4947A7769603Ab6418eC02f000CE3cF30b, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0xd3683e4947A7769603Ab6418eC02f000CE3cF30b, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false)], 6), ((0, 11155111), 8, 0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 8, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 0, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x9623609d000000000000000000000000d3683e4947a7769603ab6418ec02f000ce3cf30b00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c699800000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000000000000000000000000000000000000, false, [(0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, false), (0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x323fa858dfe9c520242caa937f66ec357241795c9c8f1a047561d0fac32044f6, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 6), ((0, 11155111), 0, 0xd3683e4947A7769603Ab6418eC02f000CE3cF30b, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0x4f1ef28600000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c699800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000000000000000000000000000000000000, false, [(0xd3683e4947A7769603Ab6418eC02f000CE3cF30b, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false), (0xd3683e4947A7769603Ab6418eC02f000CE3cF30b, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998, false)], 7), ((0, 11155111), 1, 0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0xc4d66de8000000000000000000000000f272670eb55e895584501d564afeb048bed26194, false, [(0xd3683e4947A7769603Ab6418eC02f000CE3cF30b, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0xd3683e4947A7769603Ab6418eC02f000CE3cF30b, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0xd3683e4947A7769603Ab6418eC02f000CE3cF30b, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0xd3683e4947A7769603Ab6418eC02f000CE3cF30b, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000101, false), (0xd3683e4947A7769603Ab6418eC02f000CE3cF30b, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false), (0xd3683e4947A7769603Ab6418eC02f000CE3cF30b, 0x0000000000000000000000000000000000000000000000000000000000000004, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0xd3683e4947A7769603Ab6418eC02f000CE3cF30b, 0x0000000000000000000000000000000000000000000000000000000000000004, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x000000000000000000000000f272670eb55e895584501d564afeb048bed26194, false), (0xd3683e4947A7769603Ab6418eC02f000CE3cF30b, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000101, 0x0000000000000000000000000000000000000000000000000000000000000101, false), (0xd3683e4947A7769603Ab6418eC02f000CE3cF30b, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000101, 0x0000000000000000000000000000000000000000000000000000000000000001, false)], 8), ((0, 11155111), 3, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [], 6), ((0, 11155111), 3, 0x10596fE51861c5D3865568278270B1DF050Ee547, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [(0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000001, false, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000002, false, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000004, false, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000005, false, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000006, false, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000007, false, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000008, false, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000009, false, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000a, false, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000b, false, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000c, false, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, false)], 7), ((0, 11155111), 3, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x30e9012c, false, [], 6), ((0, 11155111), 3, 0x10596fE51861c5D3865568278270B1DF050Ee547, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, true, 0, 0, 0x, 0, 0x30e9012c, false, [(0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000d, false, 0x000000000000000000000000ce28685eb204186b557133766eca00334eb441e4, 0x000000000000000000000000ce28685eb204186b557133766eca00334eb441e4, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000e, false, 0x00000000000000000000000037e15e4d6dffa9e5e320ee1ec036922e563cb76c, 0x00000000000000000000000037e15e4d6dffa9e5e320ee1ec036922e563cb76c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000f, false, 0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696, 0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000010, false, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000011, false, 0x000000000000000000000000b0eb854fd842e0e564d49d2fe6b2ac25d035523c, 0x000000000000000000000000b0eb854fd842e0e564d49d2fe6b2ac25d035523c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000012, false, 0x000000000000000000000000784d2f03593a42a6e4676a012762f18775ecbbe6, 0x000000000000000000000000784d2f03593a42a6e4676a012762f18775ecbbe6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000013, false, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000014, false, 0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f, 0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000015, false, 0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6, 0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000016, false, 0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, 0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000017, false, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000018, false, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000019, false, 0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998, 0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000001a, false, 0x00000000000000000000000007babe08ee4d07dba236530183b24055535a7011, 0x00000000000000000000000007babe08ee4d07dba236530183b24055535a7011, false)], 7), ((0, 11155111), 3, 0xCFcE7DD673fBbbFfD16Ab936B7245A2f2dB31C9a, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xbbdc02db, false, [], 6), ((0, 11155111), 3, 0xCFcE7DD673fBbbFfD16Ab936B7245A2f2dB31C9a, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xd6ae3cd5, false, [], 6), ((0, 11155111), 3, 0xCFcE7DD673fBbbFfD16Ab936B7245A2f2dB31C9a, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x8d450a95, false, [], 6), ((0, 11155111), 3, 0xCFcE7DD673fBbbFfD16Ab936B7245A2f2dB31C9a, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xfa315aa9, false, [], 6), ((0, 11155111), 3, 0xCFcE7DD673fBbbFfD16Ab936B7245A2f2dB31C9a, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xec5e6308, false, [], 6), ((0, 11155111), 3, 0xCFcE7DD673fBbbFfD16Ab936B7245A2f2dB31C9a, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x6b6716c0, false, [], 6), ((0, 11155111), 3, 0xCFcE7DD673fBbbFfD16Ab936B7245A2f2dB31C9a, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xdabd396d, false, [], 6), ((0, 11155111), 3, 0xCFcE7DD673fBbbFfD16Ab936B7245A2f2dB31C9a, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x3a768463, false, [], 6), ((0, 11155111), 3, 0xCFcE7DD673fBbbFfD16Ab936B7245A2f2dB31C9a, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x3fc8cef3, false, [], 6), ((0, 11155111), 3, 0xCFcE7DD673fBbbFfD16Ab936B7245A2f2dB31C9a, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x5c0cba33, false, [], 6), ((0, 11155111), 8, 0x065E5D14a280701C054D5a6A67f31F228233B823, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 10, 0x065E5D14a280701C054D5a6A67f31F228233B823, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 3, 0x0000000000000000000000000000000000000004, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 613037898440193504, 613037898440193504, 0x, 0, 0x6101c06040523480156200001257600080fd5b506040516200626f3803806200626f83398101604081905262000035916200052e565b620000436001607e62000601565b60ff16816040015111156200006b57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000955750604081015160608201516200009290600162000627565b10155b15620000b45760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000db5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000128573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014e919062000642565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b2919062000662565b1115620001d25760405163b4e1243360e01b815260040160405180910390fd5b6000620001f782608001516001600160401b03166200048060201b62000c701760201c565b6200020d906001600160401b031660026200067c565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000254573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027a919062000642565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002de919062000662565b6200030184608001516001600160401b03166200048060201b62000c701760201c565b6001600160401b031662000316919062000627565b905060006200033183836200048360201b62003a821760201c565b90506001600160401b038111156200035c5760405163235dfb2b60e21b815260040160405180910390fd5b6200037f8460a001516001600160401b03166200048060201b62000c701760201c565b6001600160401b0316816001600160401b03161115620003b25760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003d9856000015163ffffffff166200048060201b62000c701760201c565b63ffffffff1603620003fe5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015116610160529091015161018052506200069e565b90565b60008183101562000495578162000497565b825b9392505050565b60405161014081016001600160401b0381118282101715620004d057634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004eb57600080fd5b919050565b80516001600160401b0381168114620004eb57600080fd5b6001600160a01b03811681146200051e57600080fd5b50565b8051620004eb8162000508565b600061014082840312156200054257600080fd5b6200054c6200049e565b6200055783620004d6565b81526020830151602082015260408301516040820152606083015160608201526200058560808401620004f0565b60808201526200059860a08401620004f0565b60a0820152620005ab60c0840162000521565b60c0820152620005be60e0840162000521565b60e0820152610100620005d381850162000521565b90820152610120928301519281019290925250919050565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8416808210156200061e576200061e620005eb565b90039392505050565b600082198211156200063d576200063d620005eb565b500190565b6000602082840312156200065557600080fd5b8151620004978162000508565b6000602082840312156200067557600080fd5b5051919050565b6000816000190483118215151615620006995762000699620005eb565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051615a2f620008406000396000818161072f01528181611e7c01528181611ee70152611f1a015260008181610a4901526139c00152600081816106a5015281816123c60152818161250a015281816125e401528181612673015281816127b50152612c44015260008181610593015281816117aa015281816118a6015281816122830152612b4b0152600081816108cc01528181612c1b0152613a4201526000818161053001528181611d95015281816133f101526136c2015260008181610a9c01528181610f0301528181611d0501528181611f4a01528181611fa901528181612e070152612e49015260008181610acf01528181611b4e01528181611c7401528181611eb8015281816132680152818161386601528181613e810152818161455a01528181614676015281816147550152614808015260008181610b7601528181611c1701528181611d6901528181612ef501528181612f7b0152818161318001526132890152600081816107f1015261330c0152615a2f6000f3fe60806040526004361061033f5760003560e01c806370872aa5116101b0578063c395e1ca116100ec578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b23578063fa24f74314610b43578063fa315aa914610b67578063fe2bbeb214610b9a57600080fd5b8063dabd396d14610a8d578063ec5e630814610ac0578063eff0f59214610af357600080fd5b8063d5d44d80116100c6578063d5d44d8014610a1a578063d6ae3cd514610a3a578063d8cc1a3c14610a6d57600080fd5b8063c395e1ca14610965578063c6f0308c14610985578063cf09e0d0146109f957600080fd5b80638d450a9511610159578063bbdc02db11610133578063bbdc02db146108b5578063bcef3b55146108f6578063bd8da95614610918578063c0d8bb741461093857600080fd5b80638d450a95146107e257806399735e32146107c0578063a445ece61461081557600080fd5b80638129fc1c1161018a5780638129fc1c146107a35780638980e0cc146107ab5780638b85902b146107c057600080fd5b806370872aa514610766578063786b844b1461077b5780637b0f0adc1461079057600080fd5b80633e3ac9121161027f5780635a5fa2d91161022857806360e274641161020257806360e27464146106de5780636361506d146106fe5780636b6716c0146107205780636f0344091461075357600080fd5b80635a5fa2d9146106765780635c0cba3314610696578063609d3334146106c957600080fd5b8063529d6a8c11610259578063529d6a8c146105ca57806354fd4d50146105f757806357da950e1461064657600080fd5b80633e3ac912146105545780633fc8cef314610584578063472777c6146105b757600080fd5b806325fc2ace116102ec57806330dbe570116102c657806330dbe570146104ad578063378dd48c146104e557806337b1b229146104ff5780633a7684631461052157600080fd5b806325fc2ace146104595780632810e1d6146104785780632ad69aeb1461048d57600080fd5b8063200d2ed21161031d578063200d2ed2146103d1578063222abf45146103ff578063250e69bd1461043f57600080fd5b8063019351301461034457806303c2924d1461036657806319effeb414610386575b600080fd5b34801561035057600080fd5b5061036461035f36600461529f565b610bca565b005b34801561037257600080fd5b506103646103813660046152fa565b610e89565b34801561039257600080fd5b506000546103b39068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103dd57600080fd5b506000546103f290600160801b900460ff1681565b6040516103c89190615353565b34801561040b57600080fd5b5061042f61041a36600461537b565b600c6020526000908152604090205460ff1681565b60405190151581526020016103c8565b34801561044b57600080fd5b50600a5461042f9060ff1681565b34801561046557600080fd5b506008545b6040519081526020016103c8565b34801561048457600080fd5b506103f2611411565b34801561049957600080fd5b5061046a6104a83660046152fa565b6115e9565b3480156104b957600080fd5b506001546104cd906001600160a01b031681565b6040516001600160a01b0390911681526020016103c8565b3480156104f157600080fd5b50600d546103f29060ff1681565b34801561050b57600080fd5b503660011981013560f01c90033560601c6104cd565b34801561052d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b34801561056057600080fd5b5060005461042f907201000000000000000000000000000000000000900460ff1681565b34801561059057600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b6103646105c5366004615398565b61161f565b3480156105d657600080fd5b5061046a6105e536600461537b565b60036020526000908152604090205481565b34801561060357600080fd5b5060408051808201909152600581527f312e372e3000000000000000000000000000000000000000000000000000000060208201525b6040516103c8919061542f565b34801561065257600080fd5b50600854600954610661919082565b604080519283526020830191909152016103c8565b34801561068257600080fd5b5061046a610691366004615442565b611631565b3480156106a257600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b3480156106d557600080fd5b5061063961166b565b3480156106ea57600080fd5b506103646106f936600461537b565b611679565b34801561070a57600080fd5b503660011981013560f01c90036034013561046a565b34801561072c57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103b3565b610364610761366004615469565b611991565b34801561077257600080fd5b5060095461046a565b34801561078757600080fd5b50610364612332565b61036461079e366004615398565b612751565b61036461275e565b3480156107b757600080fd5b5060025461046a565b3480156107cc57600080fd5b503660011981013560f01c90036054013561046a565b3480156107ee57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b34801561082157600080fd5b50610877610830366004615442565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103c8565b3480156108c157600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103c8565b34801561090257600080fd5b503660011981013560f01c90036014013561046a565b34801561092457600080fd5b506103b3610933366004615442565b612cd7565b34801561094457600080fd5b5061046a61095336600461537b565b600b6020526000908152604090205481565b34801561097157600080fd5b5061046a6109803660046154aa565b612e71565b34801561099157600080fd5b506109a56109a0366004615442565b613032565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103c8565b348015610a0557600080fd5b506000546103b39067ffffffffffffffff1681565b348015610a2657600080fd5b5061046a610a3536600461537b565b6130a6565b348015610a4657600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610a7957600080fd5b50610364610a883660046154d3565b6130fe565b348015610a9957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103b3565b348015610acc57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610aff57600080fd5b5061042f610b0e366004615442565b60046020526000908152604090205460ff1681565b348015610b2f57600080fd5b50610364610b3e366004615398565b61365a565b348015610b4f57600080fd5b50610b58613a40565b6040516103c89392919061555f565b348015610b7357600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610ba657600080fd5b5061042f610bb5366004615442565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610be957610be961531c565b14610c075760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610c5a576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c733660011981013560f01c90036014013590565b90565b610c8a610c853686900386018661559a565b613a9d565b14610cc1576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610cd692919061560e565b604051809103902014610d15576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d5e610d5984848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613af992505050565b613b66565b90506000610d8582600881518110610d7857610d7861561e565b6020026020010151613d1c565b9050602081511115610dc3576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e1a576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610ea857610ea861531c565b14610ec65760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610edb57610edb61561e565b906000526020600020906005020190506000610ef684612cd7565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610f5f576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615610fa8576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000848152600560205260409020805480158015610fc557508515155b1561102857835464010000000090046001600160a01b031660008115610feb5781610ffa565b60018601546001600160a01b03165b90506110068187613dd0565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b031660608301526110ac576001600160801b0360408201526001815260008690036110ac578195505b600086826020015163ffffffff166110c4919061564a565b905060008382116110d557816110d7565b835b602084015190915063ffffffff165b818110156111f75760008682815481106111025761110261561e565b6000918252602080832090910154808352600690915260409091205490915060ff1661115a576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002828154811061116f5761116f61561e565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156111b65750600481015460408701516001600160801b039182169116115b156111e25760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b505080806111ef90615662565b9150506110e6565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361140657606083015160008a8152600660205260409020805460ff191660011790558915801561134357506000547201000000000000000000000000000000000000900460ff165b1561139e576001546001600160a01b031661135e818a613dd0565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611404565b6113cb6001600160a01b038216156113b657816113c5565b60018901546001600160a01b03165b89613dd0565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156114325761143261531c565b146114505760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166114b4576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b031660026000815481106114d3576114d361561e565b600091825260209091206005909102015464010000000090046001600160a01b031614611501576001611504565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b8360028111156115a8576115a861531c565b0217905560028111156115bd576115bd61531c565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061160557600080fd5b90600052602060002001600091509150505481565b905090565b61162c8383836001611991565b505050565b6000818152600760209081526040808320600590925282208054825461166290610100900463ffffffff168261567c565b95945050505050565b606061161a60546020613e12565b611681612332565b60006002600d5460ff16600281111561169c5761169c61531c565b036116c057506001600160a01b0381166000908152600b602052604090205461172f565b6001600d5460ff1660028111156116d9576116d961531c565b036116fd57506001600160a01b03811660009081526003602052604090205461172f565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff1661180c576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b1580156117f057600080fd5b505af1158015611804573d6000803e3d6000fd5b505050505050565b80600003611846576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b1580156118ec57600080fd5b505af1158015611900573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611951576040519150601f19603f3d011682016040523d82523d6000602084013e611956565b606091505b505090508061162c576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054600160801b900460ff1660028111156119b0576119b061531c565b146119ce5760405163067fe19560e41b815260040160405180910390fd5b6000600284815481106119e3576119e361561e565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514611aa7576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000611b3c826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580611b775750611b747f0000000000000000000000000000000000000000000000000000000000000000600261564a565b81145b8015611b81575084155b15611bb8576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015611bde575086155b15611c15576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115611c6f576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c9a7f0000000000000000000000000000000000000000000000000000000000000000600161564a565b8103611cac57611cac86888588613e46565b34611cb683612e71565b14611ced576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611cf888612cd7565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603611d60576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611d8d60017f000000000000000000000000000000000000000000000000000000000000000061567c565b8303611eb1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611df1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e159190615693565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7691906156b0565b611eaa907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166156c9565b9050611f44565b611edc60017f000000000000000000000000000000000000000000000000000000000000000061567c565b8303611f1757611eaa7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff1660026156f5565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b611f78817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615725565b67ffffffffffffffff16611f938367ffffffffffffffff1690565b67ffffffffffffffff161115611fda57611fd7817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615725565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff161561204f576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c81526020019081526020016000206001600280549050612246919061567c565b81546001810183556000928352602080842090910191909155338252600b905260408120805434929061227a90849061564a565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156122dc57600080fd5b505af11580156122f0573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b6002600d5460ff16600281111561234b5761234b61531c565b148061236d57506001600d5460ff16600281111561236b5761236b61531c565b145b1561237457565b6000600d5460ff16600281111561238d5761238d61531c565b146123c4576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612422573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612446919061574e565b1561247d576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff166000036124d9576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015612559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061257d919061574e565b9050806125b6576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561263057600080fd5b505af1925050508015612641575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa1580156126c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126e6919061574e565b9050801561270057600d805460ff1916600117905561270e565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f916127459160ff90911690615353565b60405180910390a15050565b61162c8383836000611991565b60005471010000000000000000000000000000000000900460ff16156127b0576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015612810573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612834919061576b565b909250905081612870576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146128a357639824bdab6000526004601cfd5b803660011981013560f01c90036054013511612901576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b909152918220805491929091612b4290849061564a565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015612ba457600080fd5b505af1158015612bb8573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015612c97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cbb919061578f565b600a805460ff191663ffffffff92909216929092141790555050565b600080600054600160801b900460ff166002811115612cf857612cf861531c565b14612d165760405163067fe19560e41b815260040160405180910390fd5b600060028381548110612d2b57612d2b61561e565b600091825260208220600590910201805490925063ffffffff90811614612d9157815460028054909163ffffffff16908110612d6957612d6961561e565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b6004820154600090612dbc90600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b612dd09067ffffffffffffffff164261567c565b612de6612daf846001600160801b031660401c90565b67ffffffffffffffff16612dfa919061564a565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611612e475780611662565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612eee836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115612f4d576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000612f6883836157cb565b9050670de0b6b3a76400006000612f9f827f00000000000000000000000000000000000000000000000000000000000000006157df565b90506000612fbd612fb8670de0b6b3a7640000866157df565b613fd5565b90506000612fcb8484614227565b90506000612fd98383614276565b90506000612fe6826142a4565b9050600061300582613000670de0b6b3a76400008f6157df565b61448c565b905060006130138b83614276565b905061301f818d6157df565b9f9e505050505050505050505050505050565b6002818154811061304257600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff1660028111156130c1576130c161531c565b036130e257506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b60008054600160801b900460ff16600281111561311d5761311d61531c565b1461313b5760405163067fe19560e41b815260040160405180910390fd5b6000600287815481106131505761315061561e565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506131a67f0000000000000000000000000000000000000000000000000000000000000000600161564a565b613220826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161461325a576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808915613336576132ad7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061567c565b6001901b6132c3846001600160801b03166144bd565b6001600160801b03166132d691906157fe565b1561330a576133016132f260016001600160801b038716615812565b865463ffffffff166000614543565b6003015461332c565b7f00000000000000000000000000000000000000000000000000000000000000005b9150849050613357565b600385015491506133546132f26001600160801b0386166001615832565b90505b600882901b60088a8a60405161336e92919061560e565b6040518091039020901b146133af576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006133ba8c61460c565b905060006133c9836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced3290613436908f908f908f908f908a9060040161589d565b6020604051808303816000875af1158015613455573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061347991906156b0565b600485015491149150600090600290613502906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61357c896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61358691906158d7565b61359091906158fa565b60ff1615905081151581036135d1576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b03161561361b576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008054600160801b900460ff1660028111156136795761367961531c565b146136975760405163067fe19560e41b815260040160405180910390fd5b6000806000806136a68661463b565b935093509350935060006136bc85858585614994565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561371e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137429190615693565b90506001890361380f576001600160a01b0381166352f0f3ad8a846137733660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156137e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061380991906156b0565b50611406565b6002890361382e576001600160a01b0381166352f0f3ad8a8489613773565b6003890361384d576001600160a01b0381166352f0f3ad8a8487613773565b6004890361398257600061388a6001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000614a33565b600954613897919061564a565b6138a290600161564a565b90503660011981013560f01c90036054013581106138cf573660011981013560f01c9003605401356138d1565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015613957573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061397b91906156b0565b5050611406565b60058903613a0e576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a4016137c6565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003660011981013560f01c9003601401356060613a7b61166b565b9050909192565b600081831015613a925781613a94565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001613adc949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003613b48576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000613b7685614ac8565b919450925090506001816001811115613b9157613b9161531c565b14613bc8576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451613bd4838561564a565b14613c0b576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b6040805180820190915260008082526020820152815260200190600190039081613c225790505093506000835b8651811015613d1057600080613c956040518060400160405280858c60000151613c79919061567c565b8152602001858c60200151613c8e919061564a565b9052614ac8565b509150915060405180604001604052808383613cb1919061564a565b8152602001848b60200151613cc6919061564a565b815250888581518110613cdb57613cdb61561e565b6020908102919091010152613cf160018561564a565b9350613cfd818361564a565b613d07908461564a565b92505050613c4f565b50845250919392505050565b60606000806000613d2c85614ac8565b919450925090506000816001811115613d4757613d4761531c565b14613d7e576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613d88828461564a565b855114613dc1576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61166285602001518484614f66565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190613e0990849061564a565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b6000613e5c6001600160801b0384166001615832565b90506000613e6c82866001614543565b9050600086901a8380613f365750613ea560027f00000000000000000000000000000000000000000000000000000000000000006157fe565b6004830154600290613f27906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b613f3191906158fa565b60ff16145b15613f8e5760ff811660011480613f50575060ff81166002145b613f89576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016128f8565b613fcc565b60ff811615613fcc576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016128f8565b50505050505050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b176000821361402b57631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261426457637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b6000816000190483118202156142945763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d782136142d257919050565b680755bf798b4a1bf1e582126142f05763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000613a94670de0b6b3a7640000836144a486613fd5565b6144ae919061591c565b6144b891906159d8565b6142a4565b600080614531837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b600080826145835761457e6001600160801b0386167f0000000000000000000000000000000000000000000000000000000000000000614ffb565b614595565b614595856001600160801b031661513a565b9050600284815481106145aa576145aa61561e565b906000526020600020906005020191505b60048201546001600160801b0382811691161461460457815460028054909163ffffffff169081106145ef576145ef61561e565b906000526020600020906005020191506145bb565b509392505050565b600080600080600061461d8661463b565b935093509350935061463184848484614994565b9695505050505050565b600080600080600085905060006002828154811061465b5761465b61561e565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614710906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161474a576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f0000000000000000000000000000000000000000000000000000000000000000906147ef906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561486457825463ffffffff1661482e7f0000000000000000000000000000000000000000000000000000000000000000600161564a565b8303614838578391505b6002818154811061484b5761484b61561e565b906000526020600020906005020193508094505061474e565b600481810154908401546001600160801b0391821691166000816001600160801b03166148a961489d856001600160801b031660011c90565b6001600160801b031690565b6001600160801b031614905080156149425760006148cf836001600160801b03166144bd565b6001600160801b0316111561491f5760006148ff6148f760016001600160801b038616615812565b896001614543565b6003810154600490910154909c506001600160801b03169a506149259050565b6008549a505b600386015460048701549099506001600160801b03169750614986565b600061495b6148f76001600160801b0385166001615832565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b038416156149ef5760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611662565b8282604051602001614a149291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614aa7847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614b0b576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614b30576000600160009450945094505050614f5f565b60b78111614c46576000614b4560808361567c565b905080876000015111614b84576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614bfc57507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614c33576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614f5f915050565b60bf8111614da4576000614c5b60b78361567c565b905080876000015111614c9a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614cfc576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614d44576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614d4e818461564a565b895111614d87576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614d9283600161564a565b9750955060009450614f5f9350505050565b60f78111614e09576000614db960c08361567c565b905080876000015111614df8576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614f5f915050565b6000614e1660f78361567c565b905080876000015111614e55576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614eb7576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614eff576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f09818461564a565b895111614f42576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f4d83600161564a565b9750955060019450614f5f9350505050565b9193909250565b60608167ffffffffffffffff811115614f8157614f81615584565b6040519080825280601f01601f191660200182016040528015614fab576020820181803683370190505b5090508115614ff4576000614fc0848661564a565b90506020820160005b84811015614fe1578281015182820152602001614fc9565b84811115614ff0576000858301525b5050505b9392505050565b600081615078846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161508e5763b34b5c226000526004601cfd5b6150978361513a565b905081615114826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611613a9757613a9461512a83600161564a565b6001600160801b038316906151c6565b600081196001830116816151b5827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061523a847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261526857600080fd5b50813567ffffffffffffffff81111561528057600080fd5b60208301915083602082850101111561529857600080fd5b9250929050565b600080600083850360a08112156152b557600080fd5b60808112156152c357600080fd5b50839250608084013567ffffffffffffffff8111156152e157600080fd5b6152ed86828701615256565b9497909650939450505050565b6000806040838503121561530d57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061535057634e487b7160e01b600052602160045260246000fd5b50565b6020810161536083615332565b91905290565b6001600160a01b038116811461535057600080fd5b60006020828403121561538d57600080, false, [], 6), ((0, 11155111), 8, 0x481f6FfbbBa2F205BB04Fc584D5cE940658D41e4, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 10, 0x481f6FfbbBa2F205BB04Fc584D5cE940658D41e4, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 3, 0x0000000000000000000000000000000000000004, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 613037898440193504, 613037898440193504, 0x, 0, 0xfd5b8135614ff481615366565b6000806000606084860312156153ad57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b818110156153ea576020818501810151868301820152016153ce565b818111156153fc576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000613a9460208301846153c4565b60006020828403121561545457600080fd5b5035919050565b801515811461535057600080fd5b6000806000806080858703121561547f57600080fd5b843593506020850135925060408501359150606085013561549f8161545b565b939692955090935050565b6000602082840312156154bc57600080fd5b81356001600160801b0381168114614ff457600080fd5b600080600080600080608087890312156154ec57600080fd5b8635955060208701356154fe8161545b565b9450604087013567ffffffffffffffff8082111561551b57600080fd5b6155278a838b01615256565b9096509450606089013591508082111561554057600080fd5b5061554d89828a01615256565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061166260608301846153c4565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156155ac57600080fd5b6040516080810181811067ffffffffffffffff821117156155dd57634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561565d5761565d615634565b500190565b6000600019820361567557615675615634565b5060010190565b60008282101561568e5761568e615634565b500390565b6000602082840312156156a557600080fd5b8151614ff481615366565b6000602082840312156156c257600080fd5b5051919050565b600067ffffffffffffffff8083168185168083038211156156ec576156ec615634565b01949350505050565b600067ffffffffffffffff8083168185168183048111821515161561571c5761571c615634565b02949350505050565b600067ffffffffffffffff8381169083168181101561574657615746615634565b039392505050565b60006020828403121561576057600080fd5b8151614ff48161545b565b6000806040838503121561577e57600080fd5b505080516020909101519092909150565b6000602082840312156157a157600080fd5b815163ffffffff81168114614ff457600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826157da576157da6157b5565b500490565b60008160001904831182151516156157f9576157f9615634565b500290565b60008261580d5761580d6157b5565b500690565b60006001600160801b038381169083168181101561574657615746615634565b60006001600160801b038083168185168083038211156156ec576156ec615634565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6060815260006158b1606083018789615854565b82810360208401526158c4818688615854565b9150508260408301529695505050505050565b600060ff821660ff8416808210156158f1576158f1615634565b90039392505050565b600060ff83168061590d5761590d6157b5565b8060ff84160691505092915050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60008413600084138583048511828216161561595d5761595d615634565b7f8000000000000000000000000000000000000000000000000000000000000000600087128682058812818416161561599857615998615634565b600087129250878205871284841616156159b4576159b4615634565b878505871281841616156159ca576159ca615634565b505050929093029392505050565b6000826159e7576159e76157b5565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615a1d57615a1d615634565b50059056fea164736f6c634300080f000a, false, [], 6), ((0, 11155111), 4, 0x32b37BBd2c81e853EA098ce45856aE305Df10dD1, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x60806040526004361061033f5760003560e01c806370872aa5116101b0578063c395e1ca116100ec578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b23578063fa24f74314610b43578063fa315aa914610b67578063fe2bbeb214610b9a57600080fd5b8063dabd396d14610a8d578063ec5e630814610ac0578063eff0f59214610af357600080fd5b8063d5d44d80116100c6578063d5d44d8014610a1a578063d6ae3cd514610a3a578063d8cc1a3c14610a6d57600080fd5b8063c395e1ca14610965578063c6f0308c14610985578063cf09e0d0146109f957600080fd5b80638d450a9511610159578063bbdc02db11610133578063bbdc02db146108b5578063bcef3b55146108f6578063bd8da95614610918578063c0d8bb741461093857600080fd5b80638d450a95146107e257806399735e32146107c0578063a445ece61461081557600080fd5b80638129fc1c1161018a5780638129fc1c146107a35780638980e0cc146107ab5780638b85902b146107c057600080fd5b806370872aa514610766578063786b844b1461077b5780637b0f0adc1461079057600080fd5b80633e3ac9121161027f5780635a5fa2d91161022857806360e274641161020257806360e27464146106de5780636361506d146106fe5780636b6716c0146107205780636f0344091461075357600080fd5b80635a5fa2d9146106765780635c0cba3314610696578063609d3334146106c957600080fd5b8063529d6a8c11610259578063529d6a8c146105ca57806354fd4d50146105f757806357da950e1461064657600080fd5b80633e3ac912146105545780633fc8cef314610584578063472777c6146105b757600080fd5b806325fc2ace116102ec57806330dbe570116102c657806330dbe570146104ad578063378dd48c146104e557806337b1b229146104ff5780633a7684631461052157600080fd5b806325fc2ace146104595780632810e1d6146104785780632ad69aeb1461048d57600080fd5b8063200d2ed21161031d578063200d2ed2146103d1578063222abf45146103ff578063250e69bd1461043f57600080fd5b8063019351301461034457806303c2924d1461036657806319effeb414610386575b600080fd5b34801561035057600080fd5b5061036461035f36600461529f565b610bca565b005b34801561037257600080fd5b506103646103813660046152fa565b610e89565b34801561039257600080fd5b506000546103b39068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103dd57600080fd5b506000546103f290600160801b900460ff1681565b6040516103c89190615353565b34801561040b57600080fd5b5061042f61041a36600461537b565b600c6020526000908152604090205460ff1681565b60405190151581526020016103c8565b34801561044b57600080fd5b50600a5461042f9060ff1681565b34801561046557600080fd5b506008545b6040519081526020016103c8565b34801561048457600080fd5b506103f2611411565b34801561049957600080fd5b5061046a6104a83660046152fa565b6115e9565b3480156104b957600080fd5b506001546104cd906001600160a01b031681565b6040516001600160a01b0390911681526020016103c8565b3480156104f157600080fd5b50600d546103f29060ff1681565b34801561050b57600080fd5b503660011981013560f01c90033560601c6104cd565b34801561052d57600080fd5b507f00000000000000000000000007babe08ee4d07dba236530183b24055535a70116104cd565b34801561056057600080fd5b5060005461042f907201000000000000000000000000000000000000900460ff1681565b34801561059057600080fd5b507f000000000000000000000000d3683e4947a7769603ab6418ec02f000ce3cf30b6104cd565b6103646105c5366004615398565b61161f565b3480156105d657600080fd5b5061046a6105e536600461537b565b60036020526000908152604090205481565b34801561060357600080fd5b5060408051808201909152600581527f312e372e3000000000000000000000000000000000000000000000000000000060208201525b6040516103c8919061542f565b34801561065257600080fd5b50600854600954610661919082565b604080519283526020830191909152016103c8565b34801561068257600080fd5b5061046a610691366004615442565b611631565b3480156106a257600080fd5b507f0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153556104cd565b3480156106d557600080fd5b5061063961166b565b3480156106ea57600080fd5b506103646106f936600461537b565b611679565b34801561070a57600080fd5b503660011981013560f01c90036034013561046a565b34801561072c57600080fd5b507f0000000000000000000000000000000000000000000000000000000000002a306103b3565b610364610761366004615469565b611991565b34801561077257600080fd5b5060095461046a565b34801561078757600080fd5b50610364612332565b61036461079e366004615398565b612751565b61036461275e565b3480156107b757600080fd5b5060025461046a565b3480156107cc57600080fd5b503660011981013560f01c90036054013561046a565b3480156107ee57600080fd5b507f03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc861046a565b34801561082157600080fd5b50610877610830366004615442565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103c8565b3480156108c157600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103c8565b34801561090257600080fd5b503660011981013560f01c90036014013561046a565b34801561092457600080fd5b506103b3610933366004615442565b612cd7565b34801561094457600080fd5b5061046a61095336600461537b565b600b6020526000908152604090205481565b34801561097157600080fd5b5061046a6109803660046154aa565b612e71565b34801561099157600080fd5b506109a56109a0366004615442565b613032565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103c8565b348015610a0557600080fd5b506000546103b39067ffffffffffffffff1681565b348015610a2657600080fd5b5061046a610a3536600461537b565b6130a6565b348015610a4657600080fd5b507f0000000000000000000000000000000000000000000000000000000000014a3461046a565b348015610a7957600080fd5b50610364610a883660046154d3565b6130fe565b348015610a9957600080fd5b507f0000000000000000000000000000000000000000000000000000000000049d406103b3565b348015610acc57600080fd5b507f000000000000000000000000000000000000000000000000000000000000001e61046a565b348015610aff57600080fd5b5061042f610b0e366004615442565b60046020526000908152604090205460ff1681565b348015610b2f57600080fd5b50610364610b3e366004615398565b61365a565b348015610b4f57600080fd5b50610b58613a40565b6040516103c89392919061555f565b348015610b7357600080fd5b507f000000000000000000000000000000000000000000000000000000000000004961046a565b348015610ba657600080fd5b5061042f610bb5366004615442565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610be957610be961531c565b14610c075760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610c5a576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c733660011981013560f01c90036014013590565b90565b610c8a610c853686900386018661559a565b613a9d565b14610cc1576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610cd692919061560e565b604051809103902014610d15576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d5e610d5984848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613af992505050565b613b66565b90506000610d8582600881518110610d7857610d7861561e565b6020026020010151613d1c565b9050602081511115610dc3576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e1a576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610ea857610ea861531c565b14610ec65760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610edb57610edb61561e565b906000526020600020906005020190506000610ef684612cd7565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000049d4081169082161015610f5f576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615610fa8576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000848152600560205260409020805480158015610fc557508515155b1561102857835464010000000090046001600160a01b031660008115610feb5781610ffa565b60018601546001600160a01b03165b90506110068187613dd0565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b031660608301526110ac576001600160801b0360408201526001815260008690036110ac578195505b600086826020015163ffffffff166110c4919061564a565b905060008382116110d557816110d7565b835b602084015190915063ffffffff165b818110156111f75760008682815481106111025761110261561e565b6000918252602080832090910154808352600690915260409091205490915060ff1661115a576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002828154811061116f5761116f61561e565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156111b65750600481015460408701516001600160801b039182169116115b156111e25760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b505080806111ef90615662565b9150506110e6565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361140657606083015160008a8152600660205260409020805460ff191660011790558915801561134357506000547201000000000000000000000000000000000000900460ff165b1561139e576001546001600160a01b031661135e818a613dd0565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611404565b6113cb6001600160a01b038216156113b657816113c5565b60018901546001600160a01b03165b89613dd0565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156114325761143261531c565b146114505760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166114b4576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b031660026000815481106114d3576114d361561e565b600091825260209091206005909102015464010000000090046001600160a01b031614611501576001611504565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b8360028111156115a8576115a861531c565b0217905560028111156115bd576115bd61531c565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061160557600080fd5b90600052602060002001600091509150505481565b905090565b61162c8383836001611991565b505050565b6000818152600760209081526040808320600590925282208054825461166290610100900463ffffffff168261567c565b95945050505050565b606061161a60546020613e12565b611681612332565b60006002600d5460ff16600281111561169c5761169c61531c565b036116c057506001600160a01b0381166000908152600b602052604090205461172f565b6001600d5460ff1660028111156116d9576116d961531c565b036116fd57506001600160a01b03811660009081526003602052604090205461172f565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff1661180c576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f000000000000000000000000d3683e4947a7769603ab6418ec02f000ce3cf30b90911690637eee288d90604401600060405180830381600087803b1580156117f057600080fd5b505af1158015611804573d6000803e3d6000fd5b505050505050565b80600003611846576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f000000000000000000000000d3683e4947a7769603ab6418ec02f000ce3cf30b9091169063f3fef3a390604401600060405180830381600087803b1580156118ec57600080fd5b505af1158015611900573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611951576040519150601f19603f3d011682016040523d82523d6000602084013e611956565b606091505b505090508061162c576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054600160801b900460ff1660028111156119b0576119b061531c565b146119ce5760405163067fe19560e41b815260040160405180910390fd5b6000600284815481106119e3576119e361561e565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514611aa7576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000611b3c826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580611b775750611b747f000000000000000000000000000000000000000000000000000000000000001e600261564a565b81145b8015611b81575084155b15611bb8576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015611bde575086155b15611c15576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000049811115611c6f576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c9a7f000000000000000000000000000000000000000000000000000000000000001e600161564a565b8103611cac57611cac86888588613e46565b34611cb683612e71565b14611ced576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611cf888612cd7565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000049d40811690821603611d60576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611d8d60017f000000000000000000000000000000000000000000000000000000000000004961567c565b8303611eb1577f00000000000000000000000007babe08ee4d07dba236530183b24055535a70116001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611df1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e159190615693565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7691906156b0565b611eaa907f0000000000000000000000000000000000000000000000000000000000002a3067ffffffffffffffff166156c9565b9050611f44565b611edc60017f000000000000000000000000000000000000000000000000000000000000001e61567c565b8303611f1757611eaa7f0000000000000000000000000000000000000000000000000000000000002a3067ffffffffffffffff1660026156f5565b507f0000000000000000000000000000000000000000000000000000000000002a3067ffffffffffffffff165b611f78817f0000000000000000000000000000000000000000000000000000000000049d4067ffffffffffffffff16615725565b67ffffffffffffffff16611f938367ffffffffffffffff1690565b67ffffffffffffffff161115611fda57611fd7817f0000000000000000000000000000000000000000000000000000000000049d4067ffffffffffffffff16615725565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff161561204f576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c81526020019081526020016000206001600280549050612246919061567c565b81546001810183556000928352602080842090910191909155338252600b905260408120805434929061227a90849061564a565b925050819055507f000000000000000000000000d3683e4947a7769603ab6418ec02f000ce3cf30b6001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156122dc57600080fd5b505af11580156122f0573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b6002600d5460ff16600281111561234b5761234b61531c565b148061236d57506001600d5460ff16600281111561236b5761236b61531c565b145b1561237457565b6000600d5460ff16600281111561238d5761238d61531c565b146123c4576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153556001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612422573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612446919061574e565b1561247d576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff166000036124d9576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153556001600160a01b031690630314d2b390602401602060405180830381865afa158015612559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061257d919061574e565b9050806125b6576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153556001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561263057600080fd5b505af1925050508015612641575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153556001600160a01b03169063496b9c1690602401602060405180830381865afa1580156126c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126e6919061574e565b9050801561270057600d805460ff1916600117905561270e565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f916127459160ff90911690615353565b60405180910390a15050565b61162c8383836000611991565b60005471010000000000000000000000000000000000900460ff16156127b0576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153556001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015612810573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612834919061576b565b909250905081612870576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146128a357639824bdab6000526004601cfd5b803660011981013560f01c90036054013511612901576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b909152918220805491929091612b4290849061564a565b925050819055507f000000000000000000000000d3683e4947a7769603ab6418ec02f000ce3cf30b6001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015612ba457600080fd5b505af1158015612bb8573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153556001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015612c97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cbb919061578f565b600a805460ff191663ffffffff92909216929092141790555050565b600080600054600160801b900460ff166002811115612cf857612cf861531c565b14612d165760405163067fe19560e41b815260040160405180910390fd5b600060028381548110612d2b57612d2b61561e565b600091825260208220600590910201805490925063ffffffff90811614612d9157815460028054909163ffffffff16908110612d6957612d6961561e565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b6004820154600090612dbc90600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b612dd09067ffffffffffffffff164261567c565b612de6612daf846001600160801b031660401c90565b67ffffffffffffffff16612dfa919061564a565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000049d401667ffffffffffffffff168167ffffffffffffffff1611612e475780611662565b7f0000000000000000000000000000000000000000000000000000000000049d4095945050505050565b600080612eee836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000049811115612f4d576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000612f6883836157cb565b9050670de0b6b3a76400006000612f9f827f00000000000000000000000000000000000000000000000000000000000000496157df565b90506000612fbd612fb8670de0b6b3a7640000866157df565b613fd5565b90506000612fcb8484614227565b90506000612fd98383614276565b90506000612fe6826142a4565b9050600061300582613000670de0b6b3a76400008f6157df565b61448c565b905060006130138b83614276565b905061301f818d6157df565b9f9e505050505050505050505050505050565b6002818154811061304257600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff1660028111156130c1576130c161531c565b036130e257506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b60008054600160801b900460ff16600281111561311d5761311d61531c565b1461313b5760405163067fe19560e41b815260040160405180910390fd5b6000600287815481106131505761315061561e565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506131a67f0000000000000000000000000000000000000000000000000000000000000049600161564a565b613220826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161461325a576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808915613336576132ad7f000000000000000000000000000000000000000000000000000000000000001e7f000000000000000000000000000000000000000000000000000000000000004961567c565b6001901b6132c3846001600160801b03166144bd565b6001600160801b03166132d691906157fe565b1561330a576133016132f260016001600160801b038716615812565b865463ffffffff166000614543565b6003015461332c565b7f03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc85b9150849050613357565b600385015491506133546132f26001600160801b0386166001615832565b90505b600882901b60088a8a60405161336e92919061560e565b6040518091039020901b146133af576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006133ba8c61460c565b905060006133c9836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000007babe08ee4d07dba236530183b24055535a70116001600160a01b03169063e14ced3290613436908f908f908f908f908a9060040161589d565b6020604051808303816000875af1158015613455573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061347991906156b0565b600485015491149150600090600290613502906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61357c896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61358691906158d7565b61359091906158fa565b60ff1615905081151581036135d1576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b03161561361b576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008054600160801b900460ff1660028111156136795761367961531c565b146136975760405163067fe19560e41b815260040160405180910390fd5b6000806000806136a68661463b565b935093509350935060006136bc85858585614994565b905060007f00000000000000000000000007babe08ee4d07dba236530183b24055535a70116001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561371e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137429190615693565b90506001890361380f576001600160a01b0381166352f0f3ad8a846137733660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156137e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061380991906156b0565b50611406565b6002890361382e576001600160a01b0381166352f0f3ad8a8489613773565b6003890361384d576001600160a01b0381166352f0f3ad8a8487613773565b6004890361398257600061388a6001600160801b0385167f000000000000000000000000000000000000000000000000000000000000001e614a33565b600954613897919061564a565b6138a290600161564a565b90503660011981013560f01c90036054013581106138cf573660011981013560f01c9003605401356138d1565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015613957573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061397b91906156b0565b5050611406565b60058903613a0e576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f0000000000000000000000000000000000000000000000000000000000014a3460c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a4016137c6565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003660011981013560f01c9003601401356060613a7b61166b565b9050909192565b600081831015613a925781613a94565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001613adc949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003613b48576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000613b7685614ac8565b919450925090506001816001811115613b9157613b9161531c565b14613bc8576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451613bd4838561564a565b14613c0b576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b6040805180820190915260008082526020820152815260200190600190039081613c225790505093506000835b8651811015613d1057600080613c956040518060400160405280858c60000151613c79919061567c565b8152602001858c60200151613c8e919061564a565b9052614ac8565b509150915060405180604001604052808383613cb1919061564a565b8152602001848b60200151613cc6919061564a565b815250888581518110613cdb57613cdb61561e565b6020908102919091010152613cf160018561564a565b9350613cfd818361564a565b613d07908461564a565b92505050613c4f565b50845250919392505050565b60606000806000613d2c85614ac8565b919450925090506000816001811115613d4757613d4761531c565b14613d7e576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613d88828461564a565b855114613dc1576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61166285602001518484614f66565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190613e0990849061564a565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b6000613e5c6001600160801b0384166001615832565b90506000613e6c82866001614543565b9050600086901a8380613f365750613ea560027f000000000000000000000000000000000000000000000000000000000000001e6157fe565b6004830154600290613f27906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b613f3191906158fa565b60ff16145b15613f8e5760ff811660011480613f50575060ff81166002145b613f89576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016128f8565b613fcc565b60ff811615613fcc576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016128f8565b50505050505050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b176000821361402b57631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261426457637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b6000816000190483118202156142945763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d782136142d257919050565b680755bf798b4a1bf1e582126142f05763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000613a94670de0b6b3a7640000836144a486613fd5565b6144ae919061591c565b6144b891906159d8565b6142a4565b600080614531837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b600080826145835761457e6001600160801b0386167f000000000000000000000000000000000000000000000000000000000000001e614ffb565b614595565b614595856001600160801b031661513a565b9050600284815481106145aa576145aa61561e565b906000526020600020906005020191505b60048201546001600160801b0382811691161461460457815460028054909163ffffffff169081106145ef576145ef61561e565b906000526020600020906005020191506145bb565b509392505050565b600080600080600061461d8661463b565b935093509350935061463184848484614994565b9695505050505050565b600080600080600085905060006002828154811061465b5761465b61561e565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000001e90614710906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161474a576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000001e906147ef906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561486457825463ffffffff1661482e7f000000000000000000000000000000000000000000000000000000000000001e600161564a565b8303614838578391505b6002818154811061484b5761484b61561e565b906000526020600020906005020193508094505061474e565b600481810154908401546001600160801b0391821691166000816001600160801b03166148a961489d856001600160801b031660011c90565b6001600160801b031690565b6001600160801b031614905080156149425760006148cf836001600160801b03166144bd565b6001600160801b0316111561491f5760006148ff6148f760016001600160801b038616615812565b896001614543565b6003810154600490910154909c506001600160801b03169a506149259050565b6008549a505b600386015460048701549099506001600160801b03169750614986565b600061495b6148f76001600160801b0385166001615832565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b038416156149ef5760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611662565b8282604051602001614a149291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614aa7847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614b0b576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614b30576000600160009450945094505050614f5f565b60b78111614c46576000614b4560808361567c565b905080876000015111614b84576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614bfc57507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614c33576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614f5f915050565b60bf8111614da4576000614c5b60b78361567c565b905080876000015111614c9a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614cfc576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614d44576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614d4e818461564a565b895111614d87576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614d9283600161564a565b9750955060009450614f5f9350505050565b60f78111614e09576000614db960c08361567c565b905080876000015111614df8576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614f5f915050565b6000614e1660f78361567c565b905080876000015111614e55576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614eb7576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614eff576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f09818461564a565b895111614f42576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f4d83600161564a565b9750955060019450614f5f9350505050565b9193909250565b60608167ffffffffffffffff811115614f8157614f81615584565b6040519080825280601f01601f191660200182016040528015614fab576020820181803683370190505b5090508115614ff4576000614fc0848661564a565b90506020820160005b84811015614fe1578281015182820152602001614fc9565b84811115614ff0576000858301525b5050505b9392505050565b600081615078846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161508e5763b34b5c226000526004601cfd5b6150978361513a565b905081615114826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611613a9757613a9461512a83600161564a565b6001600160801b038316906151c6565b600081196001830116816151b5827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061523a847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261526857600080fd5b50813567ffffffffffffffff81111561528057600080fd5b60208301915083602082850101111561529857600080fd5b9250929050565b600080600083850360a08112156152b557600080fd5b60808112156152c357600080fd5b50839250608084013567ffffffffffffffff8111156152e157600080fd5b6152ed86828701615256565b9497909650939450505050565b6000806040838503121561530d57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061535057634e487b7160e01b600052602160045260246000fd5b50565b6020810161536083615332565b91905290565b6001600160a01b038116811461535057600080fd5b60006020828403121561538d57600080fd5b8135614ff481615366565b6000806000606084860312156153ad57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b818110156153ea576020818501810151868301820152016153ce565b818111156153fc576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000613a9460208301846153c4565b60006020828403121561545457600080fd5b5035919050565b801515811461535057600080fd5b6000806000806080858703121561547f57600080fd5b843593506020850135925060408501359150606085013561549f8161545b565b939692955090935050565b6000602082840312156154bc57600080fd5b81356001600160801b0381168114614ff457600080fd5b600080600080600080608087890312156154ec57600080fd5b8635955060208701356154fe8161545b565b9450604087013567ffffffffffffffff8082111561551b57600080fd5b6155278a838b01615256565b9096509450606089013591508082111561554057600080fd5b5061554d89828a01615256565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061166260608301846153c4565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156155ac57600080fd5b6040516080810181811067ffffffffffffffff821117156155dd57634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561565d5761565d615634565b500190565b6000600019820361567557615675615634565b5060010190565b60008282101561568e5761568e615634565b500390565b6000602082840312156156a557600080fd5b8151614ff481615366565b6000602082840312156156c257600080fd5b5051919050565b600067ffffffffffffffff8083168185168083038211156156ec576156ec615634565b01949350505050565b600067ffffffffffffffff8083168185168183048111821515161561571c5761571c615634565b02949350505050565b600067ffffffffffffffff8381169083168181101561574657615746615634565b039392505050565b60006020828403121561576057600080fd5b8151614ff48161545b565b6000806040838503121561577e57600080fd5b505080516020909101519092909150565b6000602082840312156157a157600080fd5b815163ffffffff81168114614ff457600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826157da576157da6157b5565b500490565b60008160001904831182151516156157f9576157f9615634565b500290565b60008261580d5761580d6157b5565b500690565b60006001600160801b038381169083168181101561574657615746615634565b60006001600160801b038083168185168083038211156156ec576156ec615634565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6060815260006158b1606083018789615854565b82810360208401526158c4818688615854565b9150508260408301529695505050505050565b600060ff821660ff8416808210156158f1576158f1615634565b90039392505050565b600060ff83168061590d5761590d6157b5565b8060ff84160691505092915050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60008413600084138583048511828216161561595d5761595d615634565b7f8000000000000000000000000000000000000000000000000000000000000000600087128682058812818416161561599857615998615634565b600087129250878205871284841616156159b4576159b4615634565b878505871281841616156159ca576159ca615634565b505050929093029392505050565b6000826159e7576159e76157b5565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615a1d57615a1d615634565b50059056fea164736f6c634300080f000a, 0, 0x6101c06040523480156200001257600080fd5b506040516200626f3803806200626f83398101604081905262000035916200052e565b620000436001607e62000601565b60ff16816040015111156200006b57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000955750604081015160608201516200009290600162000627565b10155b15620000b45760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000db5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000128573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014e919062000642565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b2919062000662565b1115620001d25760405163b4e1243360e01b815260040160405180910390fd5b6000620001f782608001516001600160401b03166200048060201b62000c701760201c565b6200020d906001600160401b031660026200067c565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000254573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027a919062000642565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002de919062000662565b6200030184608001516001600160401b03166200048060201b62000c701760201c565b6001600160401b031662000316919062000627565b905060006200033183836200048360201b62003a821760201c565b90506001600160401b038111156200035c5760405163235dfb2b60e21b815260040160405180910390fd5b6200037f8460a001516001600160401b03166200048060201b62000c701760201c565b6001600160401b0316816001600160401b03161115620003b25760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003d9856000015163ffffffff166200048060201b62000c701760201c565b63ffffffff1603620003fe5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015116610160529091015161018052506200069e565b90565b60008183101562000495578162000497565b825b9392505050565b60405161014081016001600160401b0381118282101715620004d057634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004eb57600080fd5b919050565b80516001600160401b0381168114620004eb57600080fd5b6001600160a01b03811681146200051e57600080fd5b50565b8051620004eb8162000508565b600061014082840312156200054257600080fd5b6200054c6200049e565b6200055783620004d6565b81526020830151602082015260408301516040820152606083015160608201526200058560808401620004f0565b60808201526200059860a08401620004f0565b60a0820152620005ab60c0840162000521565b60c0820152620005be60e0840162000521565b60e0820152610100620005d381850162000521565b90820152610120928301519281019290925250919050565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8416808210156200061e576200061e620005eb565b90039392505050565b600082198211156200063d576200063d620005eb565b500190565b6000602082840312156200065557600080fd5b8151620004978162000508565b6000602082840312156200067557600080fd5b5051919050565b6000816000190483118215151615620006995762000699620005eb565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051615a2f620008406000396000818161072f01528181611e7c01528181611ee70152611f1a015260008181610a4901526139c00152600081816106a5015281816123c60152818161250a015281816125e401528181612673015281816127b50152612c44015260008181610593015281816117aa015281816118a6015281816122830152612b4b0152600081816108cc01528181612c1b0152613a4201526000818161053001528181611d95015281816133f101526136c2015260008181610a9c01528181610f0301528181611d0501528181611f4a01528181611fa901528181612e070152612e49015260008181610acf01528181611b4e01528181611c7401528181611eb8015281816132680152818161386601528181613e810152818161455a01528181614676015281816147550152614808015260008181610b7601528181611c1701528181611d6901528181612ef501528181612f7b0152818161318001526132890152600081816107f1015261330c0152615a2f6000f3fe60806040526004361061033f5760003560e01c806370872aa5116101b0578063c395e1ca116100ec578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b23578063fa24f74314610b43578063fa315aa914610b67578063fe2bbeb214610b9a57600080fd5b8063dabd396d14610a8d578063ec5e630814610ac0578063eff0f59214610af357600080fd5b8063d5d44d80116100c6578063d5d44d8014610a1a578063d6ae3cd514610a3a578063d8cc1a3c14610a6d57600080fd5b8063c395e1ca14610965578063c6f0308c14610985578063cf09e0d0146109f957600080fd5b80638d450a9511610159578063bbdc02db11610133578063bbdc02db146108b5578063bcef3b55146108f6578063bd8da95614610918578063c0d8bb741461093857600080fd5b80638d450a95146107e257806399735e32146107c0578063a445ece61461081557600080fd5b80638129fc1c1161018a5780638129fc1c146107a35780638980e0cc146107ab5780638b85902b146107c057600080fd5b806370872aa514610766578063786b844b1461077b5780637b0f0adc1461079057600080fd5b80633e3ac9121161027f5780635a5fa2d91161022857806360e274641161020257806360e27464146106de5780636361506d146106fe5780636b6716c0146107205780636f0344091461075357600080fd5b80635a5fa2d9146106765780635c0cba3314610696578063609d3334146106c957600080fd5b8063529d6a8c11610259578063529d6a8c146105ca57806354fd4d50146105f757806357da950e1461064657600080fd5b80633e3ac912146105545780633fc8cef314610584578063472777c6146105b757600080fd5b806325fc2ace116102ec57806330dbe570116102c657806330dbe570146104ad578063378dd48c146104e557806337b1b229146104ff5780633a7684631461052157600080fd5b806325fc2ace146104595780632810e1d6146104785780632ad69aeb1461048d57600080fd5b8063200d2ed21161031d578063200d2ed2146103d1578063222abf45146103ff578063250e69bd1461043f57600080fd5b8063019351301461034457806303c2924d1461036657806319effeb414610386575b600080fd5b34801561035057600080fd5b5061036461035f36600461529f565b610bca565b005b34801561037257600080fd5b506103646103813660046152fa565b610e89565b34801561039257600080fd5b506000546103b39068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103dd57600080fd5b506000546103f290600160801b900460ff1681565b6040516103c89190615353565b34801561040b57600080fd5b5061042f61041a36600461537b565b600c6020526000908152604090205460ff1681565b60405190151581526020016103c8565b34801561044b57600080fd5b50600a5461042f9060ff1681565b34801561046557600080fd5b506008545b6040519081526020016103c8565b34801561048457600080fd5b506103f2611411565b34801561049957600080fd5b5061046a6104a83660046152fa565b6115e9565b3480156104b957600080fd5b506001546104cd906001600160a01b031681565b6040516001600160a01b0390911681526020016103c8565b3480156104f157600080fd5b50600d546103f29060ff1681565b34801561050b57600080fd5b503660011981013560f01c90033560601c6104cd565b34801561052d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b34801561056057600080fd5b5060005461042f907201000000000000000000000000000000000000900460ff1681565b34801561059057600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b6103646105c5366004615398565b61161f565b3480156105d657600080fd5b5061046a6105e536600461537b565b60036020526000908152604090205481565b34801561060357600080fd5b5060408051808201909152600581527f312e372e3000000000000000000000000000000000000000000000000000000060208201525b6040516103c8919061542f565b34801561065257600080fd5b50600854600954610661919082565b604080519283526020830191909152016103c8565b34801561068257600080fd5b5061046a610691366004615442565b611631565b3480156106a257600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b3480156106d557600080fd5b5061063961166b565b3480156106ea57600080fd5b506103646106f936600461537b565b611679565b34801561070a57600080fd5b503660011981013560f01c90036034013561046a565b34801561072c57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103b3565b610364610761366004615469565b611991565b34801561077257600080fd5b5060095461046a565b34801561078757600080fd5b50610364612332565b61036461079e366004615398565b612751565b61036461275e565b3480156107b757600080fd5b5060025461046a565b3480156107cc57600080fd5b503660011981013560f01c90036054013561046a565b3480156107ee57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b34801561082157600080fd5b50610877610830366004615442565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103c8565b3480156108c157600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103c8565b34801561090257600080fd5b503660011981013560f01c90036014013561046a565b34801561092457600080fd5b506103b3610933366004615442565b612cd7565b34801561094457600080fd5b5061046a61095336600461537b565b600b6020526000908152604090205481565b34801561097157600080fd5b5061046a6109803660046154aa565b612e71565b34801561099157600080fd5b506109a56109a0366004615442565b613032565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103c8565b348015610a0557600080fd5b506000546103b39067ffffffffffffffff1681565b348015610a2657600080fd5b5061046a610a3536600461537b565b6130a6565b348015610a4657600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610a7957600080fd5b50610364610a883660046154d3565b6130fe565b348015610a9957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103b3565b348015610acc57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610aff57600080fd5b5061042f610b0e366004615442565b60046020526000908152604090205460ff1681565b348015610b2f57600080fd5b50610364610b3e366004615398565b61365a565b348015610b4f57600080fd5b50610b58613a40565b6040516103c89392919061555f565b348015610b7357600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610ba657600080fd5b5061042f610bb5366004615442565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610be957610be961531c565b14610c075760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610c5a576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c733660011981013560f01c90036014013590565b90565b610c8a610c853686900386018661559a565b613a9d565b14610cc1576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610cd692919061560e565b604051809103902014610d15576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d5e610d5984848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613af992505050565b613b66565b90506000610d8582600881518110610d7857610d7861561e565b6020026020010151613d1c565b9050602081511115610dc3576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e1a576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610ea857610ea861531c565b14610ec65760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610edb57610edb61561e565b906000526020600020906005020190506000610ef684612cd7565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610f5f576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615610fa8576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000848152600560205260409020805480158015610fc557508515155b1561102857835464010000000090046001600160a01b031660008115610feb5781610ffa565b60018601546001600160a01b03165b90506110068187613dd0565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b031660608301526110ac576001600160801b0360408201526001815260008690036110ac578195505b600086826020015163ffffffff166110c4919061564a565b905060008382116110d557816110d7565b835b602084015190915063ffffffff165b818110156111f75760008682815481106111025761110261561e565b6000918252602080832090910154808352600690915260409091205490915060ff1661115a576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002828154811061116f5761116f61561e565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156111b65750600481015460408701516001600160801b039182169116115b156111e25760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b505080806111ef90615662565b9150506110e6565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361140657606083015160008a8152600660205260409020805460ff191660011790558915801561134357506000547201000000000000000000000000000000000000900460ff165b1561139e576001546001600160a01b031661135e818a613dd0565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611404565b6113cb6001600160a01b038216156113b657816113c5565b60018901546001600160a01b03165b89613dd0565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156114325761143261531c565b146114505760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166114b4576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b031660026000815481106114d3576114d361561e565b600091825260209091206005909102015464010000000090046001600160a01b031614611501576001611504565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b8360028111156115a8576115a861531c565b0217905560028111156115bd576115bd61531c565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061160557600080fd5b90600052602060002001600091509150505481565b905090565b61162c8383836001611991565b505050565b6000818152600760209081526040808320600590925282208054825461166290610100900463ffffffff168261567c565b95945050505050565b606061161a60546020613e12565b611681612332565b60006002600d5460ff16600281111561169c5761169c61531c565b036116c057506001600160a01b0381166000908152600b602052604090205461172f565b6001600d5460ff1660028111156116d9576116d961531c565b036116fd57506001600160a01b03811660009081526003602052604090205461172f565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff1661180c576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b1580156117f057600080fd5b505af1158015611804573d6000803e3d6000fd5b505050505050565b80600003611846576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b1580156118ec57600080fd5b505af1158015611900573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611951576040519150601f19603f3d011682016040523d82523d6000602084013e611956565b606091505b505090508061162c576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054600160801b900460ff1660028111156119b0576119b061531c565b146119ce5760405163067fe19560e41b815260040160405180910390fd5b6000600284815481106119e3576119e361561e565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514611aa7576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000611b3c826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580611b775750611b747f0000000000000000000000000000000000000000000000000000000000000000600261564a565b81145b8015611b81575084155b15611bb8576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015611bde575086155b15611c15576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115611c6f576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c9a7f0000000000000000000000000000000000000000000000000000000000000000600161564a565b8103611cac57611cac86888588613e46565b34611cb683612e71565b14611ced576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611cf888612cd7565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603611d60576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611d8d60017f000000000000000000000000000000000000000000000000000000000000000061567c565b8303611eb1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611df1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e159190615693565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7691906156b0565b611eaa907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166156c9565b9050611f44565b611edc60017f000000000000000000000000000000000000000000000000000000000000000061567c565b8303611f1757611eaa7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff1660026156f5565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b611f78817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615725565b67ffffffffffffffff16611f938367ffffffffffffffff1690565b67ffffffffffffffff161115611fda57611fd7817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615725565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff161561204f576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c81526020019081526020016000206001600280549050612246919061567c565b81546001810183556000928352602080842090910191909155338252600b905260408120805434929061227a90849061564a565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156122dc57600080fd5b505af11580156122f0573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b6002600d5460ff16600281111561234b5761234b61531c565b148061236d57506001600d5460ff16600281111561236b5761236b61531c565b145b1561237457565b6000600d5460ff16600281111561238d5761238d61531c565b146123c4576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612422573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612446919061574e565b1561247d576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff166000036124d9576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015612559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061257d919061574e565b9050806125b6576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561263057600080fd5b505af1925050508015612641575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa1580156126c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126e6919061574e565b9050801561270057600d805460ff1916600117905561270e565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f916127459160ff90911690615353565b60405180910390a15050565b61162c8383836000611991565b60005471010000000000000000000000000000000000900460ff16156127b0576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015612810573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612834919061576b565b909250905081612870576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146128a357639824bdab6000526004601cfd5b803660011981013560f01c90036054013511612901576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b909152918220805491929091612b4290849061564a565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015612ba457600080fd5b505af1158015612bb8573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015612c97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cbb919061578f565b600a805460ff191663ffffffff92909216929092141790555050565b600080600054600160801b900460ff166002811115612cf857612cf861531c565b14612d165760405163067fe19560e41b815260040160405180910390fd5b600060028381548110612d2b57612d2b61561e565b600091825260208220600590910201805490925063ffffffff90811614612d9157815460028054909163ffffffff16908110612d6957612d6961561e565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b6004820154600090612dbc90600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b612dd09067ffffffffffffffff164261567c565b612de6612daf846001600160801b031660401c90565b67ffffffffffffffff16612dfa919061564a565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611612e475780611662565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612eee836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115612f4d576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000612f6883836157cb565b9050670de0b6b3a76400006000612f9f827f00000000000000000000000000000000000000000000000000000000000000006157df565b90506000612fbd612fb8670de0b6b3a7640000866157df565b613fd5565b90506000612fcb8484614227565b90506000612fd98383614276565b90506000612fe6826142a4565b9050600061300582613000670de0b6b3a76400008f6157df565b61448c565b905060006130138b83614276565b905061301f818d6157df565b9f9e505050505050505050505050505050565b6002818154811061304257600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff1660028111156130c1576130c161531c565b036130e257506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b60008054600160801b900460ff16600281111561311d5761311d61531c565b1461313b5760405163067fe19560e41b815260040160405180910390fd5b6000600287815481106131505761315061561e565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506131a67f0000000000000000000000000000000000000000000000000000000000000000600161564a565b613220826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161461325a576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808915613336576132ad7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061567c565b6001901b6132c3846001600160801b03166144bd565b6001600160801b03166132d691906157fe565b1561330a576133016132f260016001600160801b038716615812565b865463ffffffff166000614543565b6003015461332c565b7f00000000000000000000000000000000000000000000000000000000000000005b9150849050613357565b600385015491506133546132f26001600160801b0386166001615832565b90505b600882901b60088a8a60405161336e92919061560e565b6040518091039020901b146133af576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006133ba8c61460c565b905060006133c9836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced3290613436908f908f908f908f908a9060040161589d565b6020604051808303816000875af1158015613455573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061347991906156b0565b600485015491149150600090600290613502906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61357c896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61358691906158d7565b61359091906158fa565b60ff1615905081151581036135d1576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b03161561361b576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008054600160801b900460ff1660028111156136795761367961531c565b146136975760405163067fe19560e41b815260040160405180910390fd5b6000806000806136a68661463b565b935093509350935060006136bc85858585614994565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561371e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137429190615693565b90506001890361380f576001600160a01b0381166352f0f3ad8a846137733660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156137e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061380991906156b0565b50611406565b6002890361382e576001600160a01b0381166352f0f3ad8a8489613773565b6003890361384d576001600160a01b0381166352f0f3ad8a8487613773565b6004890361398257600061388a6001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000614a33565b600954613897919061564a565b6138a290600161564a565b90503660011981013560f01c90036054013581106138cf573660011981013560f01c9003605401356138d1565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015613957573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061397b91906156b0565b5050611406565b60058903613a0e576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a4016137c6565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003660011981013560f01c9003601401356060613a7b61166b565b9050909192565b600081831015613a925781613a94565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001613adc949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003613b48576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000613b7685614ac8565b919450925090506001816001811115613b9157613b9161531c565b14613bc8576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451613bd4838561564a565b14613c0b576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b6040805180820190915260008082526020820152815260200190600190039081613c225790505093506000835b8651811015613d1057600080613c956040518060400160405280858c60000151613c79919061567c565b8152602001858c60200151613c8e919061564a565b9052614ac8565b509150915060405180604001604052808383613cb1919061564a565b8152602001848b60200151613cc6919061564a565b815250888581518110613cdb57613cdb61561e565b6020908102919091010152613cf160018561564a565b9350613cfd818361564a565b613d07908461564a565b92505050613c4f565b50845250919392505050565b60606000806000613d2c85614ac8565b919450925090506000816001811115613d4757613d4761531c565b14613d7e576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613d88828461564a565b855114613dc1576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61166285602001518484614f66565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190613e0990849061564a565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b6000613e5c6001600160801b0384166001615832565b90506000613e6c82866001614543565b9050600086901a8380613f365750613ea560027f00000000000000000000000000000000000000000000000000000000000000006157fe565b6004830154600290613f27906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b613f3191906158fa565b60ff16145b15613f8e5760ff811660011480613f50575060ff81166002145b613f89576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016128f8565b613fcc565b60ff811615613fcc576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016128f8565b50505050505050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b176000821361402b57631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261426457637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b6000816000190483118202156142945763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d782136142d257919050565b680755bf798b4a1bf1e582126142f05763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000613a94670de0b6b3a7640000836144a486613fd5565b6144ae919061591c565b6144b891906159d8565b6142a4565b600080614531837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b600080826145835761457e6001600160801b0386167f0000000000000000000000000000000000000000000000000000000000000000614ffb565b614595565b614595856001600160801b031661513a565b9050600284815481106145aa576145aa61561e565b906000526020600020906005020191505b60048201546001600160801b0382811691161461460457815460028054909163ffffffff169081106145ef576145ef61561e565b906000526020600020906005020191506145bb565b509392505050565b600080600080600061461d8661463b565b935093509350935061463184848484614994565b9695505050505050565b600080600080600085905060006002828154811061465b5761465b61561e565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614710906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161474a576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f0000000000000000000000000000000000000000000000000000000000000000906147ef906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561486457825463ffffffff1661482e7f0000000000000000000000000000000000000000000000000000000000000000600161564a565b8303614838578391505b6002818154811061484b5761484b61561e565b906000526020600020906005020193508094505061474e565b600481810154908401546001600160801b0391821691166000816001600160801b03166148a961489d856001600160801b031660011c90565b6001600160801b031690565b6001600160801b031614905080156149425760006148cf836001600160801b03166144bd565b6001600160801b0316111561491f5760006148ff6148f760016001600160801b038616615812565b896001614543565b6003810154600490910154909c506001600160801b03169a506149259050565b6008549a505b600386015460048701549099506001600160801b03169750614986565b600061495b6148f76001600160801b0385166001615832565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b038416156149ef5760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611662565b8282604051602001614a149291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614aa7847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614b0b576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614b30576000600160009450945094505050614f5f565b60b78111614c46576000614b4560808361567c565b905080876000015111614b84576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614bfc57507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614c33576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614f5f915050565b60bf8111614da4576000614c5b60b78361567c565b905080876000015111614c9a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614cfc576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614d44576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614d4e818461564a565b895111614d87576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614d9283600161564a565b9750955060009450614f5f9350505050565b60f78111614e09576000614db960c08361567c565b905080876000015111614df8576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614f5f915050565b6000614e1660f78361567c565b905080876000015111614e55576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614eb7576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614eff576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f09818461564a565b895111614f42576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f4d83600161564a565b9750955060019450614f5f9350505050565b9193909250565b60608167ffffffffffffffff811115614f8157614f81615584565b6040519080825280601f01601f191660200182016040528015614fab576020820181803683370190505b5090508115614ff4576000614fc0848661564a565b90506020820160005b84811015614fe1578281015182820152602001614fc9565b84811115614ff0576000858301525b5050505b9392505050565b600081615078846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161508e5763b34b5c226000526004601cfd5b6150978361513a565b905081615114826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611613a9757613a9461512a83600161564a565b6001600160801b038316906151c6565b600081196001830116816151b5827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061523a847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261526857600080fd5b50813567ffffffffffffffff81111561528057600080fd5b60208301915083602082850101111561529857600080fd5b9250929050565b600080600083850360a08112156152b557600080fd5b60808112156152c357600080fd5b50839250608084013567ffffffffffffffff8111156152e157600080fd5b6152ed86828701615256565b9497909650939450505050565b6000806040838503121561530d57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061535057634e487b7160e01b600052602160045260246000fd5b50565b6020810161536083615332565b91905290565b6001600160a01b038116811461535057600080fd5b60006020828403121561538d57600080fd5b8135614ff481615366565b6000806000606084860312156153ad57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b818110156153ea576020818501810151868301820152016153ce565b818111156153fc576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000613a9460208301846153c4565b60006020828403121561545457600080fd5b5035919050565b801515811461535057600080fd5b6000806000806080858703121561547f57600080fd5b843593506020850135925060408501359150606085013561549f8161545b565b939692955090935050565b6000602082840312156154bc57600080fd5b81356001600160801b0381168114614ff457600080fd5b600080600080600080608087890312156154ec57600080fd5b8635955060208701356154fe8161545b565b9450604087013567ffffffffffffffff8082111561551b57600080fd5b6155278a838b01615256565b9096509450606089013591508082111561554057600080fd5b5061554d89828a01615256565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061166260608301846153c4565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156155ac57600080fd5b6040516080810181811067ffffffffffffffff821117156155dd57634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561565d5761565d615634565b500190565b6000600019820361567557615675615634565b5060010190565b60008282101561568e5761568e615634565b500390565b6000602082840312156156a557600080fd5b8151614ff481615366565b6000602082840312156156c257600080fd5b5051919050565b600067ffffffffffffffff8083168185168083038211156156ec576156ec615634565b01949350505050565b600067ffffffffffffffff8083168185168183048111821515161561571c5761571c615634565b02949350505050565b600067ffffffffffffffff8381169083168181101561574657615746615634565b039392505050565b60006020828403121561576057600080fd5b8151614ff48161545b565b6000806040838503121561577e57600080fd5b505080516020909101519092909150565b6000602082840312156157a157600080fd5b815163ffffffff81168114614ff457600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826157da576157da6157b5565b500490565b60008160001904831182151516156157f9576157f9615634565b500290565b60008261580d5761580d6157b5565b500690565b60006001600160801b038381169083168181101561574657615746615634565b60006001600160801b038083168185168083038211156156ec576156ec615634565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6060815260006158b1606083018789615854565b82810360208401526158c4818688615854565b9150508260408301529695505050505050565b600060ff821660ff8416808210156158f1576158f1615634565b90039392505050565b600060ff83168061590d5761590d6157b5565b8060ff84160691505092915050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60008413600084138583048511828216161561595d5761595d615634565b7f8000000000000000000000000000000000000000000000000000000000000000600087128682058812818416161561599857615998615634565b600087129250878205871284841616156159b4576159b4615634565b878505871281841616156159ca576159ca615634565b505050929093029392505050565b6000826159e7576159e76157b5565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615a1d57615a1d615634565b50059056fea164736f6c634300080f000a000000000000000000000000000000000000000000000000000000000000000003eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc80000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d4000000000000000000000000007babe08ee4d07dba236530183b24055535a7011000000000000000000000000d3683e4947a7769603ab6418ec02f000ce3cf30b0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153550000000000000000000000000000000000000000000000000000000000014a34, false, [], 6), ((0, 11155111), 3, 0x07BABE08EE4D07dBA236530183B24055535A7011, 0x32b37BBd2c81e853EA098ce45856aE305Df10dD1, true, 0, 0, 0x, 0, 0x7dc0d1d0, false, [], 7), ((0, 11155111), 3, 0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3, 0x32b37BBd2c81e853EA098ce45856aE305Df10dD1, true, 0, 0, 0x, 0, 0xf3f480d9, false, [], 7), ((0, 11155111), 3, 0x07BABE08EE4D07dBA236530183B24055535A7011, 0x32b37BBd2c81e853EA098ce45856aE305Df10dD1, true, 0, 0, 0x, 0, 0x7dc0d1d0, false, [], 7), ((0, 11155111), 3, 0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3, 0x32b37BBd2c81e853EA098ce45856aE305Df10dD1, true, 0, 0, 0x, 0, 0xf3f480d9, false, [], 7), ((0, 11155111), 3, 0xf272670eb55e895584501d564AfEB048bEd26194, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0xf272670eb55e895584501d564AfEB048bEd26194, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, false)], 6), ((0, 11155111), 1, 0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0xf272670eb55e895584501d564AfEB048bEd26194, 0x4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ac, false, 0x00000000000000000000000049f53e41452c74589e85ca1677426ba426459e85, 0x00000000000000000000000049f53e41452c74589e85ca1677426ba426459e85, false)], 7), ((0, 11155111), 3, 0x49f53e41452C74589E85cA1677426Ba426459e85, 0xf272670eb55e895584501d564AfEB048bEd26194, true, 1150428230307645607463903, 1150428230307645607463903, 0x, 0, 0xf2b4e617, false, [(0x49f53e41452C74589E85cA1677426Ba426459e85, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, false)], 8), ((0, 11155111), 1, 0x381E729FF983FA4BCEd820e7b922d79bF653B999, 0xf272670eb55e895584501d564AfEB048bEd26194, true, 1150428230307645607463903, 1150428230307645607463903, 0x, 0, 0xf2b4e617, false, [(0x49f53e41452C74589E85cA1677426Ba426459e85, 0x000000000000000000000000000000000000000000000000000000000000003e, false, 0x0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355, 0x0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355, false)], 9), ((0, 11155111), 3, 0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x49f53e41452C74589E85cA1677426Ba426459e85, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, false)], 10), ((0, 11155111), 1, 0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E, 0x49f53e41452C74589E85cA1677426Ba426459e85, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x0000000000000000000000000000000000000000000000000000000000000001, false, 0x000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1, 0x000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1, false)], 11), ((0, 11155111), 8, 0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 0, 0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x14f6b1a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032b37bbd2c81e853ea098ce45856ae305df10dd1, false, [(0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false)], 6), ((0, 11155111), 1, 0x33D1e8571a85a538ed3D5A4d88f46C112383439D, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x14f6b1a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032b37bbd2c81e853ea098ce45856ae305df10dd1, false, [(0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0x0000000000000000000000000000000000000000000000000000000000000033, false, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, false), (0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b, false, 0x000000000000000000000000cfce7dd673fbbbffd16ab936b7245a2f2db31c9a, 0x000000000000000000000000cfce7dd673fbbbffd16ab936b7245a2f2db31c9a, false), (0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b, true, 0x000000000000000000000000cfce7dd673fbbbffd16ab936b7245a2f2db31c9a, 0x00000000000000000000000032b37bbd2c81e853ea098ce45856ae305df10dd1, false)], 7)]\"\n    }\n  },\n  \"timestamp\": 1758569774,\n  \"chain\": 11155111,\n  \"commit\": \"218da43b\"\n}\n"
  },
  {
    "path": "sepolia/2025-09-22-upgrade-to-U16a/validation.yml",
    "content": "'disabled': true\n"
  },
  {
    "path": "sepolia/2025-10-09-fusaka-defense/FACILITATOR.md",
    "content": "# Facilitator Guide\n\nGuide for facilitators after collecting signatures from signers. For sepolia tasks, the facilitator only needs to collect signatures for the base nested safe.\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd sepolia/2025-10-09-fusaka-defense\nmake deps\n```\n\n### 2. Approve base nested safe\n\n```bash\nSIGNATURES=AAABBBCCC make approve-cb\n```\n\n### 3. Sign for mock SC\n\n### 4. Approve for mock SC\n\n```bash\nSIGNATURES=AAABBBCCC make approve-cb-sc\n```\n\n### 5. Sign for mock OP\n\n### 6. Approve for mock OP\n\n```bash\nSIGNATURES=AAAABBBBCCCC make approve-op\n```\n\n### 7. Approve for CB coordinator\n\n```bash\nmake approve-coordinator\n```\n\n### 8. Execute\n\n```bash\nmake execute\n```\n"
  },
  {
    "path": "sepolia/2025-10-09-fusaka-defense/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\n\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 1\nendif\n\n.PHONY: deploy\ndeploy:\n\tforge script --rpc-url $(L1_RPC_URL) DeployDisputeGames \\\n\t--account testnet-admin --broadcast -vvvv\n\n# OWNER_SAFE/\n# ├── CB_SIGNER_SAFE_ADDR/\n# │   ├── CB_NESTED_SAFE_ADDR/\n# │   │   └── Signers\n# │   └── CB_SC_SAFE_ADDR/\n# │       └── Signers\n# └── OP_SIGNER_SAFE_ADDR/\n#     └── Signers\n\nRPC_URL = $(L1_RPC_URL)\nSCRIPT_NAME = UpgradeDGF\n\n# Validation files\n.PHONY: gen-validation-op\ngen-validation-op:\n\t$(GOPATH)/bin/state-diff --rpc $(L1_RPC_URL) -o validations/OP_VALIDATION.json \\\n\t-- forge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \\\n\t--sig \"sign(address[])\" \"[$(OP_SIGNER_SAFE_ADDR)]\" \\\n\t--sender 0xb2d9a52e76841279EF0372c534C539a4f68f8C0B\n\n.PHONY: gen-validation-base-nested\ngen-validation-base-nested:\n\t$(GOPATH)/bin/state-diff --rpc $(L1_RPC_URL) -o validations/BASE_NESTED_VALIDATION.json \\\n\t-- forge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \\\n\t--sig \"sign(address[])\" \"[$(CB_NESTED_SAFE_ADDR), $(CB_SIGNER_SAFE_ADDR)]\" \\\n\t--sender 0xb2d9a52e76841279EF0372c534C539a4f68f8C0B\n\n.PHONY: gen-validation-base-sc\ngen-validation-base-sc:\n\t$(GOPATH)/bin/state-diff --rpc $(L1_RPC_URL) -o validations/BASE_SC_VALIDATION.json \\\n\t-- forge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \\\n\t--sig \"sign(address[])\" \"[$(CB_SC_SAFE_ADDR), $(CB_SIGNER_SAFE_ADDR)]\" \\\n\t--sender 0xb2d9a52e76841279EF0372c534C539a4f68f8C0B\n\n# CB\n.PHONY: approve-cb\napprove-cb:\n\t$(call MULTISIG_APPROVE,$(CB_NESTED_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES))\n\n.PHONY: approve-cb-sc\napprove-cb-sc:\n\t$(call MULTISIG_APPROVE,$(CB_SC_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES))\n\n# OP\n.PHONY: approve-op\napprove-op:\n\t$(call MULTISIG_APPROVE,$(OP_SIGNER_SAFE_ADDR),$(SIGNATURES))\n\n.PHONY: approve-coordinator\napprove-coordinator:\n\t$(call MULTISIG_APPROVE,$(CB_SIGNER_SAFE_ADDR),0x)\n\n# Execute\n.PHONY: execute\nexecute:\n\t$(call MULTISIG_EXECUTE,0x)\n"
  },
  {
    "path": "sepolia/2025-10-09-fusaka-defense/README.md",
    "content": "# Upgrade Fault Proofs\n\nStatus: EXECUTED (https://sepolia.etherscan.io/tx/0x7881a472e6153e5c3757254dcf1e924d036bf46af008df496b9ef66ceb6c9535)\n\n## Description\n\nThis task contains two scripts. One for deploying new versions of the `FaultDisputeGame` and `PermissionedDisputeGame` contracts, and one for updating the `DisputeGameFactory` contract to reference the new dispute game contracts.\n\n## Sign Task\n\n### 1. Run the signer tool\n\n```bash\nmake sign-task\n```\n\n### 2. Open the UI at [http://localhost:3000](http://localhost:3000)\n\n### 3. Send signature to facilitator\n"
  },
  {
    "path": "sepolia/2025-10-09-fusaka-defense/addresses.json",
    "content": "{\n  \"faultDisputeGame\": \"0xf83157709129bd03fb02e96950be288e8c2c1c67\",\n  \"permissionedDisputeGame\": \"0x5920bd6ab4c1b96bfd4efc56eb6cf9b018e3bf4c\"\n}\n"
  },
  {
    "path": "sepolia/2025-10-09-fusaka-defense/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 200\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n    '@lib-keccak/=lib/lib-keccak/contracts/lib',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "sepolia/2025-10-09-fusaka-defense/records/DeployDisputeGames.s.sol/11155111/run-1760020249278.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xa535191db0a343c3de5d51377bb1c4d4e76550da5d29d80f81eaf9a52438a664\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"FaultDisputeGame\",\n      \"contractAddress\": \"0xf83157709129bd03fb02e96950be288e8c2c1c67\",\n      \"function\": null,\n      \"arguments\": [\n        \"(0, 0x0339db503776757491b9f3038bf6f1d37b7988a2f75e823fe2656c1352ef2f91, 73, 30, 10800, 302400, 0x07BABE08EE4D07dBA236530183B24055535A7011, 0xd3683e4947A7769603Ab6418eC02f000CE3cF30b, 0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 84532)\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x53801f\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6101c06040523480156200001257600080fd5b50604051620052f7380380620052f783398101604081905262000035916200052d565b620000436001607e62000600565b60ff16816040015111156200006b57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000955750604081015160608201516200009290600162000626565b10155b15620000b45760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000db5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000128573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014e919062000641565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b2919062000661565b1115620001d25760405163b4e1243360e01b815260040160405180910390fd5b6000620001f782608001516001600160401b03166200048060201b62000baf1760201c565b6200020d906001600160401b031660026200067b565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000254573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027a919062000641565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002de919062000661565b6200030184608001516001600160401b03166200048060201b62000baf1760201c565b6001600160401b031662000316919062000626565b905060006200033183836200048360201b620031801760201c565b90506001600160401b038111156200035c5760405163235dfb2b60e21b815260040160405180910390fd5b6200037f8460a001516001600160401b03166200048060201b62000baf1760201c565b6001600160401b0316816001600160401b03161115620003b25760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003d9856000015163ffffffff166200048060201b62000baf1760201c565b63ffffffff1603620003fe5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015116610160529091015161018052506200069d565b90565b600081831162000494578162000496565b825b9392505050565b60405161014081016001600160401b0381118282101715620004cf57634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004ea57600080fd5b919050565b80516001600160401b0381168114620004ea57600080fd5b6001600160a01b03811681146200051d57600080fd5b50565b8051620004ea8162000507565b600061014082840312156200054157600080fd5b6200054b6200049d565b6200055683620004d5565b81526020830151602082015260408301516040820152606083015160608201526200058460808401620004ef565b60808201526200059760a08401620004ef565b60a0820152620005aa60c0840162000520565b60c0820152620005bd60e0840162000520565b60e0820152610100620005d281850162000520565b90820152610120928301519281019290925250919050565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8416808210156200061d576200061d620005ea565b90039392505050565b600082198211156200063c576200063c620005ea565b500190565b6000602082840312156200065457600080fd5b8151620004968162000507565b6000602082840312156200067457600080fd5b5051919050565b6000816000190483118215151615620006985762000698620005ea565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051614ab86200083f600039600081816106a701528181611a6401528181611ace0152611b000152600081816109bb01526130d801526000818161062a01528181611f74015281816120660152818161210e015281816121840152818161229e01526125f2015260008181610530015281816114e0015281816115aa01528181611e4a015261252a01526000818161084c015281816125c901526131440152600081816104dc0152818161197d01528181612c850152612e3e015260008181610a0e01528181610d930152818161190601528181611b2f01528181611b8a015281816127d20152612812015260008181610a41015281816117c30152818161188f01528181611a9f01528181612b2e01528181612fbf015281816135be01528181613aee01528181613c0901528181613c670152613cb2015260008181610ae80152818161184b0152818161195101528181612856015281816128c301528181612ac70152612b4f01526000818161075c0152612bd20152614ab86000f3fe6080604052600436106102ff5760003560e01c806370872aa511610190578063c395e1ca116100dc578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610a95578063fa24f74314610ab5578063fa315aa914610ad9578063fe2bbeb214610b0c57600080fd5b8063dabd396d146109ff578063ec5e630814610a32578063eff0f59214610a6557600080fd5b8063c395e1ca146108d8578063c6f0308c146108f8578063cf09e0d01461096c578063d5d44d801461098c578063d6ae3cd5146109ac578063d8cc1a3c146109df57600080fd5b80638d450a9511610149578063bbdc02db11610123578063bbdc02db14610835578063bcef3b5514610876578063bd8da9561461088b578063c0d8bb74146108ab57600080fd5b80638d450a951461074d57806399735e3214610780578063a445ece61461079557600080fd5b806370872aa5146106de578063786b844b146106f35780637b0f0adc146107085780638129fc1c1461071b5780638980e0cc146107235780638b85902b1461073857600080fd5b80633e3ac9121161024f5780635a5fa2d91161020857806360e27464116101e257806360e27464146106635780636361506d146106835780636b6716c0146106985780636f034409146106cb57600080fd5b80635a5fa2d9146105fb5780635c0cba331461061b578063609d33341461064e57600080fd5b80633e3ac912146105005780633fc8cef314610521578063472777c614610554578063529d6a8c1461056757806354fd4d501461059457806357da950e146105cb57600080fd5b806325fc2ace116102bc57806330dbe5701161029657806330dbe57014610466578063378dd48c1461049e57806337b1b229146104b85780633a768463146104cd57600080fd5b806325fc2ace146104125780632810e1d6146104315780632ad69aeb1461044657600080fd5b8063019351301461030457806303c2924d1461032657806319effeb414610346578063200d2ed21461038a578063222abf45146103b8578063250e69bd146103f8575b600080fd5b34801561031057600080fd5b5061032461031f366004614397565b610b3c565b005b34801561033257600080fd5b506103246103413660046143f1565b610d1a565b34801561035257600080fd5b5060005461036d90600160401b90046001600160401b031681565b6040516001600160401b0390911681526020015b60405180910390f35b34801561039657600080fd5b506000546103ab90600160801b900460ff1681565b604051610381919061444a565b3480156103c457600080fd5b506103e86103d3366004614472565b600c6020526000908152604090205460ff1681565b6040519015158152602001610381565b34801561040457600080fd5b50600a546103e89060ff1681565b34801561041e57600080fd5b506008545b604051908152602001610381565b34801561043d57600080fd5b506103ab6111c5565b34801561045257600080fd5b506104236104613660046143f1565b611345565b34801561047257600080fd5b50600154610486906001600160a01b031681565b6040516001600160a01b039091168152602001610381565b3480156104aa57600080fd5b50600d546103ab9060ff1681565b3480156104c457600080fd5b50610486611376565b3480156104d957600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610486565b34801561050c57600080fd5b506000546103e890600160901b900460ff1681565b34801561052d57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610486565b61032461056236600461448f565b611387565b34801561057357600080fd5b50610423610582366004614472565b60036020526000908152604090205481565b3480156105a057600080fd5b506040805180820190915260058152640312e372e360dc1b60208201525b6040516103819190614508565b3480156105d757600080fd5b506008546009546105e6919082565b60408051928352602083019190915201610381565b34801561060757600080fd5b5061042361061636600461451b565b611399565b34801561062757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610486565b34801561065a57600080fd5b506105be6113d3565b34801561066f57600080fd5b5061032461067e366004614472565b6113e1565b34801561068f57600080fd5b5061042361167c565b3480156106a457600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061036d565b6103246106d9366004614542565b611688565b3480156106ea57600080fd5b50600954610423565b3480156106ff57600080fd5b50610324611ef9565b61032461071636600461448f565b612262565b61032461226f565b34801561072f57600080fd5b50600254610423565b34801561074457600080fd5b50610423612685565b34801561075957600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610423565b34801561078c57600080fd5b50610423612691565b3480156107a157600080fd5b506107f76107b036600461451b565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b03166060820152608001610381565b34801561084157600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610381565b34801561088257600080fd5b5061042361269b565b34801561089757600080fd5b5061036d6108a636600461451b565b6126a7565b3480156108b757600080fd5b506104236108c6366004614472565b600b6020526000908152604090205481565b3480156108e457600080fd5b506104236108f3366004614583565b61283a565b34801561090457600080fd5b5061091861091336600461451b565b61297a565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e001610381565b34801561097857600080fd5b5060005461036d906001600160401b031681565b34801561099857600080fd5b506104236109a7366004614472565b6129ed565b3480156109b857600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610423565b3480156109eb57600080fd5b506103246109fa3660046145ac565b612a45565b348015610a0b57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061036d565b348015610a3e57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610423565b348015610a7157600080fd5b506103e8610a8036600461451b565b60046020526000908152604090205460ff1681565b348015610aa157600080fd5b50610324610ab036600461448f565b612dd6565b348015610ac157600080fd5b50610aca613142565b60405161038193929190614637565b348015610ae557600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610423565b348015610b1857600080fd5b506103e8610b2736600461451b565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610b5b57610b5b614413565b14610b795760405163067fe19560e41b815260040160405180910390fd5b600054600160901b900460ff1615610ba45760405163075173a960e11b815260040160405180910390fd5b610bb2610baf61269b565b90565b610bc9610bc436869003860186614672565b61319a565b14610be757604051639cc00b5b60e01b815260040160405180910390fd5b82606001358282604051610bfc9291906146e5565b604051809103902014610c225760405163d81d583b60e01b815260040160405180910390fd5b6000610c6b610c6684848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506131f692505050565b61324a565b90506000610c9282600881518110610c8557610c856146f5565b60200260200101516133ce565b9050602081511115610cb75760405163d81d583b60e01b815260040160405180910390fd5b602081810151825190910360031b1c610cce612685565b8103610ced57604051630b8ed88360e41b815260040160405180910390fd5b5050600180546001600160a01b0319163317905550506000805460ff60901b1916600160901b1790555050565b60008054600160801b900460ff166002811115610d3957610d39614413565b14610d575760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610d6c57610d6c6146f5565b906000526020600020906005020190506000610d87846126a7565b90506001600160401b037f000000000000000000000000000000000000000000000000000000000000000081169082161015610dd65760405163f2440b5360e01b815260040160405180910390fd5b60008481526006602052604090205460ff1615610e065760405163f1a9458160e01b815260040160405180910390fd5b6000848152600560205260409020805480158015610e2357508515155b15610e85578354600160201b90046001600160a01b031660008115610e485781610e57565b60018601546001600160a01b03165b9050610e638187613450565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b03166060830152610f09576001600160801b036040820152600181526000869003610f09578195505b600086826020015163ffffffff16610f219190614721565b90506000838211610f325781610f34565b835b602084015190915063ffffffff165b8181101561103a576000868281548110610f5f57610f5f6146f5565b6000918252602080832090910154808352600690915260409091205490915060ff16610f9e57604051634d03b32360e11b815260040160405180910390fd5b600060028281548110610fb357610fb36146f5565b600091825260209091206005909102018054909150600160201b90046001600160a01b0316158015610ff95750600481015460408701516001600160801b039182169116115b156110255760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b5050808061103290614739565b915050610f43565b5063ffffffff818116602085810191825260008c815260079091526040908190208651815493519288015164ffffffffff1990941690151564ffffffff00191617610100929094169182029390931774ffffffffffffffffffffffffffffffff00000000001916650100000000006001600160801b03909316929092029190911782556060850151600190920180546001600160a01b0319166001600160a01b03909316929092179091558490036111ba57606083015160008a8152600660205260409020805460ff19166001179055891580156111215750600054600160901b900460ff165b15611167576001546001600160a01b031661113c818a613450565b88546001600160a01b03909116600160201b02640100000000600160c01b03199091161788556111b8565b6111946001600160a01b0382161561117f578161118e565b60018901546001600160a01b03165b89613450565b8754640100000000600160c01b031916600160201b6001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156111e6576111e6614413565b146112045760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff1661124f57604051634d03b32360e11b815260040160405180910390fd5b60006001600160a01b0316600260008154811061126e5761126e6146f5565b6000918252602090912060059091020154600160201b90046001600160a01b03161461129b57600161129e565b60025b600080546001600160401b034216600160401b026fffffffffffffffff000000000000000019821681178355929350839260ff60801b191670ffffffffffffffffff00000000000000001990911617600160801b83600281111561130457611304614413565b02179055600281111561131957611319614413565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061136157600080fd5b90600052602060002001600091509150505481565b60006113826000613492565b905090565b6113948383836001611688565b505050565b600081815260076020908152604080832060059092528220805482546113ca90610100900463ffffffff1682614752565b95945050505050565b6060611382605460206134b5565b6113e9611ef9565b60006002600d5460ff16600281111561140457611404614413565b0361142857506001600160a01b0381166000908152600b602052604090205461147e565b6001600d5460ff16600281111561144157611441614413565b0361146557506001600160a01b03811660009081526003602052604090205461147e565b6040516301e28f7d60e21b815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff16611542576001600160a01b038281166000818152600c602052604090819020805460ff1916600117905551637eee288d60e01b81526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b15801561152657600080fd5b505af115801561153a573d6000803e3d6000fd5b505050505050565b80600003611563576040516317bfe5f760e01b815260040160405180910390fd5b6001600160a01b038281166000818152600b602090815260408083208390556003909152808220919091555163f3fef3a360e01b81526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b1580156115f057600080fd5b505af1158015611604573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611655576040519150601f19603f3d011682016040523d82523d6000602084013e61165a565b606091505b5050905080611394576040516383e6cc6b60e01b815260040160405180910390fd5b600061138260346134f7565b60008054600160801b900460ff1660028111156116a7576116a7614413565b146116c55760405163067fe19560e41b815260040160405180910390fd5b6000600284815481106116da576116da6146f5565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b03600160201b90910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c0820152915085146117845760405163180a019960e11b815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b905060006117b1826001600160801b0316613517565b60ff1690508615806117ec57506117e97f00000000000000000000000000000000000000000000000000000000000000006002614721565b81145b80156117f6575084155b15611814576040516329098def60e21b815260040160405180910390fd5b600054600160901b900460ff16801561182b575086155b156118495760405163075173a960e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000081111561188a576040516356f57b2b60e01b815260040160405180910390fd5b6118b57f00000000000000000000000000000000000000000000000000000000000000006001614721565b81036118c7576118c786888588613583565b346118d18361283a565b146118ef57604051638620aa1960e01b815260040160405180910390fd5b60006118fa886126a7565b90506001600160401b037f000000000000000000000000000000000000000000000000000000000000000081169082160361194857604051630ce0744560e21b815260040160405180910390fd5b600061197560017f0000000000000000000000000000000000000000000000000000000000000000614752565b8303611a98577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119fd9190614769565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a5e9190614786565b611a91907f00000000000000000000000000000000000000000000000000000000000000006001600160401b031661479f565b9050611b29565b611ac360017f0000000000000000000000000000000000000000000000000000000000000000614752565b8303611afd57611a917f00000000000000000000000000000000000000000000000000000000000000006001600160401b031660026147ca565b507f00000000000000000000000000000000000000000000000000000000000000006001600160401b03165b611b5c817f00000000000000000000000000000000000000000000000000000000000000006001600160401b03166147f9565b6001600160401b0316611b75836001600160401b031690565b6001600160401b03161115611bba57611bb7817f00000000000000000000000000000000000000000000000000000000000000006001600160401b03166147f9565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff1615611c16576040516380497e3b60e01b815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c81526020019081526020016000206001600280549050611e0d9190614752565b81546001810183556000928352602080842090910191909155338252600b9052604081208054349290611e41908490614721565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015611ea357600080fd5b505af1158015611eb7573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b6002600d5460ff166002811115611f1257611f12614413565b1480611f3457506001600d5460ff166002811115611f3257611f32614413565b145b15611f3b57565b6000600d5460ff166002811115611f5457611f54614413565b14611f72576040516301e28f7d60e21b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fd0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ff49190614821565b156120125760405163379a7ed960e01b815260040160405180910390fd5b600054600160401b90046001600160401b03166001600160401b031660000361204e57604051636082930560e11b815260040160405180910390fd5b604051630314d2b360e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa1580156120b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120d99190614821565b9050806120f957604051634851bd9b60e01b815260040160405180910390fd5b6040516317cf21a960e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561215a57600080fd5b505af192505050801561216b575060015b506040516324b5ce0b60e11b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa1580156121d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121f79190614821565b9050801561221157600d805460ff1916600117905561221f565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f916122569160ff9091169061444a565b60405180910390a15050565b6113948383836000611688565b600054600160881b900460ff16156122995760405162dc149f60e41b815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa1580156122f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061231d919061483e565b90925090508161234057604051633535e1d960e11b815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a1461237357639824bdab6000526004601cfd5b8061237c612685565b116123ae5761238961269b565b60405163f40239db60e01b81526004016123a591815260200190565b60405180910390fd5b6040805160e08101825263ffffffff81526000602082015260029181016123d3611376565b6001600160a01b03168152602001346001600160801b031681526020016123f861269b565b815260016020820152604001426001600160801b0390811690915282546001808201855560009485526020808620855160059094020180549186015163ffffffff9094166001600160c01b031990921691909117600160201b6001600160a01b0394851602178155604085015191810180546001600160a01b031916929093169190911790915560608301516002820180546fffffffffffffffffffffffffffffffff19169184169190911790556080830151600382015560a083015160c090930151928216600160801b9390921692909202176004909101558054600160881b60ff60881b199091161781553490600b906124f2611376565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008282546125219190614721565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561258357600080fd5b505af1158015612597573d6000803e3d6000fd5b50506000805467ffffffffffffffff1916426001600160401b0316179055505060408051630f27ce5f60e21b815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015612645573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126699190614862565b600a805460ff191663ffffffff92909216929092141790555050565b600061138260546134f7565b6000611382612685565b600061138260146134f7565b600080600054600160801b900460ff1660028111156126c8576126c8614413565b146126e65760405163067fe19560e41b815260040160405180910390fd5b6000600283815481106126fb576126fb6146f5565b600091825260208220600590910201805490925063ffffffff9081161461276157815460028054909163ffffffff16908110612739576127396146f5565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b600482015460009061278a90600160801b90046001600160401b03165b6001600160401b031690565b61279d906001600160401b031642614752565b6127b361277e846001600160801b031660401c90565b6001600160401b03166127c69190614721565b90506001600160401b037f0000000000000000000000000000000000000000000000000000000000000000166001600160401b0316816001600160401b03161161281057806113ca565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b60008061284f836001600160801b0316613517565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115612895576040516356f57b2b60e01b815260040160405180910390fd5b642e90edd00062061a806311e1a30060006128b0838361489e565b9050670de0b6b3a764000060006128e7827f00000000000000000000000000000000000000000000000000000000000000006148b2565b90506000612905612900670de0b6b3a7640000866148b2565b613678565b90506000612913848461388e565b9050600061292183836138dd565b9050600061292e8261390b565b9050600061294d82612948670de0b6b3a76400008f6148b2565b613a88565b9050600061295b8b836138dd565b9050612967818d6148b2565b9f9e505050505050505050505050505050565b6002818154811061298a57600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff84169550600160201b9093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff166002811115612a0857612a08614413565b03612a2957506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b60008054600160801b900460ff166002811115612a6457612a64614413565b14612a825760405163067fe19560e41b815260040160405180910390fd5b600060028781548110612a9757612a976146f5565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b9050612aed7f00000000000000000000000000000000000000000000000000000000000000006001614721565b612aff826001600160801b0316613517565b60ff1614612b2057604051630bea7bb360e31b815260040160405180910390fd5b6000808915612bfc57612b737f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000614752565b6001901b612b89846001600160801b0316613ab9565b6001600160801b0316612b9c91906148d1565b15612bd057612bc7612bb860016001600160801b0387166148e5565b865463ffffffff166000613ad7565b60030154612bf2565b7f00000000000000000000000000000000000000000000000000000000000000005b9150849050612c1d565b60038501549150612c1a612bb86001600160801b0386166001614905565b90505b600882901b60088a8a604051612c349291906146e5565b6040518091039020901b14612c5c5760405163696550ff60e01b815260040160405180910390fd5b6000612c678c613ba0565b90506000612c76836003015490565b6040516370a6769960e11b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced3290612cca908f908f908f908f908a90600401614950565b6020604051808303816000875af1158015612ce9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d0d9190614786565b600485015491149150600090600290612d2e906001600160801b0316613517565b612d40896001600160801b0316613517565b612d4a919061498a565b612d5491906149ad565b60ff161590508115158103612d7c5760405163fb4e40dd60e01b815260040160405180910390fd5b8754600160201b90046001600160a01b031615612dac57604051639071e6af60e01b815260040160405180910390fd5b50508554640100000000600160c01b03191633600160201b02179095555050505050505050505050565b60008054600160801b900460ff166002811115612df557612df5614413565b14612e135760405163067fe19560e41b815260040160405180910390fd5b600080600080612e2286613bcf565b93509350935093506000612e3885858585613e3e565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ebe9190614769565b905060018903612f68576001600160a01b0381166352f0f3ad8a84612ee4610baf61167c565b6040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af1158015612f3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f629190614786565b506111ba565b60028903612f87576001600160a01b0381166352f0f3ad8a8489612ee4565b60038903612fa6576001600160a01b0381166352f0f3ad8a8487612ee4565b600489036130b3576000612fe36001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000613edd565b600954612ff09190614721565b612ffb906001614721565b9050613005612685565b811061301857613013612685565b61301a565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b6001600160e01b03191681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015613088573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130ac9190614786565b50506111ba565b60058903613126576040516352f0f3ad60e01b8152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a401612f1f565b604051600162ec819b60e01b0319815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006000606061316f61269b565b91506131796113d3565b9050909192565b600081831161318f5781613191565b825b90505b92915050565b600081600001518260200151836040015184606001516040516020016131d9949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b6040805180820190915260008082526020820152815160000361322c57604051635ab458fb60e01b815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b6060600080600061325a85613f0a565b91945092509050600181600181111561327557613275614413565b14613293576040516325ce355f60e11b815260040160405180910390fd5b845161329f8385614721565b146132bd57604051630b8aa6f760e31b815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816132d45790505093506000835b86518110156133c2576000806133476040518060400160405280858c6000015161332b9190614752565b8152602001858c602001516133409190614721565b9052613f0a565b5091509150604051806040016040528083836133639190614721565b8152602001848b602001516133789190614721565b81525088858151811061338d5761338d6146f5565b60209081029190910101526133a3600185614721565b93506133af8183614721565b6133b99084614721565b92505050613301565b50845250919392505050565b606060008060006133de85613f0a565b9194509250905060008160018111156133f9576133f9614413565b14613417576040516307fe6cb960e21b815260040160405180910390fd5b6134218284614721565b85511461344157604051630b8aa6f760e31b815260040160405180910390fd5b6113ca85602001518484614200565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190613489908490614721565b90915550505050565b6000806134a73660011981013560f01c900390565b929092013560601c92915050565b606060006134cb3660011981013560f01c900390565b905060405191508282528284820160208401378260208301016000815260208101604052505092915050565b60008061350c3660011981013560f01c900390565b929092013592915050565b7e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b6001600160401b03831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60006135996001600160801b0384166001614905565b905060006135a982866001613ad7565b9050600086901a838061360b57506135e260027f00000000000000000000000000000000000000000000000000000000000000006148d1565b60048301546002906135fc906001600160801b0316613517565b61360691906149ad565b60ff16145b1561364a5760ff811660011480613625575060ff81166002145b6136455760405163f40239db60e01b8152600481018890526024016123a5565b61366f565b60ff81161561366f5760405163f40239db60e01b8152600481018890526024016123a5565b50505050505050565b6001600160801b03811160071b81811c6001600160401b031060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b17600082136136cd57631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a7640000021582026138cb57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b6000816000190483118202156138fb5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b600068023f2fa8f6da5b9d2819821361392357919050565b680755bf798b4a1bf1e582126139415763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000613191670de0b6b3a764000083613aa086613678565b613aaa91906149cf565b613ab49190614a54565b61390b565b600080613ac583613517565b600160ff919091161b90920392915050565b60008082613b1757613b126001600160801b0386167f0000000000000000000000000000000000000000000000000000000000000000614294565b613b29565b613b29856001600160801b0316614303565b905060028481548110613b3e57613b3e6146f5565b906000526020600020906005020191505b60048201546001600160801b03828116911614613b9857815460028054909163ffffffff16908110613b8357613b836146f5565b90600052602060002090600502019150613b4f565b509392505050565b6000806000806000613bb186613bcf565b9350935093509350613bc584848484613e3e565b9695505050505050565b6000806000806000859050600060028281548110613bef57613bef6146f5565b6000918252602090912060059091020160048101549091507f000000000000000000000000000000000000000000000000000000000000000090613c3b906001600160801b0316613517565b60ff1611613c5c576040516359a5ae1160e11b815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090613c99906001600160801b0316613517565b60ff169250821115613d0e57825463ffffffff16613cd87f00000000000000000000000000000000000000000000000000000000000000006001614721565b8303613ce2578391505b60028181548110613cf557613cf56146f5565b9060005260206000209060050201935080945050613c60565b600481810154908401546001600160801b0391821691166000816001600160801b0316613d53613d47856001600160801b031660011c90565b6001600160801b031690565b6001600160801b03161490508015613dec576000613d79836001600160801b0316613ab9565b6001600160801b03161115613dc9576000613da9613da160016001600160801b0386166148e5565b896001613ad7565b6003810154600490910154909c506001600160801b03169a50613dcf9050565b6008549a505b600386015460048701549099506001600160801b03169750613e30565b6000613e05613da16001600160801b0385166001614905565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b03841615613e995760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a001604051602081830303815290604052805190602001206113ca565b8282604051602001613ebe9291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080613ee984613517565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003613f3457604051635ab458fb60e01b815260040160405180910390fd5b6020840151805160001a607f8111613f595760006001600094509450945050506141f9565b60b78111613ff1576000613f6e608083614752565b905080876000015111613f94576040516366c9448560e01b815260040160405180910390fd5b6001838101516001600160f81b0319169082148015613fc05750600160ff1b6001600160f81b03198216105b15613fde5760405163babb01dd60e01b815260040160405180910390fd5b50600195509350600092506141f9915050565b60bf81116140d357600061400660b783614752565b90508087600001511161402c576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b031916600081900361405d5760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c6037811161408c5760405163babb01dd60e01b815260040160405180910390fd5b6140968184614721565b8951116140b6576040516366c9448560e01b815260040160405180910390fd5b6140c1836001614721565b97509550600094506141f99350505050565b60f7811161411f5760006140e860c083614752565b90508087600001511161410e576040516366c9448560e01b815260040160405180910390fd5b6001955093508492506141f9915050565b600061412c60f783614752565b905080876000015111614152576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b03191660008190036141835760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c603781116141b25760405163babb01dd60e01b815260040160405180910390fd5b6141bc8184614721565b8951116141dc576040516366c9448560e01b815260040160405180910390fd5b6141e7836001614721565b97509550600194506141f99350505050565b9193909250565b6060816001600160401b0381111561421a5761421a61465c565b6040519080825280601f01601f191660200182016040528015614244576020820181803683370190505b509050811561428d5760006142598486614721565b90506020820160005b8481101561427a578281015182820152602001614262565b84811115614289576000858301525b5050505b9392505050565b6000816142a9846001600160801b0316613517565b60ff16116142bf5763b34b5c226000526004601cfd5b6142c883614303565b9050816142dd826001600160801b0316613517565b60ff1611613194576131916142f3836001614721565b6001600160801b03831690614327565b6000811960018301168161431682613517565b60ff169390931c8015179392505050565b60008061433384613517565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261436157600080fd5b5081356001600160401b0381111561437857600080fd5b60208301915083602082850101111561439057600080fd5b9250929050565b600080600083850360a08112156143ad57600080fd5b60808112156143bb57600080fd5b5083925060808401356001600160401b038111156143d857600080fd5b6143e48682870161434f565b9497909650939450505050565b6000806040838503121561440457600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061444757634e487b7160e01b600052602160045260246000fd5b50565b6020810161445783614429565b91905290565b6001600160a01b038116811461444757600080fd5b60006020828403121561448457600080fd5b813561428d8161445d565b6000806000606084860312156144a457600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b818110156144e1576020818501810151868301820152016144c5565b818111156144f3576000602083870101525b50601f01601f19169290920160200192915050565b60208152600061319160208301846144bb565b60006020828403121561452d57600080fd5b5035919050565b801515811461444757600080fd5b6000806000806080858703121561455857600080fd5b843593506020850135925060408501359150606085013561457881614534565b939692955090935050565b60006020828403121561459557600080fd5b81356001600160801b038116811461428d57600080fd5b600080600080600080608087890312156145c557600080fd5b8635955060208701356145d781614534565b945060408701356001600160401b03808211156145f357600080fd5b6145ff8a838b0161434f565b9096509450606089013591508082111561461857600080fd5b5061462589828a0161434f565b979a9699509497509295939492505050565b63ffffffff841681528260208201526060604082015260006113ca60608301846144bb565b634e487b7160e01b600052604160045260246000fd5b60006080828403121561468457600080fd5b604051608081018181106001600160401b03821117156146b457634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082198211156147345761473461470b565b500190565b60006001820161474b5761474b61470b565b5060010190565b6000828210156147645761476461470b565b500390565b60006020828403121561477b57600080fd5b815161428d8161445d565b60006020828403121561479857600080fd5b5051919050565b60006001600160401b038083168185168083038211156147c1576147c161470b565b01949350505050565b60006001600160401b03808316818516818304811182151516156147f0576147f061470b565b02949350505050565b60006001600160401b03838116908316818110156148195761481961470b565b039392505050565b60006020828403121561483357600080fd5b815161428d81614534565b6000806040838503121561485157600080fd5b505080516020909101519092909150565b60006020828403121561487457600080fd5b815163ffffffff8116811461428d57600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826148ad576148ad614888565b500490565b60008160001904831182151516156148cc576148cc61470b565b500290565b6000826148e0576148e0614888565b500690565b60006001600160801b03838116908316818110156148195761481961470b565b60006001600160801b038083168185168083038211156147c1576147c161470b565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b606081526000614964606083018789614927565b8281036020840152614977818688614927565b9150508260408301529695505050505050565b600060ff821660ff8416808210156149a4576149a461470b565b90039392505050565b600060ff8316806149c0576149c0614888565b8060ff84160691505092915050565b60006001600160ff1b03818413828413808216868404861116156149f5576149f561470b565b600160ff1b6000871282811687830589121615614a1457614a1461470b565b60008712925087820587128484161615614a3057614a3061470b565b87850587128184161615614a4657614a4661470b565b505050929093029392505050565b600082614a6357614a63614888565b600160ff1b821460001984141615614a7d57614a7d61470b565b50059056fea2646970667358221220c89372dbe6a32e5500f05e15b615b291d4f6bc3a4db08fbad24983923dabf49a64736f6c634300080f003300000000000000000000000000000000000000000000000000000000000000000339db503776757491b9f3038bf6f1d37b7988a2f75e823fe2656c1352ef2f910000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d4000000000000000000000000007babe08ee4d07dba236530183b24055535a7011000000000000000000000000d3683e4947a7769603ab6418ec02f000ce3cf30b0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153550000000000000000000000000000000000000000000000000000000000014a34\",\n        \"nonce\": \"0x48\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xdd0d7a41d07276cd7e7939696d15b69bb958e264cae9e659e5572c06e5672332\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"PermissionedDisputeGame\",\n      \"contractAddress\": \"0x5920bd6ab4c1b96bfd4efc56eb6cf9b018e3bf4c\",\n      \"function\": null,\n      \"arguments\": [\n        \"(1, 0x0339db503776757491b9f3038bf6f1d37b7988a2f75e823fe2656c1352ef2f91, 73, 30, 10800, 302400, 0x07BABE08EE4D07dBA236530183B24055535A7011, 0x32cE910d9C6c8F78dc6779c1499aB05F281A054e, 0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 84532)\",\n        \"0x037637067c1DbE6d2430616d8f54Cb774Daa5999\",\n        \"0x8b8c52B04A38f10515C52670fcb23f3C4C44474F\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x55bccf\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6102006040523480156200001257600080fd5b50604051620055813803806200558183398101604081905262000035916200053b565b82620000446001607e6200064a565b60ff16816040015111156200006c57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000965750604081015160608201516200009390600162000670565b10155b15620000b55760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000dc5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000129573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014f91906200068b565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b39190620006ab565b1115620001d35760405163b4e1243360e01b815260040160405180910390fd5b6000620001f882608001516001600160401b03166200048e60201b62000c4b1760201c565b6200020e906001600160401b03166002620006c5565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000255573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027b91906200068b565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002df9190620006ab565b6200030284608001516001600160401b03166200048e60201b62000c4b1760201c565b6001600160401b031662000317919062000670565b905060006200033283836200049160201b6200236f1760201c565b90506001600160401b038111156200035d5760405163235dfb2b60e21b815260040160405180910390fd5b620003808460a001516001600160401b03166200048e60201b62000c4b1760201c565b6001600160401b0316816001600160401b03161115620003b35760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003da856000015163ffffffff166200048e60201b62000c4b1760201c565b63ffffffff1603620003ff5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015181166101605292015161018052509182166101c052166101e05250620006e7565b90565b6000818311620004a25781620004a4565b825b9392505050565b60405161014081016001600160401b0381118282101715620004dd57634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004f857600080fd5b919050565b80516001600160401b0381168114620004f857600080fd5b6001600160a01b03811681146200052b57600080fd5b50565b8051620004f88162000515565b60008060008385036101808112156200055357600080fd5b610140808212156200056457600080fd5b6200056e620004ab565b91506200057b86620004e3565b8252602086015160208301526040860151604083015260608601516060830152620005a960808701620004fd565b6080830152620005bc60a08701620004fd565b60a0830152620005cf60c087016200052e565b60c0830152620005e260e087016200052e565b60e0830152610100620005f78188016200052e565b8184015250610120808701518184015250819450620006188187016200052e565b935050506200062b61016085016200052e565b90509250925092565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168082101562000667576200066762000634565b90039392505050565b6000821982111562000686576200068662000634565b500190565b6000602082840312156200069e57600080fd5b8151620004a48162000515565b600060208284031215620006be57600080fd5b5051919050565b6000816000190483118215151615620006e257620006e262000634565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051614cbf620008c2600039600081816105d9015281816117610152611f780152600081816108ad0152818161172f01528181611b330152611f4601526000818161071001528181612ae201528181612b4c0152612b7e015260008181610a5701526122c70152600081816106930152818161182d0152818161191f015281816119c701528181611a3d01528181612fa601526132fa0152600081816105660152818161157c0152818161164601528181612ec801526132320152600081816108e80152818161233301526132d10152600081816105120152818161202d015281816129fb0152613a7a015260008181610aaa01528181610e2f01528181611cc801528181611d080152818161298401528181612bad0152612c08015260008181610add015281816121ae015281816128410152818161290d01528181612b1d0152818161392301528181613c0501528181613c6301528181613cae015281816142cb01526143ba015260008181610b8401528181611d4c01528181611db9015281816128c9015281816129cf015281816138bc01526139440152600081816107c501526139c70152614cbf6000f3fe6080604052600436106103355760003560e01c806370872aa5116101ab578063c0d8bb74116100f7578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b31578063fa24f74314610b51578063fa315aa914610b75578063fe2bbeb214610ba857600080fd5b8063dabd396d14610a9b578063ec5e630814610ace578063eff0f59214610b0157600080fd5b8063cf09e0d0116100d1578063cf09e0d014610a08578063d5d44d8014610a28578063d6ae3cd514610a48578063d8cc1a3c14610a7b57600080fd5b8063c0d8bb7414610947578063c395e1ca14610974578063c6f0308c1461099457600080fd5b80638d450a9511610164578063a8e4fb901161013e578063a8e4fb901461089e578063bbdc02db146108d1578063bcef3b5514610912578063bd8da9561461092757600080fd5b80638d450a95146107b657806399735e32146107e9578063a445ece6146107fe57600080fd5b806370872aa514610747578063786b844b1461075c5780637b0f0adc146107715780638129fc1c146107845780638980e0cc1461078c5780638b85902b146107a157600080fd5b80633e3ac912116102855780635a5fa2d91161022357806360e27464116101fd57806360e27464146106cc5780636361506d146106ec5780636b6716c0146107015780636f0344091461073457600080fd5b80635a5fa2d9146106645780635c0cba3314610684578063609d3334146106b757600080fd5b8063529d6a8c1161025f578063529d6a8c1461059d578063534db0e2146105ca57806354fd4d50146105fd57806357da950e1461063457600080fd5b80633e3ac912146105365780633fc8cef314610557578063472777c61461058a57600080fd5b806325fc2ace116102f257806330dbe570116102cc57806330dbe5701461049c578063378dd48c146104d457806337b1b229146104ee5780633a7684631461050357600080fd5b806325fc2ace146104485780632810e1d6146104675780632ad69aeb1461047c57600080fd5b8063019351301461033a57806303c2924d1461035c57806319effeb41461037c578063200d2ed2146103c0578063222abf45146103ee578063250e69bd1461042e575b600080fd5b34801561034657600080fd5b5061035a61035536600461459e565b610bd8565b005b34801561036857600080fd5b5061035a6103773660046145f8565b610db6565b34801561038857600080fd5b506000546103a390600160401b90046001600160401b031681565b6040516001600160401b0390911681526020015b60405180910390f35b3480156103cc57600080fd5b506000546103e190600160801b900460ff1681565b6040516103b79190614651565b3480156103fa57600080fd5b5061041e610409366004614679565b600c6020526000908152604090205460ff1681565b60405190151581526020016103b7565b34801561043a57600080fd5b50600a5461041e9060ff1681565b34801561045457600080fd5b506008545b6040519081526020016103b7565b34801561047357600080fd5b506103e1611261565b34801561048857600080fd5b506104596104973660046145f8565b6113e1565b3480156104a857600080fd5b506001546104bc906001600160a01b031681565b6040516001600160a01b0390911681526020016103b7565b3480156104e057600080fd5b50600d546103e19060ff1681565b3480156104fa57600080fd5b506104bc611412565b34801561050f57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104bc565b34801561054257600080fd5b5060005461041e90600160901b900460ff1681565b34801561056357600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104bc565b61035a610598366004614696565b611423565b3480156105a957600080fd5b506104596105b8366004614679565b60036020526000908152604090205481565b3480156105d657600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104bc565b34801561060957600080fd5b506040805180820190915260058152640312e372e360dc1b60208201525b6040516103b7919061470f565b34801561064057600080fd5b5060085460095461064f919082565b604080519283526020830191909152016103b7565b34801561067057600080fd5b5061045961067f366004614722565b611435565b34801561069057600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104bc565b3480156106c357600080fd5b5061062761146f565b3480156106d857600080fd5b5061035a6106e7366004614679565b61147d565b3480156106f857600080fd5b50610459611718565b34801561070d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103a3565b61035a610742366004614749565b611724565b34801561075357600080fd5b50600954610459565b34801561076857600080fd5b5061035a6117b2565b61035a61077f366004614696565b611b1b565b61035a611b28565b34801561079857600080fd5b50600254610459565b3480156107ad57600080fd5b50610459611b7b565b3480156107c257600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610459565b3480156107f557600080fd5b50610459611b87565b34801561080a57600080fd5b50610860610819366004614722565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103b7565b3480156108aa57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104bc565b3480156108dd57600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103b7565b34801561091e57600080fd5b50610459611b91565b34801561093357600080fd5b506103a3610942366004614722565b611b9d565b34801561095357600080fd5b50610459610962366004614679565b600b6020526000908152604090205481565b34801561098057600080fd5b5061045961098f36600461478a565b611d30565b3480156109a057600080fd5b506109b46109af366004614722565b611e70565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103b7565b348015610a1457600080fd5b506000546103a3906001600160401b031681565b348015610a3457600080fd5b50610459610a43366004614679565b611ee3565b348015610a5457600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610459565b348015610a8757600080fd5b5061035a610a963660046147b3565b611f3b565b348015610aa757600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103a3565b348015610ada57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610459565b348015610b0d57600080fd5b5061041e610b1c366004614722565b60046020526000908152604090205460ff1681565b348015610b3d57600080fd5b5061035a610b4c366004614696565b611fc5565b348015610b5d57600080fd5b50610b66612331565b6040516103b79392919061483e565b348015610b8157600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610459565b348015610bb457600080fd5b5061041e610bc3366004614722565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610bf757610bf761461a565b14610c155760405163067fe19560e41b815260040160405180910390fd5b600054600160901b900460ff1615610c405760405163075173a960e11b815260040160405180910390fd5b610c4e610c4b611b91565b90565b610c65610c6036869003860186614879565b612389565b14610c8357604051639cc00b5b60e01b815260040160405180910390fd5b82606001358282604051610c989291906148ec565b604051809103902014610cbe5760405163d81d583b60e01b815260040160405180910390fd5b6000610d07610d0284848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506123e592505050565b612439565b90506000610d2e82600881518110610d2157610d216148fc565b60200260200101516125bd565b9050602081511115610d535760405163d81d583b60e01b815260040160405180910390fd5b602081810151825190910360031b1c610d6a611b7b565b8103610d8957604051630b8ed88360e41b815260040160405180910390fd5b5050600180546001600160a01b0319163317905550506000805460ff60901b1916600160901b1790555050565b60008054600160801b900460ff166002811115610dd557610dd561461a565b14610df35760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610e0857610e086148fc565b906000526020600020906005020190506000610e2384611b9d565b90506001600160401b037f000000000000000000000000000000000000000000000000000000000000000081169082161015610e725760405163f2440b5360e01b815260040160405180910390fd5b60008481526006602052604090205460ff1615610ea25760405163f1a9458160e01b815260040160405180910390fd5b6000848152600560205260409020805480158015610ebf57508515155b15610f21578354600160201b90046001600160a01b031660008115610ee45781610ef3565b60018601546001600160a01b03165b9050610eff818761263f565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b03166060830152610fa5576001600160801b036040820152600181526000869003610fa5578195505b600086826020015163ffffffff16610fbd9190614928565b90506000838211610fce5781610fd0565b835b602084015190915063ffffffff165b818110156110d6576000868281548110610ffb57610ffb6148fc565b6000918252602080832090910154808352600690915260409091205490915060ff1661103a57604051634d03b32360e11b815260040160405180910390fd5b60006002828154811061104f5761104f6148fc565b600091825260209091206005909102018054909150600160201b90046001600160a01b03161580156110955750600481015460408701516001600160801b039182169116115b156110c15760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b505080806110ce90614940565b915050610fdf565b5063ffffffff818116602085810191825260008c815260079091526040908190208651815493519288015164ffffffffff1990941690151564ffffffff00191617610100929094169182029390931774ffffffffffffffffffffffffffffffff00000000001916650100000000006001600160801b03909316929092029190911782556060850151600190920180546001600160a01b0319166001600160a01b039093169290921790915584900361125657606083015160008a8152600660205260409020805460ff19166001179055891580156111bd5750600054600160901b900460ff165b15611203576001546001600160a01b03166111d8818a61263f565b88546001600160a01b03909116600160201b02640100000000600160c01b0319909116178855611254565b6112306001600160a01b0382161561121b578161122a565b60018901546001600160a01b03165b8961263f565b8754640100000000600160c01b031916600160201b6001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156112825761128261461a565b146112a05760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166112eb57604051634d03b32360e11b815260040160405180910390fd5b60006001600160a01b0316600260008154811061130a5761130a6148fc565b6000918252602090912060059091020154600160201b90046001600160a01b03161461133757600161133a565b60025b600080546001600160401b034216600160401b026fffffffffffffffff000000000000000019821681178355929350839260ff60801b191670ffffffffffffffffff00000000000000001990911617600160801b8360028111156113a0576113a061461a565b0217905560028111156113b5576113b561461a565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b600560205281600052604060002081815481106113fd57600080fd5b90600052602060002001600091509150505481565b600061141e6000612681565b905090565b6114308383836001611724565b505050565b6000818152600760209081526040808320600590925282208054825461146690610100900463ffffffff1682614959565b95945050505050565b606061141e605460206126a4565b6114856117b2565b60006002600d5460ff1660028111156114a0576114a061461a565b036114c457506001600160a01b0381166000908152600b602052604090205461151a565b6001600d5460ff1660028111156114dd576114dd61461a565b0361150157506001600160a01b03811660009081526003602052604090205461151a565b6040516301e28f7d60e21b815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff166115de576001600160a01b038281166000818152600c602052604090819020805460ff1916600117905551637eee288d60e01b81526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b1580156115c257600080fd5b505af11580156115d6573d6000803e3d6000fd5b505050505050565b806000036115ff576040516317bfe5f760e01b815260040160405180910390fd5b6001600160a01b038281166000818152600b602090815260408083208390556003909152808220919091555163f3fef3a360e01b81526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b15801561168c57600080fd5b505af11580156116a0573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146116f1576040519150601f19603f3d011682016040523d82523d6000602084013e6116f6565b606091505b5050905080611430576040516383e6cc6b60e01b815260040160405180910390fd5b600061141e60346126e6565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806117835750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6117a0576040516369c3779f60e11b815260040160405180910390fd5b6117ac84848484612706565b50505050565b6002600d5460ff1660028111156117cb576117cb61461a565b14806117ed57506001600d5460ff1660028111156117eb576117eb61461a565b145b156117f457565b6000600d5460ff16600281111561180d5761180d61461a565b1461182b576040516301e28f7d60e21b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611889573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118ad9190614970565b156118cb5760405163379a7ed960e01b815260040160405180910390fd5b600054600160401b90046001600160401b03166001600160401b031660000361190757604051636082930560e11b815260040160405180910390fd5b604051630314d2b360e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa15801561196e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119929190614970565b9050806119b257604051634851bd9b60e01b815260040160405180910390fd5b6040516317cf21a960e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b158015611a1357600080fd5b505af1925050508015611a24575060015b506040516324b5ce0b60e11b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa158015611a8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ab09190614970565b90508015611aca57600d805460ff19166001179055611ad8565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f91611b0f9160ff90911690614651565b60405180910390a15050565b6114308383836000611724565b326001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611b71576040516369c3779f60e11b815260040160405180910390fd5b611b79612f77565b565b600061141e60546126e6565b600061141e611b7b565b600061141e60146126e6565b600080600054600160801b900460ff166002811115611bbe57611bbe61461a565b14611bdc5760405163067fe19560e41b815260040160405180910390fd5b600060028381548110611bf157611bf16148fc565b600091825260208220600590910201805490925063ffffffff90811614611c5757815460028054909163ffffffff16908110611c2f57611c2f6148fc565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b6004820154600090611c8090600160801b90046001600160401b03165b6001600160401b031690565b611c93906001600160401b031642614959565b611ca9611c74846001600160801b031660401c90565b6001600160401b0316611cbc9190614928565b90506001600160401b037f0000000000000000000000000000000000000000000000000000000000000000166001600160401b0316816001600160401b031611611d065780611466565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080611d45836001600160801b031661338d565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115611d8b576040516356f57b2b60e01b815260040160405180910390fd5b642e90edd00062061a806311e1a3006000611da683836149a3565b9050670de0b6b3a76400006000611ddd827f00000000000000000000000000000000000000000000000000000000000000006149b7565b90506000611dfb611df6670de0b6b3a7640000866149b7565b6133f9565b90506000611e09848461360f565b90506000611e17838361365e565b90506000611e248261368c565b90506000611e4382611e3e670de0b6b3a76400008f6149b7565b613809565b90506000611e518b8361365e565b9050611e5d818d6149b7565b9f9e505050505050505050505050505050565b60028181548110611e8057600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff84169550600160201b9093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff166002811115611efe57611efe61461a565b03611f1f57506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480611f9a5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b611fb7576040516369c3779f60e11b815260040160405180910390fd5b6115d686868686868661383a565b60008054600160801b900460ff166002811115611fe457611fe461461a565b146120025760405163067fe19560e41b815260040160405180910390fd5b60008060008061201186613bcb565b9350935093509350600061202785858585613e3a565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612089573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120ad91906149d6565b905060018903612157576001600160a01b0381166352f0f3ad8a846120d3610c4b611718565b6040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af115801561212d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061215191906149f3565b50611256565b60028903612176576001600160a01b0381166352f0f3ad8a84896120d3565b60038903612195576001600160a01b0381166352f0f3ad8a84876120d3565b600489036122a25760006121d26001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000613ed9565b6009546121df9190614928565b6121ea906001614928565b90506121f4611b7b565b811061220757612202611b7b565b612209565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b6001600160e01b03191681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015612277573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061229b91906149f3565b5050611256565b60058903612315576040516352f0f3ad60e01b8152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a40161210e565b604051600162ec819b60e01b0319815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006000606061235e611b91565b915061236861146f565b9050909192565b600081831161237e5781612380565b825b90505b92915050565b600081600001518260200151836040015184606001516040516020016123c8949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b6040805180820190915260008082526020820152815160000361241b57604051635ab458fb60e01b815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b6060600080600061244985613f06565b9194509250905060018160018111156124645761246461461a565b14612482576040516325ce355f60e11b815260040160405180910390fd5b845161248e8385614928565b146124ac57604051630b8aa6f760e31b815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816124c35790505093506000835b86518110156125b1576000806125366040518060400160405280858c6000015161251a9190614959565b8152602001858c6020015161252f9190614928565b9052613f06565b5091509150604051806040016040528083836125529190614928565b8152602001848b602001516125679190614928565b81525088858151811061257c5761257c6148fc565b6020908102919091010152612592600185614928565b935061259e8183614928565b6125a89084614928565b925050506124f0565b50845250919392505050565b606060008060006125cd85613f06565b9194509250905060008160018111156125e8576125e861461a565b14612606576040516307fe6cb960e21b815260040160405180910390fd5b6126108284614928565b85511461263057604051630b8aa6f760e31b815260040160405180910390fd5b611466856020015184846141fc565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190612678908490614928565b90915550505050565b6000806126963660011981013560f01c900390565b929092013560601c92915050565b606060006126ba3660011981013560f01c900390565b905060405191508282528284820160208401378260208301016000815260208101604052505092915050565b6000806126fb3660011981013560f01c900390565b929092013592915050565b60008054600160801b900460ff1660028111156127255761272561461a565b146127435760405163067fe19560e41b815260040160405180910390fd5b600060028481548110612758576127586148fc565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b03600160201b90910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c0820152915085146128025760405163180a019960e11b815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b9050600061282f826001600160801b031661338d565b60ff16905086158061286a57506128677f00000000000000000000000000000000000000000000000000000000000000006002614928565b81145b8015612874575084155b15612892576040516329098def60e21b815260040160405180910390fd5b600054600160901b900460ff1680156128a9575086155b156128c75760405163075173a960e11b815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115612908576040516356f57b2b60e01b815260040160405180910390fd5b6129337f00000000000000000000000000000000000000000000000000000000000000006001614928565b81036129455761294586888588614290565b3461294f83611d30565b1461296d57604051638620aa1960e01b815260040160405180910390fd5b600061297888611b9d565b90506001600160401b037f00000000000000000000000000000000000000000000000000000000000000008116908216036129c657604051630ce0744560e21b815260040160405180910390fd5b60006129f360017f0000000000000000000000000000000000000000000000000000000000000000614959565b8303612b16577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a7b91906149d6565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ab8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612adc91906149f3565b612b0f907f00000000000000000000000000000000000000000000000000000000000000006001600160401b0316614a0c565b9050612ba7565b612b4160017f0000000000000000000000000000000000000000000000000000000000000000614959565b8303612b7b57612b0f7f00000000000000000000000000000000000000000000000000000000000000006001600160401b03166002614a37565b507f00000000000000000000000000000000000000000000000000000000000000006001600160401b03165b612bda817f00000000000000000000000000000000000000000000000000000000000000006001600160401b0316614a66565b6001600160401b0316612bf3836001600160401b031690565b6001600160401b03161115612c3857612c35817f00000000000000000000000000000000000000000000000000000000000000006001600160401b0316614a66565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff1615612c94576040516380497e3b60e01b815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c81526020019081526020016000206001600280549050612e8b9190614959565b81546001810183556000928352602080842090910191909155338252600b9052604081208054349290612ebf908490614928565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015612f2157600080fd5b505af1158015612f35573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b600054600160881b900460ff1615612fa15760405162dc149f60e41b815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015613001573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130259190614a8e565b90925090508161304857604051633535e1d960e11b815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a1461307b57639824bdab6000526004601cfd5b80613084611b7b565b116130b657613091611b91565b60405163f40239db60e01b81526004016130ad91815260200190565b60405180910390fd5b6040805160e08101825263ffffffff81526000602082015260029181016130db611412565b6001600160a01b03168152602001346001600160801b03168152602001613100611b91565b815260016020820152604001426001600160801b0390811690915282546001808201855560009485526020808620855160059094020180549186015163ffffffff9094166001600160c01b031990921691909117600160201b6001600160a01b0394851602178155604085015191810180546001600160a01b031916929093169190911790915560608301516002820180546fffffffffffffffffffffffffffffffff19169184169190911790556080830151600382015560a083015160c090930151928216600160801b9390921692909202176004909101558054600160881b60ff60881b199091161781553490600b906131fa611412565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008282546132299190614928565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561328b57600080fd5b505af115801561329f573d6000803e3d6000fd5b50506000805467ffffffffffffffff1916426001600160401b0316179055505060408051630f27ce5f60e21b815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa15801561334d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133719190614ab2565b600a805460ff191663ffffffff92909216929092141790555050565b7e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b6001600160401b03831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6001600160801b03811160071b81811c6001600160401b031060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b176000821361344e57631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261364c57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b60008160001904831182021561367c5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b600068023f2fa8f6da5b9d281982136136a457919050565b680755bf798b4a1bf1e582126136c25763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000612380670de0b6b3a764000083613821866133f9565b61382b9190614ad8565b6138359190614b5d565b61368c565b60008054600160801b900460ff1660028111156138595761385961461a565b146138775760405163067fe19560e41b815260040160405180910390fd5b60006002878154811061388c5761388c6148fc565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506138e27f00000000000000000000000000000000000000000000000000000000000000006001614928565b6138f4826001600160801b031661338d565b60ff161461391557604051630bea7bb360e31b815260040160405180910390fd5b60008089156139f1576139687f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000614959565b6001901b61397e846001600160801b0316614385565b6001600160801b03166139919190614b8b565b156139c5576139bc6139ad60016001600160801b038716614b9f565b865463ffffffff1660006143a3565b600301546139e7565b7f00000000000000000000000000000000000000000000000000000000000000005b9150849050613a12565b60038501549150613a0f6139ad6001600160801b0386166001614bbf565b90505b600882901b60088a8a604051613a299291906148ec565b6040518091039020901b14613a515760405163696550ff60e01b815260040160405180910390fd5b6000613a5c8c61446c565b90506000613a6b836003015490565b6040516370a6769960e11b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced3290613abf908f908f908f908f908a90600401614c0a565b6020604051808303816000875af1158015613ade573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b0291906149f3565b600485015491149150600090600290613b23906001600160801b031661338d565b613b35896001600160801b031661338d565b613b3f9190614c44565b613b499190614c67565b60ff161590508115158103613b715760405163fb4e40dd60e01b815260040160405180910390fd5b8754600160201b90046001600160a01b031615613ba157604051639071e6af60e01b815260040160405180910390fd5b50508554640100000000600160c01b03191633600160201b02179095555050505050505050505050565b6000806000806000859050600060028281548110613beb57613beb6148fc565b6000918252602090912060059091020160048101549091507f000000000000000000000000000000000000000000000000000000000000000090613c37906001600160801b031661338d565b60ff1611613c58576040516359a5ae1160e11b815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090613c95906001600160801b031661338d565b60ff169250821115613d0a57825463ffffffff16613cd47f00000000000000000000000000000000000000000000000000000000000000006001614928565b8303613cde578391505b60028181548110613cf157613cf16148fc565b9060005260206000209060050201935080945050613c5c565b600481810154908401546001600160801b0391821691166000816001600160801b0316613d4f613d43856001600160801b031660011c90565b6001600160801b031690565b6001600160801b03161490508015613de8576000613d75836001600160801b0316614385565b6001600160801b03161115613dc5576000613da5613d9d60016001600160801b038616614b9f565b8960016143a3565b6003810154600490910154909c506001600160801b03169a50613dcb9050565b6008549a505b600386015460048701549099506001600160801b03169750613e2c565b6000613e01613d9d6001600160801b0385166001614bbf565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b03841615613e955760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611466565b8282604051602001613eba9291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080613ee58461338d565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003613f3057604051635ab458fb60e01b815260040160405180910390fd5b6020840151805160001a607f8111613f555760006001600094509450945050506141f5565b60b78111613fed576000613f6a608083614959565b905080876000015111613f90576040516366c9448560e01b815260040160405180910390fd5b6001838101516001600160f81b0319169082148015613fbc5750600160ff1b6001600160f81b03198216105b15613fda5760405163babb01dd60e01b815260040160405180910390fd5b50600195509350600092506141f5915050565b60bf81116140cf57600061400260b783614959565b905080876000015111614028576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b03191660008190036140595760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c603781116140885760405163babb01dd60e01b815260040160405180910390fd5b6140928184614928565b8951116140b2576040516366c9448560e01b815260040160405180910390fd5b6140bd836001614928565b97509550600094506141f59350505050565b60f7811161411b5760006140e460c083614959565b90508087600001511161410a576040516366c9448560e01b815260040160405180910390fd5b6001955093508492506141f5915050565b600061412860f783614959565b90508087600001511161414e576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b031916600081900361417f5760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c603781116141ae5760405163babb01dd60e01b815260040160405180910390fd5b6141b88184614928565b8951116141d8576040516366c9448560e01b815260040160405180910390fd5b6141e3836001614928565b97509550600194506141f59350505050565b9193909250565b6060816001600160401b0381111561421657614216614863565b6040519080825280601f01601f191660200182016040528015614240576020820181803683370190505b50905081156142895760006142558486614928565b90506020820160005b8481101561427657828101518282015260200161425e565b84811115614285576000858301525b5050505b9392505050565b60006142a66001600160801b0384166001614bbf565b905060006142b6828660016143a3565b9050600086901a838061431857506142ef60027f0000000000000000000000000000000000000000000000000000000000000000614b8b565b6004830154600290614309906001600160801b031661338d565b6143139190614c67565b60ff16145b156143575760ff811660011480614332575060ff81166002145b6143525760405163f40239db60e01b8152600481018890526024016130ad565b61437c565b60ff81161561437c5760405163f40239db60e01b8152600481018890526024016130ad565b50505050505050565b6000806143918361338d565b600160ff919091161b90920392915050565b600080826143e3576143de6001600160801b0386167f000000000000000000000000000000000000000000000000000000000000000061449b565b6143f5565b6143f5856001600160801b031661450a565b90506002848154811061440a5761440a6148fc565b906000526020600020906005020191505b60048201546001600160801b0382811691161461446457815460028054909163ffffffff1690811061444f5761444f6148fc565b9060005260206000209060050201915061441b565b509392505050565b600080600080600061447d86613bcb565b935093509350935061449184848484613e3a565b9695505050505050565b6000816144b0846001600160801b031661338d565b60ff16116144c65763b34b5c226000526004601cfd5b6144cf8361450a565b9050816144e4826001600160801b031661338d565b60ff1611612383576123806144fa836001614928565b6001600160801b0383169061452e565b6000811960018301168161451d8261338d565b60ff169390931c8015179392505050565b60008061453a8461338d565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261456857600080fd5b5081356001600160401b0381111561457f57600080fd5b60208301915083602082850101111561459757600080fd5b9250929050565b600080600083850360a08112156145b457600080fd5b60808112156145c257600080fd5b5083925060808401356001600160401b038111156145df57600080fd5b6145eb86828701614556565b9497909650939450505050565b6000806040838503121561460b57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061464e57634e487b7160e01b600052602160045260246000fd5b50565b6020810161465e83614630565b91905290565b6001600160a01b038116811461464e57600080fd5b60006020828403121561468b57600080fd5b813561428981614664565b6000806000606084860312156146ab57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b818110156146e8576020818501810151868301820152016146cc565b818111156146fa576000602083870101525b50601f01601f19169290920160200192915050565b60208152600061238060208301846146c2565b60006020828403121561473457600080fd5b5035919050565b801515811461464e57600080fd5b6000806000806080858703121561475f57600080fd5b843593506020850135925060408501359150606085013561477f8161473b565b939692955090935050565b60006020828403121561479c57600080fd5b81356001600160801b038116811461428957600080fd5b600080600080600080608087890312156147cc57600080fd5b8635955060208701356147de8161473b565b945060408701356001600160401b03808211156147fa57600080fd5b6148068a838b01614556565b9096509450606089013591508082111561481f57600080fd5b5061482c89828a01614556565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061146660608301846146c2565b634e487b7160e01b600052604160045260246000fd5b60006080828403121561488b57600080fd5b604051608081018181106001600160401b03821117156148bb57634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561493b5761493b614912565b500190565b60006001820161495257614952614912565b5060010190565b60008282101561496b5761496b614912565b500390565b60006020828403121561498257600080fd5b81516142898161473b565b634e487b7160e01b600052601260045260246000fd5b6000826149b2576149b261498d565b500490565b60008160001904831182151516156149d1576149d1614912565b500290565b6000602082840312156149e857600080fd5b815161428981614664565b600060208284031215614a0557600080fd5b5051919050565b60006001600160401b03808316818516808303821115614a2e57614a2e614912565b01949350505050565b60006001600160401b0380831681851681830481118215151615614a5d57614a5d614912565b02949350505050565b60006001600160401b0383811690831681811015614a8657614a86614912565b039392505050565b60008060408385031215614aa157600080fd5b505080516020909101519092909150565b600060208284031215614ac457600080fd5b815163ffffffff8116811461428957600080fd5b60006001600160ff1b0381841382841380821686840486111615614afe57614afe614912565b600160ff1b6000871282811687830589121615614b1d57614b1d614912565b60008712925087820587128484161615614b3957614b39614912565b87850587128184161615614b4f57614b4f614912565b505050929093029392505050565b600082614b6c57614b6c61498d565b600160ff1b821460001984141615614b8657614b86614912565b500590565b600082614b9a57614b9a61498d565b500690565b60006001600160801b0383811690831681811015614a8657614a86614912565b60006001600160801b03808316818516808303821115614a2e57614a2e614912565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b606081526000614c1e606083018789614be1565b8281036020840152614c31818688614be1565b9150508260408301529695505050505050565b600060ff821660ff841680821015614c5e57614c5e614912565b90039392505050565b600060ff831680614c7a57614c7a61498d565b8060ff8416069150509291505056fea2646970667358221220aa8314d509b8cacb517035d54e7d78a21e52e14ef16e338f8f65f356641274fc64736f6c634300080f003300000000000000000000000000000000000000000000000000000000000000010339db503776757491b9f3038bf6f1d37b7988a2f75e823fe2656c1352ef2f910000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d4000000000000000000000000007babe08ee4d07dba236530183b24055535a701100000000000000000000000032ce910d9c6c8f78dc6779c1499ab05f281a054e0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153550000000000000000000000000000000000000000000000000000000000014a34000000000000000000000000037637067c1dbe6d2430616d8f54cb774daa59990000000000000000000000008b8c52b04a38f10515c52670fcb23f3c4c44474f\",\n        \"nonce\": \"0x49\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x12a0203\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xa535191db0a343c3de5d51377bb1c4d4e76550da5d29d80f81eaf9a52438a664\",\n      \"transactionIndex\": \"0x18f\",\n      \"blockHash\": \"0x20215a8f9bca335399bbe1932dcdc4df47f35e31ccb0186cfc01ea39048debc4\",\n      \"blockNumber\": \"0x8f1213\",\n      \"gasUsed\": \"0x403b2c\",\n      \"effectiveGasPrice\": \"0x174748\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0xf83157709129bd03fb02e96950be288e8c2c1c67\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x16bf5b6\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xdd0d7a41d07276cd7e7939696d15b69bb958e264cae9e659e5572c06e5672332\",\n      \"transactionIndex\": \"0x190\",\n      \"blockHash\": \"0x20215a8f9bca335399bbe1932dcdc4df47f35e31ccb0186cfc01ea39048debc4\",\n      \"blockNumber\": \"0x8f1213\",\n      \"gasUsed\": \"0x41f3b3\",\n      \"effectiveGasPrice\": \"0x174748\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0x5920bd6ab4c1b96bfd4efc56eb6cf9b018e3bf4c\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1760020249278,\n  \"chain\": 11155111,\n  \"commit\": \"ac66a18\"\n}"
  },
  {
    "path": "sepolia/2025-10-09-fusaka-defense/records/UpgradeDGF.s.sol/11155111/approve-latest.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x72f9ccf1d88ab10c29032a63759f784d40df2f0b398a27ec13d5d65813d6453c\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd4fc8422f969946b78f92dd386faaf5e5710bd810922d125c95ea308f152075d800000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n        \"gas\": \"0x21d2d\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd4fc8422f969946b78f92dd386faaf5e5710bd810922d125c95ea308f152075d8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x3d\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xac92fe\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x4fc8422f969946b78f92dd386faaf5e5710bd810922d125c95ea308f152075d8\",\n            \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xcb638ec68f87a923fdf26f5008ab378a9e770960d8b9c6d3e5708264dfa0b188\",\n          \"blockNumber\": \"0x8f30fc\",\n          \"blockTimestamp\": \"0x68e956cc\",\n          \"transactionHash\": \"0x72f9ccf1d88ab10c29032a63759f784d40df2f0b398a27ec13d5d65813d6453c\",\n          \"transactionIndex\": \"0x5b\",\n          \"logIndex\": \"0x7a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x67570f60417b81fbe38150dc02c3c92ea6c8f88175c77690c2d31394305b0f9d0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xcb638ec68f87a923fdf26f5008ab378a9e770960d8b9c6d3e5708264dfa0b188\",\n          \"blockNumber\": \"0x8f30fc\",\n          \"blockTimestamp\": \"0x68e956cc\",\n          \"transactionHash\": \"0x72f9ccf1d88ab10c29032a63759f784d40df2f0b398a27ec13d5d65813d6453c\",\n          \"transactionIndex\": \"0x5b\",\n          \"logIndex\": \"0x7b\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000040100000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000010000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000001004000020000000000000000000000000000040000000000200000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x72f9ccf1d88ab10c29032a63759f784d40df2f0b398a27ec13d5d65813d6453c\",\n      \"transactionIndex\": \"0x5b\",\n      \"blockHash\": \"0xcb638ec68f87a923fdf26f5008ab378a9e770960d8b9c6d3e5708264dfa0b188\",\n      \"blockNumber\": \"0x8f30fc\",\n      \"gasUsed\": \"0x17209\",\n      \"effectiveGasPrice\": \"0xf4257\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1760122572937,\n  \"chain\": 11155111,\n  \"commit\": \"44d9390\"\n}"
  },
  {
    "path": "sepolia/2025-10-09-fusaka-defense/records/UpgradeDGF.s.sol/11155111/run-1760121901524.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x2a7fc8ac2b918415980f60f4b655224f21fb79f5dec122c1d667d7349775e522\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd67570f60417b81fbe38150dc02c3c92ea6c8f88175c77690c2d31394305b0f9d00000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xfe7826142f341fb56484486f2724c6bf16aed3d851d371ce1e9efbbfe2760aa702b64e0c32c78576abc069a844b49fc764b3c203c80d1aa4348d4a72e7c36fc71b4ddb3d9b148954e161bdd5e2bae9a2962c72381818a6b8d85f68d6cf5664ec622bcbdb4ce30bb622e242719a1516660e7bf4353af6a63cf684e5467b37f52aaa1c1044974e227b80c435ea410beb0af132f0fc7f778faa7d8fb5b59521eda996266d8a9324aa3b081f270e79e064136a197b46361836ba290b16abad5a443032b71b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n        \"gas\": \"0x2323d\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd67570f60417b81fbe38150dc02c3c92ea6c8f88175c77690c2d31394305b0f9d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3fe7826142f341fb56484486f2724c6bf16aed3d851d371ce1e9efbbfe2760aa702b64e0c32c78576abc069a844b49fc764b3c203c80d1aa4348d4a72e7c36fc71b4ddb3d9b148954e161bdd5e2bae9a2962c72381818a6b8d85f68d6cf5664ec622bcbdb4ce30bb622e242719a1516660e7bf4353af6a63cf684e5467b37f52aaa1c1044974e227b80c435ea410beb0af132f0fc7f778faa7d8fb5b59521eda996266d8a9324aa3b081f270e79e064136a197b46361836ba290b16abad5a443032b71b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x3a\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xa6642a\",\n      \"logs\": [\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x67570f60417b81fbe38150dc02c3c92ea6c8f88175c77690c2d31394305b0f9d\",\n            \"0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x82f791a4fbef657f49006463300dce366c8ad0637b456a7d292375f35e526207\",\n          \"blockNumber\": \"0x8f30cb\",\n          \"blockTimestamp\": \"0x68e9542c\",\n          \"transactionHash\": \"0x2a7fc8ac2b918415980f60f4b655224f21fb79f5dec122c1d667d7349775e522\",\n          \"transactionIndex\": \"0x55\",\n          \"logIndex\": \"0x72\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0x6ea140c36ecd4026c7f9a234a61d37b768b4d95efe70af68bebbc2ce2037687b\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x82f791a4fbef657f49006463300dce366c8ad0637b456a7d292375f35e526207\",\n          \"blockNumber\": \"0x8f30cb\",\n          \"blockTimestamp\": \"0x68e9542c\",\n          \"transactionHash\": \"0x2a7fc8ac2b918415980f60f4b655224f21fb79f5dec122c1d667d7349775e522\",\n          \"transactionIndex\": \"0x55\",\n          \"logIndex\": \"0x73\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000200000000040000000000010000000000000000000000000000010000000000100000400000000000000000010000000000000000000000002000000000000000000800000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000040000000000000000000000000000000000000000000000020000404000000000000010000000000000000000000000000000000000000000000000000000000000000000004000020000000000000000000000000000040000000000000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x2a7fc8ac2b918415980f60f4b655224f21fb79f5dec122c1d667d7349775e522\",\n      \"transactionIndex\": \"0x55\",\n      \"blockHash\": \"0x82f791a4fbef657f49006463300dce366c8ad0637b456a7d292375f35e526207\",\n      \"blockNumber\": \"0x8f30cb\",\n      \"gasUsed\": \"0x1970e\",\n      \"effectiveGasPrice\": \"0xf4253\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1760121901524,\n  \"chain\": 11155111,\n  \"commit\": \"44d9390\"\n}"
  },
  {
    "path": "sepolia/2025-10-09-fusaka-defense/records/UpgradeDGF.s.sol/11155111/run-1760122214430.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xd2a7b9c9138374f26a7bf6b51c26605772fab3e0b7c57ef05c6ff934a18a9b46\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd67570f60417b81fbe38150dc02c3c92ea6c8f88175c77690c2d31394305b0f9d00000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xfc820978b1e70cfc54e72f7f48909c350cc750fb79f3ccf82623aa31ab828d8604eb6b347153839fc43ce49835da78ba4b919dab692f1dda6447597f585f53671b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n        \"gas\": \"0x1f7d8\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd67570f60417b81fbe38150dc02c3c92ea6c8f88175c77690c2d31394305b0f9d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041fc820978b1e70cfc54e72f7f48909c350cc750fb79f3ccf82623aa31ab828d8604eb6b347153839fc43ce49835da78ba4b919dab692f1dda6447597f585f53671b00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x3b\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x38ff410\",\n      \"logs\": [\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x67570f60417b81fbe38150dc02c3c92ea6c8f88175c77690c2d31394305b0f9d\",\n            \"0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x630e12dff4891d6a99f98b6db9b0d910bb174c8aec95941604c9bbed5c336941\",\n          \"blockNumber\": \"0x8f30e3\",\n          \"blockTimestamp\": \"0x68e95564\",\n          \"transactionHash\": \"0xd2a7b9c9138374f26a7bf6b51c26605772fab3e0b7c57ef05c6ff934a18a9b46\",\n          \"transactionIndex\": \"0x11b\",\n          \"logIndex\": \"0x178\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xadb326b6c4e2f316a5598d5fa712d4071f872a56578625269ac9b3b462c174040000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x630e12dff4891d6a99f98b6db9b0d910bb174c8aec95941604c9bbed5c336941\",\n          \"blockNumber\": \"0x8f30e3\",\n          \"blockTimestamp\": \"0x68e95564\",\n          \"transactionHash\": \"0xd2a7b9c9138374f26a7bf6b51c26605772fab3e0b7c57ef05c6ff934a18a9b46\",\n          \"transactionIndex\": \"0x11b\",\n          \"logIndex\": \"0x179\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000400000000000000000000000000000000000000000002000000000000000000400000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000000004000020000000000000000000000000000014020000000000000000000000100000000008000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xd2a7b9c9138374f26a7bf6b51c26605772fab3e0b7c57ef05c6ff934a18a9b46\",\n      \"transactionIndex\": \"0x11b\",\n      \"blockHash\": \"0x630e12dff4891d6a99f98b6db9b0d910bb174c8aec95941604c9bbed5c336941\",\n      \"blockNumber\": \"0x8f30e3\",\n      \"gasUsed\": \"0x15883\",\n      \"effectiveGasPrice\": \"0xf4252\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1760122214430,\n  \"chain\": 11155111,\n  \"commit\": \"44d9390\"\n}"
  },
  {
    "path": "sepolia/2025-10-09-fusaka-defense/records/UpgradeDGF.s.sol/11155111/run-1760122500830.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x0d92bdec764d4582be5b0d35f57d4712cdec19627f28004b859f835e7bd5d22d\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd4fc8422f969946b78f92dd386faaf5e5710bd810922d125c95ea308f152075d800000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x488699d08e432737ad002fe14ed8ce4ef6937b400d19254d309072b8b8a476db141419f11f27294c8fda3e73941461f2c384cb492084a5716d00ab196d9d38ec1c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n        \"gas\": \"0x1e9ff\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd4fc8422f969946b78f92dd386faaf5e5710bd810922d125c95ea308f152075d800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041488699d08e432737ad002fe14ed8ce4ef6937b400d19254d309072b8b8a476db141419f11f27294c8fda3e73941461f2c384cb492084a5716d00ab196d9d38ec1c00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x3c\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xc95d1e\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x4fc8422f969946b78f92dd386faaf5e5710bd810922d125c95ea308f152075d8\",\n            \"0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x1cb4d0e4362a1fdcd709cba9d89c330d329d0d1ba6c8d796c7d2b45adfbc0287\",\n          \"blockNumber\": \"0x8f30f7\",\n          \"blockTimestamp\": \"0x68e95684\",\n          \"transactionHash\": \"0x0d92bdec764d4582be5b0d35f57d4712cdec19627f28004b859f835e7bd5d22d\",\n          \"transactionIndex\": \"0x81\",\n          \"logIndex\": \"0x92\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xb11365b5e790207354a0eb7ba99e2dc5c44f2badc5dc149a1054b0451489baf90000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x1cb4d0e4362a1fdcd709cba9d89c330d329d0d1ba6c8d796c7d2b45adfbc0287\",\n          \"blockNumber\": \"0x8f30f7\",\n          \"blockTimestamp\": \"0x68e95684\",\n          \"transactionHash\": \"0x0d92bdec764d4582be5b0d35f57d4712cdec19627f28004b859f835e7bd5d22d\",\n          \"transactionIndex\": \"0x81\",\n          \"logIndex\": \"0x93\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000040000000000000000000000000000000000000000040000040100000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000000000000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054020000000000000000000000100000000008000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x0d92bdec764d4582be5b0d35f57d4712cdec19627f28004b859f835e7bd5d22d\",\n      \"transactionIndex\": \"0x81\",\n      \"blockHash\": \"0x1cb4d0e4362a1fdcd709cba9d89c330d329d0d1ba6c8d796c7d2b45adfbc0287\",\n      \"blockNumber\": \"0x8f30f7\",\n      \"gasUsed\": \"0x162c0\",\n      \"effectiveGasPrice\": \"0xf4259\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1760122500830,\n  \"chain\": 11155111,\n  \"commit\": \"44d9390\"\n}"
  },
  {
    "path": "sepolia/2025-10-09-fusaka-defense/records/UpgradeDGF.s.sol/11155111/run-1760122572937.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x72f9ccf1d88ab10c29032a63759f784d40df2f0b398a27ec13d5d65813d6453c\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd4fc8422f969946b78f92dd386faaf5e5710bd810922d125c95ea308f152075d800000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n        \"gas\": \"0x21d2d\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd4fc8422f969946b78f92dd386faaf5e5710bd810922d125c95ea308f152075d8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x3d\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xac92fe\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x4fc8422f969946b78f92dd386faaf5e5710bd810922d125c95ea308f152075d8\",\n            \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xcb638ec68f87a923fdf26f5008ab378a9e770960d8b9c6d3e5708264dfa0b188\",\n          \"blockNumber\": \"0x8f30fc\",\n          \"blockTimestamp\": \"0x68e956cc\",\n          \"transactionHash\": \"0x72f9ccf1d88ab10c29032a63759f784d40df2f0b398a27ec13d5d65813d6453c\",\n          \"transactionIndex\": \"0x5b\",\n          \"logIndex\": \"0x7a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x67570f60417b81fbe38150dc02c3c92ea6c8f88175c77690c2d31394305b0f9d0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xcb638ec68f87a923fdf26f5008ab378a9e770960d8b9c6d3e5708264dfa0b188\",\n          \"blockNumber\": \"0x8f30fc\",\n          \"blockTimestamp\": \"0x68e956cc\",\n          \"transactionHash\": \"0x72f9ccf1d88ab10c29032a63759f784d40df2f0b398a27ec13d5d65813d6453c\",\n          \"transactionIndex\": \"0x5b\",\n          \"logIndex\": \"0x7b\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000040100000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000010000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000001004000020000000000000000000000000000040000000000200000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x72f9ccf1d88ab10c29032a63759f784d40df2f0b398a27ec13d5d65813d6453c\",\n      \"transactionIndex\": \"0x5b\",\n      \"blockHash\": \"0xcb638ec68f87a923fdf26f5008ab378a9e770960d8b9c6d3e5708264dfa0b188\",\n      \"blockNumber\": \"0x8f30fc\",\n      \"gasUsed\": \"0x17209\",\n      \"effectiveGasPrice\": \"0xf4257\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1760122572937,\n  \"chain\": 11155111,\n  \"commit\": \"44d9390\"\n}"
  },
  {
    "path": "sepolia/2025-10-09-fusaka-defense/records/UpgradeDGF.s.sol/11155111/run-1760122597545.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x7881a472e6153e5c3757254dcf1e924d036bf46af008df496b9ef66ceb6c9535\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000140000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f83157709129bd03fb02e96950be288e8c2c1c6700000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004414f6b1a300000000000000000000000000000000000000000000000000000000000000010000000000000000000000005920bd6ab4c1b96bfd4efc56eb6cf9b018e3bf4c00000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n        \"gas\": \"0x2460b\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000284174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000140000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f83157709129bd03fb02e96950be288e8c2c1c6700000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004414f6b1a300000000000000000000000000000000000000000000000000000000000000010000000000000000000000005920bd6ab4c1b96bfd4efc56eb6cf9b018e3bf4c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x3e\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xe22f11\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000042000000000000000000000000000000000000000000000000000000000000004e00000000000000000000000000000000000000000000000000000000000000284174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000140000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f83157709129bd03fb02e96950be288e8c2c1c6700000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004414f6b1a300000000000000000000000000000000000000000000000000000000000000010000000000000000000000005920bd6ab4c1b96bfd4efc56eb6cf9b018e3bf4c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000190000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe072520000000000000000000000000000000000000000000000000000000000000002\",\n          \"blockHash\": \"0xac096cb95701f1147bdd8fa438affdeef5ca8f6cd83e4f7f89bb9d3ae2a23ada\",\n          \"blockNumber\": \"0x8f30fe\",\n          \"blockTimestamp\": \"0x68e956e4\",\n          \"transactionHash\": \"0x7881a472e6153e5c3757254dcf1e924d036bf46af008df496b9ef66ceb6c9535\",\n          \"transactionIndex\": \"0x83\",\n          \"logIndex\": \"0xda\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n          \"topics\": [\n            \"0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de\",\n            \"0x000000000000000000000000f83157709129bd03fb02e96950be288e8c2c1c67\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xac096cb95701f1147bdd8fa438affdeef5ca8f6cd83e4f7f89bb9d3ae2a23ada\",\n          \"blockNumber\": \"0x8f30fe\",\n          \"blockTimestamp\": \"0x68e956e4\",\n          \"transactionHash\": \"0x7881a472e6153e5c3757254dcf1e924d036bf46af008df496b9ef66ceb6c9535\",\n          \"transactionIndex\": \"0x83\",\n          \"logIndex\": \"0xdb\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n          \"topics\": [\n            \"0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de\",\n            \"0x0000000000000000000000005920bd6ab4c1b96bfd4efc56eb6cf9b018e3bf4c\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000001\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xac096cb95701f1147bdd8fa438affdeef5ca8f6cd83e4f7f89bb9d3ae2a23ada\",\n          \"blockNumber\": \"0x8f30fe\",\n          \"blockTimestamp\": \"0x68e956e4\",\n          \"transactionHash\": \"0x7881a472e6153e5c3757254dcf1e924d036bf46af008df496b9ef66ceb6c9535\",\n          \"transactionIndex\": \"0x83\",\n          \"logIndex\": \"0xdc\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x4fc8422f969946b78f92dd386faaf5e5710bd810922d125c95ea308f152075d80000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xac096cb95701f1147bdd8fa438affdeef5ca8f6cd83e4f7f89bb9d3ae2a23ada\",\n          \"blockNumber\": \"0x8f30fe\",\n          \"blockTimestamp\": \"0x68e956e4\",\n          \"transactionHash\": \"0x7881a472e6153e5c3757254dcf1e924d036bf46af008df496b9ef66ceb6c9535\",\n          \"transactionIndex\": \"0x83\",\n          \"logIndex\": \"0xdd\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000080044000000000000200000000000000000000000000000000100000000000000000048000000000000400000000000000400000000000040000040000000000000000000000400000020000000000400000000800000000000000000000400000000008000000200000000800000000000000000000000000000000000000000080000000000000000400000000000000000004000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x7881a472e6153e5c3757254dcf1e924d036bf46af008df496b9ef66ceb6c9535\",\n      \"transactionIndex\": \"0x83\",\n      \"blockHash\": \"0xac096cb95701f1147bdd8fa438affdeef5ca8f6cd83e4f7f89bb9d3ae2a23ada\",\n      \"blockNumber\": \"0x8f30fe\",\n      \"gasUsed\": \"0x18dfb\",\n      \"effectiveGasPrice\": \"0xf4258\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1760122597545,\n  \"chain\": 11155111,\n  \"commit\": \"44d9390\"\n}"
  },
  {
    "path": "sepolia/2025-10-09-fusaka-defense/script/DeployDisputeGames.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Script} from \"forge-std/Script.sol\";\n\nimport {IAnchorStateRegistry, IDelayedWETH, IBigStepper} from \"@eth-optimism-bedrock/src/dispute/FaultDisputeGame.sol\";\nimport {\n    PermissionedDisputeGame, FaultDisputeGame\n} from \"@eth-optimism-bedrock/src/dispute/PermissionedDisputeGame.sol\";\nimport {GameTypes, GameType, Duration, Claim} from \"@eth-optimism-bedrock/src/dispute/lib/Types.sol\";\nimport {LibGameType, LibDuration} from \"@eth-optimism-bedrock/src/dispute/lib/LibUDT.sol\";\nimport {DisputeGameFactory} from \"@eth-optimism-bedrock/src/dispute/DisputeGameFactory.sol\";\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport {Strings} from \"@openzeppelin/contracts/utils/Strings.sol\";\nimport {console} from \"forge-std/console.sol\";\n\n/// @notice This script deploys new versions of FaultDisputeGame and PermissionedDisputeGame with all the same\n///         parameters as the existing implementations excluding the absolute prestate.\ncontract DeployDisputeGames is Script {\n    using Strings for address;\n    using LibDuration for Duration;\n    using LibGameType for GameType;\n\n    string public constant EXPECTED_VERSION = \"1.7.0\";\n\n    SystemConfig public SYSTEM_CONFIG = SystemConfig(vm.envAddress(\"SYSTEM_CONFIG\"));\n    Claim public immutable ABSOLUTE_PRESTATE;\n\n    FaultDisputeGame.GameConstructorParams fdgParams;\n    FaultDisputeGame.GameConstructorParams pdgParams;\n    address proposer;\n    address challenger;\n\n    constructor() {\n        ABSOLUTE_PRESTATE = Claim.wrap(vm.envBytes32(\"ABSOLUTE_PRESTATE\"));\n    }\n\n    function setUp() public {\n        DisputeGameFactory dgfProxy = DisputeGameFactory(SYSTEM_CONFIG.disputeGameFactory());\n        FaultDisputeGame currentFdg = FaultDisputeGame(address(dgfProxy.gameImpls(GameTypes.CANNON)));\n        PermissionedDisputeGame currentPdg =\n            PermissionedDisputeGame(address(dgfProxy.gameImpls(GameTypes.PERMISSIONED_CANNON)));\n\n        uint256 maxGameDepth = currentFdg.maxGameDepth();\n        uint256 splitDepth = currentFdg.splitDepth();\n        Duration clockExtension = currentFdg.clockExtension();\n        Duration maxClockDuration = currentFdg.maxClockDuration();\n        IBigStepper bigStepper = currentFdg.vm();\n        IAnchorStateRegistry anchorStateRegistry = currentFdg.anchorStateRegistry();\n        uint256 l2ChainId = currentFdg.l2ChainId();\n\n        proposer = currentPdg.proposer();\n        challenger = currentPdg.challenger();\n\n        fdgParams = FaultDisputeGame.GameConstructorParams({\n            gameType: GameTypes.CANNON,\n            absolutePrestate: ABSOLUTE_PRESTATE,\n            maxGameDepth: maxGameDepth,\n            splitDepth: splitDepth,\n            clockExtension: clockExtension,\n            maxClockDuration: maxClockDuration,\n            vm: bigStepper,\n            weth: currentFdg.weth(),\n            anchorStateRegistry: anchorStateRegistry,\n            l2ChainId: l2ChainId\n        });\n        pdgParams = FaultDisputeGame.GameConstructorParams({\n            gameType: GameTypes.PERMISSIONED_CANNON,\n            absolutePrestate: ABSOLUTE_PRESTATE,\n            maxGameDepth: maxGameDepth,\n            splitDepth: splitDepth,\n            clockExtension: clockExtension,\n            maxClockDuration: maxClockDuration,\n            vm: bigStepper,\n            weth: currentPdg.weth(),\n            anchorStateRegistry: anchorStateRegistry,\n            l2ChainId: l2ChainId\n        });\n    }\n\n    function _postCheck(address fdgImpl, address pdgImpl) private view {\n        FaultDisputeGame fdg = FaultDisputeGame(fdgImpl);\n        PermissionedDisputeGame pdg = PermissionedDisputeGame(pdgImpl);\n\n        require(Strings.equal(fdg.version(), EXPECTED_VERSION), \"Postcheck version 1\");\n        require(Strings.equal(pdg.version(), EXPECTED_VERSION), \"Postcheck version 2\");\n\n        require(fdg.gameType().raw() == GameTypes.CANNON.raw(), \"Postcheck 1\");\n        require(fdg.absolutePrestate().raw() == ABSOLUTE_PRESTATE.raw(), \"Postcheck 2\");\n        require(fdg.maxGameDepth() == fdgParams.maxGameDepth, \"Postcheck 3\");\n        require(fdg.splitDepth() == fdgParams.splitDepth, \"Postcheck 4\");\n        require(fdg.clockExtension().raw() == fdgParams.clockExtension.raw(), \"Postcheck 5\");\n        require(fdg.maxClockDuration().raw() == fdgParams.maxClockDuration.raw(), \"Postcheck 6\");\n        require(fdg.vm() == fdgParams.vm, \"Postcheck 7\");\n        require(fdg.weth() == fdgParams.weth, \"Postcheck 8\");\n        require(fdg.anchorStateRegistry() == fdgParams.anchorStateRegistry, \"Postcheck 9\");\n        require(fdg.l2ChainId() == fdgParams.l2ChainId, \"Postcheck 10\");\n\n        require(pdg.gameType().raw() == GameTypes.PERMISSIONED_CANNON.raw(), \"Postcheck 11\");\n        require(pdg.absolutePrestate().raw() == ABSOLUTE_PRESTATE.raw(), \"Postcheck 12\");\n        require(pdg.maxGameDepth() == pdgParams.maxGameDepth, \"Postcheck 13\");\n        require(pdg.splitDepth() == pdgParams.splitDepth, \"Postcheck 14\");\n        require(pdg.clockExtension().raw() == pdgParams.clockExtension.raw(), \"Postcheck 15\");\n        require(pdg.maxClockDuration().raw() == pdgParams.maxClockDuration.raw(), \"Postcheck 16\");\n        require(pdg.vm() == pdgParams.vm, \"Postcheck 17\");\n        require(pdg.weth() == pdgParams.weth, \"Postcheck 18\");\n        require(pdg.anchorStateRegistry() == pdgParams.anchorStateRegistry, \"Postcheck 19\");\n        require(pdg.l2ChainId() == pdgParams.l2ChainId, \"Postcheck 20\");\n        require(pdg.proposer() == proposer, \"Postcheck 21\");\n        require(pdg.challenger() == challenger, \"Postcheck 22\");\n    }\n\n    function run() public {\n        (address fdg, address pdg) = _deployContracts();\n        _postCheck(fdg, pdg);\n\n        vm.writeFile(\n            \"addresses.json\",\n            string.concat(\n                \"{\",\n                \"\\\"faultDisputeGame\\\": \\\"\",\n                fdg.toHexString(),\n                \"\\\",\",\n                \"\\\"permissionedDisputeGame\\\": \\\"\",\n                pdg.toHexString(),\n                \"\\\"\" \"}\"\n            )\n        );\n    }\n\n    function _deployContracts() private returns (address, address) {\n        console.log(\"FaultDisputeGame params:\");\n        console.logBytes(abi.encode(fdgParams));\n\n        console.log(\"PermissionedDisputeGame params:\");\n        console.logBytes(abi.encode(pdgParams, proposer, challenger));\n\n        vm.startBroadcast();\n        address fdg = address(new FaultDisputeGame(fdgParams));\n        address pdg = address(new PermissionedDisputeGame(pdgParams, proposer, challenger));\n        vm.stopBroadcast();\n\n        return (fdg, pdg);\n    }\n}\n"
  },
  {
    "path": "sepolia/2025-10-09-fusaka-defense/script/UpgradeDGF.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.24;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {stdJson} from \"forge-std/StdJson.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\nimport {console} from \"forge-std/console.sol\";\n\nimport {LibString} from \"@solady/utils/LibString.sol\";\n\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\n\ninterface IDisputeGameFactory {\n    function gameImpls(uint32) external view returns (address);\n    function setImplementation(uint32, address) external;\n}\n\ninterface IPermissionedDisputeGame {\n    function challenger() external view returns (address);\n    function proposer() external view returns (address);\n}\n\ninterface ISystemConfig {\n    function disputeGameFactory() external view returns (address);\n}\n\ninterface IFaultDisputeGame {\n    function version() external view returns (string memory);\n    function vm() external view returns (address);\n    function weth() external view returns (address);\n    function anchorStateRegistry() external view returns (address);\n    function l2ChainId() external view returns (uint64);\n    function splitDepth() external view returns (uint64);\n    function maxGameDepth() external view returns (uint64);\n    function maxClockDuration() external view returns (uint64);\n    function clockExtension() external view returns (uint64);\n}\n\ninterface IAnchorStateRegistry {\n    function anchors(uint32) external view returns (bytes32, uint256);\n}\n\n/// @notice This script updates the FaultDisputeGame and PermissionedDisputeGame implementations in the\n///         DisputeGameFactory contract.\ncontract UpgradeDGF is MultisigScript {\n    using stdJson for string;\n\n    string public constant EXPECTED_VERSION = \"1.7.0\";\n    uint32 public constant CANNON = 0;\n    uint32 public constant PERMISSIONED_CANNON = 1;\n\n    address public immutable OWNER_SAFE;\n\n    IDisputeGameFactory public dgfProxy;\n    address public fdgImpl;\n    address public pdgImpl;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n    }\n\n    function setUp() public {\n        string memory rootPath = vm.projectRoot();\n        string memory path = string.concat(rootPath, \"/addresses.json\");\n        string memory addresses = vm.readFile(path);\n\n        dgfProxy = IDisputeGameFactory(ISystemConfig(vm.envAddress(\"SYSTEM_CONFIG\")).disputeGameFactory());\n        fdgImpl = addresses.readAddress(\".faultDisputeGame\");\n        pdgImpl = addresses.readAddress(\".permissionedDisputeGame\");\n\n        _precheckDisputeGameImplementation(CANNON, fdgImpl);\n        _precheckDisputeGameImplementation(PERMISSIONED_CANNON, pdgImpl);\n    }\n\n    // Checks that the new game being set has the same configuration as the existing implementation with the exception\n    // of the absolutePrestate. This is the most common scenario where the game implementation is upgraded to provide an\n    // updated fault proof program that supports an upcoming hard fork.\n    function _precheckDisputeGameImplementation(uint32 targetGameType, address newImpl) internal view {\n        console.log(\"pre-check new game implementations\", targetGameType);\n\n        IFaultDisputeGame currentImpl = IFaultDisputeGame(address(dgfProxy.gameImpls(targetGameType)));\n        // No checks are performed if there is no prior implementation.\n        // When deploying the first implementation, it is recommended to implement custom checks.\n        if (address(currentImpl) == address(0)) {\n            return;\n        }\n        IFaultDisputeGame faultDisputeGame = IFaultDisputeGame(newImpl);\n        require(LibString.eq(currentImpl.version(), EXPECTED_VERSION), \"00\");\n        require(currentImpl.vm() == faultDisputeGame.vm(), \"10\");\n        require(currentImpl.weth() == faultDisputeGame.weth(), \"20\");\n        require(currentImpl.anchorStateRegistry() == faultDisputeGame.anchorStateRegistry(), \"30\");\n        require(currentImpl.l2ChainId() == faultDisputeGame.l2ChainId(), \"40\");\n        require(currentImpl.splitDepth() == faultDisputeGame.splitDepth(), \"50\");\n        require(currentImpl.maxGameDepth() == faultDisputeGame.maxGameDepth(), \"60\");\n        require(currentImpl.maxClockDuration() == faultDisputeGame.maxClockDuration(), \"70\");\n        require(currentImpl.clockExtension() == faultDisputeGame.clockExtension(), \"80\");\n\n        if (targetGameType == PERMISSIONED_CANNON) {\n            IPermissionedDisputeGame currentPdg = IPermissionedDisputeGame(address(currentImpl));\n            IPermissionedDisputeGame permissionedDisputeGame = IPermissionedDisputeGame(address(faultDisputeGame));\n            require(currentPdg.proposer() == permissionedDisputeGame.proposer(), \"90\");\n            require(currentPdg.challenger() == permissionedDisputeGame.challenger(), \"100\");\n        }\n    }\n\n    // Confirm the stored implementations are updated and the anchor states still exist.\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        require(dgfProxy.gameImpls(CANNON) == fdgImpl, \"post-110\");\n        require(dgfProxy.gameImpls(PERMISSIONED_CANNON) == pdgImpl, \"post-120\");\n        _postcheckHasAnchorState(CANNON);\n        _postcheckHasAnchorState(PERMISSIONED_CANNON);\n    }\n\n    // Checks the anchor state for the source game type still exists after re-initialization. The actual anchor state\n    // may have been updated since the task was defined so just assert it exists, not that it has a specific value.\n    function _postcheckHasAnchorState(uint32 gameType) internal view {\n        console.log(\"check anchor state exists\", gameType);\n\n        IFaultDisputeGame impl = IFaultDisputeGame(dgfProxy.gameImpls(gameType));\n        (bytes32 root, uint256 rootBlockNumber) = IAnchorStateRegistry(impl.anchorStateRegistry()).anchors(gameType);\n\n        require(root != bytes32(0), \"check-300\");\n        require(rootBlockNumber != 0, \"check-310\");\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) {\n        IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](2);\n\n        calls[0] = IMulticall3.Call3Value({\n            target: address(dgfProxy),\n            allowFailure: false,\n            callData: abi.encodeCall(IDisputeGameFactory.setImplementation, (CANNON, fdgImpl)),\n            value: 0\n        });\n        calls[1] = IMulticall3.Call3Value({\n            target: address(dgfProxy),\n            allowFailure: false,\n            callData: abi.encodeCall(IDisputeGameFactory.setImplementation, (PERMISSIONED_CANNON, pdgImpl)),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "sepolia/2025-10-09-fusaka-defense/validations/BASE_NESTED_VALIDATION.json",
    "content": "{\n  \"task_name\": \"sepolia-fusaka-defense\",\n  \"script_name\": \"UpgradeDGF\",\n  \"signature\": \"sign(address[])\",\n  \"sender\": \"0xb2d9a52e76841279EF0372c534C539a4f68f8C0B\",\n  \"args\": \"[0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f,0x646132A1667ca7aD00d36616AFBA1A28116C770A]\",\n  \"ledger-id\": 1,\n  \"rpc_url\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"expected_domain_and_message_hashes\": {\n    \"address\": \"0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f\",\n    \"domain_hash\": \"0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23\",\n    \"message_hash\": \"0x944752703c0c80fd083016d34d1d6fb26daa2aac5d61824638b19f5027e64c34\"\n  },\n  \"expected_nested_hash\": \"\",\n  \"state_overrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\"\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Sepolia\",\n      \"address\": \"0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\"\n        },\n        {\n          \"key\": \"0x5f8247dedc09521b672973565542085da2880c5b9ece59fd089115b14af87e59\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\"\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Sepolia\",\n      \"address\": \"0x646132A1667ca7aD00d36616AFBA1A28116C770A\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\"\n        }\n      ]\n    }\n  ],\n  \"state_changes\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000019\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000001a\",\n          \"description\": \"Increments the nonce\"\n        },\n        {\n          \"key\": \"0xf053cd9a0ff3b12c0e12da96b5403383c5c0b737175cbbce357166a3d3354b5c\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Sets an approval for this transaction\"\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Sepolia\",\n      \"address\": \"0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000006\",\n          \"description\": \"Increments the nonce\"\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Sepolia\",\n      \"address\": \"0x646132A1667ca7aD00d36616AFBA1A28116C770A\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000008\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000009\",\n          \"description\": \"Increments the nonce\"\n        },\n        {\n          \"key\": \"0xcab2546401c6fb6e5329ad63e24fb95fbd28fc4fef6efd120dfa7c9f671f7ba7\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Sets an approval for this transaction\"\n        }\n      ]\n    },\n    {\n      \"name\": \"Dispute Game Factory - Sepolia\",\n      \"address\": \"0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1\",\n      \"changes\": [\n        {\n          \"key\": \"0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e\",\n          \"before\": \"0x000000000000000000000000217e725700de4dc599360adbd57dbb7de280817e\",\n          \"after\": \"0x0000000000000000000000005920bd6ab4c1b96bfd4efc56eb6cf9b018e3bf4c\",\n          \"description\": \"Updates the PermissionedDisputeGame implementation address\"\n        },\n        {\n          \"key\": \"0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b\",\n          \"before\": \"0x00000000000000000000000032b37bbd2c81e853ea098ce45856ae305df10dd1\",\n          \"after\": \"0x000000000000000000000000f83157709129bd03fb02e96950be288e8c2c1c67\",\n          \"description\": \"Updates the FaultDisputeGame implementation address\"\n        }\n      ]\n    }\n  ]\n}\n"
  },
  {
    "path": "sepolia/2025-10-09-fusaka-defense/validations/BASE_SC_VALIDATION.json",
    "content": "{\n  \"task_name\": \"sepolia-fusaka-defense\",\n  \"script_name\": \"UpgradeDGF\",\n  \"signature\": \"sign(address[])\",\n  \"sender\": \"0xb2d9a52e76841279EF0372c534C539a4f68f8C0B\",\n  \"args\": \"[0x6AF0674791925f767060Dd52f7fB20984E8639d8,0x646132A1667ca7aD00d36616AFBA1A28116C770A]\",\n  \"ledger-id\": 1,\n  \"rpc_url\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"expected_domain_and_message_hashes\": {\n    \"address\": \"0x6AF0674791925f767060Dd52f7fB20984E8639d8\",\n    \"domain_hash\": \"0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa\",\n    \"message_hash\": \"0x6072e15918a00f06524a93fd3c54b071bed1b5d2a0a2434e359c1efe48fb40fe\"\n  },\n  \"expected_nested_hash\": \"\",\n  \"state_overrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\"\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Sepolia\",\n      \"address\": \"0x646132A1667ca7aD00d36616AFBA1A28116C770A\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\"\n        }\n      ]\n    },\n    {\n      \"name\": \"Mock OP Safe / Mock Security Council - Sepolia\",\n      \"address\": \"0x6AF0674791925f767060Dd52f7fB20984E8639d8\",\n      \"overrides\": [\n        {\n          \"key\": \"0xb3b93d74462e7447a46722b75d1f4c5ed9bc3234792779a166a626a27442bf72\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\"\n        }\n      ]\n    }\n  ],\n  \"state_changes\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000019\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000001a\",\n          \"description\": \"Increments the nonce\"\n        },\n        {\n          \"key\": \"0xf053cd9a0ff3b12c0e12da96b5403383c5c0b737175cbbce357166a3d3354b5c\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Sets an approval for this transaction\"\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Sepolia\",\n      \"address\": \"0x646132A1667ca7aD00d36616AFBA1A28116C770A\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000008\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000009\",\n          \"description\": \"Increments the nonce\"\n        },\n        {\n          \"key\": \"0xa64a71a744dbf36228dd5c0b829eb81564eeb8129752bb01f692572d4af703ac\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Sets an approval for this transaction\"\n        }\n      ]\n    },\n    {\n      \"name\": \"Mock OP Safe / Mock Security Council - Sepolia\",\n      \"address\": \"0x6AF0674791925f767060Dd52f7fB20984E8639d8\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000000c\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000000d\",\n          \"description\": \"Increments the nonce\"\n        }\n      ]\n    },\n    {\n      \"name\": \"Dispute Game Factory - Sepolia\",\n      \"address\": \"0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1\",\n      \"changes\": [\n        {\n          \"key\": \"0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e\",\n          \"before\": \"0x000000000000000000000000217e725700de4dc599360adbd57dbb7de280817e\",\n          \"after\": \"0x0000000000000000000000005920bd6ab4c1b96bfd4efc56eb6cf9b018e3bf4c\",\n          \"description\": \"Updates the PermissionedDisputeGame implementation address\"\n        },\n        {\n          \"key\": \"0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b\",\n          \"before\": \"0x00000000000000000000000032b37bbd2c81e853ea098ce45856ae305df10dd1\",\n          \"after\": \"0x000000000000000000000000f83157709129bd03fb02e96950be288e8c2c1c67\",\n          \"description\": \"Updates the FaultDisputeGame implementation address\"\n        }\n      ]\n    }\n  ]\n}\n"
  },
  {
    "path": "sepolia/2025-10-09-fusaka-defense/validations/OP_VALIDATION.json",
    "content": "{\n  \"task_name\": \"sepolia-fusaka-defense\",\n  \"script_name\": \"UpgradeDGF\",\n  \"signature\": \"sign(address[])\",\n  \"sender\": \"0xb2d9a52e76841279EF0372c534C539a4f68f8C0B\",\n  \"args\": \"[0x6AF0674791925f767060Dd52f7fB20984E8639d8]\",\n  \"ledger-id\": 1,\n  \"rpc_url\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"expected_domain_and_message_hashes\": {\n    \"address\": \"0x6AF0674791925f767060Dd52f7fB20984E8639d8\",\n    \"domain_hash\": \"0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa\",\n    \"message_hash\": \"0xdd7292ec7808a57179b25869cc34fc358d773a80d330ac859d87d3f3ae09b04f\"\n  },\n  \"expected_nested_hash\": \"\",\n  \"state_overrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\"\n        }\n      ]\n    },\n    {\n      \"name\": \"Mock OP Safe / Mock Security Council - Sepolia\",\n      \"address\": \"0x6AF0674791925f767060Dd52f7fB20984E8639d8\",\n      \"overrides\": [\n        {\n          \"key\": \"0x4559bbb55c927434366c6e32ba5d225c4627a990c160938e5b5db2adc91c5600\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\"\n        }\n      ]\n    }\n  ],\n  \"state_changes\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000019\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000001a\",\n          \"description\": \"Increments the nonce\"\n        },\n        {\n          \"key\": \"0xb29af55234326eb4cad380a2eff35a598abc43d759ed8ae848ce5758091a0d3c\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Sets an approval for this transaction\"\n        }\n      ]\n    },\n    {\n      \"name\": \"Mock OP Safe / Mock Security Council - Sepolia\",\n      \"address\": \"0x6AF0674791925f767060Dd52f7fB20984E8639d8\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000000d\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000000e\",\n          \"description\": \"Increments the nonce\"\n        }\n      ]\n    },\n    {\n      \"name\": \"Dispute Game Factory - Sepolia\",\n      \"address\": \"0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1\",\n      \"changes\": [\n        {\n          \"key\": \"0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e\",\n          \"before\": \"0x000000000000000000000000217e725700de4dc599360adbd57dbb7de280817e\",\n          \"after\": \"0x0000000000000000000000005920bd6ab4c1b96bfd4efc56eb6cf9b018e3bf4c\",\n          \"description\": \"Updates the PermissionedDisputeGame implementation address\"\n        },\n        {\n          \"key\": \"0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b\",\n          \"before\": \"0x00000000000000000000000032b37bbd2c81e853ea098ce45856ae305df10dd1\",\n          \"after\": \"0x000000000000000000000000f83157709129bd03fb02e96950be288e8c2c1c67\",\n          \"description\": \"Updates the FaultDisputeGame implementation address\"\n        }\n      ]\n    }\n  ]\n}\n"
  },
  {
    "path": "sepolia/2025-10-17-base-bridge-alpha-deployment/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n.PHONY: deps\ndeps:\n\tforge install --no-git github.com/base/bridge@e9b5fe27280ad2345d823d42668810432b0651aa\n\n.PHONY: deploy\ndeploy:\n\tforge script DeployBridge --rpc-url $(L2_RPC_URL) \\\n\t--sender $(shell cast wallet address --account testnet-admin) \\\n\t--account testnet-admin --broadcast -vvvv"
  },
  {
    "path": "sepolia/2025-10-17-base-bridge-alpha-deployment/README.md",
    "content": "# Base Bridge Deployment\n\nDeploys the Base side of [Base Bridge](https://github.com/base/bridge). This should be done after deploying the Solana bridge program since the program's pubkey needs to be added to `config.json`.\n\n## Deployment Steps\n\n1. Install dependencies\n\n```bash\ncd sepolia/2025-10-17-base-bridge-alpha-deployment\nmake deps\n```\n\n2. Deploy bridge\n\n```bash\nmake deploy\n```\n"
  },
  {
    "path": "sepolia/2025-10-17-base-bridge-alpha-deployment/addresses.json",
    "content": "{\n  \"Bridge\": \"0x64567a9147fa89B1edc987e36Eb6f4b6db71656b\",\n  \"BridgeValidator\": \"0x41775f86710572Ec9AbeA4955A3dE882e0930675\",\n  \"CrossChainERC20Factory\": \"0xa51473BC986c95a5E1a7F9A9991e3f2f263842bE\",\n  \"Twin\": \"0x013d06E4cf47229D973Cb3C4e23Ff8D336CE5FF6\",\n  \"RelayerOrchestrator\": \"0x815170c71B25c6aA9891F386f96d2e84cC682149\",\n  \"WrappedSol\": \"0x003512146Fd54b71f926C7Fd4B7bd20Fc84E22c5\"\n}"
  },
  {
    "path": "sepolia/2025-10-17-base-bridge-alpha-deployment/config.json",
    "content": "{\n  \"salt\": \"0xa9252d7f6f4f65eaaecf9228b26ebb5ed5c03771fd884c8c07d639ac2ce40e55\",\n  \"initialOwner\": \"0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f\",\n  \"partnerValidators\": \"0x0000000000000000000000000000000000000001\",\n  \"baseValidators\": [\n    \"0x0e9a877906EBc3b7098DA2404412BF0Ed1A5EFb4\",\n    \"0x6D0E9C04BD896608b7e10b87FB686E1Feba85510\"\n  ],\n  \"baseSignatureThreshold\": 2,\n  \"partnerValidatorThreshold\": 0,\n  \"remoteBridge\": \"0x5270f413294ec2409da350d920dc5d0e691b65fb868577de3a359b79bee6b4ac\",\n  \"guardians\": [\"0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f\"]\n}\n"
  },
  {
    "path": "sepolia/2025-10-17-base-bridge-alpha-deployment/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.28\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "sepolia/2025-10-17-base-bridge-alpha-deployment/records/DeployBridge.s.sol/84532/run-1761064051180.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x412e9ed3060c3ba457f7aeda2204ff11c48b348d68d62e5fb23a902f3aa9a302\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"Twin\",\n      \"contractAddress\": \"0x4dc9cf09dce777c7ce4657adc002645361d4e792\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x64567a9147fa89B1edc987e36Eb6f4b6db71656b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x8c894\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60a0604052348015600e575f5ffd5b506040516107b03803806107b0833981016040819052602b916061565b6001600160a01b03811660515760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0316608052608c565b5f602082840312156070575f5ffd5b81516001600160a01b03811681146085575f5ffd5b9392505050565b6080516107076100a95f395f81816068015260cb01526107075ff3fe60806040526004361061002b575f3560e01c806360ed1d2814610036578063ee9a31a214610057575f5ffd5b3661003257005b5f5ffd5b348015610041575f5ffd5b50610055610050366004610389565b6100b3565b005b348015610062575f5ffd5b5061008a7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614806100f657503330145b61012c576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61013d61013882610527565b610140565b50565b5f81516003811115610154576101546105bc565b0361022c575f5f826020015173ffffffffffffffffffffffffffffffffffffffff1683604001516fffffffffffffffffffffffffffffffff16846060015160405161019f91906105e9565b5f6040518083038185875af1925050503d805f81146101d9576040519150601f19603f3d011682016040523d82523d5f602084013e6101de565b606091505b5091509150818190610226576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021d91906105ff565b60405180910390fd5b50505050565b600181516003811115610241576102416105bc565b036102fb5760408101516fffffffffffffffffffffffffffffffff1615610294576040517f81c2388100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f826020015173ffffffffffffffffffffffffffffffffffffffff1683606001516040516102c391906105e9565b5f60405180830381855af49150503d805f81146101d9576040519150601f19603f3d011682016040523d82523d5f602084013e6101de565b600281516003811115610310576103106105bc565b03610330576040810151606082015180516020820183f080610226575f5ffd5b600381516003811115610345576103456105bc565b0361013d575f816040015190505f5f836060015180602001905181019061036c9190610652565b915091508181516020830185f580610382575f5ffd5b5050505050565b5f60208284031215610399575f5ffd5b813567ffffffffffffffff8111156103af575f5ffd5b8201608081850312156103c0575f5ffd5b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff81118282101715610417576104176103c7565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610464576104646103c7565b604052919050565b80356fffffffffffffffffffffffffffffffff8116811461048b575f5ffd5b919050565b5f67ffffffffffffffff8211156104a9576104a96103c7565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b5f82601f8301126104e4575f5ffd5b81356104f76104f282610490565b61041d565b81815284602083860101111561050b575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f60808236031215610537575f5ffd5b61053f6103f4565b82356004811061054d575f5ffd5b8152602083013573ffffffffffffffffffffffffffffffffffffffff81168114610575575f5ffd5b60208201526105866040840161046c565b6040820152606083013567ffffffffffffffff8111156105a4575f5ffd5b6105b0368286016104d5565b60608301525092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f82518060208501845e5f920191825250919050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b5f5f60408385031215610663575f5ffd5b82519150602083015167ffffffffffffffff811115610680575f5ffd5b8301601f81018513610690575f5ffd5b805161069e6104f282610490565b8181528660208385010111156106b2575f5ffd5b8160208401602083015e5f60208383010152809350505050925092905056fea2646970667358221220ecd62574def5cbde1a390b3a28be1417f09ed9db0a349a4078ffc3cc5c7bd2aa64736f6c634300081c003300000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b\",\n        \"nonce\": \"0x5a0\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xa6d43aeccb5d852c1ff40f36a5f66b1c6664b33fb7d4d96a5cbb5d819a863e4a\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"UpgradeableBeacon\",\n      \"contractAddress\": \"0x013d06e4cf47229d973cb3c4e23ff8d336ce5ff6\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x6F0fB066334B67355A15dc9b67317fd2A2E20890\",\n        \"0x4DC9cf09dce777c7Ce4657ADc002645361D4E792\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x4c1bf\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60806040526040516103a53803806103a583398101604081905261002291610108565b61002c8282610033565b5050610139565b61003d8282610041565b5050565b61004a82610053565b61003d8161009d565b8060601b60601c9050684343a0dc92ed22dbfc5481684343a0dc92ed22dbfc5581817f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f38a35050565b6001600160a01b0316803b6100b957636d3e283b5f526004601cfd5b8068911c5a209f08d5ec5e55807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f38a250565b80516001600160a01b0381168114610103575f5ffd5b919050565b5f5f60408385031215610119575f5ffd5b610122836100ed565b9150610130602084016100ed565b90509250929050565b61025f806101465f395ff3fe608060405234801561000f575f5ffd5b5060043610610064575f3560e01c8063715018a61161004d578063715018a6146100b25780638da5cb5b146100ba578063f2fde38b146100ca575f5ffd5b80633659cfe6146100685780635c60da1b1461007d575b5f5ffd5b61007b6100763660046101ef565b6100dd565b005b68911c5a209f08d5ec5e545b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007b6100f1565b684343a0dc92ed22dbfc54610089565b61007b6100d83660046101ef565b610104565b6100e561012a565b6100ee81610148565b50565b6100f961012a565b6101025f6101a5565b565b61010c61012a565b8060601b61012157637448fbae5f526004601cfd5b6100ee816101a5565b684343a0dc92ed22dbfc543314610102576382b429005f526004601cfd5b73ffffffffffffffffffffffffffffffffffffffff16803b61017157636d3e283b5f526004601cfd5b8068911c5a209f08d5ec5e55807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f38a250565b8060601b60601c9050684343a0dc92ed22dbfc5481684343a0dc92ed22dbfc5581817f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f38a35050565b5f602082840312156101ff575f5ffd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610222575f5ffd5b939250505056fea26469706673582212204df276d825fed74b1d1cec9e8d4151a0fbdbbd97bd93bd6a5c4550f78c5b368a64736f6c634300081c00330000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e208900000000000000000000000004dc9cf09dce777c7ce4657adc002645361d4e792\",\n        \"nonce\": \"0x5a1\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xb46dfda2d8ebfccaf573de5a6b65d84340289097d25aa4e1db0139a8a349ceac\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"CrossChainERC20\",\n      \"contractAddress\": \"0xa73bb8a073e2578edaab56f9c48b276647a08bcb\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x64567a9147fa89B1edc987e36Eb6f4b6db71656b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x1461c7\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60a060405234801561000f575f5ffd5b5060405161125038038061125083398101604081905261002e916100d5565b6001600160a01b0381166100555760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811660805261006a610070565b50610102565b63409feecd198054600181161561008e5763f92ee8a95f526004601cfd5b6001600160401b03808260011c146100d0578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f602082840312156100e5575f5ffd5b81516001600160a01b03811681146100fb575f5ffd5b9392505050565b6080516111286101285f395f818161028c01528181610535015261076e01526111285ff3fe608060405234801561000f575f5ffd5b5060043610610115575f3560e01c80637ecebe00116100ad578063a9059cbb1161007d578063d6c0b2c411610063578063d6c0b2c414610257578063dd62ed3e1461025f578063e78cea9214610272575f5ffd5b8063a9059cbb14610231578063d505accf14610244575f5ffd5b80637ecebe00146101de578063828b417b1461020357806395d89b41146102165780639dc29fac1461021e575f5ffd5b8063313ce567116100e8578063313ce567146101875780633644e5151461019c57806340c10f19146101a457806370a08231146101b9575f5ffd5b806306fdde0314610119578063095ea7b31461013757806318160ddd1461015a57806323b872dd14610174575b5f5ffd5b6101216102b6565b60405161012e9190610c2f565b60405180910390f35b61014a610145366004610caa565b610345565b604051901515815260200161012e565b6805345cdf77eb68f44c545b60405190815260200161012e565b61014a610182366004610cd2565b6103d2565b60035460405160ff909116815260200161012e565b6101666104a1565b6101b76101b2366004610caa565b61051d565b005b6101666101c7366004610d0c565b6387a211a2600c9081525f91909152602090205490565b6101666101ec366004610d0c565b6338377508600c9081525f91909152602090205490565b6101b7610211366004610e31565b610637565b610121610747565b6101b761022c366004610caa565b610756565b61014a61023f366004610caa565b610864565b6101b7610252366004610eaf565b6108db565b600254610166565b61016661026d366004610f15565b610aad565b60405173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016815260200161012e565b60605f80546102c490610f46565b80601f01602080910402602001604051908101604052809291908181526020018280546102f090610f46565b801561033b5780601f106103125761010080835404028352916020019161033b565b820191905f5260205f20905b81548152906001019060200180831161031e57829003601f168201915b5050505050905090565b5f73ffffffffffffffffffffffffffffffffffffffff83166e22d473030f116ddee9f6b43ac78ba3188219151761038357633f68539a5f526004601cfd5b82602052637f5e9f20600c52335f52816034600c2055815f52602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560205fa35060015b92915050565b5f8360601b6e22d473030f116ddee9f6b43ac78ba333146104275733602052637f5e9f208117600c526034600c208054801915610424578085111561041e576313be252b5f526004601cfd5b84810382555b50505b6387a211a28117600c526020600c2080548085111561044d5763f4d678b85f526004601cfd5b84810382555050835f526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b5f806104ab6102b6565b805190602001209050604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f815260208101929092527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc69082015246606082015230608082015260a09020919050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461058c576040517fed7a257c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166105d9576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105e38282610b32565b8173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858260405161062b91815260200190565b60405180910390a25050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156106885760018160011c14303b1061067f5763f92ee8a95f526004601cfd5b818160ff1b1b91505b50846106c0576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002859055600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff84161790555f6106fd8582610fdb565b50600161070a8482610fdb565b508015610740576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b5050505050565b6060600180546102c490610f46565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146107c5576040517fed7a257c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216610812576040517fb817eee700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61081c8282610bae565b8173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405161062b91815260200190565b5f6387a211a2600c52335f526020600c2080548084111561088c5763f4d678b85f526004601cfd5b83810382555050825f526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b73ffffffffffffffffffffffffffffffffffffffff86166e22d473030f116ddee9f6b43ac78ba3188519151761091857633f68539a5f526004601cfd5b5f6109216102b6565b8051906020012090507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64286101561096057631a15a3cc5f526004601cfd5b6040518960601b60601c99508860601b60601c985065383775081901600e52895f526020600c2080547f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835284602084015283604084015246606084015230608084015260a08320602e527f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528b60208401528a60408401528960608401528060808401528860a084015260c08320604e526042602c205f528760ff16602052866040528560605260208060805f60015afa8c3d5114610a485763ddafbaef5f526004601cfd5b019055777f5e9f20000000000000000000000000000000000000000089176040526034602c20889055888a7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250505f60605250505050505050565b5f7fffffffffffffffffffffffffffffffffffdd2b8cfcf0ee922116094bc538745d73ffffffffffffffffffffffffffffffffffffffff831601610b1257507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6103cc565b50602052637f5e9f20600c9081525f91909152603490205490565b505050565b6805345cdf77eb68f44c5481810181811015610b555763e5cfe9575f526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52815f526020600c208181540181555080602052600c5160601c5f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52815f526020600c20805480831115610bd55763f4d678b85f526004601cfd5b82900390556805345cdf77eb68f44c805482900390555f81815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ca5575f5ffd5b919050565b5f5f60408385031215610cbb575f5ffd5b610cc483610c82565b946020939093013593505050565b5f5f5f60608486031215610ce4575f5ffd5b610ced84610c82565b9250610cfb60208501610c82565b929592945050506040919091013590565b5f60208284031215610d1c575f5ffd5b610d2582610c82565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f82601f830112610d68575f5ffd5b813567ffffffffffffffff811115610d8257610d82610d2c565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff82111715610dee57610dee610d2c565b604052818152838201602001851015610e05575f5ffd5b816020850160208301375f918101602001919091529392505050565b803560ff81168114610ca5575f5ffd5b5f5f5f5f60808587031215610e44575f5ffd5b84359350602085013567ffffffffffffffff811115610e61575f5ffd5b610e6d87828801610d59565b935050604085013567ffffffffffffffff811115610e89575f5ffd5b610e9587828801610d59565b925050610ea460608601610e21565b905092959194509250565b5f5f5f5f5f5f5f60e0888a031215610ec5575f5ffd5b610ece88610c82565b9650610edc60208901610c82565b95506040880135945060608801359350610ef860808901610e21565b9699959850939692959460a0840135945060c09093013592915050565b5f5f60408385031215610f26575f5ffd5b610f2f83610c82565b9150610f3d60208401610c82565b90509250929050565b600181811c90821680610f5a57607f821691505b602082108103610f91577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b601f821115610b2d57805f5260205f20601f840160051c81016020851015610fbc5750805b601f840160051c820191505b81811015610740575f8155600101610fc8565b815167ffffffffffffffff811115610ff557610ff5610d2c565b611009816110038454610f46565b84610f97565b6020601f82116001811461105a575f83156110245750848201515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b178455610740565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b828110156110a75787850151825560209485019460019092019101611087565b50848210156110e357868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b50505050600190811b0190555056fea2646970667358221220d2fb81c45e4c919f9f3d7fde2b3f5c7f2cc036de5b08b7b5d1c212ba5571b71564736f6c634300081c003300000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b\",\n        \"nonce\": \"0x5a2\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xf2d765b8606e52c8cc6818691c9aa8057557e3c757674b9b623a3beba86988de\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"UpgradeableBeacon\",\n      \"contractAddress\": \"0xfbaade604e0de1ac8b902120b6e25b9cd5884665\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x6F0fB066334B67355A15dc9b67317fd2A2E20890\",\n        \"0xa73bb8A073E2578eDAaB56f9C48B276647a08bcb\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x4c1bf\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60806040526040516103a53803806103a583398101604081905261002291610108565b61002c8282610033565b5050610139565b61003d8282610041565b5050565b61004a82610053565b61003d8161009d565b8060601b60601c9050684343a0dc92ed22dbfc5481684343a0dc92ed22dbfc5581817f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f38a35050565b6001600160a01b0316803b6100b957636d3e283b5f526004601cfd5b8068911c5a209f08d5ec5e55807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f38a250565b80516001600160a01b0381168114610103575f5ffd5b919050565b5f5f60408385031215610119575f5ffd5b610122836100ed565b9150610130602084016100ed565b90509250929050565b61025f806101465f395ff3fe608060405234801561000f575f5ffd5b5060043610610064575f3560e01c8063715018a61161004d578063715018a6146100b25780638da5cb5b146100ba578063f2fde38b146100ca575f5ffd5b80633659cfe6146100685780635c60da1b1461007d575b5f5ffd5b61007b6100763660046101ef565b6100dd565b005b68911c5a209f08d5ec5e545b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007b6100f1565b684343a0dc92ed22dbfc54610089565b61007b6100d83660046101ef565b610104565b6100e561012a565b6100ee81610148565b50565b6100f961012a565b6101025f6101a5565b565b61010c61012a565b8060601b61012157637448fbae5f526004601cfd5b6100ee816101a5565b684343a0dc92ed22dbfc543314610102576382b429005f526004601cfd5b73ffffffffffffffffffffffffffffffffffffffff16803b61017157636d3e283b5f526004601cfd5b8068911c5a209f08d5ec5e55807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f38a250565b8060601b60601c9050684343a0dc92ed22dbfc5481684343a0dc92ed22dbfc5581817f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f38a35050565b5f602082840312156101ff575f5ffd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610222575f5ffd5b939250505056fea26469706673582212204df276d825fed74b1d1cec9e8d4151a0fbdbbd97bd93bd6a5c4550f78c5b368a64736f6c634300081c00330000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890000000000000000000000000a73bb8a073e2578edaab56f9c48b276647a08bcb\",\n        \"nonce\": \"0x5a3\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xad2616b57ecf141419cb0ee4c14caf4fdeed14b0e6e38cfdb548f8497624648c\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"CrossChainERC20Factory\",\n      \"contractAddress\": \"0x9bb8a17474401c26f9e2173bb2cd428d41586361\",\n      \"function\": null,\n      \"arguments\": [\n        \"0xFbAadE604E0de1aC8B902120B6E25B9cD5884665\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x86c84\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60a0604052348015600e575f5ffd5b5060405161075f38038061075f833981016040819052602b916061565b6001600160a01b03811660515760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0316608052608c565b5f602082840312156070575f5ffd5b81516001600160a01b03811681146085575f5ffd5b9392505050565b6080516106b56100aa5f395f818160c2015261023001526106b55ff3fe608060405234801561000f575f5ffd5b506004361061004a575f3560e01c806323c3601f1461004e57806334476ab11461008b57806349493a4d146100bd578063ad831c1a146100e4575b5f5ffd5b61006161005c36600461053c565b6100ec565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100ad6100993660046105c1565b5f6020819052908152604090205460ff1681565b6040519015158152602001610082565b6100617f000000000000000000000000000000000000000000000000000000000000000081565b61006161015b565b5f7ff96418d547c92b1533fdada48caf5875c6a25d0edac5bf1450299d00000000008501610146576040517f2d70578000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610152858585856101fa565b95945050505050565b5f6101f57f069be72ab836d4eacc02525b7350a78a395da2f1253a40ebafd66300000000005f1b6040518060400160405280600681526020017f536f6c616e6100000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f534f4c000000000000000000000000000000000000000000000000000000000081525060096101fa565b905090565b5f5f858585856040516020016102139493929190610640565b6040516020818303038152906040528051906020012090506102557f000000000000000000000000000000000000000000000000000000000000000082610369565b73ffffffffffffffffffffffffffffffffffffffff81165f818152602081905260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055517f828b417b0000000000000000000000000000000000000000000000000000000081529193509063828b417b906102e6908990899089908990600401610640565b5f604051808303815f87803b1580156102fd575f5ffd5b505af115801561030f573d5f5f3e3d5ffd5b505060405133815288925073ffffffffffffffffffffffffffffffffffffffff851691507f0b84965add45c4d10c5aacc22714edc5f88def8df83d2c1f9d18b45ef2d287839060200160405180910390a350949350505050565b5f6103755f848461037c565b9392505050565b604080517fb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f36060527f1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c9091527660195155f3363d3d373d3d363d602036600436635c60da6020527c60523d8160223d3973000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8416176009525f90826074600c87f59150816104395763301164255f526004601cfd5b6040525f6060529392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f82601f830112610483575f5ffd5b813567ffffffffffffffff81111561049d5761049d610447565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff8211171561050957610509610447565b604052818152838201602001851015610520575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f5f6080858703121561054f575f5ffd5b84359350602085013567ffffffffffffffff81111561056c575f5ffd5b61057887828801610474565b935050604085013567ffffffffffffffff811115610594575f5ffd5b6105a087828801610474565b925050606085013560ff811681146105b6575f5ffd5b939692955090935050565b5f602082840312156105d1575f5ffd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610375575f5ffd5b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b848152608060208201525f61065860808301866105f4565b828103604084015261066a81866105f4565b91505060ff831660608301529594505050505056fea2646970667358221220f8580010539103fca1b4f359cdfb177f98b25738d0d577d2e4708865a69c7ac464736f6c634300081c0033000000000000000000000000fbaade604e0de1ac8b902120b6e25b9cd5884665\",\n        \"nonce\": \"0x5a4\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xcca6960f26ce754403d975ba1e65761e76bb72cdbf4fa43897233b0d81a4fd2a\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n      \"function\": \"deploy(address,address)\",\n      \"arguments\": [\n        \"0x9BB8a17474401C26F9e2173BB2CD428d41586361\",\n        \"0x6F0fB066334B67355A15dc9b67317fd2A2E20890\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"to\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n        \"gas\": \"0x2a3cd\",\n        \"value\": \"0x0\",\n        \"input\": \"0x545e7c610000000000000000000000009bb8a17474401c26f9e2173bb2cd428d415863610000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\",\n        \"nonce\": \"0x5a5\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [\n        {\n          \"transactionType\": \"CREATE\",\n          \"contractName\": null,\n          \"address\": \"0xa51473bc986c95a5e1a7f9a9991e3f2f263842be\",\n          \"initCode\": \"0x60793d8160093d39f33d3d336d6396ff2a80c067f99b3d2ab4df2414605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e604c573d6000fd00000000000000\"\n        }\n      ],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x36dab9664876f2238d536e9264937619b9cfa87b1a089f34883748f005bd8b9f\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"BridgeValidator\",\n      \"contractAddress\": \"0xc6a99e05b835270b4205d619a531087789f81c46\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x64567a9147fa89B1edc987e36Eb6f4b6db71656b\",\n        \"0x0000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x183053\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c060405234801561000f575f5ffd5b5060405161159238038061159283398101604081905261002e9161015a565b6001600160a01b0382166100555760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811661007c5760405163d92e233d60e01b815260040160405180910390fd5b5f195f557f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af0180546001600160801b0319166001600160801b031790556001600160a01b03828116608052811660a0526100d36100da565b505061018b565b63409feecd19805460018116156100f85763f92ee8a95f526004601cfd5b6001600160401b03808260011c1461013a578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b80516001600160a01b0381168114610155575f5ffd5b919050565b5f5f6040838503121561016b575f5ffd5b6101748361013f565b91506101826020840161013f565b90509250929050565b60805160a0516113d86101ba5f395f81816101eb01526109b501525f818161023701526103c101526113d85ff3fe608060405234801561000f575f5ffd5b50600436106100cf575f3560e01c80637fa920b61161007d578063d69c3d3011610058578063d69c3d30146101dd578063d91879c8146101e6578063ee9a31a214610232575f5ffd5b80637fa920b6146101a05780639bf6a053146101b3578063c92a1099146101bb575f5ffd5b80633ddb0cd4116100ad5780633ddb0cd41461013f5780633df39dfe14610162578063567942cf1461018b575f5ffd5b80631903d397146100d357806324ea54f41461012f5780632b6e5bcf14610137575b5f5ffd5b7f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af015470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff165b6040519081526020015b60405180910390f35b61011c600181565b61011c5f5481565b61015261014d366004610f24565b610259565b6040519015158152602001610126565b61016a6102a7565b6040516fffffffffffffffffffffffffffffffff9091168152602001610126565b61019e610199366004610f46565b6102e7565b005b61019e6101ae366004611027565b6103bf565b61011c600581565b6101526101c93660046110c2565b60026020525f908152604090205460ff1681565b61011c60015481565b61020d7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610126565b61020d7f000000000000000000000000000000000000000000000000000000000000000081565b73ffffffffffffffffffffffffffffffffffffffff81165f9081527f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af00602052604081205460ff165b92915050565b5f6102e27f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af01546fffffffffffffffffffffffffffffffff1690565b905090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156103385760018160011c14303b1061032f5763f92ee8a95f526004601cfd5b818160ff1b1b91505b50610344858585610665565b600582111561037f576040517fe56d58cf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f82905580156103b8576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610428573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061044c91906110d9565b15610483576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825f8190036104be576040517f6074424200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8167ffffffffffffffff8111156104d8576104d86110f8565b604051908082528060200260200182016040528015610501578160200160208202803683370190505b506001549091505f5b83811015610597576105728261051f81611125565b935089898481811061053357610533611181565b905060400201602001358a8a8581811061054f5761054f611181565b9050604002015f0135604080519384526020840192909252908201526060902090565b83828151811061058457610584611181565b602090810291909101015260010161050a565b506105a382868661090f565b5f5b8381101561065957600160025f8584815181106105c4576105c4611181565b602002602001015181526020019081526020015f205f6101000a81548160ff02191690831515021790555087878281811061060157610601611181565b9050604002016020013583828151811061061d5761061d611181565b60200260200101517f5e55930eb861ee57d9b7fa9e506b7f413cb1599c9886e57f1c8091f5fee5fc3360405160405180910390a36001016105a5565b50600155505050505050565b7f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af006fffffffffffffffffffffffffffffffff8216158015906106b957506fffffffffffffffffffffffffffffffff82168310155b6106ef576040517faabd5a0900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b601083111561072a576040517f2c4f399f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b838110156108b7575f85858381811061074757610747611181565b905060200201602081019061075c9190610f24565b73ffffffffffffffffffffffffffffffffffffffff16036107a9576040517f713ce51100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815f8686848181106107bd576107bd611181565b90506020020160208101906107d29190610f24565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040015f205460ff1615610832576040517f0d57d92a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001825f87878581811061084857610848611181565b905060200201602081019061085d9190610f24565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040015f2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905560010161072c565b506fffffffffffffffffffffffffffffffff91821691909216700100000000000000000000000000000000027fffffffffffffffffffffffffffffffff00000000000000000000000000000000161760019091015550565b5f61091b848484610aad565b90506109577f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af01546fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff1661097282610c5e565b10156109aa576040517ff62bc97a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5480156103b8575f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166394cf795e6040518163ffffffff1660e01b81526004015f60405180830381865afa158015610a1b573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610a609190810190611226565b905081610a6d8285610cec565b1015610aa5576040517f593ac4cb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b6060610aba60418361133a565b15610af1576040517f4be6321b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610afd60418461134d565b90505f610b2886604051602001610b149190611360565b604051602081830303815290604052610d8b565b90505f808367ffffffffffffffff811115610b4557610b456110f8565b604051908082528060200260200182016040528015610b6e578160200160208202803683370190505b509050865f5b85811015610c505760216041820283019081013560ff1690803590602001355f610ba089858585610df4565b90508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1611610c07576040517fd02ef0e500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80878681518110610c1a57610c1a611181565b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015296505060019092019150610b749050565b509098975050505050505050565b5f5f5f5b8351811015610ce557610cd1848281518110610c8057610c80611181565b602002602001015173ffffffffffffffffffffffffffffffffffffffff165f9081527f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af00602052604090205460ff1690565b15610cdd576001909101905b600101610c62565b5092915050565b5f5f5f5f5b8451811015610d81575f610d1e87878481518110610d1157610d11611181565b6020026020010151610e39565b905086518103610d2e5750610d79565b6001811b831615610d6b576040517f8044bb3300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600193840193901b91909117905b600101610cf1565b5090949350505050565b5f815160207f19457468657265756d205369676e6564204d6573736167653a0a00000000000081525f5f52815b600182039150600a81066030018253600a900480610db85750603a03602081113d3d3e80515f5117845281810160209190910384012092525090565b5f604051855f5260ff851660205283604052826060526020600160805f60015afa5191503d610e2a57638baa579f5f526004601cfd5b5f606052604052949350505050565b5f5f5b8351811015610ef757838181518110610e5757610e57611181565b60200260200101515f015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610ee35750838181518110610ea857610ea8611181565b60200260200101516020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15610eef5790506102a1565b600101610e3c565b50509051919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610f21575f5ffd5b50565b5f60208284031215610f34575f5ffd5b8135610f3f81610f00565b9392505050565b5f5f5f5f60608587031215610f59575f5ffd5b843567ffffffffffffffff811115610f6f575f5ffd5b8501601f81018713610f7f575f5ffd5b803567ffffffffffffffff811115610f95575f5ffd5b8760208260051b8401011115610fa9575f5ffd5b6020918201955093508501356fffffffffffffffffffffffffffffffff81168114610fd2575f5ffd5b9396929550929360400135925050565b5f5f83601f840112610ff2575f5ffd5b50813567ffffffffffffffff811115611009575f5ffd5b602083019150836020828501011115611020575f5ffd5b9250929050565b5f5f5f5f6040858703121561103a575f5ffd5b843567ffffffffffffffff811115611050575f5ffd5b8501601f81018713611060575f5ffd5b803567ffffffffffffffff811115611076575f5ffd5b8760208260061b840101111561108a575f5ffd5b60209182019550935085013567ffffffffffffffff8111156110aa575f5ffd5b6110b687828801610fe2565b95989497509550505050565b5f602082840312156110d2575f5ffd5b5035919050565b5f602082840312156110e9575f5ffd5b81518015158114610f3f575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361117a577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5060010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6040805190810167ffffffffffffffff811182821017156111d1576111d16110f8565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561121e5761121e6110f8565b604052919050565b5f60208284031215611236575f5ffd5b815167ffffffffffffffff81111561124c575f5ffd5b8201601f8101841361125c575f5ffd5b805167ffffffffffffffff811115611276576112766110f8565b61128560208260051b016111d7565b8082825260208201915060208360061b8501019250868311156112a6575f5ffd5b6020840193505b8284101561130357604084880312156112c4575f5ffd5b6112cc6111ae565b84516112d781610f00565b815260208501516112e781610f00565b80602083015250808352506020820191506040840193506112ad565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f826113485761134861130d565b500690565b5f8261135b5761135b61130d565b500490565b602080825282518282018190525f918401906040840190835b81811015611397578351835260209384019390920191600101611379565b50909594505050505056fea26469706673582212207ceedf727f1bd1281cce70297cdcafc481f8bd32b5e97692e0d9bf67e23bb29b64736f6c634300081c003300000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b0000000000000000000000000000000000000000000000000000000000000001\",\n        \"nonce\": \"0x5a6\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xdb7eb9fb9bcdf88290193a6c915a483ebff40b5b162744958e9f3b077c3d80f3\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n      \"function\": \"deployAndCall(address,address,bytes)\",\n      \"arguments\": [\n        \"0xC6A99E05B835270B4205D619a531087789f81c46\",\n        \"0x6F0fB066334B67355A15dc9b67317fd2A2E20890\",\n        \"0x567942cf00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000e9a877906ebc3b7098da2404412bf0ed1a5efb40000000000000000000000006d0e9c04bd896608b7e10b87fb686e1feba85510\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"to\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n        \"gas\": \"0x4bb34\",\n        \"value\": \"0x0\",\n        \"input\": \"0x4314f120000000000000000000000000c6a99e05b835270b4205d619a531087789f81c460000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c4567942cf00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000e9a877906ebc3b7098da2404412bf0ed1a5efb40000000000000000000000006d0e9c04bd896608b7e10b87fb686e1feba8551000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x5a7\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [\n        {\n          \"transactionType\": \"CREATE\",\n          \"contractName\": null,\n          \"address\": \"0x41775f86710572ec9abea4955a3de882e0930675\",\n          \"initCode\": \"0x60793d8160093d39f33d3d336d6396ff2a80c067f99b3d2ab4df2414605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e604c573d6000fd00000000000000\"\n        }\n      ],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xbbcfd555c29dd3691d7f07bae881c1a7b23e26852b45a6908d5856daff10f779\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"Bridge\",\n      \"contractAddress\": \"0x6827fb4906530520af8ba952550cfea393857bed\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x5270f413294ec2409da350d920dc5d0e691b65fb868577de3a359b79bee6b4ac\",\n        \"0x013d06E4cf47229D973Cb3C4e23Ff8D336CE5FF6\",\n        \"0xa51473BC986c95a5E1a7F9A9991e3f2f263842bE\",\n        \"0x41775f86710572Ec9AbeA4955A3dE882e0930675\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x5355eb\",\n        \"value\": \"0x0\",\n        \"input\": \"0x610100604052348015610010575f5ffd5b50604051614cc2380380614cc283398101604081905261002f91610153565b6001600160a01b0383166100565760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03821661007d5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0381166100a45760405163d92e233d60e01b815260040160405180910390fd5b60808490526001600160a01b0380841660a05282811660c052811660e0526100ca6100d3565b5050505061019d565b63409feecd19805460018116156100f15763f92ee8a95f526004601cfd5b6001600160401b03808260011c14610133578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b80516001600160a01b038116811461014e575f5ffd5b919050565b5f5f5f5f60808587031215610166575f5ffd5b8451935061017660208601610138565b925061018460408601610138565b915061019260608601610138565b905092959194509250565b60805160a05160c05160e051614ac16102015f395f81816105ae0152611fa701525f81816104830152818161099c01528181610dcb0152610fb101525f81816106a601528181610e2001526111a701525f81816105e10152610d070152614ac15ff3fe608060405260043610610229575f3560e01c806370b43d4511610131578063bd4598be116100ac578063f1d31a751161007c578063f3aa14e911610062578063f3aa14e91461071c578063fb25e6051461073b578063fee81cf4146107a8575f5ffd5b8063f1d31a75146106db578063f2fde38b14610709575f5ffd5b8063bd4598be1461062f578063bd7084b21461064e578063d227c30b14610695578063f04e283e146106c8575f5ffd5b8063946d920411610101578063a11cbfd2116100e7578063a11cbfd21461059d578063afb1f778146105d0578063b1d4dc0d14610603575f5ffd5b8063946d92041461055f5780639cd8d3251461057e575f5ffd5b806370b43d45146104d7578063715018a614610505578063770ae03d1461050d5780638da5cb5b1461052c575f5ffd5b80632de94807116101c15780635c975abb116101915780636249a05e116101775780636249a05e146104725780636736eb17146104a55780636c12f6c8146104b8575f5ffd5b80635c975abb146104265780635ca1e1651461043f575f5ffd5b80632de94807146103a55780634a4ee7b1146103d6578063514e62fc146103e957806354d1f13d1461041e575f5ffd5b80631cd64df4116101fc5780631cd64df4146102df5780632260a9c21461030e57806324ea54f414610389578063256929621461039d575f5ffd5b806316c38b3c1461022d578063183a4f6e1461024e578063189bc6ad146102615780631c10893f146102cc575b5f5ffd5b348015610238575f5ffd5b5061024c610247366004613a05565b6107d9565b005b61024c61025c366004613a20565b61084a565b34801561026c575f5ffd5b506102a261027b366004613a20565b60026020525f908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61024c6102da366004613a58565b610857565b3480156102ea575f5ffd5b506102fe6102f9366004613a58565b61086d565b60405190151581526020016102c3565b348015610319575f5ffd5b5061037b610328366004613a58565b73ffffffffffffffffffffffffffffffffffffffff919091165f9081527f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db1414830060209081526040808320938352929052205490565b6040519081526020016102c3565b348015610394575f5ffd5b5061037b600181565b61024c61088b565b3480156103b0575f5ffd5b5061037b6103bf366004613a82565b638b78c6d8600c9081525f91909152602090205490565b61024c6103e4366004613a58565b6108d8565b3480156103f4575f5ffd5b506102fe610403366004613a58565b638b78c6d8600c9081525f9290925260209091205416151590565b61024c6108ea565b348015610431575f5ffd5b506003546102fe9060ff1681565b34801561044a575f5ffd5b507f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361015461037b565b34801561047d575f5ffd5b506102a27f000000000000000000000000000000000000000000000000000000000000000081565b61024c6104b3366004613c1b565b610923565b3480156104c3575f5ffd5b5061037b6104d2366004613c6b565b610a69565b3480156104e2575f5ffd5b506102fe6104f1366004613a20565b60016020525f908152604090205460ff1681565b61024c610a73565b348015610518575f5ffd5b5061024c610527366004613ca2565b610a86565b348015610537575f5ffd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546102a2565b34801561056a575f5ffd5b5061024c610579366004613ce1565b610b62565b348015610589575f5ffd5b5061024c610598366004613c6b565b610cfd565b3480156105a8575f5ffd5b506102a27f000000000000000000000000000000000000000000000000000000000000000081565b3480156105db575f5ffd5b5061037b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561060e575f5ffd5b5061062261061d366004613d19565b61105a565b6040516102c39190613d32565b34801561063a575f5ffd5b5061024c610649366004613ca2565b611065565b348015610659575f5ffd5b507f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361005460405167ffffffffffffffff90911681526020016102c3565b3480156106a0575f5ffd5b506102a27f000000000000000000000000000000000000000000000000000000000000000081565b61024c6106d6366004613a82565b611141565b3480156106e6575f5ffd5b506102fe6106f5366004613a20565b5f6020819052908152604090205460ff1681565b61024c610717366004613a82565b61117b565b348015610727575f5ffd5b506102a2610736366004613a20565b6111a1565b348015610746575f5ffd5b5061037b610755366004613a58565b73ffffffffffffffffffffffffffffffffffffffff919091165f9081527f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db1414830160209081526040808320938352929052205490565b3480156107b3575f5ffd5b5061037b6107c2366004613a82565b63389a75e1600c9081525f91909152602090205490565b60016107e4816111cd565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168315159081179091556040519081527f444c79de75518689625f69d421a54d335ae43dda0df443aa8d23bef31e44af7e9060200160405180910390a15050565b61085433826111f1565b50565b61085f6111fc565b6108698282611231565b5050565b638b78c6d8600c9081525f8390526020902054811681145b92915050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f5fa250565b6108e06111fc565b61086982826111f1565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f5fa2565b688000000000ab143c065c156109405763ab143c065f526004601cfd5b30688000000000ab143c065d60035460ff1615610989576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181610995828261123d565b5f6109c0867f00000000000000000000000000000000000000000000000000000000000000006115a9565b90505f6109d787836109d2888a613e21565b611c14565b905061177061ffff1681511115610a1a576040517f69eae45700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a243382611dbd565b50505050610a2f5f90565b15610a5857688000000000ab143c0646600103610a4e575f815d610a52565b8081555b50505050565b5f688000000000ab143c065d505050565b5f61088582611ebe565b610a7b6111fc565b610a845f611eec565b565b688000000000ab143c065c15610aa35763ab143c065f526004601cfd5b30688000000000ab143c065d60035460ff1615610aec576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b81811015610b2a57610b22838383818110610b0b57610b0b613f68565b9050602002810190610b1d9190613f95565b611f51565b600101610aee565b505f5b15610b5257688000000000ab143c0646600103610b4c575f815d505050565b80555050565b5f688000000000ab143c065d5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011328054600382558015610bb35760018160011c14303b10610baa5763f92ee8a95f526004601cfd5b818160ff1b1b91505b5073ffffffffffffffffffffffffffffffffffffffff8416610c01576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c0a846121a3565b5f5b82811015610cc2575f848483818110610c2757610c27613f68565b9050602002016020810190610c3c9190613a82565b73ffffffffffffffffffffffffffffffffffffffff1603610c89576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cba848483818110610c9e57610c9e613f68565b9050602002016020810190610cb39190613a82565b6001611231565b600101610c0c565b508015610a52576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a150505050565b610d05612206565b7f0000000000000000000000000000000000000000000000000000000000000000604082013503610d80575f610d3e60a0830183613fd1565b810190610d4b91906140c7565b90505f5f5f8360600151806020019051810190610d6891906140f9565b925092509250610d7983838361223f565b5050505050565b6001610d9260a0830160808401614179565b6002811115610da357610da361413e565b03610def575f610db660a0830183613fd1565b810190610dc39190614192565b9050610869817f00000000000000000000000000000000000000000000000000000000000000006122a7565b6040808201355f9081526002602052205473ffffffffffffffffffffffffffffffffffffffff1680610e9a57610e497f00000000000000000000000000000000000000000000000000000000000000008360400135612734565b6040838101355f90815260026020522080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617905590505b5f610eab60a0840160808501614179565b6002811115610ebc57610ebc61413e565b03610f63575f610ecf60a0840184613fd1565b810190610edc91906140c7565b6040517f60ed1d2800000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff8316906360ed1d2890610f319084906004016141f8565b5f604051808303815f87803b158015610f48575f5ffd5b505af1158015610f5a573d5f5f3e3d5ffd5b50505050505050565b6002610f7560a0840160808501614179565b6002811115610f8657610f8661413e565b03610869575f80610f9a60a0850185613fd1565b810190610fa7919061426a565b91509150610fd5827f00000000000000000000000000000000000000000000000000000000000000006122a7565b6040517f60ed1d2800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906360ed1d28906110279084906004016141f8565b5f604051808303815f87803b15801561103e575f5ffd5b505af1158015611050573d5f5f3e3d5ffd5b5050505050505050565b606061088582612747565b688000000000ab143c065c156110825763ab143c065f526004601cfd5b30688000000000ab143c065d60035460ff16156110cb576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81816110d7828261123d565b5f6110ea6110e58587613e21565b612a61565b905061177061ffff168151111561112d576040517f69eae45700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111373382611dbd565b505050610b2d5f90565b6111496111fc565b63389a75e1600c52805f526020600c20805442111561116f57636f5e88185f526004601cfd5b5f905561085481611eec565b6111836111fc565b8060601b61119857637448fbae5f526004601cfd5b61085481611eec565b5f6108857f00000000000000000000000000000000000000000000000000000000000000008330612a94565b638b78c6d8600c52335f52806020600c205416610854576382b429005f526004601cfd5b61086982825f612b57565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610a84576382b429005f526004601cfd5b61086982826001612b57565b806040811115611279576040517f3c46992e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051603a80825261076082019092525f916020820161074080368337505060408051600c8082526101a082019092529293505f928392509060208201610180803683370190505090505f5f5b8581101561105057603a8888838181106112e3576112e3613f68565b90506020028101906112f591906142b6565b6113039060208101906142e8565b9050111561133d576040517f9ed3ecbb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b88888381811061135157611351613f68565b905060200281019061136391906142b6565b6113719060208101906142e8565b90508110156115a057365f8a8a8581811061138e5761138e613f68565b90506020028101906113a091906142b6565b6113ae9060208101906142e8565b848181106113be576113be613f68565b90506020028101906113d09190613fd1565b90925090506022811461140f576040517f74149ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81355f805b8981101561144d57828b828151811061142f5761142f613f68565b602002602001015103611445576001915061144d565b600101611414565b50806114b257603a891061148d576040517f9ed3ecbb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818a8a815181106114a0576114a0613f68565b60209081029190910101526001909801975b5f84846114c160016022614379565b60ff168181106114d3576114d3613f68565b9091013560f81c60011491508190506114f0575050505050611598565b5f5f5b8981101561152c57848b828151811061150e5761150e613f68565b602002602001015103611524576001915061152c565b6001016114f3565b508061159157600c891061156c576040517f87e497e500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b838a8a8151811061157f5761157f613f68565b60209081029190910101526001909801975b5050505050505b60010161133f565b506001016112c7565b5f5f836060015167ffffffffffffffff16116115f1576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82517f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db14148300905f9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff11111111111111111111111111111111111111120161176957845173ffffffffffffffffffffffffffffffffffffffff165f9081526001830160209081526040808320828901518452909152812054908190036116c3576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80866060015167ffffffffffffffff166116dd9190614392565b9150813414611718576040517f1841b4e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b855173ffffffffffffffffffffffffffffffffffffffff165f90815260208481526040808320828a01518452909152812080546002965084929061175d9084906143a9565b90915550611ba4915050565b34156117a1576040517f1841b4e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84516040517f34476ab100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152908516906334476ab190602401602060405180830381865afa15801561180e573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061183291906143bc565b156119cd575f855f015173ffffffffffffffffffffffffffffffffffffffff1663d6c0b2c46040518163ffffffff1660e01b8152600401602060405180830381865afa158015611884573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118a891906143d7565b602087015190915015806118bf5750602086015181145b6118f5576040517fa5269ce000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208601819052606086015186516040517f9dc29fac00000000000000000000000000000000000000000000000000000000815233600482015267ffffffffffffffff90921660248301819052935073ffffffffffffffffffffffffffffffffffffffff1690639dc29fac906044015f604051808303815f87803b15801561197b575f5ffd5b505af115801561198d573d5f5f3e3d5ffd5b5050505060208601517f069be72ab836d4eacc02525b7350a78a395da2f1253a40ebafd6630000000000146119c35760016119c5565b5f5b935050611ba4565b845173ffffffffffffffffffffffffffffffffffffffff165f908152600183016020908152604080832082890151845290915281205490819003611a3d576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81876060015167ffffffffffffffff16611a589190614392565b90505f611a68885f015130612bae565b9050611a79885f0151333085612be1565b5f611a87895f015130612bae565b90505f611a9483836143ee565b90505f611aa18683614401565b90505f8111611adc576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611ae68682614392565b96505f611af388846143ee565b90508015611b08578b51611b08903383612c43565b611b1182612c96565b8c6060019067ffffffffffffffff16908167ffffffffffffffff168152505087895f015f8e5f015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8e6020015181526020019081526020015f205f828254611b9391906143a9565b9091555060029a5050505050505050505b8451602080870151604080890151815173ffffffffffffffffffffffffffffffffffffffff909516855292840191909152820152606081018290527ff1109ae3af61805fa998753209b2a90166bfc4b38ad8a6b5a268591ce18f99c09060800160405180910390a1505092915050565b604080517f010000000000000000000000000000000000000000000000000000000000000060208201528151600181830301815260219091019091526060905f846002811115611c6657611c6661413e565b03611cb257805f8660400151611c89886060015167ffffffffffffffff16612cb3565b604051602001611c9c9493929190614450565b6040516020818303038152906040529050611d6b565b6001846002811115611cc657611cc661413e565b03611d0857806001865f015187602001518860400151611cf38a6060015167ffffffffffffffff16612cb3565b604051602001611c9c969594939291906144c1565b6002846002811115611d1c57611d1c61413e565b03611d6b5780600286602001518760400151611d45896060015167ffffffffffffffff16612cb3565b604051602001611d59959493929190614564565b60405160208183030381529060405290505b80611d7584612d21565b604051602001611d869291906145da565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815291905295945050505050565b604080516060810182527f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100805467ffffffffffffffff16825273ffffffffffffffffffffffffffffffffffffffff851660208301529181018390525f611e2282612df8565b83549091505f90611e3e90839067ffffffffffffffff16612e36565b845467ffffffffffffffff808216600101167fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909116178555604051909150819083907f877352bc1cb00627bdb5bf16a3664cfe784f66bb3c1bfef68bf5b4ae34e6659990611eae9087906145ee565b60405180910390a3505050505050565b5f610885611ed26040840160208501613d19565b67ffffffffffffffff168335611ee785612eef565b612f25565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f611f5b82610a69565b5f8181526020819052604090205490915060ff1615611f78575050565b6040517fc92a1099000000000000000000000000000000000000000000000000000000008152600481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063c92a109990602401602060405180830381865afa158015612001573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061202591906143bc565b61205b576040517f6eca2e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b30639cd8d3256120716080850160608601613d19565b67ffffffffffffffff16846040518363ffffffff1660e01b81526004016120989190614697565b5f604051808303815f88803b1580156120af575f5ffd5b5087f1935050505080156120c1575060015b61212c575f81815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690921790915551829133917f1dc47a66003d9a2334f04c3d23d98f174d7e65e9a4a72fa13277a15120c1559e9190a35050565b5f81815260016020818152604080842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00908116909155918490528084208054909216909217905551829133917f68bfb2e57fcbb47277da442d81d3e40ff118cbbcaf345b07997b35f592359e499190a35050565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b333014610a84576040517fad5db22700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db1414830061226b82600a614896565b73ffffffffffffffffffffffffffffffffffffffff9094165f908152600190910160209081526040808320948352939052919091209190915550565b604082015182517f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db141483009160601c905f9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff1111111111111111111111111111111111111112016123f857845173ffffffffffffffffffffffffffffffffffffffff165f908152600184016020908152604080832082890151845290915281205490819003612382576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80866060015167ffffffffffffffff1661239c9190614392565b865173ffffffffffffffffffffffffffffffffffffffff165f90815260208681526040808320828b015184529091528120805492945084929091906123e29084906143ee565b909155506123f290508383612f48565b506126c6565b84516040517f34476ab100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152908516906334476ab190602401602060405180830381865afa158015612465573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061248991906143bc565b156125e2575f855f015173ffffffffffffffffffffffffffffffffffffffff1663d6c0b2c46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124db573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124ff91906143d7565b905061250e8187602001511490565b612544576040517fa5269ce000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606086015186516040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015267ffffffffffffffff9093166024820181905294509116906340c10f19906044015f604051808303815f87803b1580156125c6575f5ffd5b505af11580156125d8573d5f5f3e3d5ffd5b50505050506126c6565b845173ffffffffffffffffffffffffffffffffffffffff165f908152600184016020908152604080832082890151845290915281205490819003612652576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80866060015167ffffffffffffffff1661266c9190614392565b865173ffffffffffffffffffffffffffffffffffffffff165f90815260208681526040808320828b015184529091528120805492945084929091906126b29084906143ee565b909155505085516126c4908484612c43565b505b84516020808701516040805173ffffffffffffffffffffffffffffffffffffffff948516815292830191909152918416818301526060810183905290517f6899b9db6ebabd932aa1fc835134c9b9ca2168d78a4cbee8854b1c00c86476099181900360800190a15050505050565b5f6127405f8484612f61565b9392505050565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db13610080546060919067ffffffffffffffff165f036127b0576040517fd4e9c9cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805467ffffffffffffffff908116908416106127f8576040517f41a2330800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f5f5f6128058761302c565b93509350935093505f8367ffffffffffffffff81111561282757612827613a9d565b604051908082528060200260200182016040528015612850578160200160208202803683370190505b509050845f5b8581101561295257600167ffffffffffffffff8616821c8116145f8082156128a5576128838560016143a9565b90506128908460016143a9565b61289e906001901b826143ee565b91506128ce565b6128b08460016143a9565b6128be906001901b866143a9565b90506128cb6001826143ee565b91505b60028b0154821061290b576040517f44a5e33500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8a600201828154811061292057612920613f68565b905f5260205f20015486858151811061293b5761293b613f68565b602090810291909101015293505050600101612856565b508251825161296191906143a9565b67ffffffffffffffff81111561297957612979613a9d565b6040519080825280602002602001820160405280156129a2578160200160208202803683370190505b5097505f805b83518110156129fc578381815181106129c3576129c3613f68565b60200260200101518a83806129d7906148a4565b9450815181106129e9576129e9613f68565b60209081029190910101526001016129a8565b505f5b8451811015612a5357848181518110612a1a57612a1a613f68565b60200260200101518a8380612a2e906148a4565b945081518110612a4057612a40613f68565b60209081029190910101526001016129ff565b505050505050505050919050565b60605f612a6d83612d21565b604051602001612a7e9291906148db565b6040516020818303038152906040529050919050565b604080517fb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f360609081527f1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c83527660195155f3363d3d373d3d363d602036600436635c60da60205273ffffffffffffffffffffffffffffffffffffffff86167c60523d8160223d39730000000000000000000000000000000000000000176009526074600c20919092525f91829052612b4e818585613053565b95945050505050565b638b78c6d8600c52825f526020600c20805483811783612b78575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f5fa3505050505050565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f511416612c3557803d873b151710612c3557637939f4245f526004601cfd5b505f60605260405250505050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f511416612c8c57803d853b151710612c8c576390b8ec185f526004601cfd5b505f603452505050565b5f680100000000000000008210612caf57612caf613072565b5090565b5f60c0821519811c70010000000000000000000000000000000102602081811b8218601081811b8218600881811b8218808a16821b918a901c1617808216831b921c1617808216831b921c1617808216604090811b91901c90911617608081811b91901c175b901c92915050565b60605f612d2e835161307f565b604051602001612d69919060e09190911b7fffffffff0000000000000000000000000000000000000000000000000000000016815260040190565b60405160208183030381529060405290505f5b8351811015612df15781612da8858381518110612d9b57612d9b613f68565b60200260200101516130ea565b604051602001612db99291906145da565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529150600101612d7c565b5092915050565b5f815f015182602001518360400151604051602001612e1993929190614911565b604051602081830303815290604052805190602001209050919050565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361028054600180820183555f8381527fff5d2acbda7763eef60e554187d5d0d790e60252d450c5d42ea73fe91ad1fd9c909201859055915490917f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100918391612ebc916143ee565b9050612ec88185613230565b5f612edc612ed7866001614972565b613305565b6001909301839055509091505092915050565b5f6040820135612f0560a0840160808501614179565b612f1260a0850185613fd1565b604051602001612e199493929190614992565b6040805184815260208101849052908101829052606090205f905b949350505050565b5f385f3884865af16108695763b12d13eb5f526004601cfd5b604080517fb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f36060527f1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c9091527660195155f3363d3d373d3d363d602036600436635c60da6020527c60523d8160223d3973000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8416176009525f90826074600c87f591508161301e5763301164255f526004601cfd5b6040525f6060529392505050565b5f5f5f606061303a856133cc565b9195509350915061304a85613556565b90509193509193565b5f60ff5f5350603592835260601b60015260155260555f908120915290565b6335278d125f526004601cfd5b5f60e082151960c01c70010000000000000000000000000000000102602081811b8218601081811b8218600881811b8218808a16821b918a901c1617808216831b921c1617808216831b921c1617808216604090811b91901c90911617608081811b91901c17612d19565b60605f825f015160405160200161310391815260200190565b60405160208183030381529060405290508061312384602001515161307f565b6040516020016131349291906149c2565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290505f5b8360200151518110156131db57818460200151828151811061318a5761318a613f68565b60200260200101516040516020016131a39291906145da565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529150600101613166565b50806131ea84604001516136e9565b6040516020016131fb9291906145da565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529392505050565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100825f5b600167ffffffffffffffff8516821c811603610d79575f6132758383613707565b90505f84600201828154811061328d5761328d613f68565b905f5260205f20015490505f8560020185815481106132ae576132ae613f68565b905f5260205f20015490505f6132c4838361371e565b600288018054600181810183555f8381526020902090910183905590549192506132ed916143ee565b9550846132f9816148a4565b95505050505050613254565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136102545f907f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361009080830361335b57505f9392505050565b5f6133658561374c565b905080515f0361337957505f949350505050565b80516001036133c35782600201815f8151811061339857613398613f68565b6020026020010151815481106133b0576133b0613f68565b905f5260205f2001549350505050919050565b612b4e81613849565b5f8080807f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db13610080549091505f908190819061340f9067ffffffffffffffff1661390d565b90505f61341d8260016143a9565b90505b801561351c575f6134326001836143ee565b865490915067ffffffffffffffff16811c60019081169003613509576001811b67ffffffffffffffff808616908c161080159061348b57506134748186614972565b67ffffffffffffffff168b67ffffffffffffffff16105b156134e6575f61349b868d614a01565b90505f6134a782613970565b6134bc67ffffffffffffffff84166002614392565b6134c691906143ee565b90506134d281896143a9565b9b50929950975061354f9650505050505050565b6134ef826139a8565b6134f990876143a9565b95506135058186614972565b9450505b508061351481614a21565b915050613420565b506040517f8e429c5200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9193909250565b60408051818152610820810182526060917f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100915f916020820161080080368337505083549192505f91829150819081906135b99067ffffffffffffffff1661390d565b90505f6135c78260016143a9565b90505b80156136db575f6135dc6001836143ee565b885490915067ffffffffffffffff16811c600190811690036136c8576001811b5f67ffffffffffffffff808716908d1610801590613636575061361f8287614972565b67ffffffffffffffff168c67ffffffffffffffff16105b90505f613642846139a8565b9050816136ac575f6001613656838b6143a9565b61366091906143ee565b90508b600201818154811061367757613677613f68565b905f5260205f2001548b8b8061368c906148a4565b9c508151811061369e5761369e613f68565b602002602001018181525050505b6136b681896143a9565b97506136c28388614972565b96505050505b50806136d381614a21565b9150506135ca565b505050908252509392505050565b60606136f5825161307f565b82604051602001612a7e929190614a55565b5f5f613712836139a8565b9050612f4081856143ee565b5f8183101561373a57505f828152602082905260409020610885565b5f828152602084905260409020612740565b60608167ffffffffffffffff165f0361377457604080515f8082526020820190925290612df1565b60408051818152610820810182525f9160208201610800803683370190505090505f80806137a18661390d565b90505f6137af8260016143a9565b90505b801561383e575f6137c46001836143ee565b9050600167ffffffffffffffff8916821c81160361382b575f6137e785836139c3565b9050808787815181106137fc576137fc613f68565b602090810291909101015285613811816148a4565b96505061381d826139a8565b61382790866143a9565b9450505b508061383681614a21565b9150506137b2565b505050815292915050565b5f807f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db13610090505f81600201845f8151811061388557613885613f68565b60200260200101518154811061389d5761389d613f68565b5f91825260209091200154905060015b8451811015613905575f836002018683815181106138cd576138cd613f68565b6020026020010151815481106138e5576138e5613f68565b905f5260205f20015490506138fa83826139e6565b9250506001016138ad565b509392505050565b5f8167ffffffffffffffff165f0361392657505f919050565b5f825b67ffffffffffffffff8116156139585781613943816148a4565b92505060011c677fffffffffffffff16613929565b5f8211613965575f612f40565b612f406001836143ee565b5f805b67ffffffffffffffff8316156108855761399060018416826143a9565b905060018367ffffffffffffffff16901c9250613973565b5f60016139b583826143a9565b6001901b61088591906143ee565b5f5f6139ce836139a8565b905060016139dc82866143a9565b612f4091906143ee565b5f828152602082905260408120612740565b8015158114610854575f5ffd5b5f60208284031215613a15575f5ffd5b8135612740816139f8565b5f60208284031215613a30575f5ffd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610854575f5ffd5b5f5f60408385031215613a69575f5ffd5b8235613a7481613a37565b946020939093013593505050565b5f60208284031215613a92575f5ffd5b813561274081613a37565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff81118282101715613aed57613aed613a9d565b60405290565b6040516060810167ffffffffffffffff81118282101715613aed57613aed613a9d565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613b5d57613b5d613a9d565b604052919050565b803567ffffffffffffffff81168114613b7c575f5ffd5b919050565b5f60808284031215613b91575f5ffd5b613b99613aca565b90508135613ba681613a37565b81526020828101359082015260408083013590820152613bc860608301613b65565b606082015292915050565b5f5f83601f840112613be3575f5ffd5b50813567ffffffffffffffff811115613bfa575f5ffd5b6020830191508360208260051b8501011115613c14575f5ffd5b9250929050565b5f5f5f60a08486031215613c2d575f5ffd5b613c378585613b81565b9250608084013567ffffffffffffffff811115613c52575f5ffd5b613c5e86828701613bd3565b9497909650939450505050565b5f60208284031215613c7b575f5ffd5b813567ffffffffffffffff811115613c91575f5ffd5b820160c08185031215612740575f5ffd5b5f5f60208385031215613cb3575f5ffd5b823567ffffffffffffffff811115613cc9575f5ffd5b613cd585828601613bd3565b90969095509350505050565b5f5f5f60408486031215613cf3575f5ffd5b8335613cfe81613a37565b9250602084013567ffffffffffffffff811115613c52575f5ffd5b5f60208284031215613d29575f5ffd5b61274082613b65565b602080825282518282018190525f918401906040840190835b81811015613d69578351835260209384019390920191600101613d4b565b509095945050505050565b5f67ffffffffffffffff821115613d8d57613d8d613a9d565b5060051b60200190565b5f82601f830112613da6575f5ffd5b813567ffffffffffffffff811115613dc057613dc0613a9d565b613df160207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601613b16565b818152846020838601011115613e05575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f613e33613e2e84613d74565b613b16565b8381526020810190600585901b840136811115613e4e575f5ffd5b845b81811015613d6957803567ffffffffffffffff811115613e6e575f5ffd5b86016060368290031215613e80575f5ffd5b613e88613af3565b81358152602082013567ffffffffffffffff811115613ea5575f5ffd5b820136601f820112613eb5575f5ffd5b8035613ec3613e2e82613d74565b8082825260208201915060208360051b850101925036831115613ee4575f5ffd5b602084015b83811015613f2557803567ffffffffffffffff811115613f07575f5ffd5b613f1636602083890101613d97565b84525060209283019201613ee9565b506020850152505050604082013567ffffffffffffffff811115613f47575f5ffd5b613f5336828501613d97565b60408301525085525060209384019301613e50565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff41833603018112613fc7575f5ffd5b9190910192915050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614004575f5ffd5b83018035915067ffffffffffffffff82111561401e575f5ffd5b602001915036819003821315613c14575f5ffd5b5f60808284031215614042575f5ffd5b61404a613aca565b905081356004811061405a575f5ffd5b8152602082013561406a81613a37565b602082015260408201356fffffffffffffffffffffffffffffffff81168114614091575f5ffd5b6040820152606082013567ffffffffffffffff8111156140af575f5ffd5b6140bb84828501613d97565b60608301525092915050565b5f602082840312156140d7575f5ffd5b813567ffffffffffffffff8111156140ed575f5ffd5b612f4084828501614032565b5f5f5f6060848603121561410b575f5ffd5b835161411681613a37565b60208501516040860151919450925060ff81168114614133575f5ffd5b809150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b803560038110613b7c575f5ffd5b5f60208284031215614189575f5ffd5b6127408261416b565b5f608082840312156141a2575f5ffd5b6127408383613b81565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f82516004811061420f5761420f61413e565b8060208401525073ffffffffffffffffffffffffffffffffffffffff60208401511660408301526fffffffffffffffffffffffffffffffff60408401511660608301526060830151608080840152612f4060a08401826141ac565b5f5f60a0838503121561427b575f5ffd5b6142858484613b81565b9150608083013567ffffffffffffffff8111156142a0575f5ffd5b6142ac85828601614032565b9150509250929050565b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112613fc7575f5ffd5b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261431b575f5ffd5b83018035915067ffffffffffffffff821115614335575f5ffd5b6020019150600581901b3603821315613c14575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b60ff82811682821603908111156108855761088561434c565b80820281158282048414176108855761088561434c565b808201808211156108855761088561434c565b5f602082840312156143cc575f5ffd5b8151612740816139f8565b5f602082840312156143e7575f5ffd5b5051919050565b818103818111156108855761088561434c565b5f82614434577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b5f81518060208401855e5f93019283525090919050565b5f61445b8287614439565b60f89590951b7fff000000000000000000000000000000000000000000000000000000000000001685525050600183019190915260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166021820152602901919050565b5f6144cc8289614439565b60f89790971b7fff00000000000000000000000000000000000000000000000000000000000000168752505060609390931b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660018501526015840191909152603583015260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166055820152605d01919050565b5f61456f8288614439565b60f89690961b7fff0000000000000000000000000000000000000000000000000000000000000016865250506001840192909252602183015260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166041820152604901919050565b5f612f406145e88386614439565b84614439565b6020815267ffffffffffffffff825116602082015273ffffffffffffffffffffffffffffffffffffffff60208301511660408201525f6040830151606080840152612f4060808401826141ac565b6003811061464c5761464c61413e565b9052565b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208082528235828201525f9067ffffffffffffffff906146b9908501613b65565b1660408301525f604084013590508060608401525067ffffffffffffffff6146e360608501613b65565b1660808301526146f56080840161416b565b61470260a084018261463c565b5060a08301357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614737575f5ffd5b830160208101903567ffffffffffffffff811115614753575f5ffd5b803603821315614761575f5ffd5b60c080850152612b4e60e085018284614650565b6001815b60018411156147b0578085048111156147945761479461434c565b60018416156147a257908102905b60019390931c928002614779565b935093915050565b5f826147c657506001610885565b816147d257505f610885565b81600181146147e857600281146147f25761480e565b6001915050610885565b60ff8411156148035761480361434c565b50506001821b610885565b5060208310610133831016604e8410600b8410161715614831575081810a610885565b61485c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484614775565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561488e5761488e61434c565b029392505050565b5f61274060ff8416836147b8565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036148d4576148d461434c565b5060010190565b7fff000000000000000000000000000000000000000000000000000000000000008360f81b1681525f612f406001830184614439565b7fffffffffffffffff0000000000000000000000000000000000000000000000008460c01b1681527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b1660088201525f612b4e601c830184614439565b67ffffffffffffffff81811683821601908111156108855761088561434c565b8481526149a2602082018561463c565b606060408201525f6149b8606083018486614650565b9695505050505050565b5f6149cd8285614439565b60e09390931b7fffffffff000000000000000000000000000000000000000000000000000000001683525050600401919050565b67ffffffffffffffff82811682821603908111156108855761088561434c565b5f81614a2f57614a2f61434c565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b7fffffffff000000000000000000000000000000000000000000000000000000008360e01b1681525f612f40600483018461443956fea2646970667358221220290ec9711f7eee3b922fa1ce8886b777131b7c66fc27a832dab589884dac941b64736f6c634300081c00335270f413294ec2409da350d920dc5d0e691b65fb868577de3a359b79bee6b4ac000000000000000000000000013d06e4cf47229d973cb3c4e23ff8d336ce5ff6000000000000000000000000a51473bc986c95a5e1a7f9a9991e3f2f263842be00000000000000000000000041775f86710572ec9abea4955a3de882e0930675\",\n        \"nonce\": \"0x5a8\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x13d30b1cc77d753c330abff59a105c53527f2fce88d9e53468e0d4f7e5cb74df\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n      \"function\": \"deployDeterministicAndCall(address,address,bytes32,bytes)\",\n      \"arguments\": [\n        \"0x6827Fb4906530520af8ba952550cfEA393857bEd\",\n        \"0x6F0fB066334B67355A15dc9b67317fd2A2E20890\",\n        \"0x8c1a617bdb47342f9c17ac8750e0b070c372c7210b72a942ba884bdf7ac2874a\",\n        \"0x946d92040000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"to\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n        \"gas\": \"0x4829d\",\n        \"value\": \"0x0\",\n        \"input\": \"0xa97b90d50000000000000000000000006827fb4906530520af8ba952550cfea393857bed0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e208908c1a617bdb47342f9c17ac8750e0b070c372c7210b72a942ba884bdf7ac2874a00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000084946d92040000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e2089000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x5a9\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [\n        {\n          \"transactionType\": \"CREATE2\",\n          \"contractName\": null,\n          \"address\": \"0x64567a9147fa89b1edc987e36eb6f4b6db71656b\",\n          \"initCode\": \"0x60793d8160093d39f33d3d336d6396ff2a80c067f99b3d2ab4df2414605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e604c573d6000fd00000000000000\"\n        }\n      ],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xc56efb1412d28ad36dbcbaa238971cb203f6a6329a8ff66bcbc65e8069f57dfe\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"RelayerOrchestrator\",\n      \"contractAddress\": \"0xcf0b2bbbb0e79c46599d5ca18347fbe028edd7a3\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x64567a9147fa89B1edc987e36Eb6f4b6db71656b\",\n        \"0x41775f86710572Ec9AbeA4955A3dE882e0930675\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x7af17\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c060405234801561000f575f5ffd5b5060405161070838038061070883398101604081905261002e916100ae565b6001600160a01b0382166100555760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811661007c5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039182166080521660a0526100df565b80516001600160a01b03811681146100a9575f5ffd5b919050565b5f5f604083850312156100bf575f5ffd5b6100c883610093565b91506100d660208401610093565b90509250929050565b60805160a0516105fc61010c5f395f8181605d015261011201525f818160ad01526101be01526105fc5ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c80636cd7827d14610043578063a11cbfd214610058578063ee9a31a2146100a8575b5f5ffd5b6100566100513660046102b1565b6100cf565b005b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b841561017b576040517f7fa920b600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637fa920b69061014d9089908990879087906004016103c6565b5f604051808303815f87803b158015610164575f5ffd5b505af1158015610176573d5f5f3e3d5ffd5b505050505b8215610223576040517f770ae03d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063770ae03d906101f5908790879060040161049c565b5f604051808303815f87803b15801561020c575f5ffd5b505af115801561021e573d5f5f3e3d5ffd5b505050505b505050505050565b5f5f83601f84011261023b575f5ffd5b50813567ffffffffffffffff811115610252575f5ffd5b6020830191508360208260051b850101111561026c575f5ffd5b9250929050565b5f5f83601f840112610283575f5ffd5b50813567ffffffffffffffff81111561029a575f5ffd5b60208301915083602082850101111561026c575f5ffd5b5f5f5f5f5f5f606087890312156102c6575f5ffd5b863567ffffffffffffffff8111156102dc575f5ffd5b8701601f810189136102ec575f5ffd5b803567ffffffffffffffff811115610302575f5ffd5b8960208260061b8401011115610316575f5ffd5b60209182019750955087013567ffffffffffffffff811115610336575f5ffd5b61034289828a0161022b565b909550935050604087013567ffffffffffffffff811115610361575f5ffd5b61036d89828a01610273565b979a9699509497509295939492505050565b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b604080825281018490525f8560608301825b87811015610400578235825260208084013590830152604092830192909101906001016103d8565b50838103602085015261041481868861037f565b98975050505050505050565b803567ffffffffffffffff81168114610437575f5ffd5b919050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261046f575f5ffd5b830160208101925035905067ffffffffffffffff81111561048e575f5ffd5b80360382131561026c575f5ffd5b602080825281018290525f6040600584901b8301810190830185837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4136839003015b878210156105b9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452823581811261051a575f5ffd5b89018035865267ffffffffffffffff61053560208301610420565b1660208701526040818101359087015267ffffffffffffffff61055a60608301610420565b166060870152608081013560038110158015610574575f5ffd5b50608087015261058760a082018261043c565b915060c060a088015261059e60c08801838361037f565b965050506020830192506020840193506001820191506104de565b509297965050505050505056fea26469706673582212205088542475db6d257ca490934dd9023af311bc0327ac384da1cbf79ff6b873a564736f6c634300081c003300000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b00000000000000000000000041775f86710572ec9abea4955a3de882e0930675\",\n        \"nonce\": \"0x5aa\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x15df849730959a53ebc64f12828705e2f529447c6b01cb3262045d314b64a630\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n      \"function\": \"deploy(address,address)\",\n      \"arguments\": [\n        \"0xcF0b2BbbB0e79c46599D5CA18347FBe028EDD7A3\",\n        \"0x6F0fB066334B67355A15dc9b67317fd2A2E20890\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"to\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n        \"gas\": \"0x2a3cd\",\n        \"value\": \"0x0\",\n        \"input\": \"0x545e7c61000000000000000000000000cf0b2bbbb0e79c46599d5ca18347fbe028edd7a30000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\",\n        \"nonce\": \"0x5ab\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [\n        {\n          \"transactionType\": \"CREATE\",\n          \"contractName\": null,\n          \"address\": \"0x815170c71b25c6aa9891f386f96d2e84cc682149\",\n          \"initCode\": \"0x60793d8160093d39f33d3d336d6396ff2a80c067f99b3d2ab4df2414605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e604c573d6000fd00000000000000\"\n        }\n      ],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xc97ce961690354bedec3c1c9c1f810be855f15aef4c4cf9dc230c790c79a3155\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0xa51473bc986c95a5e1a7f9a9991e3f2f263842be\",\n      \"function\": \"deploySolWrapper()\",\n      \"arguments\": [],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"to\": \"0xa51473bc986c95a5e1a7f9a9991e3f2f263842be\",\n        \"gas\": \"0x52327\",\n        \"value\": \"0x0\",\n        \"input\": \"0xad831c1a\",\n        \"nonce\": \"0x5ac\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [\n        {\n          \"transactionType\": \"CREATE2\",\n          \"contractName\": null,\n          \"address\": \"0x003512146fd54b71f926c7fd4b7bd20fc84e22c5\",\n          \"initCode\": \"0x60523d8160223d3973fbaade604e0de1ac8b902120b6e25b9cd588466560195155f3363d3d373d3d363d602036600436635c60da1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f3\"\n        }\n      ],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1c9798\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x412e9ed3060c3ba457f7aeda2204ff11c48b348d68d62e5fb23a902f3aa9a302\",\n      \"transactionIndex\": \"0xf\",\n      \"blockHash\": \"0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6\",\n      \"blockNumber\": \"0x1f22ac9\",\n      \"gasUsed\": \"0x6c1ad\",\n      \"effectiveGasPrice\": \"0xf4280\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0x4dc9cf09dce777c7ce4657adc002645361d4e792\",\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x3dc\",\n      \"l1GasPrice\": \"0xe\",\n      \"l1GasUsed\": \"0x442d\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x204053\",\n      \"logs\": [\n        {\n          \"address\": \"0x013d06e4cf47229d973cb3c4e23ff8d336ce5ff6\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6\",\n          \"blockNumber\": \"0x1f22ac9\",\n          \"blockTimestamp\": \"0x68f7b472\",\n          \"transactionHash\": \"0xa6d43aeccb5d852c1ff40f36a5f66b1c6664b33fb7d4d96a5cbb5d819a863e4a\",\n          \"transactionIndex\": \"0x10\",\n          \"logIndex\": \"0x19\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x013d06e4cf47229d973cb3c4e23ff8d336ce5ff6\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x0000000000000000000000004dc9cf09dce777c7ce4657adc002645361d4e792\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6\",\n          \"blockNumber\": \"0x1f22ac9\",\n          \"blockTimestamp\": \"0x68f7b472\",\n          \"transactionHash\": \"0xa6d43aeccb5d852c1ff40f36a5f66b1c6664b33fb7d4d96a5cbb5d819a863e4a\",\n          \"transactionIndex\": \"0x10\",\n          \"logIndex\": \"0x1a\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000400000000000000000800000000000000000000002000000000000000000000000000002000000000000000000000000000000000000000000000000000002000001000000000000000000000000000000000000020000000000400000000800010000000000000000000000000000400000000400010000000000000000000000010000000000000000000000000000000000000000000000000000000000080400000000000000000000000000000000000020000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xa6d43aeccb5d852c1ff40f36a5f66b1c6664b33fb7d4d96a5cbb5d819a863e4a\",\n      \"transactionIndex\": \"0x10\",\n      \"blockHash\": \"0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6\",\n      \"blockNumber\": \"0x1f22ac9\",\n      \"gasUsed\": \"0x3a8bb\",\n      \"effectiveGasPrice\": \"0xf4280\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0x013d06e4cf47229d973cb3c4e23ff8d336ce5ff6\",\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x23e\",\n      \"l1GasPrice\": \"0xe\",\n      \"l1GasUsed\": \"0x2794\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x2fee00\",\n      \"logs\": [\n        {\n          \"address\": \"0xa73bb8a073e2578edaab56f9c48b276647a08bcb\",\n          \"topics\": [\n            \"0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000ffffffffffffffff\",\n          \"blockHash\": \"0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6\",\n          \"blockNumber\": \"0x1f22ac9\",\n          \"blockTimestamp\": \"0x68f7b472\",\n          \"transactionHash\": \"0xb46dfda2d8ebfccaf573de5a6b65d84340289097d25aa4e1db0139a8a349ceac\",\n          \"transactionIndex\": \"0x11\",\n          \"logIndex\": \"0x1b\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040004000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xb46dfda2d8ebfccaf573de5a6b65d84340289097d25aa4e1db0139a8a349ceac\",\n      \"transactionIndex\": \"0x11\",\n      \"blockHash\": \"0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6\",\n      \"blockNumber\": \"0x1f22ac9\",\n      \"gasUsed\": \"0xfadad\",\n      \"effectiveGasPrice\": \"0xf4280\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0xa73bb8a073e2578edaab56f9c48b276647a08bcb\",\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x903\",\n      \"l1GasPrice\": \"0xe\",\n      \"l1GasUsed\": \"0x9f18\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x3396bb\",\n      \"logs\": [\n        {\n          \"address\": \"0xfbaade604e0de1ac8b902120b6e25b9cd5884665\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6\",\n          \"blockNumber\": \"0x1f22ac9\",\n          \"blockTimestamp\": \"0x68f7b472\",\n          \"transactionHash\": \"0xf2d765b8606e52c8cc6818691c9aa8057557e3c757674b9b623a3beba86988de\",\n          \"transactionIndex\": \"0x12\",\n          \"logIndex\": \"0x1c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xfbaade604e0de1ac8b902120b6e25b9cd5884665\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x000000000000000000000000a73bb8a073e2578edaab56f9c48b276647a08bcb\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6\",\n          \"blockNumber\": \"0x1f22ac9\",\n          \"blockTimestamp\": \"0x68f7b472\",\n          \"transactionHash\": \"0xf2d765b8606e52c8cc6818691c9aa8057557e3c757674b9b623a3beba86988de\",\n          \"transactionIndex\": \"0x12\",\n          \"logIndex\": \"0x1d\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000400000000000000000800000000000000000000002000000000000000000000000000000000001000000000000000000000000000100000000000000000002000001000000000000000000000000000000000000020000000000400000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000020000000000000000000000000000002000000000000000000040020001000000000000000000000000000000000000000000000000000080000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xf2d765b8606e52c8cc6818691c9aa8057557e3c757674b9b623a3beba86988de\",\n      \"transactionIndex\": \"0x12\",\n      \"blockHash\": \"0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6\",\n      \"blockNumber\": \"0x1f22ac9\",\n      \"gasUsed\": \"0x3a8bb\",\n      \"effectiveGasPrice\": \"0xf4280\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0xfbaade604e0de1ac8b902120b6e25b9cd5884665\",\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x23e\",\n      \"l1GasPrice\": \"0xe\",\n      \"l1GasUsed\": \"0x2794\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x3a1197\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xad2616b57ecf141419cb0ee4c14caf4fdeed14b0e6e38cfdb548f8497624648c\",\n      \"transactionIndex\": \"0x13\",\n      \"blockHash\": \"0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6\",\n      \"blockNumber\": \"0x1f22ac9\",\n      \"gasUsed\": \"0x67adc\",\n      \"effectiveGasPrice\": \"0xf4280\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0x9bb8a17474401c26f9e2173bb2cd428d41586361\",\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x418\",\n      \"l1GasPrice\": \"0xe\",\n      \"l1GasUsed\": \"0x484f\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x3bfadc\",\n      \"logs\": [\n        {\n          \"address\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n          \"topics\": [\n            \"0xc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b8178082\",\n            \"0x000000000000000000000000a51473bc986c95a5e1a7f9a9991e3f2f263842be\",\n            \"0x0000000000000000000000009bb8a17474401c26f9e2173bb2cd428d41586361\",\n            \"0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6\",\n          \"blockNumber\": \"0x1f22ac9\",\n          \"blockTimestamp\": \"0x68f7b472\",\n          \"transactionHash\": \"0xcca6960f26ce754403d975ba1e65761e76bb72cdbf4fa43897233b0d81a4fd2a\",\n          \"transactionIndex\": \"0x14\",\n          \"logIndex\": \"0x1e\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000800000000000000000000400000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000200000000000000000000000000000000040800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000002000800200000000000000400000000000000000000002000000000000000000000040000000000400000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xcca6960f26ce754403d975ba1e65761e76bb72cdbf4fa43897233b0d81a4fd2a\",\n      \"transactionIndex\": \"0x14\",\n      \"blockHash\": \"0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6\",\n      \"blockNumber\": \"0x1f22ac9\",\n      \"gasUsed\": \"0x1e945\",\n      \"effectiveGasPrice\": \"0xf4280\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n      \"contractAddress\": null,\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x5a\",\n      \"l1GasPrice\": \"0xe\",\n      \"l1GasUsed\": \"0x640\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x4e9630\",\n      \"logs\": [\n        {\n          \"address\": \"0xc6a99e05b835270b4205d619a531087789f81c46\",\n          \"topics\": [\n            \"0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000ffffffffffffffff\",\n          \"blockHash\": \"0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6\",\n          \"blockNumber\": \"0x1f22ac9\",\n          \"blockTimestamp\": \"0x68f7b472\",\n          \"transactionHash\": \"0x36dab9664876f2238d536e9264937619b9cfa87b1a089f34883748f005bd8b9f\",\n          \"transactionIndex\": \"0x15\",\n          \"logIndex\": \"0x1f\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000400000000000000080000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000001000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x36dab9664876f2238d536e9264937619b9cfa87b1a089f34883748f005bd8b9f\",\n      \"transactionIndex\": \"0x15\",\n      \"blockHash\": \"0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6\",\n      \"blockNumber\": \"0x1f22ac9\",\n      \"gasUsed\": \"0x129b54\",\n      \"effectiveGasPrice\": \"0xf4280\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0xc6a99e05b835270b4205d619a531087789f81c46\",\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x9c7\",\n      \"l1GasPrice\": \"0xe\",\n      \"l1GasUsed\": \"0xaca3\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x520314\",\n      \"logs\": [\n        {\n          \"address\": \"0x41775f86710572ec9abea4955a3de882e0930675\",\n          \"topics\": [\n            \"0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6\",\n          \"blockNumber\": \"0x1f22ac9\",\n          \"blockTimestamp\": \"0x68f7b472\",\n          \"transactionHash\": \"0xdb7eb9fb9bcdf88290193a6c915a483ebff40b5b162744958e9f3b077c3d80f3\",\n          \"transactionIndex\": \"0x16\",\n          \"logIndex\": \"0x20\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n          \"topics\": [\n            \"0xc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b8178082\",\n            \"0x00000000000000000000000041775f86710572ec9abea4955a3de882e0930675\",\n            \"0x000000000000000000000000c6a99e05b835270b4205d619a531087789f81c46\",\n            \"0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6\",\n          \"blockNumber\": \"0x1f22ac9\",\n          \"blockTimestamp\": \"0x68f7b472\",\n          \"transactionHash\": \"0xdb7eb9fb9bcdf88290193a6c915a483ebff40b5b162744958e9f3b077c3d80f3\",\n          \"transactionIndex\": \"0x16\",\n          \"logIndex\": \"0x21\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000800000000000000000000400000002000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000400000000000200000000000000100000000000000000008800000000000000800000000000000000000000080000000000000000000000000000000000000000000000000080000002000000000000000000400000000800000000000000000400000000000000000000004000002000000000000000000000000000400000000000000000004000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xdb7eb9fb9bcdf88290193a6c915a483ebff40b5b162744958e9f3b077c3d80f3\",\n      \"transactionIndex\": \"0x16\",\n      \"blockHash\": \"0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6\",\n      \"blockNumber\": \"0x1f22ac9\",\n      \"gasUsed\": \"0x36ce4\",\n      \"effectiveGasPrice\": \"0xf4280\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n      \"contractAddress\": null,\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x9d\",\n      \"l1GasPrice\": \"0xe\",\n      \"l1GasUsed\": \"0xad3\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x921dc9\",\n      \"logs\": [\n        {\n          \"address\": \"0x6827fb4906530520af8ba952550cfea393857bed\",\n          \"topics\": [\n            \"0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000ffffffffffffffff\",\n          \"blockHash\": \"0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6\",\n          \"blockNumber\": \"0x1f22ac9\",\n          \"blockTimestamp\": \"0x68f7b472\",\n          \"transactionHash\": \"0xbbcfd555c29dd3691d7f07bae881c1a7b23e26852b45a6908d5856daff10f779\",\n          \"transactionIndex\": \"0x17\",\n          \"logIndex\": \"0x22\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000800000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xbbcfd555c29dd3691d7f07bae881c1a7b23e26852b45a6908d5856daff10f779\",\n      \"transactionIndex\": \"0x17\",\n      \"blockHash\": \"0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6\",\n      \"blockNumber\": \"0x1f22ac9\",\n      \"gasUsed\": \"0x401ab5\",\n      \"effectiveGasPrice\": \"0xf4280\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0x6827fb4906530520af8ba952550cfea393857bed\",\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x2041\",\n      \"l1GasPrice\": \"0xe\",\n      \"l1GasUsed\": \"0x23958\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x953344\",\n      \"logs\": [\n        {\n          \"address\": \"0x64567a9147fa89b1edc987e36eb6f4b6db71656b\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6\",\n          \"blockNumber\": \"0x1f22ac9\",\n          \"blockTimestamp\": \"0x68f7b472\",\n          \"transactionHash\": \"0x13d30b1cc77d753c330abff59a105c53527f2fce88d9e53468e0d4f7e5cb74df\",\n          \"transactionIndex\": \"0x18\",\n          \"logIndex\": \"0x23\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x64567a9147fa89b1edc987e36eb6f4b6db71656b\",\n          \"topics\": [\n            \"0x715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe26\",\n            \"0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000001\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6\",\n          \"blockNumber\": \"0x1f22ac9\",\n          \"blockTimestamp\": \"0x68f7b472\",\n          \"transactionHash\": \"0x13d30b1cc77d753c330abff59a105c53527f2fce88d9e53468e0d4f7e5cb74df\",\n          \"transactionIndex\": \"0x18\",\n          \"logIndex\": \"0x24\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x64567a9147fa89b1edc987e36eb6f4b6db71656b\",\n          \"topics\": [\n            \"0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6\",\n          \"blockNumber\": \"0x1f22ac9\",\n          \"blockTimestamp\": \"0x68f7b472\",\n          \"transactionHash\": \"0x13d30b1cc77d753c330abff59a105c53527f2fce88d9e53468e0d4f7e5cb74df\",\n          \"transactionIndex\": \"0x18\",\n          \"logIndex\": \"0x25\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n          \"topics\": [\n            \"0xc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b8178082\",\n            \"0x00000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b\",\n            \"0x0000000000000000000000006827fb4906530520af8ba952550cfea393857bed\",\n            \"0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6\",\n          \"blockNumber\": \"0x1f22ac9\",\n          \"blockTimestamp\": \"0x68f7b472\",\n          \"transactionHash\": \"0x13d30b1cc77d753c330abff59a105c53527f2fce88d9e53468e0d4f7e5cb74df\",\n          \"transactionIndex\": \"0x18\",\n          \"logIndex\": \"0x26\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000800000800000000000000400000002000000000000000000000000000000000000000000000040040000000000000000000000000000000000080001000000040000000000000000000000000000020000004000400000000800200000000000000000000000000000400000800000000000000800000000000008040000000080000002000000000000000000000000000000000000000000080000000000010000000000000000000000802000400000000400400000000000000000000004000000080000000060000000000000000000000000000000000000000000000000000000000000000040\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x13d30b1cc77d753c330abff59a105c53527f2fce88d9e53468e0d4f7e5cb74df\",\n      \"transactionIndex\": \"0x18\",\n      \"blockHash\": \"0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6\",\n      \"blockNumber\": \"0x1f22ac9\",\n      \"gasUsed\": \"0x3157b\",\n      \"effectiveGasPrice\": \"0xf4280\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n      \"contractAddress\": null,\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x97\",\n      \"l1GasPrice\": \"0xe\",\n      \"l1GasUsed\": \"0xa76\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x9b1c6a\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xc56efb1412d28ad36dbcbaa238971cb203f6a6329a8ff66bcbc65e8069f57dfe\",\n      \"transactionIndex\": \"0x19\",\n      \"blockHash\": \"0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6\",\n      \"blockNumber\": \"0x1f22ac9\",\n      \"gasUsed\": \"0x5e926\",\n      \"effectiveGasPrice\": \"0xf4280\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0xcf0b2bbbb0e79c46599d5ca18347fbe028edd7a3\",\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x39f\",\n      \"l1GasPrice\": \"0xe\",\n      \"l1GasUsed\": \"0x3ff1\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x9d05af\",\n      \"logs\": [\n        {\n          \"address\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n          \"topics\": [\n            \"0xc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b8178082\",\n            \"0x000000000000000000000000815170c71b25c6aa9891f386f96d2e84cc682149\",\n            \"0x000000000000000000000000cf0b2bbbb0e79c46599d5ca18347fbe028edd7a3\",\n            \"0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6\",\n          \"blockNumber\": \"0x1f22ac9\",\n          \"blockTimestamp\": \"0x68f7b472\",\n          \"transactionHash\": \"0x15df849730959a53ebc64f12828705e2f529447c6b01cb3262045d314b64a630\",\n          \"transactionIndex\": \"0x1a\",\n          \"logIndex\": \"0x27\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000800000000000000000000400000002000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000400000000000200000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000800000000000000000400004000000000000000000000000008040000000000000000000000000000000000000000000000000100000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x15df849730959a53ebc64f12828705e2f529447c6b01cb3262045d314b64a630\",\n      \"transactionIndex\": \"0x1a\",\n      \"blockHash\": \"0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6\",\n      \"blockNumber\": \"0x1f22ac9\",\n      \"gasUsed\": \"0x1e945\",\n      \"effectiveGasPrice\": \"0xf4280\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n      \"contractAddress\": null,\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x5a\",\n      \"l1GasPrice\": \"0xe\",\n      \"l1GasUsed\": \"0x640\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xa0bdd5\",\n      \"logs\": [\n        {\n          \"address\": \"0x003512146fd54b71f926c7fd4b7bd20fc84e22c5\",\n          \"topics\": [\n            \"0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6\",\n          \"blockNumber\": \"0x1f22ac9\",\n          \"blockTimestamp\": \"0x68f7b472\",\n          \"transactionHash\": \"0xc97ce961690354bedec3c1c9c1f810be855f15aef4c4cf9dc230c790c79a3155\",\n          \"transactionIndex\": \"0x1b\",\n          \"logIndex\": \"0x28\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xa51473bc986c95a5e1a7f9a9991e3f2f263842be\",\n          \"topics\": [\n            \"0x0b84965add45c4d10c5aacc22714edc5f88def8df83d2c1f9d18b45ef2d28783\",\n            \"0x000000000000000000000000003512146fd54b71f926c7fd4b7bd20fc84e22c5\",\n            \"0x069be72ab836d4eacc02525b7350a78a395da2f1253a40ebafd6630000000000\"\n          ],\n          \"data\": \"0x0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721\",\n          \"blockHash\": \"0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6\",\n          \"blockNumber\": \"0x1f22ac9\",\n          \"blockTimestamp\": \"0x68f7b472\",\n          \"transactionHash\": \"0xc97ce961690354bedec3c1c9c1f810be855f15aef4c4cf9dc230c790c79a3155\",\n          \"transactionIndex\": \"0x1b\",\n          \"logIndex\": \"0x29\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000100000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000100800200004000000080000000080000000000000000000000000000000000000000000000000000000000000000000001000040000000000000000000000000000000000002000000000040004000000000000000000000000000000000000000008000000000000000800000000000000000008000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xc97ce961690354bedec3c1c9c1f810be855f15aef4c4cf9dc230c790c79a3155\",\n      \"transactionIndex\": \"0x1b\",\n      \"blockHash\": \"0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6\",\n      \"blockNumber\": \"0x1f22ac9\",\n      \"gasUsed\": \"0x3b826\",\n      \"effectiveGasPrice\": \"0xf4280\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": \"0xa51473bc986c95a5e1a7f9a9991e3f2f263842be\",\n      \"contractAddress\": null,\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x5a\",\n      \"l1GasPrice\": \"0xe\",\n      \"l1GasUsed\": \"0x640\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1761064051180,\n  \"chain\": 84532,\n  \"commit\": \"398e6cc\"\n}"
  },
  {
    "path": "sepolia/2025-10-17-base-bridge-alpha-deployment/script/DeployBridge.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.28;\n\nimport {Script} from \"forge-std/Script.sol\";\nimport {stdJson} from \"forge-std/StdJson.sol\";\nimport {ERC1967Factory} from \"@solady/utils/ERC1967Factory.sol\";\nimport {ERC1967FactoryConstants} from \"@solady/utils/ERC1967FactoryConstants.sol\";\nimport {LibString} from \"solady/utils/LibString.sol\";\nimport {UpgradeableBeacon} from \"@solady/utils/UpgradeableBeacon.sol\";\nimport {AddressAliasHelper} from \"@eth-optimism-bedrock/src/vendor/AddressAliasHelper.sol\";\n\nimport {Pubkey} from \"bridge/libraries/SVMLib.sol\";\nimport {TokenLib} from \"bridge/libraries/TokenLib.sol\";\nimport {RelayerOrchestrator} from \"bridge/periphery/RelayerOrchestrator.sol\";\nimport {Bridge} from \"bridge/Bridge.sol\";\nimport {BridgeValidator} from \"bridge/BridgeValidator.sol\";\nimport {CrossChainERC20} from \"bridge/CrossChainERC20.sol\";\nimport {CrossChainERC20Factory} from \"bridge/CrossChainERC20Factory.sol\";\nimport {Twin} from \"bridge/Twin.sol\";\n\nstruct Cfg {\n    bytes32 salt;\n    address erc1967Factory;\n    address initialOwner;\n    address partnerValidators;\n    address[] baseValidators;\n    uint128 baseSignatureThreshold;\n    uint256 partnerValidatorThreshold;\n    Pubkey remoteBridge;\n    address[] guardians;\n}\n\ncontract DeployBridge is Script {\n    using stdJson for string;\n    using AddressAliasHelper for address;\n\n    string public cfgData;\n    Cfg public cfg;\n\n    function setUp() public {\n        cfgData = vm.readFile(string.concat(vm.projectRoot(), \"/config.json\"));\n\n        cfg.salt = _readBytes32FromConfig(\"salt\");\n        cfg.erc1967Factory = ERC1967FactoryConstants.ADDRESS;\n        cfg.initialOwner = _readAddressFromConfig(\"initialOwner\").applyL1ToL2Alias();\n        cfg.partnerValidators = _readAddressFromConfig(\"partnerValidators\");\n        cfg.baseValidators = _readAddressArrayFromConfig(\"baseValidators\");\n        cfg.baseSignatureThreshold = uint128(_readUintFromConfig(\"baseSignatureThreshold\"));\n        cfg.partnerValidatorThreshold = _readUintFromConfig(\"partnerValidatorThreshold\");\n        cfg.remoteBridge = Pubkey.wrap(_readBytes32FromConfig(\"remoteBridge\"));\n        cfg.guardians = _readAddressArrayFromConfig(\"guardians\");\n\n        require(cfg.guardians.length == 1, \"invalid guardians length\");\n        cfg.guardians[0] = cfg.guardians[0].applyL1ToL2Alias();\n    }\n\n    function run() public {\n        address precomputedBridgeAddress = ERC1967Factory(cfg.erc1967Factory).predictDeterministicAddress(_salt());\n\n        vm.startBroadcast();\n        address twinBeacon = _deployTwinBeacon({precomputedBridgeAddress: precomputedBridgeAddress});\n        address factory = _deployFactory({precomputedBridgeAddress: precomputedBridgeAddress});\n        address bridgeValidator = _deployBridgeValidator({bridge: precomputedBridgeAddress});\n        address bridge =\n            _deployBridge({twinBeacon: twinBeacon, crossChainErc20Factory: factory, bridgeValidator: bridgeValidator});\n        address relayerOrchestrator = _deployRelayerOrchestrator({bridge: bridge, bridgeValidator: bridgeValidator});\n        address sol = CrossChainERC20Factory(factory).deploySolWrapper();\n        vm.stopBroadcast();\n\n        require(address(bridge) == precomputedBridgeAddress, \"Bridge address mismatch\");\n\n        _serializeAddress({key: \"Bridge\", value: bridge});\n        _serializeAddress({key: \"BridgeValidator\", value: bridgeValidator});\n        _serializeAddress({key: \"CrossChainERC20Factory\", value: factory});\n        _serializeAddress({key: \"Twin\", value: twinBeacon});\n        _serializeAddress({key: \"RelayerOrchestrator\", value: relayerOrchestrator});\n        _serializeAddress({key: \"WrappedSol\", value: sol});\n\n        _postCheck(twinBeacon, factory, bridgeValidator, bridge, relayerOrchestrator, sol);\n    }\n\n    function _postCheck(\n        address twinBeacon,\n        address factory,\n        address bridgeValidator,\n        address bridge,\n        address relayerOrchestrator,\n        address sol\n    ) private view {\n        // Twin\n        Twin twinImpl = Twin(payable(UpgradeableBeacon(twinBeacon).implementation()));\n        require(twinImpl.BRIDGE() == bridge, \"PC01: incorrect bridge address in twin impl\");\n\n        // Factory\n        UpgradeableBeacon tokenBeacon = UpgradeableBeacon(CrossChainERC20Factory(factory).BEACON());\n        CrossChainERC20 tokenImpl = CrossChainERC20(tokenBeacon.implementation());\n        require(tokenImpl.bridge() == bridge, \"PC02: incorrect bridge address in token impl\");\n\n        // BridgeValidator\n        require(\n            BridgeValidator(bridgeValidator).BRIDGE() == bridge, \"PC03: incorrect bridge address in BridgeValidator\"\n        );\n        require(\n            BridgeValidator(bridgeValidator).PARTNER_VALIDATORS() == cfg.partnerValidators,\n            \"PC04: incorrect partnerValidators address in BridgeValidator\"\n        );\n        require(\n            BridgeValidator(bridgeValidator).partnerValidatorThreshold() == cfg.partnerValidatorThreshold,\n            \"PC05: incorrect partner validator threshold in BridgeValidator\"\n        );\n        require(\n            BridgeValidator(bridgeValidator).getBaseThreshold() == cfg.baseSignatureThreshold,\n            \"PC06: incorrect Base threshold in BridgeValidator\"\n        );\n        require(\n            BridgeValidator(bridgeValidator).getBaseValidatorCount() == cfg.baseValidators.length,\n            \"PC07: incorrect registered base validator count\"\n        );\n\n        for (uint256 i; i < cfg.baseValidators.length; i++) {\n            require(\n                BridgeValidator(bridgeValidator).isBaseValidator(cfg.baseValidators[i]),\n                \"PC08: base validator not registered\"\n            );\n        }\n\n        // Bridge\n        require(Bridge(bridge).REMOTE_BRIDGE() == cfg.remoteBridge, \"PC09: incorrect remote bridge in Bridge contract\");\n        require(Bridge(bridge).TWIN_BEACON() == twinBeacon, \"PC10: incorrect twin beacon in Bridge contract\");\n        require(Bridge(bridge).CROSS_CHAIN_ERC20_FACTORY() == factory, \"PC11: incorrect factory in Bridge contract\");\n        require(\n            Bridge(bridge).BRIDGE_VALIDATOR() == bridgeValidator, \"PC12: incorrect bridge validator in Bridge contract\"\n        );\n        require(Bridge(bridge).owner() == cfg.initialOwner, \"PC13: incorrect Bridge owner\");\n\n        for (uint256 i; i < cfg.guardians.length; i++) {\n            require(\n                Bridge(bridge).rolesOf(cfg.guardians[i]) == Bridge(bridge).GUARDIAN_ROLE(),\n                \"PC14: guardian missing perms\"\n            );\n        }\n\n        // RelayerOrchestrator\n        require(\n            RelayerOrchestrator(relayerOrchestrator).BRIDGE() == bridge, \"PC15: incorrect bridge in RelayerOrchestrator\"\n        );\n        require(\n            RelayerOrchestrator(relayerOrchestrator).BRIDGE_VALIDATOR() == bridgeValidator,\n            \"PC16: incorrect bridge validator in RelayerOrchestrator\"\n        );\n\n        // SOL\n        require(CrossChainERC20(sol).bridge() == bridge, \"PC17: incorrect bridge in SOL contract\");\n        require(LibString.eq(CrossChainERC20(sol).name(), \"Solana\"), \"PC18: incorrect SOL name\");\n        require(LibString.eq(CrossChainERC20(sol).symbol(), \"SOL\"), \"PC19: incorrect SOL symbol\");\n        require(\n            CrossChainERC20(sol).remoteToken() == Pubkey.unwrap(TokenLib.NATIVE_SOL_PUBKEY),\n            \"PC20: incorrect SOL remote token\"\n        );\n        require(CrossChainERC20(sol).decimals() == 9, \"PC21: incorrect SOL decimals\");\n    }\n\n    function _deployTwinBeacon(address precomputedBridgeAddress) private returns (address) {\n        address twinImpl = address(new Twin(precomputedBridgeAddress));\n        return address(new UpgradeableBeacon({initialOwner: cfg.initialOwner, initialImplementation: twinImpl}));\n    }\n\n    function _deployFactory(address precomputedBridgeAddress) private returns (address) {\n        address erc20Impl = address(new CrossChainERC20(precomputedBridgeAddress));\n        address erc20Beacon =\n            address(new UpgradeableBeacon({initialOwner: cfg.initialOwner, initialImplementation: erc20Impl}));\n\n        address xChainErc20FactoryImpl = address(new CrossChainERC20Factory(erc20Beacon));\n        return\n            ERC1967Factory(cfg.erc1967Factory).deploy({implementation: xChainErc20FactoryImpl, admin: cfg.initialOwner});\n    }\n\n    function _deployBridgeValidator(address bridge) private returns (address) {\n        address bridgeValidatorImpl =\n            address(new BridgeValidator({bridgeAddress: bridge, partnerValidators: cfg.partnerValidators}));\n\n        return ERC1967Factory(cfg.erc1967Factory)\n            .deployAndCall({\n                implementation: bridgeValidatorImpl,\n                admin: cfg.initialOwner,\n                data: abi.encodeCall(\n                    BridgeValidator.initialize,\n                    (cfg.baseValidators, cfg.baseSignatureThreshold, cfg.partnerValidatorThreshold)\n                )\n            });\n    }\n\n    function _deployBridge(address twinBeacon, address crossChainErc20Factory, address bridgeValidator)\n        private\n        returns (address)\n    {\n        Bridge bridgeImpl = new Bridge({\n            remoteBridge: cfg.remoteBridge,\n            twinBeacon: twinBeacon,\n            crossChainErc20Factory: crossChainErc20Factory,\n            bridgeValidator: bridgeValidator\n        });\n\n        return ERC1967Factory(cfg.erc1967Factory)\n            .deployDeterministicAndCall({\n                implementation: address(bridgeImpl),\n                admin: cfg.initialOwner,\n                salt: _salt(),\n                data: abi.encodeCall(Bridge.initialize, (cfg.initialOwner, cfg.guardians))\n            });\n    }\n\n    function _deployRelayerOrchestrator(address bridge, address bridgeValidator) private returns (address) {\n        address relayerOrchestratorImpl =\n            address(new RelayerOrchestrator({bridge: bridge, bridgeValidator: bridgeValidator}));\n\n        return\n            ERC1967Factory(cfg.erc1967Factory)\n                .deploy({implementation: relayerOrchestratorImpl, admin: cfg.initialOwner});\n    }\n\n    function _serializeAddress(string memory key, address value) private {\n        vm.writeJson({\n            json: LibString.toHexStringChecksummed(value), path: \"addresses.json\", valueKey: string.concat(\".\", key)\n        });\n    }\n\n    function _readAddressFromConfig(string memory key) private view returns (address) {\n        return vm.parseJsonAddress({json: cfgData, key: string.concat(\".\", key)});\n    }\n\n    function _readAddressArrayFromConfig(string memory key) private view returns (address[] memory) {\n        return vm.parseJsonAddressArray({json: cfgData, key: string.concat(\".\", key)});\n    }\n\n    function _readUintFromConfig(string memory key) private view returns (uint256) {\n        return vm.parseJsonUint({json: cfgData, key: string.concat(\".\", key)});\n    }\n\n    function _readBytes32FromConfig(string memory key) private view returns (bytes32) {\n        return vm.parseJsonBytes32({json: cfgData, key: string.concat(\".\", key)});\n    }\n\n    /// @dev Appends `msg.sender` to the front of the salt to satisfy a requirement\n    ///      of the `ERC1967Factory.deployDeterministicAndCall()` method.\n    function _salt() private view returns (bytes32) {\n        bytes12 s = bytes12(keccak256(abi.encode(cfg.salt)));\n        return bytes32(abi.encodePacked(msg.sender, s));\n    }\n}\n"
  },
  {
    "path": "sepolia/2025-10-17-base-bridge-deployment/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n.PHONY: deps\ndeps:\n\tforge install --no-git github.com/base/bridge@24b6bcaec94eac34524bcd0774dd6ec14dc3bf21\n\n.PHONY: deploy\ndeploy:\n\tforge script DeployBridge --rpc-url $(L2_RPC_URL) \\\n\t--sender $(shell cast wallet address --account testnet-admin) \\\n\t--account testnet-admin --broadcast -vvvv\n"
  },
  {
    "path": "sepolia/2025-10-17-base-bridge-deployment/README.md",
    "content": "# Base Bridge Deployment\n\nStatus: EXECUTED\n\nDeploys the Base side of [Base Bridge](https://github.com/base/bridge). This should be done after deploying the Solana bridge program since the program's pubkey needs to be added to `config.json`.\n\n## Deployment Steps\n\n1. Install dependencies\n\n```bash\ncd sepolia/2025-10-17-base-bridge-deployment\nmake deps\n```\n\n2. Connect and unlock Ledger\n\n3. Deploy bridge\n\n```bash\nmake deploy\n```\n"
  },
  {
    "path": "sepolia/2025-10-17-base-bridge-deployment/addresses.json",
    "content": "{\n  \"Bridge\": \"0x01824a90d32A69022DdAEcC6C5C14Ed08dB4EB9B\",\n  \"BridgeValidator\": \"0x863Bed3E344035253CC44C75612Ad5fDF5904aEE\",\n  \"CrossChainERC20Factory\": \"0x488EB7F7cb2568e31595D48cb26F63963Cc7565D\",\n  \"Twin\": \"0x11bF22cFf007C46C725Dc59A919383326E3cdefB\",\n  \"RelayerOrchestrator\": \"0x1e0842b2E6FA06A59b05a9c1d36a6480730012CE\",\n  \"WrappedSol\": \"0xCace0c896714DaF7098FFD8CC54aFCFe0338b4BC\"\n}"
  },
  {
    "path": "sepolia/2025-10-17-base-bridge-deployment/config.json",
    "content": "{\n  \"salt\": \"0x90c21999d061600a9c6553e1e6feddb6c90ba96a617a140fe81e8195be404b6e\",\n  \"initialOwner\": \"0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f\",\n  \"partnerValidators\": \"0x0000000000000000000000000000000000000001\",\n  \"baseValidators\": [\n    \"0x2880a6DcC8c87dD2874bCBB9ad7E627a407Cf3C2\",\n    \"0xc5fe09f194C01e56fB89cC1155daE033D20cDCc7\"\n  ],\n  \"baseSignatureThreshold\": 2,\n  \"partnerValidatorThreshold\": 0,\n  \"remoteBridge\": \"0x6223fa80b3f80549a9ac4f1deea54e39a74aa8fa8f74a62131460716519d4f8f\",\n  \"guardians\": [\"0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f\"]\n}\n"
  },
  {
    "path": "sepolia/2025-10-17-base-bridge-deployment/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.28\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "sepolia/2025-10-17-base-bridge-deployment/records/DeployBridge.s.sol/84532/run-1761256132305.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x5077e35ff20eed7e8ce8d54cf71b6e341c554fbaad469cc5c0b41c85c6ccec98\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"Twin\",\n      \"contractAddress\": \"0x66586d1297008c11006e11ae3b7cc2544db56bad\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x01824a90d32A69022DdAEcC6C5C14Ed08dB4EB9B\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x8c894\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60a0604052348015600e575f5ffd5b506040516107b03803806107b0833981016040819052602b916061565b6001600160a01b03811660515760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0316608052608c565b5f602082840312156070575f5ffd5b81516001600160a01b03811681146085575f5ffd5b9392505050565b6080516107076100a95f395f81816068015260cb01526107075ff3fe60806040526004361061002b575f3560e01c806360ed1d2814610036578063ee9a31a214610057575f5ffd5b3661003257005b5f5ffd5b348015610041575f5ffd5b50610055610050366004610389565b6100b3565b005b348015610062575f5ffd5b5061008a7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614806100f657503330145b61012c576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61013d61013882610527565b610140565b50565b5f81516003811115610154576101546105bc565b0361022c575f5f826020015173ffffffffffffffffffffffffffffffffffffffff1683604001516fffffffffffffffffffffffffffffffff16846060015160405161019f91906105e9565b5f6040518083038185875af1925050503d805f81146101d9576040519150601f19603f3d011682016040523d82523d5f602084013e6101de565b606091505b5091509150818190610226576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021d91906105ff565b60405180910390fd5b50505050565b600181516003811115610241576102416105bc565b036102fb5760408101516fffffffffffffffffffffffffffffffff1615610294576040517f81c2388100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f826020015173ffffffffffffffffffffffffffffffffffffffff1683606001516040516102c391906105e9565b5f60405180830381855af49150503d805f81146101d9576040519150601f19603f3d011682016040523d82523d5f602084013e6101de565b600281516003811115610310576103106105bc565b03610330576040810151606082015180516020820183f080610226575f5ffd5b600381516003811115610345576103456105bc565b0361013d575f816040015190505f5f836060015180602001905181019061036c9190610652565b915091508181516020830185f580610382575f5ffd5b5050505050565b5f60208284031215610399575f5ffd5b813567ffffffffffffffff8111156103af575f5ffd5b8201608081850312156103c0575f5ffd5b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff81118282101715610417576104176103c7565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610464576104646103c7565b604052919050565b80356fffffffffffffffffffffffffffffffff8116811461048b575f5ffd5b919050565b5f67ffffffffffffffff8211156104a9576104a96103c7565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b5f82601f8301126104e4575f5ffd5b81356104f76104f282610490565b61041d565b81815284602083860101111561050b575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f60808236031215610537575f5ffd5b61053f6103f4565b82356004811061054d575f5ffd5b8152602083013573ffffffffffffffffffffffffffffffffffffffff81168114610575575f5ffd5b60208201526105866040840161046c565b6040820152606083013567ffffffffffffffff8111156105a4575f5ffd5b6105b0368286016104d5565b60608301525092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f82518060208501845e5f920191825250919050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b5f5f60408385031215610663575f5ffd5b82519150602083015167ffffffffffffffff811115610680575f5ffd5b8301601f81018513610690575f5ffd5b805161069e6104f282610490565b8181528660208385010111156106b2575f5ffd5b8160208401602083015e5f60208383010152809350505050925092905056fea2646970667358221220ecd62574def5cbde1a390b3a28be1417f09ed9db0a349a4078ffc3cc5c7bd2aa64736f6c634300081c003300000000000000000000000001824a90d32a69022ddaecc6c5c14ed08db4eb9b\",\n        \"nonce\": \"0x5ba\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x196d8816c38e862a57e249ba8f238d3f4cc80d5d4598c8e986731555e044b4bb\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"UpgradeableBeacon\",\n      \"contractAddress\": \"0x11bf22cff007c46c725dc59a919383326e3cdefb\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x6F0fB066334B67355A15dc9b67317fd2A2E20890\",\n        \"0x66586D1297008C11006E11AE3b7CC2544db56bad\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x4c1a0\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60806040526040516103a53803806103a583398101604081905261002291610108565b61002c8282610033565b5050610139565b61003d8282610041565b5050565b61004a82610053565b61003d8161009d565b8060601b60601c9050684343a0dc92ed22dbfc5481684343a0dc92ed22dbfc5581817f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f38a35050565b6001600160a01b0316803b6100b957636d3e283b5f526004601cfd5b8068911c5a209f08d5ec5e55807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f38a250565b80516001600160a01b0381168114610103575f5ffd5b919050565b5f5f60408385031215610119575f5ffd5b610122836100ed565b9150610130602084016100ed565b90509250929050565b61025f806101465f395ff3fe608060405234801561000f575f5ffd5b5060043610610064575f3560e01c8063715018a61161004d578063715018a6146100b25780638da5cb5b146100ba578063f2fde38b146100ca575f5ffd5b80633659cfe6146100685780635c60da1b1461007d575b5f5ffd5b61007b6100763660046101ef565b6100dd565b005b68911c5a209f08d5ec5e545b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007b6100f1565b684343a0dc92ed22dbfc54610089565b61007b6100d83660046101ef565b610104565b6100e561012a565b6100ee81610148565b50565b6100f961012a565b6101025f6101a5565b565b61010c61012a565b8060601b61012157637448fbae5f526004601cfd5b6100ee816101a5565b684343a0dc92ed22dbfc543314610102576382b429005f526004601cfd5b73ffffffffffffffffffffffffffffffffffffffff16803b61017157636d3e283b5f526004601cfd5b8068911c5a209f08d5ec5e55807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f38a250565b8060601b60601c9050684343a0dc92ed22dbfc5481684343a0dc92ed22dbfc5581817f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f38a35050565b5f602082840312156101ff575f5ffd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610222575f5ffd5b939250505056fea26469706673582212204df276d825fed74b1d1cec9e8d4151a0fbdbbd97bd93bd6a5c4550f78c5b368a64736f6c634300081c00330000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e2089000000000000000000000000066586d1297008c11006e11ae3b7cc2544db56bad\",\n        \"nonce\": \"0x5bb\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x174f9be3c6ab04e172dc685d5ae4eeb43a16ddc0843757dc5c69fc42d60b95c9\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"CrossChainERC20\",\n      \"contractAddress\": \"0x36ce7eae58186e092e5ce44f7fcb4c926768bc32\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x01824a90d32A69022DdAEcC6C5C14Ed08dB4EB9B\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x1461c7\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60a060405234801561000f575f5ffd5b5060405161125038038061125083398101604081905261002e916100d5565b6001600160a01b0381166100555760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811660805261006a610070565b50610102565b63409feecd198054600181161561008e5763f92ee8a95f526004601cfd5b6001600160401b03808260011c146100d0578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f602082840312156100e5575f5ffd5b81516001600160a01b03811681146100fb575f5ffd5b9392505050565b6080516111286101285f395f818161028c01528181610535015261076e01526111285ff3fe608060405234801561000f575f5ffd5b5060043610610115575f3560e01c80637ecebe00116100ad578063a9059cbb1161007d578063d6c0b2c411610063578063d6c0b2c414610257578063dd62ed3e1461025f578063e78cea9214610272575f5ffd5b8063a9059cbb14610231578063d505accf14610244575f5ffd5b80637ecebe00146101de578063828b417b1461020357806395d89b41146102165780639dc29fac1461021e575f5ffd5b8063313ce567116100e8578063313ce567146101875780633644e5151461019c57806340c10f19146101a457806370a08231146101b9575f5ffd5b806306fdde0314610119578063095ea7b31461013757806318160ddd1461015a57806323b872dd14610174575b5f5ffd5b6101216102b6565b60405161012e9190610c2f565b60405180910390f35b61014a610145366004610caa565b610345565b604051901515815260200161012e565b6805345cdf77eb68f44c545b60405190815260200161012e565b61014a610182366004610cd2565b6103d2565b60035460405160ff909116815260200161012e565b6101666104a1565b6101b76101b2366004610caa565b61051d565b005b6101666101c7366004610d0c565b6387a211a2600c9081525f91909152602090205490565b6101666101ec366004610d0c565b6338377508600c9081525f91909152602090205490565b6101b7610211366004610e31565b610637565b610121610747565b6101b761022c366004610caa565b610756565b61014a61023f366004610caa565b610864565b6101b7610252366004610eaf565b6108db565b600254610166565b61016661026d366004610f15565b610aad565b60405173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016815260200161012e565b60605f80546102c490610f46565b80601f01602080910402602001604051908101604052809291908181526020018280546102f090610f46565b801561033b5780601f106103125761010080835404028352916020019161033b565b820191905f5260205f20905b81548152906001019060200180831161031e57829003601f168201915b5050505050905090565b5f73ffffffffffffffffffffffffffffffffffffffff83166e22d473030f116ddee9f6b43ac78ba3188219151761038357633f68539a5f526004601cfd5b82602052637f5e9f20600c52335f52816034600c2055815f52602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560205fa35060015b92915050565b5f8360601b6e22d473030f116ddee9f6b43ac78ba333146104275733602052637f5e9f208117600c526034600c208054801915610424578085111561041e576313be252b5f526004601cfd5b84810382555b50505b6387a211a28117600c526020600c2080548085111561044d5763f4d678b85f526004601cfd5b84810382555050835f526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b5f806104ab6102b6565b805190602001209050604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f815260208101929092527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc69082015246606082015230608082015260a09020919050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461058c576040517fed7a257c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166105d9576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105e38282610b32565b8173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858260405161062b91815260200190565b60405180910390a25050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156106885760018160011c14303b1061067f5763f92ee8a95f526004601cfd5b818160ff1b1b91505b50846106c0576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002859055600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff84161790555f6106fd8582610fdb565b50600161070a8482610fdb565b508015610740576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b5050505050565b6060600180546102c490610f46565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146107c5576040517fed7a257c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216610812576040517fb817eee700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61081c8282610bae565b8173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405161062b91815260200190565b5f6387a211a2600c52335f526020600c2080548084111561088c5763f4d678b85f526004601cfd5b83810382555050825f526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b73ffffffffffffffffffffffffffffffffffffffff86166e22d473030f116ddee9f6b43ac78ba3188519151761091857633f68539a5f526004601cfd5b5f6109216102b6565b8051906020012090507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64286101561096057631a15a3cc5f526004601cfd5b6040518960601b60601c99508860601b60601c985065383775081901600e52895f526020600c2080547f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835284602084015283604084015246606084015230608084015260a08320602e527f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528b60208401528a60408401528960608401528060808401528860a084015260c08320604e526042602c205f528760ff16602052866040528560605260208060805f60015afa8c3d5114610a485763ddafbaef5f526004601cfd5b019055777f5e9f20000000000000000000000000000000000000000089176040526034602c20889055888a7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250505f60605250505050505050565b5f7fffffffffffffffffffffffffffffffffffdd2b8cfcf0ee922116094bc538745d73ffffffffffffffffffffffffffffffffffffffff831601610b1257507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6103cc565b50602052637f5e9f20600c9081525f91909152603490205490565b505050565b6805345cdf77eb68f44c5481810181811015610b555763e5cfe9575f526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52815f526020600c208181540181555080602052600c5160601c5f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52815f526020600c20805480831115610bd55763f4d678b85f526004601cfd5b82900390556805345cdf77eb68f44c805482900390555f81815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ca5575f5ffd5b919050565b5f5f60408385031215610cbb575f5ffd5b610cc483610c82565b946020939093013593505050565b5f5f5f60608486031215610ce4575f5ffd5b610ced84610c82565b9250610cfb60208501610c82565b929592945050506040919091013590565b5f60208284031215610d1c575f5ffd5b610d2582610c82565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f82601f830112610d68575f5ffd5b813567ffffffffffffffff811115610d8257610d82610d2c565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff82111715610dee57610dee610d2c565b604052818152838201602001851015610e05575f5ffd5b816020850160208301375f918101602001919091529392505050565b803560ff81168114610ca5575f5ffd5b5f5f5f5f60808587031215610e44575f5ffd5b84359350602085013567ffffffffffffffff811115610e61575f5ffd5b610e6d87828801610d59565b935050604085013567ffffffffffffffff811115610e89575f5ffd5b610e9587828801610d59565b925050610ea460608601610e21565b905092959194509250565b5f5f5f5f5f5f5f60e0888a031215610ec5575f5ffd5b610ece88610c82565b9650610edc60208901610c82565b95506040880135945060608801359350610ef860808901610e21565b9699959850939692959460a0840135945060c09093013592915050565b5f5f60408385031215610f26575f5ffd5b610f2f83610c82565b9150610f3d60208401610c82565b90509250929050565b600181811c90821680610f5a57607f821691505b602082108103610f91577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b601f821115610b2d57805f5260205f20601f840160051c81016020851015610fbc5750805b601f840160051c820191505b81811015610740575f8155600101610fc8565b815167ffffffffffffffff811115610ff557610ff5610d2c565b611009816110038454610f46565b84610f97565b6020601f82116001811461105a575f83156110245750848201515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b178455610740565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b828110156110a75787850151825560209485019460019092019101611087565b50848210156110e357868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b50505050600190811b0190555056fea2646970667358221220d2fb81c45e4c919f9f3d7fde2b3f5c7f2cc036de5b08b7b5d1c212ba5571b71564736f6c634300081c003300000000000000000000000001824a90d32a69022ddaecc6c5c14ed08db4eb9b\",\n        \"nonce\": \"0x5bc\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x841c94f576860c46e1bfd8c5b29b2970f9495b48f21bb9b80f87b77754c3fac0\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"UpgradeableBeacon\",\n      \"contractAddress\": \"0xc039781ccb3cb281f69f8509bfb17163993dd6d1\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x6F0fB066334B67355A15dc9b67317fd2A2E20890\",\n        \"0x36ce7eAe58186e092E5ce44f7FCB4c926768bC32\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x4c1bf\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60806040526040516103a53803806103a583398101604081905261002291610108565b61002c8282610033565b5050610139565b61003d8282610041565b5050565b61004a82610053565b61003d8161009d565b8060601b60601c9050684343a0dc92ed22dbfc5481684343a0dc92ed22dbfc5581817f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f38a35050565b6001600160a01b0316803b6100b957636d3e283b5f526004601cfd5b8068911c5a209f08d5ec5e55807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f38a250565b80516001600160a01b0381168114610103575f5ffd5b919050565b5f5f60408385031215610119575f5ffd5b610122836100ed565b9150610130602084016100ed565b90509250929050565b61025f806101465f395ff3fe608060405234801561000f575f5ffd5b5060043610610064575f3560e01c8063715018a61161004d578063715018a6146100b25780638da5cb5b146100ba578063f2fde38b146100ca575f5ffd5b80633659cfe6146100685780635c60da1b1461007d575b5f5ffd5b61007b6100763660046101ef565b6100dd565b005b68911c5a209f08d5ec5e545b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007b6100f1565b684343a0dc92ed22dbfc54610089565b61007b6100d83660046101ef565b610104565b6100e561012a565b6100ee81610148565b50565b6100f961012a565b6101025f6101a5565b565b61010c61012a565b8060601b61012157637448fbae5f526004601cfd5b6100ee816101a5565b684343a0dc92ed22dbfc543314610102576382b429005f526004601cfd5b73ffffffffffffffffffffffffffffffffffffffff16803b61017157636d3e283b5f526004601cfd5b8068911c5a209f08d5ec5e55807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f38a250565b8060601b60601c9050684343a0dc92ed22dbfc5481684343a0dc92ed22dbfc5581817f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f38a35050565b5f602082840312156101ff575f5ffd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610222575f5ffd5b939250505056fea26469706673582212204df276d825fed74b1d1cec9e8d4151a0fbdbbd97bd93bd6a5c4550f78c5b368a64736f6c634300081c00330000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e2089000000000000000000000000036ce7eae58186e092e5ce44f7fcb4c926768bc32\",\n        \"nonce\": \"0x5bd\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x9f883cb5add5e4359a90759a9af90609af1f6594cd7045119ea7913565a88ed0\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"CrossChainERC20Factory\",\n      \"contractAddress\": \"0xa97abd07320801d8bf083e192da44d4405bbc0a0\",\n      \"function\": null,\n      \"arguments\": [\n        \"0xc039781CCb3cb281F69f8509BfB17163993Dd6D1\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x86c84\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60a0604052348015600e575f5ffd5b5060405161075f38038061075f833981016040819052602b916061565b6001600160a01b03811660515760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0316608052608c565b5f602082840312156070575f5ffd5b81516001600160a01b03811681146085575f5ffd5b9392505050565b6080516106b56100aa5f395f818160c2015261023001526106b55ff3fe608060405234801561000f575f5ffd5b506004361061004a575f3560e01c806323c3601f1461004e57806334476ab11461008b57806349493a4d146100bd578063ad831c1a146100e4575b5f5ffd5b61006161005c36600461053c565b6100ec565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100ad6100993660046105c1565b5f6020819052908152604090205460ff1681565b6040519015158152602001610082565b6100617f000000000000000000000000000000000000000000000000000000000000000081565b61006161015b565b5f7ff96418d547c92b1533fdada48caf5875c6a25d0edac5bf1450299d00000000008501610146576040517f2d70578000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610152858585856101fa565b95945050505050565b5f6101f57f069be72ab836d4eacc02525b7350a78a395da2f1253a40ebafd66300000000005f1b6040518060400160405280600681526020017f536f6c616e6100000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f534f4c000000000000000000000000000000000000000000000000000000000081525060096101fa565b905090565b5f5f858585856040516020016102139493929190610640565b6040516020818303038152906040528051906020012090506102557f000000000000000000000000000000000000000000000000000000000000000082610369565b73ffffffffffffffffffffffffffffffffffffffff81165f818152602081905260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055517f828b417b0000000000000000000000000000000000000000000000000000000081529193509063828b417b906102e6908990899089908990600401610640565b5f604051808303815f87803b1580156102fd575f5ffd5b505af115801561030f573d5f5f3e3d5ffd5b505060405133815288925073ffffffffffffffffffffffffffffffffffffffff851691507f0b84965add45c4d10c5aacc22714edc5f88def8df83d2c1f9d18b45ef2d287839060200160405180910390a350949350505050565b5f6103755f848461037c565b9392505050565b604080517fb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f36060527f1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c9091527660195155f3363d3d373d3d363d602036600436635c60da6020527c60523d8160223d3973000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8416176009525f90826074600c87f59150816104395763301164255f526004601cfd5b6040525f6060529392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f82601f830112610483575f5ffd5b813567ffffffffffffffff81111561049d5761049d610447565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff8211171561050957610509610447565b604052818152838201602001851015610520575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f5f6080858703121561054f575f5ffd5b84359350602085013567ffffffffffffffff81111561056c575f5ffd5b61057887828801610474565b935050604085013567ffffffffffffffff811115610594575f5ffd5b6105a087828801610474565b925050606085013560ff811681146105b6575f5ffd5b939692955090935050565b5f602082840312156105d1575f5ffd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610375575f5ffd5b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b848152608060208201525f61065860808301866105f4565b828103604084015261066a81866105f4565b91505060ff831660608301529594505050505056fea2646970667358221220f8580010539103fca1b4f359cdfb177f98b25738d0d577d2e4708865a69c7ac464736f6c634300081c0033000000000000000000000000c039781ccb3cb281f69f8509bfb17163993dd6d1\",\n        \"nonce\": \"0x5be\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x3dc221b5371478e11915c2e90bc75eb294986f9af27e475b76e029b4e6aa641f\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n      \"function\": \"deploy(address,address)\",\n      \"arguments\": [\n        \"0xa97AbD07320801D8bf083E192dA44D4405Bbc0A0\",\n        \"0x6F0fB066334B67355A15dc9b67317fd2A2E20890\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"to\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n        \"gas\": \"0x2a3cd\",\n        \"value\": \"0x0\",\n        \"input\": \"0x545e7c61000000000000000000000000a97abd07320801d8bf083e192da44d4405bbc0a00000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\",\n        \"nonce\": \"0x5bf\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [\n        {\n          \"transactionType\": \"CREATE\",\n          \"contractName\": null,\n          \"address\": \"0x488eb7f7cb2568e31595d48cb26f63963cc7565d\",\n          \"initCode\": \"0x60793d8160093d39f33d3d336d6396ff2a80c067f99b3d2ab4df2414605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e604c573d6000fd00000000000000\"\n        }\n      ],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xa9c540bb9682bbb3ea061804629f066a81e06595fbadd20dc7eaca731d565d61\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"BridgeValidator\",\n      \"contractAddress\": \"0x57c612cdc685ffaa0b970bac784ff1860fcb0541\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x01824a90d32A69022DdAEcC6C5C14Ed08dB4EB9B\",\n        \"0x0000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x183053\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c060405234801561000f575f5ffd5b5060405161159238038061159283398101604081905261002e9161015a565b6001600160a01b0382166100555760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811661007c5760405163d92e233d60e01b815260040160405180910390fd5b5f195f557f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af0180546001600160801b0319166001600160801b031790556001600160a01b03828116608052811660a0526100d36100da565b505061018b565b63409feecd19805460018116156100f85763f92ee8a95f526004601cfd5b6001600160401b03808260011c1461013a578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b80516001600160a01b0381168114610155575f5ffd5b919050565b5f5f6040838503121561016b575f5ffd5b6101748361013f565b91506101826020840161013f565b90509250929050565b60805160a0516113d86101ba5f395f81816101eb01526109b501525f818161023701526103c101526113d85ff3fe608060405234801561000f575f5ffd5b50600436106100cf575f3560e01c80637fa920b61161007d578063d69c3d3011610058578063d69c3d30146101dd578063d91879c8146101e6578063ee9a31a214610232575f5ffd5b80637fa920b6146101a05780639bf6a053146101b3578063c92a1099146101bb575f5ffd5b80633ddb0cd4116100ad5780633ddb0cd41461013f5780633df39dfe14610162578063567942cf1461018b575f5ffd5b80631903d397146100d357806324ea54f41461012f5780632b6e5bcf14610137575b5f5ffd5b7f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af015470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff165b6040519081526020015b60405180910390f35b61011c600181565b61011c5f5481565b61015261014d366004610f24565b610259565b6040519015158152602001610126565b61016a6102a7565b6040516fffffffffffffffffffffffffffffffff9091168152602001610126565b61019e610199366004610f46565b6102e7565b005b61019e6101ae366004611027565b6103bf565b61011c600581565b6101526101c93660046110c2565b60026020525f908152604090205460ff1681565b61011c60015481565b61020d7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610126565b61020d7f000000000000000000000000000000000000000000000000000000000000000081565b73ffffffffffffffffffffffffffffffffffffffff81165f9081527f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af00602052604081205460ff165b92915050565b5f6102e27f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af01546fffffffffffffffffffffffffffffffff1690565b905090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156103385760018160011c14303b1061032f5763f92ee8a95f526004601cfd5b818160ff1b1b91505b50610344858585610665565b600582111561037f576040517fe56d58cf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f82905580156103b8576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610428573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061044c91906110d9565b15610483576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825f8190036104be576040517f6074424200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8167ffffffffffffffff8111156104d8576104d86110f8565b604051908082528060200260200182016040528015610501578160200160208202803683370190505b506001549091505f5b83811015610597576105728261051f81611125565b935089898481811061053357610533611181565b905060400201602001358a8a8581811061054f5761054f611181565b9050604002015f0135604080519384526020840192909252908201526060902090565b83828151811061058457610584611181565b602090810291909101015260010161050a565b506105a382868661090f565b5f5b8381101561065957600160025f8584815181106105c4576105c4611181565b602002602001015181526020019081526020015f205f6101000a81548160ff02191690831515021790555087878281811061060157610601611181565b9050604002016020013583828151811061061d5761061d611181565b60200260200101517f5e55930eb861ee57d9b7fa9e506b7f413cb1599c9886e57f1c8091f5fee5fc3360405160405180910390a36001016105a5565b50600155505050505050565b7f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af006fffffffffffffffffffffffffffffffff8216158015906106b957506fffffffffffffffffffffffffffffffff82168310155b6106ef576040517faabd5a0900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b601083111561072a576040517f2c4f399f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b838110156108b7575f85858381811061074757610747611181565b905060200201602081019061075c9190610f24565b73ffffffffffffffffffffffffffffffffffffffff16036107a9576040517f713ce51100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815f8686848181106107bd576107bd611181565b90506020020160208101906107d29190610f24565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040015f205460ff1615610832576040517f0d57d92a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001825f87878581811061084857610848611181565b905060200201602081019061085d9190610f24565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040015f2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905560010161072c565b506fffffffffffffffffffffffffffffffff91821691909216700100000000000000000000000000000000027fffffffffffffffffffffffffffffffff00000000000000000000000000000000161760019091015550565b5f61091b848484610aad565b90506109577f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af01546fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff1661097282610c5e565b10156109aa576040517ff62bc97a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5480156103b8575f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166394cf795e6040518163ffffffff1660e01b81526004015f60405180830381865afa158015610a1b573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610a609190810190611226565b905081610a6d8285610cec565b1015610aa5576040517f593ac4cb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b6060610aba60418361133a565b15610af1576040517f4be6321b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610afd60418461134d565b90505f610b2886604051602001610b149190611360565b604051602081830303815290604052610d8b565b90505f808367ffffffffffffffff811115610b4557610b456110f8565b604051908082528060200260200182016040528015610b6e578160200160208202803683370190505b509050865f5b85811015610c505760216041820283019081013560ff1690803590602001355f610ba089858585610df4565b90508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1611610c07576040517fd02ef0e500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80878681518110610c1a57610c1a611181565b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015296505060019092019150610b749050565b509098975050505050505050565b5f5f5f5b8351811015610ce557610cd1848281518110610c8057610c80611181565b602002602001015173ffffffffffffffffffffffffffffffffffffffff165f9081527f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af00602052604090205460ff1690565b15610cdd576001909101905b600101610c62565b5092915050565b5f5f5f5f5b8451811015610d81575f610d1e87878481518110610d1157610d11611181565b6020026020010151610e39565b905086518103610d2e5750610d79565b6001811b831615610d6b576040517f8044bb3300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600193840193901b91909117905b600101610cf1565b5090949350505050565b5f815160207f19457468657265756d205369676e6564204d6573736167653a0a00000000000081525f5f52815b600182039150600a81066030018253600a900480610db85750603a03602081113d3d3e80515f5117845281810160209190910384012092525090565b5f604051855f5260ff851660205283604052826060526020600160805f60015afa5191503d610e2a57638baa579f5f526004601cfd5b5f606052604052949350505050565b5f5f5b8351811015610ef757838181518110610e5757610e57611181565b60200260200101515f015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610ee35750838181518110610ea857610ea8611181565b60200260200101516020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15610eef5790506102a1565b600101610e3c565b50509051919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610f21575f5ffd5b50565b5f60208284031215610f34575f5ffd5b8135610f3f81610f00565b9392505050565b5f5f5f5f60608587031215610f59575f5ffd5b843567ffffffffffffffff811115610f6f575f5ffd5b8501601f81018713610f7f575f5ffd5b803567ffffffffffffffff811115610f95575f5ffd5b8760208260051b8401011115610fa9575f5ffd5b6020918201955093508501356fffffffffffffffffffffffffffffffff81168114610fd2575f5ffd5b9396929550929360400135925050565b5f5f83601f840112610ff2575f5ffd5b50813567ffffffffffffffff811115611009575f5ffd5b602083019150836020828501011115611020575f5ffd5b9250929050565b5f5f5f5f6040858703121561103a575f5ffd5b843567ffffffffffffffff811115611050575f5ffd5b8501601f81018713611060575f5ffd5b803567ffffffffffffffff811115611076575f5ffd5b8760208260061b840101111561108a575f5ffd5b60209182019550935085013567ffffffffffffffff8111156110aa575f5ffd5b6110b687828801610fe2565b95989497509550505050565b5f602082840312156110d2575f5ffd5b5035919050565b5f602082840312156110e9575f5ffd5b81518015158114610f3f575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361117a577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5060010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6040805190810167ffffffffffffffff811182821017156111d1576111d16110f8565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561121e5761121e6110f8565b604052919050565b5f60208284031215611236575f5ffd5b815167ffffffffffffffff81111561124c575f5ffd5b8201601f8101841361125c575f5ffd5b805167ffffffffffffffff811115611276576112766110f8565b61128560208260051b016111d7565b8082825260208201915060208360061b8501019250868311156112a6575f5ffd5b6020840193505b8284101561130357604084880312156112c4575f5ffd5b6112cc6111ae565b84516112d781610f00565b815260208501516112e781610f00565b80602083015250808352506020820191506040840193506112ad565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f826113485761134861130d565b500690565b5f8261135b5761135b61130d565b500490565b602080825282518282018190525f918401906040840190835b81811015611397578351835260209384019390920191600101611379565b50909594505050505056fea26469706673582212207ceedf727f1bd1281cce70297cdcafc481f8bd32b5e97692e0d9bf67e23bb29b64736f6c634300081c003300000000000000000000000001824a90d32a69022ddaecc6c5c14ed08db4eb9b0000000000000000000000000000000000000000000000000000000000000001\",\n        \"nonce\": \"0x5c0\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x835856ca1f90904f93c2f3272ff56c0c94a25f8d3557dbbfe6438421b2e69793\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n      \"function\": \"deployAndCall(address,address,bytes)\",\n      \"arguments\": [\n        \"0x57c612Cdc685FfAA0b970bAc784Ff1860fCb0541\",\n        \"0x6F0fB066334B67355A15dc9b67317fd2A2E20890\",\n        \"0x567942cf00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000002880a6dcc8c87dd2874bcbb9ad7e627a407cf3c2000000000000000000000000c5fe09f194c01e56fb89cc1155dae033d20cdcc7\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"to\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n        \"gas\": \"0x4bb34\",\n        \"value\": \"0x0\",\n        \"input\": \"0x4314f12000000000000000000000000057c612cdc685ffaa0b970bac784ff1860fcb05410000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c4567942cf00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000002880a6dcc8c87dd2874bcbb9ad7e627a407cf3c2000000000000000000000000c5fe09f194c01e56fb89cc1155dae033d20cdcc700000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x5c1\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [\n        {\n          \"transactionType\": \"CREATE\",\n          \"contractName\": null,\n          \"address\": \"0x863bed3e344035253cc44c75612ad5fdf5904aee\",\n          \"initCode\": \"0x60793d8160093d39f33d3d336d6396ff2a80c067f99b3d2ab4df2414605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e604c573d6000fd00000000000000\"\n        }\n      ],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xd62955f7eab7a132c3d189f337f2edaa8100d574e2feccdbab471c2f676b8c6d\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"Bridge\",\n      \"contractAddress\": \"0x4e8a5cce3078164ba75982d74d322fbc9b4de648\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x6223fa80b3f80549a9ac4f1deea54e39a74aa8fa8f74a62131460716519d4f8f\",\n        \"0x11bF22cFf007C46C725Dc59A919383326E3cdefB\",\n        \"0x488EB7F7cb2568e31595D48cb26F63963Cc7565D\",\n        \"0x863Bed3E344035253CC44C75612Ad5fDF5904aEE\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x5355eb\",\n        \"value\": \"0x0\",\n        \"input\": \"0x610100604052348015610010575f5ffd5b50604051614cc2380380614cc283398101604081905261002f91610153565b6001600160a01b0383166100565760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03821661007d5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0381166100a45760405163d92e233d60e01b815260040160405180910390fd5b60808490526001600160a01b0380841660a05282811660c052811660e0526100ca6100d3565b5050505061019d565b63409feecd19805460018116156100f15763f92ee8a95f526004601cfd5b6001600160401b03808260011c14610133578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b80516001600160a01b038116811461014e575f5ffd5b919050565b5f5f5f5f60808587031215610166575f5ffd5b8451935061017660208601610138565b925061018460408601610138565b915061019260608601610138565b905092959194509250565b60805160a05160c05160e051614ac16102015f395f81816105ae0152611fa701525f81816104830152818161099c01528181610dcb0152610fb101525f81816106a601528181610e2001526111a701525f81816105e10152610d070152614ac15ff3fe608060405260043610610229575f3560e01c806370b43d4511610131578063bd4598be116100ac578063f1d31a751161007c578063f3aa14e911610062578063f3aa14e91461071c578063fb25e6051461073b578063fee81cf4146107a8575f5ffd5b8063f1d31a75146106db578063f2fde38b14610709575f5ffd5b8063bd4598be1461062f578063bd7084b21461064e578063d227c30b14610695578063f04e283e146106c8575f5ffd5b8063946d920411610101578063a11cbfd2116100e7578063a11cbfd21461059d578063afb1f778146105d0578063b1d4dc0d14610603575f5ffd5b8063946d92041461055f5780639cd8d3251461057e575f5ffd5b806370b43d45146104d7578063715018a614610505578063770ae03d1461050d5780638da5cb5b1461052c575f5ffd5b80632de94807116101c15780635c975abb116101915780636249a05e116101775780636249a05e146104725780636736eb17146104a55780636c12f6c8146104b8575f5ffd5b80635c975abb146104265780635ca1e1651461043f575f5ffd5b80632de94807146103a55780634a4ee7b1146103d6578063514e62fc146103e957806354d1f13d1461041e575f5ffd5b80631cd64df4116101fc5780631cd64df4146102df5780632260a9c21461030e57806324ea54f414610389578063256929621461039d575f5ffd5b806316c38b3c1461022d578063183a4f6e1461024e578063189bc6ad146102615780631c10893f146102cc575b5f5ffd5b348015610238575f5ffd5b5061024c610247366004613a05565b6107d9565b005b61024c61025c366004613a20565b61084a565b34801561026c575f5ffd5b506102a261027b366004613a20565b60026020525f908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61024c6102da366004613a58565b610857565b3480156102ea575f5ffd5b506102fe6102f9366004613a58565b61086d565b60405190151581526020016102c3565b348015610319575f5ffd5b5061037b610328366004613a58565b73ffffffffffffffffffffffffffffffffffffffff919091165f9081527f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db1414830060209081526040808320938352929052205490565b6040519081526020016102c3565b348015610394575f5ffd5b5061037b600181565b61024c61088b565b3480156103b0575f5ffd5b5061037b6103bf366004613a82565b638b78c6d8600c9081525f91909152602090205490565b61024c6103e4366004613a58565b6108d8565b3480156103f4575f5ffd5b506102fe610403366004613a58565b638b78c6d8600c9081525f9290925260209091205416151590565b61024c6108ea565b348015610431575f5ffd5b506003546102fe9060ff1681565b34801561044a575f5ffd5b507f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361015461037b565b34801561047d575f5ffd5b506102a27f000000000000000000000000000000000000000000000000000000000000000081565b61024c6104b3366004613c1b565b610923565b3480156104c3575f5ffd5b5061037b6104d2366004613c6b565b610a69565b3480156104e2575f5ffd5b506102fe6104f1366004613a20565b60016020525f908152604090205460ff1681565b61024c610a73565b348015610518575f5ffd5b5061024c610527366004613ca2565b610a86565b348015610537575f5ffd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546102a2565b34801561056a575f5ffd5b5061024c610579366004613ce1565b610b62565b348015610589575f5ffd5b5061024c610598366004613c6b565b610cfd565b3480156105a8575f5ffd5b506102a27f000000000000000000000000000000000000000000000000000000000000000081565b3480156105db575f5ffd5b5061037b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561060e575f5ffd5b5061062261061d366004613d19565b61105a565b6040516102c39190613d32565b34801561063a575f5ffd5b5061024c610649366004613ca2565b611065565b348015610659575f5ffd5b507f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361005460405167ffffffffffffffff90911681526020016102c3565b3480156106a0575f5ffd5b506102a27f000000000000000000000000000000000000000000000000000000000000000081565b61024c6106d6366004613a82565b611141565b3480156106e6575f5ffd5b506102fe6106f5366004613a20565b5f6020819052908152604090205460ff1681565b61024c610717366004613a82565b61117b565b348015610727575f5ffd5b506102a2610736366004613a20565b6111a1565b348015610746575f5ffd5b5061037b610755366004613a58565b73ffffffffffffffffffffffffffffffffffffffff919091165f9081527f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db1414830160209081526040808320938352929052205490565b3480156107b3575f5ffd5b5061037b6107c2366004613a82565b63389a75e1600c9081525f91909152602090205490565b60016107e4816111cd565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168315159081179091556040519081527f444c79de75518689625f69d421a54d335ae43dda0df443aa8d23bef31e44af7e9060200160405180910390a15050565b61085433826111f1565b50565b61085f6111fc565b6108698282611231565b5050565b638b78c6d8600c9081525f8390526020902054811681145b92915050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f5fa250565b6108e06111fc565b61086982826111f1565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f5fa2565b688000000000ab143c065c156109405763ab143c065f526004601cfd5b30688000000000ab143c065d60035460ff1615610989576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181610995828261123d565b5f6109c0867f00000000000000000000000000000000000000000000000000000000000000006115a9565b90505f6109d787836109d2888a613e21565b611c14565b905061177061ffff1681511115610a1a576040517f69eae45700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a243382611dbd565b50505050610a2f5f90565b15610a5857688000000000ab143c0646600103610a4e575f815d610a52565b8081555b50505050565b5f688000000000ab143c065d505050565b5f61088582611ebe565b610a7b6111fc565b610a845f611eec565b565b688000000000ab143c065c15610aa35763ab143c065f526004601cfd5b30688000000000ab143c065d60035460ff1615610aec576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b81811015610b2a57610b22838383818110610b0b57610b0b613f68565b9050602002810190610b1d9190613f95565b611f51565b600101610aee565b505f5b15610b5257688000000000ab143c0646600103610b4c575f815d505050565b80555050565b5f688000000000ab143c065d5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011328054600382558015610bb35760018160011c14303b10610baa5763f92ee8a95f526004601cfd5b818160ff1b1b91505b5073ffffffffffffffffffffffffffffffffffffffff8416610c01576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c0a846121a3565b5f5b82811015610cc2575f848483818110610c2757610c27613f68565b9050602002016020810190610c3c9190613a82565b73ffffffffffffffffffffffffffffffffffffffff1603610c89576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cba848483818110610c9e57610c9e613f68565b9050602002016020810190610cb39190613a82565b6001611231565b600101610c0c565b508015610a52576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a150505050565b610d05612206565b7f0000000000000000000000000000000000000000000000000000000000000000604082013503610d80575f610d3e60a0830183613fd1565b810190610d4b91906140c7565b90505f5f5f8360600151806020019051810190610d6891906140f9565b925092509250610d7983838361223f565b5050505050565b6001610d9260a0830160808401614179565b6002811115610da357610da361413e565b03610def575f610db660a0830183613fd1565b810190610dc39190614192565b9050610869817f00000000000000000000000000000000000000000000000000000000000000006122a7565b6040808201355f9081526002602052205473ffffffffffffffffffffffffffffffffffffffff1680610e9a57610e497f00000000000000000000000000000000000000000000000000000000000000008360400135612734565b6040838101355f90815260026020522080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617905590505b5f610eab60a0840160808501614179565b6002811115610ebc57610ebc61413e565b03610f63575f610ecf60a0840184613fd1565b810190610edc91906140c7565b6040517f60ed1d2800000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff8316906360ed1d2890610f319084906004016141f8565b5f604051808303815f87803b158015610f48575f5ffd5b505af1158015610f5a573d5f5f3e3d5ffd5b50505050505050565b6002610f7560a0840160808501614179565b6002811115610f8657610f8661413e565b03610869575f80610f9a60a0850185613fd1565b810190610fa7919061426a565b91509150610fd5827f00000000000000000000000000000000000000000000000000000000000000006122a7565b6040517f60ed1d2800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906360ed1d28906110279084906004016141f8565b5f604051808303815f87803b15801561103e575f5ffd5b505af1158015611050573d5f5f3e3d5ffd5b5050505050505050565b606061088582612747565b688000000000ab143c065c156110825763ab143c065f526004601cfd5b30688000000000ab143c065d60035460ff16156110cb576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81816110d7828261123d565b5f6110ea6110e58587613e21565b612a61565b905061177061ffff168151111561112d576040517f69eae45700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111373382611dbd565b505050610b2d5f90565b6111496111fc565b63389a75e1600c52805f526020600c20805442111561116f57636f5e88185f526004601cfd5b5f905561085481611eec565b6111836111fc565b8060601b61119857637448fbae5f526004601cfd5b61085481611eec565b5f6108857f00000000000000000000000000000000000000000000000000000000000000008330612a94565b638b78c6d8600c52335f52806020600c205416610854576382b429005f526004601cfd5b61086982825f612b57565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610a84576382b429005f526004601cfd5b61086982826001612b57565b806040811115611279576040517f3c46992e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051603a80825261076082019092525f916020820161074080368337505060408051600c8082526101a082019092529293505f928392509060208201610180803683370190505090505f5f5b8581101561105057603a8888838181106112e3576112e3613f68565b90506020028101906112f591906142b6565b6113039060208101906142e8565b9050111561133d576040517f9ed3ecbb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b88888381811061135157611351613f68565b905060200281019061136391906142b6565b6113719060208101906142e8565b90508110156115a057365f8a8a8581811061138e5761138e613f68565b90506020028101906113a091906142b6565b6113ae9060208101906142e8565b848181106113be576113be613f68565b90506020028101906113d09190613fd1565b90925090506022811461140f576040517f74149ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81355f805b8981101561144d57828b828151811061142f5761142f613f68565b602002602001015103611445576001915061144d565b600101611414565b50806114b257603a891061148d576040517f9ed3ecbb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818a8a815181106114a0576114a0613f68565b60209081029190910101526001909801975b5f84846114c160016022614379565b60ff168181106114d3576114d3613f68565b9091013560f81c60011491508190506114f0575050505050611598565b5f5f5b8981101561152c57848b828151811061150e5761150e613f68565b602002602001015103611524576001915061152c565b6001016114f3565b508061159157600c891061156c576040517f87e497e500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b838a8a8151811061157f5761157f613f68565b60209081029190910101526001909801975b5050505050505b60010161133f565b506001016112c7565b5f5f836060015167ffffffffffffffff16116115f1576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82517f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db14148300905f9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff11111111111111111111111111111111111111120161176957845173ffffffffffffffffffffffffffffffffffffffff165f9081526001830160209081526040808320828901518452909152812054908190036116c3576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80866060015167ffffffffffffffff166116dd9190614392565b9150813414611718576040517f1841b4e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b855173ffffffffffffffffffffffffffffffffffffffff165f90815260208481526040808320828a01518452909152812080546002965084929061175d9084906143a9565b90915550611ba4915050565b34156117a1576040517f1841b4e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84516040517f34476ab100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152908516906334476ab190602401602060405180830381865afa15801561180e573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061183291906143bc565b156119cd575f855f015173ffffffffffffffffffffffffffffffffffffffff1663d6c0b2c46040518163ffffffff1660e01b8152600401602060405180830381865afa158015611884573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118a891906143d7565b602087015190915015806118bf5750602086015181145b6118f5576040517fa5269ce000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208601819052606086015186516040517f9dc29fac00000000000000000000000000000000000000000000000000000000815233600482015267ffffffffffffffff90921660248301819052935073ffffffffffffffffffffffffffffffffffffffff1690639dc29fac906044015f604051808303815f87803b15801561197b575f5ffd5b505af115801561198d573d5f5f3e3d5ffd5b5050505060208601517f069be72ab836d4eacc02525b7350a78a395da2f1253a40ebafd6630000000000146119c35760016119c5565b5f5b935050611ba4565b845173ffffffffffffffffffffffffffffffffffffffff165f908152600183016020908152604080832082890151845290915281205490819003611a3d576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81876060015167ffffffffffffffff16611a589190614392565b90505f611a68885f015130612bae565b9050611a79885f0151333085612be1565b5f611a87895f015130612bae565b90505f611a9483836143ee565b90505f611aa18683614401565b90505f8111611adc576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611ae68682614392565b96505f611af388846143ee565b90508015611b08578b51611b08903383612c43565b611b1182612c96565b8c6060019067ffffffffffffffff16908167ffffffffffffffff168152505087895f015f8e5f015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8e6020015181526020019081526020015f205f828254611b9391906143a9565b9091555060029a5050505050505050505b8451602080870151604080890151815173ffffffffffffffffffffffffffffffffffffffff909516855292840191909152820152606081018290527ff1109ae3af61805fa998753209b2a90166bfc4b38ad8a6b5a268591ce18f99c09060800160405180910390a1505092915050565b604080517f010000000000000000000000000000000000000000000000000000000000000060208201528151600181830301815260219091019091526060905f846002811115611c6657611c6661413e565b03611cb257805f8660400151611c89886060015167ffffffffffffffff16612cb3565b604051602001611c9c9493929190614450565b6040516020818303038152906040529050611d6b565b6001846002811115611cc657611cc661413e565b03611d0857806001865f015187602001518860400151611cf38a6060015167ffffffffffffffff16612cb3565b604051602001611c9c969594939291906144c1565b6002846002811115611d1c57611d1c61413e565b03611d6b5780600286602001518760400151611d45896060015167ffffffffffffffff16612cb3565b604051602001611d59959493929190614564565b60405160208183030381529060405290505b80611d7584612d21565b604051602001611d869291906145da565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815291905295945050505050565b604080516060810182527f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100805467ffffffffffffffff16825273ffffffffffffffffffffffffffffffffffffffff851660208301529181018390525f611e2282612df8565b83549091505f90611e3e90839067ffffffffffffffff16612e36565b845467ffffffffffffffff808216600101167fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909116178555604051909150819083907f877352bc1cb00627bdb5bf16a3664cfe784f66bb3c1bfef68bf5b4ae34e6659990611eae9087906145ee565b60405180910390a3505050505050565b5f610885611ed26040840160208501613d19565b67ffffffffffffffff168335611ee785612eef565b612f25565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f611f5b82610a69565b5f8181526020819052604090205490915060ff1615611f78575050565b6040517fc92a1099000000000000000000000000000000000000000000000000000000008152600481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063c92a109990602401602060405180830381865afa158015612001573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061202591906143bc565b61205b576040517f6eca2e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b30639cd8d3256120716080850160608601613d19565b67ffffffffffffffff16846040518363ffffffff1660e01b81526004016120989190614697565b5f604051808303815f88803b1580156120af575f5ffd5b5087f1935050505080156120c1575060015b61212c575f81815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690921790915551829133917f1dc47a66003d9a2334f04c3d23d98f174d7e65e9a4a72fa13277a15120c1559e9190a35050565b5f81815260016020818152604080842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00908116909155918490528084208054909216909217905551829133917f68bfb2e57fcbb47277da442d81d3e40ff118cbbcaf345b07997b35f592359e499190a35050565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b333014610a84576040517fad5db22700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db1414830061226b82600a614896565b73ffffffffffffffffffffffffffffffffffffffff9094165f908152600190910160209081526040808320948352939052919091209190915550565b604082015182517f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db141483009160601c905f9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff1111111111111111111111111111111111111112016123f857845173ffffffffffffffffffffffffffffffffffffffff165f908152600184016020908152604080832082890151845290915281205490819003612382576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80866060015167ffffffffffffffff1661239c9190614392565b865173ffffffffffffffffffffffffffffffffffffffff165f90815260208681526040808320828b015184529091528120805492945084929091906123e29084906143ee565b909155506123f290508383612f48565b506126c6565b84516040517f34476ab100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152908516906334476ab190602401602060405180830381865afa158015612465573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061248991906143bc565b156125e2575f855f015173ffffffffffffffffffffffffffffffffffffffff1663d6c0b2c46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124db573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124ff91906143d7565b905061250e8187602001511490565b612544576040517fa5269ce000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606086015186516040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015267ffffffffffffffff9093166024820181905294509116906340c10f19906044015f604051808303815f87803b1580156125c6575f5ffd5b505af11580156125d8573d5f5f3e3d5ffd5b50505050506126c6565b845173ffffffffffffffffffffffffffffffffffffffff165f908152600184016020908152604080832082890151845290915281205490819003612652576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80866060015167ffffffffffffffff1661266c9190614392565b865173ffffffffffffffffffffffffffffffffffffffff165f90815260208681526040808320828b015184529091528120805492945084929091906126b29084906143ee565b909155505085516126c4908484612c43565b505b84516020808701516040805173ffffffffffffffffffffffffffffffffffffffff948516815292830191909152918416818301526060810183905290517f6899b9db6ebabd932aa1fc835134c9b9ca2168d78a4cbee8854b1c00c86476099181900360800190a15050505050565b5f6127405f8484612f61565b9392505050565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db13610080546060919067ffffffffffffffff165f036127b0576040517fd4e9c9cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805467ffffffffffffffff908116908416106127f8576040517f41a2330800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f5f5f6128058761302c565b93509350935093505f8367ffffffffffffffff81111561282757612827613a9d565b604051908082528060200260200182016040528015612850578160200160208202803683370190505b509050845f5b8581101561295257600167ffffffffffffffff8616821c8116145f8082156128a5576128838560016143a9565b90506128908460016143a9565b61289e906001901b826143ee565b91506128ce565b6128b08460016143a9565b6128be906001901b866143a9565b90506128cb6001826143ee565b91505b60028b0154821061290b576040517f44a5e33500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8a600201828154811061292057612920613f68565b905f5260205f20015486858151811061293b5761293b613f68565b602090810291909101015293505050600101612856565b508251825161296191906143a9565b67ffffffffffffffff81111561297957612979613a9d565b6040519080825280602002602001820160405280156129a2578160200160208202803683370190505b5097505f805b83518110156129fc578381815181106129c3576129c3613f68565b60200260200101518a83806129d7906148a4565b9450815181106129e9576129e9613f68565b60209081029190910101526001016129a8565b505f5b8451811015612a5357848181518110612a1a57612a1a613f68565b60200260200101518a8380612a2e906148a4565b945081518110612a4057612a40613f68565b60209081029190910101526001016129ff565b505050505050505050919050565b60605f612a6d83612d21565b604051602001612a7e9291906148db565b6040516020818303038152906040529050919050565b604080517fb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f360609081527f1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c83527660195155f3363d3d373d3d363d602036600436635c60da60205273ffffffffffffffffffffffffffffffffffffffff86167c60523d8160223d39730000000000000000000000000000000000000000176009526074600c20919092525f91829052612b4e818585613053565b95945050505050565b638b78c6d8600c52825f526020600c20805483811783612b78575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f5fa3505050505050565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f511416612c3557803d873b151710612c3557637939f4245f526004601cfd5b505f60605260405250505050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f511416612c8c57803d853b151710612c8c576390b8ec185f526004601cfd5b505f603452505050565b5f680100000000000000008210612caf57612caf613072565b5090565b5f60c0821519811c70010000000000000000000000000000000102602081811b8218601081811b8218600881811b8218808a16821b918a901c1617808216831b921c1617808216831b921c1617808216604090811b91901c90911617608081811b91901c175b901c92915050565b60605f612d2e835161307f565b604051602001612d69919060e09190911b7fffffffff0000000000000000000000000000000000000000000000000000000016815260040190565b60405160208183030381529060405290505f5b8351811015612df15781612da8858381518110612d9b57612d9b613f68565b60200260200101516130ea565b604051602001612db99291906145da565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529150600101612d7c565b5092915050565b5f815f015182602001518360400151604051602001612e1993929190614911565b604051602081830303815290604052805190602001209050919050565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361028054600180820183555f8381527fff5d2acbda7763eef60e554187d5d0d790e60252d450c5d42ea73fe91ad1fd9c909201859055915490917f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100918391612ebc916143ee565b9050612ec88185613230565b5f612edc612ed7866001614972565b613305565b6001909301839055509091505092915050565b5f6040820135612f0560a0840160808501614179565b612f1260a0850185613fd1565b604051602001612e199493929190614992565b6040805184815260208101849052908101829052606090205f905b949350505050565b5f385f3884865af16108695763b12d13eb5f526004601cfd5b604080517fb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f36060527f1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c9091527660195155f3363d3d373d3d363d602036600436635c60da6020527c60523d8160223d3973000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8416176009525f90826074600c87f591508161301e5763301164255f526004601cfd5b6040525f6060529392505050565b5f5f5f606061303a856133cc565b9195509350915061304a85613556565b90509193509193565b5f60ff5f5350603592835260601b60015260155260555f908120915290565b6335278d125f526004601cfd5b5f60e082151960c01c70010000000000000000000000000000000102602081811b8218601081811b8218600881811b8218808a16821b918a901c1617808216831b921c1617808216831b921c1617808216604090811b91901c90911617608081811b91901c17612d19565b60605f825f015160405160200161310391815260200190565b60405160208183030381529060405290508061312384602001515161307f565b6040516020016131349291906149c2565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290505f5b8360200151518110156131db57818460200151828151811061318a5761318a613f68565b60200260200101516040516020016131a39291906145da565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529150600101613166565b50806131ea84604001516136e9565b6040516020016131fb9291906145da565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529392505050565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100825f5b600167ffffffffffffffff8516821c811603610d79575f6132758383613707565b90505f84600201828154811061328d5761328d613f68565b905f5260205f20015490505f8560020185815481106132ae576132ae613f68565b905f5260205f20015490505f6132c4838361371e565b600288018054600181810183555f8381526020902090910183905590549192506132ed916143ee565b9550846132f9816148a4565b95505050505050613254565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136102545f907f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361009080830361335b57505f9392505050565b5f6133658561374c565b905080515f0361337957505f949350505050565b80516001036133c35782600201815f8151811061339857613398613f68565b6020026020010151815481106133b0576133b0613f68565b905f5260205f2001549350505050919050565b612b4e81613849565b5f8080807f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db13610080549091505f908190819061340f9067ffffffffffffffff1661390d565b90505f61341d8260016143a9565b90505b801561351c575f6134326001836143ee565b865490915067ffffffffffffffff16811c60019081169003613509576001811b67ffffffffffffffff808616908c161080159061348b57506134748186614972565b67ffffffffffffffff168b67ffffffffffffffff16105b156134e6575f61349b868d614a01565b90505f6134a782613970565b6134bc67ffffffffffffffff84166002614392565b6134c691906143ee565b90506134d281896143a9565b9b50929950975061354f9650505050505050565b6134ef826139a8565b6134f990876143a9565b95506135058186614972565b9450505b508061351481614a21565b915050613420565b506040517f8e429c5200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9193909250565b60408051818152610820810182526060917f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100915f916020820161080080368337505083549192505f91829150819081906135b99067ffffffffffffffff1661390d565b90505f6135c78260016143a9565b90505b80156136db575f6135dc6001836143ee565b885490915067ffffffffffffffff16811c600190811690036136c8576001811b5f67ffffffffffffffff808716908d1610801590613636575061361f8287614972565b67ffffffffffffffff168c67ffffffffffffffff16105b90505f613642846139a8565b9050816136ac575f6001613656838b6143a9565b61366091906143ee565b90508b600201818154811061367757613677613f68565b905f5260205f2001548b8b8061368c906148a4565b9c508151811061369e5761369e613f68565b602002602001018181525050505b6136b681896143a9565b97506136c28388614972565b96505050505b50806136d381614a21565b9150506135ca565b505050908252509392505050565b60606136f5825161307f565b82604051602001612a7e929190614a55565b5f5f613712836139a8565b9050612f4081856143ee565b5f8183101561373a57505f828152602082905260409020610885565b5f828152602084905260409020612740565b60608167ffffffffffffffff165f0361377457604080515f8082526020820190925290612df1565b60408051818152610820810182525f9160208201610800803683370190505090505f80806137a18661390d565b90505f6137af8260016143a9565b90505b801561383e575f6137c46001836143ee565b9050600167ffffffffffffffff8916821c81160361382b575f6137e785836139c3565b9050808787815181106137fc576137fc613f68565b602090810291909101015285613811816148a4565b96505061381d826139a8565b61382790866143a9565b9450505b508061383681614a21565b9150506137b2565b505050815292915050565b5f807f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db13610090505f81600201845f8151811061388557613885613f68565b60200260200101518154811061389d5761389d613f68565b5f91825260209091200154905060015b8451811015613905575f836002018683815181106138cd576138cd613f68565b6020026020010151815481106138e5576138e5613f68565b905f5260205f20015490506138fa83826139e6565b9250506001016138ad565b509392505050565b5f8167ffffffffffffffff165f0361392657505f919050565b5f825b67ffffffffffffffff8116156139585781613943816148a4565b92505060011c677fffffffffffffff16613929565b5f8211613965575f612f40565b612f406001836143ee565b5f805b67ffffffffffffffff8316156108855761399060018416826143a9565b905060018367ffffffffffffffff16901c9250613973565b5f60016139b583826143a9565b6001901b61088591906143ee565b5f5f6139ce836139a8565b905060016139dc82866143a9565b612f4091906143ee565b5f828152602082905260408120612740565b8015158114610854575f5ffd5b5f60208284031215613a15575f5ffd5b8135612740816139f8565b5f60208284031215613a30575f5ffd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610854575f5ffd5b5f5f60408385031215613a69575f5ffd5b8235613a7481613a37565b946020939093013593505050565b5f60208284031215613a92575f5ffd5b813561274081613a37565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff81118282101715613aed57613aed613a9d565b60405290565b6040516060810167ffffffffffffffff81118282101715613aed57613aed613a9d565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613b5d57613b5d613a9d565b604052919050565b803567ffffffffffffffff81168114613b7c575f5ffd5b919050565b5f60808284031215613b91575f5ffd5b613b99613aca565b90508135613ba681613a37565b81526020828101359082015260408083013590820152613bc860608301613b65565b606082015292915050565b5f5f83601f840112613be3575f5ffd5b50813567ffffffffffffffff811115613bfa575f5ffd5b6020830191508360208260051b8501011115613c14575f5ffd5b9250929050565b5f5f5f60a08486031215613c2d575f5ffd5b613c378585613b81565b9250608084013567ffffffffffffffff811115613c52575f5ffd5b613c5e86828701613bd3565b9497909650939450505050565b5f60208284031215613c7b575f5ffd5b813567ffffffffffffffff811115613c91575f5ffd5b820160c08185031215612740575f5ffd5b5f5f60208385031215613cb3575f5ffd5b823567ffffffffffffffff811115613cc9575f5ffd5b613cd585828601613bd3565b90969095509350505050565b5f5f5f60408486031215613cf3575f5ffd5b8335613cfe81613a37565b9250602084013567ffffffffffffffff811115613c52575f5ffd5b5f60208284031215613d29575f5ffd5b61274082613b65565b602080825282518282018190525f918401906040840190835b81811015613d69578351835260209384019390920191600101613d4b565b509095945050505050565b5f67ffffffffffffffff821115613d8d57613d8d613a9d565b5060051b60200190565b5f82601f830112613da6575f5ffd5b813567ffffffffffffffff811115613dc057613dc0613a9d565b613df160207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601613b16565b818152846020838601011115613e05575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f613e33613e2e84613d74565b613b16565b8381526020810190600585901b840136811115613e4e575f5ffd5b845b81811015613d6957803567ffffffffffffffff811115613e6e575f5ffd5b86016060368290031215613e80575f5ffd5b613e88613af3565b81358152602082013567ffffffffffffffff811115613ea5575f5ffd5b820136601f820112613eb5575f5ffd5b8035613ec3613e2e82613d74565b8082825260208201915060208360051b850101925036831115613ee4575f5ffd5b602084015b83811015613f2557803567ffffffffffffffff811115613f07575f5ffd5b613f1636602083890101613d97565b84525060209283019201613ee9565b506020850152505050604082013567ffffffffffffffff811115613f47575f5ffd5b613f5336828501613d97565b60408301525085525060209384019301613e50565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff41833603018112613fc7575f5ffd5b9190910192915050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614004575f5ffd5b83018035915067ffffffffffffffff82111561401e575f5ffd5b602001915036819003821315613c14575f5ffd5b5f60808284031215614042575f5ffd5b61404a613aca565b905081356004811061405a575f5ffd5b8152602082013561406a81613a37565b602082015260408201356fffffffffffffffffffffffffffffffff81168114614091575f5ffd5b6040820152606082013567ffffffffffffffff8111156140af575f5ffd5b6140bb84828501613d97565b60608301525092915050565b5f602082840312156140d7575f5ffd5b813567ffffffffffffffff8111156140ed575f5ffd5b612f4084828501614032565b5f5f5f6060848603121561410b575f5ffd5b835161411681613a37565b60208501516040860151919450925060ff81168114614133575f5ffd5b809150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b803560038110613b7c575f5ffd5b5f60208284031215614189575f5ffd5b6127408261416b565b5f608082840312156141a2575f5ffd5b6127408383613b81565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f82516004811061420f5761420f61413e565b8060208401525073ffffffffffffffffffffffffffffffffffffffff60208401511660408301526fffffffffffffffffffffffffffffffff60408401511660608301526060830151608080840152612f4060a08401826141ac565b5f5f60a0838503121561427b575f5ffd5b6142858484613b81565b9150608083013567ffffffffffffffff8111156142a0575f5ffd5b6142ac85828601614032565b9150509250929050565b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112613fc7575f5ffd5b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261431b575f5ffd5b83018035915067ffffffffffffffff821115614335575f5ffd5b6020019150600581901b3603821315613c14575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b60ff82811682821603908111156108855761088561434c565b80820281158282048414176108855761088561434c565b808201808211156108855761088561434c565b5f602082840312156143cc575f5ffd5b8151612740816139f8565b5f602082840312156143e7575f5ffd5b5051919050565b818103818111156108855761088561434c565b5f82614434577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b5f81518060208401855e5f93019283525090919050565b5f61445b8287614439565b60f89590951b7fff000000000000000000000000000000000000000000000000000000000000001685525050600183019190915260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166021820152602901919050565b5f6144cc8289614439565b60f89790971b7fff00000000000000000000000000000000000000000000000000000000000000168752505060609390931b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660018501526015840191909152603583015260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166055820152605d01919050565b5f61456f8288614439565b60f89690961b7fff0000000000000000000000000000000000000000000000000000000000000016865250506001840192909252602183015260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166041820152604901919050565b5f612f406145e88386614439565b84614439565b6020815267ffffffffffffffff825116602082015273ffffffffffffffffffffffffffffffffffffffff60208301511660408201525f6040830151606080840152612f4060808401826141ac565b6003811061464c5761464c61413e565b9052565b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208082528235828201525f9067ffffffffffffffff906146b9908501613b65565b1660408301525f604084013590508060608401525067ffffffffffffffff6146e360608501613b65565b1660808301526146f56080840161416b565b61470260a084018261463c565b5060a08301357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614737575f5ffd5b830160208101903567ffffffffffffffff811115614753575f5ffd5b803603821315614761575f5ffd5b60c080850152612b4e60e085018284614650565b6001815b60018411156147b0578085048111156147945761479461434c565b60018416156147a257908102905b60019390931c928002614779565b935093915050565b5f826147c657506001610885565b816147d257505f610885565b81600181146147e857600281146147f25761480e565b6001915050610885565b60ff8411156148035761480361434c565b50506001821b610885565b5060208310610133831016604e8410600b8410161715614831575081810a610885565b61485c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484614775565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561488e5761488e61434c565b029392505050565b5f61274060ff8416836147b8565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036148d4576148d461434c565b5060010190565b7fff000000000000000000000000000000000000000000000000000000000000008360f81b1681525f612f406001830184614439565b7fffffffffffffffff0000000000000000000000000000000000000000000000008460c01b1681527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b1660088201525f612b4e601c830184614439565b67ffffffffffffffff81811683821601908111156108855761088561434c565b8481526149a2602082018561463c565b606060408201525f6149b8606083018486614650565b9695505050505050565b5f6149cd8285614439565b60e09390931b7fffffffff000000000000000000000000000000000000000000000000000000001683525050600401919050565b67ffffffffffffffff82811682821603908111156108855761088561434c565b5f81614a2f57614a2f61434c565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b7fffffffff000000000000000000000000000000000000000000000000000000008360e01b1681525f612f40600483018461443956fea2646970667358221220290ec9711f7eee3b922fa1ce8886b777131b7c66fc27a832dab589884dac941b64736f6c634300081c00336223fa80b3f80549a9ac4f1deea54e39a74aa8fa8f74a62131460716519d4f8f00000000000000000000000011bf22cff007c46c725dc59a919383326e3cdefb000000000000000000000000488eb7f7cb2568e31595d48cb26f63963cc7565d000000000000000000000000863bed3e344035253cc44c75612ad5fdf5904aee\",\n        \"nonce\": \"0x5c2\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xc6ac9f62efdfe2184ff96003ac2380581729456e19592ad922bf74f8e33c25ef\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n      \"function\": \"deployDeterministicAndCall(address,address,bytes32,bytes)\",\n      \"arguments\": [\n        \"0x4E8A5cce3078164bA75982D74d322Fbc9b4De648\",\n        \"0x6F0fB066334B67355A15dc9b67317fd2A2E20890\",\n        \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721ddb41d0496437ded0cfd47f7\",\n        \"0x946d92040000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"to\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n        \"gas\": \"0x4829d\",\n        \"value\": \"0x0\",\n        \"input\": \"0xa97b90d50000000000000000000000004e8a5cce3078164ba75982d74d322fbc9b4de6480000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e208908c1a617bdb47342f9c17ac8750e0b070c372c721ddb41d0496437ded0cfd47f700000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000084946d92040000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e2089000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x5c3\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [\n        {\n          \"transactionType\": \"CREATE2\",\n          \"contractName\": null,\n          \"address\": \"0x01824a90d32a69022ddaecc6c5c14ed08db4eb9b\",\n          \"initCode\": \"0x60793d8160093d39f33d3d336d6396ff2a80c067f99b3d2ab4df2414605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e604c573d6000fd00000000000000\"\n        }\n      ],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xddc3a6f439b9501c2817d33e23cfb0de8ffaf831dab02a1f5b42671138fce080\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"RelayerOrchestrator\",\n      \"contractAddress\": \"0x3558163d836af904ead458d7b86aa4a9f88bc181\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x01824a90d32A69022DdAEcC6C5C14Ed08dB4EB9B\",\n        \"0x863Bed3E344035253CC44C75612Ad5fDF5904aEE\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x7af17\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c060405234801561000f575f5ffd5b5060405161070838038061070883398101604081905261002e916100ae565b6001600160a01b0382166100555760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811661007c5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039182166080521660a0526100df565b80516001600160a01b03811681146100a9575f5ffd5b919050565b5f5f604083850312156100bf575f5ffd5b6100c883610093565b91506100d660208401610093565b90509250929050565b60805160a0516105fc61010c5f395f8181605d015261011201525f818160ad01526101be01526105fc5ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c80636cd7827d14610043578063a11cbfd214610058578063ee9a31a2146100a8575b5f5ffd5b6100566100513660046102b1565b6100cf565b005b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b841561017b576040517f7fa920b600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637fa920b69061014d9089908990879087906004016103c6565b5f604051808303815f87803b158015610164575f5ffd5b505af1158015610176573d5f5f3e3d5ffd5b505050505b8215610223576040517f770ae03d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063770ae03d906101f5908790879060040161049c565b5f604051808303815f87803b15801561020c575f5ffd5b505af115801561021e573d5f5f3e3d5ffd5b505050505b505050505050565b5f5f83601f84011261023b575f5ffd5b50813567ffffffffffffffff811115610252575f5ffd5b6020830191508360208260051b850101111561026c575f5ffd5b9250929050565b5f5f83601f840112610283575f5ffd5b50813567ffffffffffffffff81111561029a575f5ffd5b60208301915083602082850101111561026c575f5ffd5b5f5f5f5f5f5f606087890312156102c6575f5ffd5b863567ffffffffffffffff8111156102dc575f5ffd5b8701601f810189136102ec575f5ffd5b803567ffffffffffffffff811115610302575f5ffd5b8960208260061b8401011115610316575f5ffd5b60209182019750955087013567ffffffffffffffff811115610336575f5ffd5b61034289828a0161022b565b909550935050604087013567ffffffffffffffff811115610361575f5ffd5b61036d89828a01610273565b979a9699509497509295939492505050565b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b604080825281018490525f8560608301825b87811015610400578235825260208084013590830152604092830192909101906001016103d8565b50838103602085015261041481868861037f565b98975050505050505050565b803567ffffffffffffffff81168114610437575f5ffd5b919050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261046f575f5ffd5b830160208101925035905067ffffffffffffffff81111561048e575f5ffd5b80360382131561026c575f5ffd5b602080825281018290525f6040600584901b8301810190830185837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4136839003015b878210156105b9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452823581811261051a575f5ffd5b89018035865267ffffffffffffffff61053560208301610420565b1660208701526040818101359087015267ffffffffffffffff61055a60608301610420565b166060870152608081013560038110158015610574575f5ffd5b50608087015261058760a082018261043c565b915060c060a088015261059e60c08801838361037f565b965050506020830192506020840193506001820191506104de565b509297965050505050505056fea26469706673582212205088542475db6d257ca490934dd9023af311bc0327ac384da1cbf79ff6b873a564736f6c634300081c003300000000000000000000000001824a90d32a69022ddaecc6c5c14ed08db4eb9b000000000000000000000000863bed3e344035253cc44c75612ad5fdf5904aee\",\n        \"nonce\": \"0x5c4\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xf96925c95d32bbd7bcd7c6d00c63553a7bb5e58c04daccf29762feb00d660fa8\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n      \"function\": \"deploy(address,address)\",\n      \"arguments\": [\n        \"0x3558163D836Af904EAd458d7b86Aa4a9f88bc181\",\n        \"0x6F0fB066334B67355A15dc9b67317fd2A2E20890\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"to\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n        \"gas\": \"0x2a3cd\",\n        \"value\": \"0x0\",\n        \"input\": \"0x545e7c610000000000000000000000003558163d836af904ead458d7b86aa4a9f88bc1810000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\",\n        \"nonce\": \"0x5c5\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [\n        {\n          \"transactionType\": \"CREATE\",\n          \"contractName\": null,\n          \"address\": \"0x1e0842b2e6fa06a59b05a9c1d36a6480730012ce\",\n          \"initCode\": \"0x60793d8160093d39f33d3d336d6396ff2a80c067f99b3d2ab4df2414605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e604c573d6000fd00000000000000\"\n        }\n      ],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xee0a34d46c735edd0b1265c2db610f7aa817cabbf558864ed355a1aba3ed0a53\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x488eb7f7cb2568e31595d48cb26f63963cc7565d\",\n      \"function\": \"deploySolWrapper()\",\n      \"arguments\": [],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"to\": \"0x488eb7f7cb2568e31595d48cb26f63963cc7565d\",\n        \"gas\": \"0x52327\",\n        \"value\": \"0x0\",\n        \"input\": \"0xad831c1a\",\n        \"nonce\": \"0x5c6\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [\n        {\n          \"transactionType\": \"CREATE2\",\n          \"contractName\": null,\n          \"address\": \"0xcace0c896714daf7098ffd8cc54afcfe0338b4bc\",\n          \"initCode\": \"0x60523d8160223d3973c039781ccb3cb281f69f8509bfb17163993dd6d160195155f3363d3d373d3d363d602036600436635c60da1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f3\"\n        }\n      ],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x22d333\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x5077e35ff20eed7e8ce8d54cf71b6e341c554fbaad469cc5c0b41c85c6ccec98\",\n      \"transactionIndex\": \"0x5\",\n      \"blockHash\": \"0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4\",\n      \"blockNumber\": \"0x1f3a1f2\",\n      \"gasUsed\": \"0x6c1ad\",\n      \"effectiveGasPrice\": \"0xf427a\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0x66586d1297008c11006e11ae3b7cc2544db56bad\",\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x37c\",\n      \"l1GasPrice\": \"0x9\",\n      \"l1GasUsed\": \"0x442d\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x267bd6\",\n      \"logs\": [\n        {\n          \"address\": \"0x11bf22cff007c46c725dc59a919383326e3cdefb\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4\",\n          \"blockNumber\": \"0x1f3a1f2\",\n          \"blockTimestamp\": \"0x68faa2c4\",\n          \"transactionHash\": \"0x196d8816c38e862a57e249ba8f238d3f4cc80d5d4598c8e986731555e044b4bb\",\n          \"transactionIndex\": \"0x6\",\n          \"logIndex\": \"0x26\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x11bf22cff007c46c725dc59a919383326e3cdefb\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x00000000000000000000000066586d1297008c11006e11ae3b7cc2544db56bad\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4\",\n          \"blockNumber\": \"0x1f3a1f2\",\n          \"blockTimestamp\": \"0x68faa2c4\",\n          \"transactionHash\": \"0x196d8816c38e862a57e249ba8f238d3f4cc80d5d4598c8e986731555e044b4bb\",\n          \"transactionIndex\": \"0x6\",\n          \"logIndex\": \"0x27\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000400000000000000000800000000000000000000002000000000000000000000000000000000000000000000000040000000000000000000000000000000002000001000000000000000000000000000000000000020000000000400000000800000000000040000000000000000000408000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000001020000000000000000000000000000000000000000000000000000020000000000000000000000000000000010000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x196d8816c38e862a57e249ba8f238d3f4cc80d5d4598c8e986731555e044b4bb\",\n      \"transactionIndex\": \"0x6\",\n      \"blockHash\": \"0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4\",\n      \"blockNumber\": \"0x1f3a1f2\",\n      \"gasUsed\": \"0x3a8a3\",\n      \"effectiveGasPrice\": \"0xf427a\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0x11bf22cff007c46c725dc59a919383326e3cdefb\",\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x206\",\n      \"l1GasPrice\": \"0x9\",\n      \"l1GasUsed\": \"0x2794\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x362983\",\n      \"logs\": [\n        {\n          \"address\": \"0x36ce7eae58186e092e5ce44f7fcb4c926768bc32\",\n          \"topics\": [\n            \"0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000ffffffffffffffff\",\n          \"blockHash\": \"0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4\",\n          \"blockNumber\": \"0x1f3a1f2\",\n          \"blockTimestamp\": \"0x68faa2c4\",\n          \"transactionHash\": \"0x174f9be3c6ab04e172dc685d5ae4eeb43a16ddc0843757dc5c69fc42d60b95c9\",\n          \"transactionIndex\": \"0x7\",\n          \"logIndex\": \"0x28\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000800000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x174f9be3c6ab04e172dc685d5ae4eeb43a16ddc0843757dc5c69fc42d60b95c9\",\n      \"transactionIndex\": \"0x7\",\n      \"blockHash\": \"0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4\",\n      \"blockNumber\": \"0x1f3a1f2\",\n      \"gasUsed\": \"0xfadad\",\n      \"effectiveGasPrice\": \"0xf427a\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0x36ce7eae58186e092e5ce44f7fcb4c926768bc32\",\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x823\",\n      \"l1GasPrice\": \"0x9\",\n      \"l1GasUsed\": \"0x9f18\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x39d23e\",\n      \"logs\": [\n        {\n          \"address\": \"0xc039781ccb3cb281f69f8509bfb17163993dd6d1\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4\",\n          \"blockNumber\": \"0x1f3a1f2\",\n          \"blockTimestamp\": \"0x68faa2c4\",\n          \"transactionHash\": \"0x841c94f576860c46e1bfd8c5b29b2970f9495b48f21bb9b80f87b77754c3fac0\",\n          \"transactionIndex\": \"0x8\",\n          \"logIndex\": \"0x29\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc039781ccb3cb281f69f8509bfb17163993dd6d1\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x00000000000000000000000036ce7eae58186e092e5ce44f7fcb4c926768bc32\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4\",\n          \"blockNumber\": \"0x1f3a1f2\",\n          \"blockTimestamp\": \"0x68faa2c4\",\n          \"transactionHash\": \"0x841c94f576860c46e1bfd8c5b29b2970f9495b48f21bb9b80f87b77754c3fac0\",\n          \"transactionIndex\": \"0x8\",\n          \"logIndex\": \"0x2a\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000200000000000000400000000000000000800000000000000000000002408000000000000000000000000000000000000000000000000000000000000000000000000000000002000001000000000000000000000000000000000000020000000000400000000800000000000000000000000000000000400000000000000000000000400000000000000000000000000000000000000000000000000000000200000000000000080002000000000000000000000000000000000020000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x841c94f576860c46e1bfd8c5b29b2970f9495b48f21bb9b80f87b77754c3fac0\",\n      \"transactionIndex\": \"0x8\",\n      \"blockHash\": \"0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4\",\n      \"blockNumber\": \"0x1f3a1f2\",\n      \"gasUsed\": \"0x3a8bb\",\n      \"effectiveGasPrice\": \"0xf427a\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0xc039781ccb3cb281f69f8509bfb17163993dd6d1\",\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x206\",\n      \"l1GasPrice\": \"0x9\",\n      \"l1GasUsed\": \"0x2794\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x404d1a\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x9f883cb5add5e4359a90759a9af90609af1f6594cd7045119ea7913565a88ed0\",\n      \"transactionIndex\": \"0x9\",\n      \"blockHash\": \"0x0e42af71f4b402c16952e566a4f15cccae4d8e6b5d05e20ffa949a1693fc351d\",\n      \"blockNumber\": \"0x1f3a1f2\",\n      \"gasUsed\": \"0x67adc\",\n      \"effectiveGasPrice\": \"0xf427a\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0xa97abd07320801d8bf083e192da44d4405bbc0a0\",\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x51\",\n      \"l1GasPrice\": \"0x9\",\n      \"l1GasUsed\": \"0x484f\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x42365f\",\n      \"logs\": [\n        {\n          \"address\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n          \"topics\": [\n            \"0xc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b8178082\",\n            \"0x000000000000000000000000488eb7f7cb2568e31595d48cb26f63963cc7565d\",\n            \"0x000000000000000000000000a97abd07320801d8bf083e192da44d4405bbc0a0\",\n            \"0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4\",\n          \"blockNumber\": \"0x1f3a1f2\",\n          \"blockTimestamp\": \"0x68faa2c4\",\n          \"transactionHash\": \"0x3dc221b5371478e11915c2e90bc75eb294986f9af27e475b76e029b4e6aa641f\",\n          \"transactionIndex\": \"0xa\",\n          \"logIndex\": \"0x2b\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000800000000000000000000400000002000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000400000000000200000000000000000000000000000000000800000100200000000000000000000000000000400000000000000000000000000000000000000000000000000080000000000000000000000000000000000800000000040000000400000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x3dc221b5371478e11915c2e90bc75eb294986f9af27e475b76e029b4e6aa641f\",\n      \"transactionIndex\": \"0xa\",\n      \"blockHash\": \"0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4\",\n      \"blockNumber\": \"0x1f3a1f2\",\n      \"gasUsed\": \"0x1e945\",\n      \"effectiveGasPrice\": \"0xf427a\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n      \"contractAddress\": null,\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x51\",\n      \"l1GasPrice\": \"0x9\",\n      \"l1GasUsed\": \"0x640\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x54d1b3\",\n      \"logs\": [\n        {\n          \"address\": \"0x57c612cdc685ffaa0b970bac784ff1860fcb0541\",\n          \"topics\": [\n            \"0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000ffffffffffffffff\",\n          \"blockHash\": \"0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4\",\n          \"blockNumber\": \"0x1f3a1f2\",\n          \"blockTimestamp\": \"0x68faa2c4\",\n          \"transactionHash\": \"0xa9c540bb9682bbb3ea061804629f066a81e06595fbadd20dc7eaca731d565d61\",\n          \"transactionIndex\": \"0xb\",\n          \"logIndex\": \"0x2c\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000100000000000000000000000000000800000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xa9c540bb9682bbb3ea061804629f066a81e06595fbadd20dc7eaca731d565d61\",\n      \"transactionIndex\": \"0xb\",\n      \"blockHash\": \"0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4\",\n      \"blockNumber\": \"0x1f3a1f2\",\n      \"gasUsed\": \"0x129b54\",\n      \"effectiveGasPrice\": \"0xf427a\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0x57c612cdc685ffaa0b970bac784ff1860fcb0541\",\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x8d4\",\n      \"l1GasPrice\": \"0x9\",\n      \"l1GasUsed\": \"0xaca3\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x583e97\",\n      \"logs\": [\n        {\n          \"address\": \"0x863bed3e344035253cc44c75612ad5fdf5904aee\",\n          \"topics\": [\n            \"0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4\",\n          \"blockNumber\": \"0x1f3a1f2\",\n          \"blockTimestamp\": \"0x68faa2c4\",\n          \"transactionHash\": \"0x835856ca1f90904f93c2f3272ff56c0c94a25f8d3557dbbfe6438421b2e69793\",\n          \"transactionIndex\": \"0xc\",\n          \"logIndex\": \"0x2d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n          \"topics\": [\n            \"0xc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b8178082\",\n            \"0x000000000000000000000000863bed3e344035253cc44c75612ad5fdf5904aee\",\n            \"0x00000000000000000000000057c612cdc685ffaa0b970bac784ff1860fcb0541\",\n            \"0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4\",\n          \"blockNumber\": \"0x1f3a1f2\",\n          \"blockTimestamp\": \"0x68faa2c4\",\n          \"transactionHash\": \"0x835856ca1f90904f93c2f3272ff56c0c94a25f8d3557dbbfe6438421b2e69793\",\n          \"transactionIndex\": \"0xc\",\n          \"logIndex\": \"0x2e\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000010000000000800800000000000000000004400000002000000000000000000000000000000000000000000000000000000000000000000800000000000000004000000000000000000000000000000000000000000000000000000400000000000200000000000000000000000000000000000800000000000000800000000000000000000000080000000000100001010000000000000000000000000000000080000000000000000000000000000000000800000800000000000400000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x835856ca1f90904f93c2f3272ff56c0c94a25f8d3557dbbfe6438421b2e69793\",\n      \"transactionIndex\": \"0xc\",\n      \"blockHash\": \"0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4\",\n      \"blockNumber\": \"0x1f3a1f2\",\n      \"gasUsed\": \"0x36ce4\",\n      \"effectiveGasPrice\": \"0xf427a\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n      \"contractAddress\": null,\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x8f\",\n      \"l1GasPrice\": \"0x9\",\n      \"l1GasUsed\": \"0xaee\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xa8781e\",\n      \"logs\": [\n        {\n          \"address\": \"0x4e8a5cce3078164ba75982d74d322fbc9b4de648\",\n          \"topics\": [\n            \"0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000ffffffffffffffff\",\n          \"blockHash\": \"0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4\",\n          \"blockNumber\": \"0x1f3a1f2\",\n          \"blockTimestamp\": \"0x68faa2c4\",\n          \"transactionHash\": \"0xd62955f7eab7a132c3d189f337f2edaa8100d574e2feccdbab471c2f676b8c6d\",\n          \"transactionIndex\": \"0xe\",\n          \"logIndex\": \"0x35\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000800000000000000000000000080000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xd62955f7eab7a132c3d189f337f2edaa8100d574e2feccdbab471c2f676b8c6d\",\n      \"transactionIndex\": \"0xe\",\n      \"blockHash\": \"0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4\",\n      \"blockNumber\": \"0x1f3a1f2\",\n      \"gasUsed\": \"0x401ab5\",\n      \"effectiveGasPrice\": \"0xf427a\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0x4e8a5cce3078164ba75982d74d322fbc9b4de648\",\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x1d1f\",\n      \"l1GasPrice\": \"0x9\",\n      \"l1GasUsed\": \"0x23958\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xab8d99\",\n      \"logs\": [\n        {\n          \"address\": \"0x01824a90d32a69022ddaecc6c5c14ed08db4eb9b\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4\",\n          \"blockNumber\": \"0x1f3a1f2\",\n          \"blockTimestamp\": \"0x68faa2c4\",\n          \"transactionHash\": \"0xc6ac9f62efdfe2184ff96003ac2380581729456e19592ad922bf74f8e33c25ef\",\n          \"transactionIndex\": \"0xf\",\n          \"logIndex\": \"0x36\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x01824a90d32a69022ddaecc6c5c14ed08db4eb9b\",\n          \"topics\": [\n            \"0x715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe26\",\n            \"0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000001\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4\",\n          \"blockNumber\": \"0x1f3a1f2\",\n          \"blockTimestamp\": \"0x68faa2c4\",\n          \"transactionHash\": \"0xc6ac9f62efdfe2184ff96003ac2380581729456e19592ad922bf74f8e33c25ef\",\n          \"transactionIndex\": \"0xf\",\n          \"logIndex\": \"0x37\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x01824a90d32a69022ddaecc6c5c14ed08db4eb9b\",\n          \"topics\": [\n            \"0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4\",\n          \"blockNumber\": \"0x1f3a1f2\",\n          \"blockTimestamp\": \"0x68faa2c4\",\n          \"transactionHash\": \"0xc6ac9f62efdfe2184ff96003ac2380581729456e19592ad922bf74f8e33c25ef\",\n          \"transactionIndex\": \"0xf\",\n          \"logIndex\": \"0x38\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n          \"topics\": [\n            \"0xc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b8178082\",\n            \"0x00000000000000000000000001824a90d32a69022ddaecc6c5c14ed08db4eb9b\",\n            \"0x0000000000000000000000004e8a5cce3078164ba75982d74d322fbc9b4de648\",\n            \"0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4\",\n          \"blockNumber\": \"0x1f3a1f2\",\n          \"blockTimestamp\": \"0x68faa2c4\",\n          \"transactionHash\": \"0xc6ac9f62efdfe2184ff96003ac2380581729456e19592ad922bf74f8e33c25ef\",\n          \"transactionIndex\": \"0xf\",\n          \"logIndex\": \"0x39\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000200000000000000000000800000800000000000000400000002004000000000000000000000000000000000000000000000040000000000000000000000000000000000000001000000040000000000000000000000000000020000000000400000000800200000000000000000000000000000400000800000000000000800000000000000000000040080001000000000000000000000000000000000001000000000080000000000090000000010000000400000802000400000000000400000000000000000000004000000000000000060000000000000000000000000000001000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xc6ac9f62efdfe2184ff96003ac2380581729456e19592ad922bf74f8e33c25ef\",\n      \"transactionIndex\": \"0xf\",\n      \"blockHash\": \"0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4\",\n      \"blockNumber\": \"0x1f3a1f2\",\n      \"gasUsed\": \"0x3157b\",\n      \"effectiveGasPrice\": \"0xf427a\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n      \"contractAddress\": null,\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x88\",\n      \"l1GasPrice\": \"0x9\",\n      \"l1GasUsed\": \"0xa76\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xb176bf\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xddc3a6f439b9501c2817d33e23cfb0de8ffaf831dab02a1f5b42671138fce080\",\n      \"transactionIndex\": \"0x10\",\n      \"blockHash\": \"0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4\",\n      \"blockNumber\": \"0x1f3a1f2\",\n      \"gasUsed\": \"0x5e926\",\n      \"effectiveGasPrice\": \"0xf427a\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0x3558163d836af904ead458d7b86aa4a9f88bc181\",\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x345\",\n      \"l1GasPrice\": \"0x9\",\n      \"l1GasUsed\": \"0x3ff1\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xb36004\",\n      \"logs\": [\n        {\n          \"address\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n          \"topics\": [\n            \"0xc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b8178082\",\n            \"0x0000000000000000000000001e0842b2e6fa06a59b05a9c1d36a6480730012ce\",\n            \"0x0000000000000000000000003558163d836af904ead458d7b86aa4a9f88bc181\",\n            \"0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4\",\n          \"blockNumber\": \"0x1f3a1f2\",\n          \"blockTimestamp\": \"0x68faa2c4\",\n          \"transactionHash\": \"0xf96925c95d32bbd7bcd7c6d00c63553a7bb5e58c04daccf29762feb00d660fa8\",\n          \"transactionIndex\": \"0x11\",\n          \"logIndex\": \"0x3a\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000010000000000000000000000000000000000000800000000000000000000400000002000000000000000000000000000000000000400000000020000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000400000000000200000004000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000800000000000000020400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xf96925c95d32bbd7bcd7c6d00c63553a7bb5e58c04daccf29762feb00d660fa8\",\n      \"transactionIndex\": \"0x11\",\n      \"blockHash\": \"0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4\",\n      \"blockNumber\": \"0x1f3a1f2\",\n      \"gasUsed\": \"0x1e945\",\n      \"effectiveGasPrice\": \"0xf427a\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n      \"contractAddress\": null,\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x51\",\n      \"l1GasPrice\": \"0x9\",\n      \"l1GasUsed\": \"0x640\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xb7182a\",\n      \"logs\": [\n        {\n          \"address\": \"0xcace0c896714daf7098ffd8cc54afcfe0338b4bc\",\n          \"topics\": [\n            \"0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4\",\n          \"blockNumber\": \"0x1f3a1f2\",\n          \"blockTimestamp\": \"0x68faa2c4\",\n          \"transactionHash\": \"0xee0a34d46c735edd0b1265c2db610f7aa817cabbf558864ed355a1aba3ed0a53\",\n          \"transactionIndex\": \"0x12\",\n          \"logIndex\": \"0x3b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x488eb7f7cb2568e31595d48cb26f63963cc7565d\",\n          \"topics\": [\n            \"0x0b84965add45c4d10c5aacc22714edc5f88def8df83d2c1f9d18b45ef2d28783\",\n            \"0x000000000000000000000000cace0c896714daf7098ffd8cc54afcfe0338b4bc\",\n            \"0x069be72ab836d4eacc02525b7350a78a395da2f1253a40ebafd6630000000000\"\n          ],\n          \"data\": \"0x0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721\",\n          \"blockHash\": \"0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4\",\n          \"blockNumber\": \"0x1f3a1f2\",\n          \"blockTimestamp\": \"0x68faa2c4\",\n          \"transactionHash\": \"0xee0a34d46c735edd0b1265c2db610f7aa817cabbf558864ed355a1aba3ed0a53\",\n          \"transactionIndex\": \"0x12\",\n          \"logIndex\": \"0x3c\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000100000000001020000000000000000000020000000000000000001000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000100800000000000000080000000080000000000000000000000000000000000000000000000000000000000000000000001000000000000002000000000000000000000000000000000000000104000000000000000000000000000000000000000000000000000000000800000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xee0a34d46c735edd0b1265c2db610f7aa817cabbf558864ed355a1aba3ed0a53\",\n      \"transactionIndex\": \"0x12\",\n      \"blockHash\": \"0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4\",\n      \"blockNumber\": \"0x1f3a1f2\",\n      \"gasUsed\": \"0x3b826\",\n      \"effectiveGasPrice\": \"0xf427a\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": \"0x488eb7f7cb2568e31595d48cb26f63963cc7565d\",\n      \"contractAddress\": null,\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x51\",\n      \"l1GasPrice\": \"0x9\",\n      \"l1GasUsed\": \"0x640\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1761256132305,\n  \"chain\": 84532,\n  \"commit\": \"7062242\"\n}"
  },
  {
    "path": "sepolia/2025-10-17-base-bridge-deployment/script/DeployBridge.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.28;\n\nimport {Script} from \"forge-std/Script.sol\";\nimport {stdJson} from \"forge-std/StdJson.sol\";\nimport {ERC1967Factory} from \"@solady/utils/ERC1967Factory.sol\";\nimport {ERC1967FactoryConstants} from \"@solady/utils/ERC1967FactoryConstants.sol\";\nimport {LibString} from \"solady/utils/LibString.sol\";\nimport {UpgradeableBeacon} from \"@solady/utils/UpgradeableBeacon.sol\";\nimport {AddressAliasHelper} from \"@eth-optimism-bedrock/src/vendor/AddressAliasHelper.sol\";\n\nimport {Pubkey} from \"bridge/libraries/SVMLib.sol\";\nimport {TokenLib} from \"bridge/libraries/TokenLib.sol\";\nimport {RelayerOrchestrator} from \"bridge/periphery/RelayerOrchestrator.sol\";\nimport {Bridge} from \"bridge/Bridge.sol\";\nimport {BridgeValidator} from \"bridge/BridgeValidator.sol\";\nimport {CrossChainERC20} from \"bridge/CrossChainERC20.sol\";\nimport {CrossChainERC20Factory} from \"bridge/CrossChainERC20Factory.sol\";\nimport {Twin} from \"bridge/Twin.sol\";\n\nstruct Cfg {\n    bytes32 salt;\n    address erc1967Factory;\n    address initialOwner;\n    address partnerValidators;\n    address[] baseValidators;\n    uint128 baseSignatureThreshold;\n    uint256 partnerValidatorThreshold;\n    Pubkey remoteBridge;\n    address[] guardians;\n}\n\ncontract DeployBridge is Script {\n    using stdJson for string;\n    using AddressAliasHelper for address;\n\n    string public cfgData;\n    Cfg public cfg;\n\n    function setUp() public {\n        cfgData = vm.readFile(string.concat(vm.projectRoot(), \"/config.json\"));\n\n        cfg.salt = _readBytes32FromConfig(\"salt\");\n        cfg.erc1967Factory = ERC1967FactoryConstants.ADDRESS;\n        cfg.initialOwner = _readAddressFromConfig(\"initialOwner\").applyL1ToL2Alias();\n        cfg.partnerValidators = _readAddressFromConfig(\"partnerValidators\");\n        cfg.baseValidators = _readAddressArrayFromConfig(\"baseValidators\");\n        cfg.baseSignatureThreshold = uint128(_readUintFromConfig(\"baseSignatureThreshold\"));\n        cfg.partnerValidatorThreshold = _readUintFromConfig(\"partnerValidatorThreshold\");\n        cfg.remoteBridge = Pubkey.wrap(_readBytes32FromConfig(\"remoteBridge\"));\n        cfg.guardians = _readAddressArrayFromConfig(\"guardians\");\n\n        require(cfg.guardians.length == 1, \"invalid guardians length\");\n        cfg.guardians[0] = cfg.guardians[0].applyL1ToL2Alias();\n    }\n\n    function run() public {\n        address precomputedBridgeAddress = ERC1967Factory(cfg.erc1967Factory).predictDeterministicAddress(_salt());\n\n        vm.startBroadcast();\n        address twinBeacon = _deployTwinBeacon({precomputedBridgeAddress: precomputedBridgeAddress});\n        address factory = _deployFactory({precomputedBridgeAddress: precomputedBridgeAddress});\n        address bridgeValidator = _deployBridgeValidator({bridge: precomputedBridgeAddress});\n        address bridge =\n            _deployBridge({twinBeacon: twinBeacon, crossChainErc20Factory: factory, bridgeValidator: bridgeValidator});\n        address relayerOrchestrator = _deployRelayerOrchestrator({bridge: bridge, bridgeValidator: bridgeValidator});\n        address sol = CrossChainERC20Factory(factory).deploySolWrapper();\n        vm.stopBroadcast();\n\n        require(address(bridge) == precomputedBridgeAddress, \"Bridge address mismatch\");\n\n        _serializeAddress({key: \"Bridge\", value: bridge});\n        _serializeAddress({key: \"BridgeValidator\", value: bridgeValidator});\n        _serializeAddress({key: \"CrossChainERC20Factory\", value: factory});\n        _serializeAddress({key: \"Twin\", value: twinBeacon});\n        _serializeAddress({key: \"RelayerOrchestrator\", value: relayerOrchestrator});\n        _serializeAddress({key: \"WrappedSol\", value: sol});\n\n        _postCheck(twinBeacon, factory, bridgeValidator, bridge, relayerOrchestrator, sol);\n    }\n\n    function _postCheck(\n        address twinBeacon,\n        address factory,\n        address bridgeValidator,\n        address bridge,\n        address relayerOrchestrator,\n        address sol\n    ) private view {\n        // Twin\n        Twin twinImpl = Twin(payable(UpgradeableBeacon(twinBeacon).implementation()));\n        require(twinImpl.BRIDGE() == bridge, \"PC01: incorrect bridge address in twin impl\");\n\n        // Factory\n        UpgradeableBeacon tokenBeacon = UpgradeableBeacon(CrossChainERC20Factory(factory).BEACON());\n        CrossChainERC20 tokenImpl = CrossChainERC20(tokenBeacon.implementation());\n        require(tokenImpl.bridge() == bridge, \"PC02: incorrect bridge address in token impl\");\n\n        // BridgeValidator\n        require(\n            BridgeValidator(bridgeValidator).BRIDGE() == bridge, \"PC03: incorrect bridge address in BridgeValidator\"\n        );\n        require(\n            BridgeValidator(bridgeValidator).PARTNER_VALIDATORS() == cfg.partnerValidators,\n            \"PC04: incorrect partnerValidators address in BridgeValidator\"\n        );\n        require(\n            BridgeValidator(bridgeValidator).partnerValidatorThreshold() == cfg.partnerValidatorThreshold,\n            \"PC05: incorrect partner validator threshold in BridgeValidator\"\n        );\n        require(\n            BridgeValidator(bridgeValidator).getBaseThreshold() == cfg.baseSignatureThreshold,\n            \"PC06: incorrect Base threshold in BridgeValidator\"\n        );\n        require(\n            BridgeValidator(bridgeValidator).getBaseValidatorCount() == cfg.baseValidators.length,\n            \"PC07: incorrect registered base validator count\"\n        );\n\n        for (uint256 i; i < cfg.baseValidators.length; i++) {\n            require(\n                BridgeValidator(bridgeValidator).isBaseValidator(cfg.baseValidators[i]),\n                \"PC08: base validator not registered\"\n            );\n        }\n\n        // Bridge\n        require(Bridge(bridge).REMOTE_BRIDGE() == cfg.remoteBridge, \"PC09: incorrect remote bridge in Bridge contract\");\n        require(Bridge(bridge).TWIN_BEACON() == twinBeacon, \"PC10: incorrect twin beacon in Bridge contract\");\n        require(Bridge(bridge).CROSS_CHAIN_ERC20_FACTORY() == factory, \"PC11: incorrect factory in Bridge contract\");\n        require(\n            Bridge(bridge).BRIDGE_VALIDATOR() == bridgeValidator, \"PC12: incorrect bridge validator in Bridge contract\"\n        );\n        require(Bridge(bridge).owner() == cfg.initialOwner, \"PC13: incorrect Bridge owner\");\n\n        for (uint256 i; i < cfg.guardians.length; i++) {\n            require(\n                Bridge(bridge).rolesOf(cfg.guardians[i]) == Bridge(bridge).GUARDIAN_ROLE(),\n                \"PC14: guardian missing perms\"\n            );\n        }\n\n        // RelayerOrchestrator\n        require(\n            RelayerOrchestrator(relayerOrchestrator).BRIDGE() == bridge, \"PC15: incorrect bridge in RelayerOrchestrator\"\n        );\n        require(\n            RelayerOrchestrator(relayerOrchestrator).BRIDGE_VALIDATOR() == bridgeValidator,\n            \"PC16: incorrect bridge validator in RelayerOrchestrator\"\n        );\n\n        // SOL\n        require(CrossChainERC20(sol).bridge() == bridge, \"PC17: incorrect bridge in SOL contract\");\n        require(LibString.eq(CrossChainERC20(sol).name(), \"Solana\"), \"PC18: incorrect SOL name\");\n        require(LibString.eq(CrossChainERC20(sol).symbol(), \"SOL\"), \"PC19: incorrect SOL symbol\");\n        require(\n            CrossChainERC20(sol).remoteToken() == Pubkey.unwrap(TokenLib.NATIVE_SOL_PUBKEY),\n            \"PC20: incorrect SOL remote token\"\n        );\n        require(CrossChainERC20(sol).decimals() == 9, \"PC21: incorrect SOL decimals\");\n    }\n\n    function _deployTwinBeacon(address precomputedBridgeAddress) private returns (address) {\n        address twinImpl = address(new Twin(precomputedBridgeAddress));\n        return address(new UpgradeableBeacon({initialOwner: cfg.initialOwner, initialImplementation: twinImpl}));\n    }\n\n    function _deployFactory(address precomputedBridgeAddress) private returns (address) {\n        address erc20Impl = address(new CrossChainERC20(precomputedBridgeAddress));\n        address erc20Beacon =\n            address(new UpgradeableBeacon({initialOwner: cfg.initialOwner, initialImplementation: erc20Impl}));\n\n        address xChainErc20FactoryImpl = address(new CrossChainERC20Factory(erc20Beacon));\n        return\n            ERC1967Factory(cfg.erc1967Factory).deploy({implementation: xChainErc20FactoryImpl, admin: cfg.initialOwner});\n    }\n\n    function _deployBridgeValidator(address bridge) private returns (address) {\n        address bridgeValidatorImpl =\n            address(new BridgeValidator({bridgeAddress: bridge, partnerValidators: cfg.partnerValidators}));\n\n        return ERC1967Factory(cfg.erc1967Factory)\n            .deployAndCall({\n                implementation: bridgeValidatorImpl,\n                admin: cfg.initialOwner,\n                data: abi.encodeCall(\n                    BridgeValidator.initialize,\n                    (cfg.baseValidators, cfg.baseSignatureThreshold, cfg.partnerValidatorThreshold)\n                )\n            });\n    }\n\n    function _deployBridge(address twinBeacon, address crossChainErc20Factory, address bridgeValidator)\n        private\n        returns (address)\n    {\n        Bridge bridgeImpl = new Bridge({\n            remoteBridge: cfg.remoteBridge,\n            twinBeacon: twinBeacon,\n            crossChainErc20Factory: crossChainErc20Factory,\n            bridgeValidator: bridgeValidator\n        });\n\n        return ERC1967Factory(cfg.erc1967Factory)\n            .deployDeterministicAndCall({\n                implementation: address(bridgeImpl),\n                admin: cfg.initialOwner,\n                salt: _salt(),\n                data: abi.encodeCall(Bridge.initialize, (cfg.initialOwner, cfg.guardians))\n            });\n    }\n\n    function _deployRelayerOrchestrator(address bridge, address bridgeValidator) private returns (address) {\n        address relayerOrchestratorImpl =\n            address(new RelayerOrchestrator({bridge: bridge, bridgeValidator: bridgeValidator}));\n\n        return\n            ERC1967Factory(cfg.erc1967Factory)\n                .deploy({implementation: relayerOrchestratorImpl, admin: cfg.initialOwner});\n    }\n\n    function _serializeAddress(string memory key, address value) private {\n        vm.writeJson({\n            json: LibString.toHexStringChecksummed(value), path: \"addresses.json\", valueKey: string.concat(\".\", key)\n        });\n    }\n\n    function _readAddressFromConfig(string memory key) private view returns (address) {\n        return vm.parseJsonAddress({json: cfgData, key: string.concat(\".\", key)});\n    }\n\n    function _readAddressArrayFromConfig(string memory key) private view returns (address[] memory) {\n        return vm.parseJsonAddressArray({json: cfgData, key: string.concat(\".\", key)});\n    }\n\n    function _readUintFromConfig(string memory key) private view returns (uint256) {\n        return vm.parseJsonUint({json: cfgData, key: string.concat(\".\", key)});\n    }\n\n    function _readBytes32FromConfig(string memory key) private view returns (bytes32) {\n        return vm.parseJsonBytes32({json: cfgData, key: string.concat(\".\", key)});\n    }\n\n    /// @dev Appends `msg.sender` to the front of the salt to satisfy a requirement\n    ///      of the `ERC1967Factory.deployDeterministicAndCall()` method.\n    function _salt() private view returns (bytes32) {\n        bytes12 s = bytes12(keccak256(abi.encode(cfg.salt)));\n        return bytes32(abi.encodePacked(msg.sender, s));\n    }\n}\n"
  },
  {
    "path": "sepolia/2025-10-23-pause-bridge-base/FACILITATOR.md",
    "content": "# Facilitator Guide\n\nGuide for facilitators after collecting signatures from signers.\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd sepolia/2025-10-23-pause-bridge-base\nmake deps\n```\n\n### 2. Execute pause\n\n```bash\nSIGNATURES=AAABBBCCC make execute-pause\n```\n\n### 3. (When ready) Execute un-pause\n\n```bash\nSIGNATURES=AAABBBCCC make execute-unpause\n```\n"
  },
  {
    "path": "sepolia/2025-10-23-pause-bridge-base/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 1\nendif\n\nSAFE_NONCE=6\n\nSCRIPT_NAME=PauseBridge\n\n.PHONY: gen-validation\ngen-validation: checkout-signer-tool run-script\n\n.PHONY: run-script\nrun-script:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(L1_RPC_URL) \\\n\t--workdir .. --forge-cmd 'forge script --rpc-url $(L1_RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" [] --sender 0xb2d9a52e76841279EF0372c534C539a4f68f8C0B' --out ../validations/base-signer.json;\n\n.PHONY: sign-pause\nsign-pause:\n\tIS_PAUSED=true SAFE_NONCE=$(SAFE_NONCE) $(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \\\n\t--sig \"sign(address[])\" \"[]\" --sender 0xb2d9a52e76841279EF0372c534C539a4f68f8C0B\n\n.PHONY: sign-unpause\nsign-unpause:\n\tIS_PAUSED=false SAFE_NONCE=$(SAFE_NONCE) $(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \\\n\t--sig \"sign(address[])\" \"[]\" --sender 0xb2d9a52e76841279EF0372c534C539a4f68f8C0B\n\n# Execute\n.PHONY: execute-pause\nexecute-pause:\n\tIS_PAUSED=true forge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\"  --broadcast -vvvv\n\n.PHONY: execute-unpause\nexecute-unpause:\n\tIS_PAUSED=false forge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\"  --broadcast -vvvv\n\n.PHONY: check-status\ncheck-status:\n\tcast call $(L2_BRIDGE) \"paused()\" --rpc-url $(L2_RPC_URL)\n"
  },
  {
    "path": "sepolia/2025-10-23-pause-bridge-base/README.md",
    "content": "# Pause Base Bridge\n\nStatus: EXECUTED\n\n## Description\n\nPauses the Base side of [Base Bridge](https://github.com/base/bridge).\n\n## Install dependencies\n\n### 1. Update foundry\n\n```bash\nfoundryup\n```\n\n### 2. Install Node.js if needed\n\nFirst, check if you have node installed\n\n```bash\nnode --version\n```\n\nIf you see a version output from the above command, you can move on. Otherwise, install node\n\n```bash\nbrew install node\n```\n\n## Sign Task\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root).\n\n```bash\nmake sign-task\n```\n\n### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\n### 4. Send signature to facilitator\n"
  },
  {
    "path": "sepolia/2025-10-23-pause-bridge-base/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.28\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/',\n    '@lib-keccak=lib/lib-keccak/contracts/lib/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "sepolia/2025-10-23-pause-bridge-base/records/PauseBridge.s.sol/11155111/run-1761250009978.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xe6fae08da55fdc7b6528b7811e442346f900e0ae6931942943a5bbbfe4e3b4ae\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049f53e41452c74589e85ca1677426ba426459e850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000104e9e05c4200000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002416c38b3c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x56dc393143b8405549aa0c7a299ff0cfc7dd82c596a694d3c2b54fe57710036b23357f11666f06611dec9456682632d7fdb309e93725b5204b9ce48a1e063e621cd62972fb9082eb07ebaaf2b0565f6a333609ba12f24ff52543b20d068f05d46878dcda435eff9ae5a2e04a2b5f9e5d5419a5e9a5f70b021254d604a2146923d31b7a2137ab7d9402e758c0fbe2757c573adf01cf44ced16d7b17d7b2ffb7136a4039fabae68feb11a7863b0edd20ad8bd2cf8ff91ef1558d904db6af00f959b6741c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n        \"gas\": \"0x3cf1a\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000000000224174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049f53e41452c74589e85ca1677426ba426459e850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000104e9e05c4200000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002416c38b3c000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c356dc393143b8405549aa0c7a299ff0cfc7dd82c596a694d3c2b54fe57710036b23357f11666f06611dec9456682632d7fdb309e93725b5204b9ce48a1e063e621cd62972fb9082eb07ebaaf2b0565f6a333609ba12f24ff52543b20d068f05d46878dcda435eff9ae5a2e04a2b5f9e5d5419a5e9a5f70b021254d604a2146923d31b7a2137ab7d9402e758c0fbe2757c573adf01cf44ced16d7b17d7b2ffb7136a4039fabae68feb11a7863b0edd20ad8bd2cf8ff91ef1558d904db6af00f959b6741c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x3f\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x3c3b98\",\n      \"logs\": [\n        {\n          \"address\": \"0x49f53e41452c74589e85ca1677426ba426459e85\",\n          \"topics\": [\n            \"0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32\",\n            \"0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\",\n            \"0x00000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a00016c38b3c000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000\",\n          \"blockHash\": \"0xc7ea062f6ab34be42113df58502c6ce2d25ad9b4183d119039dc709b79ccfeeb\",\n          \"blockNumber\": \"0x909482\",\n          \"blockTimestamp\": \"0x68fa8ad8\",\n          \"transactionHash\": \"0xe6fae08da55fdc7b6528b7811e442346f900e0ae6931942943a5bbbfe4e3b4ae\",\n          \"transactionIndex\": \"0x39\",\n          \"logIndex\": \"0x38\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0x1b059d5ad73ceae3d06e384e5071f67169f00807b1ae659b40a60e5852a0055b\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xc7ea062f6ab34be42113df58502c6ce2d25ad9b4183d119039dc709b79ccfeeb\",\n          \"blockNumber\": \"0x909482\",\n          \"blockTimestamp\": \"0x68fa8ad8\",\n          \"transactionHash\": \"0xe6fae08da55fdc7b6528b7811e442346f900e0ae6931942943a5bbbfe4e3b4ae\",\n          \"transactionIndex\": \"0x39\",\n          \"logIndex\": \"0x39\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000000000002000000000000000000000000000000000000000000000040000000000001000000000000000002000000000000000000000000000800000000000000000000020000000000400000000800000000000020000000000000000008000000000000000000000000000000000008000000000000000002000000000000002000000000000000000000000404080000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000040002000000000000000080000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xe6fae08da55fdc7b6528b7811e442346f900e0ae6931942943a5bbbfe4e3b4ae\",\n      \"transactionIndex\": \"0x39\",\n      \"blockHash\": \"0xc7ea062f6ab34be42113df58502c6ce2d25ad9b4183d119039dc709b79ccfeeb\",\n      \"blockNumber\": \"0x909482\",\n      \"gasUsed\": \"0x2c1f5\",\n      \"effectiveGasPrice\": \"0xf6402\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1761250009978,\n  \"chain\": 11155111,\n  \"commit\": \"b99e9f4\"\n}"
  },
  {
    "path": "sepolia/2025-10-23-pause-bridge-base/records/PauseBridge.s.sol/11155111/run-1761251184644.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x05f0e3e877ded508584d96b22424b69334a0e73326470b4bb0fe16960664a644\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049f53e41452c74589e85ca1677426ba426459e850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000104e9e05c4200000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002416c38b3c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x6b00a009c79a2fae0ed54b15ed1f44f5e60067127bb9acc14a95bd5b0278b2de0b8c7e6b8e4f3b8e35439ca59a4727797476d4c01315df7dc269a851dd9ea4781b922110400ab33d3d135b058aaa6f945ccdb487a5c7899dcb67fbd7e447cd99cc11267dd805693df603fde1b41372890ba6cb51ec7173bce42f134489d234e8061ba8070e0c6800e2c96b4a9b7f76c9b1cf3d4f4acdd36ee890ecc3eef5b78c62311f8c27a6495badb164c9b39bf89cd31e291fd6006e2bdd66313ce30e8df05f9a1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n        \"gas\": \"0x3ced7\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000000000224174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049f53e41452c74589e85ca1677426ba426459e850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000104e9e05c4200000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002416c38b3c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c36b00a009c79a2fae0ed54b15ed1f44f5e60067127bb9acc14a95bd5b0278b2de0b8c7e6b8e4f3b8e35439ca59a4727797476d4c01315df7dc269a851dd9ea4781b922110400ab33d3d135b058aaa6f945ccdb487a5c7899dcb67fbd7e447cd99cc11267dd805693df603fde1b41372890ba6cb51ec7173bce42f134489d234e8061ba8070e0c6800e2c96b4a9b7f76c9b1cf3d4f4acdd36ee890ecc3eef5b78c62311f8c27a6495badb164c9b39bf89cd31e291fd6006e2bdd66313ce30e8df05f9a1b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x40\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x3cdb21\",\n      \"logs\": [\n        {\n          \"address\": \"0x49f53e41452c74589e85ca1677426ba426459e85\",\n          \"topics\": [\n            \"0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32\",\n            \"0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\",\n            \"0x00000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a00016c38b3c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x223710445892c08e4135a8cccdda857b543aabbdc0e9ae23cc479942631276ef\",\n          \"blockNumber\": \"0x9094e4\",\n          \"blockTimestamp\": \"0x68fa8f70\",\n          \"transactionHash\": \"0x05f0e3e877ded508584d96b22424b69334a0e73326470b4bb0fe16960664a644\",\n          \"transactionIndex\": \"0x30\",\n          \"logIndex\": \"0x2b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0x9f8287f8ea209cb8ddcd13a15c260bfb43ee4ec65c3e8ad46b6e06a6edf3c834\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x223710445892c08e4135a8cccdda857b543aabbdc0e9ae23cc479942631276ef\",\n          \"blockNumber\": \"0x9094e4\",\n          \"blockTimestamp\": \"0x68fa8f70\",\n          \"transactionHash\": \"0x05f0e3e877ded508584d96b22424b69334a0e73326470b4bb0fe16960664a644\",\n          \"transactionIndex\": \"0x30\",\n          \"logIndex\": \"0x2c\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000008000000000000000000000000000000040000000000000002000000000000000000000000000000000000000000000040000200000001000000000000000002000000000000000000000000000800000000000000000000020000000000400000000820000000000020000000000000000008000000000000000000000000000000000008000000000000000002000000000000000000000000000000000000000404080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000040002000000000000000080000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x05f0e3e877ded508584d96b22424b69334a0e73326470b4bb0fe16960664a644\",\n      \"transactionIndex\": \"0x30\",\n      \"blockHash\": \"0x223710445892c08e4135a8cccdda857b543aabbdc0e9ae23cc479942631276ef\",\n      \"blockNumber\": \"0x9094e4\",\n      \"gasUsed\": \"0x2c1c5\",\n      \"effectiveGasPrice\": \"0xfa1cf\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1761251184644,\n  \"chain\": 11155111,\n  \"commit\": \"b99e9f4\"\n}"
  },
  {
    "path": "sepolia/2025-10-23-pause-bridge-base/script/PauseBridge.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.28;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\n\ninterface IOptimismPortal2 {\n    function depositTransaction(address _to, uint256 _value, uint64 _gasLimit, bool _isCreation, bytes memory _data)\n        external\n        payable;\n}\n\ninterface IBridge {\n    function setPaused(bool) external;\n}\n\ncontract PauseBridge is MultisigScript {\n    address public immutable OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n    address public immutable L1_PORTAL = vm.envAddress(\"L1_PORTAL\");\n    address public immutable L2_BRIDGE = vm.envAddress(\"L2_BRIDGE\");\n    bool public immutable IS_PAUSED = vm.envBool(\"IS_PAUSED\");\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) {\n        IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n\n        address to = L2_BRIDGE;\n        uint256 value = 0;\n        uint64 gasLimit = 100_000;\n        bool isCreation = false;\n        bytes memory data = abi.encodeCall(IBridge.setPaused, (IS_PAUSED));\n\n        calls[0] = IMulticall3.Call3Value({\n            target: L1_PORTAL,\n            allowFailure: false,\n            callData: abi.encodeCall(IOptimismPortal2.depositTransaction, (to, value, gasLimit, isCreation, data)),\n            value: value\n        });\n\n        return calls;\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {}\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "sepolia/2025-10-23-pause-bridge-base/validations/base-signer.json",
    "content": "{\n  \"task_name\": \"sepolia-pause-base-bridge\",\n  \"script_name\": \"PauseBridge\",\n  \"signature\": \"sign(address[])\",\n  \"sender\": \"0xb2d9a52e76841279EF0372c534C539a4f68f8C0B\",\n  \"args\": \"[]\",\n  \"ledger-id\": 1,\n  \"rpc_url\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"expected_domain_and_message_hashes\": {\n    \"address\": \"0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f\",\n    \"domain_hash\": \"0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23\",\n    \"message_hash\": \"0x4b6ccc7a2fbd88da7340b54ab6b065a2a6640ed4dcaf3342fefa89bf075eec90\"\n  },\n  \"state_overrides\": [\n    {\n      \"name\": \"CB Signer Safe - Sepolia\",\n      \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\"\n        },\n        {\n          \"key\": \"0x2e7309fd460be25e22fa96a891bd961839cf6c2ca56f9a059b605f768f8b4a92\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\"\n        }\n      ]\n    }\n  ],\n  \"state_changes\": [\n    {\n      \"name\": \"OptimismPortal2 - Sepolia\",\n      \"address\": \"0x49f53e41452c74589e85ca1677426ba426459e85\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"before\": \"0x00000000009092cb000000000007e1760000000000000000000000003b9aca00\",\n          \"after\": \"0x00000000009092cc00000000000186a00000000000000000000000003b9aca00\",\n          \"description\": \"Gas fee tracking for deposit tx execution on L2\"\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Sepolia\",\n      \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000006\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000007\",\n          \"description\": \"Increments the nonce\"\n        }\n      ]\n    }\n  ]\n}\n"
  },
  {
    "path": "sepolia/2025-10-24-pause-bridge-base/FACILITATOR.md",
    "content": "# Facilitator Guide\n\nGuide for facilitators after collecting signatures from signers.\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd sepolia/2025-10-24-pause-bridge-base\nmake deps\n```\n\n### 2. Execute pause\n\n```bash\nSIGNATURES=AAABBBCCC make execute-pause\n```\n\n### 3. (When ready) Execute un-pause\n\n```bash\nSIGNATURES=AAABBBCCC make execute-unpause\n```\n"
  },
  {
    "path": "sepolia/2025-10-24-pause-bridge-base/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 1\nendif\n\nSAFE_NONCE=8\nNEXT_NONCE=9\nSENDER=0xb2d9a52e76841279EF0372c534C539a4f68f8C0B\n\nSCRIPT_NAME=PauseBridge\n\n.PHONY: gen-validation\ngen-validation: checkout-signer-tool run-script\n\n.PHONY: run-script\nrun-script:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(L1_RPC_URL) \\\n\t--workdir .. --forge-cmd 'forge script --rpc-url $(L1_RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" [] --sender $(SENDER)' --out ../validations/base-signer.json;\n\n.PHONY: sign-pause\nsign-pause:\n\tIS_PAUSED=true SAFE_NONCE=$(SAFE_NONCE) $(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \\\n\t--sig \"sign(address[])\" \"[]\" --sender $(SENDER)\n\n.PHONY: sign-unpause\nsign-unpause:\n\tIS_PAUSED=false SAFE_NONCE=$(NEXT_NONCE) $(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \\\n\t--sig \"sign(address[])\" \"[]\" --sender $(SENDER)\n\n# Execute\n.PHONY: execute-pause\nexecute-pause:\n\tIS_PAUSED=true forge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\"  --broadcast -vvvv\n\n.PHONY: execute-unpause\nexecute-unpause:\n\tIS_PAUSED=false forge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\"  --broadcast -vvvv\n\n.PHONY: check-status\ncheck-status:\n\tcast call $(L2_BRIDGE) \"paused()\" --rpc-url $(L2_RPC_URL)\n"
  },
  {
    "path": "sepolia/2025-10-24-pause-bridge-base/README.md",
    "content": "# Pause Base Bridge\n\nStatus: EXECUTED\n\n## Description\n\nPauses the Base side of [Base Bridge](https://github.com/base/bridge).\n\n## Install dependencies\n\n### 1. Update foundry\n\n```bash\nfoundryup\n```\n\n### 2. Install Node.js if needed\n\nFirst, check if you have node installed\n\n```bash\nnode --version\n```\n\nIf you see a version output from the above command, you can move on. Otherwise, install node\n\n```bash\nbrew install node\n```\n\n## Sign Task\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root).\n\n```bash\nmake sign-task\n```\n\n### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\n### 4. Send signature to facilitator\n"
  },
  {
    "path": "sepolia/2025-10-24-pause-bridge-base/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.28\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/',\n    '@lib-keccak=lib/lib-keccak/contracts/lib/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "sepolia/2025-10-24-pause-bridge-base/records/PauseBridge.s.sol/11155111/run-1761340416907.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x2a14bae27dcf33130b9d71704153f8b3d6cfddb856aa4a05335f0a5fa304e41a\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049f53e41452c74589e85ca1677426ba426459e850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000104e9e05c4200000000000000000000000001824a90d32a69022ddaecc6c5c14ed08db4eb9b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002416c38b3c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x63f3064139205cf75a32306a076d42f675a7222475b943a9bbd1f5dff376cacb392b62386b66fb2214a77a8b9a3d15f9a56fbdd98ebdff7242a142ac3d9648991b95d87005d60c02a12d66bfd8de43f91575913f2261c15f9b2e6a58b00967fca138a5814df9bbedd04e9ae1bd7001b271259c94be3286aff5ebf08b80699665561b2901f91a508e7e93c516aedfd49736c40c2272a8a355ba00cdc07a7e821642ed2bb105e2fb1b2ed1def00724886331f25b612c7d6b67e5aefa9ae046f44b27141c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n        \"gas\": \"0x3cf1a\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000000000224174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049f53e41452c74589e85ca1677426ba426459e850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000104e9e05c4200000000000000000000000001824a90d32a69022ddaecc6c5c14ed08db4eb9b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002416c38b3c000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c363f3064139205cf75a32306a076d42f675a7222475b943a9bbd1f5dff376cacb392b62386b66fb2214a77a8b9a3d15f9a56fbdd98ebdff7242a142ac3d9648991b95d87005d60c02a12d66bfd8de43f91575913f2261c15f9b2e6a58b00967fca138a5814df9bbedd04e9ae1bd7001b271259c94be3286aff5ebf08b80699665561b2901f91a508e7e93c516aedfd49736c40c2272a8a355ba00cdc07a7e821642ed2bb105e2fb1b2ed1def00724886331f25b612c7d6b67e5aefa9ae046f44b27141c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x41\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xc42a26\",\n      \"logs\": [\n        {\n          \"address\": \"0x49f53e41452c74589e85ca1677426ba426459e85\",\n          \"topics\": [\n            \"0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32\",\n            \"0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\",\n            \"0x00000000000000000000000001824a90d32a69022ddaecc6c5c14ed08db4eb9b\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a00016c38b3c000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000\",\n          \"blockHash\": \"0x1e8b8f3247fb086ed27d217c3520690fcef7a1aa9c80f53f7bcecaafce206d0e\",\n          \"blockNumber\": \"0x90b1d7\",\n          \"blockTimestamp\": \"0x68fbec00\",\n          \"transactionHash\": \"0x2a14bae27dcf33130b9d71704153f8b3d6cfddb856aa4a05335f0a5fa304e41a\",\n          \"transactionIndex\": \"0x31\",\n          \"logIndex\": \"0x3f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0xe943dd133744f3f9288ab41e66b7d7bb3c1653ab1cf1ab084fbd90128eb2a69f\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x1e8b8f3247fb086ed27d217c3520690fcef7a1aa9c80f53f7bcecaafce206d0e\",\n          \"blockNumber\": \"0x90b1d7\",\n          \"blockTimestamp\": \"0x68fbec00\",\n          \"transactionHash\": \"0x2a14bae27dcf33130b9d71704153f8b3d6cfddb856aa4a05335f0a5fa304e41a\",\n          \"transactionIndex\": \"0x31\",\n          \"logIndex\": \"0x40\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000000000002004000000000000000000800000000000000000000000400000000000001000000000000000002000000000000000000000000000800000000000000000000020000000000400000000800000000000020000000000000000008000000000000000000000000000000000000000000000000001000000000000000000000000000000000001000000404080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004020000000000000000000000040002000000000000000080000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x2a14bae27dcf33130b9d71704153f8b3d6cfddb856aa4a05335f0a5fa304e41a\",\n      \"transactionIndex\": \"0x31\",\n      \"blockHash\": \"0x1e8b8f3247fb086ed27d217c3520690fcef7a1aa9c80f53f7bcecaafce206d0e\",\n      \"blockNumber\": \"0x90b1d7\",\n      \"gasUsed\": \"0x2c1f5\",\n      \"effectiveGasPrice\": \"0xf4248\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1761340416907,\n  \"chain\": 11155111,\n  \"commit\": \"aa89f90\"\n}"
  },
  {
    "path": "sepolia/2025-10-24-pause-bridge-base/records/PauseBridge.s.sol/11155111/run-1761340908642.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xf0701901382f95607b42e98d37a405cc6b3e57da1a2ef246fbd3d9af35d449ae\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049f53e41452c74589e85ca1677426ba426459e850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000104e9e05c4200000000000000000000000001824a90d32a69022ddaecc6c5c14ed08db4eb9b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002416c38b3c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xc73bd2dceb3f830c0737789117fafced0f77918f2f26abbfe038407b9ca994310b33c54b6a02ac2d664d5f458a0d969684a6b88c75636c4f1b353e45334136711b6f94ac20c4606c33ef3ecf070a645fa51e484559a3ad3e4915576aa967ffe88270cf683bdb1126116ff53acbee858f2e46119cf1d3815b4c5a04e7ecc3d1f9fb1b0c51c5afd3e9a7f3ee603944fced99db1430b28b00c79becfba418ceba3f9e0d2bc2573f189ff176ad53e4cd89e68b7f51a839407f38d596371b154e8edb82611c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n        \"gas\": \"0x40864\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000000000224174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049f53e41452c74589e85ca1677426ba426459e850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000104e9e05c4200000000000000000000000001824a90d32a69022ddaecc6c5c14ed08db4eb9b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002416c38b3c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3c73bd2dceb3f830c0737789117fafced0f77918f2f26abbfe038407b9ca994310b33c54b6a02ac2d664d5f458a0d969684a6b88c75636c4f1b353e45334136711b6f94ac20c4606c33ef3ecf070a645fa51e484559a3ad3e4915576aa967ffe88270cf683bdb1126116ff53acbee858f2e46119cf1d3815b4c5a04e7ecc3d1f9fb1b0c51c5afd3e9a7f3ee603944fced99db1430b28b00c79becfba418ceba3f9e0d2bc2573f189ff176ad53e4cd89e68b7f51a839407f38d596371b154e8edb82611c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x42\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x74169d\",\n      \"logs\": [\n        {\n          \"address\": \"0x49f53e41452c74589e85ca1677426ba426459e85\",\n          \"topics\": [\n            \"0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32\",\n            \"0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\",\n            \"0x00000000000000000000000001824a90d32a69022ddaecc6c5c14ed08db4eb9b\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a00016c38b3c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x304c7b17389bda46c8929669d193046c041d972bec2562739b81ed38467f123c\",\n          \"blockNumber\": \"0x90b200\",\n          \"blockTimestamp\": \"0x68fbedec\",\n          \"transactionHash\": \"0xf0701901382f95607b42e98d37a405cc6b3e57da1a2ef246fbd3d9af35d449ae\",\n          \"transactionIndex\": \"0x32\",\n          \"logIndex\": \"0x43\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0x57e915e976bdc2b2bd45566cfabdbf2209ea76b986d252aeea859c6e159829c7\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x304c7b17389bda46c8929669d193046c041d972bec2562739b81ed38467f123c\",\n          \"blockNumber\": \"0x90b200\",\n          \"blockTimestamp\": \"0x68fbedec\",\n          \"transactionHash\": \"0xf0701901382f95607b42e98d37a405cc6b3e57da1a2ef246fbd3d9af35d449ae\",\n          \"transactionIndex\": \"0x32\",\n          \"logIndex\": \"0x44\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000000000002004000000000000000000000000000000000000000000000000000000001000000000000000002000000000000000000000000000800000000000000000000020000000000400000000800000000000020000000000000000008000000000000000000000000000000000000000000000000001000000000004000000000000000000000001000000404080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000004000000000000040002000000040000000080000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xf0701901382f95607b42e98d37a405cc6b3e57da1a2ef246fbd3d9af35d449ae\",\n      \"transactionIndex\": \"0x32\",\n      \"blockHash\": \"0x304c7b17389bda46c8929669d193046c041d972bec2562739b81ed38467f123c\",\n      \"blockNumber\": \"0x90b200\",\n      \"gasUsed\": \"0x2c1e9\",\n      \"effectiveGasPrice\": \"0xf4248\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1761340908642,\n  \"chain\": 11155111,\n  \"commit\": \"aa89f90\"\n}"
  },
  {
    "path": "sepolia/2025-10-24-pause-bridge-base/script/PauseBridge.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.28;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\n\ninterface IOptimismPortal2 {\n    function depositTransaction(address _to, uint256 _value, uint64 _gasLimit, bool _isCreation, bytes memory _data)\n        external\n        payable;\n}\n\ninterface IBridge {\n    function setPaused(bool) external;\n}\n\ncontract PauseBridge is MultisigScript {\n    address public immutable OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n    address public immutable L1_PORTAL = vm.envAddress(\"L1_PORTAL\");\n    address public immutable L2_BRIDGE = vm.envAddress(\"L2_BRIDGE\");\n    bool public immutable IS_PAUSED = vm.envBool(\"IS_PAUSED\");\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) {\n        IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n\n        address to = L2_BRIDGE;\n        uint256 value = 0;\n        uint64 gasLimit = 100_000;\n        bool isCreation = false;\n        bytes memory data = abi.encodeCall(IBridge.setPaused, (IS_PAUSED));\n\n        calls[0] = IMulticall3.Call3Value({\n            target: L1_PORTAL,\n            allowFailure: false,\n            callData: abi.encodeCall(IOptimismPortal2.depositTransaction, (to, value, gasLimit, isCreation, data)),\n            value: value\n        });\n\n        return calls;\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {}\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "sepolia/2025-11-03-incident-multisig-signers/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\ninclude ../.env\ninclude .env\n\nRPC_URL = $(L1_RPC_URL)\nSCRIPT_NAME = UpdateSigners\n\nVALIDATIONS_DIR = validations\nPRIMARY_VALIDATION_FILE = base-signer.json\nSECONDARY_VALIDATION_FILE = base-signer-safe-b.json\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 1\nendif\n\n.PHONY: deps\ndeps: new-forge-deps\n\n.PHONY: new-forge-deps\nnew-forge-deps:\n\tforge install --no-git safe-global/safe-smart-account@186a21a74b327f17fc41217a927dea7064f74604\n\n.PHONY: gen-validation\ngen-validation: checkout-signer-tool run-script\n\n.PHONY: run-script\nrun-script:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(L1_RPC_URL) \\\n\t--workdir .. --forge-cmd 'OWNER_SAFE=$(PRIMARY_SAFE) forge script --rpc-url $(L1_RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" [] --sender $(SENDER)' \\\n\t--out ../$(VALIDATIONS_DIR)/$(PRIMARY_VALIDATION_FILE);\n\n.PHONY: gen-validation-secondary\ngen-validation-secondary: checkout-signer-tool run-script-secondary\n\n.PHONY: run-script-secondary\nrun-script-secondary:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(L1_RPC_URL) \\\n\t--workdir .. --forge-cmd 'OWNER_SAFE=$(SECONDARY_SAFE) forge script --rpc-url $(L1_RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" [] --sender $(SENDER)' \\\n\t--out ../$(VALIDATIONS_DIR)/$(SECONDARY_VALIDATION_FILE);\n\n.PHONY: execute\nexecute:\n\tOWNER_SAFE=$(PRIMARY_SAFE) $(call MULTISIG_EXECUTE,$(SIGNATURES))\n\n.PHONY: execute-secondary\nexecute-secondary:\n\tOWNER_SAFE=$(SECONDARY_SAFE) $(call MULTISIG_EXECUTE,$(SIGNATURES))\n"
  },
  {
    "path": "sepolia/2025-11-03-incident-multisig-signers/OwnerDiff.json",
    "content": "{\n  \"OwnersToAdd\": [\n    \"0x5F1955729e3D6129FB73813E891742D473fc74F7\",\n    \"0x6e427c3212C0b63BE0C382F97715D49b011bFF33\"\n  ],\n  \"OwnersToRemove\": [\n    \"0xaa2489DEbF1EF02ab83bA6Cde4419E662De9254E\",\n    \"0x9B43cC2EF6fa521127Ade09e20efD6ABBC5BF799\",\n    \"0xf2Fb17eab635f036Da7864B8e39ef8e9A03441df\"\n  ]\n}\n"
  },
  {
    "path": "sepolia/2025-11-03-incident-multisig-signers/README.md",
    "content": "# Update Sepolia Incident Multisig Signers\n\nStatus: [SAFE A EXECUTED](https://sepolia.etherscan.io/tx/0xadffced4438bd307fe2d61cfb212e46c3f07b73ffdc833a094b2b4e21ad6cd34) ([artefact](./records/UpdateSigners.s.sol/11155111/run-1763579592746.json)) and [SAFE B EXECUTED](https://sepolia.etherscan.io/tx/0x2aa63f880ca4cf814a71197a3fa9059ff36b124cabf085a3e8e76e40b9e6c556) ([artefact](./records/UpdateSigners.s.sol/11155111/run-1763579822181.json))\n\nSafe A (3-of-14): [0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f](https://sepolia.etherscan.io/address/0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f)  \nSafe B (1-of-14): [0x6AF0674791925f767060Dd52f7fB20984E8639d8](https://sepolia.etherscan.io/address/0x6AF0674791925f767060Dd52f7fB20984E8639d8)\n\n## Description\n\nWe are updating both Sepolia Incident Multisig Safes to reflect the current Base Chain Eng roster. The signer additions and removals are listed in [OwnerDiff.json](./OwnerDiff.json) and apply to both safes. Safe A keeps its 3-of-14 threshold, while Safe B mirrors the same owners with a 1-of-14 threshold.\n\n## Install dependencies\n\n### 1. Update foundry\n\n```bash\nfoundryup\n```\n\n### 2. Install Node.js if needed\n\nFirst, check if you have node installed:\n\n```bash\nnode --version\n```\n\nIf you see a version output at or above `v18.18`, you can move on. Otherwise, install (or update) node:\n\n```bash\nbrew install node\n```\n\n## Approving Signers Update\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root).\n\n```bash\nmake sign-task\n```\n### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\nBe sure to select the correct task from the list of available tasks to sign.\n\nThen select the Safe for which you would like to sign. Typically this will be Safe A, since Save B only requires a single signature and can thus usually be provided by the task facilitator themselves.\n   - Safe A → `validations/base-signer.json`\n   - Safe B → `validations/base-signer-safe-b.json`\n\n### 4. Send signature to facilitator\n\nYou may now kill the Signer Tool process in your terminal window by running `Ctrl + C`.\n"
  },
  {
    "path": "sepolia/2025-11-03-incident-multisig-signers/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nevm_version = \"shanghai\"\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "sepolia/2025-11-03-incident-multisig-signers/records/UpdateSigners.s.sol/11155111/run-1763579592746.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xadffced4438bd307fe2d61cfb212e46c3f07b73ffdc833a094b2b4e21ad6cd34\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004e00000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000005f1955729e3d6129fb73813e891742d473fc74f70000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff330000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf7990000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60000000000000000000000000f2fb17eab635f036da7864b8e39ef8e9a03441df000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x111d6741e664bbf9572afe7d369cb7ad3950c44408297ab649eb9dcb6499b83653b0ed2c06a5cd44c8483e1c8aa03d0558388e3f40910b20da498fa783a20a921ca355f7dac3eaddb5b624e005c1f9cb8c69e314ce322de7dbb70cbe45e68c258778a8e4fb4719fd6032378e5915a51622769aef629943378db1b585b575d929e31bc7998eb89837ddfa0e8285f7f89c3ed2c4420d0451a0365a90706adb245159f31268bd6cef717c9dae8df08e8c48570934d1dd8271440025c7e99399a42626e91c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x6e427c3212c0b63be0c382f97715d49b011bff33\",\n        \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n        \"gas\": \"0x3d23d\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000000000644174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004e00000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000005f1955729e3d6129fb73813e891742d473fc74f70000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff330000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf7990000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60000000000000000000000000f2fb17eab635f036da7864b8e39ef8e9a03441df0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3111d6741e664bbf9572afe7d369cb7ad3950c44408297ab649eb9dcb6499b83653b0ed2c06a5cd44c8483e1c8aa03d0558388e3f40910b20da498fa783a20a921ca355f7dac3eaddb5b624e005c1f9cb8c69e314ce322de7dbb70cbe45e68c258778a8e4fb4719fd6032378e5915a51622769aef629943378db1b585b575d929e31bc7998eb89837ddfa0e8285f7f89c3ed2c4420d0451a0365a90706adb245159f31268bd6cef717c9dae8df08e8c48570934d1dd8271440025c7e99399a42626e91c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x27\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1163b08\",\n      \"logs\": [\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\",\n            \"0x0000000000000000000000005f1955729e3d6129fb73813e891742d473fc74f7\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x4d57213033cefc64f6b8b4f8ea83fd629959b9bfbcd6e8346bbd75a132fd1241\",\n          \"blockNumber\": \"0x9374fe\",\n          \"blockTimestamp\": \"0x691e16c8\",\n          \"transactionHash\": \"0xadffced4438bd307fe2d61cfb212e46c3f07b73ffdc833a094b2b4e21ad6cd34\",\n          \"transactionIndex\": \"0x3d\",\n          \"logIndex\": \"0x197\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\",\n            \"0x0000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff33\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x4d57213033cefc64f6b8b4f8ea83fd629959b9bfbcd6e8346bbd75a132fd1241\",\n          \"blockNumber\": \"0x9374fe\",\n          \"blockTimestamp\": \"0x691e16c8\",\n          \"transactionHash\": \"0xadffced4438bd307fe2d61cfb212e46c3f07b73ffdc833a094b2b4e21ad6cd34\",\n          \"transactionIndex\": \"0x3d\",\n          \"logIndex\": \"0x198\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\",\n            \"0x000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x4d57213033cefc64f6b8b4f8ea83fd629959b9bfbcd6e8346bbd75a132fd1241\",\n          \"blockNumber\": \"0x9374fe\",\n          \"blockTimestamp\": \"0x691e16c8\",\n          \"transactionHash\": \"0xadffced4438bd307fe2d61cfb212e46c3f07b73ffdc833a094b2b4e21ad6cd34\",\n          \"transactionIndex\": \"0x3d\",\n          \"logIndex\": \"0x199\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\",\n            \"0x0000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x4d57213033cefc64f6b8b4f8ea83fd629959b9bfbcd6e8346bbd75a132fd1241\",\n          \"blockNumber\": \"0x9374fe\",\n          \"blockTimestamp\": \"0x691e16c8\",\n          \"transactionHash\": \"0xadffced4438bd307fe2d61cfb212e46c3f07b73ffdc833a094b2b4e21ad6cd34\",\n          \"transactionIndex\": \"0x3d\",\n          \"logIndex\": \"0x19a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\",\n            \"0x000000000000000000000000f2fb17eab635f036da7864b8e39ef8e9a03441df\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x4d57213033cefc64f6b8b4f8ea83fd629959b9bfbcd6e8346bbd75a132fd1241\",\n          \"blockNumber\": \"0x9374fe\",\n          \"blockTimestamp\": \"0x691e16c8\",\n          \"transactionHash\": \"0xadffced4438bd307fe2d61cfb212e46c3f07b73ffdc833a094b2b4e21ad6cd34\",\n          \"transactionIndex\": \"0x3d\",\n          \"logIndex\": \"0x19b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0x4a9ea9b915134c475d681e665829fac2d818c1c2137194ad886f587423689639\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x4d57213033cefc64f6b8b4f8ea83fd629959b9bfbcd6e8346bbd75a132fd1241\",\n          \"blockNumber\": \"0x9374fe\",\n          \"blockTimestamp\": \"0x691e16c8\",\n          \"transactionHash\": \"0xadffced4438bd307fe2d61cfb212e46c3f07b73ffdc833a094b2b4e21ad6cd34\",\n          \"transactionIndex\": \"0x3d\",\n          \"logIndex\": \"0x19c\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00020800440000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000040000000000000000000000010008000000000000400000000000000000000800000000000000000000000100010000000000000000000002000000000000000004000000000008010000000000000000080000000200000000000000000000000000000000000040000000000000001000000404000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041000000000400400080000040010000000000008000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xadffced4438bd307fe2d61cfb212e46c3f07b73ffdc833a094b2b4e21ad6cd34\",\n      \"transactionIndex\": \"0x3d\",\n      \"blockHash\": \"0x4d57213033cefc64f6b8b4f8ea83fd629959b9bfbcd6e8346bbd75a132fd1241\",\n      \"blockNumber\": \"0x9374fe\",\n      \"gasUsed\": \"0x29ce2\",\n      \"effectiveGasPrice\": \"0xf465f\",\n      \"from\": \"0x6e427c3212c0b63be0c382f97715d49b011bff33\",\n      \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1763579592746,\n  \"chain\": 11155111,\n  \"commit\": \"8c49b9d\"\n}\n"
  },
  {
    "path": "sepolia/2025-11-03-incident-multisig-signers/records/UpdateSigners.s.sol/11155111/run-1763579822181.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x2aa63f880ca4cf814a71197a3fa9059ff36b124cabf085a3e8e76e40b9e6c556\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004e00000000000000000000000006af0674791925f767060dd52f7fb20984e8639d800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000005f1955729e3d6129fb73813e891742d473fc74f70000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff330000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf7990000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60000000000000000000000000f2fb17eab635f036da7864b8e39ef8e9a03441df000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x1e94b4af243bd73b4ff1a126660c8bd542357293bbfe9f2d0c3a8143338b4c6d3ca97e08cfab766d87bfee40e3957eedaf2efaa1a80e3dd8ccef363c17bce17c1c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x6e427c3212c0b63be0c382f97715d49b011bff33\",\n        \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n        \"gas\": \"0x37fc9\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000000000644174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004e00000000000000000000000006af0674791925f767060dd52f7fb20984e8639d800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000005f1955729e3d6129fb73813e891742d473fc74f70000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff330000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf7990000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60000000000000000000000000f2fb17eab635f036da7864b8e39ef8e9a03441df0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000411e94b4af243bd73b4ff1a126660c8bd542357293bbfe9f2d0c3a8143338b4c6d3ca97e08cfab766d87bfee40e3957eedaf2efaa1a80e3dd8ccef363c17bce17c1c00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x28\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1020107\",\n      \"logs\": [\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x0000000000000000000000005f1955729e3d6129fb73813e891742d473fc74f7\",\n          \"blockHash\": \"0x9f197073c561073e804cb17e40da1cebf9b57f16e614ed72dab8f0fa658a5c72\",\n          \"blockNumber\": \"0x937511\",\n          \"blockTimestamp\": \"0x691e17ac\",\n          \"transactionHash\": \"0x2aa63f880ca4cf814a71197a3fa9059ff36b124cabf085a3e8e76e40b9e6c556\",\n          \"transactionIndex\": \"0x4a\",\n          \"logIndex\": \"0x11b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x0000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff33\",\n          \"blockHash\": \"0x9f197073c561073e804cb17e40da1cebf9b57f16e614ed72dab8f0fa658a5c72\",\n          \"blockNumber\": \"0x937511\",\n          \"blockTimestamp\": \"0x691e17ac\",\n          \"transactionHash\": \"0x2aa63f880ca4cf814a71197a3fa9059ff36b124cabf085a3e8e76e40b9e6c556\",\n          \"transactionIndex\": \"0x4a\",\n          \"logIndex\": \"0x11c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e\",\n          \"blockHash\": \"0x9f197073c561073e804cb17e40da1cebf9b57f16e614ed72dab8f0fa658a5c72\",\n          \"blockNumber\": \"0x937511\",\n          \"blockTimestamp\": \"0x691e17ac\",\n          \"transactionHash\": \"0x2aa63f880ca4cf814a71197a3fa9059ff36b124cabf085a3e8e76e40b9e6c556\",\n          \"transactionIndex\": \"0x4a\",\n          \"logIndex\": \"0x11d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x0000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799\",\n          \"blockHash\": \"0x9f197073c561073e804cb17e40da1cebf9b57f16e614ed72dab8f0fa658a5c72\",\n          \"blockNumber\": \"0x937511\",\n          \"blockTimestamp\": \"0x691e17ac\",\n          \"transactionHash\": \"0x2aa63f880ca4cf814a71197a3fa9059ff36b124cabf085a3e8e76e40b9e6c556\",\n          \"transactionIndex\": \"0x4a\",\n          \"logIndex\": \"0x11e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x000000000000000000000000f2fb17eab635f036da7864b8e39ef8e9a03441df\",\n          \"blockHash\": \"0x9f197073c561073e804cb17e40da1cebf9b57f16e614ed72dab8f0fa658a5c72\",\n          \"blockNumber\": \"0x937511\",\n          \"blockTimestamp\": \"0x691e17ac\",\n          \"transactionHash\": \"0x2aa63f880ca4cf814a71197a3fa9059ff36b124cabf085a3e8e76e40b9e6c556\",\n          \"transactionIndex\": \"0x4a\",\n          \"logIndex\": \"0x11f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x8115ed1845241e02fac76d5c23118a829cb0e5e258bdae6c7f5ca802420e5b8a0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x9f197073c561073e804cb17e40da1cebf9b57f16e614ed72dab8f0fa658a5c72\",\n          \"blockNumber\": \"0x937511\",\n          \"blockTimestamp\": \"0x691e17ac\",\n          \"transactionHash\": \"0x2aa63f880ca4cf814a71197a3fa9059ff36b124cabf085a3e8e76e40b9e6c556\",\n          \"transactionIndex\": \"0x4a\",\n          \"logIndex\": \"0x120\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000400000000010000000000000008000000000000000000008000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x2aa63f880ca4cf814a71197a3fa9059ff36b124cabf085a3e8e76e40b9e6c556\",\n      \"transactionIndex\": \"0x4a\",\n      \"blockHash\": \"0x9f197073c561073e804cb17e40da1cebf9b57f16e614ed72dab8f0fa658a5c72\",\n      \"blockNumber\": \"0x937511\",\n      \"gasUsed\": \"0x26481\",\n      \"effectiveGasPrice\": \"0x1009e2\",\n      \"from\": \"0x6e427c3212c0b63be0c382f97715d49b011bff33\",\n      \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1763579822181,\n  \"chain\": 11155111,\n  \"commit\": \"8c49b9d\"\n}\n"
  },
  {
    "path": "sepolia/2025-11-03-incident-multisig-signers/script/UpdateSigners.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {stdJson} from \"forge-std/StdJson.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\n\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {GnosisSafe} from \"safe-smart-account/GnosisSafe.sol\";\nimport {OwnerManager} from \"safe-smart-account/base/OwnerManager.sol\";\n\ncontract UpdateSigners is MultisigScript {\n    using stdJson for string;\n\n    address public constant SENTINEL_OWNERS = address(0x1);\n\n    uint256 public constant EXISTING_OWNERS_LENGTH = 14;\n\n    address public immutable OWNER_SAFE;\n    uint256 public immutable THRESHOLD;\n    address[] public EXISTING_OWNERS;\n\n    address[] public OWNERS_TO_ADD;\n    address[] public OWNERS_TO_REMOVE;\n\n    mapping(address => address) public ownerToPrevOwner;\n    mapping(address => address) public ownerToNextOwner;\n    mapping(address => bool) public expectedOwner;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n\n        GnosisSafe ownerSafe = GnosisSafe(payable(OWNER_SAFE));\n        THRESHOLD = ownerSafe.getThreshold();\n        EXISTING_OWNERS = ownerSafe.getOwners();\n\n        string memory rootPath = vm.projectRoot();\n        string memory path = string.concat(rootPath, \"/OwnerDiff.json\");\n        string memory jsonData = vm.readFile(path);\n\n        OWNERS_TO_ADD = abi.decode(jsonData.parseRaw(\".OwnersToAdd\"), (address[]));\n        OWNERS_TO_REMOVE = abi.decode(jsonData.parseRaw(\".OwnersToRemove\"), (address[]));\n    }\n\n    function setUp() external {\n        require(OWNERS_TO_ADD.length > 0, \"Precheck 00\");\n        require(OWNERS_TO_REMOVE.length > 0, \"Precheck 01\");\n        require(EXISTING_OWNERS.length == EXISTING_OWNERS_LENGTH, \"Precheck 02\");\n\n        GnosisSafe ownerSafe = GnosisSafe(payable(OWNER_SAFE));\n        address prevOwner = SENTINEL_OWNERS;\n\n        for (uint256 i = OWNERS_TO_ADD.length; i > 0; i--) {\n            uint256 index = i - 1;\n            // Make sure owners to add are not already owners\n            require(!ownerSafe.isOwner(OWNERS_TO_ADD[index]), \"Precheck 03\");\n            // Prevent duplicates\n            require(!expectedOwner[OWNERS_TO_ADD[index]], \"Precheck 04\");\n\n            ownerToPrevOwner[OWNERS_TO_ADD[index]] = prevOwner;\n            ownerToNextOwner[prevOwner] = OWNERS_TO_ADD[index];\n            prevOwner = OWNERS_TO_ADD[index];\n            expectedOwner[OWNERS_TO_ADD[index]] = true;\n        }\n\n        for (uint256 i; i < EXISTING_OWNERS.length; i++) {\n            ownerToPrevOwner[EXISTING_OWNERS[i]] = prevOwner;\n            ownerToNextOwner[prevOwner] = EXISTING_OWNERS[i];\n            prevOwner = EXISTING_OWNERS[i];\n            expectedOwner[EXISTING_OWNERS[i]] = true;\n        }\n\n        for (uint256 i; i < OWNERS_TO_REMOVE.length; i++) {\n            // Make sure owners to remove are owners\n            require(ownerSafe.isOwner(OWNERS_TO_REMOVE[i]), \"Precheck 05\");\n            // Prevent duplicates\n            require(expectedOwner[OWNERS_TO_REMOVE[i]], \"Precheck 06\");\n            expectedOwner[OWNERS_TO_REMOVE[i]] = false;\n\n            // Remove from linked list to keep ownerToPrevOwner up to date\n            // Note: This works as long as the order of OWNERS_TO_REMOVE does not change during `_buildCalls()`\n            address nextOwner = ownerToNextOwner[OWNERS_TO_REMOVE[i]];\n            address prevPtr = ownerToPrevOwner[OWNERS_TO_REMOVE[i]];\n            ownerToPrevOwner[nextOwner] = prevPtr;\n            ownerToNextOwner[prevPtr] = nextOwner;\n        }\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        GnosisSafe ownerSafe = GnosisSafe(payable(OWNER_SAFE));\n        address[] memory postCheckOwners = ownerSafe.getOwners();\n        uint256 postCheckThreshold = ownerSafe.getThreshold();\n\n        uint256 expectedLength = EXISTING_OWNERS.length + OWNERS_TO_ADD.length - OWNERS_TO_REMOVE.length;\n\n        require(postCheckThreshold == THRESHOLD, \"Postcheck 00\");\n        require(postCheckOwners.length == expectedLength, \"Postcheck 01\");\n\n        for (uint256 i; i < postCheckOwners.length; i++) {\n            require(expectedOwner[postCheckOwners[i]], \"Postcheck 02\");\n        }\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) {\n        IMulticall3.Call3Value[] memory calls =\n            new IMulticall3.Call3Value[](OWNERS_TO_ADD.length + OWNERS_TO_REMOVE.length);\n\n        for (uint256 i; i < OWNERS_TO_ADD.length; i++) {\n            calls[i] = IMulticall3.Call3Value({\n                target: OWNER_SAFE,\n                allowFailure: false,\n                callData: abi.encodeCall(OwnerManager.addOwnerWithThreshold, (OWNERS_TO_ADD[i], THRESHOLD)),\n                value: 0\n            });\n        }\n\n        for (uint256 i; i < OWNERS_TO_REMOVE.length; i++) {\n            calls[OWNERS_TO_ADD.length + i] = IMulticall3.Call3Value({\n                target: OWNER_SAFE,\n                allowFailure: false,\n                callData: abi.encodeCall(\n                    OwnerManager.removeOwner, (ownerToPrevOwner[OWNERS_TO_REMOVE[i]], OWNERS_TO_REMOVE[i], THRESHOLD)\n                ),\n                value: 0\n            });\n        }\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "sepolia/2025-11-03-incident-multisig-signers/validations/base-signer-safe-b.json",
    "content": "{\n  \"cmd\": \"OWNER_SAFE=0x6AF0674791925f767060Dd52f7fB20984E8639d8 forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net UpdateSigners --sig sign(address[]) [] --sender 0x0CF2F86C3338993ce10F74d6f4B095712c7efe26\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x6AF0674791925f767060Dd52f7fB20984E8639d8\",\n    \"domainHash\": \"0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa\",\n    \"messageHash\": \"0x2bdf6a3b2fde8b784b5670e7563c91cc83da2490a78ca09b8fa482b54b22402c\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Mock OP Safe / Mock Security Council - Sepolia\",\n      \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"overrides\": [\n        {\n          \"key\": \"0x477d0ceafedac61e49f12aa7f817534878604e1a4007c7387315fbfed9c2bfdd\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\"\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Mock OP Safe / Mock Security Council - Sepolia\",\n      \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000000e\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000000d\",\n          \"description\": \"Updates the owner count\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000010\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000011\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x1b89e6111d27169de2f97ec92e344b249dff7dd6170ee65af7a1d9dda6cf7255\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000005f1955729e3d6129fb73813e891742d473fc74f7\",\n          \"description\": \"Updates the owners mapping\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xa17f6b5d5c5960e10cb741113b64d7f023e3513339475444585747297bf07208\",\n          \"before\": \"0x0000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799\",\n          \"after\": \"0x000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d\",\n          \"description\": \"Updates the owners mapping\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xb06fd2848181e1497bbaa80b8d007c335c7806a2e47211a7bba7a9af63e0ca64\",\n          \"before\": \"0x000000000000000000000000f2fb17eab635f036da7864b8e39ef8e9a03441df\",\n          \"after\": \"0x000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b\",\n          \"description\": \"Updates the owners mapping\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xc5e3baa34a074e15c9dc99b0b81b573ebbdd07b026df6162630478f6d12892f3\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe26\",\n          \"description\": \"Updates the owners mapping\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xd5a3955556fe832b0d9dee1f7edb84880eee53ea4dc4e838bfa6bebc90480c2a\",\n          \"before\": \"0x000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"description\": \"Updates the owners mapping\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xdbe1c9b8b04b880813d25a9c5e89056031fb59c22374b4ee4da23606ff9ee5f5\",\n          \"before\": \"0x000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Updates the owners mapping\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xdf293ebdd99010d44bfef5d86d47c7943a4e69db74a426354dc622e6d4d85761\",\n          \"before\": \"0x000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"description\": \"Updates the owners mapping\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xe475b9e5509f43031ff937d793c47553513dacb8de5b10e556e7da05bd6d6e54\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"description\": \"Updates the owners mapping\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0\",\n          \"before\": \"0x0000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe26\",\n          \"after\": \"0x0000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff33\",\n          \"description\": \"Sets the head of the owners linked list\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "sepolia/2025-11-03-incident-multisig-signers/validations/base-signer.json",
    "content": "{\n  \"cmd\": \"OWNER_SAFE=0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net UpdateSigners --sig sign(address[]) [] --sender 0x0CF2F86C3338993ce10F74d6f4B095712c7efe26\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f\",\n    \"domainHash\": \"0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23\",\n    \"messageHash\": \"0x7e56b1b8742a3a754cd0f1b973584f97eb3ef787824687e262ec3269ed26cc6a\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"CB Signer Safe - Sepolia\",\n      \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\"\n        },\n        {\n          \"key\": \"0x119270fd1ed5eb31be102a58824bdf348b4987efd0bab55db38c5511031adf59\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\"\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"CB Signer Safe - Sepolia\",\n      \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000000e\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000000d\",\n          \"description\": \"Updates the owner count\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"description\": \"Updates the execution threshold\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000000c\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000000d\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x1b89e6111d27169de2f97ec92e344b249dff7dd6170ee65af7a1d9dda6cf7255\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000005f1955729e3d6129fb73813e891742d473fc74f7\",\n          \"description\": \"Updates the owners mapping\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xa17f6b5d5c5960e10cb741113b64d7f023e3513339475444585747297bf07208\",\n          \"before\": \"0x0000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799\",\n          \"after\": \"0x000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d\",\n          \"description\": \"Updates the owners mapping\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xb06fd2848181e1497bbaa80b8d007c335c7806a2e47211a7bba7a9af63e0ca64\",\n          \"before\": \"0x000000000000000000000000f2fb17eab635f036da7864b8e39ef8e9a03441df\",\n          \"after\": \"0x000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b\",\n          \"description\": \"Updates the owners mapping\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xc5e3baa34a074e15c9dc99b0b81b573ebbdd07b026df6162630478f6d12892f3\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe26\",\n          \"description\": \"Updates the owners mapping\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xd5a3955556fe832b0d9dee1f7edb84880eee53ea4dc4e838bfa6bebc90480c2a\",\n          \"before\": \"0x000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"description\": \"Updates the owners mapping\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xdbe1c9b8b04b880813d25a9c5e89056031fb59c22374b4ee4da23606ff9ee5f5\",\n          \"before\": \"0x000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Updates the owners mapping\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xdf293ebdd99010d44bfef5d86d47c7943a4e69db74a426354dc622e6d4d85761\",\n          \"before\": \"0x000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"description\": \"Updates the owners mapping\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xe475b9e5509f43031ff937d793c47553513dacb8de5b10e556e7da05bd6d6e54\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"description\": \"Updates the owners mapping\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0\",\n          \"before\": \"0x0000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe26\",\n          \"after\": \"0x0000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff33\",\n          \"description\": \"Sets the head of the owners linked list\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "sepolia/2025-11-07-deploy-cb-multicall/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 1\nendif\n\ndeploy:\nifndef VERIFIER_API_KEY\n\t$(error VERIFIER_API_KEY is not set)\nendif\n\tforge script script/DeployCBMulticall.s.sol:DeployCBMulticallScript \\\n\t--rpc-url ${L2_RPC_URL} \\\n\t--broadcast \\\n\t--verify \\\n\t--verifier-api-key ${VERIFIER_API_KEY} \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" \\\n\t-vvvv"
  },
  {
    "path": "sepolia/2025-11-07-deploy-cb-multicall/README.md",
    "content": "# Deploy CBMulticall\n\nStatus: [EXECUTED](https://sepolia.basescan.org/tx/0x636f737cc8ca52789b65b1e9a9f6111348e80a145eb3e60f1f28d0e0627295c1)\n\n## Description\n\nThis task deploys the CBMulticall contract.\n\n## Procedure\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd sepolia/2025-11-07-deploy-cb-multicall\nmake deps\n```\n\n### 2. Run the script:\n\n```bash\nmake deploy\n```\n"
  },
  {
    "path": "sepolia/2025-11-07-deploy-cb-multicall/addresses.json",
    "content": "{\n  \"cbMulticall\": \"0xf113DA645C65f786c08a48d540Ee5f7A59189ffF\"\n}"
  },
  {
    "path": "sepolia/2025-11-07-deploy-cb-multicall/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nevm_version = \"prague\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "sepolia/2025-11-07-deploy-cb-multicall/records/DeployCBMulticall.s.sol/84532/run-1763158491374.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x636f737cc8ca52789b65b1e9a9f6111348e80a145eb3e60f1f28d0e0627295c1\",\n      \"transactionType\": \"CREATE2\",\n      \"contractName\": \"CBMulticall\",\n      \"contractAddress\": \"0xf113da645c65f786c08a48d540ee5f7a59189fff\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x4e59b44847b379578588920ca78fbf26c0b4956c\",\n        \"gas\": \"0x12fb9f\",\n        \"value\": \"0x0\",\n        \"input\": \"0x0000000000000000000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b50610e6f806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e1461025a578063bce38bd714610275578063c3077fa914610288578063ee82ac5e1461029b57600080fd5b80634d2301cc146101ec57806372425d9d1461022157806382ad56cb1461023457806386d516e81461024757600080fd5b80633408e470116100c65780633408e47014610191578063399542e9146101a45780633e64a696146101c657806342cbb15c146101d957600080fd5b80630f28c97d146100f8578063174dea711461011a578063252dba421461013a57806327e86d6e1461015b575b600080fd5b34801561010457600080fd5b50425b6040519081526020015b60405180910390f35b61012d610128366004610a14565b6102ba565b6040516101119190610b4d565b61014d610148366004610a14565b610479565b604051610111929190610b67565b34801561016757600080fd5b50437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0140610107565b34801561019d57600080fd5b5046610107565b6101b76101b2366004610bef565b61061f565b60405161011193929190610c49565b3480156101d257600080fd5b5048610107565b3480156101e557600080fd5b5043610107565b3480156101f857600080fd5b50610107610207366004610c71565b73ffffffffffffffffffffffffffffffffffffffff163190565b34801561022d57600080fd5b5044610107565b61012d610242366004610a14565b61063a565b34801561025357600080fd5b5045610107565b34801561026657600080fd5b50604051418152602001610111565b61012d610283366004610bef565b6107e9565b6101b7610296366004610a14565b6109a9565b3480156102a757600080fd5b506101076102b6366004610ca7565b4090565b6060818067ffffffffffffffff8111156102d6576102d6610cc0565b60405190808252806020026020018201604052801561031c57816020015b6040805180820190915260008152606060208201528152602001906001900390816102f45790505b5091503660005b8281101561047057600084828151811061033f5761033f610cef565b6020026020010151905086868381811061035b5761035b610cef565b905060200281019061036d9190610d1e565b925060408301356103816020850185610c71565b73ffffffffffffffffffffffffffffffffffffffff16816103a56060870187610d5c565b6040516103b3929190610dc1565b60006040518083038185875af1925050503d80600081146103f0576040519150601f19603f3d011682016040523d82523d6000602084013e6103f5565b606091505b506020808501919091529015158084529085013517610466577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b5050600101610323565b50505092915050565b436060828067ffffffffffffffff81111561049657610496610cc0565b6040519080825280602002602001820160405280156104c957816020015b60608152602001906001900390816104b45790505b5091503660005b828110156106155760008787838181106104ec576104ec610cef565b90506020028101906104fe9190610dd1565b925061050d6020840184610c71565b73ffffffffffffffffffffffffffffffffffffffff166105306020850185610d5c565b60405161053e929190610dc1565b6000604051808303816000865af19150503d806000811461057b576040519150601f19603f3d011682016040523d82523d6000602084013e610580565b606091505b5086848151811061059357610593610cef565b602090810291909101015290508061060c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064015b60405180910390fd5b506001016104d0565b5050509250929050565b438040606061062f8686866107e9565b905093509350939050565b6060818067ffffffffffffffff81111561065657610656610cc0565b60405190808252806020026020018201604052801561069c57816020015b6040805180820190915260008152606060208201528152602001906001900390816106745790505b5091503660005b828110156104705760008482815181106106bf576106bf610cef565b602002602001015190508686838181106106db576106db610cef565b90506020028101906106ed9190610e05565b92506106fc6020840184610c71565b73ffffffffffffffffffffffffffffffffffffffff1661071f6040850185610d5c565b60405161072d929190610dc1565b6000604051808303816000865af19150503d806000811461076a576040519150601f19603f3d011682016040523d82523d6000602084013e61076f565b606091505b5060208084019190915290151580835290840135176107e0577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b506001016106a3565b6060818067ffffffffffffffff81111561080557610805610cc0565b60405190808252806020026020018201604052801561084b57816020015b6040805180820190915260008152606060208201528152602001906001900390816108235790505b5091503660005b8281101561099f57600084828151811061086e5761086e610cef565b6020026020010151905086868381811061088a5761088a610cef565b905060200281019061089c9190610dd1565b92506108ab6020840184610c71565b73ffffffffffffffffffffffffffffffffffffffff166108ce6020850185610d5c565b6040516108dc929190610dc1565b6000604051808303816000865af19150503d8060008114610919576040519150601f19603f3d011682016040523d82523d6000602084013e61091e565b606091505b506020830152151581528715610996578051610996576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000006044820152606401610603565b50600101610852565b5050509392505050565b60008060606109ba6001868661061f565b919790965090945092505050565b60008083601f8401126109da57600080fd5b50813567ffffffffffffffff8111156109f257600080fd5b6020830191508360208260051b8501011115610a0d57600080fd5b9250929050565b60008060208385031215610a2757600080fd5b823567ffffffffffffffff811115610a3e57600080fd5b610a4a858286016109c8565b90969095509350505050565b6000815180845260005b81811015610a7c57602081850181015186830182015201610a60565b81811115610a8e576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b84811015610b40578583037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001895281518051151584528401516040858501819052610b2c81860183610a56565b9a86019a9450505090830190600101610ade565b5090979650505050505050565b602081526000610b606020830184610ac1565b9392505050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610be1577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0888703018452610bcf868351610a56565b95509284019290840190600101610b95565b509398975050505050505050565b600080600060408486031215610c0457600080fd5b83358015158114610c1457600080fd5b9250602084013567ffffffffffffffff811115610c3057600080fd5b610c3c868287016109c8565b9497909650939450505050565b838152826020820152606060408201526000610c686060830184610ac1565b95945050505050565b600060208284031215610c8357600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610b6057600080fd5b600060208284031215610cb957600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112610d5257600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112610d9157600080fd5b83018035915067ffffffffffffffff821115610dac57600080fd5b602001915036819003821315610a0d57600080fd5b8183823760009101908152919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112610d5257600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112610d5257600080fdfea2646970667358221220ea6edd4fcede4352efea43af3870fb98e2bdc62d25eefa782607d4bea202e6b264736f6c634300080f0033\",\n        \"nonce\": \"0x0\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x5eb766\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x636f737cc8ca52789b65b1e9a9f6111348e80a145eb3e60f1f28d0e0627295c1\",\n      \"transactionIndex\": \"0xf\",\n      \"blockHash\": \"0x763d843f9412304040c4af3406ef80ed92198267abc1f13f56ae08da0066c935\",\n      \"blockNumber\": \"0x2022574\",\n      \"gasUsed\": \"0xcfad2\",\n      \"effectiveGasPrice\": \"0xf4290\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x4e59b44847b379578588920ca78fbf26c0b4956c\",\n      \"contractAddress\": \"0xf113da645c65f786c08a48d540ee5f7a59189fff\",\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x5ce\",\n      \"l1GasPrice\": \"0x9\",\n      \"l1GasUsed\": \"0x7181\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1763158491374,\n  \"chain\": 84532,\n  \"commit\": \"42f1b37\"\n}"
  },
  {
    "path": "sepolia/2025-11-07-deploy-cb-multicall/script/DeployCBMulticall.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Script, console} from \"forge-std/Script.sol\";\nimport {VmSafe} from \"forge-std/Vm.sol\";\n\nimport {CBMulticall} from \"@base-contracts/src/utils/CBMulticall.sol\";\n\ncontract DeployCBMulticallScript is Script {\n    bytes32 SALT = bytes32(uint256(0));\n\n    CBMulticall cbMulticall;\n\n    function run() public {\n        vm.startBroadcast();\n        cbMulticall = new CBMulticall{salt: SALT}();\n        console.log(\"CBMulticall deployed at: \", address(cbMulticall));\n        vm.stopBroadcast();\n\n        string memory obj = \"root\";\n        string memory json = vm.serializeAddress(obj, \"cbMulticall\", address(cbMulticall));\n        vm.writeJson(json, \"addresses.json\");\n\n        _postCheck();\n    }\n\n    function _postCheck() internal view {\n        vm.assertEq(\n            address(cbMulticall),\n            vm.computeCreate2Address({salt: SALT, initCodeHash: _initCodeHash(), deployer: CREATE2_FACTORY}),\n            \"The cbMulticall address does not match the one computed by `vm.computeCreate2Address`\"\n        );\n    }\n\n    function _initCode() private view returns (bytes memory) {\n        bytes memory args = \"\";\n        return abi.encodePacked(vm.getCode(\"CBMulticall.sol:CBMulticall\"), args);\n    }\n\n    function _initCodeHash() private view returns (bytes32) {\n        return keccak256(_initCode());\n    }\n}\n"
  },
  {
    "path": "sepolia/2025-11-07-upgrade-fault-proofs/FACILITATORS.md",
    "content": "#### Execute the transaction\n\n1. IMPORTANT: Ensure op-challenger has been updated before executing.\n1. Collect outputs from all participating signers.\n1. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"`.\n1. Run the `make execute` or `make approve` command as described below to execute the transaction.\n\nFor example, if the quorum is 3 and you get the following outputs:\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE01\nSignature: AAAA\n```\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE02\nSignature: BBBB\n```\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE03\nSignature: CCCC\n```\n\nCoinbase facilitator:\n\n```bash\nSIGNATURES=AAAABBBBCCCC make approve-cb\n```\n\n```bash\nSIGNATURES=AAAABBBBCCCC make approve-cb-sc\n```\n\n```bash\nSIGNATURES=AAAABBBBCCCC make approve-op\n```\n\nOnce the signatures have been submitted approving the transaction for all nested Safes run:\n\n```bash\nmake execute\n```"
  },
  {
    "path": "sepolia/2025-11-07-upgrade-fault-proofs/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\n\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 1\nendif\n\n# Sepolia Commands\n\n# OWNER_SAFE/\n# ├── CB_SIGNER_SAFE_ADDR/\n# │   ├── CB_NESTED_SAFE_ADDR/\n# │   │   └── Signers\n# │   └── CB_SC_SAFE_ADDR/\n# │       └── Signers\n# └── OP_SIGNER_SAFE_ADDR/\n#     └── Signers\n\nRPC_URL = $(L1_RPC_URL)\nSCRIPT_NAME = UpgradeWithOpSmartContractManager\n\n.PHONY: gen-validation-cb\ngen-validation-cb: checkout-signer-tool run-script-cb\n\n.PHONY: run-script-cb\nrun-script-cb:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \\\n\t--workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" \"[$(CB_NESTED_SAFE_ADDR), $(CB_SIGNER_SAFE_ADDR)]\" --sender 0x7f10098bd53519c739ca8a404afe127647d94774' --out ../validations/cb-signer.json;\n\n\n.PHONY: gen-validation-cb-sc\ngen-validation-cb-sc: checkout-signer-tool run-script-cb-sc\n\n.PHONY: run-script-cb-sc\nrun-script-cb-sc:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \\\n\t--workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" \"[$(CB_SC_SAFE_ADDR), $(CB_SIGNER_SAFE_ADDR)]\" --sender 0x7f10098bd53519c739ca8a404afe127647d94774' --out ../validations/cb-sc-signer.json;\n\n.PHONY: gen-validation-op\ngen-validation-op: checkout-signer-tool run-script-op\n\n.PHONY: run-script-op\nrun-script-op:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \\\n\t--workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" \"[$(OP_SIGNER_SAFE_ADDR)]\" --sender 0x0CF2F86C3338993ce10F74d6f4B095712c7efe26' --out ../validations/op-signer.json;\n\n\n# CB\n.PHONY: approve-cb\napprove-cb:\n\t$(call MULTISIG_APPROVE,$(CB_NESTED_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES))\n\n.PHONY: approve-cb-sc\napprove-cb-sc:\n\t$(call MULTISIG_APPROVE,$(CB_SC_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES))\n\n.PHONY: approve-cb-coordinator\napprove-cb-coordinator:\n\t$(call MULTISIG_APPROVE,$(CB_SIGNER_SAFE_ADDR),0x)\n\n.PHONY: approve-op\napprove-op:\n\t$(call MULTISIG_APPROVE,$(OP_SIGNER_SAFE_ADDR),$(SIGNATURES))\n\n# Execute\n.PHONY: execute\nexecute:\n\t$(call MULTISIG_EXECUTE,0x)\n"
  },
  {
    "path": "sepolia/2025-11-07-upgrade-fault-proofs/README.md",
    "content": "# U17 Jovian Upgrade\n\nStatus: [EXECUTED](https://sepolia.etherscan.io/tx/0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590)\n\n## Description\n\nThe Jovian hardfork is a proposed network upgrade for OP Stack chains, which brings several improvements to the way rollup fees are calculated as well as performing a maintenance update to the fault proof virtual machine. [More Details](https://docs.optimism.io/notices/upgrade-17).\n\nThis script executes the `upgrade` function of the OP Contracts Manager to upgrade all relevant contracts.\n\n## Procedure\n\n## Install dependencies\n\n### 1. Update foundry\n\n```bash\nfoundryup\n```\n\n### 2. Install Node.js if needed\n\nFirst, check if you have node installed\n\n```bash\nnode --version\n```\n\nIf you see a version output from the above command, you can move on. Otherwise, install node\n\n```bash\nbrew install node\n```\n\n## Approving the Update transaction\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root).\n\n```bash\nmake sign-task\n```\n\n### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\nBe sure to select the correct task user from the list of available users to sign.\nAfter completion, the signer tool can be closed by using Ctrl + c\n\n### 4. Send signature to facilitator\n"
  },
  {
    "path": "sepolia/2025-11-07-upgrade-fault-proofs/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 200\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n    '@lib-keccak/=lib/lib-keccak/contracts/lib',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "sepolia/2025-11-07-upgrade-fault-proofs/records/UpgradeWithOpSmartContractManager.sol/11155111/approve-latest.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xa4724b8bc774d8be3ee5c24b0ac471ed6c71535c6f8ec14b6b3ae01056eb1a92\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd41a6d7fbb33919d08a40b81927f228de3011cca9ece4c32b179f8e4711572b5a00000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x8b6972507570fed878d8f95e6cbeb6325bf157c852dd041b996c6ad69dd3ee4416df65e7db3a0bf74d042a302f02ff621156dd5e246eb98c80721174b3a01ed51b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x7f10098bd53519c739ca8a404afe127647d94774\",\n        \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n        \"gas\": \"0x1ea78\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd41a6d7fbb33919d08a40b81927f228de3011cca9ece4c32b179f8e4711572b5a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000418b6972507570fed878d8f95e6cbeb6325bf157c852dd041b996c6ad69dd3ee4416df65e7db3a0bf74d042a302f02ff621156dd5e246eb98c80721174b3a01ed51b00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x7\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xc5306d\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x41a6d7fbb33919d08a40b81927f228de3011cca9ece4c32b179f8e4711572b5a\",\n            \"0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x0275e064bcf51f06eb06ba4c98c1d047482b2786c34da27ea0154eeb7fb70176\",\n          \"blockNumber\": \"0x935533\",\n          \"blockTimestamp\": \"0x691c7e98\",\n          \"transactionHash\": \"0xa4724b8bc774d8be3ee5c24b0ac471ed6c71535c6f8ec14b6b3ae01056eb1a92\",\n          \"transactionIndex\": \"0x41\",\n          \"logIndex\": \"0xfc\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x8524b53b3070cc94d521fe0eb3d64e85c60073f292a454fcef114c9b84a1ade20000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x0275e064bcf51f06eb06ba4c98c1d047482b2786c34da27ea0154eeb7fb70176\",\n          \"blockNumber\": \"0x935533\",\n          \"blockTimestamp\": \"0x691c7e98\",\n          \"transactionHash\": \"0xa4724b8bc774d8be3ee5c24b0ac471ed6c71535c6f8ec14b6b3ae01056eb1a92\",\n          \"transactionIndex\": \"0x41\",\n          \"logIndex\": \"0xfd\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000800000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000008000000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014020000000000000000000000100000000008000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xa4724b8bc774d8be3ee5c24b0ac471ed6c71535c6f8ec14b6b3ae01056eb1a92\",\n      \"transactionIndex\": \"0x41\",\n      \"blockHash\": \"0x0275e064bcf51f06eb06ba4c98c1d047482b2786c34da27ea0154eeb7fb70176\",\n      \"blockNumber\": \"0x935533\",\n      \"gasUsed\": \"0x16318\",\n      \"effectiveGasPrice\": \"0xf4249\",\n      \"from\": \"0x7f10098bd53519c739ca8a404afe127647d94774\",\n      \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1763475097893,\n  \"chain\": 11155111,\n  \"commit\": \"58a1ca7\"\n}"
  },
  {
    "path": "sepolia/2025-11-07-upgrade-fault-proofs/records/UpgradeWithOpSmartContractManager.sol/11155111/run-1763474377488.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xef59f27a54fa9a993bea42030de61ab87e1078f90b51d665101f8d69b0412b15\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303\",\n        \"0\",\n        \"0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdd927483e0a20849a8b8b610bbf455e42da2cbf8b8846f6fdf4a32bad1bbd22f700000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xf641599e973958913085e9236ca194875b6a45a02d3c45cd51894c2a5e048c454d88be3cdd4ce9a82eee38437a3e649087e59f88caaa69a889f55eee2d947c0d1baff25c1af81289ba784fe0e05e639a3b01fadf008de619129c758305ec16e822460001cae6e33f41c6f922c6985e6d51f846a90cd7eb99c4fd3b2435555af6271c9ff3a435971f59c0d9abfcf236185bdae0248e4a139647a1d65f2f3b5678a2de79fc1b917f9f68799382b5af13803be962aba6927c56699077f36c086656cbf71c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x7f10098bd53519c739ca8a404afe127647d94774\",\n        \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n        \"gas\": \"0x23275\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdd927483e0a20849a8b8b610bbf455e42da2cbf8b8846f6fdf4a32bad1bbd22f7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3f641599e973958913085e9236ca194875b6a45a02d3c45cd51894c2a5e048c454d88be3cdd4ce9a82eee38437a3e649087e59f88caaa69a889f55eee2d947c0d1baff25c1af81289ba784fe0e05e639a3b01fadf008de619129c758305ec16e822460001cae6e33f41c6f922c6985e6d51f846a90cd7eb99c4fd3b2435555af6271c9ff3a435971f59c0d9abfcf236185bdae0248e4a139647a1d65f2f3b5678a2de79fc1b917f9f68799382b5af13803be962aba6927c56699077f36c086656cbf71c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x4\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x471351\",\n      \"logs\": [\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xd927483e0a20849a8b8b610bbf455e42da2cbf8b8846f6fdf4a32bad1bbd22f7\",\n            \"0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xa6499b324a0959262508e57c82afbf5f8b6ef5e4f2992af5a758b02b2143ea33\",\n          \"blockNumber\": \"0x9354fe\",\n          \"blockTimestamp\": \"0x691c7bc8\",\n          \"transactionHash\": \"0xef59f27a54fa9a993bea42030de61ab87e1078f90b51d665101f8d69b0412b15\",\n          \"transactionIndex\": \"0x21\",\n          \"logIndex\": \"0x2b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0x98bda964a74c0878b7662d4dab0bb7da306b5ca7be0cfd01092e398311ee0366\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xa6499b324a0959262508e57c82afbf5f8b6ef5e4f2992af5a758b02b2143ea33\",\n          \"blockNumber\": \"0x9354fe\",\n          \"blockTimestamp\": \"0x691c7bc8\",\n          \"transactionHash\": \"0xef59f27a54fa9a993bea42030de61ab87e1078f90b51d665101f8d69b0412b15\",\n          \"transactionIndex\": \"0x21\",\n          \"logIndex\": \"0x2c\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000000010000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000800000000400000000000400000000000000000000000000000000000000000000000000000000004000000000000000000000200000000000000000000000000000000000000000000000000000000000020000404000000000000010080000000000000000000000000000000800000000000000000000000000000000004000020000020000000020000000000000040000000000000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xef59f27a54fa9a993bea42030de61ab87e1078f90b51d665101f8d69b0412b15\",\n      \"transactionIndex\": \"0x21\",\n      \"blockHash\": \"0xa6499b324a0959262508e57c82afbf5f8b6ef5e4f2992af5a758b02b2143ea33\",\n      \"blockNumber\": \"0x9354fe\",\n      \"gasUsed\": \"0x19736\",\n      \"effectiveGasPrice\": \"0x10d3d9\",\n      \"from\": \"0x7f10098bd53519c739ca8a404afe127647d94774\",\n      \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1763474377488,\n  \"chain\": 11155111,\n  \"commit\": \"58a1ca7\"\n}"
  },
  {
    "path": "sepolia/2025-11-07-upgrade-fault-proofs/records/UpgradeWithOpSmartContractManager.sol/11155111/run-1763474533668.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x5cb75ae877781e0cbcdb8369ab460fe9612d3d32128a410a39c37e6a9c6abafa\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303\",\n        \"0\",\n        \"0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdd927483e0a20849a8b8b610bbf455e42da2cbf8b8846f6fdf4a32bad1bbd22f700000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xf2ed8e2c126afc94ae9276822b2e243c14dde081c14059e73ebe55689003b4f97d367ed90bb986179507d74ccf563082bd5fbf00e5ed23edb330073413910ec31c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x7f10098bd53519c739ca8a404afe127647d94774\",\n        \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n        \"gas\": \"0x1dc22\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdd927483e0a20849a8b8b610bbf455e42da2cbf8b8846f6fdf4a32bad1bbd22f700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041f2ed8e2c126afc94ae9276822b2e243c14dde081c14059e73ebe55689003b4f97d367ed90bb986179507d74ccf563082bd5fbf00e5ed23edb330073413910ec31c00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x5\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x172446b\",\n      \"logs\": [\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xd927483e0a20849a8b8b610bbf455e42da2cbf8b8846f6fdf4a32bad1bbd22f7\",\n            \"0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf130c89f6d4c27de78073f8cd88ddd2a58b1447034db6d3393e05120434f2f5c\",\n          \"blockNumber\": \"0x935509\",\n          \"blockTimestamp\": \"0x691c7c64\",\n          \"transactionHash\": \"0x5cb75ae877781e0cbcdb8369ab460fe9612d3d32128a410a39c37e6a9c6abafa\",\n          \"transactionIndex\": \"0x58\",\n          \"logIndex\": \"0xd2\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xe77a5b3c54f98875399dd031cbde2dd375517ed53f566c4a811b8bcf6eac50f30000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xf130c89f6d4c27de78073f8cd88ddd2a58b1447034db6d3393e05120434f2f5c\",\n          \"blockNumber\": \"0x935509\",\n          \"blockTimestamp\": \"0x691c7c64\",\n          \"transactionHash\": \"0x5cb75ae877781e0cbcdb8369ab460fe9612d3d32128a410a39c37e6a9c6abafa\",\n          \"transactionIndex\": \"0x58\",\n          \"logIndex\": \"0xd3\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000400000000400000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000010080000000000000000000000000000000000000000000000000000000000000000004000020000000000000020000000000000014020000000000000000000000100000000008000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x5cb75ae877781e0cbcdb8369ab460fe9612d3d32128a410a39c37e6a9c6abafa\",\n      \"transactionIndex\": \"0x58\",\n      \"blockHash\": \"0xf130c89f6d4c27de78073f8cd88ddd2a58b1447034db6d3393e05120434f2f5c\",\n      \"blockNumber\": \"0x935509\",\n      \"gasUsed\": \"0x158b7\",\n      \"effectiveGasPrice\": \"0x10d2bc\",\n      \"from\": \"0x7f10098bd53519c739ca8a404afe127647d94774\",\n      \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1763474533668,\n  \"chain\": 11155111,\n  \"commit\": \"58a1ca7\"\n}"
  },
  {
    "path": "sepolia/2025-11-07-upgrade-fault-proofs/records/UpgradeWithOpSmartContractManager.sol/11155111/run-1763474617427.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x61d68dc327312f8bd3968a0338a30db2b1c59249c067f6731c6ce729aade2ce0\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd41a6d7fbb33919d08a40b81927f228de3011cca9ece4c32b179f8e4711572b5a00000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x7f10098bd53519c739ca8a404afe127647d94774\",\n        \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n        \"gas\": \"0x21d8a\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd41a6d7fbb33919d08a40b81927f228de3011cca9ece4c32b179f8e4711572b5a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x6\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x61bf34\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x41a6d7fbb33919d08a40b81927f228de3011cca9ece4c32b179f8e4711572b5a\",\n            \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf59bdcf3815b5efdd1b57c995ba4ba38c90e2ae36c93230fb4886ee16926d604\",\n          \"blockNumber\": \"0x93550f\",\n          \"blockTimestamp\": \"0x691c7cb8\",\n          \"transactionHash\": \"0x61d68dc327312f8bd3968a0338a30db2b1c59249c067f6731c6ce729aade2ce0\",\n          \"transactionIndex\": \"0x4c\",\n          \"logIndex\": \"0x2e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xd927483e0a20849a8b8b610bbf455e42da2cbf8b8846f6fdf4a32bad1bbd22f70000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xf59bdcf3815b5efdd1b57c995ba4ba38c90e2ae36c93230fb4886ee16926d604\",\n          \"blockNumber\": \"0x93550f\",\n          \"blockTimestamp\": \"0x691c7cb8\",\n          \"transactionHash\": \"0x61d68dc327312f8bd3968a0338a30db2b1c59249c067f6731c6ce729aade2ce0\",\n          \"transactionIndex\": \"0x4c\",\n          \"logIndex\": \"0x2f\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000800000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000008010000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000010000000200000000000000000000000000000000000000000000000000000000001004000020000000000000000000000000000000000000000200000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x61d68dc327312f8bd3968a0338a30db2b1c59249c067f6731c6ce729aade2ce0\",\n      \"transactionIndex\": \"0x4c\",\n      \"blockHash\": \"0xf59bdcf3815b5efdd1b57c995ba4ba38c90e2ae36c93230fb4886ee16926d604\",\n      \"blockNumber\": \"0x93550f\",\n      \"gasUsed\": \"0x17249\",\n      \"effectiveGasPrice\": \"0x119144\",\n      \"from\": \"0x7f10098bd53519c739ca8a404afe127647d94774\",\n      \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1763474617427,\n  \"chain\": 11155111,\n  \"commit\": \"58a1ca7\"\n}"
  },
  {
    "path": "sepolia/2025-11-07-upgrade-fault-proofs/records/UpgradeWithOpSmartContractManager.sol/11155111/run-1763475097893.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xa4724b8bc774d8be3ee5c24b0ac471ed6c71535c6f8ec14b6b3ae01056eb1a92\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd41a6d7fbb33919d08a40b81927f228de3011cca9ece4c32b179f8e4711572b5a00000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x8b6972507570fed878d8f95e6cbeb6325bf157c852dd041b996c6ad69dd3ee4416df65e7db3a0bf74d042a302f02ff621156dd5e246eb98c80721174b3a01ed51b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x7f10098bd53519c739ca8a404afe127647d94774\",\n        \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n        \"gas\": \"0x1ea78\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd41a6d7fbb33919d08a40b81927f228de3011cca9ece4c32b179f8e4711572b5a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000418b6972507570fed878d8f95e6cbeb6325bf157c852dd041b996c6ad69dd3ee4416df65e7db3a0bf74d042a302f02ff621156dd5e246eb98c80721174b3a01ed51b00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x7\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xc5306d\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x41a6d7fbb33919d08a40b81927f228de3011cca9ece4c32b179f8e4711572b5a\",\n            \"0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x0275e064bcf51f06eb06ba4c98c1d047482b2786c34da27ea0154eeb7fb70176\",\n          \"blockNumber\": \"0x935533\",\n          \"blockTimestamp\": \"0x691c7e98\",\n          \"transactionHash\": \"0xa4724b8bc774d8be3ee5c24b0ac471ed6c71535c6f8ec14b6b3ae01056eb1a92\",\n          \"transactionIndex\": \"0x41\",\n          \"logIndex\": \"0xfc\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x8524b53b3070cc94d521fe0eb3d64e85c60073f292a454fcef114c9b84a1ade20000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x0275e064bcf51f06eb06ba4c98c1d047482b2786c34da27ea0154eeb7fb70176\",\n          \"blockNumber\": \"0x935533\",\n          \"blockTimestamp\": \"0x691c7e98\",\n          \"transactionHash\": \"0xa4724b8bc774d8be3ee5c24b0ac471ed6c71535c6f8ec14b6b3ae01056eb1a92\",\n          \"transactionIndex\": \"0x41\",\n          \"logIndex\": \"0xfd\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000800000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000008000000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014020000000000000000000000100000000008000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xa4724b8bc774d8be3ee5c24b0ac471ed6c71535c6f8ec14b6b3ae01056eb1a92\",\n      \"transactionIndex\": \"0x41\",\n      \"blockHash\": \"0x0275e064bcf51f06eb06ba4c98c1d047482b2786c34da27ea0154eeb7fb70176\",\n      \"blockNumber\": \"0x935533\",\n      \"gasUsed\": \"0x16318\",\n      \"effectiveGasPrice\": \"0xf4249\",\n      \"from\": \"0x7f10098bd53519c739ca8a404afe127647d94774\",\n      \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1763475097893,\n  \"chain\": 11155111,\n  \"commit\": \"58a1ca7\"\n}"
  },
  {
    "path": "sepolia/2025-11-07-upgrade-fault-proofs/records/UpgradeWithOpSmartContractManager.sol/11155111/run-1763475193401.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303\",\n        \"0\",\n        \"0x858cc832000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000c69e4c24db479191676611a25d977203c3bdca620000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4ff2dd5a100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f303caa1871bb9fe7f9b11217c245c16e4ded33367df5b3ccb2c6d0a847a217d1b00000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x7f10098bd53519c739ca8a404afe127647d94774\",\n        \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n        \"gas\": \"0xe1f3ef\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c580130300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000001a4858cc832000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000c69e4c24db479191676611a25d977203c3bdca620000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4ff2dd5a100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f303caa1871bb9fe7f9b11217c245c16e4ded33367df5b3ccb2c6d0a847a217d1b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x8\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [\n        {\n          \"transactionType\": \"CREATE2\",\n          \"contractName\": null,\n          \"address\": \"0xa1ae4fd5541a3e7a912e45560ed60d3edc5f9a05\",\n          \"initCode\": \"0x6102006040523480156200001257600080fd5b50604051620065483803806200654883398101604081905262000035916200053c565b82620000446001607e6200064b565b60ff16816040015111156200006c57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000965750604081015160608201516200009390600162000671565b10155b15620000b55760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000dc5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000129573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014f91906200068c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b39190620006ac565b1115620001d35760405163b4e1243360e01b815260040160405180910390fd5b6000620001f882608001516001600160401b03166200048e60201b62000cec1760201c565b6200020e906001600160401b03166002620006c6565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000255573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027b91906200068c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002df9190620006ac565b6200030284608001516001600160401b03166200048e60201b62000cec1760201c565b6001600160401b031662000317919062000671565b905060006200033283836200049160201b6200283e1760201c565b90506001600160401b038111156200035d5760405163235dfb2b60e21b815260040160405180910390fd5b620003808460a001516001600160401b03166200048e60201b62000cec1760201c565b6001600160401b0316816001600160401b03161115620003b35760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003da856000015163ffffffff166200048e60201b62000cec1760201c565b63ffffffff1603620003ff5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015181166101605292015161018052509182166101c052166101e05250620006e8565b90565b600081831015620004a35781620004a5565b825b9392505050565b60405161014081016001600160401b0381118282101715620004de57634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004f957600080fd5b919050565b80516001600160401b0381168114620004f957600080fd5b6001600160a01b03811681146200052c57600080fd5b50565b8051620004f98162000516565b60008060008385036101808112156200055457600080fd5b610140808212156200056557600080fd5b6200056f620004ac565b91506200057c86620004e4565b8252602086015160208301526040860151604083015260608601516060830152620005aa60808701620004fe565b6080830152620005bd60a08701620004fe565b60a0830152620005d060c087016200052f565b60c0830152620005e360e087016200052f565b60e0830152610100620005f88188016200052f565b8184015250610120808701518184015250819450620006198187016200052f565b935050506200062c61016085016200052f565b90509250925092565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168082101562000668576200066862000635565b90039392505050565b6000821982111562000687576200068762000635565b500190565b6000602082840312156200069f57600080fd5b8151620004a58162000516565b600060208284031215620006bf57600080fd5b5051919050565b6000816000190483118215151615620006e357620006e362000635565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051615c85620008c36000396000818161061c01528181611a4a01526123b001526000818161090d01528181611a1801528181611eeb015261237e015260008181610778015281816130ed01528181613158015261318b015260008181610ac5015261277c0152600081816106ee01528181611b4801528181611c8c01528181611d6601528181611df5015281816135fa0152613aad0152600081816105a90152818161182601528181611922015281816134f401526139b4015260008181610948015281816127fe0152613a840152600081816105460152818161247e01528181613006015261431b015260008181610b1801528181610f7f0152818161207c015281816120be01528181612f76015281816131bb015261321a015260008181610b4b0152818161262201528181612dbf01528181612ee50152818161312901528181614192015281816145bf0152818161469e0152818161475101528181614f7f0152615170015260008181610bf20152818161216a015281816121f001528181612e8801528181612fda015281816140aa01526141b301526000818161083a01526142360152615c856000f3fe6080604052600436106103555760003560e01c806370872aa5116101bb578063c0d8bb74116100f7578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b9f578063fa24f74314610bbf578063fa315aa914610be3578063fe2bbeb214610c1657600080fd5b8063dabd396d14610b09578063ec5e630814610b3c578063eff0f59214610b6f57600080fd5b8063cf09e0d0116100d1578063cf09e0d014610a75578063d5d44d8014610a96578063d6ae3cd514610ab6578063d8cc1a3c14610ae957600080fd5b8063c0d8bb74146109b4578063c395e1ca146109e1578063c6f0308c14610a0157600080fd5b80638d450a9511610164578063a8e4fb901161013e578063a8e4fb90146108fe578063bbdc02db14610931578063bcef3b5514610972578063bd8da9561461099457600080fd5b80638d450a951461082b57806399735e3214610809578063a445ece61461085e57600080fd5b80638129fc1c116101955780638129fc1c146107ec5780638980e0cc146107f45780638b85902b1461080957600080fd5b806370872aa5146107af578063786b844b146107c45780637b0f0adc146107d957600080fd5b80633e3ac912116102955780635a5fa2d91161023357806360e274641161020d57806360e27464146107275780636361506d146107475780636b6716c0146107695780636f0344091461079c57600080fd5b80635a5fa2d9146106bf5780635c0cba33146106df578063609d33341461071257600080fd5b8063529d6a8c1161026f578063529d6a8c146105e0578063534db0e21461060d57806354fd4d501461064057806357da950e1461068f57600080fd5b80633e3ac9121461056a5780633fc8cef31461059a578063472777c6146105cd57600080fd5b806325fc2ace1161030257806330dbe570116102dc57806330dbe570146104c3578063378dd48c146104fb57806337b1b229146105155780633a7684631461053757600080fd5b806325fc2ace1461046f5780632810e1d61461048e5780632ad69aeb146104a357600080fd5b8063200d2ed211610333578063200d2ed2146103e7578063222abf4514610415578063250e69bd1461045557600080fd5b8063019351301461035a57806303c2924d1461037c57806319effeb41461039c575b600080fd5b34801561036657600080fd5b5061037a6103753660046154f5565b610c46565b005b34801561038857600080fd5b5061037a610397366004615550565b610f05565b3480156103a857600080fd5b506000546103c99068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103f357600080fd5b5060005461040890600160801b900460ff1681565b6040516103de91906155a9565b34801561042157600080fd5b506104456104303660046155d1565b600c6020526000908152604090205460ff1681565b60405190151581526020016103de565b34801561046157600080fd5b50600a546104459060ff1681565b34801561047b57600080fd5b506008545b6040519081526020016103de565b34801561049a57600080fd5b5061040861148d565b3480156104af57600080fd5b506104806104be366004615550565b611665565b3480156104cf57600080fd5b506001546104e3906001600160a01b031681565b6040516001600160a01b0390911681526020016103de565b34801561050757600080fd5b50600d546104089060ff1681565b34801561052157600080fd5b503660011981013560f01c90033560601c6104e3565b34801561054357600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561057657600080fd5b50600054610445907201000000000000000000000000000000000000900460ff1681565b3480156105a657600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b61037a6105db3660046155ee565b61169b565b3480156105ec57600080fd5b506104806105fb3660046155d1565b60036020526000908152604090205481565b34801561061957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561064c57600080fd5b5060408051808201909152600581527f312e382e3000000000000000000000000000000000000000000000000000000060208201525b6040516103de9190615685565b34801561069b57600080fd5b506008546009546106aa919082565b604080519283526020830191909152016103de565b3480156106cb57600080fd5b506104806106da366004615698565b6116ad565b3480156106eb57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561071e57600080fd5b506106826116e7565b34801561073357600080fd5b5061037a6107423660046155d1565b6116f5565b34801561075357600080fd5b503660011981013560f01c900360340135610480565b34801561077557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c9565b61037a6107aa3660046156bf565b611a0d565b3480156107bb57600080fd5b50600954610480565b3480156107d057600080fd5b5061037a611ab4565b61037a6107e73660046155ee565b611ed3565b61037a611ee0565b34801561080057600080fd5b50600254610480565b34801561081557600080fd5b503660011981013560f01c900360540135610480565b34801561083757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b34801561086a57600080fd5b506108c0610879366004615698565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103de565b34801561090a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561093d57600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103de565b34801561097e57600080fd5b503660011981013560f01c900360140135610480565b3480156109a057600080fd5b506103c96109af366004615698565b611f4c565b3480156109c057600080fd5b506104806109cf3660046155d1565b600b6020526000908152604090205481565b3480156109ed57600080fd5b506104806109fc366004615700565b6120e6565b348015610a0d57600080fd5b50610a21610a1c366004615698565b6122a7565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103de565b348015610a8157600080fd5b506000546103c99067ffffffffffffffff1681565b348015610aa257600080fd5b50610480610ab13660046155d1565b61231b565b348015610ac257600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610af557600080fd5b5061037a610b04366004615729565b612373565b348015610b1557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c9565b348015610b4857600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610b7b57600080fd5b50610445610b8a366004615698565b60046020526000908152604090205460ff1681565b348015610bab57600080fd5b5061037a610bba3660046155ee565b612416565b348015610bcb57600080fd5b50610bd46127fc565b6040516103de939291906157b5565b348015610bef57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610c2257600080fd5b50610445610c31366004615698565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610c6557610c65615572565b14610c835760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610cd6576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cef3660011981013560f01c90036014013590565b90565b610d06610d01368690038601866157f0565b612859565b14610d3d576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610d52929190615864565b604051809103902014610d91576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610dda610dd584848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128b592505050565b612922565b90506000610e0182600881518110610df457610df4615874565b6020026020010151612ad8565b9050602081511115610e3f576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e96576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610f2457610f24615572565b14610f425760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610f5757610f57615874565b906000526020600020906005020190506000610f7284611f4c565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610fdb576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611024576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561104157508515155b156110a457835464010000000090046001600160a01b0316600081156110675781611076565b60018601546001600160a01b03165b90506110828187612b8c565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b03166060830152611128576001600160801b036040820152600181526000869003611128578195505b600086826020015163ffffffff1661114091906158a0565b905060008382116111515781611153565b835b602084015190915063ffffffff165b8181101561127357600086828154811061117e5761117e615874565b6000918252602080832090910154808352600690915260409091205490915060ff166111d6576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600282815481106111eb576111eb615874565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156112325750600481015460408701516001600160801b039182169116115b1561125e5760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b5050808061126b906158b8565b915050611162565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361148257606083015160008a8152600660205260409020805460ff19166001179055891580156113bf57506000547201000000000000000000000000000000000000900460ff165b1561141a576001546001600160a01b03166113da818a612b8c565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611480565b6114476001600160a01b038216156114325781611441565b60018901546001600160a01b03165b89612b8c565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156114ae576114ae615572565b146114cc5760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff16611530576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b0316600260008154811061154f5761154f615874565b600091825260209091206005909102015464010000000090046001600160a01b03161461157d576001611580565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b83600281111561162457611624615572565b02179055600281111561163957611639615572565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061168157600080fd5b90600052602060002001600091509150505481565b905090565b6116a88383836001611a0d565b505050565b600081815260076020908152604080832060059092528220805482546116de90610100900463ffffffff16826158d2565b95945050505050565b606061169660546020612bce565b6116fd611ab4565b60006002600d5460ff16600281111561171857611718615572565b0361173c57506001600160a01b0381166000908152600b60205260409020546117ab565b6001600d5460ff16600281111561175557611755615572565b0361177957506001600160a01b0381166000908152600360205260409020546117ab565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff16611888576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b15801561186c57600080fd5b505af1158015611880573d6000803e3d6000fd5b505050505050565b806000036118c2576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b15801561196857600080fd5b505af115801561197c573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146119cd576040519150601f19603f3d011682016040523d82523d6000602084013e6119d2565b606091505b50509050806116a8576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480611a6c5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b611aa2576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611aae84848484612c02565b50505050565b6002600d5460ff166002811115611acd57611acd615572565b1480611aef57506001600d5460ff166002811115611aed57611aed615572565b145b15611af657565b6000600d5460ff166002811115611b0f57611b0f615572565b14611b46576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ba4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bc891906158e9565b15611bff576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff16600003611c5b576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015611cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cff91906158e9565b905080611d38576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b158015611db257600080fd5b505af1925050508015611dc3575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa158015611e44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6891906158e9565b90508015611e8257600d805460ff19166001179055611e90565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f91611ec79160ff909116906155a9565b60405180910390a15050565b6116a88383836000611a0d565b326001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f42576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f4a6135a3565b565b600080600054600160801b900460ff166002811115611f6d57611f6d615572565b14611f8b5760405163067fe19560e41b815260040160405180910390fd5b600060028381548110611fa057611fa0615874565b600091825260208220600590910201805490925063ffffffff9081161461200657815460028054909163ffffffff16908110611fde57611fde615874565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b600482015460009061203190600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b6120459067ffffffffffffffff16426158d2565b61205b612024846001600160801b031660401c90565b67ffffffffffffffff1661206f91906158a0565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff16116120bc57806116de565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612163836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f00000000000000000000000000000000000000000000000000000000000000008111156121c2576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a30060006121dd838361591c565b9050670de0b6b3a76400006000612214827f0000000000000000000000000000000000000000000000000000000000000000615930565b9050600061223261222d670de0b6b3a764000086615930565b613b40565b905060006122408484613d92565b9050600061224e8383613de1565b9050600061225b82613e0f565b9050600061227a82612275670de0b6b3a76400008f615930565b613ff7565b905060006122888b83613de1565b9050612294818d615930565b9f9e505050505050505050505050505050565b600281815481106122b757600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff16600281111561233657612336615572565b0361235757506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806123d25750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b612408576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611880868686868686614028565b60008054600160801b900460ff16600281111561243557612435615572565b146124535760405163067fe19560e41b815260040160405180910390fd5b60008060008061246286614584565b93509350935093506000612478858585856148dd565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124fe919061594f565b9050600189036125cb576001600160a01b0381166352f0f3ad8a8461252f3660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156125a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c5919061596c565b50611482565b600289036125ea576001600160a01b0381166352f0f3ad8a848961252f565b60038903612609576001600160a01b0381166352f0f3ad8a848761252f565b6004890361273e5760006126466001600160801b0385167f000000000000000000000000000000000000000000000000000000000000000061497c565b60095461265391906158a0565b61265e9060016158a0565b90503660011981013560f01c900360540135811061268b573660011981013560f01c90036054013561268d565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015612713573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612737919061596c565b5050611482565b600589036127ca576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a401612582565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003660011981013560f01c90036014013560606128376116e7565b9050909192565b60008183101561284e5781612850565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001612898949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003612904576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b6060600080600061293285614a11565b91945092509050600181600181111561294d5761294d615572565b14612984576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845161299083856158a0565b146129c7576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816129de5790505093506000835b8651811015612acc57600080612a516040518060400160405280858c60000151612a3591906158d2565b8152602001858c60200151612a4a91906158a0565b9052614a11565b509150915060405180604001604052808383612a6d91906158a0565b8152602001848b60200151612a8291906158a0565b815250888581518110612a9757612a97615874565b6020908102919091010152612aad6001856158a0565b9350612ab981836158a0565b612ac390846158a0565b92505050612a0b565b50845250919392505050565b60606000806000612ae885614a11565b919450925090506000816001811115612b0357612b03615572565b14612b3a576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612b4482846158a0565b855114612b7d576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116de85602001518484614eaf565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190612bc59084906158a0565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b60008054600160801b900460ff166002811115612c2157612c21615572565b14612c3f5760405163067fe19560e41b815260040160405180910390fd5b600060028481548110612c5457612c54615874565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514612d18576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000612dad826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580612de85750612de57f000000000000000000000000000000000000000000000000000000000000000060026158a0565b81145b8015612df2575084155b15612e29576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015612e4f575086155b15612e86576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115612ee0576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612f0b7f000000000000000000000000000000000000000000000000000000000000000060016158a0565b8103612f1d57612f1d86888588614f44565b34612f27836120e6565b14612f5e576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612f6988611f4c565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603612fd1576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612ffe60017f00000000000000000000000000000000000000000000000000000000000000006158d2565b8303613122577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613062573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613086919061594f565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130e7919061596c565b61311b907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615985565b90506131b5565b61314d60017f00000000000000000000000000000000000000000000000000000000000000006158d2565b83036131885761311b7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff1660026159b1565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b6131e9817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159e1565b67ffffffffffffffff166132048367ffffffffffffffff1690565b67ffffffffffffffff16111561324b57613248817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159e1565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff16156132c0576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c815260200190815260200160002060016002805490506134b791906158d2565b81546001810183556000928352602080842090910191909155338252600b90526040812080543492906134eb9084906158a0565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561354d57600080fd5b505af1158015613561573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b60005471010000000000000000000000000000000000900460ff16156135f5576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015613655573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136799190615a0a565b9092509050816136b5576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805180820190915282815260200181905260088290556009819055607a361461370c576040517f9824bdab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b803660011981013560f01c9003605401351161376a576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b9091529182208054919290916139ab9084906158a0565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015613a0d57600080fd5b505af1158015613a21573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015613b00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b249190615a2e565b600a805460ff191663ffffffff92909216929092141790555050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213613b9657631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a764000002158202613dcf57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b600081600019048311820215613dff5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d78213613e3d57919050565b680755bf798b4a1bf1e58212613e5b5763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000612850670de0b6b3a76400008361400f86613b40565b6140199190615a54565b6140239190615b10565b613e0f565b60008054600160801b900460ff16600281111561404757614047615572565b146140655760405163067fe19560e41b815260040160405180910390fd5b60006002878154811061407a5761407a615874565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506140d07f000000000000000000000000000000000000000000000000000000000000000060016158a0565b61414a826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1614614184576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808915614260576141d77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006158d2565b6001901b6141ed846001600160801b03166150d3565b6001600160801b03166142009190615b5a565b156142345761422b61421c60016001600160801b038716615b6e565b865463ffffffff166000615159565b60030154614256565b7f00000000000000000000000000000000000000000000000000000000000000005b9150849050614281565b6003850154915061427e61421c6001600160801b0386166001615b8e565b90505b600882901b60088a8a604051614298929190615864565b6040518091039020901b146142d9576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006142e48c615222565b905060006142f3836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced3290614360908f908f908f908f908a90600401615bf9565b6020604051808303816000875af115801561437f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143a3919061596c565b60048501549114915060009060029061442c906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6144a6896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6144b09190615c33565b6144ba9190615c56565b60ff1615905081151581036144fb576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b031615614545576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008060008060008590506000600282815481106145a4576145a4615874565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614659906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611614693576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090614738906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1692508211156147ad57825463ffffffff166147777f000000000000000000000000000000000000000000000000000000000000000060016158a0565b8303614781578391505b6002818154811061479457614794615874565b9060005260206000209060050201935080945050614697565b600481810154908401546001600160801b0391821691166000816001600160801b03166147f26147e6856001600160801b031660011c90565b6001600160801b031690565b6001600160801b0316149050801561488b576000614818836001600160801b03166150d3565b6001600160801b0316111561486857600061484861484060016001600160801b038616615b6e565b896001615159565b6003810154600490910154909c506001600160801b03169a5061486e9050565b6008549a505b600386015460048701549099506001600160801b031697506148cf565b60006148a46148406001600160801b0385166001615b8e565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b038416156149385760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a001604051602081830303815290604052805190602001206116de565b828260405160200161495d9291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b6000806149f0847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614a54576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614a79576000600160009450945094505050614ea8565b60b78111614b8f576000614a8e6080836158d2565b905080876000015111614acd576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614b4557507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614b7c576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614ea8915050565b60bf8111614ced576000614ba460b7836158d2565b905080876000015111614be3576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614c45576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614c8d576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614c9781846158a0565b895111614cd0576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614cdb8360016158a0565b9750955060009450614ea89350505050565b60f78111614d52576000614d0260c0836158d2565b905080876000015111614d41576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614ea8915050565b6000614d5f60f7836158d2565b905080876000015111614d9e576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614e00576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614e48576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e5281846158a0565b895111614e8b576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e968360016158a0565b9750955060019450614ea89350505050565b9193909250565b60608167ffffffffffffffff811115614eca57614eca6157da565b6040519080825280601f01601f191660200182016040528015614ef4576020820181803683370190505b5090508115614f3d576000614f0984866158a0565b90506020820160005b84811015614f2a578281015182820152602001614f12565b84811115614f39576000858301525b5050505b9392505050565b6000614f5a6001600160801b0384166001615b8e565b90506000614f6a82866001615159565b9050600086901a83806150345750614fa360027f0000000000000000000000000000000000000000000000000000000000000000615b5a565b6004830154600290615025906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61502f9190615c56565b60ff16145b1561508c5760ff81166001148061504e575060ff81166002145b615087576040517ff40239db00000000000000000000000000000000000000000000000000000000815260048101889052602401613761565b6150ca565b60ff8116156150ca576040517ff40239db00000000000000000000000000000000000000000000000000000000815260048101889052602401613761565b50505050505050565b600080615147837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b60008082615199576151946001600160801b0386167f0000000000000000000000000000000000000000000000000000000000000000615251565b6151ab565b6151ab856001600160801b0316615390565b9050600284815481106151c0576151c0615874565b906000526020600020906005020191505b60048201546001600160801b0382811691161461521a57815460028054909163ffffffff1690811061520557615205615874565b906000526020600020906005020191506151d1565b509392505050565b600080600080600061523386614584565b9350935093509350615247848484846148dd565b9695505050505050565b6000816152ce846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116152e45763b34b5c226000526004601cfd5b6152ed83615390565b90508161536a826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611612853576128506153808360016158a0565b6001600160801b0383169061541c565b6000811960018301168161540b827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b600080615490847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f8401126154be57600080fd5b50813567ffffffffffffffff8111156154d657600080fd5b6020830191508360208285010111156154ee57600080fd5b9250929050565b600080600083850360a081121561550b57600080fd5b608081121561551957600080fd5b50839250608084013567ffffffffffffffff81111561553757600080fd5b615543868287016154ac565b9497909650939450505050565b6000806040838503121561556357600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b600381106155a657634e487b7160e01b600052602160045260246000fd5b50565b602081016155b683615588565b91905290565b6001600160a01b03811681146155a657600080fd5b6000602082840312156155e357600080fd5b8135614f3d816155bc565b60008060006060848603121561560357600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561564057602081850181015186830182015201615624565b81811115615652576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000612850602083018461561a565b6000602082840312156156aa57600080fd5b5035919050565b80151581146155a657600080fd5b600080600080608085870312156156d557600080fd5b84359350602085013592506040850135915060608501356156f5816156b1565b939692955090935050565b60006020828403121561571257600080fd5b81356001600160801b0381168114614f3d57600080fd5b6000806000806000806080878903121561574257600080fd5b863595506020870135615754816156b1565b9450604087013567ffffffffffffffff8082111561577157600080fd5b61577d8a838b016154ac565b9096509450606089013591508082111561579657600080fd5b506157a389828a016154ac565b979a9699509497509295939492505050565b63ffffffff841681528260208201526060604082015260006116de606083018461561a565b634e487b7160e01b600052604160045260246000fd5b60006080828403121561580257600080fd5b6040516080810181811067ffffffffffffffff8211171561583357634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082198211156158b3576158b361588a565b500190565b600060001982036158cb576158cb61588a565b5060010190565b6000828210156158e4576158e461588a565b500390565b6000602082840312156158fb57600080fd5b8151614f3d816156b1565b634e487b7160e01b600052601260045260246000fd5b60008261592b5761592b615906565b500490565b600081600019048311821515161561594a5761594a61588a565b500290565b60006020828403121561596157600080fd5b8151614f3d816155bc565b60006020828403121561597e57600080fd5b5051919050565b600067ffffffffffffffff8083168185168083038211156159a8576159a861588a565b01949350505050565b600067ffffffffffffffff808316818516818304811182151516156159d8576159d861588a565b02949350505050565b600067ffffffffffffffff83811690831681811015615a0257615a0261588a565b039392505050565b60008060408385031215615a1d57600080fd5b505080516020909101519092909150565b600060208284031215615a4057600080fd5b815163ffffffff81168114614f3d57600080fd5b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615a9557615a9561588a565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615ad057615ad061588a565b60008712925087820587128484161615615aec57615aec61588a565b87850587128184161615615b0257615b0261588a565b505050929093029392505050565b600082615b1f57615b1f615906565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615b5557615b5561588a565b500590565b600082615b6957615b69615906565b500690565b60006001600160801b0383811690831681811015615a0257615a0261588a565b60006001600160801b038083168185168083038211156159a8576159a861588a565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615c0d606083018789615bb0565b8281036020840152615c20818688615bb0565b9150508260408301529695505050505050565b600060ff821660ff841680821015615c4d57615c4d61588a565b90039392505050565b600060ff831680615c6957615c69615906565b8060ff8416069150509291505056fea164736f6c634300080f000a000000000000000000000000000000000000000000000000000000000000000103caa1871bb9fe7f9b11217c245c16e4ded33367df5b3ccb2c6d0a847a217d1b0000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d400000000000000000000000006463dee3828677f6270d83d45408044fc5edb90800000000000000000000000032ce910d9c6c8f78dc6779c1499ab05f281a054e0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153550000000000000000000000000000000000000000000000000000000000014a34000000000000000000000000037637067c1dbe6d2430616d8f54cb774daa59990000000000000000000000008b8c52b04a38f10515c52670fcb23f3c4c44474f\"\n        },\n        {\n          \"transactionType\": \"CREATE2\",\n          \"contractName\": null,\n          \"address\": \"0xed839a2aa262eccc513308fe7b8f39088ff8e992\",\n          \"initCode\": \"0x6101c06040523480156200001257600080fd5b50604051620062933803806200629383398101604081905262000035916200052e565b620000436001607e62000601565b60ff16816040015111156200006b57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000955750604081015160608201516200009290600162000627565b10155b15620000b45760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000db5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000128573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014e919062000642565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b2919062000662565b1115620001d25760405163b4e1243360e01b815260040160405180910390fd5b6000620001f782608001516001600160401b03166200048060201b62000c701760201c565b6200020d906001600160401b031660026200067c565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000254573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027a919062000642565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002de919062000662565b6200030184608001516001600160401b03166200048060201b62000c701760201c565b6001600160401b031662000316919062000627565b905060006200033183836200048360201b62003aa61760201c565b90506001600160401b038111156200035c5760405163235dfb2b60e21b815260040160405180910390fd5b6200037f8460a001516001600160401b03166200048060201b62000c701760201c565b6001600160401b0316816001600160401b03161115620003b25760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003d9856000015163ffffffff166200048060201b62000c701760201c565b63ffffffff1603620003fe5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015116610160529091015161018052506200069e565b90565b60008183101562000495578162000497565b825b9392505050565b60405161014081016001600160401b0381118282101715620004d057634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004eb57600080fd5b919050565b80516001600160401b0381168114620004eb57600080fd5b6001600160a01b03811681146200051e57600080fd5b50565b8051620004eb8162000508565b600061014082840312156200054257600080fd5b6200054c6200049e565b6200055783620004d6565b81526020830151602082015260408301516040820152606083015160608201526200058560808401620004f0565b60808201526200059860a08401620004f0565b60a0820152620005ab60c0840162000521565b60c0820152620005be60e0840162000521565b60e0820152610100620005d381850162000521565b90820152610120928301519281019290925250919050565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8416808210156200061e576200061e620005eb565b90039392505050565b600082198211156200063d576200063d620005eb565b500190565b6000602082840312156200065557600080fd5b8151620004978162000508565b6000602082840312156200067557600080fd5b5051919050565b6000816000190483118215151615620006995762000699620005eb565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051615a53620008406000396000818161072f01528181611e7c01528181611ee70152611f1a015260008181610a4901526139e40152600081816106a5015281816123c60152818161250a015281816125e401528181612673015281816127b50152612c68015260008181610593015281816117aa015281816118a6015281816122830152612b6f0152600081816108cc01528181612c3f0152613a6601526000818161053001528181611d950152818161341501526136e6015260008181610a9c01528181610f0301528181611d0501528181611f4a01528181611fa901528181612e2b0152612e6d015260008181610acf01528181611b4e01528181611c7401528181611eb80152818161328c0152818161388a01528181613ea50152818161457e0152818161469a01528181614779015261482c015260008181610b7601528181611c1701528181611d6901528181612f1901528181612f9f015281816131a401526132ad0152600081816107f101526133300152615a536000f3fe60806040526004361061033f5760003560e01c806370872aa5116101b0578063c395e1ca116100ec578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b23578063fa24f74314610b43578063fa315aa914610b67578063fe2bbeb214610b9a57600080fd5b8063dabd396d14610a8d578063ec5e630814610ac0578063eff0f59214610af357600080fd5b8063d5d44d80116100c6578063d5d44d8014610a1a578063d6ae3cd514610a3a578063d8cc1a3c14610a6d57600080fd5b8063c395e1ca14610965578063c6f0308c14610985578063cf09e0d0146109f957600080fd5b80638d450a9511610159578063bbdc02db11610133578063bbdc02db146108b5578063bcef3b55146108f6578063bd8da95614610918578063c0d8bb741461093857600080fd5b80638d450a95146107e257806399735e32146107c0578063a445ece61461081557600080fd5b80638129fc1c1161018a5780638129fc1c146107a35780638980e0cc146107ab5780638b85902b146107c057600080fd5b806370872aa514610766578063786b844b1461077b5780637b0f0adc1461079057600080fd5b80633e3ac9121161027f5780635a5fa2d91161022857806360e274641161020257806360e27464146106de5780636361506d146106fe5780636b6716c0146107205780636f0344091461075357600080fd5b80635a5fa2d9146106765780635c0cba3314610696578063609d3334146106c957600080fd5b8063529d6a8c11610259578063529d6a8c146105ca57806354fd4d50146105f757806357da950e1461064657600080fd5b80633e3ac912146105545780633fc8cef314610584578063472777c6146105b757600080fd5b806325fc2ace116102ec57806330dbe570116102c657806330dbe570146104ad578063378dd48c146104e557806337b1b229146104ff5780633a7684631461052157600080fd5b806325fc2ace146104595780632810e1d6146104785780632ad69aeb1461048d57600080fd5b8063200d2ed21161031d578063200d2ed2146103d1578063222abf45146103ff578063250e69bd1461043f57600080fd5b8063019351301461034457806303c2924d1461036657806319effeb414610386575b600080fd5b34801561035057600080fd5b5061036461035f3660046152c3565b610bca565b005b34801561037257600080fd5b5061036461038136600461531e565b610e89565b34801561039257600080fd5b506000546103b39068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103dd57600080fd5b506000546103f290600160801b900460ff1681565b6040516103c89190615377565b34801561040b57600080fd5b5061042f61041a36600461539f565b600c6020526000908152604090205460ff1681565b60405190151581526020016103c8565b34801561044b57600080fd5b50600a5461042f9060ff1681565b34801561046557600080fd5b506008545b6040519081526020016103c8565b34801561048457600080fd5b506103f2611411565b34801561049957600080fd5b5061046a6104a836600461531e565b6115e9565b3480156104b957600080fd5b506001546104cd906001600160a01b031681565b6040516001600160a01b0390911681526020016103c8565b3480156104f157600080fd5b50600d546103f29060ff1681565b34801561050b57600080fd5b503660011981013560f01c90033560601c6104cd565b34801561052d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b34801561056057600080fd5b5060005461042f907201000000000000000000000000000000000000900460ff1681565b34801561059057600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b6103646105c53660046153bc565b61161f565b3480156105d657600080fd5b5061046a6105e536600461539f565b60036020526000908152604090205481565b34801561060357600080fd5b5060408051808201909152600581527f312e382e3000000000000000000000000000000000000000000000000000000060208201525b6040516103c89190615453565b34801561065257600080fd5b50600854600954610661919082565b604080519283526020830191909152016103c8565b34801561068257600080fd5b5061046a610691366004615466565b611631565b3480156106a257600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b3480156106d557600080fd5b5061063961166b565b3480156106ea57600080fd5b506103646106f936600461539f565b611679565b34801561070a57600080fd5b503660011981013560f01c90036034013561046a565b34801561072c57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103b3565b61036461076136600461548d565b611991565b34801561077257600080fd5b5060095461046a565b34801561078757600080fd5b50610364612332565b61036461079e3660046153bc565b612751565b61036461275e565b3480156107b757600080fd5b5060025461046a565b3480156107cc57600080fd5b503660011981013560f01c90036054013561046a565b3480156107ee57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b34801561082157600080fd5b50610877610830366004615466565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103c8565b3480156108c157600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103c8565b34801561090257600080fd5b503660011981013560f01c90036014013561046a565b34801561092457600080fd5b506103b3610933366004615466565b612cfb565b34801561094457600080fd5b5061046a61095336600461539f565b600b6020526000908152604090205481565b34801561097157600080fd5b5061046a6109803660046154ce565b612e95565b34801561099157600080fd5b506109a56109a0366004615466565b613056565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103c8565b348015610a0557600080fd5b506000546103b39067ffffffffffffffff1681565b348015610a2657600080fd5b5061046a610a3536600461539f565b6130ca565b348015610a4657600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610a7957600080fd5b50610364610a883660046154f7565b613122565b348015610a9957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103b3565b348015610acc57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610aff57600080fd5b5061042f610b0e366004615466565b60046020526000908152604090205460ff1681565b348015610b2f57600080fd5b50610364610b3e3660046153bc565b61367e565b348015610b4f57600080fd5b50610b58613a64565b6040516103c893929190615583565b348015610b7357600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610ba657600080fd5b5061042f610bb5366004615466565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610be957610be9615340565b14610c075760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610c5a576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c733660011981013560f01c90036014013590565b90565b610c8a610c85368690038601866155be565b613ac1565b14610cc1576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610cd6929190615632565b604051809103902014610d15576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d5e610d5984848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613b1d92505050565b613b8a565b90506000610d8582600881518110610d7857610d78615642565b6020026020010151613d40565b9050602081511115610dc3576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e1a576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610ea857610ea8615340565b14610ec65760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610edb57610edb615642565b906000526020600020906005020190506000610ef684612cfb565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610f5f576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615610fa8576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000848152600560205260409020805480158015610fc557508515155b1561102857835464010000000090046001600160a01b031660008115610feb5781610ffa565b60018601546001600160a01b03165b90506110068187613df4565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b031660608301526110ac576001600160801b0360408201526001815260008690036110ac578195505b600086826020015163ffffffff166110c4919061566e565b905060008382116110d557816110d7565b835b602084015190915063ffffffff165b818110156111f757600086828154811061110257611102615642565b6000918252602080832090910154808352600690915260409091205490915060ff1661115a576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002828154811061116f5761116f615642565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156111b65750600481015460408701516001600160801b039182169116115b156111e25760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b505080806111ef90615686565b9150506110e6565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361140657606083015160008a8152600660205260409020805460ff191660011790558915801561134357506000547201000000000000000000000000000000000000900460ff165b1561139e576001546001600160a01b031661135e818a613df4565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611404565b6113cb6001600160a01b038216156113b657816113c5565b60018901546001600160a01b03165b89613df4565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff16600281111561143257611432615340565b146114505760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166114b4576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b031660026000815481106114d3576114d3615642565b600091825260209091206005909102015464010000000090046001600160a01b031614611501576001611504565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b8360028111156115a8576115a8615340565b0217905560028111156115bd576115bd615340565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061160557600080fd5b90600052602060002001600091509150505481565b905090565b61162c8383836001611991565b505050565b6000818152600760209081526040808320600590925282208054825461166290610100900463ffffffff16826156a0565b95945050505050565b606061161a60546020613e36565b611681612332565b60006002600d5460ff16600281111561169c5761169c615340565b036116c057506001600160a01b0381166000908152600b602052604090205461172f565b6001600d5460ff1660028111156116d9576116d9615340565b036116fd57506001600160a01b03811660009081526003602052604090205461172f565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff1661180c576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b1580156117f057600080fd5b505af1158015611804573d6000803e3d6000fd5b505050505050565b80600003611846576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b1580156118ec57600080fd5b505af1158015611900573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611951576040519150601f19603f3d011682016040523d82523d6000602084013e611956565b606091505b505090508061162c576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054600160801b900460ff1660028111156119b0576119b0615340565b146119ce5760405163067fe19560e41b815260040160405180910390fd5b6000600284815481106119e3576119e3615642565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514611aa7576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000611b3c826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580611b775750611b747f0000000000000000000000000000000000000000000000000000000000000000600261566e565b81145b8015611b81575084155b15611bb8576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015611bde575086155b15611c15576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115611c6f576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c9a7f0000000000000000000000000000000000000000000000000000000000000000600161566e565b8103611cac57611cac86888588613e6a565b34611cb683612e95565b14611ced576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611cf888612cfb565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603611d60576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611d8d60017f00000000000000000000000000000000000000000000000000000000000000006156a0565b8303611eb1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611df1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e1591906156b7565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7691906156d4565b611eaa907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166156ed565b9050611f44565b611edc60017f00000000000000000000000000000000000000000000000000000000000000006156a0565b8303611f1757611eaa7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166002615719565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b611f78817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615749565b67ffffffffffffffff16611f938367ffffffffffffffff1690565b67ffffffffffffffff161115611fda57611fd7817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615749565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff161561204f576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c8152602001908152602001600020600160028054905061224691906156a0565b81546001810183556000928352602080842090910191909155338252600b905260408120805434929061227a90849061566e565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156122dc57600080fd5b505af11580156122f0573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b6002600d5460ff16600281111561234b5761234b615340565b148061236d57506001600d5460ff16600281111561236b5761236b615340565b145b1561237457565b6000600d5460ff16600281111561238d5761238d615340565b146123c4576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612422573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124469190615772565b1561247d576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff166000036124d9576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015612559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061257d9190615772565b9050806125b6576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561263057600080fd5b505af1925050508015612641575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa1580156126c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126e69190615772565b9050801561270057600d805460ff1916600117905561270e565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f916127459160ff90911690615377565b60405180910390a15050565b61162c8383836000611991565b60005471010000000000000000000000000000000000900460ff16156127b0576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015612810573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612834919061578f565b909250905081612870576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805180820190915282815260200181905260088290556009819055607a36146128c7576040517f9824bdab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b803660011981013560f01c90036054013511612925576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b909152918220805491929091612b6690849061566e565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015612bc857600080fd5b505af1158015612bdc573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015612cbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cdf91906157b3565b600a805460ff191663ffffffff92909216929092141790555050565b600080600054600160801b900460ff166002811115612d1c57612d1c615340565b14612d3a5760405163067fe19560e41b815260040160405180910390fd5b600060028381548110612d4f57612d4f615642565b600091825260208220600590910201805490925063ffffffff90811614612db557815460028054909163ffffffff16908110612d8d57612d8d615642565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b6004820154600090612de090600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b612df49067ffffffffffffffff16426156a0565b612e0a612dd3846001600160801b031660401c90565b67ffffffffffffffff16612e1e919061566e565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611612e6b5780611662565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612f12836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115612f71576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000612f8c83836157ef565b9050670de0b6b3a76400006000612fc3827f0000000000000000000000000000000000000000000000000000000000000000615803565b90506000612fe1612fdc670de0b6b3a764000086615803565b613ff9565b90506000612fef848461424b565b90506000612ffd838361429a565b9050600061300a826142c8565b9050600061302982613024670de0b6b3a76400008f615803565b6144b0565b905060006130378b8361429a565b9050613043818d615803565b9f9e505050505050505050505050505050565b6002818154811061306657600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff1660028111156130e5576130e5615340565b0361310657506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b60008054600160801b900460ff16600281111561314157613141615340565b1461315f5760405163067fe19560e41b815260040160405180910390fd5b60006002878154811061317457613174615642565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506131ca7f0000000000000000000000000000000000000000000000000000000000000000600161566e565b613244826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161461327e576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080891561335a576132d17f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006156a0565b6001901b6132e7846001600160801b03166144e1565b6001600160801b03166132fa9190615822565b1561332e5761332561331660016001600160801b038716615836565b865463ffffffff166000614567565b60030154613350565b7f00000000000000000000000000000000000000000000000000000000000000005b915084905061337b565b600385015491506133786133166001600160801b0386166001615856565b90505b600882901b60088a8a604051613392929190615632565b6040518091039020901b146133d3576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006133de8c614630565b905060006133ed836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced329061345a908f908f908f908f908a906004016158c1565b6020604051808303816000875af1158015613479573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061349d91906156d4565b600485015491149150600090600290613526906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6135a0896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6135aa91906158fb565b6135b4919061591e565b60ff1615905081151581036135f5576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b03161561363f576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008054600160801b900460ff16600281111561369d5761369d615340565b146136bb5760405163067fe19560e41b815260040160405180910390fd5b6000806000806136ca8661465f565b935093509350935060006136e0858585856149b8565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613742573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061376691906156b7565b905060018903613833576001600160a01b0381166352f0f3ad8a846137973660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af1158015613809573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061382d91906156d4565b50611406565b60028903613852576001600160a01b0381166352f0f3ad8a8489613797565b60038903613871576001600160a01b0381166352f0f3ad8a8487613797565b600489036139a65760006138ae6001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000614a57565b6009546138bb919061566e565b6138c690600161566e565b90503660011981013560f01c90036054013581106138f3573660011981013560f01c9003605401356138f5565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af115801561397b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061399f91906156d4565b5050611406565b60058903613a32576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a4016137ea565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003660011981013560f01c9003601401356060613a9f61166b565b9050909192565b600081831015613ab65781613ab8565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001613b00949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003613b6c576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000613b9a85614aec565b919450925090506001816001811115613bb557613bb5615340565b14613bec576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451613bf8838561566e565b14613c2f576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b6040805180820190915260008082526020820152815260200190600190039081613c465790505093506000835b8651811015613d3457600080613cb96040518060400160405280858c60000151613c9d91906156a0565b8152602001858c60200151613cb2919061566e565b9052614aec565b509150915060405180604001604052808383613cd5919061566e565b8152602001848b60200151613cea919061566e565b815250888581518110613cff57613cff615642565b6020908102919091010152613d1560018561566e565b9350613d21818361566e565b613d2b908461566e565b92505050613c73565b50845250919392505050565b60606000806000613d5085614aec565b919450925090506000816001811115613d6b57613d6b615340565b14613da2576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613dac828461566e565b855114613de5576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61166285602001518484614f8a565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190613e2d90849061566e565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b6000613e806001600160801b0384166001615856565b90506000613e9082866001614567565b9050600086901a8380613f5a5750613ec960027f0000000000000000000000000000000000000000000000000000000000000000615822565b6004830154600290613f4b906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b613f55919061591e565b60ff16145b15613fb25760ff811660011480613f74575060ff81166002145b613fad576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161291c565b613ff0565b60ff811615613ff0576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161291c565b50505050505050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b176000821361404f57631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261428857637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b6000816000190483118202156142b85763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d782136142f657919050565b680755bf798b4a1bf1e582126143145763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000613ab8670de0b6b3a7640000836144c886613ff9565b6144d29190615940565b6144dc91906159fc565b6142c8565b600080614555837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b600080826145a7576145a26001600160801b0386167f000000000000000000000000000000000000000000000000000000000000000061501f565b6145b9565b6145b9856001600160801b031661515e565b9050600284815481106145ce576145ce615642565b906000526020600020906005020191505b60048201546001600160801b0382811691161461462857815460028054909163ffffffff1690811061461357614613615642565b906000526020600020906005020191506145df565b509392505050565b60008060008060006146418661465f565b9350935093509350614655848484846149b8565b9695505050505050565b600080600080600085905060006002828154811061467f5761467f615642565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614734906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161476e576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090614813906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561488857825463ffffffff166148527f0000000000000000000000000000000000000000000000000000000000000000600161566e565b830361485c578391505b6002818154811061486f5761486f615642565b9060005260206000209060050201935080945050614772565b600481810154908401546001600160801b0391821691166000816001600160801b03166148cd6148c1856001600160801b031660011c90565b6001600160801b031690565b6001600160801b031614905080156149665760006148f3836001600160801b03166144e1565b6001600160801b0316111561494357600061492361491b60016001600160801b038616615836565b896001614567565b6003810154600490910154909c506001600160801b03169a506149499050565b6008549a505b600386015460048701549099506001600160801b031697506149aa565b600061497f61491b6001600160801b0385166001615856565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b03841615614a135760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611662565b8282604051602001614a389291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614acb847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614b2f576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614b54576000600160009450945094505050614f83565b60b78111614c6a576000614b696080836156a0565b905080876000015111614ba8576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614c2057507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614c57576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614f83915050565b60bf8111614dc8576000614c7f60b7836156a0565b905080876000015111614cbe576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614d20576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614d68576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614d72818461566e565b895111614dab576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614db683600161566e565b9750955060009450614f839350505050565b60f78111614e2d576000614ddd60c0836156a0565b905080876000015111614e1c576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614f83915050565b6000614e3a60f7836156a0565b905080876000015111614e79576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614edb576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614f23576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f2d818461566e565b895111614f66576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f7183600161566e565b9750955060019450614f839350505050565b9193909250565b60608167ffffffffffffffff811115614fa557614fa56155a8565b6040519080825280601f01601f191660200182016040528015614fcf576020820181803683370190505b5090508115615018576000614fe4848661566e565b90506020820160005b84811015615005578281015182820152602001614fed565b84811115615014576000858301525b5050505b9392505050565b60008161509c846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116150b25763b34b5c226000526004601cfd5b6150bb8361515e565b905081615138826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611613abb57613ab861514e83600161566e565b6001600160801b038316906151ea565b600081196001830116816151d9827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061525e847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261528c57600080fd5b50813567ffffffffffffffff8111156152a457600080fd5b6020830191508360208285010111156152bc57600080fd5b9250929050565b600080600083850360a08112156152d957600080fd5b60808112156152e757600080fd5b50839250608084013567ffffffffffffffff81111561530557600080fd5b6153118682870161527a565b9497909650939450505050565b6000806040838503121561533157600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061537457634e487b7160e01b600052602160045260246000fd5b50565b6020810161538483615356565b91905290565b6001600160a01b038116811461537457600080fd5b6000602082840312156153b157600080fd5b81356150188161538a565b6000806000606084860312156153d157600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561540e576020818501810151868301820152016153f2565b81811115615420576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000613ab860208301846153e8565b60006020828403121561547857600080fd5b5035919050565b801515811461537457600080fd5b600080600080608085870312156154a357600080fd5b84359350602085013592506040850135915060608501356154c38161547f565b939692955090935050565b6000602082840312156154e057600080fd5b81356001600160801b038116811461501857600080fd5b6000806000806000806080878903121561551057600080fd5b8635955060208701356155228161547f565b9450604087013567ffffffffffffffff8082111561553f57600080fd5b61554b8a838b0161527a565b9096509450606089013591508082111561556457600080fd5b5061557189828a0161527a565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061166260608301846153e8565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156155d057600080fd5b6040516080810181811067ffffffffffffffff8211171561560157634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561568157615681615658565b500190565b6000600019820361569957615699615658565b5060010190565b6000828210156156b2576156b2615658565b500390565b6000602082840312156156c957600080fd5b81516150188161538a565b6000602082840312156156e657600080fd5b5051919050565b600067ffffffffffffffff80831681851680830382111561571057615710615658565b01949350505050565b600067ffffffffffffffff8083168185168183048111821515161561574057615740615658565b02949350505050565b600067ffffffffffffffff8381169083168181101561576a5761576a615658565b039392505050565b60006020828403121561578457600080fd5b81516150188161547f565b600080604083850312156157a257600080fd5b505080516020909101519092909150565b6000602082840312156157c557600080fd5b815163ffffffff8116811461501857600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826157fe576157fe6157d9565b500490565b600081600019048311821515161561581d5761581d615658565b500290565b600082615831576158316157d9565b500690565b60006001600160801b038381169083168181101561576a5761576a615658565b60006001600160801b0380831681851680830382111561571057615710615658565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6060815260006158d5606083018789615878565b82810360208401526158e8818688615878565b9150508260408301529695505050505050565b600060ff821660ff84168082101561591557615915615658565b90039392505050565b600060ff831680615931576159316157d9565b8060ff84160691505092915050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60008413600084138583048511828216161561598157615981615658565b7f800000000000000000000000000000000000000000000000000000000000000060008712868205881281841616156159bc576159bc615658565b600087129250878205871284841616156159d8576159d8615658565b878505871281841616156159ee576159ee615658565b505050929093029392505050565b600082615a0b57615a0b6157d9565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615a4157615a41615658565b50059056fea164736f6c634300080f000a000000000000000000000000000000000000000000000000000000000000000003caa1871bb9fe7f9b11217c245c16e4ded33367df5b3ccb2c6d0a847a217d1b0000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d400000000000000000000000006463dee3828677f6270d83d45408044fc5edb908000000000000000000000000d3683e4947a7769603ab6418ec02f000ce3cf30b0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153550000000000000000000000000000000000000000000000000000000000014a34\"\n        }\n      ],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1fd25cd\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c5801303000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000340000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001a4858cc832000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000c69e4c24db479191676611a25d977203c3bdca620000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4ff2dd5a100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f303caa1871bb9fe7f9b11217c245c16e4ded33367df5b3ccb2c6d0a847a217d1b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000007f10098bd53519c739ca8a404afe127647d947740000000000000000000000000000000000000000000000000000000000000002\",\n          \"blockHash\": \"0x9b45b3ef14485b48fef0d3c24c3c4fc61ed4f2290698cd4db84b6bda2d17d749\",\n          \"blockNumber\": \"0x935539\",\n          \"blockTimestamp\": \"0x691c7ef8\",\n          \"transactionHash\": \"0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590\",\n          \"transactionIndex\": \"0x89\",\n          \"logIndex\": \"0x18e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x0000000000000000000000002fa28989fc559836e9d66dff3010c7f7f41c65ed\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x9b45b3ef14485b48fef0d3c24c3c4fc61ed4f2290698cd4db84b6bda2d17d749\",\n          \"blockNumber\": \"0x935539\",\n          \"blockTimestamp\": \"0x691c7ef8\",\n          \"transactionHash\": \"0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590\",\n          \"transactionIndex\": \"0x89\",\n          \"logIndex\": \"0x18f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x49f53e41452c74589e85ca1677426ba426459e85\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x0000000000000000000000007cf803296662e8c72a6c1d6450572209acf7f202\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x9b45b3ef14485b48fef0d3c24c3c4fc61ed4f2290698cd4db84b6bda2d17d749\",\n          \"blockNumber\": \"0x935539\",\n          \"blockTimestamp\": \"0x691c7ef8\",\n          \"transactionHash\": \"0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590\",\n          \"transactionIndex\": \"0x89\",\n          \"logIndex\": \"0x190\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb1efb9650ad6d0cc1ed3ac4a0b7f1d5732696d37\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x0000000000000000000000008ee6fb13c6c9a7e401531168e196fbf8b05ceabb\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x9b45b3ef14485b48fef0d3c24c3c4fc61ed4f2290698cd4db84b6bda2d17d749\",\n          \"blockNumber\": \"0x935539\",\n          \"blockTimestamp\": \"0x691c7ef8\",\n          \"transactionHash\": \"0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590\",\n          \"transactionIndex\": \"0x89\",\n          \"logIndex\": \"0x191\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x00000000000000000000000074fac1d45b98bae058f8f566201c9a81b85c7d50\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x9b45b3ef14485b48fef0d3c24c3c4fc61ed4f2290698cd4db84b6bda2d17d749\",\n          \"blockNumber\": \"0x935539\",\n          \"blockTimestamp\": \"0x691c7ef8\",\n          \"transactionHash\": \"0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590\",\n          \"transactionIndex\": \"0x89\",\n          \"logIndex\": \"0x192\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x709c2b8ef4a9fefc629a8a2c1af424dc5bd6ad1b\",\n          \"topics\": [\n            \"0x9416a153a346f93d95f94b064ae3f148b6460473c6e82b3f9fc2521b873fcd6c\",\n            \"0x3b4a6791a6879d27c0ceeea3f78f8ebe66a01905f4a1290a8c6aff3e85f4665a\"\n          ],\n          \"data\": \"0x000000000000000000000000b686f13aff1e427a1f993f29ab0f2e7383729fe000000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6\",\n          \"blockHash\": \"0x9b45b3ef14485b48fef0d3c24c3c4fc61ed4f2290698cd4db84b6bda2d17d749\",\n          \"blockNumber\": \"0x935539\",\n          \"blockTimestamp\": \"0x691c7ef8\",\n          \"transactionHash\": \"0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590\",\n          \"transactionIndex\": \"0x89\",\n          \"logIndex\": \"0x193\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x21efd066e581fa55ef105170cc04d74386a09190\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x00000000000000000000000074f1ac50eb0be98853805d381c884f5f9abdecf9\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x9b45b3ef14485b48fef0d3c24c3c4fc61ed4f2290698cd4db84b6bda2d17d749\",\n          \"blockNumber\": \"0x935539\",\n          \"blockTimestamp\": \"0x691c7ef8\",\n          \"transactionHash\": \"0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590\",\n          \"transactionIndex\": \"0x89\",\n          \"logIndex\": \"0x194\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n          \"topics\": [\n            \"0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de\",\n            \"0x000000000000000000000000a1ae4fd5541a3e7a912e45560ed60d3edc5f9a05\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000001\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x9b45b3ef14485b48fef0d3c24c3c4fc61ed4f2290698cd4db84b6bda2d17d749\",\n          \"blockNumber\": \"0x935539\",\n          \"blockTimestamp\": \"0x691c7ef8\",\n          \"transactionHash\": \"0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590\",\n          \"transactionIndex\": \"0x89\",\n          \"logIndex\": \"0x195\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n          \"topics\": [\n            \"0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de\",\n            \"0x000000000000000000000000ed839a2aa262eccc513308fe7b8f39088ff8e992\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x9b45b3ef14485b48fef0d3c24c3c4fc61ed4f2290698cd4db84b6bda2d17d749\",\n          \"blockNumber\": \"0x935539\",\n          \"blockTimestamp\": \"0x691c7ef8\",\n          \"transactionHash\": \"0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590\",\n          \"transactionIndex\": \"0x89\",\n          \"logIndex\": \"0x196\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x78bc67b9bf548ef6410becd31a3e10b9ea6c255974ef6b4530728b431df30030\",\n            \"0x0000000000000000000000000000000000000000000000000000000000014a34\",\n            \"0x000000000000000000000000f272670eb55e895584501d564afeb048bed26194\",\n            \"0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x9b45b3ef14485b48fef0d3c24c3c4fc61ed4f2290698cd4db84b6bda2d17d749\",\n          \"blockNumber\": \"0x935539\",\n          \"blockTimestamp\": \"0x691c7ef8\",\n          \"transactionHash\": \"0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590\",\n          \"transactionIndex\": \"0x89\",\n          \"logIndex\": \"0x197\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x41a6d7fbb33919d08a40b81927f228de3011cca9ece4c32b179f8e4711572b5a0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x9b45b3ef14485b48fef0d3c24c3c4fc61ed4f2290698cd4db84b6bda2d17d749\",\n          \"blockNumber\": \"0x935539\",\n          \"blockTimestamp\": \"0x691c7ef8\",\n          \"transactionHash\": \"0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590\",\n          \"transactionIndex\": \"0x89\",\n          \"logIndex\": \"0x198\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x000000004006000000000008000000004008000000000000000000800440030000000002000000000400010400000000800000000000000000000100000481000004810004000000000000001000020000000400008400400000000011000000000000000201000000000080200008000000000000200000000000000000082000202800000008000000000000000000080400000020000000000000000000000000000004200001000000000a0004020000000000018080040200800000000004000020000000000000000000020400000000000800200001010420400060000000002000000000000000000000000000000000000000000000000000000100\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590\",\n      \"transactionIndex\": \"0x89\",\n      \"blockHash\": \"0x9b45b3ef14485b48fef0d3c24c3c4fc61ed4f2290698cd4db84b6bda2d17d749\",\n      \"blockNumber\": \"0x935539\",\n      \"gasUsed\": \"0x9a7f69\",\n      \"effectiveGasPrice\": \"0xf4249\",\n      \"from\": \"0x7f10098bd53519c739ca8a404afe127647d94774\",\n      \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1763475193401,\n  \"chain\": 11155111,\n  \"commit\": \"58a1ca7\"\n}"
  },
  {
    "path": "sepolia/2025-11-07-upgrade-fault-proofs/script/UpgradeWithOpSmartContractManager.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Claim} from \"@eth-optimism-bedrock/src/dispute/lib/Types.sol\";\nimport {\n    IOPContractsManager,\n    IOPContractsManagerStandardValidator,\n    ISystemConfig,\n    IProxyAdmin\n} from \"@eth-optimism-bedrock/interfaces/L1/IOPContractsManager.sol\";\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\n\n/// @notice This script deploys new versions of OP contracts using the OP Contract Manager.\ncontract UpgradeWithOpSmartContractManager is MultisigScript {\n    ISystemConfig internal immutable _SYSTEM_CONFIG;\n    IOPContractsManager internal immutable OP_CONTRACT_MANAGER;\n    address public immutable OWNER_SAFE;\n    IProxyAdmin public immutable PROXY_ADMIN;\n    Claim immutable CANNON_ABSOLUTE_PRESTATE;\n\n    address internal immutable L1_PROXY_ADMIN_OWNER;\n    address internal immutable CHALLENGER;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n        PROXY_ADMIN = IProxyAdmin(vm.envAddress(\"PROXY_ADMIN\"));\n        _SYSTEM_CONFIG = ISystemConfig(vm.envAddress(\"SYSTEM_CONFIG\"));\n        OP_CONTRACT_MANAGER = IOPContractsManager(vm.envAddress(\"OP_CONTRACT_MANAGER\"));\n        CANNON_ABSOLUTE_PRESTATE = Claim.wrap(vm.envBytes32(\"ABSOLUTE_PRESTATE\"));\n        L1_PROXY_ADMIN_OWNER = vm.envAddress(\"L1_PROXY_ADMIN_OWNER\");\n        CHALLENGER = vm.envAddress(\"CHALLENGER\");\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        IOPContractsManagerStandardValidator.ValidationInput memory input =\n            IOPContractsManagerStandardValidator.ValidationInput(\n                PROXY_ADMIN, _SYSTEM_CONFIG, Claim.unwrap(CANNON_ABSOLUTE_PRESTATE), _SYSTEM_CONFIG.l2ChainId()\n            );\n\n        IOPContractsManagerStandardValidator.ValidationOverrides memory overrides =\n            IOPContractsManagerStandardValidator.ValidationOverrides(L1_PROXY_ADMIN_OWNER, CHALLENGER);\n\n        OP_CONTRACT_MANAGER.validateWithOverrides(input, false, overrides);\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) {\n        IOPContractsManager.OpChainConfig memory baseConfig =\n            IOPContractsManager.OpChainConfig(_SYSTEM_CONFIG, PROXY_ADMIN, CANNON_ABSOLUTE_PRESTATE);\n\n        IOPContractsManager.OpChainConfig[] memory opChainConfigs = new IOPContractsManager.OpChainConfig[](1);\n        opChainConfigs[0] = baseConfig;\n\n        IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n\n        calls[0] = IMulticall3.Call3Value({\n            target: address(OP_CONTRACT_MANAGER),\n            allowFailure: false,\n            callData: abi.encodeCall(IOPContractsManager.upgrade, (opChainConfigs)),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n\n    function _useDelegateCall() internal pure override returns (bool) {\n        return true;\n    }\n}\n"
  },
  {
    "path": "sepolia/2025-11-07-upgrade-fault-proofs/validations/cb-sc-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net UpgradeWithOpSmartContractManager --sig sign(address[]) [0x6AF0674791925f767060Dd52f7fB20984E8639d8,0x646132A1667ca7aD00d36616AFBA1A28116C770A] --sender 0x7f10098bd53519c739ca8a404afe127647d94774\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n    \"domainHash\": \"0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa\",\n    \"messageHash\": \"0x738cb5c63b889ddbbab5ae7e0c4cdc182dae7f4ff1716678cd31e4b2b9620925\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\"\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Sepolia\",\n      \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\"\n        }\n      ]\n    },\n    {\n      \"name\": \"Mock OP Safe / Mock Security Council - Sepolia\",\n      \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"overrides\": [\n        {\n          \"key\": \"0xdc3041261ef345875deee5bbf656467f61ae2f0260ba59b96dff236b329efe6e\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\"\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000001a\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000001b\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x132b6656c4b15beb5c2e41642af758bc0a8f119e85c129268964c2082734d0fa\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Increment approvedHashes\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"L1ERC721Bridge Proxy\",\n      \"address\": \"0x21efd066e581fa55ef105170cc04d74386a09190\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696\",\n          \"after\": \"0x00000000000000000000000074f1ac50eb0be98853805d381c884f5f9abdecf9\",\n          \"description\": \"Update address of L1ERC721Bridge to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Optimism Portal Proxy\",\n      \"address\": \"0x49f53e41452c74589e85ca1677426ba426459e85\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999\",\n          \"after\": \"0x0000000000000000000000007cf803296662e8c72a6c1d6450572209acf7f202\",\n          \"description\": \"Update address of Optimism Portal to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Sepolia\",\n      \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000009\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000000a\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x97386419018d8c4d4f497136fc297808ef32cc774fab08b062e9d2cebcc7b0e8\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Increment approvedHashes\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Mock OP Safe / Mock Security Council - Sepolia\",\n      \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000000e\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000000f\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"AddressManager\",\n      \"address\": \"0x709c2b8ef4a9fefc629a8a2c1af424dc5bd6ad1b\",\n      \"changes\": [\n        {\n          \"key\": \"0x515216935740e67dfdda5cf8e248ea32b3277787818ab59153061ac875c9385e\",\n          \"before\": \"0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6\",\n          \"after\": \"0x000000000000000000000000b686f13aff1e427a1f993f29ab0f2e7383729fe0\",\n          \"description\": \"Update address of L1CrossDomainMessenger to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"OptimismMintableERC20Factory Proxy\",\n      \"address\": \"0xb1efb9650ad6d0cc1ed3ac4a0b7f1d5732696d37\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f\",\n          \"after\": \"0x0000000000000000000000008ee6fb13c6c9a7e401531168e196fbf8b05ceabb\",\n          \"description\": \"Update address of OptimismMintableERC20Factory to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"DisputeGameFactory Proxy\",\n      \"address\": \"0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d\",\n          \"after\": \"0x00000000000000000000000074fac1d45b98bae058f8f566201c9a81b85c7d50\",\n          \"description\": \"Update address of DisputeGameFactory to new implementation\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e\",\n          \"before\": \"0x0000000000000000000000005920bd6ab4c1b96bfd4efc56eb6cf9b018e3bf4c\",\n          \"after\": \"0x000000000000000000000000a1ae4fd5541a3e7a912e45560ed60d3edc5f9a05\",\n          \"description\": \"Update address of PermissionedDisputeGame to new implementation\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b\",\n          \"before\": \"0x000000000000000000000000f83157709129bd03fb02e96950be288e8c2c1c67\",\n          \"after\": \"0x000000000000000000000000ed839a2aa262eccc513308fe7b8f39088ff8e992\",\n          \"description\": \"Update address of FaultDisputeGame to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config Proxy - Sepolia\",\n      \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557\",\n          \"after\": \"0x0000000000000000000000002fa28989fc559836e9d66dff3010c7f7f41c65ed\",\n          \"description\": \"Update address of SystemConfig to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"L1StandardBridge Proxy\",\n      \"address\": \"0xfd0bf71f60660e2f608ed56e1659c450eb113120\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb\",\n          \"after\": \"0x00000000000000000000000061525eaacddb97d9184afc205827e6a4fd0bf62a\",\n          \"description\": \"Update address of L1StandardBridge to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "sepolia/2025-11-07-upgrade-fault-proofs/validations/cb-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net UpgradeWithOpSmartContractManager --sig sign(address[]) [0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f,0x646132A1667ca7aD00d36616AFBA1A28116C770A] --sender 0x7f10098bd53519c739ca8a404afe127647d94774\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n    \"domainHash\": \"0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23\",\n    \"messageHash\": \"0xf499c3a3e9535241bfe7ff1a97239b3b2042e314614c6c1869b56a56d878ec3d\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\"\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Sepolia\",\n      \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\"\n        },\n        {\n          \"key\": \"0x779df92d36af0820632e0ba83514bd3cb1ef99f5b9e496659c11d24ab3d95b54\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\"\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Sepolia\",\n      \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\"\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000001a\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000001b\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x132b6656c4b15beb5c2e41642af758bc0a8f119e85c129268964c2082734d0fa\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Increment approvedHashes\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"L1ERC721Bridge Proxy\",\n      \"address\": \"0x21efd066e581fa55ef105170cc04d74386a09190\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696\",\n          \"after\": \"0x00000000000000000000000074f1ac50eb0be98853805d381c884f5f9abdecf9\",\n          \"description\": \"Update address of L1ERC721Bridge to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Optimism Portal Proxy\",\n      \"address\": \"0x49f53e41452c74589e85ca1677426ba426459e85\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999\",\n          \"after\": \"0x0000000000000000000000007cf803296662e8c72a6c1d6450572209acf7f202\",\n          \"description\": \"Update address of Optimism Portal to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Sepolia\",\n      \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000000b\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000000c\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Sepolia\",\n      \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000009\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000000a\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2f5145ced07ce269c6c4db5520937e13f39750363e1135f1fc5ed25c961f8a1b\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Increment approvedHashes\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"AddressManager\",\n      \"address\": \"0x709c2b8ef4a9fefc629a8a2c1af424dc5bd6ad1b\",\n      \"changes\": [\n        {\n          \"key\": \"0x515216935740e67dfdda5cf8e248ea32b3277787818ab59153061ac875c9385e\",\n          \"before\": \"0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6\",\n          \"after\": \"0x000000000000000000000000b686f13aff1e427a1f993f29ab0f2e7383729fe0\",\n          \"description\": \"Update address of L1CrossDomainMessenger to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"OptimismMintableERC20Factory Proxy\",\n      \"address\": \"0xb1efb9650ad6d0cc1ed3ac4a0b7f1d5732696d37\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f\",\n          \"after\": \"0x0000000000000000000000008ee6fb13c6c9a7e401531168e196fbf8b05ceabb\",\n          \"description\": \"Update address of OptimismMintableERC20Factory to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"DisputeGameFactory Proxy\",\n      \"address\": \"0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d\",\n          \"after\": \"0x00000000000000000000000074fac1d45b98bae058f8f566201c9a81b85c7d50\",\n          \"description\": \"Update address of DisputeGameFactory to new implementation\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e\",\n          \"before\": \"0x0000000000000000000000005920bd6ab4c1b96bfd4efc56eb6cf9b018e3bf4c\",\n          \"after\": \"0x000000000000000000000000a1ae4fd5541a3e7a912e45560ed60d3edc5f9a05\",\n          \"description\": \"Update address of PermissionedDisputeGame to new implementation\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b\",\n          \"before\": \"0x000000000000000000000000f83157709129bd03fb02e96950be288e8c2c1c67\",\n          \"after\": \"0x000000000000000000000000ed839a2aa262eccc513308fe7b8f39088ff8e992\",\n          \"description\": \"Update address of FaultDisputeGame to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config Proxy - Sepolia\",\n      \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557\",\n          \"after\": \"0x0000000000000000000000002fa28989fc559836e9d66dff3010c7f7f41c65ed\",\n          \"description\": \"Update address of SystemConfig to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"L1StandardBridge Proxy\",\n      \"address\": \"0xfd0bf71f60660e2f608ed56e1659c450eb113120\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb\",\n          \"after\": \"0x00000000000000000000000061525eaacddb97d9184afc205827e6a4fd0bf62a\",\n          \"description\": \"Update address of L1StandardBridge to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "sepolia/2025-11-07-upgrade-fault-proofs/validations/op-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net UpgradeWithOpSmartContractManager --sig sign(address[]) [0x6AF0674791925f767060Dd52f7fB20984E8639d8] --sender 0x0CF2F86C3338993ce10F74d6f4B095712c7efe26\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n    \"domainHash\": \"0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa\",\n    \"messageHash\": \"0xfb472420ca18b7ebe56d16c2efb3b593e9e5ac9df5385fa2e1eef648c21bc488\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\"\n        }\n      ]\n    },\n    {\n      \"name\": \"Mock OP Safe / Mock Security Council - Sepolia\",\n      \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"overrides\": [\n        {\n          \"key\": \"0x33bc665064f9988222f9f4721074db03e0b9e5f3abdfba193c69be36e0eb02b5\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\"\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000001a\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000001b\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xd838681ca403c84d3748b96661bee5375d8a7d01999bc2ab6f1395c0c80e9500\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Increment approvedHashes\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"L1ERC721Bridge Proxy\",\n      \"address\": \"0x21efd066e581fa55ef105170cc04d74386a09190\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696\",\n          \"after\": \"0x00000000000000000000000074f1ac50eb0be98853805d381c884f5f9abdecf9\",\n          \"description\": \"Update address of L1ERC721Bridge to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Optimism Portal Proxy\",\n      \"address\": \"0x49f53e41452c74589e85ca1677426ba426459e85\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999\",\n          \"after\": \"0x0000000000000000000000007cf803296662e8c72a6c1d6450572209acf7f202\",\n          \"description\": \"Update address of Optimism Portal to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Mock OP Safe / Mock Security Council - Sepolia\",\n      \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000000f\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000010\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"AddressManager\",\n      \"address\": \"0x709c2b8ef4a9fefc629a8a2c1af424dc5bd6ad1b\",\n      \"changes\": [\n        {\n          \"key\": \"0x515216935740e67dfdda5cf8e248ea32b3277787818ab59153061ac875c9385e\",\n          \"before\": \"0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6\",\n          \"after\": \"0x000000000000000000000000b686f13aff1e427a1f993f29ab0f2e7383729fe0\",\n          \"description\": \"Update address of L1CrossDomainMessenger to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"OptimismMintableERC20Factory Proxy\",\n      \"address\": \"0xb1efb9650ad6d0cc1ed3ac4a0b7f1d5732696d37\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f\",\n          \"after\": \"0x0000000000000000000000008ee6fb13c6c9a7e401531168e196fbf8b05ceabb\",\n          \"description\": \"Update address of OptimismMintableERC20Factory to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"DisputeGameFactory Proxy\",\n      \"address\": \"0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d\",\n          \"after\": \"0x00000000000000000000000074fac1d45b98bae058f8f566201c9a81b85c7d50\",\n          \"description\": \"Update address of DisputeGameFactory to new implementation\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e\",\n          \"before\": \"0x0000000000000000000000005920bd6ab4c1b96bfd4efc56eb6cf9b018e3bf4c\",\n          \"after\": \"0x000000000000000000000000a1ae4fd5541a3e7a912e45560ed60d3edc5f9a05\",\n          \"description\": \"Update address of PermissionedDisputeGame to new implementation\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b\",\n          \"before\": \"0x000000000000000000000000f83157709129bd03fb02e96950be288e8c2c1c67\",\n          \"after\": \"0x000000000000000000000000ed839a2aa262eccc513308fe7b8f39088ff8e992\",\n          \"description\": \"Update address of FaultDisputeGame to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config Proxy - Sepolia\",\n      \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557\",\n          \"after\": \"0x0000000000000000000000002fa28989fc559836e9d66dff3010c7f7f41c65ed\",\n          \"description\": \"Update address of SystemConfig to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"L1StandardBridge Proxy\",\n      \"address\": \"0xfd0bf71f60660e2f608ed56e1659c450eb113120\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb\",\n          \"after\": \"0x00000000000000000000000061525eaacddb97d9184afc205827e6a4fd0bf62a\",\n          \"description\": \"Update address of L1StandardBridge to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "sepolia/2025-11-13-update-bridge-alpha-config/FACILITATOR.md",
    "content": "# Facilitator Guide\n\nGuide for facilitators after collecting signatures from signers.\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd sepolia/2025-11-13-update-bridge-alpha-config\nmake deps\n```\n\n### 2. Execute update\n\n```bash\nSIGNATURES=AAABBBCCC make execute\n```\n"
  },
  {
    "path": "sepolia/2025-11-13-update-bridge-alpha-config/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 1\nendif\n\nSENDER=0xb2d9a52e76841279EF0372c534C539a4f68f8C0B\n\nRPC_URL=$(L1_RPC_URL)\nSCRIPT_NAME=UpdateConfig\n\n.PHONY: deps\ndeps:\n\tforge install --no-git github.com/base/bridge@$(BRIDGE_COMMIT)\n\n.PHONY: deploy\ndeploy:\n\tforge script DeployBridgeUpdates --rpc-url $(L2_RPC_URL) \\\n\t--account testnet-admin --broadcast -vvvv\n\n.PHONY: deploy-o\ndeploy-o:\n\tforge script DeployRelayerOrchestrator --rpc-url $(L2_RPC_URL) \\\n\t--account testnet-admin --broadcast -vvvv\n\n.PHONY: gen-validation\ngen-validation: checkout-signer-tool run-script\n\n.PHONY: run-script\nrun-script:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \\\n\t--workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" [] --sender $(SENDER)' --out ../validations/base-signer.json;\n\n# Execute\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(RPC_URL) $(SCRIPT_NAME) \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\"  --broadcast -vvvv\n"
  },
  {
    "path": "sepolia/2025-11-13-update-bridge-alpha-config/README.md",
    "content": "# Update Base Bridge Alpha Validator Config\n\nStatus: [EXECUTED](https://sepolia.etherscan.io/tx/0xa558a18587cbc526403658624464d07e2a78170a0656e5219ebdad0846c6db2a)\n\n## Description\n\nUpgrades the `Bridge` contract for the testnet alpha deployment of [Base Bridge](https://github.com/base/bridge).\n\n## Install dependencies\n\n### 1. Update foundry\n\n```bash\nfoundryup\n```\n\n### 2. Install Node.js if needed\n\nFirst, check if you have node installed\n\n```bash\nnode --version\n```\n\nIf you do not see a version above or if it is older than v18.18, install\n\n```bash\nbrew install node\n```\n\n## Sign Task\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root).\n\n```bash\nmake sign-task\n```\n\n### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\n### 4. After signing, you can end the signer tool process with Ctrl + C\n"
  },
  {
    "path": "sepolia/2025-11-13-update-bridge-alpha-config/addresses.json",
    "content": "{\n  \"BridgeValidatorProxy\": \"0xC05324843aca6C2b7446F15bdB17AF4599b761E6\",\n  \"BridgeImpl\": \"0x0B02dCEb3CEfb8568cD79b2b6Bd74c29776f1978\",\n  \"RelayerOrchestratorProxy\": \"0xfDa0B31c24316CA01DAa9d3E741729884C1e2ab8\"\n}\n"
  },
  {
    "path": "sepolia/2025-11-13-update-bridge-alpha-config/config.json",
    "content": "{\n  \"initialOwner\": \"0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f\",\n  \"partnerValidators\": \"0x9614938Cb05C923298d3b3d72b127781c084681a\",\n  \"baseValidators\": [\n    \"0x0e9a877906EBc3b7098DA2404412BF0Ed1A5EFb4\",\n    \"0x6D0E9C04BD896608b7e10b87FB686E1Feba85510\"\n  ],\n  \"partnerValidatorThreshold\": 1\n}\n"
  },
  {
    "path": "sepolia/2025-11-13-update-bridge-alpha-config/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.28\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/',\n    '@lib-keccak=lib/lib-keccak/contracts/lib/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "sepolia/2025-11-13-update-bridge-alpha-config/records/DeployBridgeUpdates.s.sol/84532/run-1763085530401.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x9917ea9982e5be87dee4d25fd5afba1d42873ca6fdbcbd19f2778288abd37d2d\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"BridgeValidator\",\n      \"contractAddress\": \"0x8ba0bc58eb12f9c647b01230a7e4afeb035860d1\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x64567a9147fa89B1edc987e36Eb6f4b6db71656b\",\n        \"0x9614938Cb05C923298d3b3d72b127781c084681a\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x18317c\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c060405234801561000f575f5ffd5b5060405161159238038061159283398101604081905261002e9161015a565b6001600160a01b0382166100555760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811661007c5760405163d92e233d60e01b815260040160405180910390fd5b5f195f557f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af0180546001600160801b0319166001600160801b031790556001600160a01b03828116608052811660a0526100d36100da565b505061018b565b63409feecd19805460018116156100f85763f92ee8a95f526004601cfd5b6001600160401b03808260011c1461013a578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b80516001600160a01b0381168114610155575f5ffd5b919050565b5f5f6040838503121561016b575f5ffd5b6101748361013f565b91506101826020840161013f565b90509250929050565b60805160a0516113d86101ba5f395f81816101eb01526109b501525f818161023701526103c101526113d85ff3fe608060405234801561000f575f5ffd5b50600436106100cf575f3560e01c80637fa920b61161007d578063d69c3d3011610058578063d69c3d30146101dd578063d91879c8146101e6578063ee9a31a214610232575f5ffd5b80637fa920b6146101a05780639bf6a053146101b3578063c92a1099146101bb575f5ffd5b80633ddb0cd4116100ad5780633ddb0cd41461013f5780633df39dfe14610162578063567942cf1461018b575f5ffd5b80631903d397146100d357806324ea54f41461012f5780632b6e5bcf14610137575b5f5ffd5b7f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af015470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff165b6040519081526020015b60405180910390f35b61011c600181565b61011c5f5481565b61015261014d366004610f24565b610259565b6040519015158152602001610126565b61016a6102a7565b6040516fffffffffffffffffffffffffffffffff9091168152602001610126565b61019e610199366004610f46565b6102e7565b005b61019e6101ae366004611027565b6103bf565b61011c600581565b6101526101c93660046110c2565b60026020525f908152604090205460ff1681565b61011c60015481565b61020d7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610126565b61020d7f000000000000000000000000000000000000000000000000000000000000000081565b73ffffffffffffffffffffffffffffffffffffffff81165f9081527f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af00602052604081205460ff165b92915050565b5f6102e27f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af01546fffffffffffffffffffffffffffffffff1690565b905090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156103385760018160011c14303b1061032f5763f92ee8a95f526004601cfd5b818160ff1b1b91505b50610344858585610665565b600582111561037f576040517fe56d58cf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f82905580156103b8576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610428573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061044c91906110d9565b15610483576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825f8190036104be576040517f6074424200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8167ffffffffffffffff8111156104d8576104d86110f8565b604051908082528060200260200182016040528015610501578160200160208202803683370190505b506001549091505f5b83811015610597576105728261051f81611125565b935089898481811061053357610533611181565b905060400201602001358a8a8581811061054f5761054f611181565b9050604002015f0135604080519384526020840192909252908201526060902090565b83828151811061058457610584611181565b602090810291909101015260010161050a565b506105a382868661090f565b5f5b8381101561065957600160025f8584815181106105c4576105c4611181565b602002602001015181526020019081526020015f205f6101000a81548160ff02191690831515021790555087878281811061060157610601611181565b9050604002016020013583828151811061061d5761061d611181565b60200260200101517f5e55930eb861ee57d9b7fa9e506b7f413cb1599c9886e57f1c8091f5fee5fc3360405160405180910390a36001016105a5565b50600155505050505050565b7f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af006fffffffffffffffffffffffffffffffff8216158015906106b957506fffffffffffffffffffffffffffffffff82168310155b6106ef576040517faabd5a0900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b601083111561072a576040517f2c4f399f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b838110156108b7575f85858381811061074757610747611181565b905060200201602081019061075c9190610f24565b73ffffffffffffffffffffffffffffffffffffffff16036107a9576040517f713ce51100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815f8686848181106107bd576107bd611181565b90506020020160208101906107d29190610f24565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040015f205460ff1615610832576040517f0d57d92a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001825f87878581811061084857610848611181565b905060200201602081019061085d9190610f24565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040015f2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905560010161072c565b506fffffffffffffffffffffffffffffffff91821691909216700100000000000000000000000000000000027fffffffffffffffffffffffffffffffff00000000000000000000000000000000161760019091015550565b5f61091b848484610aad565b90506109577f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af01546fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff1661097282610c5e565b10156109aa576040517ff62bc97a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5480156103b8575f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166394cf795e6040518163ffffffff1660e01b81526004015f60405180830381865afa158015610a1b573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610a609190810190611226565b905081610a6d8285610cec565b1015610aa5576040517f593ac4cb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b6060610aba60418361133a565b15610af1576040517f4be6321b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610afd60418461134d565b90505f610b2886604051602001610b149190611360565b604051602081830303815290604052610d8b565b90505f808367ffffffffffffffff811115610b4557610b456110f8565b604051908082528060200260200182016040528015610b6e578160200160208202803683370190505b509050865f5b85811015610c505760216041820283019081013560ff1690803590602001355f610ba089858585610df4565b90508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1611610c07576040517fd02ef0e500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80878681518110610c1a57610c1a611181565b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015296505060019092019150610b749050565b509098975050505050505050565b5f5f5f5b8351811015610ce557610cd1848281518110610c8057610c80611181565b602002602001015173ffffffffffffffffffffffffffffffffffffffff165f9081527f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af00602052604090205460ff1690565b15610cdd576001909101905b600101610c62565b5092915050565b5f5f5f5f5b8451811015610d81575f610d1e87878481518110610d1157610d11611181565b6020026020010151610e39565b905086518103610d2e5750610d79565b6001811b831615610d6b576040517f8044bb3300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600193840193901b91909117905b600101610cf1565b5090949350505050565b5f815160207f19457468657265756d205369676e6564204d6573736167653a0a00000000000081525f5f52815b600182039150600a81066030018253600a900480610db85750603a03602081113d3d3e80515f5117845281810160209190910384012092525090565b5f604051855f5260ff851660205283604052826060526020600160805f60015afa5191503d610e2a57638baa579f5f526004601cfd5b5f606052604052949350505050565b5f5f5b8351811015610ef757838181518110610e5757610e57611181565b60200260200101515f015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610ee35750838181518110610ea857610ea8611181565b60200260200101516020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15610eef5790506102a1565b600101610e3c565b50509051919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610f21575f5ffd5b50565b5f60208284031215610f34575f5ffd5b8135610f3f81610f00565b9392505050565b5f5f5f5f60608587031215610f59575f5ffd5b843567ffffffffffffffff811115610f6f575f5ffd5b8501601f81018713610f7f575f5ffd5b803567ffffffffffffffff811115610f95575f5ffd5b8760208260051b8401011115610fa9575f5ffd5b6020918201955093508501356fffffffffffffffffffffffffffffffff81168114610fd2575f5ffd5b9396929550929360400135925050565b5f5f83601f840112610ff2575f5ffd5b50813567ffffffffffffffff811115611009575f5ffd5b602083019150836020828501011115611020575f5ffd5b9250929050565b5f5f5f5f6040858703121561103a575f5ffd5b843567ffffffffffffffff811115611050575f5ffd5b8501601f81018713611060575f5ffd5b803567ffffffffffffffff811115611076575f5ffd5b8760208260061b840101111561108a575f5ffd5b60209182019550935085013567ffffffffffffffff8111156110aa575f5ffd5b6110b687828801610fe2565b95989497509550505050565b5f602082840312156110d2575f5ffd5b5035919050565b5f602082840312156110e9575f5ffd5b81518015158114610f3f575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361117a577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5060010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6040805190810167ffffffffffffffff811182821017156111d1576111d16110f8565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561121e5761121e6110f8565b604052919050565b5f60208284031215611236575f5ffd5b815167ffffffffffffffff81111561124c575f5ffd5b8201601f8101841361125c575f5ffd5b805167ffffffffffffffff811115611276576112766110f8565b61128560208260051b016111d7565b8082825260208201915060208360061b8501019250868311156112a6575f5ffd5b6020840193505b8284101561130357604084880312156112c4575f5ffd5b6112cc6111ae565b84516112d781610f00565b815260208501516112e781610f00565b80602083015250808352506020820191506040840193506112ad565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f826113485761134861130d565b500690565b5f8261135b5761135b61130d565b500490565b602080825282518282018190525f918401906040840190835b81811015611397578351835260209384019390920191600101611379565b50909594505050505056fea2646970667358221220bf4fa4dbb93fd157f608b647a39624fa6491316fc006621b0b958e92468a6f6364736f6c634300081c003300000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b0000000000000000000000009614938cb05c923298d3b3d72b127781c084681a\",\n        \"nonce\": \"0x5ce\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xd9e52e20a068ca4a675253112c101e63b3fe58b43d429a030d770d443eaaf495\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n      \"function\": \"deployAndCall(address,address,bytes)\",\n      \"arguments\": [\n        \"0x8Ba0bc58eb12f9C647B01230A7e4AFeb035860D1\",\n        \"0x6F0fB066334B67355A15dc9b67317fd2A2E20890\",\n        \"0x567942cf00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000e9a877906ebc3b7098da2404412bf0ed1a5efb40000000000000000000000006d0e9c04bd896608b7e10b87fb686e1feba85510\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"to\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n        \"gas\": \"0x526a3\",\n        \"value\": \"0x0\",\n        \"input\": \"0x4314f1200000000000000000000000008ba0bc58eb12f9c647b01230a7e4afeb035860d10000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c4567942cf00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000e9a877906ebc3b7098da2404412bf0ed1a5efb40000000000000000000000006d0e9c04bd896608b7e10b87fb686e1feba8551000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x5cf\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [\n        {\n          \"transactionType\": \"CREATE\",\n          \"contractName\": null,\n          \"address\": \"0xc05324843aca6c2b7446f15bdb17af4599b761e6\",\n          \"initCode\": \"0x60793d8160093d39f33d3d336d6396ff2a80c067f99b3d2ab4df2414605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e604c573d6000fd00000000000000\"\n        }\n      ],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xfeb8d197b5a53603018d95873caaa8e957180e4f44c2b91607184c522e02da90\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"Bridge\",\n      \"contractAddress\": \"0x0b02dceb3cefb8568cd79b2b6bd74c29776f1978\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x5270f413294ec2409da350d920dc5d0e691b65fb868577de3a359b79bee6b4ac\",\n        \"0x013d06E4cf47229D973Cb3C4e23Ff8D336CE5FF6\",\n        \"0xa51473BC986c95a5E1a7F9A9991e3f2f263842bE\",\n        \"0xC05324843aca6C2b7446F15bdB17AF4599b761E6\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x537b92\",\n        \"value\": \"0x0\",\n        \"input\": \"0x610100604052348015610010575f5ffd5b50604051614ce6380380614ce683398101604081905261002f91610153565b6001600160a01b0383166100565760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03821661007d5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0381166100a45760405163d92e233d60e01b815260040160405180910390fd5b60808490526001600160a01b0380841660a05282811660c052811660e0526100ca6100d3565b5050505061019d565b63409feecd19805460018116156100f15763f92ee8a95f526004601cfd5b6001600160401b03808260011c14610133578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b80516001600160a01b038116811461014e575f5ffd5b919050565b5f5f5f5f60808587031215610166575f5ffd5b8451935061017660208601610138565b925061018460408601610138565b915061019260608601610138565b905092959194509250565b60805160a05160c05160e051614ae56102015f395f81816105ae0152611f1001525f81816104830152818161099c01528181610dcb0152610fb101525f81816106a601528181610e2001526111a701525f81816105e10152610d070152614ae55ff3fe608060405260043610610229575f3560e01c806370b43d4511610131578063bd4598be116100ac578063f1d31a751161007c578063f3aa14e911610062578063f3aa14e91461071c578063fb25e6051461073b578063fee81cf4146107a8575f5ffd5b8063f1d31a75146106db578063f2fde38b14610709575f5ffd5b8063bd4598be1461062f578063bd7084b21461064e578063d227c30b14610695578063f04e283e146106c8575f5ffd5b8063946d920411610101578063a11cbfd2116100e7578063a11cbfd21461059d578063afb1f778146105d0578063b1d4dc0d14610603575f5ffd5b8063946d92041461055f5780639cd8d3251461057e575f5ffd5b806370b43d45146104d7578063715018a614610505578063770ae03d1461050d5780638da5cb5b1461052c575f5ffd5b80632de94807116101c15780635c975abb116101915780636249a05e116101775780636249a05e146104725780636736eb17146104a55780636c12f6c8146104b8575f5ffd5b80635c975abb146104265780635ca1e1651461043f575f5ffd5b80632de94807146103a55780634a4ee7b1146103d6578063514e62fc146103e957806354d1f13d1461041e575f5ffd5b80631cd64df4116101fc5780631cd64df4146102df5780632260a9c21461030e57806324ea54f414610389578063256929621461039d575f5ffd5b806316c38b3c1461022d578063183a4f6e1461024e578063189bc6ad146102615780631c10893f146102cc575b5f5ffd5b348015610238575f5ffd5b5061024c610247366004613a29565b6107d9565b005b61024c61025c366004613a44565b61084a565b34801561026c575f5ffd5b506102a261027b366004613a44565b60026020525f908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61024c6102da366004613a7c565b610857565b3480156102ea575f5ffd5b506102fe6102f9366004613a7c565b61086d565b60405190151581526020016102c3565b348015610319575f5ffd5b5061037b610328366004613a7c565b73ffffffffffffffffffffffffffffffffffffffff919091165f9081527f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db1414830060209081526040808320938352929052205490565b6040519081526020016102c3565b348015610394575f5ffd5b5061037b600181565b61024c61088b565b3480156103b0575f5ffd5b5061037b6103bf366004613aa6565b638b78c6d8600c9081525f91909152602090205490565b61024c6103e4366004613a7c565b6108d8565b3480156103f4575f5ffd5b506102fe610403366004613a7c565b638b78c6d8600c9081525f9290925260209091205416151590565b61024c6108ea565b348015610431575f5ffd5b506003546102fe9060ff1681565b34801561044a575f5ffd5b507f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361015461037b565b34801561047d575f5ffd5b506102a27f000000000000000000000000000000000000000000000000000000000000000081565b61024c6104b3366004613c3f565b610923565b3480156104c3575f5ffd5b5061037b6104d2366004613c8f565b610a69565b3480156104e2575f5ffd5b506102fe6104f1366004613a44565b60016020525f908152604090205460ff1681565b61024c610a73565b348015610518575f5ffd5b5061024c610527366004613cc6565b610a86565b348015610537575f5ffd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546102a2565b34801561056a575f5ffd5b5061024c610579366004613d05565b610b62565b348015610589575f5ffd5b5061024c610598366004613c8f565b610cfd565b3480156105a8575f5ffd5b506102a27f000000000000000000000000000000000000000000000000000000000000000081565b3480156105db575f5ffd5b5061037b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561060e575f5ffd5b5061062261061d366004613d3d565b61105a565b6040516102c39190613d56565b34801561063a575f5ffd5b5061024c610649366004613cc6565b611065565b348015610659575f5ffd5b507f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361005460405167ffffffffffffffff90911681526020016102c3565b3480156106a0575f5ffd5b506102a27f000000000000000000000000000000000000000000000000000000000000000081565b61024c6106d6366004613aa6565b611141565b3480156106e6575f5ffd5b506102fe6106f5366004613a44565b5f6020819052908152604090205460ff1681565b61024c610717366004613aa6565b61117b565b348015610727575f5ffd5b506102a2610736366004613a44565b6111a1565b348015610746575f5ffd5b5061037b610755366004613a7c565b73ffffffffffffffffffffffffffffffffffffffff919091165f9081527f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db1414830160209081526040808320938352929052205490565b3480156107b3575f5ffd5b5061037b6107c2366004613aa6565b63389a75e1600c9081525f91909152602090205490565b60016107e4816111cd565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168315159081179091556040519081527f444c79de75518689625f69d421a54d335ae43dda0df443aa8d23bef31e44af7e9060200160405180910390a15050565b61085433826111f1565b50565b61085f6111fc565b6108698282611231565b5050565b638b78c6d8600c9081525f8390526020902054811681145b92915050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f5fa250565b6108e06111fc565b61086982826111f1565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f5fa2565b688000000000ab143c065c156109405763ab143c065f526004601cfd5b30688000000000ab143c065d60035460ff1615610989576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181610995828261123d565b5f6109c0867f00000000000000000000000000000000000000000000000000000000000000006115a9565b90505f6109d787836109d2888a613e45565b611b7d565b905061177061ffff1681511115610a1a576040517f69eae45700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a243382611d26565b50505050610a2f5f90565b15610a5857688000000000ab143c0646600103610a4e575f815d610a52565b8081555b50505050565b5f688000000000ab143c065d505050565b5f61088582611e27565b610a7b6111fc565b610a845f611e55565b565b688000000000ab143c065c15610aa35763ab143c065f526004601cfd5b30688000000000ab143c065d60035460ff1615610aec576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b81811015610b2a57610b22838383818110610b0b57610b0b613f8c565b9050602002810190610b1d9190613fb9565b611eba565b600101610aee565b505f5b15610b5257688000000000ab143c0646600103610b4c575f815d505050565b80555050565b5f688000000000ab143c065d5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011328054600382558015610bb35760018160011c14303b10610baa5763f92ee8a95f526004601cfd5b818160ff1b1b91505b5073ffffffffffffffffffffffffffffffffffffffff8416610c01576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c0a8461210c565b5f5b82811015610cc2575f848483818110610c2757610c27613f8c565b9050602002016020810190610c3c9190613aa6565b73ffffffffffffffffffffffffffffffffffffffff1603610c89576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cba848483818110610c9e57610c9e613f8c565b9050602002016020810190610cb39190613aa6565b6001611231565b600101610c0c565b508015610a52576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a150505050565b610d0561216f565b7f0000000000000000000000000000000000000000000000000000000000000000604082013503610d80575f610d3e60a0830183613ff5565b810190610d4b91906140eb565b90505f5f5f8360600151806020019051810190610d68919061411d565b925092509250610d798383836121a8565b5050505050565b6001610d9260a083016080840161419d565b6002811115610da357610da3614162565b03610def575f610db660a0830183613ff5565b810190610dc391906141b6565b9050610869817f0000000000000000000000000000000000000000000000000000000000000000612210565b6040808201355f9081526002602052205473ffffffffffffffffffffffffffffffffffffffff1680610e9a57610e497f0000000000000000000000000000000000000000000000000000000000000000836040013561269d565b6040838101355f90815260026020522080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617905590505b5f610eab60a084016080850161419d565b6002811115610ebc57610ebc614162565b03610f63575f610ecf60a0840184613ff5565b810190610edc91906140eb565b6040517f60ed1d2800000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff8316906360ed1d2890610f3190849060040161421c565b5f604051808303815f87803b158015610f48575f5ffd5b505af1158015610f5a573d5f5f3e3d5ffd5b50505050505050565b6002610f7560a084016080850161419d565b6002811115610f8657610f86614162565b03610869575f80610f9a60a0850185613ff5565b810190610fa7919061428e565b91509150610fd5827f0000000000000000000000000000000000000000000000000000000000000000612210565b6040517f60ed1d2800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906360ed1d289061102790849060040161421c565b5f604051808303815f87803b15801561103e575f5ffd5b505af1158015611050573d5f5f3e3d5ffd5b5050505050505050565b6060610885826126b0565b688000000000ab143c065c156110825763ab143c065f526004601cfd5b30688000000000ab143c065d60035460ff16156110cb576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81816110d7828261123d565b5f6110ea6110e58587613e45565b6129ca565b905061177061ffff168151111561112d576040517f69eae45700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111373382611d26565b505050610b2d5f90565b6111496111fc565b63389a75e1600c52805f526020600c20805442111561116f57636f5e88185f526004601cfd5b5f905561085481611e55565b6111836111fc565b8060601b61119857637448fbae5f526004601cfd5b61085481611e55565b5f6108857f000000000000000000000000000000000000000000000000000000000000000083306129fd565b638b78c6d8600c52335f52806020600c205416610854576382b429005f526004601cfd5b61086982825f612ac0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610a84576382b429005f526004601cfd5b61086982826001612ac0565b806040811115611279576040517f3c46992e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051603a80825261076082019092525f916020820161074080368337505060408051600c8082526101a082019092529293505f928392509060208201610180803683370190505090505f5f5b8581101561105057603a8888838181106112e3576112e3613f8c565b90506020028101906112f591906142da565b61130390602081019061430c565b9050111561133d576040517f9ed3ecbb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b88888381811061135157611351613f8c565b905060200281019061136391906142da565b61137190602081019061430c565b90508110156115a057365f8a8a8581811061138e5761138e613f8c565b90506020028101906113a091906142da565b6113ae90602081019061430c565b848181106113be576113be613f8c565b90506020028101906113d09190613ff5565b90925090506022811461140f576040517f74149ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81355f805b8981101561144d57828b828151811061142f5761142f613f8c565b602002602001015103611445576001915061144d565b600101611414565b50806114b257603a891061148d576040517f9ed3ecbb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818a8a815181106114a0576114a0613f8c565b60209081029190910101526001909801975b5f84846114c16001602261439d565b60ff168181106114d3576114d3613f8c565b9091013560f81c60011491508190506114f0575050505050611598565b5f5f5b8981101561152c57848b828151811061150e5761150e613f8c565b602002602001015103611524576001915061152c565b6001016114f3565b508061159157600c891061156c576040517f87e497e500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b838a8a8151811061157f5761157f613f8c565b60209081029190910101526001909801975b5050505050505b60010161133f565b506001016112c7565b5f5f836060015167ffffffffffffffff16116115f1576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82517f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db14148300905f9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff11111111111111111111111111111111111111120161173657845173ffffffffffffffffffffffffffffffffffffffff165f9081526001830160209081526040808320828901518452909152812054908190036116c3576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80866060015167ffffffffffffffff166116dd91906143b6565b9150813414611718576040517f1841b4e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61172c83875f015188602001518486612b17565b6002935050611b0d565b341561176e576040517f1841b4e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84516040517f34476ab100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152908516906334476ab190602401602060405180830381865afa1580156117db573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ff91906143cd565b1561199a575f855f015173ffffffffffffffffffffffffffffffffffffffff1663d6c0b2c46040518163ffffffff1660e01b8152600401602060405180830381865afa158015611851573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061187591906143e8565b6020870151909150158061188c5750602086015181145b6118c2576040517fa5269ce000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208601819052606086015186516040517f9dc29fac00000000000000000000000000000000000000000000000000000000815233600482015267ffffffffffffffff90921660248301819052935073ffffffffffffffffffffffffffffffffffffffff1690639dc29fac906044015f604051808303815f87803b158015611948575f5ffd5b505af115801561195a573d5f5f3e3d5ffd5b5050505060208601517f069be72ab836d4eacc02525b7350a78a395da2f1253a40ebafd663000000000014611990576001611992565b5f5b935050611b0d565b845173ffffffffffffffffffffffffffffffffffffffff165f908152600183016020908152604080832082890151845290915281205490819003611a0a576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81876060015167ffffffffffffffff16611a2591906143b6565b90505f611a35885f015130612bd2565b9050611a46885f0151333085612c05565b5f611a54895f015130612bd2565b90505f611a6183836143ff565b90505f611a6e8683614412565b90505f8111611aa9576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611ab386826143b6565b96505f611ac088846143ff565b90508015611ad5578b51611ad5903383612c67565b611ade82612cba565b67ffffffffffffffff1660608d01528b5160208d0151611b01918b918a8c612b17565b60029950505050505050505b8451602080870151604080890151815173ffffffffffffffffffffffffffffffffffffffff909516855292840191909152820152606081018290527ff1109ae3af61805fa998753209b2a90166bfc4b38ad8a6b5a268591ce18f99c09060800160405180910390a1505092915050565b604080517f010000000000000000000000000000000000000000000000000000000000000060208201528151600181830301815260219091019091526060905f846002811115611bcf57611bcf614162565b03611c1b57805f8660400151611bf2886060015167ffffffffffffffff16612cd7565b604051602001611c059493929190614461565b6040516020818303038152906040529050611cd4565b6001846002811115611c2f57611c2f614162565b03611c7157806001865f015187602001518860400151611c5c8a6060015167ffffffffffffffff16612cd7565b604051602001611c05969594939291906144d2565b6002846002811115611c8557611c85614162565b03611cd45780600286602001518760400151611cae896060015167ffffffffffffffff16612cd7565b604051602001611cc2959493929190614575565b60405160208183030381529060405290505b80611cde84612d45565b604051602001611cef9291906145eb565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815291905295945050505050565b604080516060810182527f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100805467ffffffffffffffff16825273ffffffffffffffffffffffffffffffffffffffff851660208301529181018390525f611d8b82612e1c565b83549091505f90611da790839067ffffffffffffffff16612e5a565b845467ffffffffffffffff808216600101167fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909116178555604051909150819083907f877352bc1cb00627bdb5bf16a3664cfe784f66bb3c1bfef68bf5b4ae34e6659990611e179087906145ff565b60405180910390a3505050505050565b5f610885611e3b6040840160208501613d3d565b67ffffffffffffffff168335611e5085612f13565b612f49565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f611ec482610a69565b5f8181526020819052604090205490915060ff1615611ee1575050565b6040517fc92a1099000000000000000000000000000000000000000000000000000000008152600481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063c92a109990602401602060405180830381865afa158015611f6a573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f8e91906143cd565b611fc4576040517f6eca2e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b30639cd8d325611fda6080850160608601613d3d565b67ffffffffffffffff16846040518363ffffffff1660e01b815260040161200191906146a8565b5f604051808303815f88803b158015612018575f5ffd5b5087f19350505050801561202a575060015b612095575f81815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690921790915551829133917f1dc47a66003d9a2334f04c3d23d98f174d7e65e9a4a72fa13277a15120c1559e9190a35050565b5f81815260016020818152604080842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00908116909155918490528084208054909216909217905551829133917f68bfb2e57fcbb47277da442d81d3e40ff118cbbcaf345b07997b35f592359e499190a35050565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b333014610a84576040517fad5db22700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db141483006121d482600a6148a7565b73ffffffffffffffffffffffffffffffffffffffff9094165f908152600190910160209081526040808320948352939052919091209190915550565b604082015182517f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db141483009160601c905f9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff11111111111111111111111111111111111111120161236157845173ffffffffffffffffffffffffffffffffffffffff165f9081526001840160209081526040808320828901518452909152812054908190036122eb576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80866060015167ffffffffffffffff1661230591906143b6565b865173ffffffffffffffffffffffffffffffffffffffff165f90815260208681526040808320828b0151845290915281208054929450849290919061234b9084906143ff565b9091555061235b90508383612f6c565b5061262f565b84516040517f34476ab100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152908516906334476ab190602401602060405180830381865afa1580156123ce573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123f291906143cd565b1561254b575f855f015173ffffffffffffffffffffffffffffffffffffffff1663d6c0b2c46040518163ffffffff1660e01b8152600401602060405180830381865afa158015612444573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061246891906143e8565b90506124778187602001511490565b6124ad576040517fa5269ce000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606086015186516040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015267ffffffffffffffff9093166024820181905294509116906340c10f19906044015f604051808303815f87803b15801561252f575f5ffd5b505af1158015612541573d5f5f3e3d5ffd5b505050505061262f565b845173ffffffffffffffffffffffffffffffffffffffff165f9081526001840160209081526040808320828901518452909152812054908190036125bb576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80866060015167ffffffffffffffff166125d591906143b6565b865173ffffffffffffffffffffffffffffffffffffffff165f90815260208681526040808320828b0151845290915281208054929450849290919061261b9084906143ff565b9091555050855161262d908484612c67565b505b84516020808701516040805173ffffffffffffffffffffffffffffffffffffffff948516815292830191909152918416818301526060810183905290517f6899b9db6ebabd932aa1fc835134c9b9ca2168d78a4cbee8854b1c00c86476099181900360800190a15050505050565b5f6126a95f8484612f85565b9392505050565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db13610080546060919067ffffffffffffffff165f03612719576040517fd4e9c9cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805467ffffffffffffffff90811690841610612761576040517f41a2330800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f5f5f61276e87613050565b93509350935093505f8367ffffffffffffffff81111561279057612790613ac1565b6040519080825280602002602001820160405280156127b9578160200160208202803683370190505b509050845f5b858110156128bb57600167ffffffffffffffff8616821c8116145f80821561280e576127ec8560016148b5565b90506127f98460016148b5565b612807906001901b826143ff565b9150612837565b6128198460016148b5565b612827906001901b866148b5565b90506128346001826143ff565b91505b60028b01548210612874576040517f44a5e33500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8a600201828154811061288957612889613f8c565b905f5260205f2001548685815181106128a4576128a4613f8c565b6020908102919091010152935050506001016127bf565b50825182516128ca91906148b5565b67ffffffffffffffff8111156128e2576128e2613ac1565b60405190808252806020026020018201604052801561290b578160200160208202803683370190505b5097505f805b83518110156129655783818151811061292c5761292c613f8c565b60200260200101518a8380612940906148c8565b94508151811061295257612952613f8c565b6020908102919091010152600101612911565b505f5b84518110156129bc5784818151811061298357612983613f8c565b60200260200101518a8380612997906148c8565b9450815181106129a9576129a9613f8c565b6020908102919091010152600101612968565b505050505050505050919050565b60605f6129d683612d45565b6040516020016129e79291906148ff565b6040516020818303038152906040529050919050565b604080517fb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f360609081527f1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c83527660195155f3363d3d373d3d363d602036600436635c60da60205273ffffffffffffffffffffffffffffffffffffffff86167c60523d8160223d39730000000000000000000000000000000000000000176009526074600c20919092525f91829052612ab7818585613077565b95945050505050565b638b78c6d8600c52825f526020600c20805483811783612ae1575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f5fa3505050505050565b73ffffffffffffffffffffffffffffffffffffffff84165f90815260208681526040808320868452909152812054612b509083906148b5565b905067ffffffffffffffff612b658483614412565b1115612b9d576040517f1fef0fad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff9094165f9081526020958652604080822094825293909552505090912055565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f511416612c5957803d873b151710612c5957637939f4245f526004601cfd5b505f60605260405250505050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f511416612cb057803d853b151710612cb0576390b8ec185f526004601cfd5b505f603452505050565b5f680100000000000000008210612cd357612cd3613096565b5090565b5f60c0821519811c70010000000000000000000000000000000102602081811b8218601081811b8218600881811b8218808a16821b918a901c1617808216831b921c1617808216831b921c1617808216604090811b91901c90911617608081811b91901c175b901c92915050565b60605f612d5283516130a3565b604051602001612d8d919060e09190911b7fffffffff0000000000000000000000000000000000000000000000000000000016815260040190565b60405160208183030381529060405290505f5b8351811015612e155781612dcc858381518110612dbf57612dbf613f8c565b602002602001015161310e565b604051602001612ddd9291906145eb565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529150600101612da0565b5092915050565b5f815f015182602001518360400151604051602001612e3d93929190614935565b604051602081830303815290604052805190602001209050919050565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361028054600180820183555f8381527fff5d2acbda7763eef60e554187d5d0d790e60252d450c5d42ea73fe91ad1fd9c909201859055915490917f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100918391612ee0916143ff565b9050612eec8185613254565b5f612f00612efb866001614996565b613329565b6001909301839055509091505092915050565b5f6040820135612f2960a084016080850161419d565b612f3660a0850185613ff5565b604051602001612e3d94939291906149b6565b6040805184815260208101849052908101829052606090205f905b949350505050565b5f385f3884865af16108695763b12d13eb5f526004601cfd5b604080517fb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f36060527f1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c9091527660195155f3363d3d373d3d363d602036600436635c60da6020527c60523d8160223d3973000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8416176009525f90826074600c87f59150816130425763301164255f526004601cfd5b6040525f6060529392505050565b5f5f5f606061305e856133f0565b9195509350915061306e8561357a565b90509193509193565b5f60ff5f5350603592835260601b60015260155260555f908120915290565b6335278d125f526004601cfd5b5f60e082151960c01c70010000000000000000000000000000000102602081811b8218601081811b8218600881811b8218808a16821b918a901c1617808216831b921c1617808216831b921c1617808216604090811b91901c90911617608081811b91901c17612d3d565b60605f825f015160405160200161312791815260200190565b6040516020818303038152906040529050806131478460200151516130a3565b6040516020016131589291906149e6565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290505f5b8360200151518110156131ff5781846020015182815181106131ae576131ae613f8c565b60200260200101516040516020016131c79291906145eb565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052915060010161318a565b508061320e846040015161370d565b60405160200161321f9291906145eb565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529392505050565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100825f5b600167ffffffffffffffff8516821c811603610d79575f613299838361372b565b90505f8460020182815481106132b1576132b1613f8c565b905f5260205f20015490505f8560020185815481106132d2576132d2613f8c565b905f5260205f20015490505f6132e88383613742565b600288018054600181810183555f838152602090209091018390559054919250613311916143ff565b95508461331d816148c8565b95505050505050613278565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136102545f907f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361009080830361337f57505f9392505050565b5f61338985613770565b905080515f0361339d57505f949350505050565b80516001036133e75782600201815f815181106133bc576133bc613f8c565b6020026020010151815481106133d4576133d4613f8c565b905f5260205f2001549350505050919050565b612ab78161386d565b5f8080807f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db13610080549091505f90819081906134339067ffffffffffffffff16613931565b90505f6134418260016148b5565b90505b8015613540575f6134566001836143ff565b865490915067ffffffffffffffff16811c6001908116900361352d576001811b67ffffffffffffffff808616908c16108015906134af57506134988186614996565b67ffffffffffffffff168b67ffffffffffffffff16105b1561350a575f6134bf868d614a25565b90505f6134cb82613994565b6134e067ffffffffffffffff841660026143b6565b6134ea91906143ff565b90506134f681896148b5565b9b5092995097506135739650505050505050565b613513826139cc565b61351d90876148b5565b95506135298186614996565b9450505b508061353881614a45565b915050613444565b506040517f8e429c5200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9193909250565b60408051818152610820810182526060917f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100915f916020820161080080368337505083549192505f91829150819081906135dd9067ffffffffffffffff16613931565b90505f6135eb8260016148b5565b90505b80156136ff575f6136006001836143ff565b885490915067ffffffffffffffff16811c600190811690036136ec576001811b5f67ffffffffffffffff808716908d161080159061365a57506136438287614996565b67ffffffffffffffff168c67ffffffffffffffff16105b90505f613666846139cc565b9050816136d0575f600161367a838b6148b5565b61368491906143ff565b90508b600201818154811061369b5761369b613f8c565b905f5260205f2001548b8b806136b0906148c8565b9c50815181106136c2576136c2613f8c565b602002602001018181525050505b6136da81896148b5565b97506136e68388614996565b96505050505b50806136f781614a45565b9150506135ee565b505050908252509392505050565b606061371982516130a3565b826040516020016129e7929190614a79565b5f5f613736836139cc565b9050612f6481856143ff565b5f8183101561375e57505f828152602082905260409020610885565b5f8281526020849052604090206126a9565b60608167ffffffffffffffff165f0361379857604080515f8082526020820190925290612e15565b60408051818152610820810182525f9160208201610800803683370190505090505f80806137c586613931565b90505f6137d38260016148b5565b90505b8015613862575f6137e86001836143ff565b9050600167ffffffffffffffff8916821c81160361384f575f61380b85836139e7565b90508087878151811061382057613820613f8c565b602090810291909101015285613835816148c8565b965050613841826139cc565b61384b90866148b5565b9450505b508061385a81614a45565b9150506137d6565b505050815292915050565b5f807f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db13610090505f81600201845f815181106138a9576138a9613f8c565b6020026020010151815481106138c1576138c1613f8c565b5f91825260209091200154905060015b8451811015613929575f836002018683815181106138f1576138f1613f8c565b60200260200101518154811061390957613909613f8c565b905f5260205f200154905061391e8382613a0a565b9250506001016138d1565b509392505050565b5f8167ffffffffffffffff165f0361394a57505f919050565b5f825b67ffffffffffffffff81161561397c5781613967816148c8565b92505060011c677fffffffffffffff1661394d565b5f8211613989575f612f64565b612f646001836143ff565b5f805b67ffffffffffffffff831615610885576139b460018416826148b5565b905060018367ffffffffffffffff16901c9250613997565b5f60016139d983826148b5565b6001901b61088591906143ff565b5f5f6139f2836139cc565b90506001613a0082866148b5565b612f6491906143ff565b5f8281526020829052604081206126a9565b8015158114610854575f5ffd5b5f60208284031215613a39575f5ffd5b81356126a981613a1c565b5f60208284031215613a54575f5ffd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610854575f5ffd5b5f5f60408385031215613a8d575f5ffd5b8235613a9881613a5b565b946020939093013593505050565b5f60208284031215613ab6575f5ffd5b81356126a981613a5b565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff81118282101715613b1157613b11613ac1565b60405290565b6040516060810167ffffffffffffffff81118282101715613b1157613b11613ac1565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613b8157613b81613ac1565b604052919050565b803567ffffffffffffffff81168114613ba0575f5ffd5b919050565b5f60808284031215613bb5575f5ffd5b613bbd613aee565b90508135613bca81613a5b565b81526020828101359082015260408083013590820152613bec60608301613b89565b606082015292915050565b5f5f83601f840112613c07575f5ffd5b50813567ffffffffffffffff811115613c1e575f5ffd5b6020830191508360208260051b8501011115613c38575f5ffd5b9250929050565b5f5f5f60a08486031215613c51575f5ffd5b613c5b8585613ba5565b9250608084013567ffffffffffffffff811115613c76575f5ffd5b613c8286828701613bf7565b9497909650939450505050565b5f60208284031215613c9f575f5ffd5b813567ffffffffffffffff811115613cb5575f5ffd5b820160c081850312156126a9575f5ffd5b5f5f60208385031215613cd7575f5ffd5b823567ffffffffffffffff811115613ced575f5ffd5b613cf985828601613bf7565b90969095509350505050565b5f5f5f60408486031215613d17575f5ffd5b8335613d2281613a5b565b9250602084013567ffffffffffffffff811115613c76575f5ffd5b5f60208284031215613d4d575f5ffd5b6126a982613b89565b602080825282518282018190525f918401906040840190835b81811015613d8d578351835260209384019390920191600101613d6f565b509095945050505050565b5f67ffffffffffffffff821115613db157613db1613ac1565b5060051b60200190565b5f82601f830112613dca575f5ffd5b813567ffffffffffffffff811115613de457613de4613ac1565b613e1560207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601613b3a565b818152846020838601011115613e29575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f613e57613e5284613d98565b613b3a565b8381526020810190600585901b840136811115613e72575f5ffd5b845b81811015613d8d57803567ffffffffffffffff811115613e92575f5ffd5b86016060368290031215613ea4575f5ffd5b613eac613b17565b81358152602082013567ffffffffffffffff811115613ec9575f5ffd5b820136601f820112613ed9575f5ffd5b8035613ee7613e5282613d98565b8082825260208201915060208360051b850101925036831115613f08575f5ffd5b602084015b83811015613f4957803567ffffffffffffffff811115613f2b575f5ffd5b613f3a36602083890101613dbb565b84525060209283019201613f0d565b506020850152505050604082013567ffffffffffffffff811115613f6b575f5ffd5b613f7736828501613dbb565b60408301525085525060209384019301613e74565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff41833603018112613feb575f5ffd5b9190910192915050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614028575f5ffd5b83018035915067ffffffffffffffff821115614042575f5ffd5b602001915036819003821315613c38575f5ffd5b5f60808284031215614066575f5ffd5b61406e613aee565b905081356004811061407e575f5ffd5b8152602082013561408e81613a5b565b602082015260408201356fffffffffffffffffffffffffffffffff811681146140b5575f5ffd5b6040820152606082013567ffffffffffffffff8111156140d3575f5ffd5b6140df84828501613dbb565b60608301525092915050565b5f602082840312156140fb575f5ffd5b813567ffffffffffffffff811115614111575f5ffd5b612f6484828501614056565b5f5f5f6060848603121561412f575f5ffd5b835161413a81613a5b565b60208501516040860151919450925060ff81168114614157575f5ffd5b809150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b803560038110613ba0575f5ffd5b5f602082840312156141ad575f5ffd5b6126a98261418f565b5f608082840312156141c6575f5ffd5b6126a98383613ba5565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f82516004811061423357614233614162565b8060208401525073ffffffffffffffffffffffffffffffffffffffff60208401511660408301526fffffffffffffffffffffffffffffffff60408401511660608301526060830151608080840152612f6460a08401826141d0565b5f5f60a0838503121561429f575f5ffd5b6142a98484613ba5565b9150608083013567ffffffffffffffff8111156142c4575f5ffd5b6142d085828601614056565b9150509250929050565b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112613feb575f5ffd5b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261433f575f5ffd5b83018035915067ffffffffffffffff821115614359575f5ffd5b6020019150600581901b3603821315613c38575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b60ff828116828216039081111561088557610885614370565b808202811582820484141761088557610885614370565b5f602082840312156143dd575f5ffd5b81516126a981613a1c565b5f602082840312156143f8575f5ffd5b5051919050565b8181038181111561088557610885614370565b5f82614445577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b5f81518060208401855e5f93019283525090919050565b5f61446c828761444a565b60f89590951b7fff000000000000000000000000000000000000000000000000000000000000001685525050600183019190915260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166021820152602901919050565b5f6144dd828961444a565b60f89790971b7fff00000000000000000000000000000000000000000000000000000000000000168752505060609390931b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660018501526015840191909152603583015260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166055820152605d01919050565b5f614580828861444a565b60f89690961b7fff0000000000000000000000000000000000000000000000000000000000000016865250506001840192909252602183015260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166041820152604901919050565b5f612f646145f9838661444a565b8461444a565b6020815267ffffffffffffffff825116602082015273ffffffffffffffffffffffffffffffffffffffff60208301511660408201525f6040830151606080840152612f6460808401826141d0565b6003811061465d5761465d614162565b9052565b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208082528235828201525f9067ffffffffffffffff906146ca908501613b89565b1660408301525f604084013590508060608401525067ffffffffffffffff6146f460608501613b89565b1660808301526147066080840161418f565b61471360a084018261464d565b5060a08301357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614748575f5ffd5b830160208101903567ffffffffffffffff811115614764575f5ffd5b803603821315614772575f5ffd5b60c080850152612ab760e085018284614661565b6001815b60018411156147c1578085048111156147a5576147a5614370565b60018416156147b357908102905b60019390931c92800261478a565b935093915050565b5f826147d757506001610885565b816147e357505f610885565b81600181146147f957600281146148035761481f565b6001915050610885565b60ff84111561481457614814614370565b50506001821b610885565b5060208310610133831016604e8410600b8410161715614842575081810a610885565b61486d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484614786565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561489f5761489f614370565b029392505050565b5f6126a960ff8416836147c9565b8082018082111561088557610885614370565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036148f8576148f8614370565b5060010190565b7fff000000000000000000000000000000000000000000000000000000000000008360f81b1681525f612f64600183018461444a565b7fffffffffffffffff0000000000000000000000000000000000000000000000008460c01b1681527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b1660088201525f612ab7601c83018461444a565b67ffffffffffffffff818116838216019081111561088557610885614370565b8481526149c6602082018561464d565b606060408201525f6149dc606083018486614661565b9695505050505050565b5f6149f1828561444a565b60e09390931b7fffffffff000000000000000000000000000000000000000000000000000000001683525050600401919050565b67ffffffffffffffff828116828216039081111561088557610885614370565b5f81614a5357614a53614370565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b7fffffffff000000000000000000000000000000000000000000000000000000008360e01b1681525f612f64600483018461444a56fea264697066735822122046572474ebf0a83df0be427ce1a85dbd05cc0dda56e2bc52d6d1f0cc90c338ea64736f6c634300081c00335270f413294ec2409da350d920dc5d0e691b65fb868577de3a359b79bee6b4ac000000000000000000000000013d06e4cf47229d973cb3c4e23ff8d336ce5ff6000000000000000000000000a51473bc986c95a5e1a7f9a9991e3f2f263842be000000000000000000000000c05324843aca6c2b7446f15bdb17af4599b761e6\",\n        \"nonce\": \"0x5d0\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x240150\",\n      \"logs\": [\n        {\n          \"address\": \"0x8ba0bc58eb12f9c647b01230a7e4afeb035860d1\",\n          \"topics\": [\n            \"0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000ffffffffffffffff\",\n          \"blockHash\": \"0x6955bbf543b21960eaad2ac973eef1599256db0a8e6353eea370c95d263135b5\",\n          \"blockNumber\": \"0x20196fd\",\n          \"blockTimestamp\": \"0x69168cda\",\n          \"transactionHash\": \"0x9917ea9982e5be87dee4d25fd5afba1d42873ca6fdbcbd19f2778288abd37d2d\",\n          \"transactionIndex\": \"0x7\",\n          \"logIndex\": \"0x30\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000040000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x9917ea9982e5be87dee4d25fd5afba1d42873ca6fdbcbd19f2778288abd37d2d\",\n      \"transactionIndex\": \"0x7\",\n      \"blockHash\": \"0x6955bbf543b21960eaad2ac973eef1599256db0a8e6353eea370c95d263135b5\",\n      \"blockNumber\": \"0x20196fd\",\n      \"gasUsed\": \"0x129c38\",\n      \"effectiveGasPrice\": \"0xf42a0\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0x8ba0bc58eb12f9c647b01230a7e4afeb035860d1\",\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x8df\",\n      \"l1GasPrice\": \"0x9\",\n      \"l1GasUsed\": \"0xad79\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x27bbfc\",\n      \"logs\": [\n        {\n          \"address\": \"0xc05324843aca6c2b7446f15bdb17af4599b761e6\",\n          \"topics\": [\n            \"0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0x6955bbf543b21960eaad2ac973eef1599256db0a8e6353eea370c95d263135b5\",\n          \"blockNumber\": \"0x20196fd\",\n          \"blockTimestamp\": \"0x69168cda\",\n          \"transactionHash\": \"0xd9e52e20a068ca4a675253112c101e63b3fe58b43d429a030d770d443eaaf495\",\n          \"transactionIndex\": \"0x8\",\n          \"logIndex\": \"0x31\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n          \"topics\": [\n            \"0xc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b8178082\",\n            \"0x000000000000000000000000c05324843aca6c2b7446f15bdb17af4599b761e6\",\n            \"0x0000000000000000000000008ba0bc58eb12f9c647b01230a7e4afeb035860d1\",\n            \"0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x6955bbf543b21960eaad2ac973eef1599256db0a8e6353eea370c95d263135b5\",\n          \"blockNumber\": \"0x20196fd\",\n          \"blockTimestamp\": \"0x69168cda\",\n          \"transactionHash\": \"0xd9e52e20a068ca4a675253112c101e63b3fe58b43d429a030d770d443eaaf495\",\n          \"transactionIndex\": \"0x8\",\n          \"logIndex\": \"0x32\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00200000000000000000000000000000000000000000800000000000000000008400000002000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000200000000000000000000000000000000000800000000000000800000000000000000000000080000000001020000000000000000000001000000000000000090000000000000100000000000000000000800000000000000000400000000000000000000004000000000000000000000000000000000000000000000000000000000000400000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xd9e52e20a068ca4a675253112c101e63b3fe58b43d429a030d770d443eaaf495\",\n      \"transactionIndex\": \"0x8\",\n      \"blockHash\": \"0x6955bbf543b21960eaad2ac973eef1599256db0a8e6353eea370c95d263135b5\",\n      \"blockNumber\": \"0x20196fd\",\n      \"gasUsed\": \"0x3baac\",\n      \"effectiveGasPrice\": \"0xf42a0\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n      \"contractAddress\": null,\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x91\",\n      \"l1GasPrice\": \"0x9\",\n      \"l1GasUsed\": \"0xb24\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x69622f\",\n      \"logs\": [\n        {\n          \"address\": \"0x0b02dceb3cefb8568cd79b2b6bd74c29776f1978\",\n          \"topics\": [\n            \"0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000ffffffffffffffff\",\n          \"blockHash\": \"0x6955bbf543b21960eaad2ac973eef1599256db0a8e6353eea370c95d263135b5\",\n          \"blockNumber\": \"0x20196fd\",\n          \"blockTimestamp\": \"0x69168cda\",\n          \"transactionHash\": \"0xfeb8d197b5a53603018d95873caaa8e957180e4f44c2b91607184c522e02da90\",\n          \"transactionIndex\": \"0xa\",\n          \"logIndex\": \"0x36\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xfeb8d197b5a53603018d95873caaa8e957180e4f44c2b91607184c522e02da90\",\n      \"transactionIndex\": \"0xa\",\n      \"blockHash\": \"0x6955bbf543b21960eaad2ac973eef1599256db0a8e6353eea370c95d263135b5\",\n      \"blockNumber\": \"0x20196fd\",\n      \"gasUsed\": \"0x4037ac\",\n      \"effectiveGasPrice\": \"0xf42a0\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0x0b02dceb3cefb8568cd79b2b6bd74c29776f1978\",\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x1d31\",\n      \"l1GasPrice\": \"0x9\",\n      \"l1GasUsed\": \"0x23ac2\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1763085530401,\n  \"chain\": 84532,\n  \"commit\": \"b3d561c\"\n}"
  },
  {
    "path": "sepolia/2025-11-13-update-bridge-alpha-config/records/DeployRelayerOrchestrator.s.sol/84532/run-1763155993182.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xeae64fa390dab6041c9c5495739d6311f6f7b17132a836e875b947850a3d5454\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"RelayerOrchestrator\",\n      \"contractAddress\": \"0x634289eaa46b228cd8a049f80af5dd2413c5fcd9\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x64567a9147fa89B1edc987e36Eb6f4b6db71656b\",\n        \"0xC05324843aca6C2b7446F15bdB17AF4599b761E6\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x7af17\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c060405234801561000f575f5ffd5b5060405161070838038061070883398101604081905261002e916100ae565b6001600160a01b0382166100555760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811661007c5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039182166080521660a0526100df565b80516001600160a01b03811681146100a9575f5ffd5b919050565b5f5f604083850312156100bf575f5ffd5b6100c883610093565b91506100d660208401610093565b90509250929050565b60805160a0516105fc61010c5f395f8181605d015261011201525f818160ad01526101be01526105fc5ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c80636cd7827d14610043578063a11cbfd214610058578063ee9a31a2146100a8575b5f5ffd5b6100566100513660046102b1565b6100cf565b005b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b841561017b576040517f7fa920b600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637fa920b69061014d9089908990879087906004016103c6565b5f604051808303815f87803b158015610164575f5ffd5b505af1158015610176573d5f5f3e3d5ffd5b505050505b8215610223576040517f770ae03d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063770ae03d906101f5908790879060040161049c565b5f604051808303815f87803b15801561020c575f5ffd5b505af115801561021e573d5f5f3e3d5ffd5b505050505b505050505050565b5f5f83601f84011261023b575f5ffd5b50813567ffffffffffffffff811115610252575f5ffd5b6020830191508360208260051b850101111561026c575f5ffd5b9250929050565b5f5f83601f840112610283575f5ffd5b50813567ffffffffffffffff81111561029a575f5ffd5b60208301915083602082850101111561026c575f5ffd5b5f5f5f5f5f5f606087890312156102c6575f5ffd5b863567ffffffffffffffff8111156102dc575f5ffd5b8701601f810189136102ec575f5ffd5b803567ffffffffffffffff811115610302575f5ffd5b8960208260061b8401011115610316575f5ffd5b60209182019750955087013567ffffffffffffffff811115610336575f5ffd5b61034289828a0161022b565b909550935050604087013567ffffffffffffffff811115610361575f5ffd5b61036d89828a01610273565b979a9699509497509295939492505050565b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b604080825281018490525f8560608301825b87811015610400578235825260208084013590830152604092830192909101906001016103d8565b50838103602085015261041481868861037f565b98975050505050505050565b803567ffffffffffffffff81168114610437575f5ffd5b919050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261046f575f5ffd5b830160208101925035905067ffffffffffffffff81111561048e575f5ffd5b80360382131561026c575f5ffd5b602080825281018290525f6040600584901b8301810190830185837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4136839003015b878210156105b9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452823581811261051a575f5ffd5b89018035865267ffffffffffffffff61053560208301610420565b1660208701526040818101359087015267ffffffffffffffff61055a60608301610420565b166060870152608081013560038110158015610574575f5ffd5b50608087015261058760a082018261043c565b915060c060a088015261059e60c08801838361037f565b965050506020830192506020840193506001820191506104de565b509297965050505050505056fea264697066735822122029dfe9bc30ff39de68b93210be473e3f4951f47712550973acb9607e7b72c34264736f6c634300081c003300000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b000000000000000000000000c05324843aca6c2b7446f15bdb17af4599b761e6\",\n        \"nonce\": \"0x5d1\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xac3cc2beaaa39b3ba6d1f1a705cb3772b517546dc729ee401e74d7949510095c\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n      \"function\": \"deploy(address,address)\",\n      \"arguments\": [\n        \"0x634289eaA46b228Cd8a049F80aF5dD2413C5fcd9\",\n        \"0x6F0fB066334B67355A15dc9b67317fd2A2E20890\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"to\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n        \"gas\": \"0x2a3cd\",\n        \"value\": \"0x0\",\n        \"input\": \"0x545e7c61000000000000000000000000634289eaa46b228cd8a049f80af5dd2413c5fcd90000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\",\n        \"nonce\": \"0x5d2\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [\n        {\n          \"transactionType\": \"CREATE\",\n          \"contractName\": null,\n          \"address\": \"0xfda0b31c24316ca01daa9d3e741729884c1e2ab8\",\n          \"initCode\": \"0x60793d8160093d39f33d3d336d6396ff2a80c067f99b3d2ab4df2414605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e604c573d6000fd00000000000000\"\n        }\n      ],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x2062d90\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xeae64fa390dab6041c9c5495739d6311f6f7b17132a836e875b947850a3d5454\",\n      \"transactionIndex\": \"0x1b\",\n      \"blockHash\": \"0xa97dbfb788f215b0cf7a4b0c62a68f9e14ffdac8ef596a61e4634da67ad5a79d\",\n      \"blockNumber\": \"0x202209c\",\n      \"gasUsed\": \"0x5e926\",\n      \"effectiveGasPrice\": \"0xf4283\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0x634289eaa46b228cd8a049f80af5dd2413c5fcd9\",\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x357\",\n      \"l1GasPrice\": \"0xa\",\n      \"l1GasUsed\": \"0x3ff1\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x20816d5\",\n      \"logs\": [\n        {\n          \"address\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n          \"topics\": [\n            \"0xc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b8178082\",\n            \"0x000000000000000000000000fda0b31c24316ca01daa9d3e741729884c1e2ab8\",\n            \"0x000000000000000000000000634289eaa46b228cd8a049f80af5dd2413c5fcd9\",\n            \"0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xa97dbfb788f215b0cf7a4b0c62a68f9e14ffdac8ef596a61e4634da67ad5a79d\",\n          \"blockNumber\": \"0x202209c\",\n          \"blockTimestamp\": \"0x6917a018\",\n          \"transactionHash\": \"0xac3cc2beaaa39b3ba6d1f1a705cb3772b517546dc729ee401e74d7949510095c\",\n          \"transactionIndex\": \"0x1c\",\n          \"logIndex\": \"0xa3\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000800000000000002000000400000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000400000000000200000000000000000040040000000000000800000000000000000000000000000000000000000000000000000040000000000000000000000000000000000080000000100000000000000000000000000800000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xac3cc2beaaa39b3ba6d1f1a705cb3772b517546dc729ee401e74d7949510095c\",\n      \"transactionIndex\": \"0x1c\",\n      \"blockHash\": \"0xa97dbfb788f215b0cf7a4b0c62a68f9e14ffdac8ef596a61e4634da67ad5a79d\",\n      \"blockNumber\": \"0x202209c\",\n      \"gasUsed\": \"0x1e945\",\n      \"effectiveGasPrice\": \"0xf4283\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n      \"contractAddress\": null,\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x53\",\n      \"l1GasPrice\": \"0xa\",\n      \"l1GasUsed\": \"0x640\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1763155993182,\n  \"chain\": 84532,\n  \"commit\": \"a038ff6\"\n}"
  },
  {
    "path": "sepolia/2025-11-13-update-bridge-alpha-config/records/UpdateConfig.s.sol/11155111/run-1763153760858.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xa558a18587cbc526403658624464d07e2a78170a0656e5219ebdad0846c6db2a\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049f53e41452c74589e85ca1677426ba426459e850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000124e9e05c420000000000000000000000000000000000006396ff2a80c067f99b3d2ab4df24000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000004499a88ec400000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b0000000000000000000000000b02dceb3cefb8568cd79b2b6bd74c29776f19780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xaf1efde72c9e6f6dace58d8d80fdeffb102938ed723a703c062b2cef0babf42829c98e7a2a68c1902ba2faa97a9ca23120aca5725bd7bcade2fb3d187955d5191bfd4703667c025dd415c91e96154fa9fbc4b97b60c1c1c059004d48c700d66c54647d9de52b1fd45cb49aac1486a87ea7717c75a96944bd069930b1f8ecc82ae71b6ab8c21711afd4d53133d23ba585edd2d8ae7802d329e693bf29f674923ea9c92c4b8196facb5d995c9f4602088a6c88baf231191de1367279d94561e3bf88061c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n        \"gas\": \"0x40bdd\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000244174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049f53e41452c74589e85ca1677426ba426459e850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000124e9e05c420000000000000000000000000000000000006396ff2a80c067f99b3d2ab4df24000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000004499a88ec400000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b0000000000000000000000000b02dceb3cefb8568cd79b2b6bd74c29776f197800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3af1efde72c9e6f6dace58d8d80fdeffb102938ed723a703c062b2cef0babf42829c98e7a2a68c1902ba2faa97a9ca23120aca5725bd7bcade2fb3d187955d5191bfd4703667c025dd415c91e96154fa9fbc4b97b60c1c1c059004d48c700d66c54647d9de52b1fd45cb49aac1486a87ea7717c75a96944bd069930b1f8ecc82ae71b6ab8c21711afd4d53133d23ba585edd2d8ae7802d329e693bf29f674923ea9c92c4b8196facb5d995c9f4602088a6c88baf231191de1367279d94561e3bf88061c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x43\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x61c38c\",\n      \"logs\": [\n        {\n          \"address\": \"0x49f53e41452c74589e85ca1677426ba426459e85\",\n          \"topics\": [\n            \"0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32\",\n            \"0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\",\n            \"0x0000000000000000000000000000000000006396ff2a80c067f99b3d2ab4df24\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000008d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a00099a88ec400000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b0000000000000000000000000b02dceb3cefb8568cd79b2b6bd74c29776f197800000000000000000000000000000000000000\",\n          \"blockHash\": \"0x75848fb27a8dd90aff9f1096671aa6bef6e5515300c57c8b9aac742c57c3ebdf\",\n          \"blockNumber\": \"0x92f3f1\",\n          \"blockTimestamp\": \"0x69179760\",\n          \"transactionHash\": \"0xa558a18587cbc526403658624464d07e2a78170a0656e5219ebdad0846c6db2a\",\n          \"transactionIndex\": \"0x2a\",\n          \"logIndex\": \"0x42\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0xec46910c22b25dc5b1bd531ee66167de1ae4a467558263b28451f40bace46f53\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x75848fb27a8dd90aff9f1096671aa6bef6e5515300c57c8b9aac742c57c3ebdf\",\n          \"blockNumber\": \"0x92f3f1\",\n          \"blockTimestamp\": \"0x69179760\",\n          \"transactionHash\": \"0xa558a18587cbc526403658624464d07e2a78170a0656e5219ebdad0846c6db2a\",\n          \"transactionIndex\": \"0x2a\",\n          \"logIndex\": \"0x43\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000004000000000000000000000000000000040000000000000022000000000000040000000000000000000000000000000000000000000001000000004000000002000000000000000000000000000800000000000000000000020000000000400000000800000000000020000000000000000008000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000404080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000040002000000000000000880000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xa558a18587cbc526403658624464d07e2a78170a0656e5219ebdad0846c6db2a\",\n      \"transactionIndex\": \"0x2a\",\n      \"blockHash\": \"0x75848fb27a8dd90aff9f1096671aa6bef6e5515300c57c8b9aac742c57c3ebdf\",\n      \"blockNumber\": \"0x92f3f1\",\n      \"gasUsed\": \"0x2c449\",\n      \"effectiveGasPrice\": \"0xf432d\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1763153760858,\n  \"chain\": 11155111,\n  \"commit\": \"54e0a82\"\n}"
  },
  {
    "path": "sepolia/2025-11-13-update-bridge-alpha-config/script/DeployBridgeUpdates.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.28;\n\nimport {Script} from \"forge-std/Script.sol\";\nimport {stdJson} from \"forge-std/StdJson.sol\";\nimport {LibString} from \"solady/utils/LibString.sol\";\nimport {ERC1967Factory} from \"@solady/utils/ERC1967Factory.sol\";\nimport {ERC1967FactoryConstants} from \"@solady/utils/ERC1967FactoryConstants.sol\";\nimport {AddressAliasHelper} from \"@eth-optimism-bedrock/src/vendor/AddressAliasHelper.sol\";\n\nimport {Bridge} from \"bridge/Bridge.sol\";\nimport {BridgeValidator} from \"bridge/BridgeValidator.sol\";\nimport {Pubkey} from \"bridge/libraries/SVMLib.sol\";\n\nstruct Cfg {\n    address erc1967Factory;\n    address initialOwner;\n    address partnerValidators;\n    address[] baseValidators;\n    uint256 partnerValidatorThreshold;\n}\n\ncontract DeployBridgeUpdates is Script {\n    using stdJson for string;\n    using AddressAliasHelper for address;\n\n    string public cfgData;\n    Cfg public cfg;\n\n    address public immutable BRIDGE_PROXY;\n    address public immutable BRIDGE_VALIDATOR_PROXY;\n\n    constructor() {\n        BRIDGE_PROXY = vm.envAddress(\"L2_BRIDGE_PROXY\");\n        BRIDGE_VALIDATOR_PROXY = vm.envAddress(\"L2_BRIDGE_VALIDATOR_PROXY\");\n    }\n\n    function setUp() public {\n        cfgData = vm.readFile(string.concat(vm.projectRoot(), \"/config.json\"));\n\n        cfg.erc1967Factory = ERC1967FactoryConstants.ADDRESS;\n        cfg.initialOwner = _readAddressFromConfig(\"initialOwner\").applyL1ToL2Alias();\n        cfg.partnerValidators = _readAddressFromConfig(\"partnerValidators\");\n        cfg.baseValidators = _readAddressArrayFromConfig(\"baseValidators\");\n        cfg.partnerValidatorThreshold = _readUintFromConfig(\"partnerValidatorThreshold\");\n    }\n\n    function run() public {\n        address twinBeacon = Bridge(BRIDGE_PROXY).TWIN_BEACON();\n        address crossChainErc20Factory = Bridge(BRIDGE_PROXY).CROSS_CHAIN_ERC20_FACTORY();\n        Pubkey remoteBridge = Bridge(BRIDGE_PROXY).REMOTE_BRIDGE();\n        uint128 baseThreshold = BridgeValidator(BRIDGE_VALIDATOR_PROXY).getBaseThreshold();\n        uint256 baseSignerCount = BridgeValidator(BRIDGE_VALIDATOR_PROXY).getBaseValidatorCount();\n\n        require(baseSignerCount == cfg.baseValidators.length, \"Precheck 00\");\n\n        for (uint256 i; i < baseSignerCount; i++) {\n            require(BridgeValidator(BRIDGE_VALIDATOR_PROXY).isBaseValidator(cfg.baseValidators[i]), \"Precheck 01\");\n        }\n\n        vm.startBroadcast();\n        address bridgeValidatorImpl =\n            address(new BridgeValidator({bridgeAddress: BRIDGE_PROXY, partnerValidators: cfg.partnerValidators}));\n        address bridgeValidatorProxy = ERC1967Factory(cfg.erc1967Factory)\n            .deployAndCall({\n                implementation: bridgeValidatorImpl,\n                admin: cfg.initialOwner,\n                data: abi.encodeCall(\n                    BridgeValidator.initialize, (cfg.baseValidators, baseThreshold, cfg.partnerValidatorThreshold)\n                )\n            });\n\n        address bridgeImpl = address(\n            new Bridge({\n                remoteBridge: remoteBridge,\n                twinBeacon: twinBeacon,\n                crossChainErc20Factory: crossChainErc20Factory,\n                bridgeValidator: bridgeValidatorProxy\n            })\n        );\n        vm.stopBroadcast();\n\n        _serializeAddress({key: \"BridgeValidatorProxy\", value: bridgeValidatorProxy});\n        _serializeAddress({key: \"BridgeImpl\", value: bridgeImpl});\n    }\n\n    function _serializeAddress(string memory key, address value) private {\n        vm.writeJson({\n            json: LibString.toHexStringChecksummed(value), path: \"addresses.json\", valueKey: string.concat(\".\", key)\n        });\n    }\n\n    function _readUintFromConfig(string memory key) private view returns (uint256) {\n        return vm.parseJsonUint({json: cfgData, key: string.concat(\".\", key)});\n    }\n\n    function _readAddressArrayFromConfig(string memory key) private view returns (address[] memory) {\n        return vm.parseJsonAddressArray({json: cfgData, key: string.concat(\".\", key)});\n    }\n\n    function _readAddressFromConfig(string memory key) private view returns (address) {\n        return vm.parseJsonAddress({json: cfgData, key: string.concat(\".\", key)});\n    }\n}\n"
  },
  {
    "path": "sepolia/2025-11-13-update-bridge-alpha-config/script/DeployRelayerOrchestrator.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.28;\n\nimport {Script} from \"forge-std/Script.sol\";\nimport {stdJson} from \"forge-std/StdJson.sol\";\nimport {LibString} from \"solady/utils/LibString.sol\";\nimport {ERC1967Factory} from \"@solady/utils/ERC1967Factory.sol\";\nimport {ERC1967FactoryConstants} from \"@solady/utils/ERC1967FactoryConstants.sol\";\nimport {AddressAliasHelper} from \"@eth-optimism-bedrock/src/vendor/AddressAliasHelper.sol\";\n\nimport {RelayerOrchestrator} from \"bridge/periphery/RelayerOrchestrator.sol\";\n\nstruct Cfg {\n    address erc1967Factory;\n    address initialOwner;\n    address partnerValidators;\n    address[] baseValidators;\n    uint256 partnerValidatorThreshold;\n}\n\ncontract DeployRelayerOrchestrator is Script {\n    using stdJson for string;\n    using AddressAliasHelper for address;\n\n    string public cfgData;\n    Cfg public cfg;\n\n    function setUp() public {\n        cfgData = vm.readFile(string.concat(vm.projectRoot(), \"/config.json\"));\n\n        cfg.erc1967Factory = ERC1967FactoryConstants.ADDRESS;\n        cfg.initialOwner = _readAddressFromConfig(\"initialOwner\").applyL1ToL2Alias();\n    }\n\n    function run() public {\n        address bridgeProxy = 0x64567a9147fa89B1edc987e36Eb6f4b6db71656b;\n        address bridgeValidatorProxy = 0xC05324843aca6C2b7446F15bdB17AF4599b761E6;\n\n        vm.startBroadcast();\n        address relayerOrchestratorProxy =\n            _deployRelayerOrchestrator({bridge: bridgeProxy, bridgeValidator: bridgeValidatorProxy});\n        vm.stopBroadcast();\n\n        _serializeAddress({key: \"RelayerOrchestratorProxy\", value: relayerOrchestratorProxy});\n    }\n\n    function _deployRelayerOrchestrator(address bridge, address bridgeValidator) private returns (address) {\n        address relayerOrchestratorImpl =\n            address(new RelayerOrchestrator({bridge: bridge, bridgeValidator: bridgeValidator}));\n\n        return\n            ERC1967Factory(cfg.erc1967Factory)\n                .deploy({implementation: relayerOrchestratorImpl, admin: cfg.initialOwner});\n    }\n\n    function _serializeAddress(string memory key, address value) private {\n        vm.writeJson({\n            json: LibString.toHexStringChecksummed(value), path: \"newAddresses.json\", valueKey: string.concat(\".\", key)\n        });\n    }\n\n    function _readAddressFromConfig(string memory key) private view returns (address) {\n        return vm.parseJsonAddress({json: cfgData, key: string.concat(\".\", key)});\n    }\n}\n"
  },
  {
    "path": "sepolia/2025-11-13-update-bridge-alpha-config/script/UpdateConfig.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.28;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {AddressAliasHelper} from \"@eth-optimism-bedrock/src/vendor/AddressAliasHelper.sol\";\nimport {ERC1967Factory} from \"solady/utils/ERC1967Factory.sol\";\nimport {ERC1967FactoryConstants} from \"solady/utils/ERC1967FactoryConstants.sol\";\n\ninterface IOptimismPortal2 {\n    function depositTransaction(address _to, uint256 _value, uint64 _gasLimit, bool _isCreation, bytes memory _data)\n        external\n        payable;\n}\n\ncontract UpdateConfig is MultisigScript {\n    using AddressAliasHelper for address;\n\n    address public immutable OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n    address public immutable L1_PORTAL = vm.envAddress(\"L1_PORTAL\");\n    address public immutable L2_BRIDGE_PROXY = vm.envAddress(\"L2_BRIDGE_PROXY\");\n    address public immutable L2_BRIDGE_IMPL = vm.envAddress(\"L2_BRIDGE_IMPL\");\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) {\n        IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n\n        address to = ERC1967FactoryConstants.ADDRESS;\n        uint256 value = 0;\n        uint64 gasLimit = 100_000;\n        bool isCreation = false;\n        bytes memory data = abi.encodeCall(ERC1967Factory.upgrade, (L2_BRIDGE_PROXY, L2_BRIDGE_IMPL));\n\n        calls[0] = IMulticall3.Call3Value({\n            target: L1_PORTAL,\n            allowFailure: false,\n            callData: abi.encodeCall(IOptimismPortal2.depositTransaction, (to, value, gasLimit, isCreation, data)),\n            value: value\n        });\n\n        return calls;\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {}\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "sepolia/2025-11-13-update-bridge-alpha-config/validations/base-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net UpdateConfig --sig sign(address[]) [] --sender 0xb2d9a52e76841279EF0372c534C539a4f68f8C0B\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f\",\n    \"domainHash\": \"0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23\",\n    \"messageHash\": \"0x493ccf51f555cbe29ade9c173a6696d4b487cdaa00736e15effb9b7ea7e7ba04\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"CB Signer Safe - Sepolia\",\n      \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\"\n        },\n        {\n          \"key\": \"0x86cbcbeadd95cc572d1a05761253cbad0c285243e6008d7b5d4ab7e523830048\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\"\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"OptimismPortal2 - Sepolia\",\n      \"address\": \"0x49f53e41452c74589e85ca1677426ba426459e85\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"before\": \"0x000000000092def0000000000007e1760000000000000000000000003b9aca00\",\n          \"after\": \"0x000000000092df0700000000000186a00000000000000000000000003b9aca00\",\n          \"description\": \"Gas fee tracking for deposit tx execution on L2\",\n          \"allowDifference\": true\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Sepolia\",\n      \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000000a\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000000b\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "sepolia/2025-11-17-deploy-cb-multicall/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 1\nendif\n\nRPC_URL = $(L1_RPC_URL)\n\ndeploy:\nifndef VERIFIER_API_KEY\n\t$(error VERIFIER_API_KEY is not set)\nendif\n\tforge script script/DeployCBMulticall.s.sol:DeployCBMulticallScript \\\n\t--rpc-url ${RPC_URL} \\\n\t--broadcast \\\n\t--verify \\\n\t--verifier-api-key ${VERIFIER_API_KEY} \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" \\\n\t-vvvv\n"
  },
  {
    "path": "sepolia/2025-11-17-deploy-cb-multicall/README.md",
    "content": "# Deploy CBMulticall\n\nStatus: [EXECUTED](https://sepolia.etherscan.io/tx/0xddcc4a1b20e45474a09c9a17c008f050c3f278cbde7309bf65be09491b45be18)\n\n## Description\n\nThis task deploys an updated version of the `CBMulticall` contract.\n\n## Procedure\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd sepolia/2025-11-17-deploy-cb-multicall\nmake deps\n```\n\n### 2. Run the script:\n\n```bash\nmake deploy\n```\n"
  },
  {
    "path": "sepolia/2025-11-17-deploy-cb-multicall/addresses.json",
    "content": "{\n  \"cbMulticall\": \"0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303\"\n}"
  },
  {
    "path": "sepolia/2025-11-17-deploy-cb-multicall/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nevm_version = \"prague\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "sepolia/2025-11-17-deploy-cb-multicall/records/DeployCBMulticall.s.sol/11155111/run-1763419468025.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xddcc4a1b20e45474a09c9a17c008f050c3f278cbde7309bf65be09491b45be18\",\n      \"transactionType\": \"CREATE2\",\n      \"contractName\": \"CBMulticall\",\n      \"contractAddress\": \"0xa8b8ca1d6f0f5ce63dcea9121a01b302c5801303\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"to\": \"0x4e59b44847b379578588920ca78fbf26c0b4956c\",\n        \"gas\": \"0x14f784\",\n        \"value\": \"0x0\",\n        \"input\": \"0x000000000000000000000000000000000000000000000000000000000000000160a060405234801561001057600080fd5b503060805260805161110d610030600039600061085a015261110d6000f3fe60806040526004361061010e5760003560e01c80634d2301cc116100a557806386d516e811610074578063bce38bd711610059578063bce38bd7146102a3578063c3077fa9146102b6578063ee82ac5e146102c957600080fd5b806386d516e814610275578063a8b0574e1461028857600080fd5b80634d2301cc1461020757806372425d9d1461023c57806382ad56cb1461024f578063858cc8321461026257600080fd5b80633408e470116100e15780633408e470146101ac578063399542e9146101bf5780633e64a696146101e157806342cbb15c146101f457600080fd5b80630f28c97d14610113578063174dea7114610135578063252dba421461015557806327e86d6e14610176575b600080fd5b34801561011f57600080fd5b50425b6040519081526020015b60405180910390f35b610148610143366004610cb2565b6102e8565b60405161012c9190610deb565b610168610163366004610cb2565b6104bc565b60405161012c929190610e05565b34801561018257600080fd5b50437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0140610122565b3480156101b857600080fd5b5046610122565b6101d26101cd366004610e8d565b610662565b60405161012c93929190610ee7565b3480156101ed57600080fd5b5048610122565b34801561020057600080fd5b5043610122565b34801561021357600080fd5b50610122610222366004610f0f565b73ffffffffffffffffffffffffffffffffffffffff163190565b34801561024857600080fd5b5044610122565b61014861025d366004610cb2565b61067d565b610148610270366004610cb2565b610841565b34801561028157600080fd5b5045610122565b34801561029457600080fd5b5060405141815260200161012c565b6101486102b1366004610e8d565b610a72565b6101d26102c4366004610cb2565b610c47565b3480156102d557600080fd5b506101226102e4366004610f45565b4090565b6060818067ffffffffffffffff81111561030457610304610f5e565b60405190808252806020026020018201604052801561034a57816020015b6040805180820190915260008152606060208201528152602001906001900390816103225790505b5091503660005b828110156104b35760408051808201909152600081526060602082015286868381811061038057610380610f8d565b90506020028101906103929190610fbc565b925060408301356103a66020850185610f0f565b73ffffffffffffffffffffffffffffffffffffffff16816103ca6060870187610ffa565b6040516103d892919061105f565b60006040518083038185875af1925050503d8060008114610415576040519150601f19603f3d011682016040523d82523d6000602084013e61041a565b606091505b50602080850191909152901515808452908501351761048b577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8186848151811061049e5761049e610f8d565b60209081029190910101525050600101610351565b50505092915050565b436060828067ffffffffffffffff8111156104d9576104d9610f5e565b60405190808252806020026020018201604052801561050c57816020015b60608152602001906001900390816104f75790505b5091503660005b8281101561065857600087878381811061052f5761052f610f8d565b9050602002810190610541919061106f565b92506105506020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff166105736020850185610ffa565b60405161058192919061105f565b6000604051808303816000865af19150503d80600081146105be576040519150601f19603f3d011682016040523d82523d6000602084013e6105c3565b606091505b508684815181106105d6576105d6610f8d565b602090810291909101015290508061064f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064015b60405180910390fd5b50600101610513565b5050509250929050565b4380406060610672868686610a72565b905093509350939050565b6060818067ffffffffffffffff81111561069957610699610f5e565b6040519080825280602002602001820160405280156106df57816020015b6040805180820190915260008152606060208201528152602001906001900390816106b75790505b5091503660005b828110156104b35760408051808201909152600081526060602082015286868381811061071557610715610f8d565b905060200281019061072791906110a3565b92506107366020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff166107596040850185610ffa565b60405161076792919061105f565b6000604051808303816000865af19150503d80600081146107a4576040519150601f19603f3d011682016040523d82523d6000602084013e6107a9565b606091505b50602080840191909152901515808352908401351761081a577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8085838151811061082d5761082d610f8d565b6020908102919091010152506001016106e6565b606073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036108b2576040517fb25caa5100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818067ffffffffffffffff8111156108cc576108cc610f5e565b60405190808252806020026020018201604052801561091257816020015b6040805180820190915260008152606060208201528152602001906001900390816108ea5790505b5091503660005b828110156104b35760408051808201909152600081526060602082015286868381811061094857610948610f8d565b905060200281019061095a91906110a3565b92506109696020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff1661098c6040850185610ffa565b60405161099a92919061105f565b600060405180830381855af49150503d80600081146109d5576040519150601f19603f3d011682016040523d82523d6000602084013e6109da565b606091505b506020808401919091529015158083529084013517610a4b577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b80858381518110610a5e57610a5e610f8d565b602090810291909101015250600101610919565b6060818067ffffffffffffffff811115610a8e57610a8e610f5e565b604051908082528060200260200182016040528015610ad457816020015b604080518082019091526000815260606020820152815260200190600190039081610aac5790505b5091503660005b82811015610c3d57604080518082019091526000815260606020820152868683818110610b0a57610b0a610f8d565b9050602002810190610b1c919061106f565b9250610b2b6020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff16610b4e6020850185610ffa565b604051610b5c92919061105f565b6000604051808303816000865af19150503d8060008114610b99576040519150601f19603f3d011682016040523d82523d6000602084013e610b9e565b606091505b506020830152151581528715610c16578051610c16576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000006044820152606401610646565b80858381518110610c2957610c29610f8d565b602090810291909101015250600101610adb565b5050509392505050565b6000806060610c5860018686610662565b919790965090945092505050565b60008083601f840112610c7857600080fd5b50813567ffffffffffffffff811115610c9057600080fd5b6020830191508360208260051b8501011115610cab57600080fd5b9250929050565b60008060208385031215610cc557600080fd5b823567ffffffffffffffff811115610cdc57600080fd5b610ce885828601610c66565b90969095509350505050565b6000815180845260005b81811015610d1a57602081850181015186830182015201610cfe565b81811115610d2c576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b84811015610dde578583037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001895281518051151584528401516040858501819052610dca81860183610cf4565b9a86019a9450505090830190600101610d7c565b5090979650505050505050565b602081526000610dfe6020830184610d5f565b9392505050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610e7f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0888703018452610e6d868351610cf4565b95509284019290840190600101610e33565b509398975050505050505050565b600080600060408486031215610ea257600080fd5b83358015158114610eb257600080fd5b9250602084013567ffffffffffffffff811115610ece57600080fd5b610eda86828701610c66565b9497909650939450505050565b838152826020820152606060408201526000610f066060830184610d5f565b95945050505050565b600060208284031215610f2157600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610dfe57600080fd5b600060208284031215610f5757600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112610ff057600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261102f57600080fd5b83018035915067ffffffffffffffff82111561104a57600080fd5b602001915036819003821315610cab57600080fd5b8183823760009101908152919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112610ff057600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112610ff057600080fdfea26469706673582212209f691a293497bb27165763d864578342dbe9be7a828bb879a64afb9af27e455564736f6c634300080f0033\",\n        \"nonce\": \"0x4a\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xcfc408\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xddcc4a1b20e45474a09c9a17c008f050c3f278cbde7309bf65be09491b45be18\",\n      \"transactionIndex\": \"0x40\",\n      \"blockHash\": \"0xf107db1f469fc8913f60bd5d3981b8c1653befd991434898c92a702028580d88\",\n      \"blockNumber\": \"0x934452\",\n      \"gasUsed\": \"0xf2dfd\",\n      \"effectiveGasPrice\": \"0xf4249\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": \"0x4e59b44847b379578588920ca78fbf26c0b4956c\",\n      \"contractAddress\": \"0xa8b8ca1d6f0f5ce63dcea9121a01b302c5801303\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1763419468025,\n  \"chain\": 11155111,\n  \"commit\": \"c0c4fce\"\n}"
  },
  {
    "path": "sepolia/2025-11-17-deploy-cb-multicall/records/DeployCBMulticall.s.sol/84532/run-1763646033790.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x1e079a6e2448938b6109e19a978a8b1db7fd37db6519c0220d72a00eece8a679\",\n      \"transactionType\": \"CREATE2\",\n      \"contractName\": \"CBMulticall\",\n      \"contractAddress\": \"0xa8b8ca1d6f0f5ce63dcea9121a01b302c5801303\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"to\": \"0x4e59b44847b379578588920ca78fbf26c0b4956c\",\n        \"gas\": \"0x14f784\",\n        \"value\": \"0x0\",\n        \"input\": \"0x000000000000000000000000000000000000000000000000000000000000000160a060405234801561001057600080fd5b503060805260805161110d610030600039600061085a015261110d6000f3fe60806040526004361061010e5760003560e01c80634d2301cc116100a557806386d516e811610074578063bce38bd711610059578063bce38bd7146102a3578063c3077fa9146102b6578063ee82ac5e146102c957600080fd5b806386d516e814610275578063a8b0574e1461028857600080fd5b80634d2301cc1461020757806372425d9d1461023c57806382ad56cb1461024f578063858cc8321461026257600080fd5b80633408e470116100e15780633408e470146101ac578063399542e9146101bf5780633e64a696146101e157806342cbb15c146101f457600080fd5b80630f28c97d14610113578063174dea7114610135578063252dba421461015557806327e86d6e14610176575b600080fd5b34801561011f57600080fd5b50425b6040519081526020015b60405180910390f35b610148610143366004610cb2565b6102e8565b60405161012c9190610deb565b610168610163366004610cb2565b6104bc565b60405161012c929190610e05565b34801561018257600080fd5b50437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0140610122565b3480156101b857600080fd5b5046610122565b6101d26101cd366004610e8d565b610662565b60405161012c93929190610ee7565b3480156101ed57600080fd5b5048610122565b34801561020057600080fd5b5043610122565b34801561021357600080fd5b50610122610222366004610f0f565b73ffffffffffffffffffffffffffffffffffffffff163190565b34801561024857600080fd5b5044610122565b61014861025d366004610cb2565b61067d565b610148610270366004610cb2565b610841565b34801561028157600080fd5b5045610122565b34801561029457600080fd5b5060405141815260200161012c565b6101486102b1366004610e8d565b610a72565b6101d26102c4366004610cb2565b610c47565b3480156102d557600080fd5b506101226102e4366004610f45565b4090565b6060818067ffffffffffffffff81111561030457610304610f5e565b60405190808252806020026020018201604052801561034a57816020015b6040805180820190915260008152606060208201528152602001906001900390816103225790505b5091503660005b828110156104b35760408051808201909152600081526060602082015286868381811061038057610380610f8d565b90506020028101906103929190610fbc565b925060408301356103a66020850185610f0f565b73ffffffffffffffffffffffffffffffffffffffff16816103ca6060870187610ffa565b6040516103d892919061105f565b60006040518083038185875af1925050503d8060008114610415576040519150601f19603f3d011682016040523d82523d6000602084013e61041a565b606091505b50602080850191909152901515808452908501351761048b577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8186848151811061049e5761049e610f8d565b60209081029190910101525050600101610351565b50505092915050565b436060828067ffffffffffffffff8111156104d9576104d9610f5e565b60405190808252806020026020018201604052801561050c57816020015b60608152602001906001900390816104f75790505b5091503660005b8281101561065857600087878381811061052f5761052f610f8d565b9050602002810190610541919061106f565b92506105506020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff166105736020850185610ffa565b60405161058192919061105f565b6000604051808303816000865af19150503d80600081146105be576040519150601f19603f3d011682016040523d82523d6000602084013e6105c3565b606091505b508684815181106105d6576105d6610f8d565b602090810291909101015290508061064f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064015b60405180910390fd5b50600101610513565b5050509250929050565b4380406060610672868686610a72565b905093509350939050565b6060818067ffffffffffffffff81111561069957610699610f5e565b6040519080825280602002602001820160405280156106df57816020015b6040805180820190915260008152606060208201528152602001906001900390816106b75790505b5091503660005b828110156104b35760408051808201909152600081526060602082015286868381811061071557610715610f8d565b905060200281019061072791906110a3565b92506107366020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff166107596040850185610ffa565b60405161076792919061105f565b6000604051808303816000865af19150503d80600081146107a4576040519150601f19603f3d011682016040523d82523d6000602084013e6107a9565b606091505b50602080840191909152901515808352908401351761081a577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8085838151811061082d5761082d610f8d565b6020908102919091010152506001016106e6565b606073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036108b2576040517fb25caa5100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818067ffffffffffffffff8111156108cc576108cc610f5e565b60405190808252806020026020018201604052801561091257816020015b6040805180820190915260008152606060208201528152602001906001900390816108ea5790505b5091503660005b828110156104b35760408051808201909152600081526060602082015286868381811061094857610948610f8d565b905060200281019061095a91906110a3565b92506109696020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff1661098c6040850185610ffa565b60405161099a92919061105f565b600060405180830381855af49150503d80600081146109d5576040519150601f19603f3d011682016040523d82523d6000602084013e6109da565b606091505b506020808401919091529015158083529084013517610a4b577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b80858381518110610a5e57610a5e610f8d565b602090810291909101015250600101610919565b6060818067ffffffffffffffff811115610a8e57610a8e610f5e565b604051908082528060200260200182016040528015610ad457816020015b604080518082019091526000815260606020820152815260200190600190039081610aac5790505b5091503660005b82811015610c3d57604080518082019091526000815260606020820152868683818110610b0a57610b0a610f8d565b9050602002810190610b1c919061106f565b9250610b2b6020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff16610b4e6020850185610ffa565b604051610b5c92919061105f565b6000604051808303816000865af19150503d8060008114610b99576040519150601f19603f3d011682016040523d82523d6000602084013e610b9e565b606091505b506020830152151581528715610c16578051610c16576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000006044820152606401610646565b80858381518110610c2957610c29610f8d565b602090810291909101015250600101610adb565b5050509392505050565b6000806060610c5860018686610662565b919790965090945092505050565b60008083601f840112610c7857600080fd5b50813567ffffffffffffffff811115610c9057600080fd5b6020830191508360208260051b8501011115610cab57600080fd5b9250929050565b60008060208385031215610cc557600080fd5b823567ffffffffffffffff811115610cdc57600080fd5b610ce885828601610c66565b90969095509350505050565b6000815180845260005b81811015610d1a57602081850181015186830182015201610cfe565b81811115610d2c576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b84811015610dde578583037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001895281518051151584528401516040858501819052610dca81860183610cf4565b9a86019a9450505090830190600101610d7c565b5090979650505050505050565b602081526000610dfe6020830184610d5f565b9392505050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610e7f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0888703018452610e6d868351610cf4565b95509284019290840190600101610e33565b509398975050505050505050565b600080600060408486031215610ea257600080fd5b83358015158114610eb257600080fd5b9250602084013567ffffffffffffffff811115610ece57600080fd5b610eda86828701610c66565b9497909650939450505050565b838152826020820152606060408201526000610f066060830184610d5f565b95945050505050565b600060208284031215610f2157600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610dfe57600080fd5b600060208284031215610f5757600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112610ff057600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261102f57600080fd5b83018035915067ffffffffffffffff82111561104a57600080fd5b602001915036819003821315610cab57600080fd5b8183823760009101908152919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112610ff057600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112610ff057600080fdfea26469706673582212209f691a293497bb27165763d864578342dbe9be7a828bb879a64afb9af27e455564736f6c634300080f0033\",\n        \"nonce\": \"0x5d4\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x4767ff\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x1e079a6e2448938b6109e19a978a8b1db7fd37db6519c0220d72a00eece8a679\",\n      \"transactionIndex\": \"0x12\",\n      \"blockHash\": \"0x14f6a69a55ceb0bc386ab04f2b213c7c06a57e4d392a28133f1c45aa01e281c3\",\n      \"blockNumber\": \"0x205ddb0\",\n      \"gasUsed\": \"0xf2dfd\",\n      \"effectiveGasPrice\": \"0x27116b6\",\n      \"blobGasUsed\": \"0xc2240\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": \"0x4e59b44847b379578588920ca78fbf26c0b4956c\",\n      \"contractAddress\": \"0xa8b8ca1d6f0f5ce63dcea9121a01b302c5801303\",\n      \"daFootprintGasScalar\": \"0x190\",\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x2\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0xec4\",\n      \"l1GasPrice\": \"0x21\",\n      \"l1GasUsed\": \"0x7c46\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1763646033790,\n  \"chain\": 84532,\n  \"commit\": \"8c49b9d\"\n}"
  },
  {
    "path": "sepolia/2025-11-17-deploy-cb-multicall/script/DeployCBMulticall.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Script, console} from \"forge-std/Script.sol\";\n\nimport {CBMulticall} from \"@base-contracts/src/utils/CBMulticall.sol\";\n\ncontract DeployCBMulticallScript is Script {\n    bytes32 public constant SALT = bytes32(uint256(1));\n\n    CBMulticall cbMulticall;\n\n    function run() public {\n        vm.startBroadcast();\n        cbMulticall = new CBMulticall{salt: SALT}();\n        console.log(\"CBMulticall deployed at: \", address(cbMulticall));\n        vm.stopBroadcast();\n\n        string memory obj = \"root\";\n        string memory json = vm.serializeAddress(obj, \"cbMulticall\", address(cbMulticall));\n        vm.writeJson(json, \"addresses.json\");\n\n        _postCheck();\n    }\n\n    function _postCheck() internal view {\n        vm.assertEq(\n            address(cbMulticall),\n            vm.computeCreate2Address({salt: SALT, initCodeHash: _initCodeHash(), deployer: CREATE2_FACTORY}),\n            \"The cbMulticall address does not match the one computed by `vm.computeCreate2Address`\"\n        );\n    }\n\n    function _initCode() private view returns (bytes memory) {\n        bytes memory args = \"\";\n        return abi.encodePacked(vm.getCode(\"CBMulticall.sol:CBMulticall\"), args);\n    }\n\n    function _initCodeHash() private view returns (bytes32) {\n        return keccak256(_initCode());\n    }\n}\n"
  },
  {
    "path": "sepolia/2025-11-18-set-jovian-parameters/FACILITATORS.md",
    "content": "#### Execute the transaction\n\n1. Collect outputs from all participating signers.\n1. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"`.\n1. Run the `make execute` or `make approve` command as described below to execute the transaction.\n\nFor example, if the quorum is 3 and you get the following outputs:\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE01\nSignature: AAAA\n```\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE02\nSignature: BBBB\n```\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE03\nSignature: CCCC\n```\n\nCoinbase facilitator:\n\n```bash\nSIGNATURES=AAAABBBBCCCC make approve-cb\n```\n\n```bash\nSIGNATURES=AAAABBBBCCCC make approve-cb-sc\n```\n\n```bash\nSIGNATURES=AAAABBBBCCCC make approve-op\n```\n\nOnce the signatures have been submitted approving the transaction for all nested Safes run:\n\n```bash\nmake execute\n```\n"
  },
  {
    "path": "sepolia/2025-11-18-set-jovian-parameters/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\n\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 1\nendif\n\n# Sepolia Commands\n\n# OWNER_SAFE/\n# ├── CB_SIGNER_SAFE_ADDR/\n# │   ├── CB_NESTED_SAFE_ADDR/\n# │   │   └── Signers\n# │   └── CB_SC_SAFE_ADDR/\n# │       └── Signers\n# └── OP_SIGNER_SAFE_ADDR/\n#     └── Signers\n\nRPC_URL = $(L1_RPC_URL)\nSCRIPT_NAME = SetJovianParametersScript\n\n.PHONY: gen-validation-cb\ngen-validation-cb: checkout-signer-tool run-script-cb\n\n.PHONY: run-script-cb\nrun-script-cb:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \\\n\t--ledger-id $(LEDGER_ACCOUNT) \\\n\t--workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" \"[$(CB_NESTED_SAFE_ADDR), $(CB_SIGNER_SAFE_ADDR)]\" --sender 0x7f10098bd53519c739ca8a404afe127647d94774' --out ../validations/cb-signer.json;\n\n\n.PHONY: gen-validation-cb-sc\ngen-validation-cb-sc: checkout-signer-tool run-script-cb-sc\n\n.PHONY: run-script-cb-sc\nrun-script-cb-sc:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \\\n\t--ledger-id $(LEDGER_ACCOUNT) \\\n\t--workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" \"[$(CB_SC_SAFE_ADDR), $(CB_SIGNER_SAFE_ADDR)]\" --sender 0x7f10098bd53519c739ca8a404afe127647d94774' --out ../validations/cb-sc-signer.json;\n\n.PHONY: gen-validation-op\ngen-validation-op: checkout-signer-tool run-script-op\n\n.PHONY: run-script-op\nrun-script-op:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \\\n\t--ledger-id $(LEDGER_ACCOUNT) \\\n\t--workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" \"[$(OP_SIGNER_SAFE_ADDR)]\" --sender 0x0CF2F86C3338993ce10F74d6f4B095712c7efe26' --out ../validations/op-signer.json;\n\n\n# CB\n.PHONY: approve-cb\napprove-cb:\n\t$(call MULTISIG_APPROVE,$(CB_NESTED_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES))\n\n.PHONY: approve-cb-sc\napprove-cb-sc:\n\t$(call MULTISIG_APPROVE,$(CB_SC_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES))\n\n.PHONY: approve-cb-coordinator\napprove-cb-coordinator:\n\t$(call MULTISIG_APPROVE,$(CB_SIGNER_SAFE_ADDR),0x)\n\n.PHONY: approve-op\napprove-op:\n\t$(call MULTISIG_APPROVE,$(OP_SIGNER_SAFE_ADDR),$(SIGNATURES))\n\n# Execute\n.PHONY: execute\nexecute:\n\t$(call MULTISIG_EXECUTE,0x)\n"
  },
  {
    "path": "sepolia/2025-11-18-set-jovian-parameters/README.md",
    "content": "# Set Jovian Parameters on Base Sepolia\n\nStatus: [EXECUTED](https://sepolia.etherscan.io/tx/0x153186609185f8d67714bbbf512b01a17bba4c217e59792e575845a78dc186bf)\n\n## Description\n\nThis task sets the Jovian hardfork parameters on Base Sepolia's SystemConfig contract. The parameters being set are:\n\n- `setDAFootprintGasScalar(312)` - Sets the data availability footprint gas scalar\n- `setMinBaseFee(200000)` - Sets the minimum base fee\n\nThese parameters activate with the Jovian hardfork and affect data availability fee calculations and base fee management on the L2.\n\n## Procedure\n\n## Install dependencies\n\n### 1. Update foundry\n\n```bash\nfoundryup\n```\n\n### 2. Install Node.js if needed\n\nFirst, check if you have node installed\n\n```bash\nnode --version\n```\n\nIf you see a version output from the above command, you can move on. Otherwise, install node\n\n```bash\nbrew install node\n```\n\n## Approving the Update transaction\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root).\n\n```bash\nmake sign-task\n```\n\n### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\nBe sure to select the correct task user from the list of available users to sign.\nAfter completion, the signer tool can be closed by using Ctrl + c\n\n### 4. Send signature to facilitator\n"
  },
  {
    "path": "sepolia/2025-11-18-set-jovian-parameters/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n]\nevm_version = \"prague\"\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "sepolia/2025-11-18-set-jovian-parameters/records/SetJovianParameters.s.sol/11155111/approve-latest.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x33743b658e5b204015bfd6fe6c7e853dd783f470f2363d844994ddfcda28a1e4\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd5ab9660065793f9c7917cecf71d7aee74fdfe204631c74c99105e2beff603e4f00000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x0cf2f86c3338993ce10f74d6f4b095712c7efe26\",\n        \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n        \"gas\": \"0x1ff0a\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd5ab9660065793f9c7917cecf71d7aee74fdfe204631c74c99105e2beff603e4f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x3\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x799fcd\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x5ab9660065793f9c7917cecf71d7aee74fdfe204631c74c99105e2beff603e4f\",\n            \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x34dca29323f8d79ae1f2f28f433f953b527209f682299474c6fded2488e8c423\",\n          \"blockNumber\": \"0x9390a4\",\n          \"blockTimestamp\": \"0x691f7c1c\",\n          \"transactionHash\": \"0x33743b658e5b204015bfd6fe6c7e853dd783f470f2363d844994ddfcda28a1e4\",\n          \"transactionIndex\": \"0x2f\",\n          \"logIndex\": \"0x85\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xf9b15d78e83c0fb3d352bf78e014c96c3bbd740cab45b464c48089002e2cf4870000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x34dca29323f8d79ae1f2f28f433f953b527209f682299474c6fded2488e8c423\",\n          \"blockNumber\": \"0x9390a4\",\n          \"blockTimestamp\": \"0x691f7c1c\",\n          \"transactionHash\": \"0x33743b658e5b204015bfd6fe6c7e853dd783f470f2363d844994ddfcda28a1e4\",\n          \"transactionIndex\": \"0x2f\",\n          \"logIndex\": \"0x86\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000800000000000000000000000000000000000400000000000000000000000010000000000000000000000000008000000200000000800000000000000000000004000000000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000001004000020000000000000000000000200000000000000000200000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x33743b658e5b204015bfd6fe6c7e853dd783f470f2363d844994ddfcda28a1e4\",\n      \"transactionIndex\": \"0x2f\",\n      \"blockHash\": \"0x34dca29323f8d79ae1f2f28f433f953b527209f682299474c6fded2488e8c423\",\n      \"blockNumber\": \"0x9390a4\",\n      \"gasUsed\": \"0x171fd\",\n      \"effectiveGasPrice\": \"0xf4475\",\n      \"from\": \"0x0cf2f86c3338993ce10f74d6f4b095712c7efe26\",\n      \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1763671068364,\n  \"chain\": 11155111,\n  \"commit\": \"c3fbe19\"\n}"
  },
  {
    "path": "sepolia/2025-11-18-set-jovian-parameters/records/SetJovianParameters.s.sol/11155111/run-1763670505775.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x3c980b4cadaf477dec65e72a564275e935be7639d31a6f57f9c83fd25043109b\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdf9b15d78e83c0fb3d352bf78e014c96c3bbd740cab45b464c48089002e2cf48700000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x8d78ba5124f81846b7fb7320d168695975f27d524c8c095583e7517367d9b9790cdd9194518f437425de754be00d18d23efa590fc3c99914c637cd0bc18af0dd1c99a52b8d3439314bb5a4aa025175c8ec048f0e1bd2d40a3751f2e561abd347d3724d165cf29d4ac380f0a711748ed01b75e8080d95038dc6bf3afb8589113fe51cdaa85ed3dec52a68cc1e69b99b683979767ee27bfae1c4c2d3530a78109d1beb15734a1b59f4f1d5f7c38e960bd8310d5797e27c6485a723d303d5b7a7fe4bec1c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x0cf2f86c3338993ce10f74d6f4b095712c7efe26\",\n        \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n        \"gas\": \"0x2533f\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdf9b15d78e83c0fb3d352bf78e014c96c3bbd740cab45b464c48089002e2cf487000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c38d78ba5124f81846b7fb7320d168695975f27d524c8c095583e7517367d9b9790cdd9194518f437425de754be00d18d23efa590fc3c99914c637cd0bc18af0dd1c99a52b8d3439314bb5a4aa025175c8ec048f0e1bd2d40a3751f2e561abd347d3724d165cf29d4ac380f0a711748ed01b75e8080d95038dc6bf3afb8589113fe51cdaa85ed3dec52a68cc1e69b99b683979767ee27bfae1c4c2d3530a78109d1beb15734a1b59f4f1d5f7c38e960bd8310d5797e27c6485a723d303d5b7a7fe4bec1c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x0\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x379c787\",\n      \"logs\": [\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xf9b15d78e83c0fb3d352bf78e014c96c3bbd740cab45b464c48089002e2cf487\",\n            \"0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xad2046a92343f3172db9e3d4107c71e38b34472c4bfe33085c40a978548511cf\",\n          \"blockNumber\": \"0x939076\",\n          \"blockTimestamp\": \"0x691f79e8\",\n          \"transactionHash\": \"0x3c980b4cadaf477dec65e72a564275e935be7639d31a6f57f9c83fd25043109b\",\n          \"transactionIndex\": \"0x37\",\n          \"logIndex\": \"0x6d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0x6d3c871aaeec87e5ca093757c48ad3d983588590d923fafba179f366141f759d\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xad2046a92343f3172db9e3d4107c71e38b34472c4bfe33085c40a978548511cf\",\n          \"blockNumber\": \"0x939076\",\n          \"blockTimestamp\": \"0x691f79e8\",\n          \"transactionHash\": \"0x3c980b4cadaf477dec65e72a564275e935be7639d31a6f57f9c83fd25043109b\",\n          \"transactionIndex\": \"0x37\",\n          \"logIndex\": \"0x6e\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000000010000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000800000000000000000000400040000000000000000000000000000000000000000000000000000000000400000000000000000200000000000000000000000000000000000000000000000000000000000020000404000000100040010000000002000000000000000000000000100000000000000000000000000000000004000020000000000000000000000000000040000000000000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x3c980b4cadaf477dec65e72a564275e935be7639d31a6f57f9c83fd25043109b\",\n      \"transactionIndex\": \"0x37\",\n      \"blockHash\": \"0xad2046a92343f3172db9e3d4107c71e38b34472c4bfe33085c40a978548511cf\",\n      \"blockNumber\": \"0x939076\",\n      \"gasUsed\": \"0x19702\",\n      \"effectiveGasPrice\": \"0xf44b5\",\n      \"from\": \"0x0cf2f86c3338993ce10f74d6f4b095712c7efe26\",\n      \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1763670505775,\n  \"chain\": 11155111,\n  \"commit\": \"c3fbe19\"\n}"
  },
  {
    "path": "sepolia/2025-11-18-set-jovian-parameters/records/SetJovianParameters.s.sol/11155111/run-1763670600765.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x84d3ab4425dd6263088dfd85eebc8cf3492b1578071c47349e17bb9ef404b76c\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdf9b15d78e83c0fb3d352bf78e014c96c3bbd740cab45b464c48089002e2cf48700000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xa9d27aed2fcc1ba7f7d86f482d1d809e129acf2be92b1eb6339fa3553eb2a604145dc7442958415669b4bfc461d3bd628402a1b0ecc99fe0768076dbce321c9b1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x0cf2f86c3338993ce10f74d6f4b095712c7efe26\",\n        \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n        \"gas\": \"0x1dbca\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdf9b15d78e83c0fb3d352bf78e014c96c3bbd740cab45b464c48089002e2cf48700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041a9d27aed2fcc1ba7f7d86f482d1d809e129acf2be92b1eb6339fa3553eb2a604145dc7442958415669b4bfc461d3bd628402a1b0ecc99fe0768076dbce321c9b1b00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x1\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x8ac7ce\",\n      \"logs\": [\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xf9b15d78e83c0fb3d352bf78e014c96c3bbd740cab45b464c48089002e2cf487\",\n            \"0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xa11dac3586709f952f04439903c6629690744aa626502c821cb7d24d8fa019e3\",\n          \"blockNumber\": \"0x93907e\",\n          \"blockTimestamp\": \"0x691f7a48\",\n          \"transactionHash\": \"0x84d3ab4425dd6263088dfd85eebc8cf3492b1578071c47349e17bb9ef404b76c\",\n          \"transactionIndex\": \"0x58\",\n          \"logIndex\": \"0x60\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x0b685cc425d63ab3791fe0de0273035a23e31913539ee03aa602a845587cacf00000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xa11dac3586709f952f04439903c6629690744aa626502c821cb7d24d8fa019e3\",\n          \"blockNumber\": \"0x93907e\",\n          \"blockTimestamp\": \"0x691f7a48\",\n          \"transactionHash\": \"0x84d3ab4425dd6263088dfd85eebc8cf3492b1578071c47349e17bb9ef404b76c\",\n          \"transactionIndex\": \"0x58\",\n          \"logIndex\": \"0x61\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000400000000000000000000400040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000100000010000000000000000000000000000000000100000000000000000000000000000000004000020000000000000000000000000000014020000000000000000000000100000000008000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x84d3ab4425dd6263088dfd85eebc8cf3492b1578071c47349e17bb9ef404b76c\",\n      \"transactionIndex\": \"0x58\",\n      \"blockHash\": \"0xa11dac3586709f952f04439903c6629690744aa626502c821cb7d24d8fa019e3\",\n      \"blockNumber\": \"0x93907e\",\n      \"gasUsed\": \"0x15877\",\n      \"effectiveGasPrice\": \"0x11fa31\",\n      \"from\": \"0x0cf2f86c3338993ce10f74d6f4b095712c7efe26\",\n      \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1763670600765,\n  \"chain\": 11155111,\n  \"commit\": \"c3fbe19\"\n}"
  },
  {
    "path": "sepolia/2025-11-18-set-jovian-parameters/records/SetJovianParameters.s.sol/11155111/run-1763670925854.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x5cd5a1912a649dc9f0ed495492452894353f142187bb3ea54eca8461ae0161fd\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd5ab9660065793f9c7917cecf71d7aee74fdfe204631c74c99105e2beff603e4f00000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0e497e060149457de7c612cfae784ff42c4633e9d95554e6e1f94fe7e8914fe36f533d0a9ec0d54b17c1006e2325e04b6231c90623a297afe9c6d827a58618061c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x0cf2f86c3338993ce10f74d6f4b095712c7efe26\",\n        \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n        \"gas\": \"0x1e9ff\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd5ab9660065793f9c7917cecf71d7aee74fdfe204631c74c99105e2beff603e4f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000410e497e060149457de7c612cfae784ff42c4633e9d95554e6e1f94fe7e8914fe36f533d0a9ec0d54b17c1006e2325e04b6231c90623a297afe9c6d827a58618061c00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x2\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xcbff70\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x5ab9660065793f9c7917cecf71d7aee74fdfe204631c74c99105e2beff603e4f\",\n            \"0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xab5144acf35286a67dae22c839f3ed392f794f2a88801f01812834131a8e7dca\",\n          \"blockNumber\": \"0x939098\",\n          \"blockTimestamp\": \"0x691f7b8c\",\n          \"transactionHash\": \"0x5cd5a1912a649dc9f0ed495492452894353f142187bb3ea54eca8461ae0161fd\",\n          \"transactionIndex\": \"0x3e\",\n          \"logIndex\": \"0xb3\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x3b330fe0cdb48d3498fa07183a5e7e06d3d882dab577b64a3b044b8a1557a9000000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xab5144acf35286a67dae22c839f3ed392f794f2a88801f01812834131a8e7dca\",\n          \"blockNumber\": \"0x939098\",\n          \"blockTimestamp\": \"0x691f7b8c\",\n          \"transactionHash\": \"0x5cd5a1912a649dc9f0ed495492452894353f142187bb3ea54eca8461ae0161fd\",\n          \"transactionIndex\": \"0x3e\",\n          \"logIndex\": \"0xb4\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000800000000000000400000000000000000000400000000000000000000000000000000000000000000000000008000000200000000800000000000000000000004000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000014020000000000000000000000100000000008000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x5cd5a1912a649dc9f0ed495492452894353f142187bb3ea54eca8461ae0161fd\",\n      \"transactionIndex\": \"0x3e\",\n      \"blockHash\": \"0xab5144acf35286a67dae22c839f3ed392f794f2a88801f01812834131a8e7dca\",\n      \"blockNumber\": \"0x939098\",\n      \"gasUsed\": \"0x162c0\",\n      \"effectiveGasPrice\": \"0xf4476\",\n      \"from\": \"0x0cf2f86c3338993ce10f74d6f4b095712c7efe26\",\n      \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1763670925854,\n  \"chain\": 11155111,\n  \"commit\": \"c3fbe19\"\n}"
  },
  {
    "path": "sepolia/2025-11-18-set-jovian-parameters/records/SetJovianParameters.s.sol/11155111/run-1763671068364.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x33743b658e5b204015bfd6fe6c7e853dd783f470f2363d844994ddfcda28a1e4\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd5ab9660065793f9c7917cecf71d7aee74fdfe204631c74c99105e2beff603e4f00000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x0cf2f86c3338993ce10f74d6f4b095712c7efe26\",\n        \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n        \"gas\": \"0x1ff0a\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd5ab9660065793f9c7917cecf71d7aee74fdfe204631c74c99105e2beff603e4f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x3\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x799fcd\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x5ab9660065793f9c7917cecf71d7aee74fdfe204631c74c99105e2beff603e4f\",\n            \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x34dca29323f8d79ae1f2f28f433f953b527209f682299474c6fded2488e8c423\",\n          \"blockNumber\": \"0x9390a4\",\n          \"blockTimestamp\": \"0x691f7c1c\",\n          \"transactionHash\": \"0x33743b658e5b204015bfd6fe6c7e853dd783f470f2363d844994ddfcda28a1e4\",\n          \"transactionIndex\": \"0x2f\",\n          \"logIndex\": \"0x85\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xf9b15d78e83c0fb3d352bf78e014c96c3bbd740cab45b464c48089002e2cf4870000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x34dca29323f8d79ae1f2f28f433f953b527209f682299474c6fded2488e8c423\",\n          \"blockNumber\": \"0x9390a4\",\n          \"blockTimestamp\": \"0x691f7c1c\",\n          \"transactionHash\": \"0x33743b658e5b204015bfd6fe6c7e853dd783f470f2363d844994ddfcda28a1e4\",\n          \"transactionIndex\": \"0x2f\",\n          \"logIndex\": \"0x86\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000800000000000000000000000000000000000400000000000000000000000010000000000000000000000000008000000200000000800000000000000000000004000000000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000001004000020000000000000000000000200000000000000000200000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x33743b658e5b204015bfd6fe6c7e853dd783f470f2363d844994ddfcda28a1e4\",\n      \"transactionIndex\": \"0x2f\",\n      \"blockHash\": \"0x34dca29323f8d79ae1f2f28f433f953b527209f682299474c6fded2488e8c423\",\n      \"blockNumber\": \"0x9390a4\",\n      \"gasUsed\": \"0x171fd\",\n      \"effectiveGasPrice\": \"0xf4475\",\n      \"from\": \"0x0cf2f86c3338993ce10f74d6f4b095712c7efe26\",\n      \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1763671068364,\n  \"chain\": 11155111,\n  \"commit\": \"c3fbe19\"\n}"
  },
  {
    "path": "sepolia/2025-11-18-set-jovian-parameters/records/SetJovianParameters.s.sol/11155111/run-1763671153225.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x153186609185f8d67714bbbf512b01a17bba4c217e59792e575845a78dc186bf\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000002420f06fdc000000000000000000000000000000000000000000000000000000000000013800000000000000000000000000000000000000000000000000000000000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000247616f0e80000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x0cf2f86c3338993ce10f74d6f4b095712c7efe26\",\n        \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n        \"gas\": \"0x22b1c\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000244174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000002420f06fdc000000000000000000000000000000000000000000000000000000000000013800000000000000000000000000000000000000000000000000000000000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000247616f0e80000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x4\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x7c06e3\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000244174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000002420f06fdc000000000000000000000000000000000000000000000000000000000000013800000000000000000000000000000000000000000000000000000000000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000247616f0e80000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001b0000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe260000000000000000000000000000000000000000000000000000000000000002\",\n          \"blockHash\": \"0x38efc45ddc431d033f3263ebe77610f67d91084fa34109ad42e1713e370c16f9\",\n          \"blockNumber\": \"0x9390ab\",\n          \"blockTimestamp\": \"0x691f7c70\",\n          \"transactionHash\": \"0x153186609185f8d67714bbbf512b01a17bba4c217e59792e575845a78dc186bf\",\n          \"transactionIndex\": \"0x3d\",\n          \"logIndex\": \"0x8a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000007\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000138\",\n          \"blockHash\": \"0x38efc45ddc431d033f3263ebe77610f67d91084fa34109ad42e1713e370c16f9\",\n          \"blockNumber\": \"0x9390ab\",\n          \"blockTimestamp\": \"0x691f7c70\",\n          \"transactionHash\": \"0x153186609185f8d67714bbbf512b01a17bba4c217e59792e575845a78dc186bf\",\n          \"transactionIndex\": \"0x3d\",\n          \"logIndex\": \"0x8b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000006\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000030d40\",\n          \"blockHash\": \"0x38efc45ddc431d033f3263ebe77610f67d91084fa34109ad42e1713e370c16f9\",\n          \"blockNumber\": \"0x9390ab\",\n          \"blockTimestamp\": \"0x691f7c70\",\n          \"transactionHash\": \"0x153186609185f8d67714bbbf512b01a17bba4c217e59792e575845a78dc186bf\",\n          \"transactionIndex\": \"0x3d\",\n          \"logIndex\": \"0x8c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x5ab9660065793f9c7917cecf71d7aee74fdfe204631c74c99105e2beff603e4f0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x38efc45ddc431d033f3263ebe77610f67d91084fa34109ad42e1713e370c16f9\",\n          \"blockNumber\": \"0x9390ab\",\n          \"blockTimestamp\": \"0x691f7c70\",\n          \"transactionHash\": \"0x153186609185f8d67714bbbf512b01a17bba4c217e59792e575845a78dc186bf\",\n          \"transactionIndex\": \"0x3d\",\n          \"logIndex\": \"0x8d\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000408000000000000000000000020000000000000000000000000000000040000000000000000000000000000000000020100000000000000000800000000000000000000000000000008000000200400000800000000040000000000000000000000000000000000000000000000000400000000000000000004000000000000000000000000880000000000000000000000000000000000020000000000000000000000000500000020000000000000000000000000000000000000000000000000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x153186609185f8d67714bbbf512b01a17bba4c217e59792e575845a78dc186bf\",\n      \"transactionIndex\": \"0x3d\",\n      \"blockHash\": \"0x38efc45ddc431d033f3263ebe77610f67d91084fa34109ad42e1713e370c16f9\",\n      \"blockNumber\": \"0x9390ab\",\n      \"gasUsed\": \"0x191e4\",\n      \"effectiveGasPrice\": \"0xf4475\",\n      \"from\": \"0x0cf2f86c3338993ce10f74d6f4b095712c7efe26\",\n      \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1763671153225,\n  \"chain\": 11155111,\n  \"commit\": \"c3fbe19\"\n}"
  },
  {
    "path": "sepolia/2025-11-18-set-jovian-parameters/script/SetJovianParameters.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {console} from \"forge-std/console.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\n\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\n\ninterface ISystemConfig {\n    function daFootprintGasScalar() external view returns (uint16);\n    function minBaseFee() external view returns (uint64);\n    function setDAFootprintGasScalar(uint16 _daFootprintGasScalar) external;\n    function setMinBaseFee(uint64 _minBaseFee) external;\n}\n\ncontract SetJovianParametersScript is MultisigScript {\n    address internal immutable OWNER_SAFE;\n    address internal immutable SYSTEM_CONFIG;\n\n    uint16 internal immutable DA_FOOTPRINT_GAS_SCALAR;\n    uint64 internal immutable MIN_BASE_FEE;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n        SYSTEM_CONFIG = vm.envAddress(\"SYSTEM_CONFIG\");\n        DA_FOOTPRINT_GAS_SCALAR = uint16(vm.envUint(\"DA_FOOTPRINT_GAS_SCALAR\"));\n        MIN_BASE_FEE = uint64(vm.envUint(\"MIN_BASE_FEE\"));\n    }\n\n    function setUp() external view {\n        // Log current values for reference\n        console.log(\"Current DA Footprint Gas Scalar:\", ISystemConfig(SYSTEM_CONFIG).daFootprintGasScalar());\n        console.log(\"Current Min Base Fee:\", ISystemConfig(SYSTEM_CONFIG).minBaseFee());\n        console.log(\"New DA Footprint Gas Scalar:\", DA_FOOTPRINT_GAS_SCALAR);\n        console.log(\"New Min Base Fee:\", MIN_BASE_FEE);\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        vm.assertEq(\n            ISystemConfig(SYSTEM_CONFIG).daFootprintGasScalar(),\n            DA_FOOTPRINT_GAS_SCALAR,\n            \"DA Footprint Gas Scalar mismatch\"\n        );\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).minBaseFee(), MIN_BASE_FEE, \"Min Base Fee mismatch\");\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) {\n        IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](2);\n\n        calls[0] = IMulticall3.Call3Value({\n            target: SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(ISystemConfig.setDAFootprintGasScalar, (DA_FOOTPRINT_GAS_SCALAR)),\n            value: 0\n        });\n\n        calls[1] = IMulticall3.Call3Value({\n            target: SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(ISystemConfig.setMinBaseFee, (MIN_BASE_FEE)),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "sepolia/2025-11-18-set-jovian-parameters/validations/cb-sc-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net SetJovianParametersScript --sig sign(address[]) [0x6AF0674791925f767060Dd52f7fB20984E8639d8,0x646132A1667ca7aD00d36616AFBA1A28116C770A] --sender 0x7f10098bd53519c739ca8a404afe127647d94774\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n    \"domainHash\": \"0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa\",\n    \"messageHash\": \"0x584d0cc61e6fffd9fea6c4cc3b242b782e0307c125b98ddc38cce23939b97eb6\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\"\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Sepolia\",\n      \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\"\n        }\n      ]\n    },\n    {\n      \"name\": \"Mock OP Safe / Mock Security Council - Sepolia\",\n      \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"overrides\": [\n        {\n          \"key\": \"0x3c35e253d3d819dc80b00bec4c486bf001629e935fee5b7278f4b79da0c2fb40\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\"\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000001b\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000001c\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x8edc1cfc1840fa9ef854a3f743c41fe8ca1aa29e77f34b71c732200173cfea88\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Increment approvedHashes\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Sepolia\",\n      \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000000a\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000000b\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x97d646f621b0f519cef0ddd752bf96c09d32d77408e838dc7e60be097f3f35ec\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Increment approvedHashes\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Mock OP Safe / Mock Security Council - Sepolia\",\n      \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000011\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000012\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Sepolia\",\n      \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n      \"changes\": [\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006a\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000400000032\",\n          \"after\": \"0x0000000000000000000001380000000000000000000000000000000400000032\",\n          \"description\": \"Sets the DA Footprint Gas Scalar to 312 (0x0138)\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006c\",\n          \"before\": \"0x000000000000000000000000c2be75506d5724086deb7245bd260cc9753911be\",\n          \"after\": \"0x000000000000000000030d40c2be75506d5724086deb7245bd260cc9753911be\",\n          \"description\": \"Sets the Min Base Fee to 200000 (0x030d40)\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "sepolia/2025-11-18-set-jovian-parameters/validations/cb-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net SetJovianParametersScript --sig sign(address[]) [0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f,0x646132A1667ca7aD00d36616AFBA1A28116C770A] --sender 0x7f10098bd53519c739ca8a404afe127647d94774\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n    \"domainHash\": \"0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23\",\n    \"messageHash\": \"0x826d763e5f8e6b8dc34ea6ac7a7732afec3b3f59a75b89f8a473dcc5823bafac\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\"\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Sepolia\",\n      \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\"\n        },\n        {\n          \"key\": \"0x7fe7cf17ba7e8539dbc7761dda7051425e4980a5488c2da7301fc2d8d1e9fa30\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\"\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Sepolia\",\n      \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\"\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000001b\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000001c\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x8edc1cfc1840fa9ef854a3f743c41fe8ca1aa29e77f34b71c732200173cfea88\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Increment approvedHashes\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Sepolia\",\n      \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000000d\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000000e\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Sepolia\",\n      \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000000a\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000000b\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9a9a340b11831be720964539a007b72fec48bc53b0edc6c53ed1dee5612719b3\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Increment approvedHashes\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Sepolia\",\n      \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n      \"changes\": [\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006a\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000400000032\",\n          \"after\": \"0x0000000000000000000001380000000000000000000000000000000400000032\",\n          \"description\": \"Sets the DA Footprint Gas Scalar to 312 (0x0138)\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006c\",\n          \"before\": \"0x000000000000000000000000c2be75506d5724086deb7245bd260cc9753911be\",\n          \"after\": \"0x000000000000000000030d40c2be75506d5724086deb7245bd260cc9753911be\",\n          \"description\": \"Sets the Min Base Fee to 200000 (0x030d40)\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "sepolia/2025-11-18-set-jovian-parameters/validations/op-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net SetJovianParametersScript --sig sign(address[]) [0x6AF0674791925f767060Dd52f7fB20984E8639d8] --sender 0x0CF2F86C3338993ce10F74d6f4B095712c7efe26\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n    \"domainHash\": \"0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa\",\n    \"messageHash\": \"0xc8800a32719ca1c01589c0bfbac745a1c12df9d695611be793730ebc05bfd711\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\"\n        }\n      ]\n    },\n    {\n      \"name\": \"Mock OP Safe / Mock Security Council - Sepolia\",\n      \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"overrides\": [\n        {\n          \"key\": \"0x1282d9c5734ef57ec21bd1b3cb2d2338c392145abc5b7d3f471a1aa90b07d789\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\"\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000001b\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000001c\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xa5855c998346b3e542ba91df8b8a8b17cf51c481a36485b6f7831bb3331db193\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Increment approvedHashes\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Mock OP Safe / Mock Security Council - Sepolia\",\n      \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000012\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000013\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Sepolia\",\n      \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n      \"changes\": [\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006a\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000400000032\",\n          \"after\": \"0x0000000000000000000001380000000000000000000000000000000400000032\",\n          \"description\": \"Sets the DA Footprint Gas Scalar to 312 (0x0138)\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006c\",\n          \"before\": \"0x000000000000000000000000c2be75506d5724086deb7245bd260cc9753911be\",\n          \"after\": \"0x000000000000000000030d40c2be75506d5724086deb7245bd260cc9753911be\",\n          \"description\": \"Sets the Min Base Fee to 200000 (0x030d40)\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "sepolia/2025-11-30-systemconfig-ownership-transfer/FACILITATORS.md",
    "content": "#### Execute the transaction\n\n1. Collect outputs from all participating signers.\n1. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"`.\n1. Run the `make execute` or `make approve` command as described below to execute the transaction.\n\nFor example, if the quorum is 3 and you get the following outputs:\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE01\nSignature: AAAA\n```\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE02\nSignature: BBBB\n```\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE03\nSignature: CCCC\n```\n\nCoinbase facilitator (mock):\n\n```bash\nSIGNATURES=AAAABBBBCCCC make approve-cb\n```\n\n```bash\nSIGNATURES=AAAABBBBCCCC make approve-cb-sc\n```\n\n```bash\nmake approve-cb-coordinator\n```\n\nOptimism facilitator (mock):\n\n```bash\nSIGNATURES=AAAABBBBCCCC make approve-op\n```\n\nSince mock Safes are used in this Sepolia task, the same facilitator is expected handle gathering signatures for both the SC and OP from the same signer set.\n\nOnce the signatures have been submitted approving the transaction for all nested Safes run:\n\n```bash\nmake execute\n```\n"
  },
  {
    "path": "sepolia/2025-11-30-systemconfig-ownership-transfer/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 1\nendif\n\nRPC_URL = $(L1_RPC_URL)\nSCRIPT_NAME = TransferSystemConfigOwnership\n\n# Sepolia Commands\n\n# OWNER_SAFE/\n# ├── CB_SIGNER_SAFE_ADDR/\n# │   ├── CB_NESTED_SAFE_ADDR/\n# │   │   └── Signers\n# │   └── CB_SC_SAFE_ADDR/\n# │       └── Signers\n# └── OP_SIGNER_SAFE_ADDR/\n#     └── Signers\n\n.PHONY: gen-validation\ngen-validation: \n\tmake gen-validation-cb\n\tmake gen-validation-cb-sc\n\tmake gen-validation-op\n\n.PHONY: gen-validation-cb\ngen-validation-cb: checkout-signer-tool run-script-cb\n\n.PHONY: run-script-cb\nrun-script-cb:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \\\n\t--ledger-id $(LEDGER_ACCOUNT) \\\n\t--workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" \"[$(CB_NESTED_SAFE_ADDR),$(CB_SIGNER_SAFE_ADDR)]\" --sender $(CB_NESTED_SIGNER)' --out ../validations/coinbase-signer.json;\n\n.PHONY: gen-validation-cb-sc\ngen-validation-cb-sc: checkout-signer-tool run-script-cb-sc\n\n.PHONY: run-script-cb-sc\nrun-script-cb-sc:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \\\n\t--ledger-id $(LEDGER_ACCOUNT) \\\n\t--workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" \"[$(CB_SC_SAFE_ADDR),$(CB_SIGNER_SAFE_ADDR)]\" --sender $(CB_SC_SIGNER)' --out ../validations/base-security-council-signer.json;\n\n.PHONY: gen-validation-op\ngen-validation-op: checkout-signer-tool run-script-op\n\n.PHONY: run-script-op\nrun-script-op:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \\\n\t--ledger-id $(LEDGER_ACCOUNT) \\\n\t--workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" \"[$(OP_SIGNER_SAFE_ADDR)]\" --sender $(OP_SIGNER)' --out ../validations/optimism-signer.json;\n\n# CB\n.PHONY: approve-cb\napprove-cb:\n\t$(call MULTISIG_APPROVE,$(CB_NESTED_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES))\n\n.PHONY: approve-cb-sc\napprove-cb-sc:\n\t$(call MULTISIG_APPROVE,$(CB_SC_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES))\n\n.PHONY: approve-cb-coordinator\napprove-cb-coordinator:\n\t$(call MULTISIG_APPROVE,$(CB_SIGNER_SAFE_ADDR),0x)\n\n.PHONY: approve-op\napprove-op:\n\t$(call MULTISIG_APPROVE,$(OP_SIGNER_SAFE_ADDR),$(SIGNATURES))\n\n# Execute\n.PHONY: execute\nexecute:\n\t$(call MULTISIG_EXECUTE,0x)\n"
  },
  {
    "path": "sepolia/2025-11-30-systemconfig-ownership-transfer/README.md",
    "content": "# Transfer SystemConfig Ownership\n\nStatus: [EXECUTED](https://sepolia.etherscan.io/tx/0xd7279a1f08275f7c9cd77b555b27a920b0a3f5dfd0c91dc059a164457d7a7254)\n\n## Executed Transactions\n\n- [Coinbase Approval](https://sepolia.etherscan.io/tx/0xdd7e0e60d1dc1de798d025ed0e946678cebe7d07920c2fd88d7a3aa3d3ea036d) ([artefact](./records/TransferSystemConfigOwnership.s.sol/11155111/run-1765915333831.json))\n- [(Mock) Base Security Council Approval](https://sepolia.etherscan.io/tx/0xaf5ea1c6e95d0ea8ea4b1232e436c24f2871eef07fc3ea778da49475050397ff) ([artefact](./records/TransferSystemConfigOwnership.s.sol/11155111/run-1765915416897.json))\n- [Coinbase Facilitator Approval](https://sepolia.etherscan.io/tx/0x2aa48dccd2a9854c6150bf3a1608eb433eb31dac250582a918e7b0187f253f0c) ([artefact](./records/TransferSystemConfigOwnership.s.sol/11155111/run-1765915501219.json))\n- [(Mock) Optimism Approval](https://sepolia.etherscan.io/tx/0x22702afc8d60d3c3605dd2fb72b0860bb377dee23b1707c9d6a25a2e3ca0af2e) ([artefact](./records/TransferSystemConfigOwnership.s.sol/11155111/run-1765921561047.json))\n- [Execution](https://sepolia.etherscan.io/tx/0xd7279a1f08275f7c9cd77b555b27a920b0a3f5dfd0c91dc059a164457d7a7254) ([artefact](./records/TransferSystemConfigOwnership.s.sol/11155111/run-1765921633335.json))\n\n## Description\n\nThis task transfers ownership of the Sepolia `SystemConfig` to the incident multisig.\n\nThe SystemConfig (`0xf272670eb55e895584501d564AfEB048bEd26194`) is currently owned by `0x0fe884546476dDd290eC46318785046ef68a0BA9` which has a double-nested ownership structure. On Mainnet, this ownership is just the incident multisig directly, which results in inconsistent task structures between Sepolia and Mainnet. This is solved in this task by calling `transferOwnership` to set the new owner to `0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f`.\n\n## Procedure\n\n## Install dependencies\n\n### 1. Update foundry\n\n```bash\nfoundryup\n```\n\n### 2. Install Node.js if needed\n\nFirst, check if you have node installed\n\n```bash\nnode --version\n```\n\nIf you see a version output from the above command, you can move on. Otherwise, install node\n\n```bash\nbrew install node\n```\n\n## Approving the Update transaction\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root).\n\n```bash\nmake sign-task\n```\n\n### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\nBe sure to select the correct task user from the list of available users to sign.\nSign for the two profiles (both \"Direct\" and \"Nested\") and save the two resulting signatures.\nAfter completion, the signer tool can be closed by using Ctrl + C.\n\n### 4. Send both signatures to the facilitator\n"
  },
  {
    "path": "sepolia/2025-11-30-systemconfig-ownership-transfer/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nevm_version = \"shanghai\"\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "sepolia/2025-11-30-systemconfig-ownership-transfer/records/TransferSystemConfigOwnership.s.sol/11155111/run-1765915333831.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xdd7e0e60d1dc1de798d025ed0e946678cebe7d07920c2fd88d7a3aa3d3ea036d\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd18c07b6dd72732ae20a1cc0b037bd3f9ae72c3e363a033419a50601717d1a9b900000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xb6febe35e83a6f6ff254eade3d6e4d880da5d745ac645de61ef108d5fff02e4256e1f95fa591982ccc079301d3b5cfa1edea9307571667ed8663a33660c51df61bcaac794ee92c060d697279a447a6b9bd420b53cd1e620b594dcbc0adce67617e54f592d65370296dbcc7b3f493e26ac625c5738d8ddfdba3e9b16818e4868e141c542975194d3187e4e13016d257064318b6b89710e6442c9bbd0c33923ea9d7924ea43c67205fd6c14ee187b4ee95ac5d184069d7ee4545042d960c5d87b0bcff1c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x6e427c3212c0b63be0c382f97715d49b011bff33\",\n        \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n        \"gas\": \"0x2323d\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd18c07b6dd72732ae20a1cc0b037bd3f9ae72c3e363a033419a50601717d1a9b9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3b6febe35e83a6f6ff254eade3d6e4d880da5d745ac645de61ef108d5fff02e4256e1f95fa591982ccc079301d3b5cfa1edea9307571667ed8663a33660c51df61bcaac794ee92c060d697279a447a6b9bd420b53cd1e620b594dcbc0adce67617e54f592d65370296dbcc7b3f493e26ac625c5738d8ddfdba3e9b16818e4868e141c542975194d3187e4e13016d257064318b6b89710e6442c9bbd0c33923ea9d7924ea43c67205fd6c14ee187b4ee95ac5d184069d7ee4545042d960c5d87b0bcff1c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x29\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1862ff3\",\n      \"logs\": [\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x18c07b6dd72732ae20a1cc0b037bd3f9ae72c3e363a033419a50601717d1a9b9\",\n            \"0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x70b64dba1f56530db6a33a83b2edf882fffd33fab7991f9bdf77e84f4a86e09f\",\n          \"blockNumber\": \"0x9660e8\",\n          \"blockTimestamp\": \"0x6941bac4\",\n          \"transactionHash\": \"0xdd7e0e60d1dc1de798d025ed0e946678cebe7d07920c2fd88d7a3aa3d3ea036d\",\n          \"transactionIndex\": \"0x52\",\n          \"logIndex\": \"0x364\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0x3d75da3c020720c48a4e2144947211b44ffc949fa8dea8bc327dbe0fe3397aae\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x70b64dba1f56530db6a33a83b2edf882fffd33fab7991f9bdf77e84f4a86e09f\",\n          \"blockNumber\": \"0x9660e8\",\n          \"blockTimestamp\": \"0x6941bac4\",\n          \"transactionHash\": \"0xdd7e0e60d1dc1de798d025ed0e946678cebe7d07920c2fd88d7a3aa3d3ea036d\",\n          \"transactionIndex\": \"0x52\",\n          \"logIndex\": \"0x365\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000000010000000000000000000000000100000000000000100000000000000000000000000000000000000000000000000000000000000000000800000000000000000000400000000000200000000000000000000000000000000000000000000000000000000004000000000200000000000000000000000000000000000000000000000000014000000020000404000000000000010000000000000000000000000000000000000000000000000000000000000000000004000020000000000000000000000000000040000000000010000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xdd7e0e60d1dc1de798d025ed0e946678cebe7d07920c2fd88d7a3aa3d3ea036d\",\n      \"transactionIndex\": \"0x52\",\n      \"blockHash\": \"0x70b64dba1f56530db6a33a83b2edf882fffd33fab7991f9bdf77e84f4a86e09f\",\n      \"blockNumber\": \"0x9660e8\",\n      \"gasUsed\": \"0x1970e\",\n      \"effectiveGasPrice\": \"0x111a1330d\",\n      \"from\": \"0x6e427c3212c0b63be0c382f97715d49b011bff33\",\n      \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1765915333831,\n  \"chain\": 11155111,\n  \"commit\": \"82079b3\"\n}\n"
  },
  {
    "path": "sepolia/2025-11-30-systemconfig-ownership-transfer/records/TransferSystemConfigOwnership.s.sol/11155111/run-1765915416897.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xaf5ea1c6e95d0ea8ea4b1232e436c24f2871eef07fc3ea778da49475050397ff\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd18c07b6dd72732ae20a1cc0b037bd3f9ae72c3e363a033419a50601717d1a9b900000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x4a36cabdc311edab14044a5347960fad5b92e3f712d4535e627167f71567342014322aa6b1fc491b15871a869efed5889f85a1adb7c8490e2dd122cdada610cb1c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x6e427c3212c0b63be0c382f97715d49b011bff33\",\n        \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n        \"gas\": \"0x1f7d8\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd18c07b6dd72732ae20a1cc0b037bd3f9ae72c3e363a033419a50601717d1a9b9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000414a36cabdc311edab14044a5347960fad5b92e3f712d4535e627167f71567342014322aa6b1fc491b15871a869efed5889f85a1adb7c8490e2dd122cdada610cb1c00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x2a\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x14dacd5\",\n      \"logs\": [\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x18c07b6dd72732ae20a1cc0b037bd3f9ae72c3e363a033419a50601717d1a9b9\",\n            \"0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xb208fcc880efe965096c9a19b7c30e88efc0dba86b26a7b6503d05553bd972cc\",\n          \"blockNumber\": \"0x9660ee\",\n          \"blockTimestamp\": \"0x6941bb18\",\n          \"transactionHash\": \"0xaf5ea1c6e95d0ea8ea4b1232e436c24f2871eef07fc3ea778da49475050397ff\",\n          \"transactionIndex\": \"0x3c\",\n          \"logIndex\": \"0x325\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x2acccb084545c31faf997fb7c5e2b519a2fd0aa7ab73e4015c9b0507f0078c6a0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xb208fcc880efe965096c9a19b7c30e88efc0dba86b26a7b6503d05553bd972cc\",\n          \"blockNumber\": \"0x9660ee\",\n          \"blockTimestamp\": \"0x6941bb18\",\n          \"transactionHash\": \"0xaf5ea1c6e95d0ea8ea4b1232e436c24f2871eef07fc3ea778da49475050397ff\",\n          \"transactionIndex\": \"0x3c\",\n          \"logIndex\": \"0x326\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000400000000000000000000400000000000200000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000010000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000000004000020000000000000000000000000000014020000000000000000000000100000000008000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xaf5ea1c6e95d0ea8ea4b1232e436c24f2871eef07fc3ea778da49475050397ff\",\n      \"transactionIndex\": \"0x3c\",\n      \"blockHash\": \"0xb208fcc880efe965096c9a19b7c30e88efc0dba86b26a7b6503d05553bd972cc\",\n      \"blockNumber\": \"0x9660ee\",\n      \"gasUsed\": \"0x15883\",\n      \"effectiveGasPrice\": \"0x12695894f\",\n      \"from\": \"0x6e427c3212c0b63be0c382f97715d49b011bff33\",\n      \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1765915416897,\n  \"chain\": 11155111,\n  \"commit\": \"82079b3\"\n}"
  },
  {
    "path": "sepolia/2025-11-30-systemconfig-ownership-transfer/records/TransferSystemConfigOwnership.s.sol/11155111/run-1765915501219.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x2aa48dccd2a9854c6150bf3a1608eb433eb31dac250582a918e7b0187f253f0c\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcda6c6ff8b5c0a31bb7303e0cb432194bb3fa22a829cb1975194451635c44a016700000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x6e427c3212c0b63be0c382f97715d49b011bff33\",\n        \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n        \"gas\": \"0x21d2d\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcda6c6ff8b5c0a31bb7303e0cb432194bb3fa22a829cb1975194451635c44a0167000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x2b\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x38f4348\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xa6c6ff8b5c0a31bb7303e0cb432194bb3fa22a829cb1975194451635c44a0167\",\n            \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x562cab40e28f504807c7887555935a4ffd63bb0771999fda4abff937f5f21989\",\n          \"blockNumber\": \"0x9660f3\",\n          \"blockTimestamp\": \"0x6941bb6c\",\n          \"transactionHash\": \"0x2aa48dccd2a9854c6150bf3a1608eb433eb31dac250582a918e7b0187f253f0c\",\n          \"transactionIndex\": \"0xc2\",\n          \"logIndex\": \"0x931\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x18c07b6dd72732ae20a1cc0b037bd3f9ae72c3e363a033419a50601717d1a9b90000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x562cab40e28f504807c7887555935a4ffd63bb0771999fda4abff937f5f21989\",\n          \"blockNumber\": \"0x9660f3\",\n          \"blockTimestamp\": \"0x6941bb6c\",\n          \"transactionHash\": \"0x2aa48dccd2a9854c6150bf3a1608eb433eb31dac250582a918e7b0187f253f0c\",\n          \"transactionIndex\": \"0xc2\",\n          \"logIndex\": \"0x932\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000008040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000010000000000000000000000000008000000200000000801000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000080000001004000020000000000000000000000000000000000000000200000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x2aa48dccd2a9854c6150bf3a1608eb433eb31dac250582a918e7b0187f253f0c\",\n      \"transactionIndex\": \"0xc2\",\n      \"blockHash\": \"0x562cab40e28f504807c7887555935a4ffd63bb0771999fda4abff937f5f21989\",\n      \"blockNumber\": \"0x9660f3\",\n      \"gasUsed\": \"0x17209\",\n      \"effectiveGasPrice\": \"0xfcdaf7f8\",\n      \"from\": \"0x6e427c3212c0b63be0c382f97715d49b011bff33\",\n      \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1765915501219,\n  \"chain\": 11155111,\n  \"commit\": \"82079b3\"\n}"
  },
  {
    "path": "sepolia/2025-11-30-systemconfig-ownership-transfer/records/TransferSystemConfigOwnership.s.sol/11155111/run-1765921561047.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x22702afc8d60d3c3605dd2fb72b0860bb377dee23b1707c9d6a25a2e3ca0af2e\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcda6c6ff8b5c0a31bb7303e0cb432194bb3fa22a829cb1975194451635c44a016700000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x20c540b46189fcfbb8148e627a4c2be5bb753a3d70bdf160695483897a7fd8306b7585d0f0e30f43ebde831f92deee07ea428863601989ea1ce5c651a3eafe621b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x6e427c3212c0b63be0c382f97715d49b011bff33\",\n        \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n        \"gas\": \"0x1ea20\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcda6c6ff8b5c0a31bb7303e0cb432194bb3fa22a829cb1975194451635c44a01670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004120c540b46189fcfbb8148e627a4c2be5bb753a3d70bdf160695483897a7fd8306b7585d0f0e30f43ebde831f92deee07ea428863601989ea1ce5c651a3eafe621b00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x2c\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x12f20f0\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xa6c6ff8b5c0a31bb7303e0cb432194bb3fa22a829cb1975194451635c44a0167\",\n            \"0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf3b813c6fa5880a84775c067ae2f8ff3baaab6b80d3b2640379961da7502b2c0\",\n          \"blockNumber\": \"0x9662c2\",\n          \"blockTimestamp\": \"0x6941d318\",\n          \"transactionHash\": \"0x22702afc8d60d3c3605dd2fb72b0860bb377dee23b1707c9d6a25a2e3ca0af2e\",\n          \"transactionIndex\": \"0x3f\",\n          \"logIndex\": \"0x2a6\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xaa389ea50ccbfcff7236db319429f538d0d566f77c3f888bd946939488296bca0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xf3b813c6fa5880a84775c067ae2f8ff3baaab6b80d3b2640379961da7502b2c0\",\n          \"blockNumber\": \"0x9662c2\",\n          \"blockTimestamp\": \"0x6941d318\",\n          \"transactionHash\": \"0x22702afc8d60d3c3605dd2fb72b0860bb377dee23b1707c9d6a25a2e3ca0af2e\",\n          \"transactionIndex\": \"0x3f\",\n          \"logIndex\": \"0x2a7\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000040000000000000000000000000000000000000008040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000000000000000000000000000000000008000000200000000801000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000014020000000000000000000000100000000008000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x22702afc8d60d3c3605dd2fb72b0860bb377dee23b1707c9d6a25a2e3ca0af2e\",\n      \"transactionIndex\": \"0x3f\",\n      \"blockHash\": \"0xf3b813c6fa5880a84775c067ae2f8ff3baaab6b80d3b2640379961da7502b2c0\",\n      \"blockNumber\": \"0x9662c2\",\n      \"gasUsed\": \"0x162d8\",\n      \"effectiveGasPrice\": \"0x108c86b6\",\n      \"from\": \"0x6e427c3212c0b63be0c382f97715d49b011bff33\",\n      \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1765921561047,\n  \"chain\": 11155111,\n  \"commit\": \"82079b3\"\n}"
  },
  {
    "path": "sepolia/2025-11-30-systemconfig-ownership-transfer/records/TransferSystemConfigOwnership.s.sol/11155111/run-1765921633335.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xd7279a1f08275f7c9cd77b555b27a920b0a3f5dfd0c91dc059a164457d7a7254\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024f2fde38b0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f00000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x6e427c3212c0b63be0c382f97715d49b011bff33\",\n        \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n        \"gas\": \"0x1d113\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000144174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024f2fde38b0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x2d\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1d58f9a\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000000000144174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024f2fde38b0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff330000000000000000000000000000000000000000000000000000000000000002\",\n          \"blockHash\": \"0x5a2cea28d5276f96d6e1be5168e2925d6378d6b2b5ce70bb7fd8d940a37d2cd0\",\n          \"blockNumber\": \"0x9662c7\",\n          \"blockTimestamp\": \"0x6941d360\",\n          \"transactionHash\": \"0xd7279a1f08275f7c9cd77b555b27a920b0a3f5dfd0c91dc059a164457d7a7254\",\n          \"transactionIndex\": \"0x68\",\n          \"logIndex\": \"0x41c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9\",\n            \"0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x5a2cea28d5276f96d6e1be5168e2925d6378d6b2b5ce70bb7fd8d940a37d2cd0\",\n          \"blockNumber\": \"0x9662c7\",\n          \"blockTimestamp\": \"0x6941d360\",\n          \"transactionHash\": \"0xd7279a1f08275f7c9cd77b555b27a920b0a3f5dfd0c91dc059a164457d7a7254\",\n          \"transactionIndex\": \"0x68\",\n          \"logIndex\": \"0x41d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xa6c6ff8b5c0a31bb7303e0cb432194bb3fa22a829cb1975194451635c44a01670000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x5a2cea28d5276f96d6e1be5168e2925d6378d6b2b5ce70bb7fd8d940a37d2cd0\",\n          \"blockNumber\": \"0x9662c7\",\n          \"blockTimestamp\": \"0x6941d360\",\n          \"transactionHash\": \"0xd7279a1f08275f7c9cd77b555b27a920b0a3f5dfd0c91dc059a164457d7a7254\",\n          \"transactionIndex\": \"0x68\",\n          \"logIndex\": \"0x41e\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000800000040000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040000000000000000000000000000000000000100000000000000000000000000000000000000000000000008400000200000000800000000000200000000000000000000000000000000000000000000000400000000000020000004020000000000000000000000800000000000000000000000000000000000020000000000000000000000000420400000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xd7279a1f08275f7c9cd77b555b27a920b0a3f5dfd0c91dc059a164457d7a7254\",\n      \"transactionIndex\": \"0x68\",\n      \"blockHash\": \"0x5a2cea28d5276f96d6e1be5168e2925d6378d6b2b5ce70bb7fd8d940a37d2cd0\",\n      \"blockNumber\": \"0x9662c7\",\n      \"gasUsed\": \"0x150b5\",\n      \"effectiveGasPrice\": \"0x115c73f5\",\n      \"from\": \"0x6e427c3212c0b63be0c382f97715d49b011bff33\",\n      \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1765921633335,\n  \"chain\": 11155111,\n  \"commit\": \"82079b3\"\n}"
  },
  {
    "path": "sepolia/2025-11-30-systemconfig-ownership-transfer/script/TransferSystemConfigOwnership.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {OwnableUpgradeable} from \"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\";\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\n\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\n\ncontract TransferSystemConfigOwnership is MultisigScript {\n    address internal immutable NEW_OWNER;\n    address internal immutable SYSTEM_CONFIG;\n\n    constructor() {\n        NEW_OWNER = vm.envAddress(\"NEW_OWNER\");\n        SYSTEM_CONFIG = vm.envAddress(\"SYSTEM_CONFIG\");\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        OwnableUpgradeable systemConfig = OwnableUpgradeable(SYSTEM_CONFIG);\n        vm.assertEq(systemConfig.owner(), NEW_OWNER, \"SystemConfig owner did not get updated\");\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) {\n        IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n\n        calls[0] = IMulticall3.Call3Value({\n            target: SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(OwnableUpgradeable.transferOwnership, (NEW_OWNER)),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        OwnableUpgradeable systemConfig = OwnableUpgradeable(SYSTEM_CONFIG);\n        return systemConfig.owner();\n    }\n}\n"
  },
  {
    "path": "sepolia/2025-11-30-systemconfig-ownership-transfer/validations/base-security-council-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net TransferSystemConfigOwnership --sig sign(address[]) [0x6AF0674791925f767060Dd52f7fB20984E8639d8,0x646132A1667ca7aD00d36616AFBA1A28116C770A] --sender 0x7f10098bd53519c739ca8a404afe127647d94774\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f\",\n    \"domainHash\": \"0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa\",\n    \"messageHash\": \"0xfc520d754970f5d814f27d3aac140db90a652fadbdce864ed9395cf9c09efaad\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Sepolia\",\n      \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Mock Security Council - Sepolia\",\n      \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"overrides\": [\n        {\n          \"key\": \"0x8a00458f9bccb6e332ee9e861e02883a5e90ab3c44651894b07d6627cbc3e4ba\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000001c\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000001d\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x5afe6824c7fb79a8a3bba9076e2c014b1e75076691c5eb49c773515d1a49b79a\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Records the CB Signer Safe's approval hash for the Proxy Admin Owner multisig transaction.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Sepolia\",\n      \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000000b\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000000c\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x4c9617ca4ffe7c407762ccd7bf1f4a7b618ecd3493327b161fa36c6a7aa66dfc\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Stores the approval hash emitted by the Mock OP Safe for the nested multisig transaction.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Mock Security Council - Sepolia\",\n      \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000013\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000014\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Sepolia\",\n      \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000033\",\n          \"before\": \"0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"after\": \"0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"description\": \"Updates the SystemConfig owner to the CB Signer Safe.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "sepolia/2025-11-30-systemconfig-ownership-transfer/validations/coinbase-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net TransferSystemConfigOwnership --sig sign(address[]) [0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f,0x646132A1667ca7aD00d36616AFBA1A28116C770A] --sender 0x7f10098bd53519c739ca8a404afe127647d94774\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f\",\n    \"domainHash\": \"0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23\",\n    \"messageHash\": \"0xcdbe5e1c083908d7bb0ec934ffd5297c4b71482c49a5928211ce91d755c7d988\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Sepolia\",\n      \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x8ccc185370734884596907353e4ef357132523daccc0b39cce327c4d1036f9b7\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Sepolia\",\n      \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000001c\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000001d\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x5afe6824c7fb79a8a3bba9076e2c014b1e75076691c5eb49c773515d1a49b79a\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Records the CB Signer Safe's approval hash for the Proxy Admin Owner multisig transaction.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Sepolia\",\n      \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000000e\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000000f\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Sepolia\",\n      \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000000b\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000000c\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xd2f9eb6b3047078658bfb1055cadc70d5db6679fb38fc2768630033dbfd1570f\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Stores the approval hash emitted by the CB Coordinator Safe for the nested multisig transaction.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Sepolia\",\n      \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000033\",\n          \"before\": \"0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"after\": \"0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"description\": \"Updates the SystemConfig owner to the CB Signer Safe.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "sepolia/2025-11-30-systemconfig-ownership-transfer/validations/optimism-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net TransferSystemConfigOwnership --sig sign(address[]) [0x6AF0674791925f767060Dd52f7fB20984E8639d8] --sender 0x0CF2F86C3338993ce10F74d6f4B095712c7efe26\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f\",\n    \"domainHash\": \"0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa\",\n    \"messageHash\": \"0xf8df46555f836aa7d1632c882d341c68c4f2e5f20370eb434d93e5a80d4bdcfd\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Mock OP Safe - Sepolia\",\n      \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"overrides\": [\n        {\n          \"key\": \"0x267a795367cd6e2f0d2fb79207ba0f6ee3ed6801eb7e97d5ac2c95bf940cfbec\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000001c\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000001d\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x7453d0240b1463220c6a32fe42d09c5fac86fc4ceba53bd206c0f6f4491d2cd5\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Records the Mock OP Safe's approval hash inside the Proxy Admin Owner multisig.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Mock OP Safe - Sepolia\",\n      \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000013\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000014\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Sepolia\",\n      \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000033\",\n          \"before\": \"0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"after\": \"0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"description\": \"Updates the SystemConfig owner to the CB Signer Safe.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "sepolia/2025-12-22-update-bridge-alpha-config/FACILITATOR.md",
    "content": "# Facilitator Guide\n\nGuide for facilitators after collecting signatures from signers.\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd sepolia/2025-12-22-update-bridge-alpha-config\nmake deps\n```\n\n### 2. Execute update\n\n```bash\nSIGNATURES=AAABBBCCC make execute\n```\n"
  },
  {
    "path": "sepolia/2025-12-22-update-bridge-alpha-config/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 1\nendif\n\nRPC_URL=$(L1_RPC_URL)\nSCRIPT_NAME=UpdateConfig\n\n.PHONY: deps\ndeps:\n\tforge install --no-git github.com/base/bridge@$(BRIDGE_COMMIT)\n\n.PHONY: deploy\ndeploy:\n\tforge script DeployBridgeUpdates --rpc-url $(L2_RPC_URL) \\\n\t--account testnet-admin --broadcast -vvvv\n\n.PHONY: gen-validation\ngen-validation: checkout-signer-tool run-script\n\n.PHONY: run-script\nrun-script:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \\\n\t--workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" [] --sender $(SENDER)' --out ../validations/base-signer.json;\n\n# Execute\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(RPC_URL) $(SCRIPT_NAME) \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\"  --broadcast -vvvv\n"
  },
  {
    "path": "sepolia/2025-12-22-update-bridge-alpha-config/README.md",
    "content": "# Update Base Bridge Alpha Validator Config\n\nStatus: [EXECUTED](https://sepolia.etherscan.io/tx/0x7d58cda3ffece3f21a24966f727aa745c07485bbcc83b388945029dbc6214ef5)\n\nDeployment: [EXECUTED](https://sepolia.basescan.org/tx/0x03b7f6fb2777fdd874c22994d28d56cab6c7b4462feebee967219cfd460a4186)\n\n## Description\n\nUpgrades the `Bridge` contract for the testnet alpha deployment of [Base Bridge](https://github.com/base/bridge).\n\n## Install dependencies\n\n### 1. Update foundry\n\n```bash\nfoundryup\n```\n\n### 2. Install Node.js if needed\n\nFirst, check if you have node installed\n\n```bash\nnode --version\n```\n\nIf you do not see a version above or if it is older than v18.18, install\n\n```bash\nbrew install node\n```\n\n## Sign Task\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root).\n\n```bash\nmake sign-task\n```\n\n### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\n### 4. After signing, you can end the signer tool process with Ctrl + C\n"
  },
  {
    "path": "sepolia/2025-12-22-update-bridge-alpha-config/addresses.json",
    "content": "{\n  \"BridgeValidatorProxy\": \"0x14EDFe5b05CF5693336ABb1533a4Df0602A9ad3C\",\n  \"BridgeImpl\": \"0x636b7f211cB373bd8f6dC51AbDfeDe15a49b680f\",\n  \"RelayerOrchestratorProxy\": \"0x3201A59f42Eae46D5DAbd06dfC95a7Ba475bbfaE\"\n}"
  },
  {
    "path": "sepolia/2025-12-22-update-bridge-alpha-config/config.json",
    "content": "{\n  \"initialOwner\": \"0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f\",\n  \"partnerValidators\": \"0x9614938Cb05C923298d3b3d72b127781c084681a\",\n  \"baseValidators\": [\n    \"0x0e9a877906EBc3b7098DA2404412BF0Ed1A5EFb4\",\n    \"0x6D0E9C04BD896608b7e10b87FB686E1Feba85510\"\n  ],\n  \"partnerValidatorThreshold\": 0\n}\n"
  },
  {
    "path": "sepolia/2025-12-22-update-bridge-alpha-config/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.28\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/',\n    '@lib-keccak=lib/lib-keccak/contracts/lib/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "sepolia/2025-12-22-update-bridge-alpha-config/records/DeployBridgeUpdates.s.sol/84532/run-1766435915533.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x03b7f6fb2777fdd874c22994d28d56cab6c7b4462feebee967219cfd460a4186\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"BridgeValidator\",\n      \"contractAddress\": \"0x5641419b61209b1073e66bddfb30130f34f18d6e\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x64567a9147fa89B1edc987e36Eb6f4b6db71656b\",\n        \"0x9614938Cb05C923298d3b3d72b127781c084681a\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x18317c\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c060405234801561000f575f5ffd5b5060405161159238038061159283398101604081905261002e9161015a565b6001600160a01b0382166100555760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811661007c5760405163d92e233d60e01b815260040160405180910390fd5b5f195f557f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af0180546001600160801b0319166001600160801b031790556001600160a01b03828116608052811660a0526100d36100da565b505061018b565b63409feecd19805460018116156100f85763f92ee8a95f526004601cfd5b6001600160401b03808260011c1461013a578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b80516001600160a01b0381168114610155575f5ffd5b919050565b5f5f6040838503121561016b575f5ffd5b6101748361013f565b91506101826020840161013f565b90509250929050565b60805160a0516113d86101ba5f395f81816101eb01526109b501525f818161023701526103c101526113d85ff3fe608060405234801561000f575f5ffd5b50600436106100cf575f3560e01c80637fa920b61161007d578063d69c3d3011610058578063d69c3d30146101dd578063d91879c8146101e6578063ee9a31a214610232575f5ffd5b80637fa920b6146101a05780639bf6a053146101b3578063c92a1099146101bb575f5ffd5b80633ddb0cd4116100ad5780633ddb0cd41461013f5780633df39dfe14610162578063567942cf1461018b575f5ffd5b80631903d397146100d357806324ea54f41461012f5780632b6e5bcf14610137575b5f5ffd5b7f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af015470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff165b6040519081526020015b60405180910390f35b61011c600181565b61011c5f5481565b61015261014d366004610f24565b610259565b6040519015158152602001610126565b61016a6102a7565b6040516fffffffffffffffffffffffffffffffff9091168152602001610126565b61019e610199366004610f46565b6102e7565b005b61019e6101ae366004611027565b6103bf565b61011c600581565b6101526101c93660046110c2565b60026020525f908152604090205460ff1681565b61011c60015481565b61020d7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610126565b61020d7f000000000000000000000000000000000000000000000000000000000000000081565b73ffffffffffffffffffffffffffffffffffffffff81165f9081527f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af00602052604081205460ff165b92915050565b5f6102e27f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af01546fffffffffffffffffffffffffffffffff1690565b905090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156103385760018160011c14303b1061032f5763f92ee8a95f526004601cfd5b818160ff1b1b91505b50610344858585610665565b600582111561037f576040517fe56d58cf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f82905580156103b8576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610428573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061044c91906110d9565b15610483576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825f8190036104be576040517f6074424200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8167ffffffffffffffff8111156104d8576104d86110f8565b604051908082528060200260200182016040528015610501578160200160208202803683370190505b506001549091505f5b83811015610597576105728261051f81611125565b935089898481811061053357610533611181565b905060400201602001358a8a8581811061054f5761054f611181565b9050604002015f0135604080519384526020840192909252908201526060902090565b83828151811061058457610584611181565b602090810291909101015260010161050a565b506105a382868661090f565b5f5b8381101561065957600160025f8584815181106105c4576105c4611181565b602002602001015181526020019081526020015f205f6101000a81548160ff02191690831515021790555087878281811061060157610601611181565b9050604002016020013583828151811061061d5761061d611181565b60200260200101517f5e55930eb861ee57d9b7fa9e506b7f413cb1599c9886e57f1c8091f5fee5fc3360405160405180910390a36001016105a5565b50600155505050505050565b7f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af006fffffffffffffffffffffffffffffffff8216158015906106b957506fffffffffffffffffffffffffffffffff82168310155b6106ef576040517faabd5a0900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b601083111561072a576040517f2c4f399f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b838110156108b7575f85858381811061074757610747611181565b905060200201602081019061075c9190610f24565b73ffffffffffffffffffffffffffffffffffffffff16036107a9576040517f713ce51100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815f8686848181106107bd576107bd611181565b90506020020160208101906107d29190610f24565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040015f205460ff1615610832576040517f0d57d92a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001825f87878581811061084857610848611181565b905060200201602081019061085d9190610f24565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040015f2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905560010161072c565b506fffffffffffffffffffffffffffffffff91821691909216700100000000000000000000000000000000027fffffffffffffffffffffffffffffffff00000000000000000000000000000000161760019091015550565b5f61091b848484610aad565b90506109577f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af01546fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff1661097282610c5e565b10156109aa576040517ff62bc97a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5480156103b8575f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166394cf795e6040518163ffffffff1660e01b81526004015f60405180830381865afa158015610a1b573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610a609190810190611226565b905081610a6d8285610cec565b1015610aa5576040517f593ac4cb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b6060610aba60418361133a565b15610af1576040517f4be6321b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610afd60418461134d565b90505f610b2886604051602001610b149190611360565b604051602081830303815290604052610d8b565b90505f808367ffffffffffffffff811115610b4557610b456110f8565b604051908082528060200260200182016040528015610b6e578160200160208202803683370190505b509050865f5b85811015610c505760216041820283019081013560ff1690803590602001355f610ba089858585610df4565b90508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1611610c07576040517fd02ef0e500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80878681518110610c1a57610c1a611181565b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015296505060019092019150610b749050565b509098975050505050505050565b5f5f5f5b8351811015610ce557610cd1848281518110610c8057610c80611181565b602002602001015173ffffffffffffffffffffffffffffffffffffffff165f9081527f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af00602052604090205460ff1690565b15610cdd576001909101905b600101610c62565b5092915050565b5f5f5f5f5b8451811015610d81575f610d1e87878481518110610d1157610d11611181565b6020026020010151610e39565b905086518103610d2e5750610d79565b6001811b831615610d6b576040517f8044bb3300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600193840193901b91909117905b600101610cf1565b5090949350505050565b5f815160207f19457468657265756d205369676e6564204d6573736167653a0a00000000000081525f5f52815b600182039150600a81066030018253600a900480610db85750603a03602081113d3d3e80515f5117845281810160209190910384012092525090565b5f604051855f5260ff851660205283604052826060526020600160805f60015afa5191503d610e2a57638baa579f5f526004601cfd5b5f606052604052949350505050565b5f5f5b8351811015610ef757838181518110610e5757610e57611181565b60200260200101515f015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610ee35750838181518110610ea857610ea8611181565b60200260200101516020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15610eef5790506102a1565b600101610e3c565b50509051919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610f21575f5ffd5b50565b5f60208284031215610f34575f5ffd5b8135610f3f81610f00565b9392505050565b5f5f5f5f60608587031215610f59575f5ffd5b843567ffffffffffffffff811115610f6f575f5ffd5b8501601f81018713610f7f575f5ffd5b803567ffffffffffffffff811115610f95575f5ffd5b8760208260051b8401011115610fa9575f5ffd5b6020918201955093508501356fffffffffffffffffffffffffffffffff81168114610fd2575f5ffd5b9396929550929360400135925050565b5f5f83601f840112610ff2575f5ffd5b50813567ffffffffffffffff811115611009575f5ffd5b602083019150836020828501011115611020575f5ffd5b9250929050565b5f5f5f5f6040858703121561103a575f5ffd5b843567ffffffffffffffff811115611050575f5ffd5b8501601f81018713611060575f5ffd5b803567ffffffffffffffff811115611076575f5ffd5b8760208260061b840101111561108a575f5ffd5b60209182019550935085013567ffffffffffffffff8111156110aa575f5ffd5b6110b687828801610fe2565b95989497509550505050565b5f602082840312156110d2575f5ffd5b5035919050565b5f602082840312156110e9575f5ffd5b81518015158114610f3f575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361117a577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5060010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6040805190810167ffffffffffffffff811182821017156111d1576111d16110f8565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561121e5761121e6110f8565b604052919050565b5f60208284031215611236575f5ffd5b815167ffffffffffffffff81111561124c575f5ffd5b8201601f8101841361125c575f5ffd5b805167ffffffffffffffff811115611276576112766110f8565b61128560208260051b016111d7565b8082825260208201915060208360061b8501019250868311156112a6575f5ffd5b6020840193505b8284101561130357604084880312156112c4575f5ffd5b6112cc6111ae565b84516112d781610f00565b815260208501516112e781610f00565b80602083015250808352506020820191506040840193506112ad565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f826113485761134861130d565b500690565b5f8261135b5761135b61130d565b500490565b602080825282518282018190525f918401906040840190835b81811015611397578351835260209384019390920191600101611379565b50909594505050505056fea2646970667358221220bf4fa4dbb93fd157f608b647a39624fa6491316fc006621b0b958e92468a6f6364736f6c634300081c003300000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b0000000000000000000000009614938cb05c923298d3b3d72b127781c084681a\",\n        \"nonce\": \"0x5d7\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xb46a8f4eac1f63466a75722371c54d1c08f21b94aa5c7572f6c93b3d26013e4d\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n      \"function\": \"deployAndCall(address,address,bytes)\",\n      \"arguments\": [\n        \"0x5641419B61209B1073E66bDdFB30130f34F18d6E\",\n        \"0x6F0fB066334B67355A15dc9b67317fd2A2E20890\",\n        \"0x567942cf00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000e9a877906ebc3b7098da2404412bf0ed1a5efb40000000000000000000000006d0e9c04bd896608b7e10b87fb686e1feba85510\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"to\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n        \"gas\": \"0x4bb34\",\n        \"value\": \"0x0\",\n        \"input\": \"0x4314f1200000000000000000000000005641419b61209b1073e66bddfb30130f34f18d6e0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c4567942cf00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000e9a877906ebc3b7098da2404412bf0ed1a5efb40000000000000000000000006d0e9c04bd896608b7e10b87fb686e1feba8551000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x5d8\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [\n        {\n          \"transactionType\": \"CREATE\",\n          \"contractName\": null,\n          \"address\": \"0x14edfe5b05cf5693336abb1533a4df0602a9ad3c\",\n          \"initCode\": \"0x60793d8160093d39f33d3d336d6396ff2a80c067f99b3d2ab4df2414605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e604c573d6000fd00000000000000\"\n        }\n      ],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x882fc939ab1afb36f19848da1561ce06ee366a50dc459b17bb64fa9890f52720\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"Bridge\",\n      \"contractAddress\": \"0x636b7f211cb373bd8f6dc51abdfede15a49b680f\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x5270f413294ec2409da350d920dc5d0e691b65fb868577de3a359b79bee6b4ac\",\n        \"0x013d06E4cf47229D973Cb3C4e23Ff8D336CE5FF6\",\n        \"0xa51473BC986c95a5E1a7F9A9991e3f2f263842bE\",\n        \"0x14EDFe5b05CF5693336ABb1533a4Df0602A9ad3C\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x537b92\",\n        \"value\": \"0x0\",\n        \"input\": \"0x610100604052348015610010575f5ffd5b50604051614ce6380380614ce683398101604081905261002f91610153565b6001600160a01b0383166100565760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03821661007d5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0381166100a45760405163d92e233d60e01b815260040160405180910390fd5b60808490526001600160a01b0380841660a05282811660c052811660e0526100ca6100d3565b5050505061019d565b63409feecd19805460018116156100f15763f92ee8a95f526004601cfd5b6001600160401b03808260011c14610133578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b80516001600160a01b038116811461014e575f5ffd5b919050565b5f5f5f5f60808587031215610166575f5ffd5b8451935061017660208601610138565b925061018460408601610138565b915061019260608601610138565b905092959194509250565b60805160a05160c05160e051614ae56102015f395f81816105ae0152611f1001525f81816104830152818161099c01528181610dcb0152610fb101525f81816106a601528181610e2001526111a701525f81816105e10152610d070152614ae55ff3fe608060405260043610610229575f3560e01c806370b43d4511610131578063bd4598be116100ac578063f1d31a751161007c578063f3aa14e911610062578063f3aa14e91461071c578063fb25e6051461073b578063fee81cf4146107a8575f5ffd5b8063f1d31a75146106db578063f2fde38b14610709575f5ffd5b8063bd4598be1461062f578063bd7084b21461064e578063d227c30b14610695578063f04e283e146106c8575f5ffd5b8063946d920411610101578063a11cbfd2116100e7578063a11cbfd21461059d578063afb1f778146105d0578063b1d4dc0d14610603575f5ffd5b8063946d92041461055f5780639cd8d3251461057e575f5ffd5b806370b43d45146104d7578063715018a614610505578063770ae03d1461050d5780638da5cb5b1461052c575f5ffd5b80632de94807116101c15780635c975abb116101915780636249a05e116101775780636249a05e146104725780636736eb17146104a55780636c12f6c8146104b8575f5ffd5b80635c975abb146104265780635ca1e1651461043f575f5ffd5b80632de94807146103a55780634a4ee7b1146103d6578063514e62fc146103e957806354d1f13d1461041e575f5ffd5b80631cd64df4116101fc5780631cd64df4146102df5780632260a9c21461030e57806324ea54f414610389578063256929621461039d575f5ffd5b806316c38b3c1461022d578063183a4f6e1461024e578063189bc6ad146102615780631c10893f146102cc575b5f5ffd5b348015610238575f5ffd5b5061024c610247366004613a29565b6107d9565b005b61024c61025c366004613a44565b61084a565b34801561026c575f5ffd5b506102a261027b366004613a44565b60026020525f908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61024c6102da366004613a7c565b610857565b3480156102ea575f5ffd5b506102fe6102f9366004613a7c565b61086d565b60405190151581526020016102c3565b348015610319575f5ffd5b5061037b610328366004613a7c565b73ffffffffffffffffffffffffffffffffffffffff919091165f9081527f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db1414830060209081526040808320938352929052205490565b6040519081526020016102c3565b348015610394575f5ffd5b5061037b600181565b61024c61088b565b3480156103b0575f5ffd5b5061037b6103bf366004613aa6565b638b78c6d8600c9081525f91909152602090205490565b61024c6103e4366004613a7c565b6108d8565b3480156103f4575f5ffd5b506102fe610403366004613a7c565b638b78c6d8600c9081525f9290925260209091205416151590565b61024c6108ea565b348015610431575f5ffd5b506003546102fe9060ff1681565b34801561044a575f5ffd5b507f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361015461037b565b34801561047d575f5ffd5b506102a27f000000000000000000000000000000000000000000000000000000000000000081565b61024c6104b3366004613c3f565b610923565b3480156104c3575f5ffd5b5061037b6104d2366004613c8f565b610a69565b3480156104e2575f5ffd5b506102fe6104f1366004613a44565b60016020525f908152604090205460ff1681565b61024c610a73565b348015610518575f5ffd5b5061024c610527366004613cc6565b610a86565b348015610537575f5ffd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546102a2565b34801561056a575f5ffd5b5061024c610579366004613d05565b610b62565b348015610589575f5ffd5b5061024c610598366004613c8f565b610cfd565b3480156105a8575f5ffd5b506102a27f000000000000000000000000000000000000000000000000000000000000000081565b3480156105db575f5ffd5b5061037b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561060e575f5ffd5b5061062261061d366004613d3d565b61105a565b6040516102c39190613d56565b34801561063a575f5ffd5b5061024c610649366004613cc6565b611065565b348015610659575f5ffd5b507f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361005460405167ffffffffffffffff90911681526020016102c3565b3480156106a0575f5ffd5b506102a27f000000000000000000000000000000000000000000000000000000000000000081565b61024c6106d6366004613aa6565b611141565b3480156106e6575f5ffd5b506102fe6106f5366004613a44565b5f6020819052908152604090205460ff1681565b61024c610717366004613aa6565b61117b565b348015610727575f5ffd5b506102a2610736366004613a44565b6111a1565b348015610746575f5ffd5b5061037b610755366004613a7c565b73ffffffffffffffffffffffffffffffffffffffff919091165f9081527f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db1414830160209081526040808320938352929052205490565b3480156107b3575f5ffd5b5061037b6107c2366004613aa6565b63389a75e1600c9081525f91909152602090205490565b60016107e4816111cd565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168315159081179091556040519081527f444c79de75518689625f69d421a54d335ae43dda0df443aa8d23bef31e44af7e9060200160405180910390a15050565b61085433826111f1565b50565b61085f6111fc565b6108698282611231565b5050565b638b78c6d8600c9081525f8390526020902054811681145b92915050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f5fa250565b6108e06111fc565b61086982826111f1565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f5fa2565b688000000000ab143c065c156109405763ab143c065f526004601cfd5b30688000000000ab143c065d60035460ff1615610989576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181610995828261123d565b5f6109c0867f00000000000000000000000000000000000000000000000000000000000000006115a9565b90505f6109d787836109d2888a613e45565b611b7d565b905061177061ffff1681511115610a1a576040517f69eae45700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a243382611d26565b50505050610a2f5f90565b15610a5857688000000000ab143c0646600103610a4e575f815d610a52565b8081555b50505050565b5f688000000000ab143c065d505050565b5f61088582611e27565b610a7b6111fc565b610a845f611e55565b565b688000000000ab143c065c15610aa35763ab143c065f526004601cfd5b30688000000000ab143c065d60035460ff1615610aec576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b81811015610b2a57610b22838383818110610b0b57610b0b613f8c565b9050602002810190610b1d9190613fb9565b611eba565b600101610aee565b505f5b15610b5257688000000000ab143c0646600103610b4c575f815d505050565b80555050565b5f688000000000ab143c065d5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011328054600382558015610bb35760018160011c14303b10610baa5763f92ee8a95f526004601cfd5b818160ff1b1b91505b5073ffffffffffffffffffffffffffffffffffffffff8416610c01576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c0a8461210c565b5f5b82811015610cc2575f848483818110610c2757610c27613f8c565b9050602002016020810190610c3c9190613aa6565b73ffffffffffffffffffffffffffffffffffffffff1603610c89576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cba848483818110610c9e57610c9e613f8c565b9050602002016020810190610cb39190613aa6565b6001611231565b600101610c0c565b508015610a52576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a150505050565b610d0561216f565b7f0000000000000000000000000000000000000000000000000000000000000000604082013503610d80575f610d3e60a0830183613ff5565b810190610d4b91906140eb565b90505f5f5f8360600151806020019051810190610d68919061411d565b925092509250610d798383836121a8565b5050505050565b6001610d9260a083016080840161419d565b6002811115610da357610da3614162565b03610def575f610db660a0830183613ff5565b810190610dc391906141b6565b9050610869817f0000000000000000000000000000000000000000000000000000000000000000612210565b6040808201355f9081526002602052205473ffffffffffffffffffffffffffffffffffffffff1680610e9a57610e497f0000000000000000000000000000000000000000000000000000000000000000836040013561269d565b6040838101355f90815260026020522080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617905590505b5f610eab60a084016080850161419d565b6002811115610ebc57610ebc614162565b03610f63575f610ecf60a0840184613ff5565b810190610edc91906140eb565b6040517f60ed1d2800000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff8316906360ed1d2890610f3190849060040161421c565b5f604051808303815f87803b158015610f48575f5ffd5b505af1158015610f5a573d5f5f3e3d5ffd5b50505050505050565b6002610f7560a084016080850161419d565b6002811115610f8657610f86614162565b03610869575f80610f9a60a0850185613ff5565b810190610fa7919061428e565b91509150610fd5827f0000000000000000000000000000000000000000000000000000000000000000612210565b6040517f60ed1d2800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906360ed1d289061102790849060040161421c565b5f604051808303815f87803b15801561103e575f5ffd5b505af1158015611050573d5f5f3e3d5ffd5b5050505050505050565b6060610885826126b0565b688000000000ab143c065c156110825763ab143c065f526004601cfd5b30688000000000ab143c065d60035460ff16156110cb576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81816110d7828261123d565b5f6110ea6110e58587613e45565b6129ca565b905061177061ffff168151111561112d576040517f69eae45700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111373382611d26565b505050610b2d5f90565b6111496111fc565b63389a75e1600c52805f526020600c20805442111561116f57636f5e88185f526004601cfd5b5f905561085481611e55565b6111836111fc565b8060601b61119857637448fbae5f526004601cfd5b61085481611e55565b5f6108857f000000000000000000000000000000000000000000000000000000000000000083306129fd565b638b78c6d8600c52335f52806020600c205416610854576382b429005f526004601cfd5b61086982825f612ac0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610a84576382b429005f526004601cfd5b61086982826001612ac0565b806040811115611279576040517f3c46992e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051603a80825261076082019092525f916020820161074080368337505060408051600c8082526101a082019092529293505f928392509060208201610180803683370190505090505f5f5b8581101561105057603a8888838181106112e3576112e3613f8c565b90506020028101906112f591906142da565b61130390602081019061430c565b9050111561133d576040517f9ed3ecbb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b88888381811061135157611351613f8c565b905060200281019061136391906142da565b61137190602081019061430c565b90508110156115a057365f8a8a8581811061138e5761138e613f8c565b90506020028101906113a091906142da565b6113ae90602081019061430c565b848181106113be576113be613f8c565b90506020028101906113d09190613ff5565b90925090506022811461140f576040517f74149ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81355f805b8981101561144d57828b828151811061142f5761142f613f8c565b602002602001015103611445576001915061144d565b600101611414565b50806114b257603a891061148d576040517f9ed3ecbb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818a8a815181106114a0576114a0613f8c565b60209081029190910101526001909801975b5f84846114c16001602261439d565b60ff168181106114d3576114d3613f8c565b9091013560f81c60011491508190506114f0575050505050611598565b5f5f5b8981101561152c57848b828151811061150e5761150e613f8c565b602002602001015103611524576001915061152c565b6001016114f3565b508061159157600c891061156c576040517f87e497e500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b838a8a8151811061157f5761157f613f8c565b60209081029190910101526001909801975b5050505050505b60010161133f565b506001016112c7565b5f5f836060015167ffffffffffffffff16116115f1576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82517f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db14148300905f9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff11111111111111111111111111111111111111120161173657845173ffffffffffffffffffffffffffffffffffffffff165f9081526001830160209081526040808320828901518452909152812054908190036116c3576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80866060015167ffffffffffffffff166116dd91906143b6565b9150813414611718576040517f1841b4e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61172c83875f015188602001518486612b17565b6002935050611b0d565b341561176e576040517f1841b4e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84516040517f34476ab100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152908516906334476ab190602401602060405180830381865afa1580156117db573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ff91906143cd565b1561199a575f855f015173ffffffffffffffffffffffffffffffffffffffff1663d6c0b2c46040518163ffffffff1660e01b8152600401602060405180830381865afa158015611851573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061187591906143e8565b6020870151909150158061188c5750602086015181145b6118c2576040517fa5269ce000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208601819052606086015186516040517f9dc29fac00000000000000000000000000000000000000000000000000000000815233600482015267ffffffffffffffff90921660248301819052935073ffffffffffffffffffffffffffffffffffffffff1690639dc29fac906044015f604051808303815f87803b158015611948575f5ffd5b505af115801561195a573d5f5f3e3d5ffd5b5050505060208601517f069be72ab836d4eacc02525b7350a78a395da2f1253a40ebafd663000000000014611990576001611992565b5f5b935050611b0d565b845173ffffffffffffffffffffffffffffffffffffffff165f908152600183016020908152604080832082890151845290915281205490819003611a0a576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81876060015167ffffffffffffffff16611a2591906143b6565b90505f611a35885f015130612bd2565b9050611a46885f0151333085612c05565b5f611a54895f015130612bd2565b90505f611a6183836143ff565b90505f611a6e8683614412565b90505f8111611aa9576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611ab386826143b6565b96505f611ac088846143ff565b90508015611ad5578b51611ad5903383612c67565b611ade82612cba565b67ffffffffffffffff1660608d01528b5160208d0151611b01918b918a8c612b17565b60029950505050505050505b8451602080870151604080890151815173ffffffffffffffffffffffffffffffffffffffff909516855292840191909152820152606081018290527ff1109ae3af61805fa998753209b2a90166bfc4b38ad8a6b5a268591ce18f99c09060800160405180910390a1505092915050565b604080517f010000000000000000000000000000000000000000000000000000000000000060208201528151600181830301815260219091019091526060905f846002811115611bcf57611bcf614162565b03611c1b57805f8660400151611bf2886060015167ffffffffffffffff16612cd7565b604051602001611c059493929190614461565b6040516020818303038152906040529050611cd4565b6001846002811115611c2f57611c2f614162565b03611c7157806001865f015187602001518860400151611c5c8a6060015167ffffffffffffffff16612cd7565b604051602001611c05969594939291906144d2565b6002846002811115611c8557611c85614162565b03611cd45780600286602001518760400151611cae896060015167ffffffffffffffff16612cd7565b604051602001611cc2959493929190614575565b60405160208183030381529060405290505b80611cde84612d45565b604051602001611cef9291906145eb565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815291905295945050505050565b604080516060810182527f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100805467ffffffffffffffff16825273ffffffffffffffffffffffffffffffffffffffff851660208301529181018390525f611d8b82612e1c565b83549091505f90611da790839067ffffffffffffffff16612e5a565b845467ffffffffffffffff808216600101167fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909116178555604051909150819083907f877352bc1cb00627bdb5bf16a3664cfe784f66bb3c1bfef68bf5b4ae34e6659990611e179087906145ff565b60405180910390a3505050505050565b5f610885611e3b6040840160208501613d3d565b67ffffffffffffffff168335611e5085612f13565b612f49565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f611ec482610a69565b5f8181526020819052604090205490915060ff1615611ee1575050565b6040517fc92a1099000000000000000000000000000000000000000000000000000000008152600481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063c92a109990602401602060405180830381865afa158015611f6a573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f8e91906143cd565b611fc4576040517f6eca2e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b30639cd8d325611fda6080850160608601613d3d565b67ffffffffffffffff16846040518363ffffffff1660e01b815260040161200191906146a8565b5f604051808303815f88803b158015612018575f5ffd5b5087f19350505050801561202a575060015b612095575f81815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690921790915551829133917f1dc47a66003d9a2334f04c3d23d98f174d7e65e9a4a72fa13277a15120c1559e9190a35050565b5f81815260016020818152604080842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00908116909155918490528084208054909216909217905551829133917f68bfb2e57fcbb47277da442d81d3e40ff118cbbcaf345b07997b35f592359e499190a35050565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b333014610a84576040517fad5db22700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db141483006121d482600a6148a7565b73ffffffffffffffffffffffffffffffffffffffff9094165f908152600190910160209081526040808320948352939052919091209190915550565b604082015182517f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db141483009160601c905f9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff11111111111111111111111111111111111111120161236157845173ffffffffffffffffffffffffffffffffffffffff165f9081526001840160209081526040808320828901518452909152812054908190036122eb576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80866060015167ffffffffffffffff1661230591906143b6565b865173ffffffffffffffffffffffffffffffffffffffff165f90815260208681526040808320828b0151845290915281208054929450849290919061234b9084906143ff565b9091555061235b90508383612f6c565b5061262f565b84516040517f34476ab100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152908516906334476ab190602401602060405180830381865afa1580156123ce573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123f291906143cd565b1561254b575f855f015173ffffffffffffffffffffffffffffffffffffffff1663d6c0b2c46040518163ffffffff1660e01b8152600401602060405180830381865afa158015612444573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061246891906143e8565b90506124778187602001511490565b6124ad576040517fa5269ce000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606086015186516040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015267ffffffffffffffff9093166024820181905294509116906340c10f19906044015f604051808303815f87803b15801561252f575f5ffd5b505af1158015612541573d5f5f3e3d5ffd5b505050505061262f565b845173ffffffffffffffffffffffffffffffffffffffff165f9081526001840160209081526040808320828901518452909152812054908190036125bb576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80866060015167ffffffffffffffff166125d591906143b6565b865173ffffffffffffffffffffffffffffffffffffffff165f90815260208681526040808320828b0151845290915281208054929450849290919061261b9084906143ff565b9091555050855161262d908484612c67565b505b84516020808701516040805173ffffffffffffffffffffffffffffffffffffffff948516815292830191909152918416818301526060810183905290517f6899b9db6ebabd932aa1fc835134c9b9ca2168d78a4cbee8854b1c00c86476099181900360800190a15050505050565b5f6126a95f8484612f85565b9392505050565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db13610080546060919067ffffffffffffffff165f03612719576040517fd4e9c9cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805467ffffffffffffffff90811690841610612761576040517f41a2330800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f5f5f61276e87613050565b93509350935093505f8367ffffffffffffffff81111561279057612790613ac1565b6040519080825280602002602001820160405280156127b9578160200160208202803683370190505b509050845f5b858110156128bb57600167ffffffffffffffff8616821c8116145f80821561280e576127ec8560016148b5565b90506127f98460016148b5565b612807906001901b826143ff565b9150612837565b6128198460016148b5565b612827906001901b866148b5565b90506128346001826143ff565b91505b60028b01548210612874576040517f44a5e33500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8a600201828154811061288957612889613f8c565b905f5260205f2001548685815181106128a4576128a4613f8c565b6020908102919091010152935050506001016127bf565b50825182516128ca91906148b5565b67ffffffffffffffff8111156128e2576128e2613ac1565b60405190808252806020026020018201604052801561290b578160200160208202803683370190505b5097505f805b83518110156129655783818151811061292c5761292c613f8c565b60200260200101518a8380612940906148c8565b94508151811061295257612952613f8c565b6020908102919091010152600101612911565b505f5b84518110156129bc5784818151811061298357612983613f8c565b60200260200101518a8380612997906148c8565b9450815181106129a9576129a9613f8c565b6020908102919091010152600101612968565b505050505050505050919050565b60605f6129d683612d45565b6040516020016129e79291906148ff565b6040516020818303038152906040529050919050565b604080517fb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f360609081527f1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c83527660195155f3363d3d373d3d363d602036600436635c60da60205273ffffffffffffffffffffffffffffffffffffffff86167c60523d8160223d39730000000000000000000000000000000000000000176009526074600c20919092525f91829052612ab7818585613077565b95945050505050565b638b78c6d8600c52825f526020600c20805483811783612ae1575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f5fa3505050505050565b73ffffffffffffffffffffffffffffffffffffffff84165f90815260208681526040808320868452909152812054612b509083906148b5565b905067ffffffffffffffff612b658483614412565b1115612b9d576040517f1fef0fad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff9094165f9081526020958652604080822094825293909552505090912055565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f511416612c5957803d873b151710612c5957637939f4245f526004601cfd5b505f60605260405250505050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f511416612cb057803d853b151710612cb0576390b8ec185f526004601cfd5b505f603452505050565b5f680100000000000000008210612cd357612cd3613096565b5090565b5f60c0821519811c70010000000000000000000000000000000102602081811b8218601081811b8218600881811b8218808a16821b918a901c1617808216831b921c1617808216831b921c1617808216604090811b91901c90911617608081811b91901c175b901c92915050565b60605f612d5283516130a3565b604051602001612d8d919060e09190911b7fffffffff0000000000000000000000000000000000000000000000000000000016815260040190565b60405160208183030381529060405290505f5b8351811015612e155781612dcc858381518110612dbf57612dbf613f8c565b602002602001015161310e565b604051602001612ddd9291906145eb565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529150600101612da0565b5092915050565b5f815f015182602001518360400151604051602001612e3d93929190614935565b604051602081830303815290604052805190602001209050919050565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361028054600180820183555f8381527fff5d2acbda7763eef60e554187d5d0d790e60252d450c5d42ea73fe91ad1fd9c909201859055915490917f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100918391612ee0916143ff565b9050612eec8185613254565b5f612f00612efb866001614996565b613329565b6001909301839055509091505092915050565b5f6040820135612f2960a084016080850161419d565b612f3660a0850185613ff5565b604051602001612e3d94939291906149b6565b6040805184815260208101849052908101829052606090205f905b949350505050565b5f385f3884865af16108695763b12d13eb5f526004601cfd5b604080517fb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f36060527f1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c9091527660195155f3363d3d373d3d363d602036600436635c60da6020527c60523d8160223d3973000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8416176009525f90826074600c87f59150816130425763301164255f526004601cfd5b6040525f6060529392505050565b5f5f5f606061305e856133f0565b9195509350915061306e8561357a565b90509193509193565b5f60ff5f5350603592835260601b60015260155260555f908120915290565b6335278d125f526004601cfd5b5f60e082151960c01c70010000000000000000000000000000000102602081811b8218601081811b8218600881811b8218808a16821b918a901c1617808216831b921c1617808216831b921c1617808216604090811b91901c90911617608081811b91901c17612d3d565b60605f825f015160405160200161312791815260200190565b6040516020818303038152906040529050806131478460200151516130a3565b6040516020016131589291906149e6565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290505f5b8360200151518110156131ff5781846020015182815181106131ae576131ae613f8c565b60200260200101516040516020016131c79291906145eb565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052915060010161318a565b508061320e846040015161370d565b60405160200161321f9291906145eb565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529392505050565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100825f5b600167ffffffffffffffff8516821c811603610d79575f613299838361372b565b90505f8460020182815481106132b1576132b1613f8c565b905f5260205f20015490505f8560020185815481106132d2576132d2613f8c565b905f5260205f20015490505f6132e88383613742565b600288018054600181810183555f838152602090209091018390559054919250613311916143ff565b95508461331d816148c8565b95505050505050613278565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136102545f907f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361009080830361337f57505f9392505050565b5f61338985613770565b905080515f0361339d57505f949350505050565b80516001036133e75782600201815f815181106133bc576133bc613f8c565b6020026020010151815481106133d4576133d4613f8c565b905f5260205f2001549350505050919050565b612ab78161386d565b5f8080807f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db13610080549091505f90819081906134339067ffffffffffffffff16613931565b90505f6134418260016148b5565b90505b8015613540575f6134566001836143ff565b865490915067ffffffffffffffff16811c6001908116900361352d576001811b67ffffffffffffffff808616908c16108015906134af57506134988186614996565b67ffffffffffffffff168b67ffffffffffffffff16105b1561350a575f6134bf868d614a25565b90505f6134cb82613994565b6134e067ffffffffffffffff841660026143b6565b6134ea91906143ff565b90506134f681896148b5565b9b5092995097506135739650505050505050565b613513826139cc565b61351d90876148b5565b95506135298186614996565b9450505b508061353881614a45565b915050613444565b506040517f8e429c5200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9193909250565b60408051818152610820810182526060917f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100915f916020820161080080368337505083549192505f91829150819081906135dd9067ffffffffffffffff16613931565b90505f6135eb8260016148b5565b90505b80156136ff575f6136006001836143ff565b885490915067ffffffffffffffff16811c600190811690036136ec576001811b5f67ffffffffffffffff808716908d161080159061365a57506136438287614996565b67ffffffffffffffff168c67ffffffffffffffff16105b90505f613666846139cc565b9050816136d0575f600161367a838b6148b5565b61368491906143ff565b90508b600201818154811061369b5761369b613f8c565b905f5260205f2001548b8b806136b0906148c8565b9c50815181106136c2576136c2613f8c565b602002602001018181525050505b6136da81896148b5565b97506136e68388614996565b96505050505b50806136f781614a45565b9150506135ee565b505050908252509392505050565b606061371982516130a3565b826040516020016129e7929190614a79565b5f5f613736836139cc565b9050612f6481856143ff565b5f8183101561375e57505f828152602082905260409020610885565b5f8281526020849052604090206126a9565b60608167ffffffffffffffff165f0361379857604080515f8082526020820190925290612e15565b60408051818152610820810182525f9160208201610800803683370190505090505f80806137c586613931565b90505f6137d38260016148b5565b90505b8015613862575f6137e86001836143ff565b9050600167ffffffffffffffff8916821c81160361384f575f61380b85836139e7565b90508087878151811061382057613820613f8c565b602090810291909101015285613835816148c8565b965050613841826139cc565b61384b90866148b5565b9450505b508061385a81614a45565b9150506137d6565b505050815292915050565b5f807f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db13610090505f81600201845f815181106138a9576138a9613f8c565b6020026020010151815481106138c1576138c1613f8c565b5f91825260209091200154905060015b8451811015613929575f836002018683815181106138f1576138f1613f8c565b60200260200101518154811061390957613909613f8c565b905f5260205f200154905061391e8382613a0a565b9250506001016138d1565b509392505050565b5f8167ffffffffffffffff165f0361394a57505f919050565b5f825b67ffffffffffffffff81161561397c5781613967816148c8565b92505060011c677fffffffffffffff1661394d565b5f8211613989575f612f64565b612f646001836143ff565b5f805b67ffffffffffffffff831615610885576139b460018416826148b5565b905060018367ffffffffffffffff16901c9250613997565b5f60016139d983826148b5565b6001901b61088591906143ff565b5f5f6139f2836139cc565b90506001613a0082866148b5565b612f6491906143ff565b5f8281526020829052604081206126a9565b8015158114610854575f5ffd5b5f60208284031215613a39575f5ffd5b81356126a981613a1c565b5f60208284031215613a54575f5ffd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610854575f5ffd5b5f5f60408385031215613a8d575f5ffd5b8235613a9881613a5b565b946020939093013593505050565b5f60208284031215613ab6575f5ffd5b81356126a981613a5b565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff81118282101715613b1157613b11613ac1565b60405290565b6040516060810167ffffffffffffffff81118282101715613b1157613b11613ac1565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613b8157613b81613ac1565b604052919050565b803567ffffffffffffffff81168114613ba0575f5ffd5b919050565b5f60808284031215613bb5575f5ffd5b613bbd613aee565b90508135613bca81613a5b565b81526020828101359082015260408083013590820152613bec60608301613b89565b606082015292915050565b5f5f83601f840112613c07575f5ffd5b50813567ffffffffffffffff811115613c1e575f5ffd5b6020830191508360208260051b8501011115613c38575f5ffd5b9250929050565b5f5f5f60a08486031215613c51575f5ffd5b613c5b8585613ba5565b9250608084013567ffffffffffffffff811115613c76575f5ffd5b613c8286828701613bf7565b9497909650939450505050565b5f60208284031215613c9f575f5ffd5b813567ffffffffffffffff811115613cb5575f5ffd5b820160c081850312156126a9575f5ffd5b5f5f60208385031215613cd7575f5ffd5b823567ffffffffffffffff811115613ced575f5ffd5b613cf985828601613bf7565b90969095509350505050565b5f5f5f60408486031215613d17575f5ffd5b8335613d2281613a5b565b9250602084013567ffffffffffffffff811115613c76575f5ffd5b5f60208284031215613d4d575f5ffd5b6126a982613b89565b602080825282518282018190525f918401906040840190835b81811015613d8d578351835260209384019390920191600101613d6f565b509095945050505050565b5f67ffffffffffffffff821115613db157613db1613ac1565b5060051b60200190565b5f82601f830112613dca575f5ffd5b813567ffffffffffffffff811115613de457613de4613ac1565b613e1560207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601613b3a565b818152846020838601011115613e29575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f613e57613e5284613d98565b613b3a565b8381526020810190600585901b840136811115613e72575f5ffd5b845b81811015613d8d57803567ffffffffffffffff811115613e92575f5ffd5b86016060368290031215613ea4575f5ffd5b613eac613b17565b81358152602082013567ffffffffffffffff811115613ec9575f5ffd5b820136601f820112613ed9575f5ffd5b8035613ee7613e5282613d98565b8082825260208201915060208360051b850101925036831115613f08575f5ffd5b602084015b83811015613f4957803567ffffffffffffffff811115613f2b575f5ffd5b613f3a36602083890101613dbb565b84525060209283019201613f0d565b506020850152505050604082013567ffffffffffffffff811115613f6b575f5ffd5b613f7736828501613dbb565b60408301525085525060209384019301613e74565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff41833603018112613feb575f5ffd5b9190910192915050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614028575f5ffd5b83018035915067ffffffffffffffff821115614042575f5ffd5b602001915036819003821315613c38575f5ffd5b5f60808284031215614066575f5ffd5b61406e613aee565b905081356004811061407e575f5ffd5b8152602082013561408e81613a5b565b602082015260408201356fffffffffffffffffffffffffffffffff811681146140b5575f5ffd5b6040820152606082013567ffffffffffffffff8111156140d3575f5ffd5b6140df84828501613dbb565b60608301525092915050565b5f602082840312156140fb575f5ffd5b813567ffffffffffffffff811115614111575f5ffd5b612f6484828501614056565b5f5f5f6060848603121561412f575f5ffd5b835161413a81613a5b565b60208501516040860151919450925060ff81168114614157575f5ffd5b809150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b803560038110613ba0575f5ffd5b5f602082840312156141ad575f5ffd5b6126a98261418f565b5f608082840312156141c6575f5ffd5b6126a98383613ba5565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f82516004811061423357614233614162565b8060208401525073ffffffffffffffffffffffffffffffffffffffff60208401511660408301526fffffffffffffffffffffffffffffffff60408401511660608301526060830151608080840152612f6460a08401826141d0565b5f5f60a0838503121561429f575f5ffd5b6142a98484613ba5565b9150608083013567ffffffffffffffff8111156142c4575f5ffd5b6142d085828601614056565b9150509250929050565b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112613feb575f5ffd5b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261433f575f5ffd5b83018035915067ffffffffffffffff821115614359575f5ffd5b6020019150600581901b3603821315613c38575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b60ff828116828216039081111561088557610885614370565b808202811582820484141761088557610885614370565b5f602082840312156143dd575f5ffd5b81516126a981613a1c565b5f602082840312156143f8575f5ffd5b5051919050565b8181038181111561088557610885614370565b5f82614445577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b5f81518060208401855e5f93019283525090919050565b5f61446c828761444a565b60f89590951b7fff000000000000000000000000000000000000000000000000000000000000001685525050600183019190915260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166021820152602901919050565b5f6144dd828961444a565b60f89790971b7fff00000000000000000000000000000000000000000000000000000000000000168752505060609390931b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660018501526015840191909152603583015260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166055820152605d01919050565b5f614580828861444a565b60f89690961b7fff0000000000000000000000000000000000000000000000000000000000000016865250506001840192909252602183015260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166041820152604901919050565b5f612f646145f9838661444a565b8461444a565b6020815267ffffffffffffffff825116602082015273ffffffffffffffffffffffffffffffffffffffff60208301511660408201525f6040830151606080840152612f6460808401826141d0565b6003811061465d5761465d614162565b9052565b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208082528235828201525f9067ffffffffffffffff906146ca908501613b89565b1660408301525f604084013590508060608401525067ffffffffffffffff6146f460608501613b89565b1660808301526147066080840161418f565b61471360a084018261464d565b5060a08301357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614748575f5ffd5b830160208101903567ffffffffffffffff811115614764575f5ffd5b803603821315614772575f5ffd5b60c080850152612ab760e085018284614661565b6001815b60018411156147c1578085048111156147a5576147a5614370565b60018416156147b357908102905b60019390931c92800261478a565b935093915050565b5f826147d757506001610885565b816147e357505f610885565b81600181146147f957600281146148035761481f565b6001915050610885565b60ff84111561481457614814614370565b50506001821b610885565b5060208310610133831016604e8410600b8410161715614842575081810a610885565b61486d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484614786565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561489f5761489f614370565b029392505050565b5f6126a960ff8416836147c9565b8082018082111561088557610885614370565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036148f8576148f8614370565b5060010190565b7fff000000000000000000000000000000000000000000000000000000000000008360f81b1681525f612f64600183018461444a565b7fffffffffffffffff0000000000000000000000000000000000000000000000008460c01b1681527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b1660088201525f612ab7601c83018461444a565b67ffffffffffffffff818116838216019081111561088557610885614370565b8481526149c6602082018561464d565b606060408201525f6149dc606083018486614661565b9695505050505050565b5f6149f1828561444a565b60e09390931b7fffffffff000000000000000000000000000000000000000000000000000000001683525050600401919050565b67ffffffffffffffff828116828216039081111561088557610885614370565b5f81614a5357614a53614370565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b7fffffffff000000000000000000000000000000000000000000000000000000008360e01b1681525f612f64600483018461444a56fea264697066735822122046572474ebf0a83df0be427ce1a85dbd05cc0dda56e2bc52d6d1f0cc90c338ea64736f6c634300081c00335270f413294ec2409da350d920dc5d0e691b65fb868577de3a359b79bee6b4ac000000000000000000000000013d06e4cf47229d973cb3c4e23ff8d336ce5ff6000000000000000000000000a51473bc986c95a5e1a7f9a9991e3f2f263842be00000000000000000000000014edfe5b05cf5693336abb1533a4df0602a9ad3c\",\n        \"nonce\": \"0x5d9\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x3f1b5dd0a8f8879950985202d2cacdfa5c9b352577f4cf53667999c631d4f0b1\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"RelayerOrchestrator\",\n      \"contractAddress\": \"0xefbcb6974a3f2f9c10a30bcb04016c83de39f707\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x64567a9147fa89B1edc987e36Eb6f4b6db71656b\",\n        \"0x14EDFe5b05CF5693336ABb1533a4Df0602A9ad3C\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x7af17\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c060405234801561000f575f5ffd5b5060405161070838038061070883398101604081905261002e916100ae565b6001600160a01b0382166100555760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811661007c5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039182166080521660a0526100df565b80516001600160a01b03811681146100a9575f5ffd5b919050565b5f5f604083850312156100bf575f5ffd5b6100c883610093565b91506100d660208401610093565b90509250929050565b60805160a0516105fc61010c5f395f8181605d015261011201525f818160ad01526101be01526105fc5ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c80636cd7827d14610043578063a11cbfd214610058578063ee9a31a2146100a8575b5f5ffd5b6100566100513660046102b1565b6100cf565b005b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b841561017b576040517f7fa920b600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637fa920b69061014d9089908990879087906004016103c6565b5f604051808303815f87803b158015610164575f5ffd5b505af1158015610176573d5f5f3e3d5ffd5b505050505b8215610223576040517f770ae03d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063770ae03d906101f5908790879060040161049c565b5f604051808303815f87803b15801561020c575f5ffd5b505af115801561021e573d5f5f3e3d5ffd5b505050505b505050505050565b5f5f83601f84011261023b575f5ffd5b50813567ffffffffffffffff811115610252575f5ffd5b6020830191508360208260051b850101111561026c575f5ffd5b9250929050565b5f5f83601f840112610283575f5ffd5b50813567ffffffffffffffff81111561029a575f5ffd5b60208301915083602082850101111561026c575f5ffd5b5f5f5f5f5f5f606087890312156102c6575f5ffd5b863567ffffffffffffffff8111156102dc575f5ffd5b8701601f810189136102ec575f5ffd5b803567ffffffffffffffff811115610302575f5ffd5b8960208260061b8401011115610316575f5ffd5b60209182019750955087013567ffffffffffffffff811115610336575f5ffd5b61034289828a0161022b565b909550935050604087013567ffffffffffffffff811115610361575f5ffd5b61036d89828a01610273565b979a9699509497509295939492505050565b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b604080825281018490525f8560608301825b87811015610400578235825260208084013590830152604092830192909101906001016103d8565b50838103602085015261041481868861037f565b98975050505050505050565b803567ffffffffffffffff81168114610437575f5ffd5b919050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261046f575f5ffd5b830160208101925035905067ffffffffffffffff81111561048e575f5ffd5b80360382131561026c575f5ffd5b602080825281018290525f6040600584901b8301810190830185837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4136839003015b878210156105b9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452823581811261051a575f5ffd5b89018035865267ffffffffffffffff61053560208301610420565b1660208701526040818101359087015267ffffffffffffffff61055a60608301610420565b166060870152608081013560038110158015610574575f5ffd5b50608087015261058760a082018261043c565b915060c060a088015261059e60c08801838361037f565b965050506020830192506020840193506001820191506104de565b509297965050505050505056fea264697066735822122029dfe9bc30ff39de68b93210be473e3f4951f47712550973acb9607e7b72c34264736f6c634300081c003300000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b00000000000000000000000014edfe5b05cf5693336abb1533a4df0602a9ad3c\",\n        \"nonce\": \"0x5da\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xff80c83c0f43f90c32a9aa4d108e01387e78414549660e1dc311993291d2e9c9\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n      \"function\": \"deploy(address,address)\",\n      \"arguments\": [\n        \"0xefBcB6974a3F2F9C10a30bCB04016C83de39f707\",\n        \"0x6F0fB066334B67355A15dc9b67317fd2A2E20890\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"to\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n        \"gas\": \"0x2a3cd\",\n        \"value\": \"0x0\",\n        \"input\": \"0x545e7c61000000000000000000000000efbcb6974a3f2f9c10a30bcb04016c83de39f7070000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\",\n        \"nonce\": \"0x5db\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [\n        {\n          \"transactionType\": \"CREATE\",\n          \"contractName\": null,\n          \"address\": \"0x3201a59f42eae46d5dabd06dfc95a7ba475bbfae\",\n          \"initCode\": \"0x60793d8160093d39f33d3d336d6396ff2a80c067f99b3d2ab4df2414605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e604c573d6000fd00000000000000\"\n        }\n      ],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x150353\",\n      \"logs\": [\n        {\n          \"address\": \"0x5641419b61209b1073e66bddfb30130f34f18d6e\",\n          \"topics\": [\n            \"0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000ffffffffffffffff\",\n          \"blockHash\": \"0xd90e673b845de63ae21ebd903cf1204fb96efca9c77cfd0fbe08f122f476da7f\",\n          \"blockNumber\": \"0x21b26b5\",\n          \"blockTimestamp\": \"0x6949ac4a\",\n          \"transactionHash\": \"0x03b7f6fb2777fdd874c22994d28d56cab6c7b4462feebee967219cfd460a4186\",\n          \"transactionIndex\": \"0x2\",\n          \"logIndex\": \"0x0\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000020000000000000000000002000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x03b7f6fb2777fdd874c22994d28d56cab6c7b4462feebee967219cfd460a4186\",\n      \"transactionIndex\": \"0x2\",\n      \"blockHash\": \"0xd90e673b845de63ae21ebd903cf1204fb96efca9c77cfd0fbe08f122f476da7f\",\n      \"blockNumber\": \"0x21b26b5\",\n      \"gasUsed\": \"0x129c38\",\n      \"effectiveGasPrice\": \"0xaa34009\",\n      \"blobGasUsed\": \"0xd3740\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0x5641419b61209b1073e66bddfb30130f34f18d6e\",\n      \"daFootprintGasScalar\": \"0x138\",\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x911\",\n      \"l1GasPrice\": \"0xa\",\n      \"l1GasUsed\": \"0xad86\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x187037\",\n      \"logs\": [\n        {\n          \"address\": \"0x14edfe5b05cf5693336abb1533a4df0602a9ad3c\",\n          \"topics\": [\n            \"0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0xd90e673b845de63ae21ebd903cf1204fb96efca9c77cfd0fbe08f122f476da7f\",\n          \"blockNumber\": \"0x21b26b5\",\n          \"blockTimestamp\": \"0x6949ac4a\",\n          \"transactionHash\": \"0xb46a8f4eac1f63466a75722371c54d1c08f21b94aa5c7572f6c93b3d26013e4d\",\n          \"transactionIndex\": \"0x3\",\n          \"logIndex\": \"0x1\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n          \"topics\": [\n            \"0xc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b8178082\",\n            \"0x00000000000000000000000014edfe5b05cf5693336abb1533a4df0602a9ad3c\",\n            \"0x0000000000000000000000005641419b61209b1073e66bddfb30130f34f18d6e\",\n            \"0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xd90e673b845de63ae21ebd903cf1204fb96efca9c77cfd0fbe08f122f476da7f\",\n          \"blockNumber\": \"0x21b26b5\",\n          \"blockTimestamp\": \"0x6949ac4a\",\n          \"transactionHash\": \"0xb46a8f4eac1f63466a75722371c54d1c08f21b94aa5c7572f6c93b3d26013e4d\",\n          \"transactionIndex\": \"0x3\",\n          \"logIndex\": \"0x2\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000040000000000000000000000000800000000000000000000400002002000080000000000000000000000000000000000000000000100000000000000000000000000000000000008000000000000000000000000000000000000000000000000000400000000000202000000000000000000000000000000000800000000000000800000000000000000000000080000000000000000000001000000000000000000000000000080000000000000000000010000000000000800000000000000000400000000000000000000004000000000000020000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xb46a8f4eac1f63466a75722371c54d1c08f21b94aa5c7572f6c93b3d26013e4d\",\n      \"transactionIndex\": \"0x3\",\n      \"blockHash\": \"0xd90e673b845de63ae21ebd903cf1204fb96efca9c77cfd0fbe08f122f476da7f\",\n      \"blockNumber\": \"0x21b26b5\",\n      \"gasUsed\": \"0x36ce4\",\n      \"effectiveGasPrice\": \"0xaa34009\",\n      \"blobGasUsed\": \"0xd410\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n      \"contractAddress\": null,\n      \"daFootprintGasScalar\": \"0x138\",\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x91\",\n      \"l1GasPrice\": \"0xa\",\n      \"l1GasUsed\": \"0xae1\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x149cf5c\",\n      \"logs\": [\n        {\n          \"address\": \"0x636b7f211cb373bd8f6dc51abdfede15a49b680f\",\n          \"topics\": [\n            \"0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000ffffffffffffffff\",\n          \"blockHash\": \"0xd90e673b845de63ae21ebd903cf1204fb96efca9c77cfd0fbe08f122f476da7f\",\n          \"blockNumber\": \"0x21b26b5\",\n          \"blockTimestamp\": \"0x6949ac4a\",\n          \"transactionHash\": \"0x882fc939ab1afb36f19848da1561ce06ee366a50dc459b17bb64fa9890f52720\",\n          \"transactionIndex\": \"0x1c\",\n          \"logIndex\": \"0x1e\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x882fc939ab1afb36f19848da1561ce06ee366a50dc459b17bb64fa9890f52720\",\n      \"transactionIndex\": \"0x1c\",\n      \"blockHash\": \"0xd90e673b845de63ae21ebd903cf1204fb96efca9c77cfd0fbe08f122f476da7f\",\n      \"blockNumber\": \"0x21b26b5\",\n      \"gasUsed\": \"0x4037ac\",\n      \"effectiveGasPrice\": \"0xaa34009\",\n      \"blobGasUsed\": \"0x2b79a0\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0x636b7f211cb373bd8f6dc51abdfede15a49b680f\",\n      \"daFootprintGasScalar\": \"0x138\",\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x1dd3\",\n      \"l1GasPrice\": \"0xa\",\n      \"l1GasUsed\": \"0x23acf\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x14fb882\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x3f1b5dd0a8f8879950985202d2cacdfa5c9b352577f4cf53667999c631d4f0b1\",\n      \"transactionIndex\": \"0x1d\",\n      \"blockHash\": \"0xd90e673b845de63ae21ebd903cf1204fb96efca9c77cfd0fbe08f122f476da7f\",\n      \"blockNumber\": \"0x21b26b5\",\n      \"gasUsed\": \"0x5e926\",\n      \"effectiveGasPrice\": \"0xaa34009\",\n      \"blobGasUsed\": \"0x4dec8\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0xefbcb6974a3f2f9c10a30bcb04016c83de39f707\",\n      \"daFootprintGasScalar\": \"0x138\",\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x358\",\n      \"l1GasPrice\": \"0xa\",\n      \"l1GasUsed\": \"0x3fff\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x151a1c7\",\n      \"logs\": [\n        {\n          \"address\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n          \"topics\": [\n            \"0xc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b8178082\",\n            \"0x0000000000000000000000003201a59f42eae46d5dabd06dfc95a7ba475bbfae\",\n            \"0x000000000000000000000000efbcb6974a3f2f9c10a30bcb04016c83de39f707\",\n            \"0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xd90e673b845de63ae21ebd903cf1204fb96efca9c77cfd0fbe08f122f476da7f\",\n          \"blockNumber\": \"0x21b26b5\",\n          \"blockTimestamp\": \"0x6949ac4a\",\n          \"transactionHash\": \"0xff80c83c0f43f90c32a9aa4d108e01387e78414549660e1dc311993291d2e9c9\",\n          \"transactionIndex\": \"0x1e\",\n          \"logIndex\": \"0x1f\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000800000000000000000000400000002000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000200000000000000000000000000000000000000020000000400000000000200000000000000000000000000000000000840000000000800000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000800000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xff80c83c0f43f90c32a9aa4d108e01387e78414549660e1dc311993291d2e9c9\",\n      \"transactionIndex\": \"0x1e\",\n      \"blockHash\": \"0xd90e673b845de63ae21ebd903cf1204fb96efca9c77cfd0fbe08f122f476da7f\",\n      \"blockNumber\": \"0x21b26b5\",\n      \"gasUsed\": \"0x1e945\",\n      \"effectiveGasPrice\": \"0xaa34009\",\n      \"blobGasUsed\": \"0x79e0\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": \"0x0000000000006396ff2a80c067f99b3d2ab4df24\",\n      \"contractAddress\": null,\n      \"daFootprintGasScalar\": \"0x138\",\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x53\",\n      \"l1GasPrice\": \"0xa\",\n      \"l1GasUsed\": \"0x640\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1766435915533,\n  \"chain\": 84532,\n  \"commit\": \"40cccd9\"\n}"
  },
  {
    "path": "sepolia/2025-12-22-update-bridge-alpha-config/records/UpdateConfig.s.sol/11155111/run-1768497928010.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x7d58cda3ffece3f21a24966f727aa745c07485bbcc83b388945029dbc6214ef5\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049f53e41452c74589e85ca1677426ba426459e850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000124e9e05c420000000000000000000000000000000000006396ff2a80c067f99b3d2ab4df24000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000004499a88ec400000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b000000000000000000000000636b7f211cb373bd8f6dc51abdfede15a49b680f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xcb24b9875bbf3bdbe351de57c75598055518be741176b96eb01d08384f2f5a352e4aa4926fca6c6605b0fe74fd37bf5d00bdce791f9c9f524b2a5ea8c8a4a3d01b6663a1e8f9b3e11e00110a25c24b652fecdffaf110c65a27c03d96e03b3a4f1b177efa3c8d05142587d01f5ddade507dd7c401a0eccc7e154347a46846b936101c7e750b240286bd6fce307cdc1cc4496e43c8087b14d049c1a37c293e6d105add1ae972524b71f3bca1b6f2812cd31718b1f666d657f1470a388410f5e6eb86cd1c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n        \"gas\": \"0x40bbd\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000244174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049f53e41452c74589e85ca1677426ba426459e850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000124e9e05c420000000000000000000000000000000000006396ff2a80c067f99b3d2ab4df24000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000004499a88ec400000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b000000000000000000000000636b7f211cb373bd8f6dc51abdfede15a49b680f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3cb24b9875bbf3bdbe351de57c75598055518be741176b96eb01d08384f2f5a352e4aa4926fca6c6605b0fe74fd37bf5d00bdce791f9c9f524b2a5ea8c8a4a3d01b6663a1e8f9b3e11e00110a25c24b652fecdffaf110c65a27c03d96e03b3a4f1b177efa3c8d05142587d01f5ddade507dd7c401a0eccc7e154347a46846b936101c7e750b240286bd6fce307cdc1cc4496e43c8087b14d049c1a37c293e6d105add1ae972524b71f3bca1b6f2812cd31718b1f666d657f1470a388410f5e6eb86cd1c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x4b\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x48e237\",\n      \"logs\": [\n        {\n          \"address\": \"0x49f53e41452c74589e85ca1677426ba426459e85\",\n          \"topics\": [\n            \"0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32\",\n            \"0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\",\n            \"0x0000000000000000000000000000000000006396ff2a80c067f99b3d2ab4df24\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000008d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a00099a88ec400000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b000000000000000000000000636b7f211cb373bd8f6dc51abdfede15a49b680f00000000000000000000000000000000000000\",\n          \"blockHash\": \"0x08536f6a5acea4e6fd15643aa272911527b36aed6e2dab374e2e6f58f8eb35a6\",\n          \"blockNumber\": \"0x995bfb\",\n          \"blockTimestamp\": \"0x69692304\",\n          \"transactionHash\": \"0x7d58cda3ffece3f21a24966f727aa745c07485bbcc83b388945029dbc6214ef5\",\n          \"transactionIndex\": \"0x1b\",\n          \"logIndex\": \"0x27\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0x887814182da37b1568b130c410acc4fa5438e502faf3b3ba14b2e3c743ce4df3\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x08536f6a5acea4e6fd15643aa272911527b36aed6e2dab374e2e6f58f8eb35a6\",\n          \"blockNumber\": \"0x995bfb\",\n          \"blockTimestamp\": \"0x69692304\",\n          \"transactionHash\": \"0x7d58cda3ffece3f21a24966f727aa745c07485bbcc83b388945029dbc6214ef5\",\n          \"transactionIndex\": \"0x1b\",\n          \"logIndex\": \"0x28\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000000000022000000000000040000000000000000000000000000000000000000000001000000004000000002000000000000000000000000000800000000000000000000020000000000400000000800000000000020000000000000000008000000000000000000020000000000000000004000000000000000000000000000000000000000000000000000000404080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000040002000000000000000080000000000004000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x7d58cda3ffece3f21a24966f727aa745c07485bbcc83b388945029dbc6214ef5\",\n      \"transactionIndex\": \"0x1b\",\n      \"blockHash\": \"0x08536f6a5acea4e6fd15643aa272911527b36aed6e2dab374e2e6f58f8eb35a6\",\n      \"blockNumber\": \"0x995bfb\",\n      \"gasUsed\": \"0x2a2a7\",\n      \"effectiveGasPrice\": \"0x416bb8ce\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1768497928010,\n  \"chain\": 11155111,\n  \"commit\": \"c8e5909\"\n}"
  },
  {
    "path": "sepolia/2025-12-22-update-bridge-alpha-config/script/DeployBridgeUpdates.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.28;\n\nimport {Script} from \"forge-std/Script.sol\";\nimport {stdJson} from \"forge-std/StdJson.sol\";\nimport {LibString} from \"solady/utils/LibString.sol\";\nimport {ERC1967Factory} from \"@solady/utils/ERC1967Factory.sol\";\nimport {ERC1967FactoryConstants} from \"@solady/utils/ERC1967FactoryConstants.sol\";\nimport {AddressAliasHelper} from \"@eth-optimism-bedrock/src/vendor/AddressAliasHelper.sol\";\n\nimport {Bridge} from \"bridge/Bridge.sol\";\nimport {RelayerOrchestrator} from \"bridge/periphery/RelayerOrchestrator.sol\";\nimport {BridgeValidator} from \"bridge/BridgeValidator.sol\";\nimport {Pubkey} from \"bridge/libraries/SVMLib.sol\";\n\nstruct Cfg {\n    address erc1967Factory;\n    address initialOwner;\n    address partnerValidators;\n    address[] baseValidators;\n    uint256 partnerValidatorThreshold;\n}\n\ncontract DeployBridgeUpdates is Script {\n    using stdJson for string;\n    using AddressAliasHelper for address;\n\n    string public cfgData;\n    Cfg public cfg;\n\n    address public immutable BRIDGE_PROXY;\n    address public immutable BRIDGE_VALIDATOR_PROXY;\n\n    constructor() {\n        BRIDGE_PROXY = vm.envAddress(\"L2_BRIDGE_PROXY\");\n        BRIDGE_VALIDATOR_PROXY = vm.envAddress(\"L2_BRIDGE_VALIDATOR_PROXY\");\n    }\n\n    function setUp() public {\n        cfgData = vm.readFile(string.concat(vm.projectRoot(), \"/config.json\"));\n\n        cfg.erc1967Factory = ERC1967FactoryConstants.ADDRESS;\n        cfg.initialOwner = _readAddressFromConfig(\"initialOwner\").applyL1ToL2Alias();\n        cfg.partnerValidators = _readAddressFromConfig(\"partnerValidators\");\n        cfg.baseValidators = _readAddressArrayFromConfig(\"baseValidators\");\n        cfg.partnerValidatorThreshold = _readUintFromConfig(\"partnerValidatorThreshold\");\n    }\n\n    function run() public {\n        address twinBeacon = Bridge(BRIDGE_PROXY).TWIN_BEACON();\n        address crossChainErc20Factory = Bridge(BRIDGE_PROXY).CROSS_CHAIN_ERC20_FACTORY();\n        Pubkey remoteBridge = Bridge(BRIDGE_PROXY).REMOTE_BRIDGE();\n        uint128 baseThreshold = BridgeValidator(BRIDGE_VALIDATOR_PROXY).getBaseThreshold();\n        uint256 baseSignerCount = BridgeValidator(BRIDGE_VALIDATOR_PROXY).getBaseValidatorCount();\n\n        require(baseSignerCount == cfg.baseValidators.length, \"Precheck 00\");\n\n        for (uint256 i; i < baseSignerCount; i++) {\n            require(BridgeValidator(BRIDGE_VALIDATOR_PROXY).isBaseValidator(cfg.baseValidators[i]), \"Precheck 01\");\n        }\n\n        vm.startBroadcast();\n        address bridgeValidatorImpl =\n            address(new BridgeValidator({bridgeAddress: BRIDGE_PROXY, partnerValidators: cfg.partnerValidators}));\n        address bridgeValidatorProxy = ERC1967Factory(cfg.erc1967Factory)\n            .deployAndCall({\n                implementation: bridgeValidatorImpl,\n                admin: cfg.initialOwner,\n                data: abi.encodeCall(\n                    BridgeValidator.initialize, (cfg.baseValidators, baseThreshold, cfg.partnerValidatorThreshold)\n                )\n            });\n\n        address bridgeImpl = address(\n            new Bridge({\n                remoteBridge: remoteBridge,\n                twinBeacon: twinBeacon,\n                crossChainErc20Factory: crossChainErc20Factory,\n                bridgeValidator: bridgeValidatorProxy\n            })\n        );\n        address relayerOrchestratorProxy =\n            _deployRelayerOrchestrator({bridge: BRIDGE_PROXY, bridgeValidator: bridgeValidatorProxy});\n        vm.stopBroadcast();\n\n        _serializeAddress({key: \"BridgeValidatorProxy\", value: bridgeValidatorProxy});\n        _serializeAddress({key: \"BridgeImpl\", value: bridgeImpl});\n        _serializeAddress({key: \"RelayerOrchestratorProxy\", value: relayerOrchestratorProxy});\n    }\n\n    function _deployRelayerOrchestrator(address bridge, address bridgeValidator) private returns (address) {\n        address relayerOrchestratorImpl =\n            address(new RelayerOrchestrator({bridge: bridge, bridgeValidator: bridgeValidator}));\n\n        return\n            ERC1967Factory(cfg.erc1967Factory)\n                .deploy({implementation: relayerOrchestratorImpl, admin: cfg.initialOwner});\n    }\n\n    function _serializeAddress(string memory key, address value) private {\n        vm.writeJson({\n            json: LibString.toHexStringChecksummed(value), path: \"addresses.json\", valueKey: string.concat(\".\", key)\n        });\n    }\n\n    function _readUintFromConfig(string memory key) private view returns (uint256) {\n        return vm.parseJsonUint({json: cfgData, key: string.concat(\".\", key)});\n    }\n\n    function _readAddressArrayFromConfig(string memory key) private view returns (address[] memory) {\n        return vm.parseJsonAddressArray({json: cfgData, key: string.concat(\".\", key)});\n    }\n\n    function _readAddressFromConfig(string memory key) private view returns (address) {\n        return vm.parseJsonAddress({json: cfgData, key: string.concat(\".\", key)});\n    }\n}\n"
  },
  {
    "path": "sepolia/2025-12-22-update-bridge-alpha-config/script/UpdateConfig.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.28;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {AddressAliasHelper} from \"@eth-optimism-bedrock/src/vendor/AddressAliasHelper.sol\";\nimport {ERC1967Factory} from \"solady/utils/ERC1967Factory.sol\";\nimport {ERC1967FactoryConstants} from \"solady/utils/ERC1967FactoryConstants.sol\";\n\ninterface IOptimismPortal2 {\n    function depositTransaction(address _to, uint256 _value, uint64 _gasLimit, bool _isCreation, bytes memory _data)\n        external\n        payable;\n}\n\ncontract UpdateConfig is MultisigScript {\n    using AddressAliasHelper for address;\n\n    address public immutable OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n    address public immutable L1_PORTAL = vm.envAddress(\"L1_PORTAL\");\n    address public immutable L2_BRIDGE_PROXY = vm.envAddress(\"L2_BRIDGE_PROXY\");\n    address public immutable L2_BRIDGE_IMPL = vm.envAddress(\"L2_BRIDGE_IMPL\");\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) {\n        IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n\n        address to = ERC1967FactoryConstants.ADDRESS;\n        uint256 value = 0;\n        uint64 gasLimit = 100_000;\n        bool isCreation = false;\n        bytes memory data = abi.encodeCall(ERC1967Factory.upgrade, (L2_BRIDGE_PROXY, L2_BRIDGE_IMPL));\n\n        calls[0] = IMulticall3.Call3Value({\n            target: L1_PORTAL,\n            allowFailure: false,\n            callData: abi.encodeCall(IOptimismPortal2.depositTransaction, (to, value, gasLimit, isCreation, data)),\n            value: value\n        });\n\n        return calls;\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {}\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "sepolia/2025-12-22-update-bridge-alpha-config/validations/base-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net UpdateConfig --sig sign(address[]) [] --sender 0xb2d9a52e76841279EF0372c534C539a4f68f8C0B\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f\",\n    \"domainHash\": \"0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23\",\n    \"messageHash\": \"0x449834eab75aa57ef712f9e0303ac0dddf4ed173b4e54ad83ac03586f8c3a293\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"CB Signer Safe - Sepolia\",\n      \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xf9b2f019f1e804e36a306cc9e6be9a64a3a3c48b51bcde7918a45ec10b3e37b5\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"OptimismPortal2 - Sepolia\",\n      \"address\": \"0x49f53e41452c74589e85ca1677426ba426459e85\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"before\": \"0x000000000096fcce0000000000096c490000000000000000000000003b9aca00\",\n          \"after\": \"0x000000000096fcef00000000000186a00000000000000000000000003b9aca00\",\n          \"description\": \"Gas fee tracking for deposit tx execution on L2\",\n          \"allowDifference\": true\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Sepolia\",\n      \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000000f\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000010\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "sepolia/2026-01-08-op-stack-upgrade-18/FACILITATORS.md",
    "content": "#### Execute the transaction\n\n## 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd sepolia/2026-01-08-op-stack-upgrade-18\nmake deps\n```\n\n1. IMPORTANT: Ensure op-challenger has been updated before executing.\n1. Collect outputs from all participating signers.\n1. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"`.\n1. Run the `make execute` or `make approve` command as described below to execute the transaction.\n\nFor example, if the quorum is 3 and you get the following outputs:\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE01\nSignature: AAAA\n```\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE02\nSignature: BBBB\n```\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE03\nSignature: CCCC\n```\n\nCoinbase facilitator:\n\n```bash\nSIGNATURES=AAAABBBBCCCC make approve-cb\n```\n\n```bash\nSIGNATURES=AAAABBBBCCCC make approve-cb-sc\n```\n\n```bash\nSIGNATURES=AAAABBBBCCCC make approve-op\n```\n\nOnce the signatures have been submitted approving the transaction for all nested Safes run:\n\n```bash\nmake execute\n```\n"
  },
  {
    "path": "sepolia/2026-01-08-op-stack-upgrade-18/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\n\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 1\nendif\n\n\nRPC_URL = $(L1_RPC_URL)\nSCRIPT_NAME = ExecuteOPCMScript\n\n.PHONY: gen-validation-cb\ngen-validation-cb: checkout-signer-tool run-script-cb\n\n.PHONY: run-script-cb\nrun-script-cb:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \\\n\t--workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" \"[$(CB_NESTED_SAFE_ADDR),$(CB_SIGNER_SAFE_ADDR)]\" \\\n\t--sender 0x7f10098bd53519c739ca8a404afe127647d94774' --ledger-id $(LEDGER_ACCOUNT) --out ../validations/coinbase-signer.json;\n\n\n.PHONY: gen-validation-cb-sc\ngen-validation-cb-sc: checkout-signer-tool run-script-cb-sc\n\n.PHONY: run-script-cb-sc\nrun-script-cb-sc:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \\\n\t--workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" \"[$(CB_SC_SAFE_ADDR),$(CB_SIGNER_SAFE_ADDR)]\" \\\n\t--sender 0x7f10098bd53519c739ca8a404afe127647d94774' --ledger-id $(LEDGER_ACCOUNT) --out ../validations/security-council-signer.json;\n\n.PHONY: gen-validation-op\ngen-validation-op: checkout-signer-tool run-script-op\n\n.PHONY: run-script-op\nrun-script-op:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \\\n\t--workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" \"[$(OP_SIGNER_SAFE_ADDR)]\" \\\n\t--sender 0x0CF2F86C3338993ce10F74d6f4B095712c7efe26' --ledger-id $(LEDGER_ACCOUNT) --out ../validations/optimism-signer.json;\n\n# CB\n.PHONY: approve-cb\napprove-cb:\n\t$(call MULTISIG_APPROVE,$(CB_NESTED_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES))\n\n.PHONY: approve-cb-sc\napprove-cb-sc:\n\t$(call MULTISIG_APPROVE,$(CB_SC_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES))\n\n.PHONY: approve-cb-coordinator\napprove-cb-coordinator:\n\t$(call MULTISIG_APPROVE,$(CB_SIGNER_SAFE_ADDR),0x)\n\n.PHONY: approve-op\napprove-op:\n\t$(call MULTISIG_APPROVE,$(OP_SIGNER_SAFE_ADDR),$(SIGNATURES))\n\n# Execute\n.PHONY: execute\nexecute:\n\t$(call MULTISIG_EXECUTE,0x)"
  },
  {
    "path": "sepolia/2026-01-08-op-stack-upgrade-18/README.md",
    "content": "# OP Stack Upgrade 18\n\nStatus: [EXECUTED](https://sepolia.etherscan.io/tx/0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196)\n\n## Description\n\nUpgrade 18 is a proposed network upgrade for OP Stack chains, which introduces **cannon+kona fault proof support** (including an optional switch to Kona proofs as the respected game type) and introduces **Custom Gas Token v2 (CGT v2)** for chains that want to use a non-ETH native fee currency.\n\nUpgrade 18 is purely a smart contract upgrade. There are no hardforks activating during this upgrade.\n\nThis script executes the `upgrade` function of the OP Contracts Manager to upgrade all relevant contracts.\n\n## Procedure\n\n## Install dependencies\n\n### 1. Update foundry\n\n```bash\nfoundryup\n```\n\n### 2. Install Node.js if needed\n\nFirst, check if you have node installed\n\n```bash\nnode --version\n```\n\nIf you see a version output from the above command, you can move on. Otherwise, install node\n\n```bash\nbrew install node\n```\n\n## Approving the Update transaction\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root).\n\n```bash\nmake sign-task\n```\n\n### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\nBe sure to select the correct task user from the list of available users to sign.\nAfter completion, the signer tool can be closed by using Ctrl + c\n\n### 4. Send signature to facilitator\n"
  },
  {
    "path": "sepolia/2026-01-08-op-stack-upgrade-18/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nevm_version = \"shanghai\"\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n    '@lib-keccak/=lib/lib-keccak/contracts/lib',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "sepolia/2026-01-08-op-stack-upgrade-18/records/ExecuteOPCM.s.sol/11155111/approve-latest.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xd1b98d37b2d44fcf27ad5c2a127e6204a9f51c968b32579b325584b555edce4c\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd7d0335b917925ca70486a29ea0385c7c17ca518ae99af75c6656539e2187b35200000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x5d7020bee0af2653314529acdd4f640bea4d2cf4be227e67083f973b250ef63c212349e59d7ad242b38b4ef0aa033067be7f30a62f6a2d7b3dd771018704e02d1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n        \"gas\": \"0x1ea78\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd7d0335b917925ca70486a29ea0385c7c17ca518ae99af75c6656539e2187b352000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000415d7020bee0af2653314529acdd4f640bea4d2cf4be227e67083f973b250ef63c212349e59d7ad242b38b4ef0aa033067be7f30a62f6a2d7b3dd771018704e02d1b00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x4f\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x389bc5d\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x7d0335b917925ca70486a29ea0385c7c17ca518ae99af75c6656539e2187b352\",\n            \"0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xb8e72f355adc9e6e269a0b5fe517159dc60f151883d036e551175fabb7a757d9\",\n          \"blockNumber\": \"0x9a256b\",\n          \"blockTimestamp\": \"0x6972b580\",\n          \"transactionHash\": \"0xd1b98d37b2d44fcf27ad5c2a127e6204a9f51c968b32579b325584b555edce4c\",\n          \"transactionIndex\": \"0x39\",\n          \"logIndex\": \"0x3f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x122e4dcdfee0c69f328f7ec98709e07ccfd59871bc9d4ebaeba3637c3fbaa6290000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xb8e72f355adc9e6e269a0b5fe517159dc60f151883d036e551175fabb7a757d9\",\n          \"blockNumber\": \"0x9a256b\",\n          \"blockTimestamp\": \"0x6972b580\",\n          \"transactionHash\": \"0xd1b98d37b2d44fcf27ad5c2a127e6204a9f51c968b32579b325584b555edce4c\",\n          \"transactionIndex\": \"0x39\",\n          \"logIndex\": \"0x40\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00008000400000040000000000000000010000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000000000000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000014020000000000000000000000100000000008000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xd1b98d37b2d44fcf27ad5c2a127e6204a9f51c968b32579b325584b555edce4c\",\n      \"transactionIndex\": \"0x39\",\n      \"blockHash\": \"0xb8e72f355adc9e6e269a0b5fe517159dc60f151883d036e551175fabb7a757d9\",\n      \"blockNumber\": \"0x9a256b\",\n      \"gasUsed\": \"0x16318\",\n      \"effectiveGasPrice\": \"0x3a0f0ab3\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1769125249283,\n  \"chain\": 11155111,\n  \"commit\": \"e1fb641\"\n}"
  },
  {
    "path": "sepolia/2026-01-08-op-stack-upgrade-18/records/ExecuteOPCM.s.sol/11155111/run-1769124709630.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x6956ce87c2e7e4e06c997f2818876dce21ef392072e187d2855bde5a509439f2\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303\",\n        \"0\",\n        \"0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd2052b2d2f4db27a379d652ea9bdd9b1d4394ce47e9beca06f6da68d46c8327a300000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x2ab0c060b5f81806d999a7522d361be34f599017b2325de8c1f40a53b86c6b2b61cb9ac2f27bea0ab938df11449558198f26a01c3c58f75b0a4e001b13f205f01c294b538152149ba60c1c75fa1c54af14b0ab028745d1f6bef1529b77c69adc331db052595ea0d89b46e1da46154e3a41204e72fd46fe203bfc4930d6e52bb3401b41d963c56096ed85eba6016db72de39e57c2b105483d3d5925d7a1e4c1f0e09a4ec5a7980844f2617893d23f4f70e2cc9a442b42d7025e109f19a09dca9287541b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n        \"gas\": \"0x2539d\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd2052b2d2f4db27a379d652ea9bdd9b1d4394ce47e9beca06f6da68d46c8327a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c32ab0c060b5f81806d999a7522d361be34f599017b2325de8c1f40a53b86c6b2b61cb9ac2f27bea0ab938df11449558198f26a01c3c58f75b0a4e001b13f205f01c294b538152149ba60c1c75fa1c54af14b0ab028745d1f6bef1529b77c69adc331db052595ea0d89b46e1da46154e3a41204e72fd46fe203bfc4930d6e52bb3401b41d963c56096ed85eba6016db72de39e57c2b105483d3d5925d7a1e4c1f0e09a4ec5a7980844f2617893d23f4f70e2cc9a442b42d7025e109f19a09dca9287541b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x4c\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x6d88d3\",\n      \"logs\": [\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x2052b2d2f4db27a379d652ea9bdd9b1d4394ce47e9beca06f6da68d46c8327a3\",\n            \"0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x889e4886a5cab1882e22532c4bb6891ea3e3cfb561f15b626d4c49d6a46ae72a\",\n          \"blockNumber\": \"0x9a253e\",\n          \"blockTimestamp\": \"0x6972b364\",\n          \"transactionHash\": \"0x6956ce87c2e7e4e06c997f2818876dce21ef392072e187d2855bde5a509439f2\",\n          \"transactionIndex\": \"0x21\",\n          \"logIndex\": \"0x4f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0xc03b91c81c2dfb407b4e1586d99b2288915b48365123ed841e0886e953b866ff\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x889e4886a5cab1882e22532c4bb6891ea3e3cfb561f15b626d4c49d6a46ae72a\",\n          \"blockNumber\": \"0x9a253e\",\n          \"blockTimestamp\": \"0x6972b364\",\n          \"transactionHash\": \"0x6956ce87c2e7e4e06c997f2818876dce21ef392072e187d2855bde5a509439f2\",\n          \"transactionIndex\": \"0x21\",\n          \"logIndex\": \"0x50\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000010000000000040000000000000001000000040000000000010000000000000000000000000000000000000000100000000000000000002000000000000000000000000000000000000000000000000800000000000000000000400000000000000000000000000000000000000000000000000000000010000000000000000000000200000000000000000000000000000000000000000000000000000000000020000c04000000000000010000000000000000000000000000000000000000000000000000000000000000000004000020000000000000000000000000000040000000000000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x6956ce87c2e7e4e06c997f2818876dce21ef392072e187d2855bde5a509439f2\",\n      \"transactionIndex\": \"0x21\",\n      \"blockHash\": \"0x889e4886a5cab1882e22532c4bb6891ea3e3cfb561f15b626d4c49d6a46ae72a\",\n      \"blockNumber\": \"0x9a253e\",\n      \"gasUsed\": \"0x19742\",\n      \"effectiveGasPrice\": \"0x4033df2a\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1769124709630,\n  \"chain\": 11155111,\n  \"commit\": \"e1fb641\"\n}"
  },
  {
    "path": "sepolia/2026-01-08-op-stack-upgrade-18/records/ExecuteOPCM.s.sol/11155111/run-1769124924971.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xbba7c954738e2dbc8ad52efd3b9a8ea4e098a85e13c56dae718d145ab6b8bd54\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303\",\n        \"0\",\n        \"0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd2052b2d2f4db27a379d652ea9bdd9b1d4394ce47e9beca06f6da68d46c8327a300000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xdc89150a4d6a275304e208e5769f39a7527af0f46e2c770ee418d5789f328b7a0d1f1037618f11d4727b7f2ac948655fff461d003244ec0d44e0437c24cc60a21b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n        \"gas\": \"0x1dc22\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd2052b2d2f4db27a379d652ea9bdd9b1d4394ce47e9beca06f6da68d46c8327a300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041dc89150a4d6a275304e208e5769f39a7527af0f46e2c770ee418d5789f328b7a0d1f1037618f11d4727b7f2ac948655fff461d003244ec0d44e0437c24cc60a21b00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x4d\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x38ae7b2\",\n      \"logs\": [\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x2052b2d2f4db27a379d652ea9bdd9b1d4394ce47e9beca06f6da68d46c8327a3\",\n            \"0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x3c4e08c80a57bb55d735cf032851092d454a69b75fc3badcd760897d5c8d398e\",\n          \"blockNumber\": \"0x9a2550\",\n          \"blockTimestamp\": \"0x6972b43c\",\n          \"transactionHash\": \"0xbba7c954738e2dbc8ad52efd3b9a8ea4e098a85e13c56dae718d145ab6b8bd54\",\n          \"transactionIndex\": \"0x2a\",\n          \"logIndex\": \"0x3c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xd3e4152904af42775837250533f70148693aa36386429d9d4b053825a51c7ebc0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x3c4e08c80a57bb55d735cf032851092d454a69b75fc3badcd760897d5c8d398e\",\n          \"blockNumber\": \"0x9a2550\",\n          \"blockTimestamp\": \"0x6972b43c\",\n          \"transactionHash\": \"0xbba7c954738e2dbc8ad52efd3b9a8ea4e098a85e13c56dae718d145ab6b8bd54\",\n          \"transactionIndex\": \"0x2a\",\n          \"logIndex\": \"0x3d\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000040000000000000000040000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000002000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000000004000020000000000000000000000000000014020000000000000000000000100000000008000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xbba7c954738e2dbc8ad52efd3b9a8ea4e098a85e13c56dae718d145ab6b8bd54\",\n      \"transactionIndex\": \"0x2a\",\n      \"blockHash\": \"0x3c4e08c80a57bb55d735cf032851092d454a69b75fc3badcd760897d5c8d398e\",\n      \"blockNumber\": \"0x9a2550\",\n      \"gasUsed\": \"0x158b7\",\n      \"effectiveGasPrice\": \"0x3a7202b3\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1769124924971,\n  \"chain\": 11155111,\n  \"commit\": \"e1fb641\"\n}"
  },
  {
    "path": "sepolia/2026-01-08-op-stack-upgrade-18/records/ExecuteOPCM.s.sol/11155111/run-1769124949237.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x01147acf21bb31d7fd1c07db0edb3571046533f8bd15e7aa4fe699736e5a9c57\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd7d0335b917925ca70486a29ea0385c7c17ca518ae99af75c6656539e2187b35200000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n        \"gas\": \"0x21d8a\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd7d0335b917925ca70486a29ea0385c7c17ca518ae99af75c6656539e2187b352000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x4e\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x38d9157\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x7d0335b917925ca70486a29ea0385c7c17ca518ae99af75c6656539e2187b352\",\n            \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xd69fbf39f12db0e075eb95511eb43b9109ce1e6177c20c3ffafb39f7bd9d73a7\",\n          \"blockNumber\": \"0x9a2552\",\n          \"blockTimestamp\": \"0x6972b454\",\n          \"transactionHash\": \"0x01147acf21bb31d7fd1c07db0edb3571046533f8bd15e7aa4fe699736e5a9c57\",\n          \"transactionIndex\": \"0x32\",\n          \"logIndex\": \"0x4f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x2052b2d2f4db27a379d652ea9bdd9b1d4394ce47e9beca06f6da68d46c8327a30000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xd69fbf39f12db0e075eb95511eb43b9109ce1e6177c20c3ffafb39f7bd9d73a7\",\n          \"blockNumber\": \"0x9a2552\",\n          \"blockTimestamp\": \"0x6972b454\",\n          \"transactionHash\": \"0x01147acf21bb31d7fd1c07db0edb3571046533f8bd15e7aa4fe699736e5a9c57\",\n          \"transactionIndex\": \"0x32\",\n          \"logIndex\": \"0x50\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00008000400000000000000000000000010000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000010000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000001004000020000000000000000000000001000000000000000200000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x01147acf21bb31d7fd1c07db0edb3571046533f8bd15e7aa4fe699736e5a9c57\",\n      \"transactionIndex\": \"0x32\",\n      \"blockHash\": \"0xd69fbf39f12db0e075eb95511eb43b9109ce1e6177c20c3ffafb39f7bd9d73a7\",\n      \"blockNumber\": \"0x9a2552\",\n      \"gasUsed\": \"0x17249\",\n      \"effectiveGasPrice\": \"0x3af9c236\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1769124949237,\n  \"chain\": 11155111,\n  \"commit\": \"e1fb641\"\n}"
  },
  {
    "path": "sepolia/2026-01-08-op-stack-upgrade-18/records/ExecuteOPCM.s.sol/11155111/run-1769125249283.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xd1b98d37b2d44fcf27ad5c2a127e6204a9f51c968b32579b325584b555edce4c\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd7d0335b917925ca70486a29ea0385c7c17ca518ae99af75c6656539e2187b35200000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x5d7020bee0af2653314529acdd4f640bea4d2cf4be227e67083f973b250ef63c212349e59d7ad242b38b4ef0aa033067be7f30a62f6a2d7b3dd771018704e02d1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n        \"gas\": \"0x1ea78\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd7d0335b917925ca70486a29ea0385c7c17ca518ae99af75c6656539e2187b352000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000415d7020bee0af2653314529acdd4f640bea4d2cf4be227e67083f973b250ef63c212349e59d7ad242b38b4ef0aa033067be7f30a62f6a2d7b3dd771018704e02d1b00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x4f\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x389bc5d\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x7d0335b917925ca70486a29ea0385c7c17ca518ae99af75c6656539e2187b352\",\n            \"0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xb8e72f355adc9e6e269a0b5fe517159dc60f151883d036e551175fabb7a757d9\",\n          \"blockNumber\": \"0x9a256b\",\n          \"blockTimestamp\": \"0x6972b580\",\n          \"transactionHash\": \"0xd1b98d37b2d44fcf27ad5c2a127e6204a9f51c968b32579b325584b555edce4c\",\n          \"transactionIndex\": \"0x39\",\n          \"logIndex\": \"0x3f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x122e4dcdfee0c69f328f7ec98709e07ccfd59871bc9d4ebaeba3637c3fbaa6290000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xb8e72f355adc9e6e269a0b5fe517159dc60f151883d036e551175fabb7a757d9\",\n          \"blockNumber\": \"0x9a256b\",\n          \"blockTimestamp\": \"0x6972b580\",\n          \"transactionHash\": \"0xd1b98d37b2d44fcf27ad5c2a127e6204a9f51c968b32579b325584b555edce4c\",\n          \"transactionIndex\": \"0x39\",\n          \"logIndex\": \"0x40\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00008000400000040000000000000000010000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000000000000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000014020000000000000000000000100000000008000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xd1b98d37b2d44fcf27ad5c2a127e6204a9f51c968b32579b325584b555edce4c\",\n      \"transactionIndex\": \"0x39\",\n      \"blockHash\": \"0xb8e72f355adc9e6e269a0b5fe517159dc60f151883d036e551175fabb7a757d9\",\n      \"blockNumber\": \"0x9a256b\",\n      \"gasUsed\": \"0x16318\",\n      \"effectiveGasPrice\": \"0x3a0f0ab3\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1769125249283,\n  \"chain\": 11155111,\n  \"commit\": \"e1fb641\"\n}"
  },
  {
    "path": "sepolia/2026-01-08-op-stack-upgrade-18/records/ExecuteOPCM.s.sol/11155111/run-1769125284359.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303\",\n        \"0\",\n        \"0x858cc832000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f0a2e224519e876979ea6b2cd15ef5cc3d6703bd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4cbeda5a700000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f272670eb55e895584501d564afeb048bed26194033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e0323914d3050e80c3d09da528be54794fde60cd26849cd3410dde0da7cd7d4fa00000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n        \"gas\": \"0x11c33f\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c580130300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000001a4858cc832000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f0a2e224519e876979ea6b2cd15ef5cc3d6703bd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4cbeda5a700000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f272670eb55e895584501d564afeb048bed26194033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e0323914d3050e80c3d09da528be54794fde60cd26849cd3410dde0da7cd7d4fa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x50\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x754392\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c5801303000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000340000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001a4858cc832000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f0a2e224519e876979ea6b2cd15ef5cc3d6703bd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4cbeda5a700000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f272670eb55e895584501d564afeb048bed26194033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e0323914d3050e80c3d09da528be54794fde60cd26849cd3410dde0da7cd7d4fa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001d0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c7210000000000000000000000000000000000000000000000000000000000000002\",\n          \"blockHash\": \"0xe040d26c34046053268b6a7a4be42b601bea4b85e1bdfc4e00c19bb6de284279\",\n          \"blockNumber\": \"0x9a256e\",\n          \"blockTimestamp\": \"0x6972b5a4\",\n          \"transactionHash\": \"0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196\",\n          \"transactionIndex\": \"0x1d\",\n          \"logIndex\": \"0x1a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x000000000000000000000000d392c27b84b1ca776528f2704bc67b82a62132d2\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xe040d26c34046053268b6a7a4be42b601bea4b85e1bdfc4e00c19bb6de284279\",\n          \"blockNumber\": \"0x9a256e\",\n          \"blockTimestamp\": \"0x6972b5a4\",\n          \"transactionHash\": \"0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196\",\n          \"transactionIndex\": \"0x1d\",\n          \"logIndex\": \"0x1b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x49f53e41452c74589e85ca1677426ba426459e85\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x00000000000000000000000097cebbf8959e2a5476fbe9b98a21806ec234609b\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xe040d26c34046053268b6a7a4be42b601bea4b85e1bdfc4e00c19bb6de284279\",\n          \"blockNumber\": \"0x9a256e\",\n          \"blockTimestamp\": \"0x6972b5a4\",\n          \"transactionHash\": \"0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196\",\n          \"transactionIndex\": \"0x1d\",\n          \"logIndex\": \"0x1c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x2ff5cc82dbf333ea30d8ee462178ab1707315355\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x00000000000000000000000036398155cd17cfe804f69b233edda800dd4d5aa5\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xe040d26c34046053268b6a7a4be42b601bea4b85e1bdfc4e00c19bb6de284279\",\n          \"blockNumber\": \"0x9a256e\",\n          \"blockTimestamp\": \"0x6972b5a4\",\n          \"transactionHash\": \"0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196\",\n          \"transactionIndex\": \"0x1d\",\n          \"logIndex\": \"0x1d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xb1efb9650ad6d0cc1ed3ac4a0b7f1d5732696d37\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x0000000000000000000000008ee6fb13c6c9a7e401531168e196fbf8b05ceabb\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xe040d26c34046053268b6a7a4be42b601bea4b85e1bdfc4e00c19bb6de284279\",\n          \"blockNumber\": \"0x9a256e\",\n          \"blockTimestamp\": \"0x6972b5a4\",\n          \"transactionHash\": \"0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196\",\n          \"transactionIndex\": \"0x1d\",\n          \"logIndex\": \"0x1e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x000000000000000000000000c040f392e52cb6970ca8e110c280fe24e07c5e2c\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xe040d26c34046053268b6a7a4be42b601bea4b85e1bdfc4e00c19bb6de284279\",\n          \"blockNumber\": \"0x9a256e\",\n          \"blockTimestamp\": \"0x6972b5a4\",\n          \"transactionHash\": \"0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196\",\n          \"transactionIndex\": \"0x1d\",\n          \"logIndex\": \"0x1f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x709c2b8ef4a9fefc629a8a2c1af424dc5bd6ad1b\",\n          \"topics\": [\n            \"0x9416a153a346f93d95f94b064ae3f148b6460473c6e82b3f9fc2521b873fcd6c\",\n            \"0x3b4a6791a6879d27c0ceeea3f78f8ebe66a01905f4a1290a8c6aff3e85f4665a\"\n          ],\n          \"data\": \"0x000000000000000000000000b686f13aff1e427a1f993f29ab0f2e7383729fe0000000000000000000000000b686f13aff1e427a1f993f29ab0f2e7383729fe0\",\n          \"blockHash\": \"0xe040d26c34046053268b6a7a4be42b601bea4b85e1bdfc4e00c19bb6de284279\",\n          \"blockNumber\": \"0x9a256e\",\n          \"blockTimestamp\": \"0x6972b5a4\",\n          \"transactionHash\": \"0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196\",\n          \"transactionIndex\": \"0x1d\",\n          \"logIndex\": \"0x20\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x21efd066e581fa55ef105170cc04d74386a09190\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x00000000000000000000000074f1ac50eb0be98853805d381c884f5f9abdecf9\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xe040d26c34046053268b6a7a4be42b601bea4b85e1bdfc4e00c19bb6de284279\",\n          \"blockNumber\": \"0x9a256e\",\n          \"blockTimestamp\": \"0x6972b5a4\",\n          \"transactionHash\": \"0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196\",\n          \"transactionIndex\": \"0x1d\",\n          \"logIndex\": \"0x21\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n          \"topics\": [\n            \"0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de\",\n            \"0x00000000000000000000000058bf355c5d4edfc723ef89d99582eccfd143266a\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000001\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xe040d26c34046053268b6a7a4be42b601bea4b85e1bdfc4e00c19bb6de284279\",\n          \"blockNumber\": \"0x9a256e\",\n          \"blockTimestamp\": \"0x6972b5a4\",\n          \"transactionHash\": \"0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196\",\n          \"transactionIndex\": \"0x1d\",\n          \"logIndex\": \"0x22\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n          \"topics\": [\n            \"0xa47fcdf075d680d3817bfca7973b373e1a5f6cfc3b444748299cc2b83d8348f9\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000001\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a4033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e6463dee3828677f6270d83d45408044fc5edb9082ff5cc82dbf333ea30d8ee462178ab170731535532ce910d9c6c8f78dc6779c1499ab05f281a054e0000000000000000000000000000000000000000000000000000000000014a34037637067c1dbe6d2430616d8f54cb774daa59998b8c52b04a38f10515c52670fcb23f3c4c44474f00000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xe040d26c34046053268b6a7a4be42b601bea4b85e1bdfc4e00c19bb6de284279\",\n          \"blockNumber\": \"0x9a256e\",\n          \"blockTimestamp\": \"0x6972b5a4\",\n          \"transactionHash\": \"0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196\",\n          \"transactionIndex\": \"0x1d\",\n          \"logIndex\": \"0x23\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n          \"topics\": [\n            \"0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de\",\n            \"0x0000000000000000000000006ddba09bc4ccb0d6ca9fc5350580f74165707499\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xe040d26c34046053268b6a7a4be42b601bea4b85e1bdfc4e00c19bb6de284279\",\n          \"blockNumber\": \"0x9a256e\",\n          \"blockTimestamp\": \"0x6972b5a4\",\n          \"transactionHash\": \"0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196\",\n          \"transactionIndex\": \"0x1d\",\n          \"logIndex\": \"0x24\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n          \"topics\": [\n            \"0xa47fcdf075d680d3817bfca7973b373e1a5f6cfc3b444748299cc2b83d8348f9\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000007c033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e6463dee3828677f6270d83d45408044fc5edb9082ff5cc82dbf333ea30d8ee462178ab1707315355d3683e4947a7769603ab6418ec02f000ce3cf30b0000000000000000000000000000000000000000000000000000000000014a3400000000\",\n          \"blockHash\": \"0xe040d26c34046053268b6a7a4be42b601bea4b85e1bdfc4e00c19bb6de284279\",\n          \"blockNumber\": \"0x9a256e\",\n          \"blockTimestamp\": \"0x6972b5a4\",\n          \"transactionHash\": \"0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196\",\n          \"transactionIndex\": \"0x1d\",\n          \"logIndex\": \"0x25\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n          \"topics\": [\n            \"0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de\",\n            \"0x0000000000000000000000006ddba09bc4ccb0d6ca9fc5350580f74165707499\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000008\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xe040d26c34046053268b6a7a4be42b601bea4b85e1bdfc4e00c19bb6de284279\",\n          \"blockNumber\": \"0x9a256e\",\n          \"blockTimestamp\": \"0x6972b5a4\",\n          \"transactionHash\": \"0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196\",\n          \"transactionIndex\": \"0x1d\",\n          \"logIndex\": \"0x26\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n          \"topics\": [\n            \"0xa47fcdf075d680d3817bfca7973b373e1a5f6cfc3b444748299cc2b83d8348f9\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000008\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000007c0323914d3050e80c3d09da528be54794fde60cd26849cd3410dde0da7cd7d4fa6463dee3828677f6270d83d45408044fc5edb9082ff5cc82dbf333ea30d8ee462178ab1707315355d3683e4947a7769603ab6418ec02f000ce3cf30b0000000000000000000000000000000000000000000000000000000000014a3400000000\",\n          \"blockHash\": \"0xe040d26c34046053268b6a7a4be42b601bea4b85e1bdfc4e00c19bb6de284279\",\n          \"blockNumber\": \"0x9a256e\",\n          \"blockTimestamp\": \"0x6972b5a4\",\n          \"transactionHash\": \"0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196\",\n          \"transactionIndex\": \"0x1d\",\n          \"logIndex\": \"0x27\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n          \"topics\": [\n            \"0x74d6665c4b26d5596a5aa13d3014e0c06af4d322075a797f87b03cd4c5bc91ca\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000008\",\n            \"0x000000000000000000000000000000000000000000000000011c37937e080000\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xe040d26c34046053268b6a7a4be42b601bea4b85e1bdfc4e00c19bb6de284279\",\n          \"blockNumber\": \"0x9a256e\",\n          \"blockTimestamp\": \"0x6972b5a4\",\n          \"transactionHash\": \"0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196\",\n          \"transactionIndex\": \"0x1d\",\n          \"logIndex\": \"0x28\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x78bc67b9bf548ef6410becd31a3e10b9ea6c255974ef6b4530728b431df30030\",\n            \"0x0000000000000000000000000000000000000000000000000000000000014a34\",\n            \"0x000000000000000000000000f272670eb55e895584501d564afeb048bed26194\",\n            \"0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xe040d26c34046053268b6a7a4be42b601bea4b85e1bdfc4e00c19bb6de284279\",\n          \"blockNumber\": \"0x9a256e\",\n          \"blockTimestamp\": \"0x6972b5a4\",\n          \"transactionHash\": \"0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196\",\n          \"transactionIndex\": \"0x1d\",\n          \"logIndex\": \"0x29\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x7d0335b917925ca70486a29ea0385c7c17ca518ae99af75c6656539e2187b3520000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xe040d26c34046053268b6a7a4be42b601bea4b85e1bdfc4e00c19bb6de284279\",\n          \"blockNumber\": \"0x9a256e\",\n          \"blockTimestamp\": \"0x6972b5a4\",\n          \"transactionHash\": \"0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196\",\n          \"transactionIndex\": \"0x1d\",\n          \"logIndex\": \"0x2a\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400600000000000008000000400800000000000000000080044002000000081200000000000001040200000000000000000088000000010000048180200081000400000000040000104002024000040000840040000000001100000000000000020100000000008020000800000030000020000000000000000008200080200000000800000000000000000008040000000000000000000200000000000020000420008300000000000004020000000000010000040000884000000040040220000000080000000000020000000000000840200201018420400060000000202000400000000000000000000000000000000000000000000000040900\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196\",\n      \"transactionIndex\": \"0x1d\",\n      \"blockHash\": \"0xe040d26c34046053268b6a7a4be42b601bea4b85e1bdfc4e00c19bb6de284279\",\n      \"blockNumber\": \"0x9a256e\",\n      \"gasUsed\": \"0xcdc20\",\n      \"effectiveGasPrice\": \"0x40ee4a20\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1769125284359,\n  \"chain\": 11155111,\n  \"commit\": \"e1fb641\"\n}"
  },
  {
    "path": "sepolia/2026-01-08-op-stack-upgrade-18/script/ExecuteOPCM.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\n\nimport {Claim} from \"@eth-optimism-bedrock/src/dispute/lib/Types.sol\";\nimport {Constants} from \"@eth-optimism-bedrock/src/libraries/Constants.sol\";\nimport {\n    IOPContractsManager,\n    IOPContractsManagerStandardValidator,\n    ISystemConfig,\n    ISuperchainConfig\n} from \"@eth-optimism-bedrock/interfaces/L1/IOPContractsManager.sol\";\n\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\n\n/// @notice This script deploys new versions of OP contracts using the OP Contract Manager.\ncontract ExecuteOPCMScript is MultisigScript {\n    ISystemConfig internal immutable SYSTEM_CONFIG;\n    IOPContractsManager internal immutable OP_CONTRACT_MANAGER;\n    address public immutable OWNER_SAFE;\n    Claim immutable CANNON_ABSOLUTE_PRESTATE;\n    Claim immutable CANNON_KONA_ABSOLUTE_PRESTATE;\n\n    address internal immutable PROPOSER;\n    address internal immutable CHALLENGER;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n        SYSTEM_CONFIG = ISystemConfig(vm.envAddress(\"SYSTEM_CONFIG\"));\n        OP_CONTRACT_MANAGER = IOPContractsManager(vm.envAddress(\"OP_CONTRACT_MANAGER\"));\n        CANNON_ABSOLUTE_PRESTATE = Claim.wrap(vm.envBytes32(\"CANNON_ABSOLUTE_PRESTATE\"));\n        CANNON_KONA_ABSOLUTE_PRESTATE = Claim.wrap(vm.envBytes32(\"CANNON_KONA_ABSOLUTE_PRESTATE\"));\n        PROPOSER = vm.envAddress(\"PROPOSER\");\n        CHALLENGER = vm.envAddress(\"CHALLENGER\");\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        IOPContractsManagerStandardValidator.ValidationInputDev memory input =\n            IOPContractsManagerStandardValidator.ValidationInputDev({\n                sysCfg: SYSTEM_CONFIG,\n                cannonPrestate: Claim.unwrap(CANNON_ABSOLUTE_PRESTATE),\n                cannonKonaPrestate: Claim.unwrap(CANNON_KONA_ABSOLUTE_PRESTATE),\n                l2ChainID: SYSTEM_CONFIG.l2ChainId(),\n                proposer: PROPOSER\n            });\n\n        IOPContractsManagerStandardValidator.ValidationOverrides memory overrides =\n            IOPContractsManagerStandardValidator.ValidationOverrides(OWNER_SAFE, CHALLENGER);\n\n        OP_CONTRACT_MANAGER.validateWithOverrides(input, false, overrides);\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) {\n        IOPContractsManager.OpChainConfig memory baseConfig = IOPContractsManager.OpChainConfig({\n            systemConfigProxy: SYSTEM_CONFIG,\n            cannonPrestate: CANNON_ABSOLUTE_PRESTATE,\n            cannonKonaPrestate: CANNON_KONA_ABSOLUTE_PRESTATE\n        });\n\n        IOPContractsManager.OpChainConfig[] memory opChainConfigs = new IOPContractsManager.OpChainConfig[](1);\n        opChainConfigs[0] = baseConfig;\n\n        IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n\n        calls[0] = IMulticall3.Call3Value({\n            target: address(OP_CONTRACT_MANAGER),\n            allowFailure: false,\n            callData: abi.encodeCall(IOPContractsManager.upgrade, (opChainConfigs)),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _simulationOverrides()\n        internal\n        view\n        virtual\n        override\n        returns (Simulation.StateOverride[] memory overrides_)\n    {\n        // Get the superchain config address from the SystemConfig\n        ISuperchainConfig superchainConfig = ISuperchainConfig(SYSTEM_CONFIG.superchainConfig());\n        IOPContractsManager.Implementations memory impls = OP_CONTRACT_MANAGER.implementations();\n\n        // Mock the implementation slot of the superchain config if the version has not been upgraded yet.\n        bytes32 h1 = keccak256(abi.encode(ISuperchainConfig(impls.superchainConfigImpl).version()));\n        bytes32 h2 = keccak256(abi.encode(superchainConfig.version()));\n        if (h1 != h2) {\n            Simulation.StorageOverride[] memory storageOverrides = new Simulation.StorageOverride[](1);\n            storageOverrides[0] = Simulation.StorageOverride(\n                Constants.PROXY_IMPLEMENTATION_ADDRESS, bytes32(uint256(uint160(address(impls.superchainConfigImpl))))\n            );\n\n            overrides_ = new Simulation.StateOverride[](1);\n            overrides_[0] = Simulation.StateOverride(address(superchainConfig), storageOverrides);\n        }\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n\n    function _useDelegateCall() internal pure override returns (bool) {\n        return true;\n    }\n}\n"
  },
  {
    "path": "sepolia/2026-01-08-op-stack-upgrade-18/validations/coinbase-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net ExecuteOPCMScript --sig sign(address[]) [0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f,0x646132A1667ca7aD00d36616AFBA1A28116C770A] --sender 0x7f10098bd53519c739ca8a404afe127647d94774\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n    \"domainHash\": \"0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23\",\n    \"messageHash\": \"0xc04823b6609531ad4368ce45da2db1b021bede2d625ab253a6fd980ee299dedb\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Sepolia\",\n      \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2de179a993767af46a9a2a72f003b2a2f0066e106164aa25c8c8a5f7b282ca71\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Sepolia\",\n      \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000001d\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000001e\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xaa9f9365710009bcb0e19352bc155841be7e745b27af070da169a4e6447ff22e\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Stores approval on behalf of CB coordinator safe\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"AnchorStateRegistry - Sepolia\",\n      \"address\": \"0x2ff5cc82dbf333ea30d8ee462178ab1707315355\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e\",\n          \"after\": \"0x00000000000000000000000036398155cd17cfe804f69b233edda800dd4d5aa5\",\n          \"description\": \"Update address of AnchorStateRegistry to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"OptimismPortal - Sepolia\",\n      \"address\": \"0x49f53e41452c74589e85ca1677426ba426459e85\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x0000000000000000000000007cf803296662e8c72a6c1d6450572209acf7f202\",\n          \"after\": \"0x00000000000000000000000097cebbf8959e2a5476fbe9b98a21806ec234609b\",\n          \"description\": \"Update address of OptimismPortal to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Sepolia\",\n      \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000010\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000011\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Sepolia\",\n      \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000000c\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000000d\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x07bde6d68e86ef155f89aaf21b9a5bf53719106d2fb01429a40f1aae8f6d0077\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Stores approval on behalf of CB multisig\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"DisputeGameFactoryProxy - Sepolia\",\n      \"address\": \"0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n      \"changes\": [\n        {\n          \"key\": \"0x057a7f241532c73b242fd6e74e7fbd8cbc283dbc44ad194f17d900d9ac2e9251\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000006ddba09bc4ccb0d6ca9fc5350580f74165707499\",\n          \"description\": \"Set DisputeGameFactory.gameImpls[GameTypes.CANNON_KONA] to the new FaultDisputeGameV2 implementation.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6c\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0323914d3050e80c3d09da528be54794fde60cd26849cd3410dde0da7cd7d4fa\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, absolutePrestate) [word 1/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6d\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x6463dee3828677f6270d83d45408044fc5edb9082ff5cc82dbf333ea30d8ee46\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, vm/asr/weth packed) [word 2/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6e\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x2178ab1707315355d3683e4947a7769603ab6418ec02f000ce3cf30b00000000\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, vm/asr/weth packed) [word 3/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6f\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x00000000000000000000000000000000000000000000000000014a3400000000\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, l2ChainId=84532) [word 4/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea5\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, absolutePrestate) [word 1/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea6\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x6463dee3828677f6270d83d45408044fc5edb9082ff5cc82dbf333ea30d8ee46\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, vm/asr/weth packed) [word 2/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea7\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x2178ab1707315355d3683e4947a7769603ab6418ec02f000ce3cf30b00000000\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, vm/asr/weth packed) [word 3/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea8\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x00000000000000000000000000000000000000000000000000014a3400000000\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, l2ChainId=84532) [word 4/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x00000000000000000000000074fac1d45b98bae058f8f566201c9a81b85c7d50\",\n          \"after\": \"0x000000000000000000000000c040f392e52cb6970ca8e110c280fe24e07c5e2c\",\n          \"description\": \"Update DisputeGameFactory proxy implementation (EIP-1967 implementation slot).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x4702e508fba4ecc1593cbc19e848c196ab454e49b730050083694dc1976387d5\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000011c37937e080000\",\n          \"description\": \"Set DisputeGameFactory.initBonds[GameTypes.CANNON_KONA] (copied from GameTypes.CANNON).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e\",\n          \"before\": \"0x000000000000000000000000a1ae4fd5541a3e7a912e45560ed60d3edc5f9a05\",\n          \"after\": \"0x00000000000000000000000058bf355c5d4edfc723ef89d99582eccfd143266a\",\n          \"description\": \"Update DisputeGameFactory.gameImpls[GameTypes.PERMISSIONED_CANNON] to the new PermissionedDisputeGameV2 implementation.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x5843af22e99e7c98370145a5056245c244ce8ee852f4ef5e6d6a8e410a18cf41\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x00000000000000000000000000000000000000000000000000000000000000f9\",\n          \"description\": \"Set DisputeGameFactory.gameArgs[GameTypes.CANNON] length to 124 bytes (permissionless args).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9960260aaa22d230a3b999f6243d727fef99faebfaa949c961ad27031f2529b8\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x00000000000000000000000000000000000000000000000000000000000000f9\",\n          \"description\": \"Set DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] length to 124 bytes (permissionless args).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7c\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, absolutePrestate) [word 1/6].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7d\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x6463dee3828677f6270d83d45408044fc5edb9082ff5cc82dbf333ea30d8ee46\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, vm/asr/weth packed) [word 2/6].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7e\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x2178ab170731535532ce910d9c6c8f78dc6779c1499ab05f281a054e00000000\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, vm/asr/weth packed) [word 3/6].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7f\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x00000000000000000000000000000000000000000000000000014a3403763706\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, l2ChainId=84532 + packed data) [word 4/6].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa80\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x7c1dbe6d2430616d8f54cb774daa59998b8c52b04a38f10515c52670fcb23f3c\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, proposer packed) [word 5/6].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa81\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x4c44474f00000000000000000000000000000000000000000000000000000000\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, challenger packed) [word 6/6].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xc073f36c05b6a60b24c30a48974b549770d8fa354751fb3170c9dfd8ca536add\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000149\",\n          \"description\": \"Set DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] length to 164 bytes (permissioned args).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b\",\n          \"before\": \"0x000000000000000000000000ed839a2aa262eccc513308fe7b8f39088ff8e992\",\n          \"after\": \"0x0000000000000000000000006ddba09bc4ccb0d6ca9fc5350580f74165707499\",\n          \"description\": \"Update DisputeGameFactory.gameImpls[GameTypes.CANNON] to the new FaultDisputeGameV2 implementation.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Sepolia\",\n      \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x0000000000000000000000002fa28989fc559836e9d66dff3010c7f7f41c65ed\",\n          \"after\": \"0x000000000000000000000000d392c27b84b1ca776528f2704bc67b82a62132d2\",\n          \"description\": \"Update address of SystemConfig to new implementation.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "sepolia/2026-01-08-op-stack-upgrade-18/validations/optimism-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net ExecuteOPCMScript --sig sign(address[]) [0x6AF0674791925f767060Dd52f7fB20984E8639d8] --sender 0x0CF2F86C3338993ce10F74d6f4B095712c7efe26\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n    \"domainHash\": \"0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa\",\n    \"messageHash\": \"0x586a1e6e021547b9e399bf2131f675f381803a98c015e69207a5c52bb974bb80\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Mock OP Safe - Sepolia\",\n      \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"overrides\": [\n        {\n          \"key\": \"0x76669a870a0a893b9f95d3350255887f61be13a1a97fdd5bea0d10f6ed52b8af\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000001d\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000001e\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x7c1520b79abc832538c8577258615b929d391fc6555588ffbf7178869627700e\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Stores approval on behalf of OP safe\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"AnchorStateRegistry - Sepolia\",\n      \"address\": \"0x2ff5cc82dbf333ea30d8ee462178ab1707315355\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e\",\n          \"after\": \"0x00000000000000000000000036398155cd17cfe804f69b233edda800dd4d5aa5\",\n          \"description\": \"Update address of AnchorStateRegistry to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"OptimismPortal - Sepolia\",\n      \"address\": \"0x49f53e41452c74589e85ca1677426ba426459e85\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x0000000000000000000000007cf803296662e8c72a6c1d6450572209acf7f202\",\n          \"after\": \"0x00000000000000000000000097cebbf8959e2a5476fbe9b98a21806ec234609b\",\n          \"description\": \"Update address of OptimismPortal to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Mock OP Safe - Sepolia\",\n      \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000016\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000017\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"DisputeGameFactoryProxy - Sepolia\",\n      \"address\": \"0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n      \"changes\": [\n        {\n          \"key\": \"0x057a7f241532c73b242fd6e74e7fbd8cbc283dbc44ad194f17d900d9ac2e9251\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000006ddba09bc4ccb0d6ca9fc5350580f74165707499\",\n          \"description\": \"Set DisputeGameFactory.gameImpls[GameTypes.CANNON_KONA] to the new FaultDisputeGameV2 implementation.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6c\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0323914d3050e80c3d09da528be54794fde60cd26849cd3410dde0da7cd7d4fa\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, absolutePrestate) [word 1/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6d\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x6463dee3828677f6270d83d45408044fc5edb9082ff5cc82dbf333ea30d8ee46\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, vm/asr/weth packed) [word 2/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6e\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x2178ab1707315355d3683e4947a7769603ab6418ec02f000ce3cf30b00000000\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, vm/asr/weth packed) [word 3/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6f\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x00000000000000000000000000000000000000000000000000014a3400000000\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, l2ChainId=84532) [word 4/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea5\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, absolutePrestate) [word 1/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea6\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x6463dee3828677f6270d83d45408044fc5edb9082ff5cc82dbf333ea30d8ee46\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, vm/asr/weth packed) [word 2/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea7\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x2178ab1707315355d3683e4947a7769603ab6418ec02f000ce3cf30b00000000\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, vm/asr/weth packed) [word 3/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea8\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x00000000000000000000000000000000000000000000000000014a3400000000\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, l2ChainId=84532) [word 4/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x00000000000000000000000074fac1d45b98bae058f8f566201c9a81b85c7d50\",\n          \"after\": \"0x000000000000000000000000c040f392e52cb6970ca8e110c280fe24e07c5e2c\",\n          \"description\": \"Update DisputeGameFactory proxy implementation (EIP-1967 implementation slot).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x4702e508fba4ecc1593cbc19e848c196ab454e49b730050083694dc1976387d5\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000011c37937e080000\",\n          \"description\": \"Set DisputeGameFactory.initBonds[GameTypes.CANNON_KONA] (copied from GameTypes.CANNON).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e\",\n          \"before\": \"0x000000000000000000000000a1ae4fd5541a3e7a912e45560ed60d3edc5f9a05\",\n          \"after\": \"0x00000000000000000000000058bf355c5d4edfc723ef89d99582eccfd143266a\",\n          \"description\": \"Update DisputeGameFactory.gameImpls[GameTypes.PERMISSIONED_CANNON] to the new PermissionedDisputeGameV2 implementation.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x5843af22e99e7c98370145a5056245c244ce8ee852f4ef5e6d6a8e410a18cf41\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x00000000000000000000000000000000000000000000000000000000000000f9\",\n          \"description\": \"Set DisputeGameFactory.gameArgs[GameTypes.CANNON] length to 124 bytes (permissionless args).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9960260aaa22d230a3b999f6243d727fef99faebfaa949c961ad27031f2529b8\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x00000000000000000000000000000000000000000000000000000000000000f9\",\n          \"description\": \"Set DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] length to 124 bytes (permissionless args).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7c\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, absolutePrestate) [word 1/6].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7d\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x6463dee3828677f6270d83d45408044fc5edb9082ff5cc82dbf333ea30d8ee46\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, vm/asr/weth packed) [word 2/6].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7e\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x2178ab170731535532ce910d9c6c8f78dc6779c1499ab05f281a054e00000000\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, vm/asr/weth packed) [word 3/6].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7f\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x00000000000000000000000000000000000000000000000000014a3403763706\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, l2ChainId=84532 + packed data) [word 4/6].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa80\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x7c1dbe6d2430616d8f54cb774daa59998b8c52b04a38f10515c52670fcb23f3c\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, proposer packed) [word 5/6].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa81\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x4c44474f00000000000000000000000000000000000000000000000000000000\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, challenger packed) [word 6/6].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xc073f36c05b6a60b24c30a48974b549770d8fa354751fb3170c9dfd8ca536add\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000149\",\n          \"description\": \"Set DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] length to 164 bytes (permissioned args).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b\",\n          \"before\": \"0x000000000000000000000000ed839a2aa262eccc513308fe7b8f39088ff8e992\",\n          \"after\": \"0x0000000000000000000000006ddba09bc4ccb0d6ca9fc5350580f74165707499\",\n          \"description\": \"Update DisputeGameFactory.gameImpls[GameTypes.CANNON] to the new FaultDisputeGameV2 implementation.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Sepolia\",\n      \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x0000000000000000000000002fa28989fc559836e9d66dff3010c7f7f41c65ed\",\n          \"after\": \"0x000000000000000000000000d392c27b84b1ca776528f2704bc67b82a62132d2\",\n          \"description\": \"Update address of SystemConfig to new implementation.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "sepolia/2026-01-08-op-stack-upgrade-18/validations/security-council-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net ExecuteOPCMScript --sig sign(address[]) [0x6AF0674791925f767060Dd52f7fB20984E8639d8,0x646132A1667ca7aD00d36616AFBA1A28116C770A] --sender 0x7f10098bd53519c739ca8a404afe127647d94774\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n    \"domainHash\": \"0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa\",\n    \"messageHash\": \"0x2b6ed09d1939f371236421ab268bbbecd6f11b178060fe6d9a986ab672dbe355\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Sepolia\",\n      \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Mock Security Council - Sepolia\",\n      \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"overrides\": [\n        {\n          \"key\": \"0xd857b38dca98a023b2702f410237285387f525286eb22f314cc2165fd507126c\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000001d\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000001e\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xaa9f9365710009bcb0e19352bc155841be7e745b27af070da169a4e6447ff22e\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Stores approval on behalf of CB coordinator safe\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"AnchorStateRegistry - Sepolia\",\n      \"address\": \"0x2ff5cc82dbf333ea30d8ee462178ab1707315355\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e\",\n          \"after\": \"0x00000000000000000000000036398155cd17cfe804f69b233edda800dd4d5aa5\",\n          \"description\": \"Update address of AnchorStateRegistry to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"OptimismPortal - Sepolia\",\n      \"address\": \"0x49f53e41452c74589e85ca1677426ba426459e85\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x0000000000000000000000007cf803296662e8c72a6c1d6450572209acf7f202\",\n          \"after\": \"0x00000000000000000000000097cebbf8959e2a5476fbe9b98a21806ec234609b\",\n          \"description\": \"Update address of OptimismPortal to new implementation\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Sepolia\",\n      \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000000c\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000000d\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xead746436a15f47d8b59b9b583217e10d051370b76caefca7151be7981e818ba\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Stores approval on behalf of SC multisig\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Mock Security Council - Sepolia\",\n      \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000015\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000016\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"DisputeGameFactoryProxy - Sepolia\",\n      \"address\": \"0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n      \"changes\": [\n        {\n          \"key\": \"0x057a7f241532c73b242fd6e74e7fbd8cbc283dbc44ad194f17d900d9ac2e9251\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000006ddba09bc4ccb0d6ca9fc5350580f74165707499\",\n          \"description\": \"Set DisputeGameFactory.gameImpls[GameTypes.CANNON_KONA] to the new FaultDisputeGameV2 implementation.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6c\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0323914d3050e80c3d09da528be54794fde60cd26849cd3410dde0da7cd7d4fa\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, absolutePrestate) [word 1/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6d\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x6463dee3828677f6270d83d45408044fc5edb9082ff5cc82dbf333ea30d8ee46\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, vm/asr/weth packed) [word 2/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6e\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x2178ab1707315355d3683e4947a7769603ab6418ec02f000ce3cf30b00000000\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, vm/asr/weth packed) [word 3/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6f\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x00000000000000000000000000000000000000000000000000014a3400000000\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, l2ChainId=84532) [word 4/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea5\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, absolutePrestate) [word 1/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea6\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x6463dee3828677f6270d83d45408044fc5edb9082ff5cc82dbf333ea30d8ee46\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, vm/asr/weth packed) [word 2/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea7\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x2178ab1707315355d3683e4947a7769603ab6418ec02f000ce3cf30b00000000\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, vm/asr/weth packed) [word 3/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea8\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x00000000000000000000000000000000000000000000000000014a3400000000\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, l2ChainId=84532) [word 4/4].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x00000000000000000000000074fac1d45b98bae058f8f566201c9a81b85c7d50\",\n          \"after\": \"0x000000000000000000000000c040f392e52cb6970ca8e110c280fe24e07c5e2c\",\n          \"description\": \"Update DisputeGameFactory proxy implementation (EIP-1967 implementation slot).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x4702e508fba4ecc1593cbc19e848c196ab454e49b730050083694dc1976387d5\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000011c37937e080000\",\n          \"description\": \"Set DisputeGameFactory.initBonds[GameTypes.CANNON_KONA] (copied from GameTypes.CANNON).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e\",\n          \"before\": \"0x000000000000000000000000a1ae4fd5541a3e7a912e45560ed60d3edc5f9a05\",\n          \"after\": \"0x00000000000000000000000058bf355c5d4edfc723ef89d99582eccfd143266a\",\n          \"description\": \"Update DisputeGameFactory.gameImpls[GameTypes.PERMISSIONED_CANNON] to the new PermissionedDisputeGameV2 implementation.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x5843af22e99e7c98370145a5056245c244ce8ee852f4ef5e6d6a8e410a18cf41\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x00000000000000000000000000000000000000000000000000000000000000f9\",\n          \"description\": \"Set DisputeGameFactory.gameArgs[GameTypes.CANNON] length to 124 bytes (permissionless args).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9960260aaa22d230a3b999f6243d727fef99faebfaa949c961ad27031f2529b8\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x00000000000000000000000000000000000000000000000000000000000000f9\",\n          \"description\": \"Set DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] length to 124 bytes (permissionless args).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7c\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, absolutePrestate) [word 1/6].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7d\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x6463dee3828677f6270d83d45408044fc5edb9082ff5cc82dbf333ea30d8ee46\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, vm/asr/weth packed) [word 2/6].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7e\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x2178ab170731535532ce910d9c6c8f78dc6779c1499ab05f281a054e00000000\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, vm/asr/weth packed) [word 3/6].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7f\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x00000000000000000000000000000000000000000000000000014a3403763706\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, l2ChainId=84532 + packed data) [word 4/6].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa80\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x7c1dbe6d2430616d8f54cb774daa59998b8c52b04a38f10515c52670fcb23f3c\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, proposer packed) [word 5/6].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa81\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x4c44474f00000000000000000000000000000000000000000000000000000000\",\n          \"description\": \"Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, challenger packed) [word 6/6].\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xc073f36c05b6a60b24c30a48974b549770d8fa354751fb3170c9dfd8ca536add\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000149\",\n          \"description\": \"Set DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] length to 164 bytes (permissioned args).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b\",\n          \"before\": \"0x000000000000000000000000ed839a2aa262eccc513308fe7b8f39088ff8e992\",\n          \"after\": \"0x0000000000000000000000006ddba09bc4ccb0d6ca9fc5350580f74165707499\",\n          \"description\": \"Update DisputeGameFactory.gameImpls[GameTypes.CANNON] to the new FaultDisputeGameV2 implementation.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Sepolia\",\n      \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x0000000000000000000000002fa28989fc559836e9d66dff3010c7f7f41c65ed\",\n          \"after\": \"0x000000000000000000000000d392c27b84b1ca776528f2704bc67b82a62132d2\",\n          \"description\": \"Update address of SystemConfig to new implementation.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "sepolia/2026-02-10-update-system-config-params/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 1\nendif\n\nRPC_URL = $(L1_RPC_URL)\nSCRIPT_NAME = UpdateSystemConfigParamsScript\n\n.PHONY: gen-validation\ngen-validation: checkout-signer-tool run-script\n\n.PHONY: run-script\nrun-script:\n\tmkdir -p validations; \\\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \\\n\t--workdir .. --forge-cmd 'NEW_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tNEW_ELASTICITY=$(NEW_ELASTICITY) NEW_DENOMINATOR=$(NEW_DENOMINATOR) \\\n\tNEW_MIN_BASE_FEE=$(NEW_MIN_BASE_FEE) \\\n\tNEW_DA_FOOTPRINT_GAS_SCALAR=$(NEW_DA_FOOTPRINT_GAS_SCALAR) \\\n\tforge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" [] --sender $(SENDER)' --out ../validations/base-signer.json;\n\n.PHONY: execute\nexecute:\n\tNEW_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tNEW_ELASTICITY=$(NEW_ELASTICITY) \\\n\tNEW_DENOMINATOR=$(NEW_DENOMINATOR) \\\n\tNEW_MIN_BASE_FEE=$(NEW_MIN_BASE_FEE) \\\n\tNEW_DA_FOOTPRINT_GAS_SCALAR=$(NEW_DA_FOOTPRINT_GAS_SCALAR) \\\n\t$(call MULTISIG_EXECUTE,$(SIGNATURES))\n"
  },
  {
    "path": "sepolia/2026-02-10-update-system-config-params/README.md",
    "content": "# Update SystemConfig Parameters on Base Sepolia\n\nStatus: [EXECUTED](https://sepolia.etherscan.io/tx/0x448c6318e1f6fb2f247944d4377a977158f07a56eb84a19362ecfeca770e3a06) ([artefact](./records/UpdateSystemConfigParams.s.sol/11155111/run-1770758365511.json))\n\n## Description\n\nThis task brings Base Sepolia's SystemConfig parameters to parity with Base Mainnet by updating:\n\n| Parameter | From (Sepolia) | To (Mainnet parity) |\n|-----------|----------------|---------------------|\n| Gas Limit | 60,000,000 | 375,000,000 |\n| EIP-1559 Elasticity | 4 | 6 |\n| EIP-1559 Denominator | 50 | 125 |\n| Min Base Fee | 200,000 wei | 2,000,000 wei |\n| DA Footprint Gas Scalar | 312 | 139 |\n\nThe DA footprint gas scalar targets 14 blobs per L1 block, matching mainnet:\n\n```\nda_footprint_gas_scalar = gas_limit / (elasticity * target_blob_count * 32,000)\n                        = 375,000,000 / (6 * 14 * 32,000) = 139\n```\n\nThis runbook invokes the `UpdateSystemConfigParamsScript` defined in the [base/contracts](https://github.com/base/contracts) repository. The values we are sending are statically defined in the `.env` file.\n\n## Install dependencies\n\n### 1. Update foundry\n\n```bash\nfoundryup\n```\n\n### 2. Install Node.js if needed\n\nFirst, check if you have node installed\n\n```bash\nnode --version\n```\n\nIf you see a version output from the above command, you can move on. Otherwise, install node\n\n```bash\nbrew install node\n```\n\n## Approving the Update transaction\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root).\n\n```bash\nmake sign-task\n```\n\n### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\nBe sure to select the correct task user from the list of available users to sign.\nAfter completion, the signer tool can be closed by using Ctrl + C.\n\n### 4. Send signature to facilitator\n\n## Prep (maintainers)\n\n```bash\ncd contract-deployments\ngit pull\ncd sepolia/2026-02-10-update-system-config-params\nmake deps\nmake gen-validation\n```\n\n## Execute (facilitator)\n\n1. Collect signatures from all signers and export: `export SIGNATURES=\"0x[sig1][sig2]...\"`.\n2. Run: `make execute`\n"
  },
  {
    "path": "sepolia/2026-02-10-update-system-config-params/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "sepolia/2026-02-10-update-system-config-params/records/UpdateSystemConfigParams.s.sol/11155111/run-1770758365511.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x448c6318e1f6fb2f247944d4377a977158f07a56eb84a19362ecfeca770e3a06\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000340000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b41000000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024b40a817c00000000000000000000000000000000000000000000000000000000165a0bc000000000000000000000000000000000000000000000000000000000000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000247616f0e800000000000000000000000000000000000000000000000000000000001e848000000000000000000000000000000000000000000000000000000000000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000002420f06fdc000000000000000000000000000000000000000000000000000000000000008b00000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x09736418fcd51baffc3c3465c30fe7c3c4e09cc21aaa32f5fe6c551411cec0021b1350daaea38162914beed1ee918130b19a4bf42f6686f1afcf9ec01903254d1cd04e40e51e9efa6a1b11e352c5367fe6f9907867ad13364042fc57bf7b696d01712286ac2ab8c75acca72a3dbf105298bb6a4e67f0bc05315b2b5e0678364fc01b0c819c37fdfe64c8b5c22830c780b5861e938f9bcc96548fbb814f99ee942f585ace88762c6e63968619bd5eeba4009a33ee4d04ae3eff509016d989f4e600461b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x6e427c3212c0b63be0c382f97715d49b011bff33\",\n        \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n        \"gas\": \"0x2b4dd\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005e00000000000000000000000000000000000000000000000000000000000000464174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000340000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b41000000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024b40a817c00000000000000000000000000000000000000000000000000000000165a0bc000000000000000000000000000000000000000000000000000000000000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000247616f0e800000000000000000000000000000000000000000000000000000000001e848000000000000000000000000000000000000000000000000000000000000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000002420f06fdc000000000000000000000000000000000000000000000000000000000000008b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c309736418fcd51baffc3c3465c30fe7c3c4e09cc21aaa32f5fe6c551411cec0021b1350daaea38162914beed1ee918130b19a4bf42f6686f1afcf9ec01903254d1cd04e40e51e9efa6a1b11e352c5367fe6f9907867ad13364042fc57bf7b696d01712286ac2ab8c75acca72a3dbf105298bb6a4e67f0bc05315b2b5e0678364fc01b0c819c37fdfe64c8b5c22830c780b5861e938f9bcc96548fbb814f99ee942f585ace88762c6e63968619bd5eeba4009a33ee4d04ae3eff509016d989f4e600461b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x1a8\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x389aa42\",\n      \"logs\": [\n        {\n          \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000004\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000007d00000006\",\n          \"blockHash\": \"0x824476c8b031f24a60e642c786422a088f1ddfd7678fff38af26e9cb7df16139\",\n          \"blockNumber\": \"0x9c2895\",\n          \"blockTimestamp\": \"0x698ba0dc\",\n          \"transactionHash\": \"0x448c6318e1f6fb2f247944d4377a977158f07a56eb84a19362ecfeca770e3a06\",\n          \"transactionIndex\": \"0x74\",\n          \"logIndex\": \"0x96\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000002\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000165a0bc0\",\n          \"blockHash\": \"0x824476c8b031f24a60e642c786422a088f1ddfd7678fff38af26e9cb7df16139\",\n          \"blockNumber\": \"0x9c2895\",\n          \"blockTimestamp\": \"0x698ba0dc\",\n          \"transactionHash\": \"0x448c6318e1f6fb2f247944d4377a977158f07a56eb84a19362ecfeca770e3a06\",\n          \"transactionIndex\": \"0x74\",\n          \"logIndex\": \"0x97\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000006\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000001e8480\",\n          \"blockHash\": \"0x824476c8b031f24a60e642c786422a088f1ddfd7678fff38af26e9cb7df16139\",\n          \"blockNumber\": \"0x9c2895\",\n          \"blockTimestamp\": \"0x698ba0dc\",\n          \"transactionHash\": \"0x448c6318e1f6fb2f247944d4377a977158f07a56eb84a19362ecfeca770e3a06\",\n          \"transactionIndex\": \"0x74\",\n          \"logIndex\": \"0x98\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000007\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000008b\",\n          \"blockHash\": \"0x824476c8b031f24a60e642c786422a088f1ddfd7678fff38af26e9cb7df16139\",\n          \"blockNumber\": \"0x9c2895\",\n          \"blockTimestamp\": \"0x698ba0dc\",\n          \"transactionHash\": \"0x448c6318e1f6fb2f247944d4377a977158f07a56eb84a19362ecfeca770e3a06\",\n          \"transactionIndex\": \"0x74\",\n          \"logIndex\": \"0x99\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0xadd77f56d6676089f4127648ced5d8bfcc0d1ee045e39015e138e27c1c69b60e\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x824476c8b031f24a60e642c786422a088f1ddfd7678fff38af26e9cb7df16139\",\n          \"blockNumber\": \"0x9c2895\",\n          \"blockTimestamp\": \"0x698ba0dc\",\n          \"transactionHash\": \"0x448c6318e1f6fb2f247944d4377a977158f07a56eb84a19362ecfeca770e3a06\",\n          \"transactionIndex\": \"0x74\",\n          \"logIndex\": \"0x9a\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x04000000400000000000000000000000000000000000000000000000040000040000000000000000000000000000000000001000000408000000000000000400000020000000000000000000000000000000000000000000000800000000000008000000020100000000000000000800000000000000000000000000000000000000000400000000000000040000000000000000000000000000000000000000000000000000000000000100000404000000000000000000002000880000000000000000000000000000000000000000000000008000000000000500000020000000000000000000000040000000000000800000008000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x448c6318e1f6fb2f247944d4377a977158f07a56eb84a19362ecfeca770e3a06\",\n      \"transactionIndex\": \"0x74\",\n      \"blockHash\": \"0x824476c8b031f24a60e642c786422a088f1ddfd7678fff38af26e9cb7df16139\",\n      \"blockNumber\": \"0x9c2895\",\n      \"gasUsed\": \"0x1d9c1\",\n      \"effectiveGasPrice\": \"0x390604d6\",\n      \"from\": \"0x6e427c3212c0b63be0c382f97715d49b011bff33\",\n      \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1770758365511,\n  \"chain\": 11155111,\n  \"commit\": \"532d692\"\n}"
  },
  {
    "path": "sepolia/2026-02-10-update-system-config-params/script/UpdateSystemConfigParams.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\n\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\n\ninterface ISystemConfig {\n    function eip1559Elasticity() external view returns (uint32);\n    function eip1559Denominator() external view returns (uint32);\n    function setEIP1559Params(uint32 _denominator, uint32 _elasticity) external;\n    function gasLimit() external view returns (uint64);\n    function setGasLimit(uint64 _gasLimit) external;\n    function minBaseFee() external view returns (uint64);\n    function setMinBaseFee(uint64 _minBaseFee) external;\n    function daFootprintGasScalar() external view returns (uint16);\n    function setDAFootprintGasScalar(uint16 _daFootprintGasScalar) external;\n}\n\ncontract UpdateSystemConfigParamsScript is MultisigScript {\n    address internal immutable OWNER_SAFE;\n    address internal immutable SYSTEM_CONFIG;\n\n    uint64 internal immutable NEW_GAS_LIMIT;\n    uint32 internal immutable NEW_ELASTICITY;\n    uint32 internal immutable NEW_DENOMINATOR;\n    uint64 internal immutable NEW_MIN_BASE_FEE;\n    uint16 internal immutable NEW_DA_FOOTPRINT_GAS_SCALAR;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n        SYSTEM_CONFIG = vm.envAddress(\"SYSTEM_CONFIG\");\n\n        NEW_GAS_LIMIT = uint64(vm.envUint(\"NEW_GAS_LIMIT\"));\n        NEW_ELASTICITY = uint32(vm.envUint(\"NEW_ELASTICITY\"));\n        NEW_DENOMINATOR = uint32(vm.envUint(\"NEW_DENOMINATOR\"));\n        NEW_MIN_BASE_FEE = uint64(vm.envUint(\"NEW_MIN_BASE_FEE\"));\n        NEW_DA_FOOTPRINT_GAS_SCALAR = uint16(vm.envUint(\"NEW_DA_FOOTPRINT_GAS_SCALAR\"));\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Denominator(), NEW_DENOMINATOR, \"Denominator mismatch\");\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity(), NEW_ELASTICITY, \"Elasticity mismatch\");\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).gasLimit(), NEW_GAS_LIMIT, \"Gas Limit mismatch\");\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).minBaseFee(), NEW_MIN_BASE_FEE, \"Min Base Fee mismatch\");\n        vm.assertEq(\n            ISystemConfig(SYSTEM_CONFIG).daFootprintGasScalar(),\n            NEW_DA_FOOTPRINT_GAS_SCALAR,\n            \"DA Footprint Gas Scalar mismatch\"\n        );\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) {\n        IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](4);\n\n        calls[0] = IMulticall3.Call3Value({\n            target: SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(ISystemConfig.setEIP1559Params, (NEW_DENOMINATOR, NEW_ELASTICITY)),\n            value: 0\n        });\n\n        calls[1] = IMulticall3.Call3Value({\n            target: SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(ISystemConfig.setGasLimit, (NEW_GAS_LIMIT)),\n            value: 0\n        });\n\n        calls[2] = IMulticall3.Call3Value({\n            target: SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(ISystemConfig.setMinBaseFee, (NEW_MIN_BASE_FEE)),\n            value: 0\n        });\n\n        calls[3] = IMulticall3.Call3Value({\n            target: SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(ISystemConfig.setDAFootprintGasScalar, (NEW_DA_FOOTPRINT_GAS_SCALAR)),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "sepolia/2026-02-10-update-system-config-params/validations/base-signer.json",
    "content": "{\n  \"cmd\": \"NEW_GAS_LIMIT=375000000 NEW_ELASTICITY=6 NEW_DENOMINATOR=125 NEW_MIN_BASE_FEE=2000000 NEW_DA_FOOTPRINT_GAS_SCALAR=139 forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net UpdateSystemConfigParamsScript --sig sign(address[]) [] --sender 0xb2d9a52e76841279EF0372c534C539a4f68f8C0B\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f\",\n    \"domainHash\": \"0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23\",\n    \"messageHash\": \"0x41dd7da37d1178899ce0fdd3c7827353d3d6dc8740c1481b1dcb30425d19d437\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"CB Signer Safe - Sepolia\",\n      \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xae21e3a06579a6f2a68863f5054be58a7e52062d0aed65fa74ea79760cc6f48b\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"CB Signer Safe - Sepolia\",\n      \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000011\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000012\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Sepolia\",\n      \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000068\",\n          \"before\": \"0x00000000000000000000000000000000000a118b0000044d0000000003938700\",\n          \"after\": \"0x00000000000000000000000000000000000a118b0000044d00000000165a0bc0\",\n          \"description\": \"Updates the gas limit from 60,000,000 to 375,000,000\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006a\",\n          \"before\": \"0x0000000000000000000001380000000000000000000000000000000400000032\",\n          \"after\": \"0x00000000000000000000008b000000000000000000000000000000060000007d\",\n          \"description\": \"Updates EIP-1559 params (denominator, elasticity) and DA Footprint Gas Scalar for the chain\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006c\",\n          \"before\": \"0x000000000000000000030d40c2be75506d5724086deb7245bd260cc9753911be\",\n          \"after\": \"0x0000000000000000001e8480c2be75506d5724086deb7245bd260cc9753911be\",\n          \"description\": \"Updates the min base fee from 200,000 to 2,000,000 wei\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "sepolia/2026-02-17-update-min-base-fee/FACILITATOR.md",
    "content": "# Facilitator Guide\n\nGuide for facilitators after collecting signatures from signers.\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd sepolia/2026-02-17-update-min-base-fee\nmake deps\n```\n\n### 2. Execute upgrade\n\n```bash\nSIGNATURES=AAABBBCCC make execute\n```\n\n### 3. (**ONLY** if needed) Execute upgrade rollback\n\n> [!IMPORTANT]\n> \n> THIS SHOULD ONLY BE PERFORMED IN THE EVENT THAT WE NEED TO ROLLBACK\n\n```bash\nSIGNATURES=AAABBBCCC make execute-rollback\n```\n"
  },
  {
    "path": "sepolia/2026-02-17-update-min-base-fee/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 1\nendif\n\nifndef ROLLBACK_NONCE_OFFSET\noverride ROLLBACK_NONCE_OFFSET = 1\nendif\n\nRPC_URL = $(L1_RPC_URL)\nSCRIPT_NAME = SetMinBaseFeeScript\n\n# Validate required configuration before execution\n.PHONY: validate-config\nvalidate-config:\n\t@test -n \"$(OP_COMMIT)\" -a \"$(OP_COMMIT)\" != \"TODO\" || (echo \"OP_COMMIT required\" && exit 1)\n\t@test -n \"$(BASE_CONTRACTS_COMMIT)\" -a \"$(BASE_CONTRACTS_COMMIT)\" != \"TODO\" || (echo \"BASE_CONTRACTS_COMMIT required\" && exit 1)\n\t@test -n \"$(OWNER_SAFE)\" || (echo \"OWNER_SAFE required\" && exit 1)\n\t@test -n \"$(SYSTEM_CONFIG)\" || (echo \"SYSTEM_CONFIG required\" && exit 1)\n\t@test -n \"$(SENDER)\" || (echo \"SENDER required\" && exit 1)\n\t@test -n \"$(OLD_MIN_BASE_FEE)\" -a \"$(OLD_MIN_BASE_FEE)\" != \"TODO\" || (echo \"OLD_MIN_BASE_FEE required\" && exit 1)\n\t@test -n \"$(NEW_MIN_BASE_FEE)\" -a \"$(NEW_MIN_BASE_FEE)\" != \"TODO\" || (echo \"NEW_MIN_BASE_FEE required\" && exit 1)\n\t@echo \"Configuration validated successfully\"\n\n.PHONY: gen-validation\ngen-validation: validate-config checkout-signer-tool run-script\n\n.PHONY: run-script\nrun-script:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) --ledger-id $(LEDGER_ACCOUNT) \\\n\t--workdir .. --forge-cmd 'NEW_MIN_BASE_FEE=$(NEW_MIN_BASE_FEE) \\\n\tOLD_MIN_BASE_FEE=$(OLD_MIN_BASE_FEE) \\\n\tforge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" [] --sender $(SENDER)' --out ../validations/base-signer.json;\n\n.PHONY: execute\nexecute: validate-config\n\tNEW_MIN_BASE_FEE=$(NEW_MIN_BASE_FEE) \\\n\tOLD_MIN_BASE_FEE=$(OLD_MIN_BASE_FEE) \\\n\t$(call MULTISIG_EXECUTE,$(SIGNATURES))\n\n.PHONY: gen-validation-rollback\ngen-validation-rollback: validate-config checkout-signer-tool run-script-rollback\n\n.PHONY: run-script-rollback\nrun-script-rollback:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) --ledger-id $(LEDGER_ACCOUNT) \\\n\t--workdir .. --forge-cmd 'OLD_MIN_BASE_FEE=$(NEW_MIN_BASE_FEE) \\\n\tNEW_MIN_BASE_FEE=$(OLD_MIN_BASE_FEE) \\\n\tSAFE_NONCE=$(shell expr $$(cast call $(OWNER_SAFE) \"nonce()\" --rpc-url $(RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \\\n\tforge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" [] --sender $(SENDER)' --out ../validations/base-signer-rollback.json;\n\n.PHONY: execute-rollback\nexecute-rollback: validate-config\n\tOLD_MIN_BASE_FEE=$(NEW_MIN_BASE_FEE) \\\n\tNEW_MIN_BASE_FEE=$(OLD_MIN_BASE_FEE) \\\n\tSAFE_NONCE=$(shell expr $$(cast call $(OWNER_SAFE) \"nonce()\" --rpc-url $(RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \\\n\tforge script --rpc-url $(RPC_URL) $(SCRIPT_NAME) \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast\n"
  },
  {
    "path": "sepolia/2026-02-17-update-min-base-fee/README.md",
    "content": "# Update Min Base Fee in L1 `SystemConfig`\n\nStatus: [EXECUTED](https://sepolia.etherscan.io/tx/0x205e68b3a5167a2f84add64544cb0c6d2dc419a7357019e5145d0f5bdbd3c24c)\n\n## Description\n\nWe are updating the minimum base fee from 2,000,000 wei to 5,000,000 wei (2.5x increase).\n\nThis runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base/contracts) repository:\n\n`SetMinBaseFeeScript` -- This script will update the min base fee to 5,000,000 wei if invoked as part of the \"upgrade\" process, or revert to the old value of 2,000,000 wei if invoked as part of the \"rollback\" process.\n\nThe values we are sending are statically defined in the `.env` file.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow\n> the flow for both \"Approving the Update transaction\" and\n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed.\n\n## Install dependencies\n\n### 1. Update foundry\n\n```bash\nfoundryup\n```\n\n### 2. Install Node.js if needed\n\nFirst, check if you have node installed\n\n```bash\nnode --version\n```\n\nIf you see a version output from the above command, you can move on. Otherwise, install node\n\n```bash\nbrew install node\n```\n\n## Approving the Update transaction\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root).\n\n```bash\nmake sign-task\n```\n\n### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\nBe sure to select the correct task from the list of available tasks to sign (**not** the \"Base Signer Rollback\" task). Copy the resulting signature and save it.\n\n### 4. Rollback signing\n\nNow, click on the \"Base Signer\" selection and switch over to the rollback task (called \"Base Signer Rollback\"). Copy the resulting signature and save it.\n\n### 5. Send signature to facilitator\n\nSend the two signatures to the facilitator and make sure to clearly note which one is the primary one and which one is the rollback.\n\nYou may now kill the Signer Tool process in your terminal window by running `Ctrl + C`.\n"
  },
  {
    "path": "sepolia/2026-02-17-update-min-base-fee/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "sepolia/2026-02-17-update-min-base-fee/records/SetMinBaseFee.s.sol/11155111/run-1771531286745.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x205e68b3a5167a2f84add64544cb0c6d2dc419a7357019e5145d0f5bdbd3c24c\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000247616f0e800000000000000000000000000000000000000000000000000000000004c4b4000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xb864809149cd18801c713d3ef8b2d0496dabfffad86af9281c0e023f7ca762c921ca0d1a99893b925f639944f733a4ee2deef0856239c27bcbab049c3b7bea611c1e82d9656e059f6d30728006f90a4fe8652e6a6ab45b9d35c7b9bf0fab59b1e9551854bcece70542d34a46431f32a7ec06a95d824504b39e988b9ae07c117c281b7a999ed8e9b26dcb955c0911cca2d37d23a4a347bb43ffb4c3e962a815df30244b63b708602ef4f9175539bd0b2ce86636bb00f3895a7ab966d592f70f2a87871c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x0cf2f86c3338993ce10f74d6f4b095712c7efe26\",\n        \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n        \"gas\": \"0x1dc79\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000144174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000247616f0e800000000000000000000000000000000000000000000000000000000004c4b40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3b864809149cd18801c713d3ef8b2d0496dabfffad86af9281c0e023f7ca762c921ca0d1a99893b925f639944f733a4ee2deef0856239c27bcbab049c3b7bea611c1e82d9656e059f6d30728006f90a4fe8652e6a6ab45b9d35c7b9bf0fab59b1e9551854bcece70542d34a46431f32a7ec06a95d824504b39e988b9ae07c117c281b7a999ed8e9b26dcb955c0911cca2d37d23a4a347bb43ffb4c3e962a815df30244b63b708602ef4f9175539bd0b2ce86636bb00f3895a7ab966d592f70f2a87871c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x5\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1b9e372\",\n      \"logs\": [\n        {\n          \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000006\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000004c4b40\",\n          \"blockHash\": \"0xd5a1f37c19f02c2fb1ebed09cf10322a85d0ed881804be05805d6ff95bed98e2\",\n          \"blockNumber\": \"0x9d1619\",\n          \"blockTimestamp\": \"0x69976c14\",\n          \"transactionHash\": \"0x205e68b3a5167a2f84add64544cb0c6d2dc419a7357019e5145d0f5bdbd3c24c\",\n          \"transactionIndex\": \"0x62\",\n          \"logIndex\": \"0xd4\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0xbc77b7cb3a9cf20fa0b73a1cb9cad8e79956081f513a5f73dc5b60c1591610aa\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xd5a1f37c19f02c2fb1ebed09cf10322a85d0ed881804be05805d6ff95bed98e2\",\n          \"blockNumber\": \"0x9d1619\",\n          \"blockTimestamp\": \"0x69976c14\",\n          \"transactionHash\": \"0x205e68b3a5167a2f84add64544cb0c6d2dc419a7357019e5145d0f5bdbd3c24c\",\n          \"transactionIndex\": \"0x62\",\n          \"logIndex\": \"0xd5\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000408000000000000000000000000000000000000000000000000000000000000000000000800000000000080000000020100000000000000000800000000000000000200000000000000000000000400000000000000040000000000000000000000000000000000000000000040000000000000000000000404000000000000000000000000880000000000000000000000000000000000000000000000000000000000000400000020000000000000000000000040000000000000000000000000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x205e68b3a5167a2f84add64544cb0c6d2dc419a7357019e5145d0f5bdbd3c24c\",\n      \"transactionIndex\": \"0x62\",\n      \"blockHash\": \"0xd5a1f37c19f02c2fb1ebed09cf10322a85d0ed881804be05805d6ff95bed98e2\",\n      \"blockNumber\": \"0x9d1619\",\n      \"gasUsed\": \"0x158f6\",\n      \"effectiveGasPrice\": \"0x63f0be7f\",\n      \"from\": \"0x0cf2f86c3338993ce10f74d6f4b095712c7efe26\",\n      \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1771531286745,\n  \"chain\": 11155111,\n  \"commit\": \"6079d0e\"\n}"
  },
  {
    "path": "sepolia/2026-02-17-update-min-base-fee/script/SetMinBaseFee.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\n\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\n\ninterface ISystemConfig {\n    function minBaseFee() external view returns (uint64);\n    function setMinBaseFee(uint64 _minBaseFee) external;\n}\n\ncontract SetMinBaseFeeScript is MultisigScript {\n    address internal immutable OWNER_SAFE;\n    address internal immutable SYSTEM_CONFIG;\n\n    uint64 internal immutable MIN_BASE_FEE;\n    uint64 internal immutable NEW_MIN_BASE_FEE;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n        SYSTEM_CONFIG = vm.envAddress(\"SYSTEM_CONFIG\");\n\n        MIN_BASE_FEE = uint64(vm.envUint(\"OLD_MIN_BASE_FEE\"));\n        NEW_MIN_BASE_FEE = uint64(vm.envUint(\"NEW_MIN_BASE_FEE\"));\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).minBaseFee(), NEW_MIN_BASE_FEE, \"Min base fee mismatch\");\n    }\n\n    function _simulationOverrides() internal view override returns (Simulation.StateOverride[] memory _stateOverrides) {\n        if (MIN_BASE_FEE != ISystemConfig(SYSTEM_CONFIG).minBaseFee()) {\n            // Override SystemConfig state to the expected \"from\" values so simulations succeeds even\n            // when the chain already reflects the post-change values (during rollback simulation).\n\n            Simulation.StateOverride[] memory stateOverrides = new Simulation.StateOverride[](1);\n            Simulation.StorageOverride[] memory storageOverrides = new Simulation.StorageOverride[](1);\n\n            // Update minBaseFee (slot 0x6c)\n            // Storage layout (low to high bits):\n            //   - superchainConfig (address): bits 0-159\n            //   - minBaseFee (uint64): bits 160-223\n            // Load existing slot to preserve superchainConfig, then update minBaseFee.\n            bytes32 minBaseFeeSlotKey = bytes32(uint256(0x6c));\n            uint256 existingMinBaseFeeWord = uint256(vm.load(SYSTEM_CONFIG, minBaseFeeSlotKey));\n            uint256 updatedMinBaseFeeWord = (existingMinBaseFeeWord & ((1 << 160) - 1)) | (uint256(MIN_BASE_FEE) << 160);\n            storageOverrides[0] =\n                Simulation.StorageOverride({key: minBaseFeeSlotKey, value: bytes32(updatedMinBaseFeeWord)});\n\n            stateOverrides[0] = Simulation.StateOverride({contractAddress: SYSTEM_CONFIG, overrides: storageOverrides});\n            return stateOverrides;\n        }\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) {\n        IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n\n        calls[0] = IMulticall3.Call3Value({\n            target: SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(ISystemConfig.setMinBaseFee, (NEW_MIN_BASE_FEE)),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "sepolia/2026-02-17-update-min-base-fee/validations/base-signer-rollback.json",
    "content": "{\n  \"cmd\": \"OLD_MIN_BASE_FEE=5000000 NEW_MIN_BASE_FEE=2000000 SAFE_NONCE=19 forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net SetMinBaseFeeScript --sig sign(address[]) [] --sender 0xb2d9a52e76841279EF0372c534C539a4f68f8C0B\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f\",\n    \"domainHash\": \"0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23\",\n    \"messageHash\": \"0xa78690fa367e9f2a3e4020635f4d9e83e4b91e1cd66cfb13ccd830bfbb2a9f90\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"CB Signer Safe - Sepolia\",\n      \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000013\",\n          \"description\": \"Override the nonce to be our expected value after initial execution.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x389220615a0d342f31a03f4dfb871150e1e83a732d447252231497b142d80959\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Sepolia\",\n      \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n      \"overrides\": [\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006c\",\n          \"value\": \"0x0000000000000000004c4b40c2be75506d5724086deb7245bd260cc9753911be\",\n          \"description\": \"Overrides min base fee to 5M wei (0x4C4B40) so rollback simulation succeeds.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"CB Signer Safe - Sepolia\",\n      \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000013\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000014\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Sepolia\",\n      \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n      \"changes\": [\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006c\",\n          \"before\": \"0x0000000000000000004c4b40c2be75506d5724086deb7245bd260cc9753911be\",\n          \"after\": \"0x0000000000000000001e8480c2be75506d5724086deb7245bd260cc9753911be\",\n          \"description\": \"Updates min base fee from 5M wei (0x4C4B40) to 2M wei (0x1E8480).\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "sepolia/2026-02-17-update-min-base-fee/validations/base-signer.json",
    "content": "{\n  \"cmd\": \"NEW_MIN_BASE_FEE=5000000 OLD_MIN_BASE_FEE=2000000 forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net SetMinBaseFeeScript --sig sign(address[]) [] --sender 0xb2d9a52e76841279EF0372c534C539a4f68f8C0B\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f\",\n    \"domainHash\": \"0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23\",\n    \"messageHash\": \"0xebb18e5aa8bce278b05af7ba268b4c68e6efa18dd58463f63e93b42ed2cbb556\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"CB Signer Safe - Sepolia\",\n      \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x254730a300eafec4345dc022d409eea8870ec3706f5ca337a243c35509abd161\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"CB Signer Safe - Sepolia\",\n      \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000012\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000013\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Sepolia\",\n      \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n      \"changes\": [\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006c\",\n          \"before\": \"0x0000000000000000001e8480c2be75506d5724086deb7245bd260cc9753911be\",\n          \"after\": \"0x0000000000000000004c4b40c2be75506d5724086deb7245bd260cc9753911be\",\n          \"description\": \"Updates min base fee from 2M wei (0x1E8480) to 5M wei (0x4C4B40).\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "sepolia/2026-02-19-superchain-separation/FACILITATORS.md",
    "content": "# Facilitator Instructions\n\nThis document describes how to execute the Superchain separation sepolia transactions after collecting signatures.\n\n## Prerequisites\n\n### 1. Update repo and install dependencies\n\n```bash\ncd contract-deployments\ngit pull\ncd sepolia/2026-02-19-superchain-separation\nmake deps\n```\n\n## General Procedure\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export as the `SIGNATURES` environment variable:\n   `export SIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"`\n3. Run the appropriate `make approve-*` command(s) for each nested Safe.\n4. Run the appropriate `make execute-*` command to execute the transaction.\n\n## Important: Execution Order\n\n**Transactions MUST be executed in order (Part 1 → Part 2 → Part 3)** due to nonce dependencies:\n\n1. CB Nested Safe: Approve CBSafeSigners\n2. SC Safe: Approve CBSafeSigners\n3. CB Parent Safe: Execute CBSafeSigners\n4. CB Parent Safe: Approve UpgradeSystemConfig\n5. SC Safe: Approve UpgradeSystemConfig\n6. ProxyAdminOwner: Execute UpgradeSystemConfig\n7. CB Nested Safe: Execute UpgradeFeeDisburser\n\n### Example Signature Output\n\nIf the quorum is 3 and you receive the following outputs:\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE01\nSignature: AAAA\n```\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE02\nSignature: BBBB\n```\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE03\nSignature: CCCC\n```\n\nConcatenate: `SIGNATURES=AAAABBBBCCCC`\n\n---\n\n## Part 1: UpdateCBSafeSigners (CB + SC)\n\nUpdates the signers on the Coinbase Safe.\n\n### Approve\n\nCoinbase facilitator (with CB signer signatures):\n\n```bash\nSIGNATURES=<CB_SIGNATURES> make approve-cbsafesigners-cb\n```\n\nCoinbase facilitator (with SC signer signatures):\n\n```bash\nSIGNATURES=<SC_SIGNATURES> make approve-cbsafesigners-sc\n```\n\n### Execute\n\nOnce all approvals are submitted:\n\n```bash\nmake execute-cbsafesigners\n```\n\n---\n\n## Part 2: UpgradeSystemConfig (CB + SC)\n\nUpgrades the SystemConfig contract with the new SuperchainConfig.\n\n### Approve\n\nCoinbase facilitator (with CB signer signatures):\n\n```bash\nSIGNATURES=<CB_SIGNATURES> make approve-systemconfig-cb\n```\n\nCoinbase facilitator (with SC signer signatures):\n\n```bash\nSIGNATURES=<SC_SIGNATURES> make approve-systemconfig-sc\n```\n\n### Execute\n\nOnce all approvals are submitted:\n\n```bash\nmake execute-systemconfig\n```\n\n---\n\n## Part 3: UpgradeFeeDisburser (CB only)\n\nUpgrades the FeeDisburser contract via a deposit transaction on L1.\n\n> **Note:** This must be executed AFTER Part 1 (execute-cbsafesigners) due to nonce dependencies on `CB_NESTED_SAFE_ADDR`.\n\n### Approve (if using nested safe)\n\n```bash\nSIGNATURES=<CB_SIGNATURES> make approve-feedisburser\n```\n\n### Execute\n\n```bash\nSIGNATURES=<CB_SIGNATURES> make execute-feedisburser\n```\n"
  },
  {
    "path": "sepolia/2026-02-19-superchain-separation/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\n\ninclude ../.env\ninclude .env\n\n##\n# Configuration\n##\nSIGNER_TOOL_PATH = ../../signer-tool\nRPC_URL = $(L1_RPC_URL)\n\n# Sender addresses for validation generation\nCB_NESTED_SENDER   := 0x7f10098bd53519c739ca8a404afe127647d94774\nCB_SIGNER_SENDER   := 0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f\n\n##\n# Validation File Generation\n##\n# Generates validation files for multisig signing\n# Usage: GEN_VALIDATION(script_name, safe_addr, sender, output_file, env_vars)\n# Note: env_vars (5th param) is optional, used for nonce overrides when pre-signing multiple txs\ndefine GEN_VALIDATION\n\tcd $(SIGNER_TOOL_PATH) && \\\n\t\tbun run scripts/genValidationFile.ts \\\n\t\t\t--rpc-url $(RPC_URL) \\\n\t\t\t--workdir $(CURDIR) \\\n\t\t\t--forge-cmd '$(if $(5),$(5) )forge script --rpc-url $(RPC_URL) $(1) --sig \"sign(address[])\" \"[$(2)]\" --sender $(3)' \\\n\t\t\t--ledger-id $(LEDGER_ACCOUNT) \\\n\t\t\t--out $(CURDIR)/validations/$(4)\nendef\n\n# Helper to get current nonce for a safe\n# Usage: $(call GET_NONCE,safe_address)\ndefine GET_NONCE\n$(shell cast call $(1) \"nonce()\" --rpc-url $(RPC_URL) | cast to-dec)\nendef\n\n# Helper to convert address to uppercase for SAFE_NONCE env var\n# Usage: $(call ADDR_UPPER,safe_address)\ndefine ADDR_UPPER\n$(shell echo $(1) | tr '[:lower:]' '[:upper:]')\nendef\n\n# Part 1: UpdateCBSafeSigners\n.PHONY: gen-validation-cb-1\ngen-validation-cb-1: deps-signer-tool\n\t$(call GEN_VALIDATION,UpdateCBSafeSigners,$(CB_NESTED_SAFE_ADDR),$(CB_NESTED_SENDER),coinbase-signer-part-1.json,)\n\n.PHONY: gen-validation-cb-sc-1\ngen-validation-cb-sc-1: deps-signer-tool\n\t$(call GEN_VALIDATION,UpdateCBSafeSigners,$(CB_SC_SAFE_ADDR),$(CB_NESTED_SENDER),security-council-signer-part-1.json,)\n\n# Part 2: UpgradeSystemConfig\n# CB uses CB_SIGNER_SAFE_ADDR which will execute part 1 - needs nonce+1\n.PHONY: gen-validation-cb-2\ngen-validation-cb-2: deps-signer-tool\n\t$(eval CB_PARENT_NONCE := $(shell expr $(call GET_NONCE,$(CB_SIGNER_SAFE_ADDR)) + 1))\n\t$(call GEN_VALIDATION,UpgradeSystemConfig,$(CB_SIGNER_SAFE_ADDR),$(CB_SIGNER_SENDER),coinbase-signer-part-2.json,SAFE_NONCE_$(call ADDR_UPPER,$(CB_SIGNER_SAFE_ADDR))=$(CB_PARENT_NONCE))\n\n# SC uses CB_SC_SAFE_ADDR which has Part 1 tx pending - needs nonce+1\n.PHONY: gen-validation-cb-sc-2\ngen-validation-cb-sc-2: deps-signer-tool\n\t$(eval SC_NONCE := $(shell expr $(call GET_NONCE,$(CB_SC_SAFE_ADDR)) + 1))\n\t@echo \"Using nonce override for CB_SC_SAFE_ADDR: $(SC_NONCE)\"\n\t$(call GEN_VALIDATION,UpgradeSystemConfig,$(CB_SC_SAFE_ADDR),$(CB_NESTED_SENDER),security-council-signer-part-2.json,SAFE_NONCE_$(call ADDR_UPPER,$(CB_SC_SAFE_ADDR))=$(SC_NONCE))\n\n# Part 3: UpgradeFeeDisburser\n# Uses CB_NESTED_SAFE_ADDR which has Part 1 tx pending - needs nonce+1\n.PHONY: gen-validation-cb-3\ngen-validation-cb-3: deps-signer-tool\n\t$(eval CB_NESTED_NONCE := $(shell expr $(call GET_NONCE,$(CB_NESTED_SAFE_ADDR)) + 1))\n\t@echo \"Using nonce override for CB_NESTED_SAFE_ADDR: $(CB_NESTED_NONCE)\"\n\t$(call GEN_VALIDATION,UpgradeFeeDisburser,,$(CB_NESTED_SENDER),coinbase-signer-part-3.json,SAFE_NONCE_$(call ADDR_UPPER,$(CB_NESTED_SAFE_ADDR))=$(CB_NESTED_NONCE))\n\n##\n# Deployments\n##\n.PHONY: deploy-fee-disburser\ndeploy-fee-disburser:\nifndef VERIFIER_API_KEY\n\t$(error VERIFIER_API_KEY is not set)\nendif\n\tforge script script/DeployFeeDisburser.s.sol:DeployFeeDisburser \\\n\t\t--rpc-url $(L2_RPC_URL) \\\n\t\t--broadcast \\\n\t\t--verify \\\n\t\t--verifier-api-key $(VERIFIER_API_KEY) \\\n\t\t--ledger --hd-paths $(LEDGER_HD_PATH) \\\n\t\t-vvvv\n\n.PHONY: deploy-l1-contracts\ndeploy-l1-contracts:\nifndef VERIFIER_API_KEY\n\t$(error VERIFIER_API_KEY is not set)\nendif\n\tforge script script/DeploySuperchainConfigAndSystemConfig.s.sol:DeploySuperchainConfigAndSystemConfig \\\n\t\t--rpc-url $(L1_RPC_URL) \\\n\t\t--broadcast \\\n\t\t--verify \\\n\t\t--verifier-api-key $(VERIFIER_API_KEY) \\\n\t\t--ledger --hd-paths $(LEDGER_HD_PATH) \\\n\t\t-vvvv\n\n##\n# Approvals - UpdateCBSafeSigners\n##\n.PHONY: approve-cbsafesigners-cb\napprove-cbsafesigners-cb: SCRIPT_NAME = UpdateCBSafeSigners\napprove-cbsafesigners-cb:\n\t$(call MULTISIG_APPROVE,$(CB_NESTED_SAFE_ADDR),$(SIGNATURES))\n\n.PHONY: approve-cbsafesigners-sc\napprove-cbsafesigners-sc: SCRIPT_NAME = UpdateCBSafeSigners\napprove-cbsafesigners-sc:\n\t$(call MULTISIG_APPROVE,$(CB_SC_SAFE_ADDR),$(SIGNATURES))\n\n##\n# Approvals - UpgradeSystemConfig\n##\n.PHONY: approve-systemconfig-cb\napprove-systemconfig-cb: SCRIPT_NAME = UpgradeSystemConfig\napprove-systemconfig-cb:\n\t$(call MULTISIG_APPROVE,$(CB_SIGNER_SAFE_ADDR),$(SIGNATURES))\n\n.PHONY: approve-systemconfig-sc\napprove-systemconfig-sc: SCRIPT_NAME = UpgradeSystemConfig\napprove-systemconfig-sc:\n\t$(call MULTISIG_APPROVE,$(CB_SC_SAFE_ADDR),$(SIGNATURES))\n\n##\n# Execute\n##\n.PHONY: execute-cbsafesigners\nexecute-cbsafesigners: SCRIPT_NAME = UpdateCBSafeSigners\nexecute-cbsafesigners:\n\t$(call MULTISIG_EXECUTE,0x)\n\n.PHONY: execute-systemconfig\nexecute-systemconfig: SCRIPT_NAME = UpgradeSystemConfig\nexecute-systemconfig:\n\t$(call MULTISIG_EXECUTE,0x)\n\n.PHONY: execute-feedisburser\nexecute-feedisburser: SCRIPT_NAME = UpgradeFeeDisburser\nexecute-feedisburser:\n\t$(call MULTISIG_EXECUTE,$(SIGNATURES))\n"
  },
  {
    "path": "sepolia/2026-02-19-superchain-separation/README.md",
    "content": "# Sepolia OP Stack Separation\n\nStatus: EXECUTED\n\n[Step 1](https://sepolia.etherscan.io/tx/0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3)\n[Step 2](https://sepolia.etherscan.io/tx/0x60c05a9ee8f30a8c1fc0f739ae9be01e755045c976ae0b78ee2c3f1ba9eeaed8)\n[Step 3](https://sepolia.etherscan.io/tx/0x3c056f12475a39854ef1b525fc61e27237b79c7ba4120b07ef327c9ec1c8391f)\n\n## Description\n\nThis task executes our migration away from the shared Superchain configuration to a Base-owned configuration.\n\n## Procedure\n\n### Install dependencies\n\n#### 1. Update foundry\n\n```bash\nfoundryup\n```\n\n#### 2. Install Node.js if needed\n\nFirst, check if you have node installed:\n\n```bash\nnode --version\n```\n\nIf you see a version output from the above command, you can move on. Otherwise, install node:\n\n```bash\nbrew install node\n```\n\n### Approve the transaction\n\n#### 1. Update repo\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n#### 2. Run the signing tool\n\n```bash\nmake sign-task\n```\n\n#### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\n- Select the correct signer role from the list of available users to sign.\n- After completion, close the signer tool with `Ctrl + C`.\n\n#### 4. Send signature to facilitator\n\nCopy the signature output and send it to the designated facilitator via the agreed communication channel. The facilitator will collect all signatures and execute the transaction.\n\nFor facilitator instructions, see [FACILITATORS.md](./FACILITATORS.md).\n"
  },
  {
    "path": "sepolia/2026-02-19-superchain-separation/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/contracts',\n    'solady/=lib/solady/src/',\n    '@solady/=lib/solady/src/',\n    '@lib-keccak/=lib/lib-keccak/contracts/lib',\n]\n\n[lint]\nlint_on_build = false\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "sepolia/2026-02-19-superchain-separation/records/DeployFeeDisburser.s.sol/84532/run-1771950276941.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xf051c48ac67c5a7068a0f883ede41878e71c6c5dc4c35d2ede16bc006005c48b\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"FeeDisburser\",\n      \"contractAddress\": \"0xa2ff1eda0a2c5a757ccfcc52f3255c16347ead03\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x8D1b5e5614300F5c7ADA01fFA4ccF8F1752D9A57\",\n        \"604800\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0xa082f\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c060405234801561000f575f80fd5b5060405161092238038061092283398101604081905261002e9161008f565b6001600160a01b0382166100555760405163d92e233d60e01b815260040160405180910390fd5b62015180811015610079576040516352063f8560e11b815260040160405180910390fd5b6001600160a01b0390911660805260a0526100c6565b5f80604083850312156100a0575f80fd5b82516001600160a01b03811681146100b6575f80fd5b6020939093015192949293505050565b60805160a05161082e6100f45f395f8181610156015261020501525f818160c2015261034e015261082e5ff3fe608060405260043610610071575f3560e01c806354664de51161004c57806354664de51461014557806354fd4d5014610178578063ad41d09c146101c3578063b87ea8d4146101ed575f80fd5b806336f1a6e5146100b1578063394d27311461010e578063447eb5ac14610130575f80fd5b366100ad5760405134815233907f2ccfc58c2cef4ee590b5f16be0548cc54afc12e1c66a67b362b7d640fd16bb2d9060200160405180910390a2005b5f80fd5b3480156100bc575f80fd5b506100e47f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b348015610119575f80fd5b506101225f5481565b604051908152602001610105565b34801561013b575f80fd5b5061012260015481565b348015610150575f80fd5b506101227f000000000000000000000000000000000000000000000000000000000000000081565b348015610183575f80fd5b50604080518082018252600581527f312e302e300000000000000000000000000000000000000000000000000000006020820152905161010591906106c9565b3480156101ce575f80fd5b506101d86188b881565b60405163ffffffff9091168152602001610105565b3480156101f8575f80fd5b50610201610203565b005b7f00000000000000000000000000000000000000000000000000000000000000005f5461023091906106e2565b421015610269576040517fc7a06d5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6102867342000000000000000000000000000000000000116103f8565b6102a37342000000000000000000000000000000000000196103f8565b6102c073420000000000000000000000000000000000001a6103f8565b475f8190036102f4576040517f8c887b1215d5e6b119c1c1008fe1d0919b4c438301d5a0357362a13fb56f6a40905f90a150565b425f90815560408051602081018252918252517fe11013dd0000000000000000000000000000000000000000000000000000000081527342000000000000000000000000000000000000109163e11013dd91479161037a917f0000000000000000000000000000000000000000000000000000000000000000916188b891600401610720565b5f604051808303818588803b158015610391575f80fd5b505af11580156103a3573d5f803e3d5ffd5b50505050507fe155e054cfe69655d6d2f8bbfb856aa8cdf49ecbea6557901533364539caad945f545f836040516103ed939291909283526020830191909152604082015260600190565b60405180910390a150565b60018173ffffffffffffffffffffffffffffffffffffffff1663d0e12f906040518163ffffffff1660e01b8152600401602060405180830381865afa158015610443573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104679190610790565b600181111561047857610478610763565b146104af576040517f72e01a1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16630d9019e16040518163ffffffff1660e01b8152600401602060405180830381865afa15801561050f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061053391906107ae565b73ffffffffffffffffffffffffffffffffffffffff1614610580576040517fc9bb076d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663d3e5792b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ed91906107e1565b8173ffffffffffffffffffffffffffffffffffffffff16311061067a578073ffffffffffffffffffffffffffffffffffffffff16633ccfd60b6040518163ffffffff1660e01b81526004016020604051808303815f875af1158015610654573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061067891906107e1565b505b50565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f6106db602083018461067d565b9392505050565b8082018082111561071a577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b92915050565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff83166020820152606060408201525f61075a606083018461067d565b95945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f602082840312156107a0575f80fd5b8151600281106106db575f80fd5b5f602082840312156107be575f80fd5b815173ffffffffffffffffffffffffffffffffffffffff811681146106db575f80fd5b5f602082840312156107f1575f80fd5b505191905056fea2646970667358221220336c595fd7137b3c3f4c6426e8c647a4cef35063703231a6acf3a4f77f7ea01e64736f6c634300081900330000000000000000000000008d1b5e5614300f5c7ada01ffa4ccf8f1752d9a570000000000000000000000000000000000000000000000000000000000093a80\",\n        \"nonce\": \"0x5f0\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x495a9e\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xf051c48ac67c5a7068a0f883ede41878e71c6c5dc4c35d2ede16bc006005c48b\",\n      \"transactionIndex\": \"0x20\",\n      \"blockHash\": \"0xdf4cfdcac8a1f2740c9eb86d7e9b1613f4b8b6f12507be8802c34ae4f59164d9\",\n      \"blockNumber\": \"0x24538f2\",\n      \"gasUsed\": \"0x7b787\",\n      \"effectiveGasPrice\": \"0x5b8d80\",\n      \"blobGasUsed\": \"0x28ed2\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0xa2ff1eda0a2c5a757ccfcc52f3255c16347ead03\",\n      \"daFootprintGasScalar\": \"0x8b\",\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x45a\",\n      \"l1GasPrice\": \"0xf\",\n      \"l1GasUsed\": \"0x4b64\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1771950276941,\n  \"chain\": 84532,\n  \"commit\": \"869df80\"\n}"
  },
  {
    "path": "sepolia/2026-02-19-superchain-separation/records/DeploySuperchainConfigAndSystemConfig.s.sol/11155111/run-1771980781445.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xc54a9c0c602e1bfc1ec470961dd78bf37aeb7f9d8dc098cd37a1fd42fc8bb251\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"SuperchainConfig\",\n      \"contractAddress\": \"0x99fcf11772af0a9cc411af3cb4311a387dd55b15\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n        \"0x646132A1667ca7aD00d36616AFBA1A28116C770A\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0xd0fea\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c060405234801561001057600080fd5b50604051610bd4380380610bd483398101604081905261002f91610062565b6001600160a01b039182166080521660a052610095565b80516001600160a01b038116811461005d57600080fd5b919050565b6000806040838503121561007557600080fd5b61007e83610046565b915061008c60208401610046565b90509250929050565b60805160a051610af76100dd600039600081816102ad015281816102d601526109110152600081816101d4015281816102630152818161085f01526108d00152610af76000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80635c975abb11610097578063a967905811610066578063a9679058146102ab578063b2bff544146102d1578063dad544e0146102f8578063f125af6b1461030057600080fd5b80635c975abb14610256578063724c184c1461025e57806376a67a5114610285578063820057151461029857600080fd5b80633e47158c116100d35780633e47158c146101a5578063452a9320146101d257806354fd4d50146101f857806357b001f91461024157600080fd5b806304dbe3fe146101055780630e3b6d1f1461012b5780632e48152c1461014b57806332dfadd91461016e575b600080fd5b610118610113366004610990565b610309565b6040519081526020015b60405180910390f35b610118610139366004610990565b60006020819052908152604090205481565b61015e610159366004610990565b610353565b6040519015158152602001610122565b61015e61017c366004610990565b73ffffffffffffffffffffffffffffffffffffffff166000908152602081905260409020541590565b6101ad61039f565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610122565b7f00000000000000000000000000000000000000000000000000000000000000006101ad565b6102346040518060400160405280600581526020017f322e352e3000000000000000000000000000000000000000000000000000000081525081565b60405161012291906109ad565b61025461024f366004610990565b6105aa565b005b61015e610610565b6101ad7f000000000000000000000000000000000000000000000000000000000000000081565b610254610293366004610990565b610621565b6102546102a6366004610990565b6106fa565b7f00000000000000000000000000000000000000000000000000000000000000006101ad565b6101ad7f000000000000000000000000000000000000000000000000000000000000000081565b6101ad6107cf565b62784ce0610118565b73ffffffffffffffffffffffffffffffffffffffff811660009081526020819052604081205480820361033f5750600092915050565b61034c62784ce082610a4f565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152602081905260408120548082036103895750600092915050565b61039662784ce082610a4f565b42109392505050565b6000806103ca7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b905073ffffffffffffffffffffffffffffffffffffffff8116156103ed57919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e6765720000000000008152505160026104309190610a67565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000919091179061048b906060015b604051602081830303815290604052805190602001205490565b146104c2576040517f54e433cd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080513060208201526001918101919091526000906104e490606001610471565b905073ffffffffffffffffffffffffffffffffffffffff811615610578578073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561054d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105719190610aa4565b9250505090565b6040517f332144db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105b2610847565b73ffffffffffffffffffffffffffffffffffffffff81166000818152602081815260408083209290925590519182527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa91015b60405180910390a150565b600061061c6000610353565b905090565b6106296108b8565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260208190526040902054156106a3576040517fb7d8689400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526024015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff81166000818152602081815260409182902042905590519182527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589101610605565b610702610847565b73ffffffffffffffffffffffffffffffffffffffff81166000908152602081905260408120549003610778576040517f335b869500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260240161069a565b73ffffffffffffffffffffffffffffffffffffffff81166000818152602081815260409182902042905590519182527f1163213dbd11d2d966db59d270ddfc3c6fbe0540ffe8f0e7f38c5cac16d2f36b9101610605565b60006107d961039f565b73ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610823573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061c9190610aa4565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146108b6576040517fafbe9bc600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480159061093457503373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614155b156108b6576040517fd8f0cd1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461098d57600080fd5b50565b6000602082840312156109a257600080fd5b813561034c8161096b565b600060208083528351808285015260005b818110156109da578581018301518582016040015282016109be565b818111156109ec576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115610a6257610a62610a20565b500190565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610a9f57610a9f610a20565b500290565b600060208284031215610ab657600080fd5b815161034c8161096b56fea26469706673582212201fc2d4748a57ea5bb9d08639578195cae0662d14d2d150b1f7ec989d64c7ce9f64736f6c634300080f00330000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a\",\n        \"nonce\": \"0x68\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xf02e706033388cb9ef577656b3a0baf8e876f136262d22bc706c7966ac06ffae\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0xe4401eb53ae90a5335a51fe1828d7becf7a63508\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x8C1a617BdB47342F9C17Ac8750E0b070c372C721\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0xa966d\",\n        \"value\": \"0x0\",\n        \"input\": \"0x608060405234801561001057600080fd5b5060405161094838038061094883398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206109288339815191525490565b600080516020610928833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b610834806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea26469706673582212206cc3f4a7681ca9dbc3f40b95accbd7755aa5af7dd2a1ed42bd0d302a66ea6bdf64736f6c634300080f0033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61030000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"nonce\": \"0x69\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xb20f2b5ce3e0f74ae61fa8591f4b91d200cbe483ffb6dd46629b5161a37ca534\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0xe4401eb53ae90a5335a51fe1828d7becf7a63508\",\n      \"function\": \"upgradeTo(address)\",\n      \"arguments\": [\n        \"0x99FCF11772af0a9Cc411af3CB4311A387Dd55b15\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"to\": \"0xe4401eb53ae90a5335a51fe1828d7becf7a63508\",\n        \"gas\": \"0xfe85\",\n        \"value\": \"0x0\",\n        \"input\": \"0x3659cfe600000000000000000000000099fcf11772af0a9cc411af3cb4311a387dd55b15\",\n        \"nonce\": \"0x6a\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xa87962a5ec693f2f2d54d5182e1f8e1b8d8fb6f4cc3600a460aa49f6799ba92a\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0xe4401eb53ae90a5335a51fe1828d7becf7a63508\",\n      \"function\": \"changeAdmin(address)\",\n      \"arguments\": [\n        \"0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"to\": \"0xe4401eb53ae90a5335a51fe1828d7becf7a63508\",\n        \"gas\": \"0xa1b6\",\n        \"value\": \"0x0\",\n        \"input\": \"0x8f2839700000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3\",\n        \"nonce\": \"0x6b\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xc0ed1f3ffd7fa06eaf3c7971e2470dc62a4e65c99e28b576b4f559c457d0e66e\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"SystemConfig\",\n      \"contractAddress\": \"0xee364de73e1827f5e31a18c70a40f1f78c075b84\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x377955\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60a06040523480156200001157600080fd5b5060046080526200005f6200004860017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a062000135565b60001b6000196200006f60201b62001b241760201c565b6200006962000073565b6200015b565b9055565b600054610100900460ff1615620000e05760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000133576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000828210156200015657634e487b7160e01b600052601160045260246000fd5b500390565b6080516131046200017e600039600081816105620152610b3801526131046000f3fe608060405234801561001057600080fd5b50600436106103af5760003560e01c80637e54b8ad116101f4578063d220a9e01161011a578063f2c4bc9e116100ad578063f8c68de01161007c578063f8c68de0146109d2578063fd32aa0f146109da578063fe3d5710146109e2578063ffa1ad7414610a1b57600080fd5b8063f2c4bc9e1461098f578063f2fde38b146109a2578063f45e65d8146109b5578063f68016b7146109be57600080fd5b8063e0e2016d116100e9578063e0e2016d14610956578063e81b2c6d1461095e578063ec70751714610967578063f2b4e6171461098757600080fd5b8063d220a9e01461092d578063d6ae3cd51461093d578063dac6e63a14610946578063dad544e01461094e57600080fd5b8063b40a817c11610192578063c4e8ddfa11610161578063c4e8ddfa146107c6578063c9b26f61146107ce578063c9ff2d16146107e1578063cc731b02146107f957600080fd5b8063b40a817c1461077c578063bc49ce5f1461078f578063bfb14fb714610797578063c0fd4b41146107b357600080fd5b80639b7d7f0a116101ce5780639b7d7f0a146106ca578063a39fac12146106d2578063a62611a214610748578063a71198691461077457600080fd5b80637e54b8ad146106915780638da5cb5b14610699578063935f029e146106b757600080fd5b806321d7fde5116102d95780634add321d116102775780635c975abb116102465780635c975abb146106665780635d73369c1461066e578063715018a6146106765780637616f0e81461067e57600080fd5b80634add321d146105c75780634d5d9a2a146105cf5780634f16540b1461060057806354fd4d501461062757600080fd5b80633e47158c116102b35780633e47158c1461058c578063452a93201461059457806347af267b1461059c57806348cd4cb1146105bf57600080fd5b806321d7fde51461052857806335e80ab31461053b57806338d38c971461055b57600080fd5b806316d3bc7f116103515780631fd19ee1116103205780631fd19ee1146104a657806320f06fdc146104ae57806321326849146104c1578063215b7a1c1461052057600080fd5b806316d3bc7f1461045457806318d139181461047857806319f5cea81461048b5780631edd50981461049357600080fd5b80630a49cb031161038d5780630a49cb03146104115780630ae14b1b146104195780630c18c16214610438578063155b6c6f1461044157600080fd5b806306c92657146103b4578063078f29cf146103cf5780630a2ca2a9146103fc575b600080fd5b6103bc610a23565b6040519081526020015b60405180910390f35b6103d7610a51565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016103c6565b61040f61040a366004612ac6565b610a8a565b005b6103d7610ab4565b631dcd65005b60405167ffffffffffffffff90911681526020016103c6565b6103bc60655481565b61040f61044f366004612b16565b610ae4565b606a5461041f906c01000000000000000000000000900467ffffffffffffffff1681565b61040f610486366004612ac6565b610afa565b6103bc610b0b565b61040f6104a1366004612c80565b610b36565b6103d7610ed2565b61040f6104bc366004612df0565b610efc565b7f435553544f4d5f4741535f544f4b454e00000000000000000000000000000000600052606d6020527f3ec9a18bd22a834e2a13465cc2aa2a9aebb161ffdebf39cdb0028dbb1b5394b45460ff165b60405190151581526020016103c6565b6103d7610f0d565b61040f610536366004612e14565b610f3d565b606c546103d79073ffffffffffffffffffffffffffffffffffffffff1681565b60405160ff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103c6565b6103d7610f4f565b6103d761115a565b6105106105aa366004612e3e565b606d6020526000908152604090205460ff1681565b6103bc6111ee565b61041f61121e565b606a546105eb9068010000000000000000900463ffffffff1681565b60405163ffffffff90911681526020016103c6565b6103bc7f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c0881565b604080518082018252600681527f332e31332e320000000000000000000000000000000000000000000000000000602082015290516103c69190612ec2565b610510611244565b6103bc611451565b61040f61147c565b61040f61068c366004612ed5565b611490565b6103bc6114a1565b60335473ffffffffffffffffffffffffffffffffffffffff166103d7565b61040f6106c5366004612ef0565b6114cc565b6103d76114de565b6106da61150e565b6040516103c69190600060c08201905073ffffffffffffffffffffffffffffffffffffffff8084511683528060208501511660208401528060408501511660408401528060608501511660608401528060808501511660808401528060a08501511660a08401525092915050565b606c5461041f9074010000000000000000000000000000000000000000900467ffffffffffffffff1681565b6103d761161f565b61040f61078a366004612ed5565b61164f565b6103bc611660565b6068546105eb9068010000000000000000900463ffffffff1681565b61040f6107c1366004612e14565b61168b565b6103d761169d565b61040f6107dc366004612e3e565b6116cd565b606a546105eb90640100000000900463ffffffff1681565b6108bd6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152506040805160c08101825260695463ffffffff8082168352640100000000820460ff9081166020850152650100000000008304169383019390935266010000000000008104831660608301526a0100000000000000000000810490921660808201526e0100000000000000000000000000009091046fffffffffffffffffffffffffffffffff1660a082015290565b6040516103c69190600060c08201905063ffffffff80845116835260ff602085015116602084015260ff6040850151166040840152806060850151166060840152806080850151166080840152506fffffffffffffffffffffffffffffffff60a08401511660a083015292915050565b606a546105eb9063ffffffff1681565b6103bc606b5481565b6103d76116de565b6103d761170e565b6103bc611762565b6103bc60675481565b6068546105eb906c01000000000000000000000000900463ffffffff1681565b6103d761178d565b61040f61099d366004612f20565b611809565b61040f6109b0366004612ac6565b611a1a565b6103bc60665481565b60685461041f9067ffffffffffffffff1681565b6103bc611ace565b6103bc611af9565b606a54610a089074010000000000000000000000000000000000000000900461ffff1681565b60405161ffff90911681526020016103c6565b6103bc600081565b610a4e60017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d612f7f565b81565b6000610a85610a8160017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377612f7f565b5490565b905090565b610a92611b28565b610ab173ffffffffffffffffffffffffffffffffffffffff8216611ba9565b50565b6000610a85610a8160017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad612f7f565b610aec611b28565b610af68282611c0a565b5050565b610b02611b28565b610ab181611d1a565b610a4e60017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8612f7f565b7f0000000000000000000000000000000000000000000000000000000000000000600054610100900460ff16158015610b76575060005460ff8083169116105b610c07576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001660ff831617610100179055610c40611d9e565b610c48611e1f565b610c518c611a1a565b610c5a89611ba9565b610c648b8b611ebe565b610c6d88611fc3565b610c967f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c08889055565b610cc9610cc460017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598612f7f565b869055565b610cfd610cf760017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637612f7f565b85519055565b610d34610d2b60017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8612f7f565b60208601519055565b610d6b610d6260017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377612f7f565b60408601519055565b610da2610d9960017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad612f7f565b60608601519055565b610dd9610dd060017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d612f7f565b60808601519055565b610e10610e0760017f51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd5900612f7f565b60a08601519055565b610e18612119565b610e2186612181565b606b839055606c80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416179055600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050505050505050565b6000610a857f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c085490565b610f04611b28565b610ab1816125f5565b6000610a85610a8160017f51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd5900612f7f565b610f45611b28565b610af68282611ebe565b600080610f7a7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b905073ffffffffffffffffffffffffffffffffffffffff811615610f9d57919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000815250516002610fe09190612f96565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000919091179061103b906060015b604051602081830303815290604052805190602001205490565b14611072576040517f54e433cd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805130602082015260019181019190915260009061109490606001611021565b905073ffffffffffffffffffffffffffffffffffffffff811615611128578073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111219190612fd3565b9250505090565b6040517f332144db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606c54604080517f452a9320000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163452a93209160048083019260209291908290030181865afa1580156111ca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a859190612fd3565b6000610a85610a8160017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0612f7f565b606954600090610a859063ffffffff6a0100000000000000000000820481169116612ff0565b7f4554485f4c4f434b424f580000000000000000000000000000000000000000006000908152606d6020527f58e88e949bd180ff86d6c072735c3d8d5a05a543c16130176ec0bc0adf3fd80654819060ff166112a7576112a2610ab4565b61131d565b6112af610ab4565b73ffffffffffffffffffffffffffffffffffffffff1663b682c4446040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131d9190612fd3565b606c546040517f2e48152c0000000000000000000000000000000000000000000000000000000081526000600482015291925073ffffffffffffffffffffffffffffffffffffffff1690632e48152c90602401602060405180830381865afa15801561138d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b1919061301c565b8061144b5750606c546040517f2e48152c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff838116600483015290911690632e48152c90602401602060405180830381865afa158015611427573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144b919061301c565b91505090565b610a4e60017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637612f7f565b611484611b28565b61148e6000612662565b565b611498611b28565b610ab1816126d9565b610a4e60017f51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd5900612f7f565b6114d4611b28565b610af6828261274c565b6000610a85610a8160017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d612f7f565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a08101919091526040518060c0016040528061155361161f565b73ffffffffffffffffffffffffffffffffffffffff16815260200161157661169d565b73ffffffffffffffffffffffffffffffffffffffff168152602001611599610a51565b73ffffffffffffffffffffffffffffffffffffffff1681526020016115bc610ab4565b73ffffffffffffffffffffffffffffffffffffffff1681526020016115df6114de565b73ffffffffffffffffffffffffffffffffffffffff168152602001611602610f0d565b73ffffffffffffffffffffffffffffffffffffffff169052919050565b6000610a85610a8160017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637612f7f565b611657611b28565b610ab181611fc3565b610a4e60017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598612f7f565b611693611b28565b610af68282612822565b6000610a85610a8160017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8612f7f565b6116d5611b28565b610ab181611ba9565b6000610a85610a8160017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598612f7f565b6000611718610f4f565b73ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111ca573d6000803e3d6000fd5b610a4e60017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0612f7f565b600080611798610ab4565b90508073ffffffffffffffffffffffffffffffffffffffff1663f2b4e6176040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144b9190612fd3565b611811611d9e565b6000828152606d602052604090205460ff1615158115150361185f576040517ff5828b0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f4554485f4c4f434b424f5800000000000000000000000000000000000000000082036119b0576000828152606d602052604090205460ff1680156118a2575080155b801561193a575060006118b3610ab4565b73ffffffffffffffffffffffffffffffffffffffff1663b682c4446040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119219190612fd3565b73ffffffffffffffffffffffffffffffffffffffff1614155b15611971576040517ff5828b0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611979611244565b156119b0576040517ff5828b0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828152606d602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168415159081179091559051909184917fb876f6594132c89891d2fd198e925e999be741ec809abb58bfe9b966876cc06c9190a35050565b611a22611b28565b73ffffffffffffffffffffffffffffffffffffffff8116611ac5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610bfe565b610ab181612662565b610a4e60017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377612f7f565b610a4e60017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad612f7f565b9055565b60335473ffffffffffffffffffffffffffffffffffffffff16331461148e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610bfe565b60678190556040805160208082018490528251808303909101815290820190915260005b60007f1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be83604051611bfe9190612ec2565b60405180910390a35050565b606a80547fffffffffffffffffffffffff000000000000000000000000ffffffffffffffff166801000000000000000063ffffffff8516027fffffffffffffffffffffffff0000000000000000ffffffffffffffffffffffff16176c0100000000000000000000000067ffffffffffffffff841690810291909117909155604080516bffffffff000000000000000085831b16909217602083015260009101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060055b60007f1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be83604051611d0d9190612ec2565b60405180910390a3505050565b611d437f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c08829055565b6040805173ffffffffffffffffffffffffffffffffffffffff8316602082015260009101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290506003611bcd565b33611da7610f4f565b73ffffffffffffffffffffffffffffffffffffffff1614158015611de8575033611dcf61170e565b73ffffffffffffffffffffffffffffffffffffffff1614155b1561148e576040517fc4050a2600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600054610100900460ff16611eb6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610bfe565b61148e6129f4565b606880547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff166801000000000000000063ffffffff8581169182027fffffffffffffffffffffffffffffffff00000000ffffffffffffffffffffffff16929092176c0100000000000000000000000092851692909202919091179091557f0100000000000000000000000000000000000000000000000000000000000000602083811b67ffffffff000000001690921717606681905560655460408051938401919091528201526000906060015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290506001611cdc565b611fcb61121e565b67ffffffffffffffff168167ffffffffffffffff161015612048576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f77006044820152606401610bfe565b631dcd650067ffffffffffffffff821611156120c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f20686967686044820152606401610bfe565b606880547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff83169081179091556040805160208082019390935281518082039093018352810190526002611bcd565b612147610a8160017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0612f7f565b60000361148e5761148e61217c60017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0612f7f565b439055565b8060a001516fffffffffffffffffffffffffffffffff16816060015163ffffffff161115612231576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f53797374656d436f6e6669673a206d696e206261736520666565206d7573742060448201527f6265206c657373207468616e206d6178206261736500000000000000000000006064820152608401610bfe565b6001816040015160ff16116122c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f53797374656d436f6e6669673a2064656e6f6d696e61746f72206d757374206260448201527f65206c6172676572207468616e203100000000000000000000000000000000006064820152608401610bfe565b6068546080820151825167ffffffffffffffff909216916122e99190613039565b63ffffffff161115612357576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f77006044820152606401610bfe565b6000816020015160ff16116123ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f53797374656d436f6e6669673a20656c6173746963697479206d756c7469706c60448201527f6965722063616e6e6f74206265203000000000000000000000000000000000006064820152608401610bfe565b8051602082015163ffffffff82169160ff9091169061240e908290613058565b61241891906130a2565b63ffffffff16146124ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f53797374656d436f6e6669673a20707265636973696f6e206c6f73732077697460448201527f6820746172676574207265736f75726365206c696d69740000000000000000006064820152608401610bfe565b805160698054602084015160408501516060860151608087015160a09097015163ffffffff9687167fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009095169490941764010000000060ff94851602177fffffffffffffffffffffffffffffffffffffffffffff0000000000ffffffffff166501000000000093909216929092027fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff1617660100000000000091851691909102177fffff0000000000000000000000000000000000000000ffffffffffffffffffff166a010000000000000000000093909416929092027fffff00000000000000000000000000000000ffffffffffffffffffffffffffff16929092176e0100000000000000000000000000006fffffffffffffffffffffffffffffffff90921691909102179055565b606a80547fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000061ffff8416908102919091179091556040805160208082019390935281518082039093018352810190526007611bcd565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606c80547fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000067ffffffffffffffff8416908102919091179091556040805160208082019390935281518082039093018352810190526006611bcd565b7fff000000000000000000000000000000000000000000000000000000000000008116156127fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f53797374656d436f6e6669673a207363616c61722065786365656473206d617860448201527f2e000000000000000000000000000000000000000000000000000000000000006064820152608401610bfe565b606582905560668190556040805160208101849052908101829052600090606001611f8c565b60018263ffffffff1610156128b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53797374656d436f6e6669673a2064656e6f6d696e61746f72206d757374206260448201527f65203e3d203100000000000000000000000000000000000000000000000000006064820152608401610bfe565b60018163ffffffff161015612950576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f53797374656d436f6e6669673a20656c6173746963697479206d75737420626560448201527f203e3d20310000000000000000000000000000000000000000000000000000006064820152608401610bfe565b606a805463ffffffff83811664010000000081027fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000090931691861691909117919091179091556040516000916129bd91602086811b67ffffffff0000000016909217910190815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290506004611cdc565b600054610100900460ff16612a8b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610bfe565b61148e33612662565b73ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b8035612ac181612a94565b919050565b600060208284031215612ad857600080fd5b8135612ae381612a94565b9392505050565b803563ffffffff81168114612ac157600080fd5b803567ffffffffffffffff81168114612ac157600080fd5b60008060408385031215612b2957600080fd5b612b3283612aea565b9150612b4060208401612afe565b90509250929050565b60405160c0810167ffffffffffffffff81118282101715612b93577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b803560ff81168114612ac157600080fd5b600060c08284031215612bbc57600080fd5b60405160c0810181811067ffffffffffffffff82111715612c06577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040529050808235612c1781612a94565b81526020830135612c2781612a94565b60208201526040830135612c3a81612a94565b60408201526060830135612c4d81612a94565b60608201526080830135612c6081612a94565b608082015260a0830135612c7381612a94565b60a0919091015292915050565b60008060008060008060008060008060008b8d036102a0811215612ca357600080fd5b8c35612cae81612a94565b9b50612cbc60208e01612aea565b9a50612cca60408e01612aea565b995060608d01359850612cdf60808e01612afe565b975060a08d0135612cef81612a94565b965060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4082011215612d2157600080fd5b50612d2a612b49565b612d3660c08e01612aea565b8152612d4460e08e01612b99565b6020820152612d566101008e01612b99565b6040820152612d686101208e01612aea565b6060820152612d7a6101408e01612aea565b60808201526101608d01356fffffffffffffffffffffffffffffffff81168114612da357600080fd5b60a08201529450612db76101808d01612ab6565b9350612dc78d6101a08e01612baa565b92506102608c01359150612dde6102808d01612ab6565b90509295989b509295989b9093969950565b600060208284031215612e0257600080fd5b813561ffff81168114612ae357600080fd5b60008060408385031215612e2757600080fd5b612e3083612aea565b9150612b4060208401612aea565b600060208284031215612e5057600080fd5b5035919050565b6000815180845260005b81811015612e7d57602081850181015186830182015201612e61565b81811115612e8f576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000612ae36020830184612e57565b600060208284031215612ee757600080fd5b612ae382612afe565b60008060408385031215612f0357600080fd5b50508035926020909101359150565b8015158114610ab157600080fd5b60008060408385031215612f3357600080fd5b823591506020830135612f4581612f12565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015612f9157612f91612f50565b500390565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612fce57612fce612f50565b500290565b600060208284031215612fe557600080fd5b8151612ae381612a94565b600067ffffffffffffffff80831681851680830382111561301357613013612f50565b01949350505050565b60006020828403121561302e57600080fd5b8151612ae381612f12565b600063ffffffff80831681851680830382111561301357613013612f50565b600063ffffffff80841680613096577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b92169190910492915050565b600063ffffffff808316818516818304811182151516156130c5576130c5612f50565b0294935050505056fea264697066735822122015eb76369f67aa910a0fae5f4a9e9a9b9b4b22d853abcf77ae151ce1e4249aba64736f6c634300080f0033\",\n        \"nonce\": \"0x6c\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xc18b31\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xa87962a5ec693f2f2d54d5182e1f8e1b8d8fb6f4cc3600a460aa49f6799ba92a\",\n      \"transactionIndex\": \"0x67\",\n      \"blockHash\": \"0x2a63dab3b8ee538a9fd929fa2cc89b407f9dd6eef97b8f3d503419632ba0173b\",\n      \"blockNumber\": \"0x9da1e3\",\n      \"gasUsed\": \"0xa0c3e\",\n      \"effectiveGasPrice\": \"0xf4274\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0x99fcf11772af0a9cc411af3cb4311a387dd55b15\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xc9b023\",\n      \"logs\": [\n        {\n          \"address\": \"0xe4401eb53ae90a5335a51fe1828d7becf7a63508\",\n          \"topics\": [\n            \"0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721\",\n          \"blockHash\": \"0x2a63dab3b8ee538a9fd929fa2cc89b407f9dd6eef97b8f3d503419632ba0173b\",\n          \"blockNumber\": \"0x9da1e3\",\n          \"blockTimestamp\": \"0x699e47b0\",\n          \"transactionHash\": \"0xf02e706033388cb9ef577656b3a0baf8e876f136262d22bc706c7966ac06ffae\",\n          \"transactionIndex\": \"0x68\",\n          \"logIndex\": \"0xf1\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000400000000000000000000000000000000000000400000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xf02e706033388cb9ef577656b3a0baf8e876f136262d22bc706c7966ac06ffae\",\n      \"transactionIndex\": \"0x68\",\n      \"blockHash\": \"0x2a63dab3b8ee538a9fd929fa2cc89b407f9dd6eef97b8f3d503419632ba0173b\",\n      \"blockNumber\": \"0x9da1e3\",\n      \"gasUsed\": \"0x824f2\",\n      \"effectiveGasPrice\": \"0xf4274\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0xe4401eb53ae90a5335a51fe1828d7becf7a63508\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x7e6744\",\n      \"logs\": [\n        {\n          \"address\": \"0xe4401eb53ae90a5335a51fe1828d7becf7a63508\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x00000000000000000000000099fcf11772af0a9cc411af3cb4311a387dd55b15\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xc2968960e33b4ef5665db9fc82069f4f5f97d59ec6d96cb1d0f2274001aa99e5\",\n          \"blockNumber\": \"0x9da1e4\",\n          \"blockTimestamp\": \"0x699e47bc\",\n          \"transactionHash\": \"0xb20f2b5ce3e0f74ae61fa8591f4b91d200cbe483ffb6dd46629b5161a37ca534\",\n          \"transactionIndex\": \"0x41\",\n          \"logIndex\": \"0x6b\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000400000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000210000020000000000000000010000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xb20f2b5ce3e0f74ae61fa8591f4b91d200cbe483ffb6dd46629b5161a37ca534\",\n      \"transactionIndex\": \"0x41\",\n      \"blockHash\": \"0xc2968960e33b4ef5665db9fc82069f4f5f97d59ec6d96cb1d0f2274001aa99e5\",\n      \"blockNumber\": \"0x9da1e4\",\n      \"gasUsed\": \"0xb845\",\n      \"effectiveGasPrice\": \"0xf4274\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": \"0xe4401eb53ae90a5335a51fe1828d7becf7a63508\",\n      \"contractAddress\": null\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x7ed5d7\",\n      \"logs\": [\n        {\n          \"address\": \"0xe4401eb53ae90a5335a51fe1828d7becf7a63508\",\n          \"topics\": [\n            \"0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f\"\n          ],\n          \"data\": \"0x0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c7210000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3\",\n          \"blockHash\": \"0xc2968960e33b4ef5665db9fc82069f4f5f97d59ec6d96cb1d0f2274001aa99e5\",\n          \"blockNumber\": \"0x9da1e4\",\n          \"blockTimestamp\": \"0x699e47bc\",\n          \"transactionHash\": \"0xc54a9c0c602e1bfc1ec470961dd78bf37aeb7f9d8dc098cd37a1fd42fc8bb251\",\n          \"transactionIndex\": \"0x42\",\n          \"logIndex\": \"0x6c\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000400000000000000000000000000000000000000400000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xc54a9c0c602e1bfc1ec470961dd78bf37aeb7f9d8dc098cd37a1fd42fc8bb251\",\n      \"transactionIndex\": \"0x42\",\n      \"blockHash\": \"0xc2968960e33b4ef5665db9fc82069f4f5f97d59ec6d96cb1d0f2274001aa99e5\",\n      \"blockNumber\": \"0x9da1e4\",\n      \"gasUsed\": \"0x6e93\",\n      \"effectiveGasPrice\": \"0xf4274\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": \"0xe4401eb53ae90a5335a51fe1828d7becf7a63508\",\n      \"contractAddress\": null\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x88d1c7\",\n      \"logs\": [\n        {\n          \"address\": \"0xee364de73e1827f5e31a18c70a40f1f78c075b84\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000ff\",\n          \"blockHash\": \"0x2bb983277cbb6d16bf2a9c12916a36a948d23d6d5b78a63d22214473ac4c38bc\",\n          \"blockNumber\": \"0x9da1e8\",\n          \"blockTimestamp\": \"0x699e47ec\",\n          \"transactionHash\": \"0xc0ed1f3ffd7fa06eaf3c7971e2470dc62a4e65c99e28b576b4f559c457d0e66e\",\n          \"transactionIndex\": \"0x3e\",\n          \"logIndex\": \"0x52\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000100000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xc0ed1f3ffd7fa06eaf3c7971e2470dc62a4e65c99e28b576b4f559c457d0e66e\",\n      \"transactionIndex\": \"0x3e\",\n      \"blockHash\": \"0x2bb983277cbb6d16bf2a9c12916a36a948d23d6d5b78a63d22214473ac4c38bc\",\n      \"blockNumber\": \"0x9da1e8\",\n      \"gasUsed\": \"0x2aac1a\",\n      \"effectiveGasPrice\": \"0xf4274\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0xee364de73e1827f5e31a18c70a40f1f78c075b84\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1771980781445,\n  \"chain\": 11155111,\n  \"commit\": \"43996b8\"\n}"
  },
  {
    "path": "sepolia/2026-02-19-superchain-separation/records/UpdateCBSafeSigners.s.sol/11155111/approve-latest.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x65fb0441a67f27a83976aa09914e823e07964249fa7a973f086f61a85e771d40\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x646132A1667ca7aD00d36616AFBA1A28116C770A\",\n        \"0\",\n        \"0xd4d9bdcd20586bc3f21051ed618bef3f801071d720db80050d0917a57d907ffe84df19ef\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xa7d8f02cb4624bfe8c9ce41bf1d07844a75952bd78fc1f1dfc38c0eef104bb881f3224614d3db90777e65fd4e16ba7fe133555eb463aa2810c6db84c9146f9a91c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n        \"gas\": \"0x1b9e4\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd20586bc3f21051ed618bef3f801071d720db80050d0917a57d907ffe84df19ef000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041a7d8f02cb4624bfe8c9ce41bf1d07844a75952bd78fc1f1dfc38c0eef104bb881f3224614d3db90777e65fd4e16ba7fe133555eb463aa2810c6db84c9146f9a91c00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x4a\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xc132a0\",\n      \"logs\": [\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x20586bc3f21051ed618bef3f801071d720db80050d0917a57d907ffe84df19ef\",\n            \"0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xac3de89f93c57b13bdaa8a6610d7b885d7937e3bfa95b118fdc71836c18b76b5\",\n          \"blockNumber\": \"0x9dd43f\",\n          \"blockTimestamp\": \"0x69a0c89c\",\n          \"transactionHash\": \"0x65fb0441a67f27a83976aa09914e823e07964249fa7a973f086f61a85e771d40\",\n          \"transactionIndex\": \"0x6e\",\n          \"logIndex\": \"0xfd\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x9ded1d8109e97a004dfc47e730fd09a373557dd38748c0f571a756099a5c29cf0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xac3de89f93c57b13bdaa8a6610d7b885d7937e3bfa95b118fdc71836c18b76b5\",\n          \"blockNumber\": \"0x9dd43f\",\n          \"blockTimestamp\": \"0x69a0c89c\",\n          \"transactionHash\": \"0x65fb0441a67f27a83976aa09914e823e07964249fa7a973f086f61a85e771d40\",\n          \"transactionIndex\": \"0x6e\",\n          \"logIndex\": \"0xfe\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000040000000000000000000000000000000000000000040000000000000020000000000000000000000000000000000000100000000000000000000000000000000000000000000000000040000000000000000400000000000000000000400000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000000004000020000000000000000000000000000014020000000000000000000000100000000008000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x65fb0441a67f27a83976aa09914e823e07964249fa7a973f086f61a85e771d40\",\n      \"transactionIndex\": \"0x6e\",\n      \"blockHash\": \"0xac3de89f93c57b13bdaa8a6610d7b885d7937e3bfa95b118fdc71836c18b76b5\",\n      \"blockNumber\": \"0x9dd43f\",\n      \"gasUsed\": \"0x13fed\",\n      \"effectiveGasPrice\": \"0xf4363\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1772144796912,\n  \"chain\": 11155111,\n  \"commit\": \"d3b0666\"\n}"
  },
  {
    "path": "sepolia/2026-02-19-superchain-separation/records/UpdateCBSafeSigners.s.sol/11155111/run-1772144713483.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xa23e5e388d843fb54e2cff7e316b789a51fa3b6c3a0aa9d52ba704d0806fd09c\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x646132A1667ca7aD00d36616AFBA1A28116C770A\",\n        \"0\",\n        \"0xd4d9bdcd20586bc3f21051ed618bef3f801071d720db80050d0917a57d907ffe84df19ef\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xbfab9b64241dcf79da1713ebc6ebcfec3f104ffe1cbe57da8f7131e9b2ed24d84cc7139807adb2731fc51e393dbb901e1ae5d5f5da57309651af12acf7087d9d1b5b8e088be5d6c465966cac8bc988e1c241965116c3dcad410324ec29e22426fb6b0d299e5f4d27d84aa7189d2eda9b885ebb341902ac0295675fba72e302e9171b0b6b6d2b9fc0b5ab11d6329cbe94d412b5d04b1d7c32bd543b8ef07aea850b4c3eee4b8526d2705d761de54cb2720838c3bab58fdeeb20b6210ca46e738087621b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n        \"gas\": \"0x21047\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd20586bc3f21051ed618bef3f801071d720db80050d0917a57d907ffe84df19ef0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3bfab9b64241dcf79da1713ebc6ebcfec3f104ffe1cbe57da8f7131e9b2ed24d84cc7139807adb2731fc51e393dbb901e1ae5d5f5da57309651af12acf7087d9d1b5b8e088be5d6c465966cac8bc988e1c241965116c3dcad410324ec29e22426fb6b0d299e5f4d27d84aa7189d2eda9b885ebb341902ac0295675fba72e302e9171b0b6b6d2b9fc0b5ab11d6329cbe94d412b5d04b1d7c32bd543b8ef07aea850b4c3eee4b8526d2705d761de54cb2720838c3bab58fdeeb20b6210ca46e738087621b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x49\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x6ea2e5\",\n      \"logs\": [\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x20586bc3f21051ed618bef3f801071d720db80050d0917a57d907ffe84df19ef\",\n            \"0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x9a304e02464c3c22514885de509585df3dc50374d6f5649d6006d2e951b49e33\",\n          \"blockNumber\": \"0x9dd439\",\n          \"blockTimestamp\": \"0x69a0c848\",\n          \"transactionHash\": \"0xa23e5e388d843fb54e2cff7e316b789a51fa3b6c3a0aa9d52ba704d0806fd09c\",\n          \"transactionIndex\": \"0x3f\",\n          \"logIndex\": \"0x96\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0xa2894e5686a6218254cb2ffb79d902b949604d4dce61d58949fb6e971457718a\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x9a304e02464c3c22514885de509585df3dc50374d6f5649d6006d2e951b49e33\",\n          \"blockNumber\": \"0x9dd439\",\n          \"blockTimestamp\": \"0x69a0c848\",\n          \"transactionHash\": \"0xa23e5e388d843fb54e2cff7e316b789a51fa3b6c3a0aa9d52ba704d0806fd09c\",\n          \"transactionIndex\": \"0x3f\",\n          \"logIndex\": \"0x97\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000000010020000000000000000000000000000000000000100000000000000000000000000000000000000000000000000040000000000010000800000000000000000000400000000000000000000000000000000000000000000000008000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000020000404000000000000010000000000000010000000000000000000000000000000000000000000000000000004000020000000000000000000000000000040000000000000000000000000100000000400000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xa23e5e388d843fb54e2cff7e316b789a51fa3b6c3a0aa9d52ba704d0806fd09c\",\n      \"transactionIndex\": \"0x3f\",\n      \"blockHash\": \"0x9a304e02464c3c22514885de509585df3dc50374d6f5649d6006d2e951b49e33\",\n      \"blockNumber\": \"0x9dd439\",\n      \"gasUsed\": \"0x17e77\",\n      \"effectiveGasPrice\": \"0xf4365\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1772144713483,\n  \"chain\": 11155111,\n  \"commit\": \"d3b0666\"\n}"
  },
  {
    "path": "sepolia/2026-02-19-superchain-separation/records/UpdateCBSafeSigners.s.sol/11155111/run-1772144796912.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x65fb0441a67f27a83976aa09914e823e07964249fa7a973f086f61a85e771d40\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x646132A1667ca7aD00d36616AFBA1A28116C770A\",\n        \"0\",\n        \"0xd4d9bdcd20586bc3f21051ed618bef3f801071d720db80050d0917a57d907ffe84df19ef\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xa7d8f02cb4624bfe8c9ce41bf1d07844a75952bd78fc1f1dfc38c0eef104bb881f3224614d3db90777e65fd4e16ba7fe133555eb463aa2810c6db84c9146f9a91c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n        \"gas\": \"0x1b9e4\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd20586bc3f21051ed618bef3f801071d720db80050d0917a57d907ffe84df19ef000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041a7d8f02cb4624bfe8c9ce41bf1d07844a75952bd78fc1f1dfc38c0eef104bb881f3224614d3db90777e65fd4e16ba7fe133555eb463aa2810c6db84c9146f9a91c00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x4a\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xc132a0\",\n      \"logs\": [\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x20586bc3f21051ed618bef3f801071d720db80050d0917a57d907ffe84df19ef\",\n            \"0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xac3de89f93c57b13bdaa8a6610d7b885d7937e3bfa95b118fdc71836c18b76b5\",\n          \"blockNumber\": \"0x9dd43f\",\n          \"blockTimestamp\": \"0x69a0c89c\",\n          \"transactionHash\": \"0x65fb0441a67f27a83976aa09914e823e07964249fa7a973f086f61a85e771d40\",\n          \"transactionIndex\": \"0x6e\",\n          \"logIndex\": \"0xfd\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x9ded1d8109e97a004dfc47e730fd09a373557dd38748c0f571a756099a5c29cf0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xac3de89f93c57b13bdaa8a6610d7b885d7937e3bfa95b118fdc71836c18b76b5\",\n          \"blockNumber\": \"0x9dd43f\",\n          \"blockTimestamp\": \"0x69a0c89c\",\n          \"transactionHash\": \"0x65fb0441a67f27a83976aa09914e823e07964249fa7a973f086f61a85e771d40\",\n          \"transactionIndex\": \"0x6e\",\n          \"logIndex\": \"0xfe\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000040000000000000000000000000000000000000000040000000000000020000000000000000000000000000000000000100000000000000000000000000000000000000000000000000040000000000000000400000000000000000000400000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000000004000020000000000000000000000000000014020000000000000000000000100000000008000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x65fb0441a67f27a83976aa09914e823e07964249fa7a973f086f61a85e771d40\",\n      \"transactionIndex\": \"0x6e\",\n      \"blockHash\": \"0xac3de89f93c57b13bdaa8a6610d7b885d7937e3bfa95b118fdc71836c18b76b5\",\n      \"blockNumber\": \"0x9dd43f\",\n      \"gasUsed\": \"0x13fed\",\n      \"effectiveGasPrice\": \"0xf4363\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1772144796912,\n  \"chain\": 11155111,\n  \"commit\": \"d3b0666\"\n}"
  },
  {
    "path": "sepolia/2026-02-19-superchain-separation/records/UpdateCBSafeSigners.s.sol/11155111/run-1772144844778.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303\",\n        \"0\",\n        \"0x858cc8320000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001280000000000000000000000000000000000000000000000000000000000000130000000000000000000000000000000000000000000000000000000000000013800000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000148000000000000000000000000000000000000000000000000000000000000015000000000000000000000000000000000000000000000000000000000000001580000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000016800000000000000000000000000000000000000000000000000000000000001700000000000000000000000000000000000000000000000000000000000000178000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001880000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c5801303000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000f8482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000580000000000000000000000000000000000000000000000000000000000000066000000000000000000000000000000000000000000000000000000000000007400000000000000000000000000000000000000000000000000000000000000820000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000009e00000000000000000000000000000000000000000000000000000000000000ac00000000000000000000000000000000000000000000000000000000000000ba00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000d600000000000000000000000000000000000000000000000000000000000000e40000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd900000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff33000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000005f1955729e3d6129fb73813e891742d473fc74f7000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe26000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000931e24b032511d8dd029aedeb44837fac251f3d8000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000007f10098bd53519c739ca8a404afe127647d94774000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000ee316db0edaee45347dfc498795a01311f085225000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed78000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff330000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n        \"gas\": \"0xb04d9\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c5801303000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ac00000000000000000000000000000000000000000000000000000000000001944858cc8320000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001280000000000000000000000000000000000000000000000000000000000000130000000000000000000000000000000000000000000000000000000000000013800000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000148000000000000000000000000000000000000000000000000000000000000015000000000000000000000000000000000000000000000000000000000000001580000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000016800000000000000000000000000000000000000000000000000000000000001700000000000000000000000000000000000000000000000000000000000000178000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001880000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c5801303000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000f8482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000580000000000000000000000000000000000000000000000000000000000000066000000000000000000000000000000000000000000000000000000000000007400000000000000000000000000000000000000000000000000000000000000820000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000009e00000000000000000000000000000000000000000000000000000000000000ac00000000000000000000000000000000000000000000000000000000000000ba00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000d600000000000000000000000000000000000000000000000000000000000000e40000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd900000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff33000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000005f1955729e3d6129fb73813e891742d473fc74f7000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe26000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000931e24b032511d8dd029aedeb44837fac251f3d8000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000007f10098bd53519c739ca8a404afe127647d94774000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000ee316db0edaee45347dfc498795a01311f085225000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed78000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff330000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x4b\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x59c1c0\",\n      \"logs\": [\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\",\n          \"blockHash\": \"0x0c53a82dd82be42274b09b1bde3895f170025281db457cf026654e755ba4f0f4\",\n          \"blockNumber\": \"0x9dd443\",\n          \"blockTimestamp\": \"0x69a0c8cc\",\n          \"transactionHash\": \"0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3\",\n          \"transactionIndex\": \"0x31\",\n          \"logIndex\": \"0x8b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c93\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0x0c53a82dd82be42274b09b1bde3895f170025281db457cf026654e755ba4f0f4\",\n          \"blockNumber\": \"0x9dd443\",\n          \"blockTimestamp\": \"0x69a0c8cc\",\n          \"transactionHash\": \"0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3\",\n          \"transactionIndex\": \"0x31\",\n          \"logIndex\": \"0x8c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x0000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff33\",\n          \"blockHash\": \"0x0c53a82dd82be42274b09b1bde3895f170025281db457cf026654e755ba4f0f4\",\n          \"blockNumber\": \"0x9dd443\",\n          \"blockTimestamp\": \"0x69a0c8cc\",\n          \"transactionHash\": \"0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3\",\n          \"transactionIndex\": \"0x31\",\n          \"logIndex\": \"0x8d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x0000000000000000000000005f1955729e3d6129fb73813e891742d473fc74f7\",\n          \"blockHash\": \"0x0c53a82dd82be42274b09b1bde3895f170025281db457cf026654e755ba4f0f4\",\n          \"blockNumber\": \"0x9dd443\",\n          \"blockTimestamp\": \"0x69a0c8cc\",\n          \"transactionHash\": \"0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3\",\n          \"transactionIndex\": \"0x31\",\n          \"logIndex\": \"0x8e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x0000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe26\",\n          \"blockHash\": \"0x0c53a82dd82be42274b09b1bde3895f170025281db457cf026654e755ba4f0f4\",\n          \"blockNumber\": \"0x9dd443\",\n          \"blockTimestamp\": \"0x69a0c8cc\",\n          \"transactionHash\": \"0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3\",\n          \"transactionIndex\": \"0x31\",\n          \"logIndex\": \"0x8f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x000000000000000000000000931e24b032511d8dd029aedeb44837fac251f3d8\",\n          \"blockHash\": \"0x0c53a82dd82be42274b09b1bde3895f170025281db457cf026654e755ba4f0f4\",\n          \"blockNumber\": \"0x9dd443\",\n          \"blockTimestamp\": \"0x69a0c8cc\",\n          \"transactionHash\": \"0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3\",\n          \"transactionIndex\": \"0x31\",\n          \"logIndex\": \"0x90\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60\",\n          \"blockHash\": \"0x0c53a82dd82be42274b09b1bde3895f170025281db457cf026654e755ba4f0f4\",\n          \"blockNumber\": \"0x9dd443\",\n          \"blockTimestamp\": \"0x69a0c8cc\",\n          \"transactionHash\": \"0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3\",\n          \"transactionIndex\": \"0x31\",\n          \"logIndex\": \"0x91\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b\",\n          \"blockHash\": \"0x0c53a82dd82be42274b09b1bde3895f170025281db457cf026654e755ba4f0f4\",\n          \"blockNumber\": \"0x9dd443\",\n          \"blockTimestamp\": \"0x69a0c8cc\",\n          \"transactionHash\": \"0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3\",\n          \"transactionIndex\": \"0x31\",\n          \"logIndex\": \"0x92\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x0000000000000000000000007f10098bd53519c739ca8a404afe127647d94774\",\n          \"blockHash\": \"0x0c53a82dd82be42274b09b1bde3895f170025281db457cf026654e755ba4f0f4\",\n          \"blockNumber\": \"0x9dd443\",\n          \"blockTimestamp\": \"0x69a0c8cc\",\n          \"transactionHash\": \"0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3\",\n          \"transactionIndex\": \"0x31\",\n          \"logIndex\": \"0x93\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x0000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n          \"blockHash\": \"0x0c53a82dd82be42274b09b1bde3895f170025281db457cf026654e755ba4f0f4\",\n          \"blockNumber\": \"0x9dd443\",\n          \"blockTimestamp\": \"0x69a0c8cc\",\n          \"transactionHash\": \"0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3\",\n          \"transactionIndex\": \"0x31\",\n          \"logIndex\": \"0x94\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n          \"blockHash\": \"0x0c53a82dd82be42274b09b1bde3895f170025281db457cf026654e755ba4f0f4\",\n          \"blockNumber\": \"0x9dd443\",\n          \"blockTimestamp\": \"0x69a0c8cc\",\n          \"transactionHash\": \"0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3\",\n          \"transactionIndex\": \"0x31\",\n          \"logIndex\": \"0x95\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x000000000000000000000000ee316db0edaee45347dfc498795a01311f085225\",\n          \"blockHash\": \"0x0c53a82dd82be42274b09b1bde3895f170025281db457cf026654e755ba4f0f4\",\n          \"blockNumber\": \"0x9dd443\",\n          \"blockTimestamp\": \"0x69a0c8cc\",\n          \"transactionHash\": \"0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3\",\n          \"transactionIndex\": \"0x31\",\n          \"logIndex\": \"0x96\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179\",\n          \"blockHash\": \"0x0c53a82dd82be42274b09b1bde3895f170025281db457cf026654e755ba4f0f4\",\n          \"blockNumber\": \"0x9dd443\",\n          \"blockTimestamp\": \"0x69a0c8cc\",\n          \"transactionHash\": \"0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3\",\n          \"transactionIndex\": \"0x31\",\n          \"logIndex\": \"0x97\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x0000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed78\",\n          \"blockHash\": \"0x0c53a82dd82be42274b09b1bde3895f170025281db457cf026654e755ba4f0f4\",\n          \"blockNumber\": \"0x9dd443\",\n          \"blockTimestamp\": \"0x69a0c8cc\",\n          \"transactionHash\": \"0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3\",\n          \"transactionIndex\": \"0x31\",\n          \"logIndex\": \"0x98\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26\"\n          ],\n          \"data\": \"0x000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d\",\n          \"blockHash\": \"0x0c53a82dd82be42274b09b1bde3895f170025281db457cf026654e755ba4f0f4\",\n          \"blockNumber\": \"0x9dd443\",\n          \"blockTimestamp\": \"0x69a0c8cc\",\n          \"transactionHash\": \"0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3\",\n          \"transactionIndex\": \"0x31\",\n          \"logIndex\": \"0x99\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf\"\n          ],\n          \"data\": \"0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"blockHash\": \"0x0c53a82dd82be42274b09b1bde3895f170025281db457cf026654e755ba4f0f4\",\n          \"blockNumber\": \"0x9dd443\",\n          \"blockTimestamp\": \"0x69a0c8cc\",\n          \"transactionHash\": \"0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3\",\n          \"transactionIndex\": \"0x31\",\n          \"logIndex\": \"0x9a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c93\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0x0c53a82dd82be42274b09b1bde3895f170025281db457cf026654e755ba4f0f4\",\n          \"blockNumber\": \"0x9dd443\",\n          \"blockTimestamp\": \"0x69a0c8cc\",\n          \"transactionHash\": \"0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3\",\n          \"transactionIndex\": \"0x31\",\n          \"logIndex\": \"0x9b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x20586bc3f21051ed618bef3f801071d720db80050d0917a57d907ffe84df19ef0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x0c53a82dd82be42274b09b1bde3895f170025281db457cf026654e755ba4f0f4\",\n          \"blockNumber\": \"0x9dd443\",\n          \"blockTimestamp\": \"0x69a0c8cc\",\n          \"transactionHash\": \"0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3\",\n          \"transactionIndex\": \"0x31\",\n          \"logIndex\": \"0x9c\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000080000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000020004000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000001000000004000000000000010000000000000000000000000000000000000000000000000000000000000000000004000020000040000000000000400000000000000000000000008000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3\",\n      \"transactionIndex\": \"0x31\",\n      \"blockHash\": \"0x0c53a82dd82be42274b09b1bde3895f170025281db457cf026654e755ba4f0f4\",\n      \"blockNumber\": \"0x9dd443\",\n      \"gasUsed\": \"0x788c9\",\n      \"effectiveGasPrice\": \"0xf4356\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1772144844778,\n  \"chain\": 11155111,\n  \"commit\": \"d3b0666\"\n}"
  },
  {
    "path": "sepolia/2026-02-19-superchain-separation/records/UpgradeFeeDisburser.s.sol/11155111/run-1772145098001.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x3c056f12475a39854ef1b525fc61e27237b79c7ba4120b07ef327c9ec1c8391f\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x49f53e41452C74589E85cA1677426Ba426459e85\",\n        \"0\",\n        \"0xe9e05c4200000000000000000000000076355a67fcbcde6f9a69409a8ead5eaa9d8d875d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000243659cfe6000000000000000000000000a2ff1eda0a2c5a757ccfcc52f3255c16347ead0300000000000000000000000000000000000000000000000000000000\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x7a0726da36ce038de7b6497f721dd9630f0caa456758dcb93e540d222393698260a1adcb08fc74949ee2298ebed317eb43c951555fbefb590138343daf8bc0001ca3e7a7caa4ffaef518f1a39d7b03774e94bc33fd39b24f773921453c3612ff804c616942f9a18d696c3989e929afe78847bb3bc8f061ee20e87ea84a8883082d1cb2996410d5c43b040f16f3d9ada95f0dae5f43da9c70b03a5a227978f7a5115351ee6c0bbd2b6ab853f1d0b5f0dec3cbde57548fd221fba8a1bc4ffa007da0151c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n        \"gas\": \"0x3e54d\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a76120200000000000000000000000049f53e41452c74589e85ca1677426ba426459e850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000104e9e05c4200000000000000000000000076355a67fcbcde6f9a69409a8ead5eaa9d8d875d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000243659cfe6000000000000000000000000a2ff1eda0a2c5a757ccfcc52f3255c16347ead03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c37a0726da36ce038de7b6497f721dd9630f0caa456758dcb93e540d222393698260a1adcb08fc74949ee2298ebed317eb43c951555fbefb590138343daf8bc0001ca3e7a7caa4ffaef518f1a39d7b03774e94bc33fd39b24f773921453c3612ff804c616942f9a18d696c3989e929afe78847bb3bc8f061ee20e87ea84a8883082d1cb2996410d5c43b040f16f3d9ada95f0dae5f43da9c70b03a5a227978f7a5115351ee6c0bbd2b6ab853f1d0b5f0dec3cbde57548fd221fba8a1bc4ffa007da0151c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x4f\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x5fb0d5\",\n      \"logs\": [\n        {\n          \"address\": \"0x49f53e41452c74589e85ca1677426ba426459e85\",\n          \"topics\": [\n            \"0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32\",\n            \"0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\",\n            \"0x00000000000000000000000076355a67fcbcde6f9a69409a8ead5eaa9d8d875d\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0003659cfe6000000000000000000000000a2ff1eda0a2c5a757ccfcc52f3255c16347ead0300000000000000000000000000000000000000\",\n          \"blockHash\": \"0xcf340b4c20cd82f60a262c2c9764ce4a68135482789a507ad02d9db058984291\",\n          \"blockNumber\": \"0x9dd457\",\n          \"blockTimestamp\": \"0x69a0c9c8\",\n          \"transactionHash\": \"0x3c056f12475a39854ef1b525fc61e27237b79c7ba4120b07ef327c9ec1c8391f\",\n          \"transactionIndex\": \"0x3e\",\n          \"logIndex\": \"0x89\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0xf5415770680588e00b95f0526997e9044c9484ef98e0e9d6b80529becf1f0dae\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xcf340b4c20cd82f60a262c2c9764ce4a68135482789a507ad02d9db058984291\",\n          \"blockNumber\": \"0x9dd457\",\n          \"blockTimestamp\": \"0x69a0c9c8\",\n          \"transactionHash\": \"0x3c056f12475a39854ef1b525fc61e27237b79c7ba4120b07ef327c9ec1c8391f\",\n          \"transactionIndex\": \"0x3e\",\n          \"logIndex\": \"0x8a\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000004000000002000000002000000000000000000000020000000000000000000000000001000000000000000002000000000100000000000000000800000000000000040000020000000000400000000800000000000020000000000000000008000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000404080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000040002000000000000000080000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x3c056f12475a39854ef1b525fc61e27237b79c7ba4120b07ef327c9ec1c8391f\",\n      \"transactionIndex\": \"0x3e\",\n      \"blockHash\": \"0xcf340b4c20cd82f60a262c2c9764ce4a68135482789a507ad02d9db058984291\",\n      \"blockNumber\": \"0x9dd457\",\n      \"gasUsed\": \"0x2a9eb\",\n      \"effectiveGasPrice\": \"0xf432b\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1772145098001,\n  \"chain\": 11155111,\n  \"commit\": \"d3b0666\"\n}"
  },
  {
    "path": "sepolia/2026-02-19-superchain-separation/records/UpgradeSystemConfig.s.sol/11155111/approve-latest.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xb69f9ec9740d9322167bf261147f80d886688d4c17890596c3c382cdf9bae18c\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n        \"0\",\n        \"0xd4d9bdcdd05e584b431c05a7f3251fe7675801fc96ffbfed8d61a25727c71f2de87e9b2f\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x794b076ce6e05445e906666d7929a788ecbf3f2b8fda786c64218e3cecbb68a1632eb13422d27fd1f63efc38ad029e7fbc4fc59c14998c5fcc4571000c6fc2e81c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n        \"gas\": \"0x1c81a\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcdd05e584b431c05a7f3251fe7675801fc96ffbfed8d61a25727c71f2de87e9b2f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041794b076ce6e05445e906666d7929a788ecbf3f2b8fda786c64218e3cecbb68a1632eb13422d27fd1f63efc38ad029e7fbc4fc59c14998c5fcc4571000c6fc2e81c00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x4d\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x69045b\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xd05e584b431c05a7f3251fe7675801fc96ffbfed8d61a25727c71f2de87e9b2f\",\n            \"0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xb28dcb586fe08e5112d74005919e0a4562b20a112bcfaf288bf77f4a1e8fafde\",\n          \"blockNumber\": \"0x9dd44b\",\n          \"blockTimestamp\": \"0x69a0c92c\",\n          \"transactionHash\": \"0xb69f9ec9740d9322167bf261147f80d886688d4c17890596c3c382cdf9bae18c\",\n          \"transactionIndex\": \"0x47\",\n          \"logIndex\": \"0xa0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x245eb4ed2809cda856c735cbcf936b56fb0e9539d6a9b6b7ea032ffa766e82000000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xb28dcb586fe08e5112d74005919e0a4562b20a112bcfaf288bf77f4a1e8fafde\",\n          \"blockNumber\": \"0x9dd44b\",\n          \"blockTimestamp\": \"0x69a0c92c\",\n          \"transactionHash\": \"0xb69f9ec9740d9322167bf261147f80d886688d4c17890596c3c382cdf9bae18c\",\n          \"transactionIndex\": \"0x47\",\n          \"logIndex\": \"0xa1\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000008000000000000000400000000000000000000400000000000000000000000000000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000040000000000800000000000000000000000000000000000000000000000000000000000000000014020000000000000000000000100000000008000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xb69f9ec9740d9322167bf261147f80d886688d4c17890596c3c382cdf9bae18c\",\n      \"transactionIndex\": \"0x47\",\n      \"blockHash\": \"0xb28dcb586fe08e5112d74005919e0a4562b20a112bcfaf288bf77f4a1e8fafde\",\n      \"blockNumber\": \"0x9dd44b\",\n      \"gasUsed\": \"0x14a36\",\n      \"effectiveGasPrice\": \"0xf4347\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1772144942393,\n  \"chain\": 11155111,\n  \"commit\": \"d3b0666\"\n}"
  },
  {
    "path": "sepolia/2026-02-19-superchain-separation/records/UpgradeSystemConfig.s.sol/11155111/run-1772144904683.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x27dece66b3587db11b605391262d71e4bfab5cc130d2dff531f84ca848fb5847\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n        \"0\",\n        \"0xd4d9bdcdd05e584b431c05a7f3251fe7675801fc96ffbfed8d61a25727c71f2de87e9b2f\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x8cbbd558001abf21deb74daf1b6684e9f81e6270fa106c9bc53278e7593117737048c2c260647de1de8d1045b688c000090dacb2a4b2f6cae122c511c709b1cd1bc48ec7d4fc27b417f67528e401fa2a8f4dc59138d3518efd91a7e215882277ac5907d4f951504c234ba9f05f420943345383b7ca79a1b682e87a7ef8fd12acd71cc59850279003870b614f1d783a91426f34c8b2fce70bb86c24bca6409c8fcc7835bd6bb777b92611aaa2ff5232e6483495ccea919a757c29d363d3b816391d881b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n        \"gas\": \"0x212db\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcdd05e584b431c05a7f3251fe7675801fc96ffbfed8d61a25727c71f2de87e9b2f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c38cbbd558001abf21deb74daf1b6684e9f81e6270fa106c9bc53278e7593117737048c2c260647de1de8d1045b688c000090dacb2a4b2f6cae122c511c709b1cd1bc48ec7d4fc27b417f67528e401fa2a8f4dc59138d3518efd91a7e215882277ac5907d4f951504c234ba9f05f420943345383b7ca79a1b682e87a7ef8fd12acd71cc59850279003870b614f1d783a91426f34c8b2fce70bb86c24bca6409c8fcc7835bd6bb777b92611aaa2ff5232e6483495ccea919a757c29d363d3b816391d881b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x4c\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x66ebf7\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xd05e584b431c05a7f3251fe7675801fc96ffbfed8d61a25727c71f2de87e9b2f\",\n            \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xe38fde71e803aa641a901ee274731dc612e68b2a9850e02802f097aa1c648d5c\",\n          \"blockNumber\": \"0x9dd448\",\n          \"blockTimestamp\": \"0x69a0c908\",\n          \"transactionHash\": \"0x27dece66b3587db11b605391262d71e4bfab5cc130d2dff531f84ca848fb5847\",\n          \"transactionIndex\": \"0x3b\",\n          \"logIndex\": \"0x87\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xb5ecb71657f9f755852bd591399e94acb80f1f0f0e855a923001e9c3a5448a600000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xe38fde71e803aa641a901ee274731dc612e68b2a9850e02802f097aa1c648d5c\",\n          \"blockNumber\": \"0x9dd448\",\n          \"blockTimestamp\": \"0x69a0c908\",\n          \"transactionHash\": \"0x27dece66b3587db11b605391262d71e4bfab5cc130d2dff531f84ca848fb5847\",\n          \"transactionIndex\": \"0x3b\",\n          \"logIndex\": \"0x88\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000008000000000000000000000000000000000000400000000000000000000000010000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000040000000000800000000000000000000000000001004000020000000000000000000000000000000000000000200000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x27dece66b3587db11b605391262d71e4bfab5cc130d2dff531f84ca848fb5847\",\n      \"transactionIndex\": \"0x3b\",\n      \"blockHash\": \"0xe38fde71e803aa641a901ee274731dc612e68b2a9850e02802f097aa1c648d5c\",\n      \"blockNumber\": \"0x9dd448\",\n      \"gasUsed\": \"0x18055\",\n      \"effectiveGasPrice\": \"0xf4350\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1772144904683,\n  \"chain\": 11155111,\n  \"commit\": \"d3b0666\"\n}"
  },
  {
    "path": "sepolia/2026-02-19-superchain-separation/records/UpgradeSystemConfig.s.sol/11155111/run-1772144942393.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xb69f9ec9740d9322167bf261147f80d886688d4c17890596c3c382cdf9bae18c\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n        \"0\",\n        \"0xd4d9bdcdd05e584b431c05a7f3251fe7675801fc96ffbfed8d61a25727c71f2de87e9b2f\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x794b076ce6e05445e906666d7929a788ecbf3f2b8fda786c64218e3cecbb68a1632eb13422d27fd1f63efc38ad029e7fbc4fc59c14998c5fcc4571000c6fc2e81c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n        \"gas\": \"0x1c81a\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcdd05e584b431c05a7f3251fe7675801fc96ffbfed8d61a25727c71f2de87e9b2f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041794b076ce6e05445e906666d7929a788ecbf3f2b8fda786c64218e3cecbb68a1632eb13422d27fd1f63efc38ad029e7fbc4fc59c14998c5fcc4571000c6fc2e81c00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x4d\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x69045b\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xd05e584b431c05a7f3251fe7675801fc96ffbfed8d61a25727c71f2de87e9b2f\",\n            \"0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xb28dcb586fe08e5112d74005919e0a4562b20a112bcfaf288bf77f4a1e8fafde\",\n          \"blockNumber\": \"0x9dd44b\",\n          \"blockTimestamp\": \"0x69a0c92c\",\n          \"transactionHash\": \"0xb69f9ec9740d9322167bf261147f80d886688d4c17890596c3c382cdf9bae18c\",\n          \"transactionIndex\": \"0x47\",\n          \"logIndex\": \"0xa0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x245eb4ed2809cda856c735cbcf936b56fb0e9539d6a9b6b7ea032ffa766e82000000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xb28dcb586fe08e5112d74005919e0a4562b20a112bcfaf288bf77f4a1e8fafde\",\n          \"blockNumber\": \"0x9dd44b\",\n          \"blockTimestamp\": \"0x69a0c92c\",\n          \"transactionHash\": \"0xb69f9ec9740d9322167bf261147f80d886688d4c17890596c3c382cdf9bae18c\",\n          \"transactionIndex\": \"0x47\",\n          \"logIndex\": \"0xa1\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000008000000000000000400000000000000000000400000000000000000000000000000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000040000000000800000000000000000000000000000000000000000000000000000000000000000014020000000000000000000000100000000008000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xb69f9ec9740d9322167bf261147f80d886688d4c17890596c3c382cdf9bae18c\",\n      \"transactionIndex\": \"0x47\",\n      \"blockHash\": \"0xb28dcb586fe08e5112d74005919e0a4562b20a112bcfaf288bf77f4a1e8fafde\",\n      \"blockNumber\": \"0x9dd44b\",\n      \"gasUsed\": \"0x14a36\",\n      \"effectiveGasPrice\": \"0xf4347\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1772144942393,\n  \"chain\": 11155111,\n  \"commit\": \"d3b0666\"\n}"
  },
  {
    "path": "sepolia/2026-02-19-superchain-separation/records/UpgradeSystemConfig.s.sol/11155111/run-1772144989624.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x60c05a9ee8f30a8c1fc0f739ae9be01e755045c976ae0b78ee2c3f1ba9eeaed8\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3\",\n        \"0\",\n        \"0x9623609d000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000ee364de73e1827f5e31a18c70a40f1f78c075b84000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002a41edd50980000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000000000000000000000000000000000000000044d00000000000000000000000000000000000000000000000000000000000a118b000000000000000000000000fc56e7272eebbba5bc6c544e159483c4a38f8ba300000000000000000000000000000000000000000000000000000000165a0bc0000000000000000000000000b830b99c95ea32300039624cb567d324d4b1d83c0000000000000000000000000000000000000000000000000000000001312d00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000ffffffffffffffffffffffffffffffff000000000000000000000000ff00000000000000000000000000000000084532000000000000000000000000c34855f4de64f1840e5686e64278da901e261f2000000000000000000000000021efd066e581fa55ef105170cc04d74386a09190000000000000000000000000fd0bf71f60660e2f608ed56e1659c450eb11312000000000000000000000000049f53e41452c74589e85ca1677426ba426459e85000000000000000000000000b1efb9650ad6d0cc1ed3ac4a0b7f1d5732696d3700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014a34000000000000000000000000e4401eb53ae90a5335a51fe1828d7becf7a6350800000000000000000000000000000000000000000000000000000000\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n        \"gas\": \"0x37b1c\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000003449623609d000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000ee364de73e1827f5e31a18c70a40f1f78c075b84000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002a41edd50980000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000000000000000000000000000000000000000044d00000000000000000000000000000000000000000000000000000000000a118b000000000000000000000000fc56e7272eebbba5bc6c544e159483c4a38f8ba300000000000000000000000000000000000000000000000000000000165a0bc0000000000000000000000000b830b99c95ea32300039624cb567d324d4b1d83c0000000000000000000000000000000000000000000000000000000001312d00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000ffffffffffffffffffffffffffffffff000000000000000000000000ff00000000000000000000000000000000084532000000000000000000000000c34855f4de64f1840e5686e64278da901e261f2000000000000000000000000021efd066e581fa55ef105170cc04d74386a09190000000000000000000000000fd0bf71f60660e2f608ed56e1659c450eb11312000000000000000000000000049f53e41452c74589e85ca1677426ba426459e85000000000000000000000000b1efb9650ad6d0cc1ed3ac4a0b7f1d5732696d3700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014a34000000000000000000000000e4401eb53ae90a5335a51fe1828d7becf7a6350800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x4e\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x117525c\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004e000000000000000000000000000000000000000000000000000000000000005a000000000000000000000000000000000000000000000000000000000000003449623609d000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000ee364de73e1827f5e31a18c70a40f1f78c075b84000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002a41edd50980000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000000000000000000000000000000000000000044d00000000000000000000000000000000000000000000000000000000000a118b000000000000000000000000fc56e7272eebbba5bc6c544e159483c4a38f8ba300000000000000000000000000000000000000000000000000000000165a0bc0000000000000000000000000b830b99c95ea32300039624cb567d324d4b1d83c0000000000000000000000000000000000000000000000000000000001312d00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000ffffffffffffffffffffffffffffffff000000000000000000000000ff00000000000000000000000000000000084532000000000000000000000000c34855f4de64f1840e5686e64278da901e261f2000000000000000000000000021efd066e581fa55ef105170cc04d74386a09190000000000000000000000000fd0bf71f60660e2f608ed56e1659c450eb11312000000000000000000000000049f53e41452c74589e85ca1677426ba426459e85000000000000000000000000b1efb9650ad6d0cc1ed3ac4a0b7f1d5732696d3700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014a34000000000000000000000000e4401eb53ae90a5335a51fe1828d7becf7a6350800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001f0000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe072520000000000000000000000000000000000000000000000000000000000000002\",\n          \"blockHash\": \"0x07c7dcd8f7d711067b895d0847b9fa03e799b5f35c3b5606230546be52277944\",\n          \"blockNumber\": \"0x9dd44f\",\n          \"blockTimestamp\": \"0x69a0c95c\",\n          \"transactionHash\": \"0x60c05a9ee8f30a8c1fc0f739ae9be01e755045c976ae0b78ee2c3f1ba9eeaed8\",\n          \"transactionIndex\": \"0x53\",\n          \"logIndex\": \"0x110\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x000000000000000000000000ee364de73e1827f5e31a18c70a40f1f78c075b84\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x07c7dcd8f7d711067b895d0847b9fa03e799b5f35c3b5606230546be52277944\",\n          \"blockNumber\": \"0x9dd44f\",\n          \"blockTimestamp\": \"0x69a0c95c\",\n          \"transactionHash\": \"0x60c05a9ee8f30a8c1fc0f739ae9be01e755045c976ae0b78ee2c3f1ba9eeaed8\",\n          \"transactionIndex\": \"0x53\",\n          \"logIndex\": \"0x111\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n            \"0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x07c7dcd8f7d711067b895d0847b9fa03e799b5f35c3b5606230546be52277944\",\n          \"blockNumber\": \"0x9dd44f\",\n          \"blockTimestamp\": \"0x69a0c95c\",\n          \"transactionHash\": \"0x60c05a9ee8f30a8c1fc0f739ae9be01e755045c976ae0b78ee2c3f1ba9eeaed8\",\n          \"transactionIndex\": \"0x53\",\n          \"logIndex\": \"0x112\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3\",\n            \"0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x07c7dcd8f7d711067b895d0847b9fa03e799b5f35c3b5606230546be52277944\",\n          \"blockNumber\": \"0x9dd44f\",\n          \"blockTimestamp\": \"0x69a0c95c\",\n          \"transactionHash\": \"0x60c05a9ee8f30a8c1fc0f739ae9be01e755045c976ae0b78ee2c3f1ba9eeaed8\",\n          \"transactionIndex\": \"0x53\",\n          \"logIndex\": \"0x113\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000fc56e7272eebbba5bc6c544e159483c4a38f8ba3\",\n          \"blockHash\": \"0x07c7dcd8f7d711067b895d0847b9fa03e799b5f35c3b5606230546be52277944\",\n          \"blockNumber\": \"0x9dd44f\",\n          \"blockTimestamp\": \"0x69a0c95c\",\n          \"transactionHash\": \"0x60c05a9ee8f30a8c1fc0f739ae9be01e755045c976ae0b78ee2c3f1ba9eeaed8\",\n          \"transactionIndex\": \"0x53\",\n          \"logIndex\": \"0x114\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000001\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000a118b0000044d\",\n          \"blockHash\": \"0x07c7dcd8f7d711067b895d0847b9fa03e799b5f35c3b5606230546be52277944\",\n          \"blockNumber\": \"0x9dd44f\",\n          \"blockTimestamp\": \"0x69a0c95c\",\n          \"transactionHash\": \"0x60c05a9ee8f30a8c1fc0f739ae9be01e755045c976ae0b78ee2c3f1ba9eeaed8\",\n          \"transactionIndex\": \"0x53\",\n          \"logIndex\": \"0x115\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000002\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000165a0bc0\",\n          \"blockHash\": \"0x07c7dcd8f7d711067b895d0847b9fa03e799b5f35c3b5606230546be52277944\",\n          \"blockNumber\": \"0x9dd44f\",\n          \"blockTimestamp\": \"0x69a0c95c\",\n          \"transactionHash\": \"0x60c05a9ee8f30a8c1fc0f739ae9be01e755045c976ae0b78ee2c3f1ba9eeaed8\",\n          \"transactionIndex\": \"0x53\",\n          \"logIndex\": \"0x116\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"blockHash\": \"0x07c7dcd8f7d711067b895d0847b9fa03e799b5f35c3b5606230546be52277944\",\n          \"blockNumber\": \"0x9dd44f\",\n          \"blockTimestamp\": \"0x69a0c95c\",\n          \"transactionHash\": \"0x60c05a9ee8f30a8c1fc0f739ae9be01e755045c976ae0b78ee2c3f1ba9eeaed8\",\n          \"transactionIndex\": \"0x53\",\n          \"logIndex\": \"0x117\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xd05e584b431c05a7f3251fe7675801fc96ffbfed8d61a25727c71f2de87e9b2f0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x07c7dcd8f7d711067b895d0847b9fa03e799b5f35c3b5606230546be52277944\",\n          \"blockNumber\": \"0x9dd44f\",\n          \"blockTimestamp\": \"0x69a0c95c\",\n          \"transactionHash\": \"0x60c05a9ee8f30a8c1fc0f739ae9be01e755045c976ae0b78ee2c3f1ba9eeaed8\",\n          \"transactionIndex\": \"0x53\",\n          \"logIndex\": \"0x118\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x04000000400000000000000000000000400000000000000000800000040000000000010000000000000000000000000000000000000008000000000000040000000000000000000000000000000002000001040000040000000000000000000000000000020100000000000000000800000000c00000000000000000000008400000200000000800000000040200000000008000000080000000000000000000000000000400000000000120000404040000000000000000000000800000000000000020000000000000000000060000000000000000000000000400000060000000000000000000000000000000000000000000009000000008008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x60c05a9ee8f30a8c1fc0f739ae9be01e755045c976ae0b78ee2c3f1ba9eeaed8\",\n      \"transactionIndex\": \"0x53\",\n      \"blockHash\": \"0x07c7dcd8f7d711067b895d0847b9fa03e799b5f35c3b5606230546be52277944\",\n      \"blockNumber\": \"0x9dd44f\",\n      \"gasUsed\": \"0x28526\",\n      \"effectiveGasPrice\": \"0xf433c\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1772144989624,\n  \"chain\": 11155111,\n  \"commit\": \"d3b0666\"\n}"
  },
  {
    "path": "sepolia/2026-02-19-superchain-separation/script/DeployFeeDisburser.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.25;\n\nimport {Script} from \"forge-std/Script.sol\";\nimport {console} from \"forge-std/console.sol\";\n\nimport {FeeDisburser} from \"@base-contracts/src/revenue-share/FeeDisburser.sol\";\n\n/// @title DeployFeeDisburser\n/// @notice Deploys the FeeDisburser contract which collects fees from L2 FeeVaults and bridges them to L1.\n/// @dev Required environment variables:\n///      - L1_WALLET: The L1 address that will receive bridged fees\n///      - FEE_DISBURSEMENT_INTERVAL: Minimum time in seconds between disbursements (must be >= 24 hours)\ncontract DeployFeeDisburser is Script {\n    /// @notice The L1 address that will receive the bridged fees.\n    address public immutable L1_WALLET = vm.envAddress(\"BALANCE_TRACKER\");\n\n    /// @notice The minimum time in seconds between fee disbursements.\n    uint256 public immutable FEE_DISBURSEMENT_INTERVAL = vm.envUint(\"FEE_DISBURSEMENT_INTERVAL\");\n\n    function run() external {\n        vm.startBroadcast();\n\n        FeeDisburser feeDisburser = new FeeDisburser(L1_WALLET, FEE_DISBURSEMENT_INTERVAL);\n\n        console.log(\"FeeDisburser deployed at:\", address(feeDisburser));\n        console.log(\"  L1_WALLET:\", L1_WALLET);\n        console.log(\"  FEE_DISBURSEMENT_INTERVAL:\", FEE_DISBURSEMENT_INTERVAL);\n\n        vm.stopBroadcast();\n\n        // Post-deployment checks to ensure immutables match expected values\n        // (guards against shell env variables overriding .env file)\n        require(\n            feeDisburser.L1_WALLET() == 0x8D1b5e5614300F5c7ADA01fFA4ccF8F1752D9A57,\n            \"DeployFeeDisburser: L1_WALLET mismatch\"\n        );\n        require(\n            feeDisburser.FEE_DISBURSEMENT_INTERVAL() == 604800, \"DeployFeeDisburser: FEE_DISBURSEMENT_INTERVAL mismatch\"\n        );\n    }\n}\n"
  },
  {
    "path": "sepolia/2026-02-19-superchain-separation/script/DeploySuperchainConfigAndSystemConfig.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Script} from \"forge-std/Script.sol\";\n\nimport {Proxy} from \"@base-contracts/src/universal/Proxy.sol\";\nimport {ProxyAdmin} from \"@base-contracts/src/universal/ProxyAdmin.sol\";\nimport {SystemConfig} from \"@base-contracts/src/L1/SystemConfig.sol\";\nimport {SuperchainConfig} from \"@base-contracts/src/L1/SuperchainConfig.sol\";\n\n/// @title DeploySuperchainConfigAndSystemConfig\n/// @notice Deploys a new SuperchainConfig proxy and a patched SystemConfig implementation.\n///         The SuperchainConfig proxy is initialized with the guardian address and admin\n///         is transferred to the ProxyAdmin contract. The SystemConfig implementation uses\n///         init version 4 to allow re-initialization on existing proxies.\ncontract DeploySuperchainConfigAndSystemConfig is Script {\n    /// @notice The ProxyAdmin contract that will be the admin of the SuperchainConfig proxy.\n    address public immutable PROXY_ADMIN = vm.envAddress(\"PROXY_ADMIN\");\n\n    /// @notice The Safe that owns the ProxyAdmin.\n    address public immutable OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n\n    /// @notice The guardian address that can pause and perform dispute game operations (should be the same as the owner safe which is our top level 2-of-2).\n    address public immutable GUARDIAN = vm.envAddress(\"OWNER_SAFE\");\n\n    /// @notice The incident responder address that can only pause.\n    address public immutable INCIDENT_RESPONDER = vm.envAddress(\"CB_SIGNER_SAFE_ADDR\");\n\n    function run() external {\n        vm.startBroadcast();\n\n        // Deploy SuperchainConfig implementation with guardian and incident responder as constructor args\n        SuperchainConfig superchainConfigImpl = new SuperchainConfig(GUARDIAN, INCIDENT_RESPONDER);\n\n        // Deploy SuperchainConfig proxy\n        Proxy superchainConfigProxy = new Proxy(msg.sender);\n        superchainConfigProxy.upgradeTo(address(superchainConfigImpl));\n        superchainConfigProxy.changeAdmin(PROXY_ADMIN);\n\n        // Deploy patched SystemConfig implementation (uses init version 4)\n        new SystemConfig();\n\n        vm.stopBroadcast();\n\n        // Post-deployment verification\n        SuperchainConfig superchainConfig = SuperchainConfig(address(superchainConfigProxy));\n        require(superchainConfig.GUARDIAN() == GUARDIAN, \"Postcheck: Guardian not set correctly\");\n        require(\n            superchainConfig.INCIDENT_RESPONDER() == INCIDENT_RESPONDER,\n            \"Postcheck: Incident responder not set correctly\"\n        );\n        require(!superchainConfig.paused(), \"Postcheck: SuperchainConfig should not be paused\");\n\n        // Verify proxy admin is set correctly\n        vm.prank(address(0));\n        require(superchainConfigProxy.admin() == PROXY_ADMIN, \"Postcheck: Proxy admin not set correctly\");\n\n        // Verify proxy admin owner is correct\n        require(ProxyAdmin(PROXY_ADMIN).owner() == OWNER_SAFE, \"Postcheck: ProxyAdmin owner not set correctly\");\n    }\n}\n"
  },
  {
    "path": "sepolia/2026-02-19-superchain-separation/script/UpdateCBSafeSigners.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\n\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {IGnosisSafe, Enum} from \"@base-contracts/script/universal/IGnosisSafe.sol\";\n\n/// @title UpdateCBSafeSigners\n/// @notice Updates the CB signer safe to replace nested safe signers with individual EOAs.\n/// @dev Execution order:\n///      1. Remove SECURITY_COUNCIL from OWNER_SAFE (threshold temporarily set to 1)\n///      2. Add each CB EOA from CB_NESTED_SAFE as direct signers (threshold stays at 1)\n///      3. Remove CB_NESTED_SAFE and set final threshold to FINAL_THRESHOLD\ncontract UpdateCBSafeSigners is MultisigScript {\n    /// @notice Sentinel address used by Safe's linked list implementation.\n    address internal constant SENTINEL = address(0x1);\n\n    /// @notice Interim threshold used during owner modifications.\n    uint256 internal constant INTERIM_THRESHOLD = 1;\n\n    /// @notice Final threshold after all owner modifications are complete.\n    uint256 public constant FINAL_THRESHOLD = 3;\n\n    /// @notice The Safe whose signers are being updated.\n    address public immutable OWNER_SAFE = vm.envAddress(\"CB_SIGNER_SAFE_ADDR\");\n\n    /// @notice The security council Safe to be removed as a signer.\n    address public immutable SECURITY_COUNCIL = vm.envAddress(\"CB_SC_SAFE_ADDR\");\n\n    /// @notice The nested Safe whose EOA owners will become direct signers.\n    address public immutable CB_NESTED_SAFE = vm.envAddress(\"CB_NESTED_SAFE_ADDR\");\n\n    /// @notice The previous owner in Safe's linked list, needed for removeOwner.\n    address public prevOwnerOfSecurityCouncil = SENTINEL;\n\n    /// @notice The EOA addresses from CB_NESTED_SAFE that will become direct signers.\n    address[] public cbEoas;\n\n    function setUp() external {\n        // Prechecks: Verify initial state\n        require(IGnosisSafe(OWNER_SAFE).isOwner(SECURITY_COUNCIL), \"Precheck: SECURITY_COUNCIL must be an owner\");\n        require(IGnosisSafe(OWNER_SAFE).isOwner(CB_NESTED_SAFE), \"Precheck: CB_NESTED_SAFE must be an owner\");\n\n        // Find prevOwner for SECURITY_COUNCIL in Safe's linked list.\n        // Safe's getOwners() returns owners in linked list order.\n        // The first owner has SENTINEL (0x1) as its prevOwner.\n        address[] memory owners = IGnosisSafe(OWNER_SAFE).getOwners();\n\n        for (uint256 i; i < owners.length; i++) {\n            if (owners[i] == SECURITY_COUNCIL) break;\n            prevOwnerOfSecurityCouncil = owners[i];\n        }\n\n        // Get EOAs from nested safe to add as direct signers\n        cbEoas = IGnosisSafe(CB_NESTED_SAFE).getOwners();\n        require(cbEoas.length > 0, \"Precheck: CB_NESTED_SAFE must have at least one owner\");\n        require(cbEoas.length >= FINAL_THRESHOLD, \"Precheck: CB_NESTED_SAFE must have at least FINAL_THRESHOLD owners\");\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        // Verify removed signers\n        require(!IGnosisSafe(OWNER_SAFE).isOwner(SECURITY_COUNCIL), \"Postcheck: SECURITY_COUNCIL must be removed\");\n        require(!IGnosisSafe(OWNER_SAFE).isOwner(CB_NESTED_SAFE), \"Postcheck: CB_NESTED_SAFE must be removed\");\n\n        // Verify all EOAs are now direct signers\n        for (uint256 i = 0; i < cbEoas.length; i++) {\n            require(IGnosisSafe(OWNER_SAFE).isOwner(cbEoas[i]), \"Postcheck: CB EOA must be an owner\");\n        }\n\n        // Verify threshold\n        require(\n            IGnosisSafe(OWNER_SAFE).getThreshold() == FINAL_THRESHOLD, \"Postcheck: Threshold must be FINAL_THRESHOLD\"\n        );\n    }\n\n    function _buildCalls() internal view override returns (MultisigScript.Call[] memory) {\n        // Total calls: 1 (remove SECURITY_COUNCIL) + cbEoas.length (add EOAs) + 1 (remove CB_NESTED_SAFE)\n        MultisigScript.Call[] memory calls = new MultisigScript.Call[](2 + cbEoas.length);\n\n        // Step 1: Remove SECURITY_COUNCIL, set threshold to 1\n        calls[0] = MultisigScript.Call({\n            operation: Enum.Operation.Call,\n            target: OWNER_SAFE,\n            data: abi.encodeCall(\n                IGnosisSafe.removeOwner, (prevOwnerOfSecurityCouncil, SECURITY_COUNCIL, INTERIM_THRESHOLD)\n            ),\n            value: 0\n        });\n\n        // Step 2: Add each CB EOA as a direct signer (keep threshold at 1)\n        // Note: addOwnerWithThreshold adds new owners to the FRONT of Safe's linked list.\n        // After adding cbEoas[0..n-1], the order will be:\n        //   SENTINEL -> cbEoas[n-1] -> ... -> cbEoas[0] -> CB_NESTED_SAFE -> ...\n        // Therefore, cbEoas[0] will be the prevOwner of CB_NESTED_SAFE.\n        for (uint256 i = 0; i < cbEoas.length; i++) {\n            calls[i + 1] = MultisigScript.Call({\n                operation: Enum.Operation.Call,\n                target: OWNER_SAFE,\n                data: abi.encodeCall(IGnosisSafe.addOwnerWithThreshold, (cbEoas[i], INTERIM_THRESHOLD)),\n                value: 0\n            });\n        }\n\n        // Step 3: Remove CB_NESTED_SAFE and set final threshold\n        // cbEoas[0] is the prevOwner because it was added first and is now\n        // immediately before CB_NESTED_SAFE in the linked list.\n        calls[calls.length - 1] = MultisigScript.Call({\n            operation: Enum.Operation.Call,\n            target: OWNER_SAFE,\n            data: abi.encodeCall(IGnosisSafe.removeOwner, (cbEoas[0], CB_NESTED_SAFE, FINAL_THRESHOLD)),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "sepolia/2026-02-19-superchain-separation/script/UpgradeFeeDisburser.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\n\nimport {MultisigScript, Enum} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\n\ninterface IOptimismPortal2 {\n    function depositTransaction(address _to, uint256 _value, uint64 _gasLimit, bool _isCreation, bytes memory _data)\n        external\n        payable;\n}\n\ninterface IProxy {\n    function upgradeTo(address newImplementation) external;\n}\n\n/// @title UpgradeFeeDisburser\n/// @notice Script to upgrade the FeeDisburser proxy on L2 via a deposit transaction from L1.\n///         The FeeDisburser proxy is owned by CB_NESTED_SAFE_ADDR on L1, so this upgrade\n///         must be executed as a deposit transaction through OptimismPortal2.\ncontract UpgradeFeeDisburser is MultisigScript {\n    /// @notice The L1 Safe that owns the FeeDisburser proxy (aliased address is the admin).\n    address public immutable OWNER_SAFE = vm.envAddress(\"CB_NESTED_SAFE_ADDR\");\n\n    /// @notice The OptimismPortal2 contract on L1 used for deposit transactions.\n    address public immutable OPTIMISM_PORTAL = vm.envAddress(\"OPTIMISM_PORTAL_ADDR\");\n\n    /// @notice The FeeDisburser proxy contract on L2.\n    address public immutable FEE_DISBURSER_PROXY = vm.envAddress(\"FEE_DISBURSER_ADDR\");\n\n    /// @notice The new FeeDisburser implementation contract on L2.\n    address public immutable FEE_DISBURSER_IMPL = vm.envAddress(\"FEE_DISBURSER_IMPL_ADDR\");\n\n    /// @notice Post-check is a no-op since we cannot verify L2 state from L1 simulation.\n    ///         The upgrade result should be verified on L2 after the deposit transaction is processed.\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal override {}\n\n    /// @notice Builds the call to OptimismPortal2.depositTransaction that will upgrade\n    ///         the FeeDisburser proxy on L2.\n    function _buildCalls() internal view override returns (MultisigScript.Call[] memory) {\n        MultisigScript.Call[] memory calls = new MultisigScript.Call[](1);\n\n        // Build the upgradeTo calldata to call directly on the FeeDisburser proxy\n        bytes memory upgradeCalldata = abi.encodeCall(IProxy.upgradeTo, (FEE_DISBURSER_IMPL));\n\n        // Parameters for the deposit transaction\n        address to = FEE_DISBURSER_PROXY;\n        uint256 value = 0;\n        uint64 gasLimit = 100_000; // Sufficient gas for proxy upgrade\n        bool isCreation = false;\n\n        calls[0] = MultisigScript.Call({\n            operation: Enum.Operation.Call,\n            target: OPTIMISM_PORTAL,\n            data: abi.encodeCall(\n                IOptimismPortal2.depositTransaction, (to, value, gasLimit, isCreation, upgradeCalldata)\n            ),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    /// @notice Returns the Safe address that will execute this transaction on L1.\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "sepolia/2026-02-19-superchain-separation/script/UpgradeSystemConfig.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\n\nimport {MultisigScript, Enum} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {SystemConfig, IResourceMetering, ISuperchainConfig} from \"@base-contracts/src/L1/SystemConfig.sol\";\nimport {IProxyAdmin} from \"@base-contracts/interfaces/universal/IProxyAdmin.sol\";\n\n/// @title UpgradeSystemConfig\n/// @notice Script to upgrade the SystemConfig proxy to a new implementation and reinitialize\n///         it with a new SuperchainConfig address. This preserves all existing configuration\n///         parameters while updating the SuperchainConfig reference.\ncontract UpgradeSystemConfig is MultisigScript {\n    /// @notice The Safe that owns the ProxyAdmin and will execute this upgrade.\n    address public immutable OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n\n    /// @notice The ProxyAdmin contract that manages the SystemConfig proxy.\n    address public immutable PROXY_ADMIN = vm.envAddress(\"PROXY_ADMIN\");\n\n    /// @notice The SystemConfig proxy contract to be upgraded.\n    address public immutable SYSTEM_CONFIG = vm.envAddress(\"SYSTEM_CONFIG\");\n\n    /// @notice The new SystemConfig implementation contract.\n    address public immutable SYSTEM_CONFIG_IMPLEMENTATION = vm.envAddress(\"SYSTEM_CONFIG_IMPLEMENTATION\");\n\n    /// @notice The new SuperchainConfig address to set during reinitialization.\n    address public immutable NEW_SUPERCHAIN_CONFIG = vm.envAddress(\"NEW_SUPERCHAIN_CONFIG\");\n\n    /// @notice Validates the post-upgrade state.\n    /// @dev Verifies that:\n    ///      1. The implementation was updated correctly\n    ///      2. The SuperchainConfig was set to the new address\n    ///      3. All existing parameters were preserved\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        SystemConfig systemConfig = SystemConfig(SYSTEM_CONFIG);\n\n        // Verify the implementation was updated\n        address currentImpl = IProxyAdmin(PROXY_ADMIN).getProxyImplementation(SYSTEM_CONFIG);\n        require(currentImpl == SYSTEM_CONFIG_IMPLEMENTATION, \"Postcheck: Implementation not updated\");\n\n        // Verify the SuperchainConfig was updated\n        require(\n            address(systemConfig.superchainConfig()) == NEW_SUPERCHAIN_CONFIG, \"Postcheck: SuperchainConfig not updated\"\n        );\n    }\n\n    /// @notice Builds the upgrade call to ProxyAdmin.upgradeAndCall.\n    /// @dev Reads all existing SystemConfig parameters and rebuilds the initialize calldata\n    ///      with the new SuperchainConfig address. All other parameters are preserved.\n    function _buildCalls() internal view override returns (MultisigScript.Call[] memory) {\n        SystemConfig systemConfig = SystemConfig(SYSTEM_CONFIG);\n\n        // Get all existing SystemConfig parameters\n        address owner = systemConfig.owner();\n        uint32 basefeeScalar = systemConfig.basefeeScalar();\n        uint32 blobbasefeeScalar = systemConfig.blobbasefeeScalar();\n        bytes32 batcherHash = systemConfig.batcherHash();\n        uint64 gasLimit = systemConfig.gasLimit();\n        address unsafeBlockSigner = systemConfig.unsafeBlockSigner();\n        IResourceMetering.ResourceConfig memory resourceConfig = systemConfig.resourceConfig();\n        address batchInbox = systemConfig.batchInbox();\n        uint256 l2ChainId = systemConfig.l2ChainId();\n\n        // Get the Addresses struct\n        SystemConfig.Addresses memory addresses = systemConfig.getAddresses();\n\n        // Build the initialize calldata with the new SuperchainConfig\n        bytes memory initializeCalldata = abi.encodeCall(\n            SystemConfig.initialize,\n            (\n                owner,\n                basefeeScalar,\n                blobbasefeeScalar,\n                batcherHash,\n                gasLimit,\n                unsafeBlockSigner,\n                resourceConfig,\n                batchInbox,\n                addresses,\n                l2ChainId,\n                ISuperchainConfig(NEW_SUPERCHAIN_CONFIG)\n            )\n        );\n\n        MultisigScript.Call[] memory calls = new MultisigScript.Call[](1);\n\n        calls[0] = MultisigScript.Call({\n            operation: Enum.Operation.Call,\n            target: PROXY_ADMIN,\n            data: abi.encodeCall(\n                IProxyAdmin.upgradeAndCall, (payable(SYSTEM_CONFIG), SYSTEM_CONFIG_IMPLEMENTATION, initializeCalldata)\n            ),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    /// @notice Returns the Safe address that will execute this transaction.\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "sepolia/2026-02-19-superchain-separation/validations/base-signer-part-1.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net UpdateCBSafeSigners --sig sign(address[]) [0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f] --sender 0x7f10098bd53519c739ca8a404afe127647d94774\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x646132A1667ca7aD00d36616AFBA1A28116C770A\",\n    \"domainHash\": \"0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23\",\n    \"messageHash\": \"0xab72b75550a11e6038cf3f2d4fe69e4ab793d7e9db4123d839c6fb20f499194a\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"CB Signer Safe - Sepolia\",\n      \"address\": \"0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x379c87bdc6abb85fdbe8fe138f62367fcf94860df0efa04c17b2aee632868bd2\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Sepolia\",\n      \"address\": \"0x646132A1667ca7aD00d36616AFBA1A28116C770A\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"CB Signer Safe - Sepolia\",\n      \"address\": \"0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000014\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000015\",\n          \"description\": \"Increments the Safe nonce from 20 to 21 after signing the nested transaction to CB Coordinator Safe.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Sepolia\",\n      \"address\": \"0x646132A1667ca7aD00d36616AFBA1A28116C770A\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000002\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000000d\",\n          \"description\": \"Updates the owner count from 2 to 13. Removes Security Council Safe and CB Nested Safe (-2), adds 13 CB EOAs as direct signers (+13).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"description\": \"Updates the Safe execution threshold from 1 to 3-of-13 after all owner modifications are complete.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000000e\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000000f\",\n          \"description\": \"Increments the Safe nonce from 14 to 15 after executing the batch transaction.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x1b89e6111d27169de2f97ec92e344b249dff7dd6170ee65af7a1d9dda6cf7255\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Owners linked list: Sets 0xee316db0edaee45347dfc498795a01311f085225 to point to SENTINEL, marking it as the tail of the list.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2146980ccf4a7741c01fd860f90d2fab597ba25316f4b73d17092ab48b2eb5ce\",\n          \"before\": \"0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"description\": \"Owners linked list: Clears the entry that previously pointed to CB Nested Safe (0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f), removing it as an owner.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x4bf34efa2cf5d17da7425df2ee4f6191d734167ae5ba396b1eaa05b9d92099f6\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n          \"description\": \"Owners linked list: Adds CB EOA 0x5f1955729e3d6129fb73813e891742d473fc74f7 pointing to next owner 0xb2d9a52e76841279ef0372c534c539a4f68f8c0b.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x50acbb719f16147a2c8ee75d12507825fd23cf8249e700977d21095d26e2750b\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000005f1955729e3d6129fb73813e891742d473fc74f7\",\n          \"description\": \"Owners linked list: Adds CB EOA 0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252 pointing to next owner 0x5f1955729e3d6129fb73813e891742d473fc74f7.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x563d4ddf297b5a92e03dce553dc56572bfee245f134f6db63397742b674f94dd\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n          \"description\": \"Owners linked list: Adds CB EOA 0xe45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60 pointing to next owner 0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x789d0a937d11245f00c7805a1652391bdbf3de0209dd993a5d6bc0ea4964bd5e\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60\",\n          \"description\": \"Owners linked list: Adds CB EOA 0x7f10098bd53519c739ca8a404afe127647d94774 pointing to next owner 0xe45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x7a83097f5b56a04accdbc8d4b0501bec3106db0d2c2ea1a63e7cbbf0fa91372d\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000007f10098bd53519c739ca8a404afe127647d94774\",\n          \"description\": \"Owners linked list: Adds CB EOA 0x420c8fe1ddb0593c71487445576c87c17f177179 pointing to next owner 0x7f10098bd53519c739ca8a404afe127647d94774.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x917c3b0ca176e18dc93b76b7fcfca717fb0dcb74c9b02c1a4ef75f3b382fd6c9\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"description\": \"Owners linked list: Clears the previous tail pointer (was pointing to SENTINEL). CB Nested Safe is no longer the last owner.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xa17f6b5d5c5960e10cb741113b64d7f023e3513339475444585747297bf07208\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179\",\n          \"description\": \"Owners linked list: Adds CB EOA 0x931e24b032511d8dd029aedeb44837fac251f3d8 pointing to next owner 0x420c8fe1ddb0593c71487445576c87c17f177179.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xa7dd5b70d010b556cca61241e9486087b6178ec9d74f960e07f6f590f7b61ad4\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Stores an approval from the CB nested safe.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xb06fd2848181e1497bbaa80b8d007c335c7806a2e47211a7bba7a9af63e0ca64\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x000000000000000000000000931e24b032511d8dd029aedeb44837fac251f3d8\",\n          \"description\": \"Owners linked list: Adds CB EOA 0x0cf2f86c3338993ce10f74d6f4b095712c7efe26 pointing to next owner 0x931e24b032511d8dd029aedeb44837fac251f3d8.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xb7148df08fba2104e13e2db097b95b457295019a50d577cc90c6010aba3100d1\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe26\",\n          \"description\": \"Owners linked list: Adds CB EOA 0x6e427c3212c0b63be0c382f97715d49b011bff33 pointing to next owner 0x0cf2f86c3338993ce10f74d6f4b095712c7efe26.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xc5e3baa34a074e15c9dc99b0b81b573ebbdd07b026df6162630478f6d12892f3\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff33\",\n          \"description\": \"Owners linked list: Adds CB EOA 0xedecf2c444559210a865a22acfc6a2a25590ab1b pointing to next owner 0x6e427c3212c0b63be0c382f97715d49b011bff33.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xc737cf9e0b995a0b7c95319fd1b2a1daedbcafc9b244731b97e04bbf2a8067f3\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b\",\n          \"description\": \"Owners linked list: Adds CB EOA 0x4ffd98b5eea905ec25aa3daf180552f67873ed78 pointing to next owner 0xedecf2c444559210a865a22acfc6a2a25590ab1b.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xdbe1c9b8b04b880813d25a9c5e89056031fb59c22374b4ee4da23606ff9ee5f5\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed78\",\n          \"description\": \"Owners linked list: Adds CB EOA 0xee316db0edaee45347dfc498795a01311f085225 pointing to next owner 0x4ffd98b5eea905ec25aa3daf180552f67873ed78.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xdd723b4c2a66aea3d2ac26f837bd1e7dea4ce6cca7e4fa76af2185076784453f\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x000000000000000000000000ee316db0edaee45347dfc498795a01311f085225\",\n          \"description\": \"Owners linked list: Adds CB EOA 0x644d0f5c2c55a4679b4bfe057b87ba203af9ac0d pointing to next owner 0xee316db0edaee45347dfc498795a01311f085225.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0\",\n          \"before\": \"0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\",\n          \"after\": \"0x000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d\",\n          \"description\": \"Owners linked list: Updates SENTINEL to point to new head 0x644d0f5c2c55a4679b4bfe057b87ba203af9ac0d. Previously pointed to Security Council Safe (0x6af0674791925f767060dd52f7fb20984e8639d8) which was removed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": [],\n  \"taskOriginConfig\": {\n    \"taskCreator\": {\n      \"commonName\": \"jack.chuma@coinbase.com\"\n    }\n  }\n}\n"
  },
  {
    "path": "sepolia/2026-02-19-superchain-separation/validations/base-signer-part-2.json",
    "content": "{\n  \"cmd\": \"SAFE_NONCE_0X646132A1667CA7AD00D36616AFBA1A28116C770A=15 forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net UpgradeSystemConfig --sig sign(address[]) [0x646132A1667ca7aD00d36616AFBA1A28116C770A] --sender 0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n    \"domainHash\": \"0x1d3f2566fd7b1bf017258b03d4d4d435d326d9cb051d5b7993d7c65e7ec78d0e\",\n    \"messageHash\": \"0xbf57ccd428440c60a8d369edc1088c596cf017ec2ec5b2c547551c7bc15c3dbb\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Sepolia\",\n      \"address\": \"0x646132A1667ca7aD00d36616AFBA1A28116C770A\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"value\": \"0x000000000000000000000000000000000000000000000000000000000000000f\",\n          \"description\": \"Override the nonce to be our expected value after initial execution.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xa2886985c679722d1e543ea882bfbe5b12722a61f38b122eeecb183130acc177\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000001f\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000020\",\n          \"description\": \"Increments the Safe nonce from 31 to 32 after executing the SystemConfig upgrade transaction.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xd4fc56c81d751b8023bdae8bf48c1693362c5cb3f34acb08f0ff2c366582da51\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Stores an approval from the CB Coordinator Safe for the SystemConfig upgrade transaction hash.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Sepolia\",\n      \"address\": \"0x646132A1667ca7aD00d36616AFBA1A28116C770A\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000000f\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000010\",\n          \"description\": \"Increments the Safe nonce from 15 to 16 after executing the SystemConfig upgrade via the Proxy Admin Owner.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Sepolia\",\n      \"address\": \"0xf272670eb55e895584501d564AfEB048bEd26194\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"description\": \"Increments the contract initialization version from 3 to 4 during the SystemConfig re-initialization with the new SuperchainConfig address.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006c\",\n          \"before\": \"0x0000000000000000004c4b40c2be75506d5724086deb7245bd260cc9753911be\",\n          \"after\": \"0x0000000000000000004c4b40e4401eb53ae90a5335a51fe1828d7becf7a63508\",\n          \"description\": \"Updates the SuperchainConfig address in the packed storage slot from the OP Superchain's shared SuperchainConfig (0xc2be75506d5724086deb7245bd260cc9753911be) to Base's own SuperchainConfig proxy (0xe4401eb53ae90a5335a51fe1828d7becf7a63508). The gasLimit (5,000,000) in the upper bytes is unchanged.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x000000000000000000000000d392c27b84b1ca776528f2704bc67b82a62132d2\",\n          \"after\": \"0x000000000000000000000000ee364de73e1827f5e31a18c70a40f1f78c075b84\",\n          \"description\": \"Updates the ERC-1967 implementation slot to point to the new SystemConfig implementation.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": [],\n  \"taskOriginConfig\": {\n    \"taskCreator\": {\n      \"commonName\": \"jack.chuma@coinbase.com\"\n    }\n  }\n}\n"
  },
  {
    "path": "sepolia/2026-02-19-superchain-separation/validations/base-signer-part-3.json",
    "content": "{\n  \"cmd\": \"SAFE_NONCE_0X5DFEB066334B67355A15DC9B67317FD2A2E1F77F=21 forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net UpgradeFeeDisburser --sig sign(address[]) [] --sender 0x7f10098bd53519c739ca8a404afe127647d94774\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f\",\n    \"domainHash\": \"0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23\",\n    \"messageHash\": \"0x7a1d70954f4b843ce63aa8f6aff95084eee836fb9df9183caf104ddc64dedd36\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"CB Signer Safe - Sepolia\",\n      \"address\": \"0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000015\",\n          \"description\": \"Override the nonce to be our expected value after initial execution.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xa2e8dd0b3fdbca6b030ccd2621ca9f28c4edec8cfdae9f755b83251e1697bb92\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"OptimismPortal - Sepolia\",\n      \"address\": \"0x49f53e41452C74589E85cA1677426Ba426459e85\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"before\": \"0x00000000009d98e90000000000096c490000000000000000000000003b9aca00\",\n          \"after\": \"0x00000000009d99bf00000000000186a00000000000000000000000003b9aca00\",\n          \"description\": \"Updates the ResourceMetering parameters (prevBlockNum, prevBoughtGas, prevBaseFee).\",\n          \"allowDifference\": true\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Sepolia\",\n      \"address\": \"0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000015\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000016\",\n          \"description\": \"Increments the Safe nonce from 21 to 22 after executing the FeeDisburser upgrade deposit transaction via OptimismPortal.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": [],\n  \"taskOriginConfig\": {\n    \"taskCreator\": {\n      \"commonName\": \"jack.chuma@coinbase.com\"\n    }\n  }\n}\n"
  },
  {
    "path": "sepolia/2026-02-19-superchain-separation/validations/security-council-signer-part-1.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net UpdateCBSafeSigners --sig sign(address[]) [0x6AF0674791925f767060Dd52f7fB20984E8639d8] --sender 0x7f10098bd53519c739ca8a404afe127647d94774\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x646132A1667ca7aD00d36616AFBA1A28116C770A\",\n    \"domainHash\": \"0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa\",\n    \"messageHash\": \"0xd11c65e825a3804142d6862992aee34f71dcb9de01deeeefb5965e03fc1b5f9d\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"CB Coordinator Safe - Sepolia\",\n      \"address\": \"0x646132A1667ca7aD00d36616AFBA1A28116C770A\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Mock Security Council - Sepolia\",\n      \"address\": \"0x6AF0674791925f767060Dd52f7fB20984E8639d8\",\n      \"overrides\": [\n        {\n          \"key\": \"0x115e4bfd4caa8c90517855dce75687429134b1ad0cb92e79b819efa7019890f1\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"CB Coordinator Safe - Sepolia\",\n      \"address\": \"0x646132A1667ca7aD00d36616AFBA1A28116C770A\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000002\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000000d\",\n          \"description\": \"Updates the owner count from 2 to 13. Removes Security Council Safe and CB Nested Safe (-2), adds 13 CB EOAs as direct signers (+13).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"description\": \"Updates the Safe execution threshold from 1 to 3-of-13 after all owner modifications are complete.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000000e\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000000f\",\n          \"description\": \"Increments the Safe nonce from 14 to 15 after executing the batch transaction.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x1b89e6111d27169de2f97ec92e344b249dff7dd6170ee65af7a1d9dda6cf7255\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Owners linked list: Sets 0xee316db0edaee45347dfc498795a01311f085225 to point to SENTINEL, marking it as the tail of the list.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2146980ccf4a7741c01fd860f90d2fab597ba25316f4b73d17092ab48b2eb5ce\",\n          \"before\": \"0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"description\": \"Owners linked list: Clears the entry that previously pointed to CB Nested Safe (0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f), removing it as an owner.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x4bf34efa2cf5d17da7425df2ee4f6191d734167ae5ba396b1eaa05b9d92099f6\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n          \"description\": \"Owners linked list: Adds CB EOA 0x5f1955729e3d6129fb73813e891742d473fc74f7 pointing to next owner 0xb2d9a52e76841279ef0372c534c539a4f68f8c0b.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x50acbb719f16147a2c8ee75d12507825fd23cf8249e700977d21095d26e2750b\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000005f1955729e3d6129fb73813e891742d473fc74f7\",\n          \"description\": \"Owners linked list: Adds CB EOA 0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252 pointing to next owner 0x5f1955729e3d6129fb73813e891742d473fc74f7.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x563d4ddf297b5a92e03dce553dc56572bfee245f134f6db63397742b674f94dd\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n          \"description\": \"Owners linked list: Adds CB EOA 0xe45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60 pointing to next owner 0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x789d0a937d11245f00c7805a1652391bdbf3de0209dd993a5d6bc0ea4964bd5e\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60\",\n          \"description\": \"Owners linked list: Adds CB EOA 0x7f10098bd53519c739ca8a404afe127647d94774 pointing to next owner 0xe45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x7a83097f5b56a04accdbc8d4b0501bec3106db0d2c2ea1a63e7cbbf0fa91372d\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000007f10098bd53519c739ca8a404afe127647d94774\",\n          \"description\": \"Owners linked list: Adds CB EOA 0x420c8fe1ddb0593c71487445576c87c17f177179 pointing to next owner 0x7f10098bd53519c739ca8a404afe127647d94774.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x88b62050d77081a126f6451f75b4d85257f7c53d7523af5710b8441f46127cd5\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Stores an approval on behalf of the security council.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x917c3b0ca176e18dc93b76b7fcfca717fb0dcb74c9b02c1a4ef75f3b382fd6c9\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"description\": \"Owners linked list: Clears the previous tail pointer (was pointing to SENTINEL). CB Nested Safe is no longer the last owner.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xa17f6b5d5c5960e10cb741113b64d7f023e3513339475444585747297bf07208\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179\",\n          \"description\": \"Owners linked list: Adds CB EOA 0x931e24b032511d8dd029aedeb44837fac251f3d8 pointing to next owner 0x420c8fe1ddb0593c71487445576c87c17f177179.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xb06fd2848181e1497bbaa80b8d007c335c7806a2e47211a7bba7a9af63e0ca64\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x000000000000000000000000931e24b032511d8dd029aedeb44837fac251f3d8\",\n          \"description\": \"Owners linked list: Adds CB EOA 0x0cf2f86c3338993ce10f74d6f4b095712c7efe26 pointing to next owner 0x931e24b032511d8dd029aedeb44837fac251f3d8.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xb7148df08fba2104e13e2db097b95b457295019a50d577cc90c6010aba3100d1\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe26\",\n          \"description\": \"Owners linked list: Adds CB EOA 0x6e427c3212c0b63be0c382f97715d49b011bff33 pointing to next owner 0x0cf2f86c3338993ce10f74d6f4b095712c7efe26.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xc5e3baa34a074e15c9dc99b0b81b573ebbdd07b026df6162630478f6d12892f3\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff33\",\n          \"description\": \"Owners linked list: Adds CB EOA 0xedecf2c444559210a865a22acfc6a2a25590ab1b pointing to next owner 0x6e427c3212c0b63be0c382f97715d49b011bff33.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xc737cf9e0b995a0b7c95319fd1b2a1daedbcafc9b244731b97e04bbf2a8067f3\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b\",\n          \"description\": \"Owners linked list: Adds CB EOA 0x4ffd98b5eea905ec25aa3daf180552f67873ed78 pointing to next owner 0xedecf2c444559210a865a22acfc6a2a25590ab1b.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xdbe1c9b8b04b880813d25a9c5e89056031fb59c22374b4ee4da23606ff9ee5f5\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed78\",\n          \"description\": \"Owners linked list: Adds CB EOA 0xee316db0edaee45347dfc498795a01311f085225 pointing to next owner 0x4ffd98b5eea905ec25aa3daf180552f67873ed78.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xdd723b4c2a66aea3d2ac26f837bd1e7dea4ce6cca7e4fa76af2185076784453f\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x000000000000000000000000ee316db0edaee45347dfc498795a01311f085225\",\n          \"description\": \"Owners linked list: Adds CB EOA 0x644d0f5c2c55a4679b4bfe057b87ba203af9ac0d pointing to next owner 0xee316db0edaee45347dfc498795a01311f085225.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0\",\n          \"before\": \"0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\",\n          \"after\": \"0x000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d\",\n          \"description\": \"Owners linked list: Updates SENTINEL to point to new head 0x644d0f5c2c55a4679b4bfe057b87ba203af9ac0d. Previously pointed to Security Council Safe (0x6af0674791925f767060dd52f7fb20984e8639d8) which was removed.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Mock Security Council - Sepolia\",\n      \"address\": \"0x6AF0674791925f767060Dd52f7fB20984E8639d8\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000001a\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000001b\",\n          \"description\": \"Increments the Safe nonce from 26 to 27 after executing the batch transaction to update CB Coordinator Safe signers.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": [],\n  \"taskOriginConfig\": {\n    \"taskCreator\": {\n      \"commonName\": \"jack.chuma@coinbase.com\"\n    }\n  }\n}\n"
  },
  {
    "path": "sepolia/2026-02-19-superchain-separation/validations/security-council-signer-part-2.json",
    "content": "{\n  \"cmd\": \"SAFE_NONCE_0X6AF0674791925F767060DD52F7FB20984E8639D8=27 forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net UpgradeSystemConfig --sig sign(address[]) [0x6AF0674791925f767060Dd52f7fB20984E8639d8] --sender 0x7f10098bd53519c739ca8a404afe127647d94774\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n    \"domainHash\": \"0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa\",\n    \"messageHash\": \"0x2b63bc685e33e1dcabae1816d54b9a2df7576fc940ca8ef936bf4d509987bac2\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Mock Security Council - Sepolia\",\n      \"address\": \"0x6AF0674791925f767060Dd52f7fB20984E8639d8\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"value\": \"0x000000000000000000000000000000000000000000000000000000000000001b\",\n          \"description\": \"Override the nonce to be our expected value after initial execution.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x28c69686a380aa7edd6e31990118ed1f61cfeadf883b0b49da4bc412a020be66\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000001f\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000020\",\n          \"description\": \"Increments the Safe nonce from 31 to 32 after executing the SystemConfig upgrade transaction.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x6a9a7471a4f33ffcbc9870cff486eeb8b369ae31fca40796b66c635a84b26e08\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Stores an approval from the Mock Security Council Safe for the SystemConfig upgrade transaction hash.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Mock Security Council - Sepolia\",\n      \"address\": \"0x6AF0674791925f767060Dd52f7fB20984E8639d8\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000001b\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000001c\",\n          \"description\": \"Increments the Safe nonce from 27 to 28 after executing the SystemConfig upgrade via the Proxy Admin Owner.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Sepolia\",\n      \"address\": \"0xf272670eb55e895584501d564AfEB048bEd26194\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"description\": \"Increments the contract initialization version from 3 to 4 during the SystemConfig re-initialization with the new SuperchainConfig address.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006c\",\n          \"before\": \"0x0000000000000000004c4b40c2be75506d5724086deb7245bd260cc9753911be\",\n          \"after\": \"0x0000000000000000004c4b40e4401eb53ae90a5335a51fe1828d7becf7a63508\",\n          \"description\": \"Updates the SuperchainConfig address in the packed storage slot from the OP Superchain's shared SuperchainConfig (0xc2be75506d5724086deb7245bd260cc9753911be) to Base's own SuperchainConfig proxy (0xe4401eb53ae90a5335a51fe1828d7becf7a63508). The gasLimit (5,000,000) in the upper bytes is unchanged.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x000000000000000000000000d392c27b84b1ca776528f2704bc67b82a62132d2\",\n          \"after\": \"0x000000000000000000000000ee364de73e1827f5e31a18c70a40f1f78c075b84\",\n          \"description\": \"Updates the ERC-1967 implementation slot to point to the new SystemConfig implementation.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": [],\n  \"taskOriginConfig\": {\n    \"taskCreator\": {\n      \"commonName\": \"jack.chuma@coinbase.com\"\n    }\n  }\n}\n"
  },
  {
    "path": "sepolia/2026-02-27-pause-superchain-config/FACILITATOR.md",
    "content": "#### Execute the transaction\n\n## 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd <network>/<task-name>\nmake deps\n```\n\n### 2. Check current pause status\n\n```bash\nmake check-status\n```\n\n### 3. Execute pause\n\n```bash\nSIGNATURES=AAABBBCCC make execute-pause\n```\n"
  },
  {
    "path": "sepolia/2026-02-27-pause-superchain-config/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n# Get first owner from INCIDENT_MULTISIG\nSENDER := $(shell cast call $(INCIDENT_MULTISIG) \"getOwners()(address[])\" --rpc-url $(L1_RPC_URL) | head -1 | tr -d '[]' | cut -d',' -f1)\n\nSCRIPT_NAME=PauseSuperchainConfig\n\n.PHONY: sign-pause\nsign-pause:\n\t@rm -f signatures-pause.txt\n\t@start_nonce=$$(cast call $(INCIDENT_MULTISIG) \"nonce()\" --rpc-url $(L1_RPC_URL) | xargs printf \"%d\"); \\\n\techo \"Starting nonce: $$start_nonce\"; \\\n\tfor i in $$(seq 0 19); do \\\n\t\tnonce=$$(($$start_nonce + $$i)); \\\n\t\techo \"Signing with nonce $$nonce\"; \\\n\t\tSAFE_NONCE=$$nonce $(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\t\tforge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \\\n\t\t--sig \"sign(address[])\" \"[]\" --sender $(SENDER) | tee sign_output.tmp; \\\n\t\tsigner=$$(grep \"^Signer:\" sign_output.tmp | awk '{print $$2}'); \\\n\t\tsig=$$(grep \"^Signature:\" sign_output.tmp | awk '{print $$2}'); \\\n\t\tprintf \"%s,\" \"$$signer:$$nonce:$$sig\" >> signatures-pause.txt; \\\n\t\trm -f sign_output.tmp; \\\n\tdone; \\\n\techo \"\" >> signatures-pause.txt\n\n# Execute\n.PHONY: execute-pause\nexecute-pause:\n\tforge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \\\n\t--sig \"run(bytes)\" $(SIGNATURES) --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\"  --broadcast -vvvv\n\n.PHONY: check-status\ncheck-status:\n\t@superchain_config=$$(cast call $(SYSTEM_CONFIG) \"superchainConfig()\" --rpc-url $(L1_RPC_URL)); \\\n\tsuperchain_config=$$(echo $$superchain_config | sed 's/0x000000000000000000000000//'); \\\n\techo \"SuperchainConfig address: 0x$$superchain_config\"; \\\n\tcast call 0x$$superchain_config \"paused()\" --rpc-url $(L1_RPC_URL)\n\n.PHONY: check-nonce\ncheck-nonce:\n\t@echo \"Incident Safe: $(INCIDENT_MULTISIG)\"\n\t@cast call $(INCIDENT_MULTISIG) \"nonce()\" --rpc-url $(L1_RPC_URL)\n"
  },
  {
    "path": "sepolia/2026-02-27-pause-superchain-config/README.md",
    "content": "# Pause SuperchainConfig\n\nStatus: SIGNED\n\n## Description\n\nPauses deposits/withdrawals Base.\n\n## Install dependencies\n\n### 1. Update foundry\n\n```bash\nfoundryup\n```\n\n## Sign Pause Task\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd <network>/<task-name>\nmake deps\n```\n\n### 2. Sign pause transactions\n\n```bash\nmake sign-pause\n```\n\nThis will output your signature batch to a `signatures-pause.txt` file.\n\n### 3. Send the contents of `signatures-pause.txt` to facilitator\n"
  },
  {
    "path": "sepolia/2026-02-27-pause-superchain-config/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nevm_version = \"shanghai\"\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/contracts',\n    '@solady/=lib/solady/src/',\n    '@lib-keccak=lib/lib-keccak/contracts/lib/'\n]\n\n[lint]\nlint_on_build = false\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "sepolia/2026-02-27-pause-superchain-config/script/PauseSuperchainConfig.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Enum} from \"@base-contracts/script/universal/IGnosisSafe.sol\";\n\ninterface ISystemConfig {\n    function superchainConfig() external view returns (address);\n}\n\ninterface ISuperchainConfig {\n    function pause(address _identifier) external;\n    function paused(address) external view returns (bool);\n}\n\ncontract PauseSuperchainConfig is MultisigScript {\n    address public immutable INCIDENT_MULTISIG = vm.envAddress(\"INCIDENT_MULTISIG\");\n    address public immutable SYSTEM_CONFIG = vm.envAddress(\"SYSTEM_CONFIG\");\n\n    function _buildCalls() internal view override returns (Call[] memory) {\n        Call[] memory calls = new Call[](1);\n\n        address superchainConfig = ISystemConfig(SYSTEM_CONFIG).superchainConfig();\n\n        calls[0] = Call({\n            operation: Enum.Operation.Call,\n            target: superchainConfig,\n            data: abi.encodeCall(ISuperchainConfig.pause, (address(0))),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        address superchainConfig = ISystemConfig(SYSTEM_CONFIG).superchainConfig();\n        bool paused = ISuperchainConfig(superchainConfig).paused(address(0));\n        require(paused == true, \"PauseSuperchainConfig: chain is not paused\");\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return INCIDENT_MULTISIG;\n    }\n}\n"
  },
  {
    "path": "sepolia/2026-03-06-transfer-system-config-ownership/FACILITATOR.md",
    "content": "# Facilitator Guide\n\nGuide for facilitators after collecting signatures from signers.\n\n## Generate validation file\n\n```bash\ncd contract-deployments\ngit pull\ncd sepolia/2026-03-06-transfer-system-config-ownership\nmake deps\nmake gen-validation\n```\n\nThis produces `validations/coinbase-signer.json`, which signers should use in the signing UI.\n\n## Execute the transaction\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd sepolia/2026-03-06-transfer-system-config-ownership\nmake deps\n```\n\n### 2. Collect signatures from all participating signers\n\nConcatenate all signatures and export as the `SIGNATURES` environment variable:\n\n```bash\nexport SIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"\n```\n\n### 3. Execute\n\n```bash\nSIGNATURES=$SIGNATURES make execute\n```\n"
  },
  {
    "path": "sepolia/2026-03-06-transfer-system-config-ownership/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\ninclude ../.env\ninclude .env\n\nRPC_URL = $(L1_RPC_URL)\nSCRIPT_NAME = TransferSystemConfigOwnership\nSENDER := $(shell cast call $(OWNER_SAFE) \"getOwners()(address[])\" --rpc-url $(L1_RPC_URL) | head -1 | tr -d '[]' | cut -d',' -f1)\n\n.PHONY: validate-config\nvalidate-config:\n\t@test -n \"$(BASE_CONTRACTS_COMMIT)\" || (echo \"BASE_CONTRACTS_COMMIT required\" && exit 1)\n\t@test -n \"$(SYSTEM_CONFIG)\" || (echo \"SYSTEM_CONFIG required\" && exit 1)\n\t@test -n \"$(OWNER_SAFE)\" || (echo \"OWNER_SAFE required\" && exit 1)\n\t@test -n \"$(NEW_OWNER)\" || (echo \"NEW_OWNER required\" && exit 1)\n\t@test -n \"$(SENDER)\" || (echo \"SENDER required\" && exit 1)\n\t@echo \"Configuration validated successfully\"\n\n.PHONY: gen-validation\ngen-validation: deps-signer-tool run-script\n\n.PHONY: run-script\nrun-script:\n\tmkdir -p validations; \\\n\t$(call GEN_VALIDATION,$(SCRIPT_NAME),,$(SENDER),coinbase-signer.json)\n\n.PHONY: execute\nexecute: validate-config\n\t$(call MULTISIG_EXECUTE,$(SIGNATURES))\n"
  },
  {
    "path": "sepolia/2026-03-06-transfer-system-config-ownership/README.md",
    "content": "# Transfer SystemConfig Ownership\n\nStatus: [EXECUTED](https://sepolia.etherscan.io/tx/0xbecc51d4a88eda31d43327e6dea56d74f442c6090358b697fdbad0bef02fa43c)\n\n## Description\n\nThis task transfers ownership of the Sepolia `SystemConfig` (`0xf272670eb55e895584501d564AfEB048bEd26194`) from `0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f` to `0x646132A1667ca7aD00d36616AFBA1A28116C770A`.\n\n## Install dependencies\n\n### 1. Update foundry\n\n```bash\nfoundryup\n```\n\n### 2. Install Node.js if needed\n\nFirst, check if you have node installed:\n\n```bash\nnode --version\n```\n\nIf not, install it:\n\n```bash\nbrew install node\n```\n\n### 3. Update repo and install deps\n\n```bash\ncd contract-deployments\ngit pull\ncd sepolia/2026-03-06-transfer-system-config-ownership\nmake deps\n```\n\n## Sign the transaction\n\n### 1. Run the signing tool from the project root\n\n```bash\ncd contract-deployments\nmake sign-task\n```\n\n### 2. Open the UI at [http://localhost:3000](http://localhost:3000)\n\nSelect the correct task user from the list of available users and sign the transaction.\n\n### 3. Send the signature to the facilitator\n\nFacilitator execution steps are documented in `FACILITATOR.md`.\n"
  },
  {
    "path": "sepolia/2026-03-06-transfer-system-config-ownership/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nevm_version = \"shanghai\"\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/contracts',\n    '@solady/=lib/solady/src/',\n    '@lib-keccak=lib/lib-keccak/contracts/lib/',\n]\n\n[lint]\nlint_on_build = false\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "sepolia/2026-03-06-transfer-system-config-ownership/records/TransferSystemConfigOwnership.s.sol/11155111/run-1773937909385.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xbecc51d4a88eda31d43327e6dea56d74f442c6090358b697fdbad0bef02fa43c\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xf272670eb55e895584501d564AfEB048bEd26194\",\n        \"0\",\n        \"0xf2fde38b000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x710e15a647e0f45de18c178e1ac80c0219f5b8b7facdd5ac38cab54f540df11554c43753311d9fc74ebee65c6af0bfe699ad1be5ae802f7ce45e7899d18a4a691c4ad3152eddc1ee6de8aa2734a99cac912f4711b358384ca7f03b028b9e39fefb11234c1bb6a56eb4b89b67bf9ce2271ab7c9f943099ce5bcbe2999bfada1ba631b1c98f60810965c870363a840fe62e29e3799687ca7ec41242f9135eae9b24bfc25ae0bde5c9c5962b0e9c730fc4fd62f75dfceeb027901b47b727baa009280331b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n        \"gas\": \"0x1c248\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024f2fde38b000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3710e15a647e0f45de18c178e1ac80c0219f5b8b7facdd5ac38cab54f540df11554c43753311d9fc74ebee65c6af0bfe699ad1be5ae802f7ce45e7899d18a4a691c4ad3152eddc1ee6de8aa2734a99cac912f4711b358384ca7f03b028b9e39fefb11234c1bb6a56eb4b89b67bf9ce2271ab7c9f943099ce5bcbe2999bfada1ba631b1c98f60810965c870363a840fe62e29e3799687ca7ec41242f9135eae9b24bfc25ae0bde5c9c5962b0e9c730fc4fd62f75dfceeb027901b47b727baa009280331b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x10\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x74cbfb\",\n      \"logs\": [\n        {\n          \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n            \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x9094fb5c04dbf5cf9bd8b73feae2ebf3eae5984a587e4e19fe1b4e5a801a82fa\",\n          \"blockNumber\": \"0x9fe198\",\n          \"blockTimestamp\": \"0x69bc24f4\",\n          \"transactionHash\": \"0xbecc51d4a88eda31d43327e6dea56d74f442c6090358b697fdbad0bef02fa43c\",\n          \"transactionIndex\": \"0x4b\",\n          \"logIndex\": \"0x93\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0xaf204ba4bc57a59c1ce729b56fbe11c5376c0e9ccfd4d8ca4a1c23032be73883\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x9094fb5c04dbf5cf9bd8b73feae2ebf3eae5984a587e4e19fe1b4e5a801a82fa\",\n          \"blockNumber\": \"0x9fe198\",\n          \"blockTimestamp\": \"0x69bc24f4\",\n          \"transactionHash\": \"0xbecc51d4a88eda31d43327e6dea56d74f442c6090358b697fdbad0bef02fa43c\",\n          \"transactionIndex\": \"0x4b\",\n          \"logIndex\": \"0x94\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000800000040000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000800000000000000000000000100000000000000000000010000000000000000000000000000400000000000000000000000002200000000000000000000000000000000000000000000000000000000000020000404000000000000000000000000800000000020000000000000000000000000000000000000000100001000000400000000000000000000000000000040000000000200000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xbecc51d4a88eda31d43327e6dea56d74f442c6090358b697fdbad0bef02fa43c\",\n      \"transactionIndex\": \"0x4b\",\n      \"blockHash\": \"0x9094fb5c04dbf5cf9bd8b73feae2ebf3eae5984a587e4e19fe1b4e5a801a82fa\",\n      \"blockNumber\": \"0x9fe198\",\n      \"gasUsed\": \"0x133e3\",\n      \"effectiveGasPrice\": \"0xf424c\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1773937909385,\n  \"chain\": 11155111,\n  \"commit\": \"ee20e3b\"\n}"
  },
  {
    "path": "sepolia/2026-03-06-transfer-system-config-ownership/script/TransferSystemConfigOwnership.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {OwnableUpgradeable} from \"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\";\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Enum} from \"@base-contracts/script/universal/IGnosisSafe.sol\";\n\ncontract TransferSystemConfigOwnership is MultisigScript {\n    address internal immutable OWNER_SAFE;\n    address internal immutable NEW_OWNER;\n    address internal immutable SYSTEM_CONFIG;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n        NEW_OWNER = vm.envAddress(\"NEW_OWNER\");\n        SYSTEM_CONFIG = vm.envAddress(\"SYSTEM_CONFIG\");\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        OwnableUpgradeable systemConfig = OwnableUpgradeable(SYSTEM_CONFIG);\n        vm.assertEq(systemConfig.owner(), NEW_OWNER, \"SystemConfig owner did not get updated\");\n    }\n\n    function _buildCalls() internal view override returns (Call[] memory) {\n        Call[] memory calls = new Call[](1);\n\n        calls[0] = Call({\n            operation: Enum.Operation.Call,\n            target: SYSTEM_CONFIG,\n            data: abi.encodeCall(OwnableUpgradeable.transferOwnership, (NEW_OWNER)),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "sepolia/2026-03-06-transfer-system-config-ownership/validations/coinbase-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net TransferSystemConfigOwnership --sig sign(address[]) [] --sender 0x6e427c3212C0b63BE0C382F97715D49b011bFF33\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f\",\n    \"domainHash\": \"0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23\",\n    \"messageHash\": \"0x797a55b2e49235d00694290efbe11b86cc3ff59476cbb0ae039c9cbe007230fc\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"CB Signer Safe - Sepolia\",\n      \"address\": \"0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xa811731e672e1a36fd781504a937a995003d654f1809ec10a2c258b227aa81ab\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"CB Signer Safe - Sepolia\",\n      \"address\": \"0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000017\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000018\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Sepolia\",\n      \"address\": \"0xf272670eb55e895584501d564AfEB048bEd26194\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000033\",\n          \"before\": \"0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"after\": \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"description\": \"<<Summary>>\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": [],\n  \"taskOriginConfig\": {\n    \"taskCreator\": {\n      \"commonName\": \"baptiste.oueriagli@coinbase.com\"\n    }\n  }\n}\n"
  },
  {
    "path": "sepolia/2026-03-11-patch-fee-disburser/FACILITATOR.md",
    "content": "# Facilitator Guide\n\nGuide for facilitators managing this task.\n\n## Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd sepolia/2026-03-11-patch-fee-disburser\nmake deps\n```\n\n## Task Origin Signing\n\nAfter setting up the task, generate cryptographic attestations (sigstore bundles) to prove who created and facilitated the task. These signatures are stored in `<network>/signatures/<task-name>/`.\n\n### Task creator (run after task setup):\n\n```bash\nmake sign-as-task-creator\n```\n\n### Base facilitator:\n\n```bash\nmake sign-as-base-facilitator\n```\n\n### Security Council facilitator:\n\n```bash\nmake sign-as-sc-facilitator\n```\n"
  },
  {
    "path": "sepolia/2026-03-11-patch-fee-disburser/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\ninclude ../.env\ninclude .env\n\nSIGNER_TOOL_PATH = ../../signer-tool\nRPC_URL = $(L1_RPC_URL)\n\n# Sender address for validation generation (parent of OWNER_SAFE)\nSENDER := $(shell cast call $(OWNER_SAFE) \"getOwners()(address[])\" --rpc-url $(L1_RPC_URL) | head -1 | tr -d '[]' | cut -d',' -f1)\n\n.PHONY: apply-patches\napply-patches:\n\tcd lib/contracts && patch -p1 < ../../patch/ifee-vault-withdraw.patch\n\tcd lib/contracts && patch -p1 < ../../patch/fee-disburser-semver.patch\n\n.PHONY: deps\ndeps: install-eip712sign clean-lib forge-deps clone-oz-upgradeable checkout-base-contracts-commit apply-patches\n\n##\n# Deployment\n##\n.PHONY: deploy-fee-disburser\ndeploy-fee-disburser:\n\tforge script script/DeployFeeDisburser.s.sol:DeployFeeDisburser \\\n\t\t--rpc-url $(L2_RPC_URL) \\\n\t\t--broadcast \\\n\t\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" \\\n\t\t-vvvv\n\n##\n# Upgrade FeeDisburser (via L1 deposit transaction)\n##\n.PHONY: gen-validation-upgrade\ngen-validation-upgrade: deps-signer-tool\n\t$(call GEN_VALIDATION,UpgradeFeeDisburser,,$(SENDER),base-signer.json,)\n\n.PHONY: execute-upgrade-feedisburser\nexecute-upgrade-feedisburser: SCRIPT_NAME = UpgradeFeeDisburser\nexecute-upgrade-feedisburser:\n\t$(call MULTISIG_EXECUTE,$(SIGNATURES))\n"
  },
  {
    "path": "sepolia/2026-03-11-patch-fee-disburser/README.md",
    "content": "# FeeDisburser Patch\n\nStatus: [EXECUTED](https://sepolia.etherscan.io/tx/0x5e5d2180515dd7788829d18d611798b121a69290a8310f9d59c093e39fca0f78)\n\n## Description\n\nOur latest deployment of the `FeeDisburser` contract is using an interface that is incompatible with our current FeeVault deployments on Base. This patch upgrade fixes the interface.\n\n## Procedure\n\n### Install dependencies\n\n#### 1. Update foundry\n\n```bash\nfoundryup\n```\n\n#### 2. Install Node.js if needed\n\nFirst, check if you have node installed:\n\n```bash\nnode --version\n```\n\nIf you see a version output from the above command, you can move on. Otherwise, install node:\n\n```bash\nbrew install node\n```\n\n### Approve the transaction\n\n#### 1. Update repo\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n#### 2. Run the signing tool\n\n```bash\nmake sign-task\n```\n\n#### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\n- Select the correct signer role from the list of available users to sign.\n- After completion, close the signer tool with `Ctrl + C`.\n\n#### 4. Send signature to facilitator\n\nCopy the signature output and send it to the designated facilitator via the agreed communication channel. The facilitator will collect all signatures and execute the transaction.\n"
  },
  {
    "path": "sepolia/2026-03-11-patch-fee-disburser/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/contracts',\n    '@solady/=lib/solady/src/',\n]\n\n[lint]\nlint_on_build = false\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "sepolia/2026-03-11-patch-fee-disburser/patch/fee-disburser-semver.patch",
    "content": "diff --git a/src/revenue-share/FeeDisburser.sol b/src/revenue-share/FeeDisburser.sol\n--- a/src/revenue-share/FeeDisburser.sol\n+++ b/src/revenue-share/FeeDisburser.sol\n@@ -131,9 +131,9 @@ contract FeeDisburser is ISemver {\n         emit FeesReceived(msg.sender, msg.value);\n     }\n \n-    /// @custom:semver 1.0.0\n+    /// @custom:semver 1.0.0+fee-vault-withdraw-compat\n     function version() external pure virtual returns (string memory) {\n-        return \"1.0.0\";\n+        return \"1.0.0+fee-vault-withdraw-compat\";\n     }\n \n     ////////////////////////////////////////////////////////////////\n"
  },
  {
    "path": "sepolia/2026-03-11-patch-fee-disburser/patch/ifee-vault-withdraw.patch",
    "content": "diff --git a/interfaces/L2/IFeeVault.sol b/interfaces/L2/IFeeVault.sol\n--- a/interfaces/L2/IFeeVault.sol\n+++ b/interfaces/L2/IFeeVault.sol\n@@ -32,7 +32,7 @@ interface IFeeVault {\n     function minWithdrawalAmount() external view returns (uint256);\n     function recipient() external view returns (address);\n     function totalProcessed() external view returns (uint256);\n-    function withdraw() external returns (uint256 value_);\n+    function withdraw() external;\n     function withdrawalNetwork() external view returns (Types.WithdrawalNetwork);\n     function setMinWithdrawalAmount(uint256 _newMinWithdrawalAmount) external;\n     function setRecipient(address _newRecipient) external;\n"
  },
  {
    "path": "sepolia/2026-03-11-patch-fee-disburser/records/DeployFeeDisburser.s.sol/84532/run-1773252087364.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xb37e3f0ced3ae715b98aed945dce2dfe7b6a465bb781ccd6c1ae4626ef686cfa\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"FeeDisburser\",\n      \"contractAddress\": \"0x3a9f58cc41f29f9e16a8497d2f158b7e8c67e78b\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x8D1b5e5614300F5c7ADA01fFA4ccF8F1752D9A57\",\n        \"604800\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x9f3bb\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c060405234801561000f575f80fd5b5060405161090e38038061090e83398101604081905261002e9161008f565b6001600160a01b0382166100555760405163d92e233d60e01b815260040160405180910390fd5b62015180811015610079576040516352063f8560e11b815260040160405180910390fd5b6001600160a01b0390911660805260a0526100c6565b5f80604083850312156100a0575f80fd5b82516001600160a01b03811681146100b6575f80fd5b6020939093015192949293505050565b60805160a05161081a6100f45f395f8181610156015261020501525f818160c2015261034e015261081a5ff3fe608060405260043610610071575f3560e01c806354664de51161004c57806354664de51461014557806354fd4d5014610178578063ad41d09c146101c3578063b87ea8d4146101ed575f80fd5b806336f1a6e5146100b1578063394d27311461010e578063447eb5ac14610130575f80fd5b366100ad5760405134815233907f2ccfc58c2cef4ee590b5f16be0548cc54afc12e1c66a67b362b7d640fd16bb2d9060200160405180910390a2005b5f80fd5b3480156100bc575f80fd5b506100e47f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b348015610119575f80fd5b506101225f5481565b604051908152602001610105565b34801561013b575f80fd5b5061012260015481565b348015610150575f80fd5b506101227f000000000000000000000000000000000000000000000000000000000000000081565b348015610183575f80fd5b50604080518082018252601f81527f312e302e302b6665652d7661756c742d77697468647261772d636f6d706174006020820152905161010591906106b5565b3480156101ce575f80fd5b506101d86188b881565b60405163ffffffff9091168152602001610105565b3480156101f8575f80fd5b50610201610203565b005b7f00000000000000000000000000000000000000000000000000000000000000005f5461023091906106ce565b421015610269576040517fc7a06d5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6102867342000000000000000000000000000000000000116103f8565b6102a37342000000000000000000000000000000000000196103f8565b6102c073420000000000000000000000000000000000001a6103f8565b475f8190036102f4576040517f8c887b1215d5e6b119c1c1008fe1d0919b4c438301d5a0357362a13fb56f6a40905f90a150565b425f90815560408051602081018252918252517fe11013dd0000000000000000000000000000000000000000000000000000000081527342000000000000000000000000000000000000109163e11013dd91479161037a917f0000000000000000000000000000000000000000000000000000000000000000916188b89160040161070c565b5f604051808303818588803b158015610391575f80fd5b505af11580156103a3573d5f803e3d5ffd5b50505050507fe155e054cfe69655d6d2f8bbfb856aa8cdf49ecbea6557901533364539caad945f545f836040516103ed939291909283526020830191909152604082015260600190565b60405180910390a150565b60018173ffffffffffffffffffffffffffffffffffffffff1663d0e12f906040518163ffffffff1660e01b8152600401602060405180830381865afa158015610443573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610467919061077c565b60018111156104785761047861074f565b146104af576040517f72e01a1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16630d9019e16040518163ffffffff1660e01b8152600401602060405180830381865afa15801561050f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610533919061079a565b73ffffffffffffffffffffffffffffffffffffffff1614610580576040517fc9bb076d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663d3e5792b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ed91906107cd565b8173ffffffffffffffffffffffffffffffffffffffff163110610666578073ffffffffffffffffffffffffffffffffffffffff16633ccfd60b6040518163ffffffff1660e01b81526004015f604051808303815f87803b15801561064f575f80fd5b505af1158015610661573d5f803e3d5ffd5b505050505b50565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f6106c76020830184610669565b9392505050565b80820180821115610706577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b92915050565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff83166020820152606060408201525f6107466060830184610669565b95945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f6020828403121561078c575f80fd5b8151600281106106c7575f80fd5b5f602082840312156107aa575f80fd5b815173ffffffffffffffffffffffffffffffffffffffff811681146106c7575f80fd5b5f602082840312156107dd575f80fd5b505191905056fea2646970667358221220ede52522202c163574ba53ebb17a001cdd3afcf470d3dfa0e7dd0e56a46e753e64736f6c634300081900330000000000000000000000008d1b5e5614300f5c7ada01ffa4ccf8f1752d9a570000000000000000000000000000000000000000000000000000000000093a80\",\n        \"nonce\": \"0x600\",\n        \"chainId\": \"0x14a34\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x60cbe4\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xb37e3f0ced3ae715b98aed945dce2dfe7b6a465bb781ccd6c1ae4626ef686cfa\",\n      \"transactionIndex\": \"0x30\",\n      \"blockHash\": \"0xf3171e042b0a5da0e3a902081d4f13e8b38917a98cec851bc23b0a61559f0cae\",\n      \"blockNumber\": \"0x24f278b\",\n      \"gasUsed\": \"0x7a7cb\",\n      \"effectiveGasPrice\": \"0x5b8d80\",\n      \"blobGasUsed\": \"0x2980d\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0x3a9f58cc41f29f9e16a8497d2f158b7e8c67e78b\",\n      \"daFootprintGasScalar\": \"0x8b\",\n      \"l1BaseFeeScalar\": \"0x44d\",\n      \"l1BlobBaseFee\": \"0x1\",\n      \"l1BlobBaseFeeScalar\": \"0xa118b\",\n      \"l1Fee\": \"0x3ff\",\n      \"l1GasPrice\": \"0xa\",\n      \"l1GasUsed\": \"0x4c7e\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1773252087364,\n  \"chain\": 84532,\n  \"commit\": \"f0e56d7\"\n}"
  },
  {
    "path": "sepolia/2026-03-11-patch-fee-disburser/records/UpgradeFeeDisburser.s.sol/11155111/run-1773335017410.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x5e5d2180515dd7788829d18d611798b121a69290a8310f9d59c093e39fca0f78\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x49f53e41452C74589E85cA1677426Ba426459e85\",\n        \"0\",\n        \"0xe9e05c4200000000000000000000000076355a67fcbcde6f9a69409a8ead5eaa9d8d875d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000243659cfe60000000000000000000000003a9f58cc41f29f9e16a8497d2f158b7e8c67e78b00000000000000000000000000000000000000000000000000000000\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x76d4c28fb3f555343f319162ea35a755fff7327ed330bb9781b669e057a3c68244b898fbbc6415eaa731f4374d74cd2d8279d47121b0d21dcbf87d68a7b44d981cb8896c270a0fdf43e610d2d5cf88bfe3851ec6655bef2bf49212cae9ce33f632568f2aaa877840c451f879d0ec76520ad045e1d2ead89b4a73c75ac1957eb8a61c72cb499cb3174d1f5dda83a597cdc628cd5314f75edb1698a2e03a91ca6093e86223356a05f86385ba04a1d22c39812493219753c55c1d0be5e18b0b80e74e151b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n        \"gas\": \"0x3e570\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a76120200000000000000000000000049f53e41452c74589e85ca1677426ba426459e850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000104e9e05c4200000000000000000000000076355a67fcbcde6f9a69409a8ead5eaa9d8d875d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000243659cfe60000000000000000000000003a9f58cc41f29f9e16a8497d2f158b7e8c67e78b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c376d4c28fb3f555343f319162ea35a755fff7327ed330bb9781b669e057a3c68244b898fbbc6415eaa731f4374d74cd2d8279d47121b0d21dcbf87d68a7b44d981cb8896c270a0fdf43e610d2d5cf88bfe3851ec6655bef2bf49212cae9ce33f632568f2aaa877840c451f879d0ec76520ad045e1d2ead89b4a73c75ac1957eb8a61c72cb499cb3174d1f5dda83a597cdc628cd5314f75edb1698a2e03a91ca6093e86223356a05f86385ba04a1d22c39812493219753c55c1d0be5e18b0b80e74e151b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x50\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1296faa\",\n      \"logs\": [\n        {\n          \"address\": \"0x49f53e41452c74589e85ca1677426ba426459e85\",\n          \"topics\": [\n            \"0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32\",\n            \"0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890\",\n            \"0x00000000000000000000000076355a67fcbcde6f9a69409a8ead5eaa9d8d875d\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0003659cfe60000000000000000000000003a9f58cc41f29f9e16a8497d2f158b7e8c67e78b00000000000000000000000000000000000000\",\n          \"blockHash\": \"0x9a8b5fdfd5c4451d7c44e1bc46a8dd506b81176bd2d3984edb6fb621c5ee4cb5\",\n          \"blockNumber\": \"0x9f35fb\",\n          \"blockTimestamp\": \"0x69b2f1e8\",\n          \"transactionHash\": \"0x5e5d2180515dd7788829d18d611798b121a69290a8310f9d59c093e39fca0f78\",\n          \"transactionIndex\": \"0x8c\",\n          \"logIndex\": \"0x13c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0xf60f070f46c23647b5ed37eb283421073536c435945beeae4885adf359ab8252\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x9a8b5fdfd5c4451d7c44e1bc46a8dd506b81176bd2d3984edb6fb621c5ee4cb5\",\n          \"blockNumber\": \"0x9f35fb\",\n          \"blockTimestamp\": \"0x69b2f1e8\",\n          \"transactionHash\": \"0x5e5d2180515dd7788829d18d611798b121a69290a8310f9d59c093e39fca0f78\",\n          \"transactionIndex\": \"0x8c\",\n          \"logIndex\": \"0x13d\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000000000002000000002000000000000000000000020000000000000000000000000001000000000000000002000000000000000000000000000800000000000000040000020000000000400000000800000000000020000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010404080000000000000000000000000000000000000000000020000000000000000000000000000080000000000000000020000000000000000000000040002000000000000000080000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x5e5d2180515dd7788829d18d611798b121a69290a8310f9d59c093e39fca0f78\",\n      \"transactionIndex\": \"0x8c\",\n      \"blockHash\": \"0x9a8b5fdfd5c4451d7c44e1bc46a8dd506b81176bd2d3984edb6fb621c5ee4cb5\",\n      \"blockNumber\": \"0x9f35fb\",\n      \"gasUsed\": \"0x2aa03\",\n      \"effectiveGasPrice\": \"0xf424b\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1773335017410,\n  \"chain\": 11155111,\n  \"commit\": \"9a7ac3c\"\n}"
  },
  {
    "path": "sepolia/2026-03-11-patch-fee-disburser/script/DeployFeeDisburser.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.25;\n\nimport {Script} from \"forge-std/Script.sol\";\nimport {console} from \"forge-std/console.sol\";\n\nimport {FeeDisburser} from \"@base-contracts/src/revenue-share/FeeDisburser.sol\";\n\n/// @title DeployFeeDisburser\n/// @notice Deploys the FeeDisburser implementation contract which collects fees from L2 FeeVaults\n///         and bridges them to L1.\n/// @dev Required environment variables:\n///      - BALANCE_TRACKER: The L1 address that will receive bridged fees\n///      - FEE_DISBURSEMENT_INTERVAL: Minimum time in seconds between disbursements (must be >= 24 hours)\n///      - FEE_DISBURSER_ADDR: The existing FeeDisburser proxy contract on L2\ncontract DeployFeeDisburser is Script {\n    address public immutable L1_WALLET = vm.envAddress(\"BALANCE_TRACKER\");\n    uint256 public immutable FEE_DISBURSEMENT_INTERVAL = vm.envUint(\"FEE_DISBURSEMENT_INTERVAL\");\n    address public immutable FEE_DISBURSER_PROXY = vm.envAddress(\"FEE_DISBURSER_ADDR\");\n\n    /// @notice EIP-1967 implementation storage slot.\n    bytes32 internal constant IMPL_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\n\n    function run() external {\n        vm.startBroadcast();\n\n        FeeDisburser feeDisburser = new FeeDisburser(L1_WALLET, FEE_DISBURSEMENT_INTERVAL);\n\n        console.log(\"FeeDisburser deployed at:\", address(feeDisburser));\n        console.log(\"  L1_WALLET:\", L1_WALLET);\n        console.log(\"  FEE_DISBURSEMENT_INTERVAL:\", FEE_DISBURSEMENT_INTERVAL);\n\n        vm.stopBroadcast();\n\n        require(feeDisburser.L1_WALLET() == L1_WALLET, \"DeployFeeDisburser: L1_WALLET mismatch\");\n        require(\n            feeDisburser.FEE_DISBURSEMENT_INTERVAL() == FEE_DISBURSEMENT_INTERVAL,\n            \"DeployFeeDisburser: FEE_DISBURSEMENT_INTERVAL mismatch\"\n        );\n\n        _postCheck(address(feeDisburser));\n    }\n\n    /// @notice Simulates disburseFees() on the proxy with the newly deployed implementation\n    ///         to verify ABI compatibility with the deployed FeeVaults.\n    function _postCheck(address newImpl) internal {\n        vm.store(FEE_DISBURSER_PROXY, IMPL_SLOT, bytes32(uint256(uint160(newImpl))));\n        FeeDisburser(payable(FEE_DISBURSER_PROXY)).disburseFees();\n        console.log(\"Postcheck: disburseFees() simulation succeeded with new implementation\");\n    }\n}\n"
  },
  {
    "path": "sepolia/2026-03-11-patch-fee-disburser/script/UpgradeFeeDisburser.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\n\nimport {MultisigScript, Enum} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\n\ninterface IOptimismPortal2 {\n    function depositTransaction(address _to, uint256 _value, uint64 _gasLimit, bool _isCreation, bytes memory _data)\n        external\n        payable;\n}\n\ninterface IProxy {\n    function upgradeTo(address newImplementation) external;\n}\n\n/// @title UpgradeFeeDisburser\n/// @notice Script to upgrade the FeeDisburser proxy on L2 via a deposit transaction from L1.\n///         The FeeDisburser proxy admin is the L1 alias of OWNER_SAFE, so this upgrade\n///         must be executed as a deposit transaction through OptimismPortal2.\ncontract UpgradeFeeDisburser is MultisigScript {\n    /// @notice The L1 Safe that owns the FeeDisburser proxy (aliased address is the admin).\n    address public immutable OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n\n    /// @notice The OptimismPortal2 contract on L1 used for deposit transactions.\n    address public immutable OPTIMISM_PORTAL = vm.envAddress(\"OPTIMISM_PORTAL_ADDR\");\n\n    /// @notice The FeeDisburser proxy contract on L2.\n    address public immutable FEE_DISBURSER_PROXY = vm.envAddress(\"FEE_DISBURSER_ADDR\");\n\n    /// @notice The new FeeDisburser implementation contract on L2.\n    address public immutable FEE_DISBURSER_IMPL = vm.envAddress(\"FEE_DISBURSER_IMPL_ADDR\");\n\n    /// @notice Post-check is a no-op since we cannot verify L2 state from L1 simulation.\n    ///         The upgrade result should be verified on L2 after the deposit transaction is processed.\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal override {}\n\n    /// @notice Builds the call to OptimismPortal2.depositTransaction that will upgrade\n    ///         the FeeDisburser proxy on L2.\n    function _buildCalls() internal view override returns (MultisigScript.Call[] memory) {\n        MultisigScript.Call[] memory calls = new MultisigScript.Call[](1);\n\n        bytes memory upgradeCalldata = abi.encodeCall(IProxy.upgradeTo, (FEE_DISBURSER_IMPL));\n\n        calls[0] = MultisigScript.Call({\n            operation: Enum.Operation.Call,\n            target: OPTIMISM_PORTAL,\n            data: abi.encodeCall(\n                IOptimismPortal2.depositTransaction, (FEE_DISBURSER_PROXY, 0, 100_000, false, upgradeCalldata)\n            ),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    /// @notice Returns the Safe address that will execute this transaction on L1.\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "sepolia/2026-03-11-patch-fee-disburser/validations/base-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net UpgradeFeeDisburser --sig sign(address[]) [] --sender 0x6e427c3212C0b63BE0C382F97715D49b011bFF33\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f\",\n    \"domainHash\": \"0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23\",\n    \"messageHash\": \"0x3eb637030158b06280c2cb4bf854eabe731e56cb553bd15ee59c7f2b0f2673e0\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"CB Signer Safe - Sepolia\",\n      \"address\": \"0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xdfa39de47b1dced05a3fd0def27e1d9a3d11eb82881c5d59f4fe4ab5e05412a0\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"OptimismPortal - Sepolia\",\n      \"address\": \"0x49f53e41452C74589E85cA1677426Ba426459e85\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"before\": \"0x00000000009f1ee5000000000007e1760000000000000000000000003b9aca00\",\n          \"after\": \"0x00000000009f1ef300000000000186a00000000000000000000000003b9aca00\",\n          \"description\": \"Updates the ResourceMetering parameters (prevBlockNum, prevBoughtGas, prevBaseFee).\",\n          \"allowDifference\": true\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Sepolia\",\n      \"address\": \"0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000016\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000017\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": [],\n  \"taskOriginConfig\": {\n    \"taskCreator\": {\n      \"commonName\": \"jack.chuma@coinbase.com\"\n    }\n  }\n}\n"
  },
  {
    "path": "sepolia/2026-03-25-increase-gas-and-elasticity-limit/FACILITATOR.md",
    "content": "# Facilitator Guide\n\nGuide for facilitators managing this task.\n\n## Task Origin Signing\n\nAfter setting up the task, generate cryptographic attestations (sigstore bundles) to prove who created and facilitated the task. These signatures are stored in `<network>/signatures/<task-name>/`.\n\n### Task creator (run after task setup):\n```bash\nmake sign-as-task-creator\n```\n\n### Base facilitator:\n```bash\nmake sign-as-base-facilitator\n```\n\n### Security Council facilitator:\n```bash\nmake sign-as-sc-facilitator\n```\n\n## Execution\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd <network>/<task-name>\nmake deps\n```\n\n### 2. Execute upgrade\n\n```bash\nSIGNATURES=AAABBBCCC make execute\n```\n\n### 3. (**ONLY** if needed) Execute upgrade rollback\n\n> [!IMPORTANT]\n>\n> THIS SHOULD ONLY BE PERFORMED IN THE EVENT THAT WE NEED TO ROLLBACK\n\n```bash\nSIGNATURES=AAABBBCCC make execute-rollback\n```\n"
  },
  {
    "path": "sepolia/2026-03-25-increase-gas-and-elasticity-limit/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\ninclude ../.env\ninclude .env\n\n# Map config variables to script variables\nOWNER_SAFE ?= $(INCIDENT_MULTISIG)\nexport OWNER_SAFE\n\nifndef ROLLBACK_NONCE_OFFSET\noverride ROLLBACK_NONCE_OFFSET = 1\nendif\n\nRPC_URL = $(L1_RPC_URL)\nSCRIPT_NAME = IncreaseEip1559ElasticityAndIncreaseGasLimitScript\n\n# Validate required configuration before execution\n.PHONY: validate-config\nvalidate-config:\n\t@test -n \"$(BASE_CONTRACTS_COMMIT)\" -a \"$(BASE_CONTRACTS_COMMIT)\" != \"TODO\" || (echo \"BASE_CONTRACTS_COMMIT required\" && exit 1)\n\t@test -n \"$(OWNER_SAFE)\" || (echo \"OWNER_SAFE required\" && exit 1)\n\t@test -n \"$(SYSTEM_CONFIG)\" || (echo \"SYSTEM_CONFIG required\" && exit 1)\n\t@test -n \"$(SENDER)\" || (echo \"SENDER required\" && exit 1)\n\t@test -n \"$(FROM_GAS_LIMIT)\" -a \"$(FROM_GAS_LIMIT)\" != \"TODO\" || (echo \"FROM_GAS_LIMIT required\" && exit 1)\n\t@test -n \"$(TO_GAS_LIMIT)\" -a \"$(TO_GAS_LIMIT)\" != \"TODO\" || (echo \"TO_GAS_LIMIT required\" && exit 1)\n\t@test -n \"$(FROM_ELASTICITY)\" -a \"$(FROM_ELASTICITY)\" != \"TODO\" || (echo \"FROM_ELASTICITY required\" && exit 1)\n\t@test -n \"$(TO_ELASTICITY)\" -a \"$(TO_ELASTICITY)\" != \"TODO\" || (echo \"TO_ELASTICITY required\" && exit 1)\n\t@test -n \"$(FROM_DENOMINATOR)\" -a \"$(FROM_DENOMINATOR)\" != \"TODO\" || (echo \"FROM_DENOMINATOR required\" && exit 1)\n\t@test -n \"$(TO_DENOMINATOR)\" -a \"$(TO_DENOMINATOR)\" != \"TODO\" || (echo \"TO_DENOMINATOR required\" && exit 1)\n\t@test -n \"$(FROM_DA_FOOTPRINT_GAS_SCALAR)\" -a \"$(FROM_DA_FOOTPRINT_GAS_SCALAR)\" != \"TODO\" || (echo \"FROM_DA_FOOTPRINT_GAS_SCALAR required\" && exit 1)\n\t@test -n \"$(TO_DA_FOOTPRINT_GAS_SCALAR)\" -a \"$(TO_DA_FOOTPRINT_GAS_SCALAR)\" != \"TODO\" || (echo \"TO_DA_FOOTPRINT_GAS_SCALAR required\" && exit 1)\n\t@echo \"Configuration validated successfully\"\n\n# Calculate the DA footprint gas scalar based on the formula:\n# da_footprint_gas_scalar = gas_limit / (elasticity * target_blob_count * 32,000)\n# Uses TO_GAS_LIMIT and TO_ELASTICITY from .env\n.PHONY: da-scalar\nda-scalar:\nifndef TARGET_BLOB_COUNT\n\t$(error TARGET_BLOB_COUNT is not set. Usage: make da-scalar TARGET_BLOB_COUNT=<value>)\nendif\nifeq ($(TO_GAS_LIMIT),TODO)\n\t$(error TO_GAS_LIMIT is not set. Please set it in .env before running this command.)\nendif\nifeq ($(TO_ELASTICITY),TODO)\n\t$(error TO_ELASTICITY is not set. Please set it in .env before running this command.)\nendif\n\t@echo \"$(TO_GAS_LIMIT) / ($(TO_ELASTICITY) * $(TARGET_BLOB_COUNT) * 32000) =\"\n\t@echo \"TO_DA_FOOTPRINT_GAS_SCALAR=$$(( $(TO_GAS_LIMIT) / ($(TO_ELASTICITY) * $(TARGET_BLOB_COUNT) * 32000) ))\"\n\n.PHONY: gen-validation\ngen-validation: validate-config deps-signer-tool\n\t$(call GEN_VALIDATION,$(SCRIPT_NAME),,$(SENDER),base-signer.json,OWNER_SAFE=$(OWNER_SAFE) SYSTEM_CONFIG=$(SYSTEM_CONFIG) NEW_GAS_LIMIT=$(TO_GAS_LIMIT) OLD_GAS_LIMIT=$(FROM_GAS_LIMIT) NEW_ELASTICITY=$(TO_ELASTICITY) OLD_ELASTICITY=$(FROM_ELASTICITY) NEW_DENOMINATOR=$(TO_DENOMINATOR) OLD_DENOMINATOR=$(FROM_DENOMINATOR) NEW_DA_FOOTPRINT_GAS_SCALAR=$(TO_DA_FOOTPRINT_GAS_SCALAR) OLD_DA_FOOTPRINT_GAS_SCALAR=$(FROM_DA_FOOTPRINT_GAS_SCALAR))\n\n.PHONY: execute\nexecute: validate-config\n\tNEW_GAS_LIMIT=$(TO_GAS_LIMIT) \\\n\tOLD_GAS_LIMIT=$(FROM_GAS_LIMIT) \\\n\tNEW_ELASTICITY=$(TO_ELASTICITY) \\\n\tOLD_ELASTICITY=$(FROM_ELASTICITY) \\\n\tNEW_DENOMINATOR=$(TO_DENOMINATOR) \\\n\tOLD_DENOMINATOR=$(FROM_DENOMINATOR) \\\n\tNEW_DA_FOOTPRINT_GAS_SCALAR=$(TO_DA_FOOTPRINT_GAS_SCALAR) \\\n\tOLD_DA_FOOTPRINT_GAS_SCALAR=$(FROM_DA_FOOTPRINT_GAS_SCALAR) \\\n\t$(call MULTISIG_EXECUTE,$(SIGNATURES))\n\n# Generate rollback validation file with swapped old/new values and nonce offset.\n# SAFE_NONCE is set to current_nonce + ROLLBACK_NONCE_OFFSET so the rollback\n# transaction targets the correct future nonce.\n.PHONY: gen-validation-rollback\ngen-validation-rollback: validate-config deps-signer-tool\n\t$(call GEN_VALIDATION,$(SCRIPT_NAME),,$(SENDER),base-signer-rollback.json,OWNER_SAFE=$(OWNER_SAFE) SYSTEM_CONFIG=$(SYSTEM_CONFIG) OLD_GAS_LIMIT=$(TO_GAS_LIMIT) NEW_GAS_LIMIT=$(FROM_GAS_LIMIT) OLD_ELASTICITY=$(TO_ELASTICITY) NEW_ELASTICITY=$(FROM_ELASTICITY) OLD_DENOMINATOR=$(TO_DENOMINATOR) NEW_DENOMINATOR=$(FROM_DENOMINATOR) OLD_DA_FOOTPRINT_GAS_SCALAR=$(TO_DA_FOOTPRINT_GAS_SCALAR) NEW_DA_FOOTPRINT_GAS_SCALAR=$(FROM_DA_FOOTPRINT_GAS_SCALAR) SAFE_NONCE=$(shell expr $(call GET_NONCE,$(OWNER_SAFE)) + $(ROLLBACK_NONCE_OFFSET)))\n\n.PHONY: execute-rollback\nexecute-rollback: validate-config\n\tOLD_GAS_LIMIT=$(TO_GAS_LIMIT) \\\n\tNEW_GAS_LIMIT=$(FROM_GAS_LIMIT) \\\n\tOLD_ELASTICITY=$(TO_ELASTICITY) \\\n\tNEW_ELASTICITY=$(FROM_ELASTICITY) \\\n\tOLD_DENOMINATOR=$(TO_DENOMINATOR) \\\n\tNEW_DENOMINATOR=$(FROM_DENOMINATOR) \\\n\tOLD_DA_FOOTPRINT_GAS_SCALAR=$(TO_DA_FOOTPRINT_GAS_SCALAR) \\\n\tNEW_DA_FOOTPRINT_GAS_SCALAR=$(FROM_DA_FOOTPRINT_GAS_SCALAR) \\\n\tSAFE_NONCE=$(shell expr $(call GET_NONCE,$(OWNER_SAFE)) + $(ROLLBACK_NONCE_OFFSET)) \\\n\t$(call MULTISIG_EXECUTE,$(SIGNATURES))\n"
  },
  {
    "path": "sepolia/2026-03-25-increase-gas-and-elasticity-limit/README.md",
    "content": "# Update Gas Limit, EIP-1559 Params & DA Footprint Gas Scalar in L1 `SystemConfig`\n\nStatus: [EXECUTED](https://sepolia.etherscan.io/tx/0xce9c2e584c9eb8b09dfe70feb5c2b295907b9c65275c3170c78e9e2d7842e777) ([artifact](./records/IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol/11155111/run-1774464540781.json))\n\n## Description\n\nWe are updating the gas limit, EIP-1559 elasticity, EIP-1559 denominator, and DA footprint gas scalar to improve TPS and reduce gas fees.\n\nThis runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base/contracts) repository:\n\n`IncreaseEip1559ElasticityAndIncreaseGasLimitScript` -- This script will update the gas limit to 400,000,000, elasticity to 5, denominator to 100, and DA footprint gas scalar to 148 if invoked as part of the \"upgrade\" process, or revert to the old limit of 375,000,000 gas, elasticity of 6, denominator of 125, and DA footprint gas scalar of 139 if invoked as part of the \"rollback\" process.\n\n### DA Footprint Gas Scalar Formula\n\nWe typically set the DA footprint gas scalar to cause base fees to rise if and only if the DA usage exceeds the L1 target blob throughput. (Below that level of DA usage, the normal base fee rules apply.) We use the following formula:\n\n```\nda_footprint_gas_scalar = gas_limit / (elasticity * l2_block_time * l1_target_throughput * estimation_ratio)\n```\n\nWhere:\n- `gas_limit` = L2 gas limit per block\n- `elasticity` = EIP-1559 elasticity multiplier\n- `l2_block_time` = 2 seconds\n- `l1_target_throughput = (target_blob_count * 128,000 bytes/blob) / 12 sec/block`\n- `target_blob_count` = target number of blobs per L1 block\n- `estimation_ratio` = 1.5 to account for differences between compression estimates and actual usage\n\nThis simplifies to:\n\n```\nda_footprint_gas_scalar = gas_limit / (elasticity * target_blob_count * 32,000)\n```\n\nExample with gas_limit = 120,000,000, elasticity = 2, and target_blob_count = 6:\n```\nda_footprint_gas_scalar = 120,000,000 / (2 * 6 * 32,000) = 312.5 ≈ 312\n```\n\nThe values we are sending are statically defined in the `.env` file.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow\n> the flow for both \"Approving the Update transaction\" and\n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed.\n\n## Install dependencies\n\n### 1. Update foundry\n\n```bash\nfoundryup\n```\n\n### 2. Install Node.js if needed\n\nFirst, check if you have node installed\n\n```bash\nnode --version\n```\n\nIf you see a version output from the above command, you can move on. Otherwise, install node\n\n```bash\nbrew install node\n```\n\n## Approving the Update transaction\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root).\n\n```bash\nmake sign-task\n```\n\n### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\nBe sure to select the correct task from the list of available tasks to sign (**not** the \"Base Signer Rollback\" task). Copy the resulting signature and save it.\n\n### 4. Rollback signing\n\nNow, click on the \"Base Signer\" selection and switch over to the rollback task (called \"Base Signer Rollback\"). Copy the resulting signature and save it.\n\n### 5. Send signature to facilitator\n\nSend the two signatures to the facilitator and make sure to clearly note which one is the primary one and which one is the rollback.\n\nYou may now kill the Signer Tool process in your terminal window by running `Ctrl + C`.\n"
  },
  {
    "path": "sepolia/2026-03-25-increase-gas-and-elasticity-limit/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nevm_version = \"shanghai\"\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/contracts',\n    '@solady/=lib/solady/src/'\n]\n\n[lint]\nlint_on_build = false\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "sepolia/2026-03-25-increase-gas-and-elasticity-limit/records/IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol/11155111/run-1774464540781.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xce9c2e584c9eb8b09dfe70feb5c2b295907b9c65275c3170c78e9e2d7842e777\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303\",\n        \"0\",\n        \"0x858cc83200000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000480000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c580130300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000030482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000200000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044c0fd4b410000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000017d7840000000000000000000000000000000000000000000000000000000000000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002420f06fdc0000000000000000000000000000000000000000000000000000000000000094000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xda9a6a4be717a57b827c33043c4ce3768442cf659bb0e4a29068ab3eec7c13512d15f374e57b0cbcab32f85c8e6386ca51a2630dde178d182f0fa3dcf8044b421c8270c2a972333e774b6c1f22ce0135d25ae73c0639fcd47cbcca2e9463fcc49b038a960541efb1752e8d2bb67f33509bc09729fd89af0268baee8c98d7ec65be1b266c0334c550b4a4f7f3affb1e3f0268d0cd9fda9697bc76bb1c9ba50b07470a00fa6918d72036adfac0be5aab280252ac679a81656e7fd6862c70e6b5babbb11b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x6e427c3212c0b63be0c382f97715d49b011bff33\",\n        \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n        \"gas\": \"0x2a834\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006c00000000000000000000000000000000000000000000000000000000000000544858cc83200000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000480000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c580130300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000030482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000200000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044c0fd4b410000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000017d7840000000000000000000000000000000000000000000000000000000000000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002420f06fdc00000000000000000000000000000000000000000000000000000000000000940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3da9a6a4be717a57b827c33043c4ce3768442cf659bb0e4a29068ab3eec7c13512d15f374e57b0cbcab32f85c8e6386ca51a2630dde178d182f0fa3dcf8044b421c8270c2a972333e774b6c1f22ce0135d25ae73c0639fcd47cbcca2e9463fcc49b038a960541efb1752e8d2bb67f33509bc09729fd89af0268baee8c98d7ec65be1b266c0334c550b4a4f7f3affb1e3f0268d0cd9fda9697bc76bb1c9ba50b07470a00fa6918d72036adfac0be5aab280252ac679a81656e7fd6862c70e6b5babbb11b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x2d1\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1e1d740\",\n      \"logs\": [\n        {\n          \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000004\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000006400000005\",\n          \"blockHash\": \"0x532fe0c088a8bd70696c0688c7eb2b9b3fed5f0ab8eda2141df55e8a643f3a82\",\n          \"blockNumber\": \"0xa087df\",\n          \"blockTimestamp\": \"0x69c42e1c\",\n          \"transactionHash\": \"0xce9c2e584c9eb8b09dfe70feb5c2b295907b9c65275c3170c78e9e2d7842e777\",\n          \"transactionIndex\": \"0xa3\",\n          \"logIndex\": \"0x3c3\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000002\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000017d78400\",\n          \"blockHash\": \"0x532fe0c088a8bd70696c0688c7eb2b9b3fed5f0ab8eda2141df55e8a643f3a82\",\n          \"blockNumber\": \"0xa087df\",\n          \"blockTimestamp\": \"0x69c42e1c\",\n          \"transactionHash\": \"0xce9c2e584c9eb8b09dfe70feb5c2b295907b9c65275c3170c78e9e2d7842e777\",\n          \"transactionIndex\": \"0xa3\",\n          \"logIndex\": \"0x3c4\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf272670eb55e895584501d564afeb048bed26194\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000007\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000094\",\n          \"blockHash\": \"0x532fe0c088a8bd70696c0688c7eb2b9b3fed5f0ab8eda2141df55e8a643f3a82\",\n          \"blockNumber\": \"0xa087df\",\n          \"blockTimestamp\": \"0x69c42e1c\",\n          \"transactionHash\": \"0xce9c2e584c9eb8b09dfe70feb5c2b295907b9c65275c3170c78e9e2d7842e777\",\n          \"transactionIndex\": \"0xa3\",\n          \"logIndex\": \"0x3c5\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xbb793e790a5dcd1128ef8a6337314041996959899e8912ed827d105c0bdeb6c00000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x532fe0c088a8bd70696c0688c7eb2b9b3fed5f0ab8eda2141df55e8a643f3a82\",\n          \"blockNumber\": \"0xa087df\",\n          \"blockTimestamp\": \"0x69c42e1c\",\n          \"transactionHash\": \"0xce9c2e584c9eb8b09dfe70feb5c2b295907b9c65275c3170c78e9e2d7842e777\",\n          \"transactionIndex\": \"0xa3\",\n          \"logIndex\": \"0x3c6\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x04000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000008000000000000000000000020000000000000000000000000000000000000000000000000000000000008000000020100000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000010000002000800000000000000000000000000000000000000000000000008000000004000520000020000000000000000000000000000000000000000000008000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xce9c2e584c9eb8b09dfe70feb5c2b295907b9c65275c3170c78e9e2d7842e777\",\n      \"transactionIndex\": \"0xa3\",\n      \"blockHash\": \"0x532fe0c088a8bd70696c0688c7eb2b9b3fed5f0ab8eda2141df55e8a643f3a82\",\n      \"blockNumber\": \"0xa087df\",\n      \"gasUsed\": \"0x1d119\",\n      \"effectiveGasPrice\": \"0xf42fd\",\n      \"from\": \"0x6e427c3212c0b63be0c382f97715d49b011bff33\",\n      \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1774464540781,\n  \"chain\": 11155111,\n  \"commit\": \"361864f\"\n}\n"
  },
  {
    "path": "sepolia/2026-03-25-increase-gas-and-elasticity-limit/script/IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\n\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Enum} from \"@base-contracts/script/universal/IGnosisSafe.sol\";\n\ninterface ISystemConfig {\n    function eip1559Elasticity() external view returns (uint32);\n    function eip1559Denominator() external view returns (uint32);\n    function setEIP1559Params(uint32 _denominator, uint32 _elasticity) external;\n    function gasLimit() external view returns (uint64);\n    function setGasLimit(uint64 _gasLimit) external;\n    function daFootprintGasScalar() external view returns (uint16);\n    function setDAFootprintGasScalar(uint16 _daFootprintGasScalar) external;\n}\n\ncontract IncreaseEip1559ElasticityAndIncreaseGasLimitScript is MultisigScript {\n    address internal immutable OWNER_SAFE;\n    address internal immutable SYSTEM_CONFIG;\n\n    uint32 internal immutable ELASTICITY;\n    uint32 internal immutable NEW_ELASTICITY;\n    uint64 internal immutable GAS_LIMIT;\n    uint64 internal immutable NEW_GAS_LIMIT;\n    uint32 internal immutable DENOMINATOR;\n    uint32 internal immutable NEW_DENOMINATOR;\n    uint16 internal immutable DA_FOOTPRINT_GAS_SCALAR;\n    uint16 internal immutable NEW_DA_FOOTPRINT_GAS_SCALAR;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n        SYSTEM_CONFIG = vm.envAddress(\"SYSTEM_CONFIG\");\n\n        GAS_LIMIT = uint64(vm.envUint(\"OLD_GAS_LIMIT\"));\n        NEW_GAS_LIMIT = uint64(vm.envUint(\"NEW_GAS_LIMIT\"));\n\n        ELASTICITY = uint32(vm.envUint(\"OLD_ELASTICITY\"));\n        NEW_ELASTICITY = uint32(vm.envUint(\"NEW_ELASTICITY\"));\n\n        DENOMINATOR = uint32(vm.envUint(\"OLD_DENOMINATOR\"));\n        NEW_DENOMINATOR = uint32(vm.envUint(\"NEW_DENOMINATOR\"));\n\n        DA_FOOTPRINT_GAS_SCALAR = uint16(vm.envUint(\"OLD_DA_FOOTPRINT_GAS_SCALAR\"));\n        NEW_DA_FOOTPRINT_GAS_SCALAR = uint16(vm.envUint(\"NEW_DA_FOOTPRINT_GAS_SCALAR\"));\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Denominator(), NEW_DENOMINATOR, \"Denominator mismatch\");\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity(), NEW_ELASTICITY, \"Elasticity mismatch\");\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).gasLimit(), NEW_GAS_LIMIT, \"Gas Limit mismatch\");\n        vm.assertEq(\n            ISystemConfig(SYSTEM_CONFIG).daFootprintGasScalar(),\n            NEW_DA_FOOTPRINT_GAS_SCALAR,\n            \"DA Footprint Gas Scalar mismatch\"\n        );\n    }\n\n    function _simulationOverrides() internal view override returns (Simulation.StateOverride[] memory _stateOverrides) {\n        if (\n            GAS_LIMIT != ISystemConfig(SYSTEM_CONFIG).gasLimit()\n                || ELASTICITY != ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity()\n                || DENOMINATOR != ISystemConfig(SYSTEM_CONFIG).eip1559Denominator()\n                || DA_FOOTPRINT_GAS_SCALAR != ISystemConfig(SYSTEM_CONFIG).daFootprintGasScalar()\n        ) {\n            // Override SystemConfig state to the expected \"from\" values so simulations succeeds even\n            // when the chain already reflects the post-change values (during rollback simulation).\n\n            // Prepare two storage overrides for SystemConfig\n            Simulation.StateOverride[] memory stateOverrides = new Simulation.StateOverride[](1);\n            Simulation.StorageOverride[] memory storageOverrides = new Simulation.StorageOverride[](2);\n\n            // Load current packed gas config (slot 0x68) and replace only the lower 64 bits with GAS_LIMIT\n            bytes32 gasConfigSlotKey = bytes32(uint256(0x68));\n            uint256 gasConfigWord = uint256(vm.load(SYSTEM_CONFIG, gasConfigSlotKey));\n            uint256 updatedGasConfigWord = (gasConfigWord & ~uint256(0xffffffffffffffff)) | uint256(GAS_LIMIT);\n            storageOverrides[0] =\n                Simulation.StorageOverride({key: gasConfigSlotKey, value: bytes32(updatedGasConfigWord)});\n\n            // Update EIP-1559 params and DA Footprint Gas Scalar (slot 0x6a)\n            // Storage layout (low to high bits):\n            //   - eip1559Denominator (uint32): bits 0-31\n            //   - eip1559Elasticity (uint32): bits 32-63\n            //   - operatorFeeScalar (uint32): bits 64-95\n            //   - operatorFeeConstant (uint64): bits 96-159\n            //   - daFootprintGasScalar (uint16): bits 160-175\n            // Load existing slot to preserve operatorFeeScalar and operatorFeeConstant, then update\n            // the fields we care about.\n            bytes32 eip1559SlotKey = bytes32(uint256(0x6a));\n            uint256 existingEip1559Word = uint256(vm.load(SYSTEM_CONFIG, eip1559SlotKey));\n            // Mask to preserve bits 64-159 (operatorFeeScalar and operatorFeeConstant)\n            uint256 operatorFeeMask = uint256(0xFFFFFFFFFFFFFFFFFFFFFFFF) << 64;\n            uint256 preservedOperatorFees = existingEip1559Word & operatorFeeMask;\n            uint256 composedEip1559Word = (uint256(DA_FOOTPRINT_GAS_SCALAR) << 160) | preservedOperatorFees\n                | (uint256(ELASTICITY) << 32) | uint256(DENOMINATOR);\n            storageOverrides[1] = Simulation.StorageOverride({key: eip1559SlotKey, value: bytes32(composedEip1559Word)});\n\n            stateOverrides[0] = Simulation.StateOverride({contractAddress: SYSTEM_CONFIG, overrides: storageOverrides});\n            return stateOverrides;\n        }\n    }\n\n    function _buildCalls() internal view override returns (Call[] memory) {\n        Call[] memory calls = new Call[](3);\n\n        calls[0] = Call({\n            operation: Enum.Operation.Call,\n            target: SYSTEM_CONFIG,\n            data: abi.encodeCall(ISystemConfig.setEIP1559Params, (NEW_DENOMINATOR, NEW_ELASTICITY)),\n            value: 0\n        });\n\n        calls[1] = Call({\n            operation: Enum.Operation.Call,\n            target: SYSTEM_CONFIG,\n            data: abi.encodeCall(ISystemConfig.setGasLimit, (NEW_GAS_LIMIT)),\n            value: 0\n        });\n\n        calls[2] = Call({\n            operation: Enum.Operation.Call,\n            target: SYSTEM_CONFIG,\n            data: abi.encodeCall(ISystemConfig.setDAFootprintGasScalar, (NEW_DA_FOOTPRINT_GAS_SCALAR)),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "sepolia/2026-03-25-increase-gas-and-elasticity-limit/validations/base-signer-rollback.json",
    "content": "{\n  \"cmd\": \"OWNER_SAFE=0x646132A1667ca7aD00d36616AFBA1A28116C770A SYSTEM_CONFIG=0xf272670eb55e895584501d564AfEB048bEd26194 OLD_GAS_LIMIT=400000000 NEW_GAS_LIMIT=375000000 OLD_ELASTICITY=5 NEW_ELASTICITY=6 OLD_DENOMINATOR=100 NEW_DENOMINATOR=125 OLD_DA_FOOTPRINT_GAS_SCALAR=148 NEW_DA_FOOTPRINT_GAS_SCALAR=139 SAFE_NONCE=17 forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net IncreaseEip1559ElasticityAndIncreaseGasLimitScript --sig sign(address[]) [] --sender 0x6e427c3212C0b63BE0C382F97715D49b011bFF33\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x646132A1667ca7aD00d36616AFBA1A28116C770A\",\n    \"domainHash\": \"0x1d3f2566fd7b1bf017258b03d4d4d435d326d9cb051d5b7993d7c65e7ec78d0e\",\n    \"messageHash\": \"0x692a43f94364876cf76dfb61d2c395ddc2b34585317585451725cea2ebfad717\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"CB Coordinator Safe - Sepolia\",\n      \"address\": \"0x646132A1667ca7aD00d36616AFBA1A28116C770A\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000011\",\n          \"description\": \"Override the nonce to be our expected value after initial execution.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xd7b5e463f673c028766c2dbdbfaf5dba9c1732ff1cab3e82b131fd40344cc6ba\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Sepolia\",\n      \"address\": \"0xf272670eb55e895584501d564AfEB048bEd26194\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000068\",\n          \"value\": \"0x00000000000000000000000000000000000a118b0000044d0000000017d78400\",\n          \"description\": \"Overrides gas limit to post-upgrade value (400,000,000) so rollback simulation succeeds\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006a\",\n          \"value\": \"0x0000000000000000000000940000000000000000000000000000000500000064\",\n          \"description\": \"Overrides EIP-1559 params and DA footprint gas scalar to post-upgrade values so rollback simulation succeeds\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"CB Coordinator Safe - Sepolia\",\n      \"address\": \"0x646132A1667ca7aD00d36616AFBA1A28116C770A\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000011\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000012\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Sepolia\",\n      \"address\": \"0xf272670eb55e895584501d564AfEB048bEd26194\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000068\",\n          \"before\": \"0x00000000000000000000000000000000000a118b0000044d0000000017d78400\",\n          \"after\": \"0x00000000000000000000000000000000000a118b0000044d00000000165a0bc0\",\n          \"description\": \"Reverts the gas limit from 400,000,000 back to 375,000,000\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006a\",\n          \"before\": \"0x0000000000000000000000940000000000000000000000000000000500000064\",\n          \"after\": \"0x00000000000000000000008b000000000000000000000000000000060000007d\",\n          \"description\": \"Updates EIP-1559 params (denominator, elasticity) and DA Footprint Gas Scalar for the chain\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": [],\n  \"taskOriginConfig\": {\n    \"taskCreator\": {\n      \"commonName\": \"leopold.joy@coinbase.com\"\n    }\n  }\n}\n"
  },
  {
    "path": "sepolia/2026-03-25-increase-gas-and-elasticity-limit/validations/base-signer.json",
    "content": "{\n  \"cmd\": \"OWNER_SAFE=0x646132A1667ca7aD00d36616AFBA1A28116C770A SYSTEM_CONFIG=0xf272670eb55e895584501d564AfEB048bEd26194 NEW_GAS_LIMIT=400000000 OLD_GAS_LIMIT=375000000 NEW_ELASTICITY=5 OLD_ELASTICITY=6 NEW_DENOMINATOR=100 OLD_DENOMINATOR=125 NEW_DA_FOOTPRINT_GAS_SCALAR=148 OLD_DA_FOOTPRINT_GAS_SCALAR=139 forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net IncreaseEip1559ElasticityAndIncreaseGasLimitScript --sig sign(address[]) [] --sender 0x6e427c3212C0b63BE0C382F97715D49b011bFF33\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x646132A1667ca7aD00d36616AFBA1A28116C770A\",\n    \"domainHash\": \"0x1d3f2566fd7b1bf017258b03d4d4d435d326d9cb051d5b7993d7c65e7ec78d0e\",\n    \"messageHash\": \"0x825aead69e642c0d761d0604375de5fb13a12dcbf854921320979c7eda4baa66\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"CB Coordinator Safe - Sepolia\",\n      \"address\": \"0x646132A1667ca7aD00d36616AFBA1A28116C770A\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xe62788ab79a1bc2a117c749a12ef06964cde977e13a67e963582311102a4f8b4\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"CB Coordinator Safe - Sepolia\",\n      \"address\": \"0x646132A1667ca7aD00d36616AFBA1A28116C770A\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000010\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000011\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config - Sepolia\",\n      \"address\": \"0xf272670eb55e895584501d564AfEB048bEd26194\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000068\",\n          \"before\": \"0x00000000000000000000000000000000000a118b0000044d00000000165a0bc0\",\n          \"after\": \"0x00000000000000000000000000000000000a118b0000044d0000000017d78400\",\n          \"description\": \"Updates the gas limit from 375,000,000 to 400,000,000\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006a\",\n          \"before\": \"0x00000000000000000000008b000000000000000000000000000000060000007d\",\n          \"after\": \"0x0000000000000000000000940000000000000000000000000000000500000064\",\n          \"description\": \"Updates EIP-1559 params (denominator, elasticity) and DA Footprint Gas Scalar for the chain\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": [],\n  \"taskOriginConfig\": {\n    \"taskCreator\": {\n      \"commonName\": \"leopold.joy@coinbase.com\"\n    }\n  }\n}\n"
  },
  {
    "path": "sepolia/2026-04-20-activate-multiproof/FACILITATOR.md",
    "content": "# Facilitator Guide\n\nGuide for facilitators managing this task.\n\n## Finalize task inputs\n\nBefore collecting signatures, confirm that the task parameters in `.env` match the intended Sepolia cutover values.\n\nRevalidate `STARTING_ANCHOR_*` against Sepolia before collecting signatures.\n\n## Deployment prerequisites\n\nBefore collecting signatures, complete all deploy steps:\n\n```bash\ncd contract-deployments\ngit pull\ncd sepolia/2026-04-20-activate-multiproof\nmake deps\nmake deploy-nitro-verifier\nmake deploy-multiproof\nmake setup-nitro\n```\n\nThere is no `make deploy-cb-multicall` step here because `CBMulticall` is already deployed on Sepolia.\n\n`make deps` also reapplies the local `AnchorStateRegistry` patch so the ASR reinitializer clears the old `anchorGame` pointer and the new `STARTING_ANCHOR_*` values actually take effect after cutover.\n\n`make deploy-nitro-verifier` deploys `NitroEnclaveVerifier` (with the deployer as temporary owner) and wires the RiscZero verify route. Initializes `addresses.json`.\n\n`make deploy-multiproof` deploys the remaining contracts (`TEEProverRegistry`, `DelayedWETH`, `TEEVerifier`, `AggregateVerifier`, etc.). The `TEEProverRegistry` and `DelayedWETH` proxies are initialized at deploy time and their admin is transferred to the L1 `ProxyAdmin`. Appends addresses to `addresses.json`.\n\n`make setup-nitro` configures the `NitroEnclaveVerifier`: sets the `proofSubmitter` to the `TEEProverRegistry` proxy and transfers ownership to `TEE_PROVER_REGISTRY_OWNER`. This step runs directly via the deployer Ledger (no multisig signatures required).\n\n## Generate validation files\n\n```bash\ncd contract-deployments\ngit pull\ncd sepolia/2026-04-20-activate-multiproof\nmake deps\nmake gen-validation-multiproof-cb\nmake gen-validation-multiproof-sc\n```\n\nThis produces:\n\n- `validations/multiproof-cb-signer.json`\n- `validations/multiproof-sc-signer.json`\n\n## Pre-sign check: `STARTING_ANCHOR_*` correctness\n\n`STARTING_ANCHOR_ROOT` and `STARTING_ANCHOR_L2_BLOCK_NUMBER` are chain-critical.\nBefore collecting signatures, verify both values against the target RPC endpoints.\n\n### 1. Validate that the anchor block number is expected\n\nConfirm `STARTING_ANCHOR_L2_BLOCK_NUMBER` matches the planned cutover value.\n\n```bash\nBLOCK=$STARTING_ANCHOR_L2_BLOCK_NUMBER\ncast block $BLOCK --rpc-url $L2_RPC_URL\n```\n\n### 2. Derive output root from that exact block\n\nUse `optimism_outputAtBlock` with the same block and compare to `STARTING_ANCHOR_ROOT` from `.env`.\n\n```bash\nBLOCK=$STARTING_ANCHOR_L2_BLOCK_NUMBER\nOUTPUT_ROOT=$(cast rpc optimism_outputAtBlock $(cast 2h $BLOCK) --rpc-url $OP_NODE_RPC_URL | jq -r '.outputRoot')\necho $OUTPUT_ROOT\necho $STARTING_ANCHOR_ROOT\n```\n\nExpected result:\n\n- `OUTPUT_ROOT == STARTING_ANCHOR_ROOT`\n\n### 3. RPC requirements\n\n- `L2_RPC_URL` should point to the target L2 execution RPC.\n- `OP_NODE_RPC_URL` must expose `optimism_outputAtBlock` (typically an OP node RPC).\n- Depending on block age and provider retention, an archive-capable RPC may be required.\n\n## Execute the transaction\n\n### 1. Update repo\n\n```bash\ncd contract-deployments\ngit pull\ncd sepolia/2026-04-20-activate-multiproof\nmake deps\n```\n\n### 2. Collect signatures for `CB_MULTISIG`\n\nConcatenate all signatures and export as the `SIGNATURES` environment variable:\n\n```bash\nexport SIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"\n```\n\nThen run:\n\n```bash\nSIGNATURES=$SIGNATURES make approve-multiproof-cb\n```\n\n### 3. Collect signatures for `BASE_SECURITY_COUNCIL`\n\nConcatenate all signatures and export as the `SIGNATURES` environment variable:\n\n```bash\nexport SIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"\n```\n\nThen run:\n\n```bash\nSIGNATURES=$SIGNATURES make approve-multiproof-sc\n```\n\n### 4. Execute the multiproof activation batch\n\n```bash\nmake execute-activate-multiproof\n```\n"
  },
  {
    "path": "sepolia/2026-04-20-activate-multiproof/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\ninclude ../.env\ninclude .env\n\nSIGNER_TOOL_PATH = ../../signer-tool\nRPC_URL = $(L1_RPC_URL)\nDEPLOYER = $(shell cast wallet address --ledger --mnemonic-derivation-path $(LEDGER_HD_PATH))\nACTIVATE_MULTIPROOF_SCRIPT_NAME = script/ActivateMultiproofStack.s.sol:ActivateMultiproofStack\nMULTIPROOF_CB_SENDER = $(shell cast call $(CB_MULTISIG) \"getOwners()(address[])\" --rpc-url $(L1_RPC_URL) | tr -d '[]' | cut -d',' -f1)\nMULTIPROOF_SC_SENDER = $(shell cast call $(BASE_SECURITY_COUNCIL) \"getOwners()(address[])\" --rpc-url $(L1_RPC_URL) | tr -d '[]' | cut -d',' -f1)\n\n.PHONY: apply-patches\n# Reset ASR anchorGame during reinitialize so STARTING_ANCHOR_* takes effect after cutover.\napply-patches:\n\tcd lib/contracts && patch -p1 < ../../patch/asr-reset-anchor-game.patch\n\n.PHONY: deps\ndeps: task-extra-deps apply-patches\n\n.PHONY: task-extra-deps\ntask-extra-deps:\n\tforge install --no-git github.com/base/op-enclave@a2d5398f04c3a8e4df929d58ee638ba4a037bfec\n\tforge install --no-git github.com/risc0/risc0-ethereum@a78ac4a52fe9cfa14120c3b496430f0d42e1d8d3\n\tforge install --no-git github.com/succinctlabs/sp1-contracts@22c4a47cd0a388cb4e25b4f2513954e4275c74ca\n\tgit clone --no-checkout https://github.com/OpenZeppelin/openzeppelin-contracts.git lib/openzeppelin-contracts-v5 && \\\n\t\tcd lib/openzeppelin-contracts-v5 && git checkout dbb6104ce834628e473d2173bbc9d47f81a9eec3\n\tgit clone --no-checkout https://github.com/Vectorized/solady.git lib/solady-v0.0.245 && \\\n\t\tcd lib/solady-v0.0.245 && git checkout e0ef35adb0ccd1032794731a995cb599bba7b537\n\n##\n# Deployment\n##\n# CBMulticall is already deployed on Sepolia, so this task starts at Nitro deployment.\n.PHONY: deploy-nitro-verifier\ndeploy-nitro-verifier:\nifndef VERIFIER_API_KEY\n\t$(error VERIFIER_API_KEY is not set)\nendif\n\tforge script --rpc-url $(L1_RPC_URL) script/DeployNitroVerifier.s.sol:DeployNitroVerifier \\\n\t\t--ledger --hd-paths $(LEDGER_HD_PATH) --broadcast --verify \\\n\t\t--verifier custom \\\n\t\t--verifier-url \"https://api.etherscan.io/v2/api?chainid=$(L1_CHAIN_ID)\" \\\n\t\t--verifier-api-key $(VERIFIER_API_KEY) \\\n\t\t-vvvv --sender $(DEPLOYER)\n\n.PHONY: deploy-multiproof\ndeploy-multiproof:\nifndef VERIFIER_API_KEY\n\t$(error VERIFIER_API_KEY is not set)\nendif\n\tforge script --rpc-url $(L1_RPC_URL) script/DeployMultiproofStack.s.sol:DeployMultiproofStack \\\n\t\t--ledger --hd-paths $(LEDGER_HD_PATH) --broadcast --verify \\\n\t\t--verifier custom \\\n\t\t--verifier-url \"https://api.etherscan.io/v2/api?chainid=$(L1_CHAIN_ID)\" \\\n\t\t--verifier-api-key $(VERIFIER_API_KEY) \\\n\t\t-vvvv --sender $(DEPLOYER)\n\n.PHONY: setup-nitro\nsetup-nitro:\n\tforge script --rpc-url $(L1_RPC_URL) script/SetupNitroEnclaveVerifier.s.sol:SetupNitroEnclaveVerifier \\\n\t\t--ledger --hd-paths $(LEDGER_HD_PATH) --broadcast -vvvv --sender $(DEPLOYER)\n\n##\n# Activate Multiproof\n##\n\n.PHONY: gen-validation-multiproof-cb\ngen-validation-multiproof-cb: deps-signer-tool\n\t$(call GEN_VALIDATION,$(ACTIVATE_MULTIPROOF_SCRIPT_NAME),$(CB_MULTISIG),$(MULTIPROOF_CB_SENDER),multiproof-cb-signer.json,)\n\n.PHONY: gen-validation-multiproof-sc\ngen-validation-multiproof-sc: deps-signer-tool\n\t$(call GEN_VALIDATION,$(ACTIVATE_MULTIPROOF_SCRIPT_NAME),$(BASE_SECURITY_COUNCIL),$(MULTIPROOF_SC_SENDER),multiproof-sc-signer.json,)\n\n.PHONY: approve-multiproof-cb\napprove-multiproof-cb: SCRIPT_NAME := $(ACTIVATE_MULTIPROOF_SCRIPT_NAME)\napprove-multiproof-cb:\n\t$(call MULTISIG_APPROVE,$(CB_MULTISIG),$(SIGNATURES))\n\n.PHONY: approve-multiproof-sc\napprove-multiproof-sc: SCRIPT_NAME := $(ACTIVATE_MULTIPROOF_SCRIPT_NAME)\napprove-multiproof-sc:\n\t$(call MULTISIG_APPROVE,$(BASE_SECURITY_COUNCIL),$(SIGNATURES))\n\n.PHONY: execute-activate-multiproof\nexecute-activate-multiproof: SCRIPT_NAME := $(ACTIVATE_MULTIPROOF_SCRIPT_NAME)\nexecute-activate-multiproof:\n\t$(call MULTISIG_EXECUTE,0x)\n"
  },
  {
    "path": "sepolia/2026-04-20-activate-multiproof/README.md",
    "content": "# Activate Multiproof\n\nStatus: [EXECUTED](https://sepolia.etherscan.io/tx/0xb20fcd230ee76842637a508382886aa7596f36dd6fc8f47d147aeab213fbd55d)\n\n## Description\n\nThis task deploys and activates multiproof on `sepolia`.\n\nIt follows the same fresh-deploy + multisig activation flow as the Zeronet task, but deploys directly from the newer `BASE_CONTRACTS_COMMIT` so we do not need a separate follow-up upgrade task for the Nitro/TEE changes.\n\n`CBMulticall` is already deployed on Sepolia, so this task starts directly at the Nitro deployment step.\n\nBefore collecting signatures, verify that the task parameters in `.env` match the intended Sepolia cutover values.\n\n## Procedure\n\n## Sign Task\n\n### 1. Update repo\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n### 2. Run the signing tool\n\n```bash\ncd contract-deployments\nmake sign-task\n```\n\n### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\n- Select the correct signer role from the list of available users to sign.\n- After completion, close the signer tool with `Ctrl + C`.\n\n### 4. Send signature to facilitator\n\nCopy the signature output and send it to the designated facilitator via the agreed communication channel.\n\nFor facilitator instructions, see `FACILITATOR.md`.\n"
  },
  {
    "path": "sepolia/2026-04-20-activate-multiproof/addresses.json",
    "content": "{\n  \"nitroEnclaveVerifier\": \"0x7D8EA07DB94128DBEe66bAfa3eBAa9668B413d72\",\n  \"teeProverRegistryImpl\": \"0xF9Ab55c35cE7Fb183A50E611B63558499130D849\",\n  \"teeProverRegistryProxy\": \"0xf0d7E15673fBA052e83d7f2b26BB6071E86b972e\",\n  \"teeVerifier\": \"0x92F6dD3501E51B8b20C77b959becaaebeB210e17\",\n  \"delayedWETHImpl\": \"0xbbFDB04121B74D8ae7F53fD5238DDEf133AB977a\",\n  \"delayedWETHProxy\": \"0xD6e2d9D4f1f8865AC983eE848983fb1979429914\",\n  \"aggregateVerifier\": \"0x498313fB340CD5055c5568546364008299A47517\",\n  \"optimismPortal2Impl\": \"0x45fA7cFfa725e238a46a35fdE9F339b63fDEDBdD\",\n  \"disputeGameFactoryImpl\": \"0xE7f2E3C6286375C102e482c0Aa2385D8bAAcac26\",\n  \"anchorStateRegistryImpl\": \"0xb1CC9F8422042eDA9EB36A408002517d7c772Ac7\"\n}\n"
  },
  {
    "path": "sepolia/2026-04-20-activate-multiproof/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 200\nauto_detect_solc = true\nevm_version = \"prague\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/contracts/',\n    'solady/=lib/solady/src/',\n    '@solady/=lib/solady/src/',\n    '@solady-v0.0.245/=lib/solady-v0.0.245/src/',\n    '@lib-keccak/=lib/lib-keccak/contracts/lib',\n    'forge-std/=lib/forge-std/src/',\n    'interfaces/dispute/=lib/contracts/interfaces/dispute/',\n    'interfaces/cannon/=lib/contracts/interfaces/cannon/',\n    'interfaces/multiproof/=lib/contracts/interfaces/multiproof/',\n    'interfaces/universal/=lib/contracts/interfaces/universal/',\n    'interfaces/L1/=lib/contracts/interfaces/L1/',\n    'interfaces/legacy/=lib/contracts/interfaces/legacy/',\n    'src/dispute/=lib/contracts/src/dispute/',\n    'src/multiproof/=lib/contracts/src/multiproof/',\n    'src/universal/=lib/contracts/src/universal/',\n    'src/L1/=lib/contracts/src/L1/',\n    'src/cannon/=lib/contracts/src/cannon/',\n    'src/vendor/=lib/contracts/src/vendor/',\n    'src/libraries/=lib/contracts/src/libraries/',\n    'lib/op-enclave/=lib/op-enclave/',\n    'openzeppelin/=lib/risc0-ethereum/lib/openzeppelin-contracts/',\n]\n"
  },
  {
    "path": "sepolia/2026-04-20-activate-multiproof/patch/asr-reset-anchor-game.patch",
    "content": "diff --git a/src/dispute/AnchorStateRegistry.sol b/src/dispute/AnchorStateRegistry.sol\n--- a/src/dispute/AnchorStateRegistry.sol\n+++ b/src/dispute/AnchorStateRegistry.sol\n@@ -101,6 +101,7 @@\n         // Now perform initialization logic.\n         systemConfig = _systemConfig;\n         disputeGameFactory = _disputeGameFactory;\n         startingAnchorRoot = _startingAnchorRoot;\n+        anchorGame = IFaultDisputeGame(address(0));\n         respectedGameType = _startingRespectedGameType;\n \n         // Set the retirement timestamp to the current timestamp the first time the contract is\n"
  },
  {
    "path": "sepolia/2026-04-20-activate-multiproof/records/ActivateMultiproofStack.s.sol/11155111/approve-latest.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x03915686bb086daaab6fea2ed33bdb60437ca4b205ae9b56b3d2d127d0130743\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n        \"0\",\n        \"0xd4d9bdcd4af7bfa42e8369f646d9b31153d0a7d570f7624eaf9cd0559cb8da05640240e7\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xcad8b4e23232ddc10aff151194be711bb820660846c3e0593db8fd4e8a2198a92b6753b7188886bba54593bb3a0c4d825e03b848d78bb1c228b8d0567238855b1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n        \"gas\": \"0x1e300\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd4af7bfa42e8369f646d9b31153d0a7d570f7624eaf9cd0559cb8da05640240e7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041cad8b4e23232ddc10aff151194be711bb820660846c3e0593db8fd4e8a2198a92b6753b7188886bba54593bb3a0c4d825e03b848d78bb1c228b8d0567238855b1b00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x52\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x14e939f\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x4af7bfa42e8369f646d9b31153d0a7d570f7624eaf9cd0559cb8da05640240e7\",\n            \"0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x55c65c5040caec3138f3a51f46ac00e0e1b6b7527316106759472e48e57f68cd\",\n          \"blockNumber\": \"0xa2e392\",\n          \"blockTimestamp\": \"0x69e19a14\",\n          \"transactionHash\": \"0x03915686bb086daaab6fea2ed33bdb60437ca4b205ae9b56b3d2d127d0130743\",\n          \"transactionIndex\": \"0x87\",\n          \"logIndex\": \"0x2ad\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x022112f8cae2a49007a15424d5cf8ef0900ff258a258d028f4f80cde07e574120000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x55c65c5040caec3138f3a51f46ac00e0e1b6b7527316106759472e48e57f68cd\",\n          \"blockNumber\": \"0xa2e392\",\n          \"blockTimestamp\": \"0x69e19a14\",\n          \"transactionHash\": \"0x03915686bb086daaab6fea2ed33bdb60437ca4b205ae9b56b3d2d127d0130743\",\n          \"transactionIndex\": \"0x87\",\n          \"logIndex\": \"0x2ae\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001000400000000000000000000400000000000000000000000000000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000014020000000000000000000000100000000008000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x03915686bb086daaab6fea2ed33bdb60437ca4b205ae9b56b3d2d127d0130743\",\n      \"transactionIndex\": \"0x87\",\n      \"blockHash\": \"0x55c65c5040caec3138f3a51f46ac00e0e1b6b7527316106759472e48e57f68cd\",\n      \"blockNumber\": \"0xa2e392\",\n      \"gasUsed\": \"0x14a42\",\n      \"effectiveGasPrice\": \"0x1839636c\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1776392724858,\n  \"chain\": 11155111,\n  \"commit\": \"26fb247\"\n}"
  },
  {
    "path": "sepolia/2026-04-20-activate-multiproof/records/ActivateMultiproofStack.s.sol/11155111/run-1776392629127.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x3554dab53481f585042627020a823e69c28157f332f89b79efddb5797a68eb3f\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n        \"0\",\n        \"0xd4d9bdcd4af7bfa42e8369f646d9b31153d0a7d570f7624eaf9cd0559cb8da05640240e7\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x04e6ab53ae8a26c2e1816d6560eeb0cbf5c613c2fe08cb86fadb87c3dc6a0abd67ca5cacd853a040ce591577559b8e301bbbb96808aa7e53324a6928bbce65791bebb54fc0c7eed5683904fc693a764987afb1f0879b5850491d727e9821d9fbc0265c6b66f8ce122e26150938ce169c0583d7ddb693d7a56a9967f09f69fd47f21bcae20b329ae99722c1d3a8390ebb41601f6ce08f7e7bd8fa32a1f632250d8d1060124af18976e541db8bd671ce002eff7f5fb84318a472cdc1ee86c23f721b661b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n        \"gas\": \"0x23227\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd4af7bfa42e8369f646d9b31153d0a7d570f7624eaf9cd0559cb8da05640240e70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c304e6ab53ae8a26c2e1816d6560eeb0cbf5c613c2fe08cb86fadb87c3dc6a0abd67ca5cacd853a040ce591577559b8e301bbbb96808aa7e53324a6928bbce65791bebb54fc0c7eed5683904fc693a764987afb1f0879b5850491d727e9821d9fbc0265c6b66f8ce122e26150938ce169c0583d7ddb693d7a56a9967f09f69fd47f21bcae20b329ae99722c1d3a8390ebb41601f6ce08f7e7bd8fa32a1f632250d8d1060124af18976e541db8bd671ce002eff7f5fb84318a472cdc1ee86c23f721b661b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x51\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x148cab2\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x4af7bfa42e8369f646d9b31153d0a7d570f7624eaf9cd0559cb8da05640240e7\",\n            \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xfce2770a590854ba986e3a71e9ea0f848e954ecb121c05d1b7e46ec6fd4d3c6d\",\n          \"blockNumber\": \"0xa2e38c\",\n          \"blockTimestamp\": \"0x69e199b4\",\n          \"transactionHash\": \"0x3554dab53481f585042627020a823e69c28157f332f89b79efddb5797a68eb3f\",\n          \"transactionIndex\": \"0x56\",\n          \"logIndex\": \"0x15f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xb95d59bae185cd0925b49f3da3ce49840ec637f73940f748fa9ba4d29332c1100000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xfce2770a590854ba986e3a71e9ea0f848e954ecb121c05d1b7e46ec6fd4d3c6d\",\n          \"blockNumber\": \"0xa2e38c\",\n          \"blockTimestamp\": \"0x69e199b4\",\n          \"transactionHash\": \"0x3554dab53481f585042627020a823e69c28157f332f89b79efddb5797a68eb3f\",\n          \"transactionIndex\": \"0x56\",\n          \"logIndex\": \"0x160\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001000000000000000000000000400000000000000000000000010000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000001004000020000000000000000000006000000000000000000200000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x3554dab53481f585042627020a823e69c28157f332f89b79efddb5797a68eb3f\",\n      \"transactionIndex\": \"0x56\",\n      \"blockHash\": \"0xfce2770a590854ba986e3a71e9ea0f848e954ecb121c05d1b7e46ec6fd4d3c6d\",\n      \"blockNumber\": \"0xa2e38c\",\n      \"gasUsed\": \"0x18061\",\n      \"effectiveGasPrice\": \"0x16657873\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1776392629127,\n  \"chain\": 11155111,\n  \"commit\": \"26fb247\"\n}"
  },
  {
    "path": "sepolia/2026-04-20-activate-multiproof/records/ActivateMultiproofStack.s.sol/11155111/run-1776392724858.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x03915686bb086daaab6fea2ed33bdb60437ca4b205ae9b56b3d2d127d0130743\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n        \"0\",\n        \"0xd4d9bdcd4af7bfa42e8369f646d9b31153d0a7d570f7624eaf9cd0559cb8da05640240e7\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xcad8b4e23232ddc10aff151194be711bb820660846c3e0593db8fd4e8a2198a92b6753b7188886bba54593bb3a0c4d825e03b848d78bb1c228b8d0567238855b1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n        \"gas\": \"0x1e300\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd4af7bfa42e8369f646d9b31153d0a7d570f7624eaf9cd0559cb8da05640240e7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041cad8b4e23232ddc10aff151194be711bb820660846c3e0593db8fd4e8a2198a92b6753b7188886bba54593bb3a0c4d825e03b848d78bb1c228b8d0567238855b1b00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x52\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x14e939f\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x4af7bfa42e8369f646d9b31153d0a7d570f7624eaf9cd0559cb8da05640240e7\",\n            \"0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x55c65c5040caec3138f3a51f46ac00e0e1b6b7527316106759472e48e57f68cd\",\n          \"blockNumber\": \"0xa2e392\",\n          \"blockTimestamp\": \"0x69e19a14\",\n          \"transactionHash\": \"0x03915686bb086daaab6fea2ed33bdb60437ca4b205ae9b56b3d2d127d0130743\",\n          \"transactionIndex\": \"0x87\",\n          \"logIndex\": \"0x2ad\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x022112f8cae2a49007a15424d5cf8ef0900ff258a258d028f4f80cde07e574120000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x55c65c5040caec3138f3a51f46ac00e0e1b6b7527316106759472e48e57f68cd\",\n          \"blockNumber\": \"0xa2e392\",\n          \"blockTimestamp\": \"0x69e19a14\",\n          \"transactionHash\": \"0x03915686bb086daaab6fea2ed33bdb60437ca4b205ae9b56b3d2d127d0130743\",\n          \"transactionIndex\": \"0x87\",\n          \"logIndex\": \"0x2ae\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001000400000000000000000000400000000000000000000000000000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000014020000000000000000000000100000000008000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x03915686bb086daaab6fea2ed33bdb60437ca4b205ae9b56b3d2d127d0130743\",\n      \"transactionIndex\": \"0x87\",\n      \"blockHash\": \"0x55c65c5040caec3138f3a51f46ac00e0e1b6b7527316106759472e48e57f68cd\",\n      \"blockNumber\": \"0xa2e392\",\n      \"gasUsed\": \"0x14a42\",\n      \"effectiveGasPrice\": \"0x1839636c\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1776392724858,\n  \"chain\": 11155111,\n  \"commit\": \"26fb247\"\n}"
  },
  {
    "path": "sepolia/2026-04-20-activate-multiproof/records/ActivateMultiproofStack.s.sol/11155111/run-1776392808986.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xb20fcd230ee76842637a508382886aa7596f36dd6fc8f47d147aeab213fbd55d\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303\",\n        \"0\",\n        \"0x858cc8320000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000008a0000000000000000000000000000000000000000000000000000000000000092000000000000000000000000000000000000000000000000000000000000009a00000000000000000000000000000000000000000000000000000000000000a200000000000000000000000000000000000000000000000000000000000000aa0000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c580130300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000074482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000460000000000000000000000000000000000000000000000000000000000000058000000000000000000000000000000000000000000000000000000000000006600000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec400000000000000000000000049f53e41452c74589e85ca1677426ba426459e8500000000000000000000000045fa7cffa725e238a46a35fde9f339b63fdedbdd000000000000000000000000000000000000000000000000000000000000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1000000000000000000000000e7f2e3c6286375c102e482c0aa2385d8baacac26000000000000000000000000000000000000000000000000000000000000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001449623609d0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355000000000000000000000000b1cc9f8422042eda9eb36a408002517d7c772ac7000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a447a222c5000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e16c452877ba18e43fecb2a10b5ce458c2da3097f2262f23361659979395208c770000000000000000000000000000000000000000000000000000000002670bcf000000000000000000000000000000000000000000000000000000000000026d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000084b1070957000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000498313fb340cd5055c5568546364008299a475170000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441e334240000000000000000000000000000000000000000000000000000000000000026d00000000000000000000000000000000000000000000000000b1a2bc2ec50000000000000000000000000000000000000000000000000000000000000000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000004d5a3e12e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n        \"gas\": \"0x6120d\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c5801303000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000b64858cc8320000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000008a0000000000000000000000000000000000000000000000000000000000000092000000000000000000000000000000000000000000000000000000000000009a00000000000000000000000000000000000000000000000000000000000000a200000000000000000000000000000000000000000000000000000000000000aa0000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c580130300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000074482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000460000000000000000000000000000000000000000000000000000000000000058000000000000000000000000000000000000000000000000000000000000006600000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec400000000000000000000000049f53e41452c74589e85ca1677426ba426459e8500000000000000000000000045fa7cffa725e238a46a35fde9f339b63fdedbdd000000000000000000000000000000000000000000000000000000000000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1000000000000000000000000e7f2e3c6286375c102e482c0aa2385d8baacac26000000000000000000000000000000000000000000000000000000000000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001449623609d0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355000000000000000000000000b1cc9f8422042eda9eb36a408002517d7c772ac7000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a447a222c5000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e16c452877ba18e43fecb2a10b5ce458c2da3097f2262f23361659979395208c770000000000000000000000000000000000000000000000000000000002670bcf000000000000000000000000000000000000000000000000000000000000026d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000084b1070957000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000498313fb340cd5055c5568546364008299a475170000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441e334240000000000000000000000000000000000000000000000000000000000000026d00000000000000000000000000000000000000000000000000b1a2bc2ec50000000000000000000000000000000000000000000000000000000000000000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000004d5a3e12e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x53\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x240ebd6\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c5801303000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000000dc00000000000000000000000000000000000000000000000000000000000000b64858cc8320000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000008a0000000000000000000000000000000000000000000000000000000000000092000000000000000000000000000000000000000000000000000000000000009a00000000000000000000000000000000000000000000000000000000000000a200000000000000000000000000000000000000000000000000000000000000aa0000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c580130300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000074482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000460000000000000000000000000000000000000000000000000000000000000058000000000000000000000000000000000000000000000000000000000000006600000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec400000000000000000000000049f53e41452c74589e85ca1677426ba426459e8500000000000000000000000045fa7cffa725e238a46a35fde9f339b63fdedbdd000000000000000000000000000000000000000000000000000000000000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1000000000000000000000000e7f2e3c6286375c102e482c0aa2385d8baacac26000000000000000000000000000000000000000000000000000000000000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001449623609d0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355000000000000000000000000b1cc9f8422042eda9eb36a408002517d7c772ac7000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a447a222c5000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e16c452877ba18e43fecb2a10b5ce458c2da3097f2262f23361659979395208c770000000000000000000000000000000000000000000000000000000002670bcf000000000000000000000000000000000000000000000000000000000000026d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000084b1070957000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000498313fb340cd5055c5568546364008299a475170000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441e334240000000000000000000000000000000000000000000000000000000000000026d00000000000000000000000000000000000000000000000000b1a2bc2ec50000000000000000000000000000000000000000000000000000000000000000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000004d5a3e12e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000200000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe072520000000000000000000000000000000000000000000000000000000000000002\",\n          \"blockHash\": \"0x003f5376dd38bb6c971e8b31a2eeed9e9c9b6fce93076d751818cced8c97fe6f\",\n          \"blockNumber\": \"0xa2e399\",\n          \"blockTimestamp\": \"0x69e19a68\",\n          \"transactionHash\": \"0xb20fcd230ee76842637a508382886aa7596f36dd6fc8f47d147aeab213fbd55d\",\n          \"transactionIndex\": \"0x91\",\n          \"logIndex\": \"0x5e5\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x49f53e41452c74589e85ca1677426ba426459e85\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x00000000000000000000000045fa7cffa725e238a46a35fde9f339b63fdedbdd\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x003f5376dd38bb6c971e8b31a2eeed9e9c9b6fce93076d751818cced8c97fe6f\",\n          \"blockNumber\": \"0xa2e399\",\n          \"blockTimestamp\": \"0x69e19a68\",\n          \"transactionHash\": \"0xb20fcd230ee76842637a508382886aa7596f36dd6fc8f47d147aeab213fbd55d\",\n          \"transactionIndex\": \"0x91\",\n          \"logIndex\": \"0x5e6\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x000000000000000000000000e7f2e3c6286375c102e482c0aa2385d8baacac26\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x003f5376dd38bb6c971e8b31a2eeed9e9c9b6fce93076d751818cced8c97fe6f\",\n          \"blockNumber\": \"0xa2e399\",\n          \"blockTimestamp\": \"0x69e19a68\",\n          \"transactionHash\": \"0xb20fcd230ee76842637a508382886aa7596f36dd6fc8f47d147aeab213fbd55d\",\n          \"transactionIndex\": \"0x91\",\n          \"logIndex\": \"0x5e7\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x2ff5cc82dbf333ea30d8ee462178ab1707315355\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x000000000000000000000000b1cc9f8422042eda9eb36a408002517d7c772ac7\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x003f5376dd38bb6c971e8b31a2eeed9e9c9b6fce93076d751818cced8c97fe6f\",\n          \"blockNumber\": \"0xa2e399\",\n          \"blockTimestamp\": \"0x69e19a68\",\n          \"transactionHash\": \"0xb20fcd230ee76842637a508382886aa7596f36dd6fc8f47d147aeab213fbd55d\",\n          \"transactionIndex\": \"0x91\",\n          \"logIndex\": \"0x5e8\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x2ff5cc82dbf333ea30d8ee462178ab1707315355\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000002\",\n          \"blockHash\": \"0x003f5376dd38bb6c971e8b31a2eeed9e9c9b6fce93076d751818cced8c97fe6f\",\n          \"blockNumber\": \"0xa2e399\",\n          \"blockTimestamp\": \"0x69e19a68\",\n          \"transactionHash\": \"0xb20fcd230ee76842637a508382886aa7596f36dd6fc8f47d147aeab213fbd55d\",\n          \"transactionIndex\": \"0x91\",\n          \"logIndex\": \"0x5e9\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n          \"topics\": [\n            \"0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de\",\n            \"0x000000000000000000000000498313fb340cd5055c5568546364008299a47517\",\n            \"0x000000000000000000000000000000000000000000000000000000000000026d\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x003f5376dd38bb6c971e8b31a2eeed9e9c9b6fce93076d751818cced8c97fe6f\",\n          \"blockNumber\": \"0xa2e399\",\n          \"blockTimestamp\": \"0x69e19a68\",\n          \"transactionHash\": \"0xb20fcd230ee76842637a508382886aa7596f36dd6fc8f47d147aeab213fbd55d\",\n          \"transactionIndex\": \"0x91\",\n          \"logIndex\": \"0x5ea\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n          \"topics\": [\n            \"0xa47fcdf075d680d3817bfca7973b373e1a5f6cfc3b444748299cc2b83d8348f9\",\n            \"0x000000000000000000000000000000000000000000000000000000000000026d\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x003f5376dd38bb6c971e8b31a2eeed9e9c9b6fce93076d751818cced8c97fe6f\",\n          \"blockNumber\": \"0xa2e399\",\n          \"blockTimestamp\": \"0x69e19a68\",\n          \"transactionHash\": \"0xb20fcd230ee76842637a508382886aa7596f36dd6fc8f47d147aeab213fbd55d\",\n          \"transactionIndex\": \"0x91\",\n          \"logIndex\": \"0x5eb\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n          \"topics\": [\n            \"0x74d6665c4b26d5596a5aa13d3014e0c06af4d322075a797f87b03cd4c5bc91ca\",\n            \"0x000000000000000000000000000000000000000000000000000000000000026d\",\n            \"0x00000000000000000000000000000000000000000000000000b1a2bc2ec50000\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x003f5376dd38bb6c971e8b31a2eeed9e9c9b6fce93076d751818cced8c97fe6f\",\n          \"blockNumber\": \"0xa2e399\",\n          \"blockTimestamp\": \"0x69e19a68\",\n          \"transactionHash\": \"0xb20fcd230ee76842637a508382886aa7596f36dd6fc8f47d147aeab213fbd55d\",\n          \"transactionIndex\": \"0x91\",\n          \"logIndex\": \"0x5ec\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x2ff5cc82dbf333ea30d8ee462178ab1707315355\",\n          \"topics\": [\n            \"0x6e5b1ba771e8e484f741ed085f039ff4e5c6e882eaf68f550fb390922d0ae4a7\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000069e19a68\",\n          \"blockHash\": \"0x003f5376dd38bb6c971e8b31a2eeed9e9c9b6fce93076d751818cced8c97fe6f\",\n          \"blockNumber\": \"0xa2e399\",\n          \"blockTimestamp\": \"0x69e19a68\",\n          \"transactionHash\": \"0xb20fcd230ee76842637a508382886aa7596f36dd6fc8f47d147aeab213fbd55d\",\n          \"transactionIndex\": \"0x91\",\n          \"logIndex\": \"0x5ed\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x4af7bfa42e8369f646d9b31153d0a7d570f7624eaf9cd0559cb8da05640240e70000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x003f5376dd38bb6c971e8b31a2eeed9e9c9b6fce93076d751818cced8c97fe6f\",\n          \"blockNumber\": \"0xa2e399\",\n          \"blockTimestamp\": \"0x69e19a68\",\n          \"transactionHash\": \"0xb20fcd230ee76842637a508382886aa7596f36dd6fc8f47d147aeab213fbd55d\",\n          \"transactionIndex\": \"0x91\",\n          \"logIndex\": \"0x5ee\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000040000000000040400000000000000000000080044000000000000200000000000000001000000000000000000008000000800000008000200001000400000000000000004002005000040000000000004000000000000002000100000000000000000000000000000000000020000002000000000048000000200000400800000000000000000000000000000080000000000000000000100000000400108000002000000404000000000000000000000002000000000020000020000000080000002000060000000000000200000200008000000400000000000000400800000000000000000000400000000000000000000000000100\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xb20fcd230ee76842637a508382886aa7596f36dd6fc8f47d147aeab213fbd55d\",\n      \"transactionIndex\": \"0x91\",\n      \"blockHash\": \"0x003f5376dd38bb6c971e8b31a2eeed9e9c9b6fce93076d751818cced8c97fe6f\",\n      \"blockNumber\": \"0xa2e399\",\n      \"gasUsed\": \"0x4651c\",\n      \"effectiveGasPrice\": \"0x17c764ea\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1776392808986,\n  \"chain\": 11155111,\n  \"commit\": \"26fb247\"\n}"
  },
  {
    "path": "sepolia/2026-04-20-activate-multiproof/records/DeployMultiproofStack.s.sol/11155111/run-1776362103158.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xa3737c137cf4e8f6cb88d195c23117327ee2a72c3b4868af84eb576a89916b8c\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"TEEProverRegistry\",\n      \"contractAddress\": \"0xaf2c60c00ff938a50b36d23f3a8b89478c55ab44\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x8E385C5136a530DD359F424db43Bf672dD191eC9\",\n        \"0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"gas\": \"0x2194d2\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c06040523480156200001157600080fd5b5060405162002349380380620023498339810160408190526200003491620006a1565b6001600160a01b0381166200005c57604051635af9c0d760e11b815260040160405180910390fd5b6001600160a01b03828116608052811660a05260408051600080825260208201909252620000909161dead91829162000098565b50506200071e565b600054610100900460ff1615808015620000b95750600054600160ff909116105b80620000e95750620000d6306200031160201b62000aa71760201c565b158015620000e9575060005460ff166001145b620001525760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801562000176576000805461ff0019166101001790555b6200018062000320565b6200018b8562000388565b62000196846200040e565b6065805463ffffffff191663ffffffff841617905560005b8351811015620002c25760006001600160a01b0316848281518110620001d857620001d8620006e0565b60200260200101516001600160a01b031614620002ad576001606860008684815181106200020a576200020a620006e0565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055508381815181106200025e576200025e620006e0565b60200260200101516001600160a01b03167ffc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d26001604051620002a4911515815260200190565b60405180910390a25b80620002b981620006f6565b915050620001ae565b5080156200030a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b6001600160a01b03163b151590565b600054610100900460ff166200037c5760405162461bcd60e51b815260206004820152602b60248201526000805160206200232983398151915260448201526a6e697469616c697a696e6760a81b606482015260840162000149565b6200038662000493565b565b6200039262000505565b6001600160a01b038116620004005760405162461bcd60e51b815260206004820152602d60248201527f4f776e61626c654d616e616765643a206e6577206f776e65722069732074686560448201526c207a65726f206164647265737360981b606482015260840162000149565b6200040b8162000560565b50565b62000418620005b2565b6001600160a01b038116620004885760405162461bcd60e51b815260206004820152602f60248201527f4f776e61626c654d616e616765643a206e6577206d616e61676572206973207460448201526e6865207a65726f206164647265737360881b606482015260840162000149565b6200040b8162000639565b600054610100900460ff16620004ef5760405162461bcd60e51b815260206004820152602b60248201526000805160206200232983398151915260448201526a6e697469616c697a696e6760a81b606482015260840162000149565b620004fa3362000560565b620003863362000639565b6033546001600160a01b03163314620003865760405162461bcd60e51b8152602060048201526027602482015260008051602062002309833981519152604482015266329037bbb732b960c91b606482015260840162000149565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6033546001600160a01b0316331480620005d657506034546001600160a01b031633145b620003865760405162461bcd60e51b815260206004820152603660248201526000805160206200230983398151915260448201527f65206f776e6572206f7220746865206d616e6167657200000000000000000000606482015260840162000149565b603480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c8590600090a35050565b6001600160a01b03811681146200040b57600080fd5b60008060408385031215620006b557600080fd5b8251620006c2816200068b565b6020840151909250620006d5816200068b565b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b6000600182016200071757634e487b7160e01b600052601160045260246000fd5b5060010190565b60805160a051611bb762000752600039600081816101ff0152610d9e0152600081816102ac01526107340152611bb76000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806394a277d1116100b8578063d25600561161007c578063d2560056146102ce578063d5f5058214610301578063e4edf85214610314578063e8533e2914610327578063e9ed9b641461034a578063f2fde38b1461035d57600080fd5b806394a277d11461025257806394b2822f1461025a578063ba58e82a1461026f578063bbdc02db14610282578063c80d23f6146102a757600080fd5b806354fd4d501161010a57806354fd4d50146101b85780636666efdb146101df578063715018a6146101f257806382ff53a1146101fa57806386b4ebd3146102215780638da5cb5b1461024157600080fd5b8063089208d8146101475780630ba24fe0146101515780630dcaeaf2146101645780632712e20d14610180578063481c6a7514610193575b600080fd5b61014f610370565b005b61014f61015f366004611285565b610384565b61016d610e1081565b6040519081526020015b60405180910390f35b61014f61018e36600461137a565b6103fa565b6034546001600160a01b03165b6040516001600160a01b039091168152602001610177565b60408051808201825260058152640302e352e360dc1b602082015290516101779190611481565b61014f6101ed3660046114b4565b610644565b61014f6106e5565b6101a07f000000000000000000000000000000000000000000000000000000000000000081565b61016d61022f366004611285565b60676020526000908152604090205481565b6033546001600160a01b03166101a0565b61016d6106f7565b610262610706565b60405161017791906114cf565b61014f61027d366004611565565b610712565b6065546102929063ffffffff1681565b60405163ffffffff9091168152602001610177565b6101a07f000000000000000000000000000000000000000000000000000000000000000081565b6102f16102dc366004611285565b60666020526000908152604090205460ff1681565b6040519015158152602001610177565b6102f161030f366004611285565b6108f5565b61014f610322366004611285565b610941565b6102f1610335366004611285565b60686020526000908152604090205460ff1681565b61014f6103583660046115d1565b6109c3565b61014f61036b366004611285565b610a2a565b610378610ab6565b6103826000610b44565b565b61038c610ab6565b6001600160a01b0381166000908152606660209081526040808320805460ff1916905560679091528120556103c2606982610b96565b506040516001600160a01b038216907fb64c2e472ebdc8f61a76438be3074f3e38569b2ebd8a9cc71dcc9b181defd78e90600090a250565b600054610100900460ff161580801561041a5750600054600160ff909116105b806104345750303b158015610434575060005460ff166001145b61049c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156104bf576000805461ff0019166101001790555b6104c7610ce1565b6104d085610a2a565b6104d984610941565b6065805463ffffffff191663ffffffff841617905560005b83518110156105f65760006001600160a01b03168482815181106105175761051761160f565b60200260200101516001600160a01b0316146105e4576001606860008684815181106105455761054561160f565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055508381815181106105965761059661160f565b60200260200101516001600160a01b03167ffc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d260016040516105db911515815260200190565b60405180910390a25b806105ee8161163b565b9150506104f1565b50801561063d576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b61064c610d10565b6065805463ffffffff83811663ffffffff1983161790925516600061066f610d7a565b9050806106a7576065805463ffffffff841663ffffffff19909116179055604080516313d0866160e11b815290519081900360040190fd5b60405163ffffffff841681527fde7d61181e5b13fcab68f1d4a0be52854e613272de874356f9d0102594aa4e9b9060200160405180910390a1505050565b6106ed610d10565b6103826000610ee5565b6000610701610d7a565b905090565b60606107016069610f37565b61071a610ab6565b604051636d114be360e01b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636d114be390610772908890889060019089908990600401611693565b6000604051808303816000875af1158015610791573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107b9919081019061192b565b90506001815160048111156107d0576107d061167d565b146107ee576040516320dd787760e11b815260040160405180910390fd5b42610e106103e8836040015167ffffffffffffffff1661080e9190611aaa565b6108189190611acc565b116108365760405163696bbf1f60e01b815260040160405180910390fd5b600061084682610100015161100c565b60e08301518051919250906041146108715760405163145a1fdd60e31b815260040160405180910390fd5b6040602182018190206001600160a01b038116600090815260666020908152838220805460ff191660011790556067905291909120839055806108b56069826110e3565b506040516001600160a01b038216907f97110439909bcbb4488918a0cbe54781949ecf5d1415e972bf922a92df93fb3f90600090a2505050505050505050565b6001600160a01b03811660009081526066602052604081205460ff16801561093b5750610920610d7a565b6001600160a01b038316600090815260676020526040902054145b92915050565b610949610ab6565b6001600160a01b0381166109b75760405162461bcd60e51b815260206004820152602f60248201527f4f776e61626c654d616e616765643a206e6577206d616e61676572206973207460448201526e6865207a65726f206164647265737360881b6064820152608401610493565b6109c081610b44565b50565b6109cb610d10565b6001600160a01b038216600081815260686020908152604091829020805460ff191685151590811790915591519182527ffc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d2910160405180910390a25050565b610a32610d10565b6001600160a01b038116610a9e5760405162461bcd60e51b815260206004820152602d60248201527f4f776e61626c654d616e616765643a206e6577206f776e65722069732074686560448201526c207a65726f206164647265737360981b6064820152608401610493565b6109c081610ee5565b6001600160a01b03163b151590565b6033546001600160a01b0316331480610ad957506034546001600160a01b031633145b6103825760405162461bcd60e51b815260206004820152603660248201527f4f776e61626c654d616e616765643a2063616c6c6572206973206e6f74207468604482015275329037bbb732b91037b9103a34329036b0b730b3b2b960511b6064820152608401610493565b603480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c8590600090a35050565b63978aab926004526000828152602481206001600160a01b03929092169168fbb67fda52d4bfb8be198301610bd35763f5a267f16000526004601cfd5b82610be55768fbb67fda52d4bfb8bf92505b80546bffffffffffffffffffffffff811680610c685760019350848260601c03610c2357600183018054845560028401805490915560009055610cd8565b84600184015460601c03610c4557600283018054600185015560009055610cd8565b84600284015460601c03610c5f5760006002840155610cd8565b60009350610cd8565b82602052846000526040600020805480610c83575050610cd8565b60018360011c039250826001820314610cbb578285015460601c8060601b600183038701556000848701558060005250806040600020555b5060018260011b17845460601c60601b1784556000815550600193505b50505092915050565b600054610100900460ff16610d085760405162461bcd60e51b815260040161049390611ae4565b610382611237565b6033546001600160a01b031633146103825760405162461bcd60e51b815260206004820152602760248201527f4f776e61626c654d616e616765643a2063616c6c6572206973206e6f74207468604482015266329037bbb732b960c91b6064820152608401610493565b606554604051630db42dcf60e11b815263ffffffff909116600482015260009081907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631b685b9e90602401602060405180830381865afa158015610ded573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e119190611b2f565b60408051600481526024810182526020810180516001600160e01b03166260ff5160e21b179052905191925060009182916001600160a01b03851691610e579190611b4c565b600060405180830381855afa9150503d8060008114610e92576040519150601f19603f3d011682016040523d82523d6000602084013e610e97565b606091505b5091509150811580610eab57508051602014155b15610ec957604051639fb4826960e01b815260040160405180910390fd5b80806020019051810190610edd9190611b68565b935050505090565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b63978aab926004526000818152602481206060915068fbb67fda52d4bfb8bf81548060a01b60a01c6040519450846020018260601c9250838314158302815281610fc6578215610fc157600191508185015460601c92508215610fc1578284141590920260208301525060028381015460601c918215610fc1576003915083831415830260408201525b610ff6565b600191821c915b82811015610ff4578581015460601c858114158102600583901b8401529350600101610fcd565b505b8186528160051b81016040525050505050919050565b6000805b82518110156110c95782818151811061102b5761102b61160f565b60200260200101516000015167ffffffffffffffff166000036110b757600083828151811061105c5761105c61160f565b6020026020010151602001519050806000015181602001516040516020016110989291909182526001600160801b031916602082015260300190565b6040516020818303038152906040528051906020012092505050919050565b806110c18161163b565b915050611010565b506040516385269c3d60e01b815260040160405180910390fd5b63978aab926004526000828152602481206001600160a01b03929092169168fbb67fda52d4bfb8be1983016111205763f5a267f16000526004601cfd5b826111325768fbb67fda52d4bfb8bf92505b80546bffffffffffffffffffffffff811682602052806111fa578160601c80611165578560601b84556001945050610cd8565b8581036111725750610cd8565b600184015460601c80611193578660601b6001860155600195505050610cd8565b8681036111a1575050610cd8565b600285015460601c806111c3578760601b600287015560019650505050610cd8565b8781036111d257505050610cd8565b6000928352604080842060019055918352818320600290558252902060039055506007908117905b846000526040600020805461122d578160011c91508560601b828501558160010181558260020184556001945050610cd8565b5050505092915050565b600054610100900460ff1661125e5760405162461bcd60e51b815260040161049390611ae4565b61126733610ee5565b61038233610b44565b6001600160a01b03811681146109c057600080fd5b60006020828403121561129757600080fd5b81356112a281611270565b9392505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156112e2576112e26112a9565b60405290565b604051610140810167ffffffffffffffff811182821017156112e2576112e26112a9565b604051601f8201601f1916810167ffffffffffffffff81118282101715611335576113356112a9565b604052919050565b600067ffffffffffffffff821115611357576113576112a9565b5060051b60200190565b803563ffffffff8116811461137557600080fd5b919050565b6000806000806080858703121561139057600080fd5b843561139b81611270565b93506020858101356113ac81611270565b9350604086013567ffffffffffffffff8111156113c857600080fd5b8601601f810188136113d957600080fd5b80356113ec6113e78261133d565b61130c565b81815260059190911b8201830190838101908a83111561140b57600080fd5b928401925b8284101561143257833561142381611270565b82529284019290840190611410565b809650505050505061144660608601611361565b905092959194509250565b60005b8381101561146c578181015183820152602001611454565b8381111561147b576000848401525b50505050565b60208152600082518060208401526114a0816040850160208701611451565b601f01601f19169190910160400192915050565b6000602082840312156114c657600080fd5b6112a282611361565b6020808252825182820181905260009190848201906040850190845b818110156115105783516001600160a01b0316835292840192918401916001016114eb565b50909695505050505050565b60008083601f84011261152e57600080fd5b50813567ffffffffffffffff81111561154657600080fd5b60208301915083602082850101111561155e57600080fd5b9250929050565b6000806000806040858703121561157b57600080fd5b843567ffffffffffffffff8082111561159357600080fd5b61159f8883890161151c565b909650945060208701359150808211156115b857600080fd5b506115c58782880161151c565b95989497509550505050565b600080604083850312156115e457600080fd5b82356115ef81611270565b91506020830135801515811461160457600080fd5b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161164d5761164d611625565b5060010190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b634e487b7160e01b600052602160045260246000fd5b6060815260006116a7606083018789611654565b600386106116c557634e487b7160e01b600052602160045260246000fd5b85602084015282810360408401526116de818587611654565b98975050505050505050565b80516005811061137557600080fd5b805160ff8116811461137557600080fd5b805167ffffffffffffffff8116811461137557600080fd5b600082601f83011261173357600080fd5b815160206117436113e78361133d565b82815260059290921b8401810191818101908684111561176257600080fd5b8286015b8481101561177d5780518352918301918301611766565b509695505050505050565b600082601f83011261179957600080fd5b815160206117a96113e78361133d565b82815260059290921b840181019181810190868411156117c857600080fd5b8286015b8481101561177d576117dd8161170a565b83529183019183016117cc565b600082601f8301126117fb57600080fd5b815167ffffffffffffffff811115611815576118156112a9565b611828601f8201601f191660200161130c565b81815284602083860101111561183d57600080fd5b61184e826020830160208701611451565b949350505050565b600082601f83011261186757600080fd5b815160206118776113e78361133d565b8281526060928302850182019282820191908785111561189657600080fd5b8387015b8581101561191e57808903828112156118b35760008081fd5b6118bb6112bf565b6118c48361170a565b8152604080601f19840112156118da5760008081fd5b6118e26112bf565b848901518152908401519092506001600160801b0319811681146119065760008081fd5b8288015280870191909152845292840192810161189a565b5090979650505050505050565b60006020828403121561193d57600080fd5b815167ffffffffffffffff8082111561195557600080fd5b90830190610140828603121561196a57600080fd5b6119726112e8565b61197b836116ea565b8152611989602084016116f9565b602082015261199a6040840161170a565b60408201526060830151828111156119b157600080fd5b6119bd87828601611722565b6060830152506080830151828111156119d557600080fd5b6119e187828601611788565b60808301525060a0830151828111156119f957600080fd5b611a05878286016117ea565b60a08301525060c083015182811115611a1d57600080fd5b611a29878286016117ea565b60c08301525060e083015182811115611a4157600080fd5b611a4d878286016117ea565b60e0830152506101008084015183811115611a6757600080fd5b611a7388828701611856565b8284015250506101208084015183811115611a8d57600080fd5b611a99888287016117ea565b918301919091525095945050505050565b600082611ac757634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115611adf57611adf611625565b500190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600060208284031215611b4157600080fd5b81516112a281611270565b60008251611b5e818460208701611451565b9190910192915050565b600060208284031215611b7a57600080fd5b505191905056fea26469706673582212201aa0594fce9b9d58a7aed0b48829faf3a3ecd9e52da47d33983c9406af66148064736f6c634300080f00334f776e61626c654d616e616765643a2063616c6c6572206973206e6f74207468496e697469616c697a61626c653a20636f6e7472616374206973206e6f7420690000000000000000000000008e385c5136a530dd359f424db43bf672dd191ec9000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n        \"nonce\": \"0x25\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x1c9f7f4481e1774d278568ee327a15cc8afedc9796ea06666d94839914cdf4ea\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"DelayedWETH\",\n      \"contractAddress\": \"0x0319d7be06524f6817a30f3bdab541a064ff4dcf\",\n      \"function\": null,\n      \"arguments\": [\n        \"86400\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"gas\": \"0x165c8c\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c060405234801561001057600080fd5b5060405161144138038061144183398101604081905261002f91610106565b600160805260a0819052610041610047565b5061011f565b600054610100900460ff16156100b35760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614610104576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60006020828403121561011857600080fd5b5051919050565b60805160a0516112ef6101526000396000818161035d0152610f2d0152600081816102e40152610c2401526112ef6000f3fe60806040526004361061016a5760003560e01c806370a08231116100d1578063a9059cbb1161008a578063d0e30db011610064578063d0e30db014610179578063dad544e0146104ed578063dd62ed3e14610502578063f3fef3a31461054857610179565b8063a9059cbb14610459578063c4d66de814610479578063cd47bde11461049957610179565b806370a082311461038157806379502c55146103b75780637eee288d146103cc57806395d89b41146103ec578063977a5ec514610419578063a7e21e801461043957610179565b8063313ce56711610123578063313ce5671461027657806333d7e2bd1461029d57806338d38c97146102d55780633e47158c1461030857806354fd4d501461031d5780636a42b8f81461034e57610179565b806306fdde0314610181578063095ea7b3146101c95780630ca35682146101f957806318160ddd1461021957806323b872dd146102365780632e1a7d4d1461025657610179565b3661017957610177610568565b005b610177610568565b34801561018d57600080fd5b5060408051808201909152600d81526c2bb930b83832b21022ba3432b960991b60208201525b6040516101c091906110d0565b60405180910390f35b3480156101d557600080fd5b506101e96101e436600461113a565b6105c3565b60405190151581526020016101c0565b34801561020557600080fd5b50610177610214366004611166565b61062f565b34801561022557600080fd5b50475b6040519081526020016101c0565b34801561024257600080fd5b506101e961025136600461117f565b610746565b34801561026257600080fd5b50610177610271366004611166565b6108a0565b34801561028257600080fd5b5061028b601281565b60405160ff90911681526020016101c0565b3480156102a957600080fd5b506004546102bd906001600160a01b031681565b6040516001600160a01b0390911681526020016101c0565b3480156102e157600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061028b565b34801561031457600080fd5b506102bd6108ad565b34801561032957600080fd5b506101b3604051806040016040528060058152602001640312e352e360dc1b81525081565b34801561035a57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610228565b34801561038d57600080fd5b5061022861039c3660046111c0565b6001600160a01b031660009081526001602052604090205490565b3480156103c357600080fd5b506102bd610a5f565b3480156103d857600080fd5b506101776103e736600461113a565b610add565b3480156103f857600080fd5b506040805180820190915260048152630ae8aa8960e31b60208201526101b3565b34801561042557600080fd5b5061017761043436600461113a565b610b24565b34801561044557600080fd5b506101776104543660046111c0565b610beb565b34801561046557600080fd5b506101e961047436600461113a565b610c0e565b34801561048557600080fd5b506101776104943660046111c0565b610c22565b3480156104a557600080fd5b506104d86104b43660046111dd565b60036020908152600092835260408084209091529082529020805460019091015482565b604080519283526020830191909152016101c0565b3480156104f957600080fd5b506102bd610d41565b34801561050e57600080fd5b5061022861051d3660046111dd565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561055457600080fd5b5061017761056336600461113a565b610d88565b336000908152600160205260408120805434929061058790849061122c565b909155505060405134815233907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9060200160405180910390a2565b3360008181526002602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061061e9086815260200190565b60405180910390a350600192915050565b610637610d41565b6001600160a01b0316336001600160a01b0316146106955760405162461bcd60e51b81526020600482015260166024820152752232b630bcb2b22ba2aa241d103737ba1037bbb732b960511b60448201526064015b60405180910390fd5b60004782106106a457476106a6565b815b604051909150600090339083908381818185875af1925050503d80600081146106eb576040519150601f19603f3d011682016040523d82523d6000602084013e6106f0565b606091505b50509050806107415760405162461bcd60e51b815260206004820152601b60248201527f44656c61796564574554483a207265636f766572206661696c65640000000000604482015260640161068c565b505050565b6001600160a01b03831660009081526001602052604081205482111561076b57600080fd5b6001600160a01b03841660008181526002602090815260408083203380855292529091205491148015906107a157506000198114155b156107ec57828110156107b357600080fd5b6001600160a01b0385166000908152600260209081526040808320338452909152812080548592906107e6908490611244565b90915550505b6001600160a01b03851660009081526001602052604081208054859290610814908490611244565b90915550506001600160a01b0384166000908152600160205260408120805485929061084190849061122c565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161088d91815260200190565b60405180910390a3506001949350505050565b6108aa3382610d88565b50565b6000806108d87fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b90506001600160a01b038116156108ee57919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000815250516002610931919061125b565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000919091179061098c906060015b604051602081830303815290604052805190602001205490565b146109aa576040516354e433cd60e01b815260040160405180910390fd5b604080513060208201526001918101919091526000906109cc90606001610972565b90506001600160a01b03811615610a4657806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3f919061127a565b9250505090565b60405163332144db60e01b815260040160405180910390fd5b6000600460009054906101000a90046001600160a01b03166001600160a01b03166335e80ab36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ab4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad8919061127a565b905090565b3360009081526003602090815260408083206001600160a01b03861684529091528120426001820155805490918391839190610b1a90849061122c565b9091555050505050565b610b2c610d41565b6001600160a01b0316336001600160a01b031614610b855760405162461bcd60e51b81526020600482015260166024820152752232b630bcb2b22ba2aa241d103737ba1037bbb732b960511b604482015260640161068c565b6001600160a01b03821660008181526002602090815260408083203380855290835292819020859055518481529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3610741823383610746565b6108aa81610434836001600160a01b031660009081526001602052604090205490565b6000610c1b338484610746565b9392505050565b7f0000000000000000000000000000000000000000000000000000000000000000600054610100900460ff16158015610c62575060005460ff8083169116105b610cc55760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161068c565b6000805461ffff191660ff831617610100179055610ce1610fda565b600480546001600160a01b0319166001600160a01b0384161790556000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6000610d4b6108ad565b6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ab4573d6000803e3d6000fd5b6004805460408051635c975abb60e01b815290516001600160a01b0390921692635c975abb9282820192602092908290030181865afa158015610dcf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df39190611297565b15610e405760405162461bcd60e51b815260206004820152601f60248201527f44656c61796564574554483a20636f6e74726163742069732070617573656400604482015260640161068c565b3360009081526003602090815260408083206001600160a01b038616845290915290208054821115610eca5760405162461bcd60e51b815260206004820152602d60248201527f44656c61796564574554483a20696e73756666696369656e7420756e6c6f636b60448201526c1959081dda5d1a191c985dd85b609a1b606482015260840161068c565b6000816001015411610f2a5760405162461bcd60e51b8152602060048201526024808201527f44656c61796564574554483a207769746864726177616c206e6f7420756e6c6f60448201526318dad95960e21b606482015260840161068c565b427f00000000000000000000000000000000000000000000000000000000000000008260010154610f5b919061122c565b1115610fb75760405162461bcd60e51b815260206004820152602560248201527f44656c61796564574554483a207769746864726177616c2064656c6179206e6f6044820152641d081b595d60da1b606482015260840161068c565b81816000016000828254610fcb9190611244565b9091555061074190508261102a565b33610fe36108ad565b6001600160a01b03161415801561100a575033610ffe610d41565b6001600160a01b031614155b1561102857604051636202851360e11b815260040160405180910390fd5b565b3360009081526001602052604090205481111561104657600080fd5b3360009081526001602052604081208054839290611065908490611244565b9091555050604051339082156108fc029083906000818181858888f19350505050158015611097573d6000803e3d6000fd5b5060405181815233907f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b659060200160405180910390a250565b600060208083528351808285015260005b818110156110fd578581018301518582016040015282016110e1565b8181111561110f576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146108aa57600080fd5b6000806040838503121561114d57600080fd5b823561115881611125565b946020939093013593505050565b60006020828403121561117857600080fd5b5035919050565b60008060006060848603121561119457600080fd5b833561119f81611125565b925060208401356111af81611125565b929592945050506040919091013590565b6000602082840312156111d257600080fd5b8135610c1b81611125565b600080604083850312156111f057600080fd5b82356111fb81611125565b9150602083013561120b81611125565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b6000821982111561123f5761123f611216565b500190565b60008282101561125657611256611216565b500390565b600081600019048311821515161561127557611275611216565b500290565b60006020828403121561128c57600080fd5b8151610c1b81611125565b6000602082840312156112a957600080fd5b81518015158114610c1b57600080fdfea264697066735822122033c67988de809e4c5b2b93a62924bf8a4a8026929b429359ecf0d885e5c557a064736f6c634300080f00330000000000000000000000000000000000000000000000000000000000015180\",\n        \"nonce\": \"0x26\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xadf62039384c1538df863082b7ddd3e7ba41641d77e87c3f913070ee9bfb1745\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0x18217d97582e0e5bf03f3408ff4569bb333bfbcd\",\n      \"function\": null,\n      \"arguments\": [\n        \"0xb2d9a52e76841279EF0372c534C539a4f68f8C0B\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"gas\": \"0x8b589\",\n        \"value\": \"0x0\",\n        \"input\": \"0x608060405234801561001057600080fd5b5060405161078e38038061078e83398101604081905261002f916100b5565b6100388161003e565b506100e5565b600061005660008051602061076e8339815191525490565b60008051602061076e833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61067a806100f46000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100ae5780638f283970146100db578063f851a440146100fb5761005d565b3661005d5761005b610110565b005b61005b610110565b34801561007157600080fd5b5061005b610080366004610521565b6101c8565b61009861009336600461053c565b61020e565b6040516100a591906105bf565b60405180910390f35b3480156100ba57600080fd5b506100c361033e565b6040516001600160a01b0390911681526020016100a5565b3480156100e757600080fd5b5061005b6100f6366004610521565b6103a9565b34801561010757600080fd5b506100c36103e4565b600061013a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90506001600160a01b0381166101a55760405162461bcd60e51b815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e697469616044820152641b1a5e995960da1b60648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e806101c2573d6000fd5b503d6000f35b600080516020610625833981519152546001600160a01b0316336001600160a01b031614806101f5575033155b156102065761020381610432565b50565b610203610110565b60606102266000805160206106258339815191525490565b6001600160a01b0316336001600160a01b03161480610243575033155b1561032f5761025184610432565b600080856001600160a01b0316858560405161026e929190610614565b600060405180830381855af49150503d80600081146102a9576040519150601f19603f3d011682016040523d82523d6000602084013e6102ae565b606091505b5091509150816103265760405162461bcd60e51b815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c656400000000000000606482015260840161019c565b91506103379050565b610337610110565b9392505050565b60006103566000805160206106258339815191525490565b6001600160a01b0316336001600160a01b03161480610373575033155b1561039e57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6103a6610110565b90565b600080516020610625833981519152546001600160a01b0316336001600160a01b031614806103d6575033155b15610206576102038161048e565b60006103fc6000805160206106258339815191525490565b6001600160a01b0316336001600160a01b03161480610419575033155b1561039e57506000805160206106258339815191525490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8181556040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006104a66000805160206106258339815191525490565b600080516020610625833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b80356001600160a01b038116811461051c57600080fd5b919050565b60006020828403121561053357600080fd5b61033782610505565b60008060006040848603121561055157600080fd5b61055a84610505565b9250602084013567ffffffffffffffff8082111561057757600080fd5b818601915086601f83011261058b57600080fd5b81358181111561059a57600080fd5b8760208285010111156105ac57600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156105ec578581018301518582016040015282016105d0565b818111156105fe576000604083870101525b50601f01601f1916929092016040019392505050565b818382376000910190815291905056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103a2646970667358221220e57aa3e97a31d2fac4bc10410d79155cadf30ff00bb10cb44a6bb3913b6877c264736f6c634300080f0033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"nonce\": \"0x27\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xc638ddb533af646d0fdffb5a8ef7548e7f1e744d020b8bf0a3b21a9c2c904e8a\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0x18217d97582e0e5bf03f3408ff4569bb333bfbcd\",\n      \"function\": \"upgradeToAndCall(address,bytes)\",\n      \"arguments\": [\n        \"0xaf2c60C00fF938a50b36D23f3a8b89478C55ab44\",\n        \"0x2712e20d000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000008074b32bd7d06c8f27596f3d6fbf867a36ea22a30000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000026d0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000db84125f2f4229c81c579f41bc129c71b174eb58000000000000000000000000adc09b63a3ac57a2ce86d946617a18df9db029a1\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x18217d97582e0e5bf03f3408ff4569bb333bfbcd\",\n        \"gas\": \"0x4793b\",\n        \"value\": \"0x0\",\n        \"input\": \"0x4f1ef286000000000000000000000000af2c60c00ff938a50b36d23f3a8b89478c55ab44000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000e42712e20d000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000008074b32bd7d06c8f27596f3d6fbf867a36ea22a30000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000026d0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000db84125f2f4229c81c579f41bc129c71b174eb58000000000000000000000000adc09b63a3ac57a2ce86d946617a18df9db029a100000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x28\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xa00103685c3ba36577070e79489d7e3c4738cca7700c43156edbc134bc0dd8e2\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0x18217d97582e0e5bf03f3408ff4569bb333bfbcd\",\n      \"function\": \"changeAdmin(address)\",\n      \"arguments\": [\n        \"0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x18217d97582e0e5bf03f3408ff4569bb333bfbcd\",\n        \"gas\": \"0x99a3\",\n        \"value\": \"0x0\",\n        \"input\": \"0x8f2839700000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3\",\n        \"nonce\": \"0x29\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x97f81284cc0b4bbafdac439375ed3ed733cb10a8797b26ed96f5fb0867d95225\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0x5a7da1d200af68f890b4568c258ad86ee805b35b\",\n      \"function\": null,\n      \"arguments\": [\n        \"0xb2d9a52e76841279EF0372c534C539a4f68f8C0B\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"gas\": \"0x8b589\",\n        \"value\": \"0x0\",\n        \"input\": \"0x608060405234801561001057600080fd5b5060405161078e38038061078e83398101604081905261002f916100b5565b6100388161003e565b506100e5565b600061005660008051602061076e8339815191525490565b60008051602061076e833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61067a806100f46000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100ae5780638f283970146100db578063f851a440146100fb5761005d565b3661005d5761005b610110565b005b61005b610110565b34801561007157600080fd5b5061005b610080366004610521565b6101c8565b61009861009336600461053c565b61020e565b6040516100a591906105bf565b60405180910390f35b3480156100ba57600080fd5b506100c361033e565b6040516001600160a01b0390911681526020016100a5565b3480156100e757600080fd5b5061005b6100f6366004610521565b6103a9565b34801561010757600080fd5b506100c36103e4565b600061013a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90506001600160a01b0381166101a55760405162461bcd60e51b815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e697469616044820152641b1a5e995960da1b60648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e806101c2573d6000fd5b503d6000f35b600080516020610625833981519152546001600160a01b0316336001600160a01b031614806101f5575033155b156102065761020381610432565b50565b610203610110565b60606102266000805160206106258339815191525490565b6001600160a01b0316336001600160a01b03161480610243575033155b1561032f5761025184610432565b600080856001600160a01b0316858560405161026e929190610614565b600060405180830381855af49150503d80600081146102a9576040519150601f19603f3d011682016040523d82523d6000602084013e6102ae565b606091505b5091509150816103265760405162461bcd60e51b815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c656400000000000000606482015260840161019c565b91506103379050565b610337610110565b9392505050565b60006103566000805160206106258339815191525490565b6001600160a01b0316336001600160a01b03161480610373575033155b1561039e57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6103a6610110565b90565b600080516020610625833981519152546001600160a01b0316336001600160a01b031614806103d6575033155b15610206576102038161048e565b60006103fc6000805160206106258339815191525490565b6001600160a01b0316336001600160a01b03161480610419575033155b1561039e57506000805160206106258339815191525490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8181556040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006104a66000805160206106258339815191525490565b600080516020610625833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b80356001600160a01b038116811461051c57600080fd5b919050565b60006020828403121561053357600080fd5b61033782610505565b60008060006040848603121561055157600080fd5b61055a84610505565b9250602084013567ffffffffffffffff8082111561057757600080fd5b818601915086601f83011261058b57600080fd5b81358181111561059a57600080fd5b8760208285010111156105ac57600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156105ec578581018301518582016040015282016105d0565b818111156105fe576000604083870101525b50601f01601f1916929092016040019392505050565b818382376000910190815291905056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103a2646970667358221220e57aa3e97a31d2fac4bc10410d79155cadf30ff00bb10cb44a6bb3913b6877c264736f6c634300080f0033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"nonce\": \"0x2a\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xb563f4e1b84fb19eeb683746db977700ebc5de704412beafc719566b769e0eda\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0x5a7da1d200af68f890b4568c258ad86ee805b35b\",\n      \"function\": \"upgradeToAndCall(address,bytes)\",\n      \"arguments\": [\n        \"0x0319d7BE06524f6817a30f3BDab541A064Ff4DcF\",\n        \"0xc4d66de8000000000000000000000000f272670eb55e895584501d564afeb048bed26194\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x5a7da1d200af68f890b4568c258ad86ee805b35b\",\n        \"gas\": \"0x22ede\",\n        \"value\": \"0x0\",\n        \"input\": \"0x4f1ef2860000000000000000000000000319d7be06524f6817a30f3bdab541a064ff4dcf00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x2b\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x1d60720771fc6d1af632b9d5d17d52bb340b461a350f845d82615e886c484011\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0x5a7da1d200af68f890b4568c258ad86ee805b35b\",\n      \"function\": \"changeAdmin(address)\",\n      \"arguments\": [\n        \"0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x5a7da1d200af68f890b4568c258ad86ee805b35b\",\n        \"gas\": \"0x99a3\",\n        \"value\": \"0x0\",\n        \"input\": \"0x8f2839700000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3\",\n        \"nonce\": \"0x2c\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xfb04408d90923b6a389f1fb5f60daa8a17a86f7fd8828dcd1aad31d7418032cd\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"TEEVerifier\",\n      \"contractAddress\": \"0xe049d99db72204480ceb7e94502dafe6f05e5c66\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x18217d97582e0E5bf03f3408Ff4569bB333bFBCD\",\n        \"0x2fF5cC82dBf333Ea30D8ee462178ab1707315355\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"gas\": \"0xa894c\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c060405234801561001057600080fd5b5060405161097c38038061097c83398101604081905261002f9161005e565b6001600160a01b039081166080521660a052610098565b6001600160a01b038116811461005b57600080fd5b50565b6000806040838503121561007157600080fd5b825161007c81610046565b602084015190925061008d81610046565b809150509250929050565b60805160a05161089e6100de60003960008181606c01528181610245015281816102fc01526103b101526000818160d70152818161047001526104ff015261089e6000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806318efb9c21461006757806354fd4d50146100ab5780635e02132e146100d2578063ab750e75146100f9578063ece20f361461011c578063f9df65eb14610126575b600080fd5b61008e7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b60408051808201825260058152640302e322e360dc1b602082015290516100a291906106dd565b61008e7f000000000000000000000000000000000000000000000000000000000000000081565b61010c610107366004610732565b610133565b60405190151581526020016100a2565b61012461045b565b005b60005461010c9060ff1681565b6000805460ff161561015857604051632f3cfa1960e21b815260040160405180910390fd5b605584101561017a57604051632d0e1a9d60e11b815260040160405180910390fd5b600061018960148287896107b1565b610192916107db565b60601c90503660006101a860556014898b6107b1565b915091506000806101ef8785858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506105d492505050565b9092509050600081600481111561020857610208610810565b1461022657604051638baa579f60e01b815260040160405180910390fd5b60405163e8533e2960e01b81526001600160a01b0386811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063e8533e2990602401602060405180830381865afa15801561028c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b09190610826565b6102dd576040516377f1708f60e01b81526001600160a01b03861660048201526024015b60405180910390fd5b60405163692b002b60e11b81526001600160a01b0383811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063d256005690602401602060405180830381865afa158015610343573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103679190610826565b61038f5760405163bf18af4360e01b81526001600160a01b03831660048201526024016102d4565b6040516386b4ebd360e01b81526001600160a01b0383811660048301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906386b4ebd390602401602060405180830381865afa1580156103fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061041e919061084f565b905088811461044a5760405163415e3f9d60e01b815260048101829052602481018a90526044016102d4565b5060019a9950505050505050505050565b6040516324b5ce0b60e11b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa1580156104bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e39190610826565b158061057457506040516304e50fed60e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906304e50fed90602401602060405180830381865afa15801561054e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105729190610826565b155b1561059257604051637c3e4fdb60e01b815260040160405180910390fd5b6000805460ff191660011790556040513381527f3e2a844f441471ec38f2e944e29cfe184c2fc1e108af1a0bc92ca4357bac19519060200160405180910390a1565b600080825160410361060a5760208301516040840151606085015160001a6105fe87828585610619565b94509450505050610612565b506000905060025b9250929050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561065057506000905060036106d4565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156106a4573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166106cd576000600192509250506106d4565b9150600090505b94509492505050565b600060208083528351808285015260005b8181101561070a578581018301518582016040015282016106ee565b8181111561071c576000604083870101525b50601f01601f1916929092016040019392505050565b6000806000806060858703121561074857600080fd5b843567ffffffffffffffff8082111561076057600080fd5b818701915087601f83011261077457600080fd5b81358181111561078357600080fd5b88602082850101111561079557600080fd5b6020928301999098509187013596604001359550909350505050565b600080858511156107c157600080fd5b838611156107ce57600080fd5b5050820193919092039150565b6bffffffffffffffffffffffff1981358181169160148510156108085780818660140360031b1b83161692505b505092915050565b634e487b7160e01b600052602160045260246000fd5b60006020828403121561083857600080fd5b8151801515811461084857600080fd5b9392505050565b60006020828403121561086157600080fd5b505191905056fea2646970667358221220c1ded25c590a7c60acf44027df4ea9c1ce14fb87aae9369094aa0e5e82c8205464736f6c634300080f003300000000000000000000000018217d97582e0e5bf03f3408ff4569bb333bfbcd0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355\",\n        \"nonce\": \"0x2d\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xe4ecff3fdfdd408baeeeb625736a389cbc6804ae7ef016f491543d53e8d9b8c8\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"AggregateVerifier\",\n      \"contractAddress\": \"0xf9a4733f2b709f37baa4c819f44ca4e8c935355c\",\n      \"function\": null,\n      \"arguments\": [\n        \"621\",\n        \"0x2fF5cC82dBf333Ea30D8ee462178ab1707315355\",\n        \"0x5A7DA1D200aF68f890b4568c258aD86eE805b35B\",\n        \"0xE049d99Db72204480ceB7E94502dAFE6F05e5C66\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x11fb64617dfa2875d31b0cfb656666fd8cee65eb134fefeca171b9b6b4444a64\",\n        \"(0x08b7a02a5f34c66f5f7ff6e731d881b2385712761d835de3588e00d977fb3a21, 0x0020f5df94945d8d40bc2b11128cbf2535565f5cde58960029017ee2ccef46d7)\",\n        \"0x12e9c45f19f9817c6d4385fad29e7a70c355502cf0883e76a9a7e478a85d1360\",\n        \"84532\",\n        \"600\",\n        \"30\",\n        \"1\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"gas\": \"0x3ae8a1\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6102606040523480156200001257600080fd5b50604051620039fc380380620039fc833981016040819052620000359162000264565b82158062000041575081155b8062000057575062000054828462000345565b15155b15620000845760405163462b853960e11b8152600481018490526024810183905260440160405180910390fd5b8060011415801562000097575080600214155b15620000b65760405163b1016ea760e01b815260040160405180910390fd5b63ffffffff8c16610220526001600160a01b038b1660808190526040805163f2b4e61760e01b8152905163f2b4e617916004808201926020929091908290030181865afa1580156200010c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013291906200035c565b6001600160a01b0390811660a0528a811660c05289811660e0528816610120526101008790528551610140526020860151610160526101808590526101a08490526101c08390526101e08290526102408190526200018f620001c0565b6200019c90602062000399565b620001a990608e620003bb565b6102005250620003ed9a5050505050505050505050565b60006101e0516101c051620001d69190620003d6565b905090565b6001600160a01b0381168114620001f157600080fd5b50565b80516200020181620001db565b919050565b6000604082840312156200021957600080fd5b604080519081016001600160401b03811182821017156200024a57634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b6000806000806000806000806000806000806101a08d8f0312156200028857600080fd5b8c5163ffffffff811681146200029d57600080fd5b9b50620002ad60208e01620001f4565b9a50620002bd60408e01620001f4565b9950620002cd60608e01620001f4565b9850620002dd60808e01620001f4565b975060a08d01519650620002f58e60c08f0162000206565b95506101008d015194506101208d015193506101408d015192506101608d015191506101808d015190509295989b509295989b509295989b565b634e487b7160e01b600052601260045260246000fd5b6000826200035757620003576200032f565b500690565b6000602082840312156200036f57600080fd5b81516200037c81620001db565b9392505050565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615620003b657620003b662000383565b500290565b60008219821115620003d157620003d162000383565b500190565b600082620003e857620003e86200032f565b500490565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161346762000595600039600081816103bf0152610f200152600081816109840152818161144901526120d2015260006110d601526000818161071801528181611941015281816129ee0152612a290152600081816105710152818161137a015281816113b50152611962015260006107f6015260008181610a8301528181612b0c0152612c8901526000818161085e0152612d4101526000818161082a0152612caa0152600081816108e301528181611ba90152612d1001526000818161037d01528181612b2d0152612be901526000818161045e01528181611c3a0152612bba0152600081816109f801528181610c2601528181610cdc015261161d015260006107c20152600081816106a101528181611188015281816112e5015281816114740152818161173201528181611824015281816118cc015281816121330152818161219d0152818161222f01528181612337015281816123ca0152818161245b01526124ee01526134676000f3fe6080604052600436106103345760003560e01c80636dc86e81116101ab5780639ded3952116100f7578063c26783e911610095578063d1ee5e4b1161006f578063d1ee5e4b14610a5a578063d28cb06f14610a71578063e41f96ad14610aa5578063fa24f74314610ac557600080fd5b8063c26783e9146109e6578063cf09e0d014610a1a578063cfcf984b14610a3a57600080fd5b8063b97cb80f116100d1578063b97cb80f1461094d578063bbdc02db1461096d578063bcef3b55146109ae578063bdb337d1146109c357600080fd5b80639ded3952146108d1578063addecc0614610905578063b74df35a1461093857600080fd5b806382ff53a111610164578063908cb80e1161013e578063908cb80e1461084c5780639730163d146108805780639840fd841461089657806399735e32146108bc57600080fd5b806382ff53a1146107b05780638417d3c2146107e457806387d34f161461081857600080fd5b80636dc86e811461070657806370872aa51461073a57806374f8bf321461074f578063786b844b146107645780637a6bc9e11461077957806380f323a71461079a57600080fd5b8063324a13c9116102855780634e95eb58116102235780635c0cba33116101fd5780635c0cba3314610692578063609d3334146106c55780636361506d146106da57806364d12136146106ef57600080fd5b80634e95eb581461061e57806354fd4d501461063457806357da950e1461066257600080fd5b80633fada3fd1161025f5780633fada3fd146105a85780634224b1e7146105c957806342316182146105dc57806349edf35a146105fe57600080fd5b8063324a13c91461054957806335c4377b1461055f57806337b1b2291461059357600080fd5b80631f837574116102f2578063250e69bd116102cc578063250e69bd146104ce57806325fc2ace146104ff5780632810e1d6146105145780632845e5bb1461052957600080fd5b80631f8375741461044c578063200d2ed21461048057806323edb2e0146104ae57600080fd5b8062821de3146103395780630183fd441461036b57806310fbee28146103ad5780631333db2e146103e157806319effeb4146103f85780631ee5d7c814610437575b600080fd5b34801561034557600080fd5b5061034e610ae9565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561037757600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610362565b3480156103b957600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103ed57600080fd5b506103f6610afa565b005b34801561040457600080fd5b5060005461041f90600160401b90046001600160401b031681565b6040516001600160401b039091168152602001610362565b34801561044357600080fd5b5061034e610e08565b34801561045857600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561048c57600080fd5b506000546104a190600160801b900460ff1681565b6040516103629190612f35565b3480156104ba57600080fd5b5060035461034e906001600160a01b031681565b3480156104da57600080fd5b506000546104ef90600160901b900460ff1681565b6040519015158152602001610362565b34801561050b57600080fd5b5060015461039f565b34801561052057600080fd5b506104a1610e3f565b34801561053557600080fd5b5060075461041f906001600160401b031681565b34801561055557600080fd5b5061039f60055481565b34801561056b57600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059f57600080fd5b5061034e611067565b3480156105b457600080fd5b506003546104ef90600160a01b900460ff1681565b6103f66105d7366004612f97565b611073565b3480156105e857600080fd5b506105f1611687565b6040516103629190613030565b34801561060a57600080fd5b5061039f61061936600461304a565b6116a6565b34801561062a57600080fd5b5061039f61010081565b34801561064057600080fd5b506040805180820190915260058152640302e312e360dc1b60208201526105f1565b34801561066e57600080fd5b5060015460025461067d919082565b60408051928352602083019190915201610362565b34801561069e57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061034e565b3480156106d157600080fd5b506105f16116f3565b3480156106e657600080fd5b5061039f611718565b3480156106fb57600080fd5b5061041f6201518081565b34801561071257600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561074657600080fd5b5060025461039f565b34801561075b57600080fd5b5061034e611724565b34801561077057600080fd5b506103f6611730565b34801561078557600080fd5b506003546104ef90600160a81b900460ff1681565b3480156107a657600080fd5b5061039f60045481565b3480156107bc57600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107f057600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561082457600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561085857600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561088c57600080fd5b5061039f611fff81565b3480156108a257600080fd5b5061034e71f90827f1c53a10cb7a02335b17532000293581565b3480156108c857600080fd5b5061039f61192e565b3480156108dd57600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561091157600080fd5b5060075461092690600160401b900460ff1681565b60405160ff9091168152602001610362565b34801561094457600080fd5b5061039f61193a565b34801561095957600080fd5b506103f6610968366004613063565b611986565b34801561097957600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610362565b3480156109ba57600080fd5b5061039f611c9d565b3480156109cf57600080fd5b50600754426001600160401b0390911611156104ef565b3480156109f257600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b348015610a2657600080fd5b5060005461041f906001600160401b031681565b348015610a4657600080fd5b506103f6610a55366004612f97565b611ca9565b348015610a6657600080fd5b5061041f62093a8081565b348015610a7d57600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b348015610ab157600080fd5b506103f6610ac0366004613063565b611ddb565b348015610ad157600080fd5b50610ada6120cb565b604051610362939291906130b3565b6000610af5607461210c565b905090565b600268929eee149b4bd212685403610b1a5763ab143c066000526004601cfd5b600268929eee149b4bd2126855600354600160a81b900460ff1615610b52576040516317bfe5f760e01b815260040160405180910390fd5b6007546001600160401b0390811614610ba657600054600160401b90046001600160401b03166001600160401b0316600003610ba157604051636082930560e11b815260040160405180910390fd5b610be8565b6000546001600160401b0316610bbf90621275006130f7565b6001600160401b0316421015610be8576040516304643c3960e01b815260040160405180910390fd5b600354600160a01b900460ff16610c9d5760035460048054604051637eee288d60e01b81526001600160a01b039384169281019290925260248201527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b158015610c6c57600080fd5b505af1158015610c80573d6000803e3d6000fd5b50506003805460ff60a01b1916600160a01b17905550610df99050565b60038054600160a81b60ff60a81b198216179091556004805460405163f3fef3a360e01b81526001600160a01b039384169281019290925260248201527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b158015610d2257600080fd5b505af1158015610d36573d6000803e3d6000fd5b5050600354600454604051600094506001600160a01b039092169250908381818185875af1925050503d8060008114610d8b576040519150601f19603f3d011682016040523d82523d6000602084013e610d90565b606091505b5050905080610db2576040516383e6cc6b60e01b815260040160405180910390fd5b6003546004546040519081526001600160a01b03909116907f87e12c2565042763daa6bf5842ed2b6447f17f7e28f9a4905fe3959581396ead9060200160405180910390a2505b600168929eee149b4bd2126855565b6000600681805b6001811115610e2057610e20612f1f565b81526020810191909152604001600020546001600160a01b0316919050565b600080600054600160801b900460ff166002811115610e6057610e60612f1f565b14610e7e5760405163f1a9458160e01b815260040160405180910390fd5b6000610e8861212f565b90506000816002811115610e9e57610e9e612f1f565b03610ebc57604051634962835760e11b815260040160405180910390fd5b6001816002811115610ed057610ed0612f1f565b03610eed576000805460ff60801b1916600160801b179055610fe7565b600754426001600160401b039091161115610f1b576040516304643c3960e01b815260040160405180910390fd5b6007547f0000000000000000000000000000000000000000000000000000000000000000600160401b90910460ff161015610f695760405163344de4bf60e01b815260040160405180910390fd5b60055415610fd3576000805460ff60801b1916600160801b1781556001905260066020527f3e5fec24aa4dc4e5aee2e025e51e1392c72a2500577559fae9665c6d52bd6a3154600380546001600160a01b0319166001600160a01b03909216919091179055610fe7565b6000805460ff60801b1916600160811b1790555b600080546fffffffffffffffff00000000000000001916600160401b426001600160401b03160217908190556040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da609161104d91600160801b90910460ff1690612f35565b60405180910390a15050600054600160801b900460ff1690565b6000610af5600061210c565b600054600160881b900460ff161561109d5760405162dc149f60e41b815260040160405180910390fd5b6000602060016110ad8483613122565b6110b7919061313a565b6110c19190613151565b6110cc906020613173565b90506000816110fc7f00000000000000000000000000000000000000000000000000000000000000006040613122565b6111069190613122565b905080361461111d57639824bdab6000526004601cfd5b61112b611128611c9d565b90565b611142600161113861193a565b610619919061313a565b1461118657611154600161113861193a565b61115f611128611c9d565b60405163f33fa6cf60e01b8152600481019290925260248201526044015b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166111b8610ae9565b6001600160a01b0316146112e35760006111d0610ae9565b90506111db81612315565b6111f85760405163346119f760e01b815260040160405180910390fd5b6040518060400160405280611268836001600160a01b031663bcef3b556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111289190613192565b8152602001826001600160a01b03166399735e326040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112cf9190613192565b905280516001556020015160025550611371565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663664ed8306040518163ffffffff1660e01b81526004016040805180830381865afa158015611340573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136491906131ab565b8051600155602001516002555b60025461139f907f000000000000000000000000000000000000000000000000000000000000000090613122565b6113a761192e565b14611404576002546113da907f000000000000000000000000000000000000000000000000000000000000000090613122565b6113e261192e565b60405163043d96bb60e11b81526004810192909252602482015260440161117d565b600080546001600160401b03421671ff000000000000000000ffffffffffffffff1990911617600160881b17905560408051630f27ce5f60e21b8152905163ffffffff7f000000000000000000000000000000000000000000000000000000000000000016916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691633c9f397c916004808201926020929091908290030181865afa1580156114c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e49190613207565b6000805460ff60901b191663ffffffff9290921692909214600160901b02178155600780546001600160401b0367ffffffffffffffff19909116179055848482816115315761153161322d565b919091013560f81c9050600181111561154c5761154c612f1f565b9050600061155e602160018789613243565b6115679161326d565b9050600061157960416021888a613243565b6115829161326d565b905061158e82826125df565b6115d061159e876041818b613243565b856115a7611067565b60015487905b6002546115bb611128611c9d565b6115c361192e565b6115cb611687565b61278f565b6115e1836115dc611067565b61282f565b6115e9611067565b600380546001600160a01b0319166001600160a01b0392831617905534600481815560408051630d0e30db60e41b815290517f00000000000000000000000000000000000000000000000000000000000000009094169363d0e30db0939282810192600092919082900301818588803b15801561166557600080fd5b505af1158015611679573d6000803e3d6000fd5b505050505050505050505050565b6060610af5608861169661193a565b6116a1906020613173565b612912565b60006116b061193a565b82106116cf5760405163a6c661fd60e01b815260040160405180910390fd5b6116ed6116dd836020613173565b6116e8906088613122565b612954565b92915050565b6060610af5605461170261193a565b61170d906020613173565b6116a1906034613122565b6000610af56034612954565b60006006816001610e0f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561178e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b2919061328b565b156117d05760405163379a7ed960e01b815260040160405180910390fd5b600054600160401b90046001600160401b03166001600160401b031660000361180c57604051636082930560e11b815260040160405180910390fd5b604051630314d2b360e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015611873573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611897919061328b565b9050806118b757604051634851bd9b60e01b815260040160405180910390fd5b6040516317cf21a960e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561191857600080fd5b505af1925050508015611929575060015b505b50565b6000610af56054612954565b6000610af57f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000613151565b60008054600160801b900460ff1660028111156119a5576119a5612f1f565b146119c35760405163f1a9458160e01b815260040160405180910390fd5b6000848460008181106119d8576119d861322d565b919091013560f81c905060018111156119f3576119f3612f1f565b90506000600681836001811115611a0c57611a0c612f1f565b6001811115611a1d57611a1d612f1f565b81526020810191909152604001600020546001600160a01b031603611a5757806040516304b045a760e31b815260040161117d91906132ad565b60055415611add576001600554611a6e919061313a565b8314611a8d5760405163a6c661fd60e01b815260040160405180910390fd5b611a96836116a6565b8214611aa6578161115f846116a6565b6001816001811115611aba57611aba612f1f565b14611ad8576040516369ed70ab60e01b815260040160405180910390fd5b611ae7565b611ae78383612974565b6000806000611af5866129c3565b91945092509050611b44611b0c886001818c613243565b8633611b19611128611718565b88888c898e604051602001611b3091815260200190565b60405160208183030381529060405261278f565b611b4d84612a5c565b604080518781526020810187905233917f5a8d9d181e6a59fe5477a50721401b6332a810b9183e15ac62d386379a05a717910160405180910390a26001846001811115611b9c57611b9c612f1f565b03611c1f576005600090557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ece20f366040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611c0257600080fd5b505af1158015611c16573d6000803e3d6000fd5b50505050611c93565b6000846001811115611c3357611c33612f1f565b03611c93577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ece20f366040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561166557600080fd5b5050505050505050565b6000610af56014612954565b60008054600160801b900460ff166002811115611cc857611cc8612f1f565b14611ce65760405163067fe19560e41b815260040160405180910390fd5b600754426001600160401b0390911611611d135760405163df469ccb60e01b815260040160405180910390fd5b600082826000818110611d2857611d2861322d565b919091013560f81c90506001811115611d4357611d43612f1f565b90506000600681836001811115611d5c57611d5c612f1f565b6001811115611d6d57611d6d612f1f565b81526020810191909152604001600020546001600160a01b031614611da757806040516338a094bd60e11b815260040161117d91906132ad565b611dcc611db78360018187613243565b8333611dc4611128611718565b6001546115ad565b611dd6813361282f565b505050565b60008054600160801b900460ff166002811115611dfa57611dfa612f1f565b14611e185760405163f1a9458160e01b815260040160405180910390fd5b611e2130612315565b611e3e576040516357e25a0960e01b815260040160405180910390fd5b6001611e4861212f565b6002811115611e5957611e59612f1f565b03611e775760405163346119f760e01b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8546001600160a01b0316611ecb5760006040516304b045a760e31b815260040161117d91906132ad565b600160005260066020527f3e5fec24aa4dc4e5aee2e025e51e1392c72a2500577559fae9665c6d52bd6a31546001600160a01b031615611f215760016040516338a094bd60e11b815260040161117d91906132ad565b600084846000818110611f3657611f3661322d565b919091013560f81c90506001811115611f5157611f51612f1f565b90506001816001811115611f6757611f67612f1f565b14611f85576040516369ed70ab60e01b815260040160405180910390fd5b611f8f8383612974565b6000806000611f9d866129c3565b91945092509050611fb4611b0c886001818c613243565b3360066000866001811115611fcb57611fcb612f1f565b6001811115611fdc57611fdc612f1f565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001600760088282829054906101000a900460ff1661202d91906132c1565b92506101000a81548160ff021916908360ff16021790555062093a806001600160401b03164261205d9190613122565b6007805467ffffffffffffffff19166001600160401b0392909216919091179055612089866001613122565b60055560405186815233907f7a180232c19fd38c83e493856a42688c477bae7e82039103b2c1ea6a6162e5299060200160405180910390a25050505050505050565b60008060607f00000000000000000000000000000000000000000000000000000000000000006120f9611c9d565b6121016116f3565b925092509250909192565b6000806121213660011981013560f01c900390565b929092013560601c92915050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316612163610ae9565b6001600160a01b03161461230f57600061217b610ae9565b604051631a51a37560e11b81526001600160a01b0380831660048301529192507f0000000000000000000000000000000000000000000000000000000000000000909116906334a346ea90602401602060405180830381865afa1580156121e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061220a919061328b565b8061229a5750604051635958a19360e01b81526001600160a01b0382811660048301527f00000000000000000000000000000000000000000000000000000000000000001690635958a19390602401602060405180830381865afa158015612276573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061229a919061328b565b156122a757600191505090565b806001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061230991906132e6565b91505090565b50600290565b60405163ee658e4560e01b81526001600160a01b0382811660048301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063ee658e4590602401602060405180830381865afa158015612380573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a4919061328b565b801561243557506040516304e50fed60e01b81526001600160a01b0383811660048301527f000000000000000000000000000000000000000000000000000000000000000016906304e50fed90602401602060405180830381865afa158015612411573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612435919061328b565b80156124c85750604051631a51a37560e11b81526001600160a01b0383811660048301527f000000000000000000000000000000000000000000000000000000000000000016906334a346ea90602401602060405180830381865afa1580156124a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124c6919061328b565b155b801561255b5750604051635958a19360e01b81526001600160a01b0383811660048301527f00000000000000000000000000000000000000000000000000000000000000001690635958a19390602401602060405180830381865afa158015612535573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612559919061328b565b155b80156116ed57506001826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c691906132e6565b60028111156125d7576125d7612f1f565b141592915050565b4381106126085760405163096fec2960e21b81526004810182905243602482015260440161117d565b600080612615834361313a565b905061010081116126295782409150612738565b611fff81116127165760008071f90827f1c53a10cb7a02335b1753200029356001600160a01b03168560405160200161266491815260200190565b60408051601f198184030181529082905261267e91613307565b600060405180830381855afa9150503d80600081146126b9576040519150601f19603f3d011682016040523d82523d6000602084013e6126be565b606091505b50915091508115806126d257508051602014155b156126f957604051630f0b8f8160e01b81526004810186905243602482015260440161117d565b8080602001905181019061270d9190613192565b93505050612738565b604051630f0b8f8160e01b81526004810184905243602482015260440161117d565b8161275f57604051630f0b8f8160e01b81526004810184905243602482015260440161117d565b838214612789576040516380b1ae5160e01b8152600481018590526024810183905260440161117d565b50505050565b60018910156127b1576040516309bde33960e01b815260040160405180910390fd5b60008860018111156127c5576127c5612f1f565b036127e0576127db8a8a89898989898989612b01565b612823565b60018860018111156127f4576127f4612f1f565b0361280a576127db8a8a89898989898989612c7e565b6040516369ed70ab60e01b815260040160405180910390fd5b50505050505050505050565b806006600084600181111561284657612846612f1f565b600181111561285757612857612f1f565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001600760088282829054906101000a900460ff166128a891906132c1565b92506101000a81548160ff021916908360ff1602179055506128c8612dc9565b8160018111156128da576128da612f1f565b6040516001600160a01b038316907f62f393acfb3d3425116fe9be7a6509a4b652bda54fdac2df2b7273135ecd58e790600090a35050565b606060006129283660011981013560f01c900390565b905060405191508282528284820160208401378260208301016000815260208101604052505092915050565b6000806129693660011981013560f01c900390565b929092013592915050565b61297c61193a565b821061299b5760405163a6c661fd60e01b815260040160405180910390fd5b806129a5836116a6565b0361192957604051635de57d7360e11b815260040160405180910390fd5b600080808084156129e1576129dc61061960018761313a565b6129e5565b6001545b90506000612a137f000000000000000000000000000000000000000000000000000000000000000087613173565b600254612a209190613122565b90506000612a4e7f0000000000000000000000000000000000000000000000000000000000000000836130f7565b929791965091945092505050565b60066000826001811115612a7257612a72612f1f565b6001811115612a8357612a83612f1f565b81526020810191909152604001600090812080546001600160a01b0319169055600754600160401b900460ff169003612acf5760405163344de4bf60e01b815260040160405180910390fd5b6007805460001960ff600160401b808404821692909201160268ff00000000000000001990911617905561192b612e67565b6000878787878787877f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000604051602001612b6499989796959493929190613323565b6040516020818303038152906040528051906020012090506000888b8b604051602001612b93939291906133a0565b60408051601f198184030181529082905263ab750e7560e01b825291506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ab750e7590612c139084907f00000000000000000000000000000000000000000000000000000000000000009087906004016133cc565b602060405180830381865afa158015612c30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c54919061328b565b612c71576040516309bde33960e01b815260040160405180910390fd5b5050505050505050505050565b6000878787878787877f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000604051602001612ce199989796959493929190613323565b60408051601f1981840301815290829052805160209091012063ab750e7560e01b825291506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ab750e7590612d6b908d908d907f00000000000000000000000000000000000000000000000000000000000000009087906004016133f1565b602060405180830381865afa158015612d88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dac919061328b565b612823576040516309bde33960e01b815260040160405180910390fd5b6000612dd3612ed7565b905067fffffffffffffffe196001600160401b03821601612e0b57506007805467ffffffffffffffff19166001600160401b03179055565b6000612e1782426130f7565b600754909150612e42906001600160401b0380841691166001600160401b0316808218908211021890565b6007805467ffffffffffffffff19166001600160401b03929092169190911790555050565b6000612e71612ed7565b905067fffffffffffffffe196001600160401b03821601612ea957506007805467ffffffffffffffff19166001600160401b03179055565b612eb381426130f7565b6007805467ffffffffffffffff19166001600160401b039290921691909117905550565b6007546000906002600160401b90910460ff1610612ef757506201518090565b600754600160401b900460ff16600103612f13575062093a8090565b506001600160401b0390565b634e487b7160e01b600052602160045260246000fd5b6020810160038310612f4957612f49612f1f565b91905290565b60008083601f840112612f6157600080fd5b5081356001600160401b03811115612f7857600080fd5b602083019150836020828501011115612f9057600080fd5b9250929050565b60008060208385031215612faa57600080fd5b82356001600160401b03811115612fc057600080fd5b612fcc85828601612f4f565b90969095509350505050565b60005b83811015612ff3578181015183820152602001612fdb565b838111156127895750506000910152565b6000815180845261301c816020860160208601612fd8565b601f01601f19169290920160200192915050565b6020815260006130436020830184613004565b9392505050565b60006020828403121561305c57600080fd5b5035919050565b6000806000806060858703121561307957600080fd5b84356001600160401b0381111561308f57600080fd5b61309b87828801612f4f565b90989097506020870135966040013595509350505050565b63ffffffff841681528260208201526060604082015260006130d86060830184613004565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b60006001600160401b03808316818516808303821115613119576131196130e1565b01949350505050565b60008219821115613135576131356130e1565b500190565b60008282101561314c5761314c6130e1565b500390565b60008261316e57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561318d5761318d6130e1565b500290565b6000602082840312156131a457600080fd5b5051919050565b6000604082840312156131bd57600080fd5b604051604081018181106001600160401b03821117156131ed57634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b60006020828403121561321957600080fd5b815163ffffffff8116811461304357600080fd5b634e487b7160e01b600052603260045260246000fd5b6000808585111561325357600080fd5b8386111561326057600080fd5b5050820193919092039150565b803560208310156116ed57600019602084900360031b1b1692915050565b60006020828403121561329d57600080fd5b8151801515811461304357600080fd5b6020810160028310612f4957612f49612f1f565b600060ff821660ff84168060ff038211156132de576132de6130e1565b019392505050565b6000602082840312156132f857600080fd5b81516003811061304357600080fd5b60008251613319818460208701612fd8565b9190910192915050565b6bffffffffffffffffffffffff198a60601b16815288601482015287603482015260006001600160401b0360c01b808960c01b16605484015287605c840152808760c01b16607c840152508451613381816084850160208901612fd8565b90910160848101939093525060a482015260c401979650505050505050565b6bffffffffffffffffffffffff198460601b168152818360148301376000910160140190815292915050565b6060815260006133df6060830186613004565b60208301949094525060400152919050565b606081528360608201528385608083013760006080858301015260006080601f19601f87011683010190508360208301528260408301529594505050505056fea26469706673582212202d480fded84fc6348d73dffa75b629ced9c01f5a412e5767837340f3e1868b3364736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000026d0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153550000000000000000000000005a7da1d200af68f890b4568c258ad86ee805b35b000000000000000000000000e049d99db72204480ceb7e94502dafe6f05e5c66000000000000000000000000000000000000000000000000000000000000000011fb64617dfa2875d31b0cfb656666fd8cee65eb134fefeca171b9b6b4444a6408b7a02a5f34c66f5f7ff6e731d881b2385712761d835de3588e00d977fb3a210020f5df94945d8d40bc2b11128cbf2535565f5cde58960029017ee2ccef46d712e9c45f19f9817c6d4385fad29e7a70c355502cf0883e76a9a7e478a85d13600000000000000000000000000000000000000000000000000000000000014a340000000000000000000000000000000000000000000000000000000000000258000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000001\",\n        \"nonce\": \"0x2e\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x32a80d884d0cf90f0aaebc4b99ee0bc8cb206c7558f52691310323d79c54ccd6\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"OptimismPortal2\",\n      \"contractAddress\": \"0x93a33057958deb25f7416dd3ec47cebccbadbbdf\",\n      \"function\": null,\n      \"arguments\": [\n        \"0\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"gas\": \"0x4c26b4\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c06040523480156200001157600080fd5b506040516200455838038062004558833981016040819052620000349162000110565b600360805260a0819052620000486200004f565b506200012a565b600054610100900460ff1615620000bc5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116146200010e576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200012357600080fd5b5051919050565b60805160a0516143fa6200015e600039600081816105d001526117580152600081816102630152610e8a01526143fa6000f3fe6080604052600436106101d15760003560e01c806371c1566e116100f7578063a3860f4811610095578063cff0ab9611610064578063cff0ab96146105f4578063dad544e01461065f578063e9e05c4214610674578063f2b4e6171461068757600080fd5b8063a3860f4814610507578063b682c44414610527578063bb2c727e14610547578063bf653a5c146105c157600080fd5b8063952b2797116100d1578063952b2797146104825780639bf62d8214610497578063a14238e7146104b7578063a35d99df146104e757600080fd5b806371c1566e146104425780638b4c40b0146101f65780638c3152e91461046257600080fd5b806345884d321161016f578063513747ab1161013e578063513747ab1461039e57806354fd4d50146103d95780635c0cba331461040d5780635c975abb1461042d57600080fd5b806345884d3214610301578063485cc955146103315780634870496f146103515780634fd0434c1461037157600080fd5b80633c9f397c116101ab5780633c9f397c1461028d5780633e47158c146102b757806343ca1c50146102cc578063452a9320146102ec57600080fd5b806333d7e2bd146101fd57806335e80ab31461023a57806338d38c971461024f57600080fd5b366101f8576101f63334620186a060006040518060200160405280600081525061069c565b005b600080fd5b34801561020957600080fd5b5060375461021d906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561024657600080fd5b5061021d610893565b34801561025b57600080fd5b5060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610231565b34801561029957600080fd5b506102a2610906565b60405163ffffffff9091168152602001610231565b3480156102c357600080fd5b5061021d610974565b3480156102d857600080fd5b506101f66102e7366004613aa9565b610b26565b3480156102f857600080fd5b5061021d610dc9565b34801561030d57600080fd5b5061032161031c366004613afa565b610e13565b6040519015158152602001610231565b34801561033d57600080fd5b506101f661034c366004613b17565b610e88565b34801561035d57600080fd5b506101f661036c366004613b45565b610ff7565b34801561037d57600080fd5b5061038661155f565b6040516001600160401b039091168152602001610231565b3480156103aa57600080fd5b506103cb6103b9366004613c02565b6000908152603c602052604090205490565b604051908152602001610231565b3480156103e557600080fd5b5060408051808201825260058152640352e322e360dc1b602082015290516102319190613c73565b34801561041957600080fd5b50603e5461021d906001600160a01b031681565b34801561043957600080fd5b506103216115cd565b34801561044e57600080fd5b506101f661045d366004613c86565b61163b565b34801561046e57600080fd5b506101f661047d366004613cab565b61183b565b34801561048e57600080fd5b506103cb611848565b3480156104a357600080fd5b5060325461021d906001600160a01b031681565b3480156104c357600080fd5b506103216104d2366004613c02565b60336020526000908152604090205460ff1681565b3480156104f357600080fd5b50610386610502366004613cfc565b6118b6565b34801561051357600080fd5b5061021d610522366004613d19565b6118cf565b34801561053357600080fd5b50603f5461021d906001600160a01b031681565b34801561055357600080fd5b5061059a610562366004613c86565b60396020908152600092835260408084209091529082529020546001600160a01b03811690600160a01b90046001600160401b031682565b604080516001600160a01b0390931683526001600160401b03909116602083015201610231565b3480156105cd57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103cb565b34801561060057600080fd5b50600154610630906001600160801b038116906001600160401b03600160801b8204811691600160c01b90041683565b604080516001600160801b0390941684526001600160401b039283166020850152911690820152606001610231565b34801561066b57600080fd5b5061021d611907565b6101f6610682366004613d49565b61069c565b34801561069357600080fd5b5061021d61194e565b8260005a90506106aa611998565b156106ce5734156106ce57604051635eac705160e11b815260040160405180910390fd5b6106d66119f4565b1561074b57341561074b57603f60009054906101000a90046001600160a01b03166001600160a01b0316631ee116bf346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561073157600080fd5b505af1158015610745573d6000803e3d6000fd5b50505050505b83801561076057506001600160a01b03871615155b1561077e5760405163c5defbad60e01b815260040160405180910390fd5b61078883516118b6565b6001600160401b0316856001600160401b031610156107ba576040516370c8bdbd60e01b815260040160405180910390fd5b6201d4c0835111156107df57604051635aa3bac960e01b815260040160405180910390fd5b336107e8611a88565b610805575033731111000000000000000000000000000000001111015b60003488888888604051602001610820959493929190613dc7565b60405160208183030381529060405290506000896001600160a01b0316836001600160a01b03167fb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32846040516108769190613c73565b60405180910390a4505061088a8282611ac5565b50505050505050565b603754604080516335e80ab360e01b815290516000926001600160a01b0316916335e80ab39160048083019260209291908290030181865afa1580156108dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109019190613e16565b905090565b603e5460408051630f27ce5f60e21b815290516000926001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015610950573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109019190613e45565b60008061099f7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b90506001600160a01b038116156109b557919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e6765720000000000008152505160026109f89190613e78565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e6765720000000000009190911790610a53906060015b604051602081830303815290604052805190602001205490565b14610a71576040516354e433cd60e01b815260040160405180910390fd5b60408051306020820152600191810191909152600090610a9390606001610a39565b90506001600160a01b03811615610b0d57806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ae2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b069190613e16565b9250505090565b60405163332144db60e01b815260040160405180910390fd5b610b2e611d09565b610b36611998565b15610b5e57606082015115610b5e57604051635eac705160e11b815260040160405180910390fd5b6032546001600160a01b031661dead14610b8b57604051631bfd55d760e31b815260040160405180910390fd5b610b988260400151611d2f565b15610bb65760405163c5defbad60e01b815260040160405180910390fd5b6000610bc183611d58565b9050610bcd818361163b565b6000818152603360205260409020805460ff19166001179055610bee6119f4565b15610c6757606083015115610c6757603f5460608401516040516308d445bd60e41b81526001600160a01b0390921691638d445bd091610c349160040190815260200190565b600060405180830381600087803b158015610c4e57600080fd5b505af1158015610c62573d6000803e3d6000fd5b505050505b8260200151603260006101000a8154816001600160a01b0302191690836001600160a01b031602179055506000610cb08460400151856080015186606001518760a00151611da5565b603280546001600160a01b03191661dead17905560405190915082907fdb5c7652857aa163daadd670e116628fb42e869d8ac4251ef8971d9e5727df1b90610cfd90841515815260200190565b60405180910390a2610d0d6119f4565b15610d975780158015610d24575060008460600151115b15610d9757603f60009054906101000a90046001600160a01b03166001600160a01b0316631ee116bf85606001516040518263ffffffff1660e01b81526004016000604051808303818588803b158015610d7d57600080fd5b505af1158015610d91573d6000803e3d6000fd5b50505050505b80158015610da55750326001145b15610dc3576040516355ac081b60e11b815260040160405180910390fd5b50505050565b60375460408051630229549960e51b815290516000926001600160a01b03169163452a93209160048083019260209291908290030181865afa1580156108dd573d6000803e3d6000fd5b603e546040516322c4269960e11b81526001600160a01b03838116600483015260009216906345884d3290602401602060405180830381865afa158015610e5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e829190613e97565b92915050565b7f0000000000000000000000000000000000000000000000000000000000000000600054610100900460ff16158015610ec8575060005460ff8083169116105b610f305760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805461ffff191660ff831617610100179055610f4c611e03565b603780546001600160a01b038086166001600160a01b031992831617909255603e805492851692909116919091179055610f84611e51565b6032546001600160a01b0316610fa957603280546001600160a01b03191661dead1790555b610fb1611f95565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b610fff611d09565b61100c8560400151611d2f565b1561102a5760405163c5defbad60e01b815260040160405180910390fd5b611032611998565b1561105a5760608501511561105a57604051635eac705160e11b815260040160405180910390fd5b600061106461194e565b6001600160a01b031663bb8aa1fc866040518263ffffffff1660e01b815260040161109191815260200190565b606060405180830381865afa1580156110ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d29190613eb4565b603e546040516324b5ce0b60e11b81526001600160a01b0380841660048301529295509116925063496b9c169150602401602060405180830381865afa158015611120573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111449190613e97565b611161576040516379ca920760e11b815260040160405180910390fd5b603e546040516304e50fed60e01b81526001600160a01b038381166004830152909116906304e50fed90602401602060405180830381865afa1580156111ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111cf9190613e97565b6111ec5760405163e29927ed60e01b815260040160405180910390fd5b6001816001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa15801561122c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112509190613f17565b600281111561126157611261613f01565b0361127f5760405163e29927ed60e01b815260040160405180910390fd5b6112f0816001600160a01b031663cf09e0d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e49190613f38565b6001600160401b031690565b6001600160401b031642116113185760405163b4caa4e560e01b815260040160405180910390fd5b61132f61132a36869003860186613f55565b612050565b611397826001600160a01b031663bcef3b556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611370573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113949190613fba565b90565b146113b55760405163426149af60e01b815260040160405180910390fd5b60006113c087611d58565b905060008160006040516020016113e1929190918252602082015260400190565b60408051601f198184030181528282528051602091820120908301819052925061143c910160408051601f1981840301815282820190915260018252600160f81b6020830152906114328789613fd3565b896040013561208f565b151560000361145e5760405163172bf79d60e11b815260040160405180910390fd5b6040805180820182526001600160a01b0380861682526001600160401b03428116602080850191825260008881526039825286812033808352908352878220965187549451909516600160a01b026001600160e01b03199094169486169490941792909217909455868152603c845284812080546001810182559082528482200180546001600160a01b0319169092179091558b840151928c01519351928216939091169185917f67a6208cfcc0801d50f6cbe764733f4fddf66ac0b04442061a8a8c0cb6b63f6291a4604051339083907f798f9f13695f8f045aa5f80ed8efebb695f3c7fe65da381969f2f28bf3c60b9790600090a35050505050505050565b603e5460408051634086d18360e01b815290516000926001600160a01b031691634086d1839160048083019260209291908290030181865afa1580156115a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109019190613f38565b60375460408051635c975abb60e01b815290516000926001600160a01b031691635c975abb9160048083019260209291908290030181865afa158015611617573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109019190613e97565b60008281526039602090815260408083206001600160a01b038581168552908352818420825180840184529054918216808252600160a01b9092046001600160401b031681850152868552603390935292205490919060ff16156116b257604051631cc2841d60e21b815260040160405180910390fd5b81602001516001600160401b03166000036116e05760405163665357ed60e11b815260040160405180910390fd5b611721816001600160a01b031663cf09e0d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c0573d6000803e3d6000fd5b6001600160401b031682602001516001600160401b0316116117565760405163b4caa4e560e01b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000082602001516001600160401b0316426117909190614056565b116117ae57604051636cde00df60e11b815260040160405180910390fd5b603e54604051636c4f446760e01b81526001600160a01b03838116600483015290911690636c4f446790602401602060405180830381865afa1580156117f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061181c9190613e97565b610dc3576040516306654aff60e31b815260040160405180910390fd5b565b6118458133610b26565b50565b603e546040805163952b279760e01b815290516000926001600160a01b03169163952b27979160048083019260209291908290030181865afa158015611892573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109019190613fba565b60006118c382602861406d565b610e829061520861409c565b603c60205281600052604060002081815481106118eb57600080fd5b6000918252602090912001546001600160a01b03169150829050565b6000611911610974565b6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108dd573d6000803e3d6000fd5b603e546040805163f2b4e61760e01b815290516000926001600160a01b03169163f2b4e6179160048083019260209291908290030181865afa1580156108dd573d6000803e3d6000fd5b6037546040516347af267b60e01b81526f21aaa9aa27a6afa3a0a9afaa27a5a2a760811b60048201526000916001600160a01b0316906347af267b90602401602060405180830381865afa158015611617573d6000803e3d6000fd5b6037546040516347af267b60e01b81526a08aa890be989e8696849eb60ab1b60048201526000916001600160a01b0316906347af267b90602401602060405180830381865afa158015611a4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a6f9190613e97565b8015610901575050603f546001600160a01b0316151590565b6000323303611a975750600190565b333b601703611abf57604051602081016040526020600082333c5160e81c62ef010014905090565b50600090565b600154600090611ae590600160c01b90046001600160401b031643614056565b90506000611af16120b3565b90506000816020015160ff16826000015163ffffffff16611b1291906140dd565b90508215611c0157600154600090611b3b908390600160801b90046001600160401b031661410b565b90506000836040015160ff1683611b52919061414a565b600154611b699084906001600160801b031661414a565b611b7391906140dd565b600154909150600090611bb290611b949084906001600160801b03166141cf565b866060015163ffffffff168760a001516001600160801b0316612153565b90506001861115611be157611bde611b9482876040015160ff1660018a611bd99190614056565b612172565b90505b6001600160801b0316600160c01b6001600160401b034316021760015550505b60018054869190601090611c26908490600160801b90046001600160401b031661409c565b92506101000a8154816001600160401b0302191690836001600160401b03160217905550816000015163ffffffff16600160000160109054906101000a90046001600160401b03166001600160401b03161315611c96576040516377ebef4d60e01b815260040160405180910390fd5b600154600090611cb8906001600160801b03166001600160401b038816613e78565b90506000611cca48633b9aca006121c7565b611cd49083614210565b905060005a611ce39088614056565b905080821115611cff57611cff611cfa8284614056565b6121dd565b5050505050505050565b611d116115cd565b156118395760405163b9c3c2ef60e01b815260040160405180910390fd5b60006001600160a01b038216301480610e82575050603f546001600160a01b0390811691161490565b80516020808301516040808501516060860151608087015160a08801519351600097611d88979096959101614224565b604051602081830303815290604052805190602001209050919050565b6000806000611db586600061220b565b905080611deb576308c379a06000526020805278185361666543616c6c3a204e6f7420656e6f756768206761736058526064601cfd5b600080855160208701888b5af1979650505050505050565b33611e0c610974565b6001600160a01b031614158015611e33575033611e27611907565b6001600160a01b031614155b1561183957604051636202851360e11b815260040160405180910390fd5b6037546040516347af267b60e01b81526a08aa890be989e8696849eb60ab1b60048201526001600160a01b03909116906347af267b90602401602060405180830381865afa158015611ea7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ecb9190613e97565b8015611ee05750603f546001600160a01b0316155b80611f7757506037546040516347af267b60e01b81526a08aa890be989e8696849eb60ab1b60048201526001600160a01b03909116906347af267b90602401602060405180830381865afa158015611f3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f609190613e97565b158015611f775750603f546001600160a01b031615155b1561183957604051639c46cd7960e01b815260040160405180910390fd5b600054610100900460ff166120005760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610f27565b600154600160c01b90046001600160401b03166000036118395760408051606081018252633b9aca0080825260006020830152436001600160401b031691909201819052600160c01b0217600155565b60008160000151826020015183604001518460600151604051602001611d88949392919093845260208401929092526040830152606082015260800190565b60008061209b86612229565b90506120a98186868661225b565b9695505050505050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152603754604080516366398d8160e11b815290516000926001600160a01b03169163cc731b029160048083019260c09291908290030181865afa15801561212f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e829190614286565b6000612168612162858561228b565b8361229a565b90505b9392505050565b6000670de0b6b3a76400006121b361218a85836140dd565b61219c90670de0b6b3a764000061410b565b6121ae85670de0b6b3a764000061414a565b6122a9565b6121bd908661414a565b61216891906140dd565b60008183116121d6578161216b565b5090919050565b6000805a90505b825a6121f09083614056565b1015612206576121ff82614338565b91506121e4565b505050565b600080603f83619c4001026040850201603f5a021015949350505050565b6060818051906020012060405160200161224591815260200190565b6040516020818303038152906040529050919050565b60006122828461226c8786866122da565b8051602091820120825192909101919091201490565b95945050505050565b60008183136121d6578161216b565b60008183126121d6578161216b565b600061216b670de0b6b3a7640000836122c186612b70565b6122cb919061414a565b6122d591906140dd565b612d4b565b606060008451116123255760405162461bcd60e51b81526020600482015260156024820152744d65726b6c65547269653a20656d707479206b657960581b6044820152606401610f27565b600061233084612ef4565b9050600061233d86612fdf565b905060008460405160200161235491815260200190565b60405160208183030381529060405290506000805b8451811015612b1957600085828151811061238657612386614351565b6020026020010151905084518311156123f85760405162461bcd60e51b815260206004820152602e60248201527f4d65726b6c65547269653a206b657920696e646578206578636565647320746f60448201526d0e8c2d840d6caf240d8cadccee8d60931b6064820152608401610f27565b8260000361249757805180516020918201206040516124469261242092910190815260200190565b604051602081830303815290604052858051602091820120825192909101919091201490565b6124925760405162461bcd60e51b815260206004820152601d60248201527f4d65726b6c65547269653a20696e76616c696420726f6f7420686173680000006044820152606401610f27565b61258d565b80515160201161251d57805180516020918201206040516124c19261242092910190815260200190565b6124925760405162461bcd60e51b815260206004820152602760248201527f4d65726b6c65547269653a20696e76616c6964206c6172676520696e7465726e6044820152660c2d840d0c2e6d60cb1b6064820152608401610f27565b80518451602080870191909120825191909201201461258d5760405162461bcd60e51b815260206004820152602660248201527f4d65726b6c65547269653a20696e76616c696420696e7465726e616c206e6f646044820152650ca40d0c2e6d60d31b6064820152608401610f27565b61259960106001614367565b8160200151510361274157845183036126d9576125d381602001516010815181106125c6576125c6614351565b6020026020010151613042565b9650600087511161264c5760405162461bcd60e51b815260206004820152603b60248201527f4d65726b6c65547269653a2076616c7565206c656e677468206d75737420626560448201527f2067726561746572207468616e207a65726f20286272616e63682900000000006064820152608401610f27565b6001865161265a9190614056565b82146126ce5760405162461bcd60e51b815260206004820152603a60248201527f4d65726b6c65547269653a2076616c7565206e6f6465206d757374206265206c60448201527f617374206e6f646520696e2070726f6f6620286272616e6368290000000000006064820152608401610f27565b50505050505061216b565b60008584815181106126ed576126ed614351565b602001015160f81c60f81b60f81c9050600082602001518260ff168151811061271857612718614351565b6020026020010151905061272b816130c4565b9550612738600186614367565b94505050612b06565b600281602001515103612aad576000612759826130e9565b905060008160008151811061277057612770614351565b016020015160f81c9050600061278760028361437f565b6127929060026143a1565b905060006127a3848360ff1661310d565b905060006127b18a8961310d565b905060006127bf8383613143565b9050808351146128375760405162461bcd60e51b815260206004820152603a60248201527f4d65726b6c65547269653a20706174682072656d61696e646572206d7573742060448201527f736861726520616c6c206e6962626c65732077697468206b65790000000000006064820152608401610f27565b60ff85166002148061284c575060ff85166003145b156129ed57808251146128c75760405162461bcd60e51b815260206004820152603d60248201527f4d65726b6c65547269653a206b65792072656d61696e646572206d757374206260448201527f65206964656e746963616c20746f20706174682072656d61696e6465720000006064820152608401610f27565b6128e187602001516001815181106125c6576125c6614351565b9c5060008d511161295a5760405162461bcd60e51b815260206004820152603960248201527f4d65726b6c65547269653a2076616c7565206c656e677468206d75737420626560448201527f2067726561746572207468616e207a65726f20286c65616629000000000000006064820152608401610f27565b60018c516129689190614056565b88146129dc5760405162461bcd60e51b815260206004820152603860248201527f4d65726b6c65547269653a2076616c7565206e6f6465206d757374206265206c60448201527f617374206e6f646520696e2070726f6f6620286c6561662900000000000000006064820152608401610f27565b50505050505050505050505061216b565b60ff85161580612a00575060ff85166001145b15612a3f57612a2c8760200151600181518110612a1f57612a1f614351565b60200260200101516130c4565b9950612a38818a614367565b9850612aa2565b60405162461bcd60e51b815260206004820152603260248201527f4d65726b6c65547269653a2072656365697665642061206e6f64652077697468604482015271040c2dc40eadcd6dcdeeedc40e0e4caccd2f60731b6064820152608401610f27565b505050505050612b06565b60405162461bcd60e51b815260206004820152602860248201527f4d65726b6c65547269653a20726563656976656420616e20756e706172736561604482015267626c65206e6f646560c01b6064820152608401610f27565b5080612b1181614338565b915050612369565b5060405162461bcd60e51b815260206004820152602560248201527f4d65726b6c65547269653a2072616e206f7574206f662070726f6f6620656c656044820152646d656e747360d81b6064820152608401610f27565b6000808213612bad5760405162461bcd60e51b815260206004820152600960248201526815539111519253915160ba1b6044820152606401610f27565b60006060612bba846131c7565b03609f8181039490941b90931c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b393909302929092017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b6000680248ce36a70cb26b3e198213612d6657506000919050565b680755bf798b4a1bf1e58212612dad5760405162461bcd60e51b815260206004820152600c60248201526b4558505f4f564552464c4f5760a01b6044820152606401610f27565b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b8051606090806001600160401b03811115612f1157612f11613931565b604051908082528060200260200182016040528015612f5657816020015b6040805180820190915260608082526020820152815260200190600190039081612f2f5790505b50915060005b81811015612fd8576040518060400160405280858381518110612f8157612f81614351565b60200260200101518152602001612fb0868481518110612fa357612fa3614351565b6020026020010151613265565b815250838281518110612fc557612fc5614351565b6020908102919091010152600101612f5c565b5050919050565b606080604051905082518060011b603f8101601f1916830160405280835250602084016020830160005b83811015613037578060011b82018184015160001a8060041c8253600f811660018301535050600101613009565b509295945050505050565b6060600080600061305285613278565b91945092509050600081600181111561306d5761306d613f01565b1461308b576040516307fe6cb960e21b815260040160405180910390fd5b6130958284614367565b8551146130b557604051630b8aa6f760e31b815260040160405180910390fd5b6122828560200151848461356e565b606060208260000151106130e0576130db82613042565b610e82565b610e8282613601565b6060610e8261310883602001516000815181106125c6576125c6614351565b612fdf565b60608251821061312c5750604080516020810190915260008152610e82565b61216b838384865161313e9190614056565b613617565b6000808251845110613156578251613159565b83515b90505b80821080156131b0575082828151811061317857613178614351565b602001015160f81c60f81b6001600160f81b03191684838151811061319f5761319f614351565b01602001516001600160f81b031916145b156131c05781600101915061315c565b5092915050565b60008082116132045760405162461bcd60e51b815260206004820152600960248201526815539111519253915160ba1b6044820152606401610f27565b5060016001600160801b03821160071b82811c6001600160401b031060061b1782811c63ffffffff1060051b1782811c61ffff1060041b1782811c60ff10600390811b90911783811c600f1060021b1783811c909110821b1791821c111790565b6060610e8261327383613759565b6137ad565b600080600083600001516000036132a257604051635ab458fb60e01b815260040160405180910390fd5b6020840151805160001a607f81116132c7576000600160009450945094505050613567565b60b7811161335f5760006132dc608083614056565b905080876000015111613302576040516366c9448560e01b815260040160405180910390fd5b6001838101516001600160f81b031916908214801561332e5750600160ff1b6001600160f81b03198216105b1561334c5760405163babb01dd60e01b815260040160405180910390fd5b5060019550935060009250613567915050565b60bf811161344157600061337460b783614056565b90508087600001511161339a576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b03191660008190036133cb5760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c603781116133fa5760405163babb01dd60e01b815260040160405180910390fd5b6134048184614367565b895111613424576040516366c9448560e01b815260040160405180910390fd5b61342f836001614367565b97509550600094506135679350505050565b60f7811161348d57600061345660c083614056565b90508087600001511161347c576040516366c9448560e01b815260040160405180910390fd5b600195509350849250613567915050565b600061349a60f783614056565b9050808760000151116134c0576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b03191660008190036134f15760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c603781116135205760405163babb01dd60e01b815260040160405180910390fd5b61352a8184614367565b89511161354a576040516366c9448560e01b815260040160405180910390fd5b613555836001614367565b97509550600194506135679350505050565b9193909250565b6060816001600160401b0381111561358857613588613931565b6040519080825280601f01601f1916602001820160405280156135b2576020820181803683370190505b509050811561216b5760006135c78486614367565b90506020820160005b848110156135e85782810151828201526020016135d0565b848111156135f7576000858301525b5050509392505050565b6060610e8282602001516000846000015161356e565b60608182601f01101561365d5760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610f27565b8282840110156136a05760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610f27565b818301845110156136e75760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b6044820152606401610f27565b6060821580156137065760405191506000825260208201604052613750565b6040519150601f8416801560200281840101858101878315602002848b0101015b8183101561373f578051835260209283019201613727565b5050858452601f01601f1916604052505b50949350505050565b6040805180820190915260008082526020820152815160000361378f57604051635ab458fb60e01b815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b606060008060006137bd85613278565b9194509250905060018160018111156137d8576137d8613f01565b146137f6576040516325ce355f60e11b815260040160405180910390fd5b84516138028385614367565b1461382057604051630b8aa6f760e31b815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816138375790505093506000835b8651811015613925576000806138aa6040518060400160405280858c6000015161388e9190614056565b8152602001858c602001516138a39190614367565b9052613278565b5091509150604051806040016040528083836138c69190614367565b8152602001848b602001516138db9190614367565b8152508885815181106138f0576138f0614351565b6020908102919091010152613906600185614367565b93506139128183614367565b61391c9084614367565b92505050613864565b50845250919392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561396f5761396f613931565b604052919050565b6001600160a01b038116811461184557600080fd5b600082601f83011261399d57600080fd5b81356001600160401b038111156139b6576139b6613931565b6139c9601f8201601f1916602001613947565b8181528460208386010111156139de57600080fd5b816020850160208301376000918101602001919091529392505050565b600060c08284031215613a0d57600080fd5b60405160c081016001600160401b038282108183111715613a3057613a30613931565b816040528293508435835260208501359150613a4b82613977565b81602084015260408501359150613a6182613977565b816040840152606085013560608401526080850135608084015260a0850135915080821115613a8f57600080fd5b50613a9c8582860161398c565b60a0830152505092915050565b60008060408385031215613abc57600080fd5b82356001600160401b03811115613ad257600080fd5b613ade858286016139fb565b9250506020830135613aef81613977565b809150509250929050565b600060208284031215613b0c57600080fd5b813561216b81613977565b60008060408385031215613b2a57600080fd5b8235613b3581613977565b91506020830135613aef81613977565b600080600080600085870360e0811215613b5e57600080fd5b86356001600160401b0380821115613b7557600080fd5b613b818a838b016139fb565b9750602089013596506080603f1984011215613b9c57600080fd5b60408901955060c0890135925080831115613bb657600080fd5b828901925089601f840112613bca57600080fd5b8235915080821115613bdb57600080fd5b508860208260051b8401011115613bf157600080fd5b959894975092955050506020019190565b600060208284031215613c1457600080fd5b5035919050565b60005b83811015613c36578181015183820152602001613c1e565b83811115610dc35750506000910152565b60008151808452613c5f816020860160208601613c1b565b601f01601f19169290920160200192915050565b60208152600061216b6020830184613c47565b60008060408385031215613c9957600080fd5b823591506020830135613aef81613977565b600060208284031215613cbd57600080fd5b81356001600160401b03811115613cd357600080fd5b613cdf848285016139fb565b949350505050565b6001600160401b038116811461184557600080fd5b600060208284031215613d0e57600080fd5b813561216b81613ce7565b60008060408385031215613d2c57600080fd5b50508035926020909101359150565b801515811461184557600080fd5b600080600080600060a08688031215613d6157600080fd5b8535613d6c81613977565b9450602086013593506040860135613d8381613ce7565b92506060860135613d9381613d3b565b915060808601356001600160401b03811115613dae57600080fd5b613dba8882890161398c565b9150509295509295909350565b8581528460208201526001600160401b0360c01b8460c01b16604082015282151560f81b604882015260008251613e05816049850160208701613c1b565b919091016049019695505050505050565b600060208284031215613e2857600080fd5b815161216b81613977565b63ffffffff8116811461184557600080fd5b600060208284031215613e5757600080fd5b815161216b81613e33565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615613e9257613e92613e62565b500290565b600060208284031215613ea957600080fd5b815161216b81613d3b565b600080600060608486031215613ec957600080fd5b8351613ed481613e33565b6020850151909350613ee581613ce7565b6040850151909250613ef681613977565b809150509250925092565b634e487b7160e01b600052602160045260246000fd5b600060208284031215613f2957600080fd5b81516003811061216b57600080fd5b600060208284031215613f4a57600080fd5b815161216b81613ce7565b600060808284031215613f6757600080fd5b604051608081018181106001600160401b0382111715613f8957613f89613931565b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b600060208284031215613fcc57600080fd5b5051919050565b60006001600160401b0380841115613fed57613fed613931565b8360051b6020613ffe818301613947565b86815291850191818101903684111561401657600080fd5b865b8481101561404a578035868111156140305760008081fd5b61403c36828b0161398c565b845250918301918301614018565b50979650505050505050565b60008282101561406857614068613e62565b500390565b60006001600160401b038083168185168183048111821515161561409357614093613e62565b02949350505050565b60006001600160401b038083168185168083038211156140be576140be613e62565b01949350505050565b634e487b7160e01b600052601260045260246000fd5b6000826140ec576140ec6140c7565b600160ff1b82146000198414161561410657614106613e62565b500590565b60008083128015600160ff1b85018412161561412957614129613e62565b6001600160ff1b038401831381161561414457614144613e62565b50500390565b60006001600160ff1b038184138284138082168684048611161561417057614170613e62565b600160ff1b600087128281168783058912161561418f5761418f613e62565b600087129250878205871284841616156141ab576141ab613e62565b878505871281841616156141c1576141c1613e62565b505050929093029392505050565b600080821280156001600160ff1b03849003851316156141f1576141f1613e62565b600160ff1b839003841281161561420a5761420a613e62565b50500190565b60008261421f5761421f6140c7565b500490565b8681526001600160a01b03868116602083015285166040820152606081018490526080810183905260c060a0820181905260009061426490830184613c47565b98975050505050505050565b805160ff8116811461428157600080fd5b919050565b600060c0828403121561429857600080fd5b60405160c081018181106001600160401b03821117156142ba576142ba613931565b60405282516142c881613e33565b81526142d660208401614270565b60208201526142e760408401614270565b604082015260608301516142fa81613e33565b6060820152608083015161430d81613e33565b608082015260a08301516001600160801b038116811461432c57600080fd5b60a08201529392505050565b60006001820161434a5761434a613e62565b5060010190565b634e487b7160e01b600052603260045260246000fd5b6000821982111561437a5761437a613e62565b500190565b600060ff831680614392576143926140c7565b8060ff84160691505092915050565b600060ff821660ff8416808210156143bb576143bb613e62565b9003939250505056fea264697066735822122061ac961cebb2674aa5ef9662b2cc0e585955b5a6a7b88f1913278c38e01d474064736f6c634300080f00330000000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x2f\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xaf62cb8bdbc90aea3a3422f56f02195e5f4995cc091b0919607591b01bd8c527\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"DisputeGameFactory\",\n      \"contractAddress\": \"0x4e7f7f41125247acb5844dc74f5704c5c53b78b0\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"gas\": \"0x1ecb45\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60a060405234801561001057600080fd5b50600160805261001e610023565b6100e3565b600054610100900460ff161561008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156100e1576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051611aa4610105600039600081816102180152610c100152611aa46000f3fe60806040526004361061012a5760003560e01c80636593dc6e116100ab57806396cd97201161006f57806396cd97201461038e578063b1070957146103ae578063bb8aa1fc146103ce578063c4d66de814610421578063dad544e014610441578063f2fde38b1461045657600080fd5b80636593dc6e146102fb578063715018a61461032857806374cc86ac1461033d57806382ecf2f61461035d5780638da5cb5b1461037057600080fd5b806338d38c97116100f257806338d38c97146102045780633e47158c146102425780634d1975b41461025757806354fd4d50146102765780635f0150cb146102b457600080fd5b80631011f3771461012f57806314f6b1a31461015f5780631b685b9e146101815780631e334240146101b7578063254bd683146101d7575b600080fd5b61014261013d366004611344565b610476565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561016b57600080fd5b5061017f61017a3660046113e2565b6104fe565b005b34801561018d57600080fd5b5061014261019c366004611419565b6065602052600090815260409020546001600160a01b031681565b3480156101c357600080fd5b5061017f6101d2366004611434565b610563565b3480156101e357600080fd5b506101f76101f236600461145e565b6105af565b60405161015691906114ed565b34801561021057600080fd5b5060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610156565b34801561024e57600080fd5b5061014261078e565b34801561026357600080fd5b506068545b604051908152602001610156565b34801561028257600080fd5b506102a7604051806040016040528060058152602001640312e342e360dc1b81525081565b604051610156919061158b565b3480156102c057600080fd5b506102d46102cf36600461159e565b610940565b604080516001600160a01b0390931683526001600160401b03909116602083015201610156565b34801561030757600080fd5b50610268610316366004611419565b60666020526000908152604090205481565b34801561033457600080fd5b5061017f610985565b34801561034957600080fd5b506102a7610358366004611419565b610999565b61014261036b36600461159e565b610a33565b34801561037c57600080fd5b506033546001600160a01b0316610142565b34801561039a57600080fd5b506102686103a936600461159e565b610aac565b3480156103ba57600080fd5b5061017f6103c93660046115f7565b610ae5565b3480156103da57600080fd5b506103ee6103e9366004611641565b610bb3565b6040805163ffffffff90941684526001600160401b0390921660208401526001600160a01b031690820152606001610156565b34801561042d57600080fd5b5061017f61043c36600461165a565b610c0e565b34801561044d57600080fd5b50610142610d28565b34801561046257600080fd5b5061017f61047136600461165a565b610d98565b600061048487878787610e11565b9050806001600160a01b0316634224b1e73485856040518463ffffffff1660e01b81526004016104b59291906116a0565b6000604051808303818588803b1580156104ce57600080fd5b505af11580156104e2573d6000803e3d6000fd5b50505050506104f48787878785610fb7565b9695505050505050565b610506611090565b63ffffffff821660008181526065602052604080822080546001600160a01b0319166001600160a01b038616908117909155905190917fff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de91a35050565b61056b611090565b63ffffffff8216600081815260666020526040808220849055518392917f74d6665c4b26d5596a5aa13d3014e0c06af4d322075a797f87b03cd4c5bc91ca91a35050565b606854606090831015806105c1575081155b610787575060408051600583901b8101602001909152825b838111610785576000606882815481106105f5576105f56116b4565b600091825260209091200154905060e081901c60a082901c6001600160401b03166001600160a01b03831663ffffffff8916830361077457600186510186526000816001600160a01b031663609d33346040518163ffffffff1660e01b8152600401600060405180830381865afa158015610674573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261069c91908101906116e0565b90506000826001600160a01b031663bcef3b556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610702919061178c565b90506040518060a00160405280888152602001878152602001856001600160401b03168152602001828152602001838152508860018a5161074391906117bb565b81518110610753576107536116b4565b60200260200101819052508888511061077157505050505050610785565b50505b505060001990920191506105d99050565b505b9392505050565b6000806107b97fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b90506001600160a01b038116156107cf57919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e67657200000000000081525051600261081291906117d2565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000919091179061086d906060015b604051602081830303815290604052805190602001205490565b1461088b576040516354e433cd60e01b815260040160405180910390fd5b604080513060208201526001918101919091526000906108ad90606001610853565b90506001600160a01b0381161561092757806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108fc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092091906117f1565b9250505090565b60405163332144db60e01b815260040160405180910390fd5b600080600061095187878787610aac565b6000908152606760205260409020546001600160a01b0381169860a09190911c6001600160401b0316975095505050505050565b61098d611090565b61099760006110ea565b565b606960205260009081526040902080546109b29061180e565b80601f01602080910402602001604051908101604052809291908181526020018280546109de9061180e565b8015610a2b5780601f10610a0057610100808354040283529160200191610a2b565b820191906000526020600020905b815481529060010190602001808311610a0e57829003601f168201915b505050505081565b6000610a4185858585610e11565b9050806001600160a01b0316638129fc1c346040518263ffffffff1660e01b81526004016000604051808303818588803b158015610a7e57600080fd5b505af1158015610a92573d6000803e3d6000fd5b5050505050610aa48585858585610fb7565b949350505050565b600084848484604051602001610ac59493929190611848565b604051602081830303815290604052805190602001209050949350505050565b610aed611090565b63ffffffff8416600090815260656020908152604080832080546001600160a01b0319166001600160a01b03881617905560699091529020610b308284836118bd565b5060405163ffffffff8516906001600160a01b038516907fff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de90600090a38363ffffffff167fa47fcdf075d680d3817bfca7973b373e1a5f6cfc3b444748299cc2b83d8348f98383604051610ba59291906116a0565b60405180910390a250505050565b600080600080600080610bfe60688881548110610bd257610bd26116b4565b906000526020600020015460e081901c9160a082901c6001600160401b0316916001600160a01b031690565b9199909850909650945050505050565b7f0000000000000000000000000000000000000000000000000000000000000000600054610100900460ff16158015610c4e575060005460ff8083169116105b610cb65760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805461ffff191660ff831617610100179055610cd261113c565b610cda61118a565b610ce3826110ea565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6000610d3261078e565b6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9391906117f1565b905090565b610da0611090565b6001600160a01b038116610e055760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610cad565b610e0e816110ea565b50565b63ffffffff84166000908152606560205260408120546001600160a01b031680610e555760405162c71b7960e21b815263ffffffff87166004820152602401610cad565b63ffffffff86166000908152606660205260409020543414610e8a57604051638620aa1960e01b815260040160405180910390fd5b6000610e976001436117bb565b63ffffffff881660009081526069602052604081208054924093509091610ebd9061180e565b80601f0160208091040260200160405190810160405280929190818152602001828054610ee99061180e565b8015610f365780601f10610f0b57610100808354040283529160200191610f36565b820191906000526020600020905b815481529060010190602001808311610f1957829003601f168201915b505050505090508051600003610f8957610f823388848989604051602001610f6295949392919061197d565b60408051601f198184030181529190526001600160a01b038516906111b9565b9350610fac565b610fa93388848b8a8a87604051602001610f6297969594939291906119b7565b93505b505050949350505050565b6000610fc586868686610aac565b60008181526067602052604090205490915015610ff85760405163014f6fe560e01b815260048101829052602401610cad565b60004260a01b60e088901b178317600083815260676020526040808220839055606880546001810182559083527fa2153420d844928b4421650203c77babc8b33d7f2e7b450e2966db0c220977530183905551919250879163ffffffff8a16916001600160a01b038716917f5b565efe82411da98814f356d0e7bcb8f0219b8d970307c5afb4a6903a8b2e359190a450505050505050565b6033546001600160a01b031633146109975760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610cad565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b3361114561078e565b6001600160a01b03161415801561116c575033611160610d28565b6001600160a01b031614155b1561099757604051636202851360e11b815260040160405180910390fd5b600054610100900460ff166111b15760405162461bcd60e51b8152600401610cad90611a23565b6109976111c7565b6000610787600084846111f7565b600054610100900460ff166111ee5760405162461bcd60e51b8152600401610cad90611a23565b610997336110ea565b600060608203516040830351602084035184518060208701018051600283016c5af43d3d93803e606057fd5bf3895289600d8a035278593da1005b363d3d373d3d3d3d610000806062363936013d738160481b1760218a03527f9e4ac34f21c619cefc926c8bd93b54bf5a39c7ab2127a895af1cc0691d7e3dff603a8a035272fd6100003d81600a3d39f336602c57343d527f6062820160781b1761ff9e82106059018a03528060f01b8352606c8101604c8a038cf0975050866112c35763301164256000526004601cfd5b90528552601f19850152603f19840152605f199092019190915292915050565b803563ffffffff811681146112f757600080fd5b919050565b60008083601f84011261130e57600080fd5b5081356001600160401b0381111561132557600080fd5b60208301915083602082850101111561133d57600080fd5b9250929050565b6000806000806000806080878903121561135d57600080fd5b611366876112e3565b95506020870135945060408701356001600160401b038082111561138957600080fd5b6113958a838b016112fc565b909650945060608901359150808211156113ae57600080fd5b506113bb89828a016112fc565b979a9699509497509295939492505050565b6001600160a01b0381168114610e0e57600080fd5b600080604083850312156113f557600080fd5b6113fe836112e3565b9150602083013561140e816113cd565b809150509250929050565b60006020828403121561142b57600080fd5b610787826112e3565b6000806040838503121561144757600080fd5b611450836112e3565b946020939093013593505050565b60008060006060848603121561147357600080fd5b61147c846112e3565b95602085013595506040909401359392505050565b60005b838110156114ac578181015183820152602001611494565b838111156114bb576000848401525b50505050565b600081518084526114d9816020860160208601611491565b601f01601f19169290920160200192915050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b8381101561157d57888303603f190185528151805184528781015188850152868101516001600160401b0316878501526060808201519085015260809081015160a091850182905290611569818601836114c1565b968901969450505090860190600101611514565b509098975050505050505050565b60208152600061078760208301846114c1565b600080600080606085870312156115b457600080fd5b6115bd856112e3565b93506020850135925060408501356001600160401b038111156115df57600080fd5b6115eb878288016112fc565b95989497509550505050565b6000806000806060858703121561160d57600080fd5b611616856112e3565b93506020850135611626816113cd565b925060408501356001600160401b038111156115df57600080fd5b60006020828403121561165357600080fd5b5035919050565b60006020828403121561166c57600080fd5b8135610787816113cd565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b602081526000610aa4602083018486611677565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6000602082840312156116f257600080fd5b81516001600160401b038082111561170957600080fd5b818401915084601f83011261171d57600080fd5b81518181111561172f5761172f6116ca565b604051601f8201601f19908116603f01168101908382118183101715611757576117576116ca565b8160405282815287602084870101111561177057600080fd5b611781836020830160208801611491565b979650505050505050565b60006020828403121561179e57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b6000828210156117cd576117cd6117a5565b500390565b60008160001904831182151516156117ec576117ec6117a5565b500290565b60006020828403121561180357600080fd5b8151610787816113cd565b600181811c9082168061182257607f821691505b60208210810361184257634e487b7160e01b600052602260045260246000fd5b50919050565b63ffffffff851681528360208201526060604082015260006104f4606083018486611677565b601f8211156118b857600081815260208120601f850160051c810160208610156118955750805b601f850160051c820191505b818110156118b4578281556001016118a1565b5050505b505050565b6001600160401b038311156118d4576118d46116ca565b6118e8836118e2835461180e565b8361186e565b6000601f84116001811461191c57600085156119045750838201355b600019600387901b1c1916600186901b178355611976565b600083815260209020601f19861690835b8281101561194d578685013582556020948501946001909201910161192d565b508682101561196a5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6bffffffffffffffffffffffff198660601b1681528460148201528360348201528183605483013760009101605401908152949350505050565b6bffffffffffffffffffffffff198860601b16815286601482015285603482015263ffffffff60e01b8560e01b16605482015282846058830137600083820160588101600081528451611a0e818360208901611491565b919091016058019a9950505050505050505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea26469706673582212200def0cc9a62325f1474f0037d35bef684db64d0a5872dcd0dc996ddc28c30aa264736f6c634300080f0033\",\n        \"nonce\": \"0x30\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x355bd0bdfc52553d5dd9fa5e2a11cac18cf2517a1c6ed77eafa382d3f288d25a\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"AnchorStateRegistry\",\n      \"contractAddress\": \"0x38eb04fb947cd8c49aac49f31a0bbfbd1c9ae443\",\n      \"function\": null,\n      \"arguments\": [\n        \"0\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"gas\": \"0x1b5d4d\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c060405234801561001057600080fd5b50604051620018d6380380620018d683398101604081905261003191610108565b600260805260a0819052610043610049565b50610121565b600054610100900460ff16156100b55760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614610106576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60006020828403121561011a57600080fd5b5051919050565b60805160a051611781620001556000396000818161045301526104f9015260008181610290015261094d01526117816000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80635958a19311610104578063952b2797116100a2578063e0a840eb11610071578063e0a840eb14610494578063ee658e45146104a7578063f2b4e617146104ba578063fdbb3dcf146104cd57600080fd5b8063952b27971461044e578063d5a3e12e1461047c578063d83ef26714610484578063dad544e01461048c57600080fd5b80636c4f4467116100de5780636c4f4467146103ed5780637258a807146104005780637d6be8dc146104285780637fc485041461043b57600080fd5b80635958a193146103945780635c975abb146103a7578063664ed830146103af57600080fd5b80633c9f397c1161017157806345884d321161014b57806345884d321461031a57806347a222c51461033d578063496b9c161461035057806354fd4d501461036357600080fd5b80633c9f397c146102ba5780633e47158c146102df5780634086d183146102e757600080fd5b806333d7e2bd116101ad57806333d7e2bd1461022457806334a346ea1461025557806335e80ab31461028157806338d38c971461028957600080fd5b80630314d2b3146101d457806304e50fed146101fc57806317cf21a91461020f575b600080fd5b6101e76101e2366004611384565b6104e0565b60405190151581526020015b60405180910390f35b6101e761020a366004611384565b6105b1565b61022261021d366004611384565b61061b565b005b60005461023d906201000090046001600160a01b031681565b6040516001600160a01b0390911681526020016101f3565b6101e7610263366004611384565b6001600160a01b031660009081526005602052604090205460ff1690565b61023d61071c565b60405160ff7f00000000000000000000000000000000000000000000000000000000000000001681526020016101f3565b6006546102ca9063ffffffff1681565b60405163ffffffff90911681526020016101f3565b61023d610799565b6006546103029064010000000090046001600160401b031681565b6040516001600160401b0390911681526020016101f3565b6101e7610328366004611384565b60056020526000908152604090205460ff1681565b61022261034b366004611400565b61094b565b6101e761035e366004611384565b610b03565b610387604051806040016040528060058152602001640332e372e360dc1b81525081565b6040516101f391906114f4565b6101e76103a2366004611384565b610b6e565b6101e7610be1565b6040805180820182526000808252602091820152815180830183526003548082526004549183019182528351908152905191810191909152016101f3565b6101e76103fb366004611384565b610c59565b61041361040e366004611507565b610d1c565b604080519283526020830191909152016101f3565b610222610436366004611384565b610d30565b610222610449366004611507565b610d84565b6040517f000000000000000000000000000000000000000000000000000000000000000081526020016101f3565b610222610dda565b610413610e46565b61023d610f58565b60025461023d906001600160a01b031681565b6101e76104b5366004611384565b610f9f565b60015461023d906001600160a01b031681565b6101e76104db366004611384565b611127565b60006104eb82611127565b6104f757506000919050565b7f0000000000000000000000000000000000000000000000000000000000000000610589836001600160a01b03166319effeb46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057d9190611540565b6001600160401b031690565b61059c906001600160401b031642611571565b116105a957506000919050565b506001919050565b6000816001600160a01b031663250e69bd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106159190611588565b92915050565b8061062581610c59565b610642576040516323d69b3d60e11b815260040160405180910390fd5b600061064c610e46565b91505080826001600160a01b03166399735e326040518163ffffffff1660e01b8152600401602060405180830381865afa15801561068e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b291906115aa565b116106d0576040516323d69b3d60e11b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0384169081179091556040517f474f180d74ea8751955ee261c93ff8270411b180408d1014c49f552c92a4d11e90600090a2505050565b60008060029054906101000a90046001600160a01b03166001600160a01b03166335e80ab36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610770573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079491906115c3565b905090565b6000806107c47fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b90506001600160a01b038116156107da57919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e67657200000000000081525051600261081d91906115e0565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e6765720000000000009190911790610878906060015b604051602081830303815290604052805190602001205490565b14610896576040516354e433cd60e01b815260040160405180910390fd5b604080513060208201526001918101919091526000906108b89060600161085e565b90506001600160a01b0381161561093257806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610907573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092b91906115c3565b9250505090565b60405163332144db60e01b815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000600054610100900460ff1615801561098b575060005460ff8083169116105b6109f25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805461ffff191660ff831617610100179055610a0e611274565b600080546001600160a01b03808816620100000262010000600160b01b0319909216919091178255600180549187166001600160a01b0319928316179055845160035560208501516004556002805490911690556006805463ffffffff851663ffffffff1990911617908190556001600160401b03640100000000909104169003610abb57600680546bffffffffffffffff000000001916640100000000426001600160401b0316021790555b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050565b6000610b0e82610f9f565b610b1a57506000919050565b6001600160a01b03821660009081526005602052604090205460ff1615610b4357506000919050565b610b4c82610b6e565b15610b5957506000919050565b610b61610be1565b156105a957506000919050565b6000600660049054906101000a90046001600160401b03166001600160401b0316610bd0836001600160a01b031663cf09e0d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610559573d6000803e3d6000fd5b6001600160401b0316111592915050565b60008060029054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c35573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107949190611588565b6000610c6482610b03565b610c7057506000919050565b610c79826105b1565b610c8557506000919050565b610c8e826104e0565b610c9a57506000919050565b6002826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfe9190611615565b6002811115610d0f57610d0f6115ff565b146105a957506000919050565b600080610d27610e46565b91509150915091565b610d386112c4565b6001600160a01b038116600081815260056020526040808220805460ff19166001179055517f192c289026d59a41a27f5aea08f3969b57931b0589202d14f4368cded95d3cda9190a250565b610d8c6112c4565b6006805463ffffffff191663ffffffff83169081179091556040519081527fcee0703b5e4bad4efededab85c9fd1aec17dee7c5f6c584330e0509b677745a29060200160405180910390a150565b610de26112c4565b600680546bffffffffffffffff000000001916640100000000426001600160401b03811691909102919091179091556040519081527f6e5b1ba771e8e484f741ed085f039ff4e5c6e882eaf68f550fb390922d0ae4a79060200160405180910390a1565b60025460009081906001600160a01b0316610e675750506003546004549091565b6002546040805163bcef3b5560e01b81529051610ed9926001600160a01b03169163bcef3b559160048083019260209291908290030181865afa158015610eb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed691906115aa565b90565b600260009054906101000a90046001600160a01b03166001600160a01b03166399735e326040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5091906115aa565b915091509091565b6000610f62610799565b6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610770573d6000803e3d6000fd5b600080600080846001600160a01b031663fa24f7436040518163ffffffff1660e01b8152600401600060405180830381865afa158015610fe3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261100b9190810190611636565b600154604051635f0150cb60e01b815293965091945092506000916001600160a01b0390911690635f0150cb9061104a908790879087906004016116e8565b6040805180830381865afa158015611066573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108a9190611716565b5090506000866001600160a01b0316635c0cba336040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f191906115c3565b9050866001600160a01b0316826001600160a01b031614801561111c57506001600160a01b03811630145b979650505050505050565b600061116a826001600160a01b03166319effeb46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610559573d6000803e3d6000fd5b6001600160401b03161580159061061557506002826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e09190611615565b60028111156111f1576111f16115ff565b148061061557506001826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa158015611238573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125c9190611615565b600281111561126d5761126d6115ff565b1492915050565b3361127d610799565b6001600160a01b0316141580156112a4575033611298610f58565b6001600160a01b031614155b156112c257604051636202851360e11b815260040160405180910390fd5b565b600060029054906101000a90046001600160a01b03166001600160a01b031663452a93206040518163ffffffff1660e01b8152600401602060405180830381865afa158015611317573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133b91906115c3565b6001600160a01b0316336001600160a01b0316146112c257604051630b94c86b60e21b815260040160405180910390fd5b6001600160a01b038116811461138157600080fd5b50565b60006020828403121561139657600080fd5b81356113a18161136c565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156113e6576113e66113a8565b604052919050565b63ffffffff8116811461138157600080fd5b60008060008084860360a081121561141757600080fd5b85356114228161136c565b945060208601356114328161136c565b93506040603f198201121561144657600080fd5b50604051604081018181106001600160401b0382111715611469576114696113a8565b60409081528601358152606086013560208201529150608085013561148d816113ee565b939692955090935050565b60005b838110156114b357818101518382015260200161149b565b838111156114c2576000848401525b50505050565b600081518084526114e0816020860160208601611498565b601f01601f19169290920160200192915050565b6020815260006113a160208301846114c8565b60006020828403121561151957600080fd5b81356113a1816113ee565b80516001600160401b038116811461153b57600080fd5b919050565b60006020828403121561155257600080fd5b6113a182611524565b634e487b7160e01b600052601160045260246000fd5b6000828210156115835761158361155b565b500390565b60006020828403121561159a57600080fd5b815180151581146113a157600080fd5b6000602082840312156115bc57600080fd5b5051919050565b6000602082840312156115d557600080fd5b81516113a18161136c565b60008160001904831182151516156115fa576115fa61155b565b500290565b634e487b7160e01b600052602160045260246000fd5b60006020828403121561162757600080fd5b8151600381106113a157600080fd5b60008060006060848603121561164b57600080fd5b8351611656816113ee565b6020850151604086015191945092506001600160401b038082111561167a57600080fd5b818601915086601f83011261168e57600080fd5b8151818111156116a0576116a06113a8565b6116b3601f8201601f19166020016113be565b91508082528760208285010111156116ca57600080fd5b6116db816020840160208601611498565b5080925050509250925092565b63ffffffff8416815282602082015260606040820152600061170d60608301846114c8565b95945050505050565b6000806040838503121561172957600080fd5b82516117348161136c565b915061174260208401611524565b9050925092905056fea2646970667358221220dce406ba98bc3c85475773886650fef7fe190ae1457e7e0faf970ac184def94764736f6c634300080f00330000000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x31\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x19d502d\",\n      \"logs\": [\n        {\n          \"address\": \"0xaf2c60c00ff938a50b36d23f3a8b89478c55ab44\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x05d482ee8322615e6fda646c6eebe3437508067d63f420a8ea5670e306937ba0\",\n          \"blockNumber\": \"0xa2da82\",\n          \"blockTimestamp\": \"0x69e1219c\",\n          \"transactionHash\": \"0xa3737c137cf4e8f6cb88d195c23117327ee2a72c3b4868af84eb576a89916b8c\",\n          \"transactionIndex\": \"0x6c\",\n          \"logIndex\": \"0x24d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xaf2c60c00ff938a50b36d23f3a8b89478c55ab44\",\n          \"topics\": [\n            \"0x80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c85\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x05d482ee8322615e6fda646c6eebe3437508067d63f420a8ea5670e306937ba0\",\n          \"blockNumber\": \"0xa2da82\",\n          \"blockTimestamp\": \"0x69e1219c\",\n          \"transactionHash\": \"0xa3737c137cf4e8f6cb88d195c23117327ee2a72c3b4868af84eb576a89916b8c\",\n          \"transactionIndex\": \"0x6c\",\n          \"logIndex\": \"0x24e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xaf2c60c00ff938a50b36d23f3a8b89478c55ab44\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n            \"0x000000000000000000000000000000000000000000000000000000000000dead\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x05d482ee8322615e6fda646c6eebe3437508067d63f420a8ea5670e306937ba0\",\n          \"blockNumber\": \"0xa2da82\",\n          \"blockTimestamp\": \"0x69e1219c\",\n          \"transactionHash\": \"0xa3737c137cf4e8f6cb88d195c23117327ee2a72c3b4868af84eb576a89916b8c\",\n          \"transactionIndex\": \"0x6c\",\n          \"logIndex\": \"0x24f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xaf2c60c00ff938a50b36d23f3a8b89478c55ab44\",\n          \"topics\": [\n            \"0x80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c85\",\n            \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n            \"0x000000000000000000000000000000000000000000000000000000000000dead\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x05d482ee8322615e6fda646c6eebe3437508067d63f420a8ea5670e306937ba0\",\n          \"blockNumber\": \"0xa2da82\",\n          \"blockTimestamp\": \"0x69e1219c\",\n          \"transactionHash\": \"0xa3737c137cf4e8f6cb88d195c23117327ee2a72c3b4868af84eb576a89916b8c\",\n          \"transactionIndex\": \"0x6c\",\n          \"logIndex\": \"0x250\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xaf2c60c00ff938a50b36d23f3a8b89478c55ab44\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0x05d482ee8322615e6fda646c6eebe3437508067d63f420a8ea5670e306937ba0\",\n          \"blockNumber\": \"0xa2da82\",\n          \"blockTimestamp\": \"0x69e1219c\",\n          \"transactionHash\": \"0xa3737c137cf4e8f6cb88d195c23117327ee2a72c3b4868af84eb576a89916b8c\",\n          \"transactionIndex\": \"0x6c\",\n          \"logIndex\": \"0x251\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000410000200000000000000000000000000000000800000000000000000000000000000000000000000000000200000000000000000100000000000000000000000000000000000000800000001000000000000000000000000000000000000020000000040000000000800000000000000000000000000000000400000000000000000000004000000000000000000000080000000000000000000000008000008000000000000000400000000000000000000000000000000000000000400000000000000000000040000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000020000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xa3737c137cf4e8f6cb88d195c23117327ee2a72c3b4868af84eb576a89916b8c\",\n      \"transactionIndex\": \"0x6c\",\n      \"blockHash\": \"0x05d482ee8322615e6fda646c6eebe3437508067d63f420a8ea5670e306937ba0\",\n      \"blockNumber\": \"0xa2da82\",\n      \"gasUsed\": \"0x19d4f1\",\n      \"effectiveGasPrice\": \"0x3a617c1\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": null,\n      \"contractAddress\": \"0xaf2c60c00ff938a50b36d23f3a8b89478c55ab44\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1f797b3\",\n      \"logs\": [\n        {\n          \"address\": \"0x0319d7be06524f6817a30f3bdab541a064ff4dcf\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000ff\",\n          \"blockHash\": \"0x05d482ee8322615e6fda646c6eebe3437508067d63f420a8ea5670e306937ba0\",\n          \"blockNumber\": \"0xa2da82\",\n          \"blockTimestamp\": \"0x69e1219c\",\n          \"transactionHash\": \"0x1c9f7f4481e1774d278568ee327a15cc8afedc9796ea06666d94839914cdf4ea\",\n          \"transactionIndex\": \"0x92\",\n          \"logIndex\": \"0x2d8\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000004000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x1c9f7f4481e1774d278568ee327a15cc8afedc9796ea06666d94839914cdf4ea\",\n      \"transactionIndex\": \"0x92\",\n      \"blockHash\": \"0x05d482ee8322615e6fda646c6eebe3437508067d63f420a8ea5670e306937ba0\",\n      \"blockNumber\": \"0xa2da82\",\n      \"gasUsed\": \"0x113380\",\n      \"effectiveGasPrice\": \"0x3a617c1\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": null,\n      \"contractAddress\": \"0x0319d7be06524f6817a30f3bdab541a064ff4dcf\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x22d654f\",\n      \"logs\": [\n        {\n          \"address\": \"0x18217d97582e0e5bf03f3408ff4569bb333bfbcd\",\n          \"topics\": [\n            \"0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n          \"blockHash\": \"0x05d482ee8322615e6fda646c6eebe3437508067d63f420a8ea5670e306937ba0\",\n          \"blockNumber\": \"0xa2da82\",\n          \"blockTimestamp\": \"0x69e1219c\",\n          \"transactionHash\": \"0xadf62039384c1538df863082b7ddd3e7ba41641d77e87c3f913070ee9bfb1745\",\n          \"transactionIndex\": \"0xa7\",\n          \"logIndex\": \"0x358\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xadf62039384c1538df863082b7ddd3e7ba41641d77e87c3f913070ee9bfb1745\",\n      \"transactionIndex\": \"0xa7\",\n      \"blockHash\": \"0x05d482ee8322615e6fda646c6eebe3437508067d63f420a8ea5670e306937ba0\",\n      \"blockNumber\": \"0xa2da82\",\n      \"gasUsed\": \"0x6b307\",\n      \"effectiveGasPrice\": \"0x3a617c1\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": null,\n      \"contractAddress\": \"0x18217d97582e0e5bf03f3408ff4569bb333bfbcd\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x789e8f\",\n      \"logs\": [\n        {\n          \"address\": \"0x18217d97582e0e5bf03f3408ff4569bb333bfbcd\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x000000000000000000000000af2c60c00ff938a50b36d23f3a8b89478c55ab44\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x5c5d0f00a58035a59511a0f79841fde1e855a0a332406c6988eb92f8e6224422\",\n          \"blockNumber\": \"0xa2da83\",\n          \"blockTimestamp\": \"0x69e121a8\",\n          \"transactionHash\": \"0xc638ddb533af646d0fdffb5a8ef7548e7f1e744d020b8bf0a3b21a9c2c904e8a\",\n          \"transactionIndex\": \"0x40\",\n          \"logIndex\": \"0x120\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x18217d97582e0e5bf03f3408ff4569bb333bfbcd\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x5c5d0f00a58035a59511a0f79841fde1e855a0a332406c6988eb92f8e6224422\",\n          \"blockNumber\": \"0xa2da83\",\n          \"blockTimestamp\": \"0x69e121a8\",\n          \"transactionHash\": \"0xc638ddb533af646d0fdffb5a8ef7548e7f1e744d020b8bf0a3b21a9c2c904e8a\",\n          \"transactionIndex\": \"0x40\",\n          \"logIndex\": \"0x121\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x18217d97582e0e5bf03f3408ff4569bb333bfbcd\",\n          \"topics\": [\n            \"0x80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c85\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x5c5d0f00a58035a59511a0f79841fde1e855a0a332406c6988eb92f8e6224422\",\n          \"blockNumber\": \"0xa2da83\",\n          \"blockTimestamp\": \"0x69e121a8\",\n          \"transactionHash\": \"0xc638ddb533af646d0fdffb5a8ef7548e7f1e744d020b8bf0a3b21a9c2c904e8a\",\n          \"transactionIndex\": \"0x40\",\n          \"logIndex\": \"0x122\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x18217d97582e0e5bf03f3408ff4569bb333bfbcd\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n            \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x5c5d0f00a58035a59511a0f79841fde1e855a0a332406c6988eb92f8e6224422\",\n          \"blockNumber\": \"0xa2da83\",\n          \"blockTimestamp\": \"0x69e121a8\",\n          \"transactionHash\": \"0xc638ddb533af646d0fdffb5a8ef7548e7f1e744d020b8bf0a3b21a9c2c904e8a\",\n          \"transactionIndex\": \"0x40\",\n          \"logIndex\": \"0x123\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x18217d97582e0e5bf03f3408ff4569bb333bfbcd\",\n          \"topics\": [\n            \"0x80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c85\",\n            \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n            \"0x0000000000000000000000008074b32bd7d06c8f27596f3d6fbf867a36ea22a3\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x5c5d0f00a58035a59511a0f79841fde1e855a0a332406c6988eb92f8e6224422\",\n          \"blockNumber\": \"0xa2da83\",\n          \"blockTimestamp\": \"0x69e121a8\",\n          \"transactionHash\": \"0xc638ddb533af646d0fdffb5a8ef7548e7f1e744d020b8bf0a3b21a9c2c904e8a\",\n          \"transactionIndex\": \"0x40\",\n          \"logIndex\": \"0x124\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x18217d97582e0e5bf03f3408ff4569bb333bfbcd\",\n          \"topics\": [\n            \"0xfc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d2\",\n            \"0x000000000000000000000000db84125f2f4229c81c579f41bc129c71b174eb58\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0x5c5d0f00a58035a59511a0f79841fde1e855a0a332406c6988eb92f8e6224422\",\n          \"blockNumber\": \"0xa2da83\",\n          \"blockTimestamp\": \"0x69e121a8\",\n          \"transactionHash\": \"0xc638ddb533af646d0fdffb5a8ef7548e7f1e744d020b8bf0a3b21a9c2c904e8a\",\n          \"transactionIndex\": \"0x40\",\n          \"logIndex\": \"0x125\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x18217d97582e0e5bf03f3408ff4569bb333bfbcd\",\n          \"topics\": [\n            \"0xfc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d2\",\n            \"0x000000000000000000000000adc09b63a3ac57a2ce86d946617a18df9db029a1\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0x5c5d0f00a58035a59511a0f79841fde1e855a0a332406c6988eb92f8e6224422\",\n          \"blockNumber\": \"0xa2da83\",\n          \"blockTimestamp\": \"0x69e121a8\",\n          \"transactionHash\": \"0xc638ddb533af646d0fdffb5a8ef7548e7f1e744d020b8bf0a3b21a9c2c904e8a\",\n          \"transactionIndex\": \"0x40\",\n          \"logIndex\": \"0x126\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x18217d97582e0e5bf03f3408ff4569bb333bfbcd\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0x5c5d0f00a58035a59511a0f79841fde1e855a0a332406c6988eb92f8e6224422\",\n          \"blockNumber\": \"0xa2da83\",\n          \"blockTimestamp\": \"0x69e121a8\",\n          \"transactionHash\": \"0xc638ddb533af646d0fdffb5a8ef7548e7f1e744d020b8bf0a3b21a9c2c904e8a\",\n          \"transactionIndex\": \"0x40\",\n          \"logIndex\": \"0x127\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000400800200000000000000408000000000010000800000000000000040000000000000000000000000000002000000000000000000100000000000000000000000000000000000000002000001000000000000000000000000000000000020020000010040000000000800010000000000000000400000000000400000000000000002000000000000080000000000000080000000000000000000000008000008400000000000000400000000000000000000001000000000000000000020000400000000000000042000000000000000001400000000800020000000000000000000000000000000000200000400010000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xc638ddb533af646d0fdffb5a8ef7548e7f1e744d020b8bf0a3b21a9c2c904e8a\",\n      \"transactionIndex\": \"0x40\",\n      \"blockHash\": \"0x5c5d0f00a58035a59511a0f79841fde1e855a0a332406c6988eb92f8e6224422\",\n      \"blockNumber\": \"0xa2da83\",\n      \"gasUsed\": \"0x30f11\",\n      \"effectiveGasPrice\": \"0x3c47fff\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x18217d97582e0e5bf03f3408ff4569bb333bfbcd\",\n      \"contractAddress\": null\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x790dcb\",\n      \"logs\": [\n        {\n          \"address\": \"0x18217d97582e0e5bf03f3408ff4569bb333bfbcd\",\n          \"topics\": [\n            \"0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f\"\n          ],\n          \"data\": \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3\",\n          \"blockHash\": \"0x5c5d0f00a58035a59511a0f79841fde1e855a0a332406c6988eb92f8e6224422\",\n          \"blockNumber\": \"0xa2da83\",\n          \"blockTimestamp\": \"0x69e121a8\",\n          \"transactionHash\": \"0xa00103685c3ba36577070e79489d7e3c4738cca7700c43156edbc134bc0dd8e2\",\n          \"transactionIndex\": \"0x41\",\n          \"logIndex\": \"0x128\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xa00103685c3ba36577070e79489d7e3c4738cca7700c43156edbc134bc0dd8e2\",\n      \"transactionIndex\": \"0x41\",\n      \"blockHash\": \"0x5c5d0f00a58035a59511a0f79841fde1e855a0a332406c6988eb92f8e6224422\",\n      \"blockNumber\": \"0xa2da83\",\n      \"gasUsed\": \"0x6f3c\",\n      \"effectiveGasPrice\": \"0x3c47fff\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x18217d97582e0e5bf03f3408ff4569bb333bfbcd\",\n      \"contractAddress\": null\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x7fc0d2\",\n      \"logs\": [\n        {\n          \"address\": \"0x5a7da1d200af68f890b4568c258ad86ee805b35b\",\n          \"topics\": [\n            \"0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n          \"blockHash\": \"0x5c5d0f00a58035a59511a0f79841fde1e855a0a332406c6988eb92f8e6224422\",\n          \"blockNumber\": \"0xa2da83\",\n          \"blockTimestamp\": \"0x69e121a8\",\n          \"transactionHash\": \"0x97f81284cc0b4bbafdac439375ed3ed733cb10a8797b26ed96f5fb0867d95225\",\n          \"transactionIndex\": \"0x42\",\n          \"logIndex\": \"0x129\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000080000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x97f81284cc0b4bbafdac439375ed3ed733cb10a8797b26ed96f5fb0867d95225\",\n      \"transactionIndex\": \"0x42\",\n      \"blockHash\": \"0x5c5d0f00a58035a59511a0f79841fde1e855a0a332406c6988eb92f8e6224422\",\n      \"blockNumber\": \"0xa2da83\",\n      \"gasUsed\": \"0x6b307\",\n      \"effectiveGasPrice\": \"0x3c47fff\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": null,\n      \"contractAddress\": \"0x5a7da1d200af68f890b4568c258ad86ee805b35b\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1c95c23\",\n      \"logs\": [\n        {\n          \"address\": \"0x5a7da1d200af68f890b4568c258ad86ee805b35b\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x0000000000000000000000000319d7be06524f6817a30f3bdab541a064ff4dcf\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf2d7ea1eb9e832476a62299125cdc1223679e43a1902bb92b161dcf7d96787c6\",\n          \"blockNumber\": \"0xa2da84\",\n          \"blockTimestamp\": \"0x69e121b4\",\n          \"transactionHash\": \"0xb563f4e1b84fb19eeb683746db977700ebc5de704412beafc719566b769e0eda\",\n          \"transactionIndex\": \"0x89\",\n          \"logIndex\": \"0x261\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5a7da1d200af68f890b4568c258ad86ee805b35b\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0xf2d7ea1eb9e832476a62299125cdc1223679e43a1902bb92b161dcf7d96787c6\",\n          \"blockNumber\": \"0xa2da84\",\n          \"blockTimestamp\": \"0x69e121b4\",\n          \"transactionHash\": \"0xb563f4e1b84fb19eeb683746db977700ebc5de704412beafc719566b769e0eda\",\n          \"transactionIndex\": \"0x89\",\n          \"logIndex\": \"0x262\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000040002000000000000000000000000400000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000020000000000000000000040000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xb563f4e1b84fb19eeb683746db977700ebc5de704412beafc719566b769e0eda\",\n      \"transactionIndex\": \"0x89\",\n      \"blockHash\": \"0xf2d7ea1eb9e832476a62299125cdc1223679e43a1902bb92b161dcf7d96787c6\",\n      \"blockNumber\": \"0xa2da84\",\n      \"gasUsed\": \"0x17e22\",\n      \"effectiveGasPrice\": \"0x3a5b9c3\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x5a7da1d200af68f890b4568c258ad86ee805b35b\",\n      \"contractAddress\": null\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1c9cb5f\",\n      \"logs\": [\n        {\n          \"address\": \"0x5a7da1d200af68f890b4568c258ad86ee805b35b\",\n          \"topics\": [\n            \"0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f\"\n          ],\n          \"data\": \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3\",\n          \"blockHash\": \"0xf2d7ea1eb9e832476a62299125cdc1223679e43a1902bb92b161dcf7d96787c6\",\n          \"blockNumber\": \"0xa2da84\",\n          \"blockTimestamp\": \"0x69e121b4\",\n          \"transactionHash\": \"0x1d60720771fc6d1af632b9d5d17d52bb340b461a350f845d82615e886c484011\",\n          \"transactionIndex\": \"0x8a\",\n          \"logIndex\": \"0x263\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000080000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x1d60720771fc6d1af632b9d5d17d52bb340b461a350f845d82615e886c484011\",\n      \"transactionIndex\": \"0x8a\",\n      \"blockHash\": \"0xf2d7ea1eb9e832476a62299125cdc1223679e43a1902bb92b161dcf7d96787c6\",\n      \"blockNumber\": \"0xa2da84\",\n      \"gasUsed\": \"0x6f3c\",\n      \"effectiveGasPrice\": \"0x3a5b9c3\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x5a7da1d200af68f890b4568c258ad86ee805b35b\",\n      \"contractAddress\": null\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1d1e637\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xfb04408d90923b6a389f1fb5f60daa8a17a86f7fd8828dcd1aad31d7418032cd\",\n      \"transactionIndex\": \"0x8b\",\n      \"blockHash\": \"0xf2d7ea1eb9e832476a62299125cdc1223679e43a1902bb92b161dcf7d96787c6\",\n      \"blockNumber\": \"0xa2da84\",\n      \"gasUsed\": \"0x81ad8\",\n      \"effectiveGasPrice\": \"0x3a5b9c3\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": null,\n      \"contractAddress\": \"0xe049d99db72204480ceb7e94502dafe6f05e5c66\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1ff36b3\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xe4ecff3fdfdd408baeeeb625736a389cbc6804ae7ef016f491543d53e8d9b8c8\",\n      \"transactionIndex\": \"0x8c\",\n      \"blockHash\": \"0xf2d7ea1eb9e832476a62299125cdc1223679e43a1902bb92b161dcf7d96787c6\",\n      \"blockNumber\": \"0xa2da84\",\n      \"gasUsed\": \"0x2d507c\",\n      \"effectiveGasPrice\": \"0x3a5b9c3\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": null,\n      \"contractAddress\": \"0xf9a4733f2b709f37baa4c819f44ca4e8c935355c\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xcd15e5\",\n      \"logs\": [\n        {\n          \"address\": \"0x93a33057958deb25f7416dd3ec47cebccbadbbdf\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000ff\",\n          \"blockHash\": \"0x0c652effbdeb5ee9898e8f2c413d80a1ae8efabfa386ee0d41e6fb200567c76a\",\n          \"blockNumber\": \"0xa2da85\",\n          \"blockTimestamp\": \"0x69e121c0\",\n          \"transactionHash\": \"0x32a80d884d0cf90f0aaebc4b99ee0bc8cb206c7558f52691310323d79c54ccd6\",\n          \"transactionIndex\": \"0x48\",\n          \"logIndex\": \"0x154\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000002000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x32a80d884d0cf90f0aaebc4b99ee0bc8cb206c7558f52691310323d79c54ccd6\",\n      \"transactionIndex\": \"0x48\",\n      \"blockHash\": \"0x0c652effbdeb5ee9898e8f2c413d80a1ae8efabfa386ee0d41e6fb200567c76a\",\n      \"blockNumber\": \"0xa2da85\",\n      \"gasUsed\": \"0x3a93ed\",\n      \"effectiveGasPrice\": \"0x3bd8f80\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": null,\n      \"contractAddress\": \"0x93a33057958deb25f7416dd3ec47cebccbadbbdf\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x15f66a1\",\n      \"logs\": [\n        {\n          \"address\": \"0x4e7f7f41125247acb5844dc74f5704c5c53b78b0\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000ff\",\n          \"blockHash\": \"0x0c652effbdeb5ee9898e8f2c413d80a1ae8efabfa386ee0d41e6fb200567c76a\",\n          \"blockNumber\": \"0xa2da85\",\n          \"blockTimestamp\": \"0x69e121c0\",\n          \"transactionHash\": \"0xaf62cb8bdbc90aea3a3422f56f02195e5f4995cc091b0919607591b01bd8c527\",\n          \"transactionIndex\": \"0x6d\",\n          \"logIndex\": \"0x26b\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000100000000000000000100000000000000000000080000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xaf62cb8bdbc90aea3a3422f56f02195e5f4995cc091b0919607591b01bd8c527\",\n      \"transactionIndex\": \"0x6d\",\n      \"blockHash\": \"0x0c652effbdeb5ee9898e8f2c413d80a1ae8efabfa386ee0d41e6fb200567c76a\",\n      \"blockNumber\": \"0xa2da85\",\n      \"gasUsed\": \"0x17b00e\",\n      \"effectiveGasPrice\": \"0x3bd8f80\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": null,\n      \"contractAddress\": \"0x4e7f7f41125247acb5844dc74f5704c5c53b78b0\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x2fb2b70\",\n      \"logs\": [\n        {\n          \"address\": \"0x38eb04fb947cd8c49aac49f31a0bbfbd1c9ae443\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000ff\",\n          \"blockHash\": \"0xab71279f0367f36e7d0b7a15b4444ba68092e926a36cd444aa18bb9d94ca18b3\",\n          \"blockNumber\": \"0xa2da86\",\n          \"blockTimestamp\": \"0x69e121d8\",\n          \"transactionHash\": \"0x355bd0bdfc52553d5dd9fa5e2a11cac18cf2517a1c6ed77eafa382d3f288d25a\",\n          \"transactionIndex\": \"0xf0\",\n          \"logIndex\": \"0x5b7\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x355bd0bdfc52553d5dd9fa5e2a11cac18cf2517a1c6ed77eafa382d3f288d25a\",\n      \"transactionIndex\": \"0xf0\",\n      \"blockHash\": \"0xab71279f0367f36e7d0b7a15b4444ba68092e926a36cd444aa18bb9d94ca18b3\",\n      \"blockNumber\": \"0xa2da86\",\n      \"gasUsed\": \"0x150cb2\",\n      \"effectiveGasPrice\": \"0x3af9450\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": null,\n      \"contractAddress\": \"0x38eb04fb947cd8c49aac49f31a0bbfbd1c9ae443\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1776362103158,\n  \"chain\": 11155111,\n  \"commit\": \"2e318fa\"\n}"
  },
  {
    "path": "sepolia/2026-04-20-activate-multiproof/records/DeployMultiproofStack.s.sol/11155111/run-1776380209255.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xdad179d66f4fe78be0e82fcdff69bbd083039db61a3409c40866d09f36b64f6f\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"TEEProverRegistry\",\n      \"contractAddress\": \"0xf9ab55c35ce7fb183a50e611b63558499130d849\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x7D8EA07DB94128DBEe66bAfa3eBAa9668B413d72\",\n        \"0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x2194d2\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c06040523480156200001157600080fd5b5060405162002349380380620023498339810160408190526200003491620006a1565b6001600160a01b0381166200005c57604051635af9c0d760e11b815260040160405180910390fd5b6001600160a01b03828116608052811660a05260408051600080825260208201909252620000909161dead91829162000098565b50506200071e565b600054610100900460ff1615808015620000b95750600054600160ff909116105b80620000e95750620000d6306200031160201b62000aa71760201c565b158015620000e9575060005460ff166001145b620001525760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801562000176576000805461ff0019166101001790555b6200018062000320565b6200018b8562000388565b62000196846200040e565b6065805463ffffffff191663ffffffff841617905560005b8351811015620002c25760006001600160a01b0316848281518110620001d857620001d8620006e0565b60200260200101516001600160a01b031614620002ad576001606860008684815181106200020a576200020a620006e0565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055508381815181106200025e576200025e620006e0565b60200260200101516001600160a01b03167ffc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d26001604051620002a4911515815260200190565b60405180910390a25b80620002b981620006f6565b915050620001ae565b5080156200030a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b6001600160a01b03163b151590565b600054610100900460ff166200037c5760405162461bcd60e51b815260206004820152602b60248201526000805160206200232983398151915260448201526a6e697469616c697a696e6760a81b606482015260840162000149565b6200038662000493565b565b6200039262000505565b6001600160a01b038116620004005760405162461bcd60e51b815260206004820152602d60248201527f4f776e61626c654d616e616765643a206e6577206f776e65722069732074686560448201526c207a65726f206164647265737360981b606482015260840162000149565b6200040b8162000560565b50565b62000418620005b2565b6001600160a01b038116620004885760405162461bcd60e51b815260206004820152602f60248201527f4f776e61626c654d616e616765643a206e6577206d616e61676572206973207460448201526e6865207a65726f206164647265737360881b606482015260840162000149565b6200040b8162000639565b600054610100900460ff16620004ef5760405162461bcd60e51b815260206004820152602b60248201526000805160206200232983398151915260448201526a6e697469616c697a696e6760a81b606482015260840162000149565b620004fa3362000560565b620003863362000639565b6033546001600160a01b03163314620003865760405162461bcd60e51b8152602060048201526027602482015260008051602062002309833981519152604482015266329037bbb732b960c91b606482015260840162000149565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6033546001600160a01b0316331480620005d657506034546001600160a01b031633145b620003865760405162461bcd60e51b815260206004820152603660248201526000805160206200230983398151915260448201527f65206f776e6572206f7220746865206d616e6167657200000000000000000000606482015260840162000149565b603480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c8590600090a35050565b6001600160a01b03811681146200040b57600080fd5b60008060408385031215620006b557600080fd5b8251620006c2816200068b565b6020840151909250620006d5816200068b565b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b6000600182016200071757634e487b7160e01b600052601160045260246000fd5b5060010190565b60805160a051611bb762000752600039600081816101ff0152610d9e0152600081816102ac01526107340152611bb76000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806394a277d1116100b8578063d25600561161007c578063d2560056146102ce578063d5f5058214610301578063e4edf85214610314578063e8533e2914610327578063e9ed9b641461034a578063f2fde38b1461035d57600080fd5b806394a277d11461025257806394b2822f1461025a578063ba58e82a1461026f578063bbdc02db14610282578063c80d23f6146102a757600080fd5b806354fd4d501161010a57806354fd4d50146101b85780636666efdb146101df578063715018a6146101f257806382ff53a1146101fa57806386b4ebd3146102215780638da5cb5b1461024157600080fd5b8063089208d8146101475780630ba24fe0146101515780630dcaeaf2146101645780632712e20d14610180578063481c6a7514610193575b600080fd5b61014f610370565b005b61014f61015f366004611285565b610384565b61016d610e1081565b6040519081526020015b60405180910390f35b61014f61018e36600461137a565b6103fa565b6034546001600160a01b03165b6040516001600160a01b039091168152602001610177565b60408051808201825260058152640302e352e360dc1b602082015290516101779190611481565b61014f6101ed3660046114b4565b610644565b61014f6106e5565b6101a07f000000000000000000000000000000000000000000000000000000000000000081565b61016d61022f366004611285565b60676020526000908152604090205481565b6033546001600160a01b03166101a0565b61016d6106f7565b610262610706565b60405161017791906114cf565b61014f61027d366004611565565b610712565b6065546102929063ffffffff1681565b60405163ffffffff9091168152602001610177565b6101a07f000000000000000000000000000000000000000000000000000000000000000081565b6102f16102dc366004611285565b60666020526000908152604090205460ff1681565b6040519015158152602001610177565b6102f161030f366004611285565b6108f5565b61014f610322366004611285565b610941565b6102f1610335366004611285565b60686020526000908152604090205460ff1681565b61014f6103583660046115d1565b6109c3565b61014f61036b366004611285565b610a2a565b610378610ab6565b6103826000610b44565b565b61038c610ab6565b6001600160a01b0381166000908152606660209081526040808320805460ff1916905560679091528120556103c2606982610b96565b506040516001600160a01b038216907fb64c2e472ebdc8f61a76438be3074f3e38569b2ebd8a9cc71dcc9b181defd78e90600090a250565b600054610100900460ff161580801561041a5750600054600160ff909116105b806104345750303b158015610434575060005460ff166001145b61049c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156104bf576000805461ff0019166101001790555b6104c7610ce1565b6104d085610a2a565b6104d984610941565b6065805463ffffffff191663ffffffff841617905560005b83518110156105f65760006001600160a01b03168482815181106105175761051761160f565b60200260200101516001600160a01b0316146105e4576001606860008684815181106105455761054561160f565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055508381815181106105965761059661160f565b60200260200101516001600160a01b03167ffc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d260016040516105db911515815260200190565b60405180910390a25b806105ee8161163b565b9150506104f1565b50801561063d576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b61064c610d10565b6065805463ffffffff83811663ffffffff1983161790925516600061066f610d7a565b9050806106a7576065805463ffffffff841663ffffffff19909116179055604080516313d0866160e11b815290519081900360040190fd5b60405163ffffffff841681527fde7d61181e5b13fcab68f1d4a0be52854e613272de874356f9d0102594aa4e9b9060200160405180910390a1505050565b6106ed610d10565b6103826000610ee5565b6000610701610d7a565b905090565b60606107016069610f37565b61071a610ab6565b604051636d114be360e01b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636d114be390610772908890889060019089908990600401611693565b6000604051808303816000875af1158015610791573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107b9919081019061192b565b90506001815160048111156107d0576107d061167d565b146107ee576040516320dd787760e11b815260040160405180910390fd5b42610e106103e8836040015167ffffffffffffffff1661080e9190611aaa565b6108189190611acc565b116108365760405163696bbf1f60e01b815260040160405180910390fd5b600061084682610100015161100c565b60e08301518051919250906041146108715760405163145a1fdd60e31b815260040160405180910390fd5b6040602182018190206001600160a01b038116600090815260666020908152838220805460ff191660011790556067905291909120839055806108b56069826110e3565b506040516001600160a01b038216907f97110439909bcbb4488918a0cbe54781949ecf5d1415e972bf922a92df93fb3f90600090a2505050505050505050565b6001600160a01b03811660009081526066602052604081205460ff16801561093b5750610920610d7a565b6001600160a01b038316600090815260676020526040902054145b92915050565b610949610ab6565b6001600160a01b0381166109b75760405162461bcd60e51b815260206004820152602f60248201527f4f776e61626c654d616e616765643a206e6577206d616e61676572206973207460448201526e6865207a65726f206164647265737360881b6064820152608401610493565b6109c081610b44565b50565b6109cb610d10565b6001600160a01b038216600081815260686020908152604091829020805460ff191685151590811790915591519182527ffc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d2910160405180910390a25050565b610a32610d10565b6001600160a01b038116610a9e5760405162461bcd60e51b815260206004820152602d60248201527f4f776e61626c654d616e616765643a206e6577206f776e65722069732074686560448201526c207a65726f206164647265737360981b6064820152608401610493565b6109c081610ee5565b6001600160a01b03163b151590565b6033546001600160a01b0316331480610ad957506034546001600160a01b031633145b6103825760405162461bcd60e51b815260206004820152603660248201527f4f776e61626c654d616e616765643a2063616c6c6572206973206e6f74207468604482015275329037bbb732b91037b9103a34329036b0b730b3b2b960511b6064820152608401610493565b603480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c8590600090a35050565b63978aab926004526000828152602481206001600160a01b03929092169168fbb67fda52d4bfb8be198301610bd35763f5a267f16000526004601cfd5b82610be55768fbb67fda52d4bfb8bf92505b80546bffffffffffffffffffffffff811680610c685760019350848260601c03610c2357600183018054845560028401805490915560009055610cd8565b84600184015460601c03610c4557600283018054600185015560009055610cd8565b84600284015460601c03610c5f5760006002840155610cd8565b60009350610cd8565b82602052846000526040600020805480610c83575050610cd8565b60018360011c039250826001820314610cbb578285015460601c8060601b600183038701556000848701558060005250806040600020555b5060018260011b17845460601c60601b1784556000815550600193505b50505092915050565b600054610100900460ff16610d085760405162461bcd60e51b815260040161049390611ae4565b610382611237565b6033546001600160a01b031633146103825760405162461bcd60e51b815260206004820152602760248201527f4f776e61626c654d616e616765643a2063616c6c6572206973206e6f74207468604482015266329037bbb732b960c91b6064820152608401610493565b606554604051630db42dcf60e11b815263ffffffff909116600482015260009081907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631b685b9e90602401602060405180830381865afa158015610ded573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e119190611b2f565b60408051600481526024810182526020810180516001600160e01b03166260ff5160e21b179052905191925060009182916001600160a01b03851691610e579190611b4c565b600060405180830381855afa9150503d8060008114610e92576040519150601f19603f3d011682016040523d82523d6000602084013e610e97565b606091505b5091509150811580610eab57508051602014155b15610ec957604051639fb4826960e01b815260040160405180910390fd5b80806020019051810190610edd9190611b68565b935050505090565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b63978aab926004526000818152602481206060915068fbb67fda52d4bfb8bf81548060a01b60a01c6040519450846020018260601c9250838314158302815281610fc6578215610fc157600191508185015460601c92508215610fc1578284141590920260208301525060028381015460601c918215610fc1576003915083831415830260408201525b610ff6565b600191821c915b82811015610ff4578581015460601c858114158102600583901b8401529350600101610fcd565b505b8186528160051b81016040525050505050919050565b6000805b82518110156110c95782818151811061102b5761102b61160f565b60200260200101516000015167ffffffffffffffff166000036110b757600083828151811061105c5761105c61160f565b6020026020010151602001519050806000015181602001516040516020016110989291909182526001600160801b031916602082015260300190565b6040516020818303038152906040528051906020012092505050919050565b806110c18161163b565b915050611010565b506040516385269c3d60e01b815260040160405180910390fd5b63978aab926004526000828152602481206001600160a01b03929092169168fbb67fda52d4bfb8be1983016111205763f5a267f16000526004601cfd5b826111325768fbb67fda52d4bfb8bf92505b80546bffffffffffffffffffffffff811682602052806111fa578160601c80611165578560601b84556001945050610cd8565b8581036111725750610cd8565b600184015460601c80611193578660601b6001860155600195505050610cd8565b8681036111a1575050610cd8565b600285015460601c806111c3578760601b600287015560019650505050610cd8565b8781036111d257505050610cd8565b6000928352604080842060019055918352818320600290558252902060039055506007908117905b846000526040600020805461122d578160011c91508560601b828501558160010181558260020184556001945050610cd8565b5050505092915050565b600054610100900460ff1661125e5760405162461bcd60e51b815260040161049390611ae4565b61126733610ee5565b61038233610b44565b6001600160a01b03811681146109c057600080fd5b60006020828403121561129757600080fd5b81356112a281611270565b9392505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156112e2576112e26112a9565b60405290565b604051610140810167ffffffffffffffff811182821017156112e2576112e26112a9565b604051601f8201601f1916810167ffffffffffffffff81118282101715611335576113356112a9565b604052919050565b600067ffffffffffffffff821115611357576113576112a9565b5060051b60200190565b803563ffffffff8116811461137557600080fd5b919050565b6000806000806080858703121561139057600080fd5b843561139b81611270565b93506020858101356113ac81611270565b9350604086013567ffffffffffffffff8111156113c857600080fd5b8601601f810188136113d957600080fd5b80356113ec6113e78261133d565b61130c565b81815260059190911b8201830190838101908a83111561140b57600080fd5b928401925b8284101561143257833561142381611270565b82529284019290840190611410565b809650505050505061144660608601611361565b905092959194509250565b60005b8381101561146c578181015183820152602001611454565b8381111561147b576000848401525b50505050565b60208152600082518060208401526114a0816040850160208701611451565b601f01601f19169190910160400192915050565b6000602082840312156114c657600080fd5b6112a282611361565b6020808252825182820181905260009190848201906040850190845b818110156115105783516001600160a01b0316835292840192918401916001016114eb565b50909695505050505050565b60008083601f84011261152e57600080fd5b50813567ffffffffffffffff81111561154657600080fd5b60208301915083602082850101111561155e57600080fd5b9250929050565b6000806000806040858703121561157b57600080fd5b843567ffffffffffffffff8082111561159357600080fd5b61159f8883890161151c565b909650945060208701359150808211156115b857600080fd5b506115c58782880161151c565b95989497509550505050565b600080604083850312156115e457600080fd5b82356115ef81611270565b91506020830135801515811461160457600080fd5b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161164d5761164d611625565b5060010190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b634e487b7160e01b600052602160045260246000fd5b6060815260006116a7606083018789611654565b600386106116c557634e487b7160e01b600052602160045260246000fd5b85602084015282810360408401526116de818587611654565b98975050505050505050565b80516005811061137557600080fd5b805160ff8116811461137557600080fd5b805167ffffffffffffffff8116811461137557600080fd5b600082601f83011261173357600080fd5b815160206117436113e78361133d565b82815260059290921b8401810191818101908684111561176257600080fd5b8286015b8481101561177d5780518352918301918301611766565b509695505050505050565b600082601f83011261179957600080fd5b815160206117a96113e78361133d565b82815260059290921b840181019181810190868411156117c857600080fd5b8286015b8481101561177d576117dd8161170a565b83529183019183016117cc565b600082601f8301126117fb57600080fd5b815167ffffffffffffffff811115611815576118156112a9565b611828601f8201601f191660200161130c565b81815284602083860101111561183d57600080fd5b61184e826020830160208701611451565b949350505050565b600082601f83011261186757600080fd5b815160206118776113e78361133d565b8281526060928302850182019282820191908785111561189657600080fd5b8387015b8581101561191e57808903828112156118b35760008081fd5b6118bb6112bf565b6118c48361170a565b8152604080601f19840112156118da5760008081fd5b6118e26112bf565b848901518152908401519092506001600160801b0319811681146119065760008081fd5b8288015280870191909152845292840192810161189a565b5090979650505050505050565b60006020828403121561193d57600080fd5b815167ffffffffffffffff8082111561195557600080fd5b90830190610140828603121561196a57600080fd5b6119726112e8565b61197b836116ea565b8152611989602084016116f9565b602082015261199a6040840161170a565b60408201526060830151828111156119b157600080fd5b6119bd87828601611722565b6060830152506080830151828111156119d557600080fd5b6119e187828601611788565b60808301525060a0830151828111156119f957600080fd5b611a05878286016117ea565b60a08301525060c083015182811115611a1d57600080fd5b611a29878286016117ea565b60c08301525060e083015182811115611a4157600080fd5b611a4d878286016117ea565b60e0830152506101008084015183811115611a6757600080fd5b611a7388828701611856565b8284015250506101208084015183811115611a8d57600080fd5b611a99888287016117ea565b918301919091525095945050505050565b600082611ac757634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115611adf57611adf611625565b500190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600060208284031215611b4157600080fd5b81516112a281611270565b60008251611b5e818460208701611451565b9190910192915050565b600060208284031215611b7a57600080fd5b505191905056fea26469706673582212201aa0594fce9b9d58a7aed0b48829faf3a3ecd9e52da47d33983c9406af66148064736f6c634300080f00334f776e61626c654d616e616765643a2063616c6c6572206973206e6f74207468496e697469616c697a61626c653a20636f6e7472616374206973206e6f7420690000000000000000000000007d8ea07db94128dbee66bafa3ebaa9668b413d72000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n        \"nonce\": \"0x16a\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x59c3ce9ec119d94cb1c75fe9d354fa85aeb9f3470855c7ded204b2a37206ec9b\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"DelayedWETH\",\n      \"contractAddress\": \"0xbbfdb04121b74d8ae7f53fd5238ddef133ab977a\",\n      \"function\": null,\n      \"arguments\": [\n        \"86400\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x165c8c\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c060405234801561001057600080fd5b5060405161144138038061144183398101604081905261002f91610106565b600160805260a0819052610041610047565b5061011f565b600054610100900460ff16156100b35760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614610104576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60006020828403121561011857600080fd5b5051919050565b60805160a0516112ef6101526000396000818161035d0152610f2d0152600081816102e40152610c2401526112ef6000f3fe60806040526004361061016a5760003560e01c806370a08231116100d1578063a9059cbb1161008a578063d0e30db011610064578063d0e30db014610179578063dad544e0146104ed578063dd62ed3e14610502578063f3fef3a31461054857610179565b8063a9059cbb14610459578063c4d66de814610479578063cd47bde11461049957610179565b806370a082311461038157806379502c55146103b75780637eee288d146103cc57806395d89b41146103ec578063977a5ec514610419578063a7e21e801461043957610179565b8063313ce56711610123578063313ce5671461027657806333d7e2bd1461029d57806338d38c97146102d55780633e47158c1461030857806354fd4d501461031d5780636a42b8f81461034e57610179565b806306fdde0314610181578063095ea7b3146101c95780630ca35682146101f957806318160ddd1461021957806323b872dd146102365780632e1a7d4d1461025657610179565b3661017957610177610568565b005b610177610568565b34801561018d57600080fd5b5060408051808201909152600d81526c2bb930b83832b21022ba3432b960991b60208201525b6040516101c091906110d0565b60405180910390f35b3480156101d557600080fd5b506101e96101e436600461113a565b6105c3565b60405190151581526020016101c0565b34801561020557600080fd5b50610177610214366004611166565b61062f565b34801561022557600080fd5b50475b6040519081526020016101c0565b34801561024257600080fd5b506101e961025136600461117f565b610746565b34801561026257600080fd5b50610177610271366004611166565b6108a0565b34801561028257600080fd5b5061028b601281565b60405160ff90911681526020016101c0565b3480156102a957600080fd5b506004546102bd906001600160a01b031681565b6040516001600160a01b0390911681526020016101c0565b3480156102e157600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061028b565b34801561031457600080fd5b506102bd6108ad565b34801561032957600080fd5b506101b3604051806040016040528060058152602001640312e352e360dc1b81525081565b34801561035a57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610228565b34801561038d57600080fd5b5061022861039c3660046111c0565b6001600160a01b031660009081526001602052604090205490565b3480156103c357600080fd5b506102bd610a5f565b3480156103d857600080fd5b506101776103e736600461113a565b610add565b3480156103f857600080fd5b506040805180820190915260048152630ae8aa8960e31b60208201526101b3565b34801561042557600080fd5b5061017761043436600461113a565b610b24565b34801561044557600080fd5b506101776104543660046111c0565b610beb565b34801561046557600080fd5b506101e961047436600461113a565b610c0e565b34801561048557600080fd5b506101776104943660046111c0565b610c22565b3480156104a557600080fd5b506104d86104b43660046111dd565b60036020908152600092835260408084209091529082529020805460019091015482565b604080519283526020830191909152016101c0565b3480156104f957600080fd5b506102bd610d41565b34801561050e57600080fd5b5061022861051d3660046111dd565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561055457600080fd5b5061017761056336600461113a565b610d88565b336000908152600160205260408120805434929061058790849061122c565b909155505060405134815233907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9060200160405180910390a2565b3360008181526002602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061061e9086815260200190565b60405180910390a350600192915050565b610637610d41565b6001600160a01b0316336001600160a01b0316146106955760405162461bcd60e51b81526020600482015260166024820152752232b630bcb2b22ba2aa241d103737ba1037bbb732b960511b60448201526064015b60405180910390fd5b60004782106106a457476106a6565b815b604051909150600090339083908381818185875af1925050503d80600081146106eb576040519150601f19603f3d011682016040523d82523d6000602084013e6106f0565b606091505b50509050806107415760405162461bcd60e51b815260206004820152601b60248201527f44656c61796564574554483a207265636f766572206661696c65640000000000604482015260640161068c565b505050565b6001600160a01b03831660009081526001602052604081205482111561076b57600080fd5b6001600160a01b03841660008181526002602090815260408083203380855292529091205491148015906107a157506000198114155b156107ec57828110156107b357600080fd5b6001600160a01b0385166000908152600260209081526040808320338452909152812080548592906107e6908490611244565b90915550505b6001600160a01b03851660009081526001602052604081208054859290610814908490611244565b90915550506001600160a01b0384166000908152600160205260408120805485929061084190849061122c565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161088d91815260200190565b60405180910390a3506001949350505050565b6108aa3382610d88565b50565b6000806108d87fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b90506001600160a01b038116156108ee57919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000815250516002610931919061125b565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000919091179061098c906060015b604051602081830303815290604052805190602001205490565b146109aa576040516354e433cd60e01b815260040160405180910390fd5b604080513060208201526001918101919091526000906109cc90606001610972565b90506001600160a01b03811615610a4657806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3f919061127a565b9250505090565b60405163332144db60e01b815260040160405180910390fd5b6000600460009054906101000a90046001600160a01b03166001600160a01b03166335e80ab36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ab4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad8919061127a565b905090565b3360009081526003602090815260408083206001600160a01b03861684529091528120426001820155805490918391839190610b1a90849061122c565b9091555050505050565b610b2c610d41565b6001600160a01b0316336001600160a01b031614610b855760405162461bcd60e51b81526020600482015260166024820152752232b630bcb2b22ba2aa241d103737ba1037bbb732b960511b604482015260640161068c565b6001600160a01b03821660008181526002602090815260408083203380855290835292819020859055518481529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3610741823383610746565b6108aa81610434836001600160a01b031660009081526001602052604090205490565b6000610c1b338484610746565b9392505050565b7f0000000000000000000000000000000000000000000000000000000000000000600054610100900460ff16158015610c62575060005460ff8083169116105b610cc55760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161068c565b6000805461ffff191660ff831617610100179055610ce1610fda565b600480546001600160a01b0319166001600160a01b0384161790556000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6000610d4b6108ad565b6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ab4573d6000803e3d6000fd5b6004805460408051635c975abb60e01b815290516001600160a01b0390921692635c975abb9282820192602092908290030181865afa158015610dcf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df39190611297565b15610e405760405162461bcd60e51b815260206004820152601f60248201527f44656c61796564574554483a20636f6e74726163742069732070617573656400604482015260640161068c565b3360009081526003602090815260408083206001600160a01b038616845290915290208054821115610eca5760405162461bcd60e51b815260206004820152602d60248201527f44656c61796564574554483a20696e73756666696369656e7420756e6c6f636b60448201526c1959081dda5d1a191c985dd85b609a1b606482015260840161068c565b6000816001015411610f2a5760405162461bcd60e51b8152602060048201526024808201527f44656c61796564574554483a207769746864726177616c206e6f7420756e6c6f60448201526318dad95960e21b606482015260840161068c565b427f00000000000000000000000000000000000000000000000000000000000000008260010154610f5b919061122c565b1115610fb75760405162461bcd60e51b815260206004820152602560248201527f44656c61796564574554483a207769746864726177616c2064656c6179206e6f6044820152641d081b595d60da1b606482015260840161068c565b81816000016000828254610fcb9190611244565b9091555061074190508261102a565b33610fe36108ad565b6001600160a01b03161415801561100a575033610ffe610d41565b6001600160a01b031614155b1561102857604051636202851360e11b815260040160405180910390fd5b565b3360009081526001602052604090205481111561104657600080fd5b3360009081526001602052604081208054839290611065908490611244565b9091555050604051339082156108fc029083906000818181858888f19350505050158015611097573d6000803e3d6000fd5b5060405181815233907f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b659060200160405180910390a250565b600060208083528351808285015260005b818110156110fd578581018301518582016040015282016110e1565b8181111561110f576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146108aa57600080fd5b6000806040838503121561114d57600080fd5b823561115881611125565b946020939093013593505050565b60006020828403121561117857600080fd5b5035919050565b60008060006060848603121561119457600080fd5b833561119f81611125565b925060208401356111af81611125565b929592945050506040919091013590565b6000602082840312156111d257600080fd5b8135610c1b81611125565b600080604083850312156111f057600080fd5b82356111fb81611125565b9150602083013561120b81611125565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b6000821982111561123f5761123f611216565b500190565b60008282101561125657611256611216565b500390565b600081600019048311821515161561127557611275611216565b500290565b60006020828403121561128c57600080fd5b8151610c1b81611125565b6000602082840312156112a957600080fd5b81518015158114610c1b57600080fdfea264697066735822122033c67988de809e4c5b2b93a62924bf8a4a8026929b429359ecf0d885e5c557a064736f6c634300080f00330000000000000000000000000000000000000000000000000000000000015180\",\n        \"nonce\": \"0x16b\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x31fd5cf26e4a19b991d5e8acf2d3dbb2b513453bb009b4f51c2781014465cb14\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0xf0d7e15673fba052e83d7f2b26bb6071e86b972e\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x8C1a617BdB47342F9C17Ac8750E0b070c372C721\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x8b589\",\n        \"value\": \"0x0\",\n        \"input\": \"0x608060405234801561001057600080fd5b5060405161078e38038061078e83398101604081905261002f916100b5565b6100388161003e565b506100e5565b600061005660008051602061076e8339815191525490565b60008051602061076e833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61067a806100f46000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100ae5780638f283970146100db578063f851a440146100fb5761005d565b3661005d5761005b610110565b005b61005b610110565b34801561007157600080fd5b5061005b610080366004610521565b6101c8565b61009861009336600461053c565b61020e565b6040516100a591906105bf565b60405180910390f35b3480156100ba57600080fd5b506100c361033e565b6040516001600160a01b0390911681526020016100a5565b3480156100e757600080fd5b5061005b6100f6366004610521565b6103a9565b34801561010757600080fd5b506100c36103e4565b600061013a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90506001600160a01b0381166101a55760405162461bcd60e51b815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e697469616044820152641b1a5e995960da1b60648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e806101c2573d6000fd5b503d6000f35b600080516020610625833981519152546001600160a01b0316336001600160a01b031614806101f5575033155b156102065761020381610432565b50565b610203610110565b60606102266000805160206106258339815191525490565b6001600160a01b0316336001600160a01b03161480610243575033155b1561032f5761025184610432565b600080856001600160a01b0316858560405161026e929190610614565b600060405180830381855af49150503d80600081146102a9576040519150601f19603f3d011682016040523d82523d6000602084013e6102ae565b606091505b5091509150816103265760405162461bcd60e51b815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c656400000000000000606482015260840161019c565b91506103379050565b610337610110565b9392505050565b60006103566000805160206106258339815191525490565b6001600160a01b0316336001600160a01b03161480610373575033155b1561039e57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6103a6610110565b90565b600080516020610625833981519152546001600160a01b0316336001600160a01b031614806103d6575033155b15610206576102038161048e565b60006103fc6000805160206106258339815191525490565b6001600160a01b0316336001600160a01b03161480610419575033155b1561039e57506000805160206106258339815191525490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8181556040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006104a66000805160206106258339815191525490565b600080516020610625833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b80356001600160a01b038116811461051c57600080fd5b919050565b60006020828403121561053357600080fd5b61033782610505565b60008060006040848603121561055157600080fd5b61055a84610505565b9250602084013567ffffffffffffffff8082111561057757600080fd5b818601915086601f83011261058b57600080fd5b81358181111561059a57600080fd5b8760208285010111156105ac57600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156105ec578581018301518582016040015282016105d0565b818111156105fe576000604083870101525b50601f01601f1916929092016040019392505050565b818382376000910190815291905056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103a2646970667358221220e57aa3e97a31d2fac4bc10410d79155cadf30ff00bb10cb44a6bb3913b6877c264736f6c634300080f0033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61030000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"nonce\": \"0x16c\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xa219d2720328e8fcc0468d160fe2a1a770dfec9423a2658a7bd4acdacc8b06a1\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0xf0d7e15673fba052e83d7f2b26bb6071e86b972e\",\n      \"function\": \"upgradeToAndCall(address,bytes)\",\n      \"arguments\": [\n        \"0xF9Ab55c35cE7Fb183A50E611B63558499130D849\",\n        \"0x2712e20d000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000008074b32bd7d06c8f27596f3d6fbf867a36ea22a30000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000026d0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000db84125f2f4229c81c579f41bc129c71b174eb58000000000000000000000000adc09b63a3ac57a2ce86d946617a18df9db029a1\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"to\": \"0xf0d7e15673fba052e83d7f2b26bb6071e86b972e\",\n        \"gas\": \"0x4793b\",\n        \"value\": \"0x0\",\n        \"input\": \"0x4f1ef286000000000000000000000000f9ab55c35ce7fb183a50e611b63558499130d849000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000e42712e20d000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000008074b32bd7d06c8f27596f3d6fbf867a36ea22a30000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000026d0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000db84125f2f4229c81c579f41bc129c71b174eb58000000000000000000000000adc09b63a3ac57a2ce86d946617a18df9db029a100000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x16d\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x07132522019e9db3d047686d4f7a713af71b980744395157bf31c8f7695b0a69\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0xf0d7e15673fba052e83d7f2b26bb6071e86b972e\",\n      \"function\": \"changeAdmin(address)\",\n      \"arguments\": [\n        \"0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"to\": \"0xf0d7e15673fba052e83d7f2b26bb6071e86b972e\",\n        \"gas\": \"0x99a3\",\n        \"value\": \"0x0\",\n        \"input\": \"0x8f2839700000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3\",\n        \"nonce\": \"0x16e\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x10b17f72ad2374799114d5fd04ae067f065aa3f88157b3c0f5f42c7c100bd529\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0xd6e2d9d4f1f8865ac983ee848983fb1979429914\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x8C1a617BdB47342F9C17Ac8750E0b070c372C721\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x8b589\",\n        \"value\": \"0x0\",\n        \"input\": \"0x608060405234801561001057600080fd5b5060405161078e38038061078e83398101604081905261002f916100b5565b6100388161003e565b506100e5565b600061005660008051602061076e8339815191525490565b60008051602061076e833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61067a806100f46000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100ae5780638f283970146100db578063f851a440146100fb5761005d565b3661005d5761005b610110565b005b61005b610110565b34801561007157600080fd5b5061005b610080366004610521565b6101c8565b61009861009336600461053c565b61020e565b6040516100a591906105bf565b60405180910390f35b3480156100ba57600080fd5b506100c361033e565b6040516001600160a01b0390911681526020016100a5565b3480156100e757600080fd5b5061005b6100f6366004610521565b6103a9565b34801561010757600080fd5b506100c36103e4565b600061013a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90506001600160a01b0381166101a55760405162461bcd60e51b815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e697469616044820152641b1a5e995960da1b60648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e806101c2573d6000fd5b503d6000f35b600080516020610625833981519152546001600160a01b0316336001600160a01b031614806101f5575033155b156102065761020381610432565b50565b610203610110565b60606102266000805160206106258339815191525490565b6001600160a01b0316336001600160a01b03161480610243575033155b1561032f5761025184610432565b600080856001600160a01b0316858560405161026e929190610614565b600060405180830381855af49150503d80600081146102a9576040519150601f19603f3d011682016040523d82523d6000602084013e6102ae565b606091505b5091509150816103265760405162461bcd60e51b815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c656400000000000000606482015260840161019c565b91506103379050565b610337610110565b9392505050565b60006103566000805160206106258339815191525490565b6001600160a01b0316336001600160a01b03161480610373575033155b1561039e57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6103a6610110565b90565b600080516020610625833981519152546001600160a01b0316336001600160a01b031614806103d6575033155b15610206576102038161048e565b60006103fc6000805160206106258339815191525490565b6001600160a01b0316336001600160a01b03161480610419575033155b1561039e57506000805160206106258339815191525490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8181556040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006104a66000805160206106258339815191525490565b600080516020610625833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b80356001600160a01b038116811461051c57600080fd5b919050565b60006020828403121561053357600080fd5b61033782610505565b60008060006040848603121561055157600080fd5b61055a84610505565b9250602084013567ffffffffffffffff8082111561057757600080fd5b818601915086601f83011261058b57600080fd5b81358181111561059a57600080fd5b8760208285010111156105ac57600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156105ec578581018301518582016040015282016105d0565b818111156105fe576000604083870101525b50601f01601f1916929092016040019392505050565b818382376000910190815291905056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103a2646970667358221220e57aa3e97a31d2fac4bc10410d79155cadf30ff00bb10cb44a6bb3913b6877c264736f6c634300080f0033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61030000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"nonce\": \"0x16f\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x28b0670948f0fdff6c8193a8334c9c15976696e9c86cda20e960671964b900c3\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0xd6e2d9d4f1f8865ac983ee848983fb1979429914\",\n      \"function\": \"upgradeToAndCall(address,bytes)\",\n      \"arguments\": [\n        \"0xbbFDB04121B74D8ae7F53fD5238DDEf133AB977a\",\n        \"0xc4d66de8000000000000000000000000f272670eb55e895584501d564afeb048bed26194\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"to\": \"0xd6e2d9d4f1f8865ac983ee848983fb1979429914\",\n        \"gas\": \"0x22ede\",\n        \"value\": \"0x0\",\n        \"input\": \"0x4f1ef286000000000000000000000000bbfdb04121b74d8ae7f53fd5238ddef133ab977a00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x170\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x2bd3dadd120da27b9b45954166543fa2965ca36a46390348b528dd2ef7848863\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0xd6e2d9d4f1f8865ac983ee848983fb1979429914\",\n      \"function\": \"changeAdmin(address)\",\n      \"arguments\": [\n        \"0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"to\": \"0xd6e2d9d4f1f8865ac983ee848983fb1979429914\",\n        \"gas\": \"0x99a3\",\n        \"value\": \"0x0\",\n        \"input\": \"0x8f2839700000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3\",\n        \"nonce\": \"0x171\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xfb891efb7d3164d3d1ed0a2b296639981227fc4cebf988ab0c4a1ab5489e2cff\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"TEEVerifier\",\n      \"contractAddress\": \"0x92f6dd3501e51b8b20c77b959becaaebeb210e17\",\n      \"function\": null,\n      \"arguments\": [\n        \"0xf0d7E15673fBA052e83d7f2b26BB6071E86b972e\",\n        \"0x2fF5cC82dBf333Ea30D8ee462178ab1707315355\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0xa894c\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c060405234801561001057600080fd5b5060405161097c38038061097c83398101604081905261002f9161005e565b6001600160a01b039081166080521660a052610098565b6001600160a01b038116811461005b57600080fd5b50565b6000806040838503121561007157600080fd5b825161007c81610046565b602084015190925061008d81610046565b809150509250929050565b60805160a05161089e6100de60003960008181606c01528181610245015281816102fc01526103b101526000818160d70152818161047001526104ff015261089e6000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806318efb9c21461006757806354fd4d50146100ab5780635e02132e146100d2578063ab750e75146100f9578063ece20f361461011c578063f9df65eb14610126575b600080fd5b61008e7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b60408051808201825260058152640302e322e360dc1b602082015290516100a291906106dd565b61008e7f000000000000000000000000000000000000000000000000000000000000000081565b61010c610107366004610732565b610133565b60405190151581526020016100a2565b61012461045b565b005b60005461010c9060ff1681565b6000805460ff161561015857604051632f3cfa1960e21b815260040160405180910390fd5b605584101561017a57604051632d0e1a9d60e11b815260040160405180910390fd5b600061018960148287896107b1565b610192916107db565b60601c90503660006101a860556014898b6107b1565b915091506000806101ef8785858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506105d492505050565b9092509050600081600481111561020857610208610810565b1461022657604051638baa579f60e01b815260040160405180910390fd5b60405163e8533e2960e01b81526001600160a01b0386811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063e8533e2990602401602060405180830381865afa15801561028c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b09190610826565b6102dd576040516377f1708f60e01b81526001600160a01b03861660048201526024015b60405180910390fd5b60405163692b002b60e11b81526001600160a01b0383811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063d256005690602401602060405180830381865afa158015610343573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103679190610826565b61038f5760405163bf18af4360e01b81526001600160a01b03831660048201526024016102d4565b6040516386b4ebd360e01b81526001600160a01b0383811660048301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906386b4ebd390602401602060405180830381865afa1580156103fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061041e919061084f565b905088811461044a5760405163415e3f9d60e01b815260048101829052602481018a90526044016102d4565b5060019a9950505050505050505050565b6040516324b5ce0b60e11b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa1580156104bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e39190610826565b158061057457506040516304e50fed60e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906304e50fed90602401602060405180830381865afa15801561054e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105729190610826565b155b1561059257604051637c3e4fdb60e01b815260040160405180910390fd5b6000805460ff191660011790556040513381527f3e2a844f441471ec38f2e944e29cfe184c2fc1e108af1a0bc92ca4357bac19519060200160405180910390a1565b600080825160410361060a5760208301516040840151606085015160001a6105fe87828585610619565b94509450505050610612565b506000905060025b9250929050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561065057506000905060036106d4565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156106a4573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166106cd576000600192509250506106d4565b9150600090505b94509492505050565b600060208083528351808285015260005b8181101561070a578581018301518582016040015282016106ee565b8181111561071c576000604083870101525b50601f01601f1916929092016040019392505050565b6000806000806060858703121561074857600080fd5b843567ffffffffffffffff8082111561076057600080fd5b818701915087601f83011261077457600080fd5b81358181111561078357600080fd5b88602082850101111561079557600080fd5b6020928301999098509187013596604001359550909350505050565b600080858511156107c157600080fd5b838611156107ce57600080fd5b5050820193919092039150565b6bffffffffffffffffffffffff1981358181169160148510156108085780818660140360031b1b83161692505b505092915050565b634e487b7160e01b600052602160045260246000fd5b60006020828403121561083857600080fd5b8151801515811461084857600080fd5b9392505050565b60006020828403121561086157600080fd5b505191905056fea2646970667358221220c1ded25c590a7c60acf44027df4ea9c1ce14fb87aae9369094aa0e5e82c8205464736f6c634300080f0033000000000000000000000000f0d7e15673fba052e83d7f2b26bb6071e86b972e0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355\",\n        \"nonce\": \"0x172\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xbee3d9dfd4ea52c272a075f378d1396205d4874e3c3a4f7e04f20c586a1b39b1\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"AggregateVerifier\",\n      \"contractAddress\": \"0x498313fb340cd5055c5568546364008299a47517\",\n      \"function\": null,\n      \"arguments\": [\n        \"621\",\n        \"0x2fF5cC82dBf333Ea30D8ee462178ab1707315355\",\n        \"0xD6e2d9D4f1f8865AC983eE848983fb1979429914\",\n        \"0x92F6dD3501E51B8b20C77b959becaaebeB210e17\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x11fb64617dfa2875d31b0cfb656666fd8cee65eb134fefeca171b9b6b4444a64\",\n        \"(0x08b7a02a5f34c66f5f7ff6e731d881b2385712761d835de3588e00d977fb3a21, 0x0020f5df94945d8d40bc2b11128cbf2535565f5cde58960029017ee2ccef46d7)\",\n        \"0x12e9c45f19f9817c6d4385fad29e7a70c355502cf0883e76a9a7e478a85d1360\",\n        \"84532\",\n        \"600\",\n        \"30\",\n        \"1\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x3ae8b0\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6102606040523480156200001257600080fd5b50604051620039fc380380620039fc833981016040819052620000359162000264565b82158062000041575081155b8062000057575062000054828462000345565b15155b15620000845760405163462b853960e11b8152600481018490526024810183905260440160405180910390fd5b8060011415801562000097575080600214155b15620000b65760405163b1016ea760e01b815260040160405180910390fd5b63ffffffff8c16610220526001600160a01b038b1660808190526040805163f2b4e61760e01b8152905163f2b4e617916004808201926020929091908290030181865afa1580156200010c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013291906200035c565b6001600160a01b0390811660a0528a811660c05289811660e0528816610120526101008790528551610140526020860151610160526101808590526101a08490526101c08390526101e08290526102408190526200018f620001c0565b6200019c90602062000399565b620001a990608e620003bb565b6102005250620003ed9a5050505050505050505050565b60006101e0516101c051620001d69190620003d6565b905090565b6001600160a01b0381168114620001f157600080fd5b50565b80516200020181620001db565b919050565b6000604082840312156200021957600080fd5b604080519081016001600160401b03811182821017156200024a57634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b6000806000806000806000806000806000806101a08d8f0312156200028857600080fd5b8c5163ffffffff811681146200029d57600080fd5b9b50620002ad60208e01620001f4565b9a50620002bd60408e01620001f4565b9950620002cd60608e01620001f4565b9850620002dd60808e01620001f4565b975060a08d01519650620002f58e60c08f0162000206565b95506101008d015194506101208d015193506101408d015192506101608d015191506101808d015190509295989b509295989b509295989b565b634e487b7160e01b600052601260045260246000fd5b6000826200035757620003576200032f565b500690565b6000602082840312156200036f57600080fd5b81516200037c81620001db565b9392505050565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615620003b657620003b662000383565b500290565b60008219821115620003d157620003d162000383565b500190565b600082620003e857620003e86200032f565b500490565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161346762000595600039600081816103bf0152610f200152600081816109840152818161144901526120d2015260006110d601526000818161071801528181611941015281816129ee0152612a290152600081816105710152818161137a015281816113b50152611962015260006107f6015260008181610a8301528181612b0c0152612c8901526000818161085e0152612d4101526000818161082a0152612caa0152600081816108e301528181611ba90152612d1001526000818161037d01528181612b2d0152612be901526000818161045e01528181611c3a0152612bba0152600081816109f801528181610c2601528181610cdc015261161d015260006107c20152600081816106a101528181611188015281816112e5015281816114740152818161173201528181611824015281816118cc015281816121330152818161219d0152818161222f01528181612337015281816123ca0152818161245b01526124ee01526134676000f3fe6080604052600436106103345760003560e01c80636dc86e81116101ab5780639ded3952116100f7578063c26783e911610095578063d1ee5e4b1161006f578063d1ee5e4b14610a5a578063d28cb06f14610a71578063e41f96ad14610aa5578063fa24f74314610ac557600080fd5b8063c26783e9146109e6578063cf09e0d014610a1a578063cfcf984b14610a3a57600080fd5b8063b97cb80f116100d1578063b97cb80f1461094d578063bbdc02db1461096d578063bcef3b55146109ae578063bdb337d1146109c357600080fd5b80639ded3952146108d1578063addecc0614610905578063b74df35a1461093857600080fd5b806382ff53a111610164578063908cb80e1161013e578063908cb80e1461084c5780639730163d146108805780639840fd841461089657806399735e32146108bc57600080fd5b806382ff53a1146107b05780638417d3c2146107e457806387d34f161461081857600080fd5b80636dc86e811461070657806370872aa51461073a57806374f8bf321461074f578063786b844b146107645780637a6bc9e11461077957806380f323a71461079a57600080fd5b8063324a13c9116102855780634e95eb58116102235780635c0cba33116101fd5780635c0cba3314610692578063609d3334146106c55780636361506d146106da57806364d12136146106ef57600080fd5b80634e95eb581461061e57806354fd4d501461063457806357da950e1461066257600080fd5b80633fada3fd1161025f5780633fada3fd146105a85780634224b1e7146105c957806342316182146105dc57806349edf35a146105fe57600080fd5b8063324a13c91461054957806335c4377b1461055f57806337b1b2291461059357600080fd5b80631f837574116102f2578063250e69bd116102cc578063250e69bd146104ce57806325fc2ace146104ff5780632810e1d6146105145780632845e5bb1461052957600080fd5b80631f8375741461044c578063200d2ed21461048057806323edb2e0146104ae57600080fd5b8062821de3146103395780630183fd441461036b57806310fbee28146103ad5780631333db2e146103e157806319effeb4146103f85780631ee5d7c814610437575b600080fd5b34801561034557600080fd5b5061034e610ae9565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561037757600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610362565b3480156103b957600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103ed57600080fd5b506103f6610afa565b005b34801561040457600080fd5b5060005461041f90600160401b90046001600160401b031681565b6040516001600160401b039091168152602001610362565b34801561044357600080fd5b5061034e610e08565b34801561045857600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561048c57600080fd5b506000546104a190600160801b900460ff1681565b6040516103629190612f35565b3480156104ba57600080fd5b5060035461034e906001600160a01b031681565b3480156104da57600080fd5b506000546104ef90600160901b900460ff1681565b6040519015158152602001610362565b34801561050b57600080fd5b5060015461039f565b34801561052057600080fd5b506104a1610e3f565b34801561053557600080fd5b5060075461041f906001600160401b031681565b34801561055557600080fd5b5061039f60055481565b34801561056b57600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059f57600080fd5b5061034e611067565b3480156105b457600080fd5b506003546104ef90600160a01b900460ff1681565b6103f66105d7366004612f97565b611073565b3480156105e857600080fd5b506105f1611687565b6040516103629190613030565b34801561060a57600080fd5b5061039f61061936600461304a565b6116a6565b34801561062a57600080fd5b5061039f61010081565b34801561064057600080fd5b506040805180820190915260058152640302e312e360dc1b60208201526105f1565b34801561066e57600080fd5b5060015460025461067d919082565b60408051928352602083019190915201610362565b34801561069e57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061034e565b3480156106d157600080fd5b506105f16116f3565b3480156106e657600080fd5b5061039f611718565b3480156106fb57600080fd5b5061041f6201518081565b34801561071257600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561074657600080fd5b5060025461039f565b34801561075b57600080fd5b5061034e611724565b34801561077057600080fd5b506103f6611730565b34801561078557600080fd5b506003546104ef90600160a81b900460ff1681565b3480156107a657600080fd5b5061039f60045481565b3480156107bc57600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107f057600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561082457600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561085857600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561088c57600080fd5b5061039f611fff81565b3480156108a257600080fd5b5061034e71f90827f1c53a10cb7a02335b17532000293581565b3480156108c857600080fd5b5061039f61192e565b3480156108dd57600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561091157600080fd5b5060075461092690600160401b900460ff1681565b60405160ff9091168152602001610362565b34801561094457600080fd5b5061039f61193a565b34801561095957600080fd5b506103f6610968366004613063565b611986565b34801561097957600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610362565b3480156109ba57600080fd5b5061039f611c9d565b3480156109cf57600080fd5b50600754426001600160401b0390911611156104ef565b3480156109f257600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b348015610a2657600080fd5b5060005461041f906001600160401b031681565b348015610a4657600080fd5b506103f6610a55366004612f97565b611ca9565b348015610a6657600080fd5b5061041f62093a8081565b348015610a7d57600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b348015610ab157600080fd5b506103f6610ac0366004613063565b611ddb565b348015610ad157600080fd5b50610ada6120cb565b604051610362939291906130b3565b6000610af5607461210c565b905090565b600268929eee149b4bd212685403610b1a5763ab143c066000526004601cfd5b600268929eee149b4bd2126855600354600160a81b900460ff1615610b52576040516317bfe5f760e01b815260040160405180910390fd5b6007546001600160401b0390811614610ba657600054600160401b90046001600160401b03166001600160401b0316600003610ba157604051636082930560e11b815260040160405180910390fd5b610be8565b6000546001600160401b0316610bbf90621275006130f7565b6001600160401b0316421015610be8576040516304643c3960e01b815260040160405180910390fd5b600354600160a01b900460ff16610c9d5760035460048054604051637eee288d60e01b81526001600160a01b039384169281019290925260248201527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b158015610c6c57600080fd5b505af1158015610c80573d6000803e3d6000fd5b50506003805460ff60a01b1916600160a01b17905550610df99050565b60038054600160a81b60ff60a81b198216179091556004805460405163f3fef3a360e01b81526001600160a01b039384169281019290925260248201527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b158015610d2257600080fd5b505af1158015610d36573d6000803e3d6000fd5b5050600354600454604051600094506001600160a01b039092169250908381818185875af1925050503d8060008114610d8b576040519150601f19603f3d011682016040523d82523d6000602084013e610d90565b606091505b5050905080610db2576040516383e6cc6b60e01b815260040160405180910390fd5b6003546004546040519081526001600160a01b03909116907f87e12c2565042763daa6bf5842ed2b6447f17f7e28f9a4905fe3959581396ead9060200160405180910390a2505b600168929eee149b4bd2126855565b6000600681805b6001811115610e2057610e20612f1f565b81526020810191909152604001600020546001600160a01b0316919050565b600080600054600160801b900460ff166002811115610e6057610e60612f1f565b14610e7e5760405163f1a9458160e01b815260040160405180910390fd5b6000610e8861212f565b90506000816002811115610e9e57610e9e612f1f565b03610ebc57604051634962835760e11b815260040160405180910390fd5b6001816002811115610ed057610ed0612f1f565b03610eed576000805460ff60801b1916600160801b179055610fe7565b600754426001600160401b039091161115610f1b576040516304643c3960e01b815260040160405180910390fd5b6007547f0000000000000000000000000000000000000000000000000000000000000000600160401b90910460ff161015610f695760405163344de4bf60e01b815260040160405180910390fd5b60055415610fd3576000805460ff60801b1916600160801b1781556001905260066020527f3e5fec24aa4dc4e5aee2e025e51e1392c72a2500577559fae9665c6d52bd6a3154600380546001600160a01b0319166001600160a01b03909216919091179055610fe7565b6000805460ff60801b1916600160811b1790555b600080546fffffffffffffffff00000000000000001916600160401b426001600160401b03160217908190556040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da609161104d91600160801b90910460ff1690612f35565b60405180910390a15050600054600160801b900460ff1690565b6000610af5600061210c565b600054600160881b900460ff161561109d5760405162dc149f60e41b815260040160405180910390fd5b6000602060016110ad8483613122565b6110b7919061313a565b6110c19190613151565b6110cc906020613173565b90506000816110fc7f00000000000000000000000000000000000000000000000000000000000000006040613122565b6111069190613122565b905080361461111d57639824bdab6000526004601cfd5b61112b611128611c9d565b90565b611142600161113861193a565b610619919061313a565b1461118657611154600161113861193a565b61115f611128611c9d565b60405163f33fa6cf60e01b8152600481019290925260248201526044015b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166111b8610ae9565b6001600160a01b0316146112e35760006111d0610ae9565b90506111db81612315565b6111f85760405163346119f760e01b815260040160405180910390fd5b6040518060400160405280611268836001600160a01b031663bcef3b556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111289190613192565b8152602001826001600160a01b03166399735e326040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112cf9190613192565b905280516001556020015160025550611371565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663664ed8306040518163ffffffff1660e01b81526004016040805180830381865afa158015611340573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136491906131ab565b8051600155602001516002555b60025461139f907f000000000000000000000000000000000000000000000000000000000000000090613122565b6113a761192e565b14611404576002546113da907f000000000000000000000000000000000000000000000000000000000000000090613122565b6113e261192e565b60405163043d96bb60e11b81526004810192909252602482015260440161117d565b600080546001600160401b03421671ff000000000000000000ffffffffffffffff1990911617600160881b17905560408051630f27ce5f60e21b8152905163ffffffff7f000000000000000000000000000000000000000000000000000000000000000016916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691633c9f397c916004808201926020929091908290030181865afa1580156114c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e49190613207565b6000805460ff60901b191663ffffffff9290921692909214600160901b02178155600780546001600160401b0367ffffffffffffffff19909116179055848482816115315761153161322d565b919091013560f81c9050600181111561154c5761154c612f1f565b9050600061155e602160018789613243565b6115679161326d565b9050600061157960416021888a613243565b6115829161326d565b905061158e82826125df565b6115d061159e876041818b613243565b856115a7611067565b60015487905b6002546115bb611128611c9d565b6115c361192e565b6115cb611687565b61278f565b6115e1836115dc611067565b61282f565b6115e9611067565b600380546001600160a01b0319166001600160a01b0392831617905534600481815560408051630d0e30db60e41b815290517f00000000000000000000000000000000000000000000000000000000000000009094169363d0e30db0939282810192600092919082900301818588803b15801561166557600080fd5b505af1158015611679573d6000803e3d6000fd5b505050505050505050505050565b6060610af5608861169661193a565b6116a1906020613173565b612912565b60006116b061193a565b82106116cf5760405163a6c661fd60e01b815260040160405180910390fd5b6116ed6116dd836020613173565b6116e8906088613122565b612954565b92915050565b6060610af5605461170261193a565b61170d906020613173565b6116a1906034613122565b6000610af56034612954565b60006006816001610e0f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561178e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b2919061328b565b156117d05760405163379a7ed960e01b815260040160405180910390fd5b600054600160401b90046001600160401b03166001600160401b031660000361180c57604051636082930560e11b815260040160405180910390fd5b604051630314d2b360e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015611873573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611897919061328b565b9050806118b757604051634851bd9b60e01b815260040160405180910390fd5b6040516317cf21a960e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561191857600080fd5b505af1925050508015611929575060015b505b50565b6000610af56054612954565b6000610af57f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000613151565b60008054600160801b900460ff1660028111156119a5576119a5612f1f565b146119c35760405163f1a9458160e01b815260040160405180910390fd5b6000848460008181106119d8576119d861322d565b919091013560f81c905060018111156119f3576119f3612f1f565b90506000600681836001811115611a0c57611a0c612f1f565b6001811115611a1d57611a1d612f1f565b81526020810191909152604001600020546001600160a01b031603611a5757806040516304b045a760e31b815260040161117d91906132ad565b60055415611add576001600554611a6e919061313a565b8314611a8d5760405163a6c661fd60e01b815260040160405180910390fd5b611a96836116a6565b8214611aa6578161115f846116a6565b6001816001811115611aba57611aba612f1f565b14611ad8576040516369ed70ab60e01b815260040160405180910390fd5b611ae7565b611ae78383612974565b6000806000611af5866129c3565b91945092509050611b44611b0c886001818c613243565b8633611b19611128611718565b88888c898e604051602001611b3091815260200190565b60405160208183030381529060405261278f565b611b4d84612a5c565b604080518781526020810187905233917f5a8d9d181e6a59fe5477a50721401b6332a810b9183e15ac62d386379a05a717910160405180910390a26001846001811115611b9c57611b9c612f1f565b03611c1f576005600090557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ece20f366040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611c0257600080fd5b505af1158015611c16573d6000803e3d6000fd5b50505050611c93565b6000846001811115611c3357611c33612f1f565b03611c93577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ece20f366040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561166557600080fd5b5050505050505050565b6000610af56014612954565b60008054600160801b900460ff166002811115611cc857611cc8612f1f565b14611ce65760405163067fe19560e41b815260040160405180910390fd5b600754426001600160401b0390911611611d135760405163df469ccb60e01b815260040160405180910390fd5b600082826000818110611d2857611d2861322d565b919091013560f81c90506001811115611d4357611d43612f1f565b90506000600681836001811115611d5c57611d5c612f1f565b6001811115611d6d57611d6d612f1f565b81526020810191909152604001600020546001600160a01b031614611da757806040516338a094bd60e11b815260040161117d91906132ad565b611dcc611db78360018187613243565b8333611dc4611128611718565b6001546115ad565b611dd6813361282f565b505050565b60008054600160801b900460ff166002811115611dfa57611dfa612f1f565b14611e185760405163f1a9458160e01b815260040160405180910390fd5b611e2130612315565b611e3e576040516357e25a0960e01b815260040160405180910390fd5b6001611e4861212f565b6002811115611e5957611e59612f1f565b03611e775760405163346119f760e01b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8546001600160a01b0316611ecb5760006040516304b045a760e31b815260040161117d91906132ad565b600160005260066020527f3e5fec24aa4dc4e5aee2e025e51e1392c72a2500577559fae9665c6d52bd6a31546001600160a01b031615611f215760016040516338a094bd60e11b815260040161117d91906132ad565b600084846000818110611f3657611f3661322d565b919091013560f81c90506001811115611f5157611f51612f1f565b90506001816001811115611f6757611f67612f1f565b14611f85576040516369ed70ab60e01b815260040160405180910390fd5b611f8f8383612974565b6000806000611f9d866129c3565b91945092509050611fb4611b0c886001818c613243565b3360066000866001811115611fcb57611fcb612f1f565b6001811115611fdc57611fdc612f1f565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001600760088282829054906101000a900460ff1661202d91906132c1565b92506101000a81548160ff021916908360ff16021790555062093a806001600160401b03164261205d9190613122565b6007805467ffffffffffffffff19166001600160401b0392909216919091179055612089866001613122565b60055560405186815233907f7a180232c19fd38c83e493856a42688c477bae7e82039103b2c1ea6a6162e5299060200160405180910390a25050505050505050565b60008060607f00000000000000000000000000000000000000000000000000000000000000006120f9611c9d565b6121016116f3565b925092509250909192565b6000806121213660011981013560f01c900390565b929092013560601c92915050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316612163610ae9565b6001600160a01b03161461230f57600061217b610ae9565b604051631a51a37560e11b81526001600160a01b0380831660048301529192507f0000000000000000000000000000000000000000000000000000000000000000909116906334a346ea90602401602060405180830381865afa1580156121e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061220a919061328b565b8061229a5750604051635958a19360e01b81526001600160a01b0382811660048301527f00000000000000000000000000000000000000000000000000000000000000001690635958a19390602401602060405180830381865afa158015612276573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061229a919061328b565b156122a757600191505090565b806001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061230991906132e6565b91505090565b50600290565b60405163ee658e4560e01b81526001600160a01b0382811660048301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063ee658e4590602401602060405180830381865afa158015612380573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a4919061328b565b801561243557506040516304e50fed60e01b81526001600160a01b0383811660048301527f000000000000000000000000000000000000000000000000000000000000000016906304e50fed90602401602060405180830381865afa158015612411573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612435919061328b565b80156124c85750604051631a51a37560e11b81526001600160a01b0383811660048301527f000000000000000000000000000000000000000000000000000000000000000016906334a346ea90602401602060405180830381865afa1580156124a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124c6919061328b565b155b801561255b5750604051635958a19360e01b81526001600160a01b0383811660048301527f00000000000000000000000000000000000000000000000000000000000000001690635958a19390602401602060405180830381865afa158015612535573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612559919061328b565b155b80156116ed57506001826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c691906132e6565b60028111156125d7576125d7612f1f565b141592915050565b4381106126085760405163096fec2960e21b81526004810182905243602482015260440161117d565b600080612615834361313a565b905061010081116126295782409150612738565b611fff81116127165760008071f90827f1c53a10cb7a02335b1753200029356001600160a01b03168560405160200161266491815260200190565b60408051601f198184030181529082905261267e91613307565b600060405180830381855afa9150503d80600081146126b9576040519150601f19603f3d011682016040523d82523d6000602084013e6126be565b606091505b50915091508115806126d257508051602014155b156126f957604051630f0b8f8160e01b81526004810186905243602482015260440161117d565b8080602001905181019061270d9190613192565b93505050612738565b604051630f0b8f8160e01b81526004810184905243602482015260440161117d565b8161275f57604051630f0b8f8160e01b81526004810184905243602482015260440161117d565b838214612789576040516380b1ae5160e01b8152600481018590526024810183905260440161117d565b50505050565b60018910156127b1576040516309bde33960e01b815260040160405180910390fd5b60008860018111156127c5576127c5612f1f565b036127e0576127db8a8a89898989898989612b01565b612823565b60018860018111156127f4576127f4612f1f565b0361280a576127db8a8a89898989898989612c7e565b6040516369ed70ab60e01b815260040160405180910390fd5b50505050505050505050565b806006600084600181111561284657612846612f1f565b600181111561285757612857612f1f565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001600760088282829054906101000a900460ff166128a891906132c1565b92506101000a81548160ff021916908360ff1602179055506128c8612dc9565b8160018111156128da576128da612f1f565b6040516001600160a01b038316907f62f393acfb3d3425116fe9be7a6509a4b652bda54fdac2df2b7273135ecd58e790600090a35050565b606060006129283660011981013560f01c900390565b905060405191508282528284820160208401378260208301016000815260208101604052505092915050565b6000806129693660011981013560f01c900390565b929092013592915050565b61297c61193a565b821061299b5760405163a6c661fd60e01b815260040160405180910390fd5b806129a5836116a6565b0361192957604051635de57d7360e11b815260040160405180910390fd5b600080808084156129e1576129dc61061960018761313a565b6129e5565b6001545b90506000612a137f000000000000000000000000000000000000000000000000000000000000000087613173565b600254612a209190613122565b90506000612a4e7f0000000000000000000000000000000000000000000000000000000000000000836130f7565b929791965091945092505050565b60066000826001811115612a7257612a72612f1f565b6001811115612a8357612a83612f1f565b81526020810191909152604001600090812080546001600160a01b0319169055600754600160401b900460ff169003612acf5760405163344de4bf60e01b815260040160405180910390fd5b6007805460001960ff600160401b808404821692909201160268ff00000000000000001990911617905561192b612e67565b6000878787878787877f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000604051602001612b6499989796959493929190613323565b6040516020818303038152906040528051906020012090506000888b8b604051602001612b93939291906133a0565b60408051601f198184030181529082905263ab750e7560e01b825291506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ab750e7590612c139084907f00000000000000000000000000000000000000000000000000000000000000009087906004016133cc565b602060405180830381865afa158015612c30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c54919061328b565b612c71576040516309bde33960e01b815260040160405180910390fd5b5050505050505050505050565b6000878787878787877f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000604051602001612ce199989796959493929190613323565b60408051601f1981840301815290829052805160209091012063ab750e7560e01b825291506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ab750e7590612d6b908d908d907f00000000000000000000000000000000000000000000000000000000000000009087906004016133f1565b602060405180830381865afa158015612d88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dac919061328b565b612823576040516309bde33960e01b815260040160405180910390fd5b6000612dd3612ed7565b905067fffffffffffffffe196001600160401b03821601612e0b57506007805467ffffffffffffffff19166001600160401b03179055565b6000612e1782426130f7565b600754909150612e42906001600160401b0380841691166001600160401b0316808218908211021890565b6007805467ffffffffffffffff19166001600160401b03929092169190911790555050565b6000612e71612ed7565b905067fffffffffffffffe196001600160401b03821601612ea957506007805467ffffffffffffffff19166001600160401b03179055565b612eb381426130f7565b6007805467ffffffffffffffff19166001600160401b039290921691909117905550565b6007546000906002600160401b90910460ff1610612ef757506201518090565b600754600160401b900460ff16600103612f13575062093a8090565b506001600160401b0390565b634e487b7160e01b600052602160045260246000fd5b6020810160038310612f4957612f49612f1f565b91905290565b60008083601f840112612f6157600080fd5b5081356001600160401b03811115612f7857600080fd5b602083019150836020828501011115612f9057600080fd5b9250929050565b60008060208385031215612faa57600080fd5b82356001600160401b03811115612fc057600080fd5b612fcc85828601612f4f565b90969095509350505050565b60005b83811015612ff3578181015183820152602001612fdb565b838111156127895750506000910152565b6000815180845261301c816020860160208601612fd8565b601f01601f19169290920160200192915050565b6020815260006130436020830184613004565b9392505050565b60006020828403121561305c57600080fd5b5035919050565b6000806000806060858703121561307957600080fd5b84356001600160401b0381111561308f57600080fd5b61309b87828801612f4f565b90989097506020870135966040013595509350505050565b63ffffffff841681528260208201526060604082015260006130d86060830184613004565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b60006001600160401b03808316818516808303821115613119576131196130e1565b01949350505050565b60008219821115613135576131356130e1565b500190565b60008282101561314c5761314c6130e1565b500390565b60008261316e57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561318d5761318d6130e1565b500290565b6000602082840312156131a457600080fd5b5051919050565b6000604082840312156131bd57600080fd5b604051604081018181106001600160401b03821117156131ed57634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b60006020828403121561321957600080fd5b815163ffffffff8116811461304357600080fd5b634e487b7160e01b600052603260045260246000fd5b6000808585111561325357600080fd5b8386111561326057600080fd5b5050820193919092039150565b803560208310156116ed57600019602084900360031b1b1692915050565b60006020828403121561329d57600080fd5b8151801515811461304357600080fd5b6020810160028310612f4957612f49612f1f565b600060ff821660ff84168060ff038211156132de576132de6130e1565b019392505050565b6000602082840312156132f857600080fd5b81516003811061304357600080fd5b60008251613319818460208701612fd8565b9190910192915050565b6bffffffffffffffffffffffff198a60601b16815288601482015287603482015260006001600160401b0360c01b808960c01b16605484015287605c840152808760c01b16607c840152508451613381816084850160208901612fd8565b90910160848101939093525060a482015260c401979650505050505050565b6bffffffffffffffffffffffff198460601b168152818360148301376000910160140190815292915050565b6060815260006133df6060830186613004565b60208301949094525060400152919050565b606081528360608201528385608083013760006080858301015260006080601f19601f87011683010190508360208301528260408301529594505050505056fea26469706673582212202d480fded84fc6348d73dffa75b629ced9c01f5a412e5767837340f3e1868b3364736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000026d0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355000000000000000000000000d6e2d9d4f1f8865ac983ee848983fb197942991400000000000000000000000092f6dd3501e51b8b20c77b959becaaebeb210e17000000000000000000000000000000000000000000000000000000000000000011fb64617dfa2875d31b0cfb656666fd8cee65eb134fefeca171b9b6b4444a6408b7a02a5f34c66f5f7ff6e731d881b2385712761d835de3588e00d977fb3a210020f5df94945d8d40bc2b11128cbf2535565f5cde58960029017ee2ccef46d712e9c45f19f9817c6d4385fad29e7a70c355502cf0883e76a9a7e478a85d13600000000000000000000000000000000000000000000000000000000000014a340000000000000000000000000000000000000000000000000000000000000258000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000001\",\n        \"nonce\": \"0x173\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x110730b3af6b14acb0fd9c5bd0d8b32383c3507331c478aafbed91b4885e7def\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"OptimismPortal2\",\n      \"contractAddress\": \"0x45fa7cffa725e238a46a35fde9f339b63fdedbdd\",\n      \"function\": null,\n      \"arguments\": [\n        \"0\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x4c26b4\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c06040523480156200001157600080fd5b506040516200455838038062004558833981016040819052620000349162000110565b600360805260a0819052620000486200004f565b506200012a565b600054610100900460ff1615620000bc5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116146200010e576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200012357600080fd5b5051919050565b60805160a0516143fa6200015e600039600081816105d001526117580152600081816102630152610e8a01526143fa6000f3fe6080604052600436106101d15760003560e01c806371c1566e116100f7578063a3860f4811610095578063cff0ab9611610064578063cff0ab96146105f4578063dad544e01461065f578063e9e05c4214610674578063f2b4e6171461068757600080fd5b8063a3860f4814610507578063b682c44414610527578063bb2c727e14610547578063bf653a5c146105c157600080fd5b8063952b2797116100d1578063952b2797146104825780639bf62d8214610497578063a14238e7146104b7578063a35d99df146104e757600080fd5b806371c1566e146104425780638b4c40b0146101f65780638c3152e91461046257600080fd5b806345884d321161016f578063513747ab1161013e578063513747ab1461039e57806354fd4d50146103d95780635c0cba331461040d5780635c975abb1461042d57600080fd5b806345884d3214610301578063485cc955146103315780634870496f146103515780634fd0434c1461037157600080fd5b80633c9f397c116101ab5780633c9f397c1461028d5780633e47158c146102b757806343ca1c50146102cc578063452a9320146102ec57600080fd5b806333d7e2bd146101fd57806335e80ab31461023a57806338d38c971461024f57600080fd5b366101f8576101f63334620186a060006040518060200160405280600081525061069c565b005b600080fd5b34801561020957600080fd5b5060375461021d906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561024657600080fd5b5061021d610893565b34801561025b57600080fd5b5060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610231565b34801561029957600080fd5b506102a2610906565b60405163ffffffff9091168152602001610231565b3480156102c357600080fd5b5061021d610974565b3480156102d857600080fd5b506101f66102e7366004613aa9565b610b26565b3480156102f857600080fd5b5061021d610dc9565b34801561030d57600080fd5b5061032161031c366004613afa565b610e13565b6040519015158152602001610231565b34801561033d57600080fd5b506101f661034c366004613b17565b610e88565b34801561035d57600080fd5b506101f661036c366004613b45565b610ff7565b34801561037d57600080fd5b5061038661155f565b6040516001600160401b039091168152602001610231565b3480156103aa57600080fd5b506103cb6103b9366004613c02565b6000908152603c602052604090205490565b604051908152602001610231565b3480156103e557600080fd5b5060408051808201825260058152640352e322e360dc1b602082015290516102319190613c73565b34801561041957600080fd5b50603e5461021d906001600160a01b031681565b34801561043957600080fd5b506103216115cd565b34801561044e57600080fd5b506101f661045d366004613c86565b61163b565b34801561046e57600080fd5b506101f661047d366004613cab565b61183b565b34801561048e57600080fd5b506103cb611848565b3480156104a357600080fd5b5060325461021d906001600160a01b031681565b3480156104c357600080fd5b506103216104d2366004613c02565b60336020526000908152604090205460ff1681565b3480156104f357600080fd5b50610386610502366004613cfc565b6118b6565b34801561051357600080fd5b5061021d610522366004613d19565b6118cf565b34801561053357600080fd5b50603f5461021d906001600160a01b031681565b34801561055357600080fd5b5061059a610562366004613c86565b60396020908152600092835260408084209091529082529020546001600160a01b03811690600160a01b90046001600160401b031682565b604080516001600160a01b0390931683526001600160401b03909116602083015201610231565b3480156105cd57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103cb565b34801561060057600080fd5b50600154610630906001600160801b038116906001600160401b03600160801b8204811691600160c01b90041683565b604080516001600160801b0390941684526001600160401b039283166020850152911690820152606001610231565b34801561066b57600080fd5b5061021d611907565b6101f6610682366004613d49565b61069c565b34801561069357600080fd5b5061021d61194e565b8260005a90506106aa611998565b156106ce5734156106ce57604051635eac705160e11b815260040160405180910390fd5b6106d66119f4565b1561074b57341561074b57603f60009054906101000a90046001600160a01b03166001600160a01b0316631ee116bf346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561073157600080fd5b505af1158015610745573d6000803e3d6000fd5b50505050505b83801561076057506001600160a01b03871615155b1561077e5760405163c5defbad60e01b815260040160405180910390fd5b61078883516118b6565b6001600160401b0316856001600160401b031610156107ba576040516370c8bdbd60e01b815260040160405180910390fd5b6201d4c0835111156107df57604051635aa3bac960e01b815260040160405180910390fd5b336107e8611a88565b610805575033731111000000000000000000000000000000001111015b60003488888888604051602001610820959493929190613dc7565b60405160208183030381529060405290506000896001600160a01b0316836001600160a01b03167fb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32846040516108769190613c73565b60405180910390a4505061088a8282611ac5565b50505050505050565b603754604080516335e80ab360e01b815290516000926001600160a01b0316916335e80ab39160048083019260209291908290030181865afa1580156108dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109019190613e16565b905090565b603e5460408051630f27ce5f60e21b815290516000926001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015610950573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109019190613e45565b60008061099f7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b90506001600160a01b038116156109b557919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e6765720000000000008152505160026109f89190613e78565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e6765720000000000009190911790610a53906060015b604051602081830303815290604052805190602001205490565b14610a71576040516354e433cd60e01b815260040160405180910390fd5b60408051306020820152600191810191909152600090610a9390606001610a39565b90506001600160a01b03811615610b0d57806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ae2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b069190613e16565b9250505090565b60405163332144db60e01b815260040160405180910390fd5b610b2e611d09565b610b36611998565b15610b5e57606082015115610b5e57604051635eac705160e11b815260040160405180910390fd5b6032546001600160a01b031661dead14610b8b57604051631bfd55d760e31b815260040160405180910390fd5b610b988260400151611d2f565b15610bb65760405163c5defbad60e01b815260040160405180910390fd5b6000610bc183611d58565b9050610bcd818361163b565b6000818152603360205260409020805460ff19166001179055610bee6119f4565b15610c6757606083015115610c6757603f5460608401516040516308d445bd60e41b81526001600160a01b0390921691638d445bd091610c349160040190815260200190565b600060405180830381600087803b158015610c4e57600080fd5b505af1158015610c62573d6000803e3d6000fd5b505050505b8260200151603260006101000a8154816001600160a01b0302191690836001600160a01b031602179055506000610cb08460400151856080015186606001518760a00151611da5565b603280546001600160a01b03191661dead17905560405190915082907fdb5c7652857aa163daadd670e116628fb42e869d8ac4251ef8971d9e5727df1b90610cfd90841515815260200190565b60405180910390a2610d0d6119f4565b15610d975780158015610d24575060008460600151115b15610d9757603f60009054906101000a90046001600160a01b03166001600160a01b0316631ee116bf85606001516040518263ffffffff1660e01b81526004016000604051808303818588803b158015610d7d57600080fd5b505af1158015610d91573d6000803e3d6000fd5b50505050505b80158015610da55750326001145b15610dc3576040516355ac081b60e11b815260040160405180910390fd5b50505050565b60375460408051630229549960e51b815290516000926001600160a01b03169163452a93209160048083019260209291908290030181865afa1580156108dd573d6000803e3d6000fd5b603e546040516322c4269960e11b81526001600160a01b03838116600483015260009216906345884d3290602401602060405180830381865afa158015610e5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e829190613e97565b92915050565b7f0000000000000000000000000000000000000000000000000000000000000000600054610100900460ff16158015610ec8575060005460ff8083169116105b610f305760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805461ffff191660ff831617610100179055610f4c611e03565b603780546001600160a01b038086166001600160a01b031992831617909255603e805492851692909116919091179055610f84611e51565b6032546001600160a01b0316610fa957603280546001600160a01b03191661dead1790555b610fb1611f95565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b610fff611d09565b61100c8560400151611d2f565b1561102a5760405163c5defbad60e01b815260040160405180910390fd5b611032611998565b1561105a5760608501511561105a57604051635eac705160e11b815260040160405180910390fd5b600061106461194e565b6001600160a01b031663bb8aa1fc866040518263ffffffff1660e01b815260040161109191815260200190565b606060405180830381865afa1580156110ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d29190613eb4565b603e546040516324b5ce0b60e11b81526001600160a01b0380841660048301529295509116925063496b9c169150602401602060405180830381865afa158015611120573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111449190613e97565b611161576040516379ca920760e11b815260040160405180910390fd5b603e546040516304e50fed60e01b81526001600160a01b038381166004830152909116906304e50fed90602401602060405180830381865afa1580156111ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111cf9190613e97565b6111ec5760405163e29927ed60e01b815260040160405180910390fd5b6001816001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa15801561122c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112509190613f17565b600281111561126157611261613f01565b0361127f5760405163e29927ed60e01b815260040160405180910390fd5b6112f0816001600160a01b031663cf09e0d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e49190613f38565b6001600160401b031690565b6001600160401b031642116113185760405163b4caa4e560e01b815260040160405180910390fd5b61132f61132a36869003860186613f55565b612050565b611397826001600160a01b031663bcef3b556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611370573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113949190613fba565b90565b146113b55760405163426149af60e01b815260040160405180910390fd5b60006113c087611d58565b905060008160006040516020016113e1929190918252602082015260400190565b60408051601f198184030181528282528051602091820120908301819052925061143c910160408051601f1981840301815282820190915260018252600160f81b6020830152906114328789613fd3565b896040013561208f565b151560000361145e5760405163172bf79d60e11b815260040160405180910390fd5b6040805180820182526001600160a01b0380861682526001600160401b03428116602080850191825260008881526039825286812033808352908352878220965187549451909516600160a01b026001600160e01b03199094169486169490941792909217909455868152603c845284812080546001810182559082528482200180546001600160a01b0319169092179091558b840151928c01519351928216939091169185917f67a6208cfcc0801d50f6cbe764733f4fddf66ac0b04442061a8a8c0cb6b63f6291a4604051339083907f798f9f13695f8f045aa5f80ed8efebb695f3c7fe65da381969f2f28bf3c60b9790600090a35050505050505050565b603e5460408051634086d18360e01b815290516000926001600160a01b031691634086d1839160048083019260209291908290030181865afa1580156115a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109019190613f38565b60375460408051635c975abb60e01b815290516000926001600160a01b031691635c975abb9160048083019260209291908290030181865afa158015611617573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109019190613e97565b60008281526039602090815260408083206001600160a01b038581168552908352818420825180840184529054918216808252600160a01b9092046001600160401b031681850152868552603390935292205490919060ff16156116b257604051631cc2841d60e21b815260040160405180910390fd5b81602001516001600160401b03166000036116e05760405163665357ed60e11b815260040160405180910390fd5b611721816001600160a01b031663cf09e0d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c0573d6000803e3d6000fd5b6001600160401b031682602001516001600160401b0316116117565760405163b4caa4e560e01b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000082602001516001600160401b0316426117909190614056565b116117ae57604051636cde00df60e11b815260040160405180910390fd5b603e54604051636c4f446760e01b81526001600160a01b03838116600483015290911690636c4f446790602401602060405180830381865afa1580156117f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061181c9190613e97565b610dc3576040516306654aff60e31b815260040160405180910390fd5b565b6118458133610b26565b50565b603e546040805163952b279760e01b815290516000926001600160a01b03169163952b27979160048083019260209291908290030181865afa158015611892573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109019190613fba565b60006118c382602861406d565b610e829061520861409c565b603c60205281600052604060002081815481106118eb57600080fd5b6000918252602090912001546001600160a01b03169150829050565b6000611911610974565b6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108dd573d6000803e3d6000fd5b603e546040805163f2b4e61760e01b815290516000926001600160a01b03169163f2b4e6179160048083019260209291908290030181865afa1580156108dd573d6000803e3d6000fd5b6037546040516347af267b60e01b81526f21aaa9aa27a6afa3a0a9afaa27a5a2a760811b60048201526000916001600160a01b0316906347af267b90602401602060405180830381865afa158015611617573d6000803e3d6000fd5b6037546040516347af267b60e01b81526a08aa890be989e8696849eb60ab1b60048201526000916001600160a01b0316906347af267b90602401602060405180830381865afa158015611a4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a6f9190613e97565b8015610901575050603f546001600160a01b0316151590565b6000323303611a975750600190565b333b601703611abf57604051602081016040526020600082333c5160e81c62ef010014905090565b50600090565b600154600090611ae590600160c01b90046001600160401b031643614056565b90506000611af16120b3565b90506000816020015160ff16826000015163ffffffff16611b1291906140dd565b90508215611c0157600154600090611b3b908390600160801b90046001600160401b031661410b565b90506000836040015160ff1683611b52919061414a565b600154611b699084906001600160801b031661414a565b611b7391906140dd565b600154909150600090611bb290611b949084906001600160801b03166141cf565b866060015163ffffffff168760a001516001600160801b0316612153565b90506001861115611be157611bde611b9482876040015160ff1660018a611bd99190614056565b612172565b90505b6001600160801b0316600160c01b6001600160401b034316021760015550505b60018054869190601090611c26908490600160801b90046001600160401b031661409c565b92506101000a8154816001600160401b0302191690836001600160401b03160217905550816000015163ffffffff16600160000160109054906101000a90046001600160401b03166001600160401b03161315611c96576040516377ebef4d60e01b815260040160405180910390fd5b600154600090611cb8906001600160801b03166001600160401b038816613e78565b90506000611cca48633b9aca006121c7565b611cd49083614210565b905060005a611ce39088614056565b905080821115611cff57611cff611cfa8284614056565b6121dd565b5050505050505050565b611d116115cd565b156118395760405163b9c3c2ef60e01b815260040160405180910390fd5b60006001600160a01b038216301480610e82575050603f546001600160a01b0390811691161490565b80516020808301516040808501516060860151608087015160a08801519351600097611d88979096959101614224565b604051602081830303815290604052805190602001209050919050565b6000806000611db586600061220b565b905080611deb576308c379a06000526020805278185361666543616c6c3a204e6f7420656e6f756768206761736058526064601cfd5b600080855160208701888b5af1979650505050505050565b33611e0c610974565b6001600160a01b031614158015611e33575033611e27611907565b6001600160a01b031614155b1561183957604051636202851360e11b815260040160405180910390fd5b6037546040516347af267b60e01b81526a08aa890be989e8696849eb60ab1b60048201526001600160a01b03909116906347af267b90602401602060405180830381865afa158015611ea7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ecb9190613e97565b8015611ee05750603f546001600160a01b0316155b80611f7757506037546040516347af267b60e01b81526a08aa890be989e8696849eb60ab1b60048201526001600160a01b03909116906347af267b90602401602060405180830381865afa158015611f3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f609190613e97565b158015611f775750603f546001600160a01b031615155b1561183957604051639c46cd7960e01b815260040160405180910390fd5b600054610100900460ff166120005760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610f27565b600154600160c01b90046001600160401b03166000036118395760408051606081018252633b9aca0080825260006020830152436001600160401b031691909201819052600160c01b0217600155565b60008160000151826020015183604001518460600151604051602001611d88949392919093845260208401929092526040830152606082015260800190565b60008061209b86612229565b90506120a98186868661225b565b9695505050505050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152603754604080516366398d8160e11b815290516000926001600160a01b03169163cc731b029160048083019260c09291908290030181865afa15801561212f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e829190614286565b6000612168612162858561228b565b8361229a565b90505b9392505050565b6000670de0b6b3a76400006121b361218a85836140dd565b61219c90670de0b6b3a764000061410b565b6121ae85670de0b6b3a764000061414a565b6122a9565b6121bd908661414a565b61216891906140dd565b60008183116121d6578161216b565b5090919050565b6000805a90505b825a6121f09083614056565b1015612206576121ff82614338565b91506121e4565b505050565b600080603f83619c4001026040850201603f5a021015949350505050565b6060818051906020012060405160200161224591815260200190565b6040516020818303038152906040529050919050565b60006122828461226c8786866122da565b8051602091820120825192909101919091201490565b95945050505050565b60008183136121d6578161216b565b60008183126121d6578161216b565b600061216b670de0b6b3a7640000836122c186612b70565b6122cb919061414a565b6122d591906140dd565b612d4b565b606060008451116123255760405162461bcd60e51b81526020600482015260156024820152744d65726b6c65547269653a20656d707479206b657960581b6044820152606401610f27565b600061233084612ef4565b9050600061233d86612fdf565b905060008460405160200161235491815260200190565b60405160208183030381529060405290506000805b8451811015612b1957600085828151811061238657612386614351565b6020026020010151905084518311156123f85760405162461bcd60e51b815260206004820152602e60248201527f4d65726b6c65547269653a206b657920696e646578206578636565647320746f60448201526d0e8c2d840d6caf240d8cadccee8d60931b6064820152608401610f27565b8260000361249757805180516020918201206040516124469261242092910190815260200190565b604051602081830303815290604052858051602091820120825192909101919091201490565b6124925760405162461bcd60e51b815260206004820152601d60248201527f4d65726b6c65547269653a20696e76616c696420726f6f7420686173680000006044820152606401610f27565b61258d565b80515160201161251d57805180516020918201206040516124c19261242092910190815260200190565b6124925760405162461bcd60e51b815260206004820152602760248201527f4d65726b6c65547269653a20696e76616c6964206c6172676520696e7465726e6044820152660c2d840d0c2e6d60cb1b6064820152608401610f27565b80518451602080870191909120825191909201201461258d5760405162461bcd60e51b815260206004820152602660248201527f4d65726b6c65547269653a20696e76616c696420696e7465726e616c206e6f646044820152650ca40d0c2e6d60d31b6064820152608401610f27565b61259960106001614367565b8160200151510361274157845183036126d9576125d381602001516010815181106125c6576125c6614351565b6020026020010151613042565b9650600087511161264c5760405162461bcd60e51b815260206004820152603b60248201527f4d65726b6c65547269653a2076616c7565206c656e677468206d75737420626560448201527f2067726561746572207468616e207a65726f20286272616e63682900000000006064820152608401610f27565b6001865161265a9190614056565b82146126ce5760405162461bcd60e51b815260206004820152603a60248201527f4d65726b6c65547269653a2076616c7565206e6f6465206d757374206265206c60448201527f617374206e6f646520696e2070726f6f6620286272616e6368290000000000006064820152608401610f27565b50505050505061216b565b60008584815181106126ed576126ed614351565b602001015160f81c60f81b60f81c9050600082602001518260ff168151811061271857612718614351565b6020026020010151905061272b816130c4565b9550612738600186614367565b94505050612b06565b600281602001515103612aad576000612759826130e9565b905060008160008151811061277057612770614351565b016020015160f81c9050600061278760028361437f565b6127929060026143a1565b905060006127a3848360ff1661310d565b905060006127b18a8961310d565b905060006127bf8383613143565b9050808351146128375760405162461bcd60e51b815260206004820152603a60248201527f4d65726b6c65547269653a20706174682072656d61696e646572206d7573742060448201527f736861726520616c6c206e6962626c65732077697468206b65790000000000006064820152608401610f27565b60ff85166002148061284c575060ff85166003145b156129ed57808251146128c75760405162461bcd60e51b815260206004820152603d60248201527f4d65726b6c65547269653a206b65792072656d61696e646572206d757374206260448201527f65206964656e746963616c20746f20706174682072656d61696e6465720000006064820152608401610f27565b6128e187602001516001815181106125c6576125c6614351565b9c5060008d511161295a5760405162461bcd60e51b815260206004820152603960248201527f4d65726b6c65547269653a2076616c7565206c656e677468206d75737420626560448201527f2067726561746572207468616e207a65726f20286c65616629000000000000006064820152608401610f27565b60018c516129689190614056565b88146129dc5760405162461bcd60e51b815260206004820152603860248201527f4d65726b6c65547269653a2076616c7565206e6f6465206d757374206265206c60448201527f617374206e6f646520696e2070726f6f6620286c6561662900000000000000006064820152608401610f27565b50505050505050505050505061216b565b60ff85161580612a00575060ff85166001145b15612a3f57612a2c8760200151600181518110612a1f57612a1f614351565b60200260200101516130c4565b9950612a38818a614367565b9850612aa2565b60405162461bcd60e51b815260206004820152603260248201527f4d65726b6c65547269653a2072656365697665642061206e6f64652077697468604482015271040c2dc40eadcd6dcdeeedc40e0e4caccd2f60731b6064820152608401610f27565b505050505050612b06565b60405162461bcd60e51b815260206004820152602860248201527f4d65726b6c65547269653a20726563656976656420616e20756e706172736561604482015267626c65206e6f646560c01b6064820152608401610f27565b5080612b1181614338565b915050612369565b5060405162461bcd60e51b815260206004820152602560248201527f4d65726b6c65547269653a2072616e206f7574206f662070726f6f6620656c656044820152646d656e747360d81b6064820152608401610f27565b6000808213612bad5760405162461bcd60e51b815260206004820152600960248201526815539111519253915160ba1b6044820152606401610f27565b60006060612bba846131c7565b03609f8181039490941b90931c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b393909302929092017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b6000680248ce36a70cb26b3e198213612d6657506000919050565b680755bf798b4a1bf1e58212612dad5760405162461bcd60e51b815260206004820152600c60248201526b4558505f4f564552464c4f5760a01b6044820152606401610f27565b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b8051606090806001600160401b03811115612f1157612f11613931565b604051908082528060200260200182016040528015612f5657816020015b6040805180820190915260608082526020820152815260200190600190039081612f2f5790505b50915060005b81811015612fd8576040518060400160405280858381518110612f8157612f81614351565b60200260200101518152602001612fb0868481518110612fa357612fa3614351565b6020026020010151613265565b815250838281518110612fc557612fc5614351565b6020908102919091010152600101612f5c565b5050919050565b606080604051905082518060011b603f8101601f1916830160405280835250602084016020830160005b83811015613037578060011b82018184015160001a8060041c8253600f811660018301535050600101613009565b509295945050505050565b6060600080600061305285613278565b91945092509050600081600181111561306d5761306d613f01565b1461308b576040516307fe6cb960e21b815260040160405180910390fd5b6130958284614367565b8551146130b557604051630b8aa6f760e31b815260040160405180910390fd5b6122828560200151848461356e565b606060208260000151106130e0576130db82613042565b610e82565b610e8282613601565b6060610e8261310883602001516000815181106125c6576125c6614351565b612fdf565b60608251821061312c5750604080516020810190915260008152610e82565b61216b838384865161313e9190614056565b613617565b6000808251845110613156578251613159565b83515b90505b80821080156131b0575082828151811061317857613178614351565b602001015160f81c60f81b6001600160f81b03191684838151811061319f5761319f614351565b01602001516001600160f81b031916145b156131c05781600101915061315c565b5092915050565b60008082116132045760405162461bcd60e51b815260206004820152600960248201526815539111519253915160ba1b6044820152606401610f27565b5060016001600160801b03821160071b82811c6001600160401b031060061b1782811c63ffffffff1060051b1782811c61ffff1060041b1782811c60ff10600390811b90911783811c600f1060021b1783811c909110821b1791821c111790565b6060610e8261327383613759565b6137ad565b600080600083600001516000036132a257604051635ab458fb60e01b815260040160405180910390fd5b6020840151805160001a607f81116132c7576000600160009450945094505050613567565b60b7811161335f5760006132dc608083614056565b905080876000015111613302576040516366c9448560e01b815260040160405180910390fd5b6001838101516001600160f81b031916908214801561332e5750600160ff1b6001600160f81b03198216105b1561334c5760405163babb01dd60e01b815260040160405180910390fd5b5060019550935060009250613567915050565b60bf811161344157600061337460b783614056565b90508087600001511161339a576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b03191660008190036133cb5760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c603781116133fa5760405163babb01dd60e01b815260040160405180910390fd5b6134048184614367565b895111613424576040516366c9448560e01b815260040160405180910390fd5b61342f836001614367565b97509550600094506135679350505050565b60f7811161348d57600061345660c083614056565b90508087600001511161347c576040516366c9448560e01b815260040160405180910390fd5b600195509350849250613567915050565b600061349a60f783614056565b9050808760000151116134c0576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b03191660008190036134f15760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c603781116135205760405163babb01dd60e01b815260040160405180910390fd5b61352a8184614367565b89511161354a576040516366c9448560e01b815260040160405180910390fd5b613555836001614367565b97509550600194506135679350505050565b9193909250565b6060816001600160401b0381111561358857613588613931565b6040519080825280601f01601f1916602001820160405280156135b2576020820181803683370190505b509050811561216b5760006135c78486614367565b90506020820160005b848110156135e85782810151828201526020016135d0565b848111156135f7576000858301525b5050509392505050565b6060610e8282602001516000846000015161356e565b60608182601f01101561365d5760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610f27565b8282840110156136a05760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610f27565b818301845110156136e75760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b6044820152606401610f27565b6060821580156137065760405191506000825260208201604052613750565b6040519150601f8416801560200281840101858101878315602002848b0101015b8183101561373f578051835260209283019201613727565b5050858452601f01601f1916604052505b50949350505050565b6040805180820190915260008082526020820152815160000361378f57604051635ab458fb60e01b815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b606060008060006137bd85613278565b9194509250905060018160018111156137d8576137d8613f01565b146137f6576040516325ce355f60e11b815260040160405180910390fd5b84516138028385614367565b1461382057604051630b8aa6f760e31b815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816138375790505093506000835b8651811015613925576000806138aa6040518060400160405280858c6000015161388e9190614056565b8152602001858c602001516138a39190614367565b9052613278565b5091509150604051806040016040528083836138c69190614367565b8152602001848b602001516138db9190614367565b8152508885815181106138f0576138f0614351565b6020908102919091010152613906600185614367565b93506139128183614367565b61391c9084614367565b92505050613864565b50845250919392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561396f5761396f613931565b604052919050565b6001600160a01b038116811461184557600080fd5b600082601f83011261399d57600080fd5b81356001600160401b038111156139b6576139b6613931565b6139c9601f8201601f1916602001613947565b8181528460208386010111156139de57600080fd5b816020850160208301376000918101602001919091529392505050565b600060c08284031215613a0d57600080fd5b60405160c081016001600160401b038282108183111715613a3057613a30613931565b816040528293508435835260208501359150613a4b82613977565b81602084015260408501359150613a6182613977565b816040840152606085013560608401526080850135608084015260a0850135915080821115613a8f57600080fd5b50613a9c8582860161398c565b60a0830152505092915050565b60008060408385031215613abc57600080fd5b82356001600160401b03811115613ad257600080fd5b613ade858286016139fb565b9250506020830135613aef81613977565b809150509250929050565b600060208284031215613b0c57600080fd5b813561216b81613977565b60008060408385031215613b2a57600080fd5b8235613b3581613977565b91506020830135613aef81613977565b600080600080600085870360e0811215613b5e57600080fd5b86356001600160401b0380821115613b7557600080fd5b613b818a838b016139fb565b9750602089013596506080603f1984011215613b9c57600080fd5b60408901955060c0890135925080831115613bb657600080fd5b828901925089601f840112613bca57600080fd5b8235915080821115613bdb57600080fd5b508860208260051b8401011115613bf157600080fd5b959894975092955050506020019190565b600060208284031215613c1457600080fd5b5035919050565b60005b83811015613c36578181015183820152602001613c1e565b83811115610dc35750506000910152565b60008151808452613c5f816020860160208601613c1b565b601f01601f19169290920160200192915050565b60208152600061216b6020830184613c47565b60008060408385031215613c9957600080fd5b823591506020830135613aef81613977565b600060208284031215613cbd57600080fd5b81356001600160401b03811115613cd357600080fd5b613cdf848285016139fb565b949350505050565b6001600160401b038116811461184557600080fd5b600060208284031215613d0e57600080fd5b813561216b81613ce7565b60008060408385031215613d2c57600080fd5b50508035926020909101359150565b801515811461184557600080fd5b600080600080600060a08688031215613d6157600080fd5b8535613d6c81613977565b9450602086013593506040860135613d8381613ce7565b92506060860135613d9381613d3b565b915060808601356001600160401b03811115613dae57600080fd5b613dba8882890161398c565b9150509295509295909350565b8581528460208201526001600160401b0360c01b8460c01b16604082015282151560f81b604882015260008251613e05816049850160208701613c1b565b919091016049019695505050505050565b600060208284031215613e2857600080fd5b815161216b81613977565b63ffffffff8116811461184557600080fd5b600060208284031215613e5757600080fd5b815161216b81613e33565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615613e9257613e92613e62565b500290565b600060208284031215613ea957600080fd5b815161216b81613d3b565b600080600060608486031215613ec957600080fd5b8351613ed481613e33565b6020850151909350613ee581613ce7565b6040850151909250613ef681613977565b809150509250925092565b634e487b7160e01b600052602160045260246000fd5b600060208284031215613f2957600080fd5b81516003811061216b57600080fd5b600060208284031215613f4a57600080fd5b815161216b81613ce7565b600060808284031215613f6757600080fd5b604051608081018181106001600160401b0382111715613f8957613f89613931565b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b600060208284031215613fcc57600080fd5b5051919050565b60006001600160401b0380841115613fed57613fed613931565b8360051b6020613ffe818301613947565b86815291850191818101903684111561401657600080fd5b865b8481101561404a578035868111156140305760008081fd5b61403c36828b0161398c565b845250918301918301614018565b50979650505050505050565b60008282101561406857614068613e62565b500390565b60006001600160401b038083168185168183048111821515161561409357614093613e62565b02949350505050565b60006001600160401b038083168185168083038211156140be576140be613e62565b01949350505050565b634e487b7160e01b600052601260045260246000fd5b6000826140ec576140ec6140c7565b600160ff1b82146000198414161561410657614106613e62565b500590565b60008083128015600160ff1b85018412161561412957614129613e62565b6001600160ff1b038401831381161561414457614144613e62565b50500390565b60006001600160ff1b038184138284138082168684048611161561417057614170613e62565b600160ff1b600087128281168783058912161561418f5761418f613e62565b600087129250878205871284841616156141ab576141ab613e62565b878505871281841616156141c1576141c1613e62565b505050929093029392505050565b600080821280156001600160ff1b03849003851316156141f1576141f1613e62565b600160ff1b839003841281161561420a5761420a613e62565b50500190565b60008261421f5761421f6140c7565b500490565b8681526001600160a01b03868116602083015285166040820152606081018490526080810183905260c060a0820181905260009061426490830184613c47565b98975050505050505050565b805160ff8116811461428157600080fd5b919050565b600060c0828403121561429857600080fd5b60405160c081018181106001600160401b03821117156142ba576142ba613931565b60405282516142c881613e33565b81526142d660208401614270565b60208201526142e760408401614270565b604082015260608301516142fa81613e33565b6060820152608083015161430d81613e33565b608082015260a08301516001600160801b038116811461432c57600080fd5b60a08201529392505050565b60006001820161434a5761434a613e62565b5060010190565b634e487b7160e01b600052603260045260246000fd5b6000821982111561437a5761437a613e62565b500190565b600060ff831680614392576143926140c7565b8060ff84160691505092915050565b600060ff821660ff8416808210156143bb576143bb613e62565b9003939250505056fea264697066735822122061ac961cebb2674aa5ef9662b2cc0e585955b5a6a7b88f1913278c38e01d474064736f6c634300080f00330000000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x174\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xa0cad953d9d7dc17e6438712cf8dc4e8493c05a917fb03dea6945509a50866b9\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"DisputeGameFactory\",\n      \"contractAddress\": \"0xe7f2e3c6286375c102e482c0aa2385d8baacac26\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x1ecb45\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60a060405234801561001057600080fd5b50600160805261001e610023565b6100e3565b600054610100900460ff161561008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156100e1576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051611aa4610105600039600081816102180152610c100152611aa46000f3fe60806040526004361061012a5760003560e01c80636593dc6e116100ab57806396cd97201161006f57806396cd97201461038e578063b1070957146103ae578063bb8aa1fc146103ce578063c4d66de814610421578063dad544e014610441578063f2fde38b1461045657600080fd5b80636593dc6e146102fb578063715018a61461032857806374cc86ac1461033d57806382ecf2f61461035d5780638da5cb5b1461037057600080fd5b806338d38c97116100f257806338d38c97146102045780633e47158c146102425780634d1975b41461025757806354fd4d50146102765780635f0150cb146102b457600080fd5b80631011f3771461012f57806314f6b1a31461015f5780631b685b9e146101815780631e334240146101b7578063254bd683146101d7575b600080fd5b61014261013d366004611344565b610476565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561016b57600080fd5b5061017f61017a3660046113e2565b6104fe565b005b34801561018d57600080fd5b5061014261019c366004611419565b6065602052600090815260409020546001600160a01b031681565b3480156101c357600080fd5b5061017f6101d2366004611434565b610563565b3480156101e357600080fd5b506101f76101f236600461145e565b6105af565b60405161015691906114ed565b34801561021057600080fd5b5060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610156565b34801561024e57600080fd5b5061014261078e565b34801561026357600080fd5b506068545b604051908152602001610156565b34801561028257600080fd5b506102a7604051806040016040528060058152602001640312e342e360dc1b81525081565b604051610156919061158b565b3480156102c057600080fd5b506102d46102cf36600461159e565b610940565b604080516001600160a01b0390931683526001600160401b03909116602083015201610156565b34801561030757600080fd5b50610268610316366004611419565b60666020526000908152604090205481565b34801561033457600080fd5b5061017f610985565b34801561034957600080fd5b506102a7610358366004611419565b610999565b61014261036b36600461159e565b610a33565b34801561037c57600080fd5b506033546001600160a01b0316610142565b34801561039a57600080fd5b506102686103a936600461159e565b610aac565b3480156103ba57600080fd5b5061017f6103c93660046115f7565b610ae5565b3480156103da57600080fd5b506103ee6103e9366004611641565b610bb3565b6040805163ffffffff90941684526001600160401b0390921660208401526001600160a01b031690820152606001610156565b34801561042d57600080fd5b5061017f61043c36600461165a565b610c0e565b34801561044d57600080fd5b50610142610d28565b34801561046257600080fd5b5061017f61047136600461165a565b610d98565b600061048487878787610e11565b9050806001600160a01b0316634224b1e73485856040518463ffffffff1660e01b81526004016104b59291906116a0565b6000604051808303818588803b1580156104ce57600080fd5b505af11580156104e2573d6000803e3d6000fd5b50505050506104f48787878785610fb7565b9695505050505050565b610506611090565b63ffffffff821660008181526065602052604080822080546001600160a01b0319166001600160a01b038616908117909155905190917fff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de91a35050565b61056b611090565b63ffffffff8216600081815260666020526040808220849055518392917f74d6665c4b26d5596a5aa13d3014e0c06af4d322075a797f87b03cd4c5bc91ca91a35050565b606854606090831015806105c1575081155b610787575060408051600583901b8101602001909152825b838111610785576000606882815481106105f5576105f56116b4565b600091825260209091200154905060e081901c60a082901c6001600160401b03166001600160a01b03831663ffffffff8916830361077457600186510186526000816001600160a01b031663609d33346040518163ffffffff1660e01b8152600401600060405180830381865afa158015610674573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261069c91908101906116e0565b90506000826001600160a01b031663bcef3b556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610702919061178c565b90506040518060a00160405280888152602001878152602001856001600160401b03168152602001828152602001838152508860018a5161074391906117bb565b81518110610753576107536116b4565b60200260200101819052508888511061077157505050505050610785565b50505b505060001990920191506105d99050565b505b9392505050565b6000806107b97fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b90506001600160a01b038116156107cf57919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e67657200000000000081525051600261081291906117d2565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000919091179061086d906060015b604051602081830303815290604052805190602001205490565b1461088b576040516354e433cd60e01b815260040160405180910390fd5b604080513060208201526001918101919091526000906108ad90606001610853565b90506001600160a01b0381161561092757806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108fc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092091906117f1565b9250505090565b60405163332144db60e01b815260040160405180910390fd5b600080600061095187878787610aac565b6000908152606760205260409020546001600160a01b0381169860a09190911c6001600160401b0316975095505050505050565b61098d611090565b61099760006110ea565b565b606960205260009081526040902080546109b29061180e565b80601f01602080910402602001604051908101604052809291908181526020018280546109de9061180e565b8015610a2b5780601f10610a0057610100808354040283529160200191610a2b565b820191906000526020600020905b815481529060010190602001808311610a0e57829003601f168201915b505050505081565b6000610a4185858585610e11565b9050806001600160a01b0316638129fc1c346040518263ffffffff1660e01b81526004016000604051808303818588803b158015610a7e57600080fd5b505af1158015610a92573d6000803e3d6000fd5b5050505050610aa48585858585610fb7565b949350505050565b600084848484604051602001610ac59493929190611848565b604051602081830303815290604052805190602001209050949350505050565b610aed611090565b63ffffffff8416600090815260656020908152604080832080546001600160a01b0319166001600160a01b03881617905560699091529020610b308284836118bd565b5060405163ffffffff8516906001600160a01b038516907fff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de90600090a38363ffffffff167fa47fcdf075d680d3817bfca7973b373e1a5f6cfc3b444748299cc2b83d8348f98383604051610ba59291906116a0565b60405180910390a250505050565b600080600080600080610bfe60688881548110610bd257610bd26116b4565b906000526020600020015460e081901c9160a082901c6001600160401b0316916001600160a01b031690565b9199909850909650945050505050565b7f0000000000000000000000000000000000000000000000000000000000000000600054610100900460ff16158015610c4e575060005460ff8083169116105b610cb65760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805461ffff191660ff831617610100179055610cd261113c565b610cda61118a565b610ce3826110ea565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6000610d3261078e565b6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9391906117f1565b905090565b610da0611090565b6001600160a01b038116610e055760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610cad565b610e0e816110ea565b50565b63ffffffff84166000908152606560205260408120546001600160a01b031680610e555760405162c71b7960e21b815263ffffffff87166004820152602401610cad565b63ffffffff86166000908152606660205260409020543414610e8a57604051638620aa1960e01b815260040160405180910390fd5b6000610e976001436117bb565b63ffffffff881660009081526069602052604081208054924093509091610ebd9061180e565b80601f0160208091040260200160405190810160405280929190818152602001828054610ee99061180e565b8015610f365780601f10610f0b57610100808354040283529160200191610f36565b820191906000526020600020905b815481529060010190602001808311610f1957829003601f168201915b505050505090508051600003610f8957610f823388848989604051602001610f6295949392919061197d565b60408051601f198184030181529190526001600160a01b038516906111b9565b9350610fac565b610fa93388848b8a8a87604051602001610f6297969594939291906119b7565b93505b505050949350505050565b6000610fc586868686610aac565b60008181526067602052604090205490915015610ff85760405163014f6fe560e01b815260048101829052602401610cad565b60004260a01b60e088901b178317600083815260676020526040808220839055606880546001810182559083527fa2153420d844928b4421650203c77babc8b33d7f2e7b450e2966db0c220977530183905551919250879163ffffffff8a16916001600160a01b038716917f5b565efe82411da98814f356d0e7bcb8f0219b8d970307c5afb4a6903a8b2e359190a450505050505050565b6033546001600160a01b031633146109975760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610cad565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b3361114561078e565b6001600160a01b03161415801561116c575033611160610d28565b6001600160a01b031614155b1561099757604051636202851360e11b815260040160405180910390fd5b600054610100900460ff166111b15760405162461bcd60e51b8152600401610cad90611a23565b6109976111c7565b6000610787600084846111f7565b600054610100900460ff166111ee5760405162461bcd60e51b8152600401610cad90611a23565b610997336110ea565b600060608203516040830351602084035184518060208701018051600283016c5af43d3d93803e606057fd5bf3895289600d8a035278593da1005b363d3d373d3d3d3d610000806062363936013d738160481b1760218a03527f9e4ac34f21c619cefc926c8bd93b54bf5a39c7ab2127a895af1cc0691d7e3dff603a8a035272fd6100003d81600a3d39f336602c57343d527f6062820160781b1761ff9e82106059018a03528060f01b8352606c8101604c8a038cf0975050866112c35763301164256000526004601cfd5b90528552601f19850152603f19840152605f199092019190915292915050565b803563ffffffff811681146112f757600080fd5b919050565b60008083601f84011261130e57600080fd5b5081356001600160401b0381111561132557600080fd5b60208301915083602082850101111561133d57600080fd5b9250929050565b6000806000806000806080878903121561135d57600080fd5b611366876112e3565b95506020870135945060408701356001600160401b038082111561138957600080fd5b6113958a838b016112fc565b909650945060608901359150808211156113ae57600080fd5b506113bb89828a016112fc565b979a9699509497509295939492505050565b6001600160a01b0381168114610e0e57600080fd5b600080604083850312156113f557600080fd5b6113fe836112e3565b9150602083013561140e816113cd565b809150509250929050565b60006020828403121561142b57600080fd5b610787826112e3565b6000806040838503121561144757600080fd5b611450836112e3565b946020939093013593505050565b60008060006060848603121561147357600080fd5b61147c846112e3565b95602085013595506040909401359392505050565b60005b838110156114ac578181015183820152602001611494565b838111156114bb576000848401525b50505050565b600081518084526114d9816020860160208601611491565b601f01601f19169290920160200192915050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b8381101561157d57888303603f190185528151805184528781015188850152868101516001600160401b0316878501526060808201519085015260809081015160a091850182905290611569818601836114c1565b968901969450505090860190600101611514565b509098975050505050505050565b60208152600061078760208301846114c1565b600080600080606085870312156115b457600080fd5b6115bd856112e3565b93506020850135925060408501356001600160401b038111156115df57600080fd5b6115eb878288016112fc565b95989497509550505050565b6000806000806060858703121561160d57600080fd5b611616856112e3565b93506020850135611626816113cd565b925060408501356001600160401b038111156115df57600080fd5b60006020828403121561165357600080fd5b5035919050565b60006020828403121561166c57600080fd5b8135610787816113cd565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b602081526000610aa4602083018486611677565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6000602082840312156116f257600080fd5b81516001600160401b038082111561170957600080fd5b818401915084601f83011261171d57600080fd5b81518181111561172f5761172f6116ca565b604051601f8201601f19908116603f01168101908382118183101715611757576117576116ca565b8160405282815287602084870101111561177057600080fd5b611781836020830160208801611491565b979650505050505050565b60006020828403121561179e57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b6000828210156117cd576117cd6117a5565b500390565b60008160001904831182151516156117ec576117ec6117a5565b500290565b60006020828403121561180357600080fd5b8151610787816113cd565b600181811c9082168061182257607f821691505b60208210810361184257634e487b7160e01b600052602260045260246000fd5b50919050565b63ffffffff851681528360208201526060604082015260006104f4606083018486611677565b601f8211156118b857600081815260208120601f850160051c810160208610156118955750805b601f850160051c820191505b818110156118b4578281556001016118a1565b5050505b505050565b6001600160401b038311156118d4576118d46116ca565b6118e8836118e2835461180e565b8361186e565b6000601f84116001811461191c57600085156119045750838201355b600019600387901b1c1916600186901b178355611976565b600083815260209020601f19861690835b8281101561194d578685013582556020948501946001909201910161192d565b508682101561196a5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6bffffffffffffffffffffffff198660601b1681528460148201528360348201528183605483013760009101605401908152949350505050565b6bffffffffffffffffffffffff198860601b16815286601482015285603482015263ffffffff60e01b8560e01b16605482015282846058830137600083820160588101600081528451611a0e818360208901611491565b919091016058019a9950505050505050505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea26469706673582212200def0cc9a62325f1474f0037d35bef684db64d0a5872dcd0dc996ddc28c30aa264736f6c634300080f0033\",\n        \"nonce\": \"0x175\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x814a97fd007d09ba0319151a687007c37fddabeb21a84938e2107c0510a887cb\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"AnchorStateRegistry\",\n      \"contractAddress\": \"0xb1cc9f8422042eda9eb36a408002517d7c772ac7\",\n      \"function\": null,\n      \"arguments\": [\n        \"0\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x1b5d4d\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c060405234801561001057600080fd5b50604051620018d6380380620018d683398101604081905261003191610108565b600260805260a0819052610043610049565b50610121565b600054610100900460ff16156100b55760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614610106576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60006020828403121561011a57600080fd5b5051919050565b60805160a051611781620001556000396000818161045301526104f9015260008181610290015261094d01526117816000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80635958a19311610104578063952b2797116100a2578063e0a840eb11610071578063e0a840eb14610494578063ee658e45146104a7578063f2b4e617146104ba578063fdbb3dcf146104cd57600080fd5b8063952b27971461044e578063d5a3e12e1461047c578063d83ef26714610484578063dad544e01461048c57600080fd5b80636c4f4467116100de5780636c4f4467146103ed5780637258a807146104005780637d6be8dc146104285780637fc485041461043b57600080fd5b80635958a193146103945780635c975abb146103a7578063664ed830146103af57600080fd5b80633c9f397c1161017157806345884d321161014b57806345884d321461031a57806347a222c51461033d578063496b9c161461035057806354fd4d501461036357600080fd5b80633c9f397c146102ba5780633e47158c146102df5780634086d183146102e757600080fd5b806333d7e2bd116101ad57806333d7e2bd1461022457806334a346ea1461025557806335e80ab31461028157806338d38c971461028957600080fd5b80630314d2b3146101d457806304e50fed146101fc57806317cf21a91461020f575b600080fd5b6101e76101e2366004611384565b6104e0565b60405190151581526020015b60405180910390f35b6101e761020a366004611384565b6105b1565b61022261021d366004611384565b61061b565b005b60005461023d906201000090046001600160a01b031681565b6040516001600160a01b0390911681526020016101f3565b6101e7610263366004611384565b6001600160a01b031660009081526005602052604090205460ff1690565b61023d61071c565b60405160ff7f00000000000000000000000000000000000000000000000000000000000000001681526020016101f3565b6006546102ca9063ffffffff1681565b60405163ffffffff90911681526020016101f3565b61023d610799565b6006546103029064010000000090046001600160401b031681565b6040516001600160401b0390911681526020016101f3565b6101e7610328366004611384565b60056020526000908152604090205460ff1681565b61022261034b366004611400565b61094b565b6101e761035e366004611384565b610b03565b610387604051806040016040528060058152602001640332e372e360dc1b81525081565b6040516101f391906114f4565b6101e76103a2366004611384565b610b6e565b6101e7610be1565b6040805180820182526000808252602091820152815180830183526003548082526004549183019182528351908152905191810191909152016101f3565b6101e76103fb366004611384565b610c59565b61041361040e366004611507565b610d1c565b604080519283526020830191909152016101f3565b610222610436366004611384565b610d30565b610222610449366004611507565b610d84565b6040517f000000000000000000000000000000000000000000000000000000000000000081526020016101f3565b610222610dda565b610413610e46565b61023d610f58565b60025461023d906001600160a01b031681565b6101e76104b5366004611384565b610f9f565b60015461023d906001600160a01b031681565b6101e76104db366004611384565b611127565b60006104eb82611127565b6104f757506000919050565b7f0000000000000000000000000000000000000000000000000000000000000000610589836001600160a01b03166319effeb46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057d9190611540565b6001600160401b031690565b61059c906001600160401b031642611571565b116105a957506000919050565b506001919050565b6000816001600160a01b031663250e69bd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106159190611588565b92915050565b8061062581610c59565b610642576040516323d69b3d60e11b815260040160405180910390fd5b600061064c610e46565b91505080826001600160a01b03166399735e326040518163ffffffff1660e01b8152600401602060405180830381865afa15801561068e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b291906115aa565b116106d0576040516323d69b3d60e11b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0384169081179091556040517f474f180d74ea8751955ee261c93ff8270411b180408d1014c49f552c92a4d11e90600090a2505050565b60008060029054906101000a90046001600160a01b03166001600160a01b03166335e80ab36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610770573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079491906115c3565b905090565b6000806107c47fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b90506001600160a01b038116156107da57919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e67657200000000000081525051600261081d91906115e0565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e6765720000000000009190911790610878906060015b604051602081830303815290604052805190602001205490565b14610896576040516354e433cd60e01b815260040160405180910390fd5b604080513060208201526001918101919091526000906108b89060600161085e565b90506001600160a01b0381161561093257806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610907573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092b91906115c3565b9250505090565b60405163332144db60e01b815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000600054610100900460ff1615801561098b575060005460ff8083169116105b6109f25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805461ffff191660ff831617610100179055610a0e611274565b600080546001600160a01b03808816620100000262010000600160b01b0319909216919091178255600180549187166001600160a01b0319928316179055845160035560208501516004556002805490911690556006805463ffffffff851663ffffffff1990911617908190556001600160401b03640100000000909104169003610abb57600680546bffffffffffffffff000000001916640100000000426001600160401b0316021790555b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050565b6000610b0e82610f9f565b610b1a57506000919050565b6001600160a01b03821660009081526005602052604090205460ff1615610b4357506000919050565b610b4c82610b6e565b15610b5957506000919050565b610b61610be1565b156105a957506000919050565b6000600660049054906101000a90046001600160401b03166001600160401b0316610bd0836001600160a01b031663cf09e0d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610559573d6000803e3d6000fd5b6001600160401b0316111592915050565b60008060029054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c35573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107949190611588565b6000610c6482610b03565b610c7057506000919050565b610c79826105b1565b610c8557506000919050565b610c8e826104e0565b610c9a57506000919050565b6002826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfe9190611615565b6002811115610d0f57610d0f6115ff565b146105a957506000919050565b600080610d27610e46565b91509150915091565b610d386112c4565b6001600160a01b038116600081815260056020526040808220805460ff19166001179055517f192c289026d59a41a27f5aea08f3969b57931b0589202d14f4368cded95d3cda9190a250565b610d8c6112c4565b6006805463ffffffff191663ffffffff83169081179091556040519081527fcee0703b5e4bad4efededab85c9fd1aec17dee7c5f6c584330e0509b677745a29060200160405180910390a150565b610de26112c4565b600680546bffffffffffffffff000000001916640100000000426001600160401b03811691909102919091179091556040519081527f6e5b1ba771e8e484f741ed085f039ff4e5c6e882eaf68f550fb390922d0ae4a79060200160405180910390a1565b60025460009081906001600160a01b0316610e675750506003546004549091565b6002546040805163bcef3b5560e01b81529051610ed9926001600160a01b03169163bcef3b559160048083019260209291908290030181865afa158015610eb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed691906115aa565b90565b600260009054906101000a90046001600160a01b03166001600160a01b03166399735e326040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5091906115aa565b915091509091565b6000610f62610799565b6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610770573d6000803e3d6000fd5b600080600080846001600160a01b031663fa24f7436040518163ffffffff1660e01b8152600401600060405180830381865afa158015610fe3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261100b9190810190611636565b600154604051635f0150cb60e01b815293965091945092506000916001600160a01b0390911690635f0150cb9061104a908790879087906004016116e8565b6040805180830381865afa158015611066573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108a9190611716565b5090506000866001600160a01b0316635c0cba336040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f191906115c3565b9050866001600160a01b0316826001600160a01b031614801561111c57506001600160a01b03811630145b979650505050505050565b600061116a826001600160a01b03166319effeb46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610559573d6000803e3d6000fd5b6001600160401b03161580159061061557506002826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e09190611615565b60028111156111f1576111f16115ff565b148061061557506001826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa158015611238573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125c9190611615565b600281111561126d5761126d6115ff565b1492915050565b3361127d610799565b6001600160a01b0316141580156112a4575033611298610f58565b6001600160a01b031614155b156112c257604051636202851360e11b815260040160405180910390fd5b565b600060029054906101000a90046001600160a01b03166001600160a01b031663452a93206040518163ffffffff1660e01b8152600401602060405180830381865afa158015611317573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133b91906115c3565b6001600160a01b0316336001600160a01b0316146112c257604051630b94c86b60e21b815260040160405180910390fd5b6001600160a01b038116811461138157600080fd5b50565b60006020828403121561139657600080fd5b81356113a18161136c565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156113e6576113e66113a8565b604052919050565b63ffffffff8116811461138157600080fd5b60008060008084860360a081121561141757600080fd5b85356114228161136c565b945060208601356114328161136c565b93506040603f198201121561144657600080fd5b50604051604081018181106001600160401b0382111715611469576114696113a8565b60409081528601358152606086013560208201529150608085013561148d816113ee565b939692955090935050565b60005b838110156114b357818101518382015260200161149b565b838111156114c2576000848401525b50505050565b600081518084526114e0816020860160208601611498565b601f01601f19169290920160200192915050565b6020815260006113a160208301846114c8565b60006020828403121561151957600080fd5b81356113a1816113ee565b80516001600160401b038116811461153b57600080fd5b919050565b60006020828403121561155257600080fd5b6113a182611524565b634e487b7160e01b600052601160045260246000fd5b6000828210156115835761158361155b565b500390565b60006020828403121561159a57600080fd5b815180151581146113a157600080fd5b6000602082840312156115bc57600080fd5b5051919050565b6000602082840312156115d557600080fd5b81516113a18161136c565b60008160001904831182151516156115fa576115fa61155b565b500290565b634e487b7160e01b600052602160045260246000fd5b60006020828403121561162757600080fd5b8151600381106113a157600080fd5b60008060006060848603121561164b57600080fd5b8351611656816113ee565b6020850151604086015191945092506001600160401b038082111561167a57600080fd5b818601915086601f83011261168e57600080fd5b8151818111156116a0576116a06113a8565b6116b3601f8201601f19166020016113be565b91508082528760208285010111156116ca57600080fd5b6116db816020840160208601611498565b5080925050509250925092565b63ffffffff8416815282602082015260606040820152600061170d60608301846114c8565b95945050505050565b6000806040838503121561172957600080fd5b82516117348161136c565b915061174260208401611524565b9050925092905056fea2646970667358221220dce406ba98bc3c85475773886650fef7fe190ae1457e7e0faf970ac184def94764736f6c634300080f00330000000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x176\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1832e72\",\n      \"logs\": [\n        {\n          \"address\": \"0xf9ab55c35ce7fb183a50e611b63558499130d849\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea\",\n          \"blockNumber\": \"0xa2dfd2\",\n          \"blockTimestamp\": \"0x69e16870\",\n          \"transactionHash\": \"0xdad179d66f4fe78be0e82fcdff69bbd083039db61a3409c40866d09f36b64f6f\",\n          \"transactionIndex\": \"0x63\",\n          \"logIndex\": \"0x317\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf9ab55c35ce7fb183a50e611b63558499130d849\",\n          \"topics\": [\n            \"0x80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c85\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea\",\n          \"blockNumber\": \"0xa2dfd2\",\n          \"blockTimestamp\": \"0x69e16870\",\n          \"transactionHash\": \"0xdad179d66f4fe78be0e82fcdff69bbd083039db61a3409c40866d09f36b64f6f\",\n          \"transactionIndex\": \"0x63\",\n          \"logIndex\": \"0x318\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf9ab55c35ce7fb183a50e611b63558499130d849\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721\",\n            \"0x000000000000000000000000000000000000000000000000000000000000dead\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea\",\n          \"blockNumber\": \"0xa2dfd2\",\n          \"blockTimestamp\": \"0x69e16870\",\n          \"transactionHash\": \"0xdad179d66f4fe78be0e82fcdff69bbd083039db61a3409c40866d09f36b64f6f\",\n          \"transactionIndex\": \"0x63\",\n          \"logIndex\": \"0x319\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf9ab55c35ce7fb183a50e611b63558499130d849\",\n          \"topics\": [\n            \"0x80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c85\",\n            \"0x0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721\",\n            \"0x000000000000000000000000000000000000000000000000000000000000dead\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea\",\n          \"blockNumber\": \"0xa2dfd2\",\n          \"blockTimestamp\": \"0x69e16870\",\n          \"transactionHash\": \"0xdad179d66f4fe78be0e82fcdff69bbd083039db61a3409c40866d09f36b64f6f\",\n          \"transactionIndex\": \"0x63\",\n          \"logIndex\": \"0x31a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf9ab55c35ce7fb183a50e611b63558499130d849\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea\",\n          \"blockNumber\": \"0xa2dfd2\",\n          \"blockTimestamp\": \"0x69e16870\",\n          \"transactionHash\": \"0xdad179d66f4fe78be0e82fcdff69bbd083039db61a3409c40866d09f36b64f6f\",\n          \"transactionIndex\": \"0x63\",\n          \"logIndex\": \"0x31b\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000800000010000200000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000100000000000000000000000800000000000000000000001000000000000000000000000000000000000024000000040000000000800010000000000000000000000000000400000000000000020000004000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000400000000000000000000840000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xdad179d66f4fe78be0e82fcdff69bbd083039db61a3409c40866d09f36b64f6f\",\n      \"transactionIndex\": \"0x63\",\n      \"blockHash\": \"0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea\",\n      \"blockNumber\": \"0xa2dfd2\",\n      \"gasUsed\": \"0x19d4f1\",\n      \"effectiveGasPrice\": \"0x10f2fa\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0xf9ab55c35ce7fb183a50e611b63558499130d849\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x194ce94\",\n      \"logs\": [\n        {\n          \"address\": \"0xbbfdb04121b74d8ae7f53fd5238ddef133ab977a\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000ff\",\n          \"blockHash\": \"0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea\",\n          \"blockNumber\": \"0xa2dfd2\",\n          \"blockTimestamp\": \"0x69e16870\",\n          \"transactionHash\": \"0xa219d2720328e8fcc0468d160fe2a1a770dfec9423a2658a7bd4acdacc8b06a1\",\n          \"transactionIndex\": \"0x65\",\n          \"logIndex\": \"0x31d\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000100000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xa219d2720328e8fcc0468d160fe2a1a770dfec9423a2658a7bd4acdacc8b06a1\",\n      \"transactionIndex\": \"0x65\",\n      \"blockHash\": \"0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea\",\n      \"blockNumber\": \"0xa2dfd2\",\n      \"gasUsed\": \"0x113380\",\n      \"effectiveGasPrice\": \"0x10f2fa\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0xbbfdb04121b74d8ae7f53fd5238ddef133ab977a\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x19e403d\",\n      \"logs\": [\n        {\n          \"address\": \"0xf0d7e15673fba052e83d7f2b26bb6071e86b972e\",\n          \"topics\": [\n            \"0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721\",\n          \"blockHash\": \"0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea\",\n          \"blockNumber\": \"0xa2dfd2\",\n          \"blockTimestamp\": \"0x69e16870\",\n          \"transactionHash\": \"0x31fd5cf26e4a19b991d5e8acf2d3dbb2b513453bb009b4f51c2781014465cb14\",\n          \"transactionIndex\": \"0x68\",\n          \"logIndex\": \"0x324\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000800000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x31fd5cf26e4a19b991d5e8acf2d3dbb2b513453bb009b4f51c2781014465cb14\",\n      \"transactionIndex\": \"0x68\",\n      \"blockHash\": \"0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea\",\n      \"blockNumber\": \"0xa2dfd2\",\n      \"gasUsed\": \"0x6b307\",\n      \"effectiveGasPrice\": \"0x10f2fa\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0xf0d7e15673fba052e83d7f2b26bb6071e86b972e\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1a14f4e\",\n      \"logs\": [\n        {\n          \"address\": \"0xf0d7e15673fba052e83d7f2b26bb6071e86b972e\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x000000000000000000000000f9ab55c35ce7fb183a50e611b63558499130d849\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea\",\n          \"blockNumber\": \"0xa2dfd2\",\n          \"blockTimestamp\": \"0x69e16870\",\n          \"transactionHash\": \"0x59c3ce9ec119d94cb1c75fe9d354fa85aeb9f3470855c7ded204b2a37206ec9b\",\n          \"transactionIndex\": \"0x69\",\n          \"logIndex\": \"0x325\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf0d7e15673fba052e83d7f2b26bb6071e86b972e\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea\",\n          \"blockNumber\": \"0xa2dfd2\",\n          \"blockTimestamp\": \"0x69e16870\",\n          \"transactionHash\": \"0x59c3ce9ec119d94cb1c75fe9d354fa85aeb9f3470855c7ded204b2a37206ec9b\",\n          \"transactionIndex\": \"0x69\",\n          \"logIndex\": \"0x326\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf0d7e15673fba052e83d7f2b26bb6071e86b972e\",\n          \"topics\": [\n            \"0x80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c85\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea\",\n          \"blockNumber\": \"0xa2dfd2\",\n          \"blockTimestamp\": \"0x69e16870\",\n          \"transactionHash\": \"0x59c3ce9ec119d94cb1c75fe9d354fa85aeb9f3470855c7ded204b2a37206ec9b\",\n          \"transactionIndex\": \"0x69\",\n          \"logIndex\": \"0x327\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf0d7e15673fba052e83d7f2b26bb6071e86b972e\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721\",\n            \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea\",\n          \"blockNumber\": \"0xa2dfd2\",\n          \"blockTimestamp\": \"0x69e16870\",\n          \"transactionHash\": \"0x59c3ce9ec119d94cb1c75fe9d354fa85aeb9f3470855c7ded204b2a37206ec9b\",\n          \"transactionIndex\": \"0x69\",\n          \"logIndex\": \"0x328\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf0d7e15673fba052e83d7f2b26bb6071e86b972e\",\n          \"topics\": [\n            \"0x80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c85\",\n            \"0x0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721\",\n            \"0x0000000000000000000000008074b32bd7d06c8f27596f3d6fbf867a36ea22a3\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea\",\n          \"blockNumber\": \"0xa2dfd2\",\n          \"blockTimestamp\": \"0x69e16870\",\n          \"transactionHash\": \"0x59c3ce9ec119d94cb1c75fe9d354fa85aeb9f3470855c7ded204b2a37206ec9b\",\n          \"transactionIndex\": \"0x69\",\n          \"logIndex\": \"0x329\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf0d7e15673fba052e83d7f2b26bb6071e86b972e\",\n          \"topics\": [\n            \"0xfc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d2\",\n            \"0x000000000000000000000000db84125f2f4229c81c579f41bc129c71b174eb58\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea\",\n          \"blockNumber\": \"0xa2dfd2\",\n          \"blockTimestamp\": \"0x69e16870\",\n          \"transactionHash\": \"0x59c3ce9ec119d94cb1c75fe9d354fa85aeb9f3470855c7ded204b2a37206ec9b\",\n          \"transactionIndex\": \"0x69\",\n          \"logIndex\": \"0x32a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf0d7e15673fba052e83d7f2b26bb6071e86b972e\",\n          \"topics\": [\n            \"0xfc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d2\",\n            \"0x000000000000000000000000adc09b63a3ac57a2ce86d946617a18df9db029a1\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea\",\n          \"blockNumber\": \"0xa2dfd2\",\n          \"blockTimestamp\": \"0x69e16870\",\n          \"transactionHash\": \"0x59c3ce9ec119d94cb1c75fe9d354fa85aeb9f3470855c7ded204b2a37206ec9b\",\n          \"transactionIndex\": \"0x69\",\n          \"logIndex\": \"0x32b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf0d7e15673fba052e83d7f2b26bb6071e86b972e\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea\",\n          \"blockNumber\": \"0xa2dfd2\",\n          \"blockTimestamp\": \"0x69e16870\",\n          \"transactionHash\": \"0x59c3ce9ec119d94cb1c75fe9d354fa85aeb9f3470855c7ded204b2a37206ec9b\",\n          \"transactionIndex\": \"0x69\",\n          \"logIndex\": \"0x32c\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000800200040000000000408000000000000002800000000000004000000000000000000000000000000000000000000000000000100000000000000000000000800000200000000002000001000000000000000000000000000000000000024000010040000000000800010000000000000000400000000000400000000800000002000000000000080000000000000080000000000000000000010000000000400000000000000400000000000000000000000000000000000000000020000400000000000000842000000000000000001400000000800020000000000000000000000000000000000200000400000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x59c3ce9ec119d94cb1c75fe9d354fa85aeb9f3470855c7ded204b2a37206ec9b\",\n      \"transactionIndex\": \"0x69\",\n      \"blockHash\": \"0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea\",\n      \"blockNumber\": \"0xa2dfd2\",\n      \"gasUsed\": \"0x30f11\",\n      \"effectiveGasPrice\": \"0x10f2fa\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": \"0xf0d7e15673fba052e83d7f2b26bb6071e86b972e\",\n      \"contractAddress\": null\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1a1be8a\",\n      \"logs\": [\n        {\n          \"address\": \"0xf0d7e15673fba052e83d7f2b26bb6071e86b972e\",\n          \"topics\": [\n            \"0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f\"\n          ],\n          \"data\": \"0x0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c7210000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3\",\n          \"blockHash\": \"0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea\",\n          \"blockNumber\": \"0xa2dfd2\",\n          \"blockTimestamp\": \"0x69e16870\",\n          \"transactionHash\": \"0x07132522019e9db3d047686d4f7a713af71b980744395157bf31c8f7695b0a69\",\n          \"transactionIndex\": \"0x6a\",\n          \"logIndex\": \"0x32d\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000800000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x07132522019e9db3d047686d4f7a713af71b980744395157bf31c8f7695b0a69\",\n      \"transactionIndex\": \"0x6a\",\n      \"blockHash\": \"0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea\",\n      \"blockNumber\": \"0xa2dfd2\",\n      \"gasUsed\": \"0x6f3c\",\n      \"effectiveGasPrice\": \"0x10f2fa\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": \"0xf0d7e15673fba052e83d7f2b26bb6071e86b972e\",\n      \"contractAddress\": null\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1a87191\",\n      \"logs\": [\n        {\n          \"address\": \"0xd6e2d9d4f1f8865ac983ee848983fb1979429914\",\n          \"topics\": [\n            \"0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721\",\n          \"blockHash\": \"0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea\",\n          \"blockNumber\": \"0xa2dfd2\",\n          \"blockTimestamp\": \"0x69e16870\",\n          \"transactionHash\": \"0x10b17f72ad2374799114d5fd04ae067f065aa3f88157b3c0f5f42c7c100bd529\",\n          \"transactionIndex\": \"0x6b\",\n          \"logIndex\": \"0x32e\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000020000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x10b17f72ad2374799114d5fd04ae067f065aa3f88157b3c0f5f42c7c100bd529\",\n      \"transactionIndex\": \"0x6b\",\n      \"blockHash\": \"0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea\",\n      \"blockNumber\": \"0xa2dfd2\",\n      \"gasUsed\": \"0x6b307\",\n      \"effectiveGasPrice\": \"0x10f2fa\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0xd6e2d9d4f1f8865ac983ee848983fb1979429914\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1a9efb3\",\n      \"logs\": [\n        {\n          \"address\": \"0xd6e2d9d4f1f8865ac983ee848983fb1979429914\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x000000000000000000000000bbfdb04121b74d8ae7f53fd5238ddef133ab977a\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea\",\n          \"blockNumber\": \"0xa2dfd2\",\n          \"blockTimestamp\": \"0x69e16870\",\n          \"transactionHash\": \"0x28b0670948f0fdff6c8193a8334c9c15976696e9c86cda20e960671964b900c3\",\n          \"transactionIndex\": \"0x6c\",\n          \"logIndex\": \"0x32f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd6e2d9d4f1f8865ac983ee848983fb1979429914\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea\",\n          \"blockNumber\": \"0xa2dfd2\",\n          \"blockTimestamp\": \"0x69e16870\",\n          \"transactionHash\": \"0x28b0670948f0fdff6c8193a8334c9c15976696e9c86cda20e960671964b900c3\",\n          \"transactionIndex\": \"0x6c\",\n          \"logIndex\": \"0x330\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000420000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000100000000000000102000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000020000000020000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x28b0670948f0fdff6c8193a8334c9c15976696e9c86cda20e960671964b900c3\",\n      \"transactionIndex\": \"0x6c\",\n      \"blockHash\": \"0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea\",\n      \"blockNumber\": \"0xa2dfd2\",\n      \"gasUsed\": \"0x17e22\",\n      \"effectiveGasPrice\": \"0x10f2fa\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": \"0xd6e2d9d4f1f8865ac983ee848983fb1979429914\",\n      \"contractAddress\": null\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1ab177d\",\n      \"logs\": [\n        {\n          \"address\": \"0xd6e2d9d4f1f8865ac983ee848983fb1979429914\",\n          \"topics\": [\n            \"0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f\"\n          ],\n          \"data\": \"0x0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c7210000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3\",\n          \"blockHash\": \"0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea\",\n          \"blockNumber\": \"0xa2dfd2\",\n          \"blockTimestamp\": \"0x69e16870\",\n          \"transactionHash\": \"0x2bd3dadd120da27b9b45954166543fa2965ca36a46390348b528dd2ef7848863\",\n          \"transactionIndex\": \"0x6e\",\n          \"logIndex\": \"0x332\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000020000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x2bd3dadd120da27b9b45954166543fa2965ca36a46390348b528dd2ef7848863\",\n      \"transactionIndex\": \"0x6e\",\n      \"blockHash\": \"0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea\",\n      \"blockNumber\": \"0xa2dfd2\",\n      \"gasUsed\": \"0x6f3c\",\n      \"effectiveGasPrice\": \"0x10f2fa\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": \"0xd6e2d9d4f1f8865ac983ee848983fb1979429914\",\n      \"contractAddress\": null\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1b33255\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xbee3d9dfd4ea52c272a075f378d1396205d4874e3c3a4f7e04f20c586a1b39b1\",\n      \"transactionIndex\": \"0x6f\",\n      \"blockHash\": \"0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea\",\n      \"blockNumber\": \"0xa2dfd2\",\n      \"gasUsed\": \"0x81ad8\",\n      \"effectiveGasPrice\": \"0x10f2fa\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0x92f6dd3501e51b8b20c77b959becaaebeb210e17\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1e082dd\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xfb891efb7d3164d3d1ed0a2b296639981227fc4cebf988ab0c4a1ab5489e2cff\",\n      \"transactionIndex\": \"0x70\",\n      \"blockHash\": \"0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea\",\n      \"blockNumber\": \"0xa2dfd2\",\n      \"gasUsed\": \"0x2d5088\",\n      \"effectiveGasPrice\": \"0x10f2fa\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0x498313fb340cd5055c5568546364008299a47517\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x21cf657\",\n      \"logs\": [\n        {\n          \"address\": \"0x45fa7cffa725e238a46a35fde9f339b63fdedbdd\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000ff\",\n          \"blockHash\": \"0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea\",\n          \"blockNumber\": \"0xa2dfd2\",\n          \"blockTimestamp\": \"0x69e16870\",\n          \"transactionHash\": \"0x110730b3af6b14acb0fd9c5bd0d8b32383c3507331c478aafbed91b4885e7def\",\n          \"transactionIndex\": \"0x72\",\n          \"logIndex\": \"0x338\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000040000000000000000000000000000000040000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x110730b3af6b14acb0fd9c5bd0d8b32383c3507331c478aafbed91b4885e7def\",\n      \"transactionIndex\": \"0x72\",\n      \"blockHash\": \"0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea\",\n      \"blockNumber\": \"0xa2dfd2\",\n      \"gasUsed\": \"0x3a93ed\",\n      \"effectiveGasPrice\": \"0x10f2fa\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0x45fa7cffa725e238a46a35fde9f339b63fdedbdd\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x236814a\",\n      \"logs\": [\n        {\n          \"address\": \"0xe7f2e3c6286375c102e482c0aa2385d8baacac26\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000ff\",\n          \"blockHash\": \"0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea\",\n          \"blockNumber\": \"0xa2dfd2\",\n          \"blockTimestamp\": \"0x69e16870\",\n          \"transactionHash\": \"0x814a97fd007d09ba0319151a687007c37fddabeb21a84938e2107c0510a887cb\",\n          \"transactionIndex\": \"0x74\",\n          \"logIndex\": \"0x33e\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000020000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x814a97fd007d09ba0319151a687007c37fddabeb21a84938e2107c0510a887cb\",\n      \"transactionIndex\": \"0x74\",\n      \"blockHash\": \"0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea\",\n      \"blockNumber\": \"0xa2dfd2\",\n      \"gasUsed\": \"0x17b00e\",\n      \"effectiveGasPrice\": \"0x10f2fa\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0xe7f2e3c6286375c102e482c0aa2385d8baacac26\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xeef169\",\n      \"logs\": [\n        {\n          \"address\": \"0xb1cc9f8422042eda9eb36a408002517d7c772ac7\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000ff\",\n          \"blockHash\": \"0x1679bcc4355f193fea6344e351d1aa8cb0518e38c487917534b1f4d820710e4d\",\n          \"blockNumber\": \"0xa2dfd3\",\n          \"blockTimestamp\": \"0x69e1687c\",\n          \"transactionHash\": \"0xa0cad953d9d7dc17e6438712cf8dc4e8493c05a917fb03dea6945509a50866b9\",\n          \"transactionIndex\": \"0x4e\",\n          \"logIndex\": \"0x17d\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000100000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xa0cad953d9d7dc17e6438712cf8dc4e8493c05a917fb03dea6945509a50866b9\",\n      \"transactionIndex\": \"0x4e\",\n      \"blockHash\": \"0x1679bcc4355f193fea6344e351d1aa8cb0518e38c487917534b1f4d820710e4d\",\n      \"blockNumber\": \"0xa2dfd3\",\n      \"gasUsed\": \"0x150cb2\",\n      \"effectiveGasPrice\": \"0x1108cc\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0xb1cc9f8422042eda9eb36a408002517d7c772ac7\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1776380209255,\n  \"chain\": 11155111,\n  \"commit\": \"9fbef31\"\n}"
  },
  {
    "path": "sepolia/2026-04-20-activate-multiproof/records/DeployNitroVerifier.s.sol/11155111/run-1776361698333.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x9b9728830bf1a924047a0e9e252339d6762a922bc1b7f24646295ed3e81be7df\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"NitroEnclaveVerifier\",\n      \"contractAddress\": \"0x8e385c5136a530dd359f424db43bf672dd191ec9\",\n      \"function\": null,\n      \"arguments\": [\n        \"0xb2d9a52e76841279EF0372c534C539a4f68f8C0B\",\n        \"3600\",\n        \"[]\",\n        \"[]\",\n        \"0x641a0321a3e244efe456463195d606317ed7cdcc3c1756e09893f3c68f79bb5b\",\n        \"0x646132A1667ca7aD00d36616AFBA1A28116C770A\",\n        \"0x8074b32bD7d06C8f27596F3D6fbf867A36eA22a3\",\n        \"1\",\n        \"(0xce17a683c290c57ff91f00d4c0e6e6ec8aa2f73285af7d81b162327ba96321d6, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x925d8331ddc0a1F0d96E68CF073DFE1d92b69187)\",\n        \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"gas\": \"0x3317c9\",\n        \"value\": \"0x0\",\n        \"input\": \"0x608060405234801561000f575f5ffd5b5060405161308138038061308183398101604081905261002e91610517565b886001600160401b03165f0361005757604051635409e3e760e01b815260040160405180910390fd5b865188511461008a57875187516040516334a59dd760e01b81526004810192909252602482015260440160405180910390fd5b600480546001600160401b0319166001600160401b038b161790555f5b885181101561011e578781815181106100c2576100c26105fa565b602002602001015160035f8b84815181106100df576100df6105fa565b60209081029190910181015182528101919091526040015f2080546001600160401b0319166001600160401b03929092169190911790556001016100a7565b506101288a61016f565b610131866101aa565b61013a856101e6565b600180546001600160a01b0319166001600160a01b038616179055610160838383610259565b50505050505050505050610677565b6001600160a01b0316638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b60058190556040518181527f63f2d4dca4c937ba68e57bbddd2b0a3560e5b497593228dbea7372c127c16dc8906020015b60405180910390a150565b6001600160a01b03811661020c57604051629ef5cb60e01b815260040160405180910390fd5b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e20170906020016101db565b8160025f85600281111561026f5761026f61060e565b60028111156102805761028061060e565b815260208082019290925260409081015f20835181559183015160018301559190910151600290910180546001600160a01b0319166001600160a01b03909216919091179055815115610305578060075f8560028111156102e3576102e361060e565b60028111156102f4576102f461060e565b815260208101919091526040015f20555b7f8c7491c9018c0b332e7d992d1b37db1a61f4c075cb30e237cc826c52c3166cef83838360405161033893929190610622565b60405180910390a1505050565b80516001600160a01b038116811461035b575f5ffd5b919050565b80516001600160401b038116811461035b575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b03811182821017156103b2576103b2610376565b604052919050565b5f6001600160401b038211156103d2576103d2610376565b5060051b60200190565b5f82601f8301126103eb575f5ffd5b81516103fe6103f9826103ba565b61038a565b8082825260208201915060208360051b86010192508583111561041f575f5ffd5b602085015b8381101561043c578051835260209283019201610424565b5095945050505050565b5f82601f830112610455575f5ffd5b81516104636103f9826103ba565b8082825260208201915060208360051b860101925085831115610484575f5ffd5b602085015b8381101561043c5761049a81610360565b835260209283019201610489565b80516003811061035b575f5ffd5b5f606082840312156104c6575f5ffd5b604051606081016001600160401b03811182821017156104e8576104e8610376565b60409081528351825260208085015190830152909150819061050b908401610345565b60408201525092915050565b5f5f5f5f5f5f5f5f5f5f6101808b8d031215610531575f5ffd5b61053a8b610345565b995061054860208c01610360565b60408c01519099506001600160401b03811115610563575f5ffd5b61056f8d828e016103dc565b60608d015190995090506001600160401b0381111561058c575f5ffd5b6105988d828e01610446565b60808d015190985096506105b0905060a08c01610345565b94506105be60c08c01610345565b93506105cc60e08c016104a8565b92506105dc8c6101008d016104b6565b91505f6101608c01519050809150509295989b9194979a5092959850565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52602160045260245ffd5b60a081016003851061064257634e487b7160e01b5f52602160045260245ffd5b9381528251602080830191909152830151604080830191909152909201516001600160a01b0316606083015260809091015290565b6129fd806106845f395ff3fe6080604052600436106101c5575f3560e01c80638cb50c44116100f2578063dd4a471d11610092578063f2fde38b11610062578063f2fde38b14610521578063f8b507c714610534578063f9f91b1314610560578063fee81cf4146105c6575f5ffd5b8063dd4a471d1461049c578063e3f47695146104d0578063ea9e4857146104ef578063f04e283e1461050e575f5ffd5b8063a12b896a116100cd578063a12b896a14610413578063c9569bc314610432578063cc05c0b31461045e578063d06d55871461047d575f5ffd5b80638cb50c44146103bd5780638da5cb5b146103dc5780639083dd9d146103f4575f5ffd5b80635875335711610168578063715018a611610138578063715018a6146103625780637221e6fc1461036a57806374c183aa1461037f57806386546a491461039e575f5ffd5b806358753357146102cd57806363cd3456146102eb578063674515151461030a5780636d114be314610336575f5ffd5b8063369855e6116101a3578063369855e61461023c5780633a837cc21461027357806354d1f13d1461029257806354fd4d501461029a575f5ffd5b806325692962146101c957806331b361e0146101d357806335dec5d114610205575b5f5ffd5b6101d16105f7565b005b3480156101de575f5ffd5b506101f26101ed366004611b52565b610643565b6040519081526020015b60405180910390f35b348015610210575f5ffd5b50600154610224906001600160a01b031681565b6040516001600160a01b0390911681526020016101fc565b348015610247575f5ffd5b5060045461025b906001600160401b031681565b6040516001600160401b0390911681526020016101fc565b34801561027e575f5ffd5b506101d161028d366004611c17565b61067f565b6101d1610697565b3480156102a5575f5ffd5b5060408051808201825260058152640302e332e360dc1b602082015290516101fc9190611cce565b3480156102d8575f5ffd5b505f54610224906001600160a01b031681565b3480156102f6575f5ffd5b506101d1610305366004611cf7565b6106d0565b348015610315575f5ffd5b50610329610324366004611b52565b61080c565b6040516101fc9190611d28565b348015610341575f5ffd5b50610355610350366004611d96565b61089d565b6040516101fc9190611fff565b6101d16109a4565b348015610375575f5ffd5b506101f260055481565b34801561038a575f5ffd5b506101d1610399366004612011565b6109b7565b3480156103a9575f5ffd5b506101d16103b8366004612028565b6109cb565b3480156103c8575f5ffd5b506101d16103d7366004612011565b610b5f565b3480156103e7575f5ffd5b50638b78c6d81954610224565b3480156103ff575f5ffd5b506101d161040e366004612068565b610c42565b34801561041e575f5ffd5b5061022461042d366004611cf7565b610c93565b34801561043d575f5ffd5b5061045161044c366004611d96565b610d75565b6040516101fc9190612081565b348015610469575f5ffd5b506101d16104783660046120e4565b610fbe565b348015610488575f5ffd5b506101d1610497366004612068565b6110f1565b3480156104a7575f5ffd5b5061025b6104b6366004612011565b60036020525f90815260409020546001600160401b031681565b3480156104db575f5ffd5b506101d16104ea36600461212a565b611102565b3480156104fa575f5ffd5b506101d1610509366004612143565b611182565b6101d161051c366004612068565b61127b565b6101d161052f366004612068565b6112b5565b34801561053f575f5ffd5b5061055361054e36600461216b565b6112db565b6040516101fc91906121da565b34801561056b575f5ffd5b506105a261057a366004611b52565b600260208190525f91825260409091208054600182015491909201546001600160a01b031683565b6040805193845260208401929092526001600160a01b0316908201526060016101fc565b3480156105d1575f5ffd5b506101f26105e0366004612068565b63389a75e1600c9081525f91909152602090205490565b5f6202a3006001600160401b03164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f5fa250565b5f60075f83600281111561065957610659611e15565b600281111561066a5761066a611e15565b81526020019081526020015f20549050919050565b61068761145d565b610692838383611477565b505050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f5fa2565b6106d861145d565b5f60065f8460028111156106ee576106ee611e15565b60028111156106ff576106ff611e15565b815260208082019290925260409081015f9081206001600160e01b0319861682529092529020546001600160a01b0316905061deac1981016107605782826040516253454d60e31b815260040161075792919061222f565b60405180910390fd5b61dead60065f85600281111561077857610778611e15565b600281111561078957610789611e15565b815260208082019290925260409081015f9081206001600160e01b0319871680835293522080546001600160a01b0319166001600160a01b0393909316929092179091558360028111156107df576107df611e15565b6040517fcdce14b5df954ed0ddf4bd33cc38717ee1c46e06a27d69962dd7f03f70c449c4905f90a3505050565b61083660405180606001604052805f81526020015f81526020015f6001600160a01b031681525090565b60025f83600281111561084b5761084b611e15565b600281111561085c5761085c611e15565b815260208082019290925260409081015f20815160608101835281548152600182015493810193909352600201546001600160a01b03169082015292915050565b6108a5611ae2565b5f546001600160a01b031633146108cf5760405163fe0232c360e01b815260040160405180910390fd5b5f60025f8660028111156108e5576108e5611e15565b60028111156108f6576108f6611e15565b81526020019081526020015f205f01549050610916858289898888611563565b61092286880188612611565b915061092d826116ab565b915084600281111561094157610941611e15565b7f34d71c5db80e3c1db53f6d245503c531894f694aa26c7a967adf77167b126036835f0151846040516020016109779190611fff565b60408051601f1981840301815290829052610992929161264a565b60405180910390a25095945050505050565b6109ac61145d565b6109b55f61184e565b565b6109bf61145d565b6109c88161188b565b50565b6109d361145d565b6001600160a01b0381166109fa57604051630e3ba0af60e01b815260040160405180910390fd5b61deac196001600160a01b03821601610a265760405163043103a360e21b815260040160405180910390fd5b61dead60065f856002811115610a3e57610a3e611e15565b6002811115610a4f57610a4f611e15565b815260208082019290925260409081015f9081206001600160e01b0319871682529092529020546001600160a01b031603610aa05782826040516253454d60e31b815260040161075792919061222f565b8060065f856002811115610ab657610ab6611e15565b6002811115610ac757610ac7611e15565b815260208082019290925260409081015f9081206001600160e01b0319871680835293522080546001600160a01b0319166001600160a01b039390931692909217909155836002811115610b1d57610b1d611e15565b6040516001600160a01b03841681527f760c87aaca384c3dc82d5bcce05884a75cf787ef7f7cacaef26a6822b2831dd4906020015b60405180910390a3505050565b638b78c6d819546001600160a01b0316336001600160a01b031614158015610b9257506001546001600160a01b03163314155b15610bb057604051633ae98a0760e21b815260040160405180910390fd5b5f818152600360205260408120546001600160401b03169003610be957604051630eb0bcc760e31b815260048101829052602401610757565b5f8181526003602052604090819020805467ffffffffffffffff19169055517f49f59bec846fd3588d7d4900a9d7698f294a73043ed6c407d5c2cfa90b8b90d790610c379083815260200190565b60405180910390a150565b610c4a61145d565b600180546001600160a01b0319166001600160a01b0383169081179091556040517f5549026e79f4449c2656308378875b265aaf4002b1ef696785f9439da13d4e36905f90a250565b5f5f60065f856002811115610caa57610caa611e15565b6002811115610cbb57610cbb611e15565b815260208082019290925260409081015f9081206001600160e01b0319871682529092529020546001600160a01b0316905061deac198101610d135783836040516253454d60e31b815260040161075792919061222f565b6001600160a01b038116610d6c5760025f856002811115610d3657610d36611e15565b6002811115610d4757610d47611e15565b815260208101919091526040015f20600201546001600160a01b03169150610d6f9050565b90505b92915050565b5f546060906001600160a01b03163314610da25760405163fe0232c360e01b815260040160405180910390fd5b5f60025f866002811115610db857610db8611e15565b6002811115610dc957610dc9611e15565b81526020019081526020015f206001015490505f60025f876002811115610df257610df2611e15565b6002811115610e0357610e03611e15565b81526020019081526020015f205f015490505f60075f886002811115610e2b57610e2b611e15565b6002811115610e3c57610e3c611e15565b81526020019081526020015f20549050610e5a87848b8b8a8a611563565b5f610e67898b018b612669565b80519091508214610e9857805160405163086e561f60e21b8152610757918491600401918252602082015260400190565b602081015151806001600160401b03811115610eb657610eb6611b72565b604051908082528060200260200182016040528015610eef57816020015b610edc611ae2565b815260200190600190039081610ed45790505b5095505f5b81811015610f4757610f2283602001518281518110610f1557610f15612757565b60200260200101516116ab565b878281518110610f3457610f34612757565b6020908102919091010152600101610ef4565b50886002811115610f5a57610f5a611e15565b7fdfa767ad54931d8d889f34b418a66f09a0bec3406debbd9decbb8ce919c24ffe8588604051602001610f8d9190612081565b60408051601f1981840301815290829052610fa8929161276b565b60405180910390a2505050505095945050505050565b610fc661145d565b81610fe4576040516341a463a560e01b815260040160405180910390fd5b8160025f856002811115610ffa57610ffa611e15565b600281111561100b5761100b611e15565b81526020019081526020015f205f01540361103d578282604051633cf7da7760e21b8152600401610757929190612783565b8160025f85600281111561105357611053611e15565b600281111561106457611064611e15565b81526020019081526020015f205f01819055508060075f85600281111561108d5761108d611e15565b600281111561109e5761109e611e15565b815260208101919091526040015f2055818360028111156110c1576110c1611e15565b6040518381527f51084eb34dac0e8c796b2741ed1a6fed727311fc435b0af0dac30f0581dbce4990602001610b52565b6110f961145d565b6109c8816118c0565b61110a61145d565b806001600160401b03165f0361113357604051635409e3e760e01b815260040160405180910390fd5b6004805467ffffffffffffffff19166001600160401b0383169081179091556040519081527fc620470b92e1af69c914495bff0725d3f9ddef58f4e3dad2d2e5b2f4bf63f0e390602001610c37565b61118a61145d565b806111a8576040516341a463a560e01b815260040160405180910390fd5b8060025f8460028111156111be576111be611e15565b60028111156111cf576111cf611e15565b81526020019081526020015f206001015403611202578181604051633cf7da7760e21b8152600401610757929190612783565b8060025f84600281111561121857611218611e15565b600281111561122957611229611e15565b815260208101919091526040015f20600101558082600281111561124f5761124f611e15565b6040517fa13c7e79c76dcced91cc62c49db73a3a02935aef810eea7b7942625e94bc4070905f90a35050565b61128361145d565b63389a75e1600c52805f526020600c2080544211156112a957636f5e88185f526004601cfd5b5f90556109c88161184e565b6112bd61145d565b8060601b6112d257637448fbae5f526004601cfd5b6109c88161184e565b60605f826001600160401b038111156112f6576112f6611b72565b60405190808252806020026020018201604052801561131f578160200160208202803683370190505b506005549091505f5b8481101561145357365f87878481811061134457611344612757565b9050602002810190611356919061279e565b909250905060018483835f8161136e5761136e612757565b90506020020135146113b8578483835f81811061138d5761138d612757565b9050602002013560405163e4ac496b60e01b8152600401610757929190918252602082015260400190565b60015b82811015611421575f60035f8686858181106113d9576113d9612757565b602090810292909201358352508101919091526040015f20546001600160401b031690504281101561140b5750611421565b6114166001846127f7565b9250506001016113bb565b508086858151811061143557611435612757565b60ff9290921660209283029190910190910152505050600101611328565b5090949350505050565b638b78c6d8195433146109b5576382b429005f526004601cfd5b8160025f85600281111561148d5761148d611e15565b600281111561149e5761149e611e15565b815260208082019290925260409081015f20835181559183015160018301559190910151600290910180546001600160a01b0319166001600160a01b03909216919091179055815115611523578060075f85600281111561150157611501611e15565b600281111561151257611512611e15565b815260208101919091526040015f20555b7f8c7491c9018c0b332e7d992d1b37db1a61f4c075cb30e237cc826c52c3166cef83838360405161155693929190612810565b60405180910390a1505050565b5f61156f878484611933565b9050600187600281111561158557611585611e15565b0361163c57806001600160a01b031663ab750e7584848960028a8a6040516115ae929190612856565b602060405180830381855afa1580156115c9573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906115ec9190612865565b6040518563ffffffff1660e01b815260040161160b94939291906128a4565b5f6040518083038186803b158015611621575f5ffd5b505afa158015611633573d5f5f3e3d5ffd5b505050506116a2565b600287600281111561165057611650611e15565b036116895760405163020a49e360e51b81526001600160a01b038216906341493c609061160b90899089908990899089906004016128ca565b60405163146af65760e21b815260040160405180910390fd5b50505050505050565b6116b3611ae2565b6001825160048111156116c8576116c8611e15565b146116d1575090565b816020015160ff165f036116e757506002815290565b5f5b826020015160ff16811015611788575f8360600151828151811061170f5761170f612757565b60200260200101519050815f0361175157600554811461174b578360025b9081600481111561174057611740611e15565b905250929392505050565b50611780565b5f818152600360205260409020546001600160401b03164281101561177d575050600383525090919050565b50505b6001016116e9565b50602082015160ff165b8260600151518110156117e2575f836080015182815181106117b6576117b6612757565b60200260200101519050806001600160401b03164211156117d95783600461172d565b50600101611792565b505f6103e883604001516117f69190612902565b6004549091504290611811906001600160401b03168361293b565b6001600160401b0316111580611830575042816001600160401b031610155b1561183e5750506004815290565b61184783611a51565b5090919050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b60058190556040518181527f63f2d4dca4c937ba68e57bbddd2b0a3560e5b497593228dbea7372c127c16dc890602001610c37565b6001600160a01b0381166118e657604051629ef5cb60e01b815260040160405180910390fd5b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e2017090602001610c37565b5f80611942600482858761295a565b61194b91612981565b90505f60065f87600281111561196357611963611e15565b600281111561197457611974611e15565b815260208082019290925260409081015f9081206001600160e01b0319861682529092529020546001600160a01b0316905061deac1981016119cc5785826040516253454d60e31b815260040161075792919061222f565b6001600160a01b038116611a1f5760025f8760028111156119ef576119ef611e15565b6002811115611a0057611a00611e15565b815260208101919091526040015f20600201546001600160a01b031690505b6001600160a01b038116611a485785604051636725e36b60e11b815260040161075791906129b9565b95945050505050565b602081015160ff165b816060015151811015611ade575f82606001518281518110611a7e57611a7e612757565b6020026020010151905082608001518281518110611a9e57611a9e612757565b6020908102919091018101515f92835260039091526040909120805467ffffffffffffffff19166001600160401b03909216919091179055600101611a5a565b5050565b604080516101408101909152805f81526020015f60ff1681526020015f6001600160401b03168152602001606081526020016060815260200160608152602001606081526020016060815260200160608152602001606081525090565b803560038110611b4d575f5ffd5b919050565b5f60208284031215611b62575f5ffd5b611b6b82611b3f565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b604080519081016001600160401b0381118282101715611ba857611ba8611b72565b60405290565b60405161014081016001600160401b0381118282101715611ba857611ba8611b72565b604051601f8201601f191681016001600160401b0381118282101715611bf957611bf9611b72565b604052919050565b80356001600160a01b0381168114611b4d575f5ffd5b5f5f5f83850360a0811215611c2a575f5ffd5b611c3385611b3f565b93506060601f1982011215611c46575f5ffd5b50604051606081016001600160401b0381118282101715611c6957611c69611b72565b604090815260208681013583529086013590820152611c8a60608601611c01565b6040820152929592945050506080919091013590565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f611b6b6020830184611ca0565b80356001600160e01b031981168114611b4d575f5ffd5b5f5f60408385031215611d08575f5ffd5b611d1183611b3f565b9150611d1f60208401611ce0565b90509250929050565b81518152602080830151908201526040808301516001600160a01b03169082015260608101610d6f565b5f5f83601f840112611d62575f5ffd5b5081356001600160401b03811115611d78575f5ffd5b602083019150836020828501011115611d8f575f5ffd5b9250929050565b5f5f5f5f5f60608688031215611daa575f5ffd5b85356001600160401b03811115611dbf575f5ffd5b611dcb88828901611d52565b9096509450611dde905060208701611b3f565b925060408601356001600160401b03811115611df8575f5ffd5b611e0488828901611d52565b969995985093965092949392505050565b634e487b7160e01b5f52602160045260245ffd5b60058110611e3957611e39611e15565b9052565b5f8151808452602084019350602083015f5b82811015611e6d578151865260209586019590910190600101611e4f565b5093949350505050565b5f8151808452602084019350602083015f5b82811015611e6d5781516001600160401b0316865260209586019590910190600101611e89565b5f8151808452602084019350602083015f5b82811015611e6d57815180516001600160401b031687526020908101518051828901528101516001600160801b031916604088015260609096019590910190600101611ec2565b611f14828251611e29565b5f6020820151611f29602085018260ff169052565b506040820151611f4460408501826001600160401b03169052565b5060608201516101406060850152611f60610140850182611e3d565b905060808301518482036080860152611f798282611e77565b91505060a083015184820360a0860152611f938282611ca0565b91505060c083015184820360c0860152611fad8282611ca0565b91505060e083015184820360e0860152611fc78282611ca0565b915050610100830151848203610100860152611fe38282611eb0565b915050610120830151848203610120860152611a488282611ca0565b602081525f611b6b6020830184611f09565b5f60208284031215612021575f5ffd5b5035919050565b5f5f5f6060848603121561203a575f5ffd5b61204384611b3f565b925061205160208501611ce0565b915061205f60408501611c01565b90509250925092565b5f60208284031215612078575f5ffd5b611b6b82611c01565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156120d857603f198786030184526120c3858351611f09565b945060209384019391909101906001016120a7565b50929695505050505050565b5f5f5f606084860312156120f6575f5ffd5b6120ff84611b3f565b95602085013595506040909401359392505050565b80356001600160401b0381168114611b4d575f5ffd5b5f6020828403121561213a575f5ffd5b611b6b82612114565b5f5f60408385031215612154575f5ffd5b61215d83611b3f565b946020939093013593505050565b5f5f6020838503121561217c575f5ffd5b82356001600160401b03811115612191575f5ffd5b8301601f810185136121a1575f5ffd5b80356001600160401b038111156121b6575f5ffd5b8560208260051b84010111156121ca575f5ffd5b6020919091019590945092505050565b602080825282518282018190525f918401906040840190835b8181101561221457835160ff168352602093840193909201916001016121f3565b509095945050505050565b60038110611e3957611e39611e15565b6040810161223d828561221f565b63ffffffff60e01b831660208301529392505050565b803560058110611b4d575f5ffd5b803560ff81168114611b4d575f5ffd5b5f6001600160401b0382111561228957612289611b72565b5060051b60200190565b5f82601f8301126122a2575f5ffd5b81356122b56122b082612271565b611bd1565b8082825260208201915060208360051b8601019250858311156122d6575f5ffd5b602085015b838110156122f35780358352602092830192016122db565b5095945050505050565b5f82601f83011261230c575f5ffd5b813561231a6122b082612271565b8082825260208201915060208360051b86010192508583111561233b575f5ffd5b602085015b838110156122f35761235181612114565b835260209283019201612340565b5f82601f83011261236e575f5ffd5b8135602083015f5f6001600160401b0384111561238d5761238d611b72565b50601f8301601f19166020016123a281611bd1565b9150508281528583830111156123b6575f5ffd5b828260208301375f92810160200192909252509392505050565b5f82601f8301126123df575f5ffd5b81356123ed6122b082612271565b8082825260208201915060206060840286010192508583111561240e575f5ffd5b602085015b838110156122f357808703606081121561242b575f5ffd5b612433611b86565b61243c83612114565b81526040601f198301121561244f575f5ffd5b612457611b86565b60208401358152915060408301356001600160801b03198116811461247a575f5ffd5b6020838101919091528181019290925284529290920191606001612413565b5f61014082840312156124aa575f5ffd5b6124b2611bae565b90506124bd82612253565b81526124cb60208301612261565b60208201526124dc60408301612114565b604082015260608201356001600160401b038111156124f9575f5ffd5b61250584828501612293565b60608301525060808201356001600160401b03811115612523575f5ffd5b61252f848285016122fd565b60808301525060a08201356001600160401b0381111561254d575f5ffd5b6125598482850161235f565b60a08301525060c08201356001600160401b03811115612577575f5ffd5b6125838482850161235f565b60c08301525060e08201356001600160401b038111156125a1575f5ffd5b6125ad8482850161235f565b60e0830152506101008201356001600160401b038111156125cc575f5ffd5b6125d8848285016123d0565b610100830152506101208201356001600160401b038111156125f8575f5ffd5b6126048482850161235f565b6101208301525092915050565b5f60208284031215612621575f5ffd5b81356001600160401b03811115612636575f5ffd5b61264284828501612499565b949350505050565b6126548184611e29565b604060208201525f6126426040830184611ca0565b5f60208284031215612679575f5ffd5b81356001600160401b0381111561268e575f5ffd5b82016040818503121561269f575f5ffd5b6126a7611b86565b8135815260208201356001600160401b038111156126c3575f5ffd5b80830192505084601f8301126126d7575f5ffd5b81356126e56122b082612271565b8082825260208201915060208360051b860101925087831115612706575f5ffd5b602085015b838110156127465780356001600160401b03811115612728575f5ffd5b6127378a6020838a0101612499565b8452506020928301920161270b565b506020840152509095945050505050565b634e487b7160e01b5f52603260045260245ffd5b828152604060208201525f6126426040830184611ca0565b60408101612791828561221f565b8260208301529392505050565b5f5f8335601e198436030181126127b3575f5ffd5b8301803591506001600160401b038211156127cc575f5ffd5b6020019150600581901b3603821315611d8f575f5ffd5b634e487b7160e01b5f52601160045260245ffd5b60ff8181168382160190811115610d6f57610d6f6127e3565b60a0810161281e828661221f565b612848602083018580518252602080820151908301526040908101516001600160a01b0316910152565b826080830152949350505050565b818382375f9101908152919050565b5f60208284031215612875575f5ffd5b5051919050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b606081525f6128b760608301868861287c565b6020830194909452506040015292915050565b858152606060208201525f6128e360608301868861287c565b82810360408401526128f681858761287c565b98975050505050505050565b5f6001600160401b0383168061292657634e487b7160e01b5f52601260045260245ffd5b806001600160401b0384160491505092915050565b6001600160401b038181168382160190811115610d6f57610d6f6127e3565b5f5f85851115612968575f5ffd5b83861115612974575f5ffd5b5050820193919092039150565b80356001600160e01b031981169060048410156129b2576001600160e01b0319600485900360031b81901b82161691505b5092915050565b60208101610d6f828461221f56fea264697066735822122046c9bb3dbc7e5fd6cf9f28647a238fe7c2ed782f4ab35d0c5110400647c7212b64736f6c634300081c0033000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b0000000000000000000000000000000000000000000000000000000000000e10000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001a0641a0321a3e244efe456463195d606317ed7cdcc3c1756e09893f3c68f79bb5b000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000008074b32bd7d06c8f27596f3d6fbf867a36ea22a30000000000000000000000000000000000000000000000000000000000000001ce17a683c290c57ff91f00d4c0e6e6ec8aa2f73285af7d81b162327ba96321d60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000925d8331ddc0a1f0d96e68cf073dfe1d92b69187000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x23\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x0e8d9512248b6f241ffa16bc049f0f73e153d9bce1f6d67f93775f85750d4f9b\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"NitroEnclaveVerifier\",\n      \"contractAddress\": \"0x8e385c5136a530dd359f424db43bf672dd191ec9\",\n      \"function\": \"addVerifyRoute(uint8,bytes4,address)\",\n      \"arguments\": [\n        \"1\",\n        \"0x242f9d5b\",\n        \"0xcb9D14347b1e816831ECeE46EC199144F360B55c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x8e385c5136a530dd359f424db43bf672dd191ec9\",\n        \"gas\": \"0x1097f\",\n        \"value\": \"0x0\",\n        \"input\": \"0x86546a490000000000000000000000000000000000000000000000000000000000000001242f9d5b00000000000000000000000000000000000000000000000000000000000000000000000000000000cb9d14347b1e816831ecee46ec199144f360b55c\",\n        \"nonce\": \"0x24\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1a38954\",\n      \"logs\": [\n        {\n          \"address\": \"0x8e385c5136a530dd359f424db43bf672dd191ec9\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x2a10534714b871ab56129843e16ba6af409721884378cd91f777e33b25c3a9cf\",\n          \"blockNumber\": \"0xa2da6e\",\n          \"blockTimestamp\": \"0x69e120a0\",\n          \"transactionHash\": \"0x9b9728830bf1a924047a0e9e252339d6762a922bc1b7f24646295ed3e81be7df\",\n          \"transactionIndex\": \"0x71\",\n          \"logIndex\": \"0x211\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x8e385c5136a530dd359f424db43bf672dd191ec9\",\n          \"topics\": [\n            \"0x63f2d4dca4c937ba68e57bbddd2b0a3560e5b497593228dbea7372c127c16dc8\"\n          ],\n          \"data\": \"0x641a0321a3e244efe456463195d606317ed7cdcc3c1756e09893f3c68f79bb5b\",\n          \"blockHash\": \"0x2a10534714b871ab56129843e16ba6af409721884378cd91f777e33b25c3a9cf\",\n          \"blockNumber\": \"0xa2da6e\",\n          \"blockTimestamp\": \"0x69e120a0\",\n          \"transactionHash\": \"0x9b9728830bf1a924047a0e9e252339d6762a922bc1b7f24646295ed3e81be7df\",\n          \"transactionIndex\": \"0x71\",\n          \"logIndex\": \"0x212\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x8e385c5136a530dd359f424db43bf672dd191ec9\",\n          \"topics\": [\n            \"0x6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e20170\"\n          ],\n          \"data\": \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"blockHash\": \"0x2a10534714b871ab56129843e16ba6af409721884378cd91f777e33b25c3a9cf\",\n          \"blockNumber\": \"0xa2da6e\",\n          \"blockTimestamp\": \"0x69e120a0\",\n          \"transactionHash\": \"0x9b9728830bf1a924047a0e9e252339d6762a922bc1b7f24646295ed3e81be7df\",\n          \"transactionIndex\": \"0x71\",\n          \"logIndex\": \"0x213\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x8e385c5136a530dd359f424db43bf672dd191ec9\",\n          \"topics\": [\n            \"0x8c7491c9018c0b332e7d992d1b37db1a61f4c075cb30e237cc826c52c3166cef\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001ce17a683c290c57ff91f00d4c0e6e6ec8aa2f73285af7d81b162327ba96321d60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000925d8331ddc0a1f0d96e68cf073dfe1d92b691870000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x2a10534714b871ab56129843e16ba6af409721884378cd91f777e33b25c3a9cf\",\n          \"blockNumber\": \"0xa2da6e\",\n          \"blockTimestamp\": \"0x69e120a0\",\n          \"transactionHash\": \"0x9b9728830bf1a924047a0e9e252339d6762a922bc1b7f24646295ed3e81be7df\",\n          \"transactionIndex\": \"0x71\",\n          \"logIndex\": \"0x214\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000400000000000000000000000000000100000000802000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000020000000000000000000020000000000000000000800000000000000000000000000000000400000000400000000000000002000000000000000000000000000001000000000000008000408000000000000000000000000000000000000000400000000000000000000000800000000000000000000000000000000000000000000000020000000000100000000000000000000000000000000000000400000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x9b9728830bf1a924047a0e9e252339d6762a922bc1b7f24646295ed3e81be7df\",\n      \"transactionIndex\": \"0x71\",\n      \"blockHash\": \"0x2a10534714b871ab56129843e16ba6af409721884378cd91f777e33b25c3a9cf\",\n      \"blockNumber\": \"0xa2da6e\",\n      \"gasUsed\": \"0x274d60\",\n      \"effectiveGasPrice\": \"0x32fc20d\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": null,\n      \"contractAddress\": \"0x8e385c5136a530dd359f424db43bf672dd191ec9\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x8bbe57\",\n      \"logs\": [\n        {\n          \"address\": \"0x8e385c5136a530dd359f424db43bf672dd191ec9\",\n          \"topics\": [\n            \"0x760c87aaca384c3dc82d5bcce05884a75cf787ef7f7cacaef26a6822b2831dd4\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n            \"0x242f9d5b00000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x000000000000000000000000cb9d14347b1e816831ecee46ec199144f360b55c\",\n          \"blockHash\": \"0x611e290bec979d43c3c33d6073a294a15663009b71aa5e12c604f1e4b20d5edc\",\n          \"blockNumber\": \"0xa2da72\",\n          \"blockTimestamp\": \"0x69e120d0\",\n          \"transactionHash\": \"0x0e8d9512248b6f241ffa16bc049f0f73e153d9bce1f6d67f93775f85750d4f9b\",\n          \"transactionIndex\": \"0x3e\",\n          \"logIndex\": \"0x18d\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000002000000000020000000000000000000000000000000001000400000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000400000000000000000000040000000000100000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x0e8d9512248b6f241ffa16bc049f0f73e153d9bce1f6d67f93775f85750d4f9b\",\n      \"transactionIndex\": \"0x3e\",\n      \"blockHash\": \"0x611e290bec979d43c3c33d6073a294a15663009b71aa5e12c604f1e4b20d5edc\",\n      \"blockNumber\": \"0xa2da72\",\n      \"gasUsed\": \"0xc038\",\n      \"effectiveGasPrice\": \"0x31c06d9\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x8e385c5136a530dd359f424db43bf672dd191ec9\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1776361698333,\n  \"chain\": 11155111,\n  \"commit\": \"2e318fa\"\n}"
  },
  {
    "path": "sepolia/2026-04-20-activate-multiproof/records/DeployNitroVerifier.s.sol/11155111/run-1776379902060.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xfdd47ebbef441dfdef8153b9c6c528a9cea60c84da68bcf66d7f07d5f8767eea\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"NitroEnclaveVerifier\",\n      \"contractAddress\": \"0x7d8ea07db94128dbee66bafa3ebaa9668b413d72\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x8C1a617BdB47342F9C17Ac8750E0b070c372C721\",\n        \"3600\",\n        \"[]\",\n        \"[]\",\n        \"0x641a0321a3e244efe456463195d606317ed7cdcc3c1756e09893f3c68f79bb5b\",\n        \"0x646132A1667ca7aD00d36616AFBA1A28116C770A\",\n        \"0x8074b32bD7d06C8f27596F3D6fbf867A36eA22a3\",\n        \"1\",\n        \"(0x15051db631d6ed382d957c795a558a0abdd00d0d22a1670455721bc2712d3d6e, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x925d8331ddc0a1F0d96E68CF073DFE1d92b69187)\",\n        \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"gas\": \"0x3317d9\",\n        \"value\": \"0x0\",\n        \"input\": \"0x608060405234801561000f575f5ffd5b5060405161308138038061308183398101604081905261002e91610517565b886001600160401b03165f0361005757604051635409e3e760e01b815260040160405180910390fd5b865188511461008a57875187516040516334a59dd760e01b81526004810192909252602482015260440160405180910390fd5b600480546001600160401b0319166001600160401b038b161790555f5b885181101561011e578781815181106100c2576100c26105fa565b602002602001015160035f8b84815181106100df576100df6105fa565b60209081029190910181015182528101919091526040015f2080546001600160401b0319166001600160401b03929092169190911790556001016100a7565b506101288a61016f565b610131866101aa565b61013a856101e6565b600180546001600160a01b0319166001600160a01b038616179055610160838383610259565b50505050505050505050610677565b6001600160a01b0316638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b60058190556040518181527f63f2d4dca4c937ba68e57bbddd2b0a3560e5b497593228dbea7372c127c16dc8906020015b60405180910390a150565b6001600160a01b03811661020c57604051629ef5cb60e01b815260040160405180910390fd5b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e20170906020016101db565b8160025f85600281111561026f5761026f61060e565b60028111156102805761028061060e565b815260208082019290925260409081015f20835181559183015160018301559190910151600290910180546001600160a01b0319166001600160a01b03909216919091179055815115610305578060075f8560028111156102e3576102e361060e565b60028111156102f4576102f461060e565b815260208101919091526040015f20555b7f8c7491c9018c0b332e7d992d1b37db1a61f4c075cb30e237cc826c52c3166cef83838360405161033893929190610622565b60405180910390a1505050565b80516001600160a01b038116811461035b575f5ffd5b919050565b80516001600160401b038116811461035b575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b03811182821017156103b2576103b2610376565b604052919050565b5f6001600160401b038211156103d2576103d2610376565b5060051b60200190565b5f82601f8301126103eb575f5ffd5b81516103fe6103f9826103ba565b61038a565b8082825260208201915060208360051b86010192508583111561041f575f5ffd5b602085015b8381101561043c578051835260209283019201610424565b5095945050505050565b5f82601f830112610455575f5ffd5b81516104636103f9826103ba565b8082825260208201915060208360051b860101925085831115610484575f5ffd5b602085015b8381101561043c5761049a81610360565b835260209283019201610489565b80516003811061035b575f5ffd5b5f606082840312156104c6575f5ffd5b604051606081016001600160401b03811182821017156104e8576104e8610376565b60409081528351825260208085015190830152909150819061050b908401610345565b60408201525092915050565b5f5f5f5f5f5f5f5f5f5f6101808b8d031215610531575f5ffd5b61053a8b610345565b995061054860208c01610360565b60408c01519099506001600160401b03811115610563575f5ffd5b61056f8d828e016103dc565b60608d015190995090506001600160401b0381111561058c575f5ffd5b6105988d828e01610446565b60808d015190985096506105b0905060a08c01610345565b94506105be60c08c01610345565b93506105cc60e08c016104a8565b92506105dc8c6101008d016104b6565b91505f6101608c01519050809150509295989b9194979a5092959850565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52602160045260245ffd5b60a081016003851061064257634e487b7160e01b5f52602160045260245ffd5b9381528251602080830191909152830151604080830191909152909201516001600160a01b0316606083015260809091015290565b6129fd806106845f395ff3fe6080604052600436106101c5575f3560e01c80638cb50c44116100f2578063dd4a471d11610092578063f2fde38b11610062578063f2fde38b14610521578063f8b507c714610534578063f9f91b1314610560578063fee81cf4146105c6575f5ffd5b8063dd4a471d1461049c578063e3f47695146104d0578063ea9e4857146104ef578063f04e283e1461050e575f5ffd5b8063a12b896a116100cd578063a12b896a14610413578063c9569bc314610432578063cc05c0b31461045e578063d06d55871461047d575f5ffd5b80638cb50c44146103bd5780638da5cb5b146103dc5780639083dd9d146103f4575f5ffd5b80635875335711610168578063715018a611610138578063715018a6146103625780637221e6fc1461036a57806374c183aa1461037f57806386546a491461039e575f5ffd5b806358753357146102cd57806363cd3456146102eb578063674515151461030a5780636d114be314610336575f5ffd5b8063369855e6116101a3578063369855e61461023c5780633a837cc21461027357806354d1f13d1461029257806354fd4d501461029a575f5ffd5b806325692962146101c957806331b361e0146101d357806335dec5d114610205575b5f5ffd5b6101d16105f7565b005b3480156101de575f5ffd5b506101f26101ed366004611b52565b610643565b6040519081526020015b60405180910390f35b348015610210575f5ffd5b50600154610224906001600160a01b031681565b6040516001600160a01b0390911681526020016101fc565b348015610247575f5ffd5b5060045461025b906001600160401b031681565b6040516001600160401b0390911681526020016101fc565b34801561027e575f5ffd5b506101d161028d366004611c17565b61067f565b6101d1610697565b3480156102a5575f5ffd5b5060408051808201825260058152640302e332e360dc1b602082015290516101fc9190611cce565b3480156102d8575f5ffd5b505f54610224906001600160a01b031681565b3480156102f6575f5ffd5b506101d1610305366004611cf7565b6106d0565b348015610315575f5ffd5b50610329610324366004611b52565b61080c565b6040516101fc9190611d28565b348015610341575f5ffd5b50610355610350366004611d96565b61089d565b6040516101fc9190611fff565b6101d16109a4565b348015610375575f5ffd5b506101f260055481565b34801561038a575f5ffd5b506101d1610399366004612011565b6109b7565b3480156103a9575f5ffd5b506101d16103b8366004612028565b6109cb565b3480156103c8575f5ffd5b506101d16103d7366004612011565b610b5f565b3480156103e7575f5ffd5b50638b78c6d81954610224565b3480156103ff575f5ffd5b506101d161040e366004612068565b610c42565b34801561041e575f5ffd5b5061022461042d366004611cf7565b610c93565b34801561043d575f5ffd5b5061045161044c366004611d96565b610d75565b6040516101fc9190612081565b348015610469575f5ffd5b506101d16104783660046120e4565b610fbe565b348015610488575f5ffd5b506101d1610497366004612068565b6110f1565b3480156104a7575f5ffd5b5061025b6104b6366004612011565b60036020525f90815260409020546001600160401b031681565b3480156104db575f5ffd5b506101d16104ea36600461212a565b611102565b3480156104fa575f5ffd5b506101d1610509366004612143565b611182565b6101d161051c366004612068565b61127b565b6101d161052f366004612068565b6112b5565b34801561053f575f5ffd5b5061055361054e36600461216b565b6112db565b6040516101fc91906121da565b34801561056b575f5ffd5b506105a261057a366004611b52565b600260208190525f91825260409091208054600182015491909201546001600160a01b031683565b6040805193845260208401929092526001600160a01b0316908201526060016101fc565b3480156105d1575f5ffd5b506101f26105e0366004612068565b63389a75e1600c9081525f91909152602090205490565b5f6202a3006001600160401b03164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f5fa250565b5f60075f83600281111561065957610659611e15565b600281111561066a5761066a611e15565b81526020019081526020015f20549050919050565b61068761145d565b610692838383611477565b505050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f5fa2565b6106d861145d565b5f60065f8460028111156106ee576106ee611e15565b60028111156106ff576106ff611e15565b815260208082019290925260409081015f9081206001600160e01b0319861682529092529020546001600160a01b0316905061deac1981016107605782826040516253454d60e31b815260040161075792919061222f565b60405180910390fd5b61dead60065f85600281111561077857610778611e15565b600281111561078957610789611e15565b815260208082019290925260409081015f9081206001600160e01b0319871680835293522080546001600160a01b0319166001600160a01b0393909316929092179091558360028111156107df576107df611e15565b6040517fcdce14b5df954ed0ddf4bd33cc38717ee1c46e06a27d69962dd7f03f70c449c4905f90a3505050565b61083660405180606001604052805f81526020015f81526020015f6001600160a01b031681525090565b60025f83600281111561084b5761084b611e15565b600281111561085c5761085c611e15565b815260208082019290925260409081015f20815160608101835281548152600182015493810193909352600201546001600160a01b03169082015292915050565b6108a5611ae2565b5f546001600160a01b031633146108cf5760405163fe0232c360e01b815260040160405180910390fd5b5f60025f8660028111156108e5576108e5611e15565b60028111156108f6576108f6611e15565b81526020019081526020015f205f01549050610916858289898888611563565b61092286880188612611565b915061092d826116ab565b915084600281111561094157610941611e15565b7f34d71c5db80e3c1db53f6d245503c531894f694aa26c7a967adf77167b126036835f0151846040516020016109779190611fff565b60408051601f1981840301815290829052610992929161264a565b60405180910390a25095945050505050565b6109ac61145d565b6109b55f61184e565b565b6109bf61145d565b6109c88161188b565b50565b6109d361145d565b6001600160a01b0381166109fa57604051630e3ba0af60e01b815260040160405180910390fd5b61deac196001600160a01b03821601610a265760405163043103a360e21b815260040160405180910390fd5b61dead60065f856002811115610a3e57610a3e611e15565b6002811115610a4f57610a4f611e15565b815260208082019290925260409081015f9081206001600160e01b0319871682529092529020546001600160a01b031603610aa05782826040516253454d60e31b815260040161075792919061222f565b8060065f856002811115610ab657610ab6611e15565b6002811115610ac757610ac7611e15565b815260208082019290925260409081015f9081206001600160e01b0319871680835293522080546001600160a01b0319166001600160a01b039390931692909217909155836002811115610b1d57610b1d611e15565b6040516001600160a01b03841681527f760c87aaca384c3dc82d5bcce05884a75cf787ef7f7cacaef26a6822b2831dd4906020015b60405180910390a3505050565b638b78c6d819546001600160a01b0316336001600160a01b031614158015610b9257506001546001600160a01b03163314155b15610bb057604051633ae98a0760e21b815260040160405180910390fd5b5f818152600360205260408120546001600160401b03169003610be957604051630eb0bcc760e31b815260048101829052602401610757565b5f8181526003602052604090819020805467ffffffffffffffff19169055517f49f59bec846fd3588d7d4900a9d7698f294a73043ed6c407d5c2cfa90b8b90d790610c379083815260200190565b60405180910390a150565b610c4a61145d565b600180546001600160a01b0319166001600160a01b0383169081179091556040517f5549026e79f4449c2656308378875b265aaf4002b1ef696785f9439da13d4e36905f90a250565b5f5f60065f856002811115610caa57610caa611e15565b6002811115610cbb57610cbb611e15565b815260208082019290925260409081015f9081206001600160e01b0319871682529092529020546001600160a01b0316905061deac198101610d135783836040516253454d60e31b815260040161075792919061222f565b6001600160a01b038116610d6c5760025f856002811115610d3657610d36611e15565b6002811115610d4757610d47611e15565b815260208101919091526040015f20600201546001600160a01b03169150610d6f9050565b90505b92915050565b5f546060906001600160a01b03163314610da25760405163fe0232c360e01b815260040160405180910390fd5b5f60025f866002811115610db857610db8611e15565b6002811115610dc957610dc9611e15565b81526020019081526020015f206001015490505f60025f876002811115610df257610df2611e15565b6002811115610e0357610e03611e15565b81526020019081526020015f205f015490505f60075f886002811115610e2b57610e2b611e15565b6002811115610e3c57610e3c611e15565b81526020019081526020015f20549050610e5a87848b8b8a8a611563565b5f610e67898b018b612669565b80519091508214610e9857805160405163086e561f60e21b8152610757918491600401918252602082015260400190565b602081015151806001600160401b03811115610eb657610eb6611b72565b604051908082528060200260200182016040528015610eef57816020015b610edc611ae2565b815260200190600190039081610ed45790505b5095505f5b81811015610f4757610f2283602001518281518110610f1557610f15612757565b60200260200101516116ab565b878281518110610f3457610f34612757565b6020908102919091010152600101610ef4565b50886002811115610f5a57610f5a611e15565b7fdfa767ad54931d8d889f34b418a66f09a0bec3406debbd9decbb8ce919c24ffe8588604051602001610f8d9190612081565b60408051601f1981840301815290829052610fa8929161276b565b60405180910390a2505050505095945050505050565b610fc661145d565b81610fe4576040516341a463a560e01b815260040160405180910390fd5b8160025f856002811115610ffa57610ffa611e15565b600281111561100b5761100b611e15565b81526020019081526020015f205f01540361103d578282604051633cf7da7760e21b8152600401610757929190612783565b8160025f85600281111561105357611053611e15565b600281111561106457611064611e15565b81526020019081526020015f205f01819055508060075f85600281111561108d5761108d611e15565b600281111561109e5761109e611e15565b815260208101919091526040015f2055818360028111156110c1576110c1611e15565b6040518381527f51084eb34dac0e8c796b2741ed1a6fed727311fc435b0af0dac30f0581dbce4990602001610b52565b6110f961145d565b6109c8816118c0565b61110a61145d565b806001600160401b03165f0361113357604051635409e3e760e01b815260040160405180910390fd5b6004805467ffffffffffffffff19166001600160401b0383169081179091556040519081527fc620470b92e1af69c914495bff0725d3f9ddef58f4e3dad2d2e5b2f4bf63f0e390602001610c37565b61118a61145d565b806111a8576040516341a463a560e01b815260040160405180910390fd5b8060025f8460028111156111be576111be611e15565b60028111156111cf576111cf611e15565b81526020019081526020015f206001015403611202578181604051633cf7da7760e21b8152600401610757929190612783565b8060025f84600281111561121857611218611e15565b600281111561122957611229611e15565b815260208101919091526040015f20600101558082600281111561124f5761124f611e15565b6040517fa13c7e79c76dcced91cc62c49db73a3a02935aef810eea7b7942625e94bc4070905f90a35050565b61128361145d565b63389a75e1600c52805f526020600c2080544211156112a957636f5e88185f526004601cfd5b5f90556109c88161184e565b6112bd61145d565b8060601b6112d257637448fbae5f526004601cfd5b6109c88161184e565b60605f826001600160401b038111156112f6576112f6611b72565b60405190808252806020026020018201604052801561131f578160200160208202803683370190505b506005549091505f5b8481101561145357365f87878481811061134457611344612757565b9050602002810190611356919061279e565b909250905060018483835f8161136e5761136e612757565b90506020020135146113b8578483835f81811061138d5761138d612757565b9050602002013560405163e4ac496b60e01b8152600401610757929190918252602082015260400190565b60015b82811015611421575f60035f8686858181106113d9576113d9612757565b602090810292909201358352508101919091526040015f20546001600160401b031690504281101561140b5750611421565b6114166001846127f7565b9250506001016113bb565b508086858151811061143557611435612757565b60ff9290921660209283029190910190910152505050600101611328565b5090949350505050565b638b78c6d8195433146109b5576382b429005f526004601cfd5b8160025f85600281111561148d5761148d611e15565b600281111561149e5761149e611e15565b815260208082019290925260409081015f20835181559183015160018301559190910151600290910180546001600160a01b0319166001600160a01b03909216919091179055815115611523578060075f85600281111561150157611501611e15565b600281111561151257611512611e15565b815260208101919091526040015f20555b7f8c7491c9018c0b332e7d992d1b37db1a61f4c075cb30e237cc826c52c3166cef83838360405161155693929190612810565b60405180910390a1505050565b5f61156f878484611933565b9050600187600281111561158557611585611e15565b0361163c57806001600160a01b031663ab750e7584848960028a8a6040516115ae929190612856565b602060405180830381855afa1580156115c9573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906115ec9190612865565b6040518563ffffffff1660e01b815260040161160b94939291906128a4565b5f6040518083038186803b158015611621575f5ffd5b505afa158015611633573d5f5f3e3d5ffd5b505050506116a2565b600287600281111561165057611650611e15565b036116895760405163020a49e360e51b81526001600160a01b038216906341493c609061160b90899089908990899089906004016128ca565b60405163146af65760e21b815260040160405180910390fd5b50505050505050565b6116b3611ae2565b6001825160048111156116c8576116c8611e15565b146116d1575090565b816020015160ff165f036116e757506002815290565b5f5b826020015160ff16811015611788575f8360600151828151811061170f5761170f612757565b60200260200101519050815f0361175157600554811461174b578360025b9081600481111561174057611740611e15565b905250929392505050565b50611780565b5f818152600360205260409020546001600160401b03164281101561177d575050600383525090919050565b50505b6001016116e9565b50602082015160ff165b8260600151518110156117e2575f836080015182815181106117b6576117b6612757565b60200260200101519050806001600160401b03164211156117d95783600461172d565b50600101611792565b505f6103e883604001516117f69190612902565b6004549091504290611811906001600160401b03168361293b565b6001600160401b0316111580611830575042816001600160401b031610155b1561183e5750506004815290565b61184783611a51565b5090919050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b60058190556040518181527f63f2d4dca4c937ba68e57bbddd2b0a3560e5b497593228dbea7372c127c16dc890602001610c37565b6001600160a01b0381166118e657604051629ef5cb60e01b815260040160405180910390fd5b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e2017090602001610c37565b5f80611942600482858761295a565b61194b91612981565b90505f60065f87600281111561196357611963611e15565b600281111561197457611974611e15565b815260208082019290925260409081015f9081206001600160e01b0319861682529092529020546001600160a01b0316905061deac1981016119cc5785826040516253454d60e31b815260040161075792919061222f565b6001600160a01b038116611a1f5760025f8760028111156119ef576119ef611e15565b6002811115611a0057611a00611e15565b815260208101919091526040015f20600201546001600160a01b031690505b6001600160a01b038116611a485785604051636725e36b60e11b815260040161075791906129b9565b95945050505050565b602081015160ff165b816060015151811015611ade575f82606001518281518110611a7e57611a7e612757565b6020026020010151905082608001518281518110611a9e57611a9e612757565b6020908102919091018101515f92835260039091526040909120805467ffffffffffffffff19166001600160401b03909216919091179055600101611a5a565b5050565b604080516101408101909152805f81526020015f60ff1681526020015f6001600160401b03168152602001606081526020016060815260200160608152602001606081526020016060815260200160608152602001606081525090565b803560038110611b4d575f5ffd5b919050565b5f60208284031215611b62575f5ffd5b611b6b82611b3f565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b604080519081016001600160401b0381118282101715611ba857611ba8611b72565b60405290565b60405161014081016001600160401b0381118282101715611ba857611ba8611b72565b604051601f8201601f191681016001600160401b0381118282101715611bf957611bf9611b72565b604052919050565b80356001600160a01b0381168114611b4d575f5ffd5b5f5f5f83850360a0811215611c2a575f5ffd5b611c3385611b3f565b93506060601f1982011215611c46575f5ffd5b50604051606081016001600160401b0381118282101715611c6957611c69611b72565b604090815260208681013583529086013590820152611c8a60608601611c01565b6040820152929592945050506080919091013590565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f611b6b6020830184611ca0565b80356001600160e01b031981168114611b4d575f5ffd5b5f5f60408385031215611d08575f5ffd5b611d1183611b3f565b9150611d1f60208401611ce0565b90509250929050565b81518152602080830151908201526040808301516001600160a01b03169082015260608101610d6f565b5f5f83601f840112611d62575f5ffd5b5081356001600160401b03811115611d78575f5ffd5b602083019150836020828501011115611d8f575f5ffd5b9250929050565b5f5f5f5f5f60608688031215611daa575f5ffd5b85356001600160401b03811115611dbf575f5ffd5b611dcb88828901611d52565b9096509450611dde905060208701611b3f565b925060408601356001600160401b03811115611df8575f5ffd5b611e0488828901611d52565b969995985093965092949392505050565b634e487b7160e01b5f52602160045260245ffd5b60058110611e3957611e39611e15565b9052565b5f8151808452602084019350602083015f5b82811015611e6d578151865260209586019590910190600101611e4f565b5093949350505050565b5f8151808452602084019350602083015f5b82811015611e6d5781516001600160401b0316865260209586019590910190600101611e89565b5f8151808452602084019350602083015f5b82811015611e6d57815180516001600160401b031687526020908101518051828901528101516001600160801b031916604088015260609096019590910190600101611ec2565b611f14828251611e29565b5f6020820151611f29602085018260ff169052565b506040820151611f4460408501826001600160401b03169052565b5060608201516101406060850152611f60610140850182611e3d565b905060808301518482036080860152611f798282611e77565b91505060a083015184820360a0860152611f938282611ca0565b91505060c083015184820360c0860152611fad8282611ca0565b91505060e083015184820360e0860152611fc78282611ca0565b915050610100830151848203610100860152611fe38282611eb0565b915050610120830151848203610120860152611a488282611ca0565b602081525f611b6b6020830184611f09565b5f60208284031215612021575f5ffd5b5035919050565b5f5f5f6060848603121561203a575f5ffd5b61204384611b3f565b925061205160208501611ce0565b915061205f60408501611c01565b90509250925092565b5f60208284031215612078575f5ffd5b611b6b82611c01565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156120d857603f198786030184526120c3858351611f09565b945060209384019391909101906001016120a7565b50929695505050505050565b5f5f5f606084860312156120f6575f5ffd5b6120ff84611b3f565b95602085013595506040909401359392505050565b80356001600160401b0381168114611b4d575f5ffd5b5f6020828403121561213a575f5ffd5b611b6b82612114565b5f5f60408385031215612154575f5ffd5b61215d83611b3f565b946020939093013593505050565b5f5f6020838503121561217c575f5ffd5b82356001600160401b03811115612191575f5ffd5b8301601f810185136121a1575f5ffd5b80356001600160401b038111156121b6575f5ffd5b8560208260051b84010111156121ca575f5ffd5b6020919091019590945092505050565b602080825282518282018190525f918401906040840190835b8181101561221457835160ff168352602093840193909201916001016121f3565b509095945050505050565b60038110611e3957611e39611e15565b6040810161223d828561221f565b63ffffffff60e01b831660208301529392505050565b803560058110611b4d575f5ffd5b803560ff81168114611b4d575f5ffd5b5f6001600160401b0382111561228957612289611b72565b5060051b60200190565b5f82601f8301126122a2575f5ffd5b81356122b56122b082612271565b611bd1565b8082825260208201915060208360051b8601019250858311156122d6575f5ffd5b602085015b838110156122f35780358352602092830192016122db565b5095945050505050565b5f82601f83011261230c575f5ffd5b813561231a6122b082612271565b8082825260208201915060208360051b86010192508583111561233b575f5ffd5b602085015b838110156122f35761235181612114565b835260209283019201612340565b5f82601f83011261236e575f5ffd5b8135602083015f5f6001600160401b0384111561238d5761238d611b72565b50601f8301601f19166020016123a281611bd1565b9150508281528583830111156123b6575f5ffd5b828260208301375f92810160200192909252509392505050565b5f82601f8301126123df575f5ffd5b81356123ed6122b082612271565b8082825260208201915060206060840286010192508583111561240e575f5ffd5b602085015b838110156122f357808703606081121561242b575f5ffd5b612433611b86565b61243c83612114565b81526040601f198301121561244f575f5ffd5b612457611b86565b60208401358152915060408301356001600160801b03198116811461247a575f5ffd5b6020838101919091528181019290925284529290920191606001612413565b5f61014082840312156124aa575f5ffd5b6124b2611bae565b90506124bd82612253565b81526124cb60208301612261565b60208201526124dc60408301612114565b604082015260608201356001600160401b038111156124f9575f5ffd5b61250584828501612293565b60608301525060808201356001600160401b03811115612523575f5ffd5b61252f848285016122fd565b60808301525060a08201356001600160401b0381111561254d575f5ffd5b6125598482850161235f565b60a08301525060c08201356001600160401b03811115612577575f5ffd5b6125838482850161235f565b60c08301525060e08201356001600160401b038111156125a1575f5ffd5b6125ad8482850161235f565b60e0830152506101008201356001600160401b038111156125cc575f5ffd5b6125d8848285016123d0565b610100830152506101208201356001600160401b038111156125f8575f5ffd5b6126048482850161235f565b6101208301525092915050565b5f60208284031215612621575f5ffd5b81356001600160401b03811115612636575f5ffd5b61264284828501612499565b949350505050565b6126548184611e29565b604060208201525f6126426040830184611ca0565b5f60208284031215612679575f5ffd5b81356001600160401b0381111561268e575f5ffd5b82016040818503121561269f575f5ffd5b6126a7611b86565b8135815260208201356001600160401b038111156126c3575f5ffd5b80830192505084601f8301126126d7575f5ffd5b81356126e56122b082612271565b8082825260208201915060208360051b860101925087831115612706575f5ffd5b602085015b838110156127465780356001600160401b03811115612728575f5ffd5b6127378a6020838a0101612499565b8452506020928301920161270b565b506020840152509095945050505050565b634e487b7160e01b5f52603260045260245ffd5b828152604060208201525f6126426040830184611ca0565b60408101612791828561221f565b8260208301529392505050565b5f5f8335601e198436030181126127b3575f5ffd5b8301803591506001600160401b038211156127cc575f5ffd5b6020019150600581901b3603821315611d8f575f5ffd5b634e487b7160e01b5f52601160045260245ffd5b60ff8181168382160190811115610d6f57610d6f6127e3565b60a0810161281e828661221f565b612848602083018580518252602080820151908301526040908101516001600160a01b0316910152565b826080830152949350505050565b818382375f9101908152919050565b5f60208284031215612875575f5ffd5b5051919050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b606081525f6128b760608301868861287c565b6020830194909452506040015292915050565b858152606060208201525f6128e360608301868861287c565b82810360408401526128f681858761287c565b98975050505050505050565b5f6001600160401b0383168061292657634e487b7160e01b5f52601260045260245ffd5b806001600160401b0384160491505092915050565b6001600160401b038181168382160190811115610d6f57610d6f6127e3565b5f5f85851115612968575f5ffd5b83861115612974575f5ffd5b5050820193919092039150565b80356001600160e01b031981169060048410156129b2576001600160e01b0319600485900360031b81901b82161691505b5092915050565b60208101610d6f828461221f56fea264697066735822122045325784d39fdaa0362143aea241c6924573a911af0ecf4716bdba6d7dc61d7164736f6c634300081e00330000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c7210000000000000000000000000000000000000000000000000000000000000e10000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001a0641a0321a3e244efe456463195d606317ed7cdcc3c1756e09893f3c68f79bb5b000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000008074b32bd7d06c8f27596f3d6fbf867a36ea22a3000000000000000000000000000000000000000000000000000000000000000115051db631d6ed382d957c795a558a0abdd00d0d22a1670455721bc2712d3d6e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000925d8331ddc0a1f0d96e68cf073dfe1d92b69187000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x168\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x71144f701638a913120457b8267939f7a9b6b465e8e9727c09d87e4bbb9a95af\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"NitroEnclaveVerifier\",\n      \"contractAddress\": \"0x7d8ea07db94128dbee66bafa3ebaa9668b413d72\",\n      \"function\": \"addVerifyRoute(uint8,bytes4,address)\",\n      \"arguments\": [\n        \"1\",\n        \"0x242f9d5b\",\n        \"0xcb9D14347b1e816831ECeE46EC199144F360B55c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"to\": \"0x7d8ea07db94128dbee66bafa3ebaa9668b413d72\",\n        \"gas\": \"0x1097f\",\n        \"value\": \"0x0\",\n        \"input\": \"0x86546a490000000000000000000000000000000000000000000000000000000000000001242f9d5b00000000000000000000000000000000000000000000000000000000000000000000000000000000cb9d14347b1e816831ecee46ec199144f360b55c\",\n        \"nonce\": \"0x169\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xd40a08\",\n      \"logs\": [\n        {\n          \"address\": \"0x7d8ea07db94128dbee66bafa3ebaa9668b413d72\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xb181898b44876d02a3e8cfc5cff332795359fad938684460dcd44ca3174dafb0\",\n          \"blockNumber\": \"0xa2dfc3\",\n          \"blockTimestamp\": \"0x69e167b0\",\n          \"transactionHash\": \"0xfdd47ebbef441dfdef8153b9c6c528a9cea60c84da68bcf66d7f07d5f8767eea\",\n          \"transactionIndex\": \"0x4a\",\n          \"logIndex\": \"0x16c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x7d8ea07db94128dbee66bafa3ebaa9668b413d72\",\n          \"topics\": [\n            \"0x63f2d4dca4c937ba68e57bbddd2b0a3560e5b497593228dbea7372c127c16dc8\"\n          ],\n          \"data\": \"0x641a0321a3e244efe456463195d606317ed7cdcc3c1756e09893f3c68f79bb5b\",\n          \"blockHash\": \"0xb181898b44876d02a3e8cfc5cff332795359fad938684460dcd44ca3174dafb0\",\n          \"blockNumber\": \"0xa2dfc3\",\n          \"blockTimestamp\": \"0x69e167b0\",\n          \"transactionHash\": \"0xfdd47ebbef441dfdef8153b9c6c528a9cea60c84da68bcf66d7f07d5f8767eea\",\n          \"transactionIndex\": \"0x4a\",\n          \"logIndex\": \"0x16d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x7d8ea07db94128dbee66bafa3ebaa9668b413d72\",\n          \"topics\": [\n            \"0x6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e20170\"\n          ],\n          \"data\": \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"blockHash\": \"0xb181898b44876d02a3e8cfc5cff332795359fad938684460dcd44ca3174dafb0\",\n          \"blockNumber\": \"0xa2dfc3\",\n          \"blockTimestamp\": \"0x69e167b0\",\n          \"transactionHash\": \"0xfdd47ebbef441dfdef8153b9c6c528a9cea60c84da68bcf66d7f07d5f8767eea\",\n          \"transactionIndex\": \"0x4a\",\n          \"logIndex\": \"0x16e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x7d8ea07db94128dbee66bafa3ebaa9668b413d72\",\n          \"topics\": [\n            \"0x8c7491c9018c0b332e7d992d1b37db1a61f4c075cb30e237cc826c52c3166cef\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000000115051db631d6ed382d957c795a558a0abdd00d0d22a1670455721bc2712d3d6e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000925d8331ddc0a1f0d96e68cf073dfe1d92b691870000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xb181898b44876d02a3e8cfc5cff332795359fad938684460dcd44ca3174dafb0\",\n          \"blockNumber\": \"0xa2dfc3\",\n          \"blockTimestamp\": \"0x69e167b0\",\n          \"transactionHash\": \"0xfdd47ebbef441dfdef8153b9c6c528a9cea60c84da68bcf66d7f07d5f8767eea\",\n          \"transactionIndex\": \"0x4a\",\n          \"logIndex\": \"0x16f\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000100000000802000000000000004000000000000000000000000000008000000000000000000000000000000000000000000800000000000000000000001000000000000000020000000000000000000024000000000000000000800000000000000000000000000000000400000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000400000000004000000000000800000000000000800000000004000000000000000000000020000000000000000000000000000000000000000000000000400000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xfdd47ebbef441dfdef8153b9c6c528a9cea60c84da68bcf66d7f07d5f8767eea\",\n      \"transactionIndex\": \"0x4a\",\n      \"blockHash\": \"0xb181898b44876d02a3e8cfc5cff332795359fad938684460dcd44ca3174dafb0\",\n      \"blockNumber\": \"0xa2dfc3\",\n      \"gasUsed\": \"0x274d6c\",\n      \"effectiveGasPrice\": \"0x1303b9\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": null,\n      \"contractAddress\": \"0x7d8ea07db94128dbee66bafa3ebaa9668b413d72\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xea2169\",\n      \"logs\": [\n        {\n          \"address\": \"0x7d8ea07db94128dbee66bafa3ebaa9668b413d72\",\n          \"topics\": [\n            \"0x760c87aaca384c3dc82d5bcce05884a75cf787ef7f7cacaef26a6822b2831dd4\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n            \"0x242f9d5b00000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x000000000000000000000000cb9d14347b1e816831ecee46ec199144f360b55c\",\n          \"blockHash\": \"0x8dbaefeb17709c6f42b23d6f2de928fb676b76cc0f12821b41bc1756b273faf5\",\n          \"blockNumber\": \"0xa2dfc8\",\n          \"blockTimestamp\": \"0x69e167ec\",\n          \"transactionHash\": \"0x71144f701638a913120457b8267939f7a9b6b465e8e9727c09d87e4bbb9a95af\",\n          \"transactionIndex\": \"0x45\",\n          \"logIndex\": \"0x257\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000008000000000000000000000000040000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000020000000000000000000000000000000001000000000000000000000000000000000000000000000000000000084000000000000000000000000000000000000004400000000000000000000040000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x71144f701638a913120457b8267939f7a9b6b465e8e9727c09d87e4bbb9a95af\",\n      \"transactionIndex\": \"0x45\",\n      \"blockHash\": \"0x8dbaefeb17709c6f42b23d6f2de928fb676b76cc0f12821b41bc1756b273faf5\",\n      \"blockNumber\": \"0xa2dfc8\",\n      \"gasUsed\": \"0xc038\",\n      \"effectiveGasPrice\": \"0x12ed07\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": \"0x7d8ea07db94128dbee66bafa3ebaa9668b413d72\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1776379902060,\n  \"chain\": 11155111,\n  \"commit\": \"9fbef31\"\n}"
  },
  {
    "path": "sepolia/2026-04-20-activate-multiproof/records/SetupNitroEnclaveVerifier.s.sol/11155111/run-1776362557749.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xce6e362345b9d61b08e6889bcf97009fc1592e27c0ce42cef8f9fe7acdad6e70\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x8e385c5136a530dd359f424db43bf672dd191ec9\",\n      \"function\": \"setProofSubmitter(address)\",\n      \"arguments\": [\n        \"0x18217d97582e0E5bf03f3408Ff4569bB333bFBCD\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x8e385c5136a530dd359f424db43bf672dd191ec9\",\n        \"gas\": \"0xa2e1\",\n        \"value\": \"0x0\",\n        \"input\": \"0xd06d558700000000000000000000000018217d97582e0e5bf03f3408ff4569bb333bfbcd\",\n        \"nonce\": \"0x32\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x717d8f1b2e984817af525397e38c035543c5d574ba8a48e691614b36771c21c2\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x8e385c5136a530dd359f424db43bf672dd191ec9\",\n      \"function\": \"transferOwnership(address)\",\n      \"arguments\": [\n        \"0x646132A1667ca7aD00d36616AFBA1A28116C770A\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x8e385c5136a530dd359f424db43bf672dd191ec9\",\n        \"gas\": \"0xa2c3\",\n        \"value\": \"0x0\",\n        \"input\": \"0xf2fde38b000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a\",\n        \"nonce\": \"0x33\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xc5ec1f\",\n      \"logs\": [\n        {\n          \"address\": \"0x8e385c5136a530dd359f424db43bf672dd191ec9\",\n          \"topics\": [\n            \"0x6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e20170\"\n          ],\n          \"data\": \"0x00000000000000000000000018217d97582e0e5bf03f3408ff4569bb333bfbcd\",\n          \"blockHash\": \"0xf8012886e339504dc0db9b0471c5564e75929e69ca72a6b31a39f41c76e1da79\",\n          \"blockNumber\": \"0xa2dab5\",\n          \"blockTimestamp\": \"0x69e12430\",\n          \"transactionHash\": \"0xce6e362345b9d61b08e6889bcf97009fc1592e27c0ce42cef8f9fe7acdad6e70\",\n          \"transactionIndex\": \"0x4f\",\n          \"logIndex\": \"0x177\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000400000000000000000000000800000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xce6e362345b9d61b08e6889bcf97009fc1592e27c0ce42cef8f9fe7acdad6e70\",\n      \"transactionIndex\": \"0x4f\",\n      \"blockHash\": \"0xf8012886e339504dc0db9b0471c5564e75929e69ca72a6b31a39f41c76e1da79\",\n      \"blockNumber\": \"0xa2dab5\",\n      \"gasUsed\": \"0x75ed\",\n      \"effectiveGasPrice\": \"0x28f1fd3\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x8e385c5136a530dd359f424db43bf672dd191ec9\",\n      \"contractAddress\": null\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xa6a0b2\",\n      \"logs\": [\n        {\n          \"address\": \"0x8e385c5136a530dd359f424db43bf672dd191ec9\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n            \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xed35cdf98ee02af1db558d28925d7cb251a847348036e267f537a5adf3fa220c\",\n          \"blockNumber\": \"0xa2dab6\",\n          \"blockTimestamp\": \"0x69e1243c\",\n          \"transactionHash\": \"0x717d8f1b2e984817af525397e38c035543c5d574ba8a48e691614b36771c21c2\",\n          \"transactionIndex\": \"0x4d\",\n          \"logIndex\": \"0x18e\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000400000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000400000000000000000000000002000000000000000000000000000000000000000000008000408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000100000000000000000000000200000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x717d8f1b2e984817af525397e38c035543c5d574ba8a48e691614b36771c21c2\",\n      \"transactionIndex\": \"0x4d\",\n      \"blockHash\": \"0xed35cdf98ee02af1db558d28925d7cb251a847348036e267f537a5adf3fa220c\",\n      \"blockNumber\": \"0xa2dab6\",\n      \"gasUsed\": \"0x6f4b\",\n      \"effectiveGasPrice\": \"0x28bc6c9\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x8e385c5136a530dd359f424db43bf672dd191ec9\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1776362557749,\n  \"chain\": 11155111,\n  \"commit\": \"2e318fa\"\n}"
  },
  {
    "path": "sepolia/2026-04-20-activate-multiproof/records/SetupNitroEnclaveVerifier.s.sol/11155111/run-1776380244914.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x3fc21466b695ed1e211051bfe3067cfed0d558d8a2e13be71742249499f41752\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x7d8ea07db94128dbee66bafa3ebaa9668b413d72\",\n      \"function\": \"setProofSubmitter(address)\",\n      \"arguments\": [\n        \"0xf0d7E15673fBA052e83d7f2b26BB6071E86b972e\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"to\": \"0x7d8ea07db94128dbee66bafa3ebaa9668b413d72\",\n        \"gas\": \"0xa2e1\",\n        \"value\": \"0x0\",\n        \"input\": \"0xd06d5587000000000000000000000000f0d7e15673fba052e83d7f2b26bb6071e86b972e\",\n        \"nonce\": \"0x177\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x37d56021d2ede69231f88c55e05c1f0b3f6cebf311c3c7f6f1fe01850f44e4da\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x7d8ea07db94128dbee66bafa3ebaa9668b413d72\",\n      \"function\": \"transferOwnership(address)\",\n      \"arguments\": [\n        \"0x646132A1667ca7aD00d36616AFBA1A28116C770A\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n        \"to\": \"0x7d8ea07db94128dbee66bafa3ebaa9668b413d72\",\n        \"gas\": \"0xa2c3\",\n        \"value\": \"0x0\",\n        \"input\": \"0xf2fde38b000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a\",\n        \"nonce\": \"0x178\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1159a19\",\n      \"logs\": [\n        {\n          \"address\": \"0x7d8ea07db94128dbee66bafa3ebaa9668b413d72\",\n          \"topics\": [\n            \"0x6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e20170\"\n          ],\n          \"data\": \"0x000000000000000000000000f0d7e15673fba052e83d7f2b26bb6071e86b972e\",\n          \"blockHash\": \"0x405bdffa3f983c0151146567731b76d912ec3d13ad77144c0bdf9c1826728351\",\n          \"blockNumber\": \"0xa2dfe3\",\n          \"blockTimestamp\": \"0x69e16954\",\n          \"transactionHash\": \"0x37d56021d2ede69231f88c55e05c1f0b3f6cebf311c3c7f6f1fe01850f44e4da\",\n          \"transactionIndex\": \"0x7b\",\n          \"logIndex\": \"0x267\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000004000000000000800000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x37d56021d2ede69231f88c55e05c1f0b3f6cebf311c3c7f6f1fe01850f44e4da\",\n      \"transactionIndex\": \"0x7b\",\n      \"blockHash\": \"0x405bdffa3f983c0151146567731b76d912ec3d13ad77144c0bdf9c1826728351\",\n      \"blockNumber\": \"0xa2dfe3\",\n      \"gasUsed\": \"0x75ed\",\n      \"effectiveGasPrice\": \"0x11349d\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": \"0x7d8ea07db94128dbee66bafa3ebaa9668b413d72\",\n      \"contractAddress\": null\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1160964\",\n      \"logs\": [\n        {\n          \"address\": \"0x7d8ea07db94128dbee66bafa3ebaa9668b413d72\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721\",\n            \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x405bdffa3f983c0151146567731b76d912ec3d13ad77144c0bdf9c1826728351\",\n          \"blockNumber\": \"0xa2dfe3\",\n          \"blockTimestamp\": \"0x69e16954\",\n          \"transactionHash\": \"0x3fc21466b695ed1e211051bfe3067cfed0d558d8a2e13be71742249499f41752\",\n          \"transactionIndex\": \"0x7c\",\n          \"logIndex\": \"0x268\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000008000000000000000000000000000000000000000000800000000000000000000001000000000000000000000000000000000000004000000000000000000000010000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000800000000004000000001000000000000000000000000000000000000000000000000200000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x3fc21466b695ed1e211051bfe3067cfed0d558d8a2e13be71742249499f41752\",\n      \"transactionIndex\": \"0x7c\",\n      \"blockHash\": \"0x405bdffa3f983c0151146567731b76d912ec3d13ad77144c0bdf9c1826728351\",\n      \"blockNumber\": \"0xa2dfe3\",\n      \"gasUsed\": \"0x6f4b\",\n      \"effectiveGasPrice\": \"0x11349d\",\n      \"from\": \"0x8c1a617bdb47342f9c17ac8750e0b070c372c721\",\n      \"to\": \"0x7d8ea07db94128dbee66bafa3ebaa9668b413d72\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1776380244914,\n  \"chain\": 11155111,\n  \"commit\": \"9fbef31\"\n}"
  },
  {
    "path": "sepolia/2026-04-20-activate-multiproof/script/ActivateMultiproofStack.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\n\nimport {ISystemConfig} from \"interfaces/L1/ISystemConfig.sol\";\nimport {IDisputeGameFactory} from \"interfaces/dispute/IDisputeGameFactory.sol\";\n\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Enum} from \"@base-contracts/script/universal/IGnosisSafe.sol\";\nimport {GameType, Hash, Proposal} from \"@base-contracts/src/dispute/lib/Types.sol\";\nimport {AnchorStateRegistry} from \"@base-contracts/src/dispute/AnchorStateRegistry.sol\";\nimport {DelayedWETH} from \"@base-contracts/src/dispute/DelayedWETH.sol\";\nimport {OptimismPortal2} from \"@base-contracts/src/L1/OptimismPortal2.sol\";\nimport {TEEProverRegistry} from \"@base-contracts/src/multiproof/tee/TEEProverRegistry.sol\";\n\ninterface IProxyAdmin {\n    function upgrade(address proxy, address implementation) external;\n    function upgradeAndCall(address proxy, address implementation, bytes calldata data) external payable;\n}\n\ninterface IProxy {\n    function implementation() external view returns (address);\n}\n\ninterface IDisputeGameFactoryAdmin {\n    function owner() external view returns (address);\n    function gameImpls(GameType gameType) external view returns (address);\n    function initBonds(GameType gameType) external view returns (uint256);\n    function setImplementation(GameType gameType, address impl, bytes calldata args) external;\n    function setInitBond(GameType gameType, uint256 initBond) external;\n}\n\ncontract ActivateMultiproofStack is MultisigScript {\n    address internal ownerSafeEnv;\n    address internal proxyAdminEnv;\n    address internal systemConfigEnv;\n    address internal optimismPortalEnv;\n    address internal disputeGameFactoryProxyEnv;\n    address internal anchorStateRegistryProxyEnv;\n\n    uint32 internal gameTypeEnv;\n    uint256 internal initBondEnv;\n    bytes32 internal startingAnchorRootEnv;\n    uint256 internal startingAnchorL2BlockNumberEnv;\n\n    // TEE registry parameters (used for post-check validation; proxies are initialized\n    // at deploy time in DeployMultiproofStack).\n    address internal teeProverRegistryOwnerEnv;\n    address internal teeProverRegistryManagerEnv;\n    address internal proposerEnv;\n    address internal challengerEnv;\n\n    // Addresses from the facilitator deploy step (addresses.json).\n    address internal newAggregateVerifier;\n    address internal newOptimismPortalImpl;\n    address internal newDgfImpl;\n    address internal newAsrImpl;\n    address internal newTeeProverRegistryImpl;\n    address internal newTeeProverRegistryProxy;\n    address internal newDelayedWethImpl;\n    address internal newDelayedWethProxy;\n\n    function setUp() public {\n        ownerSafeEnv = vm.envAddress(\"PROXY_ADMIN_OWNER\");\n        proxyAdminEnv = vm.envAddress(\"L1_PROXY_ADMIN\");\n        systemConfigEnv = vm.envAddress(\"SYSTEM_CONFIG\");\n        optimismPortalEnv = vm.envAddress(\"OPTIMISM_PORTAL\");\n        disputeGameFactoryProxyEnv = vm.envAddress(\"DISPUTE_GAME_FACTORY_PROXY\");\n        anchorStateRegistryProxyEnv = vm.envAddress(\"ANCHOR_STATE_REGISTRY_PROXY\");\n\n        gameTypeEnv = uint32(vm.envUint(\"GAME_TYPE\"));\n        initBondEnv = vm.envUint(\"INIT_BOND\");\n        startingAnchorRootEnv = vm.envBytes32(\"STARTING_ANCHOR_ROOT\");\n        startingAnchorL2BlockNumberEnv = vm.envUint(\"STARTING_ANCHOR_L2_BLOCK_NUMBER\");\n\n        teeProverRegistryOwnerEnv = vm.envAddress(\"TEE_PROVER_REGISTRY_OWNER\");\n        teeProverRegistryManagerEnv = vm.envAddress(\"TEE_PROVER_REGISTRY_MANAGER\");\n        proposerEnv = vm.envAddress(\"PROPOSER\");\n        challengerEnv = vm.envAddress(\"CHALLENGER\");\n\n        string memory root = vm.projectRoot();\n        string memory path = string.concat(root, \"/addresses.json\");\n        string memory json = vm.readFile(path);\n\n        newAggregateVerifier = vm.parseJsonAddress({json: json, key: \".aggregateVerifier\"});\n        newOptimismPortalImpl = vm.parseJsonAddress({json: json, key: \".optimismPortal2Impl\"});\n        newDgfImpl = vm.parseJsonAddress({json: json, key: \".disputeGameFactoryImpl\"});\n        newAsrImpl = vm.parseJsonAddress({json: json, key: \".anchorStateRegistryImpl\"});\n        newTeeProverRegistryImpl = vm.parseJsonAddress({json: json, key: \".teeProverRegistryImpl\"});\n        newTeeProverRegistryProxy = vm.parseJsonAddress({json: json, key: \".teeProverRegistryProxy\"});\n        newDelayedWethImpl = vm.parseJsonAddress({json: json, key: \".delayedWETHImpl\"});\n        newDelayedWethProxy = vm.parseJsonAddress({json: json, key: \".delayedWETHProxy\"});\n\n        // Sanity-check that the executing Safe holds the roles required by the non-ProxyAdmin calls\n        // that remain in this batch.\n        require(\n            IDisputeGameFactoryAdmin(disputeGameFactoryProxyEnv).owner() == ownerSafeEnv,\n            \"DGF owner != PROXY_ADMIN_OWNER: setImplementation/setInitBond will revert\"\n        );\n        require(\n            ISystemConfig(systemConfigEnv).guardian() == ownerSafeEnv,\n            \"Guardian != PROXY_ADMIN_OWNER: updateRetirementTimestamp will revert\"\n        );\n    }\n\n    /// @dev Builds the ordered batch of calls executed atomically by the owner Safe.\n    ///      Ordering constraints:\n    ///      - Proxy upgrades must precede any call that depends on new impl logic.\n    ///      - The AnchorStateRegistry reinitializer runs before `setImplementation`, but this is\n    ///        still safe because the batch executes atomically and no external caller can observe\n    ///        the intermediate state where the respected game type has been updated before the\n    ///        new DisputeGameFactory implementation is registered.\n    ///      - `updateRetirementTimestamp` retires old games after all wiring is done.\n    ///\n    ///      Note: TEEProverRegistry and DelayedWETH proxies are already initialized at deploy\n    ///      time (in DeployMultiproofStack) and do not require wiring in this batch.\n    ///\n    ///      Call summary:\n    ///      0. Upgrade OptimismPortal2 proxy.\n    ///      1. Upgrade DisputeGameFactory proxy.\n    ///      2. Upgrade + reinitialize AnchorStateRegistry proxy (sets respectedGameType).\n    ///      3. Register AggregateVerifier in the DisputeGameFactory.\n    ///      4. Set the init bond for the multiproof game type.\n    ///      5. Retire pre-cutover games.\n    function _buildCalls() internal view override returns (Call[] memory) {\n        Call[] memory calls = new Call[](6);\n\n        // 0. Upgrade the OptimismPortal2 proxy to the new implementation.\n        calls[0] = Call({\n            operation: Enum.Operation.Call,\n            target: proxyAdminEnv,\n            data: abi.encodeCall(IProxyAdmin.upgrade, (optimismPortalEnv, newOptimismPortalImpl)),\n            value: 0\n        });\n\n        // 1. Upgrade the DisputeGameFactory proxy to the new implementation.\n        calls[1] = Call({\n            operation: Enum.Operation.Call,\n            target: proxyAdminEnv,\n            data: abi.encodeCall(IProxyAdmin.upgrade, (disputeGameFactoryProxyEnv, newDgfImpl)),\n            value: 0\n        });\n\n        // 2. Upgrade the AnchorStateRegistry proxy and reinitialize to seed the starting anchor root,\n        //    wire the DGF dependency, and set the respected game type.\n        calls[2] = Call({\n            operation: Enum.Operation.Call,\n            target: proxyAdminEnv,\n            data: abi.encodeCall(\n                IProxyAdmin.upgradeAndCall,\n                (\n                    anchorStateRegistryProxyEnv,\n                    newAsrImpl,\n                    abi.encodeCall(\n                        AnchorStateRegistry.initialize,\n                        (\n                            ISystemConfig(systemConfigEnv),\n                            IDisputeGameFactory(disputeGameFactoryProxyEnv),\n                            Proposal({\n                                root: Hash.wrap(startingAnchorRootEnv), l2SequenceNumber: startingAnchorL2BlockNumberEnv\n                            }),\n                            GameType.wrap(gameTypeEnv)\n                        )\n                    )\n                )\n            ),\n            value: 0\n        });\n\n        // 3. Register the newly deployed AggregateVerifier as the implementation for the configured multiproof\n        //    game type in the DisputeGameFactory.\n        calls[3] = Call({\n            operation: Enum.Operation.Call,\n            target: disputeGameFactoryProxyEnv,\n            data: abi.encodeCall(\n                IDisputeGameFactoryAdmin.setImplementation, (GameType.wrap(gameTypeEnv), newAggregateVerifier, \"\")\n            ),\n            value: 0\n        });\n\n        // 4. Set the init bond required to create games of the new multiproof type.\n        calls[4] = Call({\n            operation: Enum.Operation.Call,\n            target: disputeGameFactoryProxyEnv,\n            data: abi.encodeCall(IDisputeGameFactoryAdmin.setInitBond, (GameType.wrap(gameTypeEnv), initBondEnv)),\n            value: 0\n        });\n\n        // 5. Retire any pre-cutover games so older disputes cannot remain respected\n        //    after the new multiproof configuration is activated.\n        calls[5] = Call({\n            operation: Enum.Operation.Call,\n            target: anchorStateRegistryProxyEnv,\n            data: abi.encodeCall(AnchorStateRegistry.updateRetirementTimestamp, ()),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal override {\n        _checkProxyUpgrades();\n        _checkAnchorStateRegistry();\n        _checkTeeProverRegistryProxy();\n        _checkDelayedWethProxy();\n        _checkDisputeGameFactory();\n    }\n\n    /// @dev Validates that every existing L1 proxy now points to its new implementation.\n    ///      1. Check that OptimismPortal2 proxy implementation equals the deployed impl.\n    ///      2. Check that DisputeGameFactory proxy implementation equals the deployed impl.\n    ///      3. Check that AnchorStateRegistry proxy implementation equals the deployed impl.\n    function _checkProxyUpgrades() internal {\n        vm.prank(proxyAdminEnv);\n        require(IProxy(optimismPortalEnv).implementation() == newOptimismPortalImpl, \"portal impl mismatch\");\n        vm.prank(proxyAdminEnv);\n        require(IProxy(disputeGameFactoryProxyEnv).implementation() == newDgfImpl, \"dgf impl mismatch\");\n        vm.prank(proxyAdminEnv);\n        require(IProxy(anchorStateRegistryProxyEnv).implementation() == newAsrImpl, \"asr impl mismatch\");\n    }\n\n    /// @dev Validates the AnchorStateRegistry reinitialization and cutover state.\n    ///      1. Check that systemConfig matches the .env value.\n    ///      2. Check that disputeGameFactory matches the .env value.\n    ///      3. Check that startingAnchorRoot matches the .env value.\n    ///      4. Check that the starting L2 sequence number matches the .env value.\n    ///      5. Check that respectedGameType is set to the multiproof game type.\n    ///      6. Check that retirementTimestamp equals block.timestamp.\n    ///      7. Check that OptimismPortal2 still references this ASR proxy.\n    function _checkAnchorStateRegistry() internal view {\n        AnchorStateRegistry asr = AnchorStateRegistry(anchorStateRegistryProxyEnv);\n\n        require(address(asr.systemConfig()) == systemConfigEnv, \"asr system config mismatch\");\n        require(address(asr.disputeGameFactory()) == disputeGameFactoryProxyEnv, \"asr dgf mismatch\");\n\n        Proposal memory startingAnchor = asr.getStartingAnchorRoot();\n        require(Hash.unwrap(startingAnchor.root) == startingAnchorRootEnv, \"anchor root mismatch\");\n        require(startingAnchor.l2SequenceNumber == startingAnchorL2BlockNumberEnv, \"anchor block mismatch\");\n        require(GameType.unwrap(asr.respectedGameType()) == gameTypeEnv, \"respected game type mismatch\");\n        require(asr.retirementTimestamp() == uint64(block.timestamp), \"retirement timestamp mismatch\");\n        require(\n            address(OptimismPortal2(payable(optimismPortalEnv)).anchorStateRegistry()) == anchorStateRegistryProxyEnv,\n            \"portal asr mismatch\"\n        );\n    }\n\n    /// @dev Validates the TEEProverRegistry proxy (initialized at deploy time in DeployMultiproofStack).\n    ///      1. Check that the proxy implementation is set to the deployed impl.\n    ///      2. Check that owner is set to TEE_PROVER_REGISTRY_OWNER.\n    ///      3. Check that manager is set to TEE_PROVER_REGISTRY_MANAGER.\n    ///      4. Check that gameType is set to the multiproof game type.\n    ///      5. Check that PROPOSER is flagged as valid.\n    ///      6. Check that the challenger is flagged as valid.\n    function _checkTeeProverRegistryProxy() internal {\n        vm.prank(proxyAdminEnv);\n        require(\n            IProxy(newTeeProverRegistryProxy).implementation() == newTeeProverRegistryImpl, \"tee registry impl mismatch\"\n        );\n\n        TEEProverRegistry registry = TEEProverRegistry(newTeeProverRegistryProxy);\n        require(registry.owner() == teeProverRegistryOwnerEnv, \"tee registry owner mismatch\");\n        require(registry.manager() == teeProverRegistryManagerEnv, \"tee registry manager mismatch\");\n        require(GameType.unwrap(registry.gameType()) == gameTypeEnv, \"tee registry game type mismatch\");\n        require(registry.isValidProposer(proposerEnv), \"tee registry proposer mismatch\");\n        require(registry.isValidProposer(challengerEnv), \"tee registry challenger mismatch\");\n    }\n\n    /// @dev Validates the DelayedWETH proxy (initialized at deploy time in DeployMultiproofStack).\n    ///      1. Check that the proxy implementation is set to the deployed impl.\n    ///      2. Check that systemConfig is initialized to the existing SystemConfig.\n    function _checkDelayedWethProxy() internal {\n        vm.prank(proxyAdminEnv);\n        require(IProxy(newDelayedWethProxy).implementation() == newDelayedWethImpl, \"delayed weth impl mismatch\");\n        require(\n            address(DelayedWETH(payable(newDelayedWethProxy)).systemConfig()) == systemConfigEnv,\n            \"delayed weth systemConfig mismatch\"\n        );\n    }\n\n    /// @dev Validates the DisputeGameFactory configuration for the new multiproof game type.\n    ///      1. Check that the game implementation is set to the deployed AggregateVerifier.\n    ///      2. Check that the init bond matches the .env value.\n    function _checkDisputeGameFactory() internal view {\n        IDisputeGameFactoryAdmin dgf = IDisputeGameFactoryAdmin(disputeGameFactoryProxyEnv);\n        require(dgf.gameImpls(GameType.wrap(gameTypeEnv)) == newAggregateVerifier, \"game impl mismatch\");\n        require(dgf.initBonds(GameType.wrap(gameTypeEnv)) == initBondEnv, \"init bond mismatch\");\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return ownerSafeEnv;\n    }\n}\n"
  },
  {
    "path": "sepolia/2026-04-20-activate-multiproof/script/DeployMultiproofStack.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Script, console} from \"forge-std/Script.sol\";\n\nimport {IAnchorStateRegistry} from \"interfaces/dispute/IAnchorStateRegistry.sol\";\nimport {IDelayedWETH} from \"interfaces/dispute/IDelayedWETH.sol\";\nimport {IDisputeGameFactory} from \"interfaces/dispute/IDisputeGameFactory.sol\";\nimport {ISystemConfig} from \"interfaces/L1/ISystemConfig.sol\";\nimport {INitroEnclaveVerifier} from \"interfaces/multiproof/tee/INitroEnclaveVerifier.sol\";\n\nimport {GameType} from \"@base-contracts/src/dispute/lib/Types.sol\";\nimport {DelayedWETH} from \"@base-contracts/src/dispute/DelayedWETH.sol\";\nimport {DisputeGameFactory} from \"@base-contracts/src/dispute/DisputeGameFactory.sol\";\nimport {AnchorStateRegistry} from \"@base-contracts/src/dispute/AnchorStateRegistry.sol\";\nimport {OptimismPortal2} from \"@base-contracts/src/L1/OptimismPortal2.sol\";\nimport {TEEProverRegistry} from \"@base-contracts/src/multiproof/tee/TEEProverRegistry.sol\";\nimport {TEEVerifier} from \"@base-contracts/src/multiproof/tee/TEEVerifier.sol\";\nimport {AggregateVerifier} from \"@base-contracts/src/multiproof/AggregateVerifier.sol\";\nimport {MockVerifier} from \"@base-contracts/src/multiproof/mocks/MockVerifier.sol\";\nimport {Proxy} from \"@base-contracts/src/universal/Proxy.sol\";\n\ninterface IProxy {\n    function implementation() external view returns (address);\n}\n\ncontract DeployMultiproofStack is Script {\n    // Existing L1 dependencies consumed by the deploy.\n    address internal l1ProxyAdminEnv;\n    address internal anchorStateRegistryProxyEnv;\n    address internal disputeGameFactoryProxyEnv;\n\n    // Multiproof identity and chain-level parameters.\n    uint32 internal gameTypeEnv;\n    bytes32 internal teeImageHashEnv;\n    bytes32 internal zkRangeHashEnv;\n    bytes32 internal zkAggregateHashEnv;\n    bytes32 internal configHashEnv;\n    uint256 internal l2ChainIdEnv;\n    uint256 internal blockIntervalEnv;\n    uint256 internal intermediateBlockIntervalEnv;\n    uint256 internal proofThresholdEnv;\n\n    // Delay / timing parameters for the newly deployed implementations.\n    uint256 internal proofMaturityDelaySecondsEnv;\n    uint256 internal disputeGameFinalityDelaySecondsEnv;\n    uint256 internal delayedWethDelaySecondsEnv;\n\n    // Proxy initialization parameters (TEEProverRegistry + DelayedWETH).\n    address internal systemConfigEnv;\n    address internal teeProverRegistryOwnerEnv;\n    address internal teeProverRegistryManagerEnv;\n    address internal proposerEnv;\n    address internal challengerEnv;\n\n    // Predeployed RISC Zero / Nitro contracts consumed by this task.\n    address public nitroEnclaveVerifier;\n\n    // Freshly deployed contracts / implementations produced by this task.\n    address public teeProverRegistryImpl;\n    address public teeProverRegistryProxy;\n    address public teeVerifier;\n    address public delayedWethImpl;\n    address public delayedWethProxy;\n    address public aggregateVerifier;\n    address public optimismPortal2Impl;\n    address public disputeGameFactoryImpl;\n    address public anchorStateRegistryImpl;\n\n    function setUp() public {\n        // Existing L1 dependencies consumed by the deploy.\n        l1ProxyAdminEnv = vm.envAddress(\"L1_PROXY_ADMIN\");\n        anchorStateRegistryProxyEnv = vm.envAddress(\"ANCHOR_STATE_REGISTRY_PROXY\");\n        disputeGameFactoryProxyEnv = vm.envAddress(\"DISPUTE_GAME_FACTORY_PROXY\");\n\n        // Multiproof identity and chain-level parameters.\n        gameTypeEnv = uint32(vm.envUint(\"GAME_TYPE\"));\n        teeImageHashEnv = vm.envBytes32(\"TEE_IMAGE_HASH\");\n        zkRangeHashEnv = vm.envBytes32(\"ZK_RANGE_HASH\");\n        zkAggregateHashEnv = vm.envBytes32(\"ZK_AGGREGATE_HASH\");\n        configHashEnv = vm.envBytes32(\"CONFIG_HASH\");\n        l2ChainIdEnv = vm.envUint(\"L2_CHAIN_ID\");\n        blockIntervalEnv = vm.envUint(\"BLOCK_INTERVAL\");\n        intermediateBlockIntervalEnv = vm.envUint(\"INTERMEDIATE_BLOCK_INTERVAL\");\n        proofThresholdEnv = vm.envUint(\"PROOF_THRESHOLD\");\n\n        // Delay / timing parameters for the newly deployed implementations.\n        proofMaturityDelaySecondsEnv = vm.envUint(\"PROOF_MATURITY_DELAY_SECONDS\");\n        disputeGameFinalityDelaySecondsEnv = vm.envUint(\"DISPUTE_GAME_FINALITY_DELAY_SECONDS\");\n        delayedWethDelaySecondsEnv = vm.envUint(\"DELAYED_WETH_DELAY_SECONDS\");\n\n        // Proxy initialization parameters (TEEProverRegistry + DelayedWETH).\n        systemConfigEnv = vm.envAddress(\"SYSTEM_CONFIG\");\n        teeProverRegistryOwnerEnv = vm.envAddress(\"TEE_PROVER_REGISTRY_OWNER\");\n        teeProverRegistryManagerEnv = vm.envAddress(\"TEE_PROVER_REGISTRY_MANAGER\");\n        proposerEnv = vm.envAddress(\"PROPOSER\");\n        challengerEnv = vm.envAddress(\"CHALLENGER\");\n\n        string memory root = vm.projectRoot();\n        string memory path = string.concat(root, \"/addresses.json\");\n        string memory json = vm.readFile(path);\n        nitroEnclaveVerifier = vm.parseJsonAddress({json: json, key: \".nitroEnclaveVerifier\"});\n    }\n\n    function run() external {\n        vm.startBroadcast();\n\n        // 0. Deploy the TEE prover registry implementation.\n        teeProverRegistryImpl = address(\n            new TEEProverRegistry({\n                nitroVerifier: INitroEnclaveVerifier(nitroEnclaveVerifier),\n                factory: IDisputeGameFactory(disputeGameFactoryProxyEnv)\n            })\n        );\n\n        // 1. Deploy the DelayedWETH implementation.\n        delayedWethImpl = address(new DelayedWETH({_delay: delayedWethDelaySecondsEnv}));\n\n        // 2. Deploy proxies with msg.sender as admin, initialize immediately,\n        //    then transfer admin to the real ProxyAdmin.\n        {\n            // 2a. TEEProverRegistry proxy: deploy, upgradeToAndCall to initialize\n            //     with the configured owner/manager/proposers/gameType, then hand\n            //     the proxy admin to the real ProxyAdmin.\n            address[] memory initialProposers = new address[](2);\n            initialProposers[0] = proposerEnv;\n            initialProposers[1] = challengerEnv;\n\n            Proxy teeProxy = new Proxy(msg.sender);\n            teeProxy.upgradeToAndCall(\n                teeProverRegistryImpl,\n                abi.encodeCall(\n                    TEEProverRegistry.initialize,\n                    (\n                        teeProverRegistryOwnerEnv,\n                        teeProverRegistryManagerEnv,\n                        initialProposers,\n                        GameType.wrap(gameTypeEnv)\n                    )\n                )\n            );\n            teeProxy.changeAdmin(l1ProxyAdminEnv);\n            teeProverRegistryProxy = address(teeProxy);\n\n            // 2b. DelayedWETH proxy: deploy, upgradeToAndCall to initialize with\n            //     the existing SystemConfig, then hand the proxy admin to the real\n            //     ProxyAdmin.\n            Proxy wethProxy = new Proxy(msg.sender);\n            wethProxy.upgradeToAndCall(\n                delayedWethImpl, abi.encodeCall(DelayedWETH.initialize, (ISystemConfig(systemConfigEnv)))\n            );\n            wethProxy.changeAdmin(l1ProxyAdminEnv);\n            delayedWethProxy = address(wethProxy);\n        }\n\n        // 3. Deploy the stateless TEE verifier.\n        teeVerifier = address(\n            new TEEVerifier({\n                teeProverRegistry: TEEProverRegistry(teeProverRegistryProxy),\n                anchorStateRegistry: IAnchorStateRegistry(anchorStateRegistryProxyEnv)\n            })\n        );\n\n        // 4. Deploy the multiproof AggregateVerifier template with the ZK path disabled\n        //    (zkVerifier = address(0)).\n        aggregateVerifier = address(\n            new AggregateVerifier({\n                gameType_: GameType.wrap(gameTypeEnv),\n                anchorStateRegistry_: IAnchorStateRegistry(anchorStateRegistryProxyEnv),\n                delayedWETH: IDelayedWETH(payable(delayedWethProxy)),\n                teeVerifier: TEEVerifier(teeVerifier),\n                zkVerifier: MockVerifier(address(0)),\n                teeImageHash: teeImageHashEnv,\n                zkHashes: AggregateVerifier.ZkHashes({rangeHash: zkRangeHashEnv, aggregateHash: zkAggregateHashEnv}),\n                configHash: configHashEnv,\n                l2ChainId: l2ChainIdEnv,\n                blockInterval: blockIntervalEnv,\n                intermediateBlockInterval: intermediateBlockIntervalEnv,\n                proofThreshold: proofThresholdEnv\n            })\n        );\n\n        // 5. Deploy the new implementations for existing L1 proxies.\n        optimismPortal2Impl = address(new OptimismPortal2({_proofMaturityDelaySeconds: proofMaturityDelaySecondsEnv}));\n        disputeGameFactoryImpl = address(new DisputeGameFactory());\n        anchorStateRegistryImpl =\n            address(new AnchorStateRegistry({_disputeGameFinalityDelaySeconds: disputeGameFinalityDelaySecondsEnv}));\n\n        vm.stopBroadcast();\n\n        _postCheck();\n        _writeAddresses();\n    }\n\n    function _postCheck() internal {\n        _checkTeeProverRegistryImpl();\n        _checkTeeProverRegistryProxy();\n        _checkTeeVerifier();\n        _checkDelayedWethImpl();\n        _checkDelayedWethProxy();\n        _checkAggregateVerifier();\n        _checkUpgradeTargetImpls();\n    }\n\n    /// @dev Validates the TEEProverRegistry **implementation** contract.\n    ///      1. Check that NITRO_VERIFIER points to the deployed NitroEnclaveVerifier.\n    ///      2. Check that DISPUTE_GAME_FACTORY points to the existing DGF proxy.\n    function _checkTeeProverRegistryImpl() internal view {\n        TEEProverRegistry impl = TEEProverRegistry(teeProverRegistryImpl);\n\n        require(address(impl.NITRO_VERIFIER()) == nitroEnclaveVerifier, \"registry nitro verifier mismatch\");\n        require(address(impl.DISPUTE_GAME_FACTORY()) == disputeGameFactoryProxyEnv, \"registry dgf mismatch\");\n    }\n\n    /// @dev Validates the TEEProverRegistry proxy after upgradeToAndCall.\n    ///      1. Check that the proxy implementation is set to the deployed impl.\n    ///      2. Check that owner is set to TEE_PROVER_REGISTRY_OWNER.\n    ///      3. Check that manager is set to TEE_PROVER_REGISTRY_MANAGER.\n    ///      4. Check that gameType is set to the multiproof game type.\n    ///      5. Check that PROPOSER is flagged as valid.\n    ///      6. Check that CHALLENGER is flagged as valid.\n    function _checkTeeProverRegistryProxy() internal {\n        vm.prank(l1ProxyAdminEnv);\n        require(IProxy(teeProverRegistryProxy).implementation() == teeProverRegistryImpl, \"tee registry impl mismatch\");\n\n        TEEProverRegistry registry = TEEProverRegistry(teeProverRegistryProxy);\n        require(registry.owner() == teeProverRegistryOwnerEnv, \"tee registry owner mismatch\");\n        require(registry.manager() == teeProverRegistryManagerEnv, \"tee registry manager mismatch\");\n        require(GameType.unwrap(registry.gameType()) == gameTypeEnv, \"tee registry game type mismatch\");\n        require(registry.isValidProposer(proposerEnv), \"tee registry proposer mismatch\");\n        require(registry.isValidProposer(challengerEnv), \"tee registry challenger mismatch\");\n    }\n\n    /// @dev Validates the TEEVerifier contract. This is a stateless verifier whose\n    ///      immutables must reference the correct registry proxy and ASR proxy.\n    ///      1. Check that TEE_PROVER_REGISTRY points to the deployed TEEProverRegistry proxy.\n    ///      2. Check that ANCHOR_STATE_REGISTRY points to the existing ASR proxy.\n    function _checkTeeVerifier() internal view {\n        require(\n            address(TEEVerifier(teeVerifier).TEE_PROVER_REGISTRY()) == teeProverRegistryProxy,\n            \"tee verifier registry mismatch\"\n        );\n        require(\n            address(TEEVerifier(teeVerifier).ANCHOR_STATE_REGISTRY()) == anchorStateRegistryProxyEnv,\n            \"tee verifier asr mismatch\"\n        );\n    }\n\n    /// @dev Validates the DelayedWETH **implementation** contract.\n    ///      1. Check that delay matches DELAYED_WETH_DELAY_SECONDS.\n    function _checkDelayedWethImpl() internal view {\n        require(\n            DelayedWETH(payable(delayedWethImpl)).delay() == delayedWethDelaySecondsEnv, \"delayed weth delay mismatch\"\n        );\n    }\n\n    /// @dev Validates the DelayedWETH proxy after upgradeToAndCall.\n    ///      1. Check that the proxy implementation is set to the deployed impl.\n    ///      2. Check that systemConfig is initialized to the existing SystemConfig.\n    function _checkDelayedWethProxy() internal {\n        vm.prank(l1ProxyAdminEnv);\n        require(IProxy(delayedWethProxy).implementation() == delayedWethImpl, \"delayed weth impl mismatch\");\n        require(\n            address(DelayedWETH(payable(delayedWethProxy)).systemConfig()) == systemConfigEnv,\n            \"delayed weth systemConfig mismatch\"\n        );\n    }\n\n    /// @dev Validates the AggregateVerifier template that the DisputeGameFactory will clone for new games.\n    ///      1. Check that gameType matches the .env value.\n    ///      2. Check that anchorStateRegistry points to the existing ASR proxy.\n    ///      3. Check that DISPUTE_GAME_FACTORY is derived from the ASR's disputeGameFactory().\n    ///      4. Check that DELAYED_WETH points to the deployed DelayedWETH proxy.\n    ///      5. Check that TEE_VERIFIER points to the deployed TEEVerifier.\n    ///      6. Check that ZK_VERIFIER is the zero address (ZK path intentionally disabled).\n    ///      7. Check that TEE_IMAGE_HASH matches the .env value.\n    ///      8. Check that ZK_RANGE_HASH matches the .env value.\n    ///      9. Check that ZK_AGGREGATE_HASH matches the .env value.\n    ///      10. Check that CONFIG_HASH matches the .env value.\n    ///      11. Check that L2_CHAIN_ID matches the .env value.\n    ///      12. Check that BLOCK_INTERVAL matches the .env value.\n    ///      13. Check that INTERMEDIATE_BLOCK_INTERVAL matches the .env value.\n    ///      14. Check that PROOF_THRESHOLD matches the .env value.\n    function _checkAggregateVerifier() internal view {\n        AggregateVerifier av = AggregateVerifier(aggregateVerifier);\n\n        require(GameType.unwrap(av.gameType()) == gameTypeEnv, \"aggregate game type mismatch\");\n        require(address(av.anchorStateRegistry()) == anchorStateRegistryProxyEnv, \"aggregate asr mismatch\");\n        require(address(av.DISPUTE_GAME_FACTORY()) == disputeGameFactoryProxyEnv, \"aggregate dgf mismatch\");\n        require(address(av.DELAYED_WETH()) == delayedWethProxy, \"aggregate delayed weth mismatch\");\n        require(address(av.TEE_VERIFIER()) == teeVerifier, \"aggregate tee verifier mismatch\");\n        require(address(av.ZK_VERIFIER()) == address(0), \"aggregate zk verifier not disabled\");\n        require(av.TEE_IMAGE_HASH() == teeImageHashEnv, \"aggregate tee image hash mismatch\");\n        require(av.ZK_RANGE_HASH() == zkRangeHashEnv, \"aggregate zk range hash mismatch\");\n        require(av.ZK_AGGREGATE_HASH() == zkAggregateHashEnv, \"aggregate zk aggregate hash mismatch\");\n        require(av.CONFIG_HASH() == configHashEnv, \"aggregate config hash mismatch\");\n        require(av.L2_CHAIN_ID() == l2ChainIdEnv, \"aggregate l2 chain mismatch\");\n        require(av.BLOCK_INTERVAL() == blockIntervalEnv, \"aggregate block interval mismatch\");\n        require(av.INTERMEDIATE_BLOCK_INTERVAL() == intermediateBlockIntervalEnv, \"aggregate intermediate mismatch\");\n        require(av.PROOF_THRESHOLD() == proofThresholdEnv, \"aggregate proof threshold mismatch\");\n    }\n\n    /// @dev Validates the new implementations for the existing L1 proxies.\n    ///      1. Check that OptimismPortal2 proofMaturityDelaySeconds matches the .env value.\n    ///      2. Check that AnchorStateRegistry disputeGameFinalityDelaySeconds matches the .env value.\n    function _checkUpgradeTargetImpls() internal view {\n        require(\n            OptimismPortal2(payable(optimismPortal2Impl)).proofMaturityDelaySeconds() == proofMaturityDelaySecondsEnv,\n            \"portal delay mismatch\"\n        );\n        require(\n            AnchorStateRegistry(anchorStateRegistryImpl).disputeGameFinalityDelaySeconds()\n                == disputeGameFinalityDelaySecondsEnv,\n            \"asr finality delay mismatch\"\n        );\n    }\n\n    function _writeAddresses() internal {\n        // Emit addresses for operator visibility and persist them for the activation script.\n        console.log(\"NitroEnclaveVerifier:\", nitroEnclaveVerifier);\n        console.log(\"TEEProverRegistry impl:\", teeProverRegistryImpl);\n        console.log(\"TEEProverRegistry proxy:\", teeProverRegistryProxy);\n        console.log(\"TEEVerifier:\", teeVerifier);\n        console.log(\"ZKVerifier: disabled (address(0))\");\n        console.log(\"DelayedWETH impl:\", delayedWethImpl);\n        console.log(\"DelayedWETH proxy:\", delayedWethProxy);\n        console.log(\"AggregateVerifier:\", aggregateVerifier);\n        console.log(\"OptimismPortal2 impl:\", optimismPortal2Impl);\n        console.log(\"DisputeGameFactory impl (no init bump required):\", disputeGameFactoryImpl);\n        console.log(\"AnchorStateRegistry impl:\", anchorStateRegistryImpl);\n\n        _writeAddress({key: \"nitroEnclaveVerifier\", value: nitroEnclaveVerifier});\n        _writeAddress({key: \"teeProverRegistryImpl\", value: teeProverRegistryImpl});\n        _writeAddress({key: \"teeProverRegistryProxy\", value: teeProverRegistryProxy});\n        _writeAddress({key: \"teeVerifier\", value: teeVerifier});\n        _writeAddress({key: \"delayedWETHImpl\", value: delayedWethImpl});\n        _writeAddress({key: \"delayedWETHProxy\", value: delayedWethProxy});\n        _writeAddress({key: \"aggregateVerifier\", value: aggregateVerifier});\n        _writeAddress({key: \"optimismPortal2Impl\", value: optimismPortal2Impl});\n        _writeAddress({key: \"disputeGameFactoryImpl\", value: disputeGameFactoryImpl});\n        _writeAddress({key: \"anchorStateRegistryImpl\", value: anchorStateRegistryImpl});\n    }\n\n    function _writeAddress(string memory key, address value) internal {\n        vm.writeJson({json: vm.toString(value), path: \"addresses.json\", valueKey: string.concat(\".\", key)});\n    }\n}\n"
  },
  {
    "path": "sepolia/2026-04-20-activate-multiproof/script/DeployNitroVerifier.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\nimport {Script, console} from \"forge-std/Script.sol\";\n\nimport {\n    INitroEnclaveVerifier,\n    ZkCoProcessorConfig,\n    ZkCoProcessorType\n} from \"interfaces/multiproof/tee/INitroEnclaveVerifier.sol\";\n\nimport {RiscZeroSetVerifier, RiscZeroSetVerifierLib} from \"lib/risc0-ethereum/contracts/src/RiscZeroSetVerifier.sol\";\nimport {NitroEnclaveVerifier} from \"@base-contracts/src/multiproof/tee/NitroEnclaveVerifier.sol\";\n\ncontract DeployNitroVerifier is Script {\n    address internal teeProverRegistryOwnerEnv;\n    address internal nitroRevokerEnv;\n    uint64 internal nitroInitialMaxTimeDiffSecondsEnv;\n    bytes32 internal nitroInitialRootCertEnv;\n    address internal riscZeroVerifierRouterEnv;\n    address internal riscZeroSetVerifierEnv;\n    bytes32 internal riscZeroSetBuilderImageIdEnv;\n    bytes32 internal nitroZkVerifierIdEnv;\n\n    address public riscZeroSetVerifier;\n    address public nitroEnclaveVerifier;\n\n    function setUp() public {\n        teeProverRegistryOwnerEnv = vm.envAddress(\"TEE_PROVER_REGISTRY_OWNER\");\n        nitroRevokerEnv = vm.envAddress(\"NITRO_REVOKER\");\n        nitroInitialMaxTimeDiffSecondsEnv = uint64(vm.envUint(\"NITRO_INITIAL_MAX_TIME_DIFF_SECONDS\"));\n        nitroInitialRootCertEnv = vm.envBytes32(\"NITRO_INITIAL_ROOT_CERT\");\n        riscZeroVerifierRouterEnv = vm.envAddress(\"RISC0_VERIFIER_ROUTER\");\n        riscZeroSetVerifierEnv = vm.envAddress(\"RISC0_SET_VERIFIER\");\n        riscZeroSetBuilderImageIdEnv = vm.envBytes32(\"RISC0_SET_BUILDER_IMAGE_ID\");\n        nitroZkVerifierIdEnv = vm.envBytes32(\"NITRO_ZK_VERIFIER_ID\");\n    }\n\n    function run() external {\n        bytes32[] memory trustedCerts = new bytes32[](0);\n        uint64[] memory trustedCertExpiries = new uint64[](0);\n        riscZeroSetVerifier = riscZeroSetVerifierEnv;\n\n        vm.startBroadcast();\n\n        nitroEnclaveVerifier = address(\n            new NitroEnclaveVerifier({\n                owner: msg.sender,\n                initialMaxTimeDiff: nitroInitialMaxTimeDiffSecondsEnv,\n                initializeTrustedCerts: trustedCerts,\n                initializeTrustedCertExpiries: trustedCertExpiries,\n                initialRootCert: nitroInitialRootCertEnv,\n                initialProofSubmitter: teeProverRegistryOwnerEnv,\n                initialRevoker: nitroRevokerEnv,\n                zkCoProcessor: ZkCoProcessorType.RiscZero,\n                config: ZkCoProcessorConfig({\n                    verifierId: nitroZkVerifierIdEnv, aggregatorId: bytes32(0), zkVerifier: riscZeroVerifierRouterEnv\n                }),\n                verifierProofId: bytes32(0)\n            })\n        );\n\n        // Wire the selector-specific route that sends RISC Zero set-inclusion proofs\n        // to the predeployed Sepolia RiscZeroSetVerifier. Ownership is retained by\n        // msg.sender so that SetupNitroEnclaveVerifier can call setProofSubmitter\n        // after the TEEProverRegistry proxy is deployed, then transfer ownership\n        // to the multisig.\n        NitroEnclaveVerifier(nitroEnclaveVerifier)\n            .addVerifyRoute(\n                ZkCoProcessorType.RiscZero,\n                RiscZeroSetVerifierLib.selector(riscZeroSetBuilderImageIdEnv),\n                riscZeroSetVerifier\n            );\n\n        vm.stopBroadcast();\n\n        _postCheck();\n        _writeAddresses();\n    }\n\n    function _postCheck() internal view {\n        _checkRiscZeroSetVerifier();\n        _checkNitroEnclaveVerifier();\n    }\n\n    /// @dev Validates the configured Sepolia RISC Zero set verifier.\n    ///      1. Check that VERIFIER points to the configured external router.\n    ///      2. Check that SELECTOR matches the configured set-builder image ID.\n    function _checkRiscZeroSetVerifier() internal view {\n        RiscZeroSetVerifier setVerifier = RiscZeroSetVerifier(riscZeroSetVerifier);\n        bytes4 setVerifierSelector = RiscZeroSetVerifierLib.selector(riscZeroSetBuilderImageIdEnv);\n\n        require(address(setVerifier.VERIFIER()) == riscZeroVerifierRouterEnv, \"set verifier router mismatch\");\n        require(setVerifier.SELECTOR() == setVerifierSelector, \"set verifier selector mismatch\");\n    }\n\n    /// @dev Validates the NitroEnclaveVerifier deployment after route wiring.\n    ///      Ownership remains with the deployer (msg.sender) at this stage; it will be\n    ///      transferred to TEE_PROVER_REGISTRY_OWNER in SetupNitroEnclaveVerifier after\n    ///      setProofSubmitter is called.\n    ///      1. Check that maxTimeDiff matches NITRO_INITIAL_MAX_TIME_DIFF_SECONDS.\n    ///      2. Check that rootCert matches NITRO_INITIAL_ROOT_CERT.\n    ///      3. Check that proofSubmitter is the temporary owner placeholder.\n    ///      4. Check that the default RISC Zero config points at the external router\n    ///         and configured Nitro verifier image ID.\n    ///      5. Check that the verifier proof ID is zero for the default route.\n    ///      6. Check that the set-verifier selector route now points to the configured\n    ///         Sepolia RiscZeroSetVerifier (wired via addVerifyRoute at deploy time).\n    function _checkNitroEnclaveVerifier() internal view {\n        NitroEnclaveVerifier nev = NitroEnclaveVerifier(nitroEnclaveVerifier);\n        bytes4 setVerifierSelector = RiscZeroSetVerifierLib.selector(riscZeroSetBuilderImageIdEnv);\n\n        require(nev.maxTimeDiff() == nitroInitialMaxTimeDiffSecondsEnv, \"nitro max time diff mismatch\");\n        require(nev.rootCert() == nitroInitialRootCertEnv, \"nitro root cert mismatch\");\n        require(nev.proofSubmitter() == teeProverRegistryOwnerEnv, \"nitro placeholder submitter mismatch\");\n        require(nev.revoker() == nitroRevokerEnv, \"nitro revoker mismatch\");\n\n        ZkCoProcessorConfig memory cfg = nev.getZkConfig(ZkCoProcessorType.RiscZero);\n        require(cfg.verifierId == nitroZkVerifierIdEnv, \"nitro verifier id mismatch\");\n        require(cfg.aggregatorId == bytes32(0), \"nitro aggregator id mismatch\");\n        require(cfg.zkVerifier == riscZeroVerifierRouterEnv, \"nitro router mismatch\");\n        require(nev.getVerifierProofId(ZkCoProcessorType.RiscZero) == bytes32(0), \"nitro verifier proof id mismatch\");\n        require(\n            INitroEnclaveVerifier(nitroEnclaveVerifier).getZkVerifier(ZkCoProcessorType.RiscZero, setVerifierSelector)\n                == riscZeroSetVerifier,\n            \"nitro set-verifier route mismatch\"\n        );\n    }\n\n    function _writeAddresses() internal {\n        console.log(\"NitroEnclaveVerifier:\", nitroEnclaveVerifier);\n\n        string memory root = \"root\";\n        string memory json =\n            vm.serializeAddress({objectKey: root, valueKey: \"nitroEnclaveVerifier\", value: nitroEnclaveVerifier});\n        vm.writeJson({json: json, path: \"addresses.json\"});\n    }\n}\n"
  },
  {
    "path": "sepolia/2026-04-20-activate-multiproof/script/SetupNitroEnclaveVerifier.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\nimport {Script} from \"forge-std/Script.sol\";\n\nimport {INitroEnclaveVerifier, ZkCoProcessorType} from \"interfaces/multiproof/tee/INitroEnclaveVerifier.sol\";\n\nimport {RiscZeroSetVerifierLib} from \"lib/risc0-ethereum/contracts/src/RiscZeroSetVerifier.sol\";\nimport {NitroEnclaveVerifier} from \"@base-contracts/src/multiproof/tee/NitroEnclaveVerifier.sol\";\n\n/// @title SetupNitroEnclaveVerifier\n/// @notice Executed by the deployer EOA (via Ledger) after DeployMultiproofStack has deployed\n///         the TEEProverRegistry proxy. Sets the proof submitter to the TEEProverRegistry proxy\n///         and transfers NitroEnclaveVerifier ownership to the configured multisig owner.\ncontract SetupNitroEnclaveVerifier is Script {\n    address internal teeProverRegistryOwnerEnv;\n    bytes32 internal riscZeroSetBuilderImageIdEnv;\n    address internal riscZeroSetVerifierEnv;\n\n    address internal nitroEnclaveVerifier;\n    address internal teeProverRegistryProxy;\n\n    function setUp() public {\n        teeProverRegistryOwnerEnv = vm.envAddress(\"TEE_PROVER_REGISTRY_OWNER\");\n        riscZeroSetBuilderImageIdEnv = vm.envBytes32(\"RISC0_SET_BUILDER_IMAGE_ID\");\n        riscZeroSetVerifierEnv = vm.envAddress(\"RISC0_SET_VERIFIER\");\n\n        string memory root = vm.projectRoot();\n        string memory path = string.concat(root, \"/addresses.json\");\n        string memory json = vm.readFile(path);\n\n        nitroEnclaveVerifier = vm.parseJsonAddress({json: json, key: \".nitroEnclaveVerifier\"});\n        teeProverRegistryProxy = vm.parseJsonAddress({json: json, key: \".teeProverRegistryProxy\"});\n    }\n\n    function run() external {\n        vm.startBroadcast();\n\n        // 0. Set the proof submitter to the TEEProverRegistry proxy so the registry\n        //    can submit proofs to the NitroEnclaveVerifier.\n        NitroEnclaveVerifier(nitroEnclaveVerifier).setProofSubmitter(teeProverRegistryProxy);\n\n        // 1. Transfer ownership to the configured multisig owner now that all\n        //    deployer-only configuration is complete.\n        NitroEnclaveVerifier(nitroEnclaveVerifier).transferOwnership(teeProverRegistryOwnerEnv);\n\n        vm.stopBroadcast();\n\n        _postCheck();\n    }\n\n    function _postCheck() internal view {\n        NitroEnclaveVerifier nev = NitroEnclaveVerifier(nitroEnclaveVerifier);\n        bytes4 setVerifierSelector = RiscZeroSetVerifierLib.selector(riscZeroSetBuilderImageIdEnv);\n\n        require(nev.owner() == teeProverRegistryOwnerEnv, \"nitro owner mismatch\");\n        require(nev.proofSubmitter() == teeProverRegistryProxy, \"nitro proof submitter mismatch\");\n        require(\n            INitroEnclaveVerifier(nitroEnclaveVerifier).getZkVerifier(ZkCoProcessorType.RiscZero, setVerifierSelector)\n                == riscZeroSetVerifierEnv,\n            \"nitro set-verifier route mismatch\"\n        );\n    }\n}\n"
  },
  {
    "path": "sepolia/2026-04-20-activate-multiproof/validations/multiproof-cb-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net script/ActivateMultiproofStack.s.sol:ActivateMultiproofStack --sig sign(address[]) [0x646132A1667ca7aD00d36616AFBA1A28116C770A] --sender 0x644d0F5c2C55A4679b4BFe057B87ba203AF9aC0D\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"skipTaskOriginValidation\": true,\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n    \"domainHash\": \"0x1d3f2566fd7b1bf017258b03d4d4d435d326d9cb051d5b7993d7c65e7ec78d0e\",\n    \"messageHash\": \"0xd8844409acac8f6b7007aab74a4a665700c84fe4feda0c7e13225f202f95d67d\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Sepolia\",\n      \"address\": \"0x646132A1667ca7aD00d36616AFBA1A28116C770A\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xdb4efef7ae91cd5408dc10293ce6ca932989186f58f8785fc38eb809cdd4ea76\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000020\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000021\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x8240e4b0c8163a8556fd79c8ca3da05d3c071c2ac132d610f09e2d2db35ccfd8\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Records the CB Coordinator Safe approval on the Proxy Admin Owner Safe.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"AnchorStateRegistry - Sepolia\",\n      \"address\": \"0x2fF5cC82dBf333Ea30D8ee462178ab1707315355\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"before\": \"0x00000000000000000000f272670eb55e895584501d564afeb048bed261940001\",\n          \"after\": \"0x00000000000000000000f272670eb55e895584501d564afeb048bed261940002\",\n          \"description\": \"Runs the AnchorStateRegistry reinitializer for the multiproof cutover.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000002\",\n          \"before\": \"0x00000000000000000000000053a1173f18669c74ea1992883a2772244dfee509\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"description\": \"Clears the cached anchor game address as part of the AnchorStateRegistry reinitialization.\",\n          \"allowDifference\": true\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"before\": \"0x10283d1a23d115b2de66adf6ae7e08f50f7c9c7808c3017d6160c853a385668a\",\n          \"after\": \"0x6c452877ba18e43fecb2a10b5ce458c2da3097f2262f23361659979395208c77\",\n          \"description\": \"Sets the starting anchor root for the new multiproof game type.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000001da8458\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000002670bcf\",\n          \"description\": \"Sets the starting anchor L2 block number for the new multiproof game type.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000006\",\n          \"before\": \"0x00000000000000000000000000000000000000000000000068d1a52c00000000\",\n          \"after\": \"0x00000000000000000000000000000000000000000000000069e177e80000026d\",\n          \"description\": \"Sets the respected game type to multiproof and updates the packed retirement timestamp slot; small differences are expected because this slot also stores a block.timestamp-derived value.\",\n          \"allowDifference\": true\n        },\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x00000000000000000000000036398155cd17cfe804f69b233edda800dd4d5aa5\",\n          \"after\": \"0x000000000000000000000000b1cc9f8422042eda9eb36a408002517d7c772ac7\",\n          \"description\": \"Update address of AnchorStateRegistry to new implementation.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"OptimismPortal - Sepolia\",\n      \"address\": \"0x49f53e41452C74589E85cA1677426Ba426459e85\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x00000000000000000000000097cebbf8959e2a5476fbe9b98a21806ec234609b\",\n          \"after\": \"0x00000000000000000000000045fa7cffa725e238a46a35fde9f339b63fdedbdd\",\n          \"description\": \"Update address of OptimismPortal to new implementation.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Sepolia\",\n      \"address\": \"0x646132A1667ca7aD00d36616AFBA1A28116C770A\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000011\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000012\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"DisputeGameFactoryProxy - Sepolia\",\n      \"address\": \"0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1\",\n      \"changes\": [\n        {\n          \"key\": \"0x32912047a4c082de3e601c4b381c2aa6252270818a4be33442b17fb41b6cf7d6\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x000000000000000000000000498313fb340cd5055c5568546364008299a47517\",\n          \"description\": \"Updates the multiproof game implementation to the new AggregateVerifier.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x000000000000000000000000c040f392e52cb6970ca8e110c280fe24e07c5e2c\",\n          \"after\": \"0x000000000000000000000000e7f2e3c6286375c102e482c0aa2385d8baacac26\",\n          \"description\": \"Update address of DisputeGameFactory to new implementation.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xe599aaa2f8fda7c53529cbda86878cc948a0a03183dcb2ecbc676dee91952337\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x00000000000000000000000000000000000000000000000000b1a2bc2ec50000\",\n          \"description\": \"Sets the init bond for the multiproof game type.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "sepolia/2026-04-20-activate-multiproof/validations/multiproof-sc-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net script/ActivateMultiproofStack.s.sol:ActivateMultiproofStack --sig sign(address[]) [0x6AF0674791925f767060Dd52f7fB20984E8639d8] --sender 0x6e427c3212C0b63BE0C382F97715D49b011bFF33\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"skipTaskOriginValidation\": true,\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n    \"domainHash\": \"0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa\",\n    \"messageHash\": \"0x6a25359cb62b20c5cb51001d3291af41b53b63325b650b30c3498d9ac2f16824\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Mock OP Safe / Mock Security Council - Sepolia\",\n      \"address\": \"0x6AF0674791925f767060Dd52f7fB20984E8639d8\",\n      \"overrides\": [\n        {\n          \"key\": \"0xbe43addcf61a5a2d25a6759a8af71d03ccee673b98bce5dee971d65e563d445b\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000020\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000021\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x5b1f3c69dac098ebab8b347ee906c2e9f2188378041827080d316b72dbfc6e5e\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Records the Mock Security Council Safe approval on the Proxy Admin Owner Safe.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"AnchorStateRegistry - Sepolia\",\n      \"address\": \"0x2fF5cC82dBf333Ea30D8ee462178ab1707315355\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"before\": \"0x00000000000000000000f272670eb55e895584501d564afeb048bed261940001\",\n          \"after\": \"0x00000000000000000000f272670eb55e895584501d564afeb048bed261940002\",\n          \"description\": \"Runs the AnchorStateRegistry reinitializer for the multiproof cutover.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000002\",\n          \"before\": \"0x00000000000000000000000053a1173f18669c74ea1992883a2772244dfee509\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"description\": \"Clears the cached anchor game address as part of the AnchorStateRegistry reinitialization.\",\n          \"allowDifference\": true\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"before\": \"0x10283d1a23d115b2de66adf6ae7e08f50f7c9c7808c3017d6160c853a385668a\",\n          \"after\": \"0x6c452877ba18e43fecb2a10b5ce458c2da3097f2262f23361659979395208c77\",\n          \"description\": \"Sets the starting anchor root for the new multiproof game type.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000001da8458\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000002670bcf\",\n          \"description\": \"Sets the starting anchor L2 block number for the new multiproof game type.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000006\",\n          \"before\": \"0x00000000000000000000000000000000000000000000000068d1a52c00000000\",\n          \"after\": \"0x00000000000000000000000000000000000000000000000069e178900000026d\",\n          \"description\": \"Sets the respected game type to multiproof and updates the packed retirement timestamp slot; small differences are expected because this slot also stores a block.timestamp-derived value.\",\n          \"allowDifference\": true\n        },\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x00000000000000000000000036398155cd17cfe804f69b233edda800dd4d5aa5\",\n          \"after\": \"0x000000000000000000000000b1cc9f8422042eda9eb36a408002517d7c772ac7\",\n          \"description\": \"Update address of AnchorStateRegistry to new implementation.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"OptimismPortal - Sepolia\",\n      \"address\": \"0x49f53e41452C74589E85cA1677426Ba426459e85\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x00000000000000000000000097cebbf8959e2a5476fbe9b98a21806ec234609b\",\n          \"after\": \"0x00000000000000000000000045fa7cffa725e238a46a35fde9f339b63fdedbdd\",\n          \"description\": \"Update address of OptimismPortal to new implementation.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Mock OP Safe / Mock Security Council - Sepolia\",\n      \"address\": \"0x6AF0674791925f767060Dd52f7fB20984E8639d8\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000001d\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000001e\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"DisputeGameFactoryProxy - Sepolia\",\n      \"address\": \"0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1\",\n      \"changes\": [\n        {\n          \"key\": \"0x32912047a4c082de3e601c4b381c2aa6252270818a4be33442b17fb41b6cf7d6\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x000000000000000000000000498313fb340cd5055c5568546364008299a47517\",\n          \"description\": \"Updates the multiproof game implementation to the new AggregateVerifier.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x000000000000000000000000c040f392e52cb6970ca8e110c280fe24e07c5e2c\",\n          \"after\": \"0x000000000000000000000000e7f2e3c6286375c102e482c0aa2385d8baacac26\",\n          \"description\": \"Update address of DisputeGameFactory to new implementation.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xe599aaa2f8fda7c53529cbda86878cc948a0a03183dcb2ecbc676dee91952337\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x00000000000000000000000000000000000000000000000000b1a2bc2ec50000\",\n          \"description\": \"Sets the init bond for the multiproof game type.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "sepolia/2026-04-23-update-zk-config/FACILITATOR.md",
    "content": "# Facilitator Guide\n\nGuide for facilitators managing this task.\n\n## Deployment prerequisites\n\nBefore collecting signatures, complete the EOA-authorized phase:\n\n```bash\ncd contract-deployments\ngit pull\ncd sepolia/2026-04-23-update-zk-config\nmake deps\nmake deploy-zk-verifier\nmake deploy-aggregate-verifier\n```\n\n`make deploy-zk-verifier` runs `DeployZkVerifier`:\n\n- deploys the `ZkVerifier` used by this task\n- writes `zkVerifier` to `addresses.json`\n\n`make deploy-aggregate-verifier` runs `DeployAggregateVerifier`:\n\n- redeploys `AggregateVerifier` with the same immutables as the existing one, overriding `ZK_VERIFIER` and `ZK_RANGE_HASH`\n- writes `aggregateVerifier` to `addresses.json`\n\nExpected `addresses.json` keys:\n\n- `zkVerifier`\n- `aggregateVerifier`\n\n## Generate validation files\n\n```bash\ncd contract-deployments\ngit pull\ncd sepolia/2026-04-23-update-zk-config\nmake deps\nmake gen-validation-update-zk-config-cb\nmake gen-validation-update-zk-config-sc\n```\n\nThis produces:\n\n- `validations/update-zk-config-cb-signer.json`\n- `validations/update-zk-config-sc-signer.json`\n\n## Execute the transaction\n\n### 1. Update repo\n\n```bash\ncd contract-deployments\ngit pull\ncd sepolia/2026-04-23-update-zk-config\nmake deps\n```\n\n### 2. Collect signatures for `CB_MULTISIG`\n\nConcatenate all signatures and export as the `SIGNATURES` environment variable:\n\n```bash\nexport SIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"\n```\n\nThen run:\n\n```bash\nSIGNATURES=$SIGNATURES make approve-update-zk-config-cb\n```\n\n### 3. Collect signatures for `BASE_SECURITY_COUNCIL`\n\nConcatenate all signatures and export as the `SIGNATURES` environment variable:\n\n```bash\nexport SIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"\n```\n\nThen run:\n\n```bash\nSIGNATURES=$SIGNATURES make approve-update-zk-config-sc\n```\n\n### 4. Execute upgrade batch\n\n```bash\nmake execute-update-zk-config\n```\n\nPost-checks enforced by script:\n\n- `DisputeGameFactory.gameImpls(gameType)` equals the newly deployed `aggregateVerifier`\n- `zkVerifier.SP1_VERIFIER()` equals the configured `SP1_VERIFIER`\n- `aggregateVerifier.ZK_VERIFIER()` equals the newly deployed `zkVerifier`\n- `aggregateVerifier.TEE_IMAGE_HASH()` matches the live `AggregateVerifier`\n- `aggregateVerifier.ZK_RANGE_HASH()` equals the configured `ZK_RANGE_HASH`\n- `aggregateVerifier.ZK_AGGREGATE_HASH()` matches the live `AggregateVerifier`\n"
  },
  {
    "path": "sepolia/2026-04-23-update-zk-config/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\ninclude ../.env\ninclude .env\n\nSIGNER_TOOL_PATH = ../../signer-tool\nRPC_URL = $(L1_RPC_URL)\nDEPLOYER = $(shell cast wallet address --ledger --mnemonic-derivation-path $(LEDGER_HD_PATH))\nUPDATE_ZK_CONFIG_SCRIPT_NAME = script/UpdateZkConfig.s.sol:UpdateZkConfig\nUPDATE_ZK_CONFIG_CB_SENDER = $(shell cast call $(CB_MULTISIG) \"getOwners()(address[])\" --rpc-url $(L1_RPC_URL) | tr -d '[]' | cut -d',' -f1)\nUPDATE_ZK_CONFIG_SC_SENDER = $(shell cast call $(BASE_SECURITY_COUNCIL) \"getOwners()(address[])\" --rpc-url $(L1_RPC_URL) | tr -d '[]' | cut -d',' -f1)\n\n.PHONY: deps\ndeps: task-extra-deps\n\n.PHONY: task-extra-deps\ntask-extra-deps:\n\tforge install --no-git github.com/base/op-enclave@a2d5398f04c3a8e4df929d58ee638ba4a037bfec\n\tforge install --no-git github.com/risc0/risc0-ethereum@a78ac4a52fe9cfa14120c3b496430f0d42e1d8d3\n\tforge install --no-git github.com/succinctlabs/sp1-contracts@22c4a47cd0a388cb4e25b4f2513954e4275c74ca\n\tgit clone --no-checkout https://github.com/OpenZeppelin/openzeppelin-contracts.git lib/openzeppelin-contracts-v5 && \\\n\t\tcd lib/openzeppelin-contracts-v5 && git checkout dbb6104ce834628e473d2173bbc9d47f81a9eec3\n\tgit clone --no-checkout https://github.com/Vectorized/solady.git lib/solady-v0.0.245 && \\\n\t\tcd lib/solady-v0.0.245 && git checkout e0ef35adb0ccd1032794731a995cb599bba7b537\n\n##\n# Deployment (EOA)\n##\n.PHONY: deploy-zk-verifier\ndeploy-zk-verifier:\nifndef VERIFIER_API_KEY\n\t$(error VERIFIER_API_KEY is not set)\nendif\n\tforge script --rpc-url $(L1_RPC_URL) script/DeployZkVerifier.s.sol:DeployZkVerifier \\\n\t\t--ledger --hd-paths $(LEDGER_HD_PATH) --broadcast --verify \\\n\t\t--verifier custom \\\n\t\t--verifier-url \"https://api.etherscan.io/v2/api?chainid=$(L1_CHAIN_ID)\" \\\n\t\t--verifier-api-key $(VERIFIER_API_KEY) \\\n\t\t-vvvv --sender $(DEPLOYER)\n\n.PHONY: deploy-aggregate-verifier\ndeploy-aggregate-verifier:\nifndef VERIFIER_API_KEY\n\t$(error VERIFIER_API_KEY is not set)\nendif\n\tforge script --rpc-url $(L1_RPC_URL) script/DeployAggregateVerifier.s.sol:DeployAggregateVerifier \\\n\t\t--ledger --hd-paths $(LEDGER_HD_PATH) --broadcast --verify \\\n\t\t--verifier custom \\\n\t\t--verifier-url \"https://api.etherscan.io/v2/api?chainid=$(L1_CHAIN_ID)\" \\\n\t\t--verifier-api-key $(VERIFIER_API_KEY) \\\n\t\t-vvvv --sender $(DEPLOYER)\n\n##\n# Update ZK config (multisig)\n##\n.PHONY: gen-validation-update-zk-config-cb\ngen-validation-update-zk-config-cb: deps-signer-tool\n\t$(call GEN_VALIDATION,$(UPDATE_ZK_CONFIG_SCRIPT_NAME),$(CB_MULTISIG),$(UPDATE_ZK_CONFIG_CB_SENDER),update-zk-config-cb-signer.json,)\n\n.PHONY: gen-validation-update-zk-config-sc\ngen-validation-update-zk-config-sc: deps-signer-tool\n\t$(call GEN_VALIDATION,$(UPDATE_ZK_CONFIG_SCRIPT_NAME),$(BASE_SECURITY_COUNCIL),$(UPDATE_ZK_CONFIG_SC_SENDER),update-zk-config-sc-signer.json,)\n\n.PHONY: approve-update-zk-config-cb\napprove-update-zk-config-cb: SCRIPT_NAME := $(UPDATE_ZK_CONFIG_SCRIPT_NAME)\napprove-update-zk-config-cb:\n\t$(call MULTISIG_APPROVE,$(CB_MULTISIG),$(SIGNATURES))\n\n.PHONY: approve-update-zk-config-sc\napprove-update-zk-config-sc: SCRIPT_NAME := $(UPDATE_ZK_CONFIG_SCRIPT_NAME)\napprove-update-zk-config-sc:\n\t$(call MULTISIG_APPROVE,$(BASE_SECURITY_COUNCIL),$(SIGNATURES))\n\n.PHONY: execute-update-zk-config\nexecute-update-zk-config: SCRIPT_NAME := $(UPDATE_ZK_CONFIG_SCRIPT_NAME)\nexecute-update-zk-config:\n\t$(call MULTISIG_EXECUTE,0x)\n"
  },
  {
    "path": "sepolia/2026-04-23-update-zk-config/README.md",
    "content": "# Update ZK Config\n\nStatus: [EXECUTED](https://sepolia.etherscan.io/tx/0x58803e2584a615a2b2883d46152fba6364a392ef816a509057bcb795e51167c8)\n\n## Description\n\nThis task updates the verifier configuration of the multiproof implementation on `sepolia`.\n\n- deploying a new `ZkVerifier`\n- redeploying `AggregateVerifier` with identical immutables, overriding `ZK_VERIFIER` and `ZK_RANGE_HASH`\n- pointing `DisputeGameFactory.gameImpls(gameType)` at the new `AggregateVerifier`\n\n## Procedure\n\n### Sign task\n\n#### 1. Update repo\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n#### 2. Run signing tool\n\n```bash\ncd contract-deployments\nmake sign-task\n```\n\n#### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\n- Select the correct signer role from the list of available users to sign.\n- After completion, close the signer tool with `Ctrl + C`.\n\n#### 4. Send signature to facilitator\n\nCopy the signature output and send it to the designated facilitator via the agreed communication channel.\n\nFor facilitator instructions, see `FACILITATOR.md`.\n"
  },
  {
    "path": "sepolia/2026-04-23-update-zk-config/addresses.json",
    "content": "{\n  \"zkVerifier\": \"0xF9780104117C0FaD3A9b1386FbF40a9F5857988A\",\n  \"aggregateVerifier\": \"0xF3f0fA3124b7b0feB048A00404Fe4D5D49E60796\"\n}"
  },
  {
    "path": "sepolia/2026-04-23-update-zk-config/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 200\nauto_detect_solc = true\nevm_version = \"prague\"\nvia-ir = false\nremappings = [\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@base-contracts/=lib/contracts/',\n    '@solady/=lib/solady/src/',\n    '@solady-v0.0.245/=lib/solady-v0.0.245/src/',\n    'forge-std/=lib/forge-std/src/',\n    'interfaces/dispute/=lib/contracts/interfaces/dispute/',\n    'interfaces/L1/=lib/contracts/interfaces/L1/',\n    'interfaces/legacy/=lib/contracts/interfaces/legacy/',\n    'interfaces/multiproof/=lib/contracts/interfaces/multiproof/',\n    'interfaces/universal/=lib/contracts/interfaces/universal/',\n    'src/L1/=lib/contracts/src/L1/',\n    'src/libraries/=lib/contracts/src/libraries/',\n    'src/dispute/=lib/contracts/src/dispute/',\n    'src/universal/=lib/contracts/src/universal/',\n    'lib/op-enclave/=lib/op-enclave/',\n    'openzeppelin/=lib/risc0-ethereum/lib/openzeppelin-contracts/',\n    '@lib-keccak/=lib/lib-keccak/contracts/lib/',\n    'interfaces/cannon/=lib/contracts/interfaces/cannon/',\n    'src/cannon/=lib/contracts/src/cannon/',\n]\n"
  },
  {
    "path": "sepolia/2026-04-23-update-zk-config/records/DeployAggregateVerifier.s.sol/11155111/run-1777030531899.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x473b5cac5984ebde2a95b2f88a57000a427ecb971af47bbd3c584aba6b305c5e\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"AggregateVerifier\",\n      \"contractAddress\": \"0xf3f0fa3124b7b0feb048a00404fe4d5d49e60796\",\n      \"function\": null,\n      \"arguments\": [\n        \"621\",\n        \"0x2fF5cC82dBf333Ea30D8ee462178ab1707315355\",\n        \"0xD6e2d9D4f1f8865AC983eE848983fb1979429914\",\n        \"0x92F6dD3501E51B8b20C77b959becaaebeB210e17\",\n        \"0xF9780104117C0FaD3A9b1386FbF40a9F5857988A\",\n        \"0x11fb64617dfa2875d31b0cfb656666fd8cee65eb134fefeca171b9b6b4444a64\",\n        \"(0x23081d5f7a4d3ce04d41c2f03b386bad4f42a99d5b4c8ef44f4c362c2c595464, 0x0020f5df94945d8d40bc2b11128cbf2535565f5cde58960029017ee2ccef46d7)\",\n        \"0x12e9c45f19f9817c6d4385fad29e7a70c355502cf0883e76a9a7e478a85d1360\",\n        \"84532\",\n        \"600\",\n        \"30\",\n        \"1\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"gas\": \"0x3aea17\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6102606040523480156200001257600080fd5b50604051620039fc380380620039fc833981016040819052620000359162000264565b82158062000041575081155b8062000057575062000054828462000345565b15155b15620000845760405163462b853960e11b8152600481018490526024810183905260440160405180910390fd5b8060011415801562000097575080600214155b15620000b65760405163b1016ea760e01b815260040160405180910390fd5b63ffffffff8c16610220526001600160a01b038b1660808190526040805163f2b4e61760e01b8152905163f2b4e617916004808201926020929091908290030181865afa1580156200010c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013291906200035c565b6001600160a01b0390811660a0528a811660c05289811660e0528816610120526101008790528551610140526020860151610160526101808590526101a08490526101c08390526101e08290526102408190526200018f620001c0565b6200019c90602062000399565b620001a990608e620003bb565b6102005250620003ed9a5050505050505050505050565b60006101e0516101c051620001d69190620003d6565b905090565b6001600160a01b0381168114620001f157600080fd5b50565b80516200020181620001db565b919050565b6000604082840312156200021957600080fd5b604080519081016001600160401b03811182821017156200024a57634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b6000806000806000806000806000806000806101a08d8f0312156200028857600080fd5b8c5163ffffffff811681146200029d57600080fd5b9b50620002ad60208e01620001f4565b9a50620002bd60408e01620001f4565b9950620002cd60608e01620001f4565b9850620002dd60808e01620001f4565b975060a08d01519650620002f58e60c08f0162000206565b95506101008d015194506101208d015193506101408d015192506101608d015191506101808d015190509295989b509295989b509295989b565b634e487b7160e01b600052601260045260246000fd5b6000826200035757620003576200032f565b500690565b6000602082840312156200036f57600080fd5b81516200037c81620001db565b9392505050565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615620003b657620003b662000383565b500290565b60008219821115620003d157620003d162000383565b500190565b600082620003e857620003e86200032f565b500490565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161346762000595600039600081816103bf0152610f200152600081816109840152818161144901526120d2015260006110d601526000818161071801528181611941015281816129ee0152612a290152600081816105710152818161137a015281816113b50152611962015260006107f6015260008181610a8301528181612b0c0152612c8901526000818161085e0152612d4101526000818161082a0152612caa0152600081816108e301528181611ba90152612d1001526000818161037d01528181612b2d0152612be901526000818161045e01528181611c3a0152612bba0152600081816109f801528181610c2601528181610cdc015261161d015260006107c20152600081816106a101528181611188015281816112e5015281816114740152818161173201528181611824015281816118cc015281816121330152818161219d0152818161222f01528181612337015281816123ca0152818161245b01526124ee01526134676000f3fe6080604052600436106103345760003560e01c80636dc86e81116101ab5780639ded3952116100f7578063c26783e911610095578063d1ee5e4b1161006f578063d1ee5e4b14610a5a578063d28cb06f14610a71578063e41f96ad14610aa5578063fa24f74314610ac557600080fd5b8063c26783e9146109e6578063cf09e0d014610a1a578063cfcf984b14610a3a57600080fd5b8063b97cb80f116100d1578063b97cb80f1461094d578063bbdc02db1461096d578063bcef3b55146109ae578063bdb337d1146109c357600080fd5b80639ded3952146108d1578063addecc0614610905578063b74df35a1461093857600080fd5b806382ff53a111610164578063908cb80e1161013e578063908cb80e1461084c5780639730163d146108805780639840fd841461089657806399735e32146108bc57600080fd5b806382ff53a1146107b05780638417d3c2146107e457806387d34f161461081857600080fd5b80636dc86e811461070657806370872aa51461073a57806374f8bf321461074f578063786b844b146107645780637a6bc9e11461077957806380f323a71461079a57600080fd5b8063324a13c9116102855780634e95eb58116102235780635c0cba33116101fd5780635c0cba3314610692578063609d3334146106c55780636361506d146106da57806364d12136146106ef57600080fd5b80634e95eb581461061e57806354fd4d501461063457806357da950e1461066257600080fd5b80633fada3fd1161025f5780633fada3fd146105a85780634224b1e7146105c957806342316182146105dc57806349edf35a146105fe57600080fd5b8063324a13c91461054957806335c4377b1461055f57806337b1b2291461059357600080fd5b80631f837574116102f2578063250e69bd116102cc578063250e69bd146104ce57806325fc2ace146104ff5780632810e1d6146105145780632845e5bb1461052957600080fd5b80631f8375741461044c578063200d2ed21461048057806323edb2e0146104ae57600080fd5b8062821de3146103395780630183fd441461036b57806310fbee28146103ad5780631333db2e146103e157806319effeb4146103f85780631ee5d7c814610437575b600080fd5b34801561034557600080fd5b5061034e610ae9565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561037757600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610362565b3480156103b957600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103ed57600080fd5b506103f6610afa565b005b34801561040457600080fd5b5060005461041f90600160401b90046001600160401b031681565b6040516001600160401b039091168152602001610362565b34801561044357600080fd5b5061034e610e08565b34801561045857600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561048c57600080fd5b506000546104a190600160801b900460ff1681565b6040516103629190612f35565b3480156104ba57600080fd5b5060035461034e906001600160a01b031681565b3480156104da57600080fd5b506000546104ef90600160901b900460ff1681565b6040519015158152602001610362565b34801561050b57600080fd5b5060015461039f565b34801561052057600080fd5b506104a1610e3f565b34801561053557600080fd5b5060075461041f906001600160401b031681565b34801561055557600080fd5b5061039f60055481565b34801561056b57600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059f57600080fd5b5061034e611067565b3480156105b457600080fd5b506003546104ef90600160a01b900460ff1681565b6103f66105d7366004612f97565b611073565b3480156105e857600080fd5b506105f1611687565b6040516103629190613030565b34801561060a57600080fd5b5061039f61061936600461304a565b6116a6565b34801561062a57600080fd5b5061039f61010081565b34801561064057600080fd5b506040805180820190915260058152640302e312e360dc1b60208201526105f1565b34801561066e57600080fd5b5060015460025461067d919082565b60408051928352602083019190915201610362565b34801561069e57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061034e565b3480156106d157600080fd5b506105f16116f3565b3480156106e657600080fd5b5061039f611718565b3480156106fb57600080fd5b5061041f6201518081565b34801561071257600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561074657600080fd5b5060025461039f565b34801561075b57600080fd5b5061034e611724565b34801561077057600080fd5b506103f6611730565b34801561078557600080fd5b506003546104ef90600160a81b900460ff1681565b3480156107a657600080fd5b5061039f60045481565b3480156107bc57600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107f057600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561082457600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561085857600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561088c57600080fd5b5061039f611fff81565b3480156108a257600080fd5b5061034e71f90827f1c53a10cb7a02335b17532000293581565b3480156108c857600080fd5b5061039f61192e565b3480156108dd57600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561091157600080fd5b5060075461092690600160401b900460ff1681565b60405160ff9091168152602001610362565b34801561094457600080fd5b5061039f61193a565b34801561095957600080fd5b506103f6610968366004613063565b611986565b34801561097957600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610362565b3480156109ba57600080fd5b5061039f611c9d565b3480156109cf57600080fd5b50600754426001600160401b0390911611156104ef565b3480156109f257600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b348015610a2657600080fd5b5060005461041f906001600160401b031681565b348015610a4657600080fd5b506103f6610a55366004612f97565b611ca9565b348015610a6657600080fd5b5061041f62093a8081565b348015610a7d57600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b348015610ab157600080fd5b506103f6610ac0366004613063565b611ddb565b348015610ad157600080fd5b50610ada6120cb565b604051610362939291906130b3565b6000610af5607461210c565b905090565b600268929eee149b4bd212685403610b1a5763ab143c066000526004601cfd5b600268929eee149b4bd2126855600354600160a81b900460ff1615610b52576040516317bfe5f760e01b815260040160405180910390fd5b6007546001600160401b0390811614610ba657600054600160401b90046001600160401b03166001600160401b0316600003610ba157604051636082930560e11b815260040160405180910390fd5b610be8565b6000546001600160401b0316610bbf90621275006130f7565b6001600160401b0316421015610be8576040516304643c3960e01b815260040160405180910390fd5b600354600160a01b900460ff16610c9d5760035460048054604051637eee288d60e01b81526001600160a01b039384169281019290925260248201527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b158015610c6c57600080fd5b505af1158015610c80573d6000803e3d6000fd5b50506003805460ff60a01b1916600160a01b17905550610df99050565b60038054600160a81b60ff60a81b198216179091556004805460405163f3fef3a360e01b81526001600160a01b039384169281019290925260248201527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b158015610d2257600080fd5b505af1158015610d36573d6000803e3d6000fd5b5050600354600454604051600094506001600160a01b039092169250908381818185875af1925050503d8060008114610d8b576040519150601f19603f3d011682016040523d82523d6000602084013e610d90565b606091505b5050905080610db2576040516383e6cc6b60e01b815260040160405180910390fd5b6003546004546040519081526001600160a01b03909116907f87e12c2565042763daa6bf5842ed2b6447f17f7e28f9a4905fe3959581396ead9060200160405180910390a2505b600168929eee149b4bd2126855565b6000600681805b6001811115610e2057610e20612f1f565b81526020810191909152604001600020546001600160a01b0316919050565b600080600054600160801b900460ff166002811115610e6057610e60612f1f565b14610e7e5760405163f1a9458160e01b815260040160405180910390fd5b6000610e8861212f565b90506000816002811115610e9e57610e9e612f1f565b03610ebc57604051634962835760e11b815260040160405180910390fd5b6001816002811115610ed057610ed0612f1f565b03610eed576000805460ff60801b1916600160801b179055610fe7565b600754426001600160401b039091161115610f1b576040516304643c3960e01b815260040160405180910390fd5b6007547f0000000000000000000000000000000000000000000000000000000000000000600160401b90910460ff161015610f695760405163344de4bf60e01b815260040160405180910390fd5b60055415610fd3576000805460ff60801b1916600160801b1781556001905260066020527f3e5fec24aa4dc4e5aee2e025e51e1392c72a2500577559fae9665c6d52bd6a3154600380546001600160a01b0319166001600160a01b03909216919091179055610fe7565b6000805460ff60801b1916600160811b1790555b600080546fffffffffffffffff00000000000000001916600160401b426001600160401b03160217908190556040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da609161104d91600160801b90910460ff1690612f35565b60405180910390a15050600054600160801b900460ff1690565b6000610af5600061210c565b600054600160881b900460ff161561109d5760405162dc149f60e41b815260040160405180910390fd5b6000602060016110ad8483613122565b6110b7919061313a565b6110c19190613151565b6110cc906020613173565b90506000816110fc7f00000000000000000000000000000000000000000000000000000000000000006040613122565b6111069190613122565b905080361461111d57639824bdab6000526004601cfd5b61112b611128611c9d565b90565b611142600161113861193a565b610619919061313a565b1461118657611154600161113861193a565b61115f611128611c9d565b60405163f33fa6cf60e01b8152600481019290925260248201526044015b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166111b8610ae9565b6001600160a01b0316146112e35760006111d0610ae9565b90506111db81612315565b6111f85760405163346119f760e01b815260040160405180910390fd5b6040518060400160405280611268836001600160a01b031663bcef3b556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111289190613192565b8152602001826001600160a01b03166399735e326040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112cf9190613192565b905280516001556020015160025550611371565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663664ed8306040518163ffffffff1660e01b81526004016040805180830381865afa158015611340573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136491906131ab565b8051600155602001516002555b60025461139f907f000000000000000000000000000000000000000000000000000000000000000090613122565b6113a761192e565b14611404576002546113da907f000000000000000000000000000000000000000000000000000000000000000090613122565b6113e261192e565b60405163043d96bb60e11b81526004810192909252602482015260440161117d565b600080546001600160401b03421671ff000000000000000000ffffffffffffffff1990911617600160881b17905560408051630f27ce5f60e21b8152905163ffffffff7f000000000000000000000000000000000000000000000000000000000000000016916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691633c9f397c916004808201926020929091908290030181865afa1580156114c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e49190613207565b6000805460ff60901b191663ffffffff9290921692909214600160901b02178155600780546001600160401b0367ffffffffffffffff19909116179055848482816115315761153161322d565b919091013560f81c9050600181111561154c5761154c612f1f565b9050600061155e602160018789613243565b6115679161326d565b9050600061157960416021888a613243565b6115829161326d565b905061158e82826125df565b6115d061159e876041818b613243565b856115a7611067565b60015487905b6002546115bb611128611c9d565b6115c361192e565b6115cb611687565b61278f565b6115e1836115dc611067565b61282f565b6115e9611067565b600380546001600160a01b0319166001600160a01b0392831617905534600481815560408051630d0e30db60e41b815290517f00000000000000000000000000000000000000000000000000000000000000009094169363d0e30db0939282810192600092919082900301818588803b15801561166557600080fd5b505af1158015611679573d6000803e3d6000fd5b505050505050505050505050565b6060610af5608861169661193a565b6116a1906020613173565b612912565b60006116b061193a565b82106116cf5760405163a6c661fd60e01b815260040160405180910390fd5b6116ed6116dd836020613173565b6116e8906088613122565b612954565b92915050565b6060610af5605461170261193a565b61170d906020613173565b6116a1906034613122565b6000610af56034612954565b60006006816001610e0f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561178e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b2919061328b565b156117d05760405163379a7ed960e01b815260040160405180910390fd5b600054600160401b90046001600160401b03166001600160401b031660000361180c57604051636082930560e11b815260040160405180910390fd5b604051630314d2b360e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015611873573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611897919061328b565b9050806118b757604051634851bd9b60e01b815260040160405180910390fd5b6040516317cf21a960e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561191857600080fd5b505af1925050508015611929575060015b505b50565b6000610af56054612954565b6000610af57f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000613151565b60008054600160801b900460ff1660028111156119a5576119a5612f1f565b146119c35760405163f1a9458160e01b815260040160405180910390fd5b6000848460008181106119d8576119d861322d565b919091013560f81c905060018111156119f3576119f3612f1f565b90506000600681836001811115611a0c57611a0c612f1f565b6001811115611a1d57611a1d612f1f565b81526020810191909152604001600020546001600160a01b031603611a5757806040516304b045a760e31b815260040161117d91906132ad565b60055415611add576001600554611a6e919061313a565b8314611a8d5760405163a6c661fd60e01b815260040160405180910390fd5b611a96836116a6565b8214611aa6578161115f846116a6565b6001816001811115611aba57611aba612f1f565b14611ad8576040516369ed70ab60e01b815260040160405180910390fd5b611ae7565b611ae78383612974565b6000806000611af5866129c3565b91945092509050611b44611b0c886001818c613243565b8633611b19611128611718565b88888c898e604051602001611b3091815260200190565b60405160208183030381529060405261278f565b611b4d84612a5c565b604080518781526020810187905233917f5a8d9d181e6a59fe5477a50721401b6332a810b9183e15ac62d386379a05a717910160405180910390a26001846001811115611b9c57611b9c612f1f565b03611c1f576005600090557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ece20f366040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611c0257600080fd5b505af1158015611c16573d6000803e3d6000fd5b50505050611c93565b6000846001811115611c3357611c33612f1f565b03611c93577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ece20f366040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561166557600080fd5b5050505050505050565b6000610af56014612954565b60008054600160801b900460ff166002811115611cc857611cc8612f1f565b14611ce65760405163067fe19560e41b815260040160405180910390fd5b600754426001600160401b0390911611611d135760405163df469ccb60e01b815260040160405180910390fd5b600082826000818110611d2857611d2861322d565b919091013560f81c90506001811115611d4357611d43612f1f565b90506000600681836001811115611d5c57611d5c612f1f565b6001811115611d6d57611d6d612f1f565b81526020810191909152604001600020546001600160a01b031614611da757806040516338a094bd60e11b815260040161117d91906132ad565b611dcc611db78360018187613243565b8333611dc4611128611718565b6001546115ad565b611dd6813361282f565b505050565b60008054600160801b900460ff166002811115611dfa57611dfa612f1f565b14611e185760405163f1a9458160e01b815260040160405180910390fd5b611e2130612315565b611e3e576040516357e25a0960e01b815260040160405180910390fd5b6001611e4861212f565b6002811115611e5957611e59612f1f565b03611e775760405163346119f760e01b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8546001600160a01b0316611ecb5760006040516304b045a760e31b815260040161117d91906132ad565b600160005260066020527f3e5fec24aa4dc4e5aee2e025e51e1392c72a2500577559fae9665c6d52bd6a31546001600160a01b031615611f215760016040516338a094bd60e11b815260040161117d91906132ad565b600084846000818110611f3657611f3661322d565b919091013560f81c90506001811115611f5157611f51612f1f565b90506001816001811115611f6757611f67612f1f565b14611f85576040516369ed70ab60e01b815260040160405180910390fd5b611f8f8383612974565b6000806000611f9d866129c3565b91945092509050611fb4611b0c886001818c613243565b3360066000866001811115611fcb57611fcb612f1f565b6001811115611fdc57611fdc612f1f565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001600760088282829054906101000a900460ff1661202d91906132c1565b92506101000a81548160ff021916908360ff16021790555062093a806001600160401b03164261205d9190613122565b6007805467ffffffffffffffff19166001600160401b0392909216919091179055612089866001613122565b60055560405186815233907f7a180232c19fd38c83e493856a42688c477bae7e82039103b2c1ea6a6162e5299060200160405180910390a25050505050505050565b60008060607f00000000000000000000000000000000000000000000000000000000000000006120f9611c9d565b6121016116f3565b925092509250909192565b6000806121213660011981013560f01c900390565b929092013560601c92915050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316612163610ae9565b6001600160a01b03161461230f57600061217b610ae9565b604051631a51a37560e11b81526001600160a01b0380831660048301529192507f0000000000000000000000000000000000000000000000000000000000000000909116906334a346ea90602401602060405180830381865afa1580156121e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061220a919061328b565b8061229a5750604051635958a19360e01b81526001600160a01b0382811660048301527f00000000000000000000000000000000000000000000000000000000000000001690635958a19390602401602060405180830381865afa158015612276573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061229a919061328b565b156122a757600191505090565b806001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061230991906132e6565b91505090565b50600290565b60405163ee658e4560e01b81526001600160a01b0382811660048301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063ee658e4590602401602060405180830381865afa158015612380573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a4919061328b565b801561243557506040516304e50fed60e01b81526001600160a01b0383811660048301527f000000000000000000000000000000000000000000000000000000000000000016906304e50fed90602401602060405180830381865afa158015612411573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612435919061328b565b80156124c85750604051631a51a37560e11b81526001600160a01b0383811660048301527f000000000000000000000000000000000000000000000000000000000000000016906334a346ea90602401602060405180830381865afa1580156124a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124c6919061328b565b155b801561255b5750604051635958a19360e01b81526001600160a01b0383811660048301527f00000000000000000000000000000000000000000000000000000000000000001690635958a19390602401602060405180830381865afa158015612535573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612559919061328b565b155b80156116ed57506001826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c691906132e6565b60028111156125d7576125d7612f1f565b141592915050565b4381106126085760405163096fec2960e21b81526004810182905243602482015260440161117d565b600080612615834361313a565b905061010081116126295782409150612738565b611fff81116127165760008071f90827f1c53a10cb7a02335b1753200029356001600160a01b03168560405160200161266491815260200190565b60408051601f198184030181529082905261267e91613307565b600060405180830381855afa9150503d80600081146126b9576040519150601f19603f3d011682016040523d82523d6000602084013e6126be565b606091505b50915091508115806126d257508051602014155b156126f957604051630f0b8f8160e01b81526004810186905243602482015260440161117d565b8080602001905181019061270d9190613192565b93505050612738565b604051630f0b8f8160e01b81526004810184905243602482015260440161117d565b8161275f57604051630f0b8f8160e01b81526004810184905243602482015260440161117d565b838214612789576040516380b1ae5160e01b8152600481018590526024810183905260440161117d565b50505050565b60018910156127b1576040516309bde33960e01b815260040160405180910390fd5b60008860018111156127c5576127c5612f1f565b036127e0576127db8a8a89898989898989612b01565b612823565b60018860018111156127f4576127f4612f1f565b0361280a576127db8a8a89898989898989612c7e565b6040516369ed70ab60e01b815260040160405180910390fd5b50505050505050505050565b806006600084600181111561284657612846612f1f565b600181111561285757612857612f1f565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001600760088282829054906101000a900460ff166128a891906132c1565b92506101000a81548160ff021916908360ff1602179055506128c8612dc9565b8160018111156128da576128da612f1f565b6040516001600160a01b038316907f62f393acfb3d3425116fe9be7a6509a4b652bda54fdac2df2b7273135ecd58e790600090a35050565b606060006129283660011981013560f01c900390565b905060405191508282528284820160208401378260208301016000815260208101604052505092915050565b6000806129693660011981013560f01c900390565b929092013592915050565b61297c61193a565b821061299b5760405163a6c661fd60e01b815260040160405180910390fd5b806129a5836116a6565b0361192957604051635de57d7360e11b815260040160405180910390fd5b600080808084156129e1576129dc61061960018761313a565b6129e5565b6001545b90506000612a137f000000000000000000000000000000000000000000000000000000000000000087613173565b600254612a209190613122565b90506000612a4e7f0000000000000000000000000000000000000000000000000000000000000000836130f7565b929791965091945092505050565b60066000826001811115612a7257612a72612f1f565b6001811115612a8357612a83612f1f565b81526020810191909152604001600090812080546001600160a01b0319169055600754600160401b900460ff169003612acf5760405163344de4bf60e01b815260040160405180910390fd5b6007805460001960ff600160401b808404821692909201160268ff00000000000000001990911617905561192b612e67565b6000878787878787877f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000604051602001612b6499989796959493929190613323565b6040516020818303038152906040528051906020012090506000888b8b604051602001612b93939291906133a0565b60408051601f198184030181529082905263ab750e7560e01b825291506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ab750e7590612c139084907f00000000000000000000000000000000000000000000000000000000000000009087906004016133cc565b602060405180830381865afa158015612c30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c54919061328b565b612c71576040516309bde33960e01b815260040160405180910390fd5b5050505050505050505050565b6000878787878787877f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000604051602001612ce199989796959493929190613323565b60408051601f1981840301815290829052805160209091012063ab750e7560e01b825291506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ab750e7590612d6b908d908d907f00000000000000000000000000000000000000000000000000000000000000009087906004016133f1565b602060405180830381865afa158015612d88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dac919061328b565b612823576040516309bde33960e01b815260040160405180910390fd5b6000612dd3612ed7565b905067fffffffffffffffe196001600160401b03821601612e0b57506007805467ffffffffffffffff19166001600160401b03179055565b6000612e1782426130f7565b600754909150612e42906001600160401b0380841691166001600160401b0316808218908211021890565b6007805467ffffffffffffffff19166001600160401b03929092169190911790555050565b6000612e71612ed7565b905067fffffffffffffffe196001600160401b03821601612ea957506007805467ffffffffffffffff19166001600160401b03179055565b612eb381426130f7565b6007805467ffffffffffffffff19166001600160401b039290921691909117905550565b6007546000906002600160401b90910460ff1610612ef757506201518090565b600754600160401b900460ff16600103612f13575062093a8090565b506001600160401b0390565b634e487b7160e01b600052602160045260246000fd5b6020810160038310612f4957612f49612f1f565b91905290565b60008083601f840112612f6157600080fd5b5081356001600160401b03811115612f7857600080fd5b602083019150836020828501011115612f9057600080fd5b9250929050565b60008060208385031215612faa57600080fd5b82356001600160401b03811115612fc057600080fd5b612fcc85828601612f4f565b90969095509350505050565b60005b83811015612ff3578181015183820152602001612fdb565b838111156127895750506000910152565b6000815180845261301c816020860160208601612fd8565b601f01601f19169290920160200192915050565b6020815260006130436020830184613004565b9392505050565b60006020828403121561305c57600080fd5b5035919050565b6000806000806060858703121561307957600080fd5b84356001600160401b0381111561308f57600080fd5b61309b87828801612f4f565b90989097506020870135966040013595509350505050565b63ffffffff841681528260208201526060604082015260006130d86060830184613004565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b60006001600160401b03808316818516808303821115613119576131196130e1565b01949350505050565b60008219821115613135576131356130e1565b500190565b60008282101561314c5761314c6130e1565b500390565b60008261316e57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561318d5761318d6130e1565b500290565b6000602082840312156131a457600080fd5b5051919050565b6000604082840312156131bd57600080fd5b604051604081018181106001600160401b03821117156131ed57634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b60006020828403121561321957600080fd5b815163ffffffff8116811461304357600080fd5b634e487b7160e01b600052603260045260246000fd5b6000808585111561325357600080fd5b8386111561326057600080fd5b5050820193919092039150565b803560208310156116ed57600019602084900360031b1b1692915050565b60006020828403121561329d57600080fd5b8151801515811461304357600080fd5b6020810160028310612f4957612f49612f1f565b600060ff821660ff84168060ff038211156132de576132de6130e1565b019392505050565b6000602082840312156132f857600080fd5b81516003811061304357600080fd5b60008251613319818460208701612fd8565b9190910192915050565b6bffffffffffffffffffffffff198a60601b16815288601482015287603482015260006001600160401b0360c01b808960c01b16605484015287605c840152808760c01b16607c840152508451613381816084850160208901612fd8565b90910160848101939093525060a482015260c401979650505050505050565b6bffffffffffffffffffffffff198460601b168152818360148301376000910160140190815292915050565b6060815260006133df6060830186613004565b60208301949094525060400152919050565b606081528360608201528385608083013760006080858301015260006080601f19601f87011683010190508360208301528260408301529594505050505056fea2646970667358221220d3b5eb91dc16da011f56c371afbf1e187d3c2d1be76f5787e8a077c8c330b93764736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000026d0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355000000000000000000000000d6e2d9d4f1f8865ac983ee848983fb197942991400000000000000000000000092f6dd3501e51b8b20c77b959becaaebeb210e17000000000000000000000000f9780104117c0fad3a9b1386fbf40a9f5857988a11fb64617dfa2875d31b0cfb656666fd8cee65eb134fefeca171b9b6b4444a6423081d5f7a4d3ce04d41c2f03b386bad4f42a99d5b4c8ef44f4c362c2c5954640020f5df94945d8d40bc2b11128cbf2535565f5cde58960029017ee2ccef46d712e9c45f19f9817c6d4385fad29e7a70c355502cf0883e76a9a7e478a85d13600000000000000000000000000000000000000000000000000000000000014a340000000000000000000000000000000000000000000000000000000000000258000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000001\",\n        \"nonce\": \"0x39\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1a24e26\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x473b5cac5984ebde2a95b2f88a57000a427ecb971af47bbd3c584aba6b305c5e\",\n      \"transactionIndex\": \"0x62\",\n      \"blockHash\": \"0xd6bb4525cb27cd314f04e1f8dfd23bcada6c7d665049f0d2993c51d4f4231460\",\n      \"blockNumber\": \"0xa39d7a\",\n      \"gasUsed\": \"0x2d519c\",\n      \"effectiveGasPrice\": \"0x2491f86c\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": null,\n      \"contractAddress\": \"0xf3f0fa3124b7b0feb048a00404fe4d5d49e60796\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1777030531899,\n  \"chain\": 11155111,\n  \"commit\": \"6563fb4\"\n}"
  },
  {
    "path": "sepolia/2026-04-23-update-zk-config/records/DeployZkVerifier.s.sol/11155111/run-1777030330468.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x3b96d60835bf5b51ba2ca33169ccdf9b827ac1aa440ecc8352c112f3eafb7931\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"ZkVerifier\",\n      \"contractAddress\": \"0xf9780104117c0fad3a9b1386fbf40a9f5857988a\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x397A5f7f3dBd538f23DE225B51f532c34448dA9B\",\n        \"0x2fF5cC82dBf333Ea30D8ee462178ab1707315355\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"gas\": \"0x6a3b8\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c060405234801561001057600080fd5b506040516105de3803806105de83398101604081905261002f9161005e565b6001600160a01b039081166080521660a052610098565b6001600160a01b038116811461005b57600080fd5b50565b6000806040838503121561007157600080fd5b825161007c81610046565b602084015190925061008d81610046565b809150509250929050565b60805160a05161050e6100d06000396000818160db015261015e015260008181609c0152818161021f01526102ae015261050e6000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806354fd4d50146100675780635e02132e1461009757806378dbfee1146100d6578063ab750e75146100fd578063ece20f3614610120578063f9df65eb1461012a575b600080fd5b60408051808201825260058152640302e312e360dc1b6020820152905161008e91906103d0565b60405180910390f35b6100be7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161008e565b6100be7f000000000000000000000000000000000000000000000000000000000000000081565b61011061010b3660046103ea565b610137565b604051901515815260200161008e565b61012861020a565b005b6000546101109060ff1681565b6000805460ff161561015c57604051632f3cfa1960e21b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166341493c60848460405160200161019f91815260200190565b60405160208183030381529060405288886040518563ffffffff1660e01b81526004016101cf9493929190610469565b60006040518083038186803b1580156101e757600080fd5b505afa1580156101fb573d6000803e3d6000fd5b50600198975050505050505050565b6040516324b5ce0b60e11b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa15801561026e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061029291906104b6565b158061032357506040516304e50fed60e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906304e50fed90602401602060405180830381865afa1580156102fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032191906104b6565b155b1561034157604051637c3e4fdb60e01b815260040160405180910390fd5b6000805460ff191660011790556040513381527f3e2a844f441471ec38f2e944e29cfe184c2fc1e108af1a0bc92ca4357bac19519060200160405180910390a1565b6000815180845260005b818110156103a95760208185018101518683018201520161038d565b818111156103bb576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006103e36020830184610383565b9392505050565b6000806000806060858703121561040057600080fd5b843567ffffffffffffffff8082111561041857600080fd5b818701915087601f83011261042c57600080fd5b81358181111561043b57600080fd5b88602082850101111561044d57600080fd5b6020928301999098509187013596604001359550909350505050565b8481526060602082015260006104826060830186610383565b8281036040840152838152838560208301376000602085830101526020601f19601f86011682010191505095945050505050565b6000602082840312156104c857600080fd5b815180151581146103e357600080fdfea2646970667358221220d6d9cb32e94723b42bd04390d4347617422fa76bd46d51b62e40b4deb5ffe29164736f6c634300080f0033000000000000000000000000397a5f7f3dbd538f23de225b51f532c34448da9b0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355\",\n        \"nonce\": \"0x38\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1495232\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x3b96d60835bf5b51ba2ca33169ccdf9b827ac1aa440ecc8352c112f3eafb7931\",\n      \"transactionIndex\": \"0x4e\",\n      \"blockHash\": \"0x0b37ebaccc8569c29efea8a3918576dc4a58bb3d3564677c114822f113f2b38a\",\n      \"blockNumber\": \"0xa39d6c\",\n      \"gasUsed\": \"0x51b7a\",\n      \"effectiveGasPrice\": \"0x31c832e1\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": null,\n      \"contractAddress\": \"0xf9780104117c0fad3a9b1386fbf40a9f5857988a\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1777030330468,\n  \"chain\": 11155111,\n  \"commit\": \"6563fb4\"\n}"
  },
  {
    "path": "sepolia/2026-04-23-update-zk-config/records/UpdateZkConfig.s.sol/11155111/approve-latest.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x10238d3156a3e6a29e96560c998c427dd12d891de229f5c464f8cda710ecbcf3\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n        \"0\",\n        \"0xd4d9bdcd70fedc73f5c872b41a3cf4bf1f59440ac4437d389465851ffa77d8184de54529\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xb4fc091ab5fe455393d1d8643c4995d71babb5e36b535121116fdc56f48101fa02c6466686a0f4fb5691a868ebbe04aa65cbe234c3a8b4fc0810f2e2454ea6c41bec62eed781beb7f81f9e0f4a16344bde0e15997412646c358dcb850bd0538382745022b4a92b62666ea36a38de66cbb43099eaafcb8f684509c0d5428110c42e1c37c9dca4d8d2c022c45caf51bdd463f410bca2685e1f88791d318b5a8a3c3dcc11804137061e03931f84110197e6822a66a0ceaf6290e2e71db89db29ae63abc1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n        \"gas\": \"0x212fb\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd70fedc73f5c872b41a3cf4bf1f59440ac4437d389465851ffa77d8184de545290000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3b4fc091ab5fe455393d1d8643c4995d71babb5e36b535121116fdc56f48101fa02c6466686a0f4fb5691a868ebbe04aa65cbe234c3a8b4fc0810f2e2454ea6c41bec62eed781beb7f81f9e0f4a16344bde0e15997412646c358dcb850bd0538382745022b4a92b62666ea36a38de66cbb43099eaafcb8f684509c0d5428110c42e1c37c9dca4d8d2c022c45caf51bdd463f410bca2685e1f88791d318b5a8a3c3dcc11804137061e03931f84110197e6822a66a0ceaf6290e2e71db89db29ae63abc1b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x3b\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xf70d16\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x70fedc73f5c872b41a3cf4bf1f59440ac4437d389465851ffa77d8184de54529\",\n            \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x905d01451f6b878fbbd3acb0fed0b287b1267aea14aad61af4845a4373a8b944\",\n          \"blockNumber\": \"0xa3a39f\",\n          \"blockTimestamp\": \"0x69eba5ec\",\n          \"transactionHash\": \"0x10238d3156a3e6a29e96560c998c427dd12d891de229f5c464f8cda710ecbcf3\",\n          \"transactionIndex\": \"0x59\",\n          \"logIndex\": \"0x18c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x780338d148658b15230ecc1392481595fdd24c6cc33a56ea2fdf40a51dbacee60000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x905d01451f6b878fbbd3acb0fed0b287b1267aea14aad61af4845a4373a8b944\",\n          \"blockNumber\": \"0xa3a39f\",\n          \"blockTimestamp\": \"0x69eba5ec\",\n          \"transactionHash\": \"0x10238d3156a3e6a29e96560c998c427dd12d891de229f5c464f8cda710ecbcf3\",\n          \"transactionIndex\": \"0x59\",\n          \"logIndex\": \"0x18d\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000014000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000002000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000001004000020000000000000000000000000000000000000000200000000000000100200000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x10238d3156a3e6a29e96560c998c427dd12d891de229f5c464f8cda710ecbcf3\",\n      \"transactionIndex\": \"0x59\",\n      \"blockHash\": \"0x905d01451f6b878fbbd3acb0fed0b287b1267aea14aad61af4845a4373a8b944\",\n      \"blockNumber\": \"0xa3a39f\",\n      \"gasUsed\": \"0x1806d\",\n      \"effectiveGasPrice\": \"0x17f2563e\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1777051117884,\n  \"chain\": 11155111,\n  \"commit\": \"be35793\"\n}"
  },
  {
    "path": "sepolia/2026-04-23-update-zk-config/records/UpdateZkConfig.s.sol/11155111/run-1777051057133.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x9e1988f4572f67ba9e48518b507cfe13f2e27caf56e5691d6ed5158901d8eeaf\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n        \"0\",\n        \"0xd4d9bdcd70fedc73f5c872b41a3cf4bf1f59440ac4437d389465851ffa77d8184de54529\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xedd4efd56449e41d9c7a1af3c7a3c0d761cd89b132f2b6e26a422404b8884f6a69d8895989c5b0eb6951e77a93063c07ad4c408471ebd45b6e0bbaf35e57be1f1c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n        \"gas\": \"0x1e300\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd70fedc73f5c872b41a3cf4bf1f59440ac4437d389465851ffa77d8184de54529000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041edd4efd56449e41d9c7a1af3c7a3c0d761cd89b132f2b6e26a422404b8884f6a69d8895989c5b0eb6951e77a93063c07ad4c408471ebd45b6e0bbaf35e57be1f1c00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x3a\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x14c0f02\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x70fedc73f5c872b41a3cf4bf1f59440ac4437d389465851ffa77d8184de54529\",\n            \"0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x27487f0e2c783e6b779d094d7e56deadc436314a212cffb17c865b18dfa10dae\",\n          \"blockNumber\": \"0xa3a39a\",\n          \"blockTimestamp\": \"0x69eba5b0\",\n          \"transactionHash\": \"0x9e1988f4572f67ba9e48518b507cfe13f2e27caf56e5691d6ed5158901d8eeaf\",\n          \"transactionIndex\": \"0x64\",\n          \"logIndex\": \"0x277\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xbab6324ffa0be98c572110e52638d7f53aa733966915ffb991f7c542cd475cf30000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x27487f0e2c783e6b779d094d7e56deadc436314a212cffb17c865b18dfa10dae\",\n          \"blockNumber\": \"0xa3a39a\",\n          \"blockTimestamp\": \"0x69eba5b0\",\n          \"transactionHash\": \"0x9e1988f4572f67ba9e48518b507cfe13f2e27caf56e5691d6ed5158901d8eeaf\",\n          \"transactionIndex\": \"0x64\",\n          \"logIndex\": \"0x278\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000000004000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000002000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014020000000000000000000000100200000008000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x9e1988f4572f67ba9e48518b507cfe13f2e27caf56e5691d6ed5158901d8eeaf\",\n      \"transactionIndex\": \"0x64\",\n      \"blockHash\": \"0x27487f0e2c783e6b779d094d7e56deadc436314a212cffb17c865b18dfa10dae\",\n      \"blockNumber\": \"0xa3a39a\",\n      \"gasUsed\": \"0x14a42\",\n      \"effectiveGasPrice\": \"0x1870589c\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1777051057133,\n  \"chain\": 11155111,\n  \"commit\": \"be35793\"\n}"
  },
  {
    "path": "sepolia/2026-04-23-update-zk-config/records/UpdateZkConfig.s.sol/11155111/run-1777051117884.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x10238d3156a3e6a29e96560c998c427dd12d891de229f5c464f8cda710ecbcf3\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n        \"0\",\n        \"0xd4d9bdcd70fedc73f5c872b41a3cf4bf1f59440ac4437d389465851ffa77d8184de54529\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xb4fc091ab5fe455393d1d8643c4995d71babb5e36b535121116fdc56f48101fa02c6466686a0f4fb5691a868ebbe04aa65cbe234c3a8b4fc0810f2e2454ea6c41bec62eed781beb7f81f9e0f4a16344bde0e15997412646c358dcb850bd0538382745022b4a92b62666ea36a38de66cbb43099eaafcb8f684509c0d5428110c42e1c37c9dca4d8d2c022c45caf51bdd463f410bca2685e1f88791d318b5a8a3c3dcc11804137061e03931f84110197e6822a66a0ceaf6290e2e71db89db29ae63abc1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n        \"gas\": \"0x212fb\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd70fedc73f5c872b41a3cf4bf1f59440ac4437d389465851ffa77d8184de545290000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3b4fc091ab5fe455393d1d8643c4995d71babb5e36b535121116fdc56f48101fa02c6466686a0f4fb5691a868ebbe04aa65cbe234c3a8b4fc0810f2e2454ea6c41bec62eed781beb7f81f9e0f4a16344bde0e15997412646c358dcb850bd0538382745022b4a92b62666ea36a38de66cbb43099eaafcb8f684509c0d5428110c42e1c37c9dca4d8d2c022c45caf51bdd463f410bca2685e1f88791d318b5a8a3c3dcc11804137061e03931f84110197e6822a66a0ceaf6290e2e71db89db29ae63abc1b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x3b\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xf70d16\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x70fedc73f5c872b41a3cf4bf1f59440ac4437d389465851ffa77d8184de54529\",\n            \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x905d01451f6b878fbbd3acb0fed0b287b1267aea14aad61af4845a4373a8b944\",\n          \"blockNumber\": \"0xa3a39f\",\n          \"blockTimestamp\": \"0x69eba5ec\",\n          \"transactionHash\": \"0x10238d3156a3e6a29e96560c998c427dd12d891de229f5c464f8cda710ecbcf3\",\n          \"transactionIndex\": \"0x59\",\n          \"logIndex\": \"0x18c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x780338d148658b15230ecc1392481595fdd24c6cc33a56ea2fdf40a51dbacee60000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x905d01451f6b878fbbd3acb0fed0b287b1267aea14aad61af4845a4373a8b944\",\n          \"blockNumber\": \"0xa3a39f\",\n          \"blockTimestamp\": \"0x69eba5ec\",\n          \"transactionHash\": \"0x10238d3156a3e6a29e96560c998c427dd12d891de229f5c464f8cda710ecbcf3\",\n          \"transactionIndex\": \"0x59\",\n          \"logIndex\": \"0x18d\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000014000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000002000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000001004000020000000000000000000000000000000000000000200000000000000100200000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x10238d3156a3e6a29e96560c998c427dd12d891de229f5c464f8cda710ecbcf3\",\n      \"transactionIndex\": \"0x59\",\n      \"blockHash\": \"0x905d01451f6b878fbbd3acb0fed0b287b1267aea14aad61af4845a4373a8b944\",\n      \"blockNumber\": \"0xa3a39f\",\n      \"gasUsed\": \"0x1806d\",\n      \"effectiveGasPrice\": \"0x17f2563e\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1777051117884,\n  \"chain\": 11155111,\n  \"commit\": \"be35793\"\n}"
  },
  {
    "path": "sepolia/2026-04-23-update-zk-config/records/UpdateZkConfig.s.sol/11155111/run-1777051382241.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x58803e2584a615a2b2883d46152fba6364a392ef816a509057bcb795e51167c8\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1\",\n        \"0\",\n        \"0xb1070957000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000f3f0fa3124b7b0feb048a00404fe4d5d49e6079600000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n        \"gas\": \"0x1cda1\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000084b1070957000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000f3f0fa3124b7b0feb048a00404fe4d5d49e6079600000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x3c\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x10655fa\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002e00000000000000000000000000000000000000000000000000000000000000084b1070957000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000f3f0fa3124b7b0feb048a00404fe4d5d49e6079600000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d800000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000021000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b0000000000000000000000000000000000000000000000000000000000000002\",\n          \"blockHash\": \"0x18a5fa127fb1bbf762e92d362f3ee624d3c8cc6ded10443c307570c9ec765269\",\n          \"blockNumber\": \"0xa3a3b3\",\n          \"blockTimestamp\": \"0x69eba6f4\",\n          \"transactionHash\": \"0x58803e2584a615a2b2883d46152fba6364a392ef816a509057bcb795e51167c8\",\n          \"transactionIndex\": \"0x55\",\n          \"logIndex\": \"0x186\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n          \"topics\": [\n            \"0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de\",\n            \"0x000000000000000000000000f3f0fa3124b7b0feb048a00404fe4d5d49e60796\",\n            \"0x000000000000000000000000000000000000000000000000000000000000026d\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x18a5fa127fb1bbf762e92d362f3ee624d3c8cc6ded10443c307570c9ec765269\",\n          \"blockNumber\": \"0xa3a3b3\",\n          \"blockTimestamp\": \"0x69eba6f4\",\n          \"transactionHash\": \"0x58803e2584a615a2b2883d46152fba6364a392ef816a509057bcb795e51167c8\",\n          \"transactionIndex\": \"0x55\",\n          \"logIndex\": \"0x187\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1\",\n          \"topics\": [\n            \"0xa47fcdf075d680d3817bfca7973b373e1a5f6cfc3b444748299cc2b83d8348f9\",\n            \"0x000000000000000000000000000000000000000000000000000000000000026d\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x18a5fa127fb1bbf762e92d362f3ee624d3c8cc6ded10443c307570c9ec765269\",\n          \"blockNumber\": \"0xa3a3b3\",\n          \"blockTimestamp\": \"0x69eba6f4\",\n          \"transactionHash\": \"0x58803e2584a615a2b2883d46152fba6364a392ef816a509057bcb795e51167c8\",\n          \"transactionIndex\": \"0x55\",\n          \"logIndex\": \"0x188\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x70fedc73f5c872b41a3cf4bf1f59440ac4437d389465851ffa77d8184de545290000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x18a5fa127fb1bbf762e92d362f3ee624d3c8cc6ded10443c307570c9ec765269\",\n          \"blockNumber\": \"0xa3a3b3\",\n          \"blockTimestamp\": \"0x69eba6f4\",\n          \"transactionHash\": \"0x58803e2584a615a2b2883d46152fba6364a392ef816a509057bcb795e51167c8\",\n          \"transactionIndex\": \"0x55\",\n          \"logIndex\": \"0x189\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000080044000000000000200000000000000000000000000000000000008000000000000048000000000000400000000000000000000004000040000000000000000000000000002000000000000000000000000000000000000000000000000000000000008000000200000400800000000000000000000000000000000000000000000000000000000000400108000000000000004000000000000000000000000000000000000000000000000000080000000020000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000100\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x58803e2584a615a2b2883d46152fba6364a392ef816a509057bcb795e51167c8\",\n      \"transactionIndex\": \"0x55\",\n      \"blockHash\": \"0x18a5fa127fb1bbf762e92d362f3ee624d3c8cc6ded10443c307570c9ec765269\",\n      \"blockNumber\": \"0xa3a3b3\",\n      \"gasUsed\": \"0x14e37\",\n      \"effectiveGasPrice\": \"0x13dd2871\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1777051382241,\n  \"chain\": 11155111,\n  \"commit\": \"be35793\"\n}"
  },
  {
    "path": "sepolia/2026-04-23-update-zk-config/script/DeployAggregateVerifier.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Script, console} from \"forge-std/Script.sol\";\n\nimport {IAnchorStateRegistry} from \"interfaces/dispute/IAnchorStateRegistry.sol\";\nimport {IDelayedWETH} from \"interfaces/dispute/IDelayedWETH.sol\";\nimport {IDisputeGameFactory} from \"interfaces/dispute/IDisputeGameFactory.sol\";\nimport {IVerifier} from \"interfaces/multiproof/IVerifier.sol\";\n\nimport {GameType} from \"@base-contracts/src/dispute/lib/Types.sol\";\nimport {AggregateVerifier} from \"@base-contracts/src/multiproof/AggregateVerifier.sol\";\nimport {TEEVerifier} from \"@base-contracts/src/multiproof/tee/TEEVerifier.sol\";\nimport {ZkVerifier} from \"@base-contracts/src/multiproof/zk/ZKVerifier.sol\";\n\n/// @notice Redeploys AggregateVerifier with a new verifier config.\n/// All other immutables are read on-chain from the existing AggregateVerifier to\n/// guarantee continuity.\ncontract DeployAggregateVerifier is Script {\n    // Task config from .env.\n    address internal disputeGameFactoryProxyEnv;\n    GameType internal gameTypeEnv;\n    address internal sp1VerifierEnv;\n    bytes32 internal zkRangeHashEnv;\n\n    // Live multiproof implementation currently registered in the DGF.\n    address internal currentAggregateVerifier;\n\n    // Immutable constructor args copied from the live AggregateVerifier.\n    GameType internal currentGameType;\n    IAnchorStateRegistry internal currentAnchorStateRegistry;\n    IDelayedWETH internal currentDelayedWeth;\n    address internal currentTeeVerifier;\n    bytes32 internal currentTeeImageHash;\n    bytes32 internal currentZkAggregateHash;\n    bytes32 internal currentConfigHash;\n    uint256 internal currentL2ChainId;\n    uint256 internal currentBlockInterval;\n    uint256 internal currentIntermediateBlockInterval;\n    uint256 internal currentProofThreshold;\n\n    // Deployment input produced by DeployZkVerifier and read from addresses.json.\n    address internal nextZkVerifier;\n\n    // Deployment output written to addresses.json.\n    address public aggregateVerifier;\n\n    function setUp() public {\n        disputeGameFactoryProxyEnv = vm.envAddress(\"DISPUTE_GAME_FACTORY_PROXY\");\n        gameTypeEnv = GameType.wrap(uint32(vm.envUint(\"GAME_TYPE\")));\n        sp1VerifierEnv = vm.envAddress(\"SP1_VERIFIER\");\n        zkRangeHashEnv = vm.envBytes32(\"ZK_RANGE_HASH\");\n\n        currentAggregateVerifier = address(IDisputeGameFactory(disputeGameFactoryProxyEnv).gameImpls(gameTypeEnv));\n        require(currentAggregateVerifier != address(0), \"current aggregate verifier not found\");\n\n        AggregateVerifier currentAggregate = AggregateVerifier(currentAggregateVerifier);\n        require(\n            GameType.unwrap(currentAggregate.gameType()) == GameType.unwrap(gameTypeEnv), \"current game type mismatch\"\n        );\n\n        currentGameType = currentAggregate.gameType();\n        currentAnchorStateRegistry = currentAggregate.anchorStateRegistry();\n        currentDelayedWeth = currentAggregate.DELAYED_WETH();\n        currentTeeVerifier = address(currentAggregate.TEE_VERIFIER());\n        currentTeeImageHash = currentAggregate.TEE_IMAGE_HASH();\n        currentZkAggregateHash = currentAggregate.ZK_AGGREGATE_HASH();\n        currentConfigHash = currentAggregate.CONFIG_HASH();\n        currentL2ChainId = currentAggregate.L2_CHAIN_ID();\n        currentBlockInterval = currentAggregate.BLOCK_INTERVAL();\n        currentIntermediateBlockInterval = currentAggregate.INTERMEDIATE_BLOCK_INTERVAL();\n        currentProofThreshold = currentAggregate.PROOF_THRESHOLD();\n\n        string memory root = vm.projectRoot();\n        string memory path = string.concat(root, \"/addresses.json\");\n        string memory json = vm.readFile(path);\n        nextZkVerifier = vm.parseJsonAddress({json: json, key: \".zkVerifier\"});\n\n        require(nextZkVerifier != address(0), \"next zk verifier not set\");\n        require(\n            address(ZkVerifier(nextZkVerifier).ANCHOR_STATE_REGISTRY()) == address(currentAnchorStateRegistry),\n            \"next zk verifier asr mismatch\"\n        );\n        require(address(ZkVerifier(nextZkVerifier).SP1_VERIFIER()) == sp1VerifierEnv, \"next zk verifier sp1 mismatch\");\n    }\n\n    function run() external {\n        vm.startBroadcast();\n\n        aggregateVerifier = address(\n            new AggregateVerifier({\n                gameType_: currentGameType,\n                anchorStateRegistry_: currentAnchorStateRegistry,\n                delayedWETH: currentDelayedWeth,\n                teeVerifier: TEEVerifier(currentTeeVerifier),\n                zkVerifier: IVerifier(nextZkVerifier),\n                teeImageHash: currentTeeImageHash,\n                zkHashes: AggregateVerifier.ZkHashes({rangeHash: zkRangeHashEnv, aggregateHash: currentZkAggregateHash}),\n                configHash: currentConfigHash,\n                l2ChainId: currentL2ChainId,\n                blockInterval: currentBlockInterval,\n                intermediateBlockInterval: currentIntermediateBlockInterval,\n                proofThreshold: currentProofThreshold\n            })\n        );\n\n        vm.stopBroadcast();\n\n        _postCheck();\n        _writeAddresses();\n    }\n\n    function _postCheck() internal view {\n        AggregateVerifier av = AggregateVerifier(aggregateVerifier);\n\n        require(GameType.unwrap(av.gameType()) == GameType.unwrap(currentGameType), \"aggregate game type mismatch\");\n        require(address(av.anchorStateRegistry()) == address(currentAnchorStateRegistry), \"aggregate asr mismatch\");\n        require(\n            address(av.DISPUTE_GAME_FACTORY()) == address(currentAnchorStateRegistry.disputeGameFactory()),\n            \"aggregate dgf mismatch\"\n        );\n        require(address(av.DELAYED_WETH()) == address(currentDelayedWeth), \"aggregate delayed weth mismatch\");\n        require(address(av.TEE_VERIFIER()) == currentTeeVerifier, \"aggregate tee verifier mismatch\");\n        require(address(av.ZK_VERIFIER()) == nextZkVerifier, \"aggregate zk verifier mismatch\");\n        require(av.TEE_IMAGE_HASH() == currentTeeImageHash, \"aggregate tee image hash mismatch\");\n        require(av.ZK_RANGE_HASH() == zkRangeHashEnv, \"aggregate zk range hash mismatch\");\n        require(av.ZK_AGGREGATE_HASH() == currentZkAggregateHash, \"aggregate zk aggregate hash mismatch\");\n        require(av.CONFIG_HASH() == currentConfigHash, \"aggregate config hash mismatch\");\n        require(av.L2_CHAIN_ID() == currentL2ChainId, \"aggregate l2 chain id mismatch\");\n        require(av.BLOCK_INTERVAL() == currentBlockInterval, \"aggregate block interval mismatch\");\n        require(\n            av.INTERMEDIATE_BLOCK_INTERVAL() == currentIntermediateBlockInterval,\n            \"aggregate intermediate interval mismatch\"\n        );\n        require(av.PROOF_THRESHOLD() == currentProofThreshold, \"aggregate proof threshold mismatch\");\n    }\n\n    function _writeAddresses() internal {\n        console.log(\"AggregateVerifier:\", aggregateVerifier);\n        vm.writeJson({json: vm.toString(aggregateVerifier), path: \"addresses.json\", valueKey: \".aggregateVerifier\"});\n    }\n}\n"
  },
  {
    "path": "sepolia/2026-04-23-update-zk-config/script/DeployZkVerifier.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Script, console} from \"forge-std/Script.sol\";\n\nimport {AggregateVerifier} from \"@base-contracts/src/multiproof/AggregateVerifier.sol\";\nimport {GameType} from \"@base-contracts/src/dispute/lib/Types.sol\";\nimport {IAnchorStateRegistry} from \"interfaces/dispute/IAnchorStateRegistry.sol\";\nimport {IDisputeGameFactory} from \"interfaces/dispute/IDisputeGameFactory.sol\";\nimport {ISP1Verifier} from \"src/dispute/zk/ISP1Verifier.sol\";\nimport {ZkVerifier} from \"@base-contracts/src/multiproof/zk/ZKVerifier.sol\";\n\n/// @notice Deploys the ZK verifier used by the multiproof AggregateVerifier.\ncontract DeployZkVerifier is Script {\n    // Task config from .env.\n    address internal disputeGameFactoryProxyEnv;\n    GameType internal gameTypeEnv;\n    address internal sp1VerifierEnv;\n\n    // Live multiproof implementation currently registered in the DGF.\n    address internal currentAggregateVerifier;\n\n    // Constructor args copied from the live AggregateVerifier.\n    address internal currentAnchorStateRegistry;\n\n    // Deployment output written to addresses.json.\n    address public zkVerifier;\n\n    function setUp() public {\n        disputeGameFactoryProxyEnv = vm.envAddress(\"DISPUTE_GAME_FACTORY_PROXY\");\n        gameTypeEnv = GameType.wrap(uint32(vm.envUint(\"GAME_TYPE\")));\n        sp1VerifierEnv = vm.envAddress(\"SP1_VERIFIER\");\n\n        currentAggregateVerifier = address(IDisputeGameFactory(disputeGameFactoryProxyEnv).gameImpls(gameTypeEnv));\n        require(currentAggregateVerifier != address(0), \"current aggregate verifier not found\");\n\n        AggregateVerifier currentAggregate = AggregateVerifier(currentAggregateVerifier);\n        require(\n            GameType.unwrap(currentAggregate.gameType()) == GameType.unwrap(gameTypeEnv), \"current game type mismatch\"\n        );\n        currentAnchorStateRegistry = address(currentAggregate.anchorStateRegistry());\n\n        require(currentAnchorStateRegistry != address(0), \"anchor state registry not found\");\n        require(sp1VerifierEnv != address(0), \"sp1 verifier not set\");\n    }\n\n    function run() external {\n        vm.startBroadcast();\n\n        zkVerifier = address(\n            new ZkVerifier({\n                sp1Verifier: ISP1Verifier(sp1VerifierEnv),\n                anchorStateRegistry: IAnchorStateRegistry(currentAnchorStateRegistry)\n            })\n        );\n\n        vm.stopBroadcast();\n\n        _postCheck();\n        _writeAddresses();\n    }\n\n    function _postCheck() internal view {\n        require(\n            address(ZkVerifier(zkVerifier).ANCHOR_STATE_REGISTRY()) == currentAnchorStateRegistry,\n            \"zk verifier asr mismatch\"\n        );\n        require(address(ZkVerifier(zkVerifier).SP1_VERIFIER()) == sp1VerifierEnv, \"zk verifier sp1 verifier mismatch\");\n    }\n\n    function _writeAddresses() internal {\n        console.log(\"ZKVerifier:\", zkVerifier);\n\n        string memory root = \"root\";\n        string memory json = vm.serializeAddress({objectKey: root, valueKey: \"zkVerifier\", value: zkVerifier});\n        vm.writeJson({json: json, path: \"addresses.json\"});\n    }\n}\n"
  },
  {
    "path": "sepolia/2026-04-23-update-zk-config/script/UpdateZkConfig.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\n\nimport {MultisigScript, Enum} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {GameType} from \"@base-contracts/src/dispute/lib/Types.sol\";\nimport {AggregateVerifier} from \"@base-contracts/src/multiproof/AggregateVerifier.sol\";\nimport {ZkVerifier} from \"@base-contracts/src/multiproof/zk/ZKVerifier.sol\";\n\ninterface IDisputeGameFactoryAdmin {\n    function owner() external view returns (address);\n    function gameImpls(GameType gameType) external view returns (address);\n    function setImplementation(GameType gameType, address impl, bytes calldata args) external;\n}\n\n/// @notice Updates the live multiproof implementation in the DisputeGameFactory to the newly\n/// deployed AggregateVerifier carrying the new verifier config.\ncontract UpdateZkConfig is MultisigScript {\n    // Task config from .env.\n    address internal ownerSafeEnv;\n    address internal disputeGameFactoryProxyEnv;\n    GameType internal gameTypeEnv;\n    address internal sp1VerifierEnv;\n    bytes32 internal zkRangeHashEnv;\n\n    // Live onchain state.\n    address internal currentAggregateVerifier;\n    address internal currentZkVerifier;\n\n    // Deployment outputs produced by the EOA scripts and read from addresses.json.\n    address internal nextAggregateVerifier;\n    address internal nextZkVerifier;\n\n    function setUp() public {\n        ownerSafeEnv = vm.envAddress(\"PROXY_ADMIN_OWNER\");\n        disputeGameFactoryProxyEnv = vm.envAddress(\"DISPUTE_GAME_FACTORY_PROXY\");\n        gameTypeEnv = GameType.wrap(uint32(vm.envUint(\"GAME_TYPE\")));\n        sp1VerifierEnv = vm.envAddress(\"SP1_VERIFIER\");\n        zkRangeHashEnv = vm.envBytes32(\"ZK_RANGE_HASH\");\n\n        require(IDisputeGameFactoryAdmin(disputeGameFactoryProxyEnv).owner() == ownerSafeEnv, \"dgf owner mismatch\");\n\n        currentAggregateVerifier = IDisputeGameFactoryAdmin(disputeGameFactoryProxyEnv).gameImpls(gameTypeEnv);\n        require(currentAggregateVerifier != address(0), \"current aggregate verifier not found\");\n\n        AggregateVerifier currentAggregate = AggregateVerifier(currentAggregateVerifier);\n        require(\n            GameType.unwrap(currentAggregate.gameType()) == GameType.unwrap(gameTypeEnv), \"current game type mismatch\"\n        );\n        currentZkVerifier = address(currentAggregate.ZK_VERIFIER());\n\n        string memory root = vm.projectRoot();\n        string memory path = string.concat(root, \"/addresses.json\");\n        string memory json = vm.readFile(path);\n\n        nextAggregateVerifier = vm.parseJsonAddress({json: json, key: \".aggregateVerifier\"});\n        nextZkVerifier = vm.parseJsonAddress({json: json, key: \".zkVerifier\"});\n\n        require(nextAggregateVerifier != address(0), \"next aggregate verifier not set\");\n        require(nextAggregateVerifier != currentAggregateVerifier, \"next aggregate verifier equals current\");\n        require(nextZkVerifier != address(0), \"next zk verifier not set\");\n        require(nextZkVerifier != currentZkVerifier, \"next zk verifier equals current\");\n        require(sp1VerifierEnv != address(0), \"sp1 verifier not set\");\n        require(zkRangeHashEnv != bytes32(0), \"zk range hash not set\");\n\n        _checkNextAggregate(currentAggregate, AggregateVerifier(nextAggregateVerifier));\n        _checkNextZkVerifier(currentAggregate);\n    }\n\n    function _buildCalls() internal view override returns (Call[] memory) {\n        Call[] memory calls = new Call[](1);\n\n        calls[0] = Call({\n            operation: Enum.Operation.Call,\n            target: disputeGameFactoryProxyEnv,\n            data: abi.encodeCall(IDisputeGameFactoryAdmin.setImplementation, (gameTypeEnv, nextAggregateVerifier, \"\")),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        require(\n            IDisputeGameFactoryAdmin(disputeGameFactoryProxyEnv).gameImpls(gameTypeEnv) == nextAggregateVerifier,\n            \"dgf aggregate verifier mismatch\"\n        );\n\n        AggregateVerifier currentAggregate = AggregateVerifier(currentAggregateVerifier);\n        _checkNextAggregate(currentAggregate, AggregateVerifier(nextAggregateVerifier));\n        _checkNextZkVerifier(currentAggregate);\n    }\n\n    function _checkNextAggregate(AggregateVerifier currentAggregate, AggregateVerifier nextAggregate) internal view {\n        require(GameType.unwrap(nextAggregate.gameType()) == GameType.unwrap(gameTypeEnv), \"next game type mismatch\");\n        require(\n            address(nextAggregate.anchorStateRegistry()) == address(currentAggregate.anchorStateRegistry()),\n            \"next aggregate asr mismatch\"\n        );\n        require(\n            address(nextAggregate.DISPUTE_GAME_FACTORY()) == address(currentAggregate.DISPUTE_GAME_FACTORY()),\n            \"next aggregate dgf mismatch\"\n        );\n        require(\n            address(nextAggregate.DELAYED_WETH()) == address(currentAggregate.DELAYED_WETH()),\n            \"next aggregate delayed weth mismatch\"\n        );\n        require(\n            address(nextAggregate.TEE_VERIFIER()) == address(currentAggregate.TEE_VERIFIER()),\n            \"next aggregate tee verifier mismatch\"\n        );\n        require(address(nextAggregate.ZK_VERIFIER()) == nextZkVerifier, \"next aggregate zk verifier mismatch\");\n        require(\n            nextAggregate.TEE_IMAGE_HASH() == currentAggregate.TEE_IMAGE_HASH(),\n            \"next aggregate tee image hash mismatch\"\n        );\n        require(nextAggregate.ZK_RANGE_HASH() == zkRangeHashEnv, \"next aggregate zk range hash mismatch\");\n        require(\n            nextAggregate.ZK_AGGREGATE_HASH() == currentAggregate.ZK_AGGREGATE_HASH(),\n            \"next aggregate zk aggregate hash mismatch\"\n        );\n        require(nextAggregate.CONFIG_HASH() == currentAggregate.CONFIG_HASH(), \"next aggregate config hash mismatch\");\n        require(nextAggregate.L2_CHAIN_ID() == currentAggregate.L2_CHAIN_ID(), \"next aggregate l2 chain id mismatch\");\n        require(\n            nextAggregate.BLOCK_INTERVAL() == currentAggregate.BLOCK_INTERVAL(),\n            \"next aggregate block interval mismatch\"\n        );\n        require(\n            nextAggregate.INTERMEDIATE_BLOCK_INTERVAL() == currentAggregate.INTERMEDIATE_BLOCK_INTERVAL(),\n            \"next aggregate intermediate interval mismatch\"\n        );\n        require(\n            nextAggregate.PROOF_THRESHOLD() == currentAggregate.PROOF_THRESHOLD(),\n            \"next aggregate proof threshold mismatch\"\n        );\n    }\n\n    function _checkNextZkVerifier(AggregateVerifier currentAggregate) internal view {\n        require(\n            address(ZkVerifier(nextZkVerifier).ANCHOR_STATE_REGISTRY()) == address(currentAggregate.anchorStateRegistry()),\n            \"next zk verifier asr mismatch\"\n        );\n        require(address(ZkVerifier(nextZkVerifier).SP1_VERIFIER()) == sp1VerifierEnv, \"next zk verifier sp1 mismatch\");\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return ownerSafeEnv;\n    }\n}\n"
  },
  {
    "path": "sepolia/2026-04-23-update-zk-config/validations/update-zk-config-cb-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net script/UpdateZkConfig.s.sol:UpdateZkConfig --sig sign(address[]) [0x646132A1667ca7aD00d36616AFBA1A28116C770A] --sender 0x644d0F5c2C55A4679b4BFe057B87ba203AF9aC0D\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"skipTaskOriginValidation\": true,\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n    \"domainHash\": \"0x1d3f2566fd7b1bf017258b03d4d4d435d326d9cb051d5b7993d7c65e7ec78d0e\",\n    \"messageHash\": \"0x522bef0c8225ba05dbc59cbeb25f06f9eee17fa222e56defaa8116f0642dc42d\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Sepolia\",\n      \"address\": \"0x646132A1667ca7aD00d36616AFBA1A28116C770A\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x6d144c908c1ce7e0d41dac8dc95cbd06e45825a8ed09fb451a9a573a9da7bfbb\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000021\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000022\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xe6e7dfef16f571b2c2678e9bad6c9a31528346fd9c37080c109ed7f42f2b0e48\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Records the approval of this task's transaction hash by the CB Coordinator Safe (nested approver of the Proxy Admin Owner).\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Sepolia\",\n      \"address\": \"0x646132A1667ca7aD00d36616AFBA1A28116C770A\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000012\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000013\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"DisputeGameFactoryProxy - Sepolia\",\n      \"address\": \"0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1\",\n      \"changes\": [\n        {\n          \"key\": \"0x32912047a4c082de3e601c4b381c2aa6252270818a4be33442b17fb41b6cf7d6\",\n          \"before\": \"0x000000000000000000000000498313fb340cd5055c5568546364008299a47517\",\n          \"after\": \"0x000000000000000000000000f3f0fa3124b7b0feb048a00404fe4d5d49e60796\",\n          \"description\": \"Updates `gameImpls[621]` in the DisputeGameFactory to the newly deployed AggregateVerifier carrying the updated verifier configuration.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": [],\n  \"taskOriginConfig\": {\n    \"taskCreator\": {\n      \"commonName\": \"baptiste.oueriagli@coinbase.com\"\n    }\n  }\n}"
  },
  {
    "path": "sepolia/2026-04-23-update-zk-config/validations/update-zk-config-sc-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net script/UpdateZkConfig.s.sol:UpdateZkConfig --sig sign(address[]) [0x6AF0674791925f767060Dd52f7fB20984E8639d8] --sender 0x6e427c3212C0b63BE0C382F97715D49b011bFF33\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"skipTaskOriginValidation\": true,\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n    \"domainHash\": \"0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa\",\n    \"messageHash\": \"0x176546f4227e77043480b37e004f51b3e14a95e307200fa16b26cf6e7e811575\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Mock Security Council - Sepolia\",\n      \"address\": \"0x6AF0674791925f767060Dd52f7fB20984E8639d8\",\n      \"overrides\": [\n        {\n          \"key\": \"0x440d86aabc86e224badef6de2c5f3d7fe73b846e325b4f05ce2bedecd06e5dc0\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000021\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000022\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x1c98fde58c60c440d6cc44476e8ea5155dc0b2e1c775a565cbd7da73a9d1883d\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Records the approval of this task's transaction hash by the Mock Security Council (nested approver of the Proxy Admin Owner).\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Mock Security Council - Sepolia\",\n      \"address\": \"0x6AF0674791925f767060Dd52f7fB20984E8639d8\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000001e\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000001f\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"DisputeGameFactoryProxy - Sepolia\",\n      \"address\": \"0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1\",\n      \"changes\": [\n        {\n          \"key\": \"0x32912047a4c082de3e601c4b381c2aa6252270818a4be33442b17fb41b6cf7d6\",\n          \"before\": \"0x000000000000000000000000498313fb340cd5055c5568546364008299a47517\",\n          \"after\": \"0x000000000000000000000000f3f0fa3124b7b0feb048a00404fe4d5d49e60796\",\n          \"description\": \"Updates `gameImpls[621]` in the DisputeGameFactory to the newly deployed AggregateVerifier carrying the updated verifier configuration.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": [],\n  \"taskOriginConfig\": {\n    \"taskCreator\": {\n      \"commonName\": \"baptiste.oueriagli@coinbase.com\"\n    }\n  }\n}"
  },
  {
    "path": "sepolia/signatures/2026-02-19-superchain-separation/base-facilitator-signature.json",
    "content": "{\"mediaType\":\"application/vnd.dev.sigstore.bundle+json;version=0.2\",\"verificationMaterial\":{\"x509CertificateChain\":{\"certificates\":[{\"rawBytes\":\"MIIEIzCCAgugAwIBAgIUTCgVLGyjHUonjuYBZsiQpGxeza4wDQYJKoZIhvcNAQENBQAwfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMREwDwYDVQQKEwhDb2luYmFzZTERMA8GA1UECxMIU2VjdXJpdHkxIjAgBgNVBAMTGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwHhcNMjYwMjI1MTcxMTE5WhcNMjYwMjI2MTcxMTE5WjBZMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xETAPBgNVBAoTCENvaW5iYXNlMRIwEAYDVQQLEwljb3Jwb3JhdGUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAR4gi2rDNaqFEufKNcul+orNGt/mT2x6iX5qKi7E6ZhKRYNd6snwKe+wYZUCM8DmUIRB7onLQmKZgLhr4atr41u5SzetnMAJsxCcaeWYhPBfHxswunPWXOVGnWh4SlDDTCjbjBsMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBTYekftlBjE0R6Yvv4i6LG0Q8QnTjAkBgNVHREEHTAbhhlsZGFwOi8vL2Jhc2UtZmFjaWxpdGF0b3JzMA0GCSqGSIb3DQEBDQUAA4ICAQBbTiOzxixL54n7AhOgm8dqqVGq5+rpoORwTggzAFEMx2sJ2fxsqcoa0syLQQs2Lh9n++jfo8LaKu5Ne38pWJ2aDmbDH4wwwqMESpstK60IWUukD+ZlfTLcfHF7i4s/vesfpC7dhPUpvTgwFweI+LVVHFW2/UGAr9dadak94NUu9yt5UhF6CIu9xPk7x7vNpa1MBRRS3ToQSBu7NlZTgziM2Z5oniguxzZN2ydNPkS0S9scXTm33BSFNwOGbSmOKdosbhF8fYVyqgzSVVCt/g7qACIqbHwUxn3LFg2ZxvgskGPo3wtYJG8rNTNubjctWQDOYj0IfzSdoujEfHeVx+y2BxxZ8VXGcUVCB/5OMx/4Z1pNspN03wVfJci1Vzd7GCnkbrgq/9dGhnRyACxU4dameCQzb4OfIF04eHydFeTCWXL6wJKYoDIdJYb/SKI5QPCckyJMRqa1IEpV3xqT7RmkzGYHx7KsbIBE7ynwsmHJp9BndNX2OWYeEDMwGdIezcIP+hMRho9f+ItfkyYjk8DxCbc1oSa5fGT86l1ERiZgR6ARgNeIZHBsuyPX8a8iI9G1n5vSAQNOtY5/1Tivfj6zRAKa67hDYd9lJY/2aKo9dyMADtZujhswqpvQ9bIGnvH6ORPo8ixp1MfSj3bOD2chblmZo1boEKF6rJQOei48ng==\"},{\"rawBytes\":\"MIIGMDCCBBigAwIBAgIRALeOHLWKhDyHDYyCzTYAHeYwDQYJKoZIhvcNAQENBQAwfjELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMRYwFAYDVQQHDA1TYW4gRnJhbmNpc2NvMRUwEwYDVQQKDAxDb2luYmFzZSBMTEMxDjAMBgNVBAsMBUluZnJhMSMwIQYDVQQDDBpjYi5jb3Jwb3JhdGUtdXNlMS5jYmhxLm5ldDAeFw0yNjAyMjUwMDE5MTRaFw0yNjA2MDUwMTE5MTRaMHwxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzERMA8GA1UEChMIQ29pbmJhc2UxETAPBgNVBAsTCFNlY3VyaXR5MSIwIAYDVQQDExljb3Jwb3JhdGUuZGV2aWNlLmNiaHEubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAor+siMvixv2b9eihIaq7VSAA4d7ex02MYsX5qfTgdk64jj0BTNMNFwm6XuP517mFNtENHWr0gGDKjKpWTSJh/SRWZoFXge5+GKbTjXJqJoY48sULd4dotBCEmpsxUymEVAY7MNXZ06H/VolaNXsEGanXJPFEsmsdnInUyKjVXww5eXNWM2wDDgcUBTmYMBVuRptC1jfWACN26voJIWGl7EBLPSISaKC24hzboHdt7Git05igy5w6xVQtYOG46cAkFxsxc+BXmVBOASau9dkrS1mk+vJ0C3icBb+pg8t/UJovNDdqhXbd6BtIMMyRwD2OT+cOn+ZMtw3GZyTPtCIUSC+48F3HArvtWfjhugbPoge8jLHv6w4PyUbEtRbSHr2Ok96uvmEY4zyvYAZPqrRGSvRSeCch4XFU4VnK/se+aHh5gRbFFrFnSUMH61Iij6x+R/RFCiQhlImiYBU57vB8pzNeu68mAsk166RL42uvhI4lPyleZZ+4Dml6qLEMu7Ir83tCILD7ZGu0vBeMDEPpYQj3iJ5mWmwmR0jqjmCek8Dp9Zd/ylttQWVnG5QIy/reFYPq8qzAE8cLgyw52Co0s6xNJJG147SSDLfXr9LeTTWqoaVDxFTXo3UijcvZRU4CM/eDGDs9GIpZhYtbDIg5DmtmObT+5XZG2SKWf5p2N1ECAwEAAaOBqjCBpzBBBgNVHREEOjA4ghljb3Jwb3JhdGUuZGV2aWNlLmNiaHEubmV0hhsvL2NvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBRMW1VzTy18+K/WIkO/QmyzF7j/azAdBgNVHQ4EFgQU2HpH7ZQYxNEemL7+IuixtEPEJ04wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBDQUAA4ICAQBmcCFL1Je/zTSlbReHycwSh17zsHaAZuOcXTWgYOjW/Me2u3pm1fCcKLp2eMNFWOWvy14lvqX4gqpUTFCFJdkjnILXFbcFfOipnlJYhVX7rjr8+K1Bb3ZYsm0DMa4ycA0BoU9bFqjfpkSFam+cbmjoQOwO4u/GsdpjIIA/lpyuOuGm099TERFvQgiiuZA8ntOMfCmFr7FXI95Kvc3FH0rJJd+QGAIrGNnD/jcUFw90e7EH+hPQXr8+AN3/J2FSb2QfvCAppQdtW16VSJNOSJ9Occs36EIW9n0QAOcEXTv1din/SjpDuoMLqk1ZA/Mquldsr4jXoOkoajgAwnjlUtoz+BL0jfLA638t3YE1ti1S5G1+tVKh66HX3xqwY5YITUv16Mk4jSKtfhf6NvQJCyTw2WKthalAh3HEeHrlbd8WHEcrujysQqtpc/vbWE6Hq+MyunEtczUyQdigG4/BsYTMcWBXo4tNP67cAUvEG3/NIZ9vFTb+yvWneGIDcN284L0i6LGNLUh+aLILVy4GWSHld0XcItVNK3LOSQUQWXIbfkHr/w9Zk6ZyliUXUfBfHIGVCN7JJ8wHUL0838/pGdxTXnGv5ghEK/DGd/qv74j+mfjiTf3axKBs6VXqOgI+Vppv9vkfuXAB4VEgvgqDryf0ghqtA33BQEwiz27sorMBFA==\"},{\"rawBytes\":\"MIIGMTCCBBmgAwIBAgIUNtuh8wFw/jnlkGdEz7zTllqXWlEwDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wHhcNMjIwODIzMTUxNjQ2WhcNMzIwODIwMTUxNjQ2WjB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExIzAhBgNVBAMMGmNiLmNvcnBvcmF0ZS11c2UxLmNiaHEubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqJvth9m6qWnJ0TDdmxr8b2vKPCmFLDbMdQSbZy73rsgu4kTXd4oHig+h6IzPFS5N3m2UrFOZY2fmUZ4IEjE5c7zVPbrhmDw/cKyW68/z0awxFo98zO83mehE6wCijoNG51SzJipWnp5qZhTIQyJ7Htb4ETJEtnguOpqKq9PyzpZqxukky5AHS4TlHr+ERvQGG00HDadVV19d6NGMKjovH5Gz80dR5W5nmE32ha/0rWDzZJ2fo4eWbg3hcs5Ndxt3y/tj4BiwUgGD9Cmi6m8ufnjn+2oRzFCvZHSCIbSBH7Ci5r5H1m0H2X0rLTvipBLhNiRivjX7svWfO/QbzqC47EIR+VFb6+L6HLef8vns0CVSQyH6ONlHlIffQPHGYkgfKcS5Q6QXr4Nr9Czzbsj+n4Ax2/PUu2jiaVoQ9HyVbuWyLB0mPfhWf/FuDlyNMLNuwvoIP5rkGOq2xuQF9Bjo1YX3Y1Y9Gnf0D4pNb1JaGMTN21r4XAEMG9cpZFNGFQk7JHWZAgs7LNORY+eDOu0lzFif2DDPgPPuRvsez0lkMIm6dGo5khHWEMKyDPjYsj5oVy0n8T4lJZWppK8FAdYc3IfyWi9XrZM7IC8GzKIMo+farRB4kFEMJ9otfDDoFaZ8cWZEkGBeMxx1cI89FIf6fegAx9qEs8gKe4gfeowHi8ECAwEAAaOBkDCBjTAdBgNVHQ4EFgQUTFtVc08tfPiv1iJDv0Jssxe4/2swHwYDVR0jBBgwFoAU9fzvbQ0jyhtIll1fMnKXwKvTL1kwEgYDVR0TAQH/BAgwBgEB/wIBATAOBgNVHQ8BAf8EBAMCAYYwJwYDVR0lBCAwHgYIKwYBBQUHAwMGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQ0FAAOCAgEAVDZIKmyi2ep1+Tr37y6UriPy6JD3BIRSDOWM5m0dNvxw7BfNcewm8s35ejmXTCx90amZTLVGCYATcJZnM83aCzV+WoZYEiO+zQiZcxOrCMYNl4wVjVcxukkx1GE0/QLvgadifB18gyAahyYX4vMU3cfoPTWWL+OnMuhx/aei7KlwGY14dv/JBnZIdlQAvo8xH+XWkf1hB4y9kZhn9vzRcyb0AhHcKZFQEJcHP2QyU1JaI1jkeuN/ZzFl01o3QC82hDBRdb8c4OS0W2ObjKj3KyKAsbaiqKFJztmOzFYCIzRFWKvM3WwIphyUerjoTDdqTfSSGaF7bXB+VamJDYx1Ls+/+YZlH5AsowtYIApLucyJPflgwDh0ab0ycNSXPBSOncP4OlcQEC5QU1FTI7l2Mp0/0F/fYZpVO0LoMZx5mIknER0Htm0b0U0qf4/vlUK/9wvu4vT0Vz7VX9c5xfuUWOC6nnmncCQC6C3dlO7Xc9KqYzKVQWqjvo3HIHauhsD50aiVrvqmYjJV7vr3sVhaTFkiY+pESwSfhkzF1GmVkJ7arkKTqwxXABfcAtu3x+mbrAUal2PrY24rIk6oz1ljFNACw3X6nay221c8fGvy/Bg9UCuy1QWxrYyO01Qmra562r6JNPYx+4pgS/dWBQkAJvzhSrP9DJISJWWri9xS8jY=\"},{\"rawBytes\":\"MIIGHjCCBAagAwIBAgIUOe6oERfHQQKHTQSpiAvABT6OjW0wDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wIBcNMjIwODIzMTUxNjA1WhgPMjA1MjA4MTUxNTE2MDVaMIGTMQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExFTATBgNVBAMMDENCLVJPT1QtQ09SRTEhMB8GCSqGSIb3DQEJARYSaW5mcmFAY29pbmJhc2UuY29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsVDJrM5nGmY4ygEKnoYmU/AjgYZrnkG7Fwo8FVblMA3WQRgTy9qZXtl2d5WWs/rdmh6AvvqtmirtqkTiI/RxzIMTRawMmeHrRBDbLqxNPBHK5liurkTqSyntMeY1Tba6xu+FxFolbL2EKeAKrbr7/0pVDvE7485mVhb8SaJubRFPkaX3DVDfjG7Jii5Jtz1qvV0SpV3+DwoE8BLaJp9ZcqnKpOdcPAaFLjXQAtEZnRNoAG0O/F0FgTWZd+G8X5rw4Ssc0bd7BvchIfErMtgewBhbCIYlFYv1ygH0HJ3qp1KmLWXEuypCUP2gQaSzJNzBq+afNQafS4WQSaovGtQtpHJbZglJjikPvTZEGSVpdcu8kUeqFbCB3sagjR723q6/gEakl3XiBfi2JHoCxRdA8X6hba2ixRNpC5zpk11G9Jqqp6p2MxFT3Onui70fzU801VGxwPmgMWFigHRFWblaMBCB5iQJr9DsIKLgYR7HNpT/Pzmxph2iYBeS3bWhSobWEnfjIG5mei0bIKRXxtsffqKRc3GVfvhvewFv4pYLGTpaAVA5B5gjpNlv0DjfCzz1SHm8Z8i4ZynPv02NA6qASsuvcC2j4XFobF1RXMsVjExVWnZSi7RvwFyzdLS/oMByPS85lzqyOv1BX+lyL56Ir586x5CcemE5p0KxLy762A0CAwEAAaNmMGQwHQYDVR0OBBYEFPX8720NI8obSJZdXzJyl8Cr0y9ZMB8GA1UdIwQYMBaAFPX8720NI8obSJZdXzJyl8Cr0y9ZMBIGA1UdEwEB/wQIMAYBAf8CAQIwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBDQUAA4ICAQBsvc8vzBTavudnrxt4lCMflvjs0krwzf77T08qaQLFfGBtpPt98WNJU5jOvObgxr5abpE7wtInZ6z08UsfU9l1g+nVoAlWa5AYheBp4UmM3AecRaDjJT6H/WK8ckVsyfLopDtVR4dmRdCghoIKDTzSPK4n3Fqs6VtxcTOcYbG9e8XoQD/mGH/ruR89AV7fdKaSobrfRSHwBK3kFg8Yn8PdgWFIDXeQj9gE+Ym2YQD2r7jcWpo8Umns03GrJrkiMH5VdAGJ7WqLF3EFF30RvlSQxCiaOByf+J0NW4gwKZ8+vK/AKhO2rviiHJDiafLbqmI3XSTGplfDGyz2nveW/0gZA4t2vFJHCX3TIEPwuLamZLgDMqTktv0fvu4sXrPJORawO8KDAvicSB0h6bU6+p9/djcrj3CA6bQiDA5VB3qEpGFCRLf/Ds9yOq1H0b/pQ6vKb1OCL+cUKGs8QU8jt0rsdF/fUwwVMA3JUeh7tGcnqoh9u4TjFX1835sVSN2oynuOJJ10kRmvKy5rpZKvaq0NlQzIulFHrTfpKdCO9cQUFYk0D1WS8IRWypT2m/V/qo3kU3hkDJuL2eyF0nSLuQ7/3JnhNXL1Yuj+gs2eIYSMFfi3kerWmet/aEzkTlgVoARwSZATP1t+a6DRZjTTDoqXixSZTr+PfpstDvtB8zgwWA==\"}]},\"timestampVerificationData\":{\"rfc3161Timestamps\":[{\"signedTimestamp\":\"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgESr+pl5iRAzAWGogJidhvtBORaiQmICG+WpWRyzoVLECFECo5BwB4UBpFpjYa3tVyASrw6tdGA8yMDI2MDIyNTE3MTEyMFowAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdwwggHYAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYwMjI1MTcxMTIwWjAvBgkqhkiG9w0BCQQxIgQgQNjmcBbbNAQl3+FaTvd5ZcGEtWATOP3462p+eZowQaUwgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGgwZgIxAOpqLYt1eBs6F9aZhR6gYEEpsKM/W4k8VBH0yiSBunAQ7Oj8aekkvKzDqgl/3qHxeAIxAOy8qHAbDHOHeqAO7HuXzBTdWzzJRdagjRAC87Q8ZacrWxF5hMobG2a6Yrs5D6mTCA==\"}]}},\"messageSignature\":{\"messageDigest\":{\"algorithm\":\"SHA2_384\",\"digest\":\"j5dCgEBsl5k+HAVNVzK5P2lv5kkK9PyhOmRSjWLJ1ya5TGq/16mWrERVL3PP+9Y4\"},\"signature\":\"MGUCMFedBg8zZwTRiZzVoppojixiB2g3ye1WTrNjiz684MlhO1+Ncs1F3TulbTYDvbwmewIxAOpv+usCdN9bFppFkBes5rDhLFjmRjcS+pToQhpKf6SBzn5NkJwmiDR5oFVW8DysWw==\"}}"
  },
  {
    "path": "sepolia/signatures/2026-02-19-superchain-separation/base-sc-facilitator-signature.json",
    "content": "{\"mediaType\":\"application/vnd.dev.sigstore.bundle+json;version=0.2\",\"verificationMaterial\":{\"x509CertificateChain\":{\"certificates\":[{\"rawBytes\":\"MIIEJjCCAg6gAwIBAgIUJR8/xykGG6enO8S8ShRl8BngRFYwDQYJKoZIhvcNAQENBQAwfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMREwDwYDVQQKEwhDb2luYmFzZTERMA8GA1UECxMIU2VjdXJpdHkxIjAgBgNVBAMTGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwHhcNMjYwMjI1MTcxMTMwWhcNMjYwMjI2MTcxMTMwWjBZMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xETAPBgNVBAoTCENvaW5iYXNlMRIwEAYDVQQLEwljb3Jwb3JhdGUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAARspEN1w1hma2xOn560wmOxXj4rS7EbA+vwRbjACNMo1J0qix+fk6mJQkH4xQ8lER4Uk3uHL9BC2XEtKlon4eTLxSrF1jf4Ai1IwNpKshvlGkknhvMyuIfkIPPijlzrL+ajcTBvMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBRVntGc74yaxfKYJPbJo92IwjRFWDAnBgNVHREEIDAehhxsZGFwOi8vL2Jhc2Utc2MtZmFjaWxpdGF0b3JzMA0GCSqGSIb3DQEBDQUAA4ICAQAdq/JC6MgIzu8To7sZg1GG+Tqei6jzMpSkkKmy2i6rfil+/QoXi1/tcB1G1JRQ9RoG5o+BlNgRMVhJx8OZm3ZcreTs85IwNw8johEIhgchleyHKF0O3PY64uvi9Hk3FgkflWbLBxWk+xLTinKx4N3L9u+Spn1MWBt7AF3lmtFxfhd4gGBT8xw0JOXeGrw5bhPpu9tePz4iVrUwhiXpCXxMd0Cwa/I8QB1OnMhYfaO1yvZTY1qEXHmfHibZ2EevC6v0XtcdMFIxZkoBtxn/N6H0KhzjP+iqQ8ABo22t3w3Wr/235OXp7tjFs9B0PJDRM9dv4tkn8oYBJDHVZ+jL96AK/IPumuAwWzVDQ0ekKtkWd5xuMi5wXMDyERhLhuZZlZfj/x+GVOAkbjWsvBe0koq9ysJHhN7/WWChnU5FsGF4YLMYvSN0TYItShBCAaS3e72rHfm2k++wz/q3nZHH0a+SlyEZiMeQI17qC9YvhDu1aRTgpJ5rkj5DXmgm2l91/to2vbHgw0s7Z6qD6ENEw2vZw7v9Es/k55rbyulhnwa2lz3bJAfVcpOSO4+w8ywOjXdCEoQlHKgUKCj0NyAwsZtTUAUwMEnP87dbHlqzCUNCOaeNouAyEd3mcPV8WfY9AAVfrXsjgW91U5wZvWK3HIZTbDykWZtDgY2IPlgJoevTuA==\"},{\"rawBytes\":\"MIIGMDCCBBigAwIBAgIRALJ491BZHI+RimaRcfgxWAYwDQYJKoZIhvcNAQENBQAwfjELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMRYwFAYDVQQHDA1TYW4gRnJhbmNpc2NvMRUwEwYDVQQKDAxDb2luYmFzZSBMTEMxDjAMBgNVBAsMBUluZnJhMSMwIQYDVQQDDBpjYi5jb3Jwb3JhdGUtdXNlMS5jYmhxLm5ldDAeFw0yNjAyMjUwMDA5MzZaFw0yNjA2MDUwMTA5MzZaMHwxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzERMA8GA1UEChMIQ29pbmJhc2UxETAPBgNVBAsTCFNlY3VyaXR5MSIwIAYDVQQDExljb3Jwb3JhdGUuZGV2aWNlLmNiaHEubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAobgkI8VLegNbmhdD0Q51mbrKRTLnbtJXHS7sQNi+/xuEqz7cKYdoXc1BRG1G6w0kQxPireSWqvnCTIkBjZgB7COHlafABZRpZuoBqHyngqoi264v8+7eJnS/iFK5y33voSInTR/VWuXe8MlNJb5TjxCUDtOGZ6EYbhfabozUh9VylqGnC8fA6MsXUSfpRhuBkX2wejcPvuREXbkGEQuVZsvePHoKCL13kvG7YZ4lPvTfxsUuDrbBuNQ8/C0UlvIVM4e+EC3ztY+0mldiM/i1KruH7pxES3y/hCNm+nfiShM8ODEuOelHfcJwaqQNBblHjAXZXc/MkX38uoYQb0BhyrA5P/VBQ3Kg6fP+HaTxZeSm0zEMOJHYm46CfSUAQeFaljsFaqSYv9/edjEbD7sRmz2izfxD9vlnJ9YmVPbT/Js7TeZUQlp6HGcwSPuGS+o3TmVf6kcUSIsrMVVuA8cWdvKV/RTMHOyRA36hXxpwyUBzn5BgsA6AG7CFFCkSS4mw5hOgdQz+u3vSlTA4L4ZBjELDb7TmXXjUNzRx7VyqKnHOKsSwkWMBeIr0l5aqundaeCYP9zHhXdvt+kE/5f+0GUbbivvF397Rnd9axq8uTNuj/PYlOJbNc2B7/d2p8AA5aodOBOde4zQi3krmQMPy+TUe4EQDPRl4j/o0YTw//z8CAwEAAaOBqjCBpzBBBgNVHREEOjA4ghljb3Jwb3JhdGUuZGV2aWNlLmNiaHEubmV0hhsvL2NvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBRMW1VzTy18+K/WIkO/QmyzF7j/azAdBgNVHQ4EFgQUVZ7RnO+MmsXymCT2yaPdiMI0RVgwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBDQUAA4ICAQCaydU06xIuj1yVZ8jqs0ZbDzd/mXK3xkI1CYJX7iwOOAJ+07SQDGremfLGhBoZbC3lLLBbhIDS4LjLujoB+eIvzF1dXsKXhjeRnUy8kI7EdMTeyCzH+kIUPZ639HvSO+kb3NDC7hHBT26Tw1Brgd17mVo3fofhyYWhiF9fHXr3+R6hSXn/+2o/U55mUFbFCfSf1kI1yu0Xb14CMcJuX84Q0x/mOBE1VqN9m8zVShZ/jTNui4v2kdkw75pCHBqa3VmNV9YDB3ziPts9h7tUBE2x/5O4HAJLRMA5OVe1jupBLNuL2wjHmLO2TvPFz5dwq2xc4ZsXYM1U8k5EBHuFYOzg9ZVDGJhiyEDWuvhFsKvZAES296l8rblRU6557mVDIvt9KefaEpupBq/CTJ16ZN0wTcQYCbXvJD4ctb5FLL3Q6HXKtKjw+PmJFZiEFh7NExgSU0BUg7OZu4JXGDpqiE5iBlRgnHI9m4cF20gzfOBsEwlN85TOgMd/Nbswa5xx79gSsajgL71zS4PjtrxHEaFnetfrVdbvPICxly7wwpuFMDPn5dQaEMg1W4qjQhWlvmo3eayyNQRp+Pz2EtA7lXmb4Rj2PtmS/tRMcU3wMmsnbP9lOqUk6SmqKquG6R1tip+lnhE7tyFOQgyRMHlYTzkZu1rLi+MPgKFn01llAy7q4w==\"},{\"rawBytes\":\"MIIGMTCCBBmgAwIBAgIUNtuh8wFw/jnlkGdEz7zTllqXWlEwDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wHhcNMjIwODIzMTUxNjQ2WhcNMzIwODIwMTUxNjQ2WjB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExIzAhBgNVBAMMGmNiLmNvcnBvcmF0ZS11c2UxLmNiaHEubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqJvth9m6qWnJ0TDdmxr8b2vKPCmFLDbMdQSbZy73rsgu4kTXd4oHig+h6IzPFS5N3m2UrFOZY2fmUZ4IEjE5c7zVPbrhmDw/cKyW68/z0awxFo98zO83mehE6wCijoNG51SzJipWnp5qZhTIQyJ7Htb4ETJEtnguOpqKq9PyzpZqxukky5AHS4TlHr+ERvQGG00HDadVV19d6NGMKjovH5Gz80dR5W5nmE32ha/0rWDzZJ2fo4eWbg3hcs5Ndxt3y/tj4BiwUgGD9Cmi6m8ufnjn+2oRzFCvZHSCIbSBH7Ci5r5H1m0H2X0rLTvipBLhNiRivjX7svWfO/QbzqC47EIR+VFb6+L6HLef8vns0CVSQyH6ONlHlIffQPHGYkgfKcS5Q6QXr4Nr9Czzbsj+n4Ax2/PUu2jiaVoQ9HyVbuWyLB0mPfhWf/FuDlyNMLNuwvoIP5rkGOq2xuQF9Bjo1YX3Y1Y9Gnf0D4pNb1JaGMTN21r4XAEMG9cpZFNGFQk7JHWZAgs7LNORY+eDOu0lzFif2DDPgPPuRvsez0lkMIm6dGo5khHWEMKyDPjYsj5oVy0n8T4lJZWppK8FAdYc3IfyWi9XrZM7IC8GzKIMo+farRB4kFEMJ9otfDDoFaZ8cWZEkGBeMxx1cI89FIf6fegAx9qEs8gKe4gfeowHi8ECAwEAAaOBkDCBjTAdBgNVHQ4EFgQUTFtVc08tfPiv1iJDv0Jssxe4/2swHwYDVR0jBBgwFoAU9fzvbQ0jyhtIll1fMnKXwKvTL1kwEgYDVR0TAQH/BAgwBgEB/wIBATAOBgNVHQ8BAf8EBAMCAYYwJwYDVR0lBCAwHgYIKwYBBQUHAwMGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQ0FAAOCAgEAVDZIKmyi2ep1+Tr37y6UriPy6JD3BIRSDOWM5m0dNvxw7BfNcewm8s35ejmXTCx90amZTLVGCYATcJZnM83aCzV+WoZYEiO+zQiZcxOrCMYNl4wVjVcxukkx1GE0/QLvgadifB18gyAahyYX4vMU3cfoPTWWL+OnMuhx/aei7KlwGY14dv/JBnZIdlQAvo8xH+XWkf1hB4y9kZhn9vzRcyb0AhHcKZFQEJcHP2QyU1JaI1jkeuN/ZzFl01o3QC82hDBRdb8c4OS0W2ObjKj3KyKAsbaiqKFJztmOzFYCIzRFWKvM3WwIphyUerjoTDdqTfSSGaF7bXB+VamJDYx1Ls+/+YZlH5AsowtYIApLucyJPflgwDh0ab0ycNSXPBSOncP4OlcQEC5QU1FTI7l2Mp0/0F/fYZpVO0LoMZx5mIknER0Htm0b0U0qf4/vlUK/9wvu4vT0Vz7VX9c5xfuUWOC6nnmncCQC6C3dlO7Xc9KqYzKVQWqjvo3HIHauhsD50aiVrvqmYjJV7vr3sVhaTFkiY+pESwSfhkzF1GmVkJ7arkKTqwxXABfcAtu3x+mbrAUal2PrY24rIk6oz1ljFNACw3X6nay221c8fGvy/Bg9UCuy1QWxrYyO01Qmra562r6JNPYx+4pgS/dWBQkAJvzhSrP9DJISJWWri9xS8jY=\"},{\"rawBytes\":\"MIIGHjCCBAagAwIBAgIUOe6oERfHQQKHTQSpiAvABT6OjW0wDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wIBcNMjIwODIzMTUxNjA1WhgPMjA1MjA4MTUxNTE2MDVaMIGTMQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExFTATBgNVBAMMDENCLVJPT1QtQ09SRTEhMB8GCSqGSIb3DQEJARYSaW5mcmFAY29pbmJhc2UuY29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsVDJrM5nGmY4ygEKnoYmU/AjgYZrnkG7Fwo8FVblMA3WQRgTy9qZXtl2d5WWs/rdmh6AvvqtmirtqkTiI/RxzIMTRawMmeHrRBDbLqxNPBHK5liurkTqSyntMeY1Tba6xu+FxFolbL2EKeAKrbr7/0pVDvE7485mVhb8SaJubRFPkaX3DVDfjG7Jii5Jtz1qvV0SpV3+DwoE8BLaJp9ZcqnKpOdcPAaFLjXQAtEZnRNoAG0O/F0FgTWZd+G8X5rw4Ssc0bd7BvchIfErMtgewBhbCIYlFYv1ygH0HJ3qp1KmLWXEuypCUP2gQaSzJNzBq+afNQafS4WQSaovGtQtpHJbZglJjikPvTZEGSVpdcu8kUeqFbCB3sagjR723q6/gEakl3XiBfi2JHoCxRdA8X6hba2ixRNpC5zpk11G9Jqqp6p2MxFT3Onui70fzU801VGxwPmgMWFigHRFWblaMBCB5iQJr9DsIKLgYR7HNpT/Pzmxph2iYBeS3bWhSobWEnfjIG5mei0bIKRXxtsffqKRc3GVfvhvewFv4pYLGTpaAVA5B5gjpNlv0DjfCzz1SHm8Z8i4ZynPv02NA6qASsuvcC2j4XFobF1RXMsVjExVWnZSi7RvwFyzdLS/oMByPS85lzqyOv1BX+lyL56Ir586x5CcemE5p0KxLy762A0CAwEAAaNmMGQwHQYDVR0OBBYEFPX8720NI8obSJZdXzJyl8Cr0y9ZMB8GA1UdIwQYMBaAFPX8720NI8obSJZdXzJyl8Cr0y9ZMBIGA1UdEwEB/wQIMAYBAf8CAQIwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBDQUAA4ICAQBsvc8vzBTavudnrxt4lCMflvjs0krwzf77T08qaQLFfGBtpPt98WNJU5jOvObgxr5abpE7wtInZ6z08UsfU9l1g+nVoAlWa5AYheBp4UmM3AecRaDjJT6H/WK8ckVsyfLopDtVR4dmRdCghoIKDTzSPK4n3Fqs6VtxcTOcYbG9e8XoQD/mGH/ruR89AV7fdKaSobrfRSHwBK3kFg8Yn8PdgWFIDXeQj9gE+Ym2YQD2r7jcWpo8Umns03GrJrkiMH5VdAGJ7WqLF3EFF30RvlSQxCiaOByf+J0NW4gwKZ8+vK/AKhO2rviiHJDiafLbqmI3XSTGplfDGyz2nveW/0gZA4t2vFJHCX3TIEPwuLamZLgDMqTktv0fvu4sXrPJORawO8KDAvicSB0h6bU6+p9/djcrj3CA6bQiDA5VB3qEpGFCRLf/Ds9yOq1H0b/pQ6vKb1OCL+cUKGs8QU8jt0rsdF/fUwwVMA3JUeh7tGcnqoh9u4TjFX1835sVSN2oynuOJJ10kRmvKy5rpZKvaq0NlQzIulFHrTfpKdCO9cQUFYk0D1WS8IRWypT2m/V/qo3kU3hkDJuL2eyF0nSLuQ7/3JnhNXL1Yuj+gs2eIYSMFfi3kerWmet/aEzkTlgVoARwSZATP1t+a6DRZjTTDoqXixSZTr+PfpstDvtB8zgwWA==\"}]},\"timestampVerificationData\":{\"rfc3161Timestamps\":[{\"signedTimestamp\":\"MIICyTADAgEAMIICwAYJKoZIhvcNAQcCoIICsTCCAq0CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQguxqGMDLne2zxN0xx5W0GDBv46YE7BvNziFEOylww0O4CFQDypKwXPSULHDmx9W5oSWVpweevNRgPMjAyNjAyMjUxNzExMzFaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHaMIIB1gIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MDIyNTE3MTEzMVowLwYJKoZIhvcNAQkEMSIEIB5NjFN4ebd+iqoQG+RZnvA7F9bX8kTNZFipfnIwWkn/MIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRmMGQCMDfZLbJlTUMLl0YVGRlsymKA3trXKA7QWq2Wc1P2iSuiH2ubSygxuxN5n3VUmPK17QIwZJ7cEwtsSBCV4aiwf8LQblD0out37IhSBkemzGFoMuAhDs/EvysoytKg/oAaDa5D\"}]}},\"messageSignature\":{\"messageDigest\":{\"algorithm\":\"SHA2_384\",\"digest\":\"j5dCgEBsl5k+HAVNVzK5P2lv5kkK9PyhOmRSjWLJ1ya5TGq/16mWrERVL3PP+9Y4\"},\"signature\":\"MGQCMBaKe1ujwtNq57bGtZl3pk+VBNy68Z0dmn4xBuX4pDseuoP/ZzfG8/gxuk9/710XNgIwJiHrUZXMD7sZQuWSyw29m/lSRRQvzKGsMbfhnmqO1vnmXWHqUExga0ULW1YTCLh5\"}}"
  },
  {
    "path": "sepolia/signatures/2026-02-19-superchain-separation/creator-signature.json",
    "content": "{\"mediaType\":\"application/vnd.dev.sigstore.bundle+json;version=0.2\", \"verificationMaterial\":{\"x509CertificateChain\":{\"certificates\":[{\"rawBytes\":\"MIIEKTCCAhGgAwIBAgIUOrCVtLDrSuHSFH6hOqELSQwOzxwwDQYJKoZIhvcNAQENBQAwfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMREwDwYDVQQKEwhDb2luYmFzZTERMA8GA1UECxMIU2VjdXJpdHkxIjAgBgNVBAMTGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwHhcNMjYwMjI1MTcwMzI1WhcNMjYwMjI2MTcwMzI1WjBZMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xETAPBgNVBAoTCENvaW5iYXNlMRIwEAYDVQQLEwljb3Jwb3JhdGUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASa8F4Rsl+iUjU11ycbWbmP+Xi+BlZgXN4nfLMaRLIFywKr33otM2P24+c/MWLf3S0G8sr+uvtRLutmlIKLwFRB1y1Zxf2A89rQx0P9vN3qqeOSEwjaG9lIsXuT9HBnmAajdDByMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBRVntGc74yaxfKYJPbJo92IwjRFWDAqBgNVHREEIzAhhh91c2VyOi8vL2phY2suY2h1bWFAY29pbmJhc2UuY29tMA0GCSqGSIb3DQEBDQUAA4ICAQAkTqLRrtjrhn87x3SbF7XHcKUUP1N66h6p8w5DBl8Nv0bwbkce99SiXev5Re9LoB6EV5Q6oNKKARkkZ9epmDbvEdlErV9elU23xsKLAHHwPqoKfiYU5YfKFWZOgCjwUtg1vAxD5TOJRg7C4B1VWs13RmSvEbK5D1NmnMRoBPUv22h9h38kfMJMduVuzlkhDGuqCemohPWNpYb54gnfOGXsqN3jX76t9ozYeIstsH9+Z818feXsvtZEzozEQ/YT24gWCtz3cyEbCItvx0KPXcHtVulXd8mQrN/PPTX4roV6shlSe4EKlIfchD/6AThJ2Rngk6O7Qn/QS3FUxL8p/lMuLOtLoq3Wfd3JmQ64Zy/AhPkwuzzNUmXxpIeePkFbIR5f8ev3fbBclSUhWjl9px0kN/pCgNPL4c4HsjQUy3GX5Ru0hRTNKBirztn5jyZpbZbE3+ksTQ4A0BDiVzFfbLa4OXLSBddYqTgpzDgam12l2m/QXlZ/3OWTbZQNGOeF+l/4AT8/27cOCkQK5eQsfV9X5WCv5qk3kqqUh7eLgOsKq0PJjc9WXeJESMGLdWu6jQT9fEV+oQAIxUBRcLODZDIboGkmazJ4+yeZZurY0PaATKfR1Qt5dP1RDORMnsOAv345oRlM00Sf2zGjLEoWq3+hSC2Xd3c725kt0PUr/NjdBQ==\"}, {\"rawBytes\":\"MIIGMDCCBBigAwIBAgIRALJ491BZHI+RimaRcfgxWAYwDQYJKoZIhvcNAQENBQAwfjELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMRYwFAYDVQQHDA1TYW4gRnJhbmNpc2NvMRUwEwYDVQQKDAxDb2luYmFzZSBMTEMxDjAMBgNVBAsMBUluZnJhMSMwIQYDVQQDDBpjYi5jb3Jwb3JhdGUtdXNlMS5jYmhxLm5ldDAeFw0yNjAyMjUwMDA5MzZaFw0yNjA2MDUwMTA5MzZaMHwxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzERMA8GA1UEChMIQ29pbmJhc2UxETAPBgNVBAsTCFNlY3VyaXR5MSIwIAYDVQQDExljb3Jwb3JhdGUuZGV2aWNlLmNiaHEubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAobgkI8VLegNbmhdD0Q51mbrKRTLnbtJXHS7sQNi+/xuEqz7cKYdoXc1BRG1G6w0kQxPireSWqvnCTIkBjZgB7COHlafABZRpZuoBqHyngqoi264v8+7eJnS/iFK5y33voSInTR/VWuXe8MlNJb5TjxCUDtOGZ6EYbhfabozUh9VylqGnC8fA6MsXUSfpRhuBkX2wejcPvuREXbkGEQuVZsvePHoKCL13kvG7YZ4lPvTfxsUuDrbBuNQ8/C0UlvIVM4e+EC3ztY+0mldiM/i1KruH7pxES3y/hCNm+nfiShM8ODEuOelHfcJwaqQNBblHjAXZXc/MkX38uoYQb0BhyrA5P/VBQ3Kg6fP+HaTxZeSm0zEMOJHYm46CfSUAQeFaljsFaqSYv9/edjEbD7sRmz2izfxD9vlnJ9YmVPbT/Js7TeZUQlp6HGcwSPuGS+o3TmVf6kcUSIsrMVVuA8cWdvKV/RTMHOyRA36hXxpwyUBzn5BgsA6AG7CFFCkSS4mw5hOgdQz+u3vSlTA4L4ZBjELDb7TmXXjUNzRx7VyqKnHOKsSwkWMBeIr0l5aqundaeCYP9zHhXdvt+kE/5f+0GUbbivvF397Rnd9axq8uTNuj/PYlOJbNc2B7/d2p8AA5aodOBOde4zQi3krmQMPy+TUe4EQDPRl4j/o0YTw//z8CAwEAAaOBqjCBpzBBBgNVHREEOjA4ghljb3Jwb3JhdGUuZGV2aWNlLmNiaHEubmV0hhsvL2NvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBRMW1VzTy18+K/WIkO/QmyzF7j/azAdBgNVHQ4EFgQUVZ7RnO+MmsXymCT2yaPdiMI0RVgwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBDQUAA4ICAQCaydU06xIuj1yVZ8jqs0ZbDzd/mXK3xkI1CYJX7iwOOAJ+07SQDGremfLGhBoZbC3lLLBbhIDS4LjLujoB+eIvzF1dXsKXhjeRnUy8kI7EdMTeyCzH+kIUPZ639HvSO+kb3NDC7hHBT26Tw1Brgd17mVo3fofhyYWhiF9fHXr3+R6hSXn/+2o/U55mUFbFCfSf1kI1yu0Xb14CMcJuX84Q0x/mOBE1VqN9m8zVShZ/jTNui4v2kdkw75pCHBqa3VmNV9YDB3ziPts9h7tUBE2x/5O4HAJLRMA5OVe1jupBLNuL2wjHmLO2TvPFz5dwq2xc4ZsXYM1U8k5EBHuFYOzg9ZVDGJhiyEDWuvhFsKvZAES296l8rblRU6557mVDIvt9KefaEpupBq/CTJ16ZN0wTcQYCbXvJD4ctb5FLL3Q6HXKtKjw+PmJFZiEFh7NExgSU0BUg7OZu4JXGDpqiE5iBlRgnHI9m4cF20gzfOBsEwlN85TOgMd/Nbswa5xx79gSsajgL71zS4PjtrxHEaFnetfrVdbvPICxly7wwpuFMDPn5dQaEMg1W4qjQhWlvmo3eayyNQRp+Pz2EtA7lXmb4Rj2PtmS/tRMcU3wMmsnbP9lOqUk6SmqKquG6R1tip+lnhE7tyFOQgyRMHlYTzkZu1rLi+MPgKFn01llAy7q4w==\"}, {\"rawBytes\":\"MIIGMTCCBBmgAwIBAgIUNtuh8wFw/jnlkGdEz7zTllqXWlEwDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wHhcNMjIwODIzMTUxNjQ2WhcNMzIwODIwMTUxNjQ2WjB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExIzAhBgNVBAMMGmNiLmNvcnBvcmF0ZS11c2UxLmNiaHEubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqJvth9m6qWnJ0TDdmxr8b2vKPCmFLDbMdQSbZy73rsgu4kTXd4oHig+h6IzPFS5N3m2UrFOZY2fmUZ4IEjE5c7zVPbrhmDw/cKyW68/z0awxFo98zO83mehE6wCijoNG51SzJipWnp5qZhTIQyJ7Htb4ETJEtnguOpqKq9PyzpZqxukky5AHS4TlHr+ERvQGG00HDadVV19d6NGMKjovH5Gz80dR5W5nmE32ha/0rWDzZJ2fo4eWbg3hcs5Ndxt3y/tj4BiwUgGD9Cmi6m8ufnjn+2oRzFCvZHSCIbSBH7Ci5r5H1m0H2X0rLTvipBLhNiRivjX7svWfO/QbzqC47EIR+VFb6+L6HLef8vns0CVSQyH6ONlHlIffQPHGYkgfKcS5Q6QXr4Nr9Czzbsj+n4Ax2/PUu2jiaVoQ9HyVbuWyLB0mPfhWf/FuDlyNMLNuwvoIP5rkGOq2xuQF9Bjo1YX3Y1Y9Gnf0D4pNb1JaGMTN21r4XAEMG9cpZFNGFQk7JHWZAgs7LNORY+eDOu0lzFif2DDPgPPuRvsez0lkMIm6dGo5khHWEMKyDPjYsj5oVy0n8T4lJZWppK8FAdYc3IfyWi9XrZM7IC8GzKIMo+farRB4kFEMJ9otfDDoFaZ8cWZEkGBeMxx1cI89FIf6fegAx9qEs8gKe4gfeowHi8ECAwEAAaOBkDCBjTAdBgNVHQ4EFgQUTFtVc08tfPiv1iJDv0Jssxe4/2swHwYDVR0jBBgwFoAU9fzvbQ0jyhtIll1fMnKXwKvTL1kwEgYDVR0TAQH/BAgwBgEB/wIBATAOBgNVHQ8BAf8EBAMCAYYwJwYDVR0lBCAwHgYIKwYBBQUHAwMGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQ0FAAOCAgEAVDZIKmyi2ep1+Tr37y6UriPy6JD3BIRSDOWM5m0dNvxw7BfNcewm8s35ejmXTCx90amZTLVGCYATcJZnM83aCzV+WoZYEiO+zQiZcxOrCMYNl4wVjVcxukkx1GE0/QLvgadifB18gyAahyYX4vMU3cfoPTWWL+OnMuhx/aei7KlwGY14dv/JBnZIdlQAvo8xH+XWkf1hB4y9kZhn9vzRcyb0AhHcKZFQEJcHP2QyU1JaI1jkeuN/ZzFl01o3QC82hDBRdb8c4OS0W2ObjKj3KyKAsbaiqKFJztmOzFYCIzRFWKvM3WwIphyUerjoTDdqTfSSGaF7bXB+VamJDYx1Ls+/+YZlH5AsowtYIApLucyJPflgwDh0ab0ycNSXPBSOncP4OlcQEC5QU1FTI7l2Mp0/0F/fYZpVO0LoMZx5mIknER0Htm0b0U0qf4/vlUK/9wvu4vT0Vz7VX9c5xfuUWOC6nnmncCQC6C3dlO7Xc9KqYzKVQWqjvo3HIHauhsD50aiVrvqmYjJV7vr3sVhaTFkiY+pESwSfhkzF1GmVkJ7arkKTqwxXABfcAtu3x+mbrAUal2PrY24rIk6oz1ljFNACw3X6nay221c8fGvy/Bg9UCuy1QWxrYyO01Qmra562r6JNPYx+4pgS/dWBQkAJvzhSrP9DJISJWWri9xS8jY=\"}, {\"rawBytes\":\"MIIGHjCCBAagAwIBAgIUOe6oERfHQQKHTQSpiAvABT6OjW0wDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wIBcNMjIwODIzMTUxNjA1WhgPMjA1MjA4MTUxNTE2MDVaMIGTMQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExFTATBgNVBAMMDENCLVJPT1QtQ09SRTEhMB8GCSqGSIb3DQEJARYSaW5mcmFAY29pbmJhc2UuY29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsVDJrM5nGmY4ygEKnoYmU/AjgYZrnkG7Fwo8FVblMA3WQRgTy9qZXtl2d5WWs/rdmh6AvvqtmirtqkTiI/RxzIMTRawMmeHrRBDbLqxNPBHK5liurkTqSyntMeY1Tba6xu+FxFolbL2EKeAKrbr7/0pVDvE7485mVhb8SaJubRFPkaX3DVDfjG7Jii5Jtz1qvV0SpV3+DwoE8BLaJp9ZcqnKpOdcPAaFLjXQAtEZnRNoAG0O/F0FgTWZd+G8X5rw4Ssc0bd7BvchIfErMtgewBhbCIYlFYv1ygH0HJ3qp1KmLWXEuypCUP2gQaSzJNzBq+afNQafS4WQSaovGtQtpHJbZglJjikPvTZEGSVpdcu8kUeqFbCB3sagjR723q6/gEakl3XiBfi2JHoCxRdA8X6hba2ixRNpC5zpk11G9Jqqp6p2MxFT3Onui70fzU801VGxwPmgMWFigHRFWblaMBCB5iQJr9DsIKLgYR7HNpT/Pzmxph2iYBeS3bWhSobWEnfjIG5mei0bIKRXxtsffqKRc3GVfvhvewFv4pYLGTpaAVA5B5gjpNlv0DjfCzz1SHm8Z8i4ZynPv02NA6qASsuvcC2j4XFobF1RXMsVjExVWnZSi7RvwFyzdLS/oMByPS85lzqyOv1BX+lyL56Ir586x5CcemE5p0KxLy762A0CAwEAAaNmMGQwHQYDVR0OBBYEFPX8720NI8obSJZdXzJyl8Cr0y9ZMB8GA1UdIwQYMBaAFPX8720NI8obSJZdXzJyl8Cr0y9ZMBIGA1UdEwEB/wQIMAYBAf8CAQIwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBDQUAA4ICAQBsvc8vzBTavudnrxt4lCMflvjs0krwzf77T08qaQLFfGBtpPt98WNJU5jOvObgxr5abpE7wtInZ6z08UsfU9l1g+nVoAlWa5AYheBp4UmM3AecRaDjJT6H/WK8ckVsyfLopDtVR4dmRdCghoIKDTzSPK4n3Fqs6VtxcTOcYbG9e8XoQD/mGH/ruR89AV7fdKaSobrfRSHwBK3kFg8Yn8PdgWFIDXeQj9gE+Ym2YQD2r7jcWpo8Umns03GrJrkiMH5VdAGJ7WqLF3EFF30RvlSQxCiaOByf+J0NW4gwKZ8+vK/AKhO2rviiHJDiafLbqmI3XSTGplfDGyz2nveW/0gZA4t2vFJHCX3TIEPwuLamZLgDMqTktv0fvu4sXrPJORawO8KDAvicSB0h6bU6+p9/djcrj3CA6bQiDA5VB3qEpGFCRLf/Ds9yOq1H0b/pQ6vKb1OCL+cUKGs8QU8jt0rsdF/fUwwVMA3JUeh7tGcnqoh9u4TjFX1835sVSN2oynuOJJ10kRmvKy5rpZKvaq0NlQzIulFHrTfpKdCO9cQUFYk0D1WS8IRWypT2m/V/qo3kU3hkDJuL2eyF0nSLuQ7/3JnhNXL1Yuj+gs2eIYSMFfi3kerWmet/aEzkTlgVoARwSZATP1t+a6DRZjTTDoqXixSZTr+PfpstDvtB8zgwWA==\"}]}, \"timestampVerificationData\":{\"rfc3161Timestamps\":[{\"signedTimestamp\":\"MIICyDADAgEAMIICvwYJKoZIhvcNAQcCoIICsDCCAqwCAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgoGmmU9go92iVMGHNGiqCvG+5Qy28EmkREfPc9RUyXuQCFCxNcH58+Uy0OEHQnC6np5GJj0KbGA8yMDI2MDIyNTE3MDMyN1owAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdowggHWAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYwMjI1MTcwMzI3WjAvBgkqhkiG9w0BCQQxIgQgE0Qlh7rb1Jd6amGJl4rewrcu92mTi91c+Gpv3t+N2cIwgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGYwZAIwCgxt8i37xSHWUu2XFdB6+6ppnmlwdeJh3R0rmvRWkv++IKf+mGSACVw1tIJ7VvCSAjBJ1BE5dMYF9wMQsuDsbUoMepqbgLB3+MYx4hjYJhidOm1LdQCoS7fuB8kqEqD/Dpw=\"}]}}, \"messageSignature\":{\"messageDigest\":{\"algorithm\":\"SHA2_384\", \"digest\":\"j5dCgEBsl5k+HAVNVzK5P2lv5kkK9PyhOmRSjWLJ1ya5TGq/16mWrERVL3PP+9Y4\"}, \"signature\":\"MGQCMF4chXNTZn6Iq+DQkV7rQbFz5rTnj1XO7MIs0zOCxJ013oOHLjCBuRdQZQ2jUDiB3AIwUkDSED3Dvga9XdsOzgTBqMG5nO/Iye6+PxOlTLJ8RUOtb0lmXOt8PwGPe/O/UWaw\"}}"
  },
  {
    "path": "sepolia/signatures/2026-03-06-transfer-system-config-ownership/base-facilitator-signature.json",
    "content": "{\"mediaType\":\"application/vnd.dev.sigstore.bundle+json;version=0.2\", \"verificationMaterial\":{\"x509CertificateChain\":{\"certificates\":[{\"rawBytes\":\"MIIEIzCCAgugAwIBAgIUZtAf+Wp+E8FST+gqOW8gA6sjUWYwDQYJKoZIhvcNAQENBQAwfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMREwDwYDVQQKEwhDb2luYmFzZTERMA8GA1UECxMIU2VjdXJpdHkxIjAgBgNVBAMTGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwHhcNMjYwMzE5MTM1OTUxWhcNMjYwMzIwMTM1OTUxWjBZMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xETAPBgNVBAoTCENvaW5iYXNlMRIwEAYDVQQLEwljb3Jwb3JhdGUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATKaFlyLJWlPQ3JmMTOWArcDidiL0M3lhdyKQXsyA38DE1XyD7n+gupc0LmuSKWSiDZYKNwg7CQnfy1UcJH5EYppcgU0MrzQQZqTjY+knEETNJSACPw4WO+6KQ3ToaWVI+jbjBsMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBRSzRFwzEGi/fn9OnaHPNUjyCxBwDAkBgNVHREEHTAbhhlsZGFwOi8vL2Jhc2UtZmFjaWxpdGF0b3JzMA0GCSqGSIb3DQEBDQUAA4ICAQBw/Rk3UKIp52CKgUjaEXztnH40h+FBPbx/7ab1ePylYJ9OV1MxIarLQifyaO2Y834qkhiR8FxEf2k/LNM6M5uu64SGtopM7d9Qnaw1/vfai9ZITlXFLaN7wD+bGFE29TeDXxRkwYuimYgvbqZ6BltjmXhaBy2UQXb0Vdb6JyOipOSCsOfS5MVy0lr/AjxRsQiFoz/eU9Itloxs+QZb6bhz/jgdQIc4XB53vR3TVAsM9+vxradoPzg/PoPbpdQ7yrh15f7DSgTFSFxe2PbBEJzXzQpl3UISB0rBaCUizs/04MvIeSm+kOLRR06lmAFw2PkoHouuNPjC4cYFhn4o9USCcp4tKHvnni9dajcFVhLniGZGrYLGmLkuGzDIRJr8y3FaY3boDZzEKoiTI4KBrwlsf1D81YgKDwjxavM06N1YaelclM/1yQLdfk2PqY3OVVpwBPKTecROf88w9L7qi7Tp669YcFSs28WzPV9tsKWze2BV1a0YoVSp4zVPVP8rMHP7L8u7lqvhq64oWlBg7Wcy+wfjSgrn6e1BUmpeZB5phMClVWvLMseggMBKOXNSnrTsGNZ0Ebq0x9+c1W6KA+ggL8koLyD7XASgH+dPM5ZLLE5gU6xmsah1EtZc2E9faVU4c9FW5jhMGusKNV06FNWKluzLaTGguIO2zAUEu1BDFQ==\"}, {\"rawBytes\":\"MIIGLzCCBBegAwIBAgIQO+msbE+PywvrJE10RDOsnTANBgkqhkiG9w0BAQ0FADB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExIzAhBgNVBAMMGmNiLmNvcnBvcmF0ZS11c2UxLmNiaHEubmV0MB4XDTI2MDMxOTEyNTUzMVoXDTI2MDYyNzEzNTUzMVowfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMREwDwYDVQQKEwhDb2luYmFzZTERMA8GA1UECxMIU2VjdXJpdHkxIjAgBgNVBAMTGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9QQuMCa1rOJaw7lmbXoueKWsoFwHrBit7CKGy9/Q8j2lUncDC9Xivod/S0BGgt/5r0/+DmVOkpMpM1GYPwFfI2fmcRxogGXWnPfr/MPGWAolLWKYVcY1t9+Wt/HYwx7E5LMxg35M2WNZ0mNqhu+dfVxRY03maPNfrBCKa3oUCMsuEkfJRCgb9hzQ8WjTrqNwSlGPFEgzLLUHg0IHmG/v1cWbTeemWNeRo4J4o2CQPVNo1wbZZVOkn0Jq5ZtZgjmE6dbHKVMbsC4nzfSZGcUMs20ZjLGWfP7qM3M/YHqaEQpucVvUGNwbkoVw7ix4BNaVBMMIvH0yeCHwy8O90G5QJssWW1YI+RKBlVK+RCNH7qjvU3xXOL0SL+blMtg/ie7AJYp0QhsZlWOadLf6gwRboZehwov1xmgqWMHVnGAwFDolxeNCxVvJ3u27dQXNUCepN6X12M/yLAL9svy1Rm4ExNFHBhQQH4PSJDucBS/hZEAg3gsfLAUpZmW8K1qsarNpZpkGrh6vseQpoAOqKmr9NiziCrcAkgJdNzqqS02v2E223Zsrb+CI9FpRF1DO8DGnQIskBbxxVViQ+6o+x4ssuiyuRCgx3U1DhuRfhHk/PCuTZRU0UkhMIQUXD1IzswvXi2J3k82mvA3ng5letdAiuIQ3RWuM88NHyYs0FghzemQIDAQABo4GqMIGnMEEGA1UdEQQ6MDiCGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXSGGy8vY29ycG9yYXRlLmRldmljZS5jYmhxLm5ldDASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFExbVXNPLXz4r9YiQ79CbLMXuP9rMB0GA1UdDgQWBBRSzRFwzEGi/fn9OnaHPNUjyCxBwDAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQENBQADggIBAIATeuPQVUrnx3Y+uHwIQ6wPiZBpumXx3syaO+WVJqvk9Qejge5UifHQlg9ZtSlm1kBOa/gu+NRfHMGO4MWhtf0T+v4bkfHyRUUwK30qGYuzhGNPI92YaSML/qZZAUu0FZ36P+tkIA2CT0788B1ZtacZ6eAPhLIoTWVxsBVmyjjip/IRVa5ixjLzYxH0Zedqz6DijjSrbv6L6enGq0dQqLbNzVeo3blDsGxPuTAc4TPQwxRDfMgbbUH8jlwrK757aKMhIVAc6WwUJFVKLdhUYMhY9nxMqW1+fbcM2IDjbfm76rwSZDrIACMurQ5/mfowc4JRZ9Bn6+32Uk3h28mVWxW/qPbdXMdzXw9UR+Zszfg9w8mPtj4RZemFqm/wRVnHGIDXT/1bRXgmw0f8iXvzhnlxgox2bBzpuIClpXQQVdPF6Yu/eIFLiJwyo3pJFQjcWjtorkcBtrb1ixhU5UPBr1PSqcMO+mh6I53JCVmEdHI9UbUHHVToOMYrmZPrmhPdM2kcxYTw4j0qpFtpDTFKO0Gtkl80BtT/auKhFs6MH3800j/xNfNOw3zQq9Egn/U2wSVNsjzlMF7DV7g/ki6RlUKzI/RGOWG/haCJSaJVwyNcHoun+QG40lnYprj78uH903/09lCz+q8iqGuLH2Pk6pREr3RDLbM7lPhjMuYfBQ6E\"}, {\"rawBytes\":\"MIIGMTCCBBmgAwIBAgIUNtuh8wFw/jnlkGdEz7zTllqXWlEwDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wHhcNMjIwODIzMTUxNjQ2WhcNMzIwODIwMTUxNjQ2WjB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExIzAhBgNVBAMMGmNiLmNvcnBvcmF0ZS11c2UxLmNiaHEubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqJvth9m6qWnJ0TDdmxr8b2vKPCmFLDbMdQSbZy73rsgu4kTXd4oHig+h6IzPFS5N3m2UrFOZY2fmUZ4IEjE5c7zVPbrhmDw/cKyW68/z0awxFo98zO83mehE6wCijoNG51SzJipWnp5qZhTIQyJ7Htb4ETJEtnguOpqKq9PyzpZqxukky5AHS4TlHr+ERvQGG00HDadVV19d6NGMKjovH5Gz80dR5W5nmE32ha/0rWDzZJ2fo4eWbg3hcs5Ndxt3y/tj4BiwUgGD9Cmi6m8ufnjn+2oRzFCvZHSCIbSBH7Ci5r5H1m0H2X0rLTvipBLhNiRivjX7svWfO/QbzqC47EIR+VFb6+L6HLef8vns0CVSQyH6ONlHlIffQPHGYkgfKcS5Q6QXr4Nr9Czzbsj+n4Ax2/PUu2jiaVoQ9HyVbuWyLB0mPfhWf/FuDlyNMLNuwvoIP5rkGOq2xuQF9Bjo1YX3Y1Y9Gnf0D4pNb1JaGMTN21r4XAEMG9cpZFNGFQk7JHWZAgs7LNORY+eDOu0lzFif2DDPgPPuRvsez0lkMIm6dGo5khHWEMKyDPjYsj5oVy0n8T4lJZWppK8FAdYc3IfyWi9XrZM7IC8GzKIMo+farRB4kFEMJ9otfDDoFaZ8cWZEkGBeMxx1cI89FIf6fegAx9qEs8gKe4gfeowHi8ECAwEAAaOBkDCBjTAdBgNVHQ4EFgQUTFtVc08tfPiv1iJDv0Jssxe4/2swHwYDVR0jBBgwFoAU9fzvbQ0jyhtIll1fMnKXwKvTL1kwEgYDVR0TAQH/BAgwBgEB/wIBATAOBgNVHQ8BAf8EBAMCAYYwJwYDVR0lBCAwHgYIKwYBBQUHAwMGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQ0FAAOCAgEAVDZIKmyi2ep1+Tr37y6UriPy6JD3BIRSDOWM5m0dNvxw7BfNcewm8s35ejmXTCx90amZTLVGCYATcJZnM83aCzV+WoZYEiO+zQiZcxOrCMYNl4wVjVcxukkx1GE0/QLvgadifB18gyAahyYX4vMU3cfoPTWWL+OnMuhx/aei7KlwGY14dv/JBnZIdlQAvo8xH+XWkf1hB4y9kZhn9vzRcyb0AhHcKZFQEJcHP2QyU1JaI1jkeuN/ZzFl01o3QC82hDBRdb8c4OS0W2ObjKj3KyKAsbaiqKFJztmOzFYCIzRFWKvM3WwIphyUerjoTDdqTfSSGaF7bXB+VamJDYx1Ls+/+YZlH5AsowtYIApLucyJPflgwDh0ab0ycNSXPBSOncP4OlcQEC5QU1FTI7l2Mp0/0F/fYZpVO0LoMZx5mIknER0Htm0b0U0qf4/vlUK/9wvu4vT0Vz7VX9c5xfuUWOC6nnmncCQC6C3dlO7Xc9KqYzKVQWqjvo3HIHauhsD50aiVrvqmYjJV7vr3sVhaTFkiY+pESwSfhkzF1GmVkJ7arkKTqwxXABfcAtu3x+mbrAUal2PrY24rIk6oz1ljFNACw3X6nay221c8fGvy/Bg9UCuy1QWxrYyO01Qmra562r6JNPYx+4pgS/dWBQkAJvzhSrP9DJISJWWri9xS8jY=\"}, {\"rawBytes\":\"MIIGHjCCBAagAwIBAgIUOe6oERfHQQKHTQSpiAvABT6OjW0wDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wIBcNMjIwODIzMTUxNjA1WhgPMjA1MjA4MTUxNTE2MDVaMIGTMQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExFTATBgNVBAMMDENCLVJPT1QtQ09SRTEhMB8GCSqGSIb3DQEJARYSaW5mcmFAY29pbmJhc2UuY29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsVDJrM5nGmY4ygEKnoYmU/AjgYZrnkG7Fwo8FVblMA3WQRgTy9qZXtl2d5WWs/rdmh6AvvqtmirtqkTiI/RxzIMTRawMmeHrRBDbLqxNPBHK5liurkTqSyntMeY1Tba6xu+FxFolbL2EKeAKrbr7/0pVDvE7485mVhb8SaJubRFPkaX3DVDfjG7Jii5Jtz1qvV0SpV3+DwoE8BLaJp9ZcqnKpOdcPAaFLjXQAtEZnRNoAG0O/F0FgTWZd+G8X5rw4Ssc0bd7BvchIfErMtgewBhbCIYlFYv1ygH0HJ3qp1KmLWXEuypCUP2gQaSzJNzBq+afNQafS4WQSaovGtQtpHJbZglJjikPvTZEGSVpdcu8kUeqFbCB3sagjR723q6/gEakl3XiBfi2JHoCxRdA8X6hba2ixRNpC5zpk11G9Jqqp6p2MxFT3Onui70fzU801VGxwPmgMWFigHRFWblaMBCB5iQJr9DsIKLgYR7HNpT/Pzmxph2iYBeS3bWhSobWEnfjIG5mei0bIKRXxtsffqKRc3GVfvhvewFv4pYLGTpaAVA5B5gjpNlv0DjfCzz1SHm8Z8i4ZynPv02NA6qASsuvcC2j4XFobF1RXMsVjExVWnZSi7RvwFyzdLS/oMByPS85lzqyOv1BX+lyL56Ir586x5CcemE5p0KxLy762A0CAwEAAaNmMGQwHQYDVR0OBBYEFPX8720NI8obSJZdXzJyl8Cr0y9ZMB8GA1UdIwQYMBaAFPX8720NI8obSJZdXzJyl8Cr0y9ZMBIGA1UdEwEB/wQIMAYBAf8CAQIwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBDQUAA4ICAQBsvc8vzBTavudnrxt4lCMflvjs0krwzf77T08qaQLFfGBtpPt98WNJU5jOvObgxr5abpE7wtInZ6z08UsfU9l1g+nVoAlWa5AYheBp4UmM3AecRaDjJT6H/WK8ckVsyfLopDtVR4dmRdCghoIKDTzSPK4n3Fqs6VtxcTOcYbG9e8XoQD/mGH/ruR89AV7fdKaSobrfRSHwBK3kFg8Yn8PdgWFIDXeQj9gE+Ym2YQD2r7jcWpo8Umns03GrJrkiMH5VdAGJ7WqLF3EFF30RvlSQxCiaOByf+J0NW4gwKZ8+vK/AKhO2rviiHJDiafLbqmI3XSTGplfDGyz2nveW/0gZA4t2vFJHCX3TIEPwuLamZLgDMqTktv0fvu4sXrPJORawO8KDAvicSB0h6bU6+p9/djcrj3CA6bQiDA5VB3qEpGFCRLf/Ds9yOq1H0b/pQ6vKb1OCL+cUKGs8QU8jt0rsdF/fUwwVMA3JUeh7tGcnqoh9u4TjFX1835sVSN2oynuOJJ10kRmvKy5rpZKvaq0NlQzIulFHrTfpKdCO9cQUFYk0D1WS8IRWypT2m/V/qo3kU3hkDJuL2eyF0nSLuQ7/3JnhNXL1Yuj+gs2eIYSMFfi3kerWmet/aEzkTlgVoARwSZATP1t+a6DRZjTTDoqXixSZTr+PfpstDvtB8zgwWA==\"}]}, \"timestampVerificationData\":{\"rfc3161Timestamps\":[{\"signedTimestamp\":\"MIICyTADAgEAMIICwAYJKoZIhvcNAQcCoIICsTCCAq0CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgHkT8SOrb3rl7nxb2MC2q7Xewd8ROf/ZYRZZ1YVKjSlUCFQC5YKMQd9fcaMrQVrvHSnKmlBUGQBgPMjAyNjAzMTkxMzU5NTJaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHaMIIB1gIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MDMxOTEzNTk1MlowLwYJKoZIhvcNAQkEMSIEID4U9/XBHkCZAqbpn4MafkmhQDyPYXE8RMfYj+DhR7YSMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRmMGQCMAiJSZEEp1ZfkmpXJ6KmXHGOwJAyMVgoQaIt5lvpxsLLezQwRg+cHuE2/rbWvWruQwIwW7DKA4kb5ODZE3eiD7xu4lhjvVgWmHeNGkQb7uhcGexxniO1eFNYSVmyMYZ849tA\"}]}}, \"messageSignature\":{\"messageDigest\":{\"algorithm\":\"SHA2_384\", \"digest\":\"CqATAF/NwXPbZlFq9iS9HDd7ho4eGwKHSDLT/s6odFNXC5NX/NmUkTId90tVJltT\"}, \"signature\":\"MGYCMQDC6Y9o33GT+Fd0D4XeD0TRPgg+jorowm1KuPmoxnhFhi+vxUiKxAzomPU4lxaAraICMQDr7hM0aiwPS/I6czMv1uuPLyjOb6nHGQo142LtD/xnz455545BtKU3bm5Yl6sd9b0=\"}}\n"
  },
  {
    "path": "sepolia/signatures/2026-03-06-transfer-system-config-ownership/base-sc-facilitator-signature.json",
    "content": "{\"mediaType\":\"application/vnd.dev.sigstore.bundle+json;version=0.2\",\"verificationMaterial\":{\"x509CertificateChain\":{\"certificates\":[{\"rawBytes\":\"MIIEJjCCAg6gAwIBAgIULMGIJJ5BZYKBClPpGmiOCVMlGKEwDQYJKoZIhvcNAQENBQAwfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMREwDwYDVQQKEwhDb2luYmFzZTERMA8GA1UECxMIU2VjdXJpdHkxIjAgBgNVBAMTGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwHhcNMjYwMzE5MTUxMTQ5WhcNMjYwMzIwMTUxMTQ5WjBZMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xETAPBgNVBAoTCENvaW5iYXNlMRIwEAYDVQQLEwljb3Jwb3JhdGUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATKPFM4S5zQvLmplgONC8g3mgbk8dmqg8r5CWhioYvYv4rG+Hi8nXcTRkgWnA+KS1Ukj7anV7sXu2Rx+2S089xggSOLgiOzediOdRHLAo/6bCLUVlIdLpvWyOWtxShUwsCjcTBvMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBRSzRFwzEGi/fn9OnaHPNUjyCxBwDAnBgNVHREEIDAehhxsZGFwOi8vL2Jhc2Utc2MtZmFjaWxpdGF0b3JzMA0GCSqGSIb3DQEBDQUAA4ICAQC6eqhwzIQqbrTyC+MHKhmelpFJTS9uqg0LqwNwzjRiZ1HRzUWSQjqWDSZc9MM/I6EgscvDv91bLEdvLH5I8NFECg9tNURj4qgRaOyIPQLhRHQpwlD8x/bwkMkiKHz4MNsGUBbrgPvMWakYrWYDk5xGFGDJ7oHnGvsaJRRkYXiMwOaj3l8ovUPvCqFTg6V6GPC1ECbFGxytLORExgwkudLOB4FBqmpFXFYS30PvwgijeQfoLrmGBTvpUR6BD+6sLCgw5Wiur6iq04oshnaLcNbeH2Jupj4JkttIDJWII5YByKY/Hn2aJBSFJHR95XMFMetO+xUhE2VHJahamEG52Z1Lkj3XcqtzD3v1MVcwaiMNZUSPL9Qa/t/u8gsOv6oL1b6m495Ix9CbJnDudEvbv+YutpddAYh5n4Ed1PPSy/yK2QenyawhCNNt4AwZ7QgDzFufRtS/yHm58/UgdRRrHejgcD1QENSr/R2aGiQGPCbNJLJ7oOvvQeAFpOaOLHHlfpn+Wrt0+Wbry4CEkqC5WMgd/LT51+C8T3C7R4bw2fieJWMDr0lHXhLpHdZI6HhTzSDHMVkbYP/6RLGnApN1FnKXZVDQ4zETxgGuEmDoC+oJaeUKYOBlb6C6MluszimZD2VcN2JIG/6oG70tb6LIwEwB3JZy6ArgzIS7FtBxqenGeg==\"},{\"rawBytes\":\"MIIGLzCCBBegAwIBAgIQO+msbE+PywvrJE10RDOsnTANBgkqhkiG9w0BAQ0FADB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExIzAhBgNVBAMMGmNiLmNvcnBvcmF0ZS11c2UxLmNiaHEubmV0MB4XDTI2MDMxOTEyNTUzMVoXDTI2MDYyNzEzNTUzMVowfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMREwDwYDVQQKEwhDb2luYmFzZTERMA8GA1UECxMIU2VjdXJpdHkxIjAgBgNVBAMTGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9QQuMCa1rOJaw7lmbXoueKWsoFwHrBit7CKGy9/Q8j2lUncDC9Xivod/S0BGgt/5r0/+DmVOkpMpM1GYPwFfI2fmcRxogGXWnPfr/MPGWAolLWKYVcY1t9+Wt/HYwx7E5LMxg35M2WNZ0mNqhu+dfVxRY03maPNfrBCKa3oUCMsuEkfJRCgb9hzQ8WjTrqNwSlGPFEgzLLUHg0IHmG/v1cWbTeemWNeRo4J4o2CQPVNo1wbZZVOkn0Jq5ZtZgjmE6dbHKVMbsC4nzfSZGcUMs20ZjLGWfP7qM3M/YHqaEQpucVvUGNwbkoVw7ix4BNaVBMMIvH0yeCHwy8O90G5QJssWW1YI+RKBlVK+RCNH7qjvU3xXOL0SL+blMtg/ie7AJYp0QhsZlWOadLf6gwRboZehwov1xmgqWMHVnGAwFDolxeNCxVvJ3u27dQXNUCepN6X12M/yLAL9svy1Rm4ExNFHBhQQH4PSJDucBS/hZEAg3gsfLAUpZmW8K1qsarNpZpkGrh6vseQpoAOqKmr9NiziCrcAkgJdNzqqS02v2E223Zsrb+CI9FpRF1DO8DGnQIskBbxxVViQ+6o+x4ssuiyuRCgx3U1DhuRfhHk/PCuTZRU0UkhMIQUXD1IzswvXi2J3k82mvA3ng5letdAiuIQ3RWuM88NHyYs0FghzemQIDAQABo4GqMIGnMEEGA1UdEQQ6MDiCGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXSGGy8vY29ycG9yYXRlLmRldmljZS5jYmhxLm5ldDASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFExbVXNPLXz4r9YiQ79CbLMXuP9rMB0GA1UdDgQWBBRSzRFwzEGi/fn9OnaHPNUjyCxBwDAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQENBQADggIBAIATeuPQVUrnx3Y+uHwIQ6wPiZBpumXx3syaO+WVJqvk9Qejge5UifHQlg9ZtSlm1kBOa/gu+NRfHMGO4MWhtf0T+v4bkfHyRUUwK30qGYuzhGNPI92YaSML/qZZAUu0FZ36P+tkIA2CT0788B1ZtacZ6eAPhLIoTWVxsBVmyjjip/IRVa5ixjLzYxH0Zedqz6DijjSrbv6L6enGq0dQqLbNzVeo3blDsGxPuTAc4TPQwxRDfMgbbUH8jlwrK757aKMhIVAc6WwUJFVKLdhUYMhY9nxMqW1+fbcM2IDjbfm76rwSZDrIACMurQ5/mfowc4JRZ9Bn6+32Uk3h28mVWxW/qPbdXMdzXw9UR+Zszfg9w8mPtj4RZemFqm/wRVnHGIDXT/1bRXgmw0f8iXvzhnlxgox2bBzpuIClpXQQVdPF6Yu/eIFLiJwyo3pJFQjcWjtorkcBtrb1ixhU5UPBr1PSqcMO+mh6I53JCVmEdHI9UbUHHVToOMYrmZPrmhPdM2kcxYTw4j0qpFtpDTFKO0Gtkl80BtT/auKhFs6MH3800j/xNfNOw3zQq9Egn/U2wSVNsjzlMF7DV7g/ki6RlUKzI/RGOWG/haCJSaJVwyNcHoun+QG40lnYprj78uH903/09lCz+q8iqGuLH2Pk6pREr3RDLbM7lPhjMuYfBQ6E\"},{\"rawBytes\":\"MIIGMTCCBBmgAwIBAgIUNtuh8wFw/jnlkGdEz7zTllqXWlEwDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wHhcNMjIwODIzMTUxNjQ2WhcNMzIwODIwMTUxNjQ2WjB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExIzAhBgNVBAMMGmNiLmNvcnBvcmF0ZS11c2UxLmNiaHEubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqJvth9m6qWnJ0TDdmxr8b2vKPCmFLDbMdQSbZy73rsgu4kTXd4oHig+h6IzPFS5N3m2UrFOZY2fmUZ4IEjE5c7zVPbrhmDw/cKyW68/z0awxFo98zO83mehE6wCijoNG51SzJipWnp5qZhTIQyJ7Htb4ETJEtnguOpqKq9PyzpZqxukky5AHS4TlHr+ERvQGG00HDadVV19d6NGMKjovH5Gz80dR5W5nmE32ha/0rWDzZJ2fo4eWbg3hcs5Ndxt3y/tj4BiwUgGD9Cmi6m8ufnjn+2oRzFCvZHSCIbSBH7Ci5r5H1m0H2X0rLTvipBLhNiRivjX7svWfO/QbzqC47EIR+VFb6+L6HLef8vns0CVSQyH6ONlHlIffQPHGYkgfKcS5Q6QXr4Nr9Czzbsj+n4Ax2/PUu2jiaVoQ9HyVbuWyLB0mPfhWf/FuDlyNMLNuwvoIP5rkGOq2xuQF9Bjo1YX3Y1Y9Gnf0D4pNb1JaGMTN21r4XAEMG9cpZFNGFQk7JHWZAgs7LNORY+eDOu0lzFif2DDPgPPuRvsez0lkMIm6dGo5khHWEMKyDPjYsj5oVy0n8T4lJZWppK8FAdYc3IfyWi9XrZM7IC8GzKIMo+farRB4kFEMJ9otfDDoFaZ8cWZEkGBeMxx1cI89FIf6fegAx9qEs8gKe4gfeowHi8ECAwEAAaOBkDCBjTAdBgNVHQ4EFgQUTFtVc08tfPiv1iJDv0Jssxe4/2swHwYDVR0jBBgwFoAU9fzvbQ0jyhtIll1fMnKXwKvTL1kwEgYDVR0TAQH/BAgwBgEB/wIBATAOBgNVHQ8BAf8EBAMCAYYwJwYDVR0lBCAwHgYIKwYBBQUHAwMGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQ0FAAOCAgEAVDZIKmyi2ep1+Tr37y6UriPy6JD3BIRSDOWM5m0dNvxw7BfNcewm8s35ejmXTCx90amZTLVGCYATcJZnM83aCzV+WoZYEiO+zQiZcxOrCMYNl4wVjVcxukkx1GE0/QLvgadifB18gyAahyYX4vMU3cfoPTWWL+OnMuhx/aei7KlwGY14dv/JBnZIdlQAvo8xH+XWkf1hB4y9kZhn9vzRcyb0AhHcKZFQEJcHP2QyU1JaI1jkeuN/ZzFl01o3QC82hDBRdb8c4OS0W2ObjKj3KyKAsbaiqKFJztmOzFYCIzRFWKvM3WwIphyUerjoTDdqTfSSGaF7bXB+VamJDYx1Ls+/+YZlH5AsowtYIApLucyJPflgwDh0ab0ycNSXPBSOncP4OlcQEC5QU1FTI7l2Mp0/0F/fYZpVO0LoMZx5mIknER0Htm0b0U0qf4/vlUK/9wvu4vT0Vz7VX9c5xfuUWOC6nnmncCQC6C3dlO7Xc9KqYzKVQWqjvo3HIHauhsD50aiVrvqmYjJV7vr3sVhaTFkiY+pESwSfhkzF1GmVkJ7arkKTqwxXABfcAtu3x+mbrAUal2PrY24rIk6oz1ljFNACw3X6nay221c8fGvy/Bg9UCuy1QWxrYyO01Qmra562r6JNPYx+4pgS/dWBQkAJvzhSrP9DJISJWWri9xS8jY=\"},{\"rawBytes\":\"MIIGHjCCBAagAwIBAgIUOe6oERfHQQKHTQSpiAvABT6OjW0wDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wIBcNMjIwODIzMTUxNjA1WhgPMjA1MjA4MTUxNTE2MDVaMIGTMQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExFTATBgNVBAMMDENCLVJPT1QtQ09SRTEhMB8GCSqGSIb3DQEJARYSaW5mcmFAY29pbmJhc2UuY29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsVDJrM5nGmY4ygEKnoYmU/AjgYZrnkG7Fwo8FVblMA3WQRgTy9qZXtl2d5WWs/rdmh6AvvqtmirtqkTiI/RxzIMTRawMmeHrRBDbLqxNPBHK5liurkTqSyntMeY1Tba6xu+FxFolbL2EKeAKrbr7/0pVDvE7485mVhb8SaJubRFPkaX3DVDfjG7Jii5Jtz1qvV0SpV3+DwoE8BLaJp9ZcqnKpOdcPAaFLjXQAtEZnRNoAG0O/F0FgTWZd+G8X5rw4Ssc0bd7BvchIfErMtgewBhbCIYlFYv1ygH0HJ3qp1KmLWXEuypCUP2gQaSzJNzBq+afNQafS4WQSaovGtQtpHJbZglJjikPvTZEGSVpdcu8kUeqFbCB3sagjR723q6/gEakl3XiBfi2JHoCxRdA8X6hba2ixRNpC5zpk11G9Jqqp6p2MxFT3Onui70fzU801VGxwPmgMWFigHRFWblaMBCB5iQJr9DsIKLgYR7HNpT/Pzmxph2iYBeS3bWhSobWEnfjIG5mei0bIKRXxtsffqKRc3GVfvhvewFv4pYLGTpaAVA5B5gjpNlv0DjfCzz1SHm8Z8i4ZynPv02NA6qASsuvcC2j4XFobF1RXMsVjExVWnZSi7RvwFyzdLS/oMByPS85lzqyOv1BX+lyL56Ir586x5CcemE5p0KxLy762A0CAwEAAaNmMGQwHQYDVR0OBBYEFPX8720NI8obSJZdXzJyl8Cr0y9ZMB8GA1UdIwQYMBaAFPX8720NI8obSJZdXzJyl8Cr0y9ZMBIGA1UdEwEB/wQIMAYBAf8CAQIwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBDQUAA4ICAQBsvc8vzBTavudnrxt4lCMflvjs0krwzf77T08qaQLFfGBtpPt98WNJU5jOvObgxr5abpE7wtInZ6z08UsfU9l1g+nVoAlWa5AYheBp4UmM3AecRaDjJT6H/WK8ckVsyfLopDtVR4dmRdCghoIKDTzSPK4n3Fqs6VtxcTOcYbG9e8XoQD/mGH/ruR89AV7fdKaSobrfRSHwBK3kFg8Yn8PdgWFIDXeQj9gE+Ym2YQD2r7jcWpo8Umns03GrJrkiMH5VdAGJ7WqLF3EFF30RvlSQxCiaOByf+J0NW4gwKZ8+vK/AKhO2rviiHJDiafLbqmI3XSTGplfDGyz2nveW/0gZA4t2vFJHCX3TIEPwuLamZLgDMqTktv0fvu4sXrPJORawO8KDAvicSB0h6bU6+p9/djcrj3CA6bQiDA5VB3qEpGFCRLf/Ds9yOq1H0b/pQ6vKb1OCL+cUKGs8QU8jt0rsdF/fUwwVMA3JUeh7tGcnqoh9u4TjFX1835sVSN2oynuOJJ10kRmvKy5rpZKvaq0NlQzIulFHrTfpKdCO9cQUFYk0D1WS8IRWypT2m/V/qo3kU3hkDJuL2eyF0nSLuQ7/3JnhNXL1Yuj+gs2eIYSMFfi3kerWmet/aEzkTlgVoARwSZATP1t+a6DRZjTTDoqXixSZTr+PfpstDvtB8zgwWA==\"}]},\"timestampVerificationData\":{\"rfc3161Timestamps\":[{\"signedTimestamp\":\"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQg30vu9MPkkUJNzW94Ei74sBMtCeOpM6B7G1zDDVF9+84CFAl/S7FI+cUnNoZjSw5y9NiTruN2GA8yMDI2MDMxOTE1MTE1MFowAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdwwggHYAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYwMzE5MTUxMTUwWjAvBgkqhkiG9w0BCQQxIgQgN9Ue9SNZaSAZVzXl3kNjB55ufXTjNOFIoMAQ8UF9my0wgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGgwZgIxALTawJZuw7e++hRj5CfGTMiKyFaLKJq9BjjltyYEzBMJ+oYTGoLXDj5tus5+Zu0aLwIxAP6ZqRdRbY5IOFnCOA4vXcE7LxMioVQE+jTnjL1kGJk554n5Gwvs/l+457zqqRG1Hg==\"}]}},\"messageSignature\":{\"messageDigest\":{\"algorithm\":\"SHA2_384\",\"digest\":\"CqATAF/NwXPbZlFq9iS9HDd7ho4eGwKHSDLT/s6odFNXC5NX/NmUkTId90tVJltT\"},\"signature\":\"MGUCMQClBCCDQ/Z+bur711ovkTn2ERL3J7acC9tGnPkcgv7uaNhQ2qfcyK/66UFPJB5myQUCMEnIK28n30RKK2xoWmg0dsE3Xldz0/AkkabkIOJmZ4+nIRRsRXtswbzyGbVW4oad+w==\"}}\n"
  },
  {
    "path": "sepolia/signatures/2026-03-06-transfer-system-config-ownership/creator-signature.json",
    "content": "{\"mediaType\":\"application/vnd.dev.sigstore.bundle+json;version=0.2\", \"verificationMaterial\":{\"x509CertificateChain\":{\"certificates\":[{\"rawBytes\":\"MIIEMTCCAhmgAwIBAgIUAmyRM2EQw3LdTvlPuTczv0j8snAwDQYJKoZIhvcNAQENBQAwfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMREwDwYDVQQKEwhDb2luYmFzZTERMA8GA1UECxMIU2VjdXJpdHkxIjAgBgNVBAMTGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwHhcNMjYwMzE5MTQwMTE4WhcNMjYwMzIwMTQwMTE4WjBZMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xETAPBgNVBAoTCENvaW5iYXNlMRIwEAYDVQQLEwljb3Jwb3JhdGUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATaTaoRlfcNLMTlWPRPw7p+jAC7sEBpzSgDTL025IwOMHrbJupb/84lw5qS9GyFuwXVhaMfbSsFY8wI8ZI6Z7TgtDQt5Q52z7//kHpMXrFSPwJYyzFMlKgF8sjJwfzzbnejfDB6MA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBRSzRFwzEGi/fn9OnaHPNUjyCxBwDAyBgNVHREEKzAphid1c2VyOi8vL2JhcHRpc3RlLm91ZXJpYWdsaUBjb2luYmFzZS5jb20wDQYJKoZIhvcNAQENBQADggIBADwomOgdSTWro7xwCGW/HWKYgsrY7v3IIJ7lvep3g/UC++y5l+ofFPfBVKnRdM7LfgIRSedz+Y+F0VoSGx/Y9M39jNiCQox+wCqW0f1BP4Q7ofAHJzK5Qrt5J6NwG3souZ4Q2GoZTtpdLTkCwp+Oeq0uogsAYmuU1ovamEo3iuM0uLa8SlKwRMJAtSU9ssJQygOKQeDn1M7Ef7iOa+Htrw7jFdbwX9QoYMaKHd1L0/C90j8UoQ58bDZw1cK5hNBG0l9+Ge2Fs7ViDheCUeJalhqtqfzRAt0p8PxzltLON2yJHI+h4t41hBP3tp9Vu1+9/1QWxjvJYq59xl/eh2Ufn7Ftllk2DJCAbMuxkxh7rYWPmSnG8zArFBOsJF7Ptr64eVWqzpM9KTtuS6O3/9HHKbBjJ3y2SZejKiY7AGCUZD22er5exNRidtHopK9pygb06zmxF9eLtbNnZ4IDIgBxepg2ky6TbYh3uSoZGLNLOobHIFi0tsluPOPfMeTsB0+k9vvCEjn8Op38h7krSghlsN4x5MQCb2NVlQ8F8wV5juMrrsohj1XniXhKPqAf+eIBThH5ARzYI2yi+RExaI6W0joVoZovjLECGnxKY5GqhJJe1U8krII5OcFpHlPw+FAr8sNZLTyLzo3AEgp57eyZIl5jjl1Z7fYSImynHd9J8MFF\"}, {\"rawBytes\":\"MIIGLzCCBBegAwIBAgIQO+msbE+PywvrJE10RDOsnTANBgkqhkiG9w0BAQ0FADB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExIzAhBgNVBAMMGmNiLmNvcnBvcmF0ZS11c2UxLmNiaHEubmV0MB4XDTI2MDMxOTEyNTUzMVoXDTI2MDYyNzEzNTUzMVowfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMREwDwYDVQQKEwhDb2luYmFzZTERMA8GA1UECxMIU2VjdXJpdHkxIjAgBgNVBAMTGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9QQuMCa1rOJaw7lmbXoueKWsoFwHrBit7CKGy9/Q8j2lUncDC9Xivod/S0BGgt/5r0/+DmVOkpMpM1GYPwFfI2fmcRxogGXWnPfr/MPGWAolLWKYVcY1t9+Wt/HYwx7E5LMxg35M2WNZ0mNqhu+dfVxRY03maPNfrBCKa3oUCMsuEkfJRCgb9hzQ8WjTrqNwSlGPFEgzLLUHg0IHmG/v1cWbTeemWNeRo4J4o2CQPVNo1wbZZVOkn0Jq5ZtZgjmE6dbHKVMbsC4nzfSZGcUMs20ZjLGWfP7qM3M/YHqaEQpucVvUGNwbkoVw7ix4BNaVBMMIvH0yeCHwy8O90G5QJssWW1YI+RKBlVK+RCNH7qjvU3xXOL0SL+blMtg/ie7AJYp0QhsZlWOadLf6gwRboZehwov1xmgqWMHVnGAwFDolxeNCxVvJ3u27dQXNUCepN6X12M/yLAL9svy1Rm4ExNFHBhQQH4PSJDucBS/hZEAg3gsfLAUpZmW8K1qsarNpZpkGrh6vseQpoAOqKmr9NiziCrcAkgJdNzqqS02v2E223Zsrb+CI9FpRF1DO8DGnQIskBbxxVViQ+6o+x4ssuiyuRCgx3U1DhuRfhHk/PCuTZRU0UkhMIQUXD1IzswvXi2J3k82mvA3ng5letdAiuIQ3RWuM88NHyYs0FghzemQIDAQABo4GqMIGnMEEGA1UdEQQ6MDiCGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXSGGy8vY29ycG9yYXRlLmRldmljZS5jYmhxLm5ldDASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFExbVXNPLXz4r9YiQ79CbLMXuP9rMB0GA1UdDgQWBBRSzRFwzEGi/fn9OnaHPNUjyCxBwDAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQENBQADggIBAIATeuPQVUrnx3Y+uHwIQ6wPiZBpumXx3syaO+WVJqvk9Qejge5UifHQlg9ZtSlm1kBOa/gu+NRfHMGO4MWhtf0T+v4bkfHyRUUwK30qGYuzhGNPI92YaSML/qZZAUu0FZ36P+tkIA2CT0788B1ZtacZ6eAPhLIoTWVxsBVmyjjip/IRVa5ixjLzYxH0Zedqz6DijjSrbv6L6enGq0dQqLbNzVeo3blDsGxPuTAc4TPQwxRDfMgbbUH8jlwrK757aKMhIVAc6WwUJFVKLdhUYMhY9nxMqW1+fbcM2IDjbfm76rwSZDrIACMurQ5/mfowc4JRZ9Bn6+32Uk3h28mVWxW/qPbdXMdzXw9UR+Zszfg9w8mPtj4RZemFqm/wRVnHGIDXT/1bRXgmw0f8iXvzhnlxgox2bBzpuIClpXQQVdPF6Yu/eIFLiJwyo3pJFQjcWjtorkcBtrb1ixhU5UPBr1PSqcMO+mh6I53JCVmEdHI9UbUHHVToOMYrmZPrmhPdM2kcxYTw4j0qpFtpDTFKO0Gtkl80BtT/auKhFs6MH3800j/xNfNOw3zQq9Egn/U2wSVNsjzlMF7DV7g/ki6RlUKzI/RGOWG/haCJSaJVwyNcHoun+QG40lnYprj78uH903/09lCz+q8iqGuLH2Pk6pREr3RDLbM7lPhjMuYfBQ6E\"}, {\"rawBytes\":\"MIIGMTCCBBmgAwIBAgIUNtuh8wFw/jnlkGdEz7zTllqXWlEwDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wHhcNMjIwODIzMTUxNjQ2WhcNMzIwODIwMTUxNjQ2WjB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExIzAhBgNVBAMMGmNiLmNvcnBvcmF0ZS11c2UxLmNiaHEubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqJvth9m6qWnJ0TDdmxr8b2vKPCmFLDbMdQSbZy73rsgu4kTXd4oHig+h6IzPFS5N3m2UrFOZY2fmUZ4IEjE5c7zVPbrhmDw/cKyW68/z0awxFo98zO83mehE6wCijoNG51SzJipWnp5qZhTIQyJ7Htb4ETJEtnguOpqKq9PyzpZqxukky5AHS4TlHr+ERvQGG00HDadVV19d6NGMKjovH5Gz80dR5W5nmE32ha/0rWDzZJ2fo4eWbg3hcs5Ndxt3y/tj4BiwUgGD9Cmi6m8ufnjn+2oRzFCvZHSCIbSBH7Ci5r5H1m0H2X0rLTvipBLhNiRivjX7svWfO/QbzqC47EIR+VFb6+L6HLef8vns0CVSQyH6ONlHlIffQPHGYkgfKcS5Q6QXr4Nr9Czzbsj+n4Ax2/PUu2jiaVoQ9HyVbuWyLB0mPfhWf/FuDlyNMLNuwvoIP5rkGOq2xuQF9Bjo1YX3Y1Y9Gnf0D4pNb1JaGMTN21r4XAEMG9cpZFNGFQk7JHWZAgs7LNORY+eDOu0lzFif2DDPgPPuRvsez0lkMIm6dGo5khHWEMKyDPjYsj5oVy0n8T4lJZWppK8FAdYc3IfyWi9XrZM7IC8GzKIMo+farRB4kFEMJ9otfDDoFaZ8cWZEkGBeMxx1cI89FIf6fegAx9qEs8gKe4gfeowHi8ECAwEAAaOBkDCBjTAdBgNVHQ4EFgQUTFtVc08tfPiv1iJDv0Jssxe4/2swHwYDVR0jBBgwFoAU9fzvbQ0jyhtIll1fMnKXwKvTL1kwEgYDVR0TAQH/BAgwBgEB/wIBATAOBgNVHQ8BAf8EBAMCAYYwJwYDVR0lBCAwHgYIKwYBBQUHAwMGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQ0FAAOCAgEAVDZIKmyi2ep1+Tr37y6UriPy6JD3BIRSDOWM5m0dNvxw7BfNcewm8s35ejmXTCx90amZTLVGCYATcJZnM83aCzV+WoZYEiO+zQiZcxOrCMYNl4wVjVcxukkx1GE0/QLvgadifB18gyAahyYX4vMU3cfoPTWWL+OnMuhx/aei7KlwGY14dv/JBnZIdlQAvo8xH+XWkf1hB4y9kZhn9vzRcyb0AhHcKZFQEJcHP2QyU1JaI1jkeuN/ZzFl01o3QC82hDBRdb8c4OS0W2ObjKj3KyKAsbaiqKFJztmOzFYCIzRFWKvM3WwIphyUerjoTDdqTfSSGaF7bXB+VamJDYx1Ls+/+YZlH5AsowtYIApLucyJPflgwDh0ab0ycNSXPBSOncP4OlcQEC5QU1FTI7l2Mp0/0F/fYZpVO0LoMZx5mIknER0Htm0b0U0qf4/vlUK/9wvu4vT0Vz7VX9c5xfuUWOC6nnmncCQC6C3dlO7Xc9KqYzKVQWqjvo3HIHauhsD50aiVrvqmYjJV7vr3sVhaTFkiY+pESwSfhkzF1GmVkJ7arkKTqwxXABfcAtu3x+mbrAUal2PrY24rIk6oz1ljFNACw3X6nay221c8fGvy/Bg9UCuy1QWxrYyO01Qmra562r6JNPYx+4pgS/dWBQkAJvzhSrP9DJISJWWri9xS8jY=\"}, {\"rawBytes\":\"MIIGHjCCBAagAwIBAgIUOe6oERfHQQKHTQSpiAvABT6OjW0wDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wIBcNMjIwODIzMTUxNjA1WhgPMjA1MjA4MTUxNTE2MDVaMIGTMQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExFTATBgNVBAMMDENCLVJPT1QtQ09SRTEhMB8GCSqGSIb3DQEJARYSaW5mcmFAY29pbmJhc2UuY29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsVDJrM5nGmY4ygEKnoYmU/AjgYZrnkG7Fwo8FVblMA3WQRgTy9qZXtl2d5WWs/rdmh6AvvqtmirtqkTiI/RxzIMTRawMmeHrRBDbLqxNPBHK5liurkTqSyntMeY1Tba6xu+FxFolbL2EKeAKrbr7/0pVDvE7485mVhb8SaJubRFPkaX3DVDfjG7Jii5Jtz1qvV0SpV3+DwoE8BLaJp9ZcqnKpOdcPAaFLjXQAtEZnRNoAG0O/F0FgTWZd+G8X5rw4Ssc0bd7BvchIfErMtgewBhbCIYlFYv1ygH0HJ3qp1KmLWXEuypCUP2gQaSzJNzBq+afNQafS4WQSaovGtQtpHJbZglJjikPvTZEGSVpdcu8kUeqFbCB3sagjR723q6/gEakl3XiBfi2JHoCxRdA8X6hba2ixRNpC5zpk11G9Jqqp6p2MxFT3Onui70fzU801VGxwPmgMWFigHRFWblaMBCB5iQJr9DsIKLgYR7HNpT/Pzmxph2iYBeS3bWhSobWEnfjIG5mei0bIKRXxtsffqKRc3GVfvhvewFv4pYLGTpaAVA5B5gjpNlv0DjfCzz1SHm8Z8i4ZynPv02NA6qASsuvcC2j4XFobF1RXMsVjExVWnZSi7RvwFyzdLS/oMByPS85lzqyOv1BX+lyL56Ir586x5CcemE5p0KxLy762A0CAwEAAaNmMGQwHQYDVR0OBBYEFPX8720NI8obSJZdXzJyl8Cr0y9ZMB8GA1UdIwQYMBaAFPX8720NI8obSJZdXzJyl8Cr0y9ZMBIGA1UdEwEB/wQIMAYBAf8CAQIwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBDQUAA4ICAQBsvc8vzBTavudnrxt4lCMflvjs0krwzf77T08qaQLFfGBtpPt98WNJU5jOvObgxr5abpE7wtInZ6z08UsfU9l1g+nVoAlWa5AYheBp4UmM3AecRaDjJT6H/WK8ckVsyfLopDtVR4dmRdCghoIKDTzSPK4n3Fqs6VtxcTOcYbG9e8XoQD/mGH/ruR89AV7fdKaSobrfRSHwBK3kFg8Yn8PdgWFIDXeQj9gE+Ym2YQD2r7jcWpo8Umns03GrJrkiMH5VdAGJ7WqLF3EFF30RvlSQxCiaOByf+J0NW4gwKZ8+vK/AKhO2rviiHJDiafLbqmI3XSTGplfDGyz2nveW/0gZA4t2vFJHCX3TIEPwuLamZLgDMqTktv0fvu4sXrPJORawO8KDAvicSB0h6bU6+p9/djcrj3CA6bQiDA5VB3qEpGFCRLf/Ds9yOq1H0b/pQ6vKb1OCL+cUKGs8QU8jt0rsdF/fUwwVMA3JUeh7tGcnqoh9u4TjFX1835sVSN2oynuOJJ10kRmvKy5rpZKvaq0NlQzIulFHrTfpKdCO9cQUFYk0D1WS8IRWypT2m/V/qo3kU3hkDJuL2eyF0nSLuQ7/3JnhNXL1Yuj+gs2eIYSMFfi3kerWmet/aEzkTlgVoARwSZATP1t+a6DRZjTTDoqXixSZTr+PfpstDvtB8zgwWA==\"}]}, \"timestampVerificationData\":{\"rfc3161Timestamps\":[{\"signedTimestamp\":\"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgQLH2uAk4n7uLBaMRqE0zW6YhMBKRSHteim1s9kzEC2ACFFiIEn1OY9M46W73VwTIsS2fR6w/GA8yMDI2MDMxOTE0MDExOVowAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdwwggHYAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYwMzE5MTQwMTE5WjAvBgkqhkiG9w0BCQQxIgQgg8YcFgXqI3cYnlIQHjVx9y3OMFhqEP64KEuREp+xTCswgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGgwZgIxALVxYobH2hsJbqO60mMNLguEq921ihLRNtNwcuI2Tj0/9dKt+TZkYD0xbWcESglMMwIxAPNcSr2rmSP4kT0zqgESwILlYbrOtKE3XyWJNEdhEBjy1hVLCD+6M7amHG+VGQzBrA==\"}]}}, \"messageSignature\":{\"messageDigest\":{\"algorithm\":\"SHA2_384\", \"digest\":\"CqATAF/NwXPbZlFq9iS9HDd7ho4eGwKHSDLT/s6odFNXC5NX/NmUkTId90tVJltT\"}, \"signature\":\"MGQCMBlYfB3BKWRc3FPv+yAiL1uSxgXwbEmBPikXHrRQulp1fiR+MxN4h7TWxHqC8rZ3AwIwVxmRPLpYHT06SDFHHA2X96bDqGyL4OIG+fg5ZEMJYTTg6ce25/htrxqP0O09nLmO\"}}"
  },
  {
    "path": "sepolia/signatures/2026-03-11-patch-fee-disburser/base-facilitator-signature.json",
    "content": "{\"mediaType\":\"application/vnd.dev.sigstore.bundle+json;version=0.2\",\"verificationMaterial\":{\"x509CertificateChain\":{\"certificates\":[{\"rawBytes\":\"MIIEIzCCAgugAwIBAgIUSsjOxqPqZAZHpDYdstdsEfXY6IUwDQYJKoZIhvcNAQENBQAwfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMREwDwYDVQQKEwhDb2luYmFzZTERMA8GA1UECxMIU2VjdXJpdHkxIjAgBgNVBAMTGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwHhcNMjYwMzExMTkyNTE4WhcNMjYwMzEyMTkyNTE4WjBZMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xETAPBgNVBAoTCENvaW5iYXNlMRIwEAYDVQQLEwljb3Jwb3JhdGUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAARE9MQbybyPDHRdMkpyOOlVaBEMCHLdkrdMgNDfL3hzYq2oTKJOg5i5jkk9iyQScDYyjyR/rtdfVOisuawugQN6/i9JKtS5fMKST2yttr+o/jY3WqpoVQ4kG/SZ04TdHCujbjBsMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBTWQCFYz/J7IC7sUWbkfTagPuIWgDAkBgNVHREEHTAbhhlsZGFwOi8vL2Jhc2UtZmFjaWxpdGF0b3JzMA0GCSqGSIb3DQEBDQUAA4ICAQAfXwR2ZIB+x/RkQ6NCkwMPyyk+I5hr16E+mLEEtZbVXzP1XS67E6AOW7dsccav9C85mrj+LznDU4v4d9NU3Svgp4NvXDOVIpchVEvDIjAJOPI6FEhCkpcvnboDb2Iw8zI3AkzXbogfXRUGXdIuDLoz2aGT0YKHQ5IJYGBodD7XavIgqRYHI4gki15+qT9cJFb8pJdIyS4S3UzHIuT0rU4pDRpR/S1BGr3lobxKXYqNsDCmzqFgCnKaOzn5ClYKpuuUhPtRk3uve2QA++BIdiwKdc0Tk13MZzBkUe2RMd8kWd2ZCPQ+0rnLppNWHBChPboPWCmKxYCWIYHc9M8FB6FhUzekS42Uf0RsNzysvw9ZjTGhAzbVXP+QzspE2ugtxrKC+22+zWkqK9U2WMhjxZFSzFOEVuWLkwMg+Wh1hPpyA8m1hBUTtN8JVzeYt/4b1qOWxdsSAGeEV4YGXY0IOmVZZ6mMWXaFbddaXHCh8Qoy0vT/r/viZ+rP4AfjnnGjkVYpDMBwPq8qp9ZMWDyjavV3ihz3S6RB4E2SybXWjFd74sum0Y7Zx/2QsXiUL4cXs6Ktu8PqX8RPOZgngp5548637/6FLvoGB6TVypI8BFe0VOi9XDYZp6lfGYu6zrfNJsx0F59gvtu+UlR9ap4Jsuua/phToCbje3weTAoqSZDofg==\"},{\"rawBytes\":\"MIIGMDCCBBigAwIBAgIRALsFesixmDaTfAXJVf+kfY8wDQYJKoZIhvcNAQENBQAwfjELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMRYwFAYDVQQHDA1TYW4gRnJhbmNpc2NvMRUwEwYDVQQKDAxDb2luYmFzZSBMTEMxDjAMBgNVBAsMBUluZnJhMSMwIQYDVQQDDBpjYi5jb3Jwb3JhdGUtdXNlMS5jYmhxLm5ldDAeFw0yNjAzMTAxMzEzMzBaFw0yNjA2MTgxNDEzMzBaMHwxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzERMA8GA1UEChMIQ29pbmJhc2UxETAPBgNVBAsTCFNlY3VyaXR5MSIwIAYDVQQDExljb3Jwb3JhdGUuZGV2aWNlLmNiaHEubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAn/t2gCKm5yUKbjfWEaUyxl+bsaUWAn3o7iMJgiMLZs6/gqHxx1il0YqzETk/fhcggT7QucYNDtKKskAVAwETPEFdeFv1HFTPdLKL9lXFcT/W7CiXtd49UTn5T+9At+uLhOF3ZBVLRbGTcFbURdUe01V1qcOPe13L0Vph2FqnkSUChwVYTOuFNSGk+LYn90PZL32NsmF4R7OMcVxUllg/M/ZCBWvAzk33NuTAf1ko+sOPT+I4UcffTuHYIEtwb5syZ89y1nx6iD7TeRDu3irivedJVvar9ZX9yCZe7QPspdPq7RDl+4m9FHxKPoInMoFkRWXvqIcrO4TVYJHdSH0rncbFGG8k6+TgjIf7yXG3uiv0dy4Nvnqmkw3NBYhk/yg/1J6XCh+Km1nLkgEJ0aQF5pcv+TJX/KqiKSguY7CYQDTuWUxd8V0+DTN8UIoU0vBrlLb3NOXIusJDZKi4GJDBgj5wWumSqsY5pXm9eR0rqDVjhApmOShf3opfWorF/x19npgJicI4BG5V2/5LGZEWbCbDastf9f62xO+JvXCIS1p6ahVSXznGG8W9M2iWwfl+jQF/mY9GUKQBLpQ8FVjRFZqRprqs2g+sHjDxdS52NRkqDknKUNCkUoC2Xd3uxDomzptiaQr5b4+V3BQrRJg4g0hxsLcpXI6BXWtkORKHoxECAwEAAaOBqjCBpzBBBgNVHREEOjA4ghljb3Jwb3JhdGUuZGV2aWNlLmNiaHEubmV0hhsvL2NvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBRMW1VzTy18+K/WIkO/QmyzF7j/azAdBgNVHQ4EFgQU1kAhWM/yeyAu7FFm5H02oD7iFoAwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBDQUAA4ICAQAiHWqgPTdJq9Xfog0c24sTP8UBfRug7FBiKA96mKR9awIxL6N46+Zu53OTqLnZeB5rnKPbeegiV0WFK9hy3CcBtLKlFRuvkWar5FtPGfBDizGsB2ZifPu01nqm8aq0mRUwNiVvCbXBzWNGGnQGYUrCb1rId8fkoHevLbPj3wT4zH5VPMunZP0ntV+TT8jhKQg3mex5397si4cgJkBRHbG4QIw8r4abEJxajikfvwVQ1hdoiDm4J7Rn0wD+oJBVa0NC01S4fWnq3h18ww1YQr4GOwlGBfa/AH71tMUM7OCQTkjntry9lYztwj0OdkRb38gQ6ElGgU9RIeM0j0QxARj8KNb3Gp8+epjQjzA5FC/w9PIleUDxixFJAhrb6Vs+9KV4ZSmoC/+b5cTaU70oKkklH3LgdfAvWuIDoVQEvAbrAPbiAmdqPQMm7zphez5FMeTwmqWJeJ0XojQ/yiN0yp0WWXGVr/24klFXjhq+z0zfXwgZORoZ+g7mcOqS2LwqotgtZYqT+B+PLUF+XCkV4kMYQclc0pd5NFLFkDaUl+TiYRnlxu32gdW52CmEvdq5qtqqV2Q0QKW2kxqrlWI+L4NMexRm9hUaaf2t+fjZfuODi8TYXlDGPMcZf1jmQe2qWyoCcogWYD/qZLhTqq09zZ/rFIeldcGnkPJ19UJRfolNUg==\"},{\"rawBytes\":\"MIIGMTCCBBmgAwIBAgIUNtuh8wFw/jnlkGdEz7zTllqXWlEwDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wHhcNMjIwODIzMTUxNjQ2WhcNMzIwODIwMTUxNjQ2WjB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExIzAhBgNVBAMMGmNiLmNvcnBvcmF0ZS11c2UxLmNiaHEubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqJvth9m6qWnJ0TDdmxr8b2vKPCmFLDbMdQSbZy73rsgu4kTXd4oHig+h6IzPFS5N3m2UrFOZY2fmUZ4IEjE5c7zVPbrhmDw/cKyW68/z0awxFo98zO83mehE6wCijoNG51SzJipWnp5qZhTIQyJ7Htb4ETJEtnguOpqKq9PyzpZqxukky5AHS4TlHr+ERvQGG00HDadVV19d6NGMKjovH5Gz80dR5W5nmE32ha/0rWDzZJ2fo4eWbg3hcs5Ndxt3y/tj4BiwUgGD9Cmi6m8ufnjn+2oRzFCvZHSCIbSBH7Ci5r5H1m0H2X0rLTvipBLhNiRivjX7svWfO/QbzqC47EIR+VFb6+L6HLef8vns0CVSQyH6ONlHlIffQPHGYkgfKcS5Q6QXr4Nr9Czzbsj+n4Ax2/PUu2jiaVoQ9HyVbuWyLB0mPfhWf/FuDlyNMLNuwvoIP5rkGOq2xuQF9Bjo1YX3Y1Y9Gnf0D4pNb1JaGMTN21r4XAEMG9cpZFNGFQk7JHWZAgs7LNORY+eDOu0lzFif2DDPgPPuRvsez0lkMIm6dGo5khHWEMKyDPjYsj5oVy0n8T4lJZWppK8FAdYc3IfyWi9XrZM7IC8GzKIMo+farRB4kFEMJ9otfDDoFaZ8cWZEkGBeMxx1cI89FIf6fegAx9qEs8gKe4gfeowHi8ECAwEAAaOBkDCBjTAdBgNVHQ4EFgQUTFtVc08tfPiv1iJDv0Jssxe4/2swHwYDVR0jBBgwFoAU9fzvbQ0jyhtIll1fMnKXwKvTL1kwEgYDVR0TAQH/BAgwBgEB/wIBATAOBgNVHQ8BAf8EBAMCAYYwJwYDVR0lBCAwHgYIKwYBBQUHAwMGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQ0FAAOCAgEAVDZIKmyi2ep1+Tr37y6UriPy6JD3BIRSDOWM5m0dNvxw7BfNcewm8s35ejmXTCx90amZTLVGCYATcJZnM83aCzV+WoZYEiO+zQiZcxOrCMYNl4wVjVcxukkx1GE0/QLvgadifB18gyAahyYX4vMU3cfoPTWWL+OnMuhx/aei7KlwGY14dv/JBnZIdlQAvo8xH+XWkf1hB4y9kZhn9vzRcyb0AhHcKZFQEJcHP2QyU1JaI1jkeuN/ZzFl01o3QC82hDBRdb8c4OS0W2ObjKj3KyKAsbaiqKFJztmOzFYCIzRFWKvM3WwIphyUerjoTDdqTfSSGaF7bXB+VamJDYx1Ls+/+YZlH5AsowtYIApLucyJPflgwDh0ab0ycNSXPBSOncP4OlcQEC5QU1FTI7l2Mp0/0F/fYZpVO0LoMZx5mIknER0Htm0b0U0qf4/vlUK/9wvu4vT0Vz7VX9c5xfuUWOC6nnmncCQC6C3dlO7Xc9KqYzKVQWqjvo3HIHauhsD50aiVrvqmYjJV7vr3sVhaTFkiY+pESwSfhkzF1GmVkJ7arkKTqwxXABfcAtu3x+mbrAUal2PrY24rIk6oz1ljFNACw3X6nay221c8fGvy/Bg9UCuy1QWxrYyO01Qmra562r6JNPYx+4pgS/dWBQkAJvzhSrP9DJISJWWri9xS8jY=\"},{\"rawBytes\":\"MIIGHjCCBAagAwIBAgIUOe6oERfHQQKHTQSpiAvABT6OjW0wDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wIBcNMjIwODIzMTUxNjA1WhgPMjA1MjA4MTUxNTE2MDVaMIGTMQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExFTATBgNVBAMMDENCLVJPT1QtQ09SRTEhMB8GCSqGSIb3DQEJARYSaW5mcmFAY29pbmJhc2UuY29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsVDJrM5nGmY4ygEKnoYmU/AjgYZrnkG7Fwo8FVblMA3WQRgTy9qZXtl2d5WWs/rdmh6AvvqtmirtqkTiI/RxzIMTRawMmeHrRBDbLqxNPBHK5liurkTqSyntMeY1Tba6xu+FxFolbL2EKeAKrbr7/0pVDvE7485mVhb8SaJubRFPkaX3DVDfjG7Jii5Jtz1qvV0SpV3+DwoE8BLaJp9ZcqnKpOdcPAaFLjXQAtEZnRNoAG0O/F0FgTWZd+G8X5rw4Ssc0bd7BvchIfErMtgewBhbCIYlFYv1ygH0HJ3qp1KmLWXEuypCUP2gQaSzJNzBq+afNQafS4WQSaovGtQtpHJbZglJjikPvTZEGSVpdcu8kUeqFbCB3sagjR723q6/gEakl3XiBfi2JHoCxRdA8X6hba2ixRNpC5zpk11G9Jqqp6p2MxFT3Onui70fzU801VGxwPmgMWFigHRFWblaMBCB5iQJr9DsIKLgYR7HNpT/Pzmxph2iYBeS3bWhSobWEnfjIG5mei0bIKRXxtsffqKRc3GVfvhvewFv4pYLGTpaAVA5B5gjpNlv0DjfCzz1SHm8Z8i4ZynPv02NA6qASsuvcC2j4XFobF1RXMsVjExVWnZSi7RvwFyzdLS/oMByPS85lzqyOv1BX+lyL56Ir586x5CcemE5p0KxLy762A0CAwEAAaNmMGQwHQYDVR0OBBYEFPX8720NI8obSJZdXzJyl8Cr0y9ZMB8GA1UdIwQYMBaAFPX8720NI8obSJZdXzJyl8Cr0y9ZMBIGA1UdEwEB/wQIMAYBAf8CAQIwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBDQUAA4ICAQBsvc8vzBTavudnrxt4lCMflvjs0krwzf77T08qaQLFfGBtpPt98WNJU5jOvObgxr5abpE7wtInZ6z08UsfU9l1g+nVoAlWa5AYheBp4UmM3AecRaDjJT6H/WK8ckVsyfLopDtVR4dmRdCghoIKDTzSPK4n3Fqs6VtxcTOcYbG9e8XoQD/mGH/ruR89AV7fdKaSobrfRSHwBK3kFg8Yn8PdgWFIDXeQj9gE+Ym2YQD2r7jcWpo8Umns03GrJrkiMH5VdAGJ7WqLF3EFF30RvlSQxCiaOByf+J0NW4gwKZ8+vK/AKhO2rviiHJDiafLbqmI3XSTGplfDGyz2nveW/0gZA4t2vFJHCX3TIEPwuLamZLgDMqTktv0fvu4sXrPJORawO8KDAvicSB0h6bU6+p9/djcrj3CA6bQiDA5VB3qEpGFCRLf/Ds9yOq1H0b/pQ6vKb1OCL+cUKGs8QU8jt0rsdF/fUwwVMA3JUeh7tGcnqoh9u4TjFX1835sVSN2oynuOJJ10kRmvKy5rpZKvaq0NlQzIulFHrTfpKdCO9cQUFYk0D1WS8IRWypT2m/V/qo3kU3hkDJuL2eyF0nSLuQ7/3JnhNXL1Yuj+gs2eIYSMFfi3kerWmet/aEzkTlgVoARwSZATP1t+a6DRZjTTDoqXixSZTr+PfpstDvtB8zgwWA==\"}]},\"timestampVerificationData\":{\"rfc3161Timestamps\":[{\"signedTimestamp\":\"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQggwH+S8chzJ7yX0bLjQsEpdhlMBlx9t6Rf2dg1ecwxFkCFQCYnbtZXKXMghg7wy2AyEXhbm6t+BgPMjAyNjAzMTExOTI1MTlaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHbMIIB1wIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MDMxMTE5MjUxOVowLwYJKoZIhvcNAQkEMSIEIFVMqe4TKWERjBqJLtLECCa3gj0iQAAhy3pbO9J27P4ZMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRnMGUCMCZthPEIlegyoFDOgXmdytiWlxz+/lPusfKo/Fp6jXYqkj4pUn/FLKYjTcg5YJZuFAIxALFv1MVkvKE/wSXK1RpNNT+jFdJ5JJCsY9JsSZExFa++C0xKT4F37r7aSfdVZZ+ewQ==\"}]}},\"messageSignature\":{\"messageDigest\":{\"algorithm\":\"SHA2_384\",\"digest\":\"cpmOMlrtbBimQRoev7Xc3dC/shnL7a7KDnpnO9KEfw8PzaoEqVcgwPXUJ5dxZIdz\"},\"signature\":\"MGUCMQDk+aTShd7/sbZmfYO2TitHVNDVE2sz/CcLS/yCSwIH4O0N2pVJxQ7i2UdSaAF1vgICMDtsoafMVXzG2OGiyxtpQ6V0wntlRntMzlyd0jNIQK0aW5GqfGuxQ6voQmr2GYbxdg==\"}}"
  },
  {
    "path": "sepolia/signatures/2026-03-11-patch-fee-disburser/base-sc-facilitator-signature.json",
    "content": "{\"mediaType\":\"application/vnd.dev.sigstore.bundle+json;version=0.2\", \"verificationMaterial\":{\"x509CertificateChain\":{\"certificates\":[{\"rawBytes\":\"MIIEJjCCAg6gAwIBAgIUaco35cjdoXPzZ0h/7gibX/ZFna4wDQYJKoZIhvcNAQENBQAwfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMREwDwYDVQQKEwhDb2luYmFzZTERMA8GA1UECxMIU2VjdXJpdHkxIjAgBgNVBAMTGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwHhcNMjYwMzExMjM0MzA2WhcNMjYwMzEyMjM0MzA2WjBZMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xETAPBgNVBAoTCENvaW5iYXNlMRIwEAYDVQQLEwljb3Jwb3JhdGUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASlYddX45hiafGG8klnqENJMjGkc/8me630AP1AFx28ofSGxVNr9cl2tKdxYCPc/v2MR4/fhJQh6DTTT90pCZqGIgajExN6vWssY4/RCHi1KMm9GPS6mkYF/PPNocE+oPejcTBvMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBR7l0/K0GP19DJHBzeirv6XbZT2EDAnBgNVHREEIDAehhxsZGFwOi8vL2Jhc2Utc2MtZmFjaWxpdGF0b3JzMA0GCSqGSIb3DQEBDQUAA4ICAQCXwdPhCCk8Mz5ERS2x6P93Xs7hZAuZKSJhYxuyIR4vKXA5b6Ia1qBl2I58O0AAjhsxZVOWChl/KV+wc7ToI/+q1EFOU5PdYnjEzObzuZwqKbOSkvfuGdxTobnD31DDPs5891cFSoj7SYx7A4xDGBLYN99rcZs50O9ps/3ObvHzRjLqEYz6U5zJyoTv16jppheQAwk90PtbXGCDfhW5hFbHpbaa2XTBHDPG/Ha2QeEqy8XsRYejCkEHimdGT+8gfXqxGT0YR/hBeY0jHiezY382q8eKusJbng6HjmWukR2+L6E1ej/UnwFbzv1rRE3J5drMi101EGM1BO/L+fcTIN6kufYjMx/VX8b8bdJZSK0pf4g4GNjwYOu6EzPiJWCLm/T+T3A1MrN4biaJytz5FYuTl1Nun+s/82r3hUbNye1a+FIKy1h70t4SLQoQjyPqg4Si6w1xy3iTCcF5kM5xyXMtAd92VIVYdhftq+ejXhjLE14EQHgJDY7uXgiOMQp342o2SNNC/LhD3rYvv6M1MaPAzjiFU3gCsKNGugC1RE/hmLCDjYKR9Hhey45ui1u6qjfsUJw3z1Ks2mRkRobydRSCVEuIYbiSuRmkQLFuTqw6tXlgFL5caw5Z15Dm3SaJzP3UumRSCaKfrqlLeVjNtSM94n0vqnh0RTg3SI8Et1+9VA==\"}, {\"rawBytes\":\"MIIGMDCCBBigAwIBAgIRAIOj+L6bMHPQ8ZwSSkUjnn4wDQYJKoZIhvcNAQENBQAwfjELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMRYwFAYDVQQHDA1TYW4gRnJhbmNpc2NvMRUwEwYDVQQKDAxDb2luYmFzZSBMTEMxDjAMBgNVBAsMBUluZnJhMSMwIQYDVQQDDBpjYi5jb3Jwb3JhdGUtdXNlMS5jYmhxLm5ldDAeFw0yNjAzMTEyMjQzMDVaFw0yNjA2MTkyMzQzMDVaMHwxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzERMA8GA1UEChMIQ29pbmJhc2UxETAPBgNVBAsTCFNlY3VyaXR5MSIwIAYDVQQDExljb3Jwb3JhdGUuZGV2aWNlLmNiaHEubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnDcr/lqNbiQrDYADj26UnkQg8u2cdotvu9FdJpYrcZGWnQgEO6VeHAZ70uJywvoDl2057frfnNbSNJFxb0rs1FYpr75Z7nxN0CUn5V/3oCeVZqhBAPplcN9LJCTjbAUNmP1l5OtitSBY6M1FkBq+ejO084eVIJ69GeHtQEohXXRpvXmV1rW5wf2b1o5p5sz5Hnef2K59i27CJ+CsJWcNLd4D+Oaoco12nHEy0uaaeK54ClrTwivu4e4sn3E6TzJzvUHEU+690gnTtqc/3Zht3Y1Do0xF5HsMkU/c11mpXSF7tgEurCbLJygJPVc3BwaOCdEvtFonEQ6uLYYGn0c8S6j/6vsENguhP0rKP3wLsjdorAiyni2umVh134uN3bKT46n7i94T4Lc4djuxuMT0hnGf0qx70elHJSTmZ6r9Qs8BGgwMhOqUFM34wluhVwVQUxXEV77GUL13l18qvcuWiUiahvm//TAckJnYJYLADV16csh2N7yCffu7AQ+l9O+/jOmjiZjlipSRHca18nHWve6uLWbTgxUEoHw8KiRHZR5Auup2Qn6fegI4oD5Nw5GeMw3goqZZOaXYAnrxSCEzytSoPfpsy3exU4SC7NrRAfAiP9B0WoUOey4fMx3sFXVA545sSPItkiiyURs1d4qIDtRQMALTuivwGg29RYBuBC8CAwEAAaOBqjCBpzBBBgNVHREEOjA4ghljb3Jwb3JhdGUuZGV2aWNlLmNiaHEubmV0hhsvL2NvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBRMW1VzTy18+K/WIkO/QmyzF7j/azAdBgNVHQ4EFgQUe5dPytBj9fQyRwc3oq7+l22U9hAwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBDQUAA4ICAQCUgR5amXk/QAygUg2a9T4h1SQq91v7Z2fi5i2d5ZZehNRYhSx+mfT3mjFJJ2KT4eOTds+WKouzGqbwI7NFmBcm4hYBRAeiYxFwZBg6/8q9upgMKj6CTSa4sOyr+Z2rt/0Wjn3oAODJOa+7+enRgjD3Y57F6+y22cFaYEFtDExc4fneAzGDZcAg/t+IZ5UYNP1QYHbyEVkCXZRHFHyATbflgqjg5VK417kqexrerD3TUFF6oky+NYSfFFj7UDNaDN76w3osxoVS0ljRsZa9MZSSQvxyNHGF49oIeay+QmOGDnVpd3u4P0uT43jLfcTtys3bUhnOkMemzrmA5a4vwYol9Ps4NnsQsrI74h3SE/Gaouu7AvLNMUMTROeCOityXDAy8Z/wSGJeiiPZu4y5ziP5sV3Lcqd2JKV1l6Je4qvjBuPSLeHLfPEHmjEssKFV49R7I0R2z+1yJ34UYvH0epwBtGM04E0uV15vtt4YrHY5njIO34UB2KsUUyAnWSnWh1eoj6Bcyvh0Q5YK2/VckM7es+laQXkayUCHEclmggT5F7TbFpxnjCB2QcsD7idRR6upZQwrGc4rvuGu3z25C2wvCFly1S2R8434FknLDOyJMDff0a9utC07AnR7fH3RPq4ukh4l0TW5oXDH7oj0KAlwzk1tyXMGrWrhJY4O8L9gjA==\"}, {\"rawBytes\":\"MIIGMTCCBBmgAwIBAgIUNtuh8wFw/jnlkGdEz7zTllqXWlEwDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wHhcNMjIwODIzMTUxNjQ2WhcNMzIwODIwMTUxNjQ2WjB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExIzAhBgNVBAMMGmNiLmNvcnBvcmF0ZS11c2UxLmNiaHEubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqJvth9m6qWnJ0TDdmxr8b2vKPCmFLDbMdQSbZy73rsgu4kTXd4oHig+h6IzPFS5N3m2UrFOZY2fmUZ4IEjE5c7zVPbrhmDw/cKyW68/z0awxFo98zO83mehE6wCijoNG51SzJipWnp5qZhTIQyJ7Htb4ETJEtnguOpqKq9PyzpZqxukky5AHS4TlHr+ERvQGG00HDadVV19d6NGMKjovH5Gz80dR5W5nmE32ha/0rWDzZJ2fo4eWbg3hcs5Ndxt3y/tj4BiwUgGD9Cmi6m8ufnjn+2oRzFCvZHSCIbSBH7Ci5r5H1m0H2X0rLTvipBLhNiRivjX7svWfO/QbzqC47EIR+VFb6+L6HLef8vns0CVSQyH6ONlHlIffQPHGYkgfKcS5Q6QXr4Nr9Czzbsj+n4Ax2/PUu2jiaVoQ9HyVbuWyLB0mPfhWf/FuDlyNMLNuwvoIP5rkGOq2xuQF9Bjo1YX3Y1Y9Gnf0D4pNb1JaGMTN21r4XAEMG9cpZFNGFQk7JHWZAgs7LNORY+eDOu0lzFif2DDPgPPuRvsez0lkMIm6dGo5khHWEMKyDPjYsj5oVy0n8T4lJZWppK8FAdYc3IfyWi9XrZM7IC8GzKIMo+farRB4kFEMJ9otfDDoFaZ8cWZEkGBeMxx1cI89FIf6fegAx9qEs8gKe4gfeowHi8ECAwEAAaOBkDCBjTAdBgNVHQ4EFgQUTFtVc08tfPiv1iJDv0Jssxe4/2swHwYDVR0jBBgwFoAU9fzvbQ0jyhtIll1fMnKXwKvTL1kwEgYDVR0TAQH/BAgwBgEB/wIBATAOBgNVHQ8BAf8EBAMCAYYwJwYDVR0lBCAwHgYIKwYBBQUHAwMGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQ0FAAOCAgEAVDZIKmyi2ep1+Tr37y6UriPy6JD3BIRSDOWM5m0dNvxw7BfNcewm8s35ejmXTCx90amZTLVGCYATcJZnM83aCzV+WoZYEiO+zQiZcxOrCMYNl4wVjVcxukkx1GE0/QLvgadifB18gyAahyYX4vMU3cfoPTWWL+OnMuhx/aei7KlwGY14dv/JBnZIdlQAvo8xH+XWkf1hB4y9kZhn9vzRcyb0AhHcKZFQEJcHP2QyU1JaI1jkeuN/ZzFl01o3QC82hDBRdb8c4OS0W2ObjKj3KyKAsbaiqKFJztmOzFYCIzRFWKvM3WwIphyUerjoTDdqTfSSGaF7bXB+VamJDYx1Ls+/+YZlH5AsowtYIApLucyJPflgwDh0ab0ycNSXPBSOncP4OlcQEC5QU1FTI7l2Mp0/0F/fYZpVO0LoMZx5mIknER0Htm0b0U0qf4/vlUK/9wvu4vT0Vz7VX9c5xfuUWOC6nnmncCQC6C3dlO7Xc9KqYzKVQWqjvo3HIHauhsD50aiVrvqmYjJV7vr3sVhaTFkiY+pESwSfhkzF1GmVkJ7arkKTqwxXABfcAtu3x+mbrAUal2PrY24rIk6oz1ljFNACw3X6nay221c8fGvy/Bg9UCuy1QWxrYyO01Qmra562r6JNPYx+4pgS/dWBQkAJvzhSrP9DJISJWWri9xS8jY=\"}, {\"rawBytes\":\"MIIGHjCCBAagAwIBAgIUOe6oERfHQQKHTQSpiAvABT6OjW0wDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wIBcNMjIwODIzMTUxNjA1WhgPMjA1MjA4MTUxNTE2MDVaMIGTMQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExFTATBgNVBAMMDENCLVJPT1QtQ09SRTEhMB8GCSqGSIb3DQEJARYSaW5mcmFAY29pbmJhc2UuY29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsVDJrM5nGmY4ygEKnoYmU/AjgYZrnkG7Fwo8FVblMA3WQRgTy9qZXtl2d5WWs/rdmh6AvvqtmirtqkTiI/RxzIMTRawMmeHrRBDbLqxNPBHK5liurkTqSyntMeY1Tba6xu+FxFolbL2EKeAKrbr7/0pVDvE7485mVhb8SaJubRFPkaX3DVDfjG7Jii5Jtz1qvV0SpV3+DwoE8BLaJp9ZcqnKpOdcPAaFLjXQAtEZnRNoAG0O/F0FgTWZd+G8X5rw4Ssc0bd7BvchIfErMtgewBhbCIYlFYv1ygH0HJ3qp1KmLWXEuypCUP2gQaSzJNzBq+afNQafS4WQSaovGtQtpHJbZglJjikPvTZEGSVpdcu8kUeqFbCB3sagjR723q6/gEakl3XiBfi2JHoCxRdA8X6hba2ixRNpC5zpk11G9Jqqp6p2MxFT3Onui70fzU801VGxwPmgMWFigHRFWblaMBCB5iQJr9DsIKLgYR7HNpT/Pzmxph2iYBeS3bWhSobWEnfjIG5mei0bIKRXxtsffqKRc3GVfvhvewFv4pYLGTpaAVA5B5gjpNlv0DjfCzz1SHm8Z8i4ZynPv02NA6qASsuvcC2j4XFobF1RXMsVjExVWnZSi7RvwFyzdLS/oMByPS85lzqyOv1BX+lyL56Ir586x5CcemE5p0KxLy762A0CAwEAAaNmMGQwHQYDVR0OBBYEFPX8720NI8obSJZdXzJyl8Cr0y9ZMB8GA1UdIwQYMBaAFPX8720NI8obSJZdXzJyl8Cr0y9ZMBIGA1UdEwEB/wQIMAYBAf8CAQIwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBDQUAA4ICAQBsvc8vzBTavudnrxt4lCMflvjs0krwzf77T08qaQLFfGBtpPt98WNJU5jOvObgxr5abpE7wtInZ6z08UsfU9l1g+nVoAlWa5AYheBp4UmM3AecRaDjJT6H/WK8ckVsyfLopDtVR4dmRdCghoIKDTzSPK4n3Fqs6VtxcTOcYbG9e8XoQD/mGH/ruR89AV7fdKaSobrfRSHwBK3kFg8Yn8PdgWFIDXeQj9gE+Ym2YQD2r7jcWpo8Umns03GrJrkiMH5VdAGJ7WqLF3EFF30RvlSQxCiaOByf+J0NW4gwKZ8+vK/AKhO2rviiHJDiafLbqmI3XSTGplfDGyz2nveW/0gZA4t2vFJHCX3TIEPwuLamZLgDMqTktv0fvu4sXrPJORawO8KDAvicSB0h6bU6+p9/djcrj3CA6bQiDA5VB3qEpGFCRLf/Ds9yOq1H0b/pQ6vKb1OCL+cUKGs8QU8jt0rsdF/fUwwVMA3JUeh7tGcnqoh9u4TjFX1835sVSN2oynuOJJ10kRmvKy5rpZKvaq0NlQzIulFHrTfpKdCO9cQUFYk0D1WS8IRWypT2m/V/qo3kU3hkDJuL2eyF0nSLuQ7/3JnhNXL1Yuj+gs2eIYSMFfi3kerWmet/aEzkTlgVoARwSZATP1t+a6DRZjTTDoqXixSZTr+PfpstDvtB8zgwWA==\"}]}, \"timestampVerificationData\":{\"rfc3161Timestamps\":[{\"signedTimestamp\":\"MIICyTADAgEAMIICwAYJKoZIhvcNAQcCoIICsTCCAq0CAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgAyPELOAyQ61YM/CUJ0ea5BzdNnJzPDTyN+4YoS0sIs8CFAzkGbmN8o3+j7ZmM6T0WIkXBficGA8yMDI2MDMxMTIzNDMwN1owAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdswggHXAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYwMzExMjM0MzA3WjAvBgkqhkiG9w0BCQQxIgQgDFU/yvcu6x7lzjD2fO56LDVZyF/Ak/8tpD+3o6BxzScwgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGcwZQIxAO1Xa8Qvt9jhPV8excf+EJDR1zkAQv5xzO+/aFKillgUDTx/+6gqT0S8U7vxpGPMdwIwG0ZCOSRjl8HLCISxEsnKtuBfnL2gNwyyk25yObr+smt8tRyEQybi7aAMtRlivZNA\"}]}}, \"messageSignature\":{\"messageDigest\":{\"algorithm\":\"SHA2_384\", \"digest\":\"cpmOMlrtbBimQRoev7Xc3dC/shnL7a7KDnpnO9KEfw8PzaoEqVcgwPXUJ5dxZIdz\"}, \"signature\":\"MGQCMA5ap/S2OuVQbsIHXaUzAmtAip17eIOEpahcvsm0CBh6amJ2y6D0W7fLn4Y6cBI5EQIwcknGIkCjfiE1VdW18v8aQJfDzJKLd79/Wr0ERgLWn+twPec3X25gPiOLSyCn8VEi\"}}"
  },
  {
    "path": "sepolia/signatures/2026-03-11-patch-fee-disburser/creator-signature.json",
    "content": "{\"mediaType\":\"application/vnd.dev.sigstore.bundle+json;version=0.2\", \"verificationMaterial\":{\"x509CertificateChain\":{\"certificates\":[{\"rawBytes\":\"MIIEKTCCAhGgAwIBAgIUDGExqv99GbODbTDatMdfewhJkggwDQYJKoZIhvcNAQENBQAwfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMREwDwYDVQQKEwhDb2luYmFzZTERMA8GA1UECxMIU2VjdXJpdHkxIjAgBgNVBAMTGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwHhcNMjYwMzExMTkwNDA5WhcNMjYwMzEyMTkwNDA5WjBZMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xETAPBgNVBAoTCENvaW5iYXNlMRIwEAYDVQQLEwljb3Jwb3JhdGUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATz++jkC6AhIID2UESABQsMKd5OQWKAHeRuEq5v9+V1YGufXLNprmigh+873g2mRIeHrqez4Kz2wvbfHzbVRyf4+bHx4sGU7oYGdTISi79+JkuTvJFkwbQKKPimkBjWjBejdDByMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBR493Llwd6yo9aiOHpyrhtN0DcSODAqBgNVHREEIzAhhh91c2VyOi8vL2phY2suY2h1bWFAY29pbmJhc2UuY29tMA0GCSqGSIb3DQEBDQUAA4ICAQCmyWNK5yKULAqFcI8JwuWgCuvs7TEeSJjo1gudyxp23MwO/VGtt/gRfes5qd6o8vfYWqVhoFes73RDmTOPjfxE/YhKt5tV/Y56zHFvag/LY8BuAXQS16gsUBdUyniB0ry4ZIhWK8JGMtDeu4R66rp2tFhhKi1+dfOoljJ2UR6+X9q4HoTGPOFByLBiaz1OkKPjDJrJ7NQW5i/LlmDf8mGYrf1n7rmL8RZmz4vjkEoUHsMOTZP6ZDCh6SQVTllgRvuEFT5mQn+RddFV4F8ykKYAyrKztHcrwmbkczD5tsbuiObOi+eVEoDiII9DRMC4aSWHWNbzOzehj8SQIhpib0hgYoQ4nyE7XS9MHL74YLmgEB+3Qi2GTgJQQJeidSbts0spqtDm7n7Xhd4UEDB4Puh52AsZM8jzUN5BqnrLl5v972RuMPNZlSZBil3IOMrF1+Igo1pq85K5sA+mEShnPWeTJKOQwLdPKDBV662eZwSBCSR4VZUtySCDm9DSs8IA4ObeYUkZ0sVw8FWt5f1ztJ61IcQmQhnlc5P1kX464ZF7mSdfrAeHCPx5NBVfZzNF3pdbXi9X0Wu+ReSGQF0GNmEAv7kywgQlSgsgVQtf/q9wQxV/iAV2MUNlwp3e5wGM0rUe5lCnFpXu11LVlVZ9RoWXtP/Vc70Cxc6LceNEceiqmQ==\"}, {\"rawBytes\":\"MIIGLzCCBBegAwIBAgIQSyY0ddSlFupfM3Lw+IXXZjANBgkqhkiG9w0BAQ0FADB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExIzAhBgNVBAMMGmNiLmNvcnBvcmF0ZS11c2UxLmNiaHEubmV0MB4XDTI2MDMxMTE3MDgwNFoXDTI2MDYxOTE4MDgwNFowfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMREwDwYDVQQKEwhDb2luYmFzZTERMA8GA1UECxMIU2VjdXJpdHkxIjAgBgNVBAMTGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDcNgcaSzKNCy+idmWKDCMLhKDnfNccryWMK/2PVmc+O8ND0YLgyjCKI2D2f30ILb/6AFll0AqS5nJf8g/6yjMkRQZJ7Nh1MKyGOUCAYfePnCzt1PxpZINA5RSXTKDI24Ms/voRBLhTQDaO+/kiiVyCkUSi3FsTeKxbllKzyjkQIUykP2Zr/qT24Tn0NeMnPoaNUcptTc4EiA1UbwZrGq8ZjkX3OCCxwyc5s8txJXtIOb2ejdiBc8y0g+gywOZJo4wgGIrxrS2oL8+WewEGYku9Emu0l+01v8UAwZ6fKuLHKhoq0WOZNXR3+ZOlcPRQYVjylQK17VJu3EtXLanaTZKUOwv2eSiQWL6w7dP1jWwhiWTdy0UiNNOtbb2vren9B0qxiygVpLgaoriIyKrrYIyCqVE8jXzzdj8CQWpN3bXqfaXAZpM1SeBqwynxVfqjpWwc4joVfK7AHR66LBUCXQjZOIvjbBYz7ZGscU12BDQRFTsW8kw+oNRJdXXkVI2RSjV+QnFZU/QM7atxa1OBYiavAqpBp8YctJbo/mztEU7qFQiH2DhnAkSzKghjjEmSoWWHmOLdCEF0tBIejfp45GJitSw73WrzahG6KhCLRCURm3yLz5noT7jRIBVdVbiAAzbgUXytTHhGbuVMCZBdZDe0KbdC9BgnUNql/0t+B4G0dwIDAQABo4GqMIGnMEEGA1UdEQQ6MDiCGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXSGGy8vY29ycG9yYXRlLmRldmljZS5jYmhxLm5ldDASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFExbVXNPLXz4r9YiQ79CbLMXuP9rMB0GA1UdDgQWBBR493Llwd6yo9aiOHpyrhtN0DcSODAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQENBQADggIBABLN4LIQBWkU+QhabXjl3sV/RylSQxjtHOkKPL25A0pFWyEShIM/JMe9CxPr1WLtktFrc6xfTCmkZqDdum90drbCZ4kR3MTiDBWvzN9lCDWkt87DwTUyTPxMhMOaF/ZLTLB2x0vbhRvraCxMGkDLPb1jozG9vv67egHaHRCduZtTddeWt2x+MHlHZRXiVcHT4cAJW+ZDFPAWVMFyUO8BwOTbhN1+s+psqPdPScKYqP80zfD6FXssL/4AgkETq33CjrXd71AuuXGodiRgGabVojAqotp5AXl/K0hlWvgAHMgjT8byN1XqBMw2pIwmW7sagkJu8rAF9ZidHofg0MpsRs0thrFS41Md1Ew9BI8W76BAtWFmBxFbcrnQzs80Tklh3MM0woL/oVsb5ILW3ijVcgzGM7ASEKJJLCCyEhfsg1xC+LUeL1M+At1iWtBDwLQAJqVCI1tPc64NtPWkxhxluCZnvMLO/3PA6eAWRj6Spl3sQoFfi3OmTSatxjcKydiItvJlGNYo3B4V5EFJfLgPGhge8sfAllk+Zpk1IwnZ3aO1DKr4DzFTP4j5JCigwT7Z6Yg6KynvGfCvB/vyd2ezKG8SsrDyZ847syoicdufLooGfK+r2gHzn+ncdB5KG54k8TY+JVxytyh2syTkzxTISUPB+AWlnPU4sj3E+/AQEXS7\"}, {\"rawBytes\":\"MIIGMTCCBBmgAwIBAgIUNtuh8wFw/jnlkGdEz7zTllqXWlEwDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wHhcNMjIwODIzMTUxNjQ2WhcNMzIwODIwMTUxNjQ2WjB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExIzAhBgNVBAMMGmNiLmNvcnBvcmF0ZS11c2UxLmNiaHEubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqJvth9m6qWnJ0TDdmxr8b2vKPCmFLDbMdQSbZy73rsgu4kTXd4oHig+h6IzPFS5N3m2UrFOZY2fmUZ4IEjE5c7zVPbrhmDw/cKyW68/z0awxFo98zO83mehE6wCijoNG51SzJipWnp5qZhTIQyJ7Htb4ETJEtnguOpqKq9PyzpZqxukky5AHS4TlHr+ERvQGG00HDadVV19d6NGMKjovH5Gz80dR5W5nmE32ha/0rWDzZJ2fo4eWbg3hcs5Ndxt3y/tj4BiwUgGD9Cmi6m8ufnjn+2oRzFCvZHSCIbSBH7Ci5r5H1m0H2X0rLTvipBLhNiRivjX7svWfO/QbzqC47EIR+VFb6+L6HLef8vns0CVSQyH6ONlHlIffQPHGYkgfKcS5Q6QXr4Nr9Czzbsj+n4Ax2/PUu2jiaVoQ9HyVbuWyLB0mPfhWf/FuDlyNMLNuwvoIP5rkGOq2xuQF9Bjo1YX3Y1Y9Gnf0D4pNb1JaGMTN21r4XAEMG9cpZFNGFQk7JHWZAgs7LNORY+eDOu0lzFif2DDPgPPuRvsez0lkMIm6dGo5khHWEMKyDPjYsj5oVy0n8T4lJZWppK8FAdYc3IfyWi9XrZM7IC8GzKIMo+farRB4kFEMJ9otfDDoFaZ8cWZEkGBeMxx1cI89FIf6fegAx9qEs8gKe4gfeowHi8ECAwEAAaOBkDCBjTAdBgNVHQ4EFgQUTFtVc08tfPiv1iJDv0Jssxe4/2swHwYDVR0jBBgwFoAU9fzvbQ0jyhtIll1fMnKXwKvTL1kwEgYDVR0TAQH/BAgwBgEB/wIBATAOBgNVHQ8BAf8EBAMCAYYwJwYDVR0lBCAwHgYIKwYBBQUHAwMGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQ0FAAOCAgEAVDZIKmyi2ep1+Tr37y6UriPy6JD3BIRSDOWM5m0dNvxw7BfNcewm8s35ejmXTCx90amZTLVGCYATcJZnM83aCzV+WoZYEiO+zQiZcxOrCMYNl4wVjVcxukkx1GE0/QLvgadifB18gyAahyYX4vMU3cfoPTWWL+OnMuhx/aei7KlwGY14dv/JBnZIdlQAvo8xH+XWkf1hB4y9kZhn9vzRcyb0AhHcKZFQEJcHP2QyU1JaI1jkeuN/ZzFl01o3QC82hDBRdb8c4OS0W2ObjKj3KyKAsbaiqKFJztmOzFYCIzRFWKvM3WwIphyUerjoTDdqTfSSGaF7bXB+VamJDYx1Ls+/+YZlH5AsowtYIApLucyJPflgwDh0ab0ycNSXPBSOncP4OlcQEC5QU1FTI7l2Mp0/0F/fYZpVO0LoMZx5mIknER0Htm0b0U0qf4/vlUK/9wvu4vT0Vz7VX9c5xfuUWOC6nnmncCQC6C3dlO7Xc9KqYzKVQWqjvo3HIHauhsD50aiVrvqmYjJV7vr3sVhaTFkiY+pESwSfhkzF1GmVkJ7arkKTqwxXABfcAtu3x+mbrAUal2PrY24rIk6oz1ljFNACw3X6nay221c8fGvy/Bg9UCuy1QWxrYyO01Qmra562r6JNPYx+4pgS/dWBQkAJvzhSrP9DJISJWWri9xS8jY=\"}, {\"rawBytes\":\"MIIGHjCCBAagAwIBAgIUOe6oERfHQQKHTQSpiAvABT6OjW0wDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wIBcNMjIwODIzMTUxNjA1WhgPMjA1MjA4MTUxNTE2MDVaMIGTMQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExFTATBgNVBAMMDENCLVJPT1QtQ09SRTEhMB8GCSqGSIb3DQEJARYSaW5mcmFAY29pbmJhc2UuY29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsVDJrM5nGmY4ygEKnoYmU/AjgYZrnkG7Fwo8FVblMA3WQRgTy9qZXtl2d5WWs/rdmh6AvvqtmirtqkTiI/RxzIMTRawMmeHrRBDbLqxNPBHK5liurkTqSyntMeY1Tba6xu+FxFolbL2EKeAKrbr7/0pVDvE7485mVhb8SaJubRFPkaX3DVDfjG7Jii5Jtz1qvV0SpV3+DwoE8BLaJp9ZcqnKpOdcPAaFLjXQAtEZnRNoAG0O/F0FgTWZd+G8X5rw4Ssc0bd7BvchIfErMtgewBhbCIYlFYv1ygH0HJ3qp1KmLWXEuypCUP2gQaSzJNzBq+afNQafS4WQSaovGtQtpHJbZglJjikPvTZEGSVpdcu8kUeqFbCB3sagjR723q6/gEakl3XiBfi2JHoCxRdA8X6hba2ixRNpC5zpk11G9Jqqp6p2MxFT3Onui70fzU801VGxwPmgMWFigHRFWblaMBCB5iQJr9DsIKLgYR7HNpT/Pzmxph2iYBeS3bWhSobWEnfjIG5mei0bIKRXxtsffqKRc3GVfvhvewFv4pYLGTpaAVA5B5gjpNlv0DjfCzz1SHm8Z8i4ZynPv02NA6qASsuvcC2j4XFobF1RXMsVjExVWnZSi7RvwFyzdLS/oMByPS85lzqyOv1BX+lyL56Ir586x5CcemE5p0KxLy762A0CAwEAAaNmMGQwHQYDVR0OBBYEFPX8720NI8obSJZdXzJyl8Cr0y9ZMB8GA1UdIwQYMBaAFPX8720NI8obSJZdXzJyl8Cr0y9ZMBIGA1UdEwEB/wQIMAYBAf8CAQIwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBDQUAA4ICAQBsvc8vzBTavudnrxt4lCMflvjs0krwzf77T08qaQLFfGBtpPt98WNJU5jOvObgxr5abpE7wtInZ6z08UsfU9l1g+nVoAlWa5AYheBp4UmM3AecRaDjJT6H/WK8ckVsyfLopDtVR4dmRdCghoIKDTzSPK4n3Fqs6VtxcTOcYbG9e8XoQD/mGH/ruR89AV7fdKaSobrfRSHwBK3kFg8Yn8PdgWFIDXeQj9gE+Ym2YQD2r7jcWpo8Umns03GrJrkiMH5VdAGJ7WqLF3EFF30RvlSQxCiaOByf+J0NW4gwKZ8+vK/AKhO2rviiHJDiafLbqmI3XSTGplfDGyz2nveW/0gZA4t2vFJHCX3TIEPwuLamZLgDMqTktv0fvu4sXrPJORawO8KDAvicSB0h6bU6+p9/djcrj3CA6bQiDA5VB3qEpGFCRLf/Ds9yOq1H0b/pQ6vKb1OCL+cUKGs8QU8jt0rsdF/fUwwVMA3JUeh7tGcnqoh9u4TjFX1835sVSN2oynuOJJ10kRmvKy5rpZKvaq0NlQzIulFHrTfpKdCO9cQUFYk0D1WS8IRWypT2m/V/qo3kU3hkDJuL2eyF0nSLuQ7/3JnhNXL1Yuj+gs2eIYSMFfi3kerWmet/aEzkTlgVoARwSZATP1t+a6DRZjTTDoqXixSZTr+PfpstDvtB8zgwWA==\"}]}, \"timestampVerificationData\":{\"rfc3161Timestamps\":[{\"signedTimestamp\":\"MIICyDADAgEAMIICvwYJKoZIhvcNAQcCoIICsDCCAqwCAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgV/znjC7wFiQBlr+h0AdxVxbt0nlBP5SaElke/dJlFqYCFDRcWS1KuL1vpHU7NLmN+C6PUlqJGA8yMDI2MDMxMTE5MDQxMFowAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdowggHWAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYwMzExMTkwNDEwWjAvBgkqhkiG9w0BCQQxIgQgLJbJPsFRBUJOlP85nZTVIhbFg5CQRzJwj9Ywh05gB7wwgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGYwZAIwLZ/b4XCPVWTOisUpTqrQkWGcirC0G9g55eOSRUrbPsUf09PAeY0LnrwoRJ9/CimaAjBcOSJCQUfLUwDMzwxfmWPcCakSO1KzWQHcrXVITXj6+XuheriS/a4N1y03HFJn81E=\"}]}}, \"messageSignature\":{\"messageDigest\":{\"algorithm\":\"SHA2_384\", \"digest\":\"cpmOMlrtbBimQRoev7Xc3dC/shnL7a7KDnpnO9KEfw8PzaoEqVcgwPXUJ5dxZIdz\"}, \"signature\":\"MGUCMCXiMoZAYoYeL1OmvjUBUnnmvOljnO0NTpxvG3REYey2Fvvf+3XiE0Z2RXXEs5bIZAIxAKCb37Z2Yd+oY+jDz1/TaKNeROhjASZr1G6OV91KBRGTONbTYo6wSmY7/ztttuPocw==\"}}"
  },
  {
    "path": "sepolia/signatures/2026-03-25-increase-gas-and-elasticity-limit/base-facilitator-signature.json",
    "content": "{\"mediaType\":\"application/vnd.dev.sigstore.bundle+json;version=0.2\",\"verificationMaterial\":{\"x509CertificateChain\":{\"certificates\":[{\"rawBytes\":\"MIIEIzCCAgugAwIBAgIUIkiEX5hfaBQogZyjvSN1FTrfVbowDQYJKoZIhvcNAQENBQAwfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMREwDwYDVQQKEwhDb2luYmFzZTERMA8GA1UECxMIU2VjdXJpdHkxIjAgBgNVBAMTGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwHhcNMjYwMzI1MTQyODEzWhcNMjYwMzI2MTQyODEzWjBZMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xETAPBgNVBAoTCENvaW5iYXNlMRIwEAYDVQQLEwljb3Jwb3JhdGUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATLilZB89MDTl4R66ePCrONMNjJxvU4lpNoXUT8kfWWG+EHJXSSMXrZXvNunQeRVde/GYSkFAs/PIF2Jaz9+Es5R7y/dsIOI1+MD40PoFHiOuXlsMSkVVLdQ1CrEhkQawyjbjBsMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBRSzRFwzEGi/fn9OnaHPNUjyCxBwDAkBgNVHREEHTAbhhlsZGFwOi8vL2Jhc2UtZmFjaWxpdGF0b3JzMA0GCSqGSIb3DQEBDQUAA4ICAQBIh3gK6KLD8FFom3eaMzl43v1al7H2+Vo89Pp7gsFoCqOCZoS1gL0jn6hfMoEslei/FyciqerGH7ZAWtPBhl3lxuySNqJlHW+m2Cw+pG9GXEVpuYBslYJCnaSRkzipOh24r/kKtp3aWvCyi0JFsWQYMywpwUU/urTGhqtueyFQf9l3beO3WJZkj9+iCt445ktXwzUBp0Gx9HLAOzuJ/Ft3IfgngRVwTcvOxfHyHyJFzwzTWd+XryYDKdcSymY3eoR6ce9daxBbjXlD41LPI8HRsCOl2Wmy66+YzdwXWp8ai5mGzlmpHWfkPGV/QrUcWQ9w6iShbAA1K6bxhLC3pMSQFXdmneipcxWEgznt2/hcy2gCn247uXvMXkO3B2X5N22h8cgdQRwOxh+7Omrjo/YLlDXWFPFeQswbzJgUSC/FZdLpkdR7a/HExJu5Hf4DErAQbDrR3HeXpY8S13vGmHksenhlEM9k58i+FpoXTHrGFGU8H8SgtnOMDLC/7q4nYrOahLwFuSgJippd5XPsyzKX/SRIoeMpiLZoz6yfT4ZJTOl+FRlA+9834PjD2UcCVVDtfm7TWEv51sz9NU+MBDBHz8L0wkEKqYhpeOI5lfuUgL7Wx84FVWUJmQ0GNdUHSW1FTmAfvCuwFDHjqK//j3MFAePn1gf4jVIli4ESqPPKfQ==\"},{\"rawBytes\":\"MIIGLzCCBBegAwIBAgIQO+msbE+PywvrJE10RDOsnTANBgkqhkiG9w0BAQ0FADB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExIzAhBgNVBAMMGmNiLmNvcnBvcmF0ZS11c2UxLmNiaHEubmV0MB4XDTI2MDMxOTEyNTUzMVoXDTI2MDYyNzEzNTUzMVowfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMREwDwYDVQQKEwhDb2luYmFzZTERMA8GA1UECxMIU2VjdXJpdHkxIjAgBgNVBAMTGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9QQuMCa1rOJaw7lmbXoueKWsoFwHrBit7CKGy9/Q8j2lUncDC9Xivod/S0BGgt/5r0/+DmVOkpMpM1GYPwFfI2fmcRxogGXWnPfr/MPGWAolLWKYVcY1t9+Wt/HYwx7E5LMxg35M2WNZ0mNqhu+dfVxRY03maPNfrBCKa3oUCMsuEkfJRCgb9hzQ8WjTrqNwSlGPFEgzLLUHg0IHmG/v1cWbTeemWNeRo4J4o2CQPVNo1wbZZVOkn0Jq5ZtZgjmE6dbHKVMbsC4nzfSZGcUMs20ZjLGWfP7qM3M/YHqaEQpucVvUGNwbkoVw7ix4BNaVBMMIvH0yeCHwy8O90G5QJssWW1YI+RKBlVK+RCNH7qjvU3xXOL0SL+blMtg/ie7AJYp0QhsZlWOadLf6gwRboZehwov1xmgqWMHVnGAwFDolxeNCxVvJ3u27dQXNUCepN6X12M/yLAL9svy1Rm4ExNFHBhQQH4PSJDucBS/hZEAg3gsfLAUpZmW8K1qsarNpZpkGrh6vseQpoAOqKmr9NiziCrcAkgJdNzqqS02v2E223Zsrb+CI9FpRF1DO8DGnQIskBbxxVViQ+6o+x4ssuiyuRCgx3U1DhuRfhHk/PCuTZRU0UkhMIQUXD1IzswvXi2J3k82mvA3ng5letdAiuIQ3RWuM88NHyYs0FghzemQIDAQABo4GqMIGnMEEGA1UdEQQ6MDiCGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXSGGy8vY29ycG9yYXRlLmRldmljZS5jYmhxLm5ldDASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFExbVXNPLXz4r9YiQ79CbLMXuP9rMB0GA1UdDgQWBBRSzRFwzEGi/fn9OnaHPNUjyCxBwDAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQENBQADggIBAIATeuPQVUrnx3Y+uHwIQ6wPiZBpumXx3syaO+WVJqvk9Qejge5UifHQlg9ZtSlm1kBOa/gu+NRfHMGO4MWhtf0T+v4bkfHyRUUwK30qGYuzhGNPI92YaSML/qZZAUu0FZ36P+tkIA2CT0788B1ZtacZ6eAPhLIoTWVxsBVmyjjip/IRVa5ixjLzYxH0Zedqz6DijjSrbv6L6enGq0dQqLbNzVeo3blDsGxPuTAc4TPQwxRDfMgbbUH8jlwrK757aKMhIVAc6WwUJFVKLdhUYMhY9nxMqW1+fbcM2IDjbfm76rwSZDrIACMurQ5/mfowc4JRZ9Bn6+32Uk3h28mVWxW/qPbdXMdzXw9UR+Zszfg9w8mPtj4RZemFqm/wRVnHGIDXT/1bRXgmw0f8iXvzhnlxgox2bBzpuIClpXQQVdPF6Yu/eIFLiJwyo3pJFQjcWjtorkcBtrb1ixhU5UPBr1PSqcMO+mh6I53JCVmEdHI9UbUHHVToOMYrmZPrmhPdM2kcxYTw4j0qpFtpDTFKO0Gtkl80BtT/auKhFs6MH3800j/xNfNOw3zQq9Egn/U2wSVNsjzlMF7DV7g/ki6RlUKzI/RGOWG/haCJSaJVwyNcHoun+QG40lnYprj78uH903/09lCz+q8iqGuLH2Pk6pREr3RDLbM7lPhjMuYfBQ6E\"},{\"rawBytes\":\"MIIGMTCCBBmgAwIBAgIUNtuh8wFw/jnlkGdEz7zTllqXWlEwDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wHhcNMjIwODIzMTUxNjQ2WhcNMzIwODIwMTUxNjQ2WjB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExIzAhBgNVBAMMGmNiLmNvcnBvcmF0ZS11c2UxLmNiaHEubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqJvth9m6qWnJ0TDdmxr8b2vKPCmFLDbMdQSbZy73rsgu4kTXd4oHig+h6IzPFS5N3m2UrFOZY2fmUZ4IEjE5c7zVPbrhmDw/cKyW68/z0awxFo98zO83mehE6wCijoNG51SzJipWnp5qZhTIQyJ7Htb4ETJEtnguOpqKq9PyzpZqxukky5AHS4TlHr+ERvQGG00HDadVV19d6NGMKjovH5Gz80dR5W5nmE32ha/0rWDzZJ2fo4eWbg3hcs5Ndxt3y/tj4BiwUgGD9Cmi6m8ufnjn+2oRzFCvZHSCIbSBH7Ci5r5H1m0H2X0rLTvipBLhNiRivjX7svWfO/QbzqC47EIR+VFb6+L6HLef8vns0CVSQyH6ONlHlIffQPHGYkgfKcS5Q6QXr4Nr9Czzbsj+n4Ax2/PUu2jiaVoQ9HyVbuWyLB0mPfhWf/FuDlyNMLNuwvoIP5rkGOq2xuQF9Bjo1YX3Y1Y9Gnf0D4pNb1JaGMTN21r4XAEMG9cpZFNGFQk7JHWZAgs7LNORY+eDOu0lzFif2DDPgPPuRvsez0lkMIm6dGo5khHWEMKyDPjYsj5oVy0n8T4lJZWppK8FAdYc3IfyWi9XrZM7IC8GzKIMo+farRB4kFEMJ9otfDDoFaZ8cWZEkGBeMxx1cI89FIf6fegAx9qEs8gKe4gfeowHi8ECAwEAAaOBkDCBjTAdBgNVHQ4EFgQUTFtVc08tfPiv1iJDv0Jssxe4/2swHwYDVR0jBBgwFoAU9fzvbQ0jyhtIll1fMnKXwKvTL1kwEgYDVR0TAQH/BAgwBgEB/wIBATAOBgNVHQ8BAf8EBAMCAYYwJwYDVR0lBCAwHgYIKwYBBQUHAwMGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQ0FAAOCAgEAVDZIKmyi2ep1+Tr37y6UriPy6JD3BIRSDOWM5m0dNvxw7BfNcewm8s35ejmXTCx90amZTLVGCYATcJZnM83aCzV+WoZYEiO+zQiZcxOrCMYNl4wVjVcxukkx1GE0/QLvgadifB18gyAahyYX4vMU3cfoPTWWL+OnMuhx/aei7KlwGY14dv/JBnZIdlQAvo8xH+XWkf1hB4y9kZhn9vzRcyb0AhHcKZFQEJcHP2QyU1JaI1jkeuN/ZzFl01o3QC82hDBRdb8c4OS0W2ObjKj3KyKAsbaiqKFJztmOzFYCIzRFWKvM3WwIphyUerjoTDdqTfSSGaF7bXB+VamJDYx1Ls+/+YZlH5AsowtYIApLucyJPflgwDh0ab0ycNSXPBSOncP4OlcQEC5QU1FTI7l2Mp0/0F/fYZpVO0LoMZx5mIknER0Htm0b0U0qf4/vlUK/9wvu4vT0Vz7VX9c5xfuUWOC6nnmncCQC6C3dlO7Xc9KqYzKVQWqjvo3HIHauhsD50aiVrvqmYjJV7vr3sVhaTFkiY+pESwSfhkzF1GmVkJ7arkKTqwxXABfcAtu3x+mbrAUal2PrY24rIk6oz1ljFNACw3X6nay221c8fGvy/Bg9UCuy1QWxrYyO01Qmra562r6JNPYx+4pgS/dWBQkAJvzhSrP9DJISJWWri9xS8jY=\"},{\"rawBytes\":\"MIIGHjCCBAagAwIBAgIUOe6oERfHQQKHTQSpiAvABT6OjW0wDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wIBcNMjIwODIzMTUxNjA1WhgPMjA1MjA4MTUxNTE2MDVaMIGTMQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExFTATBgNVBAMMDENCLVJPT1QtQ09SRTEhMB8GCSqGSIb3DQEJARYSaW5mcmFAY29pbmJhc2UuY29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsVDJrM5nGmY4ygEKnoYmU/AjgYZrnkG7Fwo8FVblMA3WQRgTy9qZXtl2d5WWs/rdmh6AvvqtmirtqkTiI/RxzIMTRawMmeHrRBDbLqxNPBHK5liurkTqSyntMeY1Tba6xu+FxFolbL2EKeAKrbr7/0pVDvE7485mVhb8SaJubRFPkaX3DVDfjG7Jii5Jtz1qvV0SpV3+DwoE8BLaJp9ZcqnKpOdcPAaFLjXQAtEZnRNoAG0O/F0FgTWZd+G8X5rw4Ssc0bd7BvchIfErMtgewBhbCIYlFYv1ygH0HJ3qp1KmLWXEuypCUP2gQaSzJNzBq+afNQafS4WQSaovGtQtpHJbZglJjikPvTZEGSVpdcu8kUeqFbCB3sagjR723q6/gEakl3XiBfi2JHoCxRdA8X6hba2ixRNpC5zpk11G9Jqqp6p2MxFT3Onui70fzU801VGxwPmgMWFigHRFWblaMBCB5iQJr9DsIKLgYR7HNpT/Pzmxph2iYBeS3bWhSobWEnfjIG5mei0bIKRXxtsffqKRc3GVfvhvewFv4pYLGTpaAVA5B5gjpNlv0DjfCzz1SHm8Z8i4ZynPv02NA6qASsuvcC2j4XFobF1RXMsVjExVWnZSi7RvwFyzdLS/oMByPS85lzqyOv1BX+lyL56Ir586x5CcemE5p0KxLy762A0CAwEAAaNmMGQwHQYDVR0OBBYEFPX8720NI8obSJZdXzJyl8Cr0y9ZMB8GA1UdIwQYMBaAFPX8720NI8obSJZdXzJyl8Cr0y9ZMBIGA1UdEwEB/wQIMAYBAf8CAQIwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBDQUAA4ICAQBsvc8vzBTavudnrxt4lCMflvjs0krwzf77T08qaQLFfGBtpPt98WNJU5jOvObgxr5abpE7wtInZ6z08UsfU9l1g+nVoAlWa5AYheBp4UmM3AecRaDjJT6H/WK8ckVsyfLopDtVR4dmRdCghoIKDTzSPK4n3Fqs6VtxcTOcYbG9e8XoQD/mGH/ruR89AV7fdKaSobrfRSHwBK3kFg8Yn8PdgWFIDXeQj9gE+Ym2YQD2r7jcWpo8Umns03GrJrkiMH5VdAGJ7WqLF3EFF30RvlSQxCiaOByf+J0NW4gwKZ8+vK/AKhO2rviiHJDiafLbqmI3XSTGplfDGyz2nveW/0gZA4t2vFJHCX3TIEPwuLamZLgDMqTktv0fvu4sXrPJORawO8KDAvicSB0h6bU6+p9/djcrj3CA6bQiDA5VB3qEpGFCRLf/Ds9yOq1H0b/pQ6vKb1OCL+cUKGs8QU8jt0rsdF/fUwwVMA3JUeh7tGcnqoh9u4TjFX1835sVSN2oynuOJJ10kRmvKy5rpZKvaq0NlQzIulFHrTfpKdCO9cQUFYk0D1WS8IRWypT2m/V/qo3kU3hkDJuL2eyF0nSLuQ7/3JnhNXL1Yuj+gs2eIYSMFfi3kerWmet/aEzkTlgVoARwSZATP1t+a6DRZjTTDoqXixSZTr+PfpstDvtB8zgwWA==\"}]},\"timestampVerificationData\":{\"rfc3161Timestamps\":[{\"signedTimestamp\":\"MIICyTADAgEAMIICwAYJKoZIhvcNAQcCoIICsTCCAq0CAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQg4YAfxAcXfZp6Ex+fe9fn1n7is8/fVROXsgxzzCUJZN4CFEKGvT9oOaT7EkYG0rHkU3oJm4qSGA8yMDI2MDMyNTE0MjgxNFowAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdswggHXAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYwMzI1MTQyODE0WjAvBgkqhkiG9w0BCQQxIgQg1qHvtz4kA2apF84vxMEmhzLVmlQX+m9PNQikQ7ReuC0wgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGcwZQIwbMFoZNi+A1vIKi6JguHN6n78u9fq1MAfDRusSSdMsxH78bk1OZUg9JkwoALA9CXDAjEAvnnreGdJMagAt6zvKkYX4xiDbgiqRzAu3ErnbKWYeND4JWr6ILxleEZtv4xBevhk\"}]}},\"messageSignature\":{\"messageDigest\":{\"algorithm\":\"SHA2_384\",\"digest\":\"TW+En7aZ4Tn7/Dd86FCgviZVqDvaECXjaA3rMzbG7234ITof6aovgorMjp54H1h1\"},\"signature\":\"MGUCMQChIKbvmA4QrSuJ77o9HkYeUQon4WEDiBuF0PBxmyI7h8N1oHerDLMdJ1Tm3faF51oCMHsK00JkeuaAwW3Qq5O0Z5fVi2akjMvEnpz/V8vVt7hlkcHWTBEpLBxlL8bP87rTdg==\"}}"
  },
  {
    "path": "sepolia/signatures/2026-03-25-increase-gas-and-elasticity-limit/base-sc-facilitator-signature.json",
    "content": "{\"mediaType\":\"application/vnd.dev.sigstore.bundle+json;version=0.2\",\"verificationMaterial\":{\"x509CertificateChain\":{\"certificates\":[{\"rawBytes\":\"MIIEJjCCAg6gAwIBAgIUPilRrpl6Y048aL9yGvdIOEMrUHkwDQYJKoZIhvcNAQENBQAwfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMREwDwYDVQQKEwhDb2luYmFzZTERMA8GA1UECxMIU2VjdXJpdHkxIjAgBgNVBAMTGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwHhcNMjYwMzI1MTUyMTM0WhcNMjYwMzI2MTUyMTM0WjBZMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xETAPBgNVBAoTCENvaW5iYXNlMRIwEAYDVQQLEwljb3Jwb3JhdGUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATyVT3G7vwMwyYw86gGHlu+x9XtwmEG98ArB2E8NNWZX/zr1lZzvmE6B5RW7PJ7+5iiJlliQJXd1g506KLGED0/paUELiIebQoMlI+u5TUuuf2BInKadysFAB2FFeSzfsijcTBvMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBRSzRFwzEGi/fn9OnaHPNUjyCxBwDAnBgNVHREEIDAehhxsZGFwOi8vL2Jhc2Utc2MtZmFjaWxpdGF0b3JzMA0GCSqGSIb3DQEBDQUAA4ICAQB8aN6BnN9EMvGcNnSZfsMmNQIX0co+Aq5yQrHK+jcuOzvXpl02qkTEBz55Gr/f2dTZx1uGoirWfOyATpexgCNnxlYQhNe9B1fYl9siEPlHDPb9aXwekojvVmkFP8ekIrif6ECtsyGmnat8aO5hYAKoS+18bO4A/qQKmMrhNL2w3Uju+QiXBzx9a/9X7uXgqHhO8FYy1QDwvk61e2ynrFCMJjWyIIeZpNTfeEIcfJMLYcavxronlToSYlG0oOFNvZU1WeGFLjQixamBSGpYdfWGbiG1mNXlatR6TfJZF4qGXALhrGwxsyUhCi1L22PQhnkjZtkMbx1Wegr1ZcsGq5z01BWpHqsV0vg/smudPHc+nkHuLKGzqvQSWcyc0NSJKga59HFl6XW10tAUX4/n0KvMgmHMqHCBhhAvnRAvBFBzGM3LmWSDVm/OoDt2eVMTaaX35r8Fr82epgkAwllgo0Kj0U4Q0FdofbZy4qS59R6VQ0wjGuqXd86dVyj+38xJzwgzv/q+NihcxwdE7u/P0S5AbiFOWsNo2BtIJtZxxeXX1qBRzNrpYJdpKwhryAxjXuvULIoG1g32y59My/DhWV+6A5ebiujhohYl1JjKikurhXB2gVA8WUaM3SCasO441TSMFMxX/KTQGV0P0V07bD0qtbmM4xgKkWtuz/Bb39ejvg==\"},{\"rawBytes\":\"MIIGLzCCBBegAwIBAgIQO+msbE+PywvrJE10RDOsnTANBgkqhkiG9w0BAQ0FADB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExIzAhBgNVBAMMGmNiLmNvcnBvcmF0ZS11c2UxLmNiaHEubmV0MB4XDTI2MDMxOTEyNTUzMVoXDTI2MDYyNzEzNTUzMVowfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMREwDwYDVQQKEwhDb2luYmFzZTERMA8GA1UECxMIU2VjdXJpdHkxIjAgBgNVBAMTGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9QQuMCa1rOJaw7lmbXoueKWsoFwHrBit7CKGy9/Q8j2lUncDC9Xivod/S0BGgt/5r0/+DmVOkpMpM1GYPwFfI2fmcRxogGXWnPfr/MPGWAolLWKYVcY1t9+Wt/HYwx7E5LMxg35M2WNZ0mNqhu+dfVxRY03maPNfrBCKa3oUCMsuEkfJRCgb9hzQ8WjTrqNwSlGPFEgzLLUHg0IHmG/v1cWbTeemWNeRo4J4o2CQPVNo1wbZZVOkn0Jq5ZtZgjmE6dbHKVMbsC4nzfSZGcUMs20ZjLGWfP7qM3M/YHqaEQpucVvUGNwbkoVw7ix4BNaVBMMIvH0yeCHwy8O90G5QJssWW1YI+RKBlVK+RCNH7qjvU3xXOL0SL+blMtg/ie7AJYp0QhsZlWOadLf6gwRboZehwov1xmgqWMHVnGAwFDolxeNCxVvJ3u27dQXNUCepN6X12M/yLAL9svy1Rm4ExNFHBhQQH4PSJDucBS/hZEAg3gsfLAUpZmW8K1qsarNpZpkGrh6vseQpoAOqKmr9NiziCrcAkgJdNzqqS02v2E223Zsrb+CI9FpRF1DO8DGnQIskBbxxVViQ+6o+x4ssuiyuRCgx3U1DhuRfhHk/PCuTZRU0UkhMIQUXD1IzswvXi2J3k82mvA3ng5letdAiuIQ3RWuM88NHyYs0FghzemQIDAQABo4GqMIGnMEEGA1UdEQQ6MDiCGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXSGGy8vY29ycG9yYXRlLmRldmljZS5jYmhxLm5ldDASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFExbVXNPLXz4r9YiQ79CbLMXuP9rMB0GA1UdDgQWBBRSzRFwzEGi/fn9OnaHPNUjyCxBwDAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQENBQADggIBAIATeuPQVUrnx3Y+uHwIQ6wPiZBpumXx3syaO+WVJqvk9Qejge5UifHQlg9ZtSlm1kBOa/gu+NRfHMGO4MWhtf0T+v4bkfHyRUUwK30qGYuzhGNPI92YaSML/qZZAUu0FZ36P+tkIA2CT0788B1ZtacZ6eAPhLIoTWVxsBVmyjjip/IRVa5ixjLzYxH0Zedqz6DijjSrbv6L6enGq0dQqLbNzVeo3blDsGxPuTAc4TPQwxRDfMgbbUH8jlwrK757aKMhIVAc6WwUJFVKLdhUYMhY9nxMqW1+fbcM2IDjbfm76rwSZDrIACMurQ5/mfowc4JRZ9Bn6+32Uk3h28mVWxW/qPbdXMdzXw9UR+Zszfg9w8mPtj4RZemFqm/wRVnHGIDXT/1bRXgmw0f8iXvzhnlxgox2bBzpuIClpXQQVdPF6Yu/eIFLiJwyo3pJFQjcWjtorkcBtrb1ixhU5UPBr1PSqcMO+mh6I53JCVmEdHI9UbUHHVToOMYrmZPrmhPdM2kcxYTw4j0qpFtpDTFKO0Gtkl80BtT/auKhFs6MH3800j/xNfNOw3zQq9Egn/U2wSVNsjzlMF7DV7g/ki6RlUKzI/RGOWG/haCJSaJVwyNcHoun+QG40lnYprj78uH903/09lCz+q8iqGuLH2Pk6pREr3RDLbM7lPhjMuYfBQ6E\"},{\"rawBytes\":\"MIIGMTCCBBmgAwIBAgIUNtuh8wFw/jnlkGdEz7zTllqXWlEwDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wHhcNMjIwODIzMTUxNjQ2WhcNMzIwODIwMTUxNjQ2WjB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExIzAhBgNVBAMMGmNiLmNvcnBvcmF0ZS11c2UxLmNiaHEubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqJvth9m6qWnJ0TDdmxr8b2vKPCmFLDbMdQSbZy73rsgu4kTXd4oHig+h6IzPFS5N3m2UrFOZY2fmUZ4IEjE5c7zVPbrhmDw/cKyW68/z0awxFo98zO83mehE6wCijoNG51SzJipWnp5qZhTIQyJ7Htb4ETJEtnguOpqKq9PyzpZqxukky5AHS4TlHr+ERvQGG00HDadVV19d6NGMKjovH5Gz80dR5W5nmE32ha/0rWDzZJ2fo4eWbg3hcs5Ndxt3y/tj4BiwUgGD9Cmi6m8ufnjn+2oRzFCvZHSCIbSBH7Ci5r5H1m0H2X0rLTvipBLhNiRivjX7svWfO/QbzqC47EIR+VFb6+L6HLef8vns0CVSQyH6ONlHlIffQPHGYkgfKcS5Q6QXr4Nr9Czzbsj+n4Ax2/PUu2jiaVoQ9HyVbuWyLB0mPfhWf/FuDlyNMLNuwvoIP5rkGOq2xuQF9Bjo1YX3Y1Y9Gnf0D4pNb1JaGMTN21r4XAEMG9cpZFNGFQk7JHWZAgs7LNORY+eDOu0lzFif2DDPgPPuRvsez0lkMIm6dGo5khHWEMKyDPjYsj5oVy0n8T4lJZWppK8FAdYc3IfyWi9XrZM7IC8GzKIMo+farRB4kFEMJ9otfDDoFaZ8cWZEkGBeMxx1cI89FIf6fegAx9qEs8gKe4gfeowHi8ECAwEAAaOBkDCBjTAdBgNVHQ4EFgQUTFtVc08tfPiv1iJDv0Jssxe4/2swHwYDVR0jBBgwFoAU9fzvbQ0jyhtIll1fMnKXwKvTL1kwEgYDVR0TAQH/BAgwBgEB/wIBATAOBgNVHQ8BAf8EBAMCAYYwJwYDVR0lBCAwHgYIKwYBBQUHAwMGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQ0FAAOCAgEAVDZIKmyi2ep1+Tr37y6UriPy6JD3BIRSDOWM5m0dNvxw7BfNcewm8s35ejmXTCx90amZTLVGCYATcJZnM83aCzV+WoZYEiO+zQiZcxOrCMYNl4wVjVcxukkx1GE0/QLvgadifB18gyAahyYX4vMU3cfoPTWWL+OnMuhx/aei7KlwGY14dv/JBnZIdlQAvo8xH+XWkf1hB4y9kZhn9vzRcyb0AhHcKZFQEJcHP2QyU1JaI1jkeuN/ZzFl01o3QC82hDBRdb8c4OS0W2ObjKj3KyKAsbaiqKFJztmOzFYCIzRFWKvM3WwIphyUerjoTDdqTfSSGaF7bXB+VamJDYx1Ls+/+YZlH5AsowtYIApLucyJPflgwDh0ab0ycNSXPBSOncP4OlcQEC5QU1FTI7l2Mp0/0F/fYZpVO0LoMZx5mIknER0Htm0b0U0qf4/vlUK/9wvu4vT0Vz7VX9c5xfuUWOC6nnmncCQC6C3dlO7Xc9KqYzKVQWqjvo3HIHauhsD50aiVrvqmYjJV7vr3sVhaTFkiY+pESwSfhkzF1GmVkJ7arkKTqwxXABfcAtu3x+mbrAUal2PrY24rIk6oz1ljFNACw3X6nay221c8fGvy/Bg9UCuy1QWxrYyO01Qmra562r6JNPYx+4pgS/dWBQkAJvzhSrP9DJISJWWri9xS8jY=\"},{\"rawBytes\":\"MIIGHjCCBAagAwIBAgIUOe6oERfHQQKHTQSpiAvABT6OjW0wDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wIBcNMjIwODIzMTUxNjA1WhgPMjA1MjA4MTUxNTE2MDVaMIGTMQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExFTATBgNVBAMMDENCLVJPT1QtQ09SRTEhMB8GCSqGSIb3DQEJARYSaW5mcmFAY29pbmJhc2UuY29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsVDJrM5nGmY4ygEKnoYmU/AjgYZrnkG7Fwo8FVblMA3WQRgTy9qZXtl2d5WWs/rdmh6AvvqtmirtqkTiI/RxzIMTRawMmeHrRBDbLqxNPBHK5liurkTqSyntMeY1Tba6xu+FxFolbL2EKeAKrbr7/0pVDvE7485mVhb8SaJubRFPkaX3DVDfjG7Jii5Jtz1qvV0SpV3+DwoE8BLaJp9ZcqnKpOdcPAaFLjXQAtEZnRNoAG0O/F0FgTWZd+G8X5rw4Ssc0bd7BvchIfErMtgewBhbCIYlFYv1ygH0HJ3qp1KmLWXEuypCUP2gQaSzJNzBq+afNQafS4WQSaovGtQtpHJbZglJjikPvTZEGSVpdcu8kUeqFbCB3sagjR723q6/gEakl3XiBfi2JHoCxRdA8X6hba2ixRNpC5zpk11G9Jqqp6p2MxFT3Onui70fzU801VGxwPmgMWFigHRFWblaMBCB5iQJr9DsIKLgYR7HNpT/Pzmxph2iYBeS3bWhSobWEnfjIG5mei0bIKRXxtsffqKRc3GVfvhvewFv4pYLGTpaAVA5B5gjpNlv0DjfCzz1SHm8Z8i4ZynPv02NA6qASsuvcC2j4XFobF1RXMsVjExVWnZSi7RvwFyzdLS/oMByPS85lzqyOv1BX+lyL56Ir586x5CcemE5p0KxLy762A0CAwEAAaNmMGQwHQYDVR0OBBYEFPX8720NI8obSJZdXzJyl8Cr0y9ZMB8GA1UdIwQYMBaAFPX8720NI8obSJZdXzJyl8Cr0y9ZMBIGA1UdEwEB/wQIMAYBAf8CAQIwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBDQUAA4ICAQBsvc8vzBTavudnrxt4lCMflvjs0krwzf77T08qaQLFfGBtpPt98WNJU5jOvObgxr5abpE7wtInZ6z08UsfU9l1g+nVoAlWa5AYheBp4UmM3AecRaDjJT6H/WK8ckVsyfLopDtVR4dmRdCghoIKDTzSPK4n3Fqs6VtxcTOcYbG9e8XoQD/mGH/ruR89AV7fdKaSobrfRSHwBK3kFg8Yn8PdgWFIDXeQj9gE+Ym2YQD2r7jcWpo8Umns03GrJrkiMH5VdAGJ7WqLF3EFF30RvlSQxCiaOByf+J0NW4gwKZ8+vK/AKhO2rviiHJDiafLbqmI3XSTGplfDGyz2nveW/0gZA4t2vFJHCX3TIEPwuLamZLgDMqTktv0fvu4sXrPJORawO8KDAvicSB0h6bU6+p9/djcrj3CA6bQiDA5VB3qEpGFCRLf/Ds9yOq1H0b/pQ6vKb1OCL+cUKGs8QU8jt0rsdF/fUwwVMA3JUeh7tGcnqoh9u4TjFX1835sVSN2oynuOJJ10kRmvKy5rpZKvaq0NlQzIulFHrTfpKdCO9cQUFYk0D1WS8IRWypT2m/V/qo3kU3hkDJuL2eyF0nSLuQ7/3JnhNXL1Yuj+gs2eIYSMFfi3kerWmet/aEzkTlgVoARwSZATP1t+a6DRZjTTDoqXixSZTr+PfpstDvtB8zgwWA==\"}]},\"timestampVerificationData\":{\"rfc3161Timestamps\":[{\"signedTimestamp\":\"MIICyTADAgEAMIICwAYJKoZIhvcNAQcCoIICsTCCAq0CAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgYwpG3ohThaG42ZGkT0Il+KjB/EaMIUOes9rLW6D3wIACFGdTefAd2MT2k+T0TGbf2qCXe06KGA8yMDI2MDMyNTE1MjEzNVowAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdswggHXAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYwMzI1MTUyMTM1WjAvBgkqhkiG9w0BCQQxIgQgtndvFn5BGq4mEi/IzpzZwJTGswN6YoRWxXrHqaeToFowgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGcwZQIwLWxfEksTWnkP/s8r0fYxHpwMGAsY4Df9y03DZgBBVQLspQn6cvbkzGXgzag1YSFjAjEAyAElROvYKca3Dw32kdY+JpEEW04PH0zJ7XPgRaOyXfN88fspgC5KlE1J4KgOOAOm\"}]}},\"messageSignature\":{\"messageDigest\":{\"algorithm\":\"SHA2_384\",\"digest\":\"TW+En7aZ4Tn7/Dd86FCgviZVqDvaECXjaA3rMzbG7234ITof6aovgorMjp54H1h1\"},\"signature\":\"MGYCMQChCCdkDsDz7ceNOH0ewsIVekppB8KheuzzXsiN/fWwjgH4m+wvXfjaODNFtxkAP+QCMQD9Pwz4HQsYwGaJaFiMC/Iwki6VmZ6ruZhEn1jvCEIA5VvEg/Ov5btdykfdIpP84Oo=\"}}"
  },
  {
    "path": "sepolia/signatures/2026-03-25-increase-gas-and-elasticity-limit/creator-signature.json",
    "content": "{\"mediaType\":\"application/vnd.dev.sigstore.bundle+json;version=0.2\",\"verificationMaterial\":{\"x509CertificateChain\":{\"certificates\":[{\"rawBytes\":\"MIIEKjCCAhKgAwIBAgIUdKvkAsr1Cpb+NPgfaCm80ADq4ecwDQYJKoZIhvcNAQENBQAwfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMREwDwYDVQQKEwhDb2luYmFzZTERMA8GA1UECxMIU2VjdXJpdHkxIjAgBgNVBAMTGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwHhcNMjYwMzI1MTM1MjE5WhcNMjYwMzI2MTM1MjE5WjBZMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xETAPBgNVBAoTCENvaW5iYXNlMRIwEAYDVQQLEwljb3Jwb3JhdGUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASF2cLOAjN6Yhm+poGR536aCp3P3FhRZXDp5LBKcR86LXZYT5DVEo5YAE1TrqSkSuRvVjubEYgkczT0m14mcyDa8fZ34ue5nmxS+y1XOLJ8Swbi3VZjrQ35rZQRqh3PkyijdTBzMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBRSzRFwzEGi/fn9OnaHPNUjyCxBwDArBgNVHREEJDAihiB1c2VyOi8vL2xlb3BvbGQuam95QGNvaW5iYXNlLmNvbTANBgkqhkiG9w0BAQ0FAAOCAgEAhnFLU6KmSlkhBxzWpDez9RFQm470L0+o8Jfz8/1zC6SJOAEnOkAfj9R/0joW2iqnkGignhq8mgFoWBvq3BvUJJrPWTunI/c6v7iHFU9UMdnPzGfxzXhk6diWW9jamC5wqUMzF1kyPtwyum1RT/Rl1x/m4TxbFLi965Jcv8NRCuPNxReoAh7sS3emFfoeXAjgoxnYVed5lB2fzhfsZUGo1fpCyVPcfok6j2iMR1/92+QSRnJOZH7ofUuFbT8M8feI11fxWYRedXA5bCucOEpnVKSG8Q8DJs+nQvIFyWiFyvEHC9dqT+fR+gYV6QIIkb16RbE42shV0aGy+/7T6I7CxW0taNMliz9tuAsmpmSFyJeiHAUqzqiygtkaeHhVgVCtObFSXjiY/tmR0Ye3Z6/nYYqPUR9rDyVQI2xhYjzwSm8hF6ZolQ6iEaTGaeVr8u/WcAPAYz6vmC3rlt6KOYq3BFmvegdlsQGRzAr9pnbDneU4Htgcs4bWF+UFMWcDyDYVDR5CE2RijAhirNacldqjwV/PN8t7ggFDjbCrTGUpgWyR2dn28WyDII05odU9BepUfiFNDIBeKRlyHh32+QK3wGXjzDSmB+jarm9mE+l2ld5aVsqAjh4oLJkOUMfwQFypuXkoxwg6M1CTQJ34RPb3iuaHN7ZGeg7G9AYYzDG9/hA=\"},{\"rawBytes\":\"MIIGLzCCBBegAwIBAgIQO+msbE+PywvrJE10RDOsnTANBgkqhkiG9w0BAQ0FADB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExIzAhBgNVBAMMGmNiLmNvcnBvcmF0ZS11c2UxLmNiaHEubmV0MB4XDTI2MDMxOTEyNTUzMVoXDTI2MDYyNzEzNTUzMVowfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMREwDwYDVQQKEwhDb2luYmFzZTERMA8GA1UECxMIU2VjdXJpdHkxIjAgBgNVBAMTGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9QQuMCa1rOJaw7lmbXoueKWsoFwHrBit7CKGy9/Q8j2lUncDC9Xivod/S0BGgt/5r0/+DmVOkpMpM1GYPwFfI2fmcRxogGXWnPfr/MPGWAolLWKYVcY1t9+Wt/HYwx7E5LMxg35M2WNZ0mNqhu+dfVxRY03maPNfrBCKa3oUCMsuEkfJRCgb9hzQ8WjTrqNwSlGPFEgzLLUHg0IHmG/v1cWbTeemWNeRo4J4o2CQPVNo1wbZZVOkn0Jq5ZtZgjmE6dbHKVMbsC4nzfSZGcUMs20ZjLGWfP7qM3M/YHqaEQpucVvUGNwbkoVw7ix4BNaVBMMIvH0yeCHwy8O90G5QJssWW1YI+RKBlVK+RCNH7qjvU3xXOL0SL+blMtg/ie7AJYp0QhsZlWOadLf6gwRboZehwov1xmgqWMHVnGAwFDolxeNCxVvJ3u27dQXNUCepN6X12M/yLAL9svy1Rm4ExNFHBhQQH4PSJDucBS/hZEAg3gsfLAUpZmW8K1qsarNpZpkGrh6vseQpoAOqKmr9NiziCrcAkgJdNzqqS02v2E223Zsrb+CI9FpRF1DO8DGnQIskBbxxVViQ+6o+x4ssuiyuRCgx3U1DhuRfhHk/PCuTZRU0UkhMIQUXD1IzswvXi2J3k82mvA3ng5letdAiuIQ3RWuM88NHyYs0FghzemQIDAQABo4GqMIGnMEEGA1UdEQQ6MDiCGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXSGGy8vY29ycG9yYXRlLmRldmljZS5jYmhxLm5ldDASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFExbVXNPLXz4r9YiQ79CbLMXuP9rMB0GA1UdDgQWBBRSzRFwzEGi/fn9OnaHPNUjyCxBwDAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQENBQADggIBAIATeuPQVUrnx3Y+uHwIQ6wPiZBpumXx3syaO+WVJqvk9Qejge5UifHQlg9ZtSlm1kBOa/gu+NRfHMGO4MWhtf0T+v4bkfHyRUUwK30qGYuzhGNPI92YaSML/qZZAUu0FZ36P+tkIA2CT0788B1ZtacZ6eAPhLIoTWVxsBVmyjjip/IRVa5ixjLzYxH0Zedqz6DijjSrbv6L6enGq0dQqLbNzVeo3blDsGxPuTAc4TPQwxRDfMgbbUH8jlwrK757aKMhIVAc6WwUJFVKLdhUYMhY9nxMqW1+fbcM2IDjbfm76rwSZDrIACMurQ5/mfowc4JRZ9Bn6+32Uk3h28mVWxW/qPbdXMdzXw9UR+Zszfg9w8mPtj4RZemFqm/wRVnHGIDXT/1bRXgmw0f8iXvzhnlxgox2bBzpuIClpXQQVdPF6Yu/eIFLiJwyo3pJFQjcWjtorkcBtrb1ixhU5UPBr1PSqcMO+mh6I53JCVmEdHI9UbUHHVToOMYrmZPrmhPdM2kcxYTw4j0qpFtpDTFKO0Gtkl80BtT/auKhFs6MH3800j/xNfNOw3zQq9Egn/U2wSVNsjzlMF7DV7g/ki6RlUKzI/RGOWG/haCJSaJVwyNcHoun+QG40lnYprj78uH903/09lCz+q8iqGuLH2Pk6pREr3RDLbM7lPhjMuYfBQ6E\"},{\"rawBytes\":\"MIIGMTCCBBmgAwIBAgIUNtuh8wFw/jnlkGdEz7zTllqXWlEwDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wHhcNMjIwODIzMTUxNjQ2WhcNMzIwODIwMTUxNjQ2WjB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExIzAhBgNVBAMMGmNiLmNvcnBvcmF0ZS11c2UxLmNiaHEubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqJvth9m6qWnJ0TDdmxr8b2vKPCmFLDbMdQSbZy73rsgu4kTXd4oHig+h6IzPFS5N3m2UrFOZY2fmUZ4IEjE5c7zVPbrhmDw/cKyW68/z0awxFo98zO83mehE6wCijoNG51SzJipWnp5qZhTIQyJ7Htb4ETJEtnguOpqKq9PyzpZqxukky5AHS4TlHr+ERvQGG00HDadVV19d6NGMKjovH5Gz80dR5W5nmE32ha/0rWDzZJ2fo4eWbg3hcs5Ndxt3y/tj4BiwUgGD9Cmi6m8ufnjn+2oRzFCvZHSCIbSBH7Ci5r5H1m0H2X0rLTvipBLhNiRivjX7svWfO/QbzqC47EIR+VFb6+L6HLef8vns0CVSQyH6ONlHlIffQPHGYkgfKcS5Q6QXr4Nr9Czzbsj+n4Ax2/PUu2jiaVoQ9HyVbuWyLB0mPfhWf/FuDlyNMLNuwvoIP5rkGOq2xuQF9Bjo1YX3Y1Y9Gnf0D4pNb1JaGMTN21r4XAEMG9cpZFNGFQk7JHWZAgs7LNORY+eDOu0lzFif2DDPgPPuRvsez0lkMIm6dGo5khHWEMKyDPjYsj5oVy0n8T4lJZWppK8FAdYc3IfyWi9XrZM7IC8GzKIMo+farRB4kFEMJ9otfDDoFaZ8cWZEkGBeMxx1cI89FIf6fegAx9qEs8gKe4gfeowHi8ECAwEAAaOBkDCBjTAdBgNVHQ4EFgQUTFtVc08tfPiv1iJDv0Jssxe4/2swHwYDVR0jBBgwFoAU9fzvbQ0jyhtIll1fMnKXwKvTL1kwEgYDVR0TAQH/BAgwBgEB/wIBATAOBgNVHQ8BAf8EBAMCAYYwJwYDVR0lBCAwHgYIKwYBBQUHAwMGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQ0FAAOCAgEAVDZIKmyi2ep1+Tr37y6UriPy6JD3BIRSDOWM5m0dNvxw7BfNcewm8s35ejmXTCx90amZTLVGCYATcJZnM83aCzV+WoZYEiO+zQiZcxOrCMYNl4wVjVcxukkx1GE0/QLvgadifB18gyAahyYX4vMU3cfoPTWWL+OnMuhx/aei7KlwGY14dv/JBnZIdlQAvo8xH+XWkf1hB4y9kZhn9vzRcyb0AhHcKZFQEJcHP2QyU1JaI1jkeuN/ZzFl01o3QC82hDBRdb8c4OS0W2ObjKj3KyKAsbaiqKFJztmOzFYCIzRFWKvM3WwIphyUerjoTDdqTfSSGaF7bXB+VamJDYx1Ls+/+YZlH5AsowtYIApLucyJPflgwDh0ab0ycNSXPBSOncP4OlcQEC5QU1FTI7l2Mp0/0F/fYZpVO0LoMZx5mIknER0Htm0b0U0qf4/vlUK/9wvu4vT0Vz7VX9c5xfuUWOC6nnmncCQC6C3dlO7Xc9KqYzKVQWqjvo3HIHauhsD50aiVrvqmYjJV7vr3sVhaTFkiY+pESwSfhkzF1GmVkJ7arkKTqwxXABfcAtu3x+mbrAUal2PrY24rIk6oz1ljFNACw3X6nay221c8fGvy/Bg9UCuy1QWxrYyO01Qmra562r6JNPYx+4pgS/dWBQkAJvzhSrP9DJISJWWri9xS8jY=\"},{\"rawBytes\":\"MIIGHjCCBAagAwIBAgIUOe6oERfHQQKHTQSpiAvABT6OjW0wDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wIBcNMjIwODIzMTUxNjA1WhgPMjA1MjA4MTUxNTE2MDVaMIGTMQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExFTATBgNVBAMMDENCLVJPT1QtQ09SRTEhMB8GCSqGSIb3DQEJARYSaW5mcmFAY29pbmJhc2UuY29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsVDJrM5nGmY4ygEKnoYmU/AjgYZrnkG7Fwo8FVblMA3WQRgTy9qZXtl2d5WWs/rdmh6AvvqtmirtqkTiI/RxzIMTRawMmeHrRBDbLqxNPBHK5liurkTqSyntMeY1Tba6xu+FxFolbL2EKeAKrbr7/0pVDvE7485mVhb8SaJubRFPkaX3DVDfjG7Jii5Jtz1qvV0SpV3+DwoE8BLaJp9ZcqnKpOdcPAaFLjXQAtEZnRNoAG0O/F0FgTWZd+G8X5rw4Ssc0bd7BvchIfErMtgewBhbCIYlFYv1ygH0HJ3qp1KmLWXEuypCUP2gQaSzJNzBq+afNQafS4WQSaovGtQtpHJbZglJjikPvTZEGSVpdcu8kUeqFbCB3sagjR723q6/gEakl3XiBfi2JHoCxRdA8X6hba2ixRNpC5zpk11G9Jqqp6p2MxFT3Onui70fzU801VGxwPmgMWFigHRFWblaMBCB5iQJr9DsIKLgYR7HNpT/Pzmxph2iYBeS3bWhSobWEnfjIG5mei0bIKRXxtsffqKRc3GVfvhvewFv4pYLGTpaAVA5B5gjpNlv0DjfCzz1SHm8Z8i4ZynPv02NA6qASsuvcC2j4XFobF1RXMsVjExVWnZSi7RvwFyzdLS/oMByPS85lzqyOv1BX+lyL56Ir586x5CcemE5p0KxLy762A0CAwEAAaNmMGQwHQYDVR0OBBYEFPX8720NI8obSJZdXzJyl8Cr0y9ZMB8GA1UdIwQYMBaAFPX8720NI8obSJZdXzJyl8Cr0y9ZMBIGA1UdEwEB/wQIMAYBAf8CAQIwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBDQUAA4ICAQBsvc8vzBTavudnrxt4lCMflvjs0krwzf77T08qaQLFfGBtpPt98WNJU5jOvObgxr5abpE7wtInZ6z08UsfU9l1g+nVoAlWa5AYheBp4UmM3AecRaDjJT6H/WK8ckVsyfLopDtVR4dmRdCghoIKDTzSPK4n3Fqs6VtxcTOcYbG9e8XoQD/mGH/ruR89AV7fdKaSobrfRSHwBK3kFg8Yn8PdgWFIDXeQj9gE+Ym2YQD2r7jcWpo8Umns03GrJrkiMH5VdAGJ7WqLF3EFF30RvlSQxCiaOByf+J0NW4gwKZ8+vK/AKhO2rviiHJDiafLbqmI3XSTGplfDGyz2nveW/0gZA4t2vFJHCX3TIEPwuLamZLgDMqTktv0fvu4sXrPJORawO8KDAvicSB0h6bU6+p9/djcrj3CA6bQiDA5VB3qEpGFCRLf/Ds9yOq1H0b/pQ6vKb1OCL+cUKGs8QU8jt0rsdF/fUwwVMA3JUeh7tGcnqoh9u4TjFX1835sVSN2oynuOJJ10kRmvKy5rpZKvaq0NlQzIulFHrTfpKdCO9cQUFYk0D1WS8IRWypT2m/V/qo3kU3hkDJuL2eyF0nSLuQ7/3JnhNXL1Yuj+gs2eIYSMFfi3kerWmet/aEzkTlgVoARwSZATP1t+a6DRZjTTDoqXixSZTr+PfpstDvtB8zgwWA==\"}]},\"timestampVerificationData\":{\"rfc3161Timestamps\":[{\"signedTimestamp\":\"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgPQ6czppjGoe+0rjRSqAel4WvHoE6j2z9nnmI6SgYElUCFQCdmhmrSCGswSAQ8EwBYDQqXqHiXRgPMjAyNjAzMjUxMzUyMjBaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHbMIIB1wIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MDMyNTEzNTIyMFowLwYJKoZIhvcNAQkEMSIEIMLQWvZlCEY0dhFv3tt5LeHWbfzQ/rgjHx9kt+f4P/sbMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRnMGUCMHcXrxDUoBHJaOJfjYbucH15NdAgtnYCA0ZPul5DwijKSoYGsfMBWFoMFSAEDlJOLgIxAKLsajrRdtoQq+92lnrvtP7vxp3KQMDupc+2jvH9CsG+LUAusRy6cq79DjaEN8tk0Q==\"}]}},\"messageSignature\":{\"messageDigest\":{\"algorithm\":\"SHA2_384\",\"digest\":\"TW+En7aZ4Tn7/Dd86FCgviZVqDvaECXjaA3rMzbG7234ITof6aovgorMjp54H1h1\"},\"signature\":\"MGUCMA1rT0YU/aF+VtgYXM/U5IK18qOkDNB+CFneln/AxY83n2P0iaEj8mqrtD6CWZ+IFAIxANsNDmRmhkXh3c6FEWRAfHj2Zc9q/dF+kJVTrNx3j+vW5fEp+Ud0/xVbAWhThFfwMw==\"}}"
  },
  {
    "path": "sepolia-alpha/2023-09-20-deploy/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n##\n# Deploy command\n##\n.PHONY: deploy\ndeploy:\n\tcp deploy-config/deploy-config.json lib/optimism/packages/contracts-bedrock/deploy-config/\n\tcd lib/optimism/packages/contracts-bedrock && \\\n\t\tforge build && \\\n\t\tETH_RPC_URL=$(L1_RPC_URL) DEPLOYMENT_CONTEXT=deploy-config IMPL_SALT=base forge script --private-key $(PRIVATE_KEY) --rpc-url $(L1_RPC_URL) Deploy --broadcast\n\tcp lib/optimism/packages/contracts-bedrock/deployments/deploy-config/.deploy deployed/addresses.json\n"
  },
  {
    "path": "sepolia-alpha/2023-09-20-deploy/deploy-config/deploy-config.json",
    "content": "{\n  \"finalSystemOwner\": \"0xAf6E0E871f38c7B653700F7CbAEDafaa2784D430\",\n  \"portalGuardian\": \"0x4F43c7422a9b2AC4BC6145Bd4eE206EA73cF8266\",\n\n  \"l1StartingBlockTag\": \"safe\",\n\n  \"l1ChainID\": 11155111,\n  \"l2ChainID\": 11763072,\n  \"l1BlockTime\": 12,\n  \"l2BlockTime\": 2,\n\n  \"maxSequencerDrift\": 600,\n  \"sequencerWindowSize\": 3600,\n  \"channelTimeout\": 300,\n\n  \"p2pSequencerAddress\": \"0xfd7bc3C58Fe4D4296F11F7843ebbA84D729A24B9\",\n  \"batchInboxAddress\": \"0xFf00000000000000000000000000000011763072\",\n  \"batchSenderAddress\": \"0x212dD524932bC43478688F91045F2682913ad8EE\",\n\n  \"l2OutputOracleSubmissionInterval\": 120,\n  \"l2OutputOracleStartingBlockNumber\": 0,\n  \"l2OutputOracleStartingTimestamp\": -1,\n\n  \"l2OutputOracleProposer\": \"0xBcB04FC753D36dcEeBe9Df7E18E23c46D1fcEA3c\",\n  \"l2OutputOracleChallenger\": \"0x5a533AaAC6cd81605b301a1077BC393A94658B6D\",\n\n  \"finalizationPeriodSeconds\": 12,\n\n  \"proxyAdminOwner\": \"0x90128dbCee6178169BBc3CA90c18a93602A53721\",\n  \"baseFeeVaultRecipient\": \"0x72dbd6eCAA183178716c676E028f715b7f906076\",\n  \"l1FeeVaultRecipient\": \"0x7019038c0c3eBC188b42521040A4b8Eb8F9B25c3\",\n  \"sequencerFeeVaultRecipient\": \"0x87663bB7DcFBebb9be155da59F36B4e5c5688e64\",\n\n  \"baseFeeVaultMinimumWithdrawalAmount\": \"0x1bc16d674ec80000\",\n  \"l1FeeVaultMinimumWithdrawalAmount\": \"0x1bc16d674ec80000\",\n  \"sequencerFeeVaultMinimumWithdrawalAmount\": \"0x1bc16d674ec80000\",\n  \"baseFeeVaultWithdrawalNetwork\": 0,\n  \"l1FeeVaultWithdrawalNetwork\": 0,\n  \"sequencerFeeVaultWithdrawalNetwork\": 0,\n\n  \"gasPriceOracleOverhead\": 2100,\n  \"gasPriceOracleScalar\": 1000000,\n\n  \"governanceTokenSymbol\": \"NA\",\n  \"governanceTokenName\": \"NotApplicable\",\n  \"governanceTokenOwner\": \"0x5cd5866C3822e18b02487BEc09A31e0229370a08\",\n\n  \"l2GenesisBlockGasLimit\": \"0x17D7840\",\n  \"l2GenesisBlockBaseFeePerGas\": \"0x3b9aca00\",\n\n  \"eip1559Denominator\": 50,\n  \"eip1559Elasticity\": 10,\n\n  \"l2GenesisRegolithTimeOffset\": \"0x0\",\n\n  \"systemConfigStartBlock\": 0,\n  \"requiredProtocolVersion\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n  \"recommendedProtocolVersion\": \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n}\n"
  },
  {
    "path": "sepolia-alpha/2023-09-20-deploy/deployed/addresses.json",
    "content": "{\n  \"AddressManager\": \"0x882a60911d00867Fe4ea632C479cc48e583A8D69\",\n  \"L1CrossDomainMessenger\": \"0xAf347D24F99E9f66BE6d4AD47A599d6a417cD14F\",\n  \"L1CrossDomainMessengerProxy\": \"0x2cbD403d5BA3949D24ee4dF57805eaC612C2662f\",\n  \"L1ERC721Bridge\": \"0x0978b4dC20a50434cBFEe73917d52F2c7C54d908\",\n  \"L1ERC721BridgeProxy\": \"0xc3016ED03E087d092d576B585F5222fFD9cadc10\",\n  \"L1StandardBridge\": \"0xfB74918FEbA5A73FC55b6B38023bD6B755d6A211\",\n  \"L1StandardBridgeProxy\": \"0x5638e55db5Fcf7A58df525F1098E8569C8DbA80c\",\n  \"L2OutputOracle\": \"0xDb9B05A5573Cf6bFD77e0d516455Ab1b9217F6c4\",\n  \"L2OutputOracleProxy\": \"0xB5901509329307E3f910f333Fa9C4B4A8EE7CE1A\",\n  \"OptimismMintableERC20Factory\": \"0xeb18726dAC6f3C1a09d7ccA96fdb3f8Df1515df6\",\n  \"OptimismMintableERC20FactoryProxy\": \"0xEAa11178375e6B1078d815d6F9F85cBbb69b09Cd\",\n  \"OptimismPortal\": \"0xCe7b8049D23F77e7b71AD45647D1B6C136a79b55\",\n  \"OptimismPortalProxy\": \"0x579c82A835B884336B632eeBeCC78FA08D3291Ec\",\n  \"ProtocolVersions\": \"0x31c34D99B3E426DD84247B8716139109eD57546F\",\n  \"ProtocolVersionsProxy\": \"0xDe8dBb1c0D2A6e22c8927cF80ddeE001d9eCd2c4\",\n  \"ProxyAdmin\": \"0xC5aE9023bFA79124ffA50169E1423E733D0166f1\",\n  \"SystemConfig\": \"0xE850222383d980Df54AA5245e547a1B35CD2463A\",\n  \"SystemConfigProxy\": \"0x7F67DC4959cb3E532B10A99F41bDD906C46FdFdE\"\n}"
  },
  {
    "path": "sepolia-alpha/2023-09-20-deploy/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nscript = 'script'\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nremappings = [\n#    '@optimism/=lib/optimism/packages/contracts-bedrock',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@cwia/=lib/clones-with-immutable-args/src',\n    'safe-contracts/=lib/safe-contracts/contracts/',\n]\n"
  },
  {
    "path": "sepolia-alpha/2023-10-06-upgrade-l1-standard-bridge/.gitignore",
    "content": "/src/\n"
  },
  {
    "path": "sepolia-alpha/2023-10-06-upgrade-l1-standard-bridge/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n.PHONY: prepare\nprepare:\n\trm -rf src\n\tcp -r lib/optimism/packages/contracts-bedrock/src/ src/\n\n.PHONY: deploy\ndeploy:\n\tforge script --rpc-url $(L1_RPC_URL) --private-key $(PRIVATE_KEY) DeployL1StandardBridgeImplementation --broadcast\n\n.PHONY: upgrade\nupgrade:\n\tforge script --rpc-url $(L1_RPC_URL) --private-key $(PRIVATE_KEY) UpgradeL1StandardBridge --broadcast\n"
  },
  {
    "path": "sepolia-alpha/2023-10-06-upgrade-l1-standard-bridge/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/contracts/=lib/optimism/packages/contracts-bedrock/src/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@cwia/=lib/clones-with-immutable-args/src'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "sepolia-alpha/2023-10-06-upgrade-l1-standard-bridge/records/DeployL1StandardBridge.s.sol/11155111/run-1696723112.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xc3b349fe899bf316844353befcecd49f09d05093a64a866796a990a9ac5118e2\",\n      \"transactionType\": \"CREATE2\",\n      \"contractName\": \"L1StandardBridge\",\n      \"contractAddress\": \"0x09753d716687D68c45a6800128eE111A412E1B1C\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0x24a1704636ab7083eac56294aff13e1651997638\",\n        \"to\": \"0x4e59b44847b379578588920ca78fbf26c0b4956c\",\n        \"gas\": \"0x29b90d\",\n        \"value\": \"0x0\",\n        \"data\": \"0xf1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f60a08060405234610184577342000000000000000000000000000000000000106080526000549060ff8260081c161580610177575b1561011e575061ffff1916610103811760081c60ff16156100c557600380546001600160a01b03191681559081176000556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a160405161227b908161018a8239608051818181610316015281816108be01528181610d3301528181611aec0152611d640152f35b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b62461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50600360ff831610610034565b600080fdfe60806040526004361015610023575b361561001957600080fd5b610021610c2f565b005b60003560e01c80630166a07a1461012c57806309fc8843146101235780631532ec341461016b5780631635f5fd1461016b5780633cb747bf1461013e578063540abf731461015957806354fd4d501461016257806358a997f6146101505780637f46ddb214610111578063838b25201461015957806387087623146101505780638f601f661461014757806391c49bf814610111578063927ede2d1461013e5780639a2ac6d514610135578063a9f9e6751461012c578063b1a1a88214610123578063c4d66de81461011a578063c89701a2146101115763e11013dd0361000e5761010c610980565b61000e565b5061010c610872565b5061010c6109f8565b5061010c61037d565b5061010c61024b565b5061010c610980565b5061010c6104a7565b5061010c6108e2565b5061010c6107e5565b5061010c6104fa565b5061010c610764565b5061010c6103fa565b73ffffffffffffffffffffffffffffffffffffffff81160361019257565b600080fd5b9181601f840112156101925782359167ffffffffffffffff8311610192576020838186019501011161019257565b9060c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc830112610192576004356101fc81610174565b9160243561020981610174565b9160443561021681610174565b9160643561022381610174565b916084359160a4359067ffffffffffffffff82116101925761024791600401610197565b9091565b50346101925761002161025d366101c5565b956102ca6102a261028960039894989795975473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff808216331491826102cf575b5050610ec1565b6113cb565b60049250602090604051938480927f6e296e450000000000000000000000000000000000000000000000000000000082525afa918215610370575b600092610340575b50807f00000000000000000000000000000000000000000000000000000000000000001691161438806102c3565b61036291925060203d8111610369575b61035a8183610639565b810190610e9c565b9038610312565b503d610350565b610378610eb4565b61030a565b5060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101925760043563ffffffff81168103610192576024359067ffffffffffffffff8211610192576103f16103df610021933690600401610197565b6103ea333b15610ba4565b3691610d92565b903433336119f2565b5060807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101925760043561043181610174565b6024359061043e82610174565b6064359167ffffffffffffffff831161019257610462610021933690600401610197565b92909161049373ffffffffffffffffffffffffffffffffffffffff80600354169081331491826102cf575050610ec1565b60443591611113565b600091031261019257565b50346101925760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019257602073ffffffffffffffffffffffffffffffffffffffff60035416604051908152f35b50346101925760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101925760043561053681610174565b6024359061054382610174565b6044359161055083610174565b6084359063ffffffff821682036101925760a4359367ffffffffffffffff8511610192576105886103ea610021963690600401610197565b93606435923391611bfd565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff81116105d857604052565b6105e0610594565b604052565b6040810190811067ffffffffffffffff8211176105d857604052565b6020810190811067ffffffffffffffff8211176105d857604052565b6060810190811067ffffffffffffffff8211176105d857604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176105d857604052565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60209267ffffffffffffffff81116106b6575b01160190565b6106be610594565b6106b0565b604051906020820182811067ffffffffffffffff8211176106e8575b60405260008252565b6106f0610594565b6106df565b91908251928382526000905b84821061074c5750601f84602094957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0931161073f575b0116010190565b6000858286010152610738565b90602090818082850101519082860101520190610701565b50346101925760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610192576107e16040516107a3816105e5565b600581527f312e342e3000000000000000000000000000000000000000000000000000000060208201526040519182916020835260208301906106f5565b0390f35b50346101925760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101925760043561082181610174565b60243561082d81610174565b60643563ffffffff81168103610192576084359267ffffffffffffffff8411610192576108646103df610021953690600401610197565b926044359133913391611bfd565b50346101925760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019257602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346101925760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019257602061097760043561092381610174565b73ffffffffffffffffffffffffffffffffffffffff6024359161094583610174565b166000526002835260406000209073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b54604051908152f35b5060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610192576004356109b781610174565b6024359063ffffffff82168203610192576044359167ffffffffffffffff8311610192576109ef6103ea610021943690600401610197565b913490336119f2565b50346101925760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019257600435610a3481610174565b60005460ff8160081c16159081610b96575b5015610b1257610ab690610a8060037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006000541617600055565b610ab16101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff6000541617600055565b610dc9565b610ae37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff60005416600055565b604051600381527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a1005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152fd5b6003915060ff161038610a46565b15610bab57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c60448201527f792062652063616c6c65642066726f6d20616e20454f410000000000000000006064820152fd5b610c3a333b15610ba4565b610cb7604051610c4981610601565b60008152610c5981343333611b26565b610ce3610c7e61028960035473ffffffffffffffffffffffffffffffffffffffff1690565b916040519384917f1635f5fd0000000000000000000000000000000000000000000000000000000060208401523433336024860161193b565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101845283610639565b803b1561019257610d5c9160009160405180809581947f3dbb202b00000000000000000000000000000000000000000000000000000000835273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660048401611977565b039134905af18015610d85575b610d705750565b80610d7d610d83926105c4565b8061049c565b565b610d8d610eb4565b610d69565b929192610d9e8261067a565b91610dac6040519384610639565b829481845281830111610192578281602093846000960137010152565b60ff60005460081c1615610e185773ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006003541617600355565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152fd5b908160209103126101925751610eb181610174565b90565b506040513d6000823e3d90fd5b15610ec857565b60a46040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604160248201527f5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c60448201527f792062652063616c6c65642066726f6d20746865206f7468657220627269646760648201527f65000000000000000000000000000000000000000000000000000000000000006084820152fd5b15610f7957565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f5374616e646172644272696467653a2063616e6e6f742073656e6420746f207360448201527f656c6600000000000000000000000000000000000000000000000000000000006064820152fd5b1561100457565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f5374616e646172644272696467653a2063616e6e6f742073656e6420746f206d60448201527f657373656e6765720000000000000000000000000000000000000000000000006064820152fd5b1561108f57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f5374616e646172644272696467653a20455448207472616e736665722066616960448201527f6c656400000000000000000000000000000000000000000000000000000000006064820152fd5b939291909181340361119c57610d8394828461118261118894611197986103ea73ffffffffffffffffffffffffffffffffffffffff851661115630821415610f72565b61117b61028961028960035473ffffffffffffffffffffffffffffffffffffffff1690565b1415610ffd565b92611237565b5a6111916106c3565b926112c0565b611088565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5374616e646172644272696467653a20616d6f756e742073656e7420646f657360448201527f206e6f74206d6174636820616d6f756e742072657175697265640000000000006064820152fd5b604090610eb19392815281602082015201906106f5565b927f31b2166ff604fc5672ea5df08a78081d2bc6d746cadce880747f3643d819e83d91929373ffffffffffffffffffffffffffffffffffffffff80911693169384847f2ac69ee804d9a7a0984249f508dfab7cb2534b465b6ce1580f99a38ba9c5e631604051806112a9878783611220565b0390a36112bb60405192839283611220565b0390a3565b906000939192849360208451940192f190565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81811061130e570390565b6113166112d3565b0390565b1561132157565b60a46040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604a60248201527f5374616e646172644272696467653a2077726f6e672072656d6f746520746f6b60448201527f656e20666f72204f7074696d69736d204d696e7461626c65204552433230206c60648201527f6f63616c20746f6b656e000000000000000000000000000000000000000000006084820152fd5b946113d586611f47565b156114a7576113ec6113e7838861214c565b61131a565b73ffffffffffffffffffffffffffffffffffffffff861690813b15610192576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8616600482015260248101879052610d8398611481939091906000908290604490829084905af1801561149a575b611487575b503691610d92565b94611821565b80610d7d611494926105c4565b38611479565b6114a2610eb4565b611474565b61148190610d839761150c87611506866114e18c73ffffffffffffffffffffffffffffffffffffffff166000526002602052604060002090565b9073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b54611303565b61153a856114e18b73ffffffffffffffffffffffffffffffffffffffff166000526002602052604060002090565b5561155c878773ffffffffffffffffffffffffffffffffffffffff8b16611561565b6103ea565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff90921660248301526044820192909252610d83916115c08260648101610cb7565b611668565b90816020910312610192575180151581036101925790565b156115e457565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff16906040519061168c826105e5565b6020928383527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656484840152803b1561170357600082819282876116de9796519301915af16116d8611761565b90611791565b805190816116eb57505050565b82610d83936116fe9383010191016115c5565b6115dd565b606484604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b3d1561178c573d906117728261067a565b916117806040519384610639565b82523d6000602084013e565b606090565b9091901561179d575090565b8151156117ad5750805190602001fd5b6117eb906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906106f5565b0390fd5b610eb1939273ffffffffffffffffffffffffffffffffffffffff606093168252602082015281604082015201906106f5565b926118ab7fd59c65b35445225835c83f50b6ede06a7be047d22e357073e250d9af537518cd9395929473ffffffffffffffffffffffffffffffffffffffff8080921696169616968787877f3ceee06c1e37648fcbb6ed52e17b3e1f275a1f8c7b22a84b2b84732431e046b36040518061189c878b8b846117ef565b0390a4604051938493846117ef565b0390a4565b156118b757565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f5374616e646172644272696467653a206272696467696e6720455448206d757360448201527f7420696e636c7564652073756666696369656e74204554482076616c756500006064820152fd5b9092610eb1949360809373ffffffffffffffffffffffffffffffffffffffff8092168452166020830152604082015281606082015201906106f5565b92916119ad60409173ffffffffffffffffffffffffffffffffffffffff62030d40941686526060602087015260608601906106f5565b930152565b916119eb63ffffffff9173ffffffffffffffffffffffffffffffffffffffff6040949796971685526060602086015260608501906106f5565b9416910152565b611a9b90949194939293611a078534146118b0565b611a1383868884611b26565b611a6f611a3861028960035473ffffffffffffffffffffffffffffffffffffffff1690565b93866040519889947f1635f5fd0000000000000000000000000000000000000000000000000000000060208701526024860161193b565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101865285610639565b803b1561019257611b15936000936040518096819582947f3dbb202b00000000000000000000000000000000000000000000000000000000845273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016600485016119b2565b03925af18015610d8557610d705750565b927f2849b43074093a05396b6f2a937dee8565b15a48a7b3d4bffb732a5017380af591929373ffffffffffffffffffffffffffffffffffffffff80911693169384847f35d79ab81f2b2017e19afb5c5571778877782d7a8786f5907f93b0f4702f4f23604051806112a9878783611220565b81198111611ba4570190565b611bac6112d3565b0190565b9293610eb19695929160c09573ffffffffffffffffffffffffffffffffffffffff809481809416885216602087015216604085015216606083015260808201528160a082015201906106f5565b9493909195611c0b86611f47565b15611dad57611c1d6113e7848861214c565b73ffffffffffffffffffffffffffffffffffffffff861691823b15610192576040517f9dc29fac00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8916600482015260248101829052611d1295610cb7949091906000908290604490829084905af18015611da0575b611d8d575b505b611cba8383838c898d611ecc565b611cdc61028960035473ffffffffffffffffffffffffffffffffffffffff1690565b986040519889967f0166a07a00000000000000000000000000000000000000000000000000000000602089015260248801611bb0565b823b1561019257611b1592600092836040518096819582947f3dbb202b00000000000000000000000000000000000000000000000000000000845273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016600485016119b2565b80610d7d611d9a926105c4565b38611caa565b611da8610eb4565b611ca5565b81611d1294611dd7610cb794308b73ffffffffffffffffffffffffffffffffffffffff8c16611e43565b611e0f82611e09876114e18c73ffffffffffffffffffffffffffffffffffffffff166000526002602052604060002090565b54611b98565b611e3d866114e18b73ffffffffffffffffffffffffffffffffffffffff166000526002602052604060002090565b55611cac565b9092610d8393604051937f23b872dd00000000000000000000000000000000000000000000000000000000602086015273ffffffffffffffffffffffffffffffffffffffff809216602486015216604484015260648301526064825260a0820182811067ffffffffffffffff821117611ebf575b604052611668565b611ec7610594565b611eb7565b926118ab7f7ff126db8024424bbfd9826e8ab82ff59136289ea440b04b39a0df1b03b9cabf9395929473ffffffffffffffffffffffffffffffffffffffff8080921696169616968787877f718594027abd4eaed59f95162563e0cc6d0e8d5b86b1c7be8b1b0ac3343d03966040518061189c878b8b846117ef565b611f5081612019565b908115611f5b575090565b9050611f66816120a8565b9081612007575b81611f76575090565b60209150600090604051838101907f01ffc9a70000000000000000000000000000000000000000000000000000000082527fec4fc8e300000000000000000000000000000000000000000000000000000000602482015260248152611fda8161061d565b5191617530fa6000513d82611ffb575b5081611ff4575090565b9050151590565b60201115915038611fea565b9050612012816120ea565b1590611f6d565b612022816120a8565b9081612096575b81612032575090565b60209150600090604051838101907f01ffc9a70000000000000000000000000000000000000000000000000000000082527f1d1d8b6300000000000000000000000000000000000000000000000000000000602482015260248152611fda8161061d565b90506120a1816120ea565b1590612029565b6000602091604051838101907f01ffc9a700000000000000000000000000000000000000000000000000000000808352602482015260248152611fda8161061d565b6000602091604051838101907f01ffc9a70000000000000000000000000000000000000000000000000000000082527fffffffff00000000000000000000000000000000000000000000000000000000602482015260248152611fda8161061d565b61215581612019565b156121e657604051907fc01e1bd600000000000000000000000000000000000000000000000000000000825281602081600473ffffffffffffffffffffffffffffffffffffffff95868096165afa9081156121d9575b6000916121bb575b501691161490565b6121d3915060203d81116103695761035a8183610639565b386121b3565b6121e1610eb4565b6121ab565b604051907fd6c0b2c400000000000000000000000000000000000000000000000000000000825281602081600473ffffffffffffffffffffffffffffffffffffffff95868096165afa9081156121d9576000916121bb5750169116149056fea2646970667358221220f0ce1b4960361b2d5bf8aac4bc81ea4c00ee5061710e9318ddef54d10c4be7ce64736f6c634300080f0033\",\n        \"nonce\": \"0x4f\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0xc3b349fe899bf316844353befcecd49f09d05093a64a866796a990a9ac5118e2\",\n      \"transactionIndex\": \"0x1\",\n      \"blockHash\": \"0xd2ee4b715f07e9fb065f3243109fef64ddb1c0d56eb06201f3d9867fe625a7b7\",\n      \"blockNumber\": \"0x43d972\",\n      \"from\": \"0x24A1704636AB7083eaC56294aFF13e1651997638\",\n      \"to\": \"0x4e59b44847b379578588920cA78FbF26c0B4956C\",\n      \"cumulativeGasUsed\": \"0x28deb0\",\n      \"gasUsed\": \"0x1e3726\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x09753d716687D68c45a6800128eE111A412E1B1C\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0xd2ee4b715f07e9fb065f3243109fef64ddb1c0d56eb06201f3d9867fe625a7b7\",\n          \"blockNumber\": \"0x43d972\",\n          \"transactionHash\": \"0xc3b349fe899bf316844353befcecd49f09d05093a64a866796a990a9ac5118e2\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x1\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000080000000000020000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d05e09\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1696723112,\n  \"chain\": 11155111,\n  \"multi\": false,\n  \"commit\": \"536e2db\"\n}"
  },
  {
    "path": "sepolia-alpha/2023-10-06-upgrade-l1-standard-bridge/records/UpgradeL1StandardBridge.s.sol/11155111/run-1696723324.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xa63dfa96501acae92aabb3bb113a13ae7db6bda30900642015bec7008d03fc0d\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"ProxyAdmin\",\n      \"contractAddress\": \"0xC5aE9023bFA79124ffA50169E1423E733D0166f1\",\n      \"function\": \"upgradeAndCall(address,address,bytes)\",\n      \"arguments\": [\n        \"0x5638e55db5Fcf7A58df525F1098E8569C8DbA80c\",\n        \"0x09753d716687D68c45a6800128eE111A412E1B1C\",\n        \"0xc4d66de80000000000000000000000002cbd403d5ba3949d24ee4df57805eac612c2662f\"\n      ],\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0xaf6e0e871f38c7b653700f7cbaedafaa2784d430\",\n        \"to\": \"0xc5ae9023bfa79124ffa50169e1423e733d0166f1\",\n        \"gas\": \"0x12955\",\n        \"value\": \"0x0\",\n        \"data\": \"0x9623609d0000000000000000000000005638e55db5fcf7a58df525f1098e8569c8dba80c00000000000000000000000009753d716687d68c45a6800128ee111a412e1b1c00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c4d66de80000000000000000000000002cbd403d5ba3949d24ee4df57805eac612c2662f00000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x0\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0xa63dfa96501acae92aabb3bb113a13ae7db6bda30900642015bec7008d03fc0d\",\n      \"transactionIndex\": \"0x0\",\n      \"blockHash\": \"0xa76dd0094b06896ad975f02c06abeb80fc4f9a4b9f0053be9f414eb882db42a6\",\n      \"blockNumber\": \"0x43d981\",\n      \"from\": \"0xAf6E0E871f38c7B653700F7CbAEDafaa2784D430\",\n      \"to\": \"0xC5aE9023bFA79124ffA50169E1423E733D0166f1\",\n      \"cumulativeGasUsed\": \"0xd744\",\n      \"gasUsed\": \"0xd744\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x5638e55db5Fcf7A58df525F1098E8569C8DbA80c\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0xa76dd0094b06896ad975f02c06abeb80fc4f9a4b9f0053be9f414eb882db42a6\",\n          \"blockNumber\": \"0x43d981\",\n          \"transactionHash\": \"0xa63dfa96501acae92aabb3bb113a13ae7db6bda30900642015bec7008d03fc0d\",\n          \"transactionIndex\": \"0x0\",\n          \"logIndex\": \"0x0\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0xb2d05e0b\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1696723324,\n  \"chain\": 11155111,\n  \"multi\": false,\n  \"commit\": \"536e2db\"\n}"
  },
  {
    "path": "sepolia-alpha/2023-10-06-upgrade-l1-standard-bridge/script/DeployL1StandardBridge.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"src/L1/L1StandardBridge.sol\";\nimport \"src/universal/CrossDomainMessenger.sol\";\nimport \"forge-std/Script.sol\";\n\ncontract DeployL1StandardBridgeImplementation is Script {\n    address internal DEPLOYER = 0x24A1704636AB7083eaC56294aFF13e1651997638;\n    address internal L1_STANDARD_BRIDGE_PROXY = vm.envAddress(\"L1_STANDARD_BRIDGE_PROXY\");\n\n    function implSalt() public returns (bytes32) {\n        return keccak256(bytes(vm.envOr(\"IMPL_SALT\", string(\"base\"))));\n    }\n\n    function run() public {\n        L1StandardBridge proxy = L1StandardBridge(payable(L1_STANDARD_BRIDGE_PROXY));\n\n        CrossDomainMessenger messenger = proxy.messenger();\n        console.log(\"Current L1CrossDomainMessenger value: %s\", address(messenger));\n\n        string memory version = proxy.version();\n        console.log(\"Current L1StandardBridge version: %s\", version);\n\n        vm.broadcast(DEPLOYER);\n        L1StandardBridge bridge = new L1StandardBridge{ salt: implSalt() }();\n        console.log(\"New L1StandardBridge deployed at %s\", address(bridge));\n\n        version = bridge.version();\n        console.log(\"New L1StandardBridge version: %s\", version);\n\n        require(address(bridge.MESSENGER()) == address(0));\n        require(address(bridge.messenger()) == address(0));\n        require(address(bridge.OTHER_BRIDGE()) == Predeploys.L2_STANDARD_BRIDGE);\n        require(address(bridge.otherBridge()) == Predeploys.L2_STANDARD_BRIDGE);\n    }\n}\n"
  },
  {
    "path": "sepolia-alpha/2023-10-06-upgrade-l1-standard-bridge/script/UpgradeL1StandardBridge.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"src/L1/L1StandardBridge.sol\";\nimport \"src/L1/L1CrossDomainMessenger.sol\";\nimport \"src/universal/CrossDomainMessenger.sol\";\nimport \"forge-std/Script.sol\";\nimport \"src/universal/ProxyAdmin.sol\";\n\ncontract UpgradeL1StandardBridge is Script {\n    address internal L1_STANDARD_BRIDGE_PROXY = vm.envAddress(\"L1_STANDARD_BRIDGE_PROXY\");\n    address internal NEW_IMPLEMENTATION = 0x09753d716687D68c45a6800128eE111A412E1B1C;\n    address internal PROXY_ADMIN = vm.envAddress(\"PROXY_ADMIN\");\n    address internal PROXY_ADMIN_OWNER = vm.envAddress(\"PROXY_ADMIN_OWNER\");\n\n    function run() public {\n        L1StandardBridge proxy = L1StandardBridge(payable(L1_STANDARD_BRIDGE_PROXY));\n\n        CrossDomainMessenger messenger = proxy.messenger();\n        console.log(\"Current L1CrossDomainMessenger value: %s\", address(messenger));\n\n        string memory version = proxy.version();\n        console.log(\"Current L1StandardBridge version: %s\", version);\n\n        L1StandardBridge bridge = L1StandardBridge(payable(NEW_IMPLEMENTATION));\n        console.log(\"Upgrading L1StandardBridge implementation to: %s\", address(bridge));\n\n        require(address(bridge.MESSENGER()) == address(0));\n        require(address(bridge.messenger()) == address(0));\n        require(address(bridge.OTHER_BRIDGE()) == Predeploys.L2_STANDARD_BRIDGE);\n        require(address(bridge.otherBridge()) == Predeploys.L2_STANDARD_BRIDGE);\n\n        ProxyAdmin proxyAdmin = ProxyAdmin(PROXY_ADMIN);\n        require(uint256(proxyAdmin.proxyType(L1_STANDARD_BRIDGE_PROXY)) == uint256(ProxyAdmin.ProxyType.CHUGSPLASH));\n\n        vm.broadcast(PROXY_ADMIN_OWNER);\n        proxyAdmin.upgradeAndCall({\n            _proxy: payable(L1_STANDARD_BRIDGE_PROXY),\n            _implementation: address(bridge),\n            _data: abi.encodeCall(L1StandardBridge.initialize, (L1CrossDomainMessenger(address(messenger))))\n        });\n\n        version = proxy.version();\n        console.log(\"New L1StandardBridge version: %s\", version);\n        console.log(\"New L1CrossDomainMessenger value: %s\", address(proxy.messenger()));\n\n        require(address(proxy.MESSENGER()) == address(messenger));\n        require(address(proxy.messenger()) == address(messenger));\n        require(address(proxy.OTHER_BRIDGE()) == Predeploys.L2_STANDARD_BRIDGE);\n        require(address(proxy.otherBridge()) == Predeploys.L2_STANDARD_BRIDGE);\n    }\n}\n"
  },
  {
    "path": "sepolia-alpha/2024-05-15-update-scalars/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n# Update Gas Config command\n\n.PHONY: update-gas-config\nupdate-gas-config:\n\t@forge script --rpc-url $(L1_RPC_URL) UpdateGasConfigSepolia --private-key $(PRIVATE_KEY)  --broadcast"
  },
  {
    "path": "sepolia-alpha/2024-05-15-update-scalars/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "sepolia-alpha/2024-05-15-update-scalars/records/UpdateGasConfig.s.sol/11155111/run-1715900079.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x1d0b032ada2f58cb9252143fa3ce92711f7e587f12f5bfd591c9580fb5af13ae\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x7F67DC4959cb3E532B10A99F41bDD906C46FdFdE\",\n      \"function\": \"setGasConfig(uint256,uint256)\",\n      \"arguments\": [\n        \"0\",\n        \"452312848583266388373324160190187140051835877600158453279135721989878065482\"\n      ],\n      \"transaction\": {\n        \"type\": \"0x02\",\n        \"from\": \"0xaf6e0e871f38c7b653700f7cbaedafaa2784d430\",\n        \"to\": \"0x7f67dc4959cb3e532b10a99f41bdd906c46fdfde\",\n        \"gas\": \"0xc851\",\n        \"value\": \"0x0\",\n        \"data\": \"0x935f029e000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000101c110000294a\",\n        \"nonce\": \"0x1\",\n        \"accessList\": []\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"transactionHash\": \"0x1d0b032ada2f58cb9252143fa3ce92711f7e587f12f5bfd591c9580fb5af13ae\",\n      \"transactionIndex\": \"0x13\",\n      \"blockHash\": \"0x35417220b69ab9544562e6b34bddf348f16868dcdd08b8a160280856077733af\",\n      \"blockNumber\": \"0x5a4b4f\",\n      \"from\": \"0xAf6E0E871f38c7B653700F7CbAEDafaa2784D430\",\n      \"to\": \"0x7F67DC4959cb3E532B10A99F41bDD906C46FdFdE\",\n      \"cumulativeGasUsed\": \"0x1e08aa\",\n      \"gasUsed\": \"0x9107\",\n      \"contractAddress\": null,\n      \"logs\": [\n        {\n          \"address\": \"0x7F67DC4959cb3E532B10A99F41bDD906C46FdFdE\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000001\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000101c110000294a\",\n          \"blockHash\": \"0x35417220b69ab9544562e6b34bddf348f16868dcdd08b8a160280856077733af\",\n          \"blockNumber\": \"0x5a4b4f\",\n          \"transactionHash\": \"0x1d0b032ada2f58cb9252143fa3ce92711f7e587f12f5bfd591c9580fb5af13ae\",\n          \"transactionIndex\": \"0x13\",\n          \"logIndex\": \"0x39\",\n          \"removed\": false\n        }\n      ],\n      \"status\": \"0x1\",\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000008000000000000040000000400000000000000000000000000000000000000040000000000000000000000000000020000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000010000000000000000000000000000000000000000000000008000000000\",\n      \"type\": \"0x2\",\n      \"effectiveGasPrice\": \"0x3c023e844\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1715900079,\n  \"chain\": 11155111,\n  \"commit\": \"2092a8f\"\n}"
  },
  {
    "path": "sepolia-alpha/2024-05-15-update-scalars/script/UpdateGasConfig.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport \"forge-std/Script.sol\";\n\ncontract UpdateGasConfigSepolia is Script {\n\n    address internal L1_SYSTEM_CONFIG = vm.envAddress(\"L1_SYSTEM_CONFIG_ADDRESS\");\n    uint256 internal SCALAR = vm.envUint(\"SCALAR\");\n    address internal OWNER = vm.envAddress(\"OWNER_ADDRESS\");\n\n    function _postCheck() internal view {\n        require(SystemConfig(L1_SYSTEM_CONFIG).scalar() == SCALAR);\n        require(SystemConfig(L1_SYSTEM_CONFIG).overhead() == 0);\n    }\n\n    function run() public {\n        vm.startBroadcast(OWNER);\n        SystemConfig(L1_SYSTEM_CONFIG).setGasConfig(0, SCALAR); \n        _postCheck();\n        vm.stopBroadcast(); \n    }\n}"
  },
  {
    "path": "sepolia-alpha/2024-08-21-update-batcher-proposer/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: execute-update-batcher\nexecute-update-batcher:\n\tforge script --rpc-url $(L1_RPC_URL) --private-key $(PRIVATE_KEY) UpdateBatcherHash\n\n.PHONY: execute-rollback-batcher\nexecute-rollback-batcher:\n\tforge script --rpc-url $(L1_RPC_URL) --private-key $(PRIVATE_KEY) RollbackBatcherHash\n\n.PHONY: execute-update-proposer\nexecute-update-proposer:\n\tforge script --rpc-url $(L1_RPC_URL) --private-key $(PRIVATE_KEY) UpdateProposer\n\n.PHONY: execute-rollback-proposer\nexecute-rollback-proposer:\n\tforge script --rpc-url $(L1_RPC_URL) --private-key $(PRIVATE_KEY) RollbackProposer\n\n"
  },
  {
    "path": "sepolia-alpha/2024-08-21-update-batcher-proposer/README.md",
    "content": "# Update Batcher and Proposer addresses in L1 for sSepolia-alpha\n\nStatus: ready to execute\n\n## Objective\n\nWe are updating batcher and proposer addresses for sepolia-alpha to keys that are managed by internal key management service.\n\nThis runbook implements scripts which allow system owner to execute: \n1. `UpdateBatcherHash` -- Updates the batcher hash in `SystemConfig` to be the new key.\n2. `RollbackBatcherHash` -- Rollback the batcher upgrade.\n3. `UpdateProposer` -- Upgrades `PermissionedDisputeGame` contract to have the new proposer.\n4. `RollbackProposer` -- Rollback the proposer upgrade.\n\nThe values we are sending are statically defined in the `.env`.\n\n# 1. Update repo and move to the appropriate folder:\n```\ncd contract-deployments\ngit pull\ncd sepolia-alpha/2024-08-21-update-batcher-proposer\nmake deps\n```\n\n# 2. Batcher update\n## 2.1. Simulate and validate the transaction\n\n``` shell\nmake execute-update-batcher\n```\n\nIf the private-key is the owner (or via `vm.prank`), it should start the foundry simulation. The logs should be\n```\n== Logs ==\n  Current batcherHash: \n  0x000000000000000000000000212dd524932bc43478688f91045f2682913ad8ee\n  New batcherHash: \n  0x0000000000000000000000007a43fd33e42054c965ee7175dd4590d2bdba79cb\n```\n\n## 2.2. Execute the transaction\n\nOnce the tx is simulated and validated, modify the `Makefile` to add the owner's private key and `--broadcast` to the `execute` command.\n\n## 2.3. Rollback (if needed)\n\nIf somehow we need to rollback, we can do the same simulation and execution step as above, but for `make execute-rollback-batcher`.\n\n# 3. Proposer update\n## 3.1. Simulate and validate the transaction\n\n``` shell\nmake execute-update-proposer\n```\n\nIf the private-key is the owner (or via `vm.prank`), it should start the foundry simulation. The logs should be\n```\n== Logs ==\n  Current proposer: \n  0xBcB04FC753D36dcEeBe9Df7E18E23c46D1fcEA3c\n  Updated proposer to: \n  0xf99C2Da4822Af652fe1BF55F99713980efe5D261\n```\n\n## 3.2. Execute the transaction\n\nOnce the tx is simulated and validated, modify the `Makefile` to add the owner's private key and `--broadcast` to the `execute` command.\n\n## 3.3. Rollback (if needed)\n\nIf somehow we need to rollback, we can do the same simulation and execution step as above, but for `make execute-rollback-proposer`.\n\n\n"
  },
  {
    "path": "sepolia-alpha/2024-08-21-update-batcher-proposer/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\n# via-ir = true\nignored_error_codes = [\"transient-storage\", \"code-size\", \"init-code-size\", 5159]\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "sepolia-alpha/2024-08-21-update-batcher-proposer/records/UpdateProposer.s.sol/11155111/run-1724856389.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xf2bcbc72291842ecb1c052a9373a7d75b83cc89bb90f0f41f5067446baa4dd54\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"PermissionedDisputeGame\",\n      \"contractAddress\": \"0x80dbd6bba7ec3fe68fe30ec4ab59a735e03b8c5e\",\n      \"function\": null,\n      \"arguments\": [\n        \"1\",\n        \"0x0385c3f8ee78491001d92b90b07d0cf387b7b52ab9b83b4d87c994e92cf823ba\",\n        \"73\",\n        \"30\",\n        \"10800\",\n        \"302400\",\n        \"0xFF760A87E41144b336E29b6D4582427dEBdB6dee\",\n        \"0x9dc3d8500c295e95D5C4EBDeD3222a74fF19e524\",\n        \"0xfb17A817168BD4DFd48Fb6C9fd07B4409501e3E0\",\n        \"11763072\",\n        \"0xf99C2Da4822Af652fe1BF55F99713980efe5D261\",\n        \"0x9892742025C43cdBb22034Df7486E55aE4C476d4\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xaf6e0e871f38c7b653700f7cbaedafaa2784d430\",\n        \"gas\": \"0x6a0241\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6102006040523480156200001257600080fd5b50604051620067b4380380620067b4833981016040819052620000359162000468565b8b8b8b8b8b8b8b8b8b8b6200004d6001607e6200055b565b60ff168811156200007157604051633beff19960e11b815260040160405180910390fd5b6000198714806200008e5750876200008b88600162000581565b10155b15620000ad5760405163e62ccf3960e01b815260040160405180910390fd5b6002871015620000d05760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b038016846001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000119573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013f91906200059c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200017d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a39190620005bc565b1115620001c35760405163b4e1243360e01b815260040160405180910390fd5b6000620001e4876001600160401b03166200040860201b62000d051760201c565b620001fa906001600160401b03166002620005d6565b90506000856001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200023d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026391906200059c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002a1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c79190620005bc565b620002e6896001600160401b03166200040860201b62000d051760201c565b6001600160401b0316620002fb919062000581565b905060006200031683836200040b60201b620026401760201c565b90506001600160401b03811115620003415760405163235dfb2b60e21b815260040160405180910390fd5b62000360886001600160401b03166200040860201b62000d051760201c565b6001600160401b0316816001600160401b03161115620003935760405163235dfb2b60e21b815260040160405180910390fd5b50505063ffffffff9099166101205260809790975260a09590955260c0939093526001600160401b039182166101a0521660e0526001600160a01b03908116610100529081166101405290811661016052610180919091529182166101c052166101e05250620005f898505050505050505050565b90565b60008183116200041c57816200041e565b825b9392505050565b80516001600160401b03811681146200043d57600080fd5b919050565b6001600160a01b03811681146200045857600080fd5b50565b80516200043d8162000442565b6000806000806000806000806000806000806101808d8f0312156200048c57600080fd5b8c5163ffffffff81168114620004a157600080fd5b809c505060208d01519a5060408d0151995060608d01519850620004c860808e0162000425565b9750620004d860a08e0162000425565b9650620004e860c08e016200045b565b9550620004f860e08e016200045b565b9450620005096101008e016200045b565b93506101208d01519250620005226101408e016200045b565b9150620005336101608e016200045b565b90509295989b509295989b509295989b565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168082101562000578576200057862000545565b90039392505050565b6000821982111562000597576200059762000545565b500190565b600060208284031215620005af57600080fd5b81516200041e8162000442565b600060208284031215620005cf57600080fd5b5051919050565b6000816000190483118215151615620005f357620005f362000545565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051615ffd620007b76000396000818161058301528181611b1501526120b50152600081816108ce01528181611ad601528181611ba4015261207601526000818161070401528181613059015281816130c401526130f7015260008181610a9a015261255301526000818161065c01528181611806015261367901526000818161053d015281816119c801528181612a2d0152818161351e0152613a7b015260008181610909015281816125e201526136380152600081816104ca015281816121b101528181612f58015261436b015260008181610aed01528181610fdc01528181611d7a01528181611dbc01528181612ec8015281816131270152613186015260008181610b20015281816123b001528181612d1101528181612e3701528181613095015281816141be0152818161466d0152818161476e015281816148430152818161511a0152615346015260008181610bc701528181611e8a01528181611f1001528181612dda01528181612f2c015281816140b401526141df0152600081816107cf015261427d0152615ffd6000f3fe6080604052600436106103085760003560e01c806370872aa51161019a578063c6f0308c116100e1578063ec5e63081161008a578063fa24f74311610064578063fa24f74314610b94578063fa315aa914610bb8578063fe2bbeb214610beb57600080fd5b8063ec5e630814610b11578063eff0f59214610b44578063f8f43ff614610b7457600080fd5b8063d6ae3cd5116100bb578063d6ae3cd514610a8b578063d8cc1a3c14610abe578063dabd396d14610ade57600080fd5b8063c6f0308c146109b3578063cf09e0d014610a3d578063d5d44d8014610a5e57600080fd5b8063a445ece611610143578063bcef3b551161011d578063bcef3b5514610933578063bd8da95614610973578063c395e1ca1461099357600080fd5b8063a445ece6146107f3578063a8e4fb90146108bf578063bbdc02db146108f257600080fd5b80638980e0cc116101745780638980e0cc1461076b5780638b85902b146107805780638d450a95146107c057600080fd5b806370872aa51461073b5780637b0f0adc146107505780638129fc1c1461076357600080fd5b80633fc8cef31161025e5780635c0cba33116102075780636361506d116101e15780636361506d146106b55780636b6716c0146106f55780636f0344091461072857600080fd5b80635c0cba331461064d578063609d33341461068057806360e274641461069557600080fd5b806354fd4d501161023857806354fd4d50146105a757806357da950e146105fd5780635a5fa2d91461062d57600080fd5b80633fc8cef31461052e578063472777c614610561578063534db0e21461057457600080fd5b80632810e1d6116102c057806337b1b2291161029a57806337b1b2291461047b5780633a768463146104bb5780633e3ac912146104ee57600080fd5b80632810e1d6146103f45780632ad69aeb1461040957806330dbe5701461042957600080fd5b806319effeb4116102f157806319effeb41461034f578063200d2ed21461039a57806325fc2ace146103d557600080fd5b8063019351301461030d57806303c2924d1461032f575b600080fd5b34801561031957600080fd5b5061032d61032836600461575c565b610c1b565b005b34801561033b57600080fd5b5061032d61034a3660046157b7565b610f3c565b34801561035b57600080fd5b5060005461037c9068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103a657600080fd5b506000546103c890700100000000000000000000000000000000900460ff1681565b6040516103919190615808565b3480156103e157600080fd5b506008545b604051908152602001610391565b34801561040057600080fd5b506103c86115e2565b34801561041557600080fd5b506103e66104243660046157b7565b611887565b34801561043557600080fd5b506001546104569073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610391565b34801561048757600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90033560601c610456565b3480156104c757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156104fa57600080fd5b5060005461051e907201000000000000000000000000000000000000900460ff1681565b6040519015158152602001610391565b34801561053a57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b61032d61056f366004615849565b6118bd565b34801561058057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156105b357600080fd5b506105f06040518060400160405280600581526020017f312e332e3000000000000000000000000000000000000000000000000000000081525081565b60405161039191906158e0565b34801561060957600080fd5b50600854600954610618919082565b60408051928352602083019190915201610391565b34801561063957600080fd5b506103e66106483660046158f3565b6118cf565b34801561065957600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b34801561068c57600080fd5b506105f0611909565b3480156106a157600080fd5b5061032d6106b0366004615931565b611917565b3480156106c157600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003603401356103e6565b34801561070157600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061037c565b61032d610736366004615963565b611abe565b34801561074757600080fd5b506009546103e6565b61032d61075e366004615849565b611b7f565b61032d611b8c565b34801561077757600080fd5b506002546103e6565b34801561078c57600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401356103e6565b3480156107cc57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b3480156107ff57600080fd5b5061086b61080e3660046158f3565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046fffffffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff1684565b60408051941515855263ffffffff90931660208501526fffffffffffffffffffffffffffffffff9091169183019190915273ffffffffffffffffffffffffffffffffffffffff166060820152608001610391565b3480156108cb57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156108fe57600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610391565b34801561093f57600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356103e6565b34801561097f57600080fd5b5061037c61098e3660046158f3565b611c05565b34801561099f57600080fd5b506103e66109ae3660046159a2565b611de4565b3480156109bf57600080fd5b506109d36109ce3660046158f3565b611fc7565b6040805163ffffffff909816885273ffffffffffffffffffffffffffffffffffffffff968716602089015295909416948601949094526fffffffffffffffffffffffffffffffff9182166060860152608085015291821660a08401521660c082015260e001610391565b348015610a4957600080fd5b5060005461037c9067ffffffffffffffff1681565b348015610a6a57600080fd5b506103e6610a79366004615931565b60036020526000908152604090205481565b348015610a9757600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610aca57600080fd5b5061032d610ad93660046159d4565b61205e565b348015610aea57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061037c565b348015610b1d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610b5057600080fd5b5061051e610b5f3660046158f3565b60046020526000908152604090205460ff1681565b348015610b8057600080fd5b5061032d610b8f366004615849565b612123565b348015610ba057600080fd5b50610ba96125e0565b60405161039193929190615a5e565b348015610bc457600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610bf757600080fd5b5061051e610c063660046158f3565b60066020526000908152604090205460ff1681565b60008054700100000000000000000000000000000000900460ff166002811115610c4757610c476157d9565b14610c7e576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610cd1576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d08367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013590565b90565b610d1f610d1a36869003860186615ab2565b61265a565b14610d56576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610d6b929190615b3f565b604051809103902014610daa576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610df3610dee84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506126b692505050565b612723565b90506000610e1a82600881518110610e0d57610e0d615b4f565b60200260200101516128d9565b9050602081511115610e58576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401358103610ecd576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054700100000000000000000000000000000000900460ff166002811115610f6857610f686157d9565b14610f9f576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110610fb457610fb4615b4f565b906000526020600020906005020190506000610fcf84611c05565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015611038576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611081576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561109e57508515155b15611139578354640100000000900473ffffffffffffffffffffffffffffffffffffffff16600081156110d157816110ed565b600186015473ffffffffffffffffffffffffffffffffffffffff165b90506110f9818761298d565b50505060009485525050600660205250506040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046fffffffffffffffffffffffffffffffff16938101939093526001015473ffffffffffffffffffffffffffffffffffffffff1660608301526111dc576fffffffffffffffffffffffffffffffff60408201526001815260008690036111dc578195505b600086826020015163ffffffff166111f49190615bad565b905060008382116112055781611207565b835b602084015190915063ffffffff165b8181101561135357600086828154811061123257611232615b4f565b6000918252602080832090910154808352600690915260409091205490915060ff1661128a576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002828154811061129f5761129f615b4f565b600091825260209091206005909102018054909150640100000000900473ffffffffffffffffffffffffffffffffffffffff161580156112fc5750600481015460408701516fffffffffffffffffffffffffffffffff9182169116115b1561133e57600181015473ffffffffffffffffffffffffffffffffffffffff16606087015260048101546fffffffffffffffffffffffffffffffff1660408701525b5050808061134b90615bc5565b915050611216565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006fffffffffffffffffffffffffffffffff909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909316929092179091558490036115d757606083015160008a815260066020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055891580156114d357506000547201000000000000000000000000000000000000900460ff165b156115485760015473ffffffffffffffffffffffffffffffffffffffff166114fb818a61298d565b885473ffffffffffffffffffffffffffffffffffffffff909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff9091161788556115d5565b61158f73ffffffffffffffffffffffffffffffffffffffff82161561156d5781611589565b600189015473ffffffffffffffffffffffffffffffffffffffff165b8961298d565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff1664010000000073ffffffffffffffffffffffffffffffffffffffff8316021788555b505b505050505050505050565b600080600054700100000000000000000000000000000000900460ff166002811115611610576116106157d9565b14611647576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166116ab576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660026000815481106116d7576116d7615b4f565b6000918252602090912060059091020154640100000000900473ffffffffffffffffffffffffffffffffffffffff1614611712576001611715565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff909116177001000000000000000000000000000000008360028111156117c6576117c66157d9565b0217905560028111156117db576117db6157d9565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a27f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663838c2d1e6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561186c57600080fd5b505af1158015611880573d6000803e3d6000fd5b5050505090565b600560205281600052604060002081815481106118a357600080fd5b90600052602060002001600091509150505481565b905090565b6118ca8383836001611abe565b505050565b6000818152600760209081526040808320600590925282208054825461190090610100900463ffffffff1682615bfd565b95945050505050565b60606118b860546020612a8e565b73ffffffffffffffffffffffffffffffffffffffff811660009081526003602052604081208054908290559081900361197c576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff3fef3a300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063f3fef3a390604401600060405180830381600087803b158015611a0c57600080fd5b505af1158015611a20573d6000803e3d6000fd5b5050505060008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611a7e576040519150601f19603f3d011682016040523d82523d6000602084013e611a83565b606091505b50509050806118ca576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480611b3757503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016145b611b6d576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b7984848484612ae0565b50505050565b6118ca8383836000611abe565b3273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611bfb576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c036135b9565b565b600080600054700100000000000000000000000000000000900460ff166002811115611c3357611c336157d9565b14611c6a576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110611c7f57611c7f615b4f565b600091825260208220600590910201805490925063ffffffff90811614611cee57815460028054909163ffffffff16908110611cbd57611cbd615b4f565b906000526020600020906005020160040160109054906101000a90046fffffffffffffffffffffffffffffffff1690505b6004820154600090611d2690700100000000000000000000000000000000900467ffffffffffffffff165b67ffffffffffffffff1690565b611d3a9067ffffffffffffffff1642615bfd565b611d59611d19846fffffffffffffffffffffffffffffffff1660401c90565b67ffffffffffffffff16611d6d9190615bad565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611611dba5780611900565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080611e83836fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115611ee2576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000611efd8383615c43565b9050670de0b6b3a76400006000611f34827f0000000000000000000000000000000000000000000000000000000000000000615c57565b90506000611f52611f4d670de0b6b3a764000086615c57565b613b12565b90506000611f608484613d6d565b90506000611f6e8383613dbc565b90506000611f7b82613dea565b90506000611f9a82611f95670de0b6b3a76400008f615c57565b613fd2565b90506000611fa88b83613dbc565b9050611fb4818d615c57565b9f9e505050505050505050505050505050565b60028181548110611fd757600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff8416955064010000000090930473ffffffffffffffffffffffffffffffffffffffff908116949216926fffffffffffffffffffffffffffffffff91821692918082169170010000000000000000000000000000000090041687565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614806120d757503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016145b61210d576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61211b868686868686614003565b505050505050565b60008054700100000000000000000000000000000000900460ff16600281111561214f5761214f6157d9565b14612186576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060008061219586614632565b935093509350935060006121ab85858585614a3b565b905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561221a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061223e9190615c94565b9050600189036123365773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a8461229a367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af115801561230c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123309190615cb1565b506115d7565b600289036123625773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a848961229a565b6003890361238e5773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a848761229a565b600489036125155760006123d46fffffffffffffffffffffffffffffffff85167f0000000000000000000000000000000000000000000000000000000000000000614af5565b6009546123e19190615bad565b6123ec906001615bad565b9050367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135811061245557367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135612457565b805b905073ffffffffffffffffffffffffffffffffffffffff82166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af11580156124ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061250e9190615cb1565b50506115d7565b600589036125ae576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b6044820152600860648201526084810188905273ffffffffffffffffffffffffffffffffffffffff8216906352f0f3ad9060a4016122ed565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356060612639611909565b9050909192565b600081831161264f5781612651565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001612699949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003612705576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b6060600080600061273385614ba3565b91945092509050600181600181111561274e5761274e6157d9565b14612785576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84516127918385615bad565b146127c8576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816127df5790505093506000835b86518110156128cd576000806128526040518060400160405280858c600001516128369190615bfd565b8152602001858c6020015161284b9190615bad565b9052614ba3565b50915091506040518060400160405280838361286e9190615bad565b8152602001848b602001516128839190615bad565b81525088858151811061289857612898615b4f565b60209081029190910101526128ae600185615bad565b93506128ba8183615bad565b6128c49084615bad565b9250505061280c565b50845250919392505050565b606060008060006128e985614ba3565b919450925090506000816001811115612904576129046157d9565b1461293b576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129458284615bad565b85511461297e576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61190085602001518484615041565b600281015473ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040812080546fffffffffffffffffffffffffffffffff909316928392906129dc908490615bad565b90915550506040517f7eee288d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018390527f00000000000000000000000000000000000000000000000000000000000000001690637eee288d90604401600060405180830381600087803b158015612a7157600080fd5b505af1158015612a85573d6000803e3d6000fd5b50505050505050565b604051818152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b60008054700100000000000000000000000000000000900460ff166002811115612b0c57612b0c6157d9565b14612b43576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028481548110612b5857612b58615b4f565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff8116845273ffffffffffffffffffffffffffffffffffffffff64010000000090910481169484019490945260018101549093169082015260028201546fffffffffffffffffffffffffffffffff908116606083015260038301546080830181905260049093015480821660a084015270010000000000000000000000000000000090041660c082015291508514612c3f576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156fffffffffffffffffffffffffffffffff83161760011b90506000612cff826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580612d3a5750612d377f00000000000000000000000000000000000000000000000000000000000000006002615bad565b81145b8015612d44575084155b15612d7b576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015612da1575086155b15612dd8576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115612e32576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612e5d7f00000000000000000000000000000000000000000000000000000000000000006001615bad565b8103612e6f57612e6f868885886150d6565b34612e7983611de4565b14612eb0576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612ebb88611c05565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603612f23576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612f5060017f0000000000000000000000000000000000000000000000000000000000000000615bfd565b830361308e577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612fc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fe59190615c94565b73ffffffffffffffffffffffffffffffffffffffff1663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561302f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130539190615cb1565b613087907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615cca565b9050613121565b6130b960017f0000000000000000000000000000000000000000000000000000000000000000615bfd565b83036130f4576130877f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166002615cf6565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b613155817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615d26565b67ffffffffffffffff166131708367ffffffffffffffff1690565b67ffffffffffffffff1611156131b7576131b4817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615d26565b91505b6000604083901b421760008a8152608087901b6fffffffffffffffffffffffffffffffff8d1617602052604081209192509060008181526004602052604090205490915060ff1615613235576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001346fffffffffffffffffffffffffffffffff1681526020018c8152602001886fffffffffffffffffffffffffffffffff168152602001846fffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160020160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506080820151816003015560a08201518160040160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060c08201518160040160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505050600560008c815260200190815260200160002060016002805490506134cb9190615bfd565b81546001810183556000928352602083200155604080517fd0e30db0000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263d0e30db09234926004808301939282900301818588803b15801561356357600080fd5b505af1158015613577573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b60005471010000000000000000000000000000000000900460ff161561360b576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f7258a80700000000000000000000000000000000000000000000000000000000815263ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637258a807906024016040805180830381865afa1580156136bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136e39190615d4f565b90925090508161371f576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a1461375257639824bdab6000526004601cfd5b80367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135116137ec576040517ff40239db000000000000000000000000000000000000000000000000000000008152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff8082526000602083018181527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe369081013560f01c90038035606090811c868801908152346fffffffffffffffffffffffffffffffff81811693890193845260149094013560808901908152600160a08a0181815242871660c08c019081526002805493840181558a529a5160059092027f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace81018054995173ffffffffffffffffffffffffffffffffffffffff908116640100000000027fffffffffffffffff000000000000000000000000000000000000000000000000909b1694909c16939093179890981790915592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf87018054918a167fffffffffffffffffffffffff000000000000000000000000000000000000000090921691909117905592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0860180549186167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090921691909117905591517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015551955182167001000000000000000000000000000000000295909116949094177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad29091015580547fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff167101000000000000000000000000000000000017815583517fd0e30db000000000000000000000000000000000000000000000000000000000815293517f00000000000000000000000000000000000000000000000000000000000000009092169363d0e30db093926004828101939282900301818588803b158015613ac157600080fd5b505af1158015613ad5573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050505050565b6fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213613b7157631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a764000002158202613daa57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b600081600019048311820215613dda5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d78213613e1857919050565b680755bf798b4a1bf1e58212613e365763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000612651670de0b6b3a764000083613fea86613b12565b613ff49190615d73565b613ffe9190615e2f565b613dea565b60008054700100000000000000000000000000000000900460ff16600281111561402f5761402f6157d9565b14614066576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002878154811061407b5761407b615b4f565b6000918252602082206005919091020160048101549092506fffffffffffffffffffffffffffffffff16908715821760011b90506140da7f00000000000000000000000000000000000000000000000000000000000000006001615bad565b614176826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16146141b0576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008089156142a7576142037f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000615bfd565b6001901b614222846fffffffffffffffffffffffffffffffff16615287565b6fffffffffffffffffffffffffffffffff1661423e9190615e97565b1561427b5761427261426360016fffffffffffffffffffffffffffffffff8716615eab565b865463ffffffff166000615326565b6003015461429d565b7f00000000000000000000000000000000000000000000000000000000000000005b91508490506142d1565b600385015491506142ce6142636fffffffffffffffffffffffffffffffff86166001615ed4565b90505b600882901b60088a8a6040516142e8929190615b3f565b6040518091039020901b14614329576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006143348c61540a565b90506000614343836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e14ced32906143bd908f908f908f908f908a90600401615f48565b6020604051808303816000875af11580156143dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144009190615cb1565b6004850154911491506000906002906144ab906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b614547896fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6145519190615f82565b61455b9190615fa5565b60ff16159050811515810361459c576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8754640100000000900473ffffffffffffffffffffffffffffffffffffffff16156145f3576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b600080600080600085905060006002828154811061465257614652615b4f565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614729906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611614763576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f00000000000000000000000000000000000000000000000000000000000000009061482a906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561489f57825463ffffffff166148697f00000000000000000000000000000000000000000000000000000000000000006001615bad565b8303614873578391505b6002818154811061488657614886615b4f565b9060005260206000209060050201935080945050614767565b600481810154908401546fffffffffffffffffffffffffffffffff91821691166000816fffffffffffffffffffffffffffffffff166149086148f3856fffffffffffffffffffffffffffffffff1660011c90565b6fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff1614905080156149d7576000614940836fffffffffffffffffffffffffffffffff16615287565b6fffffffffffffffffffffffffffffffff1611156149ab57600061498261497a60016fffffffffffffffffffffffffffffffff8616615eab565b896001615326565b6003810154600490910154909c506fffffffffffffffffffffffffffffffff169a506149b19050565b6008549a505b600386015460048701549099506fffffffffffffffffffffffffffffffff169750614a2d565b60006149f961497a6fffffffffffffffffffffffffffffffff85166001615ed4565b6003808901546004808b015492840154930154909e506fffffffffffffffffffffffffffffffff9182169d50919b50169850505b505050505050509193509193565b60006fffffffffffffffffffffffffffffffff841615614aa85760408051602081018790526fffffffffffffffffffffffffffffffff8087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611900565b8282604051602001614ad69291909182526fffffffffffffffffffffffffffffffff16602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614b82847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614be6576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614c0b57600060016000945094509450505061503a565b60b78111614d21576000614c20608083615bfd565b905080876000015111614c5f576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614cd757507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614d0e576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001955093506000925061503a915050565b60bf8111614e7f576000614d3660b783615bfd565b905080876000015111614d75576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614dd7576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614e1f576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e298184615bad565b895111614e62576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e6d836001615bad565b975095506000945061503a9350505050565b60f78111614ee4576000614e9460c083615bfd565b905080876000015111614ed3576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60019550935084925061503a915050565b6000614ef160f783615bfd565b905080876000015111614f30576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614f92576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614fda576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614fe48184615bad565b89511161501d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b615028836001615bad565b975095506001945061503a9350505050565b9193909250565b60608167ffffffffffffffff81111561505c5761505c615a83565b6040519080825280601f01601f191660200182016040528015615086576020820181803683370190505b50905081156150cf57600061509b8486615bad565b90506020820160005b848110156150bc5782810151828201526020016150a4565b848111156150cb576000858301525b5050505b9392505050565b60006150f56fffffffffffffffffffffffffffffffff84166001615ed4565b9050600061510582866001615326565b9050600086901a83806151f1575061513e60027f0000000000000000000000000000000000000000000000000000000000000000615e97565b60048301546002906151e2906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6151ec9190615fa5565b60ff16145b156152495760ff81166001148061520b575060ff81166002145b615244576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016137e3565b612a85565b60ff811615612a85576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016137e3565b600080615314837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b6000808261536f5761536a6fffffffffffffffffffffffffffffffff86167f0000000000000000000000000000000000000000000000000000000000000000615439565b61538a565b61538a856fffffffffffffffffffffffffffffffff166155c5565b90506002848154811061539f5761539f615b4f565b906000526020600020906005020191505b60048201546fffffffffffffffffffffffffffffffff82811691161461540257815460028054909163ffffffff169081106153ed576153ed615b4f565b906000526020600020906005020191506153b0565b509392505050565b600080600080600061541b86614632565b935093509350935061542f84848484614a3b565b9695505050505050565b6000816154d8846fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116154ee5763b34b5c226000526004601cfd5b6154f7836155c5565b905081615596826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611612654576126516155ac836001615bad565b6fffffffffffffffffffffffffffffffff83169061566a565b60008119600183011681615659827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b6000806156f7847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261572557600080fd5b50813567ffffffffffffffff81111561573d57600080fd5b60208301915083602082850101111561575557600080fd5b9250929050565b600080600083850360a081121561577257600080fd5b608081121561578057600080fd5b50839250608084013567ffffffffffffffff81111561579e57600080fd5b6157aa86828701615713565b9497909650939450505050565b600080604083850312156157ca57600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810160038310615843577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b60008060006060848603121561585e57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561589b5760208185018101518683018201520161587f565b818111156158ad576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006126516020830184615875565b60006020828403121561590557600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461592e57600080fd5b50565b60006020828403121561594357600080fd5b81356150cf8161590c565b8035801515811461595e57600080fd5b919050565b6000806000806080858703121561597957600080fd5b8435935060208501359250604085013591506159976060860161594e565b905092959194509250565b6000602082840312156159b457600080fd5b81356fffffffffffffffffffffffffffffffff811681146150cf57600080fd5b600080600080600080608087890312156159ed57600080fd5b863595506159fd6020880161594e565b9450604087013567ffffffffffffffff80821115615a1a57600080fd5b615a268a838b01615713565b90965094506060890135915080821115615a3f57600080fd5b50615a4c89828a01615713565b979a9699509497509295939492505050565b63ffffffff841681528260208201526060604082015260006119006060830184615875565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060808284031215615ac457600080fd5b6040516080810181811067ffffffffffffffff82111715615b0e577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115615bc057615bc0615b7e565b500190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203615bf657615bf6615b7e565b5060010190565b600082821015615c0f57615c0f615b7e565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082615c5257615c52615c14565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615615c8f57615c8f615b7e565b500290565b600060208284031215615ca657600080fd5b81516150cf8161590c565b600060208284031215615cc357600080fd5b5051919050565b600067ffffffffffffffff808316818516808303821115615ced57615ced615b7e565b01949350505050565b600067ffffffffffffffff80831681851681830481118215151615615d1d57615d1d615b7e565b02949350505050565b600067ffffffffffffffff83811690831681811015615d4757615d47615b7e565b039392505050565b60008060408385031215615d6257600080fd5b505080516020909101519092909150565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615db457615db4615b7e565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615def57615def615b7e565b60008712925087820587128484161615615e0b57615e0b615b7e565b87850587128184161615615e2157615e21615b7e565b505050929093029392505050565b600082615e3e57615e3e615c14565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f800000000000000000000000000000000000000000000000000000000000000083141615615e9257615e92615b7e565b500590565b600082615ea657615ea6615c14565b500690565b60006fffffffffffffffffffffffffffffffff83811690831681811015615d4757615d47615b7e565b60006fffffffffffffffffffffffffffffffff808316818516808303821115615ced57615ced615b7e565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615f5c606083018789615eff565b8281036020840152615f6f818688615eff565b9150508260408301529695505050505050565b600060ff821660ff841680821015615f9c57615f9c615b7e565b90039392505050565b600060ff831680615fb857615fb8615c14565b8060ff8416069150509291505056fea2646970667358221220e8b96106d78f2f7838688804cd7a7c1b73cf9ac778dc3b912e31933126cd1a1364736f6c634300080f003300000000000000000000000000000000000000000000000000000000000000010385c3f8ee78491001d92b90b07d0cf387b7b52ab9b83b4d87c994e92cf823ba0000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d40000000000000000000000000ff760a87e41144b336e29b6d4582427debdb6dee0000000000000000000000009dc3d8500c295e95d5c4ebded3222a74ff19e524000000000000000000000000fb17a817168bd4dfd48fb6c9fd07b4409501e3e00000000000000000000000000000000000000000000000000000000000b37d80000000000000000000000000f99c2da4822af652fe1bf55f99713980efe5d2610000000000000000000000009892742025c43cdbb22034df7486e55ae4c476d4\",\n        \"nonce\": \"0x13\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x01d73b7f6be09d74e6db70e47d55590799b9f635a0c37bbc1858fbce84aa5e78\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0xe545ede9d1fadad12984c31467f56405884b9398\",\n      \"function\": \"setImplementation(uint32,address)\",\n      \"arguments\": [\n        \"1\",\n        \"0x80dBD6bba7ec3fe68fE30EC4ab59a735E03B8c5e\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xaf6e0e871f38c7b653700f7cbaedafaa2784d430\",\n        \"to\": \"0xe545ede9d1fadad12984c31467f56405884b9398\",\n        \"gas\": \"0xc0c5\",\n        \"value\": \"0x0\",\n        \"input\": \"0x14f6b1a3000000000000000000000000000000000000000000000000000000000000000100000000000000000000000080dbd6bba7ec3fe68fe30ec4ab59a735e03b8c5e\",\n        \"nonce\": \"0x14\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x15ca827\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xf2bcbc72291842ecb1c052a9373a7d75b83cc89bb90f0f41f5067446baa4dd54\",\n      \"transactionIndex\": \"0x4a\",\n      \"blockHash\": \"0xbdfb68fea540f2f95fbd30ae23113adf766843aedd1d28abc08fdee1db507983\",\n      \"blockNumber\": \"0x6486ad\",\n      \"gasUsed\": \"0x519229\",\n      \"effectiveGasPrice\": \"0xca4dbbb36\",\n      \"from\": \"0xaf6e0e871f38c7b653700f7cbaedafaa2784d430\",\n      \"to\": null,\n      \"contractAddress\": \"0x80dbd6bba7ec3fe68fe30ec4ab59a735e03b8c5e\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x15d33b7\",\n      \"logs\": [\n        {\n          \"address\": \"0xe545ede9d1fadad12984c31467f56405884b9398\",\n          \"topics\": [\n            \"0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de\",\n            \"0x00000000000000000000000080dbd6bba7ec3fe68fe30ec4ab59a735e03b8c5e\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000001\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xbdfb68fea540f2f95fbd30ae23113adf766843aedd1d28abc08fdee1db507983\",\n          \"blockNumber\": \"0x6486ad\",\n          \"transactionHash\": \"0x01d73b7f6be09d74e6db70e47d55590799b9f635a0c37bbc1858fbce84aa5e78\",\n          \"transactionIndex\": \"0x4b\",\n          \"logIndex\": \"0x80\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00100000000000000000000000000000000100000000000000000080000000000000000000000000000000000000000000000000000000000000000000040000000000000400000000000080000000000000000000040000000000000010000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x01d73b7f6be09d74e6db70e47d55590799b9f635a0c37bbc1858fbce84aa5e78\",\n      \"transactionIndex\": \"0x4b\",\n      \"blockHash\": \"0xbdfb68fea540f2f95fbd30ae23113adf766843aedd1d28abc08fdee1db507983\",\n      \"blockNumber\": \"0x6486ad\",\n      \"gasUsed\": \"0x8b90\",\n      \"effectiveGasPrice\": \"0xca4dbbb36\",\n      \"from\": \"0xaf6e0e871f38c7b653700f7cbaedafaa2784d430\",\n      \"to\": \"0xe545ede9d1fadad12984c31467f56405884b9398\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1724856389,\n  \"chain\": 11155111,\n  \"commit\": \"2083b83\"\n}"
  },
  {
    "path": "sepolia-alpha/2024-08-21-update-batcher-proposer/script/RollbackBatcherHash.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport {Vm} from \"forge-std/Vm.sol\";\nimport \"forge-std/Script.sol\";\nimport \"forge-std/console.sol\";\n\ncontract RollbackBatcherHash is Script {\n    address internal SYSTEM_CONFIG_OWNER = vm.envAddress(\"SYSTEM_CONFIG_OWNER\");\n    address internal L1_SYSTEM_CONFIG = vm.envAddress(\"L1_SYSTEM_CONFIG_ADDRESS\");\n    address internal ROLLBACK_BATCH_SENDER = vm.envAddress(\"ROLLBACK_BATCH_SENDER\");\n\n    function _convertAddressToBytes32(address _address) internal pure returns (bytes32) {\n        return bytes32(uint256(uint160(_address)));\n    }\n\n    function run() public {\n        console.log(\"Current batcherHash: \");\n        console.logBytes32(SystemConfig(L1_SYSTEM_CONFIG).batcherHash());\n        // vm.prank(SYSTEM_CONFIG_OWNER);\n        SystemConfig(L1_SYSTEM_CONFIG).setBatcherHash(_convertAddressToBytes32(ROLLBACK_BATCH_SENDER));\n        console.log(\"New batcherHash: \");\n        console.logBytes32(SystemConfig(L1_SYSTEM_CONFIG).batcherHash());\n        require(\n            SystemConfig(L1_SYSTEM_CONFIG).batcherHash() == _convertAddressToBytes32(ROLLBACK_BATCH_SENDER),\n            \"Rollback Deploy: batcherHash is incorrect\"\n        );\n    }\n}\n"
  },
  {
    "path": "sepolia-alpha/2024-08-21-update-batcher-proposer/script/RollbackProposer.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {PermissionedDisputeGame} from \"@eth-optimism-bedrock/src/dispute/PermissionedDisputeGame.sol\";\nimport {DisputeGameFactory, IDisputeGame} from \"@eth-optimism-bedrock/src/dispute/DisputeGameFactory.sol\";\nimport {GameTypes} from \"@eth-optimism-bedrock/src/dispute/lib/Types.sol\";\nimport \"forge-std/Script.sol\";\n\ncontract RollbackProposer is Script {\n    address internal DISPUTE_GAME_FACTORY_PROXY = vm.envAddress(\"DISPUTE_GAME_FACTORY_PROXY\");\n    address internal PERMISSIONED_DISPUTE_GAME = vm.envAddress(\"PERMISSIONED_DISPUTE_GAME\");\n    address internal DISPUTE_GAME_FACTORY_PROXY_OWNER = vm.envAddress(\"DISPUTE_GAME_FACTORY_PROXY_OWNER\");\n    address internal OLD_PROPOSER = vm.envAddress(\"OLD_PROPOSER\");\n\n    function run() public {\n        DisputeGameFactory dGF = DisputeGameFactory(DISPUTE_GAME_FACTORY_PROXY);\n        PermissionedDisputeGame pdg = PermissionedDisputeGame(PERMISSIONED_DISPUTE_GAME);\n\n        // vm.prank(DISPUTE_GAME_FACTORY_PROXY_OWNER);\n        dGF.setImplementation(GameTypes.PERMISSIONED_CANNON, IDisputeGame(address(pdg)));\n\n        IDisputeGame gameImpl = dGF.gameImpls(GameTypes.PERMISSIONED_CANNON);\n        require(address(gameImpl) == address(pdg), \"Deploy: DisputeGameFactory implementation is incorrect\");\n        require(pdg.proposer() == OLD_PROPOSER, \"Deploy: proposer is incorrect\");\n        console.log(\"Updated proposer to: \");\n        console.log(pdg.proposer());\n    }\n}\n"
  },
  {
    "path": "sepolia-alpha/2024-08-21-update-batcher-proposer/script/UpdateBatcherHash.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/SystemConfig.sol\";\nimport {Vm} from \"forge-std/Vm.sol\";\nimport \"forge-std/Script.sol\";\nimport \"forge-std/console.sol\";\n\ncontract UpdateBatcherHash is Script {\n    address internal SYSTEM_CONFIG_OWNER = vm.envAddress(\"SYSTEM_CONFIG_OWNER\");\n    address internal L1_SYSTEM_CONFIG = vm.envAddress(\"L1_SYSTEM_CONFIG_ADDRESS\");\n    address internal NEW_BATCH_SENDER = vm.envAddress(\"NEW_BATCH_SENDER\");\n\n    function _convertAddressToBytes32(address _address) internal pure returns (bytes32) {\n        return bytes32(uint256(uint160(_address)));\n    }\n\n    function run() public {\n        console.log(\"Current batcherHash: \");\n        console.logBytes32(SystemConfig(L1_SYSTEM_CONFIG).batcherHash());\n        // vm.prank(SYSTEM_CONFIG_OWNER);\n        SystemConfig(L1_SYSTEM_CONFIG).setBatcherHash(_convertAddressToBytes32(NEW_BATCH_SENDER));\n        console.log(\"New batcherHash: \");\n        console.logBytes32(SystemConfig(L1_SYSTEM_CONFIG).batcherHash());\n        require(\n            SystemConfig(L1_SYSTEM_CONFIG).batcherHash() == _convertAddressToBytes32(NEW_BATCH_SENDER),\n            \"Deploy: batcherHash is incorrect\"\n        );\n    }\n}\n"
  },
  {
    "path": "sepolia-alpha/2024-08-21-update-batcher-proposer/script/UpdateProposer.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {PermissionedDisputeGame} from \"@eth-optimism-bedrock/src/dispute/PermissionedDisputeGame.sol\";\nimport {DisputeGameFactory, IDisputeGame} from \"@eth-optimism-bedrock/src/dispute/DisputeGameFactory.sol\";\nimport {GameTypes} from \"@eth-optimism-bedrock/src/dispute/lib/Types.sol\";\nimport \"forge-std/Script.sol\";\n\ncontract UpdateProposer is Script {\n    address internal NEW_PROPOSER = vm.envAddress(\"NEW_PROPOSER\");\n    address internal DISPUTE_GAME_FACTORY_PROXY = vm.envAddress(\"DISPUTE_GAME_FACTORY_PROXY\");\n    address internal PERMISSIONED_DISPUTE_GAME = vm.envAddress(\"PERMISSIONED_DISPUTE_GAME\");\n    address internal DISPUTE_GAME_FACTORY_PROXY_OWNER = vm.envAddress(\"DISPUTE_GAME_FACTORY_PROXY_OWNER\");\n\n    function run() public {\n        DisputeGameFactory dGF = DisputeGameFactory(DISPUTE_GAME_FACTORY_PROXY);\n        PermissionedDisputeGame pdg = PermissionedDisputeGame(PERMISSIONED_DISPUTE_GAME);\n\n        console.log(\"Current proposer: \");\n        console.log(pdg.proposer());\n\n        vm.startBroadcast();\n        PermissionedDisputeGame newPdgImpl = new PermissionedDisputeGame({\n            _gameType: pdg.gameType(),\n            _absolutePrestate: pdg.absolutePrestate(),\n            _maxGameDepth: pdg.maxGameDepth(),\n            _splitDepth: pdg.splitDepth(),\n            _clockExtension: pdg.clockExtension(),\n            _maxClockDuration: pdg.maxClockDuration(),\n            _vm: pdg.vm(),\n            _weth: pdg.weth(),\n            _anchorStateRegistry: pdg.anchorStateRegistry(),\n            _l2ChainId: pdg.l2ChainId(),\n            _proposer: NEW_PROPOSER,\n            _challenger: pdg.challenger()\n        });\n\n        // vm.prank(DISPUTE_GAME_FACTORY_PROXY_OWNER);\n        dGF.setImplementation(GameTypes.PERMISSIONED_CANNON, IDisputeGame(address(newPdgImpl)));\n\n        IDisputeGame gameImpl = dGF.gameImpls(GameTypes.PERMISSIONED_CANNON);\n        require(address(gameImpl) == address(newPdgImpl), \"Deploy: DisputeGameFactory implementation is incorrect\");\n        require(newPdgImpl.proposer() == NEW_PROPOSER, \"Deploy: proposer is incorrect\");\n        console.log(\"Updated proposer to: \");\n        console.log(NEW_PROPOSER);\n        vm.stopBroadcast();\n    }\n}\n"
  },
  {
    "path": "sepolia-alpha/2024-11-19-holocene-contracts/.gitignore",
    "content": "/src/\n"
  },
  {
    "path": "sepolia-alpha/2024-11-19-holocene-contracts/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n.PHONY: deploy\ndeploy:\n\tforge script --rpc-url $(L1_RPC_URL) --private-key $(PRIVATE_KEY) DeploySystemConfig --broadcast\n\n.PHONY: upgrade\nupgrade:\n\tforge script --rpc-url $(L1_RPC_URL) --private-key $(PRIVATE_KEY) UpgradeSystemConfig --broadcast\n\n.PHONY: set-1559-params\nset-1559-params:\n\tforge script --rpc-url $(L1_RPC_URL) --private-key $(PRIVATE_KEY) SetEIP1559Params --broadcast\n"
  },
  {
    "path": "sepolia-alpha/2024-11-19-holocene-contracts/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nvia-ir = true\nremappings = [\n    '@eth-optimism-bedrock/contracts/=lib/optimism/packages/contracts-bedrock/src/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@solady/=lib/solady/src',\n    '@cwia/=lib/clones-with-immutable-args/src'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "sepolia-alpha/2024-11-19-holocene-contracts/script/DeploySystemConfig.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"lib/optimism/packages/contracts-bedrock/src/L1/SystemConfig.sol\";\nimport \"forge-std/Script.sol\";\n\ncontract DeploySystemConfig is Script {\n    function run() public {\n        vm.startBroadcast();\n        SystemConfig systemConfigImpl = new SystemConfig();\n\tconsole.log(\"SystemConfig implementation deployed at: \", address(systemConfigImpl));\n\tvm.stopBroadcast();\n    }\n}\n"
  },
  {
    "path": "sepolia-alpha/2024-11-19-holocene-contracts/script/SetEIP1559Params.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"forge-std/Script.sol\";\nimport \"@eth-optimism-bedrock/contracts/universal/ProxyAdmin.sol\";\nimport \"@eth-optimism-bedrock/contracts/L1/SystemConfig.sol\";\n\ncontract SetEIP1559Params is Script {\n    address systemConfigProxyAddress = vm.envAddress(\"SYSTEM_CONFIG_PROXY\");\n    address proxyAdminOwner = vm.envAddress(\"PROXY_ADMIN_OWNER\");\n\n    uint64 gasLimit = uint64(vm.envUint(\"GAS_LIMIT\"));\n\n    uint32 denominator = uint32(vm.envUint(\"DENOMINATOR\"));\n    uint32 elasticityMultiplier = uint32(vm.envUint(\"ELASTICITY_MULTIPLIER\"));\n\n\n    function run() public {\n        vm.startBroadcast(proxyAdminOwner);\n\n\tSystemConfig(systemConfigProxyAddress).setEIP1559Params(denominator, elasticityMultiplier);\n\tSystemConfig(systemConfigProxyAddress).setGasLimit(gasLimit);\n\n\tvm.stopBroadcast();\n    }\n}\n"
  },
  {
    "path": "sepolia-alpha/2024-11-19-holocene-contracts/script/UpgradeSystemConfig.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"forge-std/Script.sol\";\nimport \"@eth-optimism-bedrock/contracts/universal/ProxyAdmin.sol\";\nimport \"@eth-optimism-bedrock/contracts/L1/SystemConfig.sol\";\n\ncontract UpgradeSystemConfig is Script {\n    address systemConfigProxy = vm.envAddress(\"SYSTEM_CONFIG_PROXY\");\n    address systemConfigImplementation = vm.envAddress(\"SYSTEM_CONFIG_IMPLEMENTATION\");\n    address proxyAdminOwner = vm.envAddress(\"PROXY_ADMIN_OWNER\");\n\n    function run() public {\n        vm.broadcast(proxyAdminOwner);\n        ProxyAdmin proxyAdmin = ProxyAdmin(payable(vm.envAddress(\"PROXY_ADMIN\")));\n\n\tproxyAdmin.upgrade(\n\t    payable(systemConfigProxy),\n            systemConfigImplementation\n\t);\n    }\n}\n"
  },
  {
    "path": "sepolia-alpha/2025-04-08-transfer-proxy-admin-ownership-to-safe/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n.PHONY: simulate\nsimulate:\n\tforge script --rpc-url $(L1_RPC_URL) TransferOwnership --sender $(SENDER)\n\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(L1_RPC_URL) TransferOwnership --account sepolia-alpha-admin --broadcast -vvvv\n"
  },
  {
    "path": "sepolia-alpha/2025-04-08-transfer-proxy-admin-ownership-to-safe/README.md",
    "content": "# Transfer Proxy Admin Ownership to Gnosis Safe\n\nStatus: EXECUTED (https://sepolia.etherscan.io/tx/0x35ea2479c054639acd2547f53c47fe166caf1c6c7b5cfebfff5178532135c122)\n\n## Description\n\nWe wish to update the owner of our [ProxyAdmin](https://sepolia.etherscan.io/address/0xC5aE9023bFA79124ffA50169E1423E733D0166f1) contract on Sepolia for Sepolia-Alpha to be a Gnosis safe owned by the Base chain engineers. The current owner is an EOA which is not compatible with the superchain-ops upgrade process, nor is it analogous to our standard task setup for this repo.\n\n## Procedure\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd sepolia-alpha/2025-04-08-transfer-proxy-admin-ownership-to-safe\nmake deps\n```\n\n### 2. Run relevant script(s)\n\n#### Simulate the transaction\n\n```bash\nmake simulate\n```\n\nYou will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n\n##### 2.1 Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Sepolia.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not see the derivation path Note above.\n\n##### 2.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab, and refer to the [State Validations](./VALIDATION.md) instructions for the transaction you are sending.\nOnce complete return to this document to complete the execution.\n\n#### Execute the transaction\n\n```bash\nmake execute\n```\n"
  },
  {
    "path": "sepolia-alpha/2025-04-08-transfer-proxy-admin-ownership-to-safe/VALIDATION.md",
    "content": "# Validation\n\nThis document can be used to validate the inputs and result of the execution of the upgrade transaction which you are\nsigning.\n\n# State Validations\n\nFor each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract:\n\n- The following state changes (and none others) are made to that contract. This validates that no unexpected state\n  changes occur.\n- All addresses (in section headers and storage values) match the provided name, using the Etherscan and Superchain\n  Registry links provided. This validates the bytecode deployed at the addresses contains the correct logic.\n- All key values match the semantic meaning provided, which can be validated using the storage layout links provided.\n\n## Task State Changes\n\n<pre>\n<code>\n----- DecodedStateDiff[0] -----\n  Who:               0xC5aE9023bFA79124ffA50169E1423E733D0166f1\n  Contract:          ProxyAdmin - Sepolia Alpha\n  Chain ID:          11155111\n  Raw Slot:          0x0000000000000000000000000000000000000000000000000000000000000000\n  Raw Old Value:     0x000000000000000000000000af6e0e871f38c7b653700f7cbaedafaa2784d430\n  Raw New Value:     0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9\n  Decoded Kind:      address\n  Decoded Old Value: 0xAf6E0E871f38c7B653700F7CbAEDafaa2784D430\n  Decoded New Value: 0x0fe884546476dDd290eC46318785046ef68a0BA9\n\n  Summary:           Update ProxyAdmin owner from `0xAf6E0E871f38c7B653700F7CbAEDafaa2784D430` to `0x0fe884546476dDd290eC46318785046ef68a0BA9`\n\n----- Additional Nonce Changes -----\n  Who:               0xAf6E0E871f38c7B653700F7CbAEDafaa2784D430\n\n  Details:           Nonce Updates for all addresses listed above.\n  Summary:\n    - 0xAf6E0E871f38c7B653700F7CbAEDafaa2784D430 is the caller\n</pre>\n"
  },
  {
    "path": "sepolia-alpha/2025-04-08-transfer-proxy-admin-ownership-to-safe/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "sepolia-alpha/2025-04-08-transfer-proxy-admin-ownership-to-safe/records/TransferOwnership.s.sol/11155111/run-1744830889.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": null,\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0xc5ae9023bfa79124ffa50169e1423e733d0166f1\",\n      \"function\": \"transferOwnership(address)\",\n      \"arguments\": [\n        \"0x0fe884546476dDd290eC46318785046ef68a0BA9\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xaf6e0e871f38c7b653700f7cbaedafaa2784d430\",\n        \"to\": \"0xc5ae9023bfa79124ffa50169e1423e733d0166f1\",\n        \"gas\": \"0xa32b\",\n        \"value\": \"0x0\",\n        \"input\": \"0xf2fde38b0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9\",\n        \"nonce\": \"0x1b\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1744830889,\n  \"chain\": 11155111,\n  \"commit\": \"c8c9b78\"\n}"
  },
  {
    "path": "sepolia-alpha/2025-04-08-transfer-proxy-admin-ownership-to-safe/records/TransferOwnership.s.sol/11155111/run-1744830912.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x35ea2479c054639acd2547f53c47fe166caf1c6c7b5cfebfff5178532135c122\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0xc5ae9023bfa79124ffa50169e1423e733d0166f1\",\n      \"function\": \"transferOwnership(address)\",\n      \"arguments\": [\n        \"0x0fe884546476dDd290eC46318785046ef68a0BA9\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xaf6e0e871f38c7b653700f7cbaedafaa2784d430\",\n        \"to\": \"0xc5ae9023bfa79124ffa50169e1423e733d0166f1\",\n        \"gas\": \"0xa32b\",\n        \"value\": \"0x0\",\n        \"input\": \"0xf2fde38b0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9\",\n        \"nonce\": \"0x1b\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1578ac0\",\n      \"logs\": [\n        {\n          \"address\": \"0xc5ae9023bfa79124ffa50169e1423e733d0166f1\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x000000000000000000000000af6e0e871f38c7b653700f7cbaedafaa2784d430\",\n            \"0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xe1c011a2d7e8b06abe59f8ae93cbd97b3551c3b3f0113defc065dd5adc64e9b3\",\n          \"blockNumber\": \"0x7c16a2\",\n          \"transactionHash\": \"0x35ea2479c054639acd2547f53c47fe166caf1c6c7b5cfebfff5178532135c122\",\n          \"transactionIndex\": \"0x8a\",\n          \"logIndex\": \"0xf1\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000100000000000800008000000000000000000000000800000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000100020000000000000000000000000000000000000000000000000000000000000000000000000000000000000020400000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x35ea2479c054639acd2547f53c47fe166caf1c6c7b5cfebfff5178532135c122\",\n      \"transactionIndex\": \"0x8a\",\n      \"blockHash\": \"0xe1c011a2d7e8b06abe59f8ae93cbd97b3551c3b3f0113defc065dd5adc64e9b3\",\n      \"blockNumber\": \"0x7c16a2\",\n      \"gasUsed\": \"0x6f92\",\n      \"effectiveGasPrice\": \"0xa4ea068f\",\n      \"from\": \"0xaf6e0e871f38c7b653700f7cbaedafaa2784d430\",\n      \"to\": \"0xc5ae9023bfa79124ffa50169e1423e733d0166f1\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1744830912,\n  \"chain\": 11155111,\n  \"commit\": \"c8c9b78\"\n}"
  },
  {
    "path": "sepolia-alpha/2025-04-08-transfer-proxy-admin-ownership-to-safe/script/TransferOwnership.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Script} from \"forge-std/Script.sol\";\nimport {OwnableUpgradeable} from \"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\n\ncontract TransferOwnership is Script {\n    address public immutable NEW_OWNER;\n    address public immutable PROXY_ADMIN;\n\n    constructor() {\n        NEW_OWNER = vm.envAddress(\"NEW_OWNER\");\n        PROXY_ADMIN = vm.envAddress(\"PROXY_ADMIN\");\n    }\n\n    function run() public {\n        Simulation.StateOverride[] memory overrides;\n        bytes memory data = _buildCall();\n        Simulation.logSimulationLink({_to: PROXY_ADMIN, _data: data, _from: msg.sender, _overrides: overrides});\n\n        vm.startBroadcast();\n        (bool success, ) = PROXY_ADMIN.call(data);\n        vm.stopBroadcast();\n\n        require(success, \"TransferOwnership call failed\");\n        _postCheck();\n    }\n\n    function _buildCall() private view returns (bytes memory) {\n        return abi.encodeCall(OwnableUpgradeable.transferOwnership, (NEW_OWNER));\n    }\n\n    function _postCheck() private view {\n        OwnableUpgradeable proxyAdmin = OwnableUpgradeable(PROXY_ADMIN);\n        require(proxyAdmin.owner() == NEW_OWNER, \"ProxyAdmin owner did not get updated\");\n    }\n}\n"
  },
  {
    "path": "sepolia-alpha/2025-11-03-transfer-systemconfig-ownership-to-safe/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n.PHONY: simulate\nsimulate:\n\tforge script --rpc-url $(L1_RPC_URL) TransferSystemConfigOwnership --sender $(SENDER)\n\n.PHONY: execute\nexecute:\n\tforge script --rpc-url $(L1_RPC_URL) TransferSystemConfigOwnership --account sepolia-alpha-admin --broadcast -vvvv"
  },
  {
    "path": "sepolia-alpha/2025-11-03-transfer-systemconfig-ownership-to-safe/README.md",
    "content": "# Transfer SystemConfig Ownership to Gnosis Safe\n\nStatus: [EXECUTED](https://sepolia.etherscan.io/tx/0x81552a616a1ed450c53845ee12cbcb3c7b608fde5e51f056218c7663877a2d6d)\n\n## Description\n\nWe wish to update the owner of our [SystemConfig](https://sepolia.etherscan.io/address/0x7F67DC4959cb3E532B10A99F41bDD906C46FdFdE) contract on Sepolia for Sepolia-Alpha to be the Gnosis safe owned by the Base chain engineers.\n\n**Important Context:**\n- The ProxyAdmin owner was previously transferred to the Safe in task `2025-04-08-transfer-proxy-admin-ownership-to-safe`\n- However, that transaction only changed the **ProxyAdmin** owner (which controls proxy upgrades)\n- The **SystemConfig** owner (which controls SystemConfig parameters) is a separate ownership role\n- This task correctly transfers the SystemConfig ownership to match the ProxyAdmin ownership\n\nThe current owner is an EOA (0xAf6E0E871f38c7B653700F7CbAEDafaa2784D430) which is not compatible with the superchain-ops upgrade process.\n\n## Procedure\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd sepolia-alpha/2025-11-03-transfer-systemconfig-ownership-to-safe\nmake deps\n```\n\n### 2. Run relevant script(s)\n\n#### Simulate the transaction\n\n```bash\nmake simulate\n```\n\nYou will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n\n##### 2.1 Validate integrity of the simulation.\n\nMake sure you are on the \"Overview\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Sepolia.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not see the derivation path Note above.\n\n##### 2.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab, and refer to the [State Validations](./VALIDATION.md) instructions for the transaction you are sending.\nOnce complete return to this document to complete the execution.\n\n#### Execute the transaction\n\n```bash\nmake execute\n```\n"
  },
  {
    "path": "sepolia-alpha/2025-11-03-transfer-systemconfig-ownership-to-safe/VALIDATION.md",
    "content": "# Validation\n\n<!-- NOTE: This validation file was created manually, not generated by state-diff.\n     The state-diff tool requires MultisigScript transactions that output EIP-712 signatures.\n     This is a simple EOA transaction, so the validation was written by hand based on\n     the expected state changes from the script simulation.\n\n     STORAGE SLOT DERIVATION:\n     The SystemConfig owner is stored at slot 51 (0x33). This can be verified with:\n       forge inspect OwnableUpgradeable storageLayout  # Shows _owner at Slot 51\n       cast storage 0x7F67DC4959cb3E532B10A99F41bDD906C46FdFdE 51 --rpc-url <rpc>\n\n     OWNERSHIP TYPES:\n     This transfer changes the SystemConfig **parameter owner** (who can call setBatcherHash, setGasLimit, etc.).\n     The **upgrade admin** (ProxyAdmin at 0xC5aE9023bFA79124ffA50169E1423E733D0166f1) controls upgrades\n     and was already transferred to the Safe in task `2025-04-08-transfer-proxy-admin-ownership-to-safe`.\n-->\n\nThis document can be used to validate the inputs and result of the execution of the upgrade transaction which you are\nsigning.\n\n# State Validations\n\nFor each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract:\n\n- The following state changes (and none others) are made to that contract. This validates that no unexpected state\n  changes occur.\n- All addresses (in section headers and storage values) match the provided name, using the Etherscan and Superchain\n  Registry links provided. This validates the bytecode deployed at the addresses contains the correct logic.\n- All key values match the semantic meaning provided, which can be validated using the storage layout links provided.\n\n## Task State Changes\n\n<pre>\n<code>\n----- DecodedStateDiff[0] -----\n  Who:               0x7F67DC4959cb3E532B10A99F41bDD906C46FdFdE\n  Contract:          SystemConfig (Proxy) - Sepolia Alpha\n  Chain ID:          11155111\n  Raw Slot:          0x0000000000000000000000000000000000000000000000000000000000000033\n  Raw Old Value:     0x000000000000000000000000af6e0e871f38c7b653700f7cbaedafaa2784d430\n  Raw New Value:     0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9\n  Decoded Kind:      address\n  Decoded Old Value: 0xAf6E0E871f38c7B653700F7CbAEDafaa2784D430\n  Decoded New Value: 0x0fe884546476dDd290eC46318785046ef68a0BA9\n\n  Summary:           Update SystemConfig owner from `0xAf6E0E871f38c7B653700F7CbAEDafaa2784D430` to `0x0fe884546476dDd290eC46318785046ef68a0BA9`\n\n----- Additional Nonce Changes -----\n  Who:               0xAf6E0E871f38c7B653700F7CbAEDafaa2784D430\n\n  Details:           Nonce Updates for all addresses listed above.\n  Summary:\n    - 0xAf6E0E871f38c7B653700F7CbAEDafaa2784D430 is the caller\n</pre>\n"
  },
  {
    "path": "sepolia-alpha/2025-11-03-transfer-systemconfig-ownership-to-safe/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    'solady/=lib/solady/src/',\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "sepolia-alpha/2025-11-03-transfer-systemconfig-ownership-to-safe/records/TransferSystemConfigOwnership.s.sol/11155111/run-1764627721931.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x81552a616a1ed450c53845ee12cbcb3c7b608fde5e51f056218c7663877a2d6d\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x7f67dc4959cb3e532b10a99f41bdd906c46fdfde\",\n      \"function\": \"transferOwnership(address)\",\n      \"arguments\": [\n        \"0x0fe884546476dDd290eC46318785046ef68a0BA9\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xaf6e0e871f38c7b653700f7cbaedafaa2784d430\",\n        \"to\": \"0x7f67dc4959cb3e532b10a99f41bdd906c46fdfde\",\n        \"gas\": \"0xc391\",\n        \"value\": \"0x0\",\n        \"input\": \"0xf2fde38b0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9\",\n        \"nonce\": \"0x1c\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xff27db\",\n      \"logs\": [\n        {\n          \"address\": \"0x7f67dc4959cb3e532b10a99f41bdd906c46fdfde\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x000000000000000000000000af6e0e871f38c7b653700f7cbaedafaa2784d430\",\n            \"0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x4cfdba9007c2ce490c66925031b077b443c4653954198a88e51af65a81b7acbe\",\n          \"blockNumber\": \"0x94c0c9\",\n          \"blockTimestamp\": \"0x692e1508\",\n          \"transactionHash\": \"0x81552a616a1ed450c53845ee12cbcb3c7b608fde5e51f056218c7663877a2d6d\",\n          \"transactionIndex\": \"0x2d\",\n          \"logIndex\": \"0x6b\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000100000000000000000000000000000000040000000800000000000000000000000000000000000000000000000000000000000000004000000000000000400000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100020000000000000000000000000000000000000000000000000000000000000000000000000000000000000020400000000000010000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x81552a616a1ed450c53845ee12cbcb3c7b608fde5e51f056218c7663877a2d6d\",\n      \"transactionIndex\": \"0x2d\",\n      \"blockHash\": \"0x4cfdba9007c2ce490c66925031b077b443c4653954198a88e51af65a81b7acbe\",\n      \"blockNumber\": \"0x94c0c9\",\n      \"gasUsed\": \"0x85b9\",\n      \"effectiveGasPrice\": \"0xf4248\",\n      \"from\": \"0xaf6e0e871f38c7b653700f7cbaedafaa2784d430\",\n      \"to\": \"0x7f67dc4959cb3e532b10a99f41bdd906c46fdfde\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1764627721931,\n  \"chain\": 11155111,\n  \"commit\": \"6d0fb84\"\n}"
  },
  {
    "path": "sepolia-alpha/2025-11-03-transfer-systemconfig-ownership-to-safe/script/TransferSystemConfigOwnership.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Script} from \"forge-std/Script.sol\";\nimport {OwnableUpgradeable} from \"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\n\ncontract TransferSystemConfigOwnership is Script {\n    address public immutable NEW_OWNER;\n    address public immutable SYSTEM_CONFIG;\n\n    constructor() {\n        NEW_OWNER = vm.envAddress(\"NEW_OWNER\");\n        SYSTEM_CONFIG = vm.envAddress(\"SYSTEM_CONFIG\");\n    }\n\n    function run() public {\n        Simulation.StateOverride[] memory overrides;\n        bytes memory data = _buildCall();\n        Simulation.logSimulationLink({to: SYSTEM_CONFIG, data: data, from: msg.sender, overrides: overrides});\n\n        vm.startBroadcast();\n        (bool success,) = SYSTEM_CONFIG.call(data);\n        vm.stopBroadcast();\n\n        require(success, \"TransferSystemConfigOwnership call failed\");\n        _postCheck();\n    }\n\n    function _buildCall() private view returns (bytes memory) {\n        return abi.encodeCall(OwnableUpgradeable.transferOwnership, (NEW_OWNER));\n    }\n\n    function _postCheck() private view {\n        OwnableUpgradeable systemConfig = OwnableUpgradeable(SYSTEM_CONFIG);\n        require(systemConfig.owner() == NEW_OWNER, \"SystemConfig owner did not get updated\");\n    }\n}\n"
  },
  {
    "path": "sepolia-alpha/2026-02-23-update-system-config-params/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\ninclude ../.env\ninclude .env\n\nRPC_URL = $(L1_RPC_URL)\nSCRIPT_NAME = UpdateSystemConfigParamsScript\n\n.PHONY: gen-validation-cb\ngen-validation-cb: checkout-signer-tool run-script-cb\n\n.PHONY: run-script-cb\nrun-script-cb:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \\\n\t--workdir .. --forge-cmd 'NEW_GAS_LIMIT=$(NEW_GAS_LIMIT) NEW_ELASTICITY=$(NEW_ELASTICITY) NEW_DENOMINATOR=$(NEW_DENOMINATOR) \\\n\tforge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" \"[$(CB_NESTED_SAFE_ADDR),$(CB_SIGNER_SAFE_ADDR)]\" \\\n\t--sender 0x7f10098BD53519c739cA8A404afE127647D94774' --ledger-id $(LEDGER_ACCOUNT) --out ../validations/base-signer.json;\n\n.PHONY: gen-validation-cb-sc\ngen-validation-cb-sc: checkout-signer-tool run-script-cb-sc\n\n.PHONY: run-script-cb-sc\nrun-script-cb-sc:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \\\n\t--workdir .. --forge-cmd 'NEW_GAS_LIMIT=$(NEW_GAS_LIMIT) NEW_ELASTICITY=$(NEW_ELASTICITY) NEW_DENOMINATOR=$(NEW_DENOMINATOR) \\\n\tforge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" \"[$(CB_SC_SAFE_ADDR),$(CB_SIGNER_SAFE_ADDR)]\" \\\n\t--sender 0x7f10098BD53519c739cA8A404afE127647D94774' --ledger-id $(LEDGER_ACCOUNT) --out ../validations/security-council-signer.json;\n\n.PHONY: gen-validation-op\ngen-validation-op: checkout-signer-tool run-script-op\n\n.PHONY: run-script-op\nrun-script-op:\n\tcd $(SIGNER_TOOL_PATH); \\\n\tnpm ci; \\\n\tbun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \\\n\t--workdir .. --forge-cmd 'NEW_GAS_LIMIT=$(NEW_GAS_LIMIT) NEW_ELASTICITY=$(NEW_ELASTICITY) NEW_DENOMINATOR=$(NEW_DENOMINATOR) \\\n\tforge script --rpc-url $(RPC_URL) \\\n\t$(SCRIPT_NAME) --sig \"sign(address[])\" \"[$(OP_SIGNER_SAFE_ADDR)]\" \\\n\t--sender 0x0CF2F86C3338993ce10F74d6f4B095712c7efe26' --ledger-id $(LEDGER_ACCOUNT) --out ../validations/optimism-signer.json;\n\n# CB\n.PHONY: approve-cb\napprove-cb:\n\tNEW_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tNEW_ELASTICITY=$(NEW_ELASTICITY) \\\n\tNEW_DENOMINATOR=$(NEW_DENOMINATOR) \\\n\t$(call MULTISIG_APPROVE,$(CB_NESTED_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES))\n\n.PHONY: approve-cb-sc\napprove-cb-sc:\n\tNEW_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tNEW_ELASTICITY=$(NEW_ELASTICITY) \\\n\tNEW_DENOMINATOR=$(NEW_DENOMINATOR) \\\n\t$(call MULTISIG_APPROVE,$(CB_SC_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES))\n\n.PHONY: approve-cb-coordinator\napprove-cb-coordinator:\n\tNEW_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tNEW_ELASTICITY=$(NEW_ELASTICITY) \\\n\tNEW_DENOMINATOR=$(NEW_DENOMINATOR) \\\n\t$(call MULTISIG_APPROVE,$(CB_SIGNER_SAFE_ADDR),0x)\n\n.PHONY: approve-op\napprove-op:\n\tNEW_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tNEW_ELASTICITY=$(NEW_ELASTICITY) \\\n\tNEW_DENOMINATOR=$(NEW_DENOMINATOR) \\\n\t$(call MULTISIG_APPROVE,$(OP_SIGNER_SAFE_ADDR),$(SIGNATURES))\n.PHONY: execute\nexecute:\n\tNEW_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tNEW_ELASTICITY=$(NEW_ELASTICITY) \\\n\tNEW_DENOMINATOR=$(NEW_DENOMINATOR) \\\n\t$(call MULTISIG_EXECUTE,0x)\n"
  },
  {
    "path": "sepolia-alpha/2026-02-23-update-system-config-params/README.md",
    "content": "# Update SystemConfig Parameters on Base Sepolia Alpha\n\nStatus: [EXECUTED](https://sepolia.etherscan.io/tx/0x9a0c01b65b217361cd4dcd2106bd97895d301c2a16f601cc63a2d3486403df2f)\n\n## Description\n\nThis task brings Base Sepolia Alpha's SystemConfig parameters to parity with Base Mainnet by updating:\n\n| Parameter | From (Sepolia Alpha) | To (Mainnet parity) |\n|-----------|----------------|---------------------|\n| Gas Limit | 60,000,000 | 200,000,000 |\n| EIP-1559 Elasticity | 2 | 6 |\n| EIP-1559 Denominator | 250 | 125 |\n\nThis runbook invokes the `UpdateSystemConfigParamsScript` defined in the [base/contracts](https://github.com/base/contracts) repository. The values we are sending are statically defined in the `.env` file.\n\n## Install dependencies\n\n### 1. Update foundry\n\n```bash\nfoundryup\n```\n\n### 2. Install Node.js if needed\n\nFirst, check if you have node installed\n\n```bash\nnode --version\n```\n\nIf you see a version output from the above command, you can move on. Otherwise, install node\n\n```bash\nbrew install node\n```\n\n## Approving the Update transaction\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root).\n\n```bash\nmake sign-task\n```\n\n### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\nBe sure to select the correct task user from the list of available users to sign.\nAfter completion, the signer tool can be closed by using Ctrl + C.\n\n### 4. Send signature to facilitator\n\n## Prep (maintainers)\n\n```bash\ncd contract-deployments\ngit pull\ncd sepolia-alpha/2026-02-23-update-system-config-params\nmake deps\nmake gen-validation\n```\n\n## Execute (facilitator)\n\n1. Collect signatures from all signers and export: `export SIGNATURES=\"0x[sig1][sig2]...\"`.\n2. Run: `make execute`\n"
  },
  {
    "path": "sepolia-alpha/2026-02-23-update-system-config-params/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nevm_version = \"shanghai\"\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/base-contracts',\n    '@solady/=lib/solady/src/'\n]\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "sepolia-alpha/2026-02-23-update-system-config-params/records/UpdateSystemConfigParams.s.sol/11155111/approve-latest.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x527cff0e475f8dd72326a28981d048f40cfa18e827db51b49624ce512a8ac852\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd72d2bd9f155f4150cb706e158d79a983a4ae667c4500c5f36ff709448fde6e8300000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x977a5ce61f7c285ca6a08bee69dd0d616ead510ec0900d3bf2a7a43d5384575b7cb365e1f5b9a351c16a7e06607056f4743a70004f25773691cf824ac4785f5a1c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n        \"gas\": \"0x1e9ff\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd72d2bd9f155f4150cb706e158d79a983a4ae667c4500c5f36ff709448fde6e8300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041977a5ce61f7c285ca6a08bee69dd0d616ead510ec0900d3bf2a7a43d5384575b7cb365e1f5b9a351c16a7e06607056f4743a70004f25773691cf824ac4785f5a1c00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x47\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xafee79\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x72d2bd9f155f4150cb706e158d79a983a4ae667c4500c5f36ff709448fde6e83\",\n            \"0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x73428973724693ebbeff3a2e5c013dfbf7877ed86eec7079ddaa79d0d9edb035\",\n          \"blockNumber\": \"0x9d8425\",\n          \"blockTimestamp\": \"0x699cce1c\",\n          \"transactionHash\": \"0x527cff0e475f8dd72326a28981d048f40cfa18e827db51b49624ce512a8ac852\",\n          \"transactionIndex\": \"0x4e\",\n          \"logIndex\": \"0x9f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x6cd0ce736973997ba481646479f001f8ba7e55f8acd38d87fa0084d33bf7867c0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x73428973724693ebbeff3a2e5c013dfbf7877ed86eec7079ddaa79d0d9edb035\",\n          \"blockNumber\": \"0x9d8425\",\n          \"blockTimestamp\": \"0x699cce1c\",\n          \"transactionHash\": \"0x527cff0e475f8dd72326a28981d048f40cfa18e827db51b49624ce512a8ac852\",\n          \"transactionIndex\": \"0x4e\",\n          \"logIndex\": \"0xa0\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000040000000000000000000000000000000000000000040000000000000000800000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000000000000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000040000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000014020000000000000000000000100000000008000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x527cff0e475f8dd72326a28981d048f40cfa18e827db51b49624ce512a8ac852\",\n      \"transactionIndex\": \"0x4e\",\n      \"blockHash\": \"0x73428973724693ebbeff3a2e5c013dfbf7877ed86eec7079ddaa79d0d9edb035\",\n      \"blockNumber\": \"0x9d8425\",\n      \"gasUsed\": \"0x162c0\",\n      \"effectiveGasPrice\": \"0xf4c08\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1771884061108,\n  \"chain\": 11155111,\n  \"commit\": \"c165840\"\n}"
  },
  {
    "path": "sepolia-alpha/2026-02-23-update-system-config-params/records/UpdateSystemConfigParams.s.sol/11155111/run-1771883161260.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x0aa3c0b8c0547c2f25fab24e6b4835f32069a6d974fff6cdd0a19d06ab141103\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdb4f43d3d02723bec9f82077a0d55da3bfe91468118546c3b5232aa4fda0962a400000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x87f9e1c55743077a15d19cbc18bcdfb498e132b3ba7277b284957c87e581398502b093b6cbcb8127eb12edaef2fc3ecceabb391788490c8bab87d2d6449483981c8408aa89a06d968091f1aa1ed8c41c895922a4220ebb61504c20d52a87db85eb776b4a40d537dda4a637bac8789fc0bd6729bc1bebd8a5af12a14480cd0deca61c24efd99efdb192612ae0e74371e4aec7f860877c51d71499e876514738c5f84f184cb65a3355be7ac7791d9de44a3b334347592a81a2abeb7e420628b6b3974e1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n        \"gas\": \"0x2323d\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdb4f43d3d02723bec9f82077a0d55da3bfe91468118546c3b5232aa4fda0962a4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c387f9e1c55743077a15d19cbc18bcdfb498e132b3ba7277b284957c87e581398502b093b6cbcb8127eb12edaef2fc3ecceabb391788490c8bab87d2d6449483981c8408aa89a06d968091f1aa1ed8c41c895922a4220ebb61504c20d52a87db85eb776b4a40d537dda4a637bac8789fc0bd6729bc1bebd8a5af12a14480cd0deca61c24efd99efdb192612ae0e74371e4aec7f860877c51d71499e876514738c5f84f184cb65a3355be7ac7791d9de44a3b334347592a81a2abeb7e420628b6b3974e1b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x44\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x4ad9a1\",\n      \"logs\": [\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xb4f43d3d02723bec9f82077a0d55da3bfe91468118546c3b5232aa4fda0962a4\",\n            \"0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x69083d06923cafd72fbf4ff42a020c5f8865ae272981d1bb02cb74dcf3ad37e5\",\n          \"blockNumber\": \"0x9d83de\",\n          \"blockTimestamp\": \"0x699cca98\",\n          \"transactionHash\": \"0x0aa3c0b8c0547c2f25fab24e6b4835f32069a6d974fff6cdd0a19d06ab141103\",\n          \"transactionIndex\": \"0x31\",\n          \"logIndex\": \"0x3e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0x1ae7dd3d99b6ccd30b702109d4329ebe2b8ffb7867c8ca80d661d3c4b8de2cf2\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x69083d06923cafd72fbf4ff42a020c5f8865ae272981d1bb02cb74dcf3ad37e5\",\n          \"blockNumber\": \"0x9d83de\",\n          \"blockTimestamp\": \"0x699cca98\",\n          \"transactionHash\": \"0x0aa3c0b8c0547c2f25fab24e6b4835f32069a6d974fff6cdd0a19d06ab141103\",\n          \"transactionIndex\": \"0x31\",\n          \"logIndex\": \"0x3f\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000080000000000000000000000000000000000000040000000004010000000000000000000000000000000000800020100000000000000000000000000000000000000000000000000000000000000000000800000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000020000404004000000000010000000000000000000000000000000000000000000000000000000000000000000004000020000000000000000000000000000040000000000000000001000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x0aa3c0b8c0547c2f25fab24e6b4835f32069a6d974fff6cdd0a19d06ab141103\",\n      \"transactionIndex\": \"0x31\",\n      \"blockHash\": \"0x69083d06923cafd72fbf4ff42a020c5f8865ae272981d1bb02cb74dcf3ad37e5\",\n      \"blockNumber\": \"0x9d83de\",\n      \"gasUsed\": \"0x1970e\",\n      \"effectiveGasPrice\": \"0xf4ff0\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1771883161260,\n  \"chain\": 11155111,\n  \"commit\": \"c165840\"\n}"
  },
  {
    "path": "sepolia-alpha/2026-02-23-update-system-config-params/records/UpdateSystemConfigParams.s.sol/11155111/run-1771883761465.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x5a1011373ce577b13692855e8458b247293b9365d290e93b5c442dee4624d72e\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdb4f43d3d02723bec9f82077a0d55da3bfe91468118546c3b5232aa4fda0962a400000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x215cab9740552a67e2a7f705508049b15fcb3835602fd8e62d166ce66e14cbb80c6468a634ee80dee00680d9a6d9f1f7ef4287cdc3e078b06b50d9bd6cc3f0ca1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n        \"gas\": \"0x1f7d8\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdb4f43d3d02723bec9f82077a0d55da3bfe91468118546c3b5232aa4fda0962a400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041215cab9740552a67e2a7f705508049b15fcb3835602fd8e62d166ce66e14cbb80c6468a634ee80dee00680d9a6d9f1f7ef4287cdc3e078b06b50d9bd6cc3f0ca1b00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x45\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x81e334\",\n      \"logs\": [\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xb4f43d3d02723bec9f82077a0d55da3bfe91468118546c3b5232aa4fda0962a4\",\n            \"0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xd34c8c9ec9aff8fabeed0dc7a094c49d107c4306bc2f5dcaaf825c62fdfe75b8\",\n          \"blockNumber\": \"0x9d840c\",\n          \"blockTimestamp\": \"0x699cccf0\",\n          \"transactionHash\": \"0x5a1011373ce577b13692855e8458b247293b9365d290e93b5c442dee4624d72e\",\n          \"transactionIndex\": \"0x46\",\n          \"logIndex\": \"0x87\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xb902dd2482096e7e2eb3af0af0c868d77a04ebcdfe2cd3e5f66828d4a38bf6320000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xd34c8c9ec9aff8fabeed0dc7a094c49d107c4306bc2f5dcaaf825c62fdfe75b8\",\n          \"blockNumber\": \"0x9d840c\",\n          \"blockTimestamp\": \"0x699cccf0\",\n          \"transactionHash\": \"0x5a1011373ce577b13692855e8458b247293b9365d290e93b5c442dee4624d72e\",\n          \"transactionIndex\": \"0x46\",\n          \"logIndex\": \"0x88\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000040000000000000000000000000000000000000000040000000004000000000000000000000000000000000000800020100000000000000000000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000000004000020000000000000000000000000000014020000000000000000000000100000000008000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x5a1011373ce577b13692855e8458b247293b9365d290e93b5c442dee4624d72e\",\n      \"transactionIndex\": \"0x46\",\n      \"blockHash\": \"0xd34c8c9ec9aff8fabeed0dc7a094c49d107c4306bc2f5dcaaf825c62fdfe75b8\",\n      \"blockNumber\": \"0x9d840c\",\n      \"gasUsed\": \"0x15883\",\n      \"effectiveGasPrice\": \"0xf5034\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1771883761465,\n  \"chain\": 11155111,\n  \"commit\": \"c165840\"\n}"
  },
  {
    "path": "sepolia-alpha/2026-02-23-update-system-config-params/records/UpdateSystemConfigParams.s.sol/11155111/run-1771883845778.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x6acdec14bf993103e747f2b10bc2950e9368dea2d9f758d62cb5be0fd65e340e\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd72d2bd9f155f4150cb706e158d79a983a4ae667c4500c5f36ff709448fde6e8300000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n        \"gas\": \"0x1ff0a\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd72d2bd9f155f4150cb706e158d79a983a4ae667c4500c5f36ff709448fde6e83000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x46\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x8081c5\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x72d2bd9f155f4150cb706e158d79a983a4ae667c4500c5f36ff709448fde6e83\",\n            \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xc108c869150d9fda526d5cd9a27995ece4b97d3087e17c9036903adb0aeee746\",\n          \"blockNumber\": \"0x9d8413\",\n          \"blockTimestamp\": \"0x699ccd44\",\n          \"transactionHash\": \"0x6acdec14bf993103e747f2b10bc2950e9368dea2d9f758d62cb5be0fd65e340e\",\n          \"transactionIndex\": \"0x4e\",\n          \"logIndex\": \"0xb4\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0xb4f43d3d02723bec9f82077a0d55da3bfe91468118546c3b5232aa4fda0962a40000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xc108c869150d9fda526d5cd9a27995ece4b97d3087e17c9036903adb0aeee746\",\n          \"blockNumber\": \"0x9d8413\",\n          \"blockTimestamp\": \"0x699ccd44\",\n          \"transactionHash\": \"0x6acdec14bf993103e747f2b10bc2950e9368dea2d9f758d62cb5be0fd65e340e\",\n          \"transactionIndex\": \"0x4e\",\n          \"logIndex\": \"0xb5\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000000000000800000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000010000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000040010000000000000000000000000000000000000000000000000000000000000000001004000060000000000000000000000000000000000000000200000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x6acdec14bf993103e747f2b10bc2950e9368dea2d9f758d62cb5be0fd65e340e\",\n      \"transactionIndex\": \"0x4e\",\n      \"blockHash\": \"0xc108c869150d9fda526d5cd9a27995ece4b97d3087e17c9036903adb0aeee746\",\n      \"blockNumber\": \"0x9d8413\",\n      \"gasUsed\": \"0x171fd\",\n      \"effectiveGasPrice\": \"0xf4ed7\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1771883845778,\n  \"chain\": 11155111,\n  \"commit\": \"c165840\"\n}"
  },
  {
    "path": "sepolia-alpha/2026-02-23-update-system-config-params/records/UpdateSystemConfigParams.s.sol/11155111/run-1771884061108.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x527cff0e475f8dd72326a28981d048f40cfa18e827db51b49624ce512a8ac852\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd72d2bd9f155f4150cb706e158d79a983a4ae667c4500c5f36ff709448fde6e8300000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x977a5ce61f7c285ca6a08bee69dd0d616ead510ec0900d3bf2a7a43d5384575b7cb365e1f5b9a351c16a7e06607056f4743a70004f25773691cf824ac4785f5a1c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n        \"gas\": \"0x1e9ff\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd72d2bd9f155f4150cb706e158d79a983a4ae667c4500c5f36ff709448fde6e8300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041977a5ce61f7c285ca6a08bee69dd0d616ead510ec0900d3bf2a7a43d5384575b7cb365e1f5b9a351c16a7e06607056f4743a70004f25773691cf824ac4785f5a1c00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x47\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xafee79\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x72d2bd9f155f4150cb706e158d79a983a4ae667c4500c5f36ff709448fde6e83\",\n            \"0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x73428973724693ebbeff3a2e5c013dfbf7877ed86eec7079ddaa79d0d9edb035\",\n          \"blockNumber\": \"0x9d8425\",\n          \"blockTimestamp\": \"0x699cce1c\",\n          \"transactionHash\": \"0x527cff0e475f8dd72326a28981d048f40cfa18e827db51b49624ce512a8ac852\",\n          \"transactionIndex\": \"0x4e\",\n          \"logIndex\": \"0x9f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x6cd0ce736973997ba481646479f001f8ba7e55f8acd38d87fa0084d33bf7867c0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x73428973724693ebbeff3a2e5c013dfbf7877ed86eec7079ddaa79d0d9edb035\",\n          \"blockNumber\": \"0x9d8425\",\n          \"blockTimestamp\": \"0x699cce1c\",\n          \"transactionHash\": \"0x527cff0e475f8dd72326a28981d048f40cfa18e827db51b49624ce512a8ac852\",\n          \"transactionIndex\": \"0x4e\",\n          \"logIndex\": \"0xa0\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000040000000000000000000000000000000000000000040000000000000000800000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000000000000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000040000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000014020000000000000000000000100000000008000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x527cff0e475f8dd72326a28981d048f40cfa18e827db51b49624ce512a8ac852\",\n      \"transactionIndex\": \"0x4e\",\n      \"blockHash\": \"0x73428973724693ebbeff3a2e5c013dfbf7877ed86eec7079ddaa79d0d9edb035\",\n      \"blockNumber\": \"0x9d8425\",\n      \"gasUsed\": \"0x162c0\",\n      \"effectiveGasPrice\": \"0xf4c08\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x6af0674791925f767060dd52f7fb20984e8639d8\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1771884061108,\n  \"chain\": 11155111,\n  \"commit\": \"c165840\"\n}"
  },
  {
    "path": "sepolia-alpha/2026-02-23-update-system-config-params/records/UpdateSystemConfigParams.s.sol/11155111/run-1771884193061.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x9a0c01b65b217361cd4dcd2106bd97895d301c2a16f601cc63a2d3486403df2f\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n        \"0\",\n        \"0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001400000000000000000000000007f67dc4959cb3e532b10a99f41bdd906c46fdfde0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b41000000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000007f67dc4959cb3e532b10a99f41bdd906c46fdfde0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000bebc20000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n        \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n        \"gas\": \"0x23dcc\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000000264174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001400000000000000000000000007f67dc4959cb3e532b10a99f41bdd906c46fdfde0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b41000000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000007f67dc4959cb3e532b10a99f41bdd906c46fdfde0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000bebc20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x48\",\n        \"chainId\": \"0xaa36a7\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xc6ace2\",\n      \"logs\": [\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed\"\n          ],\n          \"data\": \"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004c00000000000000000000000000000000000000000000000000000000000000264174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001400000000000000000000000007f67dc4959cb3e532b10a99f41bdd906c46fdfde0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b41000000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000007f67dc4959cb3e532b10a99f41bdd906c46fdfde0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000bebc20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe072520000000000000000000000000000000000000000000000000000000000000002\",\n          \"blockHash\": \"0xe84db3f61928ce2325764ff3a7fe06d9da4128a749f342d98dbb0268264de8bc\",\n          \"blockNumber\": \"0x9d842e\",\n          \"blockTimestamp\": \"0x699ccea0\",\n          \"transactionHash\": \"0x9a0c01b65b217361cd4dcd2106bd97895d301c2a16f601cc63a2d3486403df2f\",\n          \"transactionIndex\": \"0x60\",\n          \"logIndex\": \"0xd9\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x7f67dc4959cb3e532b10a99f41bdd906c46fdfde\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000004\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000007d00000006\",\n          \"blockHash\": \"0xe84db3f61928ce2325764ff3a7fe06d9da4128a749f342d98dbb0268264de8bc\",\n          \"blockNumber\": \"0x9d842e\",\n          \"blockTimestamp\": \"0x699ccea0\",\n          \"transactionHash\": \"0x9a0c01b65b217361cd4dcd2106bd97895d301c2a16f601cc63a2d3486403df2f\",\n          \"transactionIndex\": \"0x60\",\n          \"logIndex\": \"0xda\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x7f67dc4959cb3e532b10a99f41bdd906c46fdfde\",\n          \"topics\": [\n            \"0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000002\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000bebc200\",\n          \"blockHash\": \"0xe84db3f61928ce2325764ff3a7fe06d9da4128a749f342d98dbb0268264de8bc\",\n          \"blockNumber\": \"0x9d842e\",\n          \"blockTimestamp\": \"0x699ccea0\",\n          \"transactionHash\": \"0x9a0c01b65b217361cd4dcd2106bd97895d301c2a16f601cc63a2d3486403df2f\",\n          \"transactionIndex\": \"0x60\",\n          \"logIndex\": \"0xdb\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\"\n          ],\n          \"data\": \"0x72d2bd9f155f4150cb706e158d79a983a4ae667c4500c5f36ff709448fde6e830000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xe84db3f61928ce2325764ff3a7fe06d9da4128a749f342d98dbb0268264de8bc\",\n          \"blockNumber\": \"0x9d842e\",\n          \"blockTimestamp\": \"0x699ccea0\",\n          \"transactionHash\": \"0x9a0c01b65b217361cd4dcd2106bd97895d301c2a16f601cc63a2d3486403df2f\",\n          \"transactionIndex\": \"0x60\",\n          \"logIndex\": \"0xdc\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x04000000400000000000000000000000000000000040000000000000040000000000000000000000000000000000000000000000000008000000000000000000000400000000000000000000000000000000040000000000000000000000000008000000020000000000000000000800000000000000000000000000000008000000200000000800000000040000000000000000000000000000000000000000000000000400000000000100000004000000000000000000002000000000000000000000000000000000000000020000000000008000000000000000000020000000010000000000000000000000000000000000008000000000008000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x9a0c01b65b217361cd4dcd2106bd97895d301c2a16f601cc63a2d3486403df2f\",\n      \"transactionIndex\": \"0x60\",\n      \"blockHash\": \"0xe84db3f61928ce2325764ff3a7fe06d9da4128a749f342d98dbb0268264de8bc\",\n      \"blockNumber\": \"0x9d842e\",\n      \"gasUsed\": \"0x19f6c\",\n      \"effectiveGasPrice\": \"0xf4b38\",\n      \"from\": \"0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252\",\n      \"to\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1771884193061,\n  \"chain\": 11155111,\n  \"commit\": \"c165840\"\n}"
  },
  {
    "path": "sepolia-alpha/2026-02-23-update-system-config-params/script/UpdateSystemConfigParams.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {IMulticall3} from \"forge-std/interfaces/IMulticall3.sol\";\n\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\n\ninterface ISystemConfig {\n    function eip1559Elasticity() external view returns (uint32);\n    function eip1559Denominator() external view returns (uint32);\n    function setEIP1559Params(uint32 _denominator, uint32 _elasticity) external;\n    function gasLimit() external view returns (uint64);\n    function setGasLimit(uint64 _gasLimit) external;\n}\n\ncontract UpdateSystemConfigParamsScript is MultisigScript {\n    address internal immutable OWNER_SAFE;\n    address internal immutable SYSTEM_CONFIG;\n\n    uint64 internal immutable NEW_GAS_LIMIT;\n    uint32 internal immutable NEW_ELASTICITY;\n    uint32 internal immutable NEW_DENOMINATOR;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n        SYSTEM_CONFIG = vm.envAddress(\"SYSTEM_CONFIG\");\n\n        NEW_GAS_LIMIT = uint64(vm.envUint(\"NEW_GAS_LIMIT\"));\n        NEW_ELASTICITY = uint32(vm.envUint(\"NEW_ELASTICITY\"));\n        NEW_DENOMINATOR = uint32(vm.envUint(\"NEW_DENOMINATOR\"));\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Denominator(), NEW_DENOMINATOR, \"Denominator mismatch\");\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity(), NEW_ELASTICITY, \"Elasticity mismatch\");\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).gasLimit(), NEW_GAS_LIMIT, \"Gas Limit mismatch\");\n    }\n\n    function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) {\n        IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](2);\n\n        calls[0] = IMulticall3.Call3Value({\n            target: SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(ISystemConfig.setEIP1559Params, (NEW_DENOMINATOR, NEW_ELASTICITY)),\n            value: 0\n        });\n\n        calls[1] = IMulticall3.Call3Value({\n            target: SYSTEM_CONFIG,\n            allowFailure: false,\n            callData: abi.encodeCall(ISystemConfig.setGasLimit, (NEW_GAS_LIMIT)),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "sepolia-alpha/2026-02-23-update-system-config-params/validations/base-signer.json",
    "content": "{\n  \"cmd\": \"NEW_GAS_LIMIT=200000000 NEW_ELASTICITY=6 NEW_DENOMINATOR=125 forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net UpdateSystemConfigParamsScript --sig sign(address[]) [0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f,0x646132A1667ca7aD00d36616AFBA1A28116C770A] --sender 0x7f10098BD53519c739cA8A404afE127647D94774\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n    \"domainHash\": \"0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23\",\n    \"messageHash\": \"0x81c45456c2727c38e1c3f4f70aa90e2850f006f089e9953eca411a999c744152\"\n  },\n  \"skipTaskOriginValidation\": true,\n  \"stateOverrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Sepolia\",\n      \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x31522f27f6ada81133dd2f69c5eed6eb22b64c31bd5bb8dd4c47b27c9f1a7684\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Sepolia\",\n      \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476ddd290ec46318785046ef68a0ba9\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000001e\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000001f\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x59dc6389f3a0009c95e6d2924a3e29f753f0dc7bc73875253236a562abf3f565\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Approval from signer safe\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Sepolia\",\n      \"address\": \"0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000013\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000014\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Sepolia\",\n      \"address\": \"0x646132a1667ca7ad00d36616afba1a28116c770a\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000000d\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000000e\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x584aebf80ff443ae45408fe9b9139e55ea254027a1549485781542f042c7bbd9\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Approval from sender\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config Proxy\",\n      \"address\": \"0x7f67dc4959cb3e532b10a99f41bdd906c46fdfde\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000068\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000003938700\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000bebc200\",\n          \"description\": \"Increase gas limit to 200M\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006a\",\n          \"before\": \"0x00000000000000000000000000000000000000000000000000000002000000fa\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000060000007d\",\n          \"description\": \"Elasticity -> 6 and denominator -> 125\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "sepolia-alpha/2026-02-23-update-system-config-params/validations/optimism-signer.json",
    "content": "{\n  \"cmd\": \"NEW_GAS_LIMIT=200000000 NEW_ELASTICITY=6 NEW_DENOMINATOR=125 forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net UpdateSystemConfigParamsScript --sig sign(address[]) [0x6AF0674791925f767060Dd52f7fB20984E8639d8] --sender 0x0CF2F86C3338993ce10F74d6f4B095712c7efe26\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n    \"domainHash\": \"0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa\",\n    \"messageHash\": \"0xe111c6aeb4651d4cc342f7872cf42cb551065f1b2bdd8057ede07ef2d6caa636\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Mock OP Safe / Mock Security Council - Sepolia\",\n      \"address\": \"0x6AF0674791925f767060Dd52f7fB20984E8639d8\",\n      \"overrides\": [\n        {\n          \"key\": \"0x1211bf12f55f859c06c19fdc02a8da83f9e3c4427768601b2e03837963013097\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000001e\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000001f\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x9b04b3058b89b90eacf95e14e18236dc18df01caa78ecdb3c0fd3d74c973025d\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates approval of sender\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Mock OP Safe / Mock Security Council - Sepolia\",\n      \"address\": \"0x6AF0674791925f767060Dd52f7fB20984E8639d8\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000019\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000001a\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"SystemConfig\",\n      \"address\": \"0x7F67DC4959cb3E532B10A99F41bDD906C46FdFdE\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000068\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000003938700\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000bebc200\",\n          \"description\": \"Increases gas limit\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006a\",\n          \"before\": \"0x00000000000000000000000000000000000000000000000000000002000000fa\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000060000007d\",\n          \"description\": \"Updates elasticity/denominator\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"skipTaskOriginValidation\": true,\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "sepolia-alpha/2026-02-23-update-system-config-params/validations/security-council-signer.json",
    "content": "{\n  \"cmd\": \"NEW_GAS_LIMIT=200000000 NEW_ELASTICITY=6 NEW_DENOMINATOR=125 forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net UpdateSystemConfigParamsScript --sig sign(address[]) [0x6AF0674791925f767060Dd52f7fB20984E8639d8,0x646132A1667ca7aD00d36616AFBA1A28116C770A] --sender 0x7f10098BD53519c739cA8A404afE127647D94774\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://ethereum-full-sepolia-k8s-dev.cbhq.net\",\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n    \"domainHash\": \"0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa\",\n    \"messageHash\": \"0xb29ceec2175a98e51698e223d107a8f9cc0fae0953c5e7f6bbe9f54bd6f8b925\"\n  },\n  \"skipTaskOriginValidation\": true,\n  \"stateOverrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Sepolia\",\n      \"address\": \"0x646132A1667ca7aD00d36616AFBA1A28116C770A\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Mock OP Safe / Mock Security Council - Sepolia\",\n      \"address\": \"0x6AF0674791925f767060Dd52f7fB20984E8639d8\",\n      \"overrides\": [\n        {\n          \"key\": \"0xd0b2424f94f13618e5e23f7ceff37755866674537b108707744898f532d4a406\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Proxy Admin Owner - Sepolia\",\n      \"address\": \"0x0fe884546476dDd290eC46318785046ef68a0BA9\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000001e\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000001f\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x59dc6389f3a0009c95e6d2924a3e29f753f0dc7bc73875253236a562abf3f565\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulate approval of signer safe\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Sepolia\",\n      \"address\": \"0x646132A1667ca7aD00d36616AFBA1A28116C770A\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x000000000000000000000000000000000000000000000000000000000000000d\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000000000e\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x8215c84af657cc2fdf756cc3c0eb523f45b919c04e36b19c9672491e436f592e\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulate approval of sender\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Mock OP Safe / Mock Security Council - Sepolia\",\n      \"address\": \"0x6AF0674791925f767060Dd52f7fB20984E8639d8\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000018\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000019\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"System Config\",\n      \"address\": \"0x7F67DC4959cb3E532B10A99F41bDD906C46FdFdE\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000068\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000003938700\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000bebc200\",\n          \"description\": \"Gas limit increase\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x000000000000000000000000000000000000000000000000000000000000006a\",\n          \"before\": \"0x00000000000000000000000000000000000000000000000000000002000000fa\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000060000007d\",\n          \"description\": \"Elasticity and denominator change\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": []\n}\n"
  },
  {
    "path": "setup-templates/template-funding/FACILITATOR.md",
    "content": "# Facilitator Guide\n\nGuide for facilitators managing this task.\n\n## Task Origin Signing\n\nAfter setting up the task, generate cryptographic attestations (sigstore bundles) to prove who created and facilitated the task. These signatures are stored in `<network>/signatures/<task-name>/`.\n\n### Task creator (run after task setup):\n```bash\nmake sign-as-task-creator\n```\n\n### Base facilitator:\n```bash\nmake sign-as-base-facilitator\n```\n\n### Security Council facilitator:\n```bash\nmake sign-as-sc-facilitator\n```\n"
  },
  {
    "path": "setup-templates/template-funding/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\ninclude ../.env\ninclude .env\n\nRPC_URL = $(L1_RPC_URL)\nSCRIPT_NAME = FundScript\n\n# Validate required configuration before execution\n.PHONY: validate-config\nvalidate-config:\n\t@test -n \"$(BASE_CONTRACTS_COMMIT)\" || (echo \"BASE_CONTRACTS_COMMIT required\" && exit 1)\n\t@test -n \"$(OWNER_SAFE)\" || (echo \"OWNER_SAFE required\" && exit 1)\n\t@test -n \"$(SENDER)\" || (echo \"SENDER required\" && exit 1)\n\t@echo \"Configuration validated successfully\"\n\n.PHONY: execute\nexecute: validate-config\n\t$(call MULTISIG_EXECUTE,$(SIGNATURES))\n"
  },
  {
    "path": "setup-templates/template-funding/README.md",
    "content": "# Funding\n\nStatus: PENDING\n\n## Description\n\nThis task contains a single script that can be used to fund addresses from a Gnosis Safe.\n\n## Procedure\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd <network>/<date>-funding\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate, Validate, and Sign\n\n#### 3.1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```bash\nmake sign\n```\n\nYou will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and extract the domain hash and\nmessage hash to approve on your Ledger:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n##### 3.1.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Summary\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is `<network>`.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account.\n\n##### 3.1.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab, and refer to the [State Validations](./VALIDATION.md) instructions for the transaction you are signing.\nOnce complete return to this document to complete the signing.\n\n### 4. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Summary\" tab, and find the\n`Safe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\nOnce the validations are done, it's time to actually sign the\ntransaction.\n\n> [!WARNING]\n> This is the most security critical part of the playbook: make sure the\n> domain hash and message hash in the following three places match:\n>\n> 1. On your Ledger screen.\n> 2. In the terminal output.\n> 3. In the Tenderly simulation. You should use the same Tenderly\n>    simulation as the one you used to verify the state diffs, instead\n>    of opening the new one printed in the console.\n>\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```shell\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n#### 4.1. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n### [For Facilitator ONLY] How to execute\n\n#### Execute the transaction\n\n1. Collect outputs from all participating signers.\n1. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"`.\n1. Run the `make execute` command as described below to execute the transaction.\n\nFor example, if the quorum is 2 and you get the following outputs:\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE01\nSignature: AAAA\n```\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE02\nSignature: BBBB\n```\n\nThen you should run:\n\nCoinbase facilitator:\n\n```bash\nSIGNATURES=AAAABBBB make execute\n```\n"
  },
  {
    "path": "setup-templates/template-funding/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/contracts',\n    '@solady/=lib/solady/src/',\n]\n\n[lint]\nlint_on_build = false\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "setup-templates/template-funding/funding.json",
    "content": "{\n    \"recipients\": [\n        \"0x0000000000000000000000000000000000000042\",\n        \"0x0000000000000000000000000000000000000043\"\n    ],\n    \"funds\": [\n        100000000000000000,\n        50000000000000000\n    ]\n}"
  },
  {
    "path": "setup-templates/template-funding/script/Fund.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\n\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {Enum} from \"@base-contracts/script/universal/IGnosisSafe.sol\";\n\ncontract FundScript is MultisigScript {\n    address internal immutable OWNER_SAFE;\n\n    uint256 internal immutable OWNER_SAFE_BALANCE_BEFORE;\n    uint256 internal immutable TOTAL_FUNDS;\n\n    address[] internal RECIPIENTS;\n    uint256[] internal FUNDS;\n    uint256[] internal RECIPIENT_BALANCES_BEFORE;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n\n        string memory funding = vm.readFile(\"./funding.json\");\n        RECIPIENTS = vm.parseJsonAddressArray(funding, \".recipients\");\n        FUNDS = vm.parseJsonUintArray(funding, \".funds\");\n\n        uint256 totalFunds = 0;\n        RECIPIENT_BALANCES_BEFORE = new uint256[](RECIPIENTS.length + 1);\n        for (uint256 i; i < RECIPIENTS.length; i++) {\n            RECIPIENT_BALANCES_BEFORE[i] = RECIPIENTS[i].balance;\n            totalFunds += FUNDS[i];\n        }\n\n        OWNER_SAFE_BALANCE_BEFORE = OWNER_SAFE.balance;\n        TOTAL_FUNDS = totalFunds;\n    }\n\n    function setUp() public view {\n        _precheck();\n    }\n\n    function _precheck() internal view {\n        require(RECIPIENTS.length == FUNDS.length, \"RECIPIENTS and FUNDS not same length\");\n        require(RECIPIENTS.length > 0, \"RECIPIENTS and FUNDS empty\");\n        require(OWNER_SAFE.balance >= TOTAL_FUNDS, \"OWNER_SAFE not enough balance\");\n    }\n\n    function _buildCalls() internal view override returns (Call[] memory) {\n        Call[] memory calls = new Call[](RECIPIENTS.length);\n\n        for (uint256 i; i < RECIPIENTS.length; i++) {\n            calls[i] = Call({operation: Enum.Operation.Call, target: RECIPIENTS[i], data: \"\", value: FUNDS[i]});\n        }\n\n        return calls;\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        for (uint256 i; i < RECIPIENTS.length; i++) {\n            vm.assertEq(\n                RECIPIENTS[i].balance, RECIPIENT_BALANCES_BEFORE[i] + FUNDS[i], \"Recipient balance is not correct\"\n            );\n        }\n\n        vm.assertEq(OWNER_SAFE.balance, OWNER_SAFE_BALANCE_BEFORE - TOTAL_FUNDS, \"Owner safe balance is not correct\");\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "setup-templates/template-gas-and-elasticity-increase/FACILITATOR.md",
    "content": "# Facilitator Guide\n\nGuide for facilitators managing this task.\n\n## Task Origin Signing\n\nAfter setting up the task, generate cryptographic attestations (sigstore bundles) to prove who created and facilitated the task. These signatures are stored in `<network>/signatures/<task-name>/`.\n\n### Task creator (run after task setup):\n```bash\nmake sign-as-task-creator\n```\n\n### Base facilitator:\n```bash\nmake sign-as-base-facilitator\n```\n\n### Security Council facilitator:\n```bash\nmake sign-as-sc-facilitator\n```\n\n## Execution\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd <network>/<task-name>\nmake deps\n```\n\n### 2. Execute upgrade\n\n```bash\nSIGNATURES=AAABBBCCC make execute\n```\n\n### 3. (**ONLY** if needed) Execute upgrade rollback\n\n> [!IMPORTANT]\n>\n> THIS SHOULD ONLY BE PERFORMED IN THE EVENT THAT WE NEED TO ROLLBACK\n\n```bash\nSIGNATURES=AAABBBCCC make execute-rollback\n```\n"
  },
  {
    "path": "setup-templates/template-gas-and-elasticity-increase/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\ninclude ../.env\ninclude .env\n\n# Map config variables to script variables\nOWNER_SAFE ?= $(INCIDENT_MULTISIG)\n\nifndef ROLLBACK_NONCE_OFFSET\noverride ROLLBACK_NONCE_OFFSET = 1\nendif\n\nRPC_URL = $(L1_RPC_URL)\nSCRIPT_NAME = IncreaseEip1559ElasticityAndIncreaseGasLimitScript\n\n# Validate required configuration before execution\n.PHONY: validate-config\nvalidate-config:\n\t@test -n \"$(BASE_CONTRACTS_COMMIT)\" -a \"$(BASE_CONTRACTS_COMMIT)\" != \"TODO\" || (echo \"BASE_CONTRACTS_COMMIT required\" && exit 1)\n\t@test -n \"$(OWNER_SAFE)\" || (echo \"OWNER_SAFE required\" && exit 1)\n\t@test -n \"$(SYSTEM_CONFIG)\" || (echo \"SYSTEM_CONFIG required\" && exit 1)\n\t@test -n \"$(SENDER)\" || (echo \"SENDER required\" && exit 1)\n\t@test -n \"$(FROM_GAS_LIMIT)\" -a \"$(FROM_GAS_LIMIT)\" != \"TODO\" || (echo \"FROM_GAS_LIMIT required\" && exit 1)\n\t@test -n \"$(TO_GAS_LIMIT)\" -a \"$(TO_GAS_LIMIT)\" != \"TODO\" || (echo \"TO_GAS_LIMIT required\" && exit 1)\n\t@test -n \"$(FROM_ELASTICITY)\" -a \"$(FROM_ELASTICITY)\" != \"TODO\" || (echo \"FROM_ELASTICITY required\" && exit 1)\n\t@test -n \"$(TO_ELASTICITY)\" -a \"$(TO_ELASTICITY)\" != \"TODO\" || (echo \"TO_ELASTICITY required\" && exit 1)\n\t@test -n \"$(FROM_DA_FOOTPRINT_GAS_SCALAR)\" -a \"$(FROM_DA_FOOTPRINT_GAS_SCALAR)\" != \"TODO\" || (echo \"FROM_DA_FOOTPRINT_GAS_SCALAR required\" && exit 1)\n\t@test -n \"$(TO_DA_FOOTPRINT_GAS_SCALAR)\" -a \"$(TO_DA_FOOTPRINT_GAS_SCALAR)\" != \"TODO\" || (echo \"TO_DA_FOOTPRINT_GAS_SCALAR required\" && exit 1)\n\t@echo \"Configuration validated successfully\"\n\n# Calculate the DA footprint gas scalar based on the formula:\n# da_footprint_gas_scalar = gas_limit / (elasticity * target_blob_count * 32,000)\n# Uses TO_GAS_LIMIT and TO_ELASTICITY from .env\n.PHONY: da-scalar\nda-scalar:\nifndef TARGET_BLOB_COUNT\n\t$(error TARGET_BLOB_COUNT is not set. Usage: make da-scalar TARGET_BLOB_COUNT=<value>)\nendif\nifeq ($(TO_GAS_LIMIT),TODO)\n\t$(error TO_GAS_LIMIT is not set. Please set it in .env before running this command.)\nendif\nifeq ($(TO_ELASTICITY),TODO)\n\t$(error TO_ELASTICITY is not set. Please set it in .env before running this command.)\nendif\n\t@echo \"$(TO_GAS_LIMIT) / ($(TO_ELASTICITY) * $(TARGET_BLOB_COUNT) * 32000) =\"\n\t@echo \"TO_DA_FOOTPRINT_GAS_SCALAR=$$(( $(TO_GAS_LIMIT) / ($(TO_ELASTICITY) * $(TARGET_BLOB_COUNT) * 32000) ))\"\n\n.PHONY: gen-validation\ngen-validation: validate-config deps-signer-tool\n\t$(call GEN_VALIDATION,$(SCRIPT_NAME),,$(SENDER),base-signer.json,NEW_GAS_LIMIT=$(TO_GAS_LIMIT) OLD_GAS_LIMIT=$(FROM_GAS_LIMIT) NEW_ELASTICITY=$(TO_ELASTICITY) OLD_ELASTICITY=$(FROM_ELASTICITY) NEW_DA_FOOTPRINT_GAS_SCALAR=$(TO_DA_FOOTPRINT_GAS_SCALAR) OLD_DA_FOOTPRINT_GAS_SCALAR=$(FROM_DA_FOOTPRINT_GAS_SCALAR))\n\n.PHONY: execute\nexecute: validate-config\n\tNEW_GAS_LIMIT=$(TO_GAS_LIMIT) \\\n\tOLD_GAS_LIMIT=$(FROM_GAS_LIMIT) \\\n\tNEW_ELASTICITY=$(TO_ELASTICITY) \\\n\tOLD_ELASTICITY=$(FROM_ELASTICITY) \\\n\tNEW_DA_FOOTPRINT_GAS_SCALAR=$(TO_DA_FOOTPRINT_GAS_SCALAR) \\\n\tOLD_DA_FOOTPRINT_GAS_SCALAR=$(FROM_DA_FOOTPRINT_GAS_SCALAR) \\\n\t$(call MULTISIG_EXECUTE,$(SIGNATURES))\n\n# Generate rollback validation file with swapped old/new values and nonce offset.\n# SAFE_NONCE is set to current_nonce + ROLLBACK_NONCE_OFFSET so the rollback\n# transaction targets the correct future nonce.\n.PHONY: gen-validation-rollback\ngen-validation-rollback: validate-config deps-signer-tool\n\t$(call GEN_VALIDATION,$(SCRIPT_NAME),,$(SENDER),base-signer-rollback.json,OLD_GAS_LIMIT=$(TO_GAS_LIMIT) NEW_GAS_LIMIT=$(FROM_GAS_LIMIT) OLD_ELASTICITY=$(TO_ELASTICITY) NEW_ELASTICITY=$(FROM_ELASTICITY) OLD_DA_FOOTPRINT_GAS_SCALAR=$(TO_DA_FOOTPRINT_GAS_SCALAR) NEW_DA_FOOTPRINT_GAS_SCALAR=$(FROM_DA_FOOTPRINT_GAS_SCALAR) SAFE_NONCE=$(shell expr $(call GET_NONCE,$(OWNER_SAFE)) + $(ROLLBACK_NONCE_OFFSET)))\n\n.PHONY: execute-rollback\nexecute-rollback: validate-config\n\tOLD_GAS_LIMIT=$(TO_GAS_LIMIT) \\\n\tNEW_GAS_LIMIT=$(FROM_GAS_LIMIT) \\\n\tOLD_ELASTICITY=$(TO_ELASTICITY) \\\n\tNEW_ELASTICITY=$(FROM_ELASTICITY) \\\n\tOLD_DA_FOOTPRINT_GAS_SCALAR=$(TO_DA_FOOTPRINT_GAS_SCALAR) \\\n\tNEW_DA_FOOTPRINT_GAS_SCALAR=$(FROM_DA_FOOTPRINT_GAS_SCALAR) \\\n\tSAFE_NONCE=$(shell expr $(call GET_NONCE,$(OWNER_SAFE)) + $(ROLLBACK_NONCE_OFFSET)) \\\n\t$(call MULTISIG_EXECUTE,$(SIGNATURES))\n"
  },
  {
    "path": "setup-templates/template-gas-and-elasticity-increase/README.md",
    "content": "# Update Gas Limit, Elasticity & DA Footprint Gas Scalar in L1 `SystemConfig`\n\nStatus: TODO[READY TO SIGN|DONE]\n\n## Description\n\nWe are updating the gas limit, elasticity, and DA footprint gas scalar to improve TPS and reduce gas fees.\n\nThis runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base/contracts) repository:\n\n`IncreaseEip1559ElasticityAndIncreaseGasLimitScript` -- This script will update the gas limit to our new limit of TODO gas, TODO elasticity, and TODO DA footprint gas scalar if invoked as part of the \"upgrade\" process, or revert to the old limit of TODO gas, TODO elasticity, and TODO DA footprint gas scalar if invoked as part of the \"rollback\" process.\n\n### DA Footprint Gas Scalar Formula\n\nWe typically set the DA footprint gas scalar to cause base fees to rise if and only if the DA usage exceeds the L1 target blob throughput. (Below that level of DA usage, the normal base fee rules apply.) We use the following formula:\n\n```\nda_footprint_gas_scalar = gas_limit / (elasticity * l2_block_time * l1_target_throughput * estimation_ratio)\n```\n\nWhere:\n- `gas_limit` = L2 gas limit per block\n- `elasticity` = EIP-1559 elasticity multiplier\n- `l2_block_time` = 2 seconds\n- `l1_target_throughput = (target_blob_count * 128,000 bytes/blob) / 12 sec/block`\n- `target_blob_count` = target number of blobs per L1 block\n- `estimation_ratio` = 1.5 to account for differences between compression estimates and actual usage\n\nThis simplifies to:\n\n```\nda_footprint_gas_scalar = gas_limit / (elasticity * target_blob_count * 32,000)\n```\n\nExample with gas_limit = 120,000,000, elasticity = 2, and target_blob_count = 6:\n```\nda_footprint_gas_scalar = 120,000,000 / (2 * 6 * 32,000) = 312.5 ≈ 312\n```\n\nThe values we are sending are statically defined in the `.env` file.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow\n> the flow for both \"Approving the Update transaction\" and\n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed.\n\n## Install dependencies\n\n### 1. Update foundry\n\n```bash\nfoundryup\n```\n\n### 2. Install Node.js if needed\n\nFirst, check if you have node installed\n\n```bash\nnode --version\n```\n\nIf you see a version output from the above command, you can move on. Otherwise, install node\n\n```bash\nbrew install node\n```\n\n## Approving the Update transaction\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root).\n\n```bash\nmake sign-task\n```\n\n### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\nBe sure to select the correct task from the list of available tasks to sign (**not** the \"Base Signer Rollback\" task). Copy the resulting signature and save it.\n\n### 4. Rollback signing\n\nNow, click on the \"Base Signer\" selection and switch over to the rollback task (called \"Base Signer Rollback\"). Copy the resulting signature and save it.\n\n### 5. Send signature to facilitator\n\nSend the two signatures to the facilitator and make sure to clearly note which one is the primary one and which one is the rollback.\n\nYou may now kill the Signer Tool process in your terminal window by running `Ctrl + C`.\n"
  },
  {
    "path": "setup-templates/template-gas-and-elasticity-increase/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/contracts',\n    '@solady/=lib/solady/src/'\n]\n\n[lint]\nlint_on_build = false\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "setup-templates/template-gas-and-elasticity-increase/script/IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\n\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Enum} from \"@base-contracts/script/universal/IGnosisSafe.sol\";\n\ninterface ISystemConfig {\n    function eip1559Elasticity() external view returns (uint32);\n    function eip1559Denominator() external view returns (uint32);\n    function setEIP1559Params(uint32 _denominator, uint32 _elasticity) external;\n    function gasLimit() external view returns (uint64);\n    function setGasLimit(uint64 _gasLimit) external;\n    function daFootprintGasScalar() external view returns (uint16);\n    function setDAFootprintGasScalar(uint16 _daFootprintGasScalar) external;\n}\n\ncontract IncreaseEip1559ElasticityAndIncreaseGasLimitScript is MultisigScript {\n    address internal immutable OWNER_SAFE;\n    address internal immutable SYSTEM_CONFIG;\n\n    uint32 internal immutable ELASTICITY;\n    uint32 internal immutable NEW_ELASTICITY;\n    uint64 internal immutable GAS_LIMIT;\n    uint64 internal immutable NEW_GAS_LIMIT;\n    uint32 internal immutable DENOMINATOR;\n    uint16 internal immutable DA_FOOTPRINT_GAS_SCALAR;\n    uint16 internal immutable NEW_DA_FOOTPRINT_GAS_SCALAR;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n        SYSTEM_CONFIG = vm.envAddress(\"SYSTEM_CONFIG\");\n\n        GAS_LIMIT = uint64(vm.envUint(\"OLD_GAS_LIMIT\"));\n        NEW_GAS_LIMIT = uint64(vm.envUint(\"NEW_GAS_LIMIT\"));\n\n        ELASTICITY = uint32(vm.envUint(\"OLD_ELASTICITY\"));\n        NEW_ELASTICITY = uint32(vm.envUint(\"NEW_ELASTICITY\"));\n\n        DA_FOOTPRINT_GAS_SCALAR = uint16(vm.envUint(\"OLD_DA_FOOTPRINT_GAS_SCALAR\"));\n        NEW_DA_FOOTPRINT_GAS_SCALAR = uint16(vm.envUint(\"NEW_DA_FOOTPRINT_GAS_SCALAR\"));\n\n        DENOMINATOR = ISystemConfig(SYSTEM_CONFIG).eip1559Denominator();\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Denominator(), DENOMINATOR, \"Denominator mismatch\");\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity(), NEW_ELASTICITY, \"Elasticity mismatch\");\n        vm.assertEq(ISystemConfig(SYSTEM_CONFIG).gasLimit(), NEW_GAS_LIMIT, \"Gas Limit mismatch\");\n        vm.assertEq(\n            ISystemConfig(SYSTEM_CONFIG).daFootprintGasScalar(),\n            NEW_DA_FOOTPRINT_GAS_SCALAR,\n            \"DA Footprint Gas Scalar mismatch\"\n        );\n    }\n\n    function _simulationOverrides() internal view override returns (Simulation.StateOverride[] memory _stateOverrides) {\n        if (\n            GAS_LIMIT != ISystemConfig(SYSTEM_CONFIG).gasLimit()\n                || ELASTICITY != ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity()\n                || DA_FOOTPRINT_GAS_SCALAR != ISystemConfig(SYSTEM_CONFIG).daFootprintGasScalar()\n        ) {\n            // Override SystemConfig state to the expected \"from\" values so simulations succeeds even\n            // when the chain already reflects the post-change values (during rollback simulation).\n\n            // Prepare two storage overrides for SystemConfig\n            Simulation.StateOverride[] memory stateOverrides = new Simulation.StateOverride[](1);\n            Simulation.StorageOverride[] memory storageOverrides = new Simulation.StorageOverride[](2);\n\n            // Load current packed gas config (slot 0x68) and replace only the lower 64 bits with GAS_LIMIT\n            bytes32 gasConfigSlotKey = bytes32(uint256(0x68));\n            uint256 gasConfigWord = uint256(vm.load(SYSTEM_CONFIG, gasConfigSlotKey));\n            uint256 updatedGasConfigWord = (gasConfigWord & ~uint256(0xffffffffffffffff)) | uint256(GAS_LIMIT);\n            storageOverrides[0] =\n                Simulation.StorageOverride({key: gasConfigSlotKey, value: bytes32(updatedGasConfigWord)});\n\n            // Update EIP-1559 params and DA Footprint Gas Scalar (slot 0x6a)\n            // Storage layout (low to high bits):\n            //   - eip1559Denominator (uint32): bits 0-31\n            //   - eip1559Elasticity (uint32): bits 32-63\n            //   - operatorFeeScalar (uint32): bits 64-95\n            //   - operatorFeeConstant (uint64): bits 96-159\n            //   - daFootprintGasScalar (uint16): bits 160-175\n            // Load existing slot to preserve operatorFeeScalar and operatorFeeConstant, then update\n            // the fields we care about.\n            bytes32 eip1559SlotKey = bytes32(uint256(0x6a));\n            uint256 existingEip1559Word = uint256(vm.load(SYSTEM_CONFIG, eip1559SlotKey));\n            // Mask to preserve bits 64-159 (operatorFeeScalar and operatorFeeConstant)\n            uint256 operatorFeeMask = uint256(0xFFFFFFFFFFFFFFFFFFFFFFFF) << 64;\n            uint256 preservedOperatorFees = existingEip1559Word & operatorFeeMask;\n            uint256 composedEip1559Word = (uint256(DA_FOOTPRINT_GAS_SCALAR) << 160) | preservedOperatorFees\n                | (uint256(ELASTICITY) << 32) | uint256(DENOMINATOR);\n            storageOverrides[1] = Simulation.StorageOverride({key: eip1559SlotKey, value: bytes32(composedEip1559Word)});\n\n            stateOverrides[0] = Simulation.StateOverride({contractAddress: SYSTEM_CONFIG, overrides: storageOverrides});\n            return stateOverrides;\n        }\n    }\n\n    function _buildCalls() internal view override returns (Call[] memory) {\n        Call[] memory calls = new Call[](3);\n\n        calls[0] = Call({\n            operation: Enum.Operation.Call,\n            target: SYSTEM_CONFIG,\n            data: abi.encodeCall(ISystemConfig.setEIP1559Params, (DENOMINATOR, NEW_ELASTICITY)),\n            value: 0\n        });\n\n        calls[1] = Call({\n            operation: Enum.Operation.Call,\n            target: SYSTEM_CONFIG,\n            data: abi.encodeCall(ISystemConfig.setGasLimit, (NEW_GAS_LIMIT)),\n            value: 0\n        });\n\n        calls[2] = Call({\n            operation: Enum.Operation.Call,\n            target: SYSTEM_CONFIG,\n            data: abi.encodeCall(ISystemConfig.setDAFootprintGasScalar, (NEW_DA_FOOTPRINT_GAS_SCALAR)),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "setup-templates/template-gas-increase/FACILITATOR.md",
    "content": "# Facilitator Guide\n\nGuide for facilitators managing this task.\n\n## Task Origin Signing\n\nAfter setting up the task, generate cryptographic attestations (sigstore bundles) to prove who created and facilitated the task. These signatures are stored in `<network>/signatures/<task-name>/`.\n\n### Task creator (run after task setup):\n```bash\nmake sign-as-task-creator\n```\n\n### Base facilitator:\n```bash\nmake sign-as-base-facilitator\n```\n\n### Security Council facilitator:\n```bash\nmake sign-as-sc-facilitator\n```\n"
  },
  {
    "path": "setup-templates/template-gas-increase/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\ninclude ../.env\ninclude .env\n\n# Map config variables to script variables\nL1_SYSTEM_CONFIG_ADDRESS ?= $(SYSTEM_CONFIG)\nSYSTEM_CONFIG_OWNER ?= $(INCIDENT_MULTISIG)\n\nifndef ROLLBACK_NONCE_OFFSET\noverride ROLLBACK_NONCE_OFFSET = 1\nendif\n\nRPC_URL = $(L1_RPC_URL)\n# SCRIPT_NAME can be a Solidity file path (not just a class name); forge accepts both.\nSCRIPT_NAME = lib/base-contracts/script/deploy/l1/SetGasLimit.sol\n\n# Validate required configuration before execution\n.PHONY: validate-config\nvalidate-config:\n\t@test -n \"$(BASE_CONTRACTS_COMMIT)\" -a \"$(BASE_CONTRACTS_COMMIT)\" != \"TODO\" || (echo \"BASE_CONTRACTS_COMMIT required\" && exit 1)\n\t@test -n \"$(L1_SYSTEM_CONFIG_ADDRESS)\" || (echo \"L1_SYSTEM_CONFIG_ADDRESS required\" && exit 1)\n\t@test -n \"$(SYSTEM_CONFIG_OWNER)\" || (echo \"SYSTEM_CONFIG_OWNER required\" && exit 1)\n\t@test -n \"$(OLD_GAS_LIMIT)\" -a \"$(OLD_GAS_LIMIT)\" != \"TODO\" || (echo \"OLD_GAS_LIMIT required\" && exit 1)\n\t@test -n \"$(NEW_GAS_LIMIT)\" -a \"$(NEW_GAS_LIMIT)\" != \"TODO\" || (echo \"NEW_GAS_LIMIT required\" && exit 1)\n\t@echo \"Configuration validated successfully\"\n\n.PHONY: sign-upgrade\nsign-upgrade: validate-config\n\tFROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"sign()\"\n\n.PHONY: execute-upgrade\nexecute-upgrade: validate-config\n\tFROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\t$(call MULTISIG_EXECUTE,$(SIGNATURES))\n\n.PHONY: sign-rollback\nsign-rollback: validate-config\n\tFROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tSAFE_NONCE=$(shell expr $(call GET_NONCE,$(SYSTEM_CONFIG_OWNER)) + $(ROLLBACK_NONCE_OFFSET)) \\\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tforge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \\\n\t--sig \"sign()\"\n\n.PHONY: execute-rollback\nexecute-rollback: validate-config\n\tFROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \\\n\tTO_GAS_LIMIT=$(OLD_GAS_LIMIT) \\\n\tSAFE_NONCE=$(shell expr $(call GET_NONCE,$(SYSTEM_CONFIG_OWNER)) + $(ROLLBACK_NONCE_OFFSET)) \\\n\t$(call MULTISIG_EXECUTE,$(SIGNATURES))\n"
  },
  {
    "path": "setup-templates/template-gas-increase/README.md",
    "content": "# Update Gas Limit in L1 `SystemConfig`\n\nStatus: TODO[READY TO SIGN|DONE]\n\n## Objective\n\nWe are updating the gas limit to improve TPS and reduce gas fees.\n\nThis runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base-org/contracts) repository:\n\n`SetGasLimit` -- This script will update the gas limit to our new limit of TODO gas if invoked as part of the \"upgrade\" process, or revert to the old limit of TODO gas if invoked as part of the \"rollback\" process.\n\nThe values we are sending are statically defined in the `.env`.\n\n> [!IMPORTANT] We have two transactions to sign. Please follow\n> the flow for both \"Approving the Update transaction\" and\n> \"Approving the Rollback transaction\". Hopefully we only need\n> the former, but will have the latter available if needed.\n\n## Approving the Upgrade transaction\n\n### 1. Update repo and move to the appropriate folder:\n\n```\ncd contract-deployments\ngit pull\ncd mainnet/TODO\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-upgrade\n```\n\nOnce you run the `make sign...` command successfully, you will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Summary\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from TODO to TODO:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: TODO\nAfter: TODO\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from TODO to TODO:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: TODO\nAfter: TODO\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Summary\" tab, and find the\n`Safe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-upgrade\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Approving the Rollback transaction\n\nComplete the above steps for `Approving the Update transaction` before continuing below.\n\n### 1. Simulate and validate the transaction\n\nMake sure your ledger is still unlocked and run the following.\n\n```shell\nmake sign-rollback\n```\n\nOnce you run the make sign command successfully, you will see a \"Simulation link\" from the output. Once again paste this URL in your browser and click \"Simulate Transaction\".\n\nWe will be performing 3 validations and then we'll extract the domain hash and\nmessage hash to approve on your Ledger then verify completion:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n4. Validate that the transaction completed successfully\n\n#### 3.1. Validate integrity of the simulation.\n\nMake sure you are on the \"Summary\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Ethereum Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not,\n   you will need to determine which “number” it is in the list of\n   addresses on your ledger.\n4. \"Success\" with a green check mark\n\n#### 3.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab. Verify that:\n\n1. Verify that the nonce is incremented for the Incident Multisig under the \"GnosisSafeProxy\" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000005\nBefore: TODO\nAfter: TODO\n```\n\n2. Verify that gas limit value is appropriately updated under \"Proxy\" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`:\n\n```\nKey: 0x0000000000000000000000000000000000000000000000000000000000000068\nBefore: TODO\nAfter: TODO\n```\n\n#### 3.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Summary\" tab, and find the\n`Safe.checkSignatures` call. This call's `data` parameter\ncontains both the domain hash and the message hash that will show up\nin your Ledger.\n\nHere is an example screenshot. Note that the value will be\ndifferent for each signer:\n\n![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036)\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\n### 4. Approve the signature on your ledger\n\nOnce the validations are done, it's time to actually sign the\ntransaction. Make sure your ledger is still unlocked and run the\nfollowing:\n\n```shell\nmake sign-rollback\n```\n\n> [!IMPORTANT] This is the most security critical part of the\n> playbook: make sure the domain hash and message hash in the\n> following two places match:\n\n1. on your Ledger screen.\n2. in the Tenderly simulation. You should use the same Tenderly\n   simulation as the one you used to verify the state diffs, instead\n   of opening the new one printed in the console.\n\nThere is no need to verify anything printed in the console. There is\nno need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n### 5. Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n## Execute the output\n\n1. Collect outputs from all participating signers.\n2. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"0x[SIGNATURE1][SIGNATURE2]...\"`.\n3. Run `make execute-upgrade`\n\n> [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK\n> Repeat the above, but replace the signatures with the signed\n> rollback signatures collected, the call `make execute-rollback`\n"
  },
  {
    "path": "setup-templates/template-gas-increase/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\", path = \"./\"} ]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/contracts',\n    '@solady/=lib/solady/src/'\n]\n\n[lint]\nlint_on_build = false\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config"
  },
  {
    "path": "setup-templates/template-generic/FACILITATOR.md",
    "content": "# Facilitator Guide\n\nGuide for facilitators managing this task.\n\n## Task Origin Signing\n\nAfter setting up the task, generate cryptographic attestations (sigstore bundles) to prove who created and facilitated the task. These signatures are stored in `<network>/signatures/<task-name>/`.\n\n### Task creator (run after task setup):\n```bash\nmake sign-as-task-creator\n```\n\n### Base facilitator:\n```bash\nmake sign-as-base-facilitator\n```\n\n### Security Council facilitator:\n```bash\nmake sign-as-sc-facilitator\n```\n"
  },
  {
    "path": "setup-templates/template-generic/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\ninclude ../.env\ninclude .env\n\nRPC_URL = $(L1_RPC_URL)\nSCRIPT_NAME = ExampleMultisigScript\n\n# Validate required configuration before execution\n.PHONY: validate-config\nvalidate-config:\n\t@test -n \"$(BASE_CONTRACTS_COMMIT)\" || (echo \"BASE_CONTRACTS_COMMIT required\" && exit 1)\n\t@test -n \"$(OWNER_SAFE)\" -a \"$(OWNER_SAFE)\" != \"<SET_MULTISIG_ADDRESS>\" || (echo \"OWNER_SAFE required\" && exit 1)\n\t@test -n \"$(TARGET)\" -a \"$(TARGET)\" != \"<SET_TARGET_ADDRESS>\" || (echo \"TARGET required\" && exit 1)\n\t@echo \"Configuration validated successfully\"\n\n# L1_0\n.PHONY: approve-l1-0\napprove-l1-0:\n\t$(call MULTISIG_APPROVE,$(L1_0),$(SIGNATURES))\n\n# L1_1\n.PHONY: approve-l1-1\napprove-l1-1:\n\t$(call MULTISIG_APPROVE,$(L1_1),$(SIGNATURES))\n\n# Execute\n.PHONY: execute\nexecute: validate-config\n\t$(call MULTISIG_EXECUTE,0x)\n"
  },
  {
    "path": "setup-templates/template-generic/README.md",
    "content": "# Generic Multisig Script Template\n\nStatus: TEMPLATE\n\n## Description\n\nThis is the base template for creating new multisig operations. It provides a starting point with the standard file structure and Makefile targets needed for signing and executing transactions via Gnosis Safe multisigs.\n\nUse this template when you need to create a new task that doesn't fit one of the specialized templates (gas increase, fault proof upgrade, etc.).\n\n## Setup\n\n### 1. Create a new task directory\n\nFrom the repository root:\n\n```bash\nmake setup-task network=<network> task=<task-name>\n```\n\nThis copies the template to `<network>/<date>-<task-name>/`.\n\n### 2. Install dependencies\n\n```bash\ncd <network>/<date>-<task-name>\nmake deps\n```\n\n### 3. Configure environment\n\nEdit `.env` and set all required variables:\n\n| Variable | Required | Description |\n|----------|----------|-------------|\n| `BASE_CONTRACTS_COMMIT` | Yes | Git commit hash for base/contracts |\n| `TARGET` | Yes | Target contract address for the operation |\n| `OWNER_SAFE` | Yes | Top-level Gnosis Safe address |\n| `L1_0`, `L1_1` | Depends | Child safe addresses under OWNER_SAFE (if using nested safes) |\n\n### 4. Validate configuration\n\n```bash\nmake validate-config\n```\n\n### 5. Implement your script\n\nEdit `script/BasicScript.s.sol` or `script/CounterMultisigScript.s.sol` to implement your specific operation. The script should:\n\n1. Read configuration from environment variables in the constructor\n2. Implement `_buildCalls()` to return the multicall operations\n3. Implement `_postCheck()` to validate the transaction succeeded\n4. Implement `_ownerSafe()` to return the safe address\n\n## Safe Hierarchy\n\nThis template supports a single-nested safe structure for multi-party signing:\n\n```\nOWNER_SAFE/\n├── L1_0/\n│   └── Signers\n└── L1_1/\n    └── Signers\n```\n\n## Signing Flow\n\n### For signers at L1_0:\n```bash\nmake sign-l1-0\n```\n\n### For signers at L1_1:\n```bash\nmake sign-l1-1\n```\n\n### For approving nested safes:\n```bash\nSIGNATURES=<collected-signatures> make approve-l1-0\nSIGNATURES=<collected-signatures> make approve-l1-1\n```\n\n### Final execution:\n```bash\nmake execute\n```\n\n## Ledger Setup\n\nYour Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message \"Application is ready\".\n\nTo use a different Ledger account index:\n```bash\nLEDGER_ACCOUNT=1 make sign-l1-0\n```\n"
  },
  {
    "path": "setup-templates/template-generic/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/contracts',\n    '@solady/=lib/solady/src/',\n]\n\n[lint]\nlint_on_build = false\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "setup-templates/template-generic/script/BasicScript.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"forge-std/Script.sol\";\n\ncontract BasicScript is Script {\n    function setUp() public {}\n\n    function run() public {\n        _preCheck();\n        // Do something\n        _postCheck();\n    }\n\n    function _preCheck() private {}\n    function _postCheck() private {}\n}\n"
  },
  {
    "path": "setup-templates/template-generic/script/CounterMultisigScript.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\n\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Enum} from \"@base-contracts/script/universal/IGnosisSafe.sol\";\n\ninterface ITest {\n    function counter() external view returns (uint256);\n    function increment() external;\n}\n\ncontract CounterMultisigScript is MultisigScript {\n    address internal OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n    address internal TARGET = vm.envAddress(\"TARGET\");\n\n    uint256 private COUNT;\n\n    function setUp() external {\n        // TODO: Add any pre-check assertions here\n        COUNT = ITest(TARGET).counter();\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        // TODO: Add any post-check assertions here\n        require(ITest(TARGET).counter() == COUNT + 1, \"Counter did not increment\");\n    }\n\n    function _buildCalls() internal view override returns (Call[] memory) {\n        Call[] memory calls = new Call[](1);\n\n        calls[0] =\n            Call({operation: Enum.Operation.Call, target: TARGET, data: abi.encodeCall(ITest.increment, ()), value: 0});\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "setup-templates/template-pause-bridge-base/FACILITATOR.md",
    "content": "# Facilitator Guide\n\nGuide for facilitators managing this task.\n\n## Task Origin Signing\n\nAfter setting up the task, generate cryptographic attestations (sigstore bundles) to prove who created and facilitated the task. These signatures are stored in `<network>/signatures/<task-name>/`.\n\n### Task creator (run after task setup):\n```bash\nmake sign-as-task-creator\n```\n\n### Base facilitator:\n```bash\nmake sign-as-base-facilitator\n```\n\n### Security Council facilitator:\n```bash\nmake sign-as-sc-facilitator\n```\n\n## Execution\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd <network>/<task-name>\nmake deps\n```\n\n### 2. Execute pause\n\n```bash\nSIGNATURES=AAABBBCCC make execute-pause\n```\n\n### 3. (When ready) Execute un-pause\n\n```bash\nSIGNATURES=AAABBBCCC make execute-unpause\n```\n"
  },
  {
    "path": "setup-templates/template-pause-bridge-base/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\ninclude ../.env\ninclude .env\n\n# Map config variables to script variables\nOWNER_SAFE ?= $(INCIDENT_MULTISIG)\nL1_PORTAL ?= $(OPTIMISM_PORTAL)\n\n# Auto-fetch SAFE_NONCE from chain if not explicitly set (e.g., via .env)\nifndef SAFE_NONCE\nSAFE_NONCE := $(call GET_NONCE,$(OWNER_SAFE))\nendif\n# TODO: ensure `sender` is a signer for `OWNER_SAFE`\nSENDER=0x1841CB3C2ce6870D0417844C817849da64E6e937\n\nRPC_URL = $(L1_RPC_URL)\nSCRIPT_NAME = PauseBridge\n\n# Validate required configuration before execution\n.PHONY: validate-config\nvalidate-config:\n\t@test -n \"$(BASE_CONTRACTS_COMMIT)\" || (echo \"BASE_CONTRACTS_COMMIT required\" && exit 1)\n\t@test -n \"$(OWNER_SAFE)\" || (echo \"OWNER_SAFE required\" && exit 1)\n\t@test -n \"$(L1_PORTAL)\" || (echo \"L1_PORTAL required\" && exit 1)\n\t@test -n \"$(L2_BRIDGE)\" || (echo \"L2_BRIDGE required\" && exit 1)\n\t@test -n \"$(SENDER)\" || (echo \"SENDER required\" && exit 1)\n\t@test -n \"$(SAFE_NONCE)\" || (echo \"SAFE_NONCE required\" && exit 1)\n\t@echo \"Configuration validated successfully\"\n\n.PHONY: gen-validation\ngen-validation: validate-config deps-signer-tool\n\t$(call GEN_VALIDATION,$(SCRIPT_NAME),,$(SENDER),base-signer.json,IS_PAUSED=true)\n\n.PHONY: sign-pause\nsign-pause: validate-config\n\t@rm -f signatures-pause.txt\n\t@for i in $$(seq 0 19); do \\\n\t\tnonce=$$(($(SAFE_NONCE) + $$i)); \\\n\t\techo \"Signing with nonce $$nonce\"; \\\n\t\tIS_PAUSED=true SAFE_NONCE=$$nonce $(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\t\tforge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \\\n\t\t--sig \"sign(address[])\" \"[]\" --sender $(SENDER) | tee sign_output.tmp; \\\n\t\techo \"Nonce: $$nonce\" >> signatures-pause.txt; \\\n\t\tgrep -E \"^Data:|^Signer:|^Signature:\" sign_output.tmp >> signatures-pause.txt || true; \\\n\t\techo \"\" >> signatures-pause.txt; \\\n\t\trm -f sign_output.tmp; \\\n\tdone\n\n.PHONY: sign-unpause\nsign-unpause: validate-config\n\t@rm -f signatures-unpause.txt\n\t@for i in $$(seq 0 19); do \\\n\t\tnonce=$$(($(SAFE_NONCE) + $$i)); \\\n\t\techo \"Signing with nonce $$nonce\"; \\\n\t\tIS_PAUSED=false SAFE_NONCE=$$nonce $(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\t\tforge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \\\n\t\t--sig \"sign(address[])\" \"[]\" --sender $(SENDER) | tee sign_output.tmp; \\\n\t\techo \"Nonce: $$nonce\" >> signatures-unpause.txt; \\\n\t\tgrep -E \"^Data:|^Signer:|^Signature:\" sign_output.tmp >> signatures-unpause.txt || true; \\\n\t\techo \"\" >> signatures-unpause.txt; \\\n\t\trm -f sign_output.tmp; \\\n\tdone\n\n# Execute\n.PHONY: execute-pause\nexecute-pause: validate-config\n\tIS_PAUSED=true $(call MULTISIG_EXECUTE,$(SIGNATURES))\n\n.PHONY: execute-unpause\nexecute-unpause: validate-config\n\tIS_PAUSED=false $(call MULTISIG_EXECUTE,$(SIGNATURES))\n\n.PHONY: check-status\ncheck-status:\n\tcast call $(L2_BRIDGE) \"paused()\" --rpc-url $(L2_RPC_URL)\n"
  },
  {
    "path": "setup-templates/template-pause-bridge-base/README.md",
    "content": "# Pause Base Bridge\n\nStatus: READY TO SIGN\n\n## Description\n\nPauses the Base side of [Base Bridge](https://github.com/base/bridge).\n\n## Install dependencies\n\n### 1. Update foundry\n\n```bash\nfoundryup\n```\n\n## Sign Task\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd <network>/<task-name>\nmake deps\n```\n\n### 2. Sign pause transactions\n\n```bash\nmake sign-pause\n```\n\n### 3. Sign unpause transactions\n\n```bash\nmake sign-unpause\n```\n\n### 4. Send all signatures to facilitator\n"
  },
  {
    "path": "setup-templates/template-pause-bridge-base/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/contracts',\n    '@solady/=lib/solady/src/',\n    '@lib-keccak=lib/lib-keccak/contracts/lib/'\n]\n\n[lint]\nlint_on_build = false\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "setup-templates/template-pause-bridge-base/script/PauseBridge.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\n\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Enum} from \"@base-contracts/script/universal/IGnosisSafe.sol\";\n\ninterface IOptimismPortal2 {\n    function depositTransaction(address _to, uint256 _value, uint64 _gasLimit, bool _isCreation, bytes memory _data)\n        external\n        payable;\n}\n\ninterface IBridge {\n    function setPaused(bool) external;\n}\n\ncontract PauseBridge is MultisigScript {\n    address public immutable OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n    address public immutable L1_PORTAL = vm.envAddress(\"L1_PORTAL\");\n    address public immutable L2_BRIDGE = vm.envAddress(\"L2_BRIDGE\");\n    bool public immutable IS_PAUSED = vm.envBool(\"IS_PAUSED\");\n\n    function _buildCalls() internal view override returns (Call[] memory) {\n        Call[] memory calls = new Call[](1);\n\n        address to = L2_BRIDGE;\n        uint256 value = 0;\n        uint64 gasLimit = 100_000;\n        bool isCreation = false;\n        bytes memory data = abi.encodeCall(IBridge.setPaused, (IS_PAUSED));\n\n        calls[0] = Call({\n            operation: Enum.Operation.Call,\n            target: L1_PORTAL,\n            data: abi.encodeCall(IOptimismPortal2.depositTransaction, (to, value, gasLimit, isCreation, data)),\n            value: value\n        });\n\n        return calls;\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {}\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "setup-templates/template-pause-superchain-config/FACILITATOR.md",
    "content": "# Facilitator Guide\n\nGuide for facilitators managing this task.\n\n## Task Origin Signing\n\nAfter setting up the task, generate cryptographic attestations (sigstore bundles) to prove who created and facilitated the task. These signatures are stored in `<network>/signatures/<task-name>/`.\n\n### Task creator (run after task setup):\n```bash\nmake sign-as-task-creator\n```\n\n### Base facilitator:\n```bash\nmake sign-as-base-facilitator\n```\n\n### Security Council facilitator:\n```bash\nmake sign-as-sc-facilitator\n```\n\n## Execution\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd <network>/<task-name>\nmake deps\n```\n\n### 2. Check current pause status\n\n```bash\nmake check-status\n```\n\n### 3. Execute pause\n\n```bash\nSIGNATURES=AAABBBCCC make execute-pause\n```\n"
  },
  {
    "path": "setup-templates/template-pause-superchain-config/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\ninclude ../.env\ninclude .env\n\nexport INCIDENT_MULTISIG\nexport SYSTEM_CONFIG\n\n# Get first owner from INCIDENT_MULTISIG\nSENDER := $(shell cast call $(INCIDENT_MULTISIG) \"getOwners()(address[])\" --rpc-url $(L1_RPC_URL) | head -1 | tr -d '[]' | cut -d',' -f1)\n\nRPC_URL = $(L1_RPC_URL)\nSCRIPT_NAME = PauseSuperchainConfig\n\n.PHONY: sign-pause\nsign-pause:\n\t@rm -f signatures-pause.txt\n\t@start_nonce=$$(cast call $(INCIDENT_MULTISIG) \"nonce()\" --rpc-url $(L1_RPC_URL) | xargs printf \"%d\"); \\\n\techo \"Starting nonce: $$start_nonce\"; \\\n\tfor i in $$(seq 0 19); do \\\n\t\tnonce=$$(($$start_nonce + $$i)); \\\n\t\techo \"Signing with nonce $$nonce\"; \\\n\t\tSAFE_NONCE=$$nonce $(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\t\tforge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \\\n\t\t--sig \"sign(address[])\" \"[]\" --sender $(SENDER) | tee sign_output.tmp; \\\n\t\tsigner=$$(grep \"^Signer:\" sign_output.tmp | awk '{print $$2}'); \\\n\t\tsig=$$(grep \"^Signature:\" sign_output.tmp | awk '{print $$2}'); \\\n\t\tprintf \"%s,\" \"$$signer:$$nonce:$$sig\" >> signatures-pause.txt; \\\n\t\trm -f sign_output.tmp; \\\n\tdone; \\\n\techo \"\" >> signatures-pause.txt\n\n# Execute\n.PHONY: execute-pause\nexecute-pause:\n\t$(call MULTISIG_EXECUTE,$(SIGNATURES))\n\n.PHONY: check-status\ncheck-status:\n\t@superchain_config=$$(cast call $(SYSTEM_CONFIG) \"superchainConfig()\" --rpc-url $(L1_RPC_URL)); \\\n\tsuperchain_config=$$(echo $$superchain_config | sed 's/0x000000000000000000000000//'); \\\n\techo \"SuperchainConfig address: 0x$$superchain_config\"; \\\n\tcast call 0x$$superchain_config \"paused()\" --rpc-url $(L1_RPC_URL)\n\n.PHONY: check-nonce\ncheck-nonce:\n\t@echo \"Incident Safe: $(INCIDENT_MULTISIG)\"\n\t@cast call $(INCIDENT_MULTISIG) \"nonce()\" --rpc-url $(L1_RPC_URL)\n"
  },
  {
    "path": "setup-templates/template-pause-superchain-config/README.md",
    "content": "# Pause SuperchainConfig\n\nStatus: READY TO SIGN\n\n## Description\n\nPauses deposits/withdrawals Base.\n\n## Install dependencies\n\n### 1. Update foundry\n\n```bash\nfoundryup\n```\n\n## Sign Pause Task\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd <network>/<task-name>\nmake deps\n```\n\n### 2. Sign pause transactions\n\n```bash\nmake sign-pause\n```\n\nThis will output your signature batch to a `signatures-pause.txt` file.\n\n### 3. Send the contents of `signatures-pause.txt` to facilitator\n"
  },
  {
    "path": "setup-templates/template-pause-superchain-config/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nevm_version = \"shanghai\"\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/contracts',\n    '@solady/=lib/solady/src/',\n    '@lib-keccak=lib/lib-keccak/contracts/lib/'\n]\n\n[lint]\nlint_on_build = false\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "setup-templates/template-pause-superchain-config/script/PauseSuperchainConfig.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Enum} from \"@base-contracts/script/universal/IGnosisSafe.sol\";\n\ninterface ISystemConfig {\n    function superchainConfig() external view returns (address);\n}\n\ninterface ISuperchainConfig {\n    function pause(address _identifier) external;\n    function paused(address) external view returns (bool);\n}\n\ncontract PauseSuperchainConfig is MultisigScript {\n    address public immutable INCIDENT_MULTISIG = vm.envAddress(\"INCIDENT_MULTISIG\");\n    address public immutable SYSTEM_CONFIG = vm.envAddress(\"SYSTEM_CONFIG\");\n\n    function _buildCalls() internal view override returns (Call[] memory) {\n        Call[] memory calls = new Call[](1);\n\n        address superchainConfig = ISystemConfig(SYSTEM_CONFIG).superchainConfig();\n\n        calls[0] = Call({\n            operation: Enum.Operation.Call,\n            target: superchainConfig,\n            data: abi.encodeCall(ISuperchainConfig.pause, (address(0))),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        address superchainConfig = ISystemConfig(SYSTEM_CONFIG).superchainConfig();\n        bool paused = ISuperchainConfig(superchainConfig).paused(address(0));\n        require(paused == true, \"PauseSuperchainConfig: chain is not paused\");\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return INCIDENT_MULTISIG;\n    }\n}\n"
  },
  {
    "path": "setup-templates/template-safe-management/FACILITATOR.md",
    "content": "# Facilitator Guide\n\nGuide for facilitators managing this task.\n\n## Task Origin Signing\n\nAfter setting up the task, generate cryptographic attestations (sigstore bundles) to prove who created and facilitated the task. These signatures are stored in `<network>/signatures/<task-name>/`.\n\n### Task creator (run after task setup):\n```bash\nmake sign-as-task-creator\n```\n\n### Base facilitator:\n```bash\nmake sign-as-base-facilitator\n```\n\n### Security Council facilitator:\n```bash\nmake sign-as-sc-facilitator\n```\n"
  },
  {
    "path": "setup-templates/template-safe-management/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\ninclude ../.env\ninclude .env\n\nRPC_URL = $(L1_RPC_URL)\nSCRIPT_NAME = UpdateSigners\n\n# Validate required configuration before execution\n.PHONY: validate-config\nvalidate-config:\n\t@test -n \"$(BASE_CONTRACTS_COMMIT)\" -a \"$(BASE_CONTRACTS_COMMIT)\" != \"TODO\" || (echo \"BASE_CONTRACTS_COMMIT required\" && exit 1)\n\t@test -n \"$(OWNER_SAFE)\" -a \"$(OWNER_SAFE)\" != \"TODO\" || (echo \"OWNER_SAFE required\" && exit 1)\n\t@test -n \"$(SENDER)\" -a \"$(SENDER)\" != \"TODO\" || (echo \"SENDER required\" && exit 1)\n\t@echo \"Configuration validated successfully\"\n\n.PHONY: deps\ndeps: new-forge-deps\n\n.PHONY: new-forge-deps\nnew-forge-deps:\n\tforge install --no-git safe-global/safe-smart-account@186a21a74b327f17fc41217a927dea7064f74604\n\n.PHONY: gen-validation\ngen-validation: validate-config deps-signer-tool\n\t$(call GEN_VALIDATION,$(SCRIPT_NAME),,$(SENDER),base-signer.json,)\n\n.PHONY: execute\nexecute: validate-config\n\t$(call MULTISIG_EXECUTE,$(SIGNATURES))\n"
  },
  {
    "path": "setup-templates/template-safe-management/OwnerDiff.json",
    "content": "{\n  \"OwnersToAdd\": [\n    \"0x0000000000000000000000000000000000000000\"\n  ],\n  \"OwnersToRemove\": [\n    \"0x0000000000000000000000000000000000000001\"\n  ]\n}\n"
  },
  {
    "path": "setup-templates/template-safe-management/README.md",
    "content": "# Update Sepolia Incident Multisig Signers\n\nStatus: TODO[READY TO SIGN|EXECUTED]\n\n## Description\n\nWe wish to update the owners of our Incident Multisig to be consistent with the current state of our Base Chain Eng team. This involves removing signers that are no longer closely involved with the team, and adding new team members as signers. The exact signer changes are outlined in the [OwnerDiff.json](./OwnerDiff.json) file.\n\n## Install dependencies\n\n### 1. Update foundry\n\n```bash\nfoundryup\n```\n\n### 2. Install Node.js if needed\n\nFirst, check if you have node installed\n\n```bash\nnode --version\n```\n\nIf you see a version output from the above command, you can move on. Otherwise, install node\n\n```bash\nbrew install node\n```\n\n## Approving Signers Update\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root).\n\n```bash\nmake sign-task\n```\n\n### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\nBe sure to select the correct task from the list of available tasks to sign.\n\n### 4. Send signature to facilitator\n\nYou may now kill the Signer Tool process in your terminal window by running `Ctrl + C`.\n"
  },
  {
    "path": "setup-templates/template-safe-management/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.15\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/contracts',\n    '@solady/=lib/solady/src/',\n]\n\n[lint]\nlint_on_build = false\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "setup-templates/template-safe-management/script/UpdateSigners.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {stdJson} from \"forge-std/StdJson.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\n\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {GnosisSafe} from \"safe-smart-account/GnosisSafe.sol\";\nimport {OwnerManager} from \"safe-smart-account/base/OwnerManager.sol\";\nimport {Enum} from \"@base-contracts/script/universal/IGnosisSafe.sol\";\n\ncontract UpdateSigners is MultisigScript {\n    using stdJson for string;\n\n    address public constant SENTINEL_OWNERS = address(0x1);\n\n    address public immutable OWNER_SAFE;\n    uint256 public immutable THRESHOLD;\n    address[] public EXISTING_OWNERS;\n\n    address[] public OWNERS_TO_ADD;\n    address[] public OWNERS_TO_REMOVE;\n\n    mapping(address => address) public ownerToPrevOwner;\n    mapping(address => address) public ownerToNextOwner;\n    mapping(address => bool) public expectedOwner;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n\n        GnosisSafe ownerSafe = GnosisSafe(payable(OWNER_SAFE));\n        THRESHOLD = ownerSafe.getThreshold();\n        EXISTING_OWNERS = ownerSafe.getOwners();\n\n        string memory rootPath = vm.projectRoot();\n        string memory path = string.concat(rootPath, \"/OwnerDiff.json\");\n        string memory jsonData = vm.readFile(path);\n\n        OWNERS_TO_ADD = abi.decode(jsonData.parseRaw(\".OwnersToAdd\"), (address[]));\n        OWNERS_TO_REMOVE = abi.decode(jsonData.parseRaw(\".OwnersToRemove\"), (address[]));\n    }\n\n    function setUp() external {\n        require(OWNERS_TO_ADD.length > 0, \"Precheck 00\");\n        require(OWNERS_TO_REMOVE.length > 0, \"Precheck 01\");\n\n        GnosisSafe ownerSafe = GnosisSafe(payable(OWNER_SAFE));\n        address prevOwner = SENTINEL_OWNERS;\n\n        for (uint256 i = OWNERS_TO_ADD.length; i > 0; i--) {\n            uint256 index = i - 1;\n            // Make sure owners to add are not already owners\n            require(!ownerSafe.isOwner(OWNERS_TO_ADD[index]), \"Precheck 03\");\n            // Prevent duplicates\n            require(!expectedOwner[OWNERS_TO_ADD[index]], \"Precheck 04\");\n\n            ownerToPrevOwner[OWNERS_TO_ADD[index]] = prevOwner;\n            ownerToNextOwner[prevOwner] = OWNERS_TO_ADD[index];\n            prevOwner = OWNERS_TO_ADD[index];\n            expectedOwner[OWNERS_TO_ADD[index]] = true;\n        }\n\n        for (uint256 i; i < EXISTING_OWNERS.length; i++) {\n            ownerToPrevOwner[EXISTING_OWNERS[i]] = prevOwner;\n            ownerToNextOwner[prevOwner] = EXISTING_OWNERS[i];\n            prevOwner = EXISTING_OWNERS[i];\n            expectedOwner[EXISTING_OWNERS[i]] = true;\n        }\n\n        for (uint256 i; i < OWNERS_TO_REMOVE.length; i++) {\n            // Make sure owners to remove are owners\n            require(ownerSafe.isOwner(OWNERS_TO_REMOVE[i]), \"Precheck 05\");\n            // Prevent duplicates\n            require(expectedOwner[OWNERS_TO_REMOVE[i]], \"Precheck 06\");\n            expectedOwner[OWNERS_TO_REMOVE[i]] = false;\n\n            // Remove from linked list to keep ownerToPrevOwner up to date\n            // Note: This works as long as the order of OWNERS_TO_REMOVE does not change during `_buildCalls()`\n            address nextOwner = ownerToNextOwner[OWNERS_TO_REMOVE[i]];\n            address prevPtr = ownerToPrevOwner[OWNERS_TO_REMOVE[i]];\n            ownerToPrevOwner[nextOwner] = prevPtr;\n            ownerToNextOwner[prevPtr] = nextOwner;\n        }\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        GnosisSafe ownerSafe = GnosisSafe(payable(OWNER_SAFE));\n        address[] memory postCheckOwners = ownerSafe.getOwners();\n        uint256 postCheckThreshold = ownerSafe.getThreshold();\n\n        uint256 expectedLength = EXISTING_OWNERS.length + OWNERS_TO_ADD.length - OWNERS_TO_REMOVE.length;\n\n        require(postCheckThreshold == THRESHOLD, \"Postcheck 00\");\n        require(postCheckOwners.length == expectedLength, \"Postcheck 01\");\n\n        for (uint256 i; i < postCheckOwners.length; i++) {\n            require(expectedOwner[postCheckOwners[i]], \"Postcheck 02\");\n        }\n    }\n\n    function _buildCalls() internal view override returns (Call[] memory) {\n        Call[] memory calls = new Call[](OWNERS_TO_ADD.length + OWNERS_TO_REMOVE.length);\n\n        for (uint256 i; i < OWNERS_TO_ADD.length; i++) {\n            calls[i] = Call({\n                operation: Enum.Operation.Call,\n                target: OWNER_SAFE,\n                data: abi.encodeCall(OwnerManager.addOwnerWithThreshold, (OWNERS_TO_ADD[i], THRESHOLD)),\n                value: 0\n            });\n        }\n\n        for (uint256 i; i < OWNERS_TO_REMOVE.length; i++) {\n            calls[OWNERS_TO_ADD.length + i] = Call({\n                operation: Enum.Operation.Call,\n                target: OWNER_SAFE,\n                data: abi.encodeCall(\n                    OwnerManager.removeOwner, (ownerToPrevOwner[OWNERS_TO_REMOVE[i]], OWNERS_TO_REMOVE[i], THRESHOLD)\n                ),\n                value: 0\n            });\n        }\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "setup-templates/template-set-bridge-partner-threshold/FACILITATOR.md",
    "content": "# Facilitator Guide\n\nGuide for facilitators managing this task.\n\n## Task Origin Signing\n\nAfter setting up the task, generate cryptographic attestations (sigstore bundles) to prove who created and facilitated the task. These signatures are stored in `<network>/signatures/<task-name>/`.\n\n### Task creator (run after task setup):\n```bash\nmake sign-as-task-creator\n```\n\n### Base facilitator:\n```bash\nmake sign-as-base-facilitator\n```\n\n### Security Council facilitator:\n```bash\nmake sign-as-sc-facilitator\n```\n\n## Execution\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd <network>/<task-name>\nmake deps\n```\n\n### 2. Execute the transaction\n\n```bash\nSIGNATURES=AAABBBCCC make execute\n```\n"
  },
  {
    "path": "setup-templates/template-set-bridge-partner-threshold/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\ninclude ../.env\ninclude .env\n\n# Map config variables to script variables\nOWNER_SAFE ?= $(INCIDENT_MULTISIG)\nL1_PORTAL ?= $(OPTIMISM_PORTAL)\n\nRPC_URL = $(L1_RPC_URL)\nSCRIPT_NAME = SetThreshold\n\n# Validate required configuration before execution\n.PHONY: validate-config\nvalidate-config:\n\t@test -n \"$(BASE_CONTRACTS_COMMIT)\" || (echo \"BASE_CONTRACTS_COMMIT required\" && exit 1)\n\t@test -n \"$(OWNER_SAFE)\" || (echo \"OWNER_SAFE required\" && exit 1)\n\t@test -n \"$(L1_PORTAL)\" || (echo \"L1_PORTAL required\" && exit 1)\n\t@test -n \"$(L2_BRIDGE_VALIDATOR)\" || (echo \"L2_BRIDGE_VALIDATOR required\" && exit 1)\n\t@test -n \"$(NEW_THRESHOLD)\" || (echo \"NEW_THRESHOLD required\" && exit 1)\n\t@echo \"Configuration validated successfully\"\n\n# TODO: ensure `sender` is a signer for `OWNER_SAFE`\n.PHONY: gen-validation\ngen-validation: validate-config\n\t$(GOPATH)/bin/state-diff --rpc $(L1_RPC_URL) -o validations/signer.json \\\n\t-- forge script --rpc-url $(L1_RPC_URL) SetThreshold \\\n\t--sig \"sign(address[])\" \"[$(OWNER_SAFE)]\" \\\n\t--sender 0xb2d9a52e76841279EF0372c534C539a4f68f8C0B\n\n# Execute\n.PHONY: execute\nexecute: validate-config\n\t$(call MULTISIG_EXECUTE,$(SIGNATURES))\n"
  },
  {
    "path": "setup-templates/template-set-bridge-partner-threshold/README.md",
    "content": "# Pause Base Bridge\n\nStatus: READY TO SIGN\n\n## Description\n\nUpdates the partner threshold on Base for [Base Bridge](https://github.com/base/bridge). This updates the required signature count for validating messages.\n\n## Install dependencies\n\n### 1. Install Node.js\n\nFirst, check if you have node installed\n\n```bash\nnode --version\n```\n\nIf you see a version output from the above command, you can move on. Otherwise, install node\n\n```bash\nbrew install node\n```\n\n### 2. Install bun\n\nFirst, check if you have bun installed\n\n```bash\nbun --version\n```\n\nIf you see a version output from the above command, you can move on. Otherwise, install bun\n\n```bash\ncurl -fsSL https://bun.sh/install | bash\n```\n\n## Signing Steps\n\n### 1. Run the signer tool\n\n```bash\nmake sign-task\n```\n\n### 2. Open the UI at [http://localhost:3000](http://localhost:3000)\n\n### 3. Send signature to facilitator\n"
  },
  {
    "path": "setup-templates/template-set-bridge-partner-threshold/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 999999\nsolc_version = \"0.8.28\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/contracts',\n    '@solady/=lib/solady/src/',\n    '@lib-keccak=lib/lib-keccak/contracts/lib/'\n]\n\n[lint]\nlint_on_build = false\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "setup-templates/template-set-bridge-partner-threshold/script/SetThreshold.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.28;\n\nimport {Vm} from \"forge-std/Vm.sol\";\n\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Enum} from \"@base-contracts/script/universal/IGnosisSafe.sol\";\n\ninterface IOptimismPortal2 {\n    function depositTransaction(address _to, uint256 _value, uint64 _gasLimit, bool _isCreation, bytes memory _data)\n        external\n        payable;\n}\n\ninterface IBridgeValidator {\n    function setPartnerThreshold(uint256 newThreshold) external;\n}\n\ncontract SetThreshold is MultisigScript {\n    address public immutable OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n    address public immutable L1_PORTAL = vm.envAddress(\"L1_PORTAL\");\n    address public immutable L2_BRIDGE_VALIDATOR = vm.envAddress(\"L2_BRIDGE_VALIDATOR\");\n    uint256 public immutable NEW_THRESHOLD = vm.envUint(\"NEW_THRESHOLD\");\n\n    function _buildCalls() internal view override returns (Call[] memory) {\n        Call[] memory calls = new Call[](1);\n\n        address to = L2_BRIDGE_VALIDATOR;\n        uint256 value = 0;\n        uint64 gasLimit = 100_000;\n        bool isCreation = false;\n        bytes memory data = abi.encodeCall(IBridgeValidator.setPartnerThreshold, (NEW_THRESHOLD));\n\n        calls[0] = Call({\n            operation: Enum.Operation.Call,\n            target: L1_PORTAL,\n            data: abi.encodeCall(IOptimismPortal2.depositTransaction, (to, value, gasLimit, isCreation, data)),\n            value: value\n        });\n\n        return calls;\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {}\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "setup-templates/template-switch-to-permissioned-game/FACILITATOR.md",
    "content": "# Facilitator Guide\n\nGuide for facilitators managing this task.\n\n## Task Origin Signing\n\nAfter setting up the task, generate cryptographic attestations (sigstore bundles) to prove who created and facilitated the task. These signatures are stored in `<network>/signatures/<task-name>/`.\n\n### Task creator (run after task setup):\n```bash\nmake sign-as-task-creator\n```\n\n### Base facilitator:\n```bash\nmake sign-as-base-facilitator\n```\n\n### Security Council facilitator:\n```bash\nmake sign-as-sc-facilitator\n```\n"
  },
  {
    "path": "setup-templates/template-switch-to-permissioned-game/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\ninclude ../.env\ninclude .env\n\nRPC_URL = $(L1_RPC_URL)\nSCRIPT_NAME = SwitchToPermissionedGame\n\n# Validate required configuration before execution\n.PHONY: validate-config\nvalidate-config:\n\t@test -n \"$(BASE_CONTRACTS_COMMIT)\" || (echo \"BASE_CONTRACTS_COMMIT required\" && exit 1)\n\t@test -n \"$(OWNER_SAFE)\" || (echo \"OWNER_SAFE required\" && exit 1)\n\t@test -n \"$(SYSTEM_CONFIG)\" || (echo \"SYSTEM_CONFIG required\" && exit 1)\n\t@test -n \"$(OP_SECURITY_COUNCIL_SAFE)\" || (echo \"OP_SECURITY_COUNCIL_SAFE required\" && exit 1)\n\t@test -n \"$(SENDER)\" || (echo \"SENDER required\" && exit 1)\n\t@echo \"Configuration validated successfully\"\n\n.PHONY: gen-validation\ngen-validation: validate-config deps-signer-tool\n\t$(call GEN_VALIDATION,$(SCRIPT_NAME),$(OP_SECURITY_COUNCIL_SAFE),$(SENDER),op-signer.json,)\n\n.PHONY: approve-op\napprove-op: validate-config\n\t$(call MULTISIG_APPROVE,$(OP_SECURITY_COUNCIL_SAFE),$(SIGNATURES))\n\n# Execute\n.PHONY: execute\nexecute: validate-config\n\t$(call MULTISIG_EXECUTE,0x)\n"
  },
  {
    "path": "setup-templates/template-switch-to-permissioned-game/README.md",
    "content": "# Switch to Permissioned Games\n\nStatus: READY TO SIGN\n\n## Description\n\nSwitches Base to Permissioned Fault Dispute Games and retires existing games.\n\n## Install dependencies\n\n### 1. Update foundry\n\n```bash\nfoundryup\n```\n\n### 2. Install Node.js if needed\n\nFirst, check if you have node installed\n\n```bash\nnode --version\n```\n\nIf you see a version output from the above command, you can move on. Otherwise, install node\n\n```bash\nbrew install node\n```\n\n## Sign Task\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root).\n\n```bash\nmake sign-task\n```\n\n### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\n### 4. Send signature to facilitator\n\nYou may now kill the Signer Tool process in your terminal window by running `Ctrl + C`.\n\n"
  },
  {
    "path": "setup-templates/template-switch-to-permissioned-game/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 200\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/contracts',\n    '@solady/=lib/solady/src/',\n    '@lib-keccak/=lib/lib-keccak/contracts/lib',\n]\n\n[lint]\nlint_on_build = false\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "setup-templates/template-switch-to-permissioned-game/script/SwitchToPermissionedGame.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\n\nimport {IAnchorStateRegistry} from \"@base-contracts/src/dispute/FaultDisputeGame.sol\";\nimport {SystemConfig} from \"@base-contracts/src/L1/SystemConfig.sol\";\nimport {DisputeGameFactory} from \"@base-contracts/src/dispute/DisputeGameFactory.sol\";\nimport {FaultDisputeGame} from \"@base-contracts/src/dispute/PermissionedDisputeGame.sol\";\nimport {GameTypes, GameType} from \"@base-contracts/src/dispute/lib/Types.sol\";\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {Enum} from \"@base-contracts/script/universal/IGnosisSafe.sol\";\n\n/// @notice This script updates the respectedGameType and retires existing games in the AnchorStateRegistry.\ncontract SwitchToPermissionedGame is MultisigScript {\n    address public immutable OWNER_SAFE;\n\n    SystemConfig internal immutable _SYSTEM_CONFIG = SystemConfig(vm.envAddress(\"SYSTEM_CONFIG\"));\n\n    IAnchorStateRegistry anchorStateRegistry;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n    }\n\n    function setUp() public {\n        DisputeGameFactory dgfProxy = DisputeGameFactory(_SYSTEM_CONFIG.disputeGameFactory());\n        FaultDisputeGame currentFdg = FaultDisputeGame(address(dgfProxy.gameImpls(GameTypes.CANNON)));\n        anchorStateRegistry = currentFdg.anchorStateRegistry();\n    }\n\n    // Confirm the retirementTimestamp is updated to the block time and the\n    // respectedGameType is updated to PERMISSIONED_CANNON.\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        require(anchorStateRegistry.retirementTimestamp() == block.timestamp, \"post-110\");\n        require(\n            GameType.unwrap(anchorStateRegistry.respectedGameType()) == GameType.unwrap(GameTypes.PERMISSIONED_CANNON),\n            \"post-111\"\n        );\n    }\n\n    function _buildCalls() internal view override returns (Call[] memory) {\n        Call[] memory calls = new Call[](2);\n\n        calls[0] = Call({\n            operation: Enum.Operation.Call,\n            target: address(anchorStateRegistry),\n            data: abi.encodeCall(IAnchorStateRegistry.setRespectedGameType, (GameTypes.PERMISSIONED_CANNON)),\n            value: 0\n        });\n\n        calls[1] = Call({\n            operation: Enum.Operation.Call,\n            target: address(anchorStateRegistry),\n            data: abi.encodeCall(IAnchorStateRegistry.updateRetirementTimestamp, ()),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "setup-templates/template-upgrade-fault-proofs/FACILITATOR.md",
    "content": "# Facilitator Guide\n\nGuide for facilitators managing this task.\n\n## Task Origin Signing\n\nAfter setting up the task, generate cryptographic attestations (sigstore bundles) to prove who created and facilitated the task. These signatures are stored in `<network>/signatures/<task-name>/`.\n\n### Task creator (run after task setup):\n```bash\nmake sign-as-task-creator\n```\n\n### Base facilitator:\n```bash\nmake sign-as-base-facilitator\n```\n\n### Security Council facilitator:\n```bash\nmake sign-as-sc-facilitator\n```\n"
  },
  {
    "path": "setup-templates/template-upgrade-fault-proofs/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\ninclude ../.env\ninclude .env\n\n# Map config variables to script variables\nOWNER_SAFE ?= $(PROXY_ADMIN_OWNER)\nCB_SIGNER_SAFE_ADDR ?= $(CB_MULTISIG)\nCB_SC_SAFE_ADDR ?= $(BASE_SECURITY_COUNCIL)\nOP_SIGNER_SAFE_ADDR ?= $(OP_MULTISIG)\n\n# Validate required configuration before execution\n.PHONY: validate-config\nvalidate-config:\n\t@test -n \"$(BASE_CONTRACTS_COMMIT)\" || (echo \"BASE_CONTRACTS_COMMIT required\" && exit 1)\n\t@test -n \"$(ABSOLUTE_PRESTATE)\" || (echo \"ABSOLUTE_PRESTATE required\" && exit 1)\n\t@test -n \"$(SYSTEM_CONFIG)\" || (echo \"SYSTEM_CONFIG required\" && exit 1)\n\t@test -n \"$(OWNER_SAFE)\" || (echo \"OWNER_SAFE required\" && exit 1)\n\t@test -n \"$(CB_SIGNER_SAFE_ADDR)\" || (echo \"CB_SIGNER_SAFE_ADDR required\" && exit 1)\n\t@test -n \"$(CB_SC_SAFE_ADDR)\" || (echo \"CB_SC_SAFE_ADDR required\" && exit 1)\n\t@test -n \"$(OP_SIGNER_SAFE_ADDR)\" || (echo \"OP_SIGNER_SAFE_ADDR required\" && exit 1)\n\t@echo \"Configuration validated successfully\"\n\n.PHONY: deploy\ndeploy: validate-config\n\tforge script --rpc-url $(L1_RPC_URL) DeployDisputeGames \\\n\t--ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" --broadcast -vvvv\n\nRPC_URL = $(L1_RPC_URL)\nSCRIPT_NAME = UpgradeDGF\n\n# CB\n.PHONY: approve-cb\napprove-cb:\n\t$(call MULTISIG_APPROVE,$(CB_SIGNER_SAFE_ADDR),$(SIGNATURES))\n\n.PHONY: approve-cb-sc\napprove-cb-sc:\n\t$(call MULTISIG_APPROVE,$(CB_SC_SAFE_ADDR),$(SIGNATURES))\n\n# OP\n.PHONY: approve-op\napprove-op:\n\t$(call MULTISIG_APPROVE,$(OP_SIGNER_SAFE_ADDR),$(SIGNATURES))\n\n# Execute\n.PHONY: execute\nexecute: validate-config\n\t$(call MULTISIG_EXECUTE,0x)\n"
  },
  {
    "path": "setup-templates/template-upgrade-fault-proofs/README.md",
    "content": "# Upgrade Fault Proofs\n\nStatus: PENDING\n\n## Description\n\nThis task contains two scripts. One for deploying new versions of the `FaultDisputeGame` and `PermissionedDisputeGame` contracts, and one for updating the `DisputeGameFactory` contract to reference the new dispute game contracts.\n\n## Procedure\n\n### 1. Update repo:\n\n```bash\ncd contract-deployments\ngit pull\ncd <network>/<date>-upgrade-fault-proofs\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The Ethereum\napplication needs to be opened on Ledger with the message \"Application\nis ready\".\n\n### 3. Run relevant script(s)\n\n#### 3.1 Deploy new Dispute Game Implementations\n\n```bash\nmake deploy\n```\n\nThis will output the new addresses of the `FaultDisputeGame` and `PermissionedDisputeGame` contracts to an `addresses.json` file. You will need to commit this file to the repo before signers can sign.\n\n#### 3.2 Sign the transaction\n\n**If on testnet**:\n\n```bash\nmake sign\n```\n\n**If on mainnet**:\n\nCoinbase signer:\n\n```bash\nmake sign-cb\n```\n\nOp signer:\n\n```bash\nmake sign-op\n```\n\nYou will see a \"Simulation link\" from the output.\n\nPaste this URL in your browser. A prompt may ask you to choose a\nproject, any project will do. You can create one if necessary.\n\nClick \"Simulate Transaction\".\n\nWe will be performing 3 validations and extract the domain hash and message hash to approve on your Ledger:\n\n1. Validate integrity of the simulation.\n2. Validate correctness of the state diff.\n3. Validate and extract domain hash and message hash to approve.\n\n##### 3.2.1 Validate integrity of the simulation.\n\nMake sure you are on the \"Summary\" tab of the tenderly simulation, to\nvalidate integrity of the simulation, we need to check the following:\n\n1. \"Network\": Check the network is Sepolia or Mainnet.\n2. \"Timestamp\": Check the simulation is performed on a block with a\n   recent timestamp (i.e. close to when you run the script).\n3. \"Sender\": Check the address shown is your signer account. If not see the derivation path Note above.\n\n##### 3.2.2. Validate correctness of the state diff.\n\nNow click on the \"State\" tab, and refer to the [State Validations](./VALIDATION.md) instructions for the transaction you are signing.\nOnce complete return to this document to complete the signing.\n\n##### 3.2.3. Extract the domain hash and the message hash to approve.\n\nNow that we have verified the transaction performs the right\noperation, we need to extract the domain hash and the message hash to\napprove.\n\nGo back to the \"Summary\" tab, and find the\n`GnosisSafe.checkSignatures` (for OP signers) or `Safe.checkSignatures` (for Coinbase signers) call.\nThis call's `data` parameter contains both the domain hash and the \nmessage hash that will show up in your Ledger.\n\nIt will be a concatenation of `0x1901`, the domain hash, and the\nmessage hash: `0x1901[domain hash][message hash]`.\n\nNote down this value. You will need to compare it with the ones\ndisplayed on the Ledger screen at signing.\n\nOnce the validations are done, it's time to actually sign the\ntransaction.\n\n> [!WARNING]\n> This is the most security critical part of the playbook: make sure the\n> domain hash and message hash in the following two places match:\n>\n> 1. On your Ledger screen.\n> 2. In the Tenderly simulation. You should use the same Tenderly\n>    simulation as the one you used to verify the state diffs, instead\n>    of opening the new one printed in the console.\n>\n> There is no need to verify anything printed in the console. There is\n> no need to open the new Tenderly simulation link either.\n\nAfter verification, sign the transaction. You will see the `Data`,\n`Signer` and `Signature` printed in the console. Format should be\nsomething like this:\n\n```shell\nData:  <DATA>\nSigner: <ADDRESS>\nSignature: <SIGNATURE>\n```\n\nDouble check the signer address is the right one.\n\n##### 3.2.4 Send the output to Facilitator(s)\n\nNothing has occurred onchain - these are offchain signatures which\nwill be collected by Facilitators for execution. Execution can occur\nby anyone once a threshold of signatures are collected, so a\nFacilitator will do the final execution for convenience.\n\nShare the `Data`, `Signer` and `Signature` with the Facilitator, and\ncongrats, you are done!\n\n### [For Facilitator ONLY] How to execute\n\n#### Execute the transaction\n\n1. IMPORTANT: Ensure op-challenger has been updated before executing.\n1. Collect outputs from all participating signers.\n1. Concatenate all signatures and export it as the `SIGNATURES`\n   environment variable, i.e. `export\nSIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"`.\n1. Run the `make execute` or `make approve` command as described below to execute the transaction.\n\nFor example, if the quorum is 2 and you get the following outputs:\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE01\nSignature: AAAA\n```\n\n```shell\nData:  0xDEADBEEF\nSigner: 0xC0FFEE02\nSignature: BBBB\n```\n\nIf on testnet, then you should run:\n\nCoinbase facilitator:\n\n```bash\nSIGNATURES=AAAABBBB make execute\n```\n\nIf on mainnet, then you should run:\n\nCoinbase facilitator:\n\n```bash\nSIGNATURES=AAAABBBB make approve-cb\n```\n\nOptimism facilitator:\n\n```bash\nSIGNATURES=AAAABBBB make approve-op\n```\n\n#### If on mainnet, execute the transaction\n\nOnce the signatures have been submitted approving the transaction for all child Safes run:\n\n```bash\nmake execute\n```\n"
  },
  {
    "path": "setup-templates/template-upgrade-fault-proofs/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 200\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/contracts',\n    '@solady/=lib/solady/src/',\n    '@lib-keccak/=lib/lib-keccak/contracts/lib',\n]\n\n[lint]\nlint_on_build = false\n\n# See more config options https://github.com/foundry-rs/foundry/tree/master/config\n"
  },
  {
    "path": "setup-templates/template-upgrade-fault-proofs/script/DeployDisputeGames.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Script} from \"forge-std/Script.sol\";\n\nimport {IAnchorStateRegistry, IDelayedWETH, IBigStepper} from \"@base-contracts/src/dispute/FaultDisputeGame.sol\";\nimport {PermissionedDisputeGame, FaultDisputeGame} from \"@base-contracts/src/dispute/PermissionedDisputeGame.sol\";\nimport {GameTypes, GameType, Duration, Claim} from \"@base-contracts/src/dispute/lib/Types.sol\";\nimport {LibGameType, LibDuration} from \"@base-contracts/src/dispute/lib/LibUDT.sol\";\nimport {DisputeGameFactory} from \"@base-contracts/src/dispute/DisputeGameFactory.sol\";\nimport {SystemConfig} from \"@base-contracts/src/L1/SystemConfig.sol\";\nimport {Strings} from \"@openzeppelin/contracts/utils/Strings.sol\";\nimport {console} from \"forge-std/console.sol\";\n\n/// @notice This script deploys new versions of FaultDisputeGame and PermissionedDisputeGame with all the same\n///         parameters as the existing implementations excluding the absolute prestate.\ncontract DeployDisputeGames is Script {\n    using Strings for address;\n    using LibDuration for Duration;\n    using LibGameType for GameType;\n\n    // TODO: Confirm expected version\n    string public constant EXPECTED_VERSION = \"1.4.1\";\n\n    SystemConfig internal _SYSTEM_CONFIG = SystemConfig(vm.envAddress(\"SYSTEM_CONFIG\"));\n    Claim immutable absolutePrestate;\n\n    FaultDisputeGame.GameConstructorParams fdgParams;\n    FaultDisputeGame.GameConstructorParams pdgParams;\n    address proposer;\n    address challenger;\n\n    constructor() {\n        absolutePrestate = Claim.wrap(vm.envBytes32(\"ABSOLUTE_PRESTATE\"));\n    }\n\n    function setUp() public {\n        DisputeGameFactory dgfProxy = DisputeGameFactory(_SYSTEM_CONFIG.disputeGameFactory());\n        FaultDisputeGame currentFdg = FaultDisputeGame(address(dgfProxy.gameImpls(GameTypes.CANNON)));\n        PermissionedDisputeGame currentPdg =\n            PermissionedDisputeGame(address(dgfProxy.gameImpls(GameTypes.PERMISSIONED_CANNON)));\n\n        uint256 maxGameDepth = currentFdg.maxGameDepth();\n        uint256 splitDepth = currentFdg.splitDepth();\n        Duration clockExtension = currentFdg.clockExtension();\n        Duration maxClockDuration = currentFdg.maxClockDuration();\n        IBigStepper bigStepper = currentFdg.vm();\n        IAnchorStateRegistry anchorStateRegistry = currentFdg.anchorStateRegistry();\n        uint256 l2ChainId = currentFdg.l2ChainId();\n\n        proposer = currentPdg.proposer();\n        challenger = currentPdg.challenger();\n\n        fdgParams = FaultDisputeGame.GameConstructorParams({\n            gameType: GameTypes.CANNON,\n            absolutePrestate: absolutePrestate,\n            maxGameDepth: maxGameDepth,\n            splitDepth: splitDepth,\n            clockExtension: clockExtension,\n            maxClockDuration: maxClockDuration,\n            vm: bigStepper,\n            weth: currentFdg.weth(),\n            anchorStateRegistry: anchorStateRegistry,\n            l2ChainId: l2ChainId\n        });\n        pdgParams = FaultDisputeGame.GameConstructorParams({\n            gameType: GameTypes.PERMISSIONED_CANNON,\n            absolutePrestate: absolutePrestate,\n            maxGameDepth: maxGameDepth,\n            splitDepth: splitDepth,\n            clockExtension: clockExtension,\n            maxClockDuration: maxClockDuration,\n            vm: bigStepper,\n            weth: currentPdg.weth(),\n            anchorStateRegistry: anchorStateRegistry,\n            l2ChainId: l2ChainId\n        });\n    }\n\n    function _postCheck(address fdgImpl, address pdgImpl) private view {\n        FaultDisputeGame fdg = FaultDisputeGame(fdgImpl);\n        PermissionedDisputeGame pdg = PermissionedDisputeGame(pdgImpl);\n\n        require(Strings.equal(fdg.version(), EXPECTED_VERSION), \"Postcheck version 1\");\n        require(Strings.equal(pdg.version(), EXPECTED_VERSION), \"Postcheck version 2\");\n\n        require(fdg.gameType().raw() == GameTypes.CANNON.raw(), \"Postcheck 1\");\n        require(fdg.absolutePrestate().raw() == absolutePrestate.raw(), \"Postcheck 2\");\n        require(fdg.maxGameDepth() == fdgParams.maxGameDepth, \"Postcheck 3\");\n        require(fdg.splitDepth() == fdgParams.splitDepth, \"Postcheck 4\");\n        require(fdg.clockExtension().raw() == fdgParams.clockExtension.raw(), \"Postcheck 5\");\n        require(fdg.maxClockDuration().raw() == fdgParams.maxClockDuration.raw(), \"Postcheck 6\");\n        require(fdg.vm() == fdgParams.vm, \"Postcheck 7\");\n        require(fdg.weth() == fdgParams.weth, \"Postcheck 8\");\n        require(fdg.anchorStateRegistry() == fdgParams.anchorStateRegistry, \"Postcheck 9\");\n        require(fdg.l2ChainId() == fdgParams.l2ChainId, \"Postcheck 10\");\n\n        require(pdg.gameType().raw() == GameTypes.PERMISSIONED_CANNON.raw(), \"Postcheck 11\");\n        require(pdg.absolutePrestate().raw() == absolutePrestate.raw(), \"Postcheck 12\");\n        require(pdg.maxGameDepth() == pdgParams.maxGameDepth, \"Postcheck 13\");\n        require(pdg.splitDepth() == pdgParams.splitDepth, \"Postcheck 14\");\n        require(pdg.clockExtension().raw() == pdgParams.clockExtension.raw(), \"Postcheck 15\");\n        require(pdg.maxClockDuration().raw() == pdgParams.maxClockDuration.raw(), \"Postcheck 16\");\n        require(pdg.vm() == pdgParams.vm, \"Postcheck 17\");\n        require(pdg.weth() == pdgParams.weth, \"Postcheck 18\");\n        require(pdg.anchorStateRegistry() == pdgParams.anchorStateRegistry, \"Postcheck 19\");\n        require(pdg.l2ChainId() == pdgParams.l2ChainId, \"Postcheck 20\");\n        require(pdg.proposer() == proposer, \"Postcheck 21\");\n        require(pdg.challenger() == challenger, \"Postcheck 22\");\n    }\n\n    function run() public {\n        (address fdg, address pdg) = _deployContracts();\n        _postCheck(fdg, pdg);\n\n        vm.writeFile(\n            \"addresses.json\",\n            string.concat(\n                \"{\",\n                \"\\\"faultDisputeGame\\\": \\\"\",\n                fdg.toHexString(),\n                \"\\\",\",\n                \"\\\"permissionedDisputeGame\\\": \\\"\",\n                pdg.toHexString(),\n                \"\\\"\" \"}\"\n            )\n        );\n    }\n\n    function _deployContracts() private returns (address, address) {\n        console.log(\"FaultDisputeGame params:\");\n        console.logBytes(abi.encode(fdgParams));\n\n        console.log(\"PermissionedDisputeGame params:\");\n        console.logBytes(abi.encode(pdgParams, proposer, challenger));\n\n        vm.startBroadcast();\n        address fdg = address(new FaultDisputeGame(fdgParams));\n        address pdg = address(new PermissionedDisputeGame(pdgParams, proposer, challenger));\n        vm.stopBroadcast();\n\n        return (fdg, pdg);\n    }\n}\n"
  },
  {
    "path": "setup-templates/template-upgrade-fault-proofs/script/UpgradeDGF.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.24;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {stdJson} from \"forge-std/StdJson.sol\";\nimport {console} from \"forge-std/console.sol\";\n\nimport {LibString} from \"@solady/utils/LibString.sol\";\n\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {Enum} from \"@base-contracts/script/universal/IGnosisSafe.sol\";\n\ninterface IDisputeGameFactory {\n    function gameImpls(uint32) external view returns (address);\n    function setImplementation(uint32, address) external;\n}\n\ninterface IPermissionedDisputeGame {\n    function challenger() external view returns (address);\n    function proposer() external view returns (address);\n}\n\ninterface ISystemConfig {\n    function disputeGameFactory() external view returns (address);\n}\n\ninterface IFaultDisputeGame {\n    function version() external view returns (string memory);\n    function vm() external view returns (address);\n    function weth() external view returns (address);\n    function anchorStateRegistry() external view returns (address);\n    function l2ChainId() external view returns (uint64);\n    function splitDepth() external view returns (uint64);\n    function maxGameDepth() external view returns (uint64);\n    function maxClockDuration() external view returns (uint64);\n    function clockExtension() external view returns (uint64);\n}\n\ninterface IAnchorStateRegistry {\n    function anchors(uint32) external view returns (bytes32, uint256);\n}\n\n/// @notice This script updates the FaultDisputeGame and PermissionedDisputeGame implementations in the\n///         DisputeGameFactory contract.\ncontract UpgradeDGF is MultisigScript {\n    using stdJson for string;\n\n    // TODO: Confirm expected version\n    string public constant EXPECTED_VERSION = \"1.4.1\";\n    uint32 public constant CANNON = 0;\n    uint32 public constant PERMISSIONED_CANNON = 1;\n\n    address public immutable OWNER_SAFE;\n\n    IDisputeGameFactory public dgfProxy;\n    address public fdgImpl;\n    address public pdgImpl;\n\n    constructor() {\n        OWNER_SAFE = vm.envAddress(\"OWNER_SAFE\");\n    }\n\n    function setUp() public {\n        string memory rootPath = vm.projectRoot();\n        string memory path = string.concat(rootPath, \"/addresses.json\");\n        string memory addresses = vm.readFile(path);\n\n        dgfProxy = IDisputeGameFactory(ISystemConfig(vm.envAddress(\"SYSTEM_CONFIG\")).disputeGameFactory());\n        fdgImpl = addresses.readAddress(\".faultDisputeGame\");\n        pdgImpl = addresses.readAddress(\".permissionedDisputeGame\");\n\n        _precheckDisputeGameImplementation(CANNON, fdgImpl);\n        _precheckDisputeGameImplementation(PERMISSIONED_CANNON, pdgImpl);\n    }\n\n    // Checks that the new game being set has the same configuration as the existing implementation with the exception\n    // of the absolutePrestate. This is the most common scenario where the game implementation is upgraded to provide an\n    // updated fault proof program that supports an upcoming hard fork.\n    function _precheckDisputeGameImplementation(uint32 targetGameType, address newImpl) internal view {\n        console.log(\"pre-check new game implementations\", targetGameType);\n\n        IFaultDisputeGame currentImpl = IFaultDisputeGame(address(dgfProxy.gameImpls(targetGameType)));\n        // No checks are performed if there is no prior implementation.\n        // When deploying the first implementation, it is recommended to implement custom checks.\n        if (address(currentImpl) == address(0)) {\n            return;\n        }\n        IFaultDisputeGame faultDisputeGame = IFaultDisputeGame(newImpl);\n        require(LibString.eq(currentImpl.version(), EXPECTED_VERSION), \"00\");\n        require(currentImpl.vm() == faultDisputeGame.vm(), \"10\");\n        require(currentImpl.weth() == faultDisputeGame.weth(), \"20\");\n        require(currentImpl.anchorStateRegistry() == faultDisputeGame.anchorStateRegistry(), \"30\");\n        require(currentImpl.l2ChainId() == faultDisputeGame.l2ChainId(), \"40\");\n        require(currentImpl.splitDepth() == faultDisputeGame.splitDepth(), \"50\");\n        require(currentImpl.maxGameDepth() == faultDisputeGame.maxGameDepth(), \"60\");\n        require(currentImpl.maxClockDuration() == faultDisputeGame.maxClockDuration(), \"70\");\n        require(currentImpl.clockExtension() == faultDisputeGame.clockExtension(), \"80\");\n\n        if (targetGameType == PERMISSIONED_CANNON) {\n            IPermissionedDisputeGame currentPDG = IPermissionedDisputeGame(address(currentImpl));\n            IPermissionedDisputeGame permissionedDisputeGame = IPermissionedDisputeGame(address(faultDisputeGame));\n            require(currentPDG.proposer() == permissionedDisputeGame.proposer(), \"90\");\n            require(currentPDG.challenger() == permissionedDisputeGame.challenger(), \"100\");\n        }\n    }\n\n    // Confirm the stored implementations are updated and the anchor states still exist.\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        require(dgfProxy.gameImpls(CANNON) == fdgImpl, \"post-110\");\n        require(dgfProxy.gameImpls(PERMISSIONED_CANNON) == pdgImpl, \"post-120\");\n        _postcheckHasAnchorState(CANNON);\n        _postcheckHasAnchorState(PERMISSIONED_CANNON);\n    }\n\n    // Checks the anchor state for the source game type still exists after re-initialization. The actual anchor state\n    // may have been updated since the task was defined so just assert it exists, not that it has a specific value.\n    function _postcheckHasAnchorState(uint32 gameType) internal view {\n        console.log(\"check anchor state exists\", gameType);\n\n        IFaultDisputeGame impl = IFaultDisputeGame(dgfProxy.gameImpls(gameType));\n        (bytes32 root, uint256 rootBlockNumber) = IAnchorStateRegistry(impl.anchorStateRegistry()).anchors(gameType);\n\n        require(root != bytes32(0), \"check-300\");\n        require(rootBlockNumber != 0, \"check-310\");\n    }\n\n    function _buildCalls() internal view override returns (Call[] memory) {\n        Call[] memory calls = new Call[](2);\n\n        calls[0] = Call({\n            operation: Enum.Operation.Call,\n            target: address(dgfProxy),\n            data: abi.encodeCall(IDisputeGameFactory.setImplementation, (CANNON, fdgImpl)),\n            value: 0\n        });\n        calls[1] = Call({\n            operation: Enum.Operation.Call,\n            target: address(dgfProxy),\n            data: abi.encodeCall(IDisputeGameFactory.setImplementation, (PERMISSIONED_CANNON, pdgImpl)),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return OWNER_SAFE;\n    }\n}\n"
  },
  {
    "path": "solana/MCM.mk",
    "content": "##\n# MCM Commands\n# This file contains all Multi-Chain Management (MCM) related commands\n##\n\nifndef MCM_IXS_OUTPUT\noverride MCM_IXS_OUTPUT = ixs.json\nendif\n\nifndef MCM_PROPOSAL_OUTPUT\noverride MCM_PROPOSAL_OUTPUT = proposal.json\nendif\n\n##\n# Read-only commands (no transaction wrapping needed)\n##\n\n.PHONY: mcm-multisig-print-authority\nmcm-multisig-print-authority:\n\tmcmctl multisig print-authority \\\n\t\t--mcm-program-id $(MCM_PROGRAM_ID) \\\n\t\t--multisig-id $(MCM_MULTISIG_ID)\n\n.PHONY: mcm-multisig-print-status\nmcm-multisig-print-status:\n\tmcmctl multisig print-status \\\n\t\t--rpc-url $(SOL_RPC_URL) \\\n\t\t--mcm-program-id $(MCM_PROGRAM_ID) \\\n\t\t--multisig-id $(MCM_MULTISIG_ID)\n\n.PHONY: mcm-signers-print-config\nmcm-signers-print-config:\n\tmcmctl signers print-config \\\n\t\t--rpc-url $(SOL_RPC_URL) \\\n\t\t--mcm-program-id $(MCM_PROGRAM_ID) \\\n\t\t--multisig-id $(MCM_MULTISIG_ID) \\\n\t\t--pretty\n\n.PHONY: mcm-proposal-create\nmcm-proposal-create:\n\tmcmctl proposal create \\\n\t\t--rpc-url $(SOL_RPC_URL) \\\n\t\t--mcm-program-id $(MCM_PROGRAM_ID) \\\n\t\t--multisig-id $(MCM_MULTISIG_ID) \\\n\t\t--valid-until $(MCM_VALID_UNTIL) \\\n\t\t--instructions $(MCM_IXS_OUTPUT) \\\n\t\t$(if $(filter true,$(MCM_OVERRIDE_PREVIOUS_ROOT)),--override-previous-root) \\\n\t\t--output $(MCM_PROPOSAL_OUTPUT)\n\n.PHONY: mcm-proposal-hash\nmcm-proposal-hash:\n\tmcmctl proposal hash --proposal $(MCM_PROPOSAL_OUTPUT) --mcm-program-id $(MCM_PROGRAM_ID)\n\n.PHONY: mcm-sign\nmcm-sign:\n\t$(GOPATH)/bin/eip712sign --ledger --hd-paths \"m/44'/60'/$(LEDGER_ACCOUNT)'/0/0\" -- \\\n\tmake mcm-proposal-hash\n\n##\n# Atomic commands with transaction confirmation\n##\n\n.PHONY: mcm-multisig-init\nmcm-multisig-init:\n\tmake sol-confirm-cmd \\\n\t\tcmd=\"mcmctl multisig init \\\n\t\t\t--rpc-url $(SOL_RPC_URL) \\\n\t\t\t--ws-url $(SOL_WS_URL) \\\n\t\t\t--mcm-program-id $(MCM_PROGRAM_ID) \\\n\t\t\t--authority $(AUTHORITY) \\\n\t\t\t--multisig-id $(MCM_MULTISIG_ID) \\\n\t\t\t--chain-id $(MCM_CHAIN_ID)\" \\\n\t\toutput=$(or $(MCM_MULTISIG_INIT_ARTIFACT),artifacts/mcm-multisig-init.json)\n\n.PHONY: mcm-signers-init\nmcm-signers-init:\n\tmake sol-confirm-cmd \\\n\t\tcmd=\"mcmctl signers init \\\n\t\t\t--rpc-url $(SOL_RPC_URL) \\\n\t\t\t--ws-url $(SOL_WS_URL) \\\n\t\t\t--mcm-program-id $(MCM_PROGRAM_ID) \\\n\t\t\t--authority $(AUTHORITY) \\\n\t\t\t--multisig-id $(MCM_MULTISIG_ID) \\\n\t\t\t--total $(MCM_SIGNER_COUNT)\" \\\n\t\toutput=$(or $(MCM_SIGNERS_INIT_ARTIFACT),artifacts/mcm-signers-init.json)\n\n.PHONY: mcm-signers-append\nmcm-signers-append:\n\tmake sol-confirm-cmd \\\n\t\tcmd=\"mcmctl signers append \\\n\t\t\t--rpc-url $(SOL_RPC_URL) \\\n\t\t\t--ws-url $(SOL_WS_URL) \\\n\t\t\t--mcm-program-id $(MCM_PROGRAM_ID) \\\n\t\t\t--authority $(AUTHORITY) \\\n\t\t\t--multisig-id $(MCM_MULTISIG_ID) \\\n\t\t\t--signers $(MCM_SIGNERS)\" \\\n\t\toutput=$(or $(MCM_SIGNERS_APPEND_ARTIFACT),artifacts/mcm-signers-append.json)\n\n.PHONY: mcm-signers-finalize\nmcm-signers-finalize:\n\tmake sol-confirm-cmd \\\n\t\tcmd=\"mcmctl signers finalize \\\n\t\t\t--rpc-url $(SOL_RPC_URL) \\\n\t\t\t--ws-url $(SOL_WS_URL) \\\n\t\t\t--mcm-program-id $(MCM_PROGRAM_ID) \\\n\t\t\t--authority $(AUTHORITY) \\\n\t\t\t--multisig-id $(MCM_MULTISIG_ID)\" \\\n\t\toutput=$(or $(MCM_SIGNERS_FINALIZE_ARTIFACT),artifacts/mcm-signers-finalize.json)\n\n.PHONY: mcm-signers-clear\nmcm-signers-clear:\n\tmake sol-confirm-cmd \\\n\t\tcmd=\"mcmctl signers clear \\\n\t\t\t--rpc-url $(SOL_RPC_URL) \\\n\t\t\t--ws-url $(SOL_WS_URL) \\\n\t\t\t--mcm-program-id $(MCM_PROGRAM_ID) \\\n\t\t\t--authority $(AUTHORITY) \\\n\t\t\t--multisig-id $(MCM_MULTISIG_ID)\" \\\n\t\toutput=$(or $(MCM_SIGNERS_CLEAR_ARTIFACT),artifacts/mcm-signers-clear.json)\n\n.PHONY: mcm-signers-set-config\nmcm-signers-set-config:\n\tmake sol-confirm-cmd \\\n\t\tcmd=\"mcmctl signers set-config \\\n\t\t\t--rpc-url $(SOL_RPC_URL) \\\n\t\t\t--ws-url $(SOL_WS_URL) \\\n\t\t\t--mcm-program-id $(MCM_PROGRAM_ID) \\\n\t\t\t--authority $(AUTHORITY) \\\n\t\t\t--multisig-id $(MCM_MULTISIG_ID) \\\n\t\t\t--signer-groups $(MCM_SIGNER_GROUPS) \\\n\t\t\t--group-quorums $(MCM_GROUP_QUORUMS) \\\n\t\t\t--group-parents $(MCM_GROUP_PARENTS) \\\n\t\t\t$(if $(filter true,$(MCM_CLEAR_ROOT)),--clear-root)\" \\\n\t\toutput=$(or $(MCM_SIGNERS_SET_CONFIG_ARTIFACT),artifacts/mcm-signers-set-config.json)\n\n.PHONY: mcm-signatures-init\nmcm-signatures-init:\n\tmake sol-confirm-cmd \\\n\t\tcmd=\"mcmctl signatures init \\\n\t\t\t--rpc-url $(SOL_RPC_URL) \\\n\t\t\t--ws-url $(SOL_WS_URL) \\\n\t\t\t--mcm-program-id $(MCM_PROGRAM_ID) \\\n\t\t\t--authority $(AUTHORITY) \\\n\t\t\t--proposal $(MCM_PROPOSAL_OUTPUT) \\\n\t\t\t--total $(MCM_SIGNATURES_COUNT)\" \\\n\t\toutput=$(or $(MCM_SIGNATURES_INIT_ARTIFACT),artifacts/mcm-signatures-init.json)\n\n.PHONY: mcm-signatures-append\nmcm-signatures-append:\n\tmake sol-confirm-cmd \\\n\t\tcmd=\"mcmctl signatures append \\\n\t\t\t--rpc-url $(SOL_RPC_URL) \\\n\t\t\t--ws-url $(SOL_WS_URL) \\\n\t\t\t--mcm-program-id $(MCM_PROGRAM_ID) \\\n\t\t\t--authority $(AUTHORITY) \\\n\t\t\t--proposal $(MCM_PROPOSAL_OUTPUT) \\\n\t\t\t--signatures $(MCM_SIGNATURES)\" \\\n\t\toutput=$(or $(MCM_SIGNATURES_APPEND_ARTIFACT),artifacts/mcm-signatures-append.json)\n\n.PHONY: mcm-signatures-finalize\nmcm-signatures-finalize:\n\tmake sol-confirm-cmd \\\n\t\tcmd=\"mcmctl signatures finalize \\\n\t\t\t--rpc-url $(SOL_RPC_URL) \\\n\t\t\t--ws-url $(SOL_WS_URL) \\\n\t\t\t--mcm-program-id $(MCM_PROGRAM_ID) \\\n\t\t\t--authority $(AUTHORITY) \\\n\t\t\t--proposal $(MCM_PROPOSAL_OUTPUT)\" \\\n\t\toutput=$(or $(MCM_SIGNATURES_FINALIZE_ARTIFACT),artifacts/mcm-signatures-finalize.json)\n\n.PHONY: mcm-signatures-clear\nmcm-signatures-clear:\n\tmake sol-confirm-cmd \\\n\t\tcmd=\"mcmctl signatures clear \\\n\t\t\t--rpc-url $(SOL_RPC_URL) \\\n\t\t\t--ws-url $(SOL_WS_URL) \\\n\t\t\t--mcm-program-id $(MCM_PROGRAM_ID) \\\n\t\t\t--authority $(AUTHORITY) \\\n\t\t\t--proposal $(MCM_PROPOSAL_OUTPUT)\" \\\n\t\toutput=$(or $(MCM_SIGNATURES_CLEAR_ARTIFACT),artifacts/mcm-signatures-clear.json)\n\n.PHONY: mcm-ownership-transfer\nmcm-ownership-transfer:\n\tmake sol-confirm-cmd \\\n\t\tcmd=\"mcmctl ownership transfer \\\n\t\t\t--rpc-url $(SOL_RPC_URL) \\\n\t\t\t--ws-url $(SOL_WS_URL) \\\n\t\t\t--mcm-program-id $(MCM_PROGRAM_ID) \\\n\t\t\t--authority $(AUTHORITY) \\\n\t\t\t--multisig-id $(MCM_MULTISIG_ID) \\\n\t\t\t--proposed-owner $(MCM_PROPOSED_OWNER)\" \\\n\t\toutput=$(or $(MCM_OWNERSHIP_TRANSFER_ARTIFACT),artifacts/mcm-ownership-transfer.json)\n\n.PHONY: mcm-ownership-accept\nmcm-ownership-accept:\n\tmake sol-confirm-cmd \\\n\t\tcmd=\"mcmctl ownership accept \\\n\t\t\t--rpc-url $(SOL_RPC_URL) \\\n\t\t\t--ws-url $(SOL_WS_URL) \\\n\t\t\t--mcm-program-id $(MCM_PROGRAM_ID) \\\n\t\t\t--authority $(AUTHORITY) \\\n\t\t\t--multisig-id $(MCM_MULTISIG_ID)\" \\\n\t\toutput=$(or $(MCM_OWNERSHIP_ACCEPT_ARTIFACT),artifacts/mcm-ownership-accept.json)\n\n.PHONY: mcm-proposal-set-root\nmcm-proposal-set-root:\n\tmake sol-confirm-cmd \\\n\t\tcmd=\"mcmctl proposal set-root \\\n\t\t\t--rpc-url $(SOL_RPC_URL) \\\n\t\t\t--ws-url $(SOL_WS_URL) \\\n\t\t\t--mcm-program-id $(MCM_PROGRAM_ID) \\\n\t\t\t--authority $(AUTHORITY) \\\n\t\t\t--proposal $(MCM_PROPOSAL_OUTPUT)\" \\\n\t\toutput=$(or $(MCM_PROPOSAL_SET_ROOT_ARTIFACT),artifacts/mcm-proposal-set-root.json)\n\n.PHONY: mcm-proposal-execute\nmcm-proposal-execute:\n\tmake sol-confirm-cmd \\\n\t\tcmd=\"mcmctl proposal execute \\\n\t\t\t--rpc-url $(SOL_RPC_URL) \\\n\t\t\t--ws-url $(SOL_WS_URL) \\\n\t\t\t--mcm-program-id $(MCM_PROGRAM_ID) \\\n\t\t\t--authority $(AUTHORITY) \\\n\t\t\t--proposal $(MCM_PROPOSAL_OUTPUT) \\\n\t\t\t$(if $(MCM_START_INDEX),--start-index $(MCM_START_INDEX)) \\\n\t\t\t$(if $(MCM_OPERATION_COUNT),--operation-count $(MCM_OPERATION_COUNT))\" \\\n\t\toutput=$(or $(MCM_PROPOSAL_EXECUTE_ARTIFACT),artifacts/mcm-proposal-execute.json)\n\n##\n# Proposal creation commands (read-only, create proposal files)\n##\n\n.PHONY: mcm-proposal-accept-ownership\nmcm-proposal-accept-ownership:\n\tmcmctl proposal mcm accept-ownership \\\n\t\t--rpc-url $(SOL_RPC_URL) \\\n\t\t--mcm-program-id $(MCM_PROGRAM_ID) \\\n\t\t--multisig-id $(MCM_MULTISIG_ID) \\\n\t\t--valid-until $(MCM_VALID_UNTIL) \\\n\t\t$(if $(filter true,$(MCM_OVERRIDE_PREVIOUS_ROOT)),--override-previous-root) \\\n\t\t--output $(MCM_PROPOSAL_OUTPUT)\n\n.PHONY: mcm-proposal-update-signers\nmcm-proposal-update-signers:\n\tmcmctl proposal mcm update-signers \\\n\t\t--rpc-url $(SOL_RPC_URL) \\\n\t\t--mcm-program-id $(MCM_PROGRAM_ID) \\\n\t\t--multisig-id $(MCM_MULTISIG_ID) \\\n\t\t--valid-until $(MCM_VALID_UNTIL) \\\n\t\t$(if $(filter true,$(MCM_OVERRIDE_PREVIOUS_ROOT)),--override-previous-root) \\\n\t\t--output $(MCM_PROPOSAL_OUTPUT) \\\n\t\t--new-signers $(MCM_NEW_SIGNERS) \\\n\t\t--signer-groups $(MCM_SIGNER_GROUPS) \\\n\t\t--group-quorums $(MCM_GROUP_QUORUMS) \\\n\t\t--group-parents $(MCM_GROUP_PARENTS) \\\n\t\t$(if $(filter true,$(MCM_CLEAR_ROOT)),--clear-root) \\\n\t\t$(if $(filter true,$(MCM_CLEAR_SIGNERS)),--clear-signers)\n\n.PHONY: mcm-proposal-bridge-pause\nmcm-proposal-bridge-pause:\n\tmcmctl proposal bridge pause \\\n\t\t--rpc-url $(SOL_RPC_URL) \\\n\t\t--mcm-program-id $(MCM_PROGRAM_ID) \\\n\t\t--multisig-id $(MCM_MULTISIG_ID) \\\n\t\t--valid-until $(MCM_VALID_UNTIL) \\\n\t\t$(if $(filter true,$(MCM_OVERRIDE_PREVIOUS_ROOT)),--override-previous-root) \\\n\t\t--output $(MCM_PROPOSAL_OUTPUT) \\\n\t\t--bridge-program-id $(BRIDGE_PROGRAM_ID) \\\n\t\t$(if $(filter true,$(PAUSED)),--pause,--unpause)\n\n.PHONY: mcm-proposal-bridge-set-partner-oracle-config\nmcm-proposal-bridge-set-partner-oracle-config:\n\tmcmctl proposal bridge set-partner-oracle-config \\\n\t\t--rpc-url $(SOL_RPC_URL) \\\n\t\t--mcm-program-id $(MCM_PROGRAM_ID) \\\n\t\t--multisig-id $(MCM_MULTISIG_ID) \\\n\t\t--valid-until $(MCM_VALID_UNTIL) \\\n\t\t$(if $(filter true,$(MCM_OVERRIDE_PREVIOUS_ROOT)),--override-previous-root) \\\n\t\t--output $(MCM_PROPOSAL_OUTPUT) \\\n\t\t--bridge-program-id $(BRIDGE_PROGRAM_ID) \\\n\t\t--required-threshold $(BRIDGE_PARTNER_ORACLE_REQUIRED_THRESHOLD)\n\n.PHONY: mcm-proposal-loader-v3-upgrade\nmcm-proposal-loader-v3-upgrade:\n\tmcmctl proposal loader-v3 upgrade \\\n\t\t--rpc-url $(SOL_RPC_URL) \\\n\t\t--mcm-program-id $(MCM_PROGRAM_ID) \\\n\t\t--multisig-id $(MCM_MULTISIG_ID) \\\n\t\t--valid-until $(MCM_VALID_UNTIL) \\\n\t\t$(if $(filter true,$(MCM_OVERRIDE_PREVIOUS_ROOT)),--override-previous-root) \\\n\t\t--output $(MCM_PROPOSAL_OUTPUT) \\\n\t\t--program $(PROGRAM) \\\n\t\t--buffer $(BUFFER) \\\n\t\t--spill $(SPILL)\n\n.PHONY: mcm-proposal-loader-v3-set-authority\nmcm-proposal-loader-v3-set-authority:\n\tmcmctl proposal loader-v3 set-authority \\\n\t\t--rpc-url $(SOL_RPC_URL) \\\n\t\t--mcm-program-id $(MCM_PROGRAM_ID) \\\n\t\t--multisig-id $(MCM_MULTISIG_ID) \\\n\t\t--valid-until $(MCM_VALID_UNTIL) \\\n\t\t$(if $(filter true,$(MCM_OVERRIDE_PREVIOUS_ROOT)),--override-previous-root) \\\n\t\t--output $(MCM_PROPOSAL_OUTPUT) \\\n\t\t--account $(LOADER_ACCOUNT) \\\n\t\t--new-authority $(LOADER_NEW_AUTHORITY)\n\n##\n# Orchestrated commands\n##\n\n.PHONY: mcm-signers-all\nmcm-signers-all:\n\tmake mcm-signers-init\n\tmake mcm-signers-append\n\tmake mcm-signers-finalize\n\tmake mcm-signers-set-config\n\tmake mcm-signers-print-config\n\n.PHONY: mcm-signatures-all\nmcm-signatures-all:\n\tmake mcm-signatures-init\n\tmake mcm-signatures-append\n\tmake mcm-signatures-finalize\n\n.PHONY: mcm-proposal-all\nmcm-proposal-all:\n\tmake mcm-proposal-set-root\n\tmake mcm-proposal-execute\n\n.PHONY: mcm-all\nmcm-all:\n\tmake mcm-signatures-all\n\tmake mcm-proposal-all\n"
  },
  {
    "path": "solana/Makefile",
    "content": "UPDATE_SIGNERS_MCM_DIR = $(network)/$(shell date +'%Y-%m-%d')-update-signers-mcm\nUPGRADE_BRIDGE_DIR = $(network)/$(shell date +'%Y-%m-%d')-upgrade-bridge\nSET_PAUSE_BRIDGE_DIR = $(network)/$(shell date +'%Y-%m-%d')-set-pause-bridge\n\nTEMPLATE_UPDATE_SIGNERS_MCM = setup-templates/template-update-signers-mcm\nTEMPLATE_UPGRADE_BRIDGE = setup-templates/template-upgrade-bridge\nTEMPLATE_SET_PAUSE_BRIDGE = setup-templates/template-set-pause-bridge\n\n##\n# Project Setup\n##\n\n# Run `make setup-update-signers-mcm network=<network>`\nsetup-update-signers-mcm:\n\trm -rf $(TEMPLATE_UPDATE_SIGNERS_MCM)/cache $(TEMPLATE_UPDATE_SIGNERS_MCM)/lib $(TEMPLATE_UPDATE_SIGNERS_MCM)/out\n\tcp -r $(TEMPLATE_UPDATE_SIGNERS_MCM) $(UPDATE_SIGNERS_MCM_DIR)\n\tmkdir -p $(network)/signatures/$(notdir $(UPDATE_SIGNERS_MCM_DIR))\n\n# Run `make setup-upgrade-bridge network=<network>`\nsetup-upgrade-bridge:\n\trm -rf $(TEMPLATE_UPGRADE_BRIDGE)/cache $(TEMPLATE_UPGRADE_BRIDGE)/lib $(TEMPLATE_UPGRADE_BRIDGE)/out\n\tcp -r $(TEMPLATE_UPGRADE_BRIDGE) $(UPGRADE_BRIDGE_DIR)\n\tmkdir -p $(network)/signatures/$(notdir $(UPGRADE_BRIDGE_DIR))\n\n# Run `make setup-set-pause-bridge network=<network>`\nsetup-set-pause-bridge:\n\trm -rf $(TEMPLATE_SET_PAUSE_BRIDGE)/cache $(TEMPLATE_SET_PAUSE_BRIDGE)/lib $(TEMPLATE_SET_PAUSE_BRIDGE)/out\n\tcp -r $(TEMPLATE_SET_PAUSE_BRIDGE) $(SET_PAUSE_BRIDGE_DIR)\n\tmkdir -p $(network)/signatures/$(notdir $(SET_PAUSE_BRIDGE_DIR))\n\n##\n# Dependencies\n##\n\n.PHONY: install-eip712sign\ninstall-eip712sign:\n\tgo install github.com/base/eip712sign@v0.0.15\n\n.PHONY: install-mcmctl\ninstall-mcmctl:\n\tgo install github.com/base/mcm-go/cmd/mcmctl@0271c20f2509304e00781e80d5018410eefd8794\n\n.PHONY: deps\ndeps: install-mcmctl install-eip712sign\n\n##\n# MCM commands - imported from MCM.mk\n##\n\ninclude $(dir $(lastword $(MAKEFILE_LIST)))MCM.mk\n\n##\n# Solana Utils\n##\n\n# Run `make sol-confirm-cmd cmd=<command> output=<output-file>`\n# Captures signature from command output and confirms it\n.PHONY: sol-confirm-cmd\nsol-confirm-cmd:\n\t@OUTPUT=$$($(cmd) 2>&1 | tee /dev/tty); \\\n\tSIG=$$(echo \"$$OUTPUT\" | grep -oE '[1-9A-HJ-NP-Za-km-z]{87,88}' | tail -1); \\\n\tif [ -n \"$$SIG\" ]; then \\\n\t\techo \"\"; \\\n\t\t$(MAKE) sol-confirm SIG=$$SIG output=$(output); \\\n\t\techo \"Transaction artifacts written to $(output)\"; \\\n\telse \\\n\t\techo \"ERROR: No signature found\"; \\\n\t\texit 1; \\\n\tfi\n\n# Run `make sol-confirm SIG=<signature> output=<output-file>`\n# Confirms a signature and saves the result to a JSON file\n.PHONY: sol-confirm\nsol-confirm:\n\t@echo \"==> Confirming signature: $$SIG\"; \\\n\tmkdir -p $(dir $(output)); \\\n\tsolana confirm $$SIG -v --output json --url $(SOL_RPC_URL) > $(output)\n\n##\n# Solana Native Commands\n##\n\n.PHONY: sol-program-show\nsol-program-show:\n\tsolana program show $(SOL_PROGRAM_ID) --url $(SOL_RPC_URL)\n\n.PHONY: sol-transfer\nsol-transfer: output ?= artifacts/sol-transfer.json\nsol-transfer:\n\tmake sol-confirm-cmd \\\n\t\tcmd=\"solana transfer $(SOL_RECIPIENT) $(SOL_AMOUNT) \\\n\t\t\t--url $(SOL_RPC_URL) \\\n\t\t\t--fee-payer $(AUTHORITY) \\\n\t\t\t--allow-unfunded-recipient \\\n\t\t\t$(if $(AUTHORITY),--keypair $(AUTHORITY))\" \\\n\t\toutput=$(output)\n\n# This command does not output the signature, so we cannot use make sol-confirm-cmd\n.PHONY: sol-program-set-upgrade-authority\nsol-program-set-upgrade-authority:\n\tsolana program set-upgrade-authority $(SOL_PROGRAM_ID) \\\n\t--url $(SOL_RPC_URL) \\\n\t--new-upgrade-authority $(NEW_UPGRADE_AUTHORITY) \\\n\t--skip-new-upgrade-authority-signer-check \\\n\t$(if $(AUTHORITY),--keypair $(AUTHORITY))\n\n# This command does not output the signature, so we cannot use make sol-confirm-cmd\n.PHONY: sol-write-buffer\nsol-write-buffer:\n\tsolana program write-buffer $(PROGRAM_BINARY) \\\n\t--url $(SOL_RPC_URL) \\\n\t$(if $(AUTHORITY),--keypair $(AUTHORITY))\n\n# This command does not output the signature, so we cannot use make sol-confirm-cmd\n.PHONY: sol-set-buffer-authority\nsol-set-buffer-authority:\n\tsolana program set-buffer-authority $(BUFFER) \\\n\t--new-buffer-authority $(NEW_BUFFER_AUTHORITY) \\\n\t--url $(SOL_RPC_URL) \\\n\t$(if $(AUTHORITY),--keypair $(AUTHORITY))\n"
  },
  {
    "path": "solana/devnet/2025-10-20-deploy-mcm/.gitignore",
    "content": "chainlink-ccip/\n"
  },
  {
    "path": "solana/devnet/2025-10-20-deploy-mcm/Makefile",
    "content": "include ../.env\ninclude .env\n\ninclude ../../Makefile\n\n##\n# Project Setup\n##\n\n.PHONY: install-rust\ninstall-rust:\n\tcurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y\n\n.PHONY: install-solana-cli\ninstall-solana-cli:\n\tcurl -sSfL https://release.anza.xyz/v$(SOLANA_VERSION)/install | sh\n\n.PHONY: install-anchor\ninstall-anchor:\n\tcargo install --git https://github.com/coral-xyz/anchor --tag v$(ANCHOR_VERSION) anchor-cli --force\n\n.PHONY: setup-deps\nsetup-deps: install-rust install-solana-cli install-anchor\n\n##\n# Deployment Workflow\n##\n\n# Step 1: Clone and patch the MCM program\n.PHONY: step1-clone-and-patch\nstep1-clone-and-patch:\n\t@echo \"==> Step 1: Cloning and patching the MCM program...\"\n\trm -rf chainlink-ccip\n\tgit clone --filter=blob:none $(MCM_REPO) chainlink-ccip\n\tcd chainlink-ccip && \\\n\t\tgit checkout $(MCM_AUDITED_COMMIT) && \\\n\t\tgit apply ../$(INVOKE_SIGNED_PATCH) && \\\n\t\tgit apply ../$(EIP712_PATCH)\n\n# Step 2: Build and deploy the MCM program\n.PHONY: step2-build-and-deploy\nstep2-build-and-deploy:\n\t@echo \"==> Step 2: Building and deploying the MCM program...\"\n\tcd chainlink-ccip/chains/solana/contracts && \\\n\t\tanchor keys sync && \\\n\t\tanchor build -p mcm && \\\n\t\tanchor deploy --provider.cluster $(CLUSTER) --provider.wallet $(AUTHORITY) -p mcm\n\n# Step 2.5: Generate deploy artifacts (use solana explorer to get the signature of the deployWithMaxDataLen tx)\n.PHONY: step2.5-generate-deploy-artifacts\nstep2.5-generate-deploy-artifacts:\n\t@echo \"==> Step 2.5: Generating MCM deploy artifacts...\"\n\tmake sol-confirm SIG=$(MCM_DEPLOY_SIGNATURE) output=artifacts/mcm-deploy-artifacts.json\n\n# Step 3: Initialize the multisig (inherited from parent)\n.PHONY: step3-init-multisig\nstep3-init-multisig:\n\t@echo \"==> Step 3: Initializing MCM multisig...\"\n\tmake mcm-multisig-init\n\tmake mcm-multisig-print-authority\n\n# Step 4: Initialize the signers (inherited from parent)\n.PHONY: step4-init-signers\nstep4-init-signers:\n\t@echo \"==> Step 4: Initializing MCM signers...\"\n\tmake mcm-signers-all\n\n# Step 5: Create accept-ownership proposal (inherited from parent)\n.PHONY: step5-create-accept-ownership-proposal\nstep5-create-accept-ownership-proposal:\n\t@echo \"==> Step 5: Creating MCM accept-ownership proposal...\"\n\tmake mcm-proposal-accept-ownership\n\n# Step 5.5: Sign the proposal (inherited from parent)\n.PHONY: step5.5-sign-proposal\nstep5.5-sign-proposal:\n\t@echo \"==> Step 5.5: Signing MCM proposal...\"\n\tmake mcm-sign\n\n# Step 6: Execute ownership transfer (inherited from parent)\n.PHONY: step6-execute-ownership-transfer\nstep6-execute-ownership-transfer:\n\t@echo \"==> Step 6: Executing MCM ownership transfer...\"\n\tmake mcm-ownership-transfer\n\tmake mcm-all\n\n# Step 7: Transfer upgrade authority (inherited from parent)\n.PHONY: step7-transfer-upgrade-authority\nstep7-transfer-upgrade-authority:\n\t@echo \"==> Step 7: Transferring MCM upgrade authority...\"\n\tmake sol-program-set-upgrade-authority\n\tmake sol-program-show\n\n# Step 7.5: Generate set-upgrade-authority artifacts (use solana explorer to get the signature of the set-upgrade-authority tx)\n.PHONY: step7.5-generate-set-upgrade-authority-artifacts\nstep7.5-generate-set-upgrade-authority-artifacts:\n\t@echo \"==> Step 7.5: Generating MCM set-upgrade-authority artifacts...\"\n\tmake sol-confirm SIG=$(SET_UPGRADE_AUTHORITY_SIGNATURE) output=artifacts/set-upgrade-authority-artifacts.json\n"
  },
  {
    "path": "solana/devnet/2025-10-20-deploy-mcm/accept_ownership_proposal.json",
    "content": "{\n  \"multisigId\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n  \"validUntil\": 1761144659,\n  \"instructions\": [\n    {\n      \"programId\": \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\",\n      \"data\": \"rBcrDe7VVZYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==\",\n      \"accounts\": [\n        {\n          \"pubkey\": \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        }\n      ]\n    }\n  ],\n  \"rootMetadata\": {\n    \"chainId\": 0,\n    \"multisig\": \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n    \"preOpCount\": 0,\n    \"postOpCount\": 1,\n    \"overridePreviousRoot\": false\n  }\n}"
  },
  {
    "path": "solana/devnet/2025-10-20-deploy-mcm/artifacts/mcm-deploy-artifacts.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"5bK6JGE7kXXEGup5Ei7cJ9EEXe7HdEXQqwDKECy8BoXfuXFkPRHuctbjmcWHtA2d9qqw5XJU6Z3nRT9wnMBNbN46\",\n      \"63Z9zuz6r7B9rbYKXMJDBMmBhAdKBw9MAf5VehXdr4LQRViohKkJmBFccZVzeaP34r7BvqLg8hqwe3pxS16HKHs4\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 2,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 4\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\",\n        \"4QvsiNUZTgsGPJ8qzoaZejReMcSBMFXpZGuQ3g3C5oSr\",\n        \"Ca93fFb5tQR14XzNpvBi6WNTuPHWZLNwoZ3hu6EErgDF\",\n        \"11111111111111111111111111111111\",\n        \"BPFLoaderUpgradeab1e11111111111111111111111\",\n        \"SysvarC1ock11111111111111111111111111111111\",\n        \"SysvarRent111111111111111111111111111111111\"\n      ],\n      \"recentBlockhash\": \"2zgqNpRAaEfssF4WWp8ZziQgeHnm1HiKSkX85mAYoze6\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 4,\n          \"accounts\": [\n            0,\n            1\n          ],\n          \"data\": \"111184NuZo7gmbjwda8fGAim94roEJcdbYKd7Gdtpi6CbBByeanCr8u4EAFXLjnY2U8bjD\",\n          \"stackHeight\": null\n        },\n        {\n          \"programIdIndex\": 5,\n          \"accounts\": [\n            0,\n            3,\n            1,\n            2,\n            7,\n            6,\n            4,\n            0\n          ],\n          \"data\": \"3Bxs48zM8X3cMBTd\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 10000,\n    \"preBalances\": [\n      213268109760,\n      0,\n      6670665840,\n      0,\n      1,\n      1,\n      1169280,\n      1009200\n    ],\n    \"postBalances\": [\n      213266958320,\n      1141440,\n      0,\n      6670665840,\n      1,\n      1,\n      1169280,\n      1009200\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 1,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 4,\n            \"accounts\": [\n              0,\n              3,\n              2\n            ],\n            \"data\": \"111157tnXiJjEbgRnn44jeNdMoMHYx1u44vb4AwqsXQUngzcpZ5pqpAGVoSQypDBS4X9Dh\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program 11111111111111111111111111111111 invoke [1]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Deployed program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 2670\n  },\n  \"blockTime\": 1761065093,\n  \"slot\": 416140521\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-20-deploy-mcm/artifacts/mcm-multisig-init.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"3Uw9BMM21vWikcCzj4AYQsYf3KPb3ZoiaCNpMzXkeP3tELfGqXf2AfevbB6Zb8gWBGuHqEgQPtxvGh2KaAFK79BS\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 3\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n        \"DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S\",\n        \"9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN\",\n        \"11111111111111111111111111111111\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\",\n        \"Ca93fFb5tQR14XzNpvBi6WNTuPHWZLNwoZ3hu6EErgDF\"\n      ],\n      \"recentBlockhash\": \"E6wT6vpUWjyZ1HsoRaD2EKj9KZdFkY4xSsCGmBqdNNt9\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 5,\n          \"accounts\": [\n            1,\n            0,\n            4,\n            5,\n            6,\n            2,\n            3\n          ],\n          \"data\": \"7SnYRRYHodD3NpaduvxGCKdBMMPosiGzj7XLAapAsktJqzhDg8hnNYMdYvMYBSuDMR\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      213266958320,\n      0,\n      0,\n      0,\n      1,\n      1141440,\n      6670665840\n    ],\n    \"postBalances\": [\n      213262213560,\n      2143680,\n      1343280,\n      1252800,\n      1,\n      1141440,\n      6670665840\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 4,\n            \"accounts\": [\n              0,\n              1\n            ],\n            \"data\": \"111185163Bhx14N7QLXuATQTkd5i7T1nP5wXnAz4FQbJ46JPKsnyXJjS7GvwbLdXqP4poK\",\n            \"stackHeight\": 2\n          },\n          {\n            \"programIdIndex\": 4,\n            \"accounts\": [\n              0,\n              2\n            ],\n            \"data\": \"11112nBT7uc6uCuDYWZxzrh7tx52q1tVrcjACh7cRdxVwRe9azr1jc48bp2Ytz3WAGkpBB\",\n            \"stackHeight\": 2\n          },\n          {\n            \"programIdIndex\": 4,\n            \"accounts\": [\n              0,\n              3\n            ],\n            \"data\": \"111183jo2z36whaRMSxqHScMibvxLsPmf26Pg7ekVkaDvJ7NvRFmsBD5nzAk5b5kzYas9b\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: Initialize\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 26962 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 26962\n  },\n  \"blockTime\": 1761065121,\n  \"slot\": 416140593\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-20-deploy-mcm/artifacts/mcm-ownership-transfer.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"RAhHn8YnNXojtTw2FBGvkcCTZ7PRBsiztvwonQTQ9M4uFQ1VVDMmx9ccJXmRXb9ZPMk8dM2xCYkUZpycWwHtgY7\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"5BKuAfJYB3XTicrHSnqNRGhj3R7voNXdHJjv9VeNV9Wm\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"yEyTv9RkpitE2KhkXh3CNcWuN6CrWRhXseHmYRyKWHv7jB71wCME7GDc4NCNaaTnRCKk9hCqRADy3yQ2AnismGBQ2od59vbqeg\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      213260183000,\n      4134240,\n      1141440\n    ],\n    \"postBalances\": [\n      213260178000,\n      4134240,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: TransferOwnership\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 6913 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 6913\n  },\n  \"blockTime\": 1761068983,\n  \"slot\": 416150667\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-20-deploy-mcm/artifacts/mcm-proposal-execute.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"5vCNXXwJA7iEScuVVdEy1n8ahiaPygrNZjq3peUktvyemyPAmXnVSZrxyqn5A6Dij1uXn29RxaYQdAdvX4P5eF7i\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 3\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n        \"9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN\",\n        \"DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\",\n        \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\"\n      ],\n      \"recentBlockhash\": \"Ed3DUWepoANUKnxSzQchvNwFd93izxrih8ytLyRqeyux\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 4,\n          \"accounts\": [\n            1,\n            3,\n            2,\n            4,\n            5,\n            0,\n            1,\n            5\n          ],\n          \"data\": \"AtRVgKpNvpibnNeZF1j6npTBrht7qYrNPW95s5rfTPnPXyZ58rgdDiRHyANyX6Y2xekrKrcNMVBdarpWpe4j8BAhm6GbXcrtLViQWKFHm2BFUAg4CiQf3MMz21wnS8kE9RrKLdb2csk34DytbcUPnG4LW34Kqikjsysyon8wQVEnAEbvwaKEZSYotc\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      213259164480,\n      4134240,\n      1252800,\n      1343280,\n      1141440,\n      0\n    ],\n    \"postBalances\": [\n      213259159480,\n      4134240,\n      1252800,\n      1343280,\n      1141440,\n      0\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 4,\n            \"accounts\": [\n              1,\n              5\n            ],\n            \"data\": \"9YwhijzMHyNGk5ngX2sXQFjq518LPP6eCuh578AMt7utCa87gZPCf91\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: Execute\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [2]\",\n      \"Program log: Instruction: AcceptOwnership\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 6774 of 179161 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\",\n      \"Program data: 3Q/UHSP8/04AAAAAAAAAAMmhkoE6wk7I/Qcq8Mtz+oLcnxxrSMH1eOh8OfDT7LxyKAAAAKwXKw3u1VWWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 33297 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 33297\n  },\n  \"blockTime\": 1761071128,\n  \"slot\": 416156235\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-20-deploy-mcm/artifacts/mcm-proposal-set-root.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"5cgAY7o5G31KJWwd76QLWk6wQzNfPoXnjMAP5W8jELE45Qhjt9ZPxkA38udzpWANNYGjMQV2WBTdivGuFXBfpDNa\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 3\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"AFNh3XUdrTmZ21jrd3RR9K3f89wFgvyWWpyndbnGngT4\",\n        \"DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S\",\n        \"2URDwxAAjPRzcTULjodnCxvg2HraDv3oh5mEgD9kYwXP\",\n        \"9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN\",\n        \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n        \"11111111111111111111111111111111\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"2x6CBathDiwFZkMdC8WQamhJ48nfwPTtDBu4mTsPfS2w\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 7,\n          \"accounts\": [\n            1,\n            2,\n            3,\n            4,\n            5,\n            0,\n            6\n          ],\n          \"data\": \"K9UBFxzzmUF86odsdKWb6A2fuzRXx1VQLqWaNmspdxDzEh8pmM5J9neDiLdiksrzWkBpheYjxzKHqNwL1BLUmhVji4MH4ijegsMEUPsavYywuYpEqKCtLRppno1mdqH5gLuhp8CY39N4ACkPvogHbCU2m7aUdUw76kTcoViagyUE1V4uJvPT9V1P4FLc8u5X7HJ9BNk1GqZdSLRsS3ykxdaa3xo6J84k44c8Gs2\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      213257777480,\n      2345520,\n      1343280,\n      0,\n      1252800,\n      4134240,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      213259164480,\n      0,\n      1343280,\n      953520,\n      1252800,\n      4134240,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 6,\n            \"accounts\": [\n              0,\n              3\n            ],\n            \"data\": \"11117UcthqATmHRa77Wg3s82tM6xxYxd7PiZ2oZ4h1ZRQ3Q6anaT7puATNmrGRBPnEn6Uh\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: SetRoot\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program data: 0hm7digqPXeKD8CWdwQZp6btd8eVMtyt4jU7Sm8OzgJYKkOID9IZhlPv+GgAAAAAAAAAAFvuOPs7hiam+/CQoroqEyiPrjtrRaqBltmHvQYLpVUzAAAAAAAAAAABAAAAAAAAAAA=\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 108241 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 108241\n  },\n  \"blockTime\": 1761071111,\n  \"slot\": 416156190\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-20-deploy-mcm/artifacts/mcm-signatures-append.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"WNJBim7rRgZVXGhxwtmzHWdCw6DnM72S1LEgpETvVchg5is3v3xix8f4WLq3ChxcmSGU89zWnj2DgJ9Zch8f2fo\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"AFNh3XUdrTmZ21jrd3RR9K3f89wFgvyWWpyndbnGngT4\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"HELgu8kSoHs3UnT6KnymBSLNULZRt6EsCGRdg7BS4rWp\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"8JM1NbBrt3Xh3kxoE3gUoUhdacSAaBKUdPn3SULoy5MqoavKwgx6PuKAkKbJHKR6x1jhra1hB8STog2qtFhZ7oWRWLM8w8hBqQ9TFRtT5Fn42zs5VBKVuTqc2MeW9Ujd4pDVHkUfUGqPhwd2WT3mgNfW7xyfBUxTwFCZLbNJu9tmZBsCroDPjyyYuvbAXRST38mD77v7s75D3USPAAGCzrCujhRGP8qVfXr13hysuxMvYQgKkKNSWqmU61y6un6nqhMkJvGwoj7pQ8zgLmXZySeF1ovFMbkbw91xd3bbqCWkfLWLEi2jEKCcTAaoEyA9fpFzkQ83mwHX9fnsbYXmLtB6WwF82yaPrNVpCS24J5qY8Tr4VBxmbY6r\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      213257807480,\n      2345520,\n      1141440\n    ],\n    \"postBalances\": [\n      213257802480,\n      2345520,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: AppendSignatures\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 5385 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 5385\n  },\n  \"blockTime\": 1761069507,\n  \"slot\": 416152030\n}\n{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"5P4pNke2Eh8XBbHPQKpj6B5XGUYYDvx8S8CexWB4K3pz87szm8VbD2X18k8D8Agu5XqGYG5hQzRg42nX5S4uDCFG\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"AFNh3XUdrTmZ21jrd3RR9K3f89wFgvyWWpyndbnGngT4\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"GG6VTj7aDqhN1zmKehh2Bn2NiVa5biHTPsugyPUDCCt7\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"8JM1NbBrt3Xh3kxoE3gUoUhdacSAaBKUdPn3SULoy5MqoavKwgx6PuKAkKbJHKR6x1jhra1hB8STog2qtFhZ7oWRWLM8w8hBqQ9TFRtT5Fn42zs5VBKVuTqc2MeW9Ujd4pDVHkUfUGqPhwd2WT3mgNfW7xyfBUxTwFCZLbNJu9tmZBsCroDPjyyYuvbAXRST38mD77v97GBLzfpP584ZU49L1CsSksCXotnLp3CX2ic4EMCDwYTrTLE4yb28Tnf1W23cKfqS98qGe6YyKkEni7BCjhhKbuusawUQJKRsVJKKMTHTUwTMKCcx22kz7wF28hRNgNq4bWSZu2GSTW8dEBvBMNUSAY6zBFvJ5Mes9yjxkVSdPNhJtjR9\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      213257787480,\n      2345520,\n      1141440\n    ],\n    \"postBalances\": [\n      213257782480,\n      2345520,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: AppendSignatures\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 5385 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 5385\n  },\n  \"blockTime\": 1761071079,\n  \"slot\": 416156109\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-20-deploy-mcm/artifacts/mcm-signatures-finalize.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"51CZQFnLdM8CdHncuUX4cMYxCfagVvEk6W2TdxuqqX1CA5V7QD1AFU2swtBFdRwekqxpESGV4FurBnYDZRCy2Mp3\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"AFNh3XUdrTmZ21jrd3RR9K3f89wFgvyWWpyndbnGngT4\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"7ByPsk474ot7DPBzvR2KAYvq1Y3efudb8R1s5PM8n1Tv\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"8VPNxavkg2Yj38NCocv5Cq5gNj6AXt2M4QRQjqgjJnXPoyHsmdy1UZDmF6npK5ZBtRNWL1JYRnb16YYQozX6At63mW11eXX5K5PeHhFD\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      213257802480,\n      2345520,\n      1141440\n    ],\n    \"postBalances\": [\n      213257797480,\n      2345520,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: FinalizeSignatures\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 4570 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 4570\n  },\n  \"blockTime\": 1761069523,\n  \"slot\": 416152072\n}\n{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"5YBfmUTSb9mMSQW7yMyWd37uuTKnPw9YsWnmk4oDMt4ijrYwB35C31mdsVQTFYWQjUcgQ59oyoamx1T31KNUdoWC\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"AFNh3XUdrTmZ21jrd3RR9K3f89wFgvyWWpyndbnGngT4\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"7CYKqUTPk7arJvtQXGhp6K7RDMhr5SLnd41E3Yu3fJoA\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"8VPNxavkg2Yj38NCocv5Cq5gNj6AXt2M4QRQjqgjJnXPoyHsmdy1UZDmF6npK5ZBtRNWL1JYRnb16YYQozX6At63mW11eXX5K5PeHhFD\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      213257782480,\n      2345520,\n      1141440\n    ],\n    \"postBalances\": [\n      213257777480,\n      2345520,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: FinalizeSignatures\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 4570 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 4570\n  },\n  \"blockTime\": 1761071094,\n  \"slot\": 416156148\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-20-deploy-mcm/artifacts/mcm-signatures-init.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"2b9c5KPWY6RtNQHGNTGUc3ysGG7kDqRPhWCd7r8CBg8eRnT6GEELVUxnQNtQeScaiYnYFexqXHW7ZJrrFYytzFKe\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"AFNh3XUdrTmZ21jrd3RR9K3f89wFgvyWWpyndbnGngT4\",\n        \"11111111111111111111111111111111\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"B84CPxEMPSy61XbNVH9tDtYxh1ZGwwURM5uvSSTZMK8S\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 3,\n          \"accounts\": [\n            1,\n            0,\n            2\n          ],\n          \"data\": \"2QCcPn6AhHR9Zi4mhnFE53M8tJopZFLmSWFEPUWVFoNxRRu5UeGEiNaozoRS1nNcnizvmPyti1ijFKAZ5FpVREJ6QH6aonySvS1WBDhv1G\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      213260158000,\n      0,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      213257807480,\n      2345520,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 2,\n            \"accounts\": [\n              0,\n              1\n            ],\n            \"data\": \"11112nodbJCN8fXPKGyCu9NpWW4Z1ZkxMmEywtSX6cwUwwiUiy2t2NJ1N7s3c1VyVFW6Sm\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: InitSignatures\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 7983 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 7983\n  },\n  \"blockTime\": 1761069491,\n  \"slot\": 416151988\n}\n{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"4zaYAALeFDedTBiu4qPhKwZ2RyGEu5HsDLuH9PemU6q6PV5uuTvGsWeqAnwVGL6S6ynA7opNY7HsTBAzfvqkzdma\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"AFNh3XUdrTmZ21jrd3RR9K3f89wFgvyWWpyndbnGngT4\",\n        \"11111111111111111111111111111111\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"8WzkQ4RFyqKYxK1fDhNB7LXTW6pL56fcY6LZGzbm81dC\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 3,\n          \"accounts\": [\n            1,\n            0,\n            2\n          ],\n          \"data\": \"2QCcPn6AhHR9Zi4mhnFE53M8tJopZFLmSWFEPUWVFoNxRRu5UeGEiNaozoRS1nNcnizvmPyti1ijFKAZ5FpVREJ6QH6aonySvS1WBDhv1G\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      213260138000,\n      0,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      213257787480,\n      2345520,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 2,\n            \"accounts\": [\n              0,\n              1\n            ],\n            \"data\": \"11112nodbJCN8fXPKGyCu9NpWW4Z1ZkxMmEywtSX6cwUwwiUiy2t2NJ1N7s3c1VyVFW6Sm\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: InitSignatures\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 7983 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 7983\n  },\n  \"blockTime\": 1761071047,\n  \"slot\": 416156027\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-20-deploy-mcm/artifacts/mcm-signers-append.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"4PKytW5KdhEUrRCitkK676RH8pYZoxZfDSM4PMxgzbW19hJzvia3CFSZHr5MnaRuG6VcbnN3ULXV1bAxAKft8Vcg\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"8e9iEAej6ZsWQeJyfwEha1o67HGirYqXVaMKSW8Gqx3T\",\n        \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"CkAbbUJfyVra9rf9icfTtMseN9LUjrfD4FSwJcrzco9o\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 3,\n          \"accounts\": [\n            2,\n            1,\n            0\n          ],\n          \"data\": \"2nf1F9kmbuTdp5Vczs1R1Fq4atVAVZ4tQGZ2Cjmt6iBMcyXoAR5WFnbQNQBJgQtBujGH3mrsncheGs1Dhqsqkes9uk7tRPK4Th8R2TYZjNzN9rfEKWWLhmT9p6wxwFrCKwokEMR6DLapCu1VbWVDDVPsGTACU2SJJJ6pAQi2VXZBcAxDE4jrFHNhNRJCYkBbmkSqhEpBV4ii8jZ9sLEE2J82kfECng48U6QRm531iUwY45k1w1mtprBNEv9c4eaiyr54gSL35v7CKdBaAwS7eQZfhaiHeUxfATVV5UWxK6p5xXqhezit9hbXxF47rANWMZxHf3soxprRMJrgVA7vKUCsmYUny4GvyXFhrM1ppzD6DGE3wungioQqbxZ77iY8wDcm9UYwuUWA7wdihPUp2ZudiihPXz6p\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      213259390640,\n      2797920,\n      2143680,\n      1141440\n    ],\n    \"postBalances\": [\n      213259385640,\n      2797920,\n      2143680,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: AppendSigners\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 8742 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 8742\n  },\n  \"blockTime\": 1761065400,\n  \"slot\": 416141319\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-20-deploy-mcm/artifacts/mcm-signers-finalize.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"52Po3VtjNzxRYLFRqcMBL8CbF64AvXrDk5Cru4rgxka1hNqYBAMGM9fFU4FGDMvZJUwhWSZZoeXfFumhqU9DEoqm\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"8e9iEAej6ZsWQeJyfwEha1o67HGirYqXVaMKSW8Gqx3T\",\n        \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"2bnNJwHARL21H4RNS76MejApRUEbtAmarGPXC5LCXx4K\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 3,\n          \"accounts\": [\n            2,\n            1,\n            0\n          ],\n          \"data\": \"3V5XNyH9GL3Zw7SV97YnoB8Qke2c7xemZuhdfjFiRP1AURoHATkNZ19\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      213259385640,\n      2797920,\n      2143680,\n      1141440\n    ],\n    \"postBalances\": [\n      213259380640,\n      2797920,\n      2143680,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: FinalizeSigners\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 7243 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 7243\n  },\n  \"blockTime\": 1761065415,\n  \"slot\": 416141359\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-20-deploy-mcm/artifacts/mcm-signers-init.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"127scRFUVMDXZ27DWppN9o4m8VadRf9KCR44261PxYqYpCdvS5TDA9dctt1GeNoFjKukXv4NiCQdr4nyhJEaSTY3\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 3\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"8e9iEAej6ZsWQeJyfwEha1o67HGirYqXVaMKSW8Gqx3T\",\n        \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n        \"11111111111111111111111111111111\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"DAjuukF3x86JPvvLYJuqQrXkVZdKWfzP4YdtxGvfrUt1\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 4,\n          \"accounts\": [\n            2,\n            1,\n            0,\n            3\n          ],\n          \"data\": \"PXWSyLz7TkBDeki3V6tWD5LEQFNUshsGo5XhC69om7re6dKuVXRBHyCG\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      213262193560,\n      0,\n      2143680,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      213259390640,\n      2797920,\n      2143680,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 3,\n            \"accounts\": [\n              0,\n              1\n            ],\n            \"data\": \"11114Yini18cyWdoT2b5xcdaJ18Qzshjktbm1L4pFf1RqWPBLeEVAMMCB2WuZ7ipPSo1Mj\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: InitSigners\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 10272 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 10272\n  },\n  \"blockTime\": 1761065384,\n  \"slot\": 416141279\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-20-deploy-mcm/artifacts/mcm-signers-set-config.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"5qwtkrFtYb53YxwJjV7vo6VgtYYP4aV16AFNQzFeaVbsK7WWMYeUt5e3LfFJgCJFBRi7yZ3WCKoHsTe142xHK4ay\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n        \"8e9iEAej6ZsWQeJyfwEha1o67HGirYqXVaMKSW8Gqx3T\",\n        \"DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S\",\n        \"9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN\",\n        \"11111111111111111111111111111111\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"EkMYdyxhFNAMyM6oKZFRiNDLMevqDqFSvXfyxtbNCLWr\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 6,\n          \"accounts\": [\n            1,\n            2,\n            3,\n            4,\n            0,\n            5\n          ],\n          \"data\": \"64JuGGLk9NDtcuqYHbYdvLn9JcaqmyombUTYwgoe9NEY5ybzeFgrm9Frsmgh9cUzByyK48wwJVR4k22A9i5XXBz2ZtLMHo83pAR9WAViwHMTRneM3bby5qo5mSWPS5PBzVoDPhW7gZQeC3VSeduGa1xof3dzNbS7dscEAnK\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      213259380640,\n      2143680,\n      2797920,\n      1343280,\n      1252800,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      213260183000,\n      4134240,\n      0,\n      1343280,\n      1252800,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 5,\n            \"accounts\": [\n              0,\n              1\n            ],\n            \"data\": \"3Bxs4TgTwHsPxW47\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: SetConfig\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program data: D2g7EOzxCAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAM8vhsMziZPOEPdNb0sJVxLH7+JgAAQgyP4d2wWTxxSHRFV2yHwX8XcXkBAE/9mLXuqQXsJao9rxgFUvZ4c+14AgBfGVVynj1hKftzgT6JF0LUc/x09wMAZE0PXCxVpGebS/4Fe4e6IDr5rA0EAG5CfDISwLY74MOC+XcV1JsBG/8zBQB/EAmL1TUZxznKikBK/hJ2R9lHdAYAkx4ksDJRHY3QKa7etEg3+sJR89gHAJmGzK+ePeD/74Kg9/o6BtWv4HJSCACy2aUudoQSee8DcsU0xTmk9o+MCwkA5FrIHqf1PepfC9bKoHM91cAtO2AKAO3s8sREVZIQqGWiKs/GoqJVkKsbCwDuMW2w7a7kU0ffxJh5WgExHwhSJQwA\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 25834 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 25834\n  },\n  \"blockTime\": 1761065431,\n  \"slot\": 416141400\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-20-deploy-mcm/artifacts/set-upgrade-authority-artifacts.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"24wtuhsQKiyAuh2GZj2QUCeT954RrdXpH32UUreafMruUte8aQa19KYMTmbkDwy8KTBtSvKN32tjBjxMwEJh5YWP\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"Ca93fFb5tQR14XzNpvBi6WNTuPHWZLNwoZ3hu6EErgDF\",\n        \"BPFLoaderUpgradeab1e11111111111111111111111\",\n        \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\"\n      ],\n      \"recentBlockhash\": \"8a9dbFCLnsQ6VyQXmXX15BnFwFsGHtEot3Cmiovdze8B\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0,\n            3\n          ],\n          \"data\": \"6vx8P\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      213259159480,\n      6670665840,\n      1,\n      0\n    ],\n    \"postBalances\": [\n      213259154480,\n      6670665840,\n      1,\n      0\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]\",\n      \"New authority Some(2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ)\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 2370\n  },\n  \"blockTime\": 1761071444,\n  \"slot\": 416157054\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-20-deploy-mcm/patches/eip712.patch",
    "content": "diff --git a/chains/solana/contracts/programs/mcm/src/eip712.rs b/chains/solana/contracts/programs/mcm/src/eip712.rs\nnew file mode 100644\nindex 00000000..87b20002\n--- /dev/null\n+++ b/chains/solana/contracts/programs/mcm/src/eip712.rs\n@@ -0,0 +1,268 @@\n+//! # EIP-712 Typed Structured Data Hashing\n+//!\n+//! This module implements EIP-712 typed structured data hashing for Ethereum-compatible\n+//! signature verification.\n+//!\n+//! ## Domain Separator\n+//!\n+//! The domain separator uniquely identifies this contract instance and prevents\n+//! signature replay attacks across different chains or contracts:\n+//!\n+//! - **name**: \"ManyChainMultiSig\" - The contract name\n+//! - **version**: \"1\" - The contract version\n+//! - **chainId**: Solana chain identifier (e.g., hash of \"solana:localnet\")\n+//! - **verifyingContract**: `address(0)` - Not applicable for Solana\n+//! - **salt**: The Solana Program ID (32 bytes) - Uniquely identifies this program instance\n+//!\n+//! ## Message Structure\n+//!\n+//! Users sign a `RootValidation` message containing:\n+//! - **root**: The 32-byte Merkle root of operations\n+//! - **validUntil**: Timestamp (uint32) until which the root is valid\n+\n+use anchor_lang::prelude::*;\n+use anchor_lang::solana_program::keccak::{hashv, Hash, HASH_BYTES};\n+\n+/// EIP-712 domain name for the ManyChainMultiSig contract\n+pub const EIP712_DOMAIN_NAME: &str = \"ManyChainMultiSig\";\n+\n+/// EIP-712 domain version\n+pub const EIP712_DOMAIN_VERSION: &str = \"1\";\n+\n+/// Type hash for EIP712Domain\n+/// keccak256(\"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract,bytes32 salt)\")\n+pub const EIP712_DOMAIN_TYPE_HASH: &[u8; HASH_BYTES] = &[\n+    0xd8, 0x7c, 0xd6, 0xef, 0x79, 0xd4, 0xe2, 0xb9, 0x5e, 0x15, 0xce, 0x8a, 0xbf, 0x73, 0x2d, 0xb5,\n+    0x1e, 0xc7, 0x71, 0xf1, 0xca, 0x2e, 0xdc, 0xcf, 0x22, 0xa4, 0x6c, 0x72, 0x9a, 0xc5, 0x64, 0x72,\n+];\n+\n+/// Type hash for RootValidation message\n+/// keccak256(\"RootValidation(bytes32 root,uint32 validUntil)\")\n+pub const ROOT_VALIDATION_TYPE_HASH: &[u8; HASH_BYTES] = &[\n+    0x07, 0x02, 0x19, 0xd6, 0x56, 0xf4, 0x72, 0x71, 0xfe, 0x6e, 0x2e, 0x8c, 0xff, 0x49, 0x55, 0xfe,\n+    0xcb, 0xca, 0xb4, 0xc9, 0x42, 0x22, 0x83, 0x09, 0xe9, 0x0a, 0xae, 0x20, 0xbd, 0x1f, 0xa8, 0x95,\n+];\n+\n+/// Hash of the domain name \"ManyChainMultiSig\"\n+/// keccak256(\"ManyChainMultiSig\")\n+pub const EIP712_DOMAIN_NAME_HASH: &[u8; HASH_BYTES] = &[\n+    0x62, 0x7b, 0x9a, 0x5c, 0xae, 0x29, 0x68, 0x84, 0x2a, 0x54, 0x1a, 0x6b, 0xa8, 0x61, 0xa7, 0x15,\n+    0x0a, 0xb5, 0xec, 0x3c, 0x42, 0x02, 0xa6, 0x24, 0xbc, 0xa4, 0x6b, 0xff, 0x04, 0x11, 0xce, 0x9a,\n+];\n+\n+/// Hash of the domain version \"1\"\n+/// keccak256(\"1\")\n+pub const EIP712_DOMAIN_VERSION_HASH: &[u8; HASH_BYTES] = &[\n+    0xc8, 0x9e, 0xfd, 0xaa, 0x54, 0xc0, 0xf2, 0x0c, 0x7a, 0xdf, 0x61, 0x28, 0x82, 0xdf, 0x09, 0x50,\n+    0xf5, 0xa9, 0x51, 0x63, 0x7e, 0x03, 0x07, 0xcd, 0xcb, 0x4c, 0x67, 0x2f, 0x29, 0x8b, 0x8b, 0xc6,\n+];\n+\n+/// Computes the EIP-712 message hash for root validation.\n+///\n+/// This is the final hash that gets signed by the user. It follows the EIP-712\n+/// format: `keccak256(\"\\x19\\x01\" || domainSeparator || structHash)`\n+///\n+/// # Parameters\n+///\n+/// - `root`: The 32-byte Merkle root\n+/// - `valid_until`: Timestamp until which the root is valid\n+/// - `chain_id`: The chain identifier\n+/// - `program_id`: The Solana Program ID\n+///\n+/// # Returns\n+///\n+/// - The 32-byte message hash ready for ECDSA verification\n+pub fn compute_message_hash(\n+    root: &[u8; HASH_BYTES],\n+    valid_until: u32,\n+    chain_id: u64,\n+    program_id: &Pubkey,\n+) -> Hash {\n+    let domain_separator = compute_domain_hash(chain_id, program_id);\n+    let struct_hash = compute_struct_hash(root, valid_until);\n+\n+    hashv(&[\n+        b\"\\x19\\x01\",\n+        &domain_separator.to_bytes(),\n+        &struct_hash.to_bytes(),\n+    ])\n+}\n+\n+/// Computes the EIP-712 domain separator hash.\n+///\n+/// The domain separator ensures that signatures are unique to this specific\n+/// contract instance and chain, preventing replay attacks.\n+///\n+/// # Parameters\n+///\n+/// - `chain_id`: The chain identifier (e.g., keccak256(\"solana:localnet\"))\n+/// - `program_id`: The Solana Program ID (32 bytes), used as the salt\n+///\n+/// # Returns\n+///\n+/// - The 32-byte domain separator hash\n+pub fn compute_domain_hash(chain_id: u64, program_id: &Pubkey) -> Hash {\n+    // Chain ID as bytes32 (big-endian, left-padded)\n+    let chain_id_bytes = left_pad_to_32(&chain_id.to_be_bytes());\n+\n+    // Verifying contract = address(0) = 20 zero bytes, left-padded to 32 bytes\n+    let verifying_contract = [0u8; 32];\n+\n+    // Salt = Program ID (32 bytes)\n+    let salt = program_id.to_bytes();\n+\n+    hashv(&[\n+        EIP712_DOMAIN_TYPE_HASH,\n+        EIP712_DOMAIN_NAME_HASH,\n+        EIP712_DOMAIN_VERSION_HASH,\n+        &chain_id_bytes,\n+        &verifying_contract,\n+        &salt,\n+    ])\n+}\n+\n+/// Computes the EIP-712 struct hash for a RootValidation message.\n+///\n+/// # Parameters\n+///\n+/// - `root`: The 32-byte Merkle root\n+/// - `valid_until`: Timestamp until which the root is valid\n+///\n+/// # Returns\n+///\n+/// - The 32-byte struct hash\n+pub fn compute_struct_hash(root: &[u8; HASH_BYTES], valid_until: u32) -> Hash {\n+    // valid_until as bytes32 (big-endian, left-padded)\n+    let valid_until_bytes = left_pad_to_32(&valid_until.to_be_bytes());\n+\n+    hashv(&[ROOT_VALIDATION_TYPE_HASH, root, &valid_until_bytes])\n+}\n+\n+/// Left-pads a byte array to 32 bytes with zeros.\n+///\n+/// # Parameters\n+///\n+/// - `input`: The input byte array\n+///\n+/// # Returns\n+///\n+/// - A 32-byte array with the input left-padded with zeros\n+fn left_pad_to_32(input: &[u8]) -> [u8; 32] {\n+    let mut padded = [0u8; 32];\n+    let start = 32 - input.len();\n+    padded[start..].copy_from_slice(input);\n+    padded\n+}\n+\n+#[cfg(test)]\n+mod tests {\n+    use super::*;\n+    use anchor_lang::solana_program::keccak::hash;\n+\n+    // Last 8 bytes of keccak256(\"solana:localnet\") as big-endian\n+    const CHAIN_ID: u64 = 5190648258797659666;\n+\n+    fn decode32(s: &str) -> [u8; HASH_BYTES] {\n+        hex::decode(s).unwrap().try_into().unwrap()\n+    }\n+\n+    #[test]\n+    fn verify_domain_type_hash() {\n+        let expected = hash(b\"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract,bytes32 salt)\");\n+        assert_eq!(&expected.to_bytes(), EIP712_DOMAIN_TYPE_HASH);\n+    }\n+\n+    #[test]\n+    fn verify_domain_name_hash() {\n+        let expected = hash(EIP712_DOMAIN_NAME.as_bytes());\n+        assert_eq!(&expected.to_bytes(), EIP712_DOMAIN_NAME_HASH);\n+    }\n+\n+    #[test]\n+    fn verify_domain_version_hash() {\n+        let expected = hash(EIP712_DOMAIN_VERSION.as_bytes());\n+        assert_eq!(&expected.to_bytes(), EIP712_DOMAIN_VERSION_HASH);\n+    }\n+\n+    #[test]\n+    fn verify_root_validation_type_hash() {\n+        let expected = hash(b\"RootValidation(bytes32 root,uint32 validUntil)\");\n+        assert_eq!(&expected.to_bytes(), ROOT_VALIDATION_TYPE_HASH);\n+    }\n+\n+    #[test]\n+    fn test_left_pad_to_32() {\n+        let input = [1, 2, 3, 4];\n+        let result = left_pad_to_32(&input);\n+        let expected: [u8; 32] = [\n+            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,\n+            2, 3, 4,\n+        ];\n+        assert_eq!(result, expected);\n+    }\n+\n+    #[test]\n+    fn test_compute_domain_hash() {\n+        let program_id = Pubkey::new_from_array(decode32(\n+            \"b870e12dd379891561d2e9fa8f26431834eb736f2f24fc2a2a4dff1fd5dca4df\",\n+        ));\n+\n+        let domain_hash = compute_domain_hash(CHAIN_ID, &program_id);\n+\n+        // The domain hash should be deterministic\n+        // We'll verify it matches the expected structure by recomputing\n+        let name_hash = hash(EIP712_DOMAIN_NAME.as_bytes());\n+        let version_hash = hash(EIP712_DOMAIN_VERSION.as_bytes());\n+        let chain_id_bytes = left_pad_to_32(&CHAIN_ID.to_be_bytes());\n+        let verifying_contract = [0u8; 32];\n+        let salt = program_id.to_bytes();\n+\n+        let expected = hashv(&[\n+            EIP712_DOMAIN_TYPE_HASH,\n+            &name_hash.to_bytes(),\n+            &version_hash.to_bytes(),\n+            &chain_id_bytes,\n+            &verifying_contract,\n+            &salt,\n+        ]);\n+\n+        assert_eq!(domain_hash.to_bytes(), expected.to_bytes());\n+    }\n+\n+    #[test]\n+    fn test_compute_struct_hash() {\n+        let root = decode32(\"d5ef592d1ad183db43b4980d7ab7ee43a6f6a284988c3e3a23d38c07beb520c7\");\n+        let valid_until: u32 = 1748317727;\n+\n+        let struct_hash = compute_struct_hash(&root, valid_until);\n+\n+        // Verify the structure\n+        let valid_until_bytes = left_pad_to_32(&valid_until.to_be_bytes());\n+        let expected = hashv(&[ROOT_VALIDATION_TYPE_HASH, &root, &valid_until_bytes]);\n+\n+        assert_eq!(struct_hash.to_bytes(), expected.to_bytes());\n+    }\n+\n+    #[test]\n+    fn test_compute_message_hash() {\n+        let root = decode32(\"d5ef592d1ad183db43b4980d7ab7ee43a6f6a284988c3e3a23d38c07beb520c7\");\n+        let valid_until: u32 = 1748317727;\n+        let program_id = Pubkey::new_from_array(decode32(\n+            \"b870e12dd379891561d2e9fa8f26431834eb736f2f24fc2a2a4dff1fd5dca4df\",\n+        ));\n+\n+        let message_hash = compute_message_hash(&root, valid_until, CHAIN_ID, &program_id);\n+\n+        // Verify it follows EIP-712 format: \\x19\\x01 || domainSeparator || structHash\n+        let domain_separator = compute_domain_hash(CHAIN_ID, &program_id);\n+        let struct_hash = compute_struct_hash(&root, valid_until);\n+\n+        let expected = hashv(&[\n+            b\"\\x19\\x01\",\n+            &domain_separator.to_bytes(),\n+            &struct_hash.to_bytes(),\n+        ]);\n+\n+        assert_eq!(message_hash.to_bytes(), expected.to_bytes());\n+    }\n+}\ndiff --git a/chains/solana/contracts/programs/mcm/src/eth_utils.rs b/chains/solana/contracts/programs/mcm/src/eth_utils.rs\nindex 7b030cda..eaf3b666 100644\n--- a/chains/solana/contracts/programs/mcm/src/eth_utils.rs\n+++ b/chains/solana/contracts/programs/mcm/src/eth_utils.rs\n@@ -14,7 +14,7 @@\n //!\n //! These separators ensure that hashes for different purposes cannot be reused or confused.\n use anchor_lang::prelude::*;\n-use anchor_lang::solana_program::keccak::{hash, hashv, Hash, HASH_BYTES}; // use keccak256 for EVM compatibility\n+use anchor_lang::solana_program::keccak::{hash, hashv, HASH_BYTES}; // use keccak256 for EVM compatibility\n use anchor_lang::solana_program::secp256k1_recover::{\n     secp256k1_recover, Secp256k1Pubkey, Secp256k1RecoverError,\n };\n@@ -54,7 +54,7 @@ pub const EVM_ADDRESS_BYTES: usize = 20;\n ///\n /// # Parameters\n ///\n-/// - `eth_signed_msg_hash`: 32-byte hash of the Ethereum signed message\n+/// - `eth_signed_msg_hash`: 32-byte EIP-712 message hash\n /// - `sig`: The ECDSA signature containing v, r, s components\n ///\n /// # Returns\n@@ -81,30 +81,6 @@ pub fn ecdsa_recover_evm_addr(\n     Ok(evm_addr)\n }\n \n-/// Computes the Ethereum-compatible message hash for root validation.\n-///\n-/// Creates a hash that matches Ethereum's personal sign message format:\n-/// \"\\x19Ethereum Signed Message:\\n32\" + keccak256(root || valid_until)\n-///\n-/// # Parameters\n-///\n-/// - `root`: The 32-byte Merkle root\n-/// - `valid_until`: Timestamp until which the root is valid\n-///\n-/// # Returns\n-///\n-/// - The 32-byte message hash ready for ECDSA verification\n-pub fn compute_eth_message_hash(root: &[u8; HASH_BYTES], valid_until: u32) -> Hash {\n-    // Use big-endian encoding for EVM compatibility\n-    let valid_until_bytes = left_pad_vec(&valid_until.to_be_bytes());\n-    let hashed_encoded_params = hashv(&[root, &valid_until_bytes]);\n-\n-    hashv(&[\n-        b\"\\x19Ethereum Signed Message:\\n32\",\n-        &hashed_encoded_params.to_bytes(),\n-    ])\n-}\n-\n /// Calculates a Merkle root from a leaf node and a proof path.\n ///\n /// This function iteratively combines a leaf hash with the provided proof elements\n@@ -392,23 +368,6 @@ mod tests {\n         }\n     }\n \n-    mod test_compute_eth_message_hash {\n-        use super::*;\n-\n-        #[test]\n-        fn basic() {\n-            let root =\n-                &decode32(\"d5ef592d1ad183db43b4980d7ab7ee43a6f6a284988c3e3a23d38c07beb520c7\");\n-            let valid_until: u32 = 1748317727;\n-\n-            let result = compute_eth_message_hash(root, valid_until);\n-\n-            assert_eq!(\n-                result.to_bytes(),\n-                decode32(\"032705bd71839baef725154f00f87ddcc1d95c4b5189c9fb5983f26ad6c95102\")\n-            );\n-        }\n-    }\n \n     mod test_hash_leaf {\n         use super::*;\ndiff --git a/chains/solana/contracts/programs/mcm/src/instructions/set_root.rs b/chains/solana/contracts/programs/mcm/src/instructions/set_root.rs\nindex 5d5167d4..8cbce01c 100644\n--- a/chains/solana/contracts/programs/mcm/src/instructions/set_root.rs\n+++ b/chains/solana/contracts/programs/mcm/src/instructions/set_root.rs\n@@ -2,6 +2,7 @@ use anchor_lang::prelude::*;\n \n use crate::config::MultisigConfig;\n use crate::constant::*;\n+use crate::eip712;\n use crate::error::*;\n use crate::eth_utils::*;\n use crate::event::*;\n@@ -20,12 +21,13 @@ pub fn set_root(\n         McmError::SignedHashAlreadySeen\n     );\n \n-    // verify ECDSA signatures on (root, validUntil) and ensure that the root group is successful\n+    // verify EIP-712 ECDSA signatures on (root, validUntil) and ensure that the root group is successful\n     verify_ecdsa_signatures(\n         &ctx.accounts.root_signatures.signatures,\n         &ctx.accounts.multisig_config,\n         &root,\n         valid_until,\n+        ctx.program_id,\n     )?;\n \n     require!(\n@@ -114,8 +116,10 @@ fn verify_ecdsa_signatures(\n     multisig_config: &MultisigConfig,\n     root: &[u8; 32],\n     valid_until: u32,\n+    program_id: &Pubkey,\n ) -> Result<()> {\n-    let signed_hash = compute_eth_message_hash(root, valid_until);\n+    let signed_hash =\n+        eip712::compute_message_hash(root, valid_until, multisig_config.chain_id, program_id);\n     let mut previous_addr: [u8; EVM_ADDRESS_BYTES] = [0; EVM_ADDRESS_BYTES];\n     let mut group_vote_counts: [u8; NUM_GROUPS] = [0; NUM_GROUPS];\n \ndiff --git a/chains/solana/contracts/programs/mcm/src/lib.rs b/chains/solana/contracts/programs/mcm/src/lib.rs\nindex 88f855e8..a2e1d0b3 100644\n--- a/chains/solana/contracts/programs/mcm/src/lib.rs\n+++ b/chains/solana/contracts/programs/mcm/src/lib.rs\n@@ -19,6 +19,9 @@ pub use state::*;\n mod eth_utils;\n use eth_utils::*;\n \n+mod eip712;\n+pub use eip712::*;\n+\n mod instructions;\n use instructions::*;\n \n"
  },
  {
    "path": "solana/devnet/2025-10-20-deploy-mcm/patches/invoke_signed.patch",
    "content": "diff --git a/chains/solana/contracts/programs/mcm/src/instructions/execute.rs b/chains/solana/contracts/programs/mcm/src/instructions/execute.rs\nindex 155b1a71..b550e7fe 100644\n--- a/chains/solana/contracts/programs/mcm/src/instructions/execute.rs\n+++ b/chains/solana/contracts/programs/mcm/src/instructions/execute.rs\n@@ -93,6 +93,13 @@ pub fn execute<'info>(\n \n     invoke_signed(&instruction, acc_infos, signer)?;\n \n+    // If the CPI modified any typed accounts present in this outer context\n+    // (e.g., calling `accept_ownership` which updates `multisig_config`),\n+    // reload them to avoid Anchor writing back the stale outer copy on exit.\n+    ctx.accounts.multisig_config.reload()?;\n+    ctx.accounts.root_metadata.reload()?;\n+    ctx.accounts.expiring_root_and_op_count.reload()?;\n+\n     emit!(OpExecuted {\n         nonce,\n         to: instruction.program_id,\n"
  },
  {
    "path": "solana/devnet/2025-10-22-mcm-upgrade/.gitignore",
    "content": "chainlink-ccip/\n"
  },
  {
    "path": "solana/devnet/2025-10-22-mcm-upgrade/FACILITATORS.md",
    "content": "# Facilitator Instructions: MCM Program Upgrade\n\n## Overview\n\nAs a Facilitator, you are responsible for:\n1. Preparing the program buffer\n2. Creating the MCM proposal\n3. Committing and pushing the proposal to the repo\n4. Coordinating with Signers\n5. Collecting signatures\n6. Executing the proposal on-chain\n\n## Prerequisites\n\n```bash\ncd contract-deployments\ngit pull\ncd solana/devnet/2025-10-22-mcm-upgrade\nmake deps\n```\n\nEnsure you have:\n- Solana CLI installed and configured\n- `mcmctl` installed (via `make deps`)\n- `eip712sign` installed (via `make deps`)\n- A funded Solana wallet configured\n- The compiled program binary (`.so` file) ready\n\n## Phase 1: Prepare the Program Buffer\n\n### 1.1. Obtain the compiled program\n\nGet the compiled program binary (`.so` file) that contains the new version of the program.\n\n### 1.2. Update .env for buffer upload\n\nSet the following in `.env`:\n\n```bash\nPROGRAM=<program-address>\nPROGRAM_BINARY=<path-to-.so-file>\n```\n\n### 1.3. Write buffer\n\n```bash\nmake write-buffer\n```\n\nThis will output a buffer address. Copy it.\n\n### 1.4. Update .env and transfer buffer authority\n\nSet the following in `.env`:\n\n```bash\nBUFFER=<buffer-address-from-write-buffer>\nMCM_AUTHORITY=<mcm-authority-pda>\nSPILL=<your-wallet-address>\n```\n\nThen transfer buffer authority to MCM:\n\n```bash\nmake transfer-buffer\n```\n\nThe buffer is now controlled by the MCM authority.\n\n## Phase 2: Create and Commit MCM Proposal\n\n### 2.1. Update .env for proposal generation\n\nSet the following in `.env`:\n\n```bash\nMCM_PROGRAM_ID=<mcm-program-id>\nMCM_MULTISIG_ID=<multisig-id>\nMCM_VALID_UNTIL=<unix-timestamp>\nMCM_OVERRIDE_PREVIOUS_ROOT=false  # or true if needed\nMCM_PROPOSAL_OUTPUT=proposal.json\n```\n\n### 2.2. Generate proposal\n\n```bash\nmake mcm-proposal\n```\n\nThis creates the proposal file (default `proposal.json` or whatever is set in `MCM_PROPOSAL_OUTPUT`).\n\n### 2.3. Review proposal\n\nOpen and review the generated proposal file to verify:\n- Program address matches `PROGRAM`\n- Buffer address matches `BUFFER`\n- Spill address is correct\n- Valid until timestamp is appropriate\n- All instructions are correct\n\n### 2.4. Commit and push\n\n```bash\ngit add .\ngit commit -m \"Add MCM program upgrade proposal for <program-name>\"\ngit push\n```\n\n## Phase 3: Coordinate with Signers and Collect Signatures\n\nCoordinate with Signers to collect their signatures. Each Signer will run `make mcm-sign` and provide their signature.\n\nConcatenate all signatures in the format: `0xSIG1,0xSIG2,0xSIG3`\n\nOnce you have all required signatures, update `.env`:\n\n```bash\nMCM_SIGNATURES_COUNT=<number-of-signatures>\nMCM_SIGNATURES=0xSIG1,0xSIG2,0xSIG3\n```\n\n## Phase 4: Execute Proposal\n\n```bash\nmake mcm-all\n```\n\nThis command executes all the necessary steps:\n- Initialize signatures account\n- Append signatures\n- Finalize signatures\n- Set root\n- Execute proposal\n\n## Phase 5: Verification\n\n### 5.1. Verify program on Solana Explorer\n\nVisit the Solana Explorer for your network:\n- Mainnet: https://explorer.solana.com/\n- Devnet: https://explorer.solana.com/?cluster=devnet\n\nSearch for the program address (`$PROGRAM`) and verify:\n- The \"Last Deployed Slot\" is recent\n- The upgrade authority is still `MCM_AUTHORITY`\n- The execution transaction is visible in history\n\n### 5.2. Update README\n\nUpdate the Status line in README.md to:\n\n```markdown\nStatus: [EXECUTED](https://explorer.solana.com/tx/<transaction-signature>?cluster=<network>)\n```\n\nReplace `<transaction-signature>` with the execution transaction signature and `<network>` with the appropriate cluster (devnet, mainnet-beta, etc.).\n"
  },
  {
    "path": "solana/devnet/2025-10-22-mcm-upgrade/Makefile",
    "content": "include ../.env\ninclude .env\n\ninclude ../../Makefile\n\n##\n# Project Setup\n##\n\n.PHONY: install-rust\ninstall-rust:\n\tcurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y\n\n.PHONY: install-solana-cli\ninstall-solana-cli:\n\tcurl -sSfL https://release.anza.xyz/v$(SOLANA_VERSION)/install | sh\n\n.PHONY: install-anchor\ninstall-anchor:\n\tcargo install --git https://github.com/coral-xyz/anchor --tag v$(ANCHOR_VERSION) anchor-cli --force\n\n.PHONY: setup-deps\nsetup-deps: install-rust install-solana-cli install-anchor\n\n##\n# MCM Program Upgrade Workflow\n##\n\n# Step 1: Clone and patch the MCM program\n.PHONY: step1-clone-patch-and-build\nstep1-clone-patch-and-build:\n\t@echo \"==> Step 1: Cloning and patching the MCM program...\"\n\trm -rf chainlink-ccip\n\tgit clone --filter=blob:none $(MCM_REPO) chainlink-ccip\n\tcd chainlink-ccip && \\\n\t\tgit checkout $(MCM_AUDITED_COMMIT) && \\\n\t\tgit apply ../$(INVOKE_SIGNED_PATCH) && \\\n\t\tgit apply ../$(EIP712_PATCH) && \\\n\t\tgit apply ../$(SIMPLIFY_EIP712_PATCH) && \\\n\t\tgit apply ../$(ID_PATCH)\n\tcd chainlink-ccip/chains/solana/contracts && \\\n\t\tanchor build -p mcm\n\n# Step 2: Write program buffer\n.PHONY: step2-write-buffer\nstep2-write-buffer:\n\t@echo \"==> Step 2: Writing program buffer...\"\n\tmake sol-write-buffer\n\n# Step 3: Transfer buffer authority to MCM\n.PHONY: step3-transfer-buffer\nstep3-transfer-buffer:\n\t@echo \"==> Step 2: Transferring buffer authority to MCM...\"\n\tmake sol-set-buffer-authority\n\n# Step 3.5: Generate set-buffer-authority artifacts (use solana explorer to get the signature of the set-buffer-authority tx)\n.PHONY: step3.5-generate-set-buffer-authority-artifacts\nstep3.5-generate-set-buffer-authority-artifacts:\n\t@echo \"==> Step 3.5: Generating MCM set-buffer-authority artifacts...\"\n\tmake sol-confirm SIG=$(SET_BUFFER_AUTHORITY_SIGNATURE) output=artifacts/set-buffer-authority-artifacts.json\n\n# Step 4: Create upgrade proposal\n.PHONY: step4-create-proposal\nstep4-create-proposal:\n\t@echo \"==> Step 4: Creating MCM upgrade proposal...\"\n\tmake mcm-proposal-loader-v3-upgrade\n\n# Step 5: Sign proposal\n.PHONY: sign\nsign:\n\t@echo \"==> Step 5: Signing proposal...\"\n\tmake mcm-sign\n\n# Step 6: Execute proposal (signatures + set-root + execute)\n.PHONY: step6-execute-proposal\nstep6-execute-proposal:\n\t@echo \"==> Step 6: Executing MCM proposal...\"\n\tmake mcm-signatures-all\n\tmake mcm-proposal-all\n"
  },
  {
    "path": "solana/devnet/2025-10-22-mcm-upgrade/README.md",
    "content": "# MCM Program Upgrade via Multi-Chain Multisig\n\nStatus: [EXECUTED](https://solscan.io/tx/5cqjb6boxTizf75bUGRxfRt3sna7VxehDnW1dsy7FhzdPsBhimrrXdP2TUMxz1VXEkHGv2nsqb53tujEKHBR5UXJ?cluster=devnet)\n\n## Description\n\nThis task upgrades a Solana program using the Multi-Chain Multisig (MCM) governance system. The upgrade is performed by uploading a new program buffer and creating an MCM proposal that, once signed and executed, will upgrade the program to the new version.\n\n## Procedure for Signers\n\n### 1. Update repo\n\n```bash\ncd contract-deployments\ngit pull\ncd solana/devnet/2025-10-22-mcm-upgrade\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The **Ethereum application** needs to be opened on Ledger with the message \"Application is ready\".\n\n### 3. Review the proposal\n\nThe Facilitator will provide you with the proposal details. Review:\n- Program being upgraded: `PROGRAM`\n- Buffer address: `BUFFER`\n- MCM Program ID: `MCM_PROGRAM_ID`\n- Valid until timestamp: `MCM_VALID_UNTIL`\n\nThese values are in the `.env` file and the generated `proposal.json`.\n\n### 4. Sign the proposal\n\n```bash\nmake sign\n```\n\nThis command will:\n1. Display the proposal hash\n2. Prompt you to sign on your Ledger\n3. Output your signature\n\n**Verify on your Ledger**: Check that the data you're signing matches the proposal hash displayed in the terminal.\n\nAfter signing, you will see output like:\n\n```\nSignature: 1234567890abcdef...\n```\n\n### 5. Send signature to Facilitator\n\nCopy the **entire signature** and send it to the Facilitator via your secure communication channel.\n\n**That's it!** The Facilitator will collect all signatures and execute the proposal.\n\n## For Facilitators\n\nSee [FACILITATORS.md](./FACILITATORS.md) for complete instructions on preparing, executing, and verifying this task.\n"
  },
  {
    "path": "solana/devnet/2025-10-22-mcm-upgrade/artifacts/mcm-proposal-execute.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"5cqjb6boxTizf75bUGRxfRt3sna7VxehDnW1dsy7FhzdPsBhimrrXdP2TUMxz1VXEkHGv2nsqb53tujEKHBR5UXJ\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 5\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n        \"9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN\",\n        \"Ca93fFb5tQR14XzNpvBi6WNTuPHWZLNwoZ3hu6EErgDF\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\",\n        \"FsfzjZQu5MUAuZybaNNEkQbbzgKExUdGNFEbTohBGJGn\",\n        \"AFs1LCbodhvwpgX3u3URLsud6R1XMSaMiQ5LtXw4GKYT\",\n        \"DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S\",\n        \"BPFLoaderUpgradeab1e11111111111111111111111\",\n        \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\",\n        \"SysvarRent111111111111111111111111111111111\",\n        \"SysvarC1ock11111111111111111111111111111111\"\n      ],\n      \"recentBlockhash\": \"38XcLeeoHPdjbSrV65cojkGoit5yEAuPrvndH1TWY3g7\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 4,\n          \"accounts\": [\n            1,\n            7,\n            2,\n            8,\n            9,\n            0,\n            3,\n            4,\n            5,\n            6,\n            10,\n            11,\n            9\n          ],\n          \"data\": \"65zRtZe3ydJWJeJJEUXq3RVmLzRGFdSm94DUpibi5UNcLWiV78xjAha9DLJrUHx7qbdjn514ix9CUwqJmkfRGBimoMCqfa4Gz6EPLBHCDMt71vhiXhgdgTG7FAy6p5XwZR7Ds32gb\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      197831196360,\n      4134240,\n      1252800,\n      6670665840,\n      1141440,\n      3335600880,\n      0,\n      1343280,\n      1,\n      0,\n      1009200,\n      1169280\n    ],\n    \"postBalances\": [\n      197831191360,\n      4134240,\n      1252800,\n      6670665840,\n      1141440,\n      0,\n      3335600880,\n      1343280,\n      1,\n      0,\n      1009200,\n      1169280\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 8,\n            \"accounts\": [\n              3,\n              4,\n              5,\n              6,\n              10,\n              11,\n              9\n            ],\n            \"data\": \"5Sxr3\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: Execute\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [2]\",\n      \"Upgraded program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 success\",\n      \"Program data: 3Q/UHSP8/04AAAAAAAAAAAKo9pFOiKGw4hAVPvdjrisAwrk9FsEk0sBTehAEgAAABAAAAAMAAAA=\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 46411 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 46411\n  },\n  \"blockTime\": 1761166938,\n  \"slot\": 416405847\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-22-mcm-upgrade/artifacts/mcm-proposal-set-root.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"5rFJuhjr75g7a3QUpFMhLP8jx8UDCwXQzgCPTSeLq7hMZP43dbfpjwtJ6g8ZJGY1G1HukZkfAEMENSRLBo79mGB6\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 3\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"EFUdVAfnn9ij9e1hvNT71M5p8UXprbygDeJjJqHxJ2g5\",\n        \"DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S\",\n        \"DJysVC7pSfy3MyXzbzoJLaJmJB7GKovNdcHWJCWNpWt3\",\n        \"9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN\",\n        \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n        \"11111111111111111111111111111111\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"GB9gRdUJscxtv8GynFEd3sgNZx5YACUXvRY5ynaXPkj5\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 7,\n          \"accounts\": [\n            1,\n            2,\n            3,\n            4,\n            5,\n            0,\n            6\n          ],\n          \"data\": \"K9UBFxzzmUF86odsdKWb6A2fuzRXx1VQLqWaNmspdxDzEh8pmM5J9neQZEZR3y8kxx6CtAAWsGHBV5yReuG3gKYB27RtTWqs8HjJB2JvaFmKpMoSgaQsexExa8cRDYtpAmMFSkNnHuixnRJMF6g3gMnqujpFyoEGqd86zdapwJdTdHsMiSPto6A2rHEf47sC2fD1PC8UoGdTPhgoc4HGkpbiijYg1numZZhNUVp\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      197829809360,\n      2345520,\n      1343280,\n      0,\n      1252800,\n      4134240,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      197831196360,\n      0,\n      1343280,\n      953520,\n      1252800,\n      4134240,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 6,\n            \"accounts\": [\n              0,\n              3\n            ],\n            \"data\": \"11117UcthqATmHRa77Wg3s82tM6xxYxd7PiZ2oZ4h1ZRQ3Q6anaT7puATNmrGRBPnEn6Uh\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: SetRoot\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program data: 0hm7digqPXeiEXv4NnCvz1Ew1YhVTJrplnmwi/oRxOKsk15o/iywd2bb+WgAAAAAAAAAAFvuOPs7hiam+/CQoroqEyiPrjtrRaqBltmHvQYLpVUzAAAAAAAAAAABAAAAAAAAAAE=\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 103806 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 103806\n  },\n  \"blockTime\": 1761166922,\n  \"slot\": 416405807\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-22-mcm-upgrade/artifacts/mcm-signatures-append.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"2zp5tCzEb2BNMr2Gx8HEfqgiyR2eN25PeUS9wNaTqxzKZyPwo29uvVAJwb3USav2Cb9nu8cRsSe3kzpnn5Pc4yKr\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"EFUdVAfnn9ij9e1hvNT71M5p8UXprbygDeJjJqHxJ2g5\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"38p92JJpzW6862egpeCHWHZxbSqMnwzzQsmRSi6CP1QN\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"8JM1NbBrt3Xh3kxoE3gUoUhdacSAaBKUdPn3SULoy5MqoavKwgx6PuKEqS9qTRWTLgc99wkDGDT7QuyCsAZEZjWyxMFkaMXJiHU6QdAXAz6UCNdYjcduSB7hRtKcaQD3gN813g2QEcJt91iSKKHMF2TVCjoWDNZHdaCewfYVkU1a63yFtyZEg1fGdPkz4JjK9igmk2FWr2MQQLpDZAx8D3gV3e1a2fUsGDPEnE5oVmGsTTfgsYWkDBUhbdA8ZwajzvNBYqF8FcAYSsJ28w7VHu6Dr68PAAopfAR9rMz4n3uGQyGptM3iDxFkR4DCPVYhiDzbtjuYipCUFKpe7EdLtd47fxS6TD4zcfPBLjmo7ZwDQtfmsgbfLoCi\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      197829819360,\n      2345520,\n      1141440\n    ],\n    \"postBalances\": [\n      197829814360,\n      2345520,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: AppendSignatures\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 5385 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 5385\n  },\n  \"blockTime\": 1761166890,\n  \"slot\": 416405725\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-22-mcm-upgrade/artifacts/mcm-signatures-finalize.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"5ZawH4BBcXsruamXTZCbCsLB6wZv99chskN8A5vKUjSNXCkeSg5nXok4qmRoU6rhiqeJJjw1Qkp2rBxbkg7hyWWc\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"EFUdVAfnn9ij9e1hvNT71M5p8UXprbygDeJjJqHxJ2g5\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"6TcWNbNzh5RXTNdCt346f3sCh6rSPPozFYtiqvyRqwUj\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"8VPNxavkg2Yj38NCocv5Cq5gNj6AXt2M4QRQjqgjJnXPoyHsmdy1UZDwpKavh1NDtuwVLZ7CCkoCMiaSjRsyUV7vzNDUcG5c3apwhT7d\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      197829814360,\n      2345520,\n      1141440\n    ],\n    \"postBalances\": [\n      197829809360,\n      2345520,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: FinalizeSignatures\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 4570 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 4570\n  },\n  \"blockTime\": 1761166906,\n  \"slot\": 416405766\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-22-mcm-upgrade/artifacts/mcm-signatures-init.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"4ZjWAkFT1DnvpQFBwXSamAVZj9dzZqB3n5LKarCzq2ER5bb2rp9xjQiX1Uh7y7Ycxf6NseksJpm2DP8pDm6aNcf3\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"EFUdVAfnn9ij9e1hvNT71M5p8UXprbygDeJjJqHxJ2g5\",\n        \"11111111111111111111111111111111\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"6AKkLuvRUW5h1RE2uF9jBD5WAEbUxe5hP9L1LUN29dgt\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 3,\n          \"accounts\": [\n            1,\n            0,\n            2\n          ],\n          \"data\": \"2QCcPn6AhHR9Zi4mhnFE53M8tJopZFLmSWFEPUWVFoNxRRu5UeGEiNapoU3uXwA8PbB2M2QGckCq528r3jgRbfziiMtDpnyJW5dRr4ZYXC\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      197832169880,\n      0,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      197829819360,\n      2345520,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 2,\n            \"accounts\": [\n              0,\n              1\n            ],\n            \"data\": \"11112nodbJCN8fXPKGyCu9NpWW4Z1ZkxMmEywtSX6cwUwwiUiy2t2NJ1N7s3c1VyVFW6Sm\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: InitSignatures\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 7983 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 7983\n  },\n  \"blockTime\": 1761166874,\n  \"slot\": 416405684\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-22-mcm-upgrade/artifacts/set-buffer-authority-artifacts.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"5MH2pXrEmvoUepzVNfqWzJ5mVXyJn4T9b81yqFaK8T8QzW8quRAXoaATWqtaaaVXJ7hzmywaHFDwcAHj7EQ5EFEs\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"C4XSxK5zGw2ANbWQSURn6Cx4HaFiCxpmD6Nbb4T6szNu\",\n        \"BPFLoaderUpgradeab1e11111111111111111111111\",\n        \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\"\n      ],\n      \"recentBlockhash\": \"4qMgkLQCjsdT7VePSKroogZwptPehuzyLkeC5SrMGBY2\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0,\n            3\n          ],\n          \"data\": \"6vx8P\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      201171174280,\n      3335489520,\n      1,\n      0\n    ],\n    \"postBalances\": [\n      201171169280,\n      3335489520,\n      1,\n      0\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]\",\n      \"New authority Some(2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ)\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 2370\n  },\n  \"blockTime\": 1761126754,\n  \"slot\": 416301211\n}\n{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"4a2Wnni9JcVibkaoKKe27uXxMZ5sRK3nsWPj6tVs4kX86qt8kqeFbnzRDXYCdWBp1ruHUDzzoTq3FE5McKj19wJ\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"FsfzjZQu5MUAuZybaNNEkQbbzgKExUdGNFEbTohBGJGn\",\n        \"BPFLoaderUpgradeab1e11111111111111111111111\",\n        \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\"\n      ],\n      \"recentBlockhash\": \"Fi9ubHmNbQLy5iExs6bjM8Ri1nMrkVzivFx9hSXPwvia\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0,\n            3\n          ],\n          \"data\": \"6vx8P\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      197833148400,\n      3335600880,\n      1,\n      0\n    ],\n    \"postBalances\": [\n      197833143400,\n      3335600880,\n      1,\n      0\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]\",\n      \"New authority Some(2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ)\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 2370\n  },\n  \"blockTime\": 1761162972,\n  \"slot\": 416395524\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-22-mcm-upgrade/patches/eip712.patch",
    "content": "diff --git a/chains/solana/contracts/programs/mcm/src/eip712.rs b/chains/solana/contracts/programs/mcm/src/eip712.rs\nnew file mode 100644\nindex 00000000..87b20002\n--- /dev/null\n+++ b/chains/solana/contracts/programs/mcm/src/eip712.rs\n@@ -0,0 +1,268 @@\n+//! # EIP-712 Typed Structured Data Hashing\n+//!\n+//! This module implements EIP-712 typed structured data hashing for Ethereum-compatible\n+//! signature verification.\n+//!\n+//! ## Domain Separator\n+//!\n+//! The domain separator uniquely identifies this contract instance and prevents\n+//! signature replay attacks across different chains or contracts:\n+//!\n+//! - **name**: \"ManyChainMultiSig\" - The contract name\n+//! - **version**: \"1\" - The contract version\n+//! - **chainId**: Solana chain identifier (e.g., hash of \"solana:localnet\")\n+//! - **verifyingContract**: `address(0)` - Not applicable for Solana\n+//! - **salt**: The Solana Program ID (32 bytes) - Uniquely identifies this program instance\n+//!\n+//! ## Message Structure\n+//!\n+//! Users sign a `RootValidation` message containing:\n+//! - **root**: The 32-byte Merkle root of operations\n+//! - **validUntil**: Timestamp (uint32) until which the root is valid\n+\n+use anchor_lang::prelude::*;\n+use anchor_lang::solana_program::keccak::{hashv, Hash, HASH_BYTES};\n+\n+/// EIP-712 domain name for the ManyChainMultiSig contract\n+pub const EIP712_DOMAIN_NAME: &str = \"ManyChainMultiSig\";\n+\n+/// EIP-712 domain version\n+pub const EIP712_DOMAIN_VERSION: &str = \"1\";\n+\n+/// Type hash for EIP712Domain\n+/// keccak256(\"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract,bytes32 salt)\")\n+pub const EIP712_DOMAIN_TYPE_HASH: &[u8; HASH_BYTES] = &[\n+    0xd8, 0x7c, 0xd6, 0xef, 0x79, 0xd4, 0xe2, 0xb9, 0x5e, 0x15, 0xce, 0x8a, 0xbf, 0x73, 0x2d, 0xb5,\n+    0x1e, 0xc7, 0x71, 0xf1, 0xca, 0x2e, 0xdc, 0xcf, 0x22, 0xa4, 0x6c, 0x72, 0x9a, 0xc5, 0x64, 0x72,\n+];\n+\n+/// Type hash for RootValidation message\n+/// keccak256(\"RootValidation(bytes32 root,uint32 validUntil)\")\n+pub const ROOT_VALIDATION_TYPE_HASH: &[u8; HASH_BYTES] = &[\n+    0x07, 0x02, 0x19, 0xd6, 0x56, 0xf4, 0x72, 0x71, 0xfe, 0x6e, 0x2e, 0x8c, 0xff, 0x49, 0x55, 0xfe,\n+    0xcb, 0xca, 0xb4, 0xc9, 0x42, 0x22, 0x83, 0x09, 0xe9, 0x0a, 0xae, 0x20, 0xbd, 0x1f, 0xa8, 0x95,\n+];\n+\n+/// Hash of the domain name \"ManyChainMultiSig\"\n+/// keccak256(\"ManyChainMultiSig\")\n+pub const EIP712_DOMAIN_NAME_HASH: &[u8; HASH_BYTES] = &[\n+    0x62, 0x7b, 0x9a, 0x5c, 0xae, 0x29, 0x68, 0x84, 0x2a, 0x54, 0x1a, 0x6b, 0xa8, 0x61, 0xa7, 0x15,\n+    0x0a, 0xb5, 0xec, 0x3c, 0x42, 0x02, 0xa6, 0x24, 0xbc, 0xa4, 0x6b, 0xff, 0x04, 0x11, 0xce, 0x9a,\n+];\n+\n+/// Hash of the domain version \"1\"\n+/// keccak256(\"1\")\n+pub const EIP712_DOMAIN_VERSION_HASH: &[u8; HASH_BYTES] = &[\n+    0xc8, 0x9e, 0xfd, 0xaa, 0x54, 0xc0, 0xf2, 0x0c, 0x7a, 0xdf, 0x61, 0x28, 0x82, 0xdf, 0x09, 0x50,\n+    0xf5, 0xa9, 0x51, 0x63, 0x7e, 0x03, 0x07, 0xcd, 0xcb, 0x4c, 0x67, 0x2f, 0x29, 0x8b, 0x8b, 0xc6,\n+];\n+\n+/// Computes the EIP-712 message hash for root validation.\n+///\n+/// This is the final hash that gets signed by the user. It follows the EIP-712\n+/// format: `keccak256(\"\\x19\\x01\" || domainSeparator || structHash)`\n+///\n+/// # Parameters\n+///\n+/// - `root`: The 32-byte Merkle root\n+/// - `valid_until`: Timestamp until which the root is valid\n+/// - `chain_id`: The chain identifier\n+/// - `program_id`: The Solana Program ID\n+///\n+/// # Returns\n+///\n+/// - The 32-byte message hash ready for ECDSA verification\n+pub fn compute_message_hash(\n+    root: &[u8; HASH_BYTES],\n+    valid_until: u32,\n+    chain_id: u64,\n+    program_id: &Pubkey,\n+) -> Hash {\n+    let domain_separator = compute_domain_hash(chain_id, program_id);\n+    let struct_hash = compute_struct_hash(root, valid_until);\n+\n+    hashv(&[\n+        b\"\\x19\\x01\",\n+        &domain_separator.to_bytes(),\n+        &struct_hash.to_bytes(),\n+    ])\n+}\n+\n+/// Computes the EIP-712 domain separator hash.\n+///\n+/// The domain separator ensures that signatures are unique to this specific\n+/// contract instance and chain, preventing replay attacks.\n+///\n+/// # Parameters\n+///\n+/// - `chain_id`: The chain identifier (e.g., keccak256(\"solana:localnet\"))\n+/// - `program_id`: The Solana Program ID (32 bytes), used as the salt\n+///\n+/// # Returns\n+///\n+/// - The 32-byte domain separator hash\n+pub fn compute_domain_hash(chain_id: u64, program_id: &Pubkey) -> Hash {\n+    // Chain ID as bytes32 (big-endian, left-padded)\n+    let chain_id_bytes = left_pad_to_32(&chain_id.to_be_bytes());\n+\n+    // Verifying contract = address(0) = 20 zero bytes, left-padded to 32 bytes\n+    let verifying_contract = [0u8; 32];\n+\n+    // Salt = Program ID (32 bytes)\n+    let salt = program_id.to_bytes();\n+\n+    hashv(&[\n+        EIP712_DOMAIN_TYPE_HASH,\n+        EIP712_DOMAIN_NAME_HASH,\n+        EIP712_DOMAIN_VERSION_HASH,\n+        &chain_id_bytes,\n+        &verifying_contract,\n+        &salt,\n+    ])\n+}\n+\n+/// Computes the EIP-712 struct hash for a RootValidation message.\n+///\n+/// # Parameters\n+///\n+/// - `root`: The 32-byte Merkle root\n+/// - `valid_until`: Timestamp until which the root is valid\n+///\n+/// # Returns\n+///\n+/// - The 32-byte struct hash\n+pub fn compute_struct_hash(root: &[u8; HASH_BYTES], valid_until: u32) -> Hash {\n+    // valid_until as bytes32 (big-endian, left-padded)\n+    let valid_until_bytes = left_pad_to_32(&valid_until.to_be_bytes());\n+\n+    hashv(&[ROOT_VALIDATION_TYPE_HASH, root, &valid_until_bytes])\n+}\n+\n+/// Left-pads a byte array to 32 bytes with zeros.\n+///\n+/// # Parameters\n+///\n+/// - `input`: The input byte array\n+///\n+/// # Returns\n+///\n+/// - A 32-byte array with the input left-padded with zeros\n+fn left_pad_to_32(input: &[u8]) -> [u8; 32] {\n+    let mut padded = [0u8; 32];\n+    let start = 32 - input.len();\n+    padded[start..].copy_from_slice(input);\n+    padded\n+}\n+\n+#[cfg(test)]\n+mod tests {\n+    use super::*;\n+    use anchor_lang::solana_program::keccak::hash;\n+\n+    // Last 8 bytes of keccak256(\"solana:localnet\") as big-endian\n+    const CHAIN_ID: u64 = 5190648258797659666;\n+\n+    fn decode32(s: &str) -> [u8; HASH_BYTES] {\n+        hex::decode(s).unwrap().try_into().unwrap()\n+    }\n+\n+    #[test]\n+    fn verify_domain_type_hash() {\n+        let expected = hash(b\"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract,bytes32 salt)\");\n+        assert_eq!(&expected.to_bytes(), EIP712_DOMAIN_TYPE_HASH);\n+    }\n+\n+    #[test]\n+    fn verify_domain_name_hash() {\n+        let expected = hash(EIP712_DOMAIN_NAME.as_bytes());\n+        assert_eq!(&expected.to_bytes(), EIP712_DOMAIN_NAME_HASH);\n+    }\n+\n+    #[test]\n+    fn verify_domain_version_hash() {\n+        let expected = hash(EIP712_DOMAIN_VERSION.as_bytes());\n+        assert_eq!(&expected.to_bytes(), EIP712_DOMAIN_VERSION_HASH);\n+    }\n+\n+    #[test]\n+    fn verify_root_validation_type_hash() {\n+        let expected = hash(b\"RootValidation(bytes32 root,uint32 validUntil)\");\n+        assert_eq!(&expected.to_bytes(), ROOT_VALIDATION_TYPE_HASH);\n+    }\n+\n+    #[test]\n+    fn test_left_pad_to_32() {\n+        let input = [1, 2, 3, 4];\n+        let result = left_pad_to_32(&input);\n+        let expected: [u8; 32] = [\n+            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,\n+            2, 3, 4,\n+        ];\n+        assert_eq!(result, expected);\n+    }\n+\n+    #[test]\n+    fn test_compute_domain_hash() {\n+        let program_id = Pubkey::new_from_array(decode32(\n+            \"b870e12dd379891561d2e9fa8f26431834eb736f2f24fc2a2a4dff1fd5dca4df\",\n+        ));\n+\n+        let domain_hash = compute_domain_hash(CHAIN_ID, &program_id);\n+\n+        // The domain hash should be deterministic\n+        // We'll verify it matches the expected structure by recomputing\n+        let name_hash = hash(EIP712_DOMAIN_NAME.as_bytes());\n+        let version_hash = hash(EIP712_DOMAIN_VERSION.as_bytes());\n+        let chain_id_bytes = left_pad_to_32(&CHAIN_ID.to_be_bytes());\n+        let verifying_contract = [0u8; 32];\n+        let salt = program_id.to_bytes();\n+\n+        let expected = hashv(&[\n+            EIP712_DOMAIN_TYPE_HASH,\n+            &name_hash.to_bytes(),\n+            &version_hash.to_bytes(),\n+            &chain_id_bytes,\n+            &verifying_contract,\n+            &salt,\n+        ]);\n+\n+        assert_eq!(domain_hash.to_bytes(), expected.to_bytes());\n+    }\n+\n+    #[test]\n+    fn test_compute_struct_hash() {\n+        let root = decode32(\"d5ef592d1ad183db43b4980d7ab7ee43a6f6a284988c3e3a23d38c07beb520c7\");\n+        let valid_until: u32 = 1748317727;\n+\n+        let struct_hash = compute_struct_hash(&root, valid_until);\n+\n+        // Verify the structure\n+        let valid_until_bytes = left_pad_to_32(&valid_until.to_be_bytes());\n+        let expected = hashv(&[ROOT_VALIDATION_TYPE_HASH, &root, &valid_until_bytes]);\n+\n+        assert_eq!(struct_hash.to_bytes(), expected.to_bytes());\n+    }\n+\n+    #[test]\n+    fn test_compute_message_hash() {\n+        let root = decode32(\"d5ef592d1ad183db43b4980d7ab7ee43a6f6a284988c3e3a23d38c07beb520c7\");\n+        let valid_until: u32 = 1748317727;\n+        let program_id = Pubkey::new_from_array(decode32(\n+            \"b870e12dd379891561d2e9fa8f26431834eb736f2f24fc2a2a4dff1fd5dca4df\",\n+        ));\n+\n+        let message_hash = compute_message_hash(&root, valid_until, CHAIN_ID, &program_id);\n+\n+        // Verify it follows EIP-712 format: \\x19\\x01 || domainSeparator || structHash\n+        let domain_separator = compute_domain_hash(CHAIN_ID, &program_id);\n+        let struct_hash = compute_struct_hash(&root, valid_until);\n+\n+        let expected = hashv(&[\n+            b\"\\x19\\x01\",\n+            &domain_separator.to_bytes(),\n+            &struct_hash.to_bytes(),\n+        ]);\n+\n+        assert_eq!(message_hash.to_bytes(), expected.to_bytes());\n+    }\n+}\ndiff --git a/chains/solana/contracts/programs/mcm/src/eth_utils.rs b/chains/solana/contracts/programs/mcm/src/eth_utils.rs\nindex 7b030cda..eaf3b666 100644\n--- a/chains/solana/contracts/programs/mcm/src/eth_utils.rs\n+++ b/chains/solana/contracts/programs/mcm/src/eth_utils.rs\n@@ -14,7 +14,7 @@\n //!\n //! These separators ensure that hashes for different purposes cannot be reused or confused.\n use anchor_lang::prelude::*;\n-use anchor_lang::solana_program::keccak::{hash, hashv, Hash, HASH_BYTES}; // use keccak256 for EVM compatibility\n+use anchor_lang::solana_program::keccak::{hash, hashv, HASH_BYTES}; // use keccak256 for EVM compatibility\n use anchor_lang::solana_program::secp256k1_recover::{\n     secp256k1_recover, Secp256k1Pubkey, Secp256k1RecoverError,\n };\n@@ -54,7 +54,7 @@ pub const EVM_ADDRESS_BYTES: usize = 20;\n ///\n /// # Parameters\n ///\n-/// - `eth_signed_msg_hash`: 32-byte hash of the Ethereum signed message\n+/// - `eth_signed_msg_hash`: 32-byte EIP-712 message hash\n /// - `sig`: The ECDSA signature containing v, r, s components\n ///\n /// # Returns\n@@ -81,30 +81,6 @@ pub fn ecdsa_recover_evm_addr(\n     Ok(evm_addr)\n }\n \n-/// Computes the Ethereum-compatible message hash for root validation.\n-///\n-/// Creates a hash that matches Ethereum's personal sign message format:\n-/// \"\\x19Ethereum Signed Message:\\n32\" + keccak256(root || valid_until)\n-///\n-/// # Parameters\n-///\n-/// - `root`: The 32-byte Merkle root\n-/// - `valid_until`: Timestamp until which the root is valid\n-///\n-/// # Returns\n-///\n-/// - The 32-byte message hash ready for ECDSA verification\n-pub fn compute_eth_message_hash(root: &[u8; HASH_BYTES], valid_until: u32) -> Hash {\n-    // Use big-endian encoding for EVM compatibility\n-    let valid_until_bytes = left_pad_vec(&valid_until.to_be_bytes());\n-    let hashed_encoded_params = hashv(&[root, &valid_until_bytes]);\n-\n-    hashv(&[\n-        b\"\\x19Ethereum Signed Message:\\n32\",\n-        &hashed_encoded_params.to_bytes(),\n-    ])\n-}\n-\n /// Calculates a Merkle root from a leaf node and a proof path.\n ///\n /// This function iteratively combines a leaf hash with the provided proof elements\n@@ -392,23 +368,6 @@ mod tests {\n         }\n     }\n \n-    mod test_compute_eth_message_hash {\n-        use super::*;\n-\n-        #[test]\n-        fn basic() {\n-            let root =\n-                &decode32(\"d5ef592d1ad183db43b4980d7ab7ee43a6f6a284988c3e3a23d38c07beb520c7\");\n-            let valid_until: u32 = 1748317727;\n-\n-            let result = compute_eth_message_hash(root, valid_until);\n-\n-            assert_eq!(\n-                result.to_bytes(),\n-                decode32(\"032705bd71839baef725154f00f87ddcc1d95c4b5189c9fb5983f26ad6c95102\")\n-            );\n-        }\n-    }\n \n     mod test_hash_leaf {\n         use super::*;\ndiff --git a/chains/solana/contracts/programs/mcm/src/instructions/set_root.rs b/chains/solana/contracts/programs/mcm/src/instructions/set_root.rs\nindex 5d5167d4..8cbce01c 100644\n--- a/chains/solana/contracts/programs/mcm/src/instructions/set_root.rs\n+++ b/chains/solana/contracts/programs/mcm/src/instructions/set_root.rs\n@@ -2,6 +2,7 @@ use anchor_lang::prelude::*;\n \n use crate::config::MultisigConfig;\n use crate::constant::*;\n+use crate::eip712;\n use crate::error::*;\n use crate::eth_utils::*;\n use crate::event::*;\n@@ -20,12 +21,13 @@ pub fn set_root(\n         McmError::SignedHashAlreadySeen\n     );\n \n-    // verify ECDSA signatures on (root, validUntil) and ensure that the root group is successful\n+    // verify EIP-712 ECDSA signatures on (root, validUntil) and ensure that the root group is successful\n     verify_ecdsa_signatures(\n         &ctx.accounts.root_signatures.signatures,\n         &ctx.accounts.multisig_config,\n         &root,\n         valid_until,\n+        ctx.program_id,\n     )?;\n \n     require!(\n@@ -114,8 +116,10 @@ fn verify_ecdsa_signatures(\n     multisig_config: &MultisigConfig,\n     root: &[u8; 32],\n     valid_until: u32,\n+    program_id: &Pubkey,\n ) -> Result<()> {\n-    let signed_hash = compute_eth_message_hash(root, valid_until);\n+    let signed_hash =\n+        eip712::compute_message_hash(root, valid_until, multisig_config.chain_id, program_id);\n     let mut previous_addr: [u8; EVM_ADDRESS_BYTES] = [0; EVM_ADDRESS_BYTES];\n     let mut group_vote_counts: [u8; NUM_GROUPS] = [0; NUM_GROUPS];\n \ndiff --git a/chains/solana/contracts/programs/mcm/src/lib.rs b/chains/solana/contracts/programs/mcm/src/lib.rs\nindex 88f855e8..a2e1d0b3 100644\n--- a/chains/solana/contracts/programs/mcm/src/lib.rs\n+++ b/chains/solana/contracts/programs/mcm/src/lib.rs\n@@ -19,6 +19,9 @@ pub use state::*;\n mod eth_utils;\n use eth_utils::*;\n \n+mod eip712;\n+pub use eip712::*;\n+\n mod instructions;\n use instructions::*;\n \n"
  },
  {
    "path": "solana/devnet/2025-10-22-mcm-upgrade/patches/id.patch",
    "content": "diff --git a/chains/solana/contracts/programs/mcm/src/lib.rs b/chains/solana/contracts/programs/mcm/src/lib.rs\nindex a2e1d0b3..f2420a45 100644\n--- a/chains/solana/contracts/programs/mcm/src/lib.rs\n+++ b/chains/solana/contracts/programs/mcm/src/lib.rs\n@@ -1,6 +1,6 @@\n use anchor_lang::prelude::*;\n \n-declare_id!(\"5vNJx78mz7KVMjhuipyr9jKBKcMrKYGdjGkgE4LUmjKk\");\n+declare_id!(\"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\");\n \n use program::Mcm;\n \n"
  },
  {
    "path": "solana/devnet/2025-10-22-mcm-upgrade/patches/invoke_signed.patch",
    "content": "diff --git a/chains/solana/contracts/programs/mcm/src/instructions/execute.rs b/chains/solana/contracts/programs/mcm/src/instructions/execute.rs\nindex 155b1a71..a91e2a68 100644\n--- a/chains/solana/contracts/programs/mcm/src/instructions/execute.rs\n+++ b/chains/solana/contracts/programs/mcm/src/instructions/execute.rs\n@@ -89,10 +89,17 @@ pub fn execute<'info>(\n     ];\n     let signer = &[&seeds[..]];\n \n-    ctx.accounts.expiring_root_and_op_count.op_count += 1;\n-\n     invoke_signed(&instruction, acc_infos, signer)?;\n \n+    // If the CPI modified any typed accounts present in this outer context\n+    // (e.g., calling `accept_ownership` which updates `multisig_config`),\n+    // reload them to avoid Anchor writing back the stale outer copy on exit.\n+    ctx.accounts.multisig_config.reload()?;\n+    ctx.accounts.root_metadata.reload()?;\n+    ctx.accounts.expiring_root_and_op_count.reload()?;\n+\n+    ctx.accounts.expiring_root_and_op_count.op_count += 1;\n+\n     emit!(OpExecuted {\n         nonce,\n         to: instruction.program_id,\n"
  },
  {
    "path": "solana/devnet/2025-10-22-mcm-upgrade/patches/simplify_eip712.patch",
    "content": "diff --git a/chains/solana/contracts/programs/mcm/src/eip712.rs b/chains/solana/contracts/programs/mcm/src/eip712.rs\nindex 87b20002..3a19c422 100644\n--- a/chains/solana/contracts/programs/mcm/src/eip712.rs\n+++ b/chains/solana/contracts/programs/mcm/src/eip712.rs\n@@ -11,7 +11,6 @@\n //! - **name**: \"ManyChainMultiSig\" - The contract name\n //! - **version**: \"1\" - The contract version\n //! - **chainId**: Solana chain identifier (e.g., hash of \"solana:localnet\")\n-//! - **verifyingContract**: `address(0)` - Not applicable for Solana\n //! - **salt**: The Solana Program ID (32 bytes) - Uniquely identifies this program instance\n //!\n //! ## Message Structure\n@@ -30,10 +29,10 @@ pub const EIP712_DOMAIN_NAME: &str = \"ManyChainMultiSig\";\n pub const EIP712_DOMAIN_VERSION: &str = \"1\";\n \n /// Type hash for EIP712Domain\n-/// keccak256(\"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract,bytes32 salt)\")\n+/// keccak256(\"EIP712Domain(string name,string version,uint256 chainId,bytes32 salt)\")\n pub const EIP712_DOMAIN_TYPE_HASH: &[u8; HASH_BYTES] = &[\n-    0xd8, 0x7c, 0xd6, 0xef, 0x79, 0xd4, 0xe2, 0xb9, 0x5e, 0x15, 0xce, 0x8a, 0xbf, 0x73, 0x2d, 0xb5,\n-    0x1e, 0xc7, 0x71, 0xf1, 0xca, 0x2e, 0xdc, 0xcf, 0x22, 0xa4, 0x6c, 0x72, 0x9a, 0xc5, 0x64, 0x72,\n+    0xa6, 0x04, 0xff, 0xf5, 0xa2, 0x7d, 0x59, 0x51, 0xf3, 0x34, 0xcc, 0xda, 0x7a, 0xbf, 0xf3, 0x28,\n+    0x6a, 0x8a, 0xf2, 0x9c, 0xae, 0xeb, 0x19, 0x6a, 0x6f, 0x2b, 0x40, 0xa1, 0xdc, 0xe7, 0x61, 0x2b,\n ];\n \n /// Type hash for RootValidation message\n@@ -105,9 +104,6 @@ pub fn compute_domain_hash(chain_id: u64, program_id: &Pubkey) -> Hash {\n     // Chain ID as bytes32 (big-endian, left-padded)\n     let chain_id_bytes = left_pad_to_32(&chain_id.to_be_bytes());\n \n-    // Verifying contract = address(0) = 20 zero bytes, left-padded to 32 bytes\n-    let verifying_contract = [0u8; 32];\n-\n     // Salt = Program ID (32 bytes)\n     let salt = program_id.to_bytes();\n \n@@ -116,7 +112,6 @@ pub fn compute_domain_hash(chain_id: u64, program_id: &Pubkey) -> Hash {\n         EIP712_DOMAIN_NAME_HASH,\n         EIP712_DOMAIN_VERSION_HASH,\n         &chain_id_bytes,\n-        &verifying_contract,\n         &salt,\n     ])\n }\n@@ -168,7 +163,7 @@ mod tests {\n \n     #[test]\n     fn verify_domain_type_hash() {\n-        let expected = hash(b\"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract,bytes32 salt)\");\n+        let expected = hash(b\"EIP712Domain(string name,string version,uint256 chainId,bytes32 salt)\");\n         assert_eq!(&expected.to_bytes(), EIP712_DOMAIN_TYPE_HASH);\n     }\n \n@@ -211,18 +206,14 @@ mod tests {\n \n         // The domain hash should be deterministic\n         // We'll verify it matches the expected structure by recomputing\n-        let name_hash = hash(EIP712_DOMAIN_NAME.as_bytes());\n-        let version_hash = hash(EIP712_DOMAIN_VERSION.as_bytes());\n         let chain_id_bytes = left_pad_to_32(&CHAIN_ID.to_be_bytes());\n-        let verifying_contract = [0u8; 32];\n         let salt = program_id.to_bytes();\n \n         let expected = hashv(&[\n             EIP712_DOMAIN_TYPE_HASH,\n-            &name_hash.to_bytes(),\n-            &version_hash.to_bytes(),\n+            EIP712_DOMAIN_NAME_HASH,\n+            EIP712_DOMAIN_VERSION_HASH,\n             &chain_id_bytes,\n-            &verifying_contract,\n             &salt,\n         ]);\n \n"
  },
  {
    "path": "solana/devnet/2025-10-22-mcm-upgrade/proposal.json",
    "content": "{\n  \"multisigId\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n  \"validUntil\": 1761205094,\n  \"instructions\": [\n    {\n      \"programId\": \"BPFLoaderUpgradeab1e11111111111111111111111\",\n      \"data\": \"AwAAAA==\",\n      \"accounts\": [\n        {\n          \"pubkey\": \"Ca93fFb5tQR14XzNpvBi6WNTuPHWZLNwoZ3hu6EErgDF\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"FsfzjZQu5MUAuZybaNNEkQbbzgKExUdGNFEbTohBGJGn\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"AFs1LCbodhvwpgX3u3URLsud6R1XMSaMiQ5LtXw4GKYT\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"SysvarRent111111111111111111111111111111111\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        },\n        {\n          \"pubkey\": \"SysvarC1ock11111111111111111111111111111111\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        },\n        {\n          \"pubkey\": \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        }\n      ]\n    }\n  ],\n  \"rootMetadata\": {\n    \"chainId\": 0,\n    \"multisig\": \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n    \"preOpCount\": 0,\n    \"postOpCount\": 1,\n    \"overridePreviousRoot\": true\n  }\n}"
  },
  {
    "path": "solana/devnet/2025-10-23-deploy-bridge/.gitignore",
    "content": "bridge/\n*keypair.json\n"
  },
  {
    "path": "solana/devnet/2025-10-23-deploy-bridge/Makefile",
    "content": "include ../.env\ninclude .env\n\ninclude ../../Makefile\n\n.PHONY: install-rust\ninstall-rust:\n\tcurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y\n\trustup toolchain install $(RUST_TOOLCHAIN) && \\\n    rustup default $(RUST_TOOLCHAIN)\n\n.PHONY: install-solana-cli\ninstall-solana-cli:\n\tcurl -sSfL https://release.anza.xyz/v$(SOLANA_VERSION)/install | sh\n\n.PHONY: install-anchor\ninstall-anchor:\n\tcargo install --git https://github.com/coral-xyz/anchor --tag v$(ANCHOR_VERSION) anchor-cli --force\n\n.PHONY: install-bun\ninstall-bun:\n\tcurl -fsSL https://bun.sh/install | bash\n\n.PHONY: setup-deps\nsetup-deps: install-rust install-solana-cli install-anchor install-bun\n\n##\n# Deployment Workflow\n##\n\n# Step 1: Clone and build bridge programs\n.PHONY: step1-clone-bridge\nstep1-clone-bridge:\n\t@echo \"==> Step 1: Cloning and building bridge programs...\"\n\trm -rf bridge\n\tgit clone --filter=blob:none $(BRIDGE_REPO) bridge\n\tcd bridge && \\\n\t\tgit checkout $(BRIDGE_COMMIT)\n\tcd bridge/clients/ts && \\\n\t\tbun install && \\\n\t\tbun run build\n\tcd bridge/scripts && \\\n\t\tbun install\n\t\n# Step 2: Build programs\n.PHONY: step2-build-programs\nstep2-build-programs:\n\t@echo \"==> Step 2: Building bridge programs...\"\n\tcd bridge/solana && \\\n\t\tanchor keys sync && \\\n\t\tcp target/deploy/bridge-keypair.json ../../bridge-keypair.json && \\\n\t\tcp target/deploy/base_relayer-keypair.json ../../base_relayer-keypair.json\n\tcd bridge/scripts && \\\n\t\tbun cli sol build \\\n\t\t--deploy-env $(DEPLOY_ENV) \\\n\t\t--bridge-program-kp ../../bridge-keypair.json \\\n\t\t--base-relayer-program-kp ../../base_relayer-keypair.json\n\n# Step 3: Deploy programs\n.PHONY: step3-deploy-programs\nstep3-deploy-programs:\n\t@echo \"==> Step 3: Deploying programs...\"\n\tmake sol-confirm-cmd \\\n\t\tcmd=\"cd bridge/scripts && \\\n\t\t\tbun cli sol deploy \\\n\t\t\t--deploy-env $(DEPLOY_ENV) \\\n\t\t\t--program bridge \\\n\t\t\t--program-kp ../../bridge-keypair.json \\\n\t\t\t--deployer-kp $(DEPLOYER_KP)\" \\\n\t\toutput=artifacts/bridge-deploy-artifacts.json\n\tmake sol-confirm-cmd \\\n\t\tcmd=\"cd bridge/scripts && \\\n\t\t\tbun cli sol deploy \\\n\t\t\t--deploy-env $(DEPLOY_ENV) \\\n\t\t\t--program base-relayer \\\n\t\t\t--program-kp ../../base_relayer-keypair.json \\\n\t\t\t--deployer-kp $(DEPLOYER_KP)\" \\\n\t\toutput=artifacts/base-relayer-deploy-artifacts.json\n\n# Step 4: Initialize programs\n.PHONY: step4-init-programs\nstep4-init-programs:\n\t@echo \"==> Step 4: Initializing programs...\"\n\tmake sol-confirm-cmd \\\n\t\tcmd=\"cd bridge/scripts && \\\n\t\t\tbun cli sol bridge initialize \\\n\t\t\t--program-id $(BRIDGE_PROGRAM_ID) \\\n\t\t\t--rpc-url $(SOL_RPC_URL) \\\n\t\t\t--payer-kp $(DEPLOYER_KP) \\\n\t\t\t--guardian $(GUARDIAN) \\\n\t\t\t--remote-sol-address $(SOL_REMOTE_TOKEN) \\\n\t\t\t--eip1559-target $(BRIDGE_EIP1559_TARGET) \\\n\t\t\t--eip1559-denominator $(BRIDGE_EIP1559_DENOMINATOR) \\\n\t\t\t--eip1559-window-duration-seconds $(BRIDGE_EIP1559_WINDOW_DURATION_SECONDS) \\\n\t\t\t--eip1559-minimum-base-fee $(BRIDGE_EIP1559_MINIMUM_BASE_FEE) \\\n\t\t\t--gas-per-call $(BRIDGE_GAS_PER_CALL) \\\n\t\t\t--gas-cost-scaler $(BRIDGE_GAS_COST_SCALER) \\\n\t\t\t--gas-cost-scaler-dp $(BRIDGE_GAS_COST_SCALER_DP) \\\n\t\t\t--gas-fee-receiver $(BRIDGE_GAS_FEE_RECEIVER) \\\n\t\t\t--protocol-block-interval-requirement $(BRIDGE_PROTOCOL_BLOCK_INTERVAL_REQUIREMENT) \\\n\t\t\t--buffer-max-call-buffer-size $(BRIDGE_BUFFER_MAX_CALL_BUFFER_SIZE) \\\n\t\t\t--base-oracle-threshold $(BRIDGE_BASE_ORACLE_THRESHOLD) \\\n\t\t\t--base-oracle-signer-count $(BRIDGE_BASE_ORACLE_SIGNER_COUNT) \\\n\t\t\t--base-oracle-signers $(BRIDGE_BASE_ORACLE_SIGNERS) \\\n\t\t\t--partner-oracle-required-threshold $(BRIDGE_PARTNER_ORACLE_REQUIRED_THRESHOLD)\" \\\n\t\toutput=artifacts/init-bridge.json\n\tmake sol-confirm-cmd \\\n\t\tcmd=\"cd bridge/scripts && \\\n\t\t\tbun cli sol base-relayer initialize \\\n\t\t\t--program-id $(BASE_RELAYER_PROGRAM_ID) \\\n\t\t\t--rpc-url $(SOL_RPC_URL) \\\n\t\t\t--payer-kp $(DEPLOYER_KP) \\\n\t\t\t--guardian $(GUARDIAN) \\\n\t\t\t--eip1559-target $(BASE_RELAYER_EIP1559_TARGET) \\\n\t\t\t--eip1559-denominator $(BASE_RELAYER_EIP1559_DENOMINATOR) \\\n\t\t\t--eip1559-window-duration-seconds $(BASE_RELAYER_EIP1559_WINDOW_DURATION_SECONDS) \\\n\t\t\t--eip1559-minimum-base-fee $(BASE_RELAYER_EIP1559_MINIMUM_BASE_FEE) \\\n\t\t\t--min-gas-limit-per-message $(BASE_RELAYER_MIN_GAS_LIMIT_PER_MESSAGE) \\\n\t\t\t--max-gas-limit-per-message $(BASE_RELAYER_MAX_GAS_LIMIT_PER_MESSAGE) \\\n\t\t\t--gas-cost-scaler $(BASE_RELAYER_GAS_COST_SCALER) \\\n\t\t\t--gas-cost-scaler-dp $(BASE_RELAYER_GAS_COST_SCALER_DP) \\\n\t\t\t--gas-fee-receiver $(BASE_RELAYER_GAS_FEE_RECEIVER)\" \\\n\t\toutput=artifacts/init-base-relayer.json\n\n# Step 5: Print SOL vault\n.PHONY: step5-print-sol-vault\nstep5-print-sol-vault:\n\t@echo \"==> Step 5: Printing SOL vault...\"\n\tcd bridge/scripts && \\\n\t\tbun cli sol bridge sol-vault \\\n\t\t--bridge-program $(BRIDGE_PROGRAM_ID)\n\n# Step 6: Fund SOL vault\n.PHONY: step6-fund-sol-vault\nstep6-fund-sol-vault:\n\t@echo \"==> Step 6: Funding SOL vault...\"\n\tmake sol-transfer SOL_RECIPIENT=$(SOL_VAULT) output=artifacts/fund-sol-vault.json\n\n# Step 7: Fund the gas fee receiver\n.PHONY: step7-fund-gas-fee-receiver\nstep7-fund-gas-fee-receiver:\n\t@echo \"==> Step 7: Funding gas fee receiver...\"\n\tmake sol-transfer SOL_RECIPIENT=$(GAS_FEE_RECEIVER) output=artifacts/fund-gas-fee-receiver.json\n\n# Step 8: Transfer upgrade authorities of the bridge and base relayer programs\n.PHONY: step8-transfer-upgrade-authorities\nstep8-transfer-upgrade-authorities:\n\t@echo \"==> Step 8: Transferring upgrade authorities of the bridge and base relayer programs...\"\n\tmake sol-program-set-upgrade-authority \\\n\t\tSOL_PROGRAM_ID=$(BRIDGE_PROGRAM_ID) \\\n\t\tNEW_UPGRADE_AUTHORITY=$(GUARDIAN)\n\tmake sol-program-show SOL_PROGRAM_ID=$(BRIDGE_PROGRAM_ID)\n\tmake sol-program-set-upgrade-authority \\\n\t\tSOL_PROGRAM_ID=$(BASE_RELAYER_PROGRAM_ID) \\\n\t\tNEW_UPGRADE_AUTHORITY=$(GUARDIAN)\n\tmake sol-program-show SOL_PROGRAM_ID=$(BASE_RELAYER_PROGRAM_ID)\n\n# Step 9: Generate set-upgrade-authority artifacts (use solana explorer to get the signature of the set-upgrade-authority tx)\n.PHONY: step9-generate-set-upgrade-authorities-artifacts\nstep9-generate-set-upgrade-authorities-artifacts:\n\t@echo \"==> Step 8: Generating set-upgrade-authorities artifacts...\"\n\tmake sol-confirm SIG=$(SET_BRIDGE_UPGRADE_AUTHORITY_SIGNATURE) output=artifacts/set-bridge-upgrade-authority-artifacts.json\n\tmake sol-confirm SIG=$(SET_BASE_RELAYER_UPGRADE_AUTHORITY_SIGNATURE) output=artifacts/set-base-relayer-upgrade-authority-artifacts.json\n"
  },
  {
    "path": "solana/devnet/2025-10-23-deploy-bridge/artifacts/base-relayer-deploy-artifacts.json",
    "content": "{\n  \"confirmationStatus\": \"confirmed\",\n  \"transaction\": {\n    \"signatures\": [\n      \"2k59UnU4dQkXGdebaSrPX95QzXZNqbHEqqC7qzLitrydi1MYw5NbV9q1xdMTe976wTistASd6Lvn8ccHXbDnaKRL\",\n      \"4V15b7Bf28HwhU5WKnkPSnzVACQ9E1KdxcgXxNC9C91mjcUGDnsXbQbCfBK9HnTcfEQpRFN14NdadZn9iX68HQHY\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 2,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 4\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"56MBBEYAtQAdjT4e1NzHD8XaoyRSTvfgbSVVcEcHj51H\",\n        \"9mUcnyK4TVwHoMkyVCTiVFqWDUuRqHoAJP32pxSXCTjP\",\n        \"De6pBEXUw4DiJ9zFzfdM69BDxU8F7rVrcV3tRVhDSWc4\",\n        \"11111111111111111111111111111111\",\n        \"BPFLoaderUpgradeab1e11111111111111111111111\",\n        \"SysvarC1ock11111111111111111111111111111111\",\n        \"SysvarRent111111111111111111111111111111111\"\n      ],\n      \"recentBlockhash\": \"FAh2wWUXeWPnuMKPi7L2DdKxrxBrbJaZndoeCZuxz6mb\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 4,\n          \"accounts\": [\n            0,\n            1\n          ],\n          \"data\": \"111184NuZo7gmbjwda8fGAim94roEJcdbYKd7Gdtpi6CbBByeanCr8u4EAFXLjnY2U8bjD\",\n          \"stackHeight\": null\n        },\n        {\n          \"programIdIndex\": 5,\n          \"accounts\": [\n            0,\n            2,\n            1,\n            3,\n            7,\n            6,\n            4,\n            0\n          ],\n          \"data\": \"3Bxs42J4x6iEtSZM\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 10000,\n    \"preBalances\": [\n      169019364280,\n      0,\n      0,\n      2098391280,\n      1,\n      1,\n      1169280,\n      1009200\n    ],\n    \"postBalances\": [\n      169018212840,\n      1141440,\n      2098391280,\n      0,\n      1,\n      1,\n      1169280,\n      1009200\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 1,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 4,\n            \"accounts\": [\n              0,\n              2,\n              3\n            ],\n            \"data\": \"11119qYqhtqT5NHTm27UYqYVeF4Lm2dwfwCnPkVvZ6nWdk5kZP2tzGt1VBLLyRd9W8hoWf\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program 11111111111111111111111111111111 invoke [1]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Deployed program 56MBBEYAtQAdjT4e1NzHD8XaoyRSTvfgbSVVcEcHj51H\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 2670\n  },\n  \"blockTime\": 1761256231,\n  \"slot\": 416638064\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-23-deploy-bridge/artifacts/bridge-deploy-artifacts.json",
    "content": "{\n  \"confirmationStatus\": \"confirmed\",\n  \"transaction\": {\n    \"signatures\": [\n      \"3LdJ2kUHbLf2cZkasurYP2TaRvop45jNKiewM4E5DKrhw3im2mWN3Yeq6R7fTmd9rEoHVUeMgWob3dioKig7p88X\",\n      \"55TJ1mmdpnzB7yS1vRfCRSAoJM1ivNRCi5PFbrtshZp5vZVe7yU7KqvgMYuK4zk1wmEtB5C72RZTC56MGeMGye9N\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 2,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 4\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"7c6mteAcTXaQ1MFBCrnuzoZVTTAEfZwa6wgy4bqX3KXC\",\n        \"3Tc2r6TM38kX4ogeMwRuXCQsNEeBsRpQNr3NSf8GoZbz\",\n        \"DQjcSWeU1QSaVUTGbDHSZf4fLYXwa3W9zm1nRZojAwNC\",\n        \"11111111111111111111111111111111\",\n        \"BPFLoaderUpgradeab1e11111111111111111111111\",\n        \"SysvarC1ock11111111111111111111111111111111\",\n        \"SysvarRent111111111111111111111111111111111\"\n      ],\n      \"recentBlockhash\": \"L8fLDFNtnkGJSZdetvFo1deE5bPbJC3etRXDP6dmYs8\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 4,\n          \"accounts\": [\n            0,\n            1\n          ],\n          \"data\": \"111184NuZo7gmbjwda8fGAim94roEJcdbYKd7Gdtpi6CbBByeanCr8u4EAFXLjnY2U8bjD\",\n          \"stackHeight\": null\n        },\n        {\n          \"programIdIndex\": 5,\n          \"accounts\": [\n            0,\n            2,\n            1,\n            3,\n            7,\n            6,\n            4,\n            0\n          ],\n          \"data\": \"3Bxs4WN6jLMpcx3h\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 10000,\n    \"preBalances\": [\n      171120407000,\n      0,\n      0,\n      6120992880,\n      1,\n      1,\n      1169280,\n      1009200\n    ],\n    \"postBalances\": [\n      171119255560,\n      1141440,\n      6120992880,\n      0,\n      1,\n      1,\n      1169280,\n      1009200\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 1,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 4,\n            \"accounts\": [\n              0,\n              2,\n              3\n            ],\n            \"data\": \"111159HsydaU3uzqG2hq9Sx6KfvrezAjfEmE3BdaWEuGA82n6u1foDH3rgMpomPUey4oS7\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program 11111111111111111111111111111111 invoke [1]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Deployed program 7c6mteAcTXaQ1MFBCrnuzoZVTTAEfZwa6wgy4bqX3KXC\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 2670\n  },\n  \"blockTime\": 1761256221,\n  \"slot\": 416638036\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-23-deploy-bridge/artifacts/fund-gas-fee-receiver.json",
    "content": "{\n  \"confirmationStatus\": \"confirmed\",\n  \"transaction\": {\n    \"signatures\": [\n      \"vtcC5RJBEhqjxNvkpTtdF78zR3YiXLYHJJR8rCncNejTEAix25wAmUGfu4FVwQrR5uWZzaiX9UkTJ8RngyZJmNr\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"AFs1LCbodhvwpgX3u3URLsud6R1XMSaMiQ5LtXw4GKYT\",\n        \"11111111111111111111111111111111\"\n      ],\n      \"recentBlockhash\": \"CUf2eHgnhoZqakh8crjWRGjVZ9h3ZjyiUuTU1PQGkPCV\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            0,\n            1\n          ],\n          \"data\": \"3Bxs411Dtc7pkFQj\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      168911571920,\n      3335600880,\n      1\n    ],\n    \"postBalances\": [\n      168811566920,\n      3435600880,\n      1\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program 11111111111111111111111111111111 invoke [1]\",\n      \"Program 11111111111111111111111111111111 success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 150\n  },\n  \"blockTime\": 1761256427,\n  \"slot\": 416638573\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-23-deploy-bridge/artifacts/fund-sol-vault.json",
    "content": "{\n  \"confirmationStatus\": \"confirmed\",\n  \"transaction\": {\n    \"signatures\": [\n      \"oTmYraoVZEkGsLsoyfb2pDTviqkwyghPtDyDTYAaaPe41VArje1CNTnH7EnUy45kcrwRFghkk8ijMpEfQi16Crw\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"4LS6xgoSn5Ed1UcJKJbwNSsyBQY2NX7H6nJcdt979c1A\",\n        \"11111111111111111111111111111111\"\n      ],\n      \"recentBlockhash\": \"6qXNNqTUCFhNu1oyf62o2YmY3pLAW3eews8Nn34Um76k\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            0,\n            1\n          ],\n          \"data\": \"3Bxs411Dtc7pkFQj\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      169011576920,\n      0,\n      1\n    ],\n    \"postBalances\": [\n      168911571920,\n      100000000,\n      1\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program 11111111111111111111111111111111 invoke [1]\",\n      \"Program 11111111111111111111111111111111 success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 150\n  },\n  \"blockTime\": 1761256418,\n  \"slot\": 416638549\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-23-deploy-bridge/artifacts/init-base-relayer.json",
    "content": "{\n  \"confirmationStatus\": \"confirmed\",\n  \"transaction\": {\n    \"signatures\": [\n      \"5TxuveVEcXx5AsFBKtKWTZsYApESzT5xK2MmokoeHsf1Snj7wP7ikYsL5tdRBVVSTuxbdqTaAtuEFUqgo96cfJG4\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 3\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"8YevvQPwQRsKwzaqaAujLcTs7cbZts9tBzPsXhRymbw8\",\n        \"11111111111111111111111111111111\",\n        \"56MBBEYAtQAdjT4e1NzHD8XaoyRSTvfgbSVVcEcHj51H\",\n        \"9mUcnyK4TVwHoMkyVCTiVFqWDUuRqHoAJP32pxSXCTjP\"\n      ],\n      \"recentBlockhash\": \"58M5DnjCHSGFqzcfzNtdTVQpt1r7HLi3aAT7dzz9WNAC\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 3,\n          \"accounts\": [\n            0,\n            0,\n            1,\n            4,\n            3,\n            2\n          ],\n          \"data\": \"EGobdm29j93Jy1Ykas1QRvcNdsGgoTrZJJdBA9qei7nQKrvHDrnVgbwrHHwndxDfWV2vqJ5fV7XXKPsSb5nH8FTUpf1LxP28bpyNCRJLWc6xRkSFA5iq9BnUoUn1e1hifsH146NNpxY1S4gw3psWgcxzh9ggq4aTFVJYFyFEHp2eJfDfGqQWoEE9VZ\",\n          \"stackHeight\": null\n        }\n      ],\n      \"addressTableLookups\": []\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      169013642080,\n      0,\n      1,\n      1141440,\n      2098391280\n    ],\n    \"postBalances\": [\n      169011576920,\n      2060160,\n      1,\n      1141440,\n      2098391280\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 2,\n            \"accounts\": [\n              0,\n              1\n            ],\n            \"data\": \"11115iFkVMXPaap7j41Z1pua1WA989crpL52hPgAkM7pNWYM8qg35xTUhcETYqR9xAUYQP\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program 56MBBEYAtQAdjT4e1NzHD8XaoyRSTvfgbSVVcEcHj51H invoke [1]\",\n      \"Program log: Instruction: Initialize\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program 56MBBEYAtQAdjT4e1NzHD8XaoyRSTvfgbSVVcEcHj51H consumed 11370 of 200000 compute units\",\n      \"Program 56MBBEYAtQAdjT4e1NzHD8XaoyRSTvfgbSVVcEcHj51H success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 11370\n  },\n  \"blockTime\": 1761256375,\n  \"slot\": 416638437\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-23-deploy-bridge/artifacts/init-bridge.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"3pnudvgYaeyXXEbhuRExGbN57H1RAXAiVgZYT2ovPWki1h3WaVqdkmvfTFLqS1V6qzowb7rFsVzCtudEDf4n55WM\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 3\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"4nLSFFbRMa1dYz5kE5nNrujqjiGeMh1yMfXuP4qDGZ2g\",\n        \"11111111111111111111111111111111\",\n        \"3Tc2r6TM38kX4ogeMwRuXCQsNEeBsRpQNr3NSf8GoZbz\",\n        \"7c6mteAcTXaQ1MFBCrnuzoZVTTAEfZwa6wgy4bqX3KXC\"\n      ],\n      \"recentBlockhash\": \"323HYDQc8RM9Qex7nuqqNcaqqYWoEYsrpX9zwGFL2MGr\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 4,\n          \"accounts\": [\n            0,\n            0,\n            1,\n            3,\n            4,\n            2\n          ],\n          \"data\": \"w6cHVNZ7a5rQv5VPE63MBWcxFcdsxgLGURBWWHvgRrRcnXyygG5zD3E3ER16Da2Ny2GcjerMoXJcyuhuzGWcB5M4yHyMsMDnbTWbYbDKVu49gQxsDdrak7tWjxypja2LJusxNZieSJiY8xCAdaKkBE3ijuzcGFQfZ3Qv146BMjhgjEB9eom9rwViw5fFdHnGTgkdyd3Rf2R871C3Rnh79RZbSexc1QjjymfZxaL9JmaemrKbbtoJbUemm1AsgytjB2q3Yoo6ZSuJfRKaGgSUQpE7GrPjwB9UPiebpx5HveQ8PwB4PegWeuZo1ThsEFCskx14FrbSP5TePan6rCauHDuLgqoRoSs6K1Ki4rEwexPjNzrkwFYfNQhKB1Zk4scDUyNttSw47TWAAKQrcPiS9CHQPw3H538JrfDwvoDhmL231tnHEYXuBcg3jiRXmx74zwWvWjK7tte3jfdc51pfB5STm6NaHfpkWoDoW5JHoH6ZYuTm419FtBaYQNS5ch1sqTuyhm8wpZahGNT9eAbwYRsAU6StbAFc9BVg6cun4cw5eeZyYxxKg59SC6juHWRiDGtujGnjnEzgH2ufVU1JjRU6p5N6WmxjXjr2CSYhMn7CBNucoTsRSymk6vExcms5m7STY1JrASH3esvnwPTFwaX5R\",\n          \"stackHeight\": null\n        }\n      ],\n      \"addressTableLookups\": []\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      169018212840,\n      0,\n      1,\n      6120992880,\n      1141440\n    ],\n    \"postBalances\": [\n      169013642080,\n      4565760,\n      1,\n      6120992880,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 2,\n            \"accounts\": [\n              0,\n              1\n            ],\n            \"data\": \"111112RZKQ4yMXN8zMsggLRz2TtSVkXjiW95ngmKm3QdFfkMF495VczRGsGgZarM7DPAXG\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program 7c6mteAcTXaQ1MFBCrnuzoZVTTAEfZwa6wgy4bqX3KXC invoke [1]\",\n      \"Program log: Instruction: Initialize\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program 7c6mteAcTXaQ1MFBCrnuzoZVTTAEfZwa6wgy4bqX3KXC consumed 14681 of 200000 compute units\",\n      \"Program 7c6mteAcTXaQ1MFBCrnuzoZVTTAEfZwa6wgy4bqX3KXC success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 14681\n  },\n  \"blockTime\": 1761256371,\n  \"slot\": 416638427\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-23-deploy-bridge/artifacts/set-base-relayer-upgrade-authority-artifacts.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"2f3bUQpBaZjSjmLiThv5rTSqu9QXVtweitUJXHuDd2LREjm59HuBiNWrJAJQLsyy73Dbq7cfFLdAd2Dd2nJGXkXi\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"9mUcnyK4TVwHoMkyVCTiVFqWDUuRqHoAJP32pxSXCTjP\",\n        \"BPFLoaderUpgradeab1e11111111111111111111111\",\n        \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\"\n      ],\n      \"recentBlockhash\": \"CxXbLnHqpSmfvPrCm2aaPGzvLvfNNHmgmh1pAvYAoWth\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0,\n            3\n          ],\n          \"data\": \"6vx8P\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      168811561920,\n      2098391280,\n      1,\n      0\n    ],\n    \"postBalances\": [\n      168811556920,\n      2098391280,\n      1,\n      0\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]\",\n      \"New authority Some(2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ)\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 2370\n  },\n  \"blockTime\": 1761256438,\n  \"slot\": 416638602\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-23-deploy-bridge/artifacts/set-bridge-upgrade-authority-artifacts.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"5i1CYwJDo9jFVLsBM2aQMkzwbr41QD68kFL5CBZru7cSr7AeXGyaF52PQnWjLX6oT2VLREuV4Pv5dPdNAM2EhLrB\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"3Tc2r6TM38kX4ogeMwRuXCQsNEeBsRpQNr3NSf8GoZbz\",\n        \"BPFLoaderUpgradeab1e11111111111111111111111\",\n        \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\"\n      ],\n      \"recentBlockhash\": \"FQBzZGNX18ayjtgH57yJx77G6envHFxH5GmhNQFMWUFo\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0,\n            3\n          ],\n          \"data\": \"6vx8P\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      168811566920,\n      6120992880,\n      1,\n      0\n    ],\n    \"postBalances\": [\n      168811561920,\n      6120992880,\n      1,\n      0\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]\",\n      \"New authority Some(2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ)\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 2370\n  },\n  \"blockTime\": 1761256436,\n  \"slot\": 416638596\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-24-mcm-pause-unpause-bridge/FACILITATORS.md",
    "content": "# Facilitator Instructions: MCM Bridge Pause/Unpause\n\n## Overview\n\nAs a Facilitator, you are responsible for:\n1. Preparing the bridge pause configuration\n2. Creating the MCM proposal\n3. Committing and pushing the proposal to the repo\n4. Coordinating with Signers\n5. Collecting signatures\n6. Executing the proposal on-chain\n\n## Prerequisites\n\n```bash\ncd contract-deployments\ngit pull\ncd solana/devnet/2025-10-24-mcm-pause-unpause-bridge\nmake deps\n```\n\nEnsure you have:\n- `mcmctl` installed (via `make deps`)\n- `eip712sign` installed (via `make deps`)\n- A funded Solana wallet configured\n\n## Phase 1: Prepare and Generate Proposal\n\n### 1.1. Update .env with bridge pause configuration\n\nSet the following in `.env`:\n\n```bash\nMCM_PROGRAM_ID=<mcm-program-id>\nMCM_MULTISIG_ID=<multisig-id>\nMCM_VALID_UNTIL=<unix-timestamp>\nMCM_OVERRIDE_PREVIOUS_ROOT=false  # or true if needed\nMCM_PROPOSAL_OUTPUT=proposal.json\n\n# Bridge configuration\nBRIDGE_PROGRAM_ID=<bridge-program-id>\nPAUSED=true  # or false to unpause\n```\n\n### 1.2. Generate proposal\n\n```bash\nmake step1-create-proposal\n```\n\nThis creates the proposal file (default `proposal.json` or whatever is set in `MCM_PROPOSAL_OUTPUT`).\n\n### 1.3. Review proposal\n\nOpen and review the generated proposal file to verify:\n- Bridge program ID is correct\n- Pause status is correct (pausing or unpausing)\n- Valid until timestamp is appropriate\n\n### 1.4. Commit and push\n\n```bash\ngit add .\ngit commit -m \"Add MCM bridge pause/unpause proposal\"\ngit push\n```\n\n## Phase 2: Coordinate with Signers and Collect Signatures\n\nCoordinate with Signers to collect their signatures. Each Signer will run `make sign` and provide their signature.\n\nConcatenate all signatures in the format: `0xSIG1,0xSIG2,0xSIG3`\n\nOnce you have all required signatures, update `.env`:\n\n```bash\nMCM_SIGNATURES_COUNT=<number-of-signatures>\nMCM_SIGNATURES=0xSIG1,0xSIG2,0xSIG3\n```\n\n## Phase 3: Register Proposal\n\n```bash\nmake step3-register-proposal\n```\n\nThis command registers the proposal:\n- Initialize signatures account\n- Append signatures\n- Finalize signatures\n- Set root\n\n## Phase 4: Execute Pause Proposal\n\n```bash\nmake step4-execute-pause\n```\n\nThis command executes the pause proposal\n\n## Phase 5: Execute Unpause Proposal\n\n```bash\nmake step5-execute-unpause\n```\n\nThis command executes the unpause proposal\n\n## Phase 6: Verification\n\n### 6.1. View transaction on Solana Explorer\n\nVisit the Solana Explorer for your network:\n- Mainnet: https://explorer.solana.com/\n- Devnet: https://explorer.solana.com/?cluster=devnet\n\nSearch for the execution transaction and verify:\n- The transaction was successful\n- The program logs show `Instruction: SetPauseStatus` (Anchor log)\n- The pause status matches the intended action (paused or unpaused)\n\n### 6.2. Update README\n\nUpdate the Status line in README.md to:\n\n```markdown\nStatus: [EXECUTED](https://explorer.solana.com/tx/<transaction-signature>?cluster=<network>)\n```\n\nReplace `<transaction-signature>` with the execution transaction signature and `<network>` with the appropriate cluster (devnet, mainnet-beta, etc.).\n"
  },
  {
    "path": "solana/devnet/2025-10-24-mcm-pause-unpause-bridge/Makefile",
    "content": "include ../.env\ninclude .env\n\ninclude ../../Makefile\n\n##\n# MCM Bridge Pause/Unpause Workflow\n##\n\n# Step 1: Create merged pause/unpause proposal\n.PHONY: step1-create-proposal\nstep1-create-proposal:\n\t@echo \"==> Step 1: Creating merged pause/unpause MCM proposal...\"\n\t@echo \"  → Creating pause proposal...\"\n\t@make mcm-proposal-bridge-pause \\\n\t\tPAUSED=true \\\n\t\tMCM_PROPOSAL_OUTPUT=pause-proposal.json\n\t@echo \"  → Creating unpause proposal...\"\n\t@make mcm-proposal-bridge-pause \\\n\t\tPAUSED=false \\\n\t\tMCM_PROPOSAL_OUTPUT=unpause-proposal.json\n\t@echo \"  → Merging proposals...\"\n\t@jq -s '.[0] as $$pause | .[1] as $$unpause | $$pause | .instructions = ($$pause.instructions + $$unpause.instructions) | .rootMetadata.postOpCount = (.rootMetadata.preOpCount + 2)' \\\n\t\tpause-proposal.json unpause-proposal.json > proposal.json\n\t@echo \"  → Cleaning up temporary files...\"\n\t@rm -f pause-proposal.json unpause-proposal.json\n\t@echo \"✓ Merged proposal created: proposal.json\"\n\t@echo \"  - Instructions count: $$(jq '.instructions | length' proposal.json)\"\n\t@echo \"  - preOpCount: $$(jq '.rootMetadata.preOpCount' proposal.json)\"\n\t@echo \"  - postOpCount: $$(jq '.rootMetadata.postOpCount' proposal.json)\"\n\n# Step 2: Sign proposal\t\n.PHONY: sign\nsign:\n\t@echo \"==> Step 2: Signing proposal...\"\n\t@make mcm-sign\n\n# Step 3: Register proposal (signatures + set-root)\n.PHONY: step3-register-proposal\nstep3-register-proposal:\n\t@echo \"==> Step 3: Registering MCM proposal...\"\n\t@make mcm-signatures-all\n\t@make mcm-proposal-set-root\n\n# Step 4: Execute pause proposal\n.PHONY: step4-execute-pause\nstep4-execute-pause:\n\t@echo \"==> Step 4: Executing MCM pause proposal...\"\n\t@make mcm-proposal-execute \\\n\t\tMCM_START_INDEX=0 \\\n\t\tMCM_OPERATION_COUNT=1\n\t@mv artifacts/mcm-proposal-execute.json artifacts/mcm-pause-proposal-execute.json\n\n# Step 5: Execute unpause proposal\n.PHONY: step5-execute-unpause\nstep5-execute-unpause:\n\t@echo \"==> Step 5: Executing MCM unpause proposal...\"\n\t@make mcm-proposal-execute \\\n\t\tMCM_START_INDEX=1 \\\n\t\tMCM_OPERATION_COUNT=1\n\t@mv artifacts/mcm-proposal-execute.json artifacts/mcm-unpause-proposal-execute.json"
  },
  {
    "path": "solana/devnet/2025-10-24-mcm-pause-unpause-bridge/README.md",
    "content": "# MCM Bridge Pause/Unpause\n\nStatus: EXECUTED (https://solscan.io/tx/mvDops5iMa5GbeMKsCDGBEhKC1qAZB5ykdCQyTtVM7eED9JQxoC5dxf61dtgKMXLMLB74sT5FBaLbCw5YC3oAuF?cluster=devnet)\n\nUnpause: https://solscan.io/tx/2dV1McFJFkceBdqUqe6Nd2tgVNE5ts8ZBTS2p38fp4mu3DngcpRZCeeNbU2KzNwWUnZ8pY9uUnMEVktqo9CZCLfd?cluster=devnet\n\n## Description\n\nThis task pauses or unpauses the Bridge program using the MCM program. This is a critical security operation that can be used to halt bridge operations in emergency situations or resume them after issues are resolved.\n\n## Procedure for Signers\n\n### 1. Update repo\n\n```bash\ncd contract-deployments\ngit pull\ncd solana/devnet/2025-10-24-mcm-pause-unpause-bridge\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The **Ethereum application** needs to be opened on Ledger with the message \"Application is ready\".\n\n### 3. Sign the proposal\n\n```bash\nmake sign\n```\n\nThis command will:\n1. Display the proposal hash\n2. Prompt you to sign on your Ledger\n3. Output your signature\n\n**Verify on your Ledger**: Check that the data you're signing matches the proposal hash displayed in the terminal.\n\nAfter signing, you will see output like:\n\n```\nSignature: 1234567890abcdef...\n```\n\n### 4. Send signature to Facilitator\n\nCopy the **entire signature** and send it to the Facilitator via your secure communication channel.\n\n**That's it!** The Facilitator will collect all signatures and execute the proposal.\n\n## For Facilitators\n\nSee [FACILITATORS.md](./FACILITATORS.md) for complete instructions on preparing, executing, and verifying this task.\n"
  },
  {
    "path": "solana/devnet/2025-10-24-mcm-pause-unpause-bridge/artifacts/mcm-pause-proposal-execute.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"mvDops5iMa5GbeMKsCDGBEhKC1qAZB5ykdCQyTtVM7eED9JQxoC5dxf61dtgKMXLMLB74sT5FBaLbCw5YC3oAuF\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 4\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n        \"9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN\",\n        \"4nLSFFbRMa1dYz5kE5nNrujqjiGeMh1yMfXuP4qDGZ2g\",\n        \"DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S\",\n        \"7c6mteAcTXaQ1MFBCrnuzoZVTTAEfZwa6wgy4bqX3KXC\",\n        \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"2NfRiW4jCQFtmwwvNYu1Qc69goRNKKz9eqhSGWF1q73m\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 7,\n          \"accounts\": [\n            1,\n            4,\n            2,\n            5,\n            6,\n            0,\n            3,\n            6\n          ],\n          \"data\": \"kdy7aa47nZccXGYmJrCpZESavPSdBHauQKcgU4SCjVZLTicZFgHts7pDttPzTqRyedruQnKdZ5zsq58tU9mNmcSp7gwCLU9uvbgDHQXtEZC14akQGiQjbSc2x7PmjiWkdzxxY83AedgYMPDA3EbR9ZEA9i5nBYVKJpRRMbrA8kiq1T8G9dKgemL8r4a\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      165231160440,\n      4134240,\n      1252800,\n      4565760,\n      1343280,\n      1141440,\n      0,\n      1141440\n    ],\n    \"postBalances\": [\n      165231155440,\n      4134240,\n      1252800,\n      4565760,\n      1343280,\n      1141440,\n      0,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 5,\n            \"accounts\": [\n              3,\n              6\n            ],\n            \"data\": \"2WBxVujLscd9i\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: Execute\",\n      \"Program 7c6mteAcTXaQ1MFBCrnuzoZVTTAEfZwa6wgy4bqX3KXC invoke [2]\",\n      \"Program log: Instruction: SetPauseStatus\",\n      \"Program 7c6mteAcTXaQ1MFBCrnuzoZVTTAEfZwa6wgy4bqX3KXC consumed 5974 of 178839 compute units\",\n      \"Program 7c6mteAcTXaQ1MFBCrnuzoZVTTAEfZwa6wgy4bqX3KXC success\",\n      \"Program data: 3Q/UHSP8/04GAAAAAAAAAGIj+oCz+AVJqaxPHe6lTjmnSqj6j3SmITFGBxZRnU+PCQAAAHYZkdly0eyRAQ==\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 32764 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 32764\n  },\n  \"blockTime\": 1761336900,\n  \"slot\": 416847616\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-24-mcm-pause-unpause-bridge/artifacts/mcm-proposal-set-root.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"cGgrcRteKiBSpuyBUjq6GVYiJPCJGu6uVAzCru8dyRQpoqmB2wPhTRcY8Y6zoLXZB9UCj3EB6tfqUZJ7MimoNGQ\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 3\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"jW6CxzynV2uwkiSqnRhexE3HvTJUfvnzd3XesW4ETR6\",\n        \"DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S\",\n        \"EoJwHRF7CVKfSdiV1QJKb9KFu5ZZyn2J7Zg2K8bjjPfK\",\n        \"9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN\",\n        \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n        \"11111111111111111111111111111111\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"5gF2kHKRJyrwZLaKRWPftiqr14s8K76c62Vjfao1rnRu\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 7,\n          \"accounts\": [\n            1,\n            2,\n            3,\n            4,\n            5,\n            0,\n            6\n          ],\n          \"data\": \"5eKRp7yWnavbVMvLc7WTeNLXgQZHNTvquMyjaspSK7Pdjz7ZrrUaadEtrMo9zLhJA3hJwXBE3PgkqVKHoUS5FuNnRLk9sVv6ZtDCS7N2G6ANePs8EycMYXr25nNknC1yTa12vcSE1q5cNoNeFQbxmcPArgB2h2f7twTnJ9JmBRLLqaUanjXtLe1Wq8eF7YyMGZUQoxj2TcfvLNMqBUoDBk3gBpskXFhpyfh4B3cmZj7rA3hQxyQq6ZhbQQ4NHX7CizupvSx8Ro4Kn3msaj4\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      165229773440,\n      2345520,\n      1343280,\n      0,\n      1252800,\n      4134240,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      165231160440,\n      0,\n      1343280,\n      953520,\n      1252800,\n      4134240,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 6,\n            \"accounts\": [\n              0,\n              3\n            ],\n            \"data\": \"11117UcthqATmHRa77Wg3s82tM6xxYxd7PiZ2oZ4h1ZRQ3Q6anaT7puATNmrGRBPnEn6Uh\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: SetRootEip712\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program data: 0hm7digqPXeIfQP//GsSjZE3UEkZHuAjHpvY5Dh1jspiXb/QnK79hQH+/GgAAAAAAAAAAFvuOPs7hiam+/CQoroqEyiPrjtrRaqBltmHvQYLpVUzBgAAAAAAAAAIAAAAAAAAAAA=\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 107367 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 107367\n  },\n  \"blockTime\": 1761336880,\n  \"slot\": 416847564\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-24-mcm-pause-unpause-bridge/artifacts/mcm-signatures-append.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"56zGzwrHv41w6tN3cJ9jeTtEES6TxnPCAXWoCf9gPCQAUjkEoSjqjWHwVv6wpTkRfsBcAvP4msr4WrdHYU79uxRv\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"jW6CxzynV2uwkiSqnRhexE3HvTJUfvnzd3XesW4ETR6\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"9usxoHhmhddnPZwiy8ZJVh8b9yjDs1WY5bQzUKkgP6g9\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"8JM1NbBrt3Xh3kxoE3gUoUhdacSAaBKUdPn3SULoy5MqoavKwgx6PuKAUnNVyHHSYyFvJ6BugKvySvMXZB21cd9nNn6qTE6HwLHMQfKr8eVNLuAKcsjy8wvdR4PgR9cdvRPamSd4RAmeMuXg6jZqok233WA8cpr5Nu3hGzzAzwQ93KjwQvFDfYDbAH7aH6QdL5SanES91nYzCmGNPxEdt4GK8XSGjQ3EP5HhDaGdwiR9wHkw13iaGTZ1q6GmSJbcyCbzUe61MRKM33AhW3GxrxBMtqNuYjDvd6t9wCNoXbnVQFgQkco7VdUJ5TGTbjDcRSqNchW3tmnMpeXqRUh6Uy3eX44HVdfm4JvLTbNqfdgPD1jNvhQCPpnU\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      165229783440,\n      2345520,\n      1141440\n    ],\n    \"postBalances\": [\n      165229778440,\n      2345520,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: AppendSignatures\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 8385 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 8385\n  },\n  \"blockTime\": 1761336849,\n  \"slot\": 416847482\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-24-mcm-pause-unpause-bridge/artifacts/mcm-signatures-finalize.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"55Kufm9g9YDhjxNcuFzPvkVNVHFLJ85K3GLuYHfb32zKiWm7iHQD7ZLbe8jWWKedUu338DeALK859PWAh4ADgPWd\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"jW6CxzynV2uwkiSqnRhexE3HvTJUfvnzd3XesW4ETR6\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"4pwedjTc4qJh9LM2njp7BDrJmkuhqt1JtUnKSGFnhezA\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"8VPNxavkg2Yj38NCocv5Cq5gNj6AXt2M4QRQjqgjJnXPoyHsmdy1UZDkYv4NhRzufW8fuNSsUQVPX5jgHb7f3TCydMQkfhmGNhYAtXpb\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      165229778440,\n      2345520,\n      1141440\n    ],\n    \"postBalances\": [\n      165229773440,\n      2345520,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: FinalizeSignatures\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 7571 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 7571\n  },\n  \"blockTime\": 1761336865,\n  \"slot\": 416847523\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-24-mcm-pause-unpause-bridge/artifacts/mcm-signatures-init.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"2kR6TL7XNeqLmxYCPykgmNZwY5AUWprc5ykj8J2g1MRaLUeaVT1i2AEUpZwqBKt3QXRAL1Ey7Dkj6J3yJzHbRafZ\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"jW6CxzynV2uwkiSqnRhexE3HvTJUfvnzd3XesW4ETR6\",\n        \"11111111111111111111111111111111\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"EBju6VuMqULGPotdgJoAg8N5at8Rb2TXGKwdh7vPdK2D\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 3,\n          \"accounts\": [\n            1,\n            0,\n            2\n          ],\n          \"data\": \"2QCcPn6AhHR9Zi4mhnFE53M8tJopZFLmSWFEPUWVFoNxRRu5UeGEiNaowk44gj2rK7ywhfFDU5HCUHUEoZdBzKWGz18fbgAfZG13pHUKLN\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      165232133960,\n      0,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      165229783440,\n      2345520,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 2,\n            \"accounts\": [\n              0,\n              1\n            ],\n            \"data\": \"11112nodbJCN8fXPKGyCu9NpWW4Z1ZkxMmEywtSX6cwUwwiUiy2t2NJ1N7s3c1VyVFW6Sm\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: InitSignatures\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 10985 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 10985\n  },\n  \"blockTime\": 1761336834,\n  \"slot\": 416847443\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-24-mcm-pause-unpause-bridge/artifacts/mcm-unpause-proposal-execute.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"2dV1McFJFkceBdqUqe6Nd2tgVNE5ts8ZBTS2p38fp4mu3DngcpRZCeeNbU2KzNwWUnZ8pY9uUnMEVktqo9CZCLfd\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 4\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n        \"9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN\",\n        \"4nLSFFbRMa1dYz5kE5nNrujqjiGeMh1yMfXuP4qDGZ2g\",\n        \"DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S\",\n        \"7c6mteAcTXaQ1MFBCrnuzoZVTTAEfZwa6wgy4bqX3KXC\",\n        \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"ELkd4BRz6THKeiUBrrzQPZRkCcZVx8UXcUeEbXnK7dSj\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 7,\n          \"accounts\": [\n            1,\n            4,\n            2,\n            5,\n            6,\n            0,\n            3,\n            6\n          ],\n          \"data\": \"3XtzmXSf21G7ZgSaukdCPnKeKSpmU4LsofeemapAhJezh47KjzKQdAh5tmeJ3rjtfzTC92rH6hGxoWNTJqUsvcpKZrae9YQLG9VYGDTPbHZKyrqzXJz5ybUEqcETfAm4NoLWqqxvcukLXiUM\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      165231155440,\n      4134240,\n      1252800,\n      4565760,\n      1343280,\n      1141440,\n      0,\n      1141440\n    ],\n    \"postBalances\": [\n      165231150440,\n      4134240,\n      1252800,\n      4565760,\n      1343280,\n      1141440,\n      0,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 5,\n            \"accounts\": [\n              3,\n              6\n            ],\n            \"data\": \"2WBxVujLscd9h\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: Execute\",\n      \"Program 7c6mteAcTXaQ1MFBCrnuzoZVTTAEfZwa6wgy4bqX3KXC invoke [2]\",\n      \"Program log: Instruction: SetPauseStatus\",\n      \"Program 7c6mteAcTXaQ1MFBCrnuzoZVTTAEfZwa6wgy4bqX3KXC consumed 5974 of 179120 compute units\",\n      \"Program 7c6mteAcTXaQ1MFBCrnuzoZVTTAEfZwa6wgy4bqX3KXC success\",\n      \"Program data: 3Q/UHSP8/04HAAAAAAAAAGIj+oCz+AVJqaxPHe6lTjmnSqj6j3SmITFGBxZRnU+PCQAAAHYZkdly0eyRAA==\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 32483 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 32483\n  },\n  \"blockTime\": 1761336999,\n  \"slot\": 416847874\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-24-mcm-pause-unpause-bridge/proposal.json",
    "content": "{\n  \"multisigId\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n  \"validUntil\": 1761410561,\n  \"instructions\": [\n    {\n      \"programId\": \"7c6mteAcTXaQ1MFBCrnuzoZVTTAEfZwa6wgy4bqX3KXC\",\n      \"data\": \"dhmR2XLR7JEB\",\n      \"accounts\": [\n        {\n          \"pubkey\": \"4nLSFFbRMa1dYz5kE5nNrujqjiGeMh1yMfXuP4qDGZ2g\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        }\n      ]\n    },\n    {\n      \"programId\": \"7c6mteAcTXaQ1MFBCrnuzoZVTTAEfZwa6wgy4bqX3KXC\",\n      \"data\": \"dhmR2XLR7JEA\",\n      \"accounts\": [\n        {\n          \"pubkey\": \"4nLSFFbRMa1dYz5kE5nNrujqjiGeMh1yMfXuP4qDGZ2g\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        }\n      ]\n    }\n  ],\n  \"rootMetadata\": {\n    \"chainId\": 0,\n    \"multisig\": \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n    \"preOpCount\": 6,\n    \"postOpCount\": 8,\n    \"overridePreviousRoot\": false\n  }\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-24-mcm-program-upgrade/.gitignore",
    "content": "chainlink-ccip/\n"
  },
  {
    "path": "solana/devnet/2025-10-24-mcm-program-upgrade/FACILITATORS.md",
    "content": "# Facilitator Instructions: MCM Program Upgrade\n\n## Overview\n\nAs a Facilitator, you are responsible for:\n1. Preparing the program buffer\n2. Creating the MCM proposal\n3. Committing and pushing the proposal to the repo\n4. Coordinating with Signers\n5. Collecting signatures\n6. Executing the proposal on-chain\n\n## Prerequisites\n\n```bash\ncd contract-deployments\ngit pull\ncd solana/devnet/2025-10-22-mcm-upgrade\nmake deps\n```\n\nEnsure you have:\n- Solana CLI installed and configured\n- `mcmctl` installed (via `make deps`)\n- `eip712sign` installed (via `make deps`)\n- A funded Solana wallet configured\n- The compiled program binary (`.so` file) ready\n\n## Phase 1: Prepare the Program Buffer\n\n### 1.1. Obtain the compiled program\n\nGet the compiled program binary (`.so` file) that contains the new version of the program.\n\n### 1.2. Update .env for buffer upload\n\nSet the following in `.env`:\n\n```bash\nPROGRAM=<program-address>\nPROGRAM_BINARY=<path-to-.so-file>\n```\n\n### 1.3. Write buffer\n\n```bash\nmake write-buffer\n```\n\nThis will output a buffer address. Copy it.\n\n### 1.4. Update .env and transfer buffer authority\n\nSet the following in `.env`:\n\n```bash\nBUFFER=<buffer-address-from-write-buffer>\nMCM_AUTHORITY=<mcm-authority-pda>\nSPILL=<your-wallet-address>\n```\n\nThen transfer buffer authority to MCM:\n\n```bash\nmake transfer-buffer\n```\n\nThe buffer is now controlled by the MCM authority.\n\n## Phase 2: Create and Commit MCM Proposal\n\n### 2.1. Update .env for proposal generation\n\nSet the following in `.env`:\n\n```bash\nMCM_PROGRAM_ID=<mcm-program-id>\nMCM_MULTISIG_ID=<multisig-id>\nMCM_VALID_UNTIL=<unix-timestamp>\nMCM_OVERRIDE_PREVIOUS_ROOT=false  # or true if needed\nMCM_PROPOSAL_OUTPUT=proposal.json\n```\n\n### 2.2. Generate proposal\n\n```bash\nmake mcm-proposal\n```\n\nThis creates the proposal file (default `proposal.json` or whatever is set in `MCM_PROPOSAL_OUTPUT`).\n\n### 2.3. Review proposal\n\nOpen and review the generated proposal file to verify:\n- Program address matches `PROGRAM`\n- Buffer address matches `BUFFER`\n- Spill address is correct\n- Valid until timestamp is appropriate\n- All instructions are correct\n\n### 2.4. Commit and push\n\n```bash\ngit add .\ngit commit -m \"Add MCM program upgrade proposal for <program-name>\"\ngit push\n```\n\n## Phase 3: Coordinate with Signers and Collect Signatures\n\nCoordinate with Signers to collect their signatures. Each Signer will run `make mcm-sign` and provide their signature.\n\nConcatenate all signatures in the format: `0xSIG1,0xSIG2,0xSIG3`\n\nOnce you have all required signatures, update `.env`:\n\n```bash\nMCM_SIGNATURES_COUNT=<number-of-signatures>\nMCM_SIGNATURES=0xSIG1,0xSIG2,0xSIG3\n```\n\n## Phase 4: Execute Proposal\n\n```bash\nmake mcm-all\n```\n\nThis command executes all the necessary steps:\n- Initialize signatures account\n- Append signatures\n- Finalize signatures\n- Set root\n- Execute proposal\n\n## Phase 5: Verification\n\n### 5.1. Verify program on Solana Explorer\n\nVisit the Solana Explorer for your network:\n- Mainnet: https://explorer.solana.com/\n- Devnet: https://explorer.solana.com/?cluster=devnet\n\nSearch for the program address (`$PROGRAM`) and verify:\n- The \"Last Deployed Slot\" is recent\n- The upgrade authority is still `MCM_AUTHORITY`\n- The execution transaction is visible in history\n\n### 5.2. Update README\n\nUpdate the Status line in README.md to:\n\n```markdown\nStatus: [EXECUTED](https://explorer.solana.com/tx/<transaction-signature>?cluster=<network>)\n```\n\nReplace `<transaction-signature>` with the execution transaction signature and `<network>` with the appropriate cluster (devnet, mainnet-beta, etc.).\n"
  },
  {
    "path": "solana/devnet/2025-10-24-mcm-program-upgrade/Makefile",
    "content": "include ../.env\ninclude .env\n\ninclude ../../Makefile\n\n##\n# Project Setup\n##\n\n.PHONY: install-rust\ninstall-rust:\n\tcurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y\n\n.PHONY: install-solana-cli\ninstall-solana-cli:\n\tcurl -sSfL https://release.anza.xyz/v$(SOLANA_VERSION)/install | sh\n\n.PHONY: install-anchor\ninstall-anchor:\n\tcargo install --git https://github.com/coral-xyz/anchor --tag v$(ANCHOR_VERSION) anchor-cli --force\n\n.PHONY: setup-deps\nsetup-deps: install-rust install-solana-cli install-anchor\n\n##\n# MCM Program Upgrade Workflow\n##\n\n# Step 1: Clone and patch the MCM program\n.PHONY: step1-clone-patch-and-build\nstep1-clone-patch-and-build:\n\t@echo \"==> Step 1: Cloning and patching the MCM program...\"\n\trm -rf chainlink-ccip\n\tgit clone --filter=blob:none $(MCM_REPO) chainlink-ccip\n\tcd chainlink-ccip && \\\n\t\tgit checkout $(MCM_COMMIT) && \\\n\t\tgit apply ../$(ID_PATCH)\n\tcd chainlink-ccip/chains/solana/contracts && \\\n\t\tanchor build -p mcm\n\n# Step 2: Write program buffer\n.PHONY: step2-write-buffer\nstep2-write-buffer:\n\t@echo \"==> Step 2: Writing program buffer...\"\n\tmake sol-write-buffer\n\n# Step 3: Transfer buffer authority to MCM\n.PHONY: step3-transfer-buffer\nstep3-transfer-buffer:\n\t@echo \"==> Step 2: Transferring buffer authority to MCM...\"\n\tmake sol-set-buffer-authority\n\n# Step 3.5: Generate set-buffer-authority artifacts (use solana explorer to get the signature of the set-buffer-authority tx)\n.PHONY: step3.5-generate-set-buffer-authority-artifacts\nstep3.5-generate-set-buffer-authority-artifacts:\n\t@echo \"==> Step 3.5: Generating MCM set-buffer-authority artifacts...\"\n\tmake sol-confirm SIG=$(SET_BUFFER_AUTHORITY_SIGNATURE) output=artifacts/set-buffer-authority-artifacts.json\n\n# Step 4: Create upgrade proposal\n.PHONY: step4-create-proposal\nstep4-create-proposal:\n\t@echo \"==> Step 4: Creating MCM upgrade proposal...\"\n\tmake mcm-proposal-loader-v3-upgrade\n\n# Step 5: Sign proposal\n.PHONY: sign\nsign:\n\t@echo \"==> Step 5: Signing proposal...\"\n\tmake mcm-sign\n\n# Step 6: Execute proposal (signatures + set-root + execute)\n.PHONY: step6-execute-proposal\nstep6-execute-proposal:\n\t@echo \"==> Step 6: Executing MCM proposal...\"\n\tmake mcm-signatures-all\n\tmake mcm-proposal-all\n"
  },
  {
    "path": "solana/devnet/2025-10-24-mcm-program-upgrade/README.md",
    "content": "# MCM Program Upgrade via Multi-Chain Multisig\n\nStatus: [EXECUTED](https://solscan.io/tx/5tR6S66cJri7xyCBaw6UxS1hVtyyb49McHJ5aoUxvzKA3jqMUA71e8f83MCHaLo9CXDBLrwA7vD16QqNWSte51VU?cluster=devnet)\n\n## Description\n\nThis task upgrades a Solana program using the Multi-Chain Multisig (MCM) governance system. The upgrade is performed by uploading a new program buffer and creating an MCM proposal that, once signed and executed, will upgrade the program to the new version.\n\n## Procedure for Signers\n\n### 1. Update repo\n\n```bash\ncd contract-deployments\ngit pull\ncd solana/devnet/2025-10-22-mcm-upgrade\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The **Ethereum application** needs to be opened on Ledger with the message \"Application is ready\".\n\n### 3. Review the proposal\n\nThe Facilitator will provide you with the proposal details. Review:\n- Program being upgraded: `PROGRAM`\n- Buffer address: `BUFFER`\n- MCM Program ID: `MCM_PROGRAM_ID`\n- Valid until timestamp: `MCM_VALID_UNTIL`\n\nThese values are in the `.env` file and the generated `proposal.json`.\n\n### 4. Sign the proposal\n\n```bash\nmake sign\n```\n\nThis command will:\n1. Display the proposal hash\n2. Prompt you to sign on your Ledger\n3. Output your signature\n\n**Verify on your Ledger**: Check that the data you're signing matches the proposal hash displayed in the terminal.\n\nAfter signing, you will see output like:\n\n```\nSignature: 1234567890abcdef...\n```\n\n### 5. Send signature to Facilitator\n\nCopy the **entire signature** and send it to the Facilitator via your secure communication channel.\n\n**That's it!** The Facilitator will collect all signatures and execute the proposal.\n\n## For Facilitators\n\nSee [FACILITATORS.md](./FACILITATORS.md) for complete instructions on preparing, executing, and verifying this task.\n"
  },
  {
    "path": "solana/devnet/2025-10-24-mcm-program-upgrade/artifacts/mcm-proposal-execute.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"5tR6S66cJri7xyCBaw6UxS1hVtyyb49McHJ5aoUxvzKA3jqMUA71e8f83MCHaLo9CXDBLrwA7vD16QqNWSte51VU\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 5\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n        \"9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN\",\n        \"Ca93fFb5tQR14XzNpvBi6WNTuPHWZLNwoZ3hu6EErgDF\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\",\n        \"BqBKeo3AuEwbuXKn6z8VCuUhdXtW1Hre19kNigryayid\",\n        \"AFs1LCbodhvwpgX3u3URLsud6R1XMSaMiQ5LtXw4GKYT\",\n        \"DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S\",\n        \"BPFLoaderUpgradeab1e11111111111111111111111\",\n        \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\",\n        \"SysvarRent111111111111111111111111111111111\",\n        \"SysvarC1ock11111111111111111111111111111111\"\n      ],\n      \"recentBlockhash\": \"BFtzmrTRVA8v83ZuKCpLeA33gQxGxa77iipAEHyntGAc\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 4,\n          \"accounts\": [\n            1,\n            7,\n            2,\n            8,\n            9,\n            0,\n            3,\n            4,\n            5,\n            6,\n            10,\n            11,\n            9\n          ],\n          \"data\": \"65zRtZe3ydJWJeJJEUXq3RVmLzRGFdSm94DUpibi5UNcLWiV78xjAha9DLJrUHx7qbeTYXTXtAFLMuefzYMzfc5iVepi9FUE3U6FYpncB7muXoDFV9QhunR9BZ8cAg37JHT1hxv1a\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      165336814160,\n      4134240,\n      1252800,\n      6670665840,\n      1141440,\n      3367672560,\n      3435925880,\n      1343280,\n      1,\n      0,\n      1009200,\n      1169280\n    ],\n    \"postBalances\": [\n      165336809160,\n      4134240,\n      1252800,\n      6670665840,\n      1141440,\n      0,\n      6803598440,\n      1343280,\n      1,\n      0,\n      1009200,\n      1169280\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 8,\n            \"accounts\": [\n              3,\n              4,\n              5,\n              6,\n              10,\n              11,\n              9\n            ],\n            \"data\": \"5Sxr3\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: Execute\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [2]\",\n      \"Upgraded program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 success\",\n      \"Program data: 3Q/UHSP8/04DAAAAAAAAAAKo9pFOiKGw4hAVPvdjrisAwrk9FsEk0sBTehAEgAAABAAAAAMAAAA=\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 46434 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 46434\n  },\n  \"blockTime\": 1761327574,\n  \"slot\": 416823343\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-24-mcm-program-upgrade/artifacts/mcm-proposal-set-root.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"4a1UXZkH66LZbubLeyJXpBkLcYZFYid7fu8MWRx6D4vawqewziy4XC6vhhuVtnNZt4MJYA1g1zE3THvoT9oAxAbk\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 3\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"yb8oLewR5V9gidvHEqUj81sUF8ppdS2traHQenD2z7N\",\n        \"DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S\",\n        \"A8yzGTMsY1yDa7T3LLszXyZcMVVTTii5nydkVrQgeqX6\",\n        \"9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN\",\n        \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n        \"11111111111111111111111111111111\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"GJ5Vdx4iBbYxcqSdAXKLLguXiC9msg4AJmxbV9CerhhF\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 7,\n          \"accounts\": [\n            1,\n            2,\n            3,\n            4,\n            5,\n            0,\n            6\n          ],\n          \"data\": \"K9UBFxzzmUF86odsdKWb6A2fuzRXx1VQLqWaNmspdxDzEh8pmM5J9ne7cdHwcQb8Gz5WRqZq2riZi1vDtL4y5GVVAYxPhEcTpQsTqecT3bsea1ozu2LzCdHM8oEz7M3btpoVUSugi331rroMu4zu7YAfcHiuVtTkPUnoZUngTX3ujHypgBqSCn2FxZ1tJDJvajnZkzPJswTEJoSHyrsLzQ4fuYykt6A1giru64U\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      165335427160,\n      2345520,\n      1343280,\n      0,\n      1252800,\n      4134240,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      165336814160,\n      0,\n      1343280,\n      953520,\n      1252800,\n      4134240,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 6,\n            \"accounts\": [\n              0,\n              3\n            ],\n            \"data\": \"11117UcthqATmHRa77Wg3s82tM6xxYxd7PiZ2oZ4h1ZRQ3Q6anaT7puATNmrGRBPnEn6Uh\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: SetRoot\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program data: 0hm7digqPXd8jy1Kgy7cRLXCkTYNC66mUa89v0d7Y7rHXLjIQE6bzcjm/GgAAAAAAAAAAFvuOPs7hiam+/CQoroqEyiPrjtrRaqBltmHvQYLpVUzAwAAAAAAAAAEAAAAAAAAAAA=\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 103777 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 103777\n  },\n  \"blockTime\": 1761327558,\n  \"slot\": 416823302\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-24-mcm-program-upgrade/artifacts/mcm-signatures-append.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"4rahewGW1Jq2TJri6XQf6sybgPQxkSFD2dzNCNUsYsEmadwYqto8oUoKZQ8cEd6cUX6s86QvRTyVx5UTy4bXyQEv\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"yb8oLewR5V9gidvHEqUj81sUF8ppdS2traHQenD2z7N\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"8SZ8rG2GnAJ9y2cXwdmWYMfvT5LeweedyAbxtkt2qw8H\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"8JM1NbBrt3Xh3kxoE3gUoUhdacSAaBKUdPn3SULoy5MqoavKwgx6PuK8SxfmCFAVRVgZNa2JnJydTwmHvP65bQ5P6XTytBkTcwc764DK38nSLVGphc6RrXMXLCDm24KgDZvNxAVxDfvEQwWxfj1EUBp6vJURdL6H6obYUP4LVfQo53LDP7TfmNw78xQnkkNYM1k87oHcriMYEiDF7NLLyJ6cQa3pKrc6XNMxfMjzhExMtt6hwteJWtrrsBradj6nJEqRSdMFJaozeCU7k7a6ZiE7Mu4D623pv1UHNRgwbq7D32Ys7UpkKfXU32wGQv7WwoGhFppzu8hCRXx1Xc1b2W1Vd33ZYazTUgnzk1TURZ7GuAc5pbyMQRQe\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      165335437160,\n      2345520,\n      1141440\n    ],\n    \"postBalances\": [\n      165335432160,\n      2345520,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: AppendSignatures\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 5385 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 5385\n  },\n  \"blockTime\": 1761327528,\n  \"slot\": 416823225\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-24-mcm-program-upgrade/artifacts/mcm-signatures-finalize.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"2XPpnxCZf4dBbh5jy9gxuw8MhkZAEYU8aGtBLMQyhB4VzmDG5fzj1WWKCCjDfCSNZrbvNsJwf96dQ3n5p9UhoiKY\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"yb8oLewR5V9gidvHEqUj81sUF8ppdS2traHQenD2z7N\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"CR6V2rdhzMQXomT8UVN2AEj9wcSq8pabwwHwg3KuGPNL\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"8VPNxavkg2Yj38NCocv5Cq5gNj6AXt2M4QRQjqgjJnXPoyHsmdy1UZDfJCn1PWQv7VTBXmGAAyA9tLwh5KfNrEGVvC32eZBuhhNbvdfu\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      165335432160,\n      2345520,\n      1141440\n    ],\n    \"postBalances\": [\n      165335427160,\n      2345520,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: FinalizeSignatures\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 4570 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 4570\n  },\n  \"blockTime\": 1761327542,\n  \"slot\": 416823262\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-24-mcm-program-upgrade/artifacts/mcm-signatures-init.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"YKhSCTnHpXgKjQNnNdmVpdH91s8t8HB46MA6mo2iVTsLwYYMcRucdv6Rmia6JgDK3i6PSGnrpSuxE89F3k4nc7b\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"yb8oLewR5V9gidvHEqUj81sUF8ppdS2traHQenD2z7N\",\n        \"11111111111111111111111111111111\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"BabRafUhdQf6M4zX1EqRTGacmPZ3oKLKwyqsvnHK9n67\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 3,\n          \"accounts\": [\n            1,\n            0,\n            2\n          ],\n          \"data\": \"2QCcPn6AhHR9Zi4mhnFE53M8tJopZFLmSWFEPUWVFoNxRRu5UeGEiNaoYZ7rSfvLH6gwQRsvBnKPa7KMq3UyzqyAXhTHiD6pL1rKank8yp\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      165337787680,\n      0,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      165335437160,\n      2345520,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 2,\n            \"accounts\": [\n              0,\n              1\n            ],\n            \"data\": \"11112nodbJCN8fXPKGyCu9NpWW4Z1ZkxMmEywtSX6cwUwwiUiy2t2NJ1N7s3c1VyVFW6Sm\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: InitSignatures\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 7983 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 7983\n  },\n  \"blockTime\": 1761327513,\n  \"slot\": 416823187\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-24-mcm-program-upgrade/artifacts/set-buffer-authority-artifacts.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"3ULQf5AQaEyBzwMREibauZ3j8vnFBBsFNR8Py9qqM5qA66VfZTFmNNQMc9MyUMEZLtp2ytWHcdjS3NtbwQdZ74wr\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"BqBKeo3AuEwbuXKn6z8VCuUhdXtW1Hre19kNigryayid\",\n        \"BPFLoaderUpgradeab1e11111111111111111111111\",\n        \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\"\n      ],\n      \"recentBlockhash\": \"2sDMtmZP8kZkmrCnNfnCENE21cbsyT7244ANBy5RqwF8\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0,\n            3\n          ],\n          \"data\": \"6vx8P\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      165337792680,\n      3367672560,\n      1,\n      0\n    ],\n    \"postBalances\": [\n      165337787680,\n      3367672560,\n      1,\n      0\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]\",\n      \"New authority Some(2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ)\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 2370\n  },\n  \"blockTime\": 1761325291,\n  \"slot\": 416817432\n}\n"
  },
  {
    "path": "solana/devnet/2025-10-24-mcm-program-upgrade/patches/id.patch",
    "content": "diff --git a/chains/solana/contracts/programs/mcm/src/lib.rs b/chains/solana/contracts/programs/mcm/src/lib.rs\nindex a2e1d0b3..f2420a45 100644\n--- a/chains/solana/contracts/programs/mcm/src/lib.rs\n+++ b/chains/solana/contracts/programs/mcm/src/lib.rs\n@@ -1,6 +1,6 @@\n use anchor_lang::prelude::*;\n \n-declare_id!(\"5vNJx78mz7KVMjhuipyr9jKBKcMrKYGdjGkgE4LUmjKk\");\n+declare_id!(\"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\");\n \n use program::Mcm;\n \n"
  },
  {
    "path": "solana/devnet/2025-10-24-mcm-program-upgrade/proposal.json",
    "content": "{\n  \"multisigId\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n  \"validUntil\": 1761404616,\n  \"instructions\": [\n    {\n      \"programId\": \"BPFLoaderUpgradeab1e11111111111111111111111\",\n      \"data\": \"AwAAAA==\",\n      \"accounts\": [\n        {\n          \"pubkey\": \"Ca93fFb5tQR14XzNpvBi6WNTuPHWZLNwoZ3hu6EErgDF\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"BqBKeo3AuEwbuXKn6z8VCuUhdXtW1Hre19kNigryayid\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"AFs1LCbodhvwpgX3u3URLsud6R1XMSaMiQ5LtXw4GKYT\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"SysvarRent111111111111111111111111111111111\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        },\n        {\n          \"pubkey\": \"SysvarC1ock11111111111111111111111111111111\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        },\n        {\n          \"pubkey\": \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        }\n      ]\n    }\n  ],\n  \"rootMetadata\": {\n    \"chainId\": 0,\n    \"multisig\": \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n    \"preOpCount\": 3,\n    \"postOpCount\": 4,\n    \"overridePreviousRoot\": false\n  }\n}"
  },
  {
    "path": "solana/devnet-alpha/2025-10-20-deploy-bridge/.gitignore",
    "content": "bridge/\n*keypair.json\n"
  },
  {
    "path": "solana/devnet-alpha/2025-10-20-deploy-bridge/Makefile",
    "content": "include ../.env\ninclude .env\n\ninclude ../../Makefile\n\n.PHONY: install-rust\ninstall-rust:\n\tcurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y\n\trustup toolchain install $(RUST_TOOLCHAIN) && \\\n    rustup default $(RUST_TOOLCHAIN)\n\n.PHONY: install-solana-cli\ninstall-solana-cli:\n\tcurl -sSfL https://release.anza.xyz/v$(SOLANA_VERSION)/install | sh\n\n.PHONY: install-anchor\ninstall-anchor:\n\tcargo install --git https://github.com/coral-xyz/anchor --tag v$(ANCHOR_VERSION) anchor-cli --force\n\n.PHONY: install-bun\ninstall-bun:\n\tcurl -fsSL https://bun.sh/install | bash\n\n.PHONY: deps\ndeps: install-rust install-solana-cli install-anchor install-bun\n\n##\n# Deployment Workflow\n##\n\n# Step 1: Clone and build bridge programs\n.PHONY: step1-clone-bridge\nstep1-clone-bridge:\n\t@echo \"==> Step 1: Cloning and building bridge programs...\"\n\trm -rf bridge\n\tgit clone --filter=blob:none $(BRIDGE_REPO) bridge\n\tcd bridge && \\\n\t\tgit checkout $(BRIDGE_COMMIT)\n\tcd bridge/clients/ts && \\\n\t\tbun install && \\\n\t\tbun run build\n\tcd bridge/scripts && \\\n\t\tbun install\n\t\n# Step 2: Build programs\n.PHONY: step2-build-programs\nstep2-build-programs:\n\t@echo \"==> Step 2: Building bridge programs...\"\n\tcd bridge/solana && \\\n\t\tanchor keys sync && \\\n\t\tcp target/deploy/bridge-keypair.json ../../bridge-keypair.json && \\\n\t\tcp target/deploy/base_relayer-keypair.json ../../base_relayer-keypair.json\n\tcd bridge/scripts && \\\n\t\tbun cli sol build \\\n\t\t--deploy-env $(DEPLOY_ENV) \\\n\t\t--bridge-program-kp ../../bridge-keypair.json \\\n\t\t--base-relayer-program-kp ../../base_relayer-keypair.json\n\n# Step 3: Deploy programs\n.PHONY: step3-deploy-programs\nstep3-deploy-programs:\n\t@echo \"==> Step 3: Deploying programs...\"\n\tmake sol-confirm-cmd \\\n\t\tcmd=\"cd bridge/scripts && \\\n\t\t\tbun cli sol deploy \\\n\t\t\t--deploy-env $(DEPLOY_ENV) \\\n\t\t\t--program bridge \\\n\t\t\t--program-kp ../../bridge-keypair.json \\\n\t\t\t--deployer-kp $(DEPLOYER_KP)\" \\\n\t\toutput=artifacts/bridge-deploy-artifacts.json\n\tmake sol-confirm-cmd \\\n\t\tcmd=\"cd bridge/scripts && \\\n\t\t\tbun cli sol deploy \\\n\t\t\t--deploy-env $(DEPLOY_ENV) \\\n\t\t\t--program base-relayer \\\n\t\t\t--program-kp ../../base_relayer-keypair.json \\\n\t\t\t--deployer-kp $(DEPLOYER_KP)\" \\\n\t\toutput=artifacts/base-relayer-deploy-artifacts.json\n\n# Step 4: Initialize programs\n.PHONY: step4-init-programs\nstep4-init-programs:\n\t@echo \"==> Step 4: Initializing programs...\"\n\tmake sol-confirm-cmd \\\n\t\tcmd=\"cd bridge/scripts && \\\n\t\t\tbun cli sol bridge initialize \\\n\t\t\t--program-id $(BRIDGE_PROGRAM_ID) \\\n\t\t\t--rpc-url $(SOL_RPC_URL) \\\n\t\t\t--payer-kp $(DEPLOYER_KP) \\\n\t\t\t--guardian $(GUARDIAN) \\\n\t\t\t--remote-sol-address $(SOL_REMOTE_TOKEN) \\\n\t\t\t--eip1559-target $(BRIDGE_EIP1559_TARGET) \\\n\t\t\t--eip1559-denominator $(BRIDGE_EIP1559_DENOMINATOR) \\\n\t\t\t--eip1559-window-duration-seconds $(BRIDGE_EIP1559_WINDOW_DURATION_SECONDS) \\\n\t\t\t--eip1559-minimum-base-fee $(BRIDGE_EIP1559_MINIMUM_BASE_FEE) \\\n\t\t\t--gas-per-call $(BRIDGE_GAS_PER_CALL) \\\n\t\t\t--gas-cost-scaler $(BRIDGE_GAS_COST_SCALER) \\\n\t\t\t--gas-cost-scaler-dp $(BRIDGE_GAS_COST_SCALER_DP) \\\n\t\t\t--gas-fee-receiver $(BRIDGE_GAS_FEE_RECEIVER) \\\n\t\t\t--protocol-block-interval-requirement $(BRIDGE_PROTOCOL_BLOCK_INTERVAL_REQUIREMENT) \\\n\t\t\t--buffer-max-call-buffer-size $(BRIDGE_BUFFER_MAX_CALL_BUFFER_SIZE) \\\n\t\t\t--base-oracle-threshold $(BRIDGE_BASE_ORACLE_THRESHOLD) \\\n\t\t\t--base-oracle-signer-count $(BRIDGE_BASE_ORACLE_SIGNER_COUNT) \\\n\t\t\t--base-oracle-signers $(BRIDGE_BASE_ORACLE_SIGNERS) \\\n\t\t\t--partner-oracle-required-threshold $(BRIDGE_PARTNER_ORACLE_REQUIRED_THRESHOLD)\"\n\t\toutput=artifacts/init-bridge.json\n\tmake sol-confirm-cmd \\\n\t\tcmd=\"cd bridge/scripts && \\\n\t\t\tbun cli sol base-relayer initialize \\\n\t\t\t--program-id $(BASE_RELAYER_PROGRAM_ID) \\\n\t\t\t--rpc-url $(SOL_RPC_URL) \\\n\t\t\t--payer-kp $(DEPLOYER_KP) \\\n\t\t\t--guardian $(GUARDIAN) \\\n\t\t\t--eip1559-target $(BASE_RELAYER_EIP1559_TARGET) \\\n\t\t\t--eip1559-denominator $(BASE_RELAYER_EIP1559_DENOMINATOR) \\\n\t\t\t--eip1559-window-duration-seconds $(BASE_RELAYER_EIP1559_WINDOW_DURATION_SECONDS) \\\n\t\t\t--eip1559-minimum-base-fee $(BASE_RELAYER_EIP1559_MINIMUM_BASE_FEE) \\\n\t\t\t--min-gas-limit-per-message $(BASE_RELAYER_MIN_GAS_LIMIT_PER_MESSAGE) \\\n\t\t\t--max-gas-limit-per-message $(BASE_RELAYER_MAX_GAS_LIMIT_PER_MESSAGE) \\\n\t\t\t--gas-cost-scaler $(BASE_RELAYER_GAS_COST_SCALER) \\\n\t\t\t--gas-cost-scaler-dp $(BASE_RELAYER_GAS_COST_SCALER_DP) \\\n\t\t\t--gas-fee-receiver $(BASE_RELAYER_GAS_FEE_RECEIVER)\" \\\n\t\toutput=artifacts/init-base-relayer.json\n\n# Step 5: Print SOL vault\n.PHONY: step5-print-sol-vault\nstep5-print-sol-vault:\n\t@echo \"==> Step 5: Printing SOL vault...\"\n\tcd bridge/scripts && \\\n\t\tbun cli sol bridge sol-vault \\\n\t\t--bridge-program $(BRIDGE_PROGRAM_ID)\n\n# Step 6: Fund SOL vault\n.PHONY: step6-fund-sol-vault\nstep6-fund-sol-vault:\n\t@echo \"==> Step 6: Funding SOL vault...\"\n\tmake sol-transfer SOL_RECIPIENT=$(SOL_VAULT) output=artifacts/fund-sol-vault.json\n\n# Step 7: Fund the gas fee receiver\n.PHONY: step7-fund-gas-fee-receiver\nstep7-fund-gas-fee-receiver:\n\t@echo \"==> Step 7: Funding gas fee receiver...\"\n\tmake sol-transfer SOL_RECIPIENT=$(GAS_FEE_RECEIVER) output=artifacts/fund-gas-fee-receiver.json\n\n# Step 8: Transfer upgrade authorities of the bridge and base relayer programs\n.PHONY: step8-transfer-upgrade-authorities\nstep8-transfer-upgrade-authorities:\n\t@echo \"==> Step 8: Transferring upgrade authorities of the bridge and base relayer programs...\"\n\tmake sol-program-set-upgrade-authority \\\n\t\tSOL_PROGRAM_ID=$(BRIDGE_PROGRAM_ID) \\\n\t\tNEW_UPGRADE_AUTHORITY=$(GUARDIAN)\n\tmake sol-program-show SOL_PROGRAM_ID=$(BRIDGE_PROGRAM_ID)\n\tmake sol-program-set-upgrade-authority \\\n\t\tSOL_PROGRAM_ID=$(BASE_RELAYER_PROGRAM_ID) \\\n\t\tNEW_UPGRADE_AUTHORITY=$(GUARDIAN)\n\tmake sol-program-show SOL_PROGRAM_ID=$(BASE_RELAYER_PROGRAM_ID)\n\n# Step 9: Generate set-upgrade-authority artifacts (use solana explorer to get the signature of the set-upgrade-authority tx)\n.PHONY: step9-generate-set-upgrade-authorities-artifacts\nstep9-generate-set-upgrade-authorities-artifacts:\n\t@echo \"==> Step 8: Generating set-upgrade-authorities artifacts...\"\n\tmake sol-confirm SIG=$(SET_BRIDGE_UPGRADE_AUTHORITY_SIGNATURE) output=artifacts/set-bridge-upgrade-authority-artifacts.json\n\tmake sol-confirm SIG=$(SET_BASE_RELAYER_UPGRADE_AUTHORITY_SIGNATURE) output=artifacts/set-base-relayer-upgrade-authority-artifacts.json\n"
  },
  {
    "path": "solana/devnet-alpha/2025-10-20-deploy-bridge/artifacts/base-relayer-deploy-artifacts.json",
    "content": "{\n  \"confirmationStatus\": \"confirmed\",\n  \"transaction\": {\n    \"signatures\": [\n      \"V24Ff153Np2U5CGVfPVGWtVY883G9wfAoyXRv7mQFz5AVA2mM8hmBVGBhPhNwcHUfLYiEmVTshPWJj8YPesiF7G\",\n      \"4kK2SkCrT38HuSbXifut8rzwJ5bVUPUfnxk6LqBbgqX24ZK5ar8h3xbPnJXC39k9emABRGy4p63npsQ5DxC8xppU\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 2,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 4\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"ETsFnoWdJK8N7VJW6XXjiciyB2xeQfCXMQWNa85Zi9cn\",\n        \"231cgmSHMsD86HZaQQYp9Y6Zgzzg46o2xYJw4J4ecaxt\",\n        \"GbPeyrpcZx1QPnrB1igMPvDK7h6VFEhHR8JVaYGiGXb2\",\n        \"11111111111111111111111111111111\",\n        \"BPFLoaderUpgradeab1e11111111111111111111111\",\n        \"SysvarC1ock11111111111111111111111111111111\",\n        \"SysvarRent111111111111111111111111111111111\"\n      ],\n      \"recentBlockhash\": \"B3SSeTnqwUYQMXZmzSMoQt7KnjTnpqq7S7WLqCSvNEk1\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 4,\n          \"accounts\": [\n            0,\n            1\n          ],\n          \"data\": \"111184NuZo7gmbjwda8fGAim94roEJcdbYKd7Gdtpi6CbBByeanCr8u4EAFXLjnY2U8bjD\",\n          \"stackHeight\": null\n        },\n        {\n          \"programIdIndex\": 5,\n          \"accounts\": [\n            0,\n            3,\n            1,\n            2,\n            7,\n            6,\n            4,\n            0\n          ],\n          \"data\": \"3Bxs42J4x6iEtSZM\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 10000,\n    \"preBalances\": [\n      205032763880,\n      0,\n      2098391280,\n      0,\n      1,\n      1,\n      1169280,\n      1009200\n    ],\n    \"postBalances\": [\n      205031612440,\n      1141440,\n      0,\n      2098391280,\n      1,\n      1,\n      1169280,\n      1009200\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 1,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 4,\n            \"accounts\": [\n              0,\n              3,\n              2\n            ],\n            \"data\": \"11119qYqhtqT5NHTm27UYqYVeF4Lm2dwfwCnPkVvZ6nWdk5kZP2tzGt1VBLLyRd9W8hoWf\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program 11111111111111111111111111111111 invoke [1]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Deployed program ETsFnoWdJK8N7VJW6XXjiciyB2xeQfCXMQWNa85Zi9cn\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 2670\n  },\n  \"blockTime\": 1761084647,\n  \"slot\": 416191475\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-10-20-deploy-bridge/artifacts/bridge-deploy-artifacts.json",
    "content": "{\n  \"confirmationStatus\": \"confirmed\",\n  \"transaction\": {\n    \"signatures\": [\n      \"5uHCbr3GRZqywghfi7mW5iaGxqBdw3BkMEpXcyQeADgYDBY8R7aAoBEdvV5eYKJEXpZoq3V3EybD3HfGjkzro3YM\",\n      \"4vqLMGm6kmERsRDSfA3cEPYEC4RnMm2ZdbiS7yYG5zA7S9Yz4tfRHTavfQgCCARsJgr6Hick1pa9SJykvuATYHd9\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 2,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 4\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm\",\n        \"EkPiugm4hAm5pMPSoM9aTtDNxUdDXLcaVgttUQvksqkj\",\n        \"GxwFaRt1gSfS7XnVrg1h7iPsL8aUGSeYKYFEMsKPCEmz\",\n        \"11111111111111111111111111111111\",\n        \"BPFLoaderUpgradeab1e11111111111111111111111\",\n        \"SysvarC1ock11111111111111111111111111111111\",\n        \"SysvarRent111111111111111111111111111111111\"\n      ],\n      \"recentBlockhash\": \"G95Y4bgACv87Gb9ddcMYZnUxLKgFhKm1PAVKFQowjSHq\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 4,\n          \"accounts\": [\n            0,\n            1\n          ],\n          \"data\": \"111184NuZo7gmbjwda8fGAim94roEJcdbYKd7Gdtpi6CbBByeanCr8u4EAFXLjnY2U8bjD\",\n          \"stackHeight\": null\n        },\n        {\n          \"programIdIndex\": 5,\n          \"accounts\": [\n            0,\n            2,\n            1,\n            3,\n            7,\n            6,\n            4,\n            0\n          ],\n          \"data\": \"3Bxs4WN6jLMpcx3h\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 10000,\n    \"preBalances\": [\n      207133806600,\n      0,\n      0,\n      6120992880,\n      1,\n      1,\n      1169280,\n      1009200\n    ],\n    \"postBalances\": [\n      207132655160,\n      1141440,\n      6120992880,\n      0,\n      1,\n      1,\n      1169280,\n      1009200\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 1,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 4,\n            \"accounts\": [\n              0,\n              2,\n              3\n            ],\n            \"data\": \"111159HsydaU3uzqG2hq9Sx6KfvrezAjfEmE3BdaWEuGA82n6u1foDH3rgMpomPUey4oS7\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program 11111111111111111111111111111111 invoke [1]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Deployed program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 2670\n  },\n  \"blockTime\": 1761084637,\n  \"slot\": 416191448\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-10-20-deploy-bridge/artifacts/fund-gas-fee-receiver.json",
    "content": "{\n  \"confirmationStatus\": \"confirmed\",\n  \"transaction\": {\n    \"signatures\": [\n      \"3pR53TEfdATSLDkzko9WJe37EDy9uGJRGRwVCs8mnsDJ1Cv3RZSscLf963YJK7ojnbKz43wyjwcuvF1RiV8gsmS9\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"Dz7RiPP83jmH1XQFqp45p3SQJWhfWFWNgRBCMhFPmQNP\",\n        \"11111111111111111111111111111111\"\n      ],\n      \"recentBlockhash\": \"4THvpBBmfSBUWgDqya2GSyF7quAb9aD3Lwx8tJqZgrBb\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            0,\n            1\n          ],\n          \"data\": \"3Bxs4NN8M2Yn4TLb\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      204619053800,\n      100450000,\n      1\n    ],\n    \"postBalances\": [\n      204609048800,\n      110450000,\n      1\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program 11111111111111111111111111111111 invoke [1]\",\n      \"Program 11111111111111111111111111111111 success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 150\n  },\n  \"blockTime\": 1761088975,\n  \"slot\": 416202747\n}\n{\n  \"confirmationStatus\": \"confirmed\",\n  \"transaction\": {\n    \"signatures\": [\n      \"3rUb3zFY6G1APF1z5rPobKA5YMJSci8TtWN2gTPWZVWrFW1M8aBeb2TisHyURSZKAj5ba4sWT1wBLAa1euyaeW84\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"Dz7RiPP83jmH1XQFqp45p3SQJWhfWFWNgRBCMhFPmQNP\",\n        \"11111111111111111111111111111111\"\n      ],\n      \"recentBlockhash\": \"GjXMA5qncMns9KbpxUQWJgXNU18MFNNefgQRJaDzzMSh\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            0,\n            1\n          ],\n          \"data\": \"3Bxs411Dtc7pkFQj\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      204609048800,\n      110450000,\n      1\n    ],\n    \"postBalances\": [\n      204509043800,\n      210450000,\n      1\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program 11111111111111111111111111111111 invoke [1]\",\n      \"Program 11111111111111111111111111111111 success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 150\n  },\n  \"blockTime\": 1761088983,\n  \"slot\": 416202766\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-10-20-deploy-bridge/artifacts/fund-sol-vault.json",
    "content": "{\n  \"confirmationStatus\": \"confirmed\",\n  \"transaction\": {\n    \"signatures\": [\n      \"4tRRxR77nANdQBzr3ouuX3CgwFZkoNN5qtFDkTLXn1RhptdJFpyUQvVjoQhwezCHsv2cRFUDjTjU1B3YqBzTwGto\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"FD2QLajrw4AN6RsAcU4f2WjrwihVBscfHSqrvh1FqBNm\",\n        \"11111111111111111111111111111111\"\n      ],\n      \"recentBlockhash\": \"6Z3D9VcniHa8qW89KLY9nypJyVBYn9vvJGXrq6kxWM67\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            0,\n            1\n          ],\n          \"data\": \"3Bxs411Dtc7pkFQj\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      205024976520,\n      0,\n      1\n    ],\n    \"postBalances\": [\n      204924971520,\n      100000000,\n      1\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program 11111111111111111111111111111111 invoke [1]\",\n      \"Program 11111111111111111111111111111111 success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 150\n  },\n  \"blockTime\": 1761084995,\n  \"slot\": 416192382\n}\n{\n  \"confirmationStatus\": \"confirmed\",\n  \"transaction\": {\n    \"signatures\": [\n      \"48YnWk82kuxxx8iA84CGxGvxGAKnfYLqS4WwYDG89EWLNJkPoJat3hp5YbzPmtEvvgQLA5RqvCWL5fDhPFEyWBc3\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"6HmCU5ywhbmWtvA3LAuq4t1yMpmU6y4g3LpbjvCS5kmf\",\n        \"11111111111111111111111111111111\"\n      ],\n      \"recentBlockhash\": \"4tRtYGprkhz2jcc9a9VZiwtkt9gjmki6SvRY9zqmh9Sr\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            0,\n            1\n          ],\n          \"data\": \"3Bxs411Dtc7pkFQj\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      204924961520,\n      0,\n      1\n    ],\n    \"postBalances\": [\n      204824956520,\n      100000000,\n      1\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program 11111111111111111111111111111111 invoke [1]\",\n      \"Program 11111111111111111111111111111111 success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 150\n  },\n  \"blockTime\": 1761088402,\n  \"slot\": 416201251\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-10-20-deploy-bridge/artifacts/init-base-relayer.json",
    "content": "{\n  \"confirmationStatus\": \"confirmed\",\n  \"transaction\": {\n    \"signatures\": [\n      \"D6EzmVKGiUU1hrKvnS3i3Y9vaQYF34TrH3dtnW79y7WQGtRp2kQrkggcaZQqkSTJoDbC4qJYVVt76CX8FLE3EF6\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 3\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"CbQonYpF6fuQ1UShYNEm9fmAZ3nTZWWUmyeZ9gQkGMuF\",\n        \"11111111111111111111111111111111\",\n        \"ETsFnoWdJK8N7VJW6XXjiciyB2xeQfCXMQWNa85Zi9cn\",\n        \"GbPeyrpcZx1QPnrB1igMPvDK7h6VFEhHR8JVaYGiGXb2\"\n      ],\n      \"recentBlockhash\": \"AQuj2NoVrKcBmJRMZe7dX5Z4xgen6Jb5wEKaA2qTTnpW\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 3,\n          \"accounts\": [\n            0,\n            0,\n            1,\n            4,\n            3,\n            2\n          ],\n          \"data\": \"EGobdm29j93Jy1Ykas1QRvcNdsGgoTrZJJdBA9qei7nQKrvHDrnVgbwrHHwndxDfWV2vqJ5fV7XXKPsSb5nH8FTUpf1LxP28bpyNCRJLWc6xRkSFA5iq9BnUoUn1e1hifsH146NNpxY1S4kfJFFhTwP2XUsXiGXDq9mhnkTKyxBTEgBgNgsg7ZjEKV\",\n          \"stackHeight\": null\n        }\n      ],\n      \"addressTableLookups\": []\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      205027041680,\n      0,\n      1,\n      1141440,\n      2098391280\n    ],\n    \"postBalances\": [\n      205024976520,\n      2060160,\n      1,\n      1141440,\n      2098391280\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 2,\n            \"accounts\": [\n              0,\n              1\n            ],\n            \"data\": \"11115iFkVMXPaap7j41Z1pua1WKWeEERnnUwf84CzDCxuy3qLE36dAQDESzRZiP3RSTd1t\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program ETsFnoWdJK8N7VJW6XXjiciyB2xeQfCXMQWNa85Zi9cn invoke [1]\",\n      \"Program log: Instruction: Initialize\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program ETsFnoWdJK8N7VJW6XXjiciyB2xeQfCXMQWNa85Zi9cn consumed 14370 of 200000 compute units\",\n      \"Program ETsFnoWdJK8N7VJW6XXjiciyB2xeQfCXMQWNa85Zi9cn success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 14370\n  },\n  \"blockTime\": 1761084921,\n  \"slot\": 416192189\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-10-20-deploy-bridge/artifacts/init-bridge.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"5LnA55YfR1GTRX2T3YPGXCbfotHmiy6fjocSwuPrMX5soNBne3bRMz68vNNcDTABgzebgnz54S8nUQK5RqAMPXC8\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 3\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"F1HSdZSs7CWSNBV4jqa977hLcuxn6fcdg8R5JuoFvM2q\",\n        \"11111111111111111111111111111111\",\n        \"6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm\",\n        \"EkPiugm4hAm5pMPSoM9aTtDNxUdDXLcaVgttUQvksqkj\"\n      ],\n      \"recentBlockhash\": \"9Kv4MgEw3piZy4AxjvxVLnnrBQuRtN3B3DRbEsTXcW2p\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 3,\n          \"accounts\": [\n            0,\n            0,\n            1,\n            4,\n            3,\n            2\n          ],\n          \"data\": \"w6cHVNZ7a5rQv5VPE63MBWcxFcdsxgLGURBWWHvgRrRcnXyygG5zD3E3ER16Da2Ny2GcjerMoXJcyuhuzGWcB5M4yHyMsMDnbTWbYbDKVu49gQxsDdrak7tWtFNZkMJcxPDHyYuEr7X4Zmouq6daWvJosMs5mscEAhARc9Q6AXbBScZQU8hWJUdNya4YmAaNSsfJ7BipW7xRdApeNyApM1VbeAdPjfz44eRMCirVnz3W4cCqturmM7djk9zWeAwb9YdJfiKz15XjAs2tcGCvkKLFSVHZTQi1XFdBXWzsKWgQfbbxrmeY9wh1XfFf7o5VqN9GzRuR4U3q5GcbM1JP1qUpQYvWSN5a5HDXLJQgaBELJj1SLEbFK6F7Q1qP511yABrn6SbkFNhH3FQPrJRYmrxhJgCxaccZ65mfWgut72KhWcGBz4jUMvmUuJYf6zK4K5cirHxGWR1htbCcQnZbPyP9x2qJf1XpGeaZWSuEckq8A6oqpUx7LxqqJdT1y2Ko6pdJwDxYAim5AhEqv9kuPndMA3nAcyemtERMfdwafDysNZTDXWsRPizkTFNKWgDbqCKLMa1N5xVozoxFAxmY3Wb74qUNVFSPg2gjKsXChmsdQxRuTvH3JrKhHkd4rhqK7qbsSfuaAdb7gyrnJGHvfBhkK\",\n          \"stackHeight\": null\n        }\n      ],\n      \"addressTableLookups\": []\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      205031612440,\n      0,\n      1,\n      1141440,\n      6120992880\n    ],\n    \"postBalances\": [\n      205027041680,\n      4565760,\n      1,\n      1141440,\n      6120992880\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 2,\n            \"accounts\": [\n              0,\n              1\n            ],\n            \"data\": \"111112RZKQ4yMXN8zMsggLRz2TsPDJenaTqTJdfM1aGrNvQQife1DPCsoWvnSMoVzkrHBq\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm invoke [1]\",\n      \"Program log: Instruction: Initialize\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm consumed 14663 of 200000 compute units\",\n      \"Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 14663\n  },\n  \"blockTime\": 1761084919,\n  \"slot\": 416192185\n}"
  },
  {
    "path": "solana/devnet-alpha/2025-10-20-deploy-bridge/artifacts/set-base-relayer-upgrade-authority-artifacts.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"2aBvRfVuPFstjwvLxqbmXN7cgecmhRk15nJZmdA8Q3kr1tRyd1ipc9Fz77zbn74JW2bnY9kRhraNmwuxA3SyxRqM\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"GbPeyrpcZx1QPnrB1igMPvDK7h6VFEhHR8JVaYGiGXb2\",\n        \"BPFLoaderUpgradeab1e11111111111111111111111\",\n        \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\"\n      ],\n      \"recentBlockhash\": \"6XtukxFKzjuLFGH2ghPDQQPUxnhL32Rr2V2TYWo6znRM\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0,\n            3\n          ],\n          \"data\": \"6vx8P\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      204924966520,\n      2098391280,\n      1,\n      0\n    ],\n    \"postBalances\": [\n      204924961520,\n      2098391280,\n      1,\n      0\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]\",\n      \"New authority Some(2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ)\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 2370\n  },\n  \"blockTime\": 1761085265,\n  \"slot\": 416193085\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-10-20-deploy-bridge/artifacts/set-bridge-upgrade-authority-artifacts.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"4oYJZxVrE38e31mRwfwB7QjqcTfnvk7BW4ebFMXnuxDB18vMHrxb8EM84NHwSDefqNgDgTxjy5TLhcynKxvr8H8e\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"EkPiugm4hAm5pMPSoM9aTtDNxUdDXLcaVgttUQvksqkj\",\n        \"BPFLoaderUpgradeab1e11111111111111111111111\",\n        \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\"\n      ],\n      \"recentBlockhash\": \"CU2JNHmzzKVo9KqxrD8YqqWDg5vv7QJBUyTDHUDzBmj4\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0,\n            3\n          ],\n          \"data\": \"6vx8P\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      204924971520,\n      6120992880,\n      1,\n      0\n    ],\n    \"postBalances\": [\n      204924966520,\n      6120992880,\n      1,\n      0\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]\",\n      \"New authority Some(2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ)\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 2370\n  },\n  \"blockTime\": 1761085002,\n  \"slot\": 416192400\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-10-23-mcm-set-pause-bridge/FACILITATORS.md",
    "content": "# Facilitator Instructions: MCM Bridge Pause/Unpause\n\n## Overview\n\nAs a Facilitator, you are responsible for:\n1. Preparing the bridge pause configuration\n2. Creating the MCM proposal\n3. Committing and pushing the proposal to the repo\n4. Coordinating with Signers\n5. Collecting signatures\n6. Executing the proposal on-chain\n\n## Prerequisites\n\n```bash\ncd contract-deployments\ngit pull\ncd solana/devnet-alpha/2025-10-23-mcm-set-pause-bridge\nmake deps\n```\n\nEnsure you have:\n- `mcmctl` installed (via `make deps`)\n- `eip712sign` installed (via `make deps`)\n- A funded Solana wallet configured\n\n## Phase 1: Prepare and Generate Proposal\n\n### 1.1. Update .env with bridge pause configuration\n\nSet the following in `.env`:\n\n```bash\nMCM_PROGRAM_ID=<mcm-program-id>\nMCM_MULTISIG_ID=<multisig-id>\nMCM_VALID_UNTIL=<unix-timestamp>\nMCM_OVERRIDE_PREVIOUS_ROOT=false  # or true if needed\nMCM_PROPOSAL_OUTPUT=proposal.json\n\n# Bridge configuration\nBRIDGE_PROGRAM_ID=<bridge-program-id>\nPAUSED=true  # or false to unpause\n```\n\n### 1.2. Generate proposal\n\n```bash\nmake step1-create-proposal\n```\n\nThis creates the proposal file (default `proposal.json` or whatever is set in `MCM_PROPOSAL_OUTPUT`).\n\n### 1.3. Review proposal\n\nOpen and review the generated proposal file to verify:\n- Bridge program ID is correct\n- Pause status is correct (pausing or unpausing)\n- Valid until timestamp is appropriate\n\n### 1.4. Commit and push\n\n```bash\ngit add .\ngit commit -m \"Add MCM bridge pause/unpause proposal\"\ngit push\n```\n\n## Phase 2: Coordinate with Signers and Collect Signatures\n\nCoordinate with Signers to collect their signatures. Each Signer will run `make sign` and provide their signature.\n\nConcatenate all signatures in the format: `0xSIG1,0xSIG2,0xSIG3`\n\nOnce you have all required signatures, update `.env`:\n\n```bash\nMCM_SIGNATURES_COUNT=<number-of-signatures>\nMCM_SIGNATURES=0xSIG1,0xSIG2,0xSIG3\n```\n\n## Phase 3: Execute Proposal\n\n```bash\nmake step3-execute-proposal\n```\n\nThis command executes all the necessary steps:\n- Initialize signatures account\n- Append signatures\n- Finalize signatures\n- Set root\n- Execute proposal\n\n## Phase 4: Verification\n\n### 4.1. View transaction on Solana Explorer\n\nVisit the Solana Explorer for your network:\n- Mainnet: https://explorer.solana.com/\n- Devnet: https://explorer.solana.com/?cluster=devnet\n\nSearch for the execution transaction and verify:\n- The transaction was successful\n- The program logs show `Instruction: SetPauseStatus` (Anchor log)\n- The pause status matches the intended action (paused or unpaused)\n\n### 4.2. Update README\n\nUpdate the Status line in README.md to:\n\n```markdown\nStatus: [EXECUTED](https://explorer.solana.com/tx/<transaction-signature>?cluster=<network>)\n```\n\nReplace `<transaction-signature>` with the execution transaction signature and `<network>` with the appropriate cluster (devnet, mainnet-beta, etc.).\n"
  },
  {
    "path": "solana/devnet-alpha/2025-10-23-mcm-set-pause-bridge/Makefile",
    "content": "include ../.env\ninclude .env\n\ninclude ../../Makefile\n\n##\n# MCM Bridge Pause/Unpause Workflow\n##\n\n# Step 1: Create pause/unpause proposal\n.PHONY: step1-create-proposal\nstep1-create-proposal:\n\t@echo \"==> Step 1: Creating MCM pause/unpause proposal...\"\n\tmake mcm-proposal-bridge-pause\n\n# Step 2: Sign proposal\n.PHONY: sign\nsign:\n\t@echo \"==> Step 2: Signing proposal...\"\n\tmake mcm-sign\n\n# Step 3: Execute proposal (signatures + set-root + execute)\n.PHONY: step3-execute-proposal\nstep3-execute-proposal:\n\t@echo \"==> Step 3: Executing MCM proposal...\"\n\tmake mcm-signatures-all\n\tmake mcm-proposal-all\n"
  },
  {
    "path": "solana/devnet-alpha/2025-10-23-mcm-set-pause-bridge/README.md",
    "content": "# MCM Bridge Pause\n\nStatus: [EXECUTED](https://solscan.io/tx/2aRigbkBHkEQsgmg8zKum9C7V6ggKoGN69Wz3areFSdjFXVfRt6N4XbvejTwt7pXX9R1ns6LUMkLArSAKnUnhXCe?cluster=devnet)\n\n## Description\n\nThis task pauses the Bridge program using the MCM program. This is a critical security operation that can be used to halt bridge operations in emergency situations.\n\n## Procedure for Signers\n\n### 1. Update repo\n\n```bash\ncd contract-deployments\ngit pull\ncd solana/devnet-alpha/2025-10-23-mcm-set-pause-bridge\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The **Ethereum application** needs to be opened on Ledger with the message \"Application is ready\".\n\n### 3. Sign the proposal\n\n```bash\nmake sign\n```\n\nThis command will:\n1. Display the proposal hash\n2. Prompt you to sign on your Ledger\n3. Output your signature\n\n**Verify on your Ledger**: Check that the data you're signing matches the proposal hash displayed in the terminal.\n\nAfter signing, you will see output like:\n\n```\nSignature: 1234567890abcdef...\n```\n\n### 4. Send signature to Facilitator\n\nCopy the **entire signature** and send it to the Facilitator via your secure communication channel.\n\n**That's it!** The Facilitator will collect all signatures and execute the proposal.\n\n## For Facilitators\n\nSee [FACILITATORS.md](./FACILITATORS.md) for complete instructions on preparing, executing, and verifying this task.\n"
  },
  {
    "path": "solana/devnet-alpha/2025-10-23-mcm-set-pause-bridge/artifacts/mcm-proposal-execute.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"2aRigbkBHkEQsgmg8zKum9C7V6ggKoGN69Wz3areFSdjFXVfRt6N4XbvejTwt7pXX9R1ns6LUMkLArSAKnUnhXCe\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 4\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n        \"9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN\",\n        \"F1HSdZSs7CWSNBV4jqa977hLcuxn6fcdg8R5JuoFvM2q\",\n        \"DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S\",\n        \"6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm\",\n        \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"6sw8v8N3dtFobLjS8hPV8X6xotWo3dNAacMPENbwG9op\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 7,\n          \"accounts\": [\n            1,\n            4,\n            2,\n            5,\n            6,\n            0,\n            3,\n            6\n          ],\n          \"data\": \"3XtzmXSf21G7ZgSaukdCPnKeKSpmU4LsofeemapAhJezh47KjzKQdAh5tmeJ3rjtfzSMcJa5oVx1U32ckipKhQiEdmFVcqqM3T3h3L7RWayUEJZxmB3UZ5BxYfLHSkA7fxhZwUtEgSQZkTTh\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      197830217840,\n      4134240,\n      1252800,\n      4565760,\n      1343280,\n      1141440,\n      0,\n      1141440\n    ],\n    \"postBalances\": [\n      197830212840,\n      4134240,\n      1252800,\n      4565760,\n      1343280,\n      1141440,\n      0,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 5,\n            \"accounts\": [\n              3,\n              6\n            ],\n            \"data\": \"2WBxVujLscd9i\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: Execute\",\n      \"Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm invoke [2]\",\n      \"Program log: Instruction: SetPauseStatus\",\n      \"Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm consumed 5974 of 179120 compute units\",\n      \"Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm success\",\n      \"Program data: 3Q/UHSP8/04AAAAAAAAAAFJw9BMpTsJAnaNQ2SDcXQ5pG2X7hoV33jo1m3m+5rSsCQAAAHYZkdly0eyRAQ==\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 32483 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 32483\n  },\n  \"blockTime\": 1761230938,\n  \"slot\": 416572370\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-10-23-mcm-set-pause-bridge/artifacts/mcm-proposal-set-root.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"2Fphi1YEYXaUFPkLPHRjfkm1pnVmGuDg2NH3ssu1kTEBJs6oA4wMev1R5m8wfjwz986NL5ifDnvikK6cCixHGQdi\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 3\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"HM4XAF5my3vZzKHC8tLaVf7Pujw9fFcW8F69m692P3ii\",\n        \"DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S\",\n        \"ANwq6o5zFjitTKkNpC3t9EoGdv534A8HRwYiDAyMfV97\",\n        \"9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN\",\n        \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n        \"11111111111111111111111111111111\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"3e3Tr8o4eYHm681j4TyLvWneNXBnXfzDZEz9Lb5vcWas\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 7,\n          \"accounts\": [\n            1,\n            2,\n            3,\n            4,\n            5,\n            0,\n            6\n          ],\n          \"data\": \"K9UBFxzzmUF86odsdKWb6A2fuzRXx1VQLqWaNmspdxDzEh8pmM5J9ndrw5ftZVa9Ut68i2R5A83XmuTN63nzwBuGYCy6eoRbdcUXtihpzVKNoHVZXoNRgkLxtDapd65JPou1AxsWGpeNYjeYoyz9J48ieYtMAVkqqgdrac5icdycM2AbyWjuG7rmLx7psWnGGVCywpEBKUgbyCprBqZjfDU7yzDxEKi9LBERbqh\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      197828830840,\n      2345520,\n      1343280,\n      0,\n      1252800,\n      4134240,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      197830217840,\n      0,\n      1343280,\n      953520,\n      1252800,\n      4134240,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 6,\n            \"accounts\": [\n              0,\n              3\n            ],\n            \"data\": \"11117UcthqATmHRa77Wg3s82tM6xxYxd7PiZ2oZ4h1ZRQ3Q6anaT7puATNmrGRBPnEn6Uh\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: SetRoot\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program data: 0hm7digqPXdcDaaOU89bXNxHMipV79XA/3l4iAfVtFBNd2FwlnhyDBeM+mgAAAAAAAAAAFvuOPs7hiam+/CQoroqEyiPrjtrRaqBltmHvQYLpVUzAAAAAAAAAAABAAAAAAAAAAE=\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 109779 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 109779\n  },\n  \"blockTime\": 1761230922,\n  \"slot\": 416572330\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-10-23-mcm-set-pause-bridge/artifacts/mcm-signatures-append.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"4MXWxSkzpQs2xPqcpgLbDFwdmKoDuuPaE6yomeVYjHZdwBCp1uFLPuYfxcCyeK3sU6ub4FB5PF6gtntSuzpfCsri\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"HM4XAF5my3vZzKHC8tLaVf7Pujw9fFcW8F69m692P3ii\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"HjFZPx5PDhNw1HqksLvp92YPw78vgKrd5F8yd1mYCps7\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"8JM1NbBrt3Xh3kxoE3gUoUhdacSAaBKUdPn3SULoy5MqoavKwgx6PuK2uuF1HmcmPVoWak3Vqot8qdan3DXXugozzXZUZVEqp7kKCanJbX4buozQ7DBbpV1q8U7N7NScAgB3qse2zwuo19Uhc8LEySkh6YX53enxtCqsER5wfNttr1mudz6Agid76R7crhvh5HjDSKkfpbKktZbAukwqMkPcvR5YG6HcR5fBZotJjRiuqEdbEYozaPXyVqHxQ9Rxwty8pBAcCDoPHEVcQwFeMX2uw3Fz2dama11xq3sussJaNgHXkHAs1t3EoCMj6nZ2dthdKqKD6LKwum54oWJrmUyegyhCbUx51EmbnSburfZWysYTAG3k7bBf\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      197828840840,\n      2345520,\n      1141440\n    ],\n    \"postBalances\": [\n      197828835840,\n      2345520,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: AppendSignatures\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 8385 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 8385\n  },\n  \"blockTime\": 1761230891,\n  \"slot\": 416572248\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-10-23-mcm-set-pause-bridge/artifacts/mcm-signatures-finalize.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"3aHh5DZKsXmtdFZdc1JzBsRgmdCD96BbUdH4rTGukiTSRbBybfsusrE5CnKPH53Ww9Pm1YJJPxx2jfUVYk3Ljamn\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"HM4XAF5my3vZzKHC8tLaVf7Pujw9fFcW8F69m692P3ii\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"75kNxhGSfPez9SpMgmRE3X8sYYBRaTUR9SLCM3g6qPMY\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"8VPNxavkg2Yj38NCocv5Cq5gNj6AXt2M4QRQjqgjJnXPoyHsmdy1UZDQyt9aDnPnRwvaVvGc784iLDGUFRfYuxxYVxuqsn4DmJ1fqZbM\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      197828835840,\n      2345520,\n      1141440\n    ],\n    \"postBalances\": [\n      197828830840,\n      2345520,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: FinalizeSignatures\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 7570 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 7570\n  },\n  \"blockTime\": 1761230907,\n  \"slot\": 416572289\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-10-23-mcm-set-pause-bridge/artifacts/mcm-signatures-init.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"4UFkU47vYCMXJix1nL7gWRemJArnNjbiSJTAAriCmPCmHEbrP2ZJ8EHdd9DsGkiBMPHTcxEnD8KGFd3VtZ9PhUEn\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"HM4XAF5my3vZzKHC8tLaVf7Pujw9fFcW8F69m692P3ii\",\n        \"11111111111111111111111111111111\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"CiZ5DqvTaARmQ2GZGBBXeRw1dCvzhi11NGawo862bpS7\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 3,\n          \"accounts\": [\n            1,\n            0,\n            2\n          ],\n          \"data\": \"2QCcPn6AhHR9Zi4mhnFE53M8tJopZFLmSWFEPUWVFoNxRRu5UeGEiNanTNFddazsHC9nKojgAFLhZKVUiS5UmGTbH6XMzfTcPjjDC4N8ta\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      197831191360,\n      0,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      197828840840,\n      2345520,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 2,\n            \"accounts\": [\n              0,\n              1\n            ],\n            \"data\": \"11112nodbJCN8fXPKGyCu9NpWW4Z1ZkxMmEywtSX6cwUwwiUiy2t2NJ1N7s3c1VyVFW6Sm\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: InitSignatures\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 10983 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 10983\n  },\n  \"blockTime\": 1761230877,\n  \"slot\": 416572210\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-10-23-mcm-set-pause-bridge/proposal.json",
    "content": "{\n  \"multisigId\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n  \"validUntil\": 1761250327,\n  \"instructions\": [\n    {\n      \"programId\": \"6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm\",\n      \"data\": \"dhmR2XLR7JEB\",\n      \"accounts\": [\n        {\n          \"pubkey\": \"F1HSdZSs7CWSNBV4jqa977hLcuxn6fcdg8R5JuoFvM2q\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        }\n      ]\n    }\n  ],\n  \"rootMetadata\": {\n    \"chainId\": 0,\n    \"multisig\": \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n    \"preOpCount\": 0,\n    \"postOpCount\": 1,\n    \"overridePreviousRoot\": true\n  }\n}"
  },
  {
    "path": "solana/devnet-alpha/2025-10-23-mcm-unpause-bridge/FACILITATORS.md",
    "content": "# Facilitator Instructions: MCM Bridge Unpause\n\n## Overview\n\nAs a Facilitator, you are responsible for:\n1. Preparing the bridge unpause configuration\n2. Creating the MCM proposal\n3. Committing and pushing the proposal to the repo\n4. Coordinating with Signers\n5. Collecting signatures\n6. Executing the proposal on-chain\n\n## Prerequisites\n\n```bash\ncd contract-deployments\ngit pull\ncd solana/devnet-alpha/2025-10-23-mcm-unpause-bridge\nmake deps\n```\n\nEnsure you have:\n- `mcmctl` installed (via `make deps`)\n- `eip712sign` installed (via `make deps`)\n- A funded Solana wallet configured\n\n## Phase 1: Prepare and Generate Proposal\n\n### 1.1. Update .env with bridge unpause configuration\n\nSet the following in `.env`:\n\n```bash\nMCM_PROGRAM_ID=<mcm-program-id>\nMCM_MULTISIG_ID=<multisig-id>\nMCM_VALID_UNTIL=<unix-timestamp>\nMCM_OVERRIDE_PREVIOUS_ROOT=false  # or true if needed\nMCM_PROPOSAL_OUTPUT=proposal.json\n\n# Bridge configuration\nBRIDGE_PROGRAM_ID=<bridge-program-id>\nPAUSED=false  # or true to pause\n```\n\n### 1.2. Generate proposal\n\n```bash\nmake step1-create-proposal\n```\n\nThis creates the proposal file (default `proposal.json` or whatever is set in `MCM_PROPOSAL_OUTPUT`).\n\n### 1.3. Review proposal\n\nOpen and review the generated proposal file to verify:\n- Bridge program ID is correct\n- Pause status is correct (unpausing)\n- Valid until timestamp is appropriate\n\n### 1.4. Commit and push\n\n```bash\ngit add .\ngit commit -m \"Add MCM bridge unpause proposal\"\ngit push\n```\n\n## Phase 2: Coordinate with Signers and Collect Signatures\n\nCoordinate with Signers to collect their signatures. Each Signer will run `make sign` and provide their signature.\n\nConcatenate all signatures in the format: `0xSIG1,0xSIG2,0xSIG3`\n\nOnce you have all required signatures, update `.env`:\n\n```bash\nMCM_SIGNATURES_COUNT=<number-of-signatures>\nMCM_SIGNATURES=0xSIG1,0xSIG2,0xSIG3\n```\n\n## Phase 3: Execute Proposal\n\n```bash\nmake step3-execute-proposal\n```\n\nThis command executes all the necessary steps:\n- Initialize signatures account\n- Append signatures\n- Finalize signatures\n- Set root\n- Execute proposal\n\n## Phase 4: Verification\n\n### 4.1. View transaction on Solana Explorer\n\nVisit the Solana Explorer for your network:\n- Mainnet: https://explorer.solana.com/\n- Devnet: https://explorer.solana.com/?cluster=devnet\n\nSearch for the execution transaction and verify:\n- The transaction was successful\n- The program logs show `Instruction: SetPauseStatus` (Anchor log)\n- The pause status matches the intended action (unpaused)\n\n### 4.2. Update README\n\nUpdate the Status line in README.md to:\n\n```markdown\nStatus: [EXECUTED](https://explorer.solana.com/tx/<transaction-signature>?cluster=<network>)\n```\n\nReplace `<transaction-signature>` with the execution transaction signature and `<network>` with the appropriate cluster (devnet, mainnet-beta, etc.).\n"
  },
  {
    "path": "solana/devnet-alpha/2025-10-23-mcm-unpause-bridge/Makefile",
    "content": "include ../.env\ninclude .env\n\ninclude ../../Makefile\n\n##\n# MCM Bridge Pause/Unpause Workflow\n##\n\n# Step 1: Create pause/unpause proposal\n.PHONY: step1-create-proposal\nstep1-create-proposal:\n\t@echo \"==> Step 1: Creating MCM pause/unpause proposal...\"\n\tmake mcm-proposal-bridge-pause\n\n# Step 2: Sign proposal\n.PHONY: sign\nsign:\n\t@echo \"==> Step 2: Signing proposal...\"\n\tmake mcm-sign\n\n# Step 3: Execute proposal (signatures + set-root + execute)\n.PHONY: step3-execute-proposal\nstep3-execute-proposal:\n\t@echo \"==> Step 3: Executing MCM proposal...\"\n\tmake mcm-signatures-all\n\tmake mcm-proposal-all\n"
  },
  {
    "path": "solana/devnet-alpha/2025-10-23-mcm-unpause-bridge/README.md",
    "content": "# MCM Bridge Unpause\n\nStatus: [EXECUTED](https://solscan.io/tx/2a23mhJfhs9uqrbXf7FvqgL38A5GgTUycqFWxXhiaMY6k8PD5YtSSe2EX9QXfH4cpJtsS8TPvXp9ep1AnBsgt8Qs?cluster=devnet)\n\n## Description\n\nThis task unpauses the Bridge program using the MCM program. This is a critical security operation that can be used to halt bridge operations in emergency situations.\n\n## Procedure for Signers\n\n### 1. Update repo\n\n```bash\ncd contract-deployments\ngit pull\ncd solana/devnet-alpha/2025-10-23-mcm-unpause-bridge\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The **Ethereum application** needs to be opened on Ledger with the message \"Application is ready\".\n\n### 3. Sign the proposal\n\n```bash\nmake sign\n```\n\nThis command will:\n1. Display the proposal hash\n2. Prompt you to sign on your Ledger\n3. Output your signature\n\n**Verify on your Ledger**: Check that the data you're signing matches the proposal hash displayed in the terminal.\n\nAfter signing, you will see output like:\n\n```\nSignature: 1234567890abcdef...\n```\n\n### 4. Send signature to Facilitator\n\nCopy the **entire signature** and send it to the Facilitator via your secure communication channel.\n\n**That's it!** The Facilitator will collect all signatures and execute the proposal.\n\n## For Facilitators\n\nSee [FACILITATORS.md](./FACILITATORS.md) for complete instructions on preparing, executing, and verifying this task.\n"
  },
  {
    "path": "solana/devnet-alpha/2025-10-23-mcm-unpause-bridge/artifacts/mcm-proposal-execute.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"2a23mhJfhs9uqrbXf7FvqgL38A5GgTUycqFWxXhiaMY6k8PD5YtSSe2EX9QXfH4cpJtsS8TPvXp9ep1AnBsgt8Qs\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 4\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n        \"9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN\",\n        \"F1HSdZSs7CWSNBV4jqa977hLcuxn6fcdg8R5JuoFvM2q\",\n        \"DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S\",\n        \"6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm\",\n        \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"diWKQ7P2oNPhbvrFgCL8xpsarX1MGhkK7MAWGVnkPC5\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 7,\n          \"accounts\": [\n            1,\n            4,\n            2,\n            5,\n            6,\n            0,\n            3,\n            6\n          ],\n          \"data\": \"3XtzmXSf21G7ZgSaukdCPnKeKSpmU4LsofeemapAhJezh47KjzKQdAh5tmeJ3rjtfzSbUWeiAz3RZbhRmcSCLKtG3WCgLkq6aEiuE9vgKYkfnEpWBct1e5ubWQYKa7iLdAtA2C3q362WnonV\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      197825900280,\n      4134240,\n      1252800,\n      4565760,\n      1343280,\n      1141440,\n      0,\n      1141440\n    ],\n    \"postBalances\": [\n      197825895280,\n      4134240,\n      1252800,\n      4565760,\n      1343280,\n      1141440,\n      0,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 5,\n            \"accounts\": [\n              3,\n              6\n            ],\n            \"data\": \"2WBxVujLscd9h\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: Execute\",\n      \"Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm invoke [2]\",\n      \"Program log: Instruction: SetPauseStatus\",\n      \"Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm consumed 5974 of 179123 compute units\",\n      \"Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm success\",\n      \"Program data: 3Q/UHSP8/04CAAAAAAAAAFJw9BMpTsJAnaNQ2SDcXQ5pG2X7hoV33jo1m3m+5rSsCQAAAHYZkdly0eyRAA==\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 32480 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 32480\n  },\n  \"blockTime\": 1761252055,\n  \"slot\": 416627224\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-10-23-mcm-unpause-bridge/artifacts/mcm-proposal-set-root.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"4eoHurAtdtnvsDg2GWMJ9DeuN4GJrw9UHM1RU23eKTuZttdfcaga8QopFy81dV48STtJ7cyL5iQdSiG8vKmsha7g\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 3\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"FYNdCEb76QvMuSxj8sBN7XeAj9j9y1vVKtUNKfspoWzU\",\n        \"DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S\",\n        \"6HifCcJdmvMf5ag3QdRbUqNSrtUNL2QZYit4rfN1JRGb\",\n        \"9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN\",\n        \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n        \"11111111111111111111111111111111\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"8mw85xxEg89Faqp1acMEVCEi6aWkicGPHGeKwMU2j5j5\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 7,\n          \"accounts\": [\n            1,\n            2,\n            3,\n            4,\n            5,\n            0,\n            6\n          ],\n          \"data\": \"K9UBFxzzmUF86odsdKWb6A2fuzRXx1VQLqWaNmspdxDzEh8pmM5J9neZfSbVScWJEM2cXfkYor24eS5Aj5F49QmNDwaj5fc75yb51Y3YvEUwKFMkTjnU3a2tQjbxQog2sPNtDmz5171gdNdKJNDN1p5dygGzJHsuDkT9ww3zeKNv18MhMp76jMD2rdJt8br59FoqeKKRC6apCje93a4h7ZRSgEY1sTgx1Hr6MFY\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      197824513280,\n      2345520,\n      1343280,\n      0,\n      1252800,\n      4134240,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      197825900280,\n      0,\n      1343280,\n      953520,\n      1252800,\n      4134240,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 6,\n            \"accounts\": [\n              0,\n              3\n            ],\n            \"data\": \"11117UcthqATmHRa77Wg3s82tM6xxYxd7PiZ2oZ4h1ZRQ3Q6anaT7puATNmrGRBPnEn6Uh\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: SetRoot\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program data: 0hm7digqPXe2O0TGCC21b3ObS8VNRQXCN7H7xfoHgKQDj0aw3ykpQZvE+2gAAAAAAAAAAFvuOPs7hiam+/CQoroqEyiPrjtrRaqBltmHvQYLpVUzAgAAAAAAAAADAAAAAAAAAAE=\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 109779 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 109779\n  },\n  \"blockTime\": 1761252040,\n  \"slot\": 416627187\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-10-23-mcm-unpause-bridge/artifacts/mcm-signatures-append.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"4a3fq1DKgRZjgiLWLWJYyZJaU7TYvZZTJFQDKdu56ovDXvHBA8aNAtBXzKqpAisNWiSAqizzRiMGc2gq8t3cR4d7\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"FYNdCEb76QvMuSxj8sBN7XeAj9j9y1vVKtUNKfspoWzU\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"3FZrUZ3wHvgpMFB8QNZDxqkvhXUtSfeqdSVUMp57dWvc\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"8JM1NbBrt3Xh3kxoE3gUoUhdacSAaBKUdPn3SULoy5MqoavKwgx6PuKJGatnH7rNrkwbwaWiVNKJb2h31HT4Q271FCpdLf5YR7m2ELfbxfYoUYztvFcFhWnrvuvEvArhiy9KZsGgdDmtnfX67V5b4Vz2wfpvz6EytskQCFu9S7EJqW4usfwdtWV8g5GoJQXThgaLPjpZWMwGE63iGw9JNmbvq5Tfbm6esEfodvDRdwNLdrE3hKdKicEmPU8ubGb2mAVmr78cx7KzDketp32iNdhXFqY1V2JEx5MCHZdEGd3nd5xeoDHohajDUr42HhYhAoG8bsoeskAaXcr87gQP8C9Mroj4GNvwkFQngoerDAJ16nNWhDR7qBPp\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      197824523280,\n      2345520,\n      1141440\n    ],\n    \"postBalances\": [\n      197824518280,\n      2345520,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: AppendSignatures\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 9885 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 9885\n  },\n  \"blockTime\": 1761252008,\n  \"slot\": 416627105\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-10-23-mcm-unpause-bridge/artifacts/mcm-signatures-finalize.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"28dTVAUyT1S46eXXYPvGqy9jfXFo26YB2nnuFqTD2MiyWePd6Lx7cBaZZe7Eq9N3tTaWSZKwYtG3rYob9MugQumz\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"FYNdCEb76QvMuSxj8sBN7XeAj9j9y1vVKtUNKfspoWzU\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"BFQDpprTFrEcaWoKGoitmNYuQveB9qkkjLPobLyCkBzk\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"8VPNxavkg2Yj38NCocv5Cq5gNj6AXt2M4QRQjqgjJnXPoyHsmdy1UZE6hN3ZSrCUpzX73wYgZkGMcm785Xit6EZQshigzw1qTuHAsxZD\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      197824518280,\n      2345520,\n      1141440\n    ],\n    \"postBalances\": [\n      197824513280,\n      2345520,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: FinalizeSignatures\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 9070 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 9070\n  },\n  \"blockTime\": 1761252025,\n  \"slot\": 416627148\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-10-23-mcm-unpause-bridge/artifacts/mcm-signatures-init.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"3TuyNM2GzDWCDYtbBFHJN2idySpizmLFaLnRUGXeqDSwnncK6eCiBUjXx8zgKsHRtSGtshfsJWSk1xxtUD1keyYd\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"FYNdCEb76QvMuSxj8sBN7XeAj9j9y1vVKtUNKfspoWzU\",\n        \"11111111111111111111111111111111\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"13ThL7LH3MjqrXA9KnJuamjNPJ6NqskJXWyqN8V2wbsa\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 3,\n          \"accounts\": [\n            1,\n            0,\n            2\n          ],\n          \"data\": \"2QCcPn6AhHR9Zi4mhnFE53M8tJopZFLmSWFEPUWVFoNxRRu5UeGEiNaqUfLm6AffPVsEif5K7vrUwtY1TQQDTunTBSUJmV39sJxscEwVTG\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      197826873800,\n      0,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      197824523280,\n      2345520,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 2,\n            \"accounts\": [\n              0,\n              1\n            ],\n            \"data\": \"11112nodbJCN8fXPKGyCu9NpWW4Z1ZkxMmEywtSX6cwUwwiUiy2t2NJ1N7s3c1VyVFW6Sm\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: InitSignatures\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 12483 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 12483\n  },\n  \"blockTime\": 1761251991,\n  \"slot\": 416627061\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-10-23-mcm-unpause-bridge/proposal.json",
    "content": "{\n  \"multisigId\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n  \"validUntil\": 1761330331,\n  \"instructions\": [\n    {\n      \"programId\": \"6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm\",\n      \"data\": \"dhmR2XLR7JEA\",\n      \"accounts\": [\n        {\n          \"pubkey\": \"F1HSdZSs7CWSNBV4jqa977hLcuxn6fcdg8R5JuoFvM2q\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        }\n      ]\n    }\n  ],\n  \"rootMetadata\": {\n    \"chainId\": 0,\n    \"multisig\": \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n    \"preOpCount\": 2,\n    \"postOpCount\": 3,\n    \"overridePreviousRoot\": true\n  }\n}"
  },
  {
    "path": "solana/devnet-alpha/2025-10-24-mcm-pause-unpause-bridge/FACILITATORS.md",
    "content": "# Facilitator Instructions: MCM Bridge Pause/Unpause\n\n## Overview\n\nAs a Facilitator, you are responsible for:\n1. Preparing the bridge pause configuration\n2. Creating the MCM proposal\n3. Committing and pushing the proposal to the repo\n4. Coordinating with Signers\n5. Collecting signatures\n6. Executing the proposal on-chain\n\n## Prerequisites\n\n```bash\ncd contract-deployments\ngit pull\ncd solana/devnet-alpha/2025-10-24-mcm-pause-unpause-bridge\nmake deps\n```\n\nEnsure you have:\n- `mcmctl` installed (via `make deps`)\n- `eip712sign` installed (via `make deps`)\n- A funded Solana wallet configured\n\n## Phase 1: Prepare and Generate Proposal\n\n### 1.1. Update .env with bridge pause configuration\n\nSet the following in `.env`:\n\n```bash\nMCM_PROGRAM_ID=<mcm-program-id>\nMCM_MULTISIG_ID=<multisig-id>\nMCM_VALID_UNTIL=<unix-timestamp>\nMCM_OVERRIDE_PREVIOUS_ROOT=false  # or true if needed\nMCM_PROPOSAL_OUTPUT=proposal.json\n\n# Bridge configuration\nBRIDGE_PROGRAM_ID=<bridge-program-id>\nPAUSED=true  # or false to unpause\n```\n\n### 1.2. Generate proposal\n\n```bash\nmake step1-create-proposal\n```\n\nThis creates the proposal file (default `proposal.json` or whatever is set in `MCM_PROPOSAL_OUTPUT`).\n\n### 1.3. Review proposal\n\nOpen and review the generated proposal file to verify:\n- Bridge program ID is correct\n- Pause status is correct (pausing or unpausing)\n- Valid until timestamp is appropriate\n\n### 1.4. Commit and push\n\n```bash\ngit add .\ngit commit -m \"Add MCM bridge pause/unpause proposal\"\ngit push\n```\n\n## Phase 2: Coordinate with Signers and Collect Signatures\n\nCoordinate with Signers to collect their signatures. Each Signer will run `make sign` and provide their signature.\n\nConcatenate all signatures in the format: `0xSIG1,0xSIG2,0xSIG3`\n\nOnce you have all required signatures, update `.env`:\n\n```bash\nMCM_SIGNATURES_COUNT=<number-of-signatures>\nMCM_SIGNATURES=0xSIG1,0xSIG2,0xSIG3\n```\n\n## Phase 3: Register Proposal\n\n```bash\nmake step3-register-proposal\n```\n\nThis command registers the proposal:\n- Initialize signatures account\n- Append signatures\n- Finalize signatures\n- Set root\n\n## Phase 4: Execute Pause Proposal\n\n```bash\nmake step4-execute-pause\n```\n\nThis command executes the pause proposal\n\n## Phase 5: Execute Unpause Proposal\n\n```bash\nmake step5-execute-unpause\n```\n\nThis command executes the unpause proposal\n\n## Phase 6: Verification\n\n### 6.1. View transaction on Solana Explorer\n\nVisit the Solana Explorer for your network:\n- Mainnet: https://explorer.solana.com/\n- Devnet: https://explorer.solana.com/?cluster=devnet\n\nSearch for the execution transaction and verify:\n- The transaction was successful\n- The program logs show `Instruction: SetPauseStatus` (Anchor log)\n- The pause status matches the intended action (paused or unpaused)\n\n### 6.2. Update README\n\nUpdate the Status line in README.md to:\n\n```markdown\nStatus: [EXECUTED](https://explorer.solana.com/tx/<transaction-signature>?cluster=<network>)\n```\n\nReplace `<transaction-signature>` with the execution transaction signature and `<network>` with the appropriate cluster (devnet, mainnet-beta, etc.).\n"
  },
  {
    "path": "solana/devnet-alpha/2025-10-24-mcm-pause-unpause-bridge/Makefile",
    "content": "include ../.env\ninclude .env\n\ninclude ../../Makefile\n\n##\n# MCM Bridge Pause/Unpause Workflow\n##\n\n# Step 1: Create merged pause/unpause proposal\n.PHONY: step1-create-proposal\nstep1-create-proposal:\n\t@echo \"==> Step 1: Creating merged pause/unpause MCM proposal...\"\n\t@echo \"  → Creating pause proposal...\"\n\t@make mcm-proposal-bridge-pause \\\n\t\tPAUSED=true \\\n\t\tMCM_PROPOSAL_OUTPUT=pause-proposal.json\n\t@echo \"  → Creating unpause proposal...\"\n\t@make mcm-proposal-bridge-pause \\\n\t\tPAUSED=false \\\n\t\tMCM_PROPOSAL_OUTPUT=unpause-proposal.json\n\t@echo \"  → Merging proposals...\"\n\t@jq -s '.[0] as $$pause | .[1] as $$unpause | $$pause | .instructions = ($$pause.instructions + $$unpause.instructions) | .rootMetadata.postOpCount = (.rootMetadata.preOpCount + 2)' \\\n\t\tpause-proposal.json unpause-proposal.json > proposal.json\n\t@echo \"  → Cleaning up temporary files...\"\n\t@rm -f pause-proposal.json unpause-proposal.json\n\t@echo \"✓ Merged proposal created: proposal.json\"\n\t@echo \"  - Instructions count: $$(jq '.instructions | length' proposal.json)\"\n\t@echo \"  - preOpCount: $$(jq '.rootMetadata.preOpCount' proposal.json)\"\n\t@echo \"  - postOpCount: $$(jq '.rootMetadata.postOpCount' proposal.json)\"\n\n# Step 2: Sign proposal\t\n.PHONY: sign\nsign:\n\t@echo \"==> Step 2: Signing proposal...\"\n\t@make mcm-sign\n\n# Step 3: Register proposal (signatures + set-root)\n.PHONY: step3-register-proposal\nstep3-register-proposal:\n\t@echo \"==> Step 3: Registering MCM proposal...\"\n\t@make mcm-signatures-all\n\t@make mcm-proposal-set-root\n\n# Step 4: Execute pause proposal\n.PHONY: step4-execute-pause\nstep4-execute-pause:\n\t@echo \"==> Step 4: Executing MCM pause proposal...\"\n\t@make mcm-proposal-execute \\\n\t\tMCM_START_INDEX=0 \\\n\t\tMCM_OPERATION_COUNT=1\n\t@mv artifacts/mcm-proposal-execute.json artifacts/mcm-pause-proposal-execute.json\n\n# Step 5: Execute unpause proposal\n.PHONY: step5-execute-unpause\nstep5-execute-unpause:\n\t@echo \"==> Step 5: Executing MCM unpause proposal...\"\n\t@make mcm-proposal-execute \\\n\t\tMCM_START_INDEX=1 \\\n\t\tMCM_OPERATION_COUNT=1\n\t@mv artifacts/mcm-proposal-execute.json artifacts/mcm-unpause-proposal-execute.json"
  },
  {
    "path": "solana/devnet-alpha/2025-10-24-mcm-pause-unpause-bridge/README.md",
    "content": "# MCM Bridge Pause/Unpause\n\nStatus: EXECUTED (https://solscan.io/tx/PXqdRH8rpBLfCy88BBKf6gDJhC5Z7gzDFnx4M2jVEBU27dEMbYzswczcp7LWtVQQhoNMjFG1326w4NcHFhEanhs?cluster=devnet)\n\nUnpause: https://solscan.io/tx/2cmXXwF3A3fWwFyUpNhktpYdwo8fftsxtGzP1BmaptHYuURiSWMgNmtgRpZmYLMq4VVSDUTQMdRJdtE4UBe6zE9A?cluster=devnet\n\n## Description\n\nThis task pauses or unpauses the Bridge program using the MCM program. This is a critical security operation that can be used to halt bridge operations in emergency situations or resume them after issues are resolved.\n\n## Procedure for Signers\n\n### 1. Update repo\n\n```bash\ncd contract-deployments\ngit pull\ncd solana/devnet-alpha/2025-10-24-mcm-pause-unpause-bridge\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The **Ethereum application** needs to be opened on Ledger with the message \"Application is ready\".\n\n### 3. Sign the proposal\n\n```bash\nmake sign\n```\n\nThis command will:\n1. Display the proposal hash\n2. Prompt you to sign on your Ledger\n3. Output your signature\n\n**Verify on your Ledger**: Check that the data you're signing matches the proposal hash displayed in the terminal.\n\nAfter signing, you will see output like:\n\n```\nSignature: 1234567890abcdef...\n```\n\n### 4. Send signature to Facilitator\n\nCopy the **entire signature** and send it to the Facilitator via your secure communication channel.\n\n**That's it!** The Facilitator will collect all signatures and execute the proposal.\n\n## For Facilitators\n\nSee [FACILITATORS.md](./FACILITATORS.md) for complete instructions on preparing, executing, and verifying this task.\n"
  },
  {
    "path": "solana/devnet-alpha/2025-10-24-mcm-pause-unpause-bridge/artifacts/mcm-pause-proposal-execute.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"PXqdRH8rpBLfCy88BBKf6gDJhC5Z7gzDFnx4M2jVEBU27dEMbYzswczcp7LWtVQQhoNMjFG1326w4NcHFhEanhs\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 4\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n        \"9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN\",\n        \"F1HSdZSs7CWSNBV4jqa977hLcuxn6fcdg8R5JuoFvM2q\",\n        \"DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S\",\n        \"6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm\",\n        \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"2AAxYE3yMp7MNN23zf5g4zvtfGqUGBLpV83fytUropGJ\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 7,\n          \"accounts\": [\n            1,\n            4,\n            2,\n            5,\n            6,\n            0,\n            3,\n            6\n          ],\n          \"data\": \"kdy7aa47nZccXGYmJrCpZESavPSdBHauQKcgU4SCjVZLTicZFgHts7pDttPzTqRyednnWbY87s8ZNNEFQzRcTkNWe36NDjwTh5wfxHGqSabGS8Ho1gr2a7g7aE1jAkGQHFt2a9aecWaUafPRg5HemtFviEizrkJuURiY62jkRmqPfFiefSFxYKWFDtX\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      165335835640,\n      4134240,\n      1252800,\n      4565760,\n      1343280,\n      1141440,\n      0,\n      1141440\n    ],\n    \"postBalances\": [\n      165335830640,\n      4134240,\n      1252800,\n      4565760,\n      1343280,\n      1141440,\n      0,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 5,\n            \"accounts\": [\n              3,\n              6\n            ],\n            \"data\": \"2WBxVujLscd9i\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: Execute\",\n      \"Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm invoke [2]\",\n      \"Program log: Instruction: SetPauseStatus\",\n      \"Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm consumed 5974 of 178836 compute units\",\n      \"Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm success\",\n      \"Program data: 3Q/UHSP8/04EAAAAAAAAAFJw9BMpTsJAnaNQ2SDcXQ5pG2X7hoV33jo1m3m+5rSsCQAAAHYZkdly0eyRAQ==\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 32767 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 32767\n  },\n  \"blockTime\": 1761335003,\n  \"slot\": 416842656\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-10-24-mcm-pause-unpause-bridge/artifacts/mcm-proposal-set-root.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"43moQVWwUyh8zkHF29xTBem77agqKA5xqD2Mdo5WAQ1kSX8pAw6y7KFpUakL22yqGgLo6AeuNB3HHYMxrQ4xh3No\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 3\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"EFHezdyZSJbmhTNRtwMg8gUKxt3dWKbQZfqcaEH88wZc\",\n        \"DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S\",\n        \"4ZwGCF1AX6PHwTrJhjSHxExCkQgejNdigpxfWstg49Pe\",\n        \"9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN\",\n        \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n        \"11111111111111111111111111111111\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"3JHpHbRYM6PP4sWvmUZV2T4Aai6b1Rr9TBz7cqnuyVzf\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 7,\n          \"accounts\": [\n            1,\n            2,\n            3,\n            4,\n            5,\n            0,\n            6\n          ],\n          \"data\": \"5eKRp7yWnavbVMvLc7WTeNLXgQZHNTvquMyjaspSK7Pdjz7ZrrUaadEdC8gQcJhJnKvmRPJVTksRrWMCTMDNzkLRQp4zSS6xdmHKmdVEkqMymPaXnXd55r8YMiwttGQnL2kxRKXuXLaJwVLKHQXS67eyUNz44vNAAWVJtbBBrbjkzX9SZAj8wyrZ3UvE7sJ7gQwVQqktrGxgYVe81uLuigyUH4nYiczEAsHHRHYDmxvVWTqyPBX47y1qTUQD6efgnPuu25Ak6uCKVr56u9M\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      165334448640,\n      2345520,\n      1343280,\n      0,\n      1252800,\n      4134240,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      165335835640,\n      0,\n      1343280,\n      953520,\n      1252800,\n      4134240,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 6,\n            \"accounts\": [\n              0,\n              3\n            ],\n            \"data\": \"11117UcthqATmHRa77Wg3s82tM6xxYxd7PiZ2oZ4h1ZRQ3Q6anaT7puATNmrGRBPnEn6Uh\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: SetRootEip712\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program data: 0hm7digqPXcTx6nBPZ7WfYR/uDSiGEFJ+C8J2A3FQOBunqAcHzFRQgH+/GgAAAAAAAAAAFvuOPs7hiam+/CQoroqEyiPrjtrRaqBltmHvQYLpVUzBAAAAAAAAAAGAAAAAAAAAAA=\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 104364 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 104364\n  },\n  \"blockTime\": 1761334980,\n  \"slot\": 416842596\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-10-24-mcm-pause-unpause-bridge/artifacts/mcm-signatures-append.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"3twu8SU2RFU8rQmrXAX3GJNVr9ZvTpivfvwfsoCPT7oQ12mrTRJvZ7gKLHrjdrXdshC3ypwkifXAQA9hvuVVi2fT\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"EFHezdyZSJbmhTNRtwMg8gUKxt3dWKbQZfqcaEH88wZc\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"7kfjNUENaJPDe6wae4VPTQNpqbKZfPaRLGNpBebwrDdz\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"8JM1NbBrt3Xh3kxoE3gUoUhdacSAaBKUdPn3SULoy5MqoavKwgx6PuJpc4a9mJ9cmaha6AoiyQsCHGxWdTMinYKPSK1LpWRTUcNjogx4vsshNDLzEBxdR9kjNBN55kbdptKV1VXQmTet8hZ4CMZ3y4B2uz9qbj1CjUxNMHn8hnYm9i7n5bPYLRmP2DjMG3BA9Nyi9pffMC21AvTSWvR5vyuiV63EkmesbeRkQ8QbZvgPnbtRAkDv5pCs2h8qre4kLTqnuXxUR3xf12fjEzwUu5h5jwrjgspGGDRfPAV4u9tDR7GGY6EtR9sJskDiPQWx8K4ysTPyhYNMxbSeUGL6fmxLCUAha3WpMjtYQwXkQfjbymLjPfU1oDUk\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      165334458640,\n      2345520,\n      1141440\n    ],\n    \"postBalances\": [\n      165334453640,\n      2345520,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: AppendSignatures\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 5385 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 5385\n  },\n  \"blockTime\": 1761334949,\n  \"slot\": 416842516\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-10-24-mcm-pause-unpause-bridge/artifacts/mcm-signatures-finalize.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"25rhAwLzHpnvS9Qcn5WiQjbdSBfbQE3Jd4AtppztdFV4estHEfHR7yNKFh6MPywt7Zv1gQ55QtrgRioSbve1eeMV\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"EFHezdyZSJbmhTNRtwMg8gUKxt3dWKbQZfqcaEH88wZc\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"Crbf2n1ugjfwMw1okBunvbChg94NP1hcXV9UihA363Ti\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"8VPNxavkg2Yj38NCocv5Cq5gNj6AXt2M4QRQjqgjJnXPoyHsmdy1UZCs9koK1cZr7FShY3YeK7Sc81bFinGKKVJrJK7oopnNDdc4K2ns\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      165334453640,\n      2345520,\n      1141440\n    ],\n    \"postBalances\": [\n      165334448640,\n      2345520,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: FinalizeSignatures\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 4571 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 4571\n  },\n  \"blockTime\": 1761334965,\n  \"slot\": 416842558\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-10-24-mcm-pause-unpause-bridge/artifacts/mcm-signatures-init.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"2pYjLxx4QGrsP4UWqS1TejQ2QtZPqLPgyS9Wk4Rpx56kkzXWfrfSh8L2KqPS4kfJFXCvcVrRQK64V3TLj7JJmiQ3\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"EFHezdyZSJbmhTNRtwMg8gUKxt3dWKbQZfqcaEH88wZc\",\n        \"11111111111111111111111111111111\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"AshJKhew9C5uMKg46GXzXu8zqkU2ejy1bqr9QUmQnDnq\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 3,\n          \"accounts\": [\n            1,\n            0,\n            2\n          ],\n          \"data\": \"2QCcPn6AhHR9Zi4mhnFE53M8tJopZFLmSWFEPUWVFoNxRRu5UeGEiNak2sqCCTHVhRd7Gs7nwzFxBudwd8pQDGHYuf6YoY1eR3ygyFcBiz\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      165336809160,\n      0,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      165334458640,\n      2345520,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 2,\n            \"accounts\": [\n              0,\n              1\n            ],\n            \"data\": \"11112nodbJCN8fXPKGyCu9NpWW4Z1ZkxMmEywtSX6cwUwwiUiy2t2NJ1N7s3c1VyVFW6Sm\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: InitSignatures\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 7985 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 7985\n  },\n  \"blockTime\": 1761334933,\n  \"slot\": 416842473\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-10-24-mcm-pause-unpause-bridge/artifacts/mcm-unpause-proposal-execute.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"2cmXXwF3A3fWwFyUpNhktpYdwo8fftsxtGzP1BmaptHYuURiSWMgNmtgRpZmYLMq4VVSDUTQMdRJdtE4UBe6zE9A\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 4\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n        \"9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN\",\n        \"F1HSdZSs7CWSNBV4jqa977hLcuxn6fcdg8R5JuoFvM2q\",\n        \"DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S\",\n        \"6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm\",\n        \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"BYHzHhs3zJGaPgpRLyXUcVUR4aKX8DiL87fK2LBYducj\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 7,\n          \"accounts\": [\n            1,\n            4,\n            2,\n            5,\n            6,\n            0,\n            3,\n            6\n          ],\n          \"data\": \"3XtzmXSf21G7ZgSaukdCPnKeKSpmU4LsofeemapAhJezh47KjzKQdAh5tmeJ3rjtfzSxGpmejDBYhwheHws1HheJA7dTRdNdzBat7s7kb6hkBcjA5iXQnHBejJkdGByNWebPDsqgo8417wXS\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      165335830640,\n      4134240,\n      1252800,\n      4565760,\n      1343280,\n      1141440,\n      0,\n      1141440\n    ],\n    \"postBalances\": [\n      165335825640,\n      4134240,\n      1252800,\n      4565760,\n      1343280,\n      1141440,\n      0,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 5,\n            \"accounts\": [\n              3,\n              6\n            ],\n            \"data\": \"2WBxVujLscd9h\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: Execute\",\n      \"Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm invoke [2]\",\n      \"Program log: Instruction: SetPauseStatus\",\n      \"Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm consumed 5974 of 179120 compute units\",\n      \"Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm success\",\n      \"Program data: 3Q/UHSP8/04FAAAAAAAAAFJw9BMpTsJAnaNQ2SDcXQ5pG2X7hoV33jo1m3m+5rSsCQAAAHYZkdly0eyRAA==\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 32483 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 32483\n  },\n  \"blockTime\": 1761335083,\n  \"slot\": 416842868\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-10-24-mcm-pause-unpause-bridge/proposal.json",
    "content": "{\n  \"multisigId\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n  \"validUntil\": 1761410561,\n  \"instructions\": [\n    {\n      \"programId\": \"6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm\",\n      \"data\": \"dhmR2XLR7JEB\",\n      \"accounts\": [\n        {\n          \"pubkey\": \"F1HSdZSs7CWSNBV4jqa977hLcuxn6fcdg8R5JuoFvM2q\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        }\n      ]\n    },\n    {\n      \"programId\": \"6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm\",\n      \"data\": \"dhmR2XLR7JEA\",\n      \"accounts\": [\n        {\n          \"pubkey\": \"F1HSdZSs7CWSNBV4jqa977hLcuxn6fcdg8R5JuoFvM2q\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        }\n      ]\n    }\n  ],\n  \"rootMetadata\": {\n    \"chainId\": 0,\n    \"multisig\": \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n    \"preOpCount\": 4,\n    \"postOpCount\": 6,\n    \"overridePreviousRoot\": false\n  }\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-11-14-update-bridge-config/.gitignore",
    "content": "bridge/\n"
  },
  {
    "path": "solana/devnet-alpha/2025-11-14-update-bridge-config/FACILITATORS.md",
    "content": "# Facilitator Instructions: MCM Bridge Config Update & Program Upgrade\n\n## Overview\n\nAs a Facilitator, you are responsible for:\n1. Creating the bridge config update proposal\n2. Preparing the bridge program upgrade buffer\n3. Creating the upgrade proposal\n4. Merging both proposals into a single MCM proposal\n5. Committing and pushing the merged proposal to the repo\n6. Coordinating with Signers\n7. Collecting signatures\n8. Executing the merged proposal on-chain\n\n## Prerequisites\n\n```bash\ncd contract-deployments\ngit pull\ncd solana/devnet-alpha/2025-11-14-update-bridge-config\nmake setup-deps\n```\n\nEnsure you have:\n- Rust toolchain installed\n- Solana CLI installed and configured\n- Anchor CLI installed\n- Bun installed\n- `mcmctl` installed (via `make deps`)\n- `eip712sign` installed (via `make deps`)\n- A funded Solana wallet configured\n\n## Phase 1: Create Bridge Config Update Proposal\n\n### 1.1. Update .env for config update proposal\n\nSet the following in `.env`:\n\n```bash\n# RPC configuration\nSOL_RPC_URL=<rpc-url>\n\n# MCM configuration\nMCM_PROGRAM_ID=<mcm-program-id>\nMCM_MULTISIG_ID=<multisig-id>\nMCM_VALID_UNTIL=<unix-timestamp>\nMCM_OVERRIDE_PREVIOUS_ROOT=false  # or true if needed\nMCM_PROPOSAL_OUTPUT=proposal.json\n\n# Bridge config parameters\nBRIDGE_PROGRAM_ID=<bridge-program-id>\nBRIDGE_PARTNER_ORACLE_REQUIRED_THRESHOLD=<threshold-value>\n```\n\n### 1.2. Generate config update proposal\n\n```bash\nmake step1-create-set-partner-oracle-config-proposal\n```\n\nThis creates `set-partner-oracle-config-proposal.json` with the SetPartnerOracleConfig instruction.\n\n### 1.3. Review config proposal\n\nOpen and review `set-partner-oracle-config-proposal.json` to verify:\n- Bridge program ID is correct\n- Partner oracle required threshold matches intended value\n- Valid until timestamp is appropriate\n\n## Phase 2: Prepare Bridge Program Upgrade\n\n### 2.1. Clone bridge repo and apply ID patch\n\nAdd the following variables to `.env`:\n\n```bash\nBRIDGE_REPO=<bridge-repo-url>\nBRIDGE_COMMIT=<commit-hash>\nID_PATCH=<path-to-id-patch-file>\n```\n\nThen run:\n\n```bash\nmake step2-clone-bridge\n```\n\nThis will:\n- Remove any existing `bridge` directory\n- Clone the bridge repository\n- Checkout the specified commit\n- Apply the ID patch\n\n### 2.2. Build the bridge program\n\n```bash\nmake step3-build-program\n```\n\nThis builds the bridge program using `cargo-build-sbf`. The compiled binary will be in `bridge/solana/target/deploy/bridge.so`.\n\n### 2.3. Write program buffer\n\nAdd the following variable to `.env`:\n\n```bash\nPROGRAM_BINARY=bridge/solana/target/deploy/bridge.so\n```\n\nThen run:\n\n```bash\nmake step4-write-buffer\n```\n\nThis will output a buffer address. Copy it and add to `.env`:\n\n```bash\nBUFFER=<buffer-address-from-output>\n```\n\n### 2.4. Transfer buffer authority to MCM\n\nAdd the following variables to `.env`:\n\n```bash\nNEW_BUFFER_AUTHORITY=<mcm-authority-pda>\n```\n\nThen run:\n\n```bash\nmake step5-transfer-buffer\n```\n\nThis transfers the buffer authority from your wallet to the MCM authority PDA. The buffer is now controlled by MCM.\n\nCopy the transaction signature from the output.\n\n### 2.5. Generate set-buffer-authority artifacts\n\nFind the transaction signature from step 2.4 on Solana Explorer and add to `.env`:\n\n```bash\nSET_BUFFER_AUTHORITY_SIGNATURE=<transaction-signature>\n```\n\nThen generate the artifacts:\n\n```bash\nmake step6-generate-set-buffer-authority-artifacts\n```\n\nThis creates `artifacts/set-buffer-authority-artifacts.json` which will be used in the upgrade proposal.\n\n### 2.6. Create upgrade proposal\n\nAdd the following variables to `.env`:\n\n```bash\nPROGRAM=<bridge-program-address>\nSPILL=<your-wallet-address>\n```\n\nThen run:\n\n```bash\nmake step7-create-upgrade-proposal\n```\n\nThis creates `upgrade-proposal.json` with the program upgrade instruction.\n\n### 2.7. Review upgrade proposal\n\nOpen and review `upgrade-proposal.json` to verify:\n- Program address matches `PROGRAM`\n- Buffer address matches `BUFFER`\n- Spill address is correct\n- All instructions are correct\n\n## Phase 3: Merge Proposals\n\n### 3.1. Merge config and upgrade proposals\n\n```bash\nmake step8-merge-proposals\n```\n\nThis command will:\n- Merge `set-partner-oracle-config-proposal.json` and `upgrade-proposal.json`\n- Combine all instructions from both proposals\n- Calculate the correct `postOpCount` (preOpCount + 2)\n- Output the merged proposal to `MCM_PROPOSAL_OUTPUT` (typically `proposal.json`)\n- Clean up the temporary proposal files\n- Display proposal statistics:\n  - Total instruction count\n  - preOpCount value\n  - postOpCount value\n\n### 3.2. Review merged proposal\n\nOpen and review the merged proposal file (specified by `MCM_PROPOSAL_OUTPUT`) to verify:\n- Contains both the SetPartnerOracleConfig instruction and the upgrade instruction\n- All addresses and parameters are correct\n- `postOpCount` equals `preOpCount + 2`\n\n### 3.3. Commit and push\n\n```bash\ngit add .\ngit commit -m \"Add merged bridge config update and upgrade proposal\"\ngit push\n```\n\n## Phase 4: Coordinate with Signers and Collect Signatures\n\nCoordinate with Signers to collect their signatures. Each Signer will run `make sign` and provide their signature.\n\nConcatenate all signatures in the format: `0xSIG1,0xSIG2,0xSIG3`\n\nOnce you have all required signatures, add to `.env`:\n\n```bash\nMCM_SIGNATURES_COUNT=<number-of-signatures>\nMCM_SIGNATURES=0xSIG1,0xSIG2,0xSIG3\n```\n\n## Phase 5: Execute Merged Proposal\n\n### 5.1. Add execution variables to .env\n\nAdd the following variables to `.env`:\n\n```bash\nAUTHORITY=<your-wallet-keypair-path>\n```\n\n### 5.2. Execute the proposal\n\n```bash\nmake step10-execute-proposal\n```\n\nThis command executes all the necessary steps:\n- Initialize signatures account\n- Append signatures\n- Finalize signatures\n- Set root\n- Execute both operations (config update + program upgrade)\n\n## Phase 6: Verification\n\n### 6.1. Verify config update on Solana Explorer\n\nVisit the Solana Explorer for your network:\n- Mainnet: https://explorer.solana.com/\n- Devnet: https://explorer.solana.com/?cluster=devnet\n- Devnet-alpha: https://explorer.solana.com/?cluster=custom&customUrl=<devnet-alpha-rpc>\n\nSearch for the execution transaction and verify:\n- The transaction was successful\n- The program logs show `Instruction: SetPartnerOracleConfig`\n- The partner oracle required threshold was updated correctly\n\n### 6.2. Verify program upgrade on Solana Explorer\n\nSearch for the bridge program address (`$PROGRAM`) and verify:\n- The \"Last Deployed Slot\" is recent\n- The upgrade authority is still the MCM authority\n- The program was upgraded successfully\n\n### 6.3. Update README\n\nUpdate the Status line in README.md to:\n\n```markdown\nStatus: [EXECUTED](https://explorer.solana.com/tx/<transaction-signature>?cluster=<network>)\n```\n\nReplace `<transaction-signature>` with the execution transaction signature and `<network>` with the appropriate cluster (devnet, devnet-alpha, mainnet-beta, etc.).\n"
  },
  {
    "path": "solana/devnet-alpha/2025-11-14-update-bridge-config/Makefile",
    "content": "include ../.env\ninclude .env\n\ninclude ../../Makefile\n\n.PHONY: install-rust\ninstall-rust:\n\tcurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y\n\trustup toolchain install $(RUST_TOOLCHAIN) && \\\n    rustup default $(RUST_TOOLCHAIN)\n\n.PHONY: install-solana-cli\ninstall-solana-cli:\n\tcurl -sSfL https://release.anza.xyz/v$(SOLANA_VERSION)/install | sh\n\n.PHONY: install-anchor\ninstall-anchor:\n\tcargo install --git https://github.com/coral-xyz/anchor --tag v$(ANCHOR_VERSION) anchor-cli --force\n\n.PHONY: install-bun\ninstall-bun:\n\tcurl -fsSL https://bun.sh/install | bash\n\n.PHONY: setup-deps\nsetup-deps: install-rust install-solana-cli install-anchor install-bun\n\n##\n# MCM Bridge Config Update Workflow\n##\n\n# Step 1: Create set partner oracle config proposal\n.PHONY: step1-create-set-partner-oracle-config-proposal\nstep1-create-set-partner-oracle-config-proposal:\n\t@echo \"==> Step 1: Creating set partner oracle config MCM proposal...\"\n\t@make mcm-proposal-bridge-set-partner-oracle-config \\\n\t\tMCM_PROPOSAL_OUTPUT=set-partner-oracle-config-proposal.json\n\n# Step 2: Clone the bridge repo and apply the id patch\n.PHONY: step2-clone-bridge\nstep2-clone-bridge:\n\t@echo \"==> Step 2: Cloning and applying id patch...\"\n\t@ rm -rf bridge\n\t@ git clone --filter=blob:none $(BRIDGE_REPO) bridge\n\t@ cd bridge && \\\n\t\tgit checkout $(BRIDGE_COMMIT) && \\\n\t\tgit apply ../$(ID_PATCH)\n\n# Step 3: Build the bridge program\n.PHONY: step3-build-program\nstep3-build-program:\n\t@echo \"==> Step 3: Building bridge program...\"\n\t@ cd bridge/solana && \\\n\t\tcargo-build-sbf\n\n# Step 4: Write program buffer\n.PHONY: step4-write-buffer\nstep4-write-buffer:\n\t@echo \"==> Step 4: Writing program buffer...\"\n\t@ make sol-write-buffer\n\n# Step 5: Transfer buffer authority to MCM\n.PHONY: step5-transfer-buffer\nstep5-transfer-buffer:\n\t@echo \"==> Step 5: Transferring buffer authority to MCM...\"\n\t@ make sol-set-buffer-authority\n\n# Step 6: Generate set-buffer-authority artifacts (use solana explorer to get the signature of the set-buffer-authority tx)\n.PHONY: step6-generate-set-buffer-authority-artifacts\nstep6-generate-set-buffer-authority-artifacts:\n\t@echo \"==> Step 6: Generating MCM set-buffer-authority artifacts...\"\n\t@ make sol-confirm SIG=$(SET_BUFFER_AUTHORITY_SIGNATURE) output=artifacts/set-buffer-authority-artifacts.json\n\n# Step 7: Create upgrade proposal\n.PHONY: step7-create-upgrade-proposal\nstep7-create-upgrade-proposal:\n\t@echo \"==> Step 7: Creating upgrade proposal...\"\n\t@ make mcm-proposal-loader-v3-upgrade \\\n\t\tMCM_PROPOSAL_OUTPUT=upgrade-proposal.json\n\n# Step 8: Merge set partner oracle config and upgrade proposals\n.PHONY: step8-merge-proposals\nstep8-merge-proposals:\n\t@echo \"==> Step 8: Merging config and upgrade proposals...\"\n\t@jq -s '.[0] as $$config | .[1] as $$upgrade | $$config | .instructions = ($$config.instructions + $$upgrade.instructions) | .rootMetadata.postOpCount = (.rootMetadata.preOpCount + 2)' \\\n\t\tset-partner-oracle-config-proposal.json upgrade-proposal.json > $(MCM_PROPOSAL_OUTPUT)\n\t@echo \"  → Cleaning up temporary files...\"\n\t@rm -f set-partner-oracle-config-proposal.json upgrade-proposal.json\n\t@echo \"✓ Merged proposal created: $(MCM_PROPOSAL_OUTPUT)\"\n\t@echo \"  - Instructions count: $$(jq '.instructions | length' $(MCM_PROPOSAL_OUTPUT))\"\n\t@echo \"  - preOpCount: $$(jq '.rootMetadata.preOpCount' $(MCM_PROPOSAL_OUTPUT))\"\n\t@echo \"  - postOpCount: $$(jq '.rootMetadata.postOpCount' $(MCM_PROPOSAL_OUTPUT))\"\n\n# Step 9: Sign proposal\n.PHONY: sign\nsign:\n\t@echo \"==> Step 9: Signing proposal...\"\n\tmake mcm-sign\n\n# Step 10: Execute proposal (signatures + set-root + execute)\n.PHONY: step10-execute-proposal\nstep10-execute-proposal:\n\t@echo \"==> Step 10: Executing proposal...\"\n\tmake mcm-signatures-all\n\tmake mcm-proposal-set-root\n\t@echo \"==> Executing operation 1 (SetPartnerOracleConfig)...\"\n\tmake mcm-proposal-execute \\\n\t\tMCM_START_INDEX=0 \\\n\t\tMCM_OPERATION_COUNT=1 \\\n\t\tMCM_PROPOSAL_EXECUTE_ARTIFACT=artifacts/mcm-proposal-execute-op1.json\n\t@echo \"==> Executing operation 2 (Upgrade)...\"\n\tmake mcm-proposal-execute \\\n\t\tMCM_START_INDEX=1 \\\n\t\tMCM_OPERATION_COUNT=1 \\\n\t\tMCM_PROPOSAL_EXECUTE_ARTIFACT=artifacts/mcm-proposal-execute-op2.json"
  },
  {
    "path": "solana/devnet-alpha/2025-11-14-update-bridge-config/README.md",
    "content": "# MCM Bridge Config Update\n\nStatus: [EXECUTED](https://explorer.solana.com/tx/21ECmKcUJMsnX9Du15tbFXXm7iJPkfqFn8nri2HyJssqZJpXmK8HWNnHxVowZFR4J9mVDfbfbkqg8rqcdSV9tQaT?cluster=devnet)\n\nSetPartnerOracleConfig: https://explorer.solana.com/tx/62PKuwNTkoJ8AsGNNiwcfL7meoPYb2Ja8wUTCPJa7c57dmQhUyAfUoo751B2aPmn8BdV2UnaizbK4nsdTLQXTmWv?cluster=devnet\n\n## Description\n\nThis task updates the bridge config using its MCM authority.\n\n## Procedure for Signers\n\n### 1. Update repo\n\n```bash\ncd contract-deployments\ngit pull\ncd solana/devnet-alpha/2025-11-14-update-bridge-config\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The **Ethereum application** needs to be opened on Ledger with the message \"Application is ready\".\n\n### 3. Verify the Proposal\n\nBefore signing, verify the proposal contents to ensure it matches expectations.\n\n#### 3.1. Verify Instruction 1 (Bridge SetPartnerOracleConfig)\n\n**Program ID:**\n\nOpen `proposal.json` and verify instruction 1 has program ID: `6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm`\n\n**Instruction Data:**\n\nVerify the instruction discriminant matches [SetPartnerOracleConfig](https://github.com/base/bridge/blob/main/solana/programs/bridge/src/lib.rs#L569):\n\n```bash\necho -n \"global:set_partner_oracle_config\" | shasum -a 256 | cut -c1-16\n```\n\nExpected output: `2230e7872a71d99d`\n\nVerify the full instruction data:\n\n```bash\njq -r '.instructions[0].data' proposal.json | base64 -d | xxd -p -c 256\n```\n\nExpected output: `2230e7872a71d99d01`\n\nThis is the discriminant (`2230e7872a71d99d`) followed by the Borsh-encoded threshold value (`01` = 1 in u8).\n\n#### 3.2. Verify Instruction 2 (BPF Loader Upgradeable - Upgrade)\n\n**Program ID:**\n\nVerify instruction 2 has program ID: `BPFLoaderUpgradeab1e11111111111111111111111`\n\n**Instruction Data:**\n\nVerify this is the Upgrade instruction (discriminant = 3):\n\n```bash\njq -r '.instructions[1].data' proposal.json | base64 -d | xxd -p -c 256\n```\n\nExpected output: `03000000`\n\nThis is the u32 little-endian representation of 3, which corresponds to the [Upgrade](https://github.com/solana-program/loader-v3/blob/main/program/src/instruction.rs#L223) instruction in BPF Loader Upgradeable.\n\n#### 3.3. Verify Proposal Metadata\n\nCheck the proposal metadata in `proposal.json`:\n\n- **validUntil**: `1763733106` (Unix timestamp - verify this is in the future)\n- **multisig**: `7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL`\n- **preOpCount**: `8`\n- **postOpCount**: `10` (should be preOpCount + 2 operations)\n\n### 4. Sign the proposal\n\n```bash\nmake sign\n```\n\nThis command will:\n1. Display the proposal hash\n2. Prompt you to sign on your Ledger\n3. Output your signature\n\n**Verify on your Ledger**: Check that the data you're signing matches the proposal hash displayed in the terminal.\n\nAfter signing, you will see output like:\n\n```\nSignature: 1234567890abcdef...\n```\n\n### 5. Send signature to Facilitator\n\nCopy the **entire signature** and send it to the Facilitator via your secure communication channel.\n\n**That's it!** The Facilitator will collect all signatures and execute the proposal.\n\n## For Facilitators\n\nSee [FACILITATORS.md](./FACILITATORS.md) for complete instructions on preparing, executing, and verifying this task.\n"
  },
  {
    "path": "solana/devnet-alpha/2025-11-14-update-bridge-config/artifacts/mcm-proposal-execute-op1.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"62PKuwNTkoJ8AsGNNiwcfL7meoPYb2Ja8wUTCPJa7c57dmQhUyAfUoo751B2aPmn8BdV2UnaizbK4nsdTLQXTmWv\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 5\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n        \"9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN\",\n        \"F1HSdZSs7CWSNBV4jqa977hLcuxn6fcdg8R5JuoFvM2q\",\n        \"DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S\",\n        \"6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm\",\n        \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\",\n        \"EkPiugm4hAm5pMPSoM9aTtDNxUdDXLcaVgttUQvksqkj\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"AfKjpA3jRgE4HYLgyZhhAPy8Sr4AZn9WfCpwBr9bqvzd\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 8,\n          \"accounts\": [\n            1,\n            4,\n            2,\n            5,\n            6,\n            0,\n            6,\n            3,\n            7,\n            5\n          ],\n          \"data\": \"kdy7aa47nZccXGYmJrCpZESavPSdBHauQKcgU4SCjVZLTicZFgHts7pDttPzTqRyedw2Jy78zJsCHn3XXJVNM5XvezcR2zTwjNxMFLWaDCCaEwq92aAtZayCjyJcN8gb55bTsuLu71ZF8p4uSj3zBkeMcLDNKeNbDHmE4Yj72TbJQEXjLM25FgxdzSB\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      85543319612,\n      4134240,\n      1252800,\n      4565760,\n      1343280,\n      1141440,\n      0,\n      6120992880,\n      1141440\n    ],\n    \"postBalances\": [\n      85543314612,\n      4134240,\n      1252800,\n      4565760,\n      1343280,\n      1141440,\n      0,\n      6120992880,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 5,\n            \"accounts\": [\n              6,\n              3,\n              7,\n              5\n            ],\n            \"data\": \"SF38x7kbGQVN\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: Execute\",\n      \"Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm invoke [2]\",\n      \"Program log: Instruction: SetPartnerOracleConfig\",\n      \"Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm consumed 8802 of 170945 compute units\",\n      \"Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm success\",\n      \"Program data: 3Q/UHSP8/04IAAAAAAAAAFJw9BMpTsJAnaNQ2SDcXQ5pG2X7hoV33jo1m3m+5rSsCQAAACIw54cqcdmdAQ==\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 43533 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 43533\n  },\n  \"blockTime\": 1763154245,\n  \"slot\": 421582423\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-11-14-update-bridge-config/artifacts/mcm-proposal-execute-op2.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"21ECmKcUJMsnX9Du15tbFXXm7iJPkfqFn8nri2HyJssqZJpXmK8HWNnHxVowZFR4J9mVDfbfbkqg8rqcdSV9tQaT\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 6\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n        \"9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN\",\n        \"EkPiugm4hAm5pMPSoM9aTtDNxUdDXLcaVgttUQvksqkj\",\n        \"6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm\",\n        \"5V7DoN2SaSB2tLfzJERXyWmdEHCKcKmSSujMcQDVDtGh\",\n        \"Dz7RiPP83jmH1XQFqp45p3SQJWhfWFWNgRBCMhFPmQNP\",\n        \"DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S\",\n        \"BPFLoaderUpgradeab1e11111111111111111111111\",\n        \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\",\n        \"SysvarRent111111111111111111111111111111111\",\n        \"SysvarC1ock11111111111111111111111111111111\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"6E5cqLjsWUYDKAvPJsT4jExByctHDPWPmXW9mCsHEz3Z\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 12,\n          \"accounts\": [\n            1,\n            7,\n            2,\n            8,\n            9,\n            0,\n            3,\n            4,\n            5,\n            6,\n            10,\n            11,\n            9\n          ],\n          \"data\": \"65zRtZe3ydJWJeJJEUXq3RVmLzRGFdSm94DUpibi5UNcLWiV78xjAha9DLJrUHx7qbfu5SNUCaTc7qHQS7m9USobtG4T6fWrkKR9Jv8eq8UWz3VzvJd6sNNiMupaFj9TeNZgGZx6x\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      85543314612,\n      4134240,\n      1252800,\n      6120992880,\n      1141440,\n      6120992880,\n      215825000,\n      1343280,\n      1,\n      0,\n      1009200,\n      1169280,\n      1141440\n    ],\n    \"postBalances\": [\n      85543309612,\n      4134240,\n      1252800,\n      6120992880,\n      1141440,\n      0,\n      6336817880,\n      1343280,\n      1,\n      0,\n      1009200,\n      1169280,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 8,\n            \"accounts\": [\n              3,\n              4,\n              5,\n              6,\n              10,\n              11,\n              9\n            ],\n            \"data\": \"5Sxr3\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: Execute\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [2]\",\n      \"Upgraded program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 success\",\n      \"Program data: 3Q/UHSP8/04JAAAAAAAAAAKo9pFOiKGw4hAVPvdjrisAwrk9FsEk0sBTehAEgAAABAAAAAMAAAA=\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 47699 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 47699\n  },\n  \"blockTime\": 1763154258,\n  \"slot\": 421582458\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-11-14-update-bridge-config/artifacts/mcm-proposal-set-root.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"3zygbJJAbTvrPXbvcmHwsV1T1h1NFFa297W77nsSWSXffNLs69CRR7fjCm8f73UWRmLvHc3FYjpbYyw2SRPSBctj\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 3\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"2iGcpYmXEeaKMK4sZ7EJVMTEqn65phsaqrKoYY6hKKLx\",\n        \"DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S\",\n        \"HHYezcxzKff2NYL9r4CmzCD1y5V7tX7hYRZKtaobEhLT\",\n        \"9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN\",\n        \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n        \"11111111111111111111111111111111\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"4VNrcVoXJrayDRLHAnCATgHuYaavzcaoQXuEonKM1fXa\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 7,\n          \"accounts\": [\n            1,\n            2,\n            3,\n            4,\n            5,\n            0,\n            6\n          ],\n          \"data\": \"5eKRp7yWnavbVMvLc7WTeNLXgQZHNTvquMyjaspSK7Pdjz7ZrrUaadEkUhcFzXT2tGf4iVxG2dFMcavCW1QYTNdnTypwScu7FViuLYhAYehQ9bZGob89RRLsGgPVe8LgVPfpftD5cFX6Mx83cg9j1SQfTovVAsZgHsKkidFhy455LhvEkzS5to3n5GK9ZZQzvhx9oNFHXdqpzQUn1toDrrUp84H6Pb4Uw4jhcoBsfFBfwENsoxwXxKqALo4Yb2BdrvxHYt38Pg8mWsYmU3R\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      85541932612,\n      2345520,\n      1343280,\n      0,\n      1252800,\n      4134240,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      85543319612,\n      0,\n      1343280,\n      953520,\n      1252800,\n      4134240,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 6,\n            \"accounts\": [\n              0,\n              3\n            ],\n            \"data\": \"11117UcthqATmHRa77Wg3s82tM6xxYxd7PiZ2oZ4h1ZRQ3Q6anaT7puATNmrGRBPnEn6Uh\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: SetRootEip712\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program data: 0hm7digqPXdKFJykHbWZEVN0rYzpHsXhHnotQmpGot9G1zwzVAbOnXJuIGkAAAAAAAAAAFvuOPs7hiam+/CQoroqEyiPrjtrRaqBltmHvQYLpVUzCAAAAAAAAAAKAAAAAAAAAAA=\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 104367 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 104367\n  },\n  \"blockTime\": 1763154230,\n  \"slot\": 421582384\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-11-14-update-bridge-config/artifacts/mcm-signatures-append.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"ANERR6mpDRiNPGbRCbtjCioCEP2tgjgC8ei6GX4qK8ucdrzbEzd3ujKu9oF9bJnDgfLQ1ibXx4KRAyjGzVCEw7P\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"2iGcpYmXEeaKMK4sZ7EJVMTEqn65phsaqrKoYY6hKKLx\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"EK6xoj97rGKbgtPU4VgQUKQgnXeTiAwzrfrefVanafhX\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"8JM1NbBrt3Xh3kxoE3gUoUhdacSAaBKUdPn3SULoy5MqoavKwgx6PuJyrPJh3NC8LURmDapa99pxVaU6J73P4wRzNNshWYzUE5fX4EhLifeUapttzMcnoGS3fhhJCdeh1Xyc798faj5HBuxaTBCKgP4UhkWc2Gq6kPGcgFWvawNBa3B6ej9Z9hnoPNNXQ2kYagKjm1jX212XWdDveLg3xFcjpJoB6XYHio5Ma1Tv4psRcuGMsABceBUfhxXfqH6ab9mMzBco1bPG9vkaeUbuM3rEc4TFT1WGHsswDgUuirfHbj5iDdEz9boPWZdtrqWER1wfQFigQQUn3tu6tMYStQyrVCKT9DKftTEdRZtGa3EoDNJqaY1L3uDF\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      85541942612,\n      2345520,\n      1141440\n    ],\n    \"postBalances\": [\n      85541937612,\n      2345520,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: AppendSignatures\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 5385 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 5385\n  },\n  \"blockTime\": 1763154201,\n  \"slot\": 421582309\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-11-14-update-bridge-config/artifacts/mcm-signatures-finalize.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"8LPEJyga6wqRnYHhAqhcG11HEWjwGgRPyCspKTJjMkh2vNXK9TwU9fWWUJ6XF6mumAJiA3m4mwXL6r3Z5ZRgLSP\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"2iGcpYmXEeaKMK4sZ7EJVMTEqn65phsaqrKoYY6hKKLx\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"576VEbFT6j6bY2fSSn2S6sg6C25EH2TwHofRJboBxy97\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"8VPNxavkg2Yj38NCocv5Cq5gNj6AXt2M4QRQjqgjJnXPoyHsmdy1UZDH4nrcvoCKA4G7kT2QQRKxehQeVWPqB6MvVzqMqa7xtGmLzs3N\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      85541937612,\n      2345520,\n      1141440\n    ],\n    \"postBalances\": [\n      85541932612,\n      2345520,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: FinalizeSignatures\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 4571 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 4571\n  },\n  \"blockTime\": 1763154215,\n  \"slot\": 421582346\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-11-14-update-bridge-config/artifacts/mcm-signatures-init.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"64aMcvvdW6jjP2r8ViPAcFmZWGhKUBWstTc4hzwxUY6DXKPYvnhpNV8tsrT81JecWptBhPSKCgEBTMPkcuV96TvV\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"2iGcpYmXEeaKMK4sZ7EJVMTEqn65phsaqrKoYY6hKKLx\",\n        \"11111111111111111111111111111111\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"6fjrWVGWSrLVxVq6N5TYxsUWo1Dk2VCxkhxaT54NYyMZ\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 3,\n          \"accounts\": [\n            1,\n            0,\n            2\n          ],\n          \"data\": \"2QCcPn6AhHR9Zi4mhnFE53M8tJopZFLmSWFEPUWVFoNxRRu5UeGEiNamrRvGoY2Qep1kZjsRUbgtrX5goeEMP3EGUCfrCuivv4XhxuR9iz\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      85544293132,\n      0,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      85541942612,\n      2345520,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 2,\n            \"accounts\": [\n              0,\n              1\n            ],\n            \"data\": \"11112nodbJCN8fXPKGyCu9NpWW4Z1ZkxMmEywtSX6cwUwwiUiy2t2NJ1N7s3c1VyVFW6Sm\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: InitSignatures\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 7985 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 7985\n  },\n  \"blockTime\": 1763154186,\n  \"slot\": 421582270\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-11-14-update-bridge-config/artifacts/set-buffer-authority-artifacts.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"4KuCuciTRVsaz8wFevYaVTowoZBDCmV94jwJQiijFJxBtSW53r7WjhqNWUxunJBCKaJVzQZjUHiTRX7C3FnAxH9n\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"5V7DoN2SaSB2tLfzJERXyWmdEHCKcKmSSujMcQDVDtGh\",\n        \"BPFLoaderUpgradeab1e11111111111111111111111\",\n        \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\"\n      ],\n      \"recentBlockhash\": \"HwTviVZMW2x77VTFctA9NVhZNfzjoJ7RV6Dp7LfF2YJi\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0,\n            3\n          ],\n          \"data\": \"6vx8P\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      85544298132,\n      6120992880,\n      1,\n      0\n    ],\n    \"postBalances\": [\n      85544293132,\n      6120992880,\n      1,\n      0\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]\",\n      \"New authority Some(2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ)\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 2370\n  },\n  \"blockTime\": 1763143086,\n  \"slot\": 421553525\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-11-14-update-bridge-config/patches/id.patch",
    "content": "diff --git a/solana/programs/bridge/src/lib.rs b/solana/programs/bridge/src/lib.rs\nindex 70cb385..274534f 100644\n--- a/solana/programs/bridge/src/lib.rs\n+++ b/solana/programs/bridge/src/lib.rs\n@@ -26,7 +26,7 @@ use solana_to_base::*;\n #[cfg(test)]\n mod test_utils;\n \n-declare_id!(\"GaxAZQ3BSYjfG65e8mGnBnNpmhqRHDJ33aKEASHh3A3P\");\n+declare_id!(\"6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm\");\n \n #[program]\n pub mod bridge {\n"
  },
  {
    "path": "solana/devnet-alpha/2025-11-14-update-bridge-config/proposal.json",
    "content": "{\n  \"multisigId\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n  \"validUntil\": 1763733106,\n  \"instructions\": [\n    {\n      \"programId\": \"6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm\",\n      \"data\": \"IjDnhypx2Z0B\",\n      \"accounts\": [\n        {\n          \"pubkey\": \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        },\n        {\n          \"pubkey\": \"F1HSdZSs7CWSNBV4jqa977hLcuxn6fcdg8R5JuoFvM2q\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"EkPiugm4hAm5pMPSoM9aTtDNxUdDXLcaVgttUQvksqkj\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        },\n        {\n          \"pubkey\": \"6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        }\n      ]\n    },\n    {\n      \"programId\": \"BPFLoaderUpgradeab1e11111111111111111111111\",\n      \"data\": \"AwAAAA==\",\n      \"accounts\": [\n        {\n          \"pubkey\": \"EkPiugm4hAm5pMPSoM9aTtDNxUdDXLcaVgttUQvksqkj\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"5V7DoN2SaSB2tLfzJERXyWmdEHCKcKmSSujMcQDVDtGh\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"Dz7RiPP83jmH1XQFqp45p3SQJWhfWFWNgRBCMhFPmQNP\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"SysvarRent111111111111111111111111111111111\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        },\n        {\n          \"pubkey\": \"SysvarC1ock11111111111111111111111111111111\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        },\n        {\n          \"pubkey\": \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        }\n      ]\n    }\n  ],\n  \"rootMetadata\": {\n    \"chainId\": 0,\n    \"multisig\": \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n    \"preOpCount\": 8,\n    \"postOpCount\": 10,\n    \"overridePreviousRoot\": false\n  }\n}"
  },
  {
    "path": "solana/devnet-alpha/2025-12-01-upgrade-bridge-and-rollback/.gitignore",
    "content": "bridge/\n*keypair.json\nrollback.so\n"
  },
  {
    "path": "solana/devnet-alpha/2025-12-01-upgrade-bridge-and-rollback/FACILITATORS.md",
    "content": "# Facilitator Instructions: Bridge Program Upgrade with Rollback\n\n## Overview\n\nAs a Facilitator, you are responsible for:\n1. Preparing the bridge program upgrade buffer (with patch applied)\n2. Preparing the rollback buffer (current program bytecode)\n3. Creating a merged upgrade/rollback proposal\n4. Coordinating with Signers and collecting signatures\n5. Executing the upgrade on-chain\n6. Executing the rollback if needed\n\n## Prerequisites\n\n```bash\ncd contract-deployments\ngit pull\ncd solana/<network>/<task-directory>\nmake setup-deps\n```\n\nEnsure you have:\n- Rust toolchain installed (via `make setup-deps`)\n- Solana CLI installed and configured (via `make setup-deps`)\n- Anchor CLI installed \n- `mcmctl` installed (via `make deps`)\n- `eip712sign` installed (via `make deps`)\n- A funded Solana wallet configured\n\n## Phase 1: Prepare Bridge Program Upgrade\n\n### 1.1. Update .env for bridge program upgrade\n\nSet the following in `.env`:\n\n```bash\nBRIDGE_REPO=<bridge-repo-url>\nBRIDGE_COMMIT=<commit-hash>\nUPGRADE_PATCH=patches/upgrade.patch\n```\n\nThen run:\n\n```bash\nmake step1-clone-bridge\n```\n\nThis will:\n- Remove any existing `bridge` directory\n- Clone the bridge repository\n- Checkout the specified commit\n- Apply the patch from `patches/upgrade.patch`\n- Install and build TypeScript clients\n\n### 1.2. Build the bridge programs\n\n```bash\nmake step2-build-programs\n```\n\nThis builds the bridge programs. The compiled binary will be in `bridge/solana/target/deploy/bridge.so`.\n\n### 1.3. Write program buffer\n\nEnsure the following variable is set in `.env`:\n\n```bash\nPROGRAM_BINARY=./bridge/solana/target/deploy/bridge.so\n```\n\nThen run:\n\n```bash\nmake step3-write-buffer\n```\n\nThis will output a buffer address. Copy it and add to `.env`:\n\n```bash\nBUFFER=<buffer-address-from-output>\n```\n\n### 1.4. Transfer buffer authority to MCM\n\nEnsure the following variable is set in `.env`:\n\n```bash\nNEW_BUFFER_AUTHORITY=$(MCM_AUTHORITY)\n```\n\nThen run:\n\n```bash\nmake step4-transfer-buffer\n```\n\nThis transfers the buffer authority from your wallet to the MCM authority PDA. The buffer is now controlled by MCM.\n\nCopy the transaction signature from the output.\n\n### 1.5. Generate set-buffer-authority artifacts\n\nFind the transaction signature from step 1.4 on Solana Explorer and add to `.env`:\n\n```bash\nSET_BUFFER_AUTHORITY_SIGNATURE=<transaction-signature>\n```\n\nThen generate the artifacts:\n\n```bash\nmake step5-generate-set-buffer-authority-artifacts\n```\n\nThis creates `artifacts/set-buffer-authority-artifacts.json`.\n\n## Phase 2: Prepare Rollback Buffer\n\n### 2.1. Dump current program\n\nEnsure the following variable is set in `.env`:\n\n```bash\nPROGRAM=<bridge-program-address>\nROLLBACK_PROGRAM_BINARY=./rollback.so\n```\n\nThen run:\n\n```bash\nmake step6-dump-current-program\n```\n\nThis dumps the current on-chain program bytecode to `rollback.so`.\n\n### 2.2. Write rollback buffer\n\n```bash\nmake step7-write-rollback-buffer\n```\n\nThis will output a buffer address. Copy it and add to `.env`:\n\n```bash\nROLLBACK_BUFFER=<rollback-buffer-address-from-output>\n```\n\n### 2.3. Transfer rollback buffer authority to MCM\n\n```bash\nmake step8-transfer-rollback-buffer\n```\n\nCopy the transaction signature from the output.\n\n### 2.4. Generate rollback buffer artifacts\n\nAdd the transaction signature to `.env`:\n\n```bash\nSET_ROLLBACK_BUFFER_AUTHORITY_SIGNATURE=<transaction-signature>\n```\n\nThen generate the artifacts:\n\n```bash\nmake step9-generate-rollback-buffer-artifacts\n```\n\nThis creates `artifacts/set-rollback-buffer-authority-artifacts.json`.\n\n## Phase 3: Create Merged Proposal\n\n### 3.1. Ensure all MCM variables are set\n\nVerify the following variables are set in `.env`:\n\n```bash\n# Common MCM Proposal Variables\nMCM_PROGRAM_ID=<mcm-program-id>\nMCM_MULTISIG_ID=<multisig-id>\nMCM_VALID_UNTIL=<unix-timestamp>\nMCM_OVERRIDE_PREVIOUS_ROOT=false  # or true if needed\nMCM_PROPOSAL_OUTPUT=proposal.json\n\n# Program upgrade variables\nPROGRAM=<bridge-program-address>\nBUFFER=<upgrade-buffer-address>\nROLLBACK_BUFFER=<rollback-buffer-address>\nSPILL=<your-wallet-address>\n```\n\n### 3.2. Create merged proposal\n\n```bash\nmake step10-create-proposal\n```\n\nThis creates `proposal.json` containing two instructions:\n- Instruction 0: Upgrade to the patched version\n- Instruction 1: Rollback to the original version\n\n### 3.3. Review proposal\n\nOpen and review `proposal.json` to verify:\n- Instructions count is 2\n- First instruction uses `BUFFER` (upgrade)\n- Second instruction uses `ROLLBACK_BUFFER` (rollback)\n- Program address matches `PROGRAM`\n- Spill address is correct\n\n## Phase 4: Coordinate with Signers and Collect Signatures\n\nCoordinate with Signers to collect their signatures. Each Signer will run `make sign` and provide their signature.\n\nConcatenate all signatures in the format: `0xSIG1,0xSIG2,0xSIG3`\n\nOnce you have all required signatures, add to `.env`:\n\n```bash\nMCM_SIGNATURES_COUNT=<number-of-signatures>\nMCM_SIGNATURES=0xSIG1,0xSIG2,0xSIG3\n```\n\n## Phase 5: Register and Execute Proposal\n\n### 5.1. Add execution variables to .env\n\nAdd the following variables to `.env`:\n\n```bash\nAUTHORITY=<your-wallet-keypair-path>\n```\n\n### 5.2. Register the proposal\n\n```bash\nmake step12-register-proposal\n```\n\nThis command:\n- Initializes signatures account\n- Appends signatures\n- Finalizes signatures\n- Sets root\n\n### 5.3. Execute the upgrade\n\n```bash\nmake step13-execute-upgrade\n```\n\nThis executes instruction 0 (upgrade to patched version).\n\n### 5.4. Execute the rollback (if needed)\n\nIf you need to rollback to the original version:\n\n```bash\nmake step14-execute-rollback\n```\n\nThis executes instruction 1 (rollback to original version).\n\n## Phase 6: Verification\n\n### 6.1. Verify program upgrade on Solana Explorer\n\nVisit the Solana Explorer for your network:\n- Mainnet: https://explorer.solana.com/\n- Devnet: https://explorer.solana.com/?cluster=devnet\n\nSearch for the bridge program address (`$PROGRAM`) and verify:\n- The \"Last Deployed Slot\" is recent\n- The upgrade authority is still the MCM authority\n- The program was upgraded successfully\n\n### 6.2. Update README\n\nUpdate the Status line in README.md to:\n\n```markdown\nStatus: [EXECUTED](https://explorer.solana.com/tx/<transaction-signature>?cluster=<network>)\n```\n\nReplace `<transaction-signature>` with the execution transaction signature and `<network>` with the appropriate cluster (devnet, devnet-alpha, mainnet-beta, etc.).\n"
  },
  {
    "path": "solana/devnet-alpha/2025-12-01-upgrade-bridge-and-rollback/Makefile",
    "content": "include ../.env\ninclude .env\n\ninclude ../../Makefile\n\n.PHONY: install-rust\ninstall-rust:\n\tcurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y\n\trustup toolchain install $(RUST_TOOLCHAIN) && \\\n    rustup default $(RUST_TOOLCHAIN)\n\n.PHONY: install-solana-cli\ninstall-solana-cli:\n\tcurl -sSfL https://release.anza.xyz/v$(SOLANA_VERSION)/install | sh\n\n.PHONY: install-anchor\ninstall-anchor:\n\tcargo install --git https://github.com/coral-xyz/anchor --tag v$(ANCHOR_VERSION) anchor-cli --force\n\n.PHONY: setup-deps\nsetup-deps: install-rust install-solana-cli install-anchor\n\n##\n# MCM Program Upgrade with Rollback Workflow\n##\n\n# Step 1: Clone the bridge repo and apply patch\n.PHONY: step1-clone-bridge\nstep1-clone-bridge:\n\t@echo \"==> Step 1: Cloning and patching the bridge repo...\"\n\t@ rm -rf bridge\n\t@ git clone --filter=blob:none $(BRIDGE_REPO) bridge\n\t@ cd bridge && \\\n\t\tgit checkout $(BRIDGE_COMMIT) && \\\n\t\tgit apply ../$(UPGRADE_PATCH)\n\t@ cd bridge/clients/ts && \\\n\t\tbun install && \\\n\t\tbun run build\n\t@ cd bridge/scripts && \\\n\t\tbun install\n\n# Step 2: Build the bridge programs\n.PHONY: step2-build-programs\nstep2-build-programs:\n\t@echo \"==> Step 2: Building bridge programs...\"\n\tmkdir -p bridge/solana/target/deploy && \\\n\t\tcp $(BRIDGE_KEYPAIR) bridge/solana/target/deploy/bridge-keypair.json && \\\n\t\tcp $(BASE_RELAYER_KEYPAIR) bridge/solana/target/deploy/base_relayer-keypair.json && \\\n\tcd bridge/solana && \\\n\t\tanchor keys sync\n\tcd bridge/scripts && \\\n\t\tbun cli sol build \\\n\t\t--deploy-env $(DEPLOY_ENV) \\\n\t\t--bridge-program-kp ../../$(BRIDGE_KEYPAIR) \\\n\t\t--base-relayer-program-kp ../../$(BASE_RELAYER_KEYPAIR)\n\n# Step 3: Write program buffer\n.PHONY: step3-write-buffer\nstep3-write-buffer:\n\t@echo \"==> Step 3: Writing program buffer...\"\n\tmake sol-write-buffer\n\n# Step 4: Transfer buffer authority to MCM\n.PHONY: step4-transfer-buffer\nstep4-transfer-buffer:\n\t@echo \"==> Step 4: Transferring buffer authority to MCM...\"\n\tmake sol-set-buffer-authority\n\n# Step 5: Generate set-buffer-authority artifacts\n.PHONY: step5-generate-set-buffer-authority-artifacts\nstep5-generate-set-buffer-authority-artifacts:\n\t@echo \"==> Step 5: Generating MCM set-buffer-authority artifacts...\"\n\tmake sol-confirm SIG=$(SET_BUFFER_AUTHORITY_SIGNATURE) output=artifacts/set-buffer-authority-artifacts.json\n\n##\n# Rollback Buffer Preparation\n##\n\n# Step 6: Dump current program to rollback.so\n.PHONY: step6-dump-current-program\nstep6-dump-current-program:\n\t@echo \"==> Step 6: Dumping current program to rollback.so...\"\n\tsolana program dump $(PROGRAM) $(ROLLBACK_PROGRAM_BINARY) --url $(SOL_RPC_URL)\n\n# Step 7: Write rollback buffer\n.PHONY: step7-write-rollback-buffer\nstep7-write-rollback-buffer:\n\t@echo \"==> Step 7: Writing rollback buffer...\"\n\tmake sol-write-buffer PROGRAM_BINARY=$(ROLLBACK_PROGRAM_BINARY)\n\n# Step 8: Transfer rollback buffer authority to MCM\n.PHONY: step8-transfer-rollback-buffer\nstep8-transfer-rollback-buffer:\n\t@echo \"==> Step 8: Transferring rollback buffer authority to MCM...\"\n\tmake sol-set-buffer-authority BUFFER=$(ROLLBACK_BUFFER)\n\n# Step 9: Generate rollback buffer artifacts\n.PHONY: step9-generate-rollback-buffer-artifacts\nstep9-generate-rollback-buffer-artifacts:\n\t@echo \"==> Step 9: Generating rollback buffer artifacts...\"\n\tmake sol-confirm SIG=$(SET_ROLLBACK_BUFFER_AUTHORITY_SIGNATURE) output=artifacts/set-rollback-buffer-authority-artifacts.json\n\n##\n# Proposal Creation and Execution\n##\n\n# Step 10: Create merged upgrade/rollback proposal\n.PHONY: step10-create-proposal\nstep10-create-proposal:\n\t@echo \"==> Step 10: Creating merged upgrade/rollback MCM proposal...\"\n\t@echo \"  → Creating upgrade proposal...\"\n\t@make mcm-proposal-loader-v3-upgrade \\\n\t\tMCM_PROPOSAL_OUTPUT=upgrade-proposal.json\n\t@echo \"  → Creating rollback proposal...\"\n\t@make mcm-proposal-loader-v3-upgrade \\\n\t\tBUFFER=$(ROLLBACK_BUFFER) \\\n\t\tMCM_PROPOSAL_OUTPUT=rollback-proposal.json\n\t@echo \"  → Merging proposals...\"\n\t@jq -s '.[0] as $$upgrade | .[1] as $$rollback | $$upgrade | .instructions = ($$upgrade.instructions + $$rollback.instructions) | .rootMetadata.postOpCount = (.rootMetadata.preOpCount + 2)' \\\n\t\tupgrade-proposal.json rollback-proposal.json > proposal.json\n\t@rm -f upgrade-proposal.json rollback-proposal.json\n\t@echo \"✓ Merged proposal created: proposal.json\"\n\t@echo \"  - Instructions count: $$(jq '.instructions | length' proposal.json)\"\n\t@echo \"  - preOpCount: $$(jq '.rootMetadata.preOpCount' proposal.json)\"\n\t@echo \"  - postOpCount: $$(jq '.rootMetadata.postOpCount' proposal.json)\"\n\n# Step 11: Sign proposal\n.PHONY: sign\nsign:\n\t@echo \"==> Step 11: Signing proposal...\"\n\tmake mcm-sign\n\n# Step 12: Register proposal (signatures + set-root)\n.PHONY: step12-register-proposal\nstep12-register-proposal:\n\t@echo \"==> Step 12: Registering MCM proposal...\"\n\t@make mcm-signatures-all\n\t@make mcm-proposal-set-root\n\n# Step 13: Execute upgrade\n.PHONY: step13-execute-upgrade\nstep13-execute-upgrade:\n\t@echo \"==> Step 13: Executing upgrade...\"\n\t@make mcm-proposal-execute MCM_START_INDEX=0 MCM_OPERATION_COUNT=1\n\t@mv artifacts/mcm-proposal-execute.json artifacts/mcm-upgrade-execute.json\n\n# Step 14: Execute rollback\n.PHONY: step14-execute-rollback\nstep14-execute-rollback:\n\t@echo \"==> Step 14: Executing rollback...\"\n\t@make mcm-proposal-execute MCM_START_INDEX=1 MCM_OPERATION_COUNT=1\n\t@mv artifacts/mcm-proposal-execute.json artifacts/mcm-rollback-execute.json\n"
  },
  {
    "path": "solana/devnet-alpha/2025-12-01-upgrade-bridge-and-rollback/README.md",
    "content": "# Upgrade Bridge Program with Rollback\n\nStatus: [EXECUTED](https://explorer.solana.com/tx/556YG2KpCEMNpv4Vf82nNXt9sE3rT2ZMnRs4HXqsxmGXx76GXB7Whw4T87fTU8Q8SdePyYzjhGFb1mknX1x9jwcR?cluster=devnet)\n\nRollback: https://explorer.solana.com/tx/XPaLXUaHRVqvhjg4fhXLp3Cdz36dQPZ6M8iBM6r2F23qReEkKasZWmBJHdm5zw42FRtn64kpC7YbVtjj3GGmdAy?cluster=devnet\n\n## Description\n\nThis task upgrades the bridge program using the Multi-Chain Multisig (MCM) governance system, with the ability to rollback to the original version if needed.\n\nThe proposal contains two instructions:\n- **Instruction 0**: Upgrade to the patched version (with `ping` function added)\n- **Instruction 1**: Rollback to the original version\n\n## Procedure for Signers\n\n### 1. Update repo\n\n```bash\ncd contract-deployments\ngit pull\ncd solana/<network>/<task-directory>\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The **Ethereum application** needs to be opened on Ledger with the message \"Application is ready\".\n\n### 3. Verify the Proposal\n\n#### 3.1. Verify Instruction 1 (BPF Loader Upgradeable - Upgrade)\n\n**Program ID:**\n\nVerify instruction 1 has program ID: `BPFLoaderUpgradeab1e11111111111111111111111`\n\n**Instruction Data:**\n\nVerify this is the Upgrade instruction (discriminant = 3):\n\n```bash\njq -r '.instructions[0].data' proposal.json | base64 -d | xxd -p -c 256\n```\n\nExpected output: `03000000`\n\nThis is the u32 little-endian representation of 3, which corresponds to the [Upgrade](https://github.com/solana-program/loader-v3/blob/main/program/src/instruction.rs#L223) instruction in BPF Loader Upgradeable.\n\n#### 3.2. Verify Instruction 2 (BPF Loader Upgradeable - Rollback)\n\n**Program ID:**\n\nVerify instruction 2 has program ID: `BPFLoaderUpgradeab1e11111111111111111111111`\n\n**Instruction Data:**\n\nVerify this is also the Upgrade instruction (discriminant = 3):\n\n```bash\njq -r '.instructions[1].data' proposal.json | base64 -d | xxd -p -c 256\n```\n\nExpected output: `03000000`\n\nThis rollback instruction uses the same Upgrade discriminant but with a buffer containing the original program bytecode.\n\n### 4. Sign the proposal\n\n```bash\nmake sign\n```\n\nThis command will:\n1. Display the proposal hash\n2. Prompt you to sign on your Ledger\n3. Output your signature\n\n**Verify on your Ledger**: Check that the data you're signing matches the proposal hash displayed in the terminal.\n\nAfter signing, you will see output like:\n\n```\nSignature: 1234567890abcdef...\n```\n\n### 5. Send signature to Facilitator\n\nCopy the **entire signature** and send it to the Facilitator via your secure communication channel.\n\n**That's it!** The Facilitator will collect all signatures and execute the proposal.\n\n## For Facilitators\n\nSee [FACILITATORS.md](./FACILITATORS.md) for complete instructions on preparing, executing, and verifying this task.\n"
  },
  {
    "path": "solana/devnet-alpha/2025-12-01-upgrade-bridge-and-rollback/artifacts/mcm-proposal-set-root.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"36oimV6qkDBR1wjNekfEBCaLGNr7TQ4DdvMfW4fZ4tKU4XmRhm7kP6a2Epeme5Y3nHKGNy66PM5U3RdQzmBJKvXZ\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 3\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"C3K7jbUhRSPAgz5dL5n255KkGkzfrfAFKtzZz81LCQpa\",\n        \"DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S\",\n        \"6SCzagCpPJ3oXJntAsuDjUS36Q6Jet2Uz7fQCPMVCakL\",\n        \"9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN\",\n        \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n        \"11111111111111111111111111111111\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"5R93WXYeFhD8GnmXERnZTPskfTKfpFVYa1n8Xq13hp5E\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 7,\n          \"accounts\": [\n            1,\n            2,\n            3,\n            4,\n            5,\n            0,\n            6\n          ],\n          \"data\": \"5eKRp7yWnavbVMvLc7WTeNLXgQZHNTvquMyjaspSK7Pdjz7ZrrUaadF83AKQ3ofEbDQRfW9T1aY6jzHREBWqJtqhPgkFN1AZp1iLDahbUnZ3EQYs452ZG3j9jP1YxaZEYMi5zP8JQ2yTiX1rUwuWLwe8EwpEDNtp1pPCY3hbbiSyqFpA3jNwp1aR9Gcbhh3apcAVsLnLdyP4iWrwZpgsSA2CqRwr91ZusXRvq8tcjqVEHvcMCvUu4nikVHQNoDJ2nUon22QriHiATPXJZc3\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      67082619372,\n      2345520,\n      1343280,\n      0,\n      1252800,\n      4134240,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      67084006372,\n      0,\n      1343280,\n      953520,\n      1252800,\n      4134240,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 6,\n            \"accounts\": [\n              0,\n              3\n            ],\n            \"data\": \"11117UcthqATmHRa77Wg3s82tM6xxYxd7PiZ2oZ4h1ZRQ3Q6anaT7puATNmrGRBPnEn6Uh\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: SetRootEip712\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program data: 0hm7digqPXfqxDxuJTyxjW7koBOYOP4eSEIRK/zU3eZ4TLDKAgfRwRu/NWkAAAAAAAAAAFvuOPs7hiam+/CQoroqEyiPrjtrRaqBltmHvQYLpVUzCgAAAAAAAAAMAAAAAAAAAAA=\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 104364 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 104364\n  },\n  \"blockTime\": 1764621251,\n  \"slot\": 425378844\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-12-01-upgrade-bridge-and-rollback/artifacts/mcm-rollback-execute.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"XPaLXUaHRVqvhjg4fhXLp3Cdz36dQPZ6M8iBM6r2F23qReEkKasZWmBJHdm5zw42FRtn64kpC7YbVtjj3GGmdAy\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 6\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n        \"9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN\",\n        \"EkPiugm4hAm5pMPSoM9aTtDNxUdDXLcaVgttUQvksqkj\",\n        \"6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm\",\n        \"4UPjK4eVWqHCKkRyfRzGVQz45DKAnWH72wuYH1VEKygj\",\n        \"Dz7RiPP83jmH1XQFqp45p3SQJWhfWFWNgRBCMhFPmQNP\",\n        \"DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S\",\n        \"BPFLoaderUpgradeab1e11111111111111111111111\",\n        \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\",\n        \"SysvarRent111111111111111111111111111111111\",\n        \"SysvarC1ock11111111111111111111111111111111\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"3NW4vf4WG4oV9euTXqyiKk7kcWUDUVagh9Wyo4JHbh54\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 12,\n          \"accounts\": [\n            1,\n            7,\n            2,\n            8,\n            9,\n            0,\n            3,\n            4,\n            5,\n            6,\n            10,\n            11,\n            9\n          ],\n          \"data\": \"65zRtZe3ydJWJeJJEUXq3RVmLzRGFdSm94DUpibi5UNcLWiV78xjAha9DLJrUHx7qbgNvQg7e3s2hopyuyZXk4Nu1o92kJaLK1sgELf258XZm1XmZK73qLyn575oiRtGxZdgycfRd\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      67063327732,\n      4134240,\n      1252800,\n      6127959840,\n      1141440,\n      6120992880,\n      19785248240,\n      1343280,\n      1,\n      0,\n      1009200,\n      1169280,\n      1141440\n    ],\n    \"postBalances\": [\n      67063322732,\n      4134240,\n      1252800,\n      6127959840,\n      1141440,\n      0,\n      25906241120,\n      1343280,\n      1,\n      0,\n      1009200,\n      1169280,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 8,\n            \"accounts\": [\n              3,\n              4,\n              5,\n              6,\n              10,\n              11,\n              9\n            ],\n            \"data\": \"5Sxr3\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: Execute\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [2]\",\n      \"Upgraded program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 success\",\n      \"Program data: 3Q/UHSP8/04LAAAAAAAAAAKo9pFOiKGw4hAVPvdjrisAwrk9FsEk0sBTehAEgAAABAAAAAMAAAA=\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 47706 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 47706\n  },\n  \"blockTime\": 1764621811,\n  \"slot\": 425380304\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-12-01-upgrade-bridge-and-rollback/artifacts/mcm-signatures-append.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"8XHU5Sq6ahSVqAuvLph3YdUWkNwQDXR4CP9szXPYopLdyhs2eGGE3fFYkKAbDXouXwirdzPnTcgJn3NesU3DnSi\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"C3K7jbUhRSPAgz5dL5n255KkGkzfrfAFKtzZz81LCQpa\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"8Uq3yULALG2qxdC744ur3Ae3sdBigbwSpULK8zzp6719\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"8JM1NbBrt3Xh3kxoE3gUoUhdacSAaBKUdPn3SULoy5MqoavKwgx6PuKTDUD6qyjURdBt7RfjwrnEnjWWVH9NbV8HdULQJYo6Bj6FTFzkZq2MwAY5wJEo7VypPw9P5sRPkHvhMs9gbcUgTcAocZRKoNuFotzde5fDXR84igsxEc4TWdBwDEHVVZdk1EoT1JCY9UkwZ6qJupvpEHZQPWEYyQtWMrvYhQmRfY5GZW3uU7RCaHawH1z7tVKS88ejrjSqQUiQvnZKH1Zq7P5orur8ummTQSnQGT9asNya8Z1bmQLjvbeh5z8eh6UuVZSfYPE81AcZtSXYBC8DCE6esLTdCFWaKL4syPsQQbjYCa2d7T2LYxygup4r3hgy\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      67082629372,\n      2345520,\n      1141440\n    ],\n    \"postBalances\": [\n      67082624372,\n      2345520,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: AppendSignatures\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 5385 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 5385\n  },\n  \"blockTime\": 1764621221,\n  \"slot\": 425378766\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-12-01-upgrade-bridge-and-rollback/artifacts/mcm-signatures-finalize.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"4ViPfRUwwedKitkLKaF7cnkBCUD71sgH3X7De5dM2v2E8rnCEF99YLVu4BNp3GBeu5m39KCJuDVP3Sk7WgMVU6ac\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"C3K7jbUhRSPAgz5dL5n255KkGkzfrfAFKtzZz81LCQpa\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"4UCqHaamXtZdmcpiMir45wHqVnaoUotCGQAdUZpceS3A\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"8VPNxavkg2Yj38NCocv5Cq5gNj6AXt2M4QRQjqgjJnXPoyHsmdy1UZEVqJNyK3qEpFjhhUSjJPBjqZPUEKdcgzyv6Ducw6ZnvqCRjbrQ\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      67082624372,\n      2345520,\n      1141440\n    ],\n    \"postBalances\": [\n      67082619372,\n      2345520,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: FinalizeSignatures\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 4571 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 4571\n  },\n  \"blockTime\": 1764621236,\n  \"slot\": 425378805\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-12-01-upgrade-bridge-and-rollback/artifacts/mcm-signatures-init.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"2hpvJcbPQxSckZ2UZNsuya9oirJtuUQKtVaZLmhxXz8pTjgKGVJgjs7mQV7rCSF5wdFRGfgyxn7P7ytLDazAm7ki\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"C3K7jbUhRSPAgz5dL5n255KkGkzfrfAFKtzZz81LCQpa\",\n        \"11111111111111111111111111111111\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"3FeKLSLbwMsjTPgLLGBovKeDug6CU4UYeGQBehi6hMbM\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 3,\n          \"accounts\": [\n            1,\n            0,\n            2\n          ],\n          \"data\": \"2QCcPn6AhHR9Zi4mhnFE53M8tJopZFLmSWFEPUWVFoNxRRu5UeGEiNasEnNamWF1decQKajgr13SZy2HcMCrDwEXLPjZ1Y7Jv7prfp47Kp\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      67084979892,\n      0,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      67082629372,\n      2345520,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 2,\n            \"accounts\": [\n              0,\n              1\n            ],\n            \"data\": \"11112nodbJCN8fXPKGyCu9NpWW4Z1ZkxMmEywtSX6cwUwwiUiy2t2NJ1N7s3c1VyVFW6Sm\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: InitSignatures\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 7985 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 7985\n  },\n  \"blockTime\": 1764621206,\n  \"slot\": 425378727\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-12-01-upgrade-bridge-and-rollback/artifacts/mcm-upgrade-execute.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"556YG2KpCEMNpv4Vf82nNXt9sE3rT2ZMnRs4HXqsxmGXx76GXB7Whw4T87fTU8Q8SdePyYzjhGFb1mknX1x9jwcR\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 6\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n        \"9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN\",\n        \"EkPiugm4hAm5pMPSoM9aTtDNxUdDXLcaVgttUQvksqkj\",\n        \"6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm\",\n        \"Fzwg1B9vfJWQd2YAaxrf2z8aLdnmgoS71q8xTD9WYAzt\",\n        \"Dz7RiPP83jmH1XQFqp45p3SQJWhfWFWNgRBCMhFPmQNP\",\n        \"DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S\",\n        \"BPFLoaderUpgradeab1e11111111111111111111111\",\n        \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\",\n        \"SysvarRent111111111111111111111111111111111\",\n        \"SysvarC1ock11111111111111111111111111111111\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"HkB2y4QPxTsj1odw1F1qFFdvvtc7GZzmWZ4Yu1ERtP8w\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 12,\n          \"accounts\": [\n            1,\n            7,\n            2,\n            8,\n            9,\n            0,\n            3,\n            4,\n            5,\n            6,\n            10,\n            11,\n            9\n          ],\n          \"data\": \"2WdZbr4cJKkR8bDbEdbqzfkAVHVTczCFDroACHGbZUy1NNEc7pxLKtYPDJTdoQMNfM2CQGwZexpHCEPcorj8uyXZqewjDa82VPGbUJd6BvkysDwxdztQpGToszCTVkKFkjHEx5pwty7bvjQcdZ5sVReUHHp5AJC244te5FfttZtEsmqDabwZ1\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      67077024412,\n      4134240,\n      1252800,\n      6127959840,\n      1141440,\n      6121605360,\n      13663317880,\n      1343280,\n      1,\n      0,\n      1009200,\n      1169280,\n      1141440\n    ],\n    \"postBalances\": [\n      67077019412,\n      4134240,\n      1252800,\n      6127959840,\n      1141440,\n      0,\n      19784923240,\n      1343280,\n      1,\n      0,\n      1009200,\n      1169280,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 8,\n            \"accounts\": [\n              3,\n              4,\n              5,\n              6,\n              10,\n              11,\n              9\n            ],\n            \"data\": \"5Sxr3\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: Execute\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [2]\",\n      \"Upgraded program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 success\",\n      \"Program data: 3Q/UHSP8/04KAAAAAAAAAAKo9pFOiKGw4hAVPvdjrisAwrk9FsEk0sBTehAEgAAABAAAAAMAAAA=\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 47981 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 47981\n  },\n  \"blockTime\": 1764621594,\n  \"slot\": 425379740\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-12-01-upgrade-bridge-and-rollback/artifacts/set-buffer-authority-artifacts.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"26TNdio4Uzp2mkbqzYmqSs3nhSio6t2QKbv4mZXw1Y6mw5jWiUQfnrqM2jMjqoiHJ7TSAjUPMLTr6B9MsvcjB4dW\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"Fzwg1B9vfJWQd2YAaxrf2z8aLdnmgoS71q8xTD9WYAzt\",\n        \"BPFLoaderUpgradeab1e11111111111111111111111\",\n        \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\"\n      ],\n      \"recentBlockhash\": \"6ixQJhzowtzrg3btdPGzne2gNxVf6jYbww3TkLyHGpMx\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0,\n            3\n          ],\n          \"data\": \"6vx8P\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      67084984892,\n      6121605360,\n      1,\n      0\n    ],\n    \"postBalances\": [\n      67084979892,\n      6121605360,\n      1,\n      0\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]\",\n      \"New authority Some(2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ)\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 2370\n  },\n  \"blockTime\": 1764619893,\n  \"slot\": 425375296\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-12-01-upgrade-bridge-and-rollback/artifacts/set-rollback-buffer-authority-artifacts.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"47VxQv1jDsDr7vibXy7E2WVFxHzLUhCuMFJckYyWv7x8ihBUYpvEZ6RPoqhYQpq1RiHTBWP25QKhCcFnzmbJXSXu\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72\",\n        \"4UPjK4eVWqHCKkRyfRzGVQz45DKAnWH72wuYH1VEKygj\",\n        \"BPFLoaderUpgradeab1e11111111111111111111111\",\n        \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\"\n      ],\n      \"recentBlockhash\": \"D7uTriKym7isKZ8vKKkoCLMXP5YbDpdT6T5YkX8tRbWU\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0,\n            3\n          ],\n          \"data\": \"6vx8P\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      73210950252,\n      6120992880,\n      1,\n      0\n    ],\n    \"postBalances\": [\n      73210945252,\n      6120992880,\n      1,\n      0\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]\",\n      \"New authority Some(2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ)\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 2370\n  },\n  \"blockTime\": 1764616723,\n  \"slot\": 425366993\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-12-01-upgrade-bridge-and-rollback/patches/upgrade.patch",
    "content": "diff --git a/solana/programs/bridge/src/lib.rs b/solana/programs/bridge/src/lib.rs\nindex 70cb385..fbdfde3 100644\n--- a/solana/programs/bridge/src/lib.rs\n+++ b/solana/programs/bridge/src/lib.rs\n@@ -249,6 +249,7 @@ pub mod bridge {\n         amount: u64,\n         call: Option<Call>,\n     ) -> Result<()> {\n+        msg!(\"UPGRADED\");\n         bridge_sol_handler(ctx, outgoing_message_salt, to, amount, call)\n     }\n \n"
  },
  {
    "path": "solana/devnet-alpha/2025-12-01-upgrade-bridge-and-rollback/proposal.json",
    "content": "{\n  \"multisigId\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n  \"validUntil\": 1765130011,\n  \"instructions\": [\n    {\n      \"programId\": \"BPFLoaderUpgradeab1e11111111111111111111111\",\n      \"data\": \"AwAAAA==\",\n      \"accounts\": [\n        {\n          \"pubkey\": \"EkPiugm4hAm5pMPSoM9aTtDNxUdDXLcaVgttUQvksqkj\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"Fzwg1B9vfJWQd2YAaxrf2z8aLdnmgoS71q8xTD9WYAzt\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"Dz7RiPP83jmH1XQFqp45p3SQJWhfWFWNgRBCMhFPmQNP\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"SysvarRent111111111111111111111111111111111\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        },\n        {\n          \"pubkey\": \"SysvarC1ock11111111111111111111111111111111\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        },\n        {\n          \"pubkey\": \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        }\n      ]\n    },\n    {\n      \"programId\": \"BPFLoaderUpgradeab1e11111111111111111111111\",\n      \"data\": \"AwAAAA==\",\n      \"accounts\": [\n        {\n          \"pubkey\": \"EkPiugm4hAm5pMPSoM9aTtDNxUdDXLcaVgttUQvksqkj\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"4UPjK4eVWqHCKkRyfRzGVQz45DKAnWH72wuYH1VEKygj\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"Dz7RiPP83jmH1XQFqp45p3SQJWhfWFWNgRBCMhFPmQNP\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"SysvarRent111111111111111111111111111111111\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        },\n        {\n          \"pubkey\": \"SysvarC1ock11111111111111111111111111111111\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        },\n        {\n          \"pubkey\": \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        }\n      ]\n    }\n  ],\n  \"rootMetadata\": {\n    \"chainId\": 0,\n    \"multisig\": \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n    \"preOpCount\": 10,\n    \"postOpCount\": 12,\n    \"overridePreviousRoot\": false\n  }\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-12-22-update-bridge-config/.gitignore",
    "content": "bridge/\n"
  },
  {
    "path": "solana/devnet-alpha/2025-12-22-update-bridge-config/FACILITATORS.md",
    "content": "# Facilitator Instructions: MCM Bridge Config Update & Program Upgrade\n\n## Overview\n\nAs a Facilitator, you are responsible for:\n\n1. Creating the bridge config update proposal\n2. Preparing the bridge program upgrade buffer\n3. Creating the upgrade proposal\n4. Merging both proposals into a single MCM proposal\n5. Committing and pushing the merged proposal to the repo\n6. Coordinating with Signers\n7. Collecting signatures\n8. Executing the merged proposal on-chain\n\n## Prerequisites\n\n```bash\ncd contract-deployments\ngit pull\ncd solana/devnet-alpha/2025-12-22-update-bridge-config\nmake setup-deps\n```\n\nEnsure you have:\n\n- Rust toolchain installed\n- Solana CLI installed and configured\n- Anchor CLI installed\n- Bun installed\n- `mcmctl` installed (via `make deps`)\n- `eip712sign` installed (via `make deps`)\n- A funded Solana wallet configured\n\n## Phase 1: Create Bridge Config Update Proposal\n\n### 1.1. Update .env for config update proposal\n\nSet the following in `.env`:\n\n```bash\n# RPC configuration\nSOL_RPC_URL=<rpc-url>\n\n# MCM configuration\nMCM_PROGRAM_ID=<mcm-program-id>\nMCM_MULTISIG_ID=<multisig-id>\nMCM_VALID_UNTIL=<unix-timestamp>\nMCM_OVERRIDE_PREVIOUS_ROOT=false  # or true if needed\nMCM_PROPOSAL_OUTPUT=proposal.json\n\n# Bridge config parameters\nBRIDGE_PROGRAM_ID=<bridge-program-id>\nBRIDGE_PARTNER_ORACLE_REQUIRED_THRESHOLD=<threshold-value>\n```\n\n### 1.2. Generate config update proposal\n\n```bash\nmake step1-create-set-partner-oracle-config-proposal\n```\n\nThis creates `set-partner-oracle-config-proposal.json` with the SetPartnerOracleConfig instruction.\n\n### 1.3. Review config proposal\n\nOpen and review `set-partner-oracle-config-proposal.json` to verify:\n\n- Bridge program ID is correct\n- Partner oracle required threshold matches intended value\n- Valid until timestamp is appropriate\n\n## Phase 2: Coordinate with Signers and Collect Signatures\n\nCoordinate with Signers to collect their signatures. Each Signer will run `make sign` and provide their signature.\n\nConcatenate all signatures in the format: `0xSIG1,0xSIG2,0xSIG3`\n\nOnce you have all required signatures, add to `.env`:\n\n```bash\nMCM_SIGNATURES_COUNT=<number-of-signatures>\nMCM_SIGNATURES=0xSIG1,0xSIG2,0xSIG3\n```\n\n## Phase 3: Execute Merged Proposal\n\n### 3.1. Add execution variables to .env\n\nAdd the following variables to `.env`:\n\n```bash\nAUTHORITY=<your-wallet-keypair-path>\n```\n\n### 3.2. Execute the proposal\n\n```bash\nmake step3-execute-proposal\n```\n\nThis command executes all the necessary steps:\n\n- Initialize signatures account\n- Append signatures\n- Finalize signatures\n- Set root\n- Execute both operations (config update + program upgrade)\n\n## Phase 4: Verification\n\n### 4.1. Verify config update on Solana Explorer\n\nVisit the Solana Explorer for your network:\n\n- Mainnet: https://explorer.solana.com/\n- Devnet: https://explorer.solana.com/?cluster=devnet\n- Devnet-alpha: https://explorer.solana.com/?cluster=custom&customUrl=<devnet-alpha-rpc>\n\nSearch for the execution transaction and verify:\n\n- The transaction was successful\n- The program logs show `Instruction: SetPartnerOracleConfig`\n- The partner oracle required threshold was updated correctly\n\n### 4.2. Verify program upgrade on Solana Explorer\n\nSearch for the bridge program address (`$PROGRAM`) and verify:\n\n- The \"Last Deployed Slot\" is recent\n- The upgrade authority is still the MCM authority\n- The program was upgraded successfully\n\n### 4.3. Update README\n\nUpdate the Status line in README.md to:\n\n```markdown\nStatus: [EXECUTED](https://explorer.solana.com/tx/<transaction-signature>?cluster=<network>)\n```\n\nReplace `<transaction-signature>` with the execution transaction signature and `<network>` with the appropriate cluster (devnet, devnet-alpha, mainnet-beta, etc.).\n"
  },
  {
    "path": "solana/devnet-alpha/2025-12-22-update-bridge-config/Makefile",
    "content": "include ../.env\ninclude .env\n\ninclude ../../Makefile\n\n.PHONY: install-rust\ninstall-rust:\n\tcurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y\n\trustup toolchain install $(RUST_TOOLCHAIN) && \\\n    rustup default $(RUST_TOOLCHAIN)\n\n.PHONY: install-solana-cli\ninstall-solana-cli:\n\tcurl -sSfL https://release.anza.xyz/v$(SOLANA_VERSION)/install | sh\n\n.PHONY: install-anchor\ninstall-anchor:\n\tcargo install --git https://github.com/coral-xyz/anchor --tag v$(ANCHOR_VERSION) anchor-cli --force\n\n.PHONY: install-bun\ninstall-bun:\n\tcurl -fsSL https://bun.sh/install | bash\n\n.PHONY: setup-deps\nsetup-deps: install-rust install-solana-cli install-anchor install-bun\n\n##\n# MCM Bridge Config Update Workflow\n##\n\n# Step 1: Create set partner oracle config proposal\n.PHONY: step1-create-set-partner-oracle-config-proposal\nstep1-create-set-partner-oracle-config-proposal:\n\t@echo \"==> Step 1: Creating set partner oracle config MCM proposal...\"\n\t@make mcm-proposal-bridge-set-partner-oracle-config \\\n\t\tMCM_PROPOSAL_OUTPUT=$(MCM_PROPOSAL_OUTPUT)\n\n# Step 2: Sign proposal\n.PHONY: sign\nsign:\n\t@echo \"==> Step 2: Signing proposal...\"\n\tmake mcm-sign\n\n# Step 3: Execute proposal (signatures + set-root + execute)\n.PHONY: step3-execute-proposal\nstep3-execute-proposal:\n\t@echo \"==> Step 3: Executing proposal...\"\n\tmake mcm-all"
  },
  {
    "path": "solana/devnet-alpha/2025-12-22-update-bridge-config/README.md",
    "content": "# MCM Bridge Config Update\n\nStatus: [EXECUTED](https://solscan.io/tx/NSoJmejwabofbErRmb5VhEMLuXZRDj4TjV7Q4oEsyoeU6SzScecBZydbX6dqRH9e5w7MEkmudXzYsKhRwhvah7E?cluster=devnet)\n\n## Description\n\nThis task updates the bridge config using its MCM authority.\n\n## Procedure for Signers\n\n### 1. Update repo\n\n```bash\ncd contract-deployments\ngit pull\ncd solana/devnet-alpha/2025-12-22-update-bridge-config\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The **Ethereum application** needs to be opened on Ledger with the message \"Application is ready\".\n\n### 3. Verify the Proposal\n\nBefore signing, verify the proposal contents to ensure it matches expectations.\n\n#### 3.1. Verify Instruction 1 (Bridge SetPartnerOracleConfig)\n\n**Program ID:**\n\nOpen `proposal.json` and verify instruction 1 has program ID: `6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm`\n\n**Instruction Data:**\n\nVerify the instruction discriminant matches [SetPartnerOracleConfig](https://github.com/base/bridge/blob/main/solana/programs/bridge/src/lib.rs#L569):\n\n```bash\necho -n \"global:set_partner_oracle_config\" | shasum -a 256 | cut -c1-16\n```\n\nExpected output: `2230e7872a71d99d`\n\nVerify the full instruction data:\n\n```bash\njq -r '.instructions[0].data' proposal.json | base64 -d | xxd -p -c 256\n```\n\nExpected output: `2230e7872a71d99d00`\n\nThis is the discriminant (`2230e7872a71d99d`) followed by the Borsh-encoded threshold value (`00` = 0 in u8).\n\n#### 3.3. Verify Proposal Metadata\n\nCheck the proposal metadata in `proposal.json`:\n\n- **validUntil**: `1797990664` (Unix timestamp - verify this is in the future)\n- **multisig**: `7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL`\n- **preOpCount**: `12`\n- **postOpCount**: `13` (should be preOpCount + 1 operation)\n\n### 4. Sign the proposal\n\n```bash\nmake sign\n```\n\nThis command will:\n\n1. Display the proposal hash\n2. Prompt you to sign on your Ledger\n3. Output your signature\n\n**Verify on your Ledger**: Check that the data you're signing matches the proposal hash displayed in the terminal.\n\nAfter signing, you will see output like:\n\n```\nSignature: 1234567890abcdef...\n```\n\n### 5. Send signature to Facilitator\n\nCopy the **entire signature** and send it to the Facilitator via your secure communication channel.\n\n**That's it!** The Facilitator will collect all signatures and execute the proposal.\n\n## For Facilitators\n\nSee [FACILITATORS.md](./FACILITATORS.md) for complete instructions on preparing, executing, and verifying this task.\n"
  },
  {
    "path": "solana/devnet-alpha/2025-12-22-update-bridge-config/artifacts/mcm-proposal-execute.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"NSoJmejwabofbErRmb5VhEMLuXZRDj4TjV7Q4oEsyoeU6SzScecBZydbX6dqRH9e5w7MEkmudXzYsKhRwhvah7E\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 5\n      },\n      \"accountKeys\": [\n        \"BEwzVVw44VLaspWByUML23hbQmo5ndM1NPQAJsvCxC6F\",\n        \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n        \"9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN\",\n        \"F1HSdZSs7CWSNBV4jqa977hLcuxn6fcdg8R5JuoFvM2q\",\n        \"DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S\",\n        \"6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm\",\n        \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\",\n        \"EkPiugm4hAm5pMPSoM9aTtDNxUdDXLcaVgttUQvksqkj\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"9GNLoSXFaQ9B7pDy2h7V41Hy3vt5UxUKfi8dFMtFpcoS\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 8,\n          \"accounts\": [\n            1,\n            4,\n            2,\n            5,\n            6,\n            0,\n            6,\n            3,\n            7,\n            5\n          ],\n          \"data\": \"3XtzmXSf21G7ZgSaukdCPnKeKSpmU4LsofeemapAhJezh47KjzKQdAh5tmeJ3rjtfzTnoZ3r2QWW3R3Ur4VV6k4Wr5RwujDJbtQaHTRvoxAcHD9BvcTNp67FdiDLPGu4eh2hmrTg55uzpMmn\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      408129418020,\n      4134240,\n      1252800,\n      4565760,\n      1343280,\n      1141440,\n      0,\n      6127959840,\n      1141440\n    ],\n    \"postBalances\": [\n      408129413020,\n      4134240,\n      1252800,\n      4565760,\n      1343280,\n      1141440,\n      0,\n      6127959840,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 5,\n            \"accounts\": [\n              6,\n              3,\n              7,\n              5\n            ],\n            \"data\": \"SF38x7kbGQVM\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: Execute\",\n      \"Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm invoke [2]\",\n      \"Program log: Instruction: SetPartnerOracleConfig\",\n      \"Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm consumed 8802 of 171219 compute units\",\n      \"Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm success\",\n      \"Program data: 3Q/UHSP8/04MAAAAAAAAAFJw9BMpTsJAnaNQ2SDcXQ5pG2X7hoV33jo1m3m+5rSsCQAAACIw54cqcdmdAA==\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 43259 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 43259\n  },\n  \"blockTime\": 1768497571,\n  \"slot\": 435366445\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-12-22-update-bridge-config/artifacts/mcm-proposal-set-root.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"QQq9zTWR3np4PV5u2YoCGJhYToarbFSzfY6D53utNk5AGY5sVXx849zK6uWhWzDKKHn9wVcwyMs8deUJsKidgqv\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 3\n      },\n      \"accountKeys\": [\n        \"BEwzVVw44VLaspWByUML23hbQmo5ndM1NPQAJsvCxC6F\",\n        \"DiGDfmAgEk9iqJHabJa8Gw8D7aLPtpHNu18c8CLBVFk7\",\n        \"DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S\",\n        \"7xurwxXJRnXbsHGPyVNzobZ8E5FcUTj7BKTKCwvUPh8F\",\n        \"9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN\",\n        \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n        \"11111111111111111111111111111111\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"5R92pAEdtVgeyzybrdHJ1FdAnrgML97pojg784hGPhgV\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 7,\n          \"accounts\": [\n            1,\n            2,\n            3,\n            4,\n            5,\n            0,\n            6\n          ],\n          \"data\": \"Gdc3k3gD7jPD3revrVeipictGK3zP6uKYYtjeA2WmBG16eguDWRqgXHGJBKbYKiGuw6unExL8Qu9SwoC5NxHb6phw3xKrtTFmfbfEBbdTd96LJUSitMoBA7kZWvfCSFJEBCsYch2wS3jwbXXNWbK9aZDfLwK7a1VsJx7K2m65fmQvzXoS8UHfFXh9wN4hp5zrShEFgvnnLqm1EfqeXc9USeDw2rkmVAsrJkm7Lg\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      408128031020,\n      2345520,\n      1343280,\n      0,\n      1252800,\n      4134240,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      408129418020,\n      0,\n      1343280,\n      953520,\n      1252800,\n      4134240,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 6,\n            \"accounts\": [\n              0,\n              3\n            ],\n            \"data\": \"11117UcthqATmHRa77Wg3s82tM6xxYxd7PiZ2oZ4h1ZRQ3Q6anaT7puATNmrGRBPnEn6Uh\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: SetRootEip712\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program data: 0hm7digqPXf8vvZnG4k2mShX4n1FfhM7urt0ZFBwAH9VAjXsBHT6pggpK2sAAAAAAAAAAFvuOPs7hiam+/CQoroqEyiPrjtrRaqBltmHvQYLpVUzDAAAAAAAAAANAAAAAAAAAAA=\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 107047 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 107047\n  },\n  \"blockTime\": 1768497558,\n  \"slot\": 435366410\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-12-22-update-bridge-config/artifacts/mcm-signatures-append.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"fa3UExZdq6KqgrWLTyDkm8mSZt4tvSYs1Zvp8SYncw9Rk3HMhEKARveK8SeyqykJaXWXTsKssZRt37ysicxCXob\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"BEwzVVw44VLaspWByUML23hbQmo5ndM1NPQAJsvCxC6F\",\n        \"DiGDfmAgEk9iqJHabJa8Gw8D7aLPtpHNu18c8CLBVFk7\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"8VhXQWHEmNzJjiSp7pk3r4sLndnbvsg92aKeA9yVvJvN\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"8JM1NbBrt3Xh3kxoE3gUoUhdacSAaBKUdPn3SULoy5MqoavKwgx6PuKWH3vTtUvzqkrYKhXTMhNWtqXpcH5EH9n4xQJkxWLyL8Ed9AkVRnNWZfuv74Z8Tuww9RUTn8TqQtR5M9xRiCsT4YqrBUM2uhE4hgc84tj79gxqet87a1bGjpbrCrBnXEhA7pTwhxxiKJK9Tiu3s6x8kZKEkrUP7cXdd2by99wbUCBW6uVTjao9VtnT2x15BGWT4KgaxgGKLdgB1AaHiTBvsZv4HZLq9aU9hPwqx4afVBu223FMy89ZqmpoeK9WNEos7TWA67tegwoPhtBhDAEq9hekqN9goDMx8me4GKY9eYGrW22a2iDN4tt8KKiyHyuK\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      408128041020,\n      2345520,\n      1141440\n    ],\n    \"postBalances\": [\n      408128036020,\n      2345520,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: AppendSignatures\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 6885 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 6885\n  },\n  \"blockTime\": 1768497531,\n  \"slot\": 435366340\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-12-22-update-bridge-config/artifacts/mcm-signatures-finalize.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"4tJ2bJedAh5RxXWdDZZBHsvVEr1bXNiLvncNKXnXeE4XGfR2bNqwrmyTcsnsfxQkbbYHchZAfRGLvFKV2mogAs56\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"BEwzVVw44VLaspWByUML23hbQmo5ndM1NPQAJsvCxC6F\",\n        \"DiGDfmAgEk9iqJHabJa8Gw8D7aLPtpHNu18c8CLBVFk7\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"EwXtM1sheCFktcaTN3D5yQQrFndvPEkBgLYmPDreQ6D5\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"8VPNxavkg2Yj38NCocv5Cq5gNj6AXt2M4QRQjqgjJnXPoyHsmdy1UZEdkZSRfz5SJ2VSjhFLhDthhbhmTLgyKHK2RaVDUvk4hdnysf8E\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      408128036020,\n      2345520,\n      1141440\n    ],\n    \"postBalances\": [\n      408128031020,\n      2345520,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: FinalizeSignatures\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 6071 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 6071\n  },\n  \"blockTime\": 1768497544,\n  \"slot\": 435366375\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-12-22-update-bridge-config/artifacts/mcm-signatures-init.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"4dS4an9SArkgN2iesjjbuTBX7RJGakPis2k6XR45FP4mjiMX7Xud3spzzjB3ViKaLrrzF2wiceJpFLN4bjJL9y3b\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"BEwzVVw44VLaspWByUML23hbQmo5ndM1NPQAJsvCxC6F\",\n        \"DiGDfmAgEk9iqJHabJa8Gw8D7aLPtpHNu18c8CLBVFk7\",\n        \"11111111111111111111111111111111\",\n        \"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX\"\n      ],\n      \"recentBlockhash\": \"8chUu4QvbzKhZvZEAXVwUW5C7WLtuF4MAqhJMcC5FGus\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 3,\n          \"accounts\": [\n            1,\n            0,\n            2\n          ],\n          \"data\": \"2QCcPn6AhHR9Zi4mhnFE53M8tJopZFLmSWFEPUWVFoNxRRu5UeGEiNasqjT41reSJKBwPYYCaDrRNXtWNNfX2yNbgMAPJ2bxFjaXBfcZBg\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      408130391540,\n      0,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      408128041020,\n      2345520,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 2,\n            \"accounts\": [\n              0,\n              1\n            ],\n            \"data\": \"11112nodbJCN8fXPKGyCu9NpWW4Z1ZkxMmEywtSX6cwUwwiUiy2t2NJ1N7s3c1VyVFW6Sm\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]\",\n      \"Program log: Instruction: InitSignatures\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 9485 of 200000 compute units\",\n      \"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 9485\n  },\n  \"blockTime\": 1768497516,\n  \"slot\": 435366301\n}\n"
  },
  {
    "path": "solana/devnet-alpha/2025-12-22-update-bridge-config/proposal.json",
    "content": "{\n  \"multisigId\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n  \"validUntil\": 1797990664,\n  \"instructions\": [\n    {\n      \"programId\": \"6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm\",\n      \"data\": \"IjDnhypx2Z0A\",\n      \"accounts\": [\n        {\n          \"pubkey\": \"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        },\n        {\n          \"pubkey\": \"F1HSdZSs7CWSNBV4jqa977hLcuxn6fcdg8R5JuoFvM2q\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"EkPiugm4hAm5pMPSoM9aTtDNxUdDXLcaVgttUQvksqkj\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        },\n        {\n          \"pubkey\": \"6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        }\n      ]\n    }\n  ],\n  \"rootMetadata\": {\n    \"chainId\": 0,\n    \"multisig\": \"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL\",\n    \"preOpCount\": 12,\n    \"postOpCount\": 13,\n    \"overridePreviousRoot\": false\n  }\n}"
  },
  {
    "path": "solana/mainnet/2025-10-27-deploy-mcm/.gitignore",
    "content": "chainlink-ccip/\n*keypair.json\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-deploy-mcm/Makefile",
    "content": "include ../.env\ninclude .env\n\ninclude ../../Makefile\n\nLEDGER_ACCOUNT=1\n\n##\n# Project Setup\n##\n\n.PHONY: install-rust\ninstall-rust:\n\tcurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y\n\n.PHONY: install-solana-cli\ninstall-solana-cli:\n\tcurl -sSfL https://release.anza.xyz/v$(SOLANA_VERSION)/install | sh\n\n.PHONY: install-anchor\ninstall-anchor:\n\tcargo install --git https://github.com/coral-xyz/anchor --tag v$(ANCHOR_VERSION) anchor-cli --force\n\n.PHONY: setup-deps\nsetup-deps: install-rust install-solana-cli install-anchor\n\n##\n# Deployment Workflow\n##\n\n# Step 1: Clone the MCM program\n.PHONY: step1-clone\nstep1-clone:\n\t@echo \"==> Step 1: Cloning the MCM program...\"\n\trm -rf chainlink-ccip\n\tgit clone --filter=blob:none $(MCM_REPO) chainlink-ccip\n\tcd chainlink-ccip && \\\n\t\tgit checkout $(MCM_COMMIT)\n\n# Step 2: Build the MCM program\n.PHONY: step2-build\nstep2-build:\n\t@echo \"==> Step 2: Building the MCM program...\"\n\tmkdir -p chainlink-ccip/chains/solana/contracts/target/deploy/ && \\\n\t\tcp $(MCM_KEYPAIR) chainlink-ccip/chains/solana/contracts/target/deploy/mcm-keypair.json\n\tcd chainlink-ccip/chains/solana/contracts && \\\n\t\tanchor keys sync && \\\n\t\tanchor build -p mcm\n\n# Step 3: Deploy the MCM program\n.PHONY: step3-deploy\nstep3-deploy:\n\t@echo \"==> Step 3: Deploying the MCM program...\"\n\tcd chainlink-ccip/chains/solana/contracts && \\\n\t\tanchor deploy --provider.cluster $(CLUSTER) --provider.wallet $(AUTHORITY) -p mcm\n\n# Step 4: Generate deploy artifacts (use solana explorer to get the signature of the deployWithMaxDataLen tx)\n.PHONY: step4-generate-deploy-artifacts\nstep4-generate-deploy-artifacts:\n\t@echo \"==> Step 4: Generating MCM deploy artifacts...\"\n\tmake sol-confirm SIG=$(MCM_DEPLOY_SIGNATURE) output=artifacts/mcm-deploy-artifacts.json\n\n# Step 5: Initialize the multisigs(inherited from parent)\n.PHONY: step5-init-multisigs\nstep5-init-multisigs:\n\t@echo \"==> Step 5: Initializing MCM multisigs...\"\n\tmake mcm-multisig-init \\\n\t\tMCM_MULTISIG_ID=$(MCM_MULTISIG_ID_0) \\\n\t\tMCM_MULTISIG_INIT_ARTIFACT=$(MCM_MULTISIG_INIT_ARTIFACT_0)\n\tmake mcm-multisig-init \\\n\t\tMCM_MULTISIG_ID=$(MCM_MULTISIG_ID_1) \\\n\t\tMCM_MULTISIG_INIT_ARTIFACT=$(MCM_MULTISIG_INIT_ARTIFACT_1)\n\t@echo \"==> MCM multisig authority for multisig 0...\"\n\tmake mcm-multisig-print-authority \\\n\t\tMCM_MULTISIG_ID=$(MCM_MULTISIG_ID_0)\n\t@echo \"==> MCM multisig authority for multisig 1...\"\n\tmake mcm-multisig-print-authority \\\n\t\tMCM_MULTISIG_ID=$(MCM_MULTISIG_ID_1)\n\n# Step 6: Initialize the signers for multisigs (inherited from parent)\n.PHONY: step6-init-signers\nstep6-init-signers:\n\t@echo \"==> Step 6: Initializing MCM signers for multisigs...\"\n\tmake mcm-signers-all \\\n\t\tMCM_MULTISIG_ID=$(MCM_MULTISIG_ID_0) \\\n\t\tMCM_SIGNERS_INIT_ARTIFACT=$(MCM_SIGNERS_INIT_ARTIFACT_0) \\\n\t\tMCM_SIGNERS_APPEND_ARTIFACT=$(MCM_SIGNERS_APPEND_ARTIFACT_0) \\\n\t\tMCM_SIGNERS_FINALIZE_ARTIFACT=$(MCM_SIGNERS_FINALIZE_ARTIFACT_0) \\\n\t\tMCM_SIGNERS_SET_CONFIG_ARTIFACT=$(MCM_SIGNERS_SET_CONFIG_ARTIFACT_0)\n\tmake mcm-signers-all \\\n\t\tMCM_MULTISIG_ID=$(MCM_MULTISIG_ID_1) \\\n\t\tMCM_SIGNERS_INIT_ARTIFACT=$(MCM_SIGNERS_INIT_ARTIFACT_1) \\\n\t\tMCM_SIGNERS_APPEND_ARTIFACT=$(MCM_SIGNERS_APPEND_ARTIFACT_1) \\\n\t\tMCM_SIGNERS_FINALIZE_ARTIFACT=$(MCM_SIGNERS_FINALIZE_ARTIFACT_1) \\\n\t\tMCM_SIGNERS_SET_CONFIG_ARTIFACT=$(MCM_SIGNERS_SET_CONFIG_ARTIFACT_1)\n\n# Step 7: Create accept-ownership proposals (inherited from parent)\n.PHONY: step7-create-accept-ownership-proposals\nstep7-create-accept-ownership-proposals:\n\t@echo \"==> Step 7: Creating MCM accept-ownership proposals...\"\n\tmake mcm-proposal-accept-ownership \\\n\t\tMCM_MULTISIG_ID=$(MCM_MULTISIG_ID_0) \\\n\t\tMCM_PROPOSAL_OUTPUT=$(MCM_PROPOSAL_OUTPUT_0)\n\tmake mcm-proposal-accept-ownership \\\n\t\tMCM_MULTISIG_ID=$(MCM_MULTISIG_ID_1) \\\n\t\tMCM_PROPOSAL_OUTPUT=$(MCM_PROPOSAL_OUTPUT_1)\n\n# Step 8: Sign the proposals (inherited from parent)\n.PHONY: step8-sign-proposals\nstep8-sign-proposals:\n\t@echo \"==> Step 8: Signing MCM proposals...\"\n\tmake mcm-sign \\\n\t\tMCM_PROPOSAL_OUTPUT=$(MCM_PROPOSAL_OUTPUT_0)\n\tmake mcm-sign \\\n\t\tMCM_PROPOSAL_OUTPUT=$(MCM_PROPOSAL_OUTPUT_1)\n\n# Step 9: Execute ownership transfers (inherited from parent)\n.PHONY: step9-execute-ownership-transfers\nstep9-execute-ownership-transfers:\n\t@echo \"==> Step 9: Executing MCM ownership transfers...\"\n\tmake mcm-ownership-transfer \\\n\t\tMCM_MULTISIG_ID=$(MCM_MULTISIG_ID_0) \\\n\t\tMCM_PROPOSED_OWNER=$(MCM_AUTHORITY_0) \\\n\t\tMCM_OWNERSHIP_TRANSFER_ARTIFACT=$(MCM_OWNERSHIP_TRANSFER_ARTIFACT_0)\n\tmake mcm-all \\\n\t\tMCM_PROPOSAL_OUTPUT=$(MCM_PROPOSAL_OUTPUT_0) \\\n\t\tMCM_SIGNATURES=$(MCM_SIGNATURES_0) \\\n\t\tMCM_SIGNATURES_INIT_ARTIFACT=$(MCM_SIGNATURES_INIT_ARTIFACT_0) \\\n\t\tMCM_SIGNATURES_APPEND_ARTIFACT=$(MCM_SIGNATURES_APPEND_ARTIFACT_0) \\\n\t\tMCM_SIGNATURES_FINALIZE_ARTIFACT=$(MCM_SIGNATURES_FINALIZE_ARTIFACT_0) \\\n\t\tMCM_PROPOSAL_SET_ROOT_ARTIFACT=$(MCM_PROPOSAL_SET_ROOT_ARTIFACT_0) \\\n\t\tMCM_PROPOSAL_EXECUTE_ARTIFACT=$(MCM_PROPOSAL_EXECUTE_ARTIFACT_0)\n\tmake mcm-ownership-transfer \\\n\t\tMCM_MULTISIG_ID=$(MCM_MULTISIG_ID_1) \\\n\t\tMCM_PROPOSED_OWNER=$(MCM_AUTHORITY_1) \\\n\t\tMCM_OWNERSHIP_TRANSFER_ARTIFACT=$(MCM_OWNERSHIP_TRANSFER_ARTIFACT_1)\n\tmake mcm-all \\\n\t\tMCM_PROPOSAL_OUTPUT=$(MCM_PROPOSAL_OUTPUT_1) \\\n\t\tMCM_SIGNATURES=$(MCM_SIGNATURES_1) \\\n\t\tMCM_SIGNATURES_INIT_ARTIFACT=$(MCM_SIGNATURES_INIT_ARTIFACT_1) \\\n\t\tMCM_SIGNATURES_APPEND_ARTIFACT=$(MCM_SIGNATURES_APPEND_ARTIFACT_1) \\\n\t\tMCM_SIGNATURES_FINALIZE_ARTIFACT=$(MCM_SIGNATURES_FINALIZE_ARTIFACT_1) \\\n\t\tMCM_PROPOSAL_SET_ROOT_ARTIFACT=$(MCM_PROPOSAL_SET_ROOT_ARTIFACT_1) \\\n\t\tMCM_PROPOSAL_EXECUTE_ARTIFACT=$(MCM_PROPOSAL_EXECUTE_ARTIFACT_1)\n\n# Step 10: Transfer upgrade authority (inherited from parent)\n.PHONY: step10-transfer-upgrade-authority\nstep10-transfer-upgrade-authority:\n\t@echo \"==> Step 10: Transferring MCM upgrade authority...\"\n\tmake sol-program-set-upgrade-authority\n\tmake sol-program-show\n\n# Step 11: Generate set-upgrade-authority artifacts (use solana explorer to get the signature of the set-upgrade-authority tx)\n.PHONY: step11-generate-set-upgrade-authority-artifacts\nstep11-generate-set-upgrade-authority-artifacts:\n\t@echo \"==> Step 11: Generating MCM set-upgrade-authority artifacts...\"\n\tmake sol-confirm SIG=$(SET_UPGRADE_AUTHORITY_SIGNATURE) output=artifacts/set-upgrade-authority-artifacts.json\n\n# Step 12: Fund MCM authorities (inherited from parent)\n.PHONY: step12-fund-mcm-authorities\nstep12-fund-mcm-authorities:\n\t@echo \"==> Step 12: Funding MCM authorities...\"\n\tmake sol-transfer SOL_RECIPIENT=$(MCM_AUTHORITY_0) output=artifacts/fund-mcm-authority-0.json\n\tmake sol-transfer SOL_RECIPIENT=$(MCM_AUTHORITY_1) output=artifacts/fund-mcm-authority-1.json\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-deploy-mcm/README.md",
    "content": "# MCM Mainnet Deployment\n\nStatus: EXECUTED\n\n## Overview\n\nThis deployment initialized the Multi-Chain Manager (MCM) program on Solana mainnet to enable secure and decentralized control of Solana programs associated with the bridge infrastructure (including the Bridge program itself).\n\n## What Was Deployed\n\nThis deployment successfully:\n\n1. **Deployed the MCM program** to mainnet at `7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY`\n2. **Initialized two multisig instances** (`0x0000000000000000000000000000000000000000000000000000000000000000` and `0x0000000000000000000000000000000000000000000000000000000000000001`) with initial temporary signer configuration\n3. **Established ownership structure** where each multisig is owned by its own Authority (PDA):\n- `0x0000000000000000000000000000000000000000000000000000000000000000` is owned by `DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2`\n- `0x0000000000000000000000000000000000000000000000000000000000000001` is owned by `7AoCt88ceFPCm43cj9K8w8xxWfhWRXEHZ2NGkDYNTCip`\n4. **Transferred upgrade authority** of the MCM program to `DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2`\n5. **Funded the multisig authority PDAs** to enable transaction execution\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-deploy-mcm/accept_ownership_proposal_0.json",
    "content": "{\n  \"multisigId\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n  \"validUntil\": 1763486675,\n  \"instructions\": [\n    {\n      \"programId\": \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\",\n      \"data\": \"rBcrDe7VVZYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==\",\n      \"accounts\": [\n        {\n          \"pubkey\": \"E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        }\n      ]\n    }\n  ],\n  \"rootMetadata\": {\n    \"chainId\": 1,\n    \"multisig\": \"E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3\",\n    \"preOpCount\": 0,\n    \"postOpCount\": 1,\n    \"overridePreviousRoot\": false\n  }\n}"
  },
  {
    "path": "solana/mainnet/2025-10-27-deploy-mcm/accept_ownership_proposal_1.json",
    "content": "{\n  \"multisigId\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n  \"validUntil\": 1763486675,\n  \"instructions\": [\n    {\n      \"programId\": \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\",\n      \"data\": \"rBcrDe7VVZYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ==\",\n      \"accounts\": [\n        {\n          \"pubkey\": \"HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"7AoCt88ceFPCm43cj9K8w8xxWfhWRXEHZ2NGkDYNTCip\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        }\n      ]\n    }\n  ],\n  \"rootMetadata\": {\n    \"chainId\": 1,\n    \"multisig\": \"HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F\",\n    \"preOpCount\": 0,\n    \"postOpCount\": 1,\n    \"overridePreviousRoot\": false\n  }\n}"
  },
  {
    "path": "solana/mainnet/2025-10-27-deploy-mcm/artifacts/fund-mcm-authority-0.json",
    "content": "{\n  \"confirmationStatus\": \"confirmed\",\n  \"transaction\": {\n    \"signatures\": [\n      \"3eAoRjEo9NG8aApNRZYMMynFPffr1o8VjRig8NoWyxrNqXco9V9RqqJ8Ry37EL4vmwhgyXpwreBxCMUsRL7EAjsD\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2\",\n        \"11111111111111111111111111111111\"\n      ],\n      \"recentBlockhash\": \"A7qmxvxVAfRFQjapy5VqekyTSwvbLtkY6wSYcnJKJcy8\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            0,\n            1\n          ],\n          \"data\": \"3Bxs3zvX19cRxrhM\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      18250474726,\n      0,\n      1\n    ],\n    \"postBalances\": [\n      17750469726,\n      500000000,\n      1\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program 11111111111111111111111111111111 invoke [1]\",\n      \"Program 11111111111111111111111111111111 success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 150\n  },\n  \"blockTime\": 1763406805,\n  \"slot\": 380735560\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-deploy-mcm/artifacts/fund-mcm-authority-1.json",
    "content": "{\n  \"confirmationStatus\": \"confirmed\",\n  \"transaction\": {\n    \"signatures\": [\n      \"3YKADiFp8nvrQYMq5kv44aCpqVjLh2MKzNDvKmVZddvDCtk1A1cc6bn8W8HZky32SQfyhMEvHuZnQPvNuPVaRs1q\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"7AoCt88ceFPCm43cj9K8w8xxWfhWRXEHZ2NGkDYNTCip\",\n        \"11111111111111111111111111111111\"\n      ],\n      \"recentBlockhash\": \"CHU8MgUCDyCGRS8uQpTWW7wpNawLCdpp1uBEU7QtyVWu\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            0,\n            1\n          ],\n          \"data\": \"3Bxs3zvX19cRxrhM\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      17750469726,\n      0,\n      1\n    ],\n    \"postBalances\": [\n      17250464726,\n      500000000,\n      1\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program 11111111111111111111111111111111 invoke [1]\",\n      \"Program 11111111111111111111111111111111 success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 150\n  },\n  \"blockTime\": 1763406808,\n  \"slot\": 380735568\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-deploy-artifacts.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"PiuQG7yh9FEN9dbbsJVHDp6Hz8p2sqa6zm3wbLFtpKNQSYon78cQarWnv6aaggtYL7ZMGLkoQGoVn9ndoUZjYD1\",\n      \"k6aoADAQ82Hi8j5QGCR7iYU7bS4wiBbcGFJ2vVD5AbnhPxNxd6F2nmuTnJTRNH98etB6Tuat2dD1VSVeRfuYta9\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 2,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"EoecJidHL2MribSmABMkxz5XTFAcMwkVwYbrpxUsTGoJ\",\n        \"11111111111111111111111111111111\",\n        \"BPFLoaderUpgradeab1e11111111111111111111111\"\n      ],\n      \"recentBlockhash\": \"72ErxaP11gFxi1FqFKMwvWhacNhvep3mtgFQxYd5gGkE\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            0,\n            1\n          ],\n          \"data\": \"11115958RSKhes9BK9ESGQ4fjbedBQshxLRmWqorMof4RAXMzmNsh5VA521YgtfqYXgmsd\",\n          \"stackHeight\": null\n        },\n        {\n          \"programIdIndex\": 3,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"1111\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 10000,\n    \"preBalances\": [\n      25000000000,\n      0,\n      1,\n      1\n    ],\n    \"postBalances\": [\n      18265848960,\n      6734141040,\n      1,\n      1\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program 11111111111111111111111111111111 invoke [1]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 2520\n  },\n  \"blockTime\": 1763404396,\n  \"slot\": 380729496\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-multisig-init-0.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"25YPAFrCC6UGj56za1tEQwmGc97VS5arm6PAxMVYAxYLUFcbyJXFMi3LbFQ5wUjUXAYBiPq3v8PGL1PzEbuwquZM\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 3\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3\",\n        \"8HbtqBXPeS8DPfEx1r4kDyYFXuddrvZdxXXqMYyfdiKY\",\n        \"FDAHR8SdPZnWDcK6yvoCYHBf6ggTjLyomiQDQ767FH3c\",\n        \"11111111111111111111111111111111\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\",\n        \"2xMKRCcNhx3eL1FxCpZmT6Fxi3Sj4PC4pWZNiWWdck7Y\"\n      ],\n      \"recentBlockhash\": \"3MB5MNRGxSWsy5PQk2oCTTb3B7pNxt6wwqhvKygBMvfW\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 5,\n          \"accounts\": [\n            1,\n            0,\n            4,\n            5,\n            6,\n            2,\n            3\n          ],\n          \"data\": \"7SnYRRYHodD3RhjG7V2oGYdq3vEhqZgiH91Y9roTCUR3D3FNTumTy17LpFGzWR28sh\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      18262307524,\n      0,\n      0,\n      0,\n      1,\n      1141440,\n      6734141040\n    ],\n    \"postBalances\": [\n      18257562764,\n      2143680,\n      1343280,\n      1252800,\n      1,\n      1141440,\n      6734141040\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 4,\n            \"accounts\": [\n              0,\n              1\n            ],\n            \"data\": \"111185163Bhx14N7QLXuATQTkcy58qUTxgEqUbY4BSFhC9mvZuMtYSy4f2qovWLJwbekzL\",\n            \"stackHeight\": 2\n          },\n          {\n            \"programIdIndex\": 4,\n            \"accounts\": [\n              0,\n              2\n            ],\n            \"data\": \"11112nBT7uc6uCuDYWZxzrh7twxPrQMBSD2Tu7fcMfcu5V7gq2QvkkHm9ZwRE9kHGVLkNC\",\n            \"stackHeight\": 2\n          },\n          {\n            \"programIdIndex\": 4,\n            \"accounts\": [\n              0,\n              3\n            ],\n            \"data\": \"111183jo2z36whaRMSxqHScMibpKNFrTEcPhNYCkRnEd4MavASpgtKSiLk5cQknY6mAoLc\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: Initialize\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 25464 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 25464\n  },\n  \"blockTime\": 1763404519,\n  \"slot\": 380729804\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-multisig-init-1.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"3ymxEfmZ9Hns8vKSMQMZRsgunvB2qEvpc3rowt9nHriHJ3WbZZBxNvQnDAtUxaMb5TC1y74NxwkWxpdhuBkoNXnW\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 3\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F\",\n        \"6yUZwFtM6EqsHkCgK2D4eAJkGqi3bAGSefma5SHSKRop\",\n        \"6o2vZjD4B7XDGhRWzPCbwYL2Y6RhwVseAjyqsRtGKT8B\",\n        \"11111111111111111111111111111111\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\",\n        \"2xMKRCcNhx3eL1FxCpZmT6Fxi3Sj4PC4pWZNiWWdck7Y\"\n      ],\n      \"recentBlockhash\": \"5W9foKYA1Z9yw9KpKV7kQ5H4jVmFW54C2s56dQHv9od7\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 5,\n          \"accounts\": [\n            1,\n            0,\n            4,\n            5,\n            6,\n            2,\n            3\n          ],\n          \"data\": \"7SnYRRYHodD3RhjG7V2oGYdq3vEhqZgiH91Y9roTCUR3D3FNTumTy17LpFGzWR28si\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      18257562765,\n      0,\n      0,\n      0,\n      1,\n      1141440,\n      6734141040\n    ],\n    \"postBalances\": [\n      18252818005,\n      2143680,\n      1343280,\n      1252800,\n      1,\n      1141440,\n      6734141040\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 4,\n            \"accounts\": [\n              0,\n              1\n            ],\n            \"data\": \"111185163Bhx14N7QLXuATQTkcy58qUTxgEqUbY4BSFhC9mvZuMtYSy4f2qovWLJwbekzL\",\n            \"stackHeight\": 2\n          },\n          {\n            \"programIdIndex\": 4,\n            \"accounts\": [\n              0,\n              2\n            ],\n            \"data\": \"11112nBT7uc6uCuDYWZxzrh7twxPrQMBSD2Tu7fcMfcu5V7gq2QvkkHm9ZwRE9kHGVLkNC\",\n            \"stackHeight\": 2\n          },\n          {\n            \"programIdIndex\": 4,\n            \"accounts\": [\n              0,\n              3\n            ],\n            \"data\": \"111183jo2z36whaRMSxqHScMibpKNFrTEcPhNYCkRnEd4MavASpgtKSiLk5cQknY6mAoLc\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: Initialize\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 25464 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 25464\n  },\n  \"blockTime\": 1763404535,\n  \"slot\": 380729842\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-ownership-transfer-0.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"BEphtJ9Cmk6yh8T2jXyVYmmnXMmRJVsvXQ6RXa7xrsrnZ29NbSAoGq5UXaLMgnzEGXBX2pVEJuvjLvoLVsK3Fpz\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\"\n      ],\n      \"recentBlockhash\": \"EsPs5Svb8ypeV8k7KQFQdQeCpNMAnX4XGdgob5jVWbC\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"yEyTv9RkpitE2KhkXh3CNcWuN6CrWRhXseHmYRyKWHv7jB71wCME7GQoV9EhkHj6c63wCZRwJzoAFz1yfDc7pe1LXhAThBAAAJ\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      18252446766,\n      2296800,\n      1141440\n    ],\n    \"postBalances\": [\n      18252441766,\n      2296800,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: TransferOwnership\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 4250 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 4250\n  },\n  \"blockTime\": 1763405673,\n  \"slot\": 380732708\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-ownership-transfer-1.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"8Xirfn3KFMfaC9M9RgnL9C4dyRzK4JSYCmL8BhDR42JVA3mBirfW6YcUxz2edh86hW2QGvSiGqac4QTiw32J9Xi\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\"\n      ],\n      \"recentBlockhash\": \"5QnhJYTKtaETxndAYg6VEQYt7mNJbymaVcGvuXegvdc1\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"yEyTv9RkpitE2KhkXh3CNcWuN6CrWRhXseHmYRyKWHv7jB71wCME7Gbe2AFoDQcDMg4tC1ScXe88eRNoAzwsKbbCC6x4EJixfN\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      18251463246,\n      2296800,\n      1141440\n    ],\n    \"postBalances\": [\n      18251458246,\n      2296800,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: TransferOwnership\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 4250 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 4250\n  },\n  \"blockTime\": 1763405768,\n  \"slot\": 380732945\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-proposal-execute-0.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"4Spu1N8Frt5SdV9x8qLPrhw7jdL2Hq98dnsViSERFMNDLuch9KmtufqaWcZHM8ciX4FdQSSViG3eGJQfq8jXqyff\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 3\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3\",\n        \"FDAHR8SdPZnWDcK6yvoCYHBf6ggTjLyomiQDQ767FH3c\",\n        \"8HbtqBXPeS8DPfEx1r4kDyYFXuddrvZdxXXqMYyfdiKY\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\",\n        \"DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2\"\n      ],\n      \"recentBlockhash\": \"885f9TCAZYBjx827uGaJ3ykDeb2XmVJxUsHL7pGimRKo\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 4,\n          \"accounts\": [\n            1,\n            3,\n            2,\n            4,\n            5,\n            0,\n            1,\n            5\n          ],\n          \"data\": \"AtRVgKpNvpibnNeZF1j6npTBrht7qYrNPW95s5rfTPnPXyZ58rgdDiRJK9C9ycwxvgJzJdoWUEY5eE496vZKZQur92E5B1oSteS96Ppq9qfs3HxuPZeRgjY7JBREUnzeqCMVZrLj45XwTJZTBB64xX7v3KCnURfUHWWDnNwVMAnWVMa8sC6433F6qL\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      18251468246,\n      2296800,\n      1252800,\n      1343280,\n      1141440,\n      0\n    ],\n    \"postBalances\": [\n      18251463246,\n      2296800,\n      1252800,\n      1343280,\n      1141440,\n      0\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 4,\n            \"accounts\": [\n              1,\n              5\n            ],\n            \"data\": \"9YwhijzMHyNGk5ngX2sXQFjq518LPP6eCuh578AMt7utCa87gZPCf91\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: Execute\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [2]\",\n      \"Program log: Instruction: AcceptOwnership\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 4110 of 181415 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\",\n      \"Program data: 3Q/UHSP8/04AAAAAAAAAAGcCh4N9eJPb3aw2yi+BQJPBooja8IcVaJvnIO7D4O5xKAAAAKwXKw3u1VWWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 25725 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 25725\n  },\n  \"blockTime\": 1763405753,\n  \"slot\": 380732908\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-proposal-execute-1.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"3fyfEH82aRpymRGpc1FHuRCgggK6PkZGQTj61AortoqYUZoWmdsYyiEQumEDmRcFT4wH3vzstSTXTa22mdCAXuCM\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 3\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F\",\n        \"6o2vZjD4B7XDGhRWzPCbwYL2Y6RhwVseAjyqsRtGKT8B\",\n        \"6yUZwFtM6EqsHkCgK2D4eAJkGqi3bAGSefma5SHSKRop\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\",\n        \"7AoCt88ceFPCm43cj9K8w8xxWfhWRXEHZ2NGkDYNTCip\"\n      ],\n      \"recentBlockhash\": \"BrHZo2gZkKmjwL14sz3vXfKWB4P4wyJsnJHKSv8AtaXR\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 4,\n          \"accounts\": [\n            1,\n            3,\n            2,\n            4,\n            5,\n            0,\n            1,\n            5\n          ],\n          \"data\": \"AtRVgKpNvpibnNeZF1j6npTBrht7qYrNPW95s5rfTPnPXyZ58rgdDiSpVuSK3raADYACv6yLFao6VxCGyimJx5LpwB66EGd8o8e7WbsPsTxsFUL1GtRUgcEEdzaCDcfcMd8dv9DCL4tPYjxYvrRYDXwL58tebpr1RykjSMr7hkJDwQcv94UEnLjcFM\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      18250484726,\n      2296800,\n      1252800,\n      1343280,\n      1141440,\n      0\n    ],\n    \"postBalances\": [\n      18250479726,\n      2296800,\n      1252800,\n      1343280,\n      1141440,\n      0\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 4,\n            \"accounts\": [\n              1,\n              5\n            ],\n            \"data\": \"9YwhijzMHyNGk5ngX2sXQFjq518LPP6eCuh578AMt7utCa87gZPCf92\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: Execute\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [2]\",\n      \"Program log: Instruction: AcceptOwnership\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 4110 of 178415 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\",\n      \"Program data: 3Q/UHSP8/04AAAAAAAAAAGcCh4N9eJPb3aw2yi+BQJPBooja8IcVaJvnIO7D4O5xKAAAAKwXKw3u1VWWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE=\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 28725 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 28725\n  },\n  \"blockTime\": 1763405846,\n  \"slot\": 380733140\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-proposal-set-root-0.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"5ha8pgydvyvGG9zRHuETtTHrhURXAMaMCCyzytXrr8hwhQG51k4cBFbpPoHpxhnrbwDyDc1uGE51JAEYDjd5N7Rw\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 3\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"979heTZnttjzwEnAp5GKmmsQv3xjJ7vLtjGTwqYD5oph\",\n        \"8HbtqBXPeS8DPfEx1r4kDyYFXuddrvZdxXXqMYyfdiKY\",\n        \"3hzvX95bgheAdJ2ckPwgajmtwJ3B1q9GgM5dCGXb123h\",\n        \"FDAHR8SdPZnWDcK6yvoCYHBf6ggTjLyomiQDQ767FH3c\",\n        \"E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3\",\n        \"11111111111111111111111111111111\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\"\n      ],\n      \"recentBlockhash\": \"H99e6H2mGMVKrgiZAu2SRqsHJ4KRd9eg7pK7qKhAXsxq\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 7,\n          \"accounts\": [\n            1,\n            2,\n            3,\n            4,\n            5,\n            0,\n            6\n          ],\n          \"data\": \"Gdc3k3gD7jPD3revrVeipictGK3zP6uKYYtjeA2WmBG16eguDWRqgXFfAfCrNtpfRVA39Fv8wz1ro8VFwDDYBZGqLkwk5B1s266cGPLM9oUbreQE9B9Ft2DA8fTAzFFVj5LLBDYDWHxpsdRfEhSpcUEPc7LqTr8NxG47azudzD8kzxxifBVbd8SKrniSYQ94rW7dkWzFa6CSukQrabD6aUvLbL74g6HfnSe94rq\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      18250986046,\n      1440720,\n      1343280,\n      0,\n      1252800,\n      2296800,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      18251468246,\n      0,\n      1343280,\n      953520,\n      1252800,\n      2296800,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 6,\n            \"accounts\": [\n              0,\n              3\n            ],\n            \"data\": \"11117UcthqATmHRa77Wg3s82tLzKywRJgz1rjE74d3DpY6sdpp9N8y8o18gibatAtTN2fi\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: SetRootEip712\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program data: 0hm7digqPXcujeEEUlYm6U7PHGE8KChuHcSIy436Jo3hYWIh8agurtOrHGkBAAAAAAAAAMMpm7g6ahfJ/wVgN8Ww4F9n9YCqNZB8zw9o6j8G2GBQAAAAAAAAAAABAAAAAAAAAAA=\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 50632 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 50632\n  },\n  \"blockTime\": 1763405737,\n  \"slot\": 380732868\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-proposal-set-root-1.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"RU4Kt5xWtBa3FPauKwtGpeZcfyW8GhuHk57SYcHKc9U9L7Ty1byDfVfVFNDWKMwhbpigDCLiT6ehjcRuCUjbLpm\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 3\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"3Q9rWFqmQfqRdLSmcCHnH9Zozb2gKsZuo59xenW2zBsx\",\n        \"6yUZwFtM6EqsHkCgK2D4eAJkGqi3bAGSefma5SHSKRop\",\n        \"Hkj6nPumZqfUqNbaw5CpperFRX7DvRzsJ9uC7jpaEJmC\",\n        \"6o2vZjD4B7XDGhRWzPCbwYL2Y6RhwVseAjyqsRtGKT8B\",\n        \"HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F\",\n        \"11111111111111111111111111111111\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\"\n      ],\n      \"recentBlockhash\": \"6HgMXeF16kSrSujgtLHxQrYXcXxEA2sY7NpDH6brzYQo\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 7,\n          \"accounts\": [\n            1,\n            2,\n            3,\n            4,\n            5,\n            0,\n            6\n          ],\n          \"data\": \"Gdc3k3gD7jPD3revrVeipictGK3zP6uKYYtjeA2WmBG16eguDWRqgXJtNuxYFQBGDsqEuyJFnaxsKP1z2oN7fz5synoXA9WjvKSZekLVygp7pfpWBXHXyhHpFUbxGcZPa5uRFosUqzZffonbNUtL5mUmZbPmfaoCWN1QsRvgjx97Nq82Dm4fPekcEsJ8KLJcHrR66wzQwtSFotMwtKkLKoXsu5NUnYRBydP73X5\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      18250002526,\n      1440720,\n      1343280,\n      0,\n      1252800,\n      2296800,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      18250484726,\n      0,\n      1343280,\n      953520,\n      1252800,\n      2296800,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 6,\n            \"accounts\": [\n              0,\n              3\n            ],\n            \"data\": \"11117UcthqATmHRa77Wg3s82tLzKywRJgz1rjE74d3DpY6sdpp9N8y8o18gibatAtTN2fi\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: SetRootEip712\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program data: 0hm7digqPXfNC6FYzBVPEQTt6zh8MlSjRJ32KEDByF2mBdEmYApQxdOrHGkBAAAAAAAAAPQBSIadtkZNgnPsGWNmBTNoNFhAOFoGUSCNFCp281+8AAAAAAAAAAABAAAAAAAAAAA=\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 50632 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 50632\n  },\n  \"blockTime\": 1763405830,\n  \"slot\": 380733101\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-signatures-append-0.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"5R5Lnd5XCsMnN7smXLT87nPRy6GyuK2pAJnkMdwyPPs5WPrnZSTYKKmLvvxmaM8HB48Lcrt9iy1XfQ1kY56xLgC9\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"979heTZnttjzwEnAp5GKmmsQv3xjJ7vLtjGTwqYD5oph\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\"\n      ],\n      \"recentBlockhash\": \"b7nBq6vDcyzQL8bJGGwqgQWrfLrCWmxzVVBMWGCJyhQ\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"q7VthGLU3rBtHaTsCi9bYRTPooHVyQugCmrGyK2CSeHv7cujNKMX7opsbGoJJRUA5zNnfQkZ2P73GErtSA9GWkR56wJTb1UwuZs15wmpHqnpxSnR5tRLmNviVRPMnFnMGFEkrL1kPsLSiydtbxyLAbShQM3q3JLpXQZtkYnHR5QEGx3Du8HCQeyzDWBfs3Sw2wE3XG\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      18250996046,\n      1440720,\n      1141440\n    ],\n    \"postBalances\": [\n      18250991046,\n      1440720,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: AppendSignatures\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 5939 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 5939\n  },\n  \"blockTime\": 1763405707,\n  \"slot\": 380732793\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-signatures-append-1.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"4a4EmXp6nMYxJPPQQhRQ2BKF4JapBeMvFtNCwgFh3muxeVe1fYPYdd5s67GMPMxsNE9UmdYerktGt9dpSfj5gHrM\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"3Q9rWFqmQfqRdLSmcCHnH9Zozb2gKsZuo59xenW2zBsx\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\"\n      ],\n      \"recentBlockhash\": \"GEKbJo78mZkmkHGBEgvQYntjep7EJrNFQdJUeVTHX4jx\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"q7VthGLU3rBtHaTsCi9bYRTPooHVyQugCmrGyK2CSeHv7cujNKMX7oxtrQm23YGi8ZnJ6wc6Q8Dikxw3ZLy55A7SuBXte8o4yGrwpSiyGVeS3wbDq1z22iWB9tPZHG16pGWBPP5XXEvGrsr63PiLERtY6Fxz2m1SUh2H4tFDSVrNKrAqYevXJHEU5EP6iK2JYanCkC\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      18250012526,\n      1440720,\n      1141440\n    ],\n    \"postBalances\": [\n      18250007526,\n      1440720,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: AppendSignatures\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 4439 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 4439\n  },\n  \"blockTime\": 1763405799,\n  \"slot\": 380733023\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-signatures-finalize-0.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"37MvH5swadnd5w4TByJ6Es4cBQz2ezSHGqUmewsbZkCr1FjoXgFoWtkrJnP9hzCJHxgGk6DHwfj8gGCEjd2YkAa7\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"979heTZnttjzwEnAp5GKmmsQv3xjJ7vLtjGTwqYD5oph\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\"\n      ],\n      \"recentBlockhash\": \"5DyZudCFRUjwczrZrms5h5ULyDrAC1NP7vCBaWjqP5W3\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"8VPNxavkg2Yj38NCocv5Cq5gNj6AXt2M4QRQjqgjJnXPoyHsmdy1UZD4wfksDxGmPjxFm4h9n681uASuUGxhfC5Qr4P65tbjVsqrf9pc\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      18250991046,\n      1440720,\n      1141440\n    ],\n    \"postBalances\": [\n      18250986046,\n      1440720,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: FinalizeSignatures\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 5551 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 5551\n  },\n  \"blockTime\": 1763405722,\n  \"slot\": 380732830\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-signatures-finalize-1.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"5HXC1uq26gRRTZ4XmdB3VZCiUJPgZxwTt6xcPeDTCRiEHD9Wif18rwVd2ueY8xPDDyXP1LEk1VoWun7cvdYbDjnE\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"3Q9rWFqmQfqRdLSmcCHnH9Zozb2gKsZuo59xenW2zBsx\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\"\n      ],\n      \"recentBlockhash\": \"CyXprSi3Yi8bEmyGwV8Vkvu93DphUFYh7BVToTboardF\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"8VPNxavkg2Yj38NCocv5Cq5gNj6AXt2M4QRQjqgjJnXPoyHsmdy1UZGDVHpd2kKALoJ8AEFetq6H5W7ypSvEDfEjSKVSHmBPf9CoWWY8\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      18250007526,\n      1440720,\n      1141440\n    ],\n    \"postBalances\": [\n      18250002526,\n      1440720,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: FinalizeSignatures\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 4051 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 4051\n  },\n  \"blockTime\": 1763405816,\n  \"slot\": 380733064\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-signatures-init-0.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"2iPcUs5LqkLyyQL7RVbYFaTerrKSFaaU8QQ3WGdwP7iKTEuZNohKriA4F3zycCsqbX9xEUfiDtjJV1auZYTETKot\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"979heTZnttjzwEnAp5GKmmsQv3xjJ7vLtjGTwqYD5oph\",\n        \"11111111111111111111111111111111\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\"\n      ],\n      \"recentBlockhash\": \"24c2cMd4D6hUNeLGx4re7BFVChoWvGeXoUKQgRovetgn\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 3,\n          \"accounts\": [\n            1,\n            0,\n            2\n          ],\n          \"data\": \"2QCcPn6AhHR9Zi4mhnFE53M8tJopZFLmSWFEPUWVFoNxRRu5UeGEiNakvvUwQdkUJcQwj6arW3L88rw2mko4TsFVbKDWFNvVUygXspRDQk\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      18252441766,\n      0,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      18250996046,\n      1440720,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 2,\n            \"accounts\": [\n              0,\n              1\n            ],\n            \"data\": \"11118fdCyr6AWCbQyCZP4gmXmuwkVYaeAxwQhhSL7YPSRE7gcgxyCiyA93npMAsbpAAiHv\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: InitSignatures\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 9485 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 9485\n  },\n  \"blockTime\": 1763405692,\n  \"slot\": 380732756\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-signatures-init-1.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"45PpszdJajmm792afWR2mGwpKEUoXELUDxMfixWFYXq3A6NFM68AXuuEM4qFF7JumUbkYtrafRFUQv9EtkjUKrzz\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"3Q9rWFqmQfqRdLSmcCHnH9Zozb2gKsZuo59xenW2zBsx\",\n        \"11111111111111111111111111111111\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\"\n      ],\n      \"recentBlockhash\": \"GTAkrHxWc1toHcf4ArcSVid1TKvKn49xjecmFv8eUxf2\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 3,\n          \"accounts\": [\n            1,\n            0,\n            2\n          ],\n          \"data\": \"2QCcPn6AhHR9Zi4mhnFE53M8tJopZFLmSWFEPUWVFoNxRRu5UeGEiNazpe47yzHgsuRhRYq3xZ5nTrZsEwq1YkZNjNSCGZKk3QaLKvGefA\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      18251458246,\n      0,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      18250012526,\n      1440720,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 2,\n            \"accounts\": [\n              0,\n              1\n            ],\n            \"data\": \"11118fdCyr6AWCbQyCZP4gmXmuwkVYaeAxwQhhSL7YPSRE7gcgxyCiyA93npMAsbpAAiHv\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: InitSignatures\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 7985 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 7985\n  },\n  \"blockTime\": 1763405784,\n  \"slot\": 380732984\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-signers-append-0.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"3wRGcvjTgVkryWGQuuh3dTnia5VMzXtxMT4ZpNzaX2ANBcpN99CD7WsfooHBDYAytWE98Bv5Qoc1VnBLaM48TZp5\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"9bWEpMR8ZsA8ah8TgEzw4g1LpTLBDiZpntzBJWEvF9UG\",\n        \"E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\"\n      ],\n      \"recentBlockhash\": \"7mdBiZgx9Mbc9thatyJ3zPBowasihHu5SKk12XY3Y5Wi\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 3,\n          \"accounts\": [\n            2,\n            1,\n            0\n          ],\n          \"data\": \"5mwNAjtHu6ee24qfF3GTkSBY97JubXz17EoQiFmDkEwCpUwmh4ZJkr3oLxFdMFJppVhneFqvAomih6SGCKWBhvW6\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      18251685486,\n      1127520,\n      2143680,\n      1141440\n    ],\n    \"postBalances\": [\n      18251680486,\n      1127520,\n      2143680,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: AppendSigners\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 6290 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 6290\n  },\n  \"blockTime\": 1763404678,\n  \"slot\": 380730203\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-signers-append-1.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"64tb9dFQRwPydv1vp5ShUsECdGDmUz9dR7Gdbz4oBtDfRcm6e29wjcYpQWqZFe98iAXnAbjzg7DwSmQfCqBNr2Ps\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"3Le1gdszSr6BdXAnF6P3oe7CcCmf2CjwwQoA2iLvRDJ7\",\n        \"HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\"\n      ],\n      \"recentBlockhash\": \"GdQ2fq2wPJ8Htdw6mmWKPnypKokrGMvhVdu8PVwEEnbx\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 3,\n          \"accounts\": [\n            2,\n            1,\n            0\n          ],\n          \"data\": \"5mwNAjtHu6ee24qfF3GTkSBY97JubXz17EoQiFmDkEwCpUwmh4ZJkr4CgZEjeY21HNXDnLsLW8Fqxt4mTGDRHkpS\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      18251512366,\n      1127520,\n      2143680,\n      1141440\n    ],\n    \"postBalances\": [\n      18251507366,\n      1127520,\n      2143680,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: AppendSigners\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 6290 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 6290\n  },\n  \"blockTime\": 1763404747,\n  \"slot\": 380730376\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-signers-finalize-0.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"4LcipNEhqZ68EMQVLe7kDNVY73dgUPDuNCNAturemYKpxTNMDGSradkDbzvZUrYqqe3ihZDWn9kw3R6gu5JqovWz\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"9bWEpMR8ZsA8ah8TgEzw4g1LpTLBDiZpntzBJWEvF9UG\",\n        \"E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\"\n      ],\n      \"recentBlockhash\": \"2zbiuxUfEb9SvRr35HMVdYWTDZxVDzHmc13LdVfZjE3Z\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 3,\n          \"accounts\": [\n            2,\n            1,\n            0\n          ],\n          \"data\": \"3V5XNyH9GL3Zw7SV97YnoB8Qke2c7xemZuhdfjFiRP1AURoHATkNZ19\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      18251680486,\n      1127520,\n      2143680,\n      1141440\n    ],\n    \"postBalances\": [\n      18251675486,\n      1127520,\n      2143680,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: FinalizeSigners\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 6032 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 6032\n  },\n  \"blockTime\": 1763404698,\n  \"slot\": 380730252\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-signers-finalize-1.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"5zoKac4MG3XWJ4ZSwQVUEHqyYaerqP1GH6dbNSkzmPUmhdx8UzftSvGeAYsh1jkD4Tp4saBun8zg1zNyyLAMqU5m\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"3Le1gdszSr6BdXAnF6P3oe7CcCmf2CjwwQoA2iLvRDJ7\",\n        \"HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\"\n      ],\n      \"recentBlockhash\": \"HFYmC7coBXBEYE4DM8hNuapeAzYtahkw9gmj1gfebYEw\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 3,\n          \"accounts\": [\n            2,\n            1,\n            0\n          ],\n          \"data\": \"3V5XNyH9GL3Zw7SV97YnoB8Qke2c7xemZuhdfjFiRP1AURoHATkNZ1A\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      18251507366,\n      1127520,\n      2143680,\n      1141440\n    ],\n    \"postBalances\": [\n      18251502366,\n      1127520,\n      2143680,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: FinalizeSigners\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 6032 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 6032\n  },\n  \"blockTime\": 1763404763,\n  \"slot\": 380730416\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-signers-init-0.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"awqAPiNwuZWbD61CwKjX9cGGRrYisjrfZ2r7mtt87i5tqnKQcdzypduLMBiei7VNKhikhPc2oJiAox2cUp97DwF\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 3\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"9bWEpMR8ZsA8ah8TgEzw4g1LpTLBDiZpntzBJWEvF9UG\",\n        \"E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3\",\n        \"11111111111111111111111111111111\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\"\n      ],\n      \"recentBlockhash\": \"Bvk34iJX97TfQx9ut45FnMco9KqXF31r9dWQeBstYSxE\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 4,\n          \"accounts\": [\n            2,\n            1,\n            0,\n            3\n          ],\n          \"data\": \"PXWSyLz7TkBDeki3V6tWD5LEQFNUshsGo5XhC69om7re6dKuVXRBHyC4\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      18252818006,\n      0,\n      2143680,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      18251685486,\n      1127520,\n      2143680,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 3,\n            \"accounts\": [\n              0,\n              1\n            ],\n            \"data\": \"11114XgVFgpBb5bjtAfbLy9F1DkHZn5Cxfp2mhmeyvpLULzgpZizH6CArnbv5tBc5XCvPi\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: InitSigners\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 10273 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 10273\n  },\n  \"blockTime\": 1763404662,\n  \"slot\": 380730162\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-signers-init-1.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"2k6VRhxpWSQ8y65KKcZdSJ44KveFGU8fow6UQLJQrW32SVoj8Sz1Voj6TwNJahJD1o4ogzX2vZVaXJvXBtEzW81R\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 3\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"3Le1gdszSr6BdXAnF6P3oe7CcCmf2CjwwQoA2iLvRDJ7\",\n        \"HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F\",\n        \"11111111111111111111111111111111\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\"\n      ],\n      \"recentBlockhash\": \"Dar1Cx9QDbkJCNntuu7kxdP1r6gxaCZVQ8guu7JMZNsz\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 4,\n          \"accounts\": [\n            2,\n            1,\n            0,\n            3\n          ],\n          \"data\": \"PXWSyLz7TkBDeki3V6tWD5LEQFNUshsGo5XhC69om7re6dKuVXRBHyGU\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      18252644886,\n      0,\n      2143680,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      18251512366,\n      1127520,\n      2143680,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 3,\n            \"accounts\": [\n              0,\n              1\n            ],\n            \"data\": \"11114XgVFgpBb5bjtAfbLy9F1DkHZn5Cxfp2mhmeyvpLULzgpZizH6CArnbv5tBc5XCvPi\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: InitSigners\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 10273 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 10273\n  },\n  \"blockTime\": 1763404733,\n  \"slot\": 380730338\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-signers-set-config-0.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"9H3FqRsNBx2spV9Upo1BMZDahWVkPYHkV7o7xTvDxpcWwBht7vUAnHzTFiuryKQa5Mvqufasg6swny89sa7fJdG\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3\",\n        \"9bWEpMR8ZsA8ah8TgEzw4g1LpTLBDiZpntzBJWEvF9UG\",\n        \"8HbtqBXPeS8DPfEx1r4kDyYFXuddrvZdxXXqMYyfdiKY\",\n        \"FDAHR8SdPZnWDcK6yvoCYHBf6ggTjLyomiQDQ767FH3c\",\n        \"11111111111111111111111111111111\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\"\n      ],\n      \"recentBlockhash\": \"EyaaXREt9eka9oqfHg5MRgNcUkBjtFSJbjh2LRiBWQJr\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 6,\n          \"accounts\": [\n            1,\n            2,\n            3,\n            4,\n            0,\n            5\n          ],\n          \"data\": \"23iSvsLwSCn7knRbxSMv3bBZRN2yCosVjpSo9DNtDyx2Va5qyUwvTeabCV4vcSbRE5JnSa7McQkMtUWALtYwysCDWemdF6p9KMqis1LD2yKABWYVqkGuLh1NySGSSQRS6h8cD2FE1wRKH18Vc2eiD6P\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      18251675486,\n      2143680,\n      1127520,\n      1343280,\n      1252800,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      18252644886,\n      2296800,\n      0,\n      1343280,\n      1252800,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 5,\n            \"accounts\": [\n              0,\n              1\n            ],\n            \"data\": \"3Bxs46GMpF1QDeeT\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: SetConfig\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program data: D2g7EOzxCAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAACy2aUudoQSee8DcsU0xTmk9o+MCwAA\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 19446 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 19446\n  },\n  \"blockTime\": 1763404717,\n  \"slot\": 380730300\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-signers-set-config-1.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"4WTK6nzP2XjunT7KxPVimZnbdm2iQTwgrqVxeDmooLW6VHa9bo41ks9zfdz7PxSN1oKRwvbU4JR3kEZH6XT7Mjs9\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F\",\n        \"3Le1gdszSr6BdXAnF6P3oe7CcCmf2CjwwQoA2iLvRDJ7\",\n        \"6yUZwFtM6EqsHkCgK2D4eAJkGqi3bAGSefma5SHSKRop\",\n        \"6o2vZjD4B7XDGhRWzPCbwYL2Y6RhwVseAjyqsRtGKT8B\",\n        \"11111111111111111111111111111111\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\"\n      ],\n      \"recentBlockhash\": \"6TykttNGE82Q36wuCzDdJwEBZ3bFfJvur2TNnPRmRmbh\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 6,\n          \"accounts\": [\n            1,\n            2,\n            3,\n            4,\n            0,\n            5\n          ],\n          \"data\": \"23iSvsLwSCn7knRbxSMv3bBZRN2yCosVjpSo9DNtDyx2Va5qyUwvTeanSxpTGZBXbCoi6qh2wDoUcSDSGqmzAE1VuHieJR7XZXfWYACDVoPu4i4yM2gwAfQcTjVjEtdKxPa4Z52fXAfqcAW8277VC1u\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      18251502366,\n      2143680,\n      1127520,\n      1343280,\n      1252800,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      18252471766,\n      2296800,\n      0,\n      1343280,\n      1252800,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 5,\n            \"accounts\": [\n              0,\n              1\n            ],\n            \"data\": \"3Bxs46GMpF1QDeeT\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: SetConfig\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program data: D2g7EOzxCAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAACy2aUudoQSee8DcsU0xTmk9o+MCwAA\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 19446 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 19446\n  },\n  \"blockTime\": 1763404779,\n  \"slot\": 380730456\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-deploy-mcm/artifacts/set-upgrade-authority-artifacts.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"4YULW1wpCCGh2GACAwutdbziFmCbR66uzmpP1YmCZCCytH6yo2UevwvkWT7JoA2N1RRqkuZvnRYuNRv5WNMoLcmL\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"2xMKRCcNhx3eL1FxCpZmT6Fxi3Sj4PC4pWZNiWWdck7Y\",\n        \"BPFLoaderUpgradeab1e11111111111111111111111\",\n        \"DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2\"\n      ],\n      \"recentBlockhash\": \"AEvqXJ5uKvUefnkH8Xo3v5of5n5fnbdVVVbim6ZTbcxJ\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0,\n            3\n          ],\n          \"data\": \"6vx8P\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      18250479726,\n      6734141040,\n      1,\n      0\n    ],\n    \"postBalances\": [\n      18250474726,\n      6734141040,\n      1,\n      0\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]\",\n      \"New authority Some(DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2)\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 2370\n  },\n  \"blockTime\": 1763406707,\n  \"slot\": 380735312\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-signers-update-mcm-0/FACILITATORS.md",
    "content": "# Facilitator Instructions: Signers Update MCM 0\n\n## Overview\n\nAs a Facilitator, you are responsible for:\n1. Preparing the new signers configuration\n2. Creating the MCM proposal\n3. Committing and pushing the proposal to the repo\n4. Coordinating with Signers\n5. Collecting signatures\n6. Executing the proposal on-chain\n\n## Prerequisites\n\n```bash\ncd contract-deployments\ngit pull\ncd solana/mainnet/2025-10-27-signers-update-mcm-0\nmake deps\n```\n\nEnsure you have:\n- `mcmctl` installed (via `make deps`)\n- `eip712sign` installed (via `make deps`)\n- A funded Solana wallet configured\n\n## Phase 1: Prepare and Generate Proposal\n\n### 1.1. Update .env with signers configuration\n\nSet the following in `.env`:\n\n```bash\nMCM_PROGRAM_ID=<mcm-program-id>\nMCM_MULTISIG_ID=<multisig-id>\nMCM_VALID_UNTIL=<unix-timestamp>\nMCM_OVERRIDE_PREVIOUS_ROOT=false  # or true if needed\nMCM_PROPOSAL_OUTPUT=proposal.json\n\n# New signers configuration\nMCM_NEW_SIGNERS=0xADDRESS1,0xADDRESS2,0xADDRESS3\nMCM_SIGNER_GROUPS=0,0,1\nMCM_GROUP_QUORUMS=2,1\nMCM_GROUP_PARENTS=0,0\nMCM_CLEAR_SIGNERS=false  # or true if needed\nMCM_CLEAR_ROOT=false  # or true if needed\n```\n\n### 1.2. Generate proposal\n\n```bash\nmake step1-create-proposal\n```\n\nThis creates the proposal file (default `proposal.json` or whatever is set in `MCM_PROPOSAL_OUTPUT`).\n\n### 1.3. Review proposal\n\nOpen and review the generated proposal file to verify:\n- All new signers are included\n- Signer groups are correctly assigned\n- Group quorums are appropriate\n- Group parent relationships are correct\n- Valid until timestamp is appropriate\n\n### 1.4. Commit and push\n\n```bash\ngit add .\ngit commit -m \"Add MCM signers update proposal\"\ngit push\n```\n\n## Phase 2: Coordinate with Signers and Collect Signatures\n\nCoordinate with Signers to collect their signatures. Each Signer will run `make sign` and provide their signature.\n\nConcatenate all signatures in the format: `0xSIG1,0xSIG2,0xSIG3`\n\nOnce you have all required signatures, update `.env`:\n\n```bash\nMCM_SIGNATURES_COUNT=<number-of-signatures>\nMCM_SIGNATURES=0xSIG1,0xSIG2,0xSIG3\n```\n\n## Phase 3: Execute Proposal\n\n```bash\nmake step3-execute-proposal\n```\n\nThis command executes all the necessary steps:\n- Initialize signatures account\n- Append signatures\n- Finalize signatures\n- Set root\n- Execute proposal\n- Print the new configuration\n\n## Phase 4: Verification\n\n### 4.1. Verify MCM configuration\n\nCheck that:\n- All new signers are present\n- Old signers (if removed) are no longer present\n- Signers are in the correct groups\n- Group quorums are set correctly\n- Group parent relationships are correct\n\n### 4.2. View on Solana Explorer\n\nVisit the Solana Explorer for your network:\n- Mainnet: https://explorer.solana.com/\n- Devnet: https://explorer.solana.com/?cluster=devnet\n\nSearch for the execution transaction to verify the update.\n\n### 4.3. Update README\n\nUpdate the Status line in README.md to:\n\n```markdown\nStatus: [EXECUTED](https://explorer.solana.com/tx/<transaction-signature>?cluster=<network>)\n```\n\nReplace `<transaction-signature>` with the execution transaction signature and `<network>` with the appropriate cluster (devnet, mainnet-beta, etc.).\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-signers-update-mcm-0/Makefile",
    "content": "include ../.env\ninclude .env\n\ninclude ../../Makefile\n\nLEDGER_ACCOUNT=1\n\n##\n# MCM Signers Update Workflow\n##\n\n# Step 1: Create signers update proposal\n.PHONY: step1-create-proposal\nstep1-create-proposal:\n\t@echo \"==> Step 1: Creating MCM signers update proposal...\"\n\tmake mcm-proposal-update-signers\n\n# Step 2: Sign proposal\n.PHONY: sign\nsign:\n\t@echo \"==> Step 2: Signing proposal...\"\n\tmake mcm-sign\n\n# Step 3: Execute proposal (signatures + set-root + execute)\n.PHONY: step3-execute-proposal\nstep3-execute-proposal:\n\t@echo \"==> Step 3: Executing MCM proposal...\"\n\tmake mcm-all\n\tmake mcm-signers-print-config\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-signers-update-mcm-0/README.md",
    "content": "# Signers Update MCM 0\n\nStatus: [EXECUTED](https://explorer.solana.com/tx/2MckFEES6ak47G1FDPWWx4Zb56Nz5QTTDtbWFUF5dnSRyyZ7E2NAiiSQKe7VeCj7vhxRfm2aWgmjfN4HHaRyiepE?cluster=mainnet)\n\n## Description\n\nThis task initializes the signers configuration of the multisig `0x0000000000000000000000000000000000000000000000000000000000000000` managed by the MCM program.\n\n## Procedure for Signers\n\n### 1. Update repo\n\n```bash\ncd contract-deployments\ngit pull\ncd solana/mainnet/2025-10-27-signers-update-mcm-0\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The **Ethereum application** needs to be opened on Ledger with the message \"Application is ready\".\n\n### 3. Sign the proposal\n\n```bash\nmake sign\n```\n\nThis command will:\n1. Display the proposal hash\n2. Prompt you to sign on your Ledger\n3. Output your signature\n\n**Verify on your Ledger**: Check that the data you're signing matches the proposal hash displayed in the terminal.\n\nAfter signing, you will see output like:\n\n```\nSignature: 1234567890abcdef...\n```\n\n### 4. Send signature to Facilitator\n\nCopy the **entire signature** and send it to the Facilitator via your secure communication channel.\n\n**That's it!** The Facilitator will collect all signatures and execute the proposal.\n\n## For Facilitators\n\nSee [FACILITATORS.md](./FACILITATORS.md) for complete instructions on preparing, executing, and verifying this task.\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-signers-update-mcm-0/artifacts/mcm-proposal-execute.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"2MckFEES6ak47G1FDPWWx4Zb56Nz5QTTDtbWFUF5dnSRyyZ7E2NAiiSQKe7VeCj7vhxRfm2aWgmjfN4HHaRyiepE\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3\",\n        \"FDAHR8SdPZnWDcK6yvoCYHBf6ggTjLyomiQDQ767FH3c\",\n        \"9bWEpMR8ZsA8ah8TgEzw4g1LpTLBDiZpntzBJWEvF9UG\",\n        \"8HbtqBXPeS8DPfEx1r4kDyYFXuddrvZdxXXqMYyfdiKY\",\n        \"DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\",\n        \"11111111111111111111111111111111\"\n      ],\n      \"recentBlockhash\": \"B9MUPGAdMMTs3DvAXqfBsjHEvauLAJcd4KBbBFpCXA24\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 6,\n          \"accounts\": [\n            1,\n            4,\n            2,\n            6,\n            5,\n            0,\n            1,\n            3,\n            4,\n            2,\n            5,\n            7\n          ],\n          \"data\": \"xPJdsLVymgKCpabzojkvKXubxUQWXktU6BFtEHABjhj3NTaD2AkGbMuwska1ZwCL5NYNEVpqs6seAtB3c9peEgHhbb1noFTiqDLNJVEbEcRdG96MzE5C9fNCrpzW7jp7cL3Bww7U3wYJc9w3RXo43qB3GpPAmNXPVgJ2caaqV2d4chp2BJWfEvZPGbRd1pLt8J8V6DDM1yxGXh9vraCNr6FxruCEAyJq4frLf8QPTTHoCpbxkWmwLivuAuZufTZRnmf9gg6moHALVMp4QkVZtuiMFGq9Q2UC\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      17249486218,\n      2296800,\n      1252800,\n      1823520,\n      1343280,\n      498176480,\n      1141440,\n      1\n    ],\n    \"postBalances\": [\n      17249481218,\n      3062400,\n      1252800,\n      0,\n      1343280,\n      499234400,\n      1141440,\n      1\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 6,\n            \"accounts\": [\n              1,\n              3,\n              4,\n              2,\n              5,\n              7\n            ],\n            \"data\": \"XEaWes2r5sLYNDMGWUuzMytB7fGVziTNscVB8pcjn7UYs9Y7AcPVsga2x33yqJCa96gERy7Dneer67t4SaZ3uHC3G47AUnHuoqmLwfm4T4Evu6FTvP3uhfzqpXogo4EwULeg4Zbrb26Zn9S7WchhUEpeazYQP\",\n            \"stackHeight\": 2\n          },\n          {\n            \"programIdIndex\": 7,\n            \"accounts\": [\n              5,\n              1\n            ],\n            \"data\": \"3Bxs4TjTQnrzkZ99\",\n            \"stackHeight\": 3\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: Execute\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [2]\",\n      \"Program log: Instruction: SetConfig\",\n      \"Program 11111111111111111111111111111111 invoke [3]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program data: D2g7EOzxCAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAchwd2sWip/66AxR8FDGEe3SRnQQAAPNaS7Oi2VzoiIK4A0N65jw3/qaEBAD2tIgCEmSW7Rtm/Ba+l9/IT9MGOAgBs04UHVreJR3SrcV0Tb53QKDfeUAMAsBGjLti09w2ZQ6IZn1Obvs17YvcEAPnjIPPaEuaK8hnZ4qSQ3WSfaxd8BQA=\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 21583 of 172579 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\",\n      \"Program data: 3Q/UHSP8/04EAAAAAAAAAGcCh4N9eJPb3aw2yi+BQJPBooja8IcVaJvnIO7D4O5xcwAAAGyemq/UYjRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 53157 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 53157\n  },\n  \"blockTime\": 1763415814,\n  \"slot\": 380758176\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-signers-update-mcm-0/artifacts/mcm-proposal-set-root.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"3GtERhm4awsxBpYMjuDDMdFYkwkRAqj8V8jvVQi3cJpzz69sTfAL7YNRUUhTJpyjDrHaVKp1rrRNkoBZYqYuECs5\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 3\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"2rWVoaGBa15P23yBFBQHzdD8re4w1mo6fzZyDVPinKQj\",\n        \"8HbtqBXPeS8DPfEx1r4kDyYFXuddrvZdxXXqMYyfdiKY\",\n        \"5joFZWbVTjFSXGgK5MuCh5yFM2TUEkuwnW8x83TxQhcu\",\n        \"FDAHR8SdPZnWDcK6yvoCYHBf6ggTjLyomiQDQ767FH3c\",\n        \"E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3\",\n        \"11111111111111111111111111111111\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\"\n      ],\n      \"recentBlockhash\": \"ESZ2ydUndjxCDVViN1ymVejxZEb4SWRUHvyZPyEfPNw1\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 7,\n          \"accounts\": [\n            1,\n            2,\n            3,\n            4,\n            5,\n            0,\n            6\n          ],\n          \"data\": \"2P1Ehuf5MKok5bGmDbTSnCN1B2DcDPSK1QZnm5HFjYNmS7Qxa1sy294EQdjyFib4v96PoHhs5RujFC2iLPwzJFjrSoHp55tAVD2BWt1Nd9Xtf9gNcvQybAJWuzhmdqw8en9bKgTEwKPb3tehwbMfiLWoT6pZLyzUMRu6pMKTM2dcbDvKRynU6fHHMnKtXTFi8pBaYbNMwcDtyvN1zjYwtt8ghdXK559XegARTCwEuwQXQK5HjqVC5hPtWmUFJbhukGE8B1rTunBiQRYM8b8mo1XJJMpspTDy3Cy47VsBYG2GCEhhUATFy2nLLsWJFwv\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      17249019018,\n      1440720,\n      1343280,\n      0,\n      1252800,\n      2296800,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      17249501218,\n      0,\n      1343280,\n      953520,\n      1252800,\n      2296800,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 6,\n            \"accounts\": [\n              0,\n              3\n            ],\n            \"data\": \"11117UcthqATmHRa77Wg3s82tLzKywRJgz1rjE74d3DpY6sdpp9N8y8o18gibatAtTN2fi\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: SetRootEip712\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program data: 0hm7digqPXc/77glZH7L4sQgWFz8dceAQ40vRUsnhmrtJ/RKIWAsC9OrHGkBAAAAAAAAAMMpm7g6ahfJ/wVgN8Ww4F9n9YCqNZB8zw9o6j8G2GBQAQAAAAAAAAAFAAAAAAAAAAA=\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 52763 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 52763\n  },\n  \"blockTime\": 1763415753,\n  \"slot\": 380758022\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-signers-update-mcm-0/artifacts/mcm-signatures-append.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"65yT5Y8Gu2tZFtRXMnuDyuBTeJDNEWu8xXQ8yPhG48tnY8TDxEiTN6gYWui3B6qeeQJwnC1WoBgprMw1jEdBH7L5\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"2rWVoaGBa15P23yBFBQHzdD8re4w1mo6fzZyDVPinKQj\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\"\n      ],\n      \"recentBlockhash\": \"FJL8HfFB86Xx65wmcUV9qbzsQNcUzjVaSCEthRE1cw6H\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"q7VthGLU3rBtHaTsCi9bYRTPooHVyQugCmrGyK2CSeHv7cujNKMX7oqD6vkFAV6Utpi3d7uvYmyLHcumpoJEUJq373LaWfzjxarQtSTTo1471KiRFVkWKrGhmA4o2RA1GjaLpmUScMdw68Ht1WjqwektYMkS4dYp2u6WvcK9g2XFgEs39MvFnkgGVWrj6ubrrCcHzY\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      17249029018,\n      1440720,\n      1141440\n    ],\n    \"postBalances\": [\n      17249024018,\n      1440720,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: AppendSignatures\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 5939 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 5939\n  },\n  \"blockTime\": 1763415724,\n  \"slot\": 380757948\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-signers-update-mcm-0/artifacts/mcm-signatures-finalize.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"2GMhLW6VqFXjoNKGsF94ZponiZ1bwMDi7PGmMDe5of8nFmLowhp1gS3hPwfQYDnvuY27RTyRGZ7QupGdxA1xeBxj\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"2rWVoaGBa15P23yBFBQHzdD8re4w1mo6fzZyDVPinKQj\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\"\n      ],\n      \"recentBlockhash\": \"3vGukGh2hHpeCC5guPCKDB7h4Ni6KN29t1PSvDz63kgw\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"8VPNxavkg2Yj38NCocv5Cq5gNj6AXt2M4QRQjqgjJnXPoyHsmdy1UZDCbg2dLhYKkiDa4HrPhWSkLZAvwqriC2JX7MZPnitUKKaVyykk\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      17249024018,\n      1440720,\n      1141440\n    ],\n    \"postBalances\": [\n      17249019018,\n      1440720,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: FinalizeSignatures\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 5551 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 5551\n  },\n  \"blockTime\": 1763415739,\n  \"slot\": 380757985\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-signers-update-mcm-0/artifacts/mcm-signatures-init.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"SaYDZxyhKMw5Jj14H1QupruNqCmR43WZXjYikMj7sRbtCpaJcv3bhaFPtfRnhyUwQ2TWt1opUoYFm8hKts9Z7p4\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"2rWVoaGBa15P23yBFBQHzdD8re4w1mo6fzZyDVPinKQj\",\n        \"11111111111111111111111111111111\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\"\n      ],\n      \"recentBlockhash\": \"DkRtPcUH3uFFT8xrMuP9boPVWLveoc2WH1FC4mFtSbgb\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 3,\n          \"accounts\": [\n            1,\n            0,\n            2\n          ],\n          \"data\": \"2QCcPn6AhHR9Zi4mhnFE53M8tJopZFLmSWFEPUWVFoNxRRu5UeGEiNamWiE8yMXSySyHKrcwHV7UpB1LGGUG2DLMSxjKjX9dMy686ZWnN4\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      17250474738,\n      0,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      17249029018,\n      1440720,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 2,\n            \"accounts\": [\n              0,\n              1\n            ],\n            \"data\": \"11118fdCyr6AWCbQyCZP4gmXmuwkVYaeAxwQhhSL7YPSRE7gcgxyCiyA93npMAsbpAAiHv\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: InitSignatures\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 9485 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 9485\n  },\n  \"blockTime\": 1763415707,\n  \"slot\": 380757904\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-signers-update-mcm-0/proposal.json",
    "content": "{\n  \"multisigId\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n  \"validUntil\": 1763486675,\n  \"instructions\": [\n    {\n      \"programId\": \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\",\n      \"data\": \"ZraBEIqO38QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY=\",\n      \"accounts\": [\n        {\n          \"pubkey\": \"E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"9bWEpMR8ZsA8ah8TgEzw4g1LpTLBDiZpntzBJWEvF9UG\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"11111111111111111111111111111111\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        }\n      ]\n    },\n    {\n      \"programId\": \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\",\n      \"data\": \"7tH7JynxkhkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAchwd2sWip/66AxR8FDGEe3SRnQTzWkuzotlc6IiCuANDeuY8N/6mhPa0iAISZJbtG2b8Fr6X38hP0wY5s04UHVreJR3SrcV0Tb53QKDfeULARoy7YtPcNmUOiGZ9Tm77Ne2L3+eMg89oS5oryGdnipJDdZJ9rF3w=\",\n      \"accounts\": [\n        {\n          \"pubkey\": \"E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"9bWEpMR8ZsA8ah8TgEzw4g1LpTLBDiZpntzBJWEvF9UG\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        }\n      ]\n    },\n    {\n      \"programId\": \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\",\n      \"data\": \"Mf6a4onHeD8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==\",\n      \"accounts\": [\n        {\n          \"pubkey\": \"E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"9bWEpMR8ZsA8ah8TgEzw4g1LpTLBDiZpntzBJWEvF9UG\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        }\n      ]\n    },\n    {\n      \"programId\": \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\",\n      \"data\": \"bJ6ar9RiNEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==\",\n      \"accounts\": [\n        {\n          \"pubkey\": \"E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"9bWEpMR8ZsA8ah8TgEzw4g1LpTLBDiZpntzBJWEvF9UG\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"8HbtqBXPeS8DPfEx1r4kDyYFXuddrvZdxXXqMYyfdiKY\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"FDAHR8SdPZnWDcK6yvoCYHBf6ggTjLyomiQDQ767FH3c\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"11111111111111111111111111111111\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        }\n      ]\n    }\n  ],\n  \"rootMetadata\": {\n    \"chainId\": 1,\n    \"multisig\": \"E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3\",\n    \"preOpCount\": 1,\n    \"postOpCount\": 5,\n    \"overridePreviousRoot\": false\n  }\n}"
  },
  {
    "path": "solana/mainnet/2025-10-27-signers-update-mcm-1/FACILITATORS.md",
    "content": "# Facilitator Instructions: Signers Update MCM 1\n\n## Overview\n\nAs a Facilitator, you are responsible for:\n1. Preparing the new signers configuration\n2. Creating the MCM proposal\n3. Committing and pushing the proposal to the repo\n4. Coordinating with Signers\n5. Collecting signatures\n6. Executing the proposal on-chain\n\n## Prerequisites\n\n```bash\ncd contract-deployments\ngit pull\ncd solana/mainnet/2025-10-27-signers-update-mcm-1\nmake deps\n```\n\nEnsure you have:\n- `mcmctl` installed (via `make deps`)\n- `eip712sign` installed (via `make deps`)\n- A funded Solana wallet configured\n\n## Phase 1: Prepare and Generate Proposal\n\n### 1.1. Update .env with signers configuration\n\nSet the following in `.env`:\n\n```bash\nMCM_PROGRAM_ID=<mcm-program-id>\nMCM_MULTISIG_ID=<multisig-id>\nMCM_VALID_UNTIL=<unix-timestamp>\nMCM_OVERRIDE_PREVIOUS_ROOT=false  # or true if needed\nMCM_PROPOSAL_OUTPUT=proposal.json\n\n# New signers configuration\nMCM_NEW_SIGNERS=0xADDRESS1,0xADDRESS2,0xADDRESS3\nMCM_SIGNER_GROUPS=0,0,1\nMCM_GROUP_QUORUMS=2,1\nMCM_GROUP_PARENTS=0,0\nMCM_CLEAR_SIGNERS=false  # or true if needed\nMCM_CLEAR_ROOT=false  # or true if needed\n```\n\n### 1.2. Generate proposal\n\n```bash\nmake step1-create-proposal\n```\n\nThis creates the proposal file (default `proposal.json` or whatever is set in `MCM_PROPOSAL_OUTPUT`).\n\n### 1.3. Review proposal\n\nOpen and review the generated proposal file to verify:\n- All new signers are included\n- Signer groups are correctly assigned\n- Group quorums are appropriate\n- Group parent relationships are correct\n- Valid until timestamp is appropriate\n\n### 1.4. Commit and push\n\n```bash\ngit add .\ngit commit -m \"Add MCM signers update proposal\"\ngit push\n```\n\n## Phase 2: Coordinate with Signers and Collect Signatures\n\nCoordinate with Signers to collect their signatures. Each Signer will run `make sign` and provide their signature.\n\nConcatenate all signatures in the format: `0xSIG1,0xSIG2,0xSIG3`\n\nOnce you have all required signatures, update `.env`:\n\n```bash\nMCM_SIGNATURES_COUNT=<number-of-signatures>\nMCM_SIGNATURES=0xSIG1,0xSIG2,0xSIG3\n```\n\n## Phase 3: Execute Proposal\n\n```bash\nmake step3-execute-proposal\n```\n\nThis command executes all the necessary steps:\n- Initialize signatures account\n- Append signatures\n- Finalize signatures\n- Set root\n- Execute proposal\n- Print the new configuration\n\n## Phase 4: Verification\n\n### 4.1. Verify MCM configuration\n\nCheck that:\n- All new signers are present\n- Old signers (if removed) are no longer present\n- Signers are in the correct groups\n- Group quorums are set correctly\n- Group parent relationships are correct\n\n### 4.2. View on Solana Explorer\n\nVisit the Solana Explorer for your network:\n- Mainnet: https://explorer.solana.com/\n- Devnet: https://explorer.solana.com/?cluster=devnet\n\nSearch for the execution transaction to verify the update.\n\n### 4.3. Update README\n\nUpdate the Status line in README.md to:\n\n```markdown\nStatus: [EXECUTED](https://explorer.solana.com/tx/<transaction-signature>?cluster=<network>)\n```\n\nReplace `<transaction-signature>` with the execution transaction signature and `<network>` with the appropriate cluster (devnet, mainnet-beta, etc.).\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-signers-update-mcm-1/Makefile",
    "content": "include ../.env\ninclude .env\n\ninclude ../../Makefile\n\nLEDGER_ACCOUNT=1\n\n##\n# MCM Signers Update Workflow\n##\n\n# Step 1: Create signers update proposal\n.PHONY: step1-create-proposal\nstep1-create-proposal:\n\t@echo \"==> Step 1: Creating MCM signers update proposal...\"\n\tmake mcm-proposal-update-signers\n\n# Step 2: Sign proposal\n.PHONY: sign\nsign:\n\t@echo \"==> Step 2: Signing proposal...\"\n\tmake mcm-sign\n\n# Step 3: Execute proposal (signatures + set-root + execute)\n.PHONY: step3-execute-proposal\nstep3-execute-proposal:\n\t@echo \"==> Step 3: Executing MCM proposal...\"\n\tmake mcm-all\n\tmake mcm-signers-print-config\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-signers-update-mcm-1/README.md",
    "content": "# Signers Update MCM 1\n\nStatus: [EXECUTED](https://explorer.solana.com/tx/3Hch6HsfACH5HBSVJJH8LTPLvE8y8oEkwBgDkBMAWFuUx3YJNzzP2pNtMy2Q5k5HStxeUUFvhtVKezmT5ZTnFqqf?cluster=mainnet)\n\n## Description\n\nThis task initializes the signers configuration of the multisig `0x0000000000000000000000000000000000000000000000000000000000000001` managed by the MCM program.\n\n## Procedure for Signers\n\n### 1. Update repo\n\n```bash\ncd contract-deployments\ngit pull\ncd solana/mainnet/2025-10-27-signers-update-mcm-1\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The **Ethereum application** needs to be opened on Ledger with the message \"Application is ready\".\n\n### 3. Sign the proposal\n\n```bash\nmake sign\n```\n\nThis command will:\n1. Display the proposal hash\n2. Prompt you to sign on your Ledger\n3. Output your signature\n\n**Verify on your Ledger**: Check that the data you're signing matches the proposal hash displayed in the terminal.\n\nAfter signing, you will see output like:\n\n```\nSignature: 1234567890abcdef...\n```\n\n### 4. Send signature to Facilitator\n\nCopy the **entire signature** and send it to the Facilitator via your secure communication channel.\n\n**That's it!** The Facilitator will collect all signatures and execute the proposal.\n\n## For Facilitators\n\nSee [FACILITATORS.md](./FACILITATORS.md) for complete instructions on preparing, executing, and verifying this task.\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-signers-update-mcm-1/artifacts/mcm-proposal-execute.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"3Hch6HsfACH5HBSVJJH8LTPLvE8y8oEkwBgDkBMAWFuUx3YJNzzP2pNtMy2Q5k5HStxeUUFvhtVKezmT5ZTnFqqf\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F\",\n        \"6o2vZjD4B7XDGhRWzPCbwYL2Y6RhwVseAjyqsRtGKT8B\",\n        \"3Le1gdszSr6BdXAnF6P3oe7CcCmf2CjwwQoA2iLvRDJ7\",\n        \"6yUZwFtM6EqsHkCgK2D4eAJkGqi3bAGSefma5SHSKRop\",\n        \"7AoCt88ceFPCm43cj9K8w8xxWfhWRXEHZ2NGkDYNTCip\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\",\n        \"11111111111111111111111111111111\"\n      ],\n      \"recentBlockhash\": \"B47NTtxtswzUcucc5dZ2QaBZwK4S1BuYAhGa1VpHFGxL\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 6,\n          \"accounts\": [\n            1,\n            4,\n            2,\n            6,\n            5,\n            0,\n            1,\n            3,\n            4,\n            2,\n            5,\n            7\n          ],\n          \"data\": \"3kcTRTpxJcrs4s4GZnDXhkDLBwNjbAaapEppAKRVW7zfToUnwDJrmPkbjBWUmSLRTSWK2og8WARFsLXgL1LTwZJAq7tyYgAxcUHnDannrC7eyjN3uVDNNPm3YHLxoh19SEAyZSuMtJNjWQPyPma9hNW84r6dzWbvj8jKYjuyJdC9cdoejpiTKEoBg3WkYMqTQqW2W4m7LLATancfEArCMmTr1S633w3bUhTFVbJqYVqhGgHoSX9bWn3wmBEjc17e9hkM3ix43JH4aJjPUapE7gAuaRoBJQV6PuPjvmJDGxQQKy61Ss4vzfRos9hXJBydd6Vh9YnsGpCTHmtgVXx5jH\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      17248487698,\n      2296800,\n      1252800,\n      2797920,\n      1343280,\n      497202080,\n      1141440,\n      1\n    ],\n    \"postBalances\": [\n      17248482698,\n      4134240,\n      1252800,\n      0,\n      1343280,\n      498162560,\n      1141440,\n      1\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 6,\n            \"accounts\": [\n              1,\n              3,\n              4,\n              2,\n              5,\n              7\n            ],\n            \"data\": \"64JuGGLk9NDtcuqYHbYdvLn9JcaqmyombUTYwgoe9NEY5ybzeFgrm9GoDrbFUHeDhU1w5TCoY5Ho34D95PwBPKcuczgYwbLauk9UonBaZZTWp4G3uX5evCTgsP2eoVmt9VW7b4kRd8FSPnwX2gMr69gwdu7QsE9wGbZmn8w\",\n            \"stackHeight\": 2\n          },\n          {\n            \"programIdIndex\": 7,\n            \"accounts\": [\n              5,\n              1\n            ],\n            \"data\": \"3Bxs4NGmNXRayFFD\",\n            \"stackHeight\": 3\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: Execute\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [2]\",\n      \"Program log: Instruction: SetConfig\",\n      \"Program 11111111111111111111111111111111 invoke [3]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program data: D2g7EOzxCAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAYQcs8LOaHDQQXhEyBeEnaZObpNwAAJMOuGu24FC0yu207mI9ZEPJy1TsBACbHJYb7OWMl9YcYFS/vqU6Tzxd7AgBEJ2g6ofD/JczcSl24MBDB3ptf9AMASSQ9zpTg9aGwi5VWu+xahDY8ODkEAFQagz5DA+tWpFvn6OSpCNuXVo0eBQBUaJhbVg2Wbe3qLa9JP1dWEBE33AYAWxVLhYcWjLmE/2EPXedCidj2iHQHAGROPe2w5Pg7/Pj5mSlk0kAiS3TcCAB62Oa3sfbWb0lVnyAFPO+Ke2xIjgkAox4cONXDfY7NDpTIDA9/1iTQCaMKAKPTwQNELxYoVhY9VkuYOuU4xiAtCwCzey1CywwQ6/lieczsosv8R8byNgwA\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 24475 of 169293 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\",\n      \"Program data: 3Q/UHSP8/04FAAAAAAAAAGcCh4N9eJPb3aw2yi+BQJPBooja8IcVaJvnIO7D4O5xegAAAGyemq/UYjRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAENAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 60896 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 60896\n  },\n  \"blockTime\": 1763416490,\n  \"slot\": 380759868\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-signers-update-mcm-1/artifacts/mcm-proposal-set-root.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"5r98JeeE9YWRcTbiRxnRgGZNivhw41ptmpxmk4vaCoezxX7aMRWCDd5degcjH358Dz1Snoypu5NxryFwSux5BeKM\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 3\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"CiQ8Ea73YsFCUrVTYjcj8HKy9v14a3LZnxpHrAEqwgGE\",\n        \"6yUZwFtM6EqsHkCgK2D4eAJkGqi3bAGSefma5SHSKRop\",\n        \"Hi7LkWpHkpnm8HQ4j4GE9ZkuwanU2z9r2wA8umhLDtgX\",\n        \"6o2vZjD4B7XDGhRWzPCbwYL2Y6RhwVseAjyqsRtGKT8B\",\n        \"HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F\",\n        \"11111111111111111111111111111111\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\"\n      ],\n      \"recentBlockhash\": \"2faUBAt1iZbG5oKrJoHMMd1Uvne5f63u1Xmgf5n3ktQu\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 7,\n          \"accounts\": [\n            1,\n            2,\n            3,\n            4,\n            5,\n            0,\n            6\n          ],\n          \"data\": \"2P1Ehuf5MKok5bGmDbTSnCN1B2DcDPSK1QZnm5HFjYNmS7Qxa1sy294UziAKBYk6hjt3pJLcQDxAVM9uyqrmcRjTeCS8E2gsYzCi2yv62Xu9GfFdHfHbtKj3whJgcsBvh6wucrWi84dpeE7rJoPWWJfcDJsQ2VjdUccNK7temfDg4hWfkRieghsZod8X94WZddyyn3gR8UfjBAzUvw2GyWRwB8bwSTtBePjTtFZPP428M93PKNGD8j8E3L363HeHWknDuZocFepg9Yvc3ACR9ALaTtgrUajGWM1WLeg7NXLcqac86KX6vXaN7tiN49B\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      17248025498,\n      1440720,\n      1343280,\n      0,\n      1252800,\n      2296800,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      17248507698,\n      0,\n      1343280,\n      953520,\n      1252800,\n      2296800,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 6,\n            \"accounts\": [\n              0,\n              3\n            ],\n            \"data\": \"11117UcthqATmHRa77Wg3s82tLzKywRJgz1rjE74d3DpY6sdpp9N8y8o18gibatAtTN2fi\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: SetRootEip712\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program data: 0hm7digqPXet7WzvylOWknsG9kAjcmbuOtntOsPI+nuQA3C1RRvVQdOrHGkBAAAAAAAAAPQBSIadtkZNgnPsGWNmBTNoNFhAOFoGUSCNFCp281+8AQAAAAAAAAAGAAAAAAAAAAA=\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 49763 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 49763\n  },\n  \"blockTime\": 1763416410,\n  \"slot\": 380759666\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-signers-update-mcm-1/artifacts/mcm-signatures-append.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"3SuVkDZyCidxnwZ3RnSi46aGq7PmeQJLKBbb1fsmoJn432n4SR5B7DN2P6HfMghLU7LUieNqzM5HKPiHyKpBrrXi\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"CiQ8Ea73YsFCUrVTYjcj8HKy9v14a3LZnxpHrAEqwgGE\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\"\n      ],\n      \"recentBlockhash\": \"2UcYYaQ93JafJBZHemKQjAva6247aKneFxfEGRmk4cck\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"q7VthGLU3rBtHaTsCi9bYRTPooHVyQugCmrGyK2CSeHv7cujNKMX7oxHvVoaZDPujEaHRFpBTfWxqPhwjJzewaF39u2aQcvgszoKGsRx9RVuzBZzoyoDJQkAauc5kLnYFJbWFzfPtpCSBrrNQYNR4BLYQsZhBVr3DvnWvXMtLhdKmQDGWroxtX8rBRUH675W5Hm92H\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      17248035498,\n      1440720,\n      1141440\n    ],\n    \"postBalances\": [\n      17248030498,\n      1440720,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: AppendSignatures\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 4439 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 4439\n  },\n  \"blockTime\": 1763416376,\n  \"slot\": 380759582\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-signers-update-mcm-1/artifacts/mcm-signatures-finalize.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"3VEoURAh2Dc6TDB9L8nwyG2ebb5yhH7WxpddFfHNawfemTgGdnPBCWWpv1LMURmyAwqymsfweXCACSXzz7diEG91\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"CiQ8Ea73YsFCUrVTYjcj8HKy9v14a3LZnxpHrAEqwgGE\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\"\n      ],\n      \"recentBlockhash\": \"BPLhKzJKdocpwXi5bfL8kk3VrRj7omaBDFZ6CPkAabEF\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"8VPNxavkg2Yj38NCocv5Cq5gNj6AXt2M4QRQjqgjJnXPoyHsmdy1UZFynRXJG5m1W9HXLHH1ChqHocM7wvVDoEZ5kj2U13hEn7GrvnsA\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      17248030498,\n      1440720,\n      1141440\n    ],\n    \"postBalances\": [\n      17248025498,\n      1440720,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: FinalizeSignatures\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 4051 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 4051\n  },\n  \"blockTime\": 1763416392,\n  \"slot\": 380759624\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-signers-update-mcm-1/artifacts/mcm-signatures-init.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"31wMMRGTo45iDne6xP6mZotSB4jPRaYH1oD2pebQS19DbraFxFL97Uw4HLBzwV8JMjb96djznfUYSunZZhudAXCo\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"CiQ8Ea73YsFCUrVTYjcj8HKy9v14a3LZnxpHrAEqwgGE\",\n        \"11111111111111111111111111111111\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\"\n      ],\n      \"recentBlockhash\": \"3QDopoZ54wCYvhBoeVmH2Fzv4LEXx47GdXDJyeSuqguV\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 3,\n          \"accounts\": [\n            1,\n            0,\n            2\n          ],\n          \"data\": \"2QCcPn6AhHR9Zi4mhnFE53M8tJopZFLmSWFEPUWVFoNxRRu5UeGEiNayn9g7X99WxtfvmqCPvBykK4RMEpphAtkRj3g5E7YdnDKpF1Sifz\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      17249481218,\n      0,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      17248035498,\n      1440720,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 2,\n            \"accounts\": [\n              0,\n              1\n            ],\n            \"data\": \"11118fdCyr6AWCbQyCZP4gmXmuwkVYaeAxwQhhSL7YPSRE7gcgxyCiyA93npMAsbpAAiHv\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: InitSignatures\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 7985 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 7985\n  },\n  \"blockTime\": 1763416358,\n  \"slot\": 380759540\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-27-signers-update-mcm-1/proposal.json",
    "content": "{\n  \"multisigId\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n  \"validUntil\": 1763486675,\n  \"instructions\": [\n    {\n      \"programId\": \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\",\n      \"data\": \"ZraBEIqO38QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ0=\",\n      \"accounts\": [\n        {\n          \"pubkey\": \"HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"3Le1gdszSr6BdXAnF6P3oe7CcCmf2CjwwQoA2iLvRDJ7\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"7AoCt88ceFPCm43cj9K8w8xxWfhWRXEHZ2NGkDYNTCip\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"11111111111111111111111111111111\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        }\n      ]\n    },\n    {\n      \"programId\": \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\",\n      \"data\": \"7tH7JynxkhkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQoAAAAYQcs8LOaHDQQXhEyBeEnaZObpNyTDrhrtuBQtMrttO5iPWRDyctU7Jsclhvs5YyX1hxgVL++pTpPPF3tEJ2g6ofD/JczcSl24MBDB3ptf9EkkPc6U4PWhsIuVVrvsWoQ2PDg5VBqDPkMD61akW+fo5KkI25dWjR5UaJhbVg2Wbe3qLa9JP1dWEBE33FsVS4WHFoy5hP9hD13nQonY9oh0ZE497bDk+Dv8+PmZKWTSQCJLdNx62Oa3sfbWb0lVnyAFPO+Ke2xIjg==\",\n      \"accounts\": [\n        {\n          \"pubkey\": \"HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"3Le1gdszSr6BdXAnF6P3oe7CcCmf2CjwwQoA2iLvRDJ7\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"7AoCt88ceFPCm43cj9K8w8xxWfhWRXEHZ2NGkDYNTCip\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        }\n      ]\n    },\n    {\n      \"programId\": \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\",\n      \"data\": \"7tH7JynxkhkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQMAAACjHhw41cN9js0OlMgMD3/WJNAJo6PTwQNELxYoVhY9VkuYOuU4xiAts3stQssMEOv5YnnM7KLL/EfG8jY=\",\n      \"accounts\": [\n        {\n          \"pubkey\": \"HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"3Le1gdszSr6BdXAnF6P3oe7CcCmf2CjwwQoA2iLvRDJ7\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"7AoCt88ceFPCm43cj9K8w8xxWfhWRXEHZ2NGkDYNTCip\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        }\n      ]\n    },\n    {\n      \"programId\": \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\",\n      \"data\": \"Mf6a4onHeD8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ==\",\n      \"accounts\": [\n        {\n          \"pubkey\": \"HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"3Le1gdszSr6BdXAnF6P3oe7CcCmf2CjwwQoA2iLvRDJ7\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"7AoCt88ceFPCm43cj9K8w8xxWfhWRXEHZ2NGkDYNTCip\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        }\n      ]\n    },\n    {\n      \"programId\": \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\",\n      \"data\": \"bJ6ar9RiNEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ0AAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\",\n      \"accounts\": [\n        {\n          \"pubkey\": \"HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"3Le1gdszSr6BdXAnF6P3oe7CcCmf2CjwwQoA2iLvRDJ7\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"6yUZwFtM6EqsHkCgK2D4eAJkGqi3bAGSefma5SHSKRop\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"6o2vZjD4B7XDGhRWzPCbwYL2Y6RhwVseAjyqsRtGKT8B\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"7AoCt88ceFPCm43cj9K8w8xxWfhWRXEHZ2NGkDYNTCip\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"11111111111111111111111111111111\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        }\n      ]\n    }\n  ],\n  \"rootMetadata\": {\n    \"chainId\": 1,\n    \"multisig\": \"HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F\",\n    \"preOpCount\": 1,\n    \"postOpCount\": 6,\n    \"overridePreviousRoot\": false\n  }\n}"
  },
  {
    "path": "solana/mainnet/2025-10-29-deploy-bridge/.gitignore",
    "content": "bridge/\n*keypair.json\n"
  },
  {
    "path": "solana/mainnet/2025-10-29-deploy-bridge/Makefile",
    "content": "include ../.env\ninclude .env\n\ninclude ../../Makefile\n\n.PHONY: install-rust\ninstall-rust:\n\tcurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y\n\trustup toolchain install $(RUST_TOOLCHAIN) && \\\n    rustup default $(RUST_TOOLCHAIN)\n\n.PHONY: install-solana-cli\ninstall-solana-cli:\n\tcurl -sSfL https://release.anza.xyz/v$(SOLANA_VERSION)/install | sh\n\n.PHONY: install-anchor\ninstall-anchor:\n\tcargo install --git https://github.com/coral-xyz/anchor --tag v$(ANCHOR_VERSION) anchor-cli --force\n\n.PHONY: install-bun\ninstall-bun:\n\tcurl -fsSL https://bun.sh/install | bash\n\n.PHONY: setup-deps\nsetup-deps: install-rust install-solana-cli install-anchor install-bun\n\n##\n# Deployment Workflow\n##\n\n# Step 1: Clone and build bridge programs\n.PHONY: step1-clone-bridge\nstep1-clone-bridge:\n\t@echo \"==> Step 1: Cloning and building bridge programs...\"\n\trm -rf bridge\n\tgit clone --filter=blob:none $(BRIDGE_REPO) bridge\n\tcd bridge && \\\n\t\tgit checkout $(BRIDGE_COMMIT)\n\tcd bridge/clients/ts && \\\n\t\tbun install && \\\n\t\tbun run build\n\tcd bridge/scripts && \\\n\t\tbun install\n\t\n# Step 2: Build programs\n.PHONY: step2-build-programs\nstep2-build-programs:\n\t@echo \"==> Step 2: Building bridge programs...\"\n\tmkdir -p bridge/solana/target/deploy && \\\n\t\tcp $(BRIDGE_KEYPAIR) bridge/solana/target/deploy/bridge-keypair.json && \\\n\t\tcp $(BASE_RELAYER_KEYPAIR) bridge/solana/target/deploy/base_relayer-keypair.json && \\\n\tcd bridge/solana && \\\n\t\tanchor keys sync\n\tcd bridge/scripts && \\\n\t\tbun cli sol build \\\n\t\t--deploy-env $(DEPLOY_ENV) \\\n\t\t--bridge-program-kp ../../$(BRIDGE_KEYPAIR) \\\n\t\t--base-relayer-program-kp ../../$(BASE_RELAYER_KEYPAIR)\n\n# Step 3: Deploy programs\n.PHONY: step3-deploy-programs\nstep3-deploy-programs:\n\t@echo \"==> Step 3: Deploying programs...\"\n\tmake sol-confirm-cmd \\\n\t\tcmd=\"cd bridge/scripts && \\\n\t\t\tbun cli sol deploy \\\n\t\t\t--deploy-env $(DEPLOY_ENV) \\\n\t\t\t--program bridge \\\n\t\t\t--program-kp ../../$(BRIDGE_KEYPAIR) \\\n\t\t\t--deployer-kp $(DEPLOYER_KP)\" \\\n\t\toutput=artifacts/bridge-deploy-artifacts.json\n\tmake sol-confirm-cmd \\\n\t\tcmd=\"cd bridge/scripts && \\\n\t\t\tbun cli sol deploy \\\n\t\t\t--deploy-env $(DEPLOY_ENV) \\\n\t\t\t--program base-relayer \\\n\t\t\t--program-kp ../../$(BASE_RELAYER_KEYPAIR) \\\n\t\t\t--deployer-kp $(DEPLOYER_KP)\" \\\n\t\toutput=artifacts/base-relayer-deploy-artifacts.json\n\n# Step 4: Initialize programs\n.PHONY: step4-init-programs\nstep4-init-programs:\n\t@echo \"==> Step 4: Initializing programs...\"\n\tmake sol-confirm-cmd \\\n\t\tcmd=\"cd bridge/scripts && \\\n\t\t\tbun cli sol bridge initialize \\\n\t\t\t--program-id $(BRIDGE_PROGRAM_ID) \\\n\t\t\t--rpc-url $(SOL_RPC_URL) \\\n\t\t\t--payer-kp $(DEPLOYER_KP) \\\n\t\t\t--guardian $(GUARDIAN) \\\n\t\t\t--remote-sol-address $(SOL_REMOTE_TOKEN) \\\n\t\t\t--eip1559-target $(BRIDGE_EIP1559_TARGET) \\\n\t\t\t--eip1559-denominator $(BRIDGE_EIP1559_DENOMINATOR) \\\n\t\t\t--eip1559-window-duration-seconds $(BRIDGE_EIP1559_WINDOW_DURATION_SECONDS) \\\n\t\t\t--eip1559-minimum-base-fee $(BRIDGE_EIP1559_MINIMUM_BASE_FEE) \\\n\t\t\t--gas-per-call $(BRIDGE_GAS_PER_CALL) \\\n\t\t\t--gas-cost-scaler $(BRIDGE_GAS_COST_SCALER) \\\n\t\t\t--gas-cost-scaler-dp $(BRIDGE_GAS_COST_SCALER_DP) \\\n\t\t\t--gas-fee-receiver $(BRIDGE_GAS_FEE_RECEIVER) \\\n\t\t\t--protocol-block-interval-requirement $(BRIDGE_PROTOCOL_BLOCK_INTERVAL_REQUIREMENT) \\\n\t\t\t--buffer-max-call-buffer-size $(BRIDGE_BUFFER_MAX_CALL_BUFFER_SIZE) \\\n\t\t\t--base-oracle-threshold $(BRIDGE_BASE_ORACLE_THRESHOLD) \\\n\t\t\t--base-oracle-signer-count $(BRIDGE_BASE_ORACLE_SIGNER_COUNT) \\\n\t\t\t--base-oracle-signers $(BRIDGE_BASE_ORACLE_SIGNERS) \\\n\t\t\t--partner-oracle-required-threshold $(BRIDGE_PARTNER_ORACLE_REQUIRED_THRESHOLD)\" \\\n\t\toutput=artifacts/init-bridge.json\n\tmake sol-confirm-cmd \\\n\t\tcmd=\"cd bridge/scripts && \\\n\t\t\tbun cli sol base-relayer initialize \\\n\t\t\t--program-id $(BASE_RELAYER_PROGRAM_ID) \\\n\t\t\t--rpc-url $(SOL_RPC_URL) \\\n\t\t\t--payer-kp $(DEPLOYER_KP) \\\n\t\t\t--guardian $(GUARDIAN) \\\n\t\t\t--eip1559-target $(BASE_RELAYER_EIP1559_TARGET) \\\n\t\t\t--eip1559-denominator $(BASE_RELAYER_EIP1559_DENOMINATOR) \\\n\t\t\t--eip1559-window-duration-seconds $(BASE_RELAYER_EIP1559_WINDOW_DURATION_SECONDS) \\\n\t\t\t--eip1559-minimum-base-fee $(BASE_RELAYER_EIP1559_MINIMUM_BASE_FEE) \\\n\t\t\t--min-gas-limit-per-message $(BASE_RELAYER_MIN_GAS_LIMIT_PER_MESSAGE) \\\n\t\t\t--max-gas-limit-per-message $(BASE_RELAYER_MAX_GAS_LIMIT_PER_MESSAGE) \\\n\t\t\t--gas-cost-scaler $(BASE_RELAYER_GAS_COST_SCALER) \\\n\t\t\t--gas-cost-scaler-dp $(BASE_RELAYER_GAS_COST_SCALER_DP) \\\n\t\t\t--gas-fee-receiver $(BASE_RELAYER_GAS_FEE_RECEIVER)\" \\\n\t\toutput=artifacts/init-base-relayer.json\n\n# Step 5: Print SOL vault\n.PHONY: step5-print-sol-vault\nstep5-print-sol-vault:\n\t@echo \"==> Step 5: Printing SOL vault...\"\n\tcd bridge/scripts && \\\n\t\tbun cli sol bridge sol-vault \\\n\t\t--bridge-program $(BRIDGE_PROGRAM_ID)\n\n# Step 6: Fund SOL vault\n.PHONY: step6-fund-sol-vault\nstep6-fund-sol-vault:\n\t@echo \"==> Step 6: Funding SOL vault...\"\n\tmake sol-transfer SOL_RECIPIENT=$(SOL_VAULT) output=artifacts/fund-sol-vault.json\n\n# Step 7: Fund the gas fee receiver\n.PHONY: step7-fund-gas-fee-receiver\nstep7-fund-gas-fee-receiver:\n\t@echo \"==> Step 7: Funding gas fee receiver...\"\n\tmake sol-transfer SOL_RECIPIENT=$(GAS_FEE_RECEIVER) output=artifacts/fund-gas-fee-receiver.json\n\n# Step 8: Transfer upgrade authorities of the bridge and base relayer programs\n.PHONY: step8-transfer-upgrade-authorities\nstep8-transfer-upgrade-authorities:\n\t@echo \"==> Step 8: Transferring upgrade authorities of the bridge and base relayer programs...\"\n\tmake sol-program-set-upgrade-authority \\\n\t\tSOL_PROGRAM_ID=$(BRIDGE_PROGRAM_ID) \\\n\t\tNEW_UPGRADE_AUTHORITY=$(UPGRADE_AUTHORITY)\n\tmake sol-program-show SOL_PROGRAM_ID=$(BRIDGE_PROGRAM_ID)\n\tmake sol-program-set-upgrade-authority \\\n\t\tSOL_PROGRAM_ID=$(BASE_RELAYER_PROGRAM_ID) \\\n\t\tNEW_UPGRADE_AUTHORITY=$(UPGRADE_AUTHORITY)\n\tmake sol-program-show SOL_PROGRAM_ID=$(BASE_RELAYER_PROGRAM_ID)\n\n# Step 9: Generate set-upgrade-authority artifacts (use solana explorer to get the signature of the set-upgrade-authority tx)\n.PHONY: step9-generate-set-upgrade-authorities-artifacts\nstep9-generate-set-upgrade-authorities-artifacts:\n\t@echo \"==> Step 8: Generating set-upgrade-authorities artifacts...\"\n\tmake sol-confirm SIG=$(SET_BRIDGE_UPGRADE_AUTHORITY_SIGNATURE) output=artifacts/set-bridge-upgrade-authority-artifacts.json\n\tmake sol-confirm SIG=$(SET_BASE_RELAYER_UPGRADE_AUTHORITY_SIGNATURE) output=artifacts/set-base-relayer-upgrade-authority-artifacts.json\n"
  },
  {
    "path": "solana/mainnet/2025-10-29-deploy-bridge/README.md",
    "content": "# Bridge Mainnet Deployment\n\nStatus: EXECUTED\n\n## Overview\n\nThis deployment initializes the Bridge and Base Relayer programs on Solana mainnet.\n\n## What Will Be Deployed\n\nThis deployment will:\n\n1. **Deploy the Bridge program**\n2. **Deploy the Base Relayer program**\n3. **Initialize both programs** with production configuration including:\n   - Guardian addresses\n   - EIP-1559 fee parameters\n   - Gas fee receivers\n4. **Fund the required accounts**:\n   - The SOL vault (to guarantee it staying rent-exempt)\n   - Gas fee receiver accounts\n5. **Transfer the upgrade authorities** of the bridge and base relayer programs to the MCM 0 Authority \n"
  },
  {
    "path": "solana/mainnet/2025-10-29-deploy-bridge/artifacts/base-relayer-deploy-artifacts.json",
    "content": "{\n  \"confirmationStatus\": \"confirmed\",\n  \"transaction\": {\n    \"signatures\": [\n      \"rTNKjczt6cPLf3Ah2ZdLhqtywRTktwQozsAYENEfdsJYzj69LqURUjLEmrNsTNyarZNUSwwGj6ayo6VXVDbswzW\",\n      \"5j2vGLcjhT9WNbNVC6h99GoiEeqd86qqjpqzuaFvSWcpm6KtniDzDdzzMzZXAxKHM6p3gH9aaWE8mTAn6RUoVwkB\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 2,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 4\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"g1et5VenhfJHJwsdJsDbxWZuotD5H4iELNG61kS4fb9\",\n        \"7hzCQRKSQszgRHY6erLBDcLJQJWutMGNprn5VzKwAzYQ\",\n        \"7uxVqvkXiYLLqypvoi3URYW8RYihe1TBhh8bCW7MiKgb\",\n        \"11111111111111111111111111111111\",\n        \"BPFLoaderUpgradeab1e11111111111111111111111\",\n        \"SysvarC1ock11111111111111111111111111111111\",\n        \"SysvarRent111111111111111111111111111111111\"\n      ],\n      \"recentBlockhash\": \"9R7dpUriXHKpdgMLG1amHuoG2Djba3FNn2V2eJD4ateR\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 4,\n          \"accounts\": [\n            0,\n            1\n          ],\n          \"data\": \"111184NuZo7gmbjwda8fGAim94roEJcdbYKd7Gdtpi6CbBByeanCr8u4EAFXLjnY2U8bjD\",\n          \"stackHeight\": null\n        },\n        {\n          \"programIdIndex\": 5,\n          \"accounts\": [\n            0,\n            2,\n            1,\n            3,\n            7,\n            6,\n            4,\n            0\n          ],\n          \"data\": \"3Bxs42J4x6iEtSZM\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 10000,\n    \"preBalances\": [\n      9022092102,\n      0,\n      0,\n      2098391282,\n      1,\n      1,\n      1169280,\n      1009200\n    ],\n    \"postBalances\": [\n      9020940664,\n      1141440,\n      2098391280,\n      0,\n      1,\n      1,\n      1169280,\n      1009200\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 1,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 4,\n            \"accounts\": [\n              0,\n              2,\n              3\n            ],\n            \"data\": \"11119qYqhtqT5NHTm27UYqYVeF4Lm2dwfwCnPkVvZ6nWdk5kZP2tzGt1VBLLyRd9W8hoWf\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program 11111111111111111111111111111111 invoke [1]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Deployed program g1et5VenhfJHJwsdJsDbxWZuotD5H4iELNG61kS4fb9\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 2670\n  },\n  \"blockTime\": 1764173488,\n  \"slot\": 382676080\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-29-deploy-bridge/artifacts/bridge-deploy-artifacts.json",
    "content": "{\n  \"confirmationStatus\": \"confirmed\",\n  \"transaction\": {\n    \"signatures\": [\n      \"3sPJgLH8BVMMd6xUEwfCdebYxu4kbhbGrUomL8UmdSPwYFLqP6fFySskhWjxxfF8LpAfpc7XvKU4sVScH5MCvWea\",\n      \"2BUG2CGYadtqcmHNuZ83rtZr7xAqzEETNSs5X3jmZaFmyW9wrVnavFc9VBDjBAaNdXDxaLFjY9qKbvLHvqktgTjr\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 2,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 4\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"HNCne2FkVaNghhjKXapxJzPaBvAKDG1Ge3gqhZyfVWLM\",\n        \"8GGA2DJ2R1XoaTdtpbZmSzQFn47588PhjgPKYnVirvSf\",\n        \"HFygZ3CeFb7E7j3WgVKWBn57mRWqAR6Rf5d2ekGz1bNH\",\n        \"11111111111111111111111111111111\",\n        \"BPFLoaderUpgradeab1e11111111111111111111111\",\n        \"SysvarC1ock11111111111111111111111111111111\",\n        \"SysvarRent111111111111111111111111111111111\"\n      ],\n      \"recentBlockhash\": \"4k572nQrCYPueTWYXYNar7HVXrvsdwbGviwmDiNkzXLx\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 4,\n          \"accounts\": [\n            0,\n            1\n          ],\n          \"data\": \"111184NuZo7gmbjwda8fGAim94roEJcdbYKd7Gdtpi6CbBByeanCr8u4EAFXLjnY2U8bjD\",\n          \"stackHeight\": null\n        },\n        {\n          \"programIdIndex\": 5,\n          \"accounts\": [\n            0,\n            3,\n            1,\n            2,\n            7,\n            6,\n            4,\n            0\n          ],\n          \"data\": \"3Bxs4WN6jLMpcx3h\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 10000,\n    \"preBalances\": [\n      11123134820,\n      0,\n      6120992882,\n      0,\n      1,\n      1,\n      1169280,\n      1009200\n    ],\n    \"postBalances\": [\n      11121983382,\n      1141440,\n      0,\n      6120992880,\n      1,\n      1,\n      1169280,\n      1009200\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 1,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 4,\n            \"accounts\": [\n              0,\n              3,\n              2\n            ],\n            \"data\": \"111159HsydaU3uzqG2hq9Sx6KfvrezAjfEmE3BdaWEuGA82n6u1foDH3rgMpomPUey4oS7\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program 11111111111111111111111111111111 invoke [1]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Deployed program HNCne2FkVaNghhjKXapxJzPaBvAKDG1Ge3gqhZyfVWLM\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 2670\n  },\n  \"blockTime\": 1764173461,\n  \"slot\": 382676009\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-29-deploy-bridge/artifacts/fund-gas-fee-receiver.json",
    "content": "{\n  \"confirmationStatus\": \"confirmed\",\n  \"transaction\": {\n    \"signatures\": [\n      \"661dWYceDWo8o7YPKLhUKvA7Z1zoL7pepYHpk1QobAU1fCkUkkdEHypPkZXbTXhTJ4Tez5i9PzzKbCZikt9nZKZv\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"4m2jaKbJ4pDZw177BmLPMLsztPF5eVFo2fvxPgajdBNz\",\n        \"11111111111111111111111111111111\"\n      ],\n      \"recentBlockhash\": \"9kipePZycLWmSXpEZFSc2w8kLXTRv1LgopT77ZSu35A5\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            0,\n            1\n          ],\n          \"data\": \"3Bxs411Dtc7pkFQj\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      8914299744,\n      0,\n      1\n    ],\n    \"postBalances\": [\n      8814294744,\n      100000000,\n      1\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program 11111111111111111111111111111111 invoke [1]\",\n      \"Program 11111111111111111111111111111111 success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 150\n  },\n  \"blockTime\": 1764173790,\n  \"slot\": 382676865\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-29-deploy-bridge/artifacts/fund-sol-vault.json",
    "content": "{\n  \"confirmationStatus\": \"confirmed\",\n  \"transaction\": {\n    \"signatures\": [\n      \"5eWW3B6ccZ8zqhMZ4j3ECwEwWsArRmee5ctLj67HKcfKQTSzg5bs6jBJmzi15zaMyrvM71ZTadMf9zCQQtgCFM8X\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"6a8ASXNsMqYb2RXvAYwJU9jU4ACPSrFAeNMQkXuudXnh\",\n        \"11111111111111111111111111111111\"\n      ],\n      \"recentBlockhash\": \"CmoZAirSwANNrbLeiFK3MzqGGDXHKSoWNnvBqmhqENpp\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            0,\n            1\n          ],\n          \"data\": \"3Bxs411Dtc7pkFQj\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      9014304744,\n      0,\n      1\n    ],\n    \"postBalances\": [\n      8914299744,\n      100000000,\n      1\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program 11111111111111111111111111111111 invoke [1]\",\n      \"Program 11111111111111111111111111111111 success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 150\n  },\n  \"blockTime\": 1764173610,\n  \"slot\": 382676394\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-29-deploy-bridge/artifacts/init-base-relayer.json",
    "content": "{\n  \"confirmationStatus\": \"confirmed\",\n  \"transaction\": {\n    \"signatures\": [\n      \"3mRjUQ4BhDVmMcvP1EEXNSa3kJKe8ttEhWvtm2yuxuY1KBWcTQRnTQFZfwau7TP22rx1eN9AZbG5tCQdYfcPqmzk\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 3\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"B1viAe1PP7ihqQbDEmjKPZsrZDFNDCjvTPAwKbZQVqqi\",\n        \"11111111111111111111111111111111\",\n        \"7hzCQRKSQszgRHY6erLBDcLJQJWutMGNprn5VzKwAzYQ\",\n        \"g1et5VenhfJHJwsdJsDbxWZuotD5H4iELNG61kS4fb9\"\n      ],\n      \"recentBlockhash\": \"G5CoyueNyfuz5auonkVvyrBrtX4xpqv7rSz36VUirX2J\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 4,\n          \"accounts\": [\n            0,\n            0,\n            1,\n            3,\n            4,\n            2\n          ],\n          \"data\": \"EGobdm29j93SGg32jhwCTa3DjCZUkqM49femCXY5o9XMY3d4M4sKSxCsPqeEnpANpZkFKNw5WuV2XLG4SLafyQH38rdHU7DsPFQuQeeWqiWPZZCZka33afCFF927xn6BKq4tYZ9bDKEdfU8B2fr4JxC6toDQFzenQGqxX5yVQwSZz3GXE8yBmeKexz\",\n          \"stackHeight\": null\n        }\n      ],\n      \"addressTableLookups\": []\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      9016369904,\n      0,\n      1,\n      2098391280,\n      1141440\n    ],\n    \"postBalances\": [\n      9014304744,\n      2060160,\n      1,\n      2098391280,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 2,\n            \"accounts\": [\n              0,\n              1\n            ],\n            \"data\": \"11115iFkVMXPaap7j41Z1pua1W6indKhmoyLC4E2dajkFSwB7pmsYj4q6dsMRbtw6Jp8zF\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program g1et5VenhfJHJwsdJsDbxWZuotD5H4iELNG61kS4fb9 invoke [1]\",\n      \"Program log: Instruction: Initialize\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program g1et5VenhfJHJwsdJsDbxWZuotD5H4iELNG61kS4fb9 consumed 12870 of 200000 compute units\",\n      \"Program g1et5VenhfJHJwsdJsDbxWZuotD5H4iELNG61kS4fb9 success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 12870\n  },\n  \"blockTime\": 1764173585,\n  \"slot\": 382676332\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-29-deploy-bridge/artifacts/init-bridge.json",
    "content": "{\n  \"confirmationStatus\": \"confirmed\",\n  \"transaction\": {\n    \"signatures\": [\n      \"Li7FTxL6pGTtqVQApSqh1DHYTWSuwi1TM4Jk5PWjr55938L3BSgjHVAcEPfu5HBRxAK8QcrPNmddHn7xD6YqSGF\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 3\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"DMtzswCcRcsMmJasgHTNZcBHZvdBkrBe248CBdEXxpJm\",\n        \"11111111111111111111111111111111\",\n        \"HFygZ3CeFb7E7j3WgVKWBn57mRWqAR6Rf5d2ekGz1bNH\",\n        \"HNCne2FkVaNghhjKXapxJzPaBvAKDG1Ge3gqhZyfVWLM\"\n      ],\n      \"recentBlockhash\": \"87HPjKMKTAm5JkTxHEDkAFCF4Y6q9ZvDtNXcZjT2Kx3o\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 4,\n          \"accounts\": [\n            0,\n            0,\n            1,\n            3,\n            4,\n            2\n          ],\n          \"data\": \"w6cHVNZ7a5rvgsRopSA6cdkup8eVyryyXbEKzetiEUPeRdwtHkkeM3My7yMQVAfE78hRwWxsPvFozVviS6foJBgW5jVULWVYNM24KhXmd3tNkHDsfmJPHwWHPXpkE8pd8shgqKE4X192WaADVmc2J7ctSUtPSUmrHkAxAnjuGXmvevmnL3DJUw3F2yAUhpAamLqLfCn4QKMAZZxZSK1cEvDp41F4BM3MMqFvm8KsR5jcEmwAiUgaHJr5xHaPzqMdSxkVeY3qU8vmEtEmShkC2fm2UjKHw4oCfXbhnEVvsbsJcEtb348ZPJFiA49cgAnAMMk7PTyzQ8DSpGxVfcD9pVcvgBUmsG126sHjHHTBhyCV9eemaWpJpzPZvAC2GpB7zJ5SNxFoPzzyLTSx1fFjc1BQjFt5VYPBmNHMqFoCPFh9ermVSLmBW3U4XUeP1FxCmDueSJ3YYZSMnsj1ERHB89Kr25rtcKkhdsUPbyBH66phVmV7G9sCsrPuSc7XsHCqQkTJ1X7cGaKMnDGkvHqnh37m2iQu8YPjRET2roUteJHJ6DMriPHkgTsV1H62ktLGA4Reo1Ns963M2Xn5maFr11ZfRMxFrdodtehyyPpLwjr8KCAvBckabjwBNKPK6fnLVSt1u34FceJEHFyMqqFetEnpo\",\n          \"stackHeight\": null\n        }\n      ],\n      \"addressTableLookups\": []\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      9020940664,\n      0,\n      1,\n      6120992880,\n      1141440\n    ],\n    \"postBalances\": [\n      9016369904,\n      4565760,\n      1,\n      6120992880,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 2,\n            \"accounts\": [\n              0,\n              1\n            ],\n            \"data\": \"111112RZKQ4yMXN8zMsggLRz2U4CbmH7oeB8ayTgFBjMHi4Y58sYVhY7LZonZTVKFMqMLR\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program HNCne2FkVaNghhjKXapxJzPaBvAKDG1Ge3gqhZyfVWLM invoke [1]\",\n      \"Program log: Instruction: Initialize\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program HNCne2FkVaNghhjKXapxJzPaBvAKDG1Ge3gqhZyfVWLM consumed 23663 of 200000 compute units\",\n      \"Program HNCne2FkVaNghhjKXapxJzPaBvAKDG1Ge3gqhZyfVWLM success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 23663\n  },\n  \"blockTime\": 1764173582,\n  \"slot\": 382676324\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-29-deploy-bridge/artifacts/set-base-relayer-upgrade-authority-artifacts.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"4cN3hfVnd3BWzVTmGj5fy4GehdjZ34ppk4NVCfLfCiZxx2TYdP6aVfpbjGDPSifB3iWJAAh8su5PjijyBa1VtGTJ\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"7hzCQRKSQszgRHY6erLBDcLJQJWutMGNprn5VzKwAzYQ\",\n        \"BPFLoaderUpgradeab1e11111111111111111111111\",\n        \"DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2\"\n      ],\n      \"recentBlockhash\": \"E5fdeCevvc64PdLqmMc3Lasjv737GKMWtwSk16b2VTnH\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0,\n            3\n          ],\n          \"data\": \"6vx8P\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      8814289744,\n      2098391280,\n      1,\n      499234400\n    ],\n    \"postBalances\": [\n      8814284744,\n      2098391280,\n      1,\n      499234400\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]\",\n      \"New authority Some(DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2)\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 2370\n  },\n  \"blockTime\": 1764173808,\n  \"slot\": 382676911\n}\n"
  },
  {
    "path": "solana/mainnet/2025-10-29-deploy-bridge/artifacts/set-bridge-upgrade-authority-artifacts.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"4syMUFKDz61NFAomJq3H8GVog82jgyGcfM4BKZKedFhPAeJS3W5Nt4vVrEe3adp6AuPVLH1ykWyXatVs6gozEbMZ\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"HFygZ3CeFb7E7j3WgVKWBn57mRWqAR6Rf5d2ekGz1bNH\",\n        \"BPFLoaderUpgradeab1e11111111111111111111111\",\n        \"DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2\"\n      ],\n      \"recentBlockhash\": \"99b9CCbq78LJwk8YB2cjANGAoMs8QvRWrgZDZw2uQfN3\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0,\n            3\n          ],\n          \"data\": \"6vx8P\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      8814294744,\n      6120992880,\n      1,\n      499234400\n    ],\n    \"postBalances\": [\n      8814289744,\n      6120992880,\n      1,\n      499234400\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]\",\n      \"New authority Some(DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2)\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 2370\n  },\n  \"blockTime\": 1764173806,\n  \"slot\": 382676904\n}\n"
  },
  {
    "path": "solana/mainnet/2025-12-01-set-pause-bridge/FACILITATORS.md",
    "content": "# Facilitator Instructions: MCM Bridge Pause/Unpause\n\n## Overview\n\nAs a Facilitator, you are responsible for:\n\n1. Preparing the bridge pause/unpause configuration\n2. Creating the MCM proposals (both pause and unpause)\n3. Committing and pushing the proposals to the repo\n4. Coordinating with Signers\n5. Collecting signatures for a range of nonces\n6. Executing the specific proposal (pause or unpause) on-chain when needed\n\n## Prerequisites\n\n```bash\ncd contract-deployments\ngit pull\ncd solana/mainnet/2025-12-01-set-pause-bridge\nmake deps\n```\n\nEnsure you have:\n\n- `mcmctl` installed (via `make deps`)\n- `eip712sign` installed (via `make deps`)\n- A funded Solana wallet configured\n\n## Phase 1: Prepare and Generate Proposals\n\n### 1.1. Update .env\n\nSet the following in `.env`:\n\n```bash\nMCM_PROGRAM_ID=<mcm-program-id>\nMCM_MULTISIG_ID=<multisig-id>\nMCM_VALID_UNTIL=<unix-timestamp>\nMCM_OVERRIDE_PREVIOUS_ROOT=false  # or true if needed\n\n# Bridge configuration\nBRIDGE_PROGRAM_ID=<bridge-program-id>\n```\n\n### 1.2. Generate proposals\n\nGenerate both pause and unpause proposals to have them ready for any situation.\n\n```bash\n# Generate Pause Proposal (proposal-pause.json)\nmake step1-create-proposal-pause\n\n# Generate Unpause Proposal (proposal-unpause.json)\nmake step1-create-proposal-unpause\n```\n\n### 1.3. Review proposals\n\nOpen and review the generated proposal files (`proposal-pause.json` and `proposal-unpause.json`) to verify:\n\n- Bridge program ID is correct\n- Pause status is correct in the instruction data (ends in `01` for pause, `00` for unpause)\n- Valid until timestamp is appropriate\n\n### 1.4. Commit and push\n\n```bash\ngit add .\ngit commit -m \"Add MCM bridge pause/unpause proposals\"\ngit push\n```\n\n## Phase 2: Coordinate with Signers and Collect Signatures\n\nCoordinate with Signers to collect their signatures. Signers will generate signatures for a range of 20 nonces to ensure a valid signature is available even if other operations occur on the multisig.\n\nAsk signers to run:\n\n- `make sign-pause` (to generate `signatures-pause.txt`)\n- `make sign-unpause` (to generate `signatures-unpause.txt`)\n\nCollect these text files from the signers.\n\n## Phase 3: Execute Proposal\n\nWhen an emergency action (Pause) or recovery (Unpause) is required:\n\n### 3.1. Determine Current Nonce\n\nCheck the current `preOpCount` (nonce) of the multisig. You can check this on the Solana Explorer by looking at the Multisig account data, or by inspecting the error if a dry-run fails.\n\n### 3.2. aggregate Signatures\n\nConcatenate signatures in the format: `0xSIG1,0xSIG2,0xSIG3`\n\n### 3.3. Update .env\n\nUpdate `.env` with the collected signatures:\n\n```bash\nMCM_SIGNATURES_COUNT=<number-of-signatures>\nMCM_SIGNATURES=0xSIG1,0xSIG2,0xSIG3\n```\n\n### 3.4. Add keypair\n\nAdd funded keypair to `./keypairs/tester.json` or update the `AUTHORITY` env variable in `.env` to a path for a funded keypair.\n\n### 3.5. Execute\n\nRun the execution command for the desired action, providing the current nonce. This will update the proposal file to match the chain state and execute it.\n\n**To Pause:**\n\n```bash\nNONCE=<current-nonce> make step3-execute-proposal-pause\n```\n\n**To Unpause:**\n\n```bash\nNONCE=<current-nonce> make step3-execute-proposal-unpause\n```\n\nThis command will:\n\n- Update the proposal's `preOpCount` and `postOpCount` to match the provided `NONCE`.\n- Initialize signatures account.\n- Append signatures.\n- Finalize signatures.\n- Set root.\n- Execute proposal.\n\n## Phase 4: Verification\n\n### 4.1. View transaction on Solana Explorer\n\nVisit the Solana Explorer for your network:\n\n- Mainnet: https://explorer.solana.com/\n- Devnet: https://explorer.solana.com/?cluster=devnet\n\nSearch for the execution transaction and verify:\n\n- The transaction was successful\n- The program logs show `Instruction: SetPauseStatus` (Anchor log)\n- The pause status matches the intended action (paused or unpaused)\n\n### 4.2. Update README\n\nUpdate the Status line in README.md to:\n\n```markdown\nStatus: [EXECUTED](https://explorer.solana.com/tx/<transaction-signature>?cluster=<network>)\n```\n"
  },
  {
    "path": "solana/mainnet/2025-12-01-set-pause-bridge/Makefile",
    "content": "include ../.env\ninclude .env\n\ninclude ../../Makefile\n\n##\n# MCM Bridge Pause/Unpause Workflow\n##\n\nPAUSE_OUTPUT = proposal-pause.json\nUNPAUSE_OUTPUT = proposal-unpause.json\n\n# Step 1: Create pause/unpause proposal\n.PHONY: step1-create-proposal-pause\nstep1-create-proposal-pause:\n\t@echo \"==> Step 1: Creating MCM pause/unpause proposal...\"\n\tMCM_PROPOSAL_OUTPUT=$(PAUSE_OUTPUT) PAUSED=true make mcm-proposal-bridge-pause\n\n.PHONY: step1-create-proposal-unpause\nstep1-create-proposal-unpause:\n\t@echo \"==> Step 1: Creating MCM pause/unpause proposal...\"\n\tMCM_PROPOSAL_OUTPUT=$(UNPAUSE_OUTPUT) PAUSED=false make mcm-proposal-bridge-pause\n\n# Step 2: Sign proposals\n.PHONY: sign-pause\nsign-pause:\n\t@echo \"==> Step 2: Signing proposal...\"\n\t@rm -f signatures-pause.txt\n\t@for i in $$(seq 1 20); do \\\n\t\techo \"Iteration $$i: Incrementing preOpCount and postOpCount...\"; \\\n\t\tjq '.rootMetadata.preOpCount += 1 | .rootMetadata.postOpCount += 1' $(PAUSE_OUTPUT) > $(PAUSE_OUTPUT).tmp && mv $(PAUSE_OUTPUT).tmp $(PAUSE_OUTPUT); \\\n\t\tnonce=$$(jq -r '.rootMetadata.preOpCount' $(PAUSE_OUTPUT)); \\\n\t\techo \"Signing nonce $$nonce...\"; \\\n\t\tMCM_PROPOSAL_OUTPUT=$(PAUSE_OUTPUT) make mcm-sign | tee sign_output.tmp; \\\n\t\techo \"Nonce: $$nonce\" >> signatures-pause.txt; \\\n\t\tgrep -E \"^Data:|^Signer:|^Signature:\" sign_output.tmp >> signatures-pause.txt || true; \\\n\t\techo \"\" >> signatures-pause.txt; \\\n\t\trm sign_output.tmp; \\\n\tdone\n\n.PHONY: sign-unpause\nsign-unpause:\n\t@echo \"==> Step 2: Signing proposal...\"\n\t@rm -f signatures-unpause.txt\n\t@for i in $$(seq 1 20); do \\\n\t\techo \"Iteration $$i: Incrementing preOpCount and postOpCount...\"; \\\n\t\tjq '.rootMetadata.preOpCount += 1 | .rootMetadata.postOpCount += 1' $(UNPAUSE_OUTPUT) > $(UNPAUSE_OUTPUT).tmp && mv $(UNPAUSE_OUTPUT).tmp $(UNPAUSE_OUTPUT); \\\n\t\tnonce=$$(jq -r '.rootMetadata.preOpCount' $(UNPAUSE_OUTPUT)); \\\n\t\techo \"Signing nonce $$nonce...\"; \\\n\t\tMCM_PROPOSAL_OUTPUT=$(UNPAUSE_OUTPUT) make mcm-sign | tee sign_output.tmp; \\\n\t\techo \"Nonce: $$nonce\" >> signatures-unpause.txt; \\\n\t\tgrep -E \"^Data:|^Signer:|^Signature:\" sign_output.tmp >> signatures-unpause.txt || true; \\\n\t\techo \"\" >> signatures-unpause.txt; \\\n\t\trm sign_output.tmp; \\\n\tdone\n\n# Step 3: Execute proposal (signatures + set-root + execute)\n.PHONY: step3-execute-proposal-pause\nstep3-execute-proposal-pause:\n\t@echo \"==> Step 3: Executing MCM proposal...\"\n\t@if [ -n \"$(NONCE)\" ]; then \\\n\t\techo \"Updating proposal with nonce $(NONCE)...\"; \\\n\t\tjq '.rootMetadata.preOpCount = $(NONCE) | .rootMetadata.postOpCount = ($(NONCE) + 1)' $(PAUSE_OUTPUT) > $(PAUSE_OUTPUT).tmp && mv $(PAUSE_OUTPUT).tmp $(PAUSE_OUTPUT); \\\n\tfi\n\tMCM_PROPOSAL_OUTPUT=$(PAUSE_OUTPUT) make mcm-all\n\n.PHONY: step3-execute-proposal-unpause\nstep3-execute-proposal-unpause:\n\t@echo \"==> Step 3: Executing MCM proposal...\"\n\t@if [ -n \"$(NONCE)\" ]; then \\\n\t\techo \"Updating proposal with nonce $(NONCE)...\"; \\\n\t\tjq '.rootMetadata.preOpCount = $(NONCE) | .rootMetadata.postOpCount = ($(NONCE) + 1)' $(UNPAUSE_OUTPUT) > $(UNPAUSE_OUTPUT).tmp && mv $(UNPAUSE_OUTPUT).tmp $(UNPAUSE_OUTPUT); \\\n\tfi\n\tMCM_PROPOSAL_OUTPUT=$(UNPAUSE_OUTPUT) make mcm-all\n"
  },
  {
    "path": "solana/mainnet/2025-12-01-set-pause-bridge/README.md",
    "content": "# MCM Bridge Pause/Unpause\n\nStatus: PENDING\n\n## Description\n\nThis task pauses or unpauses the Bridge program using the MCM program. This is a critical security operation that can be used to halt bridge operations in emergency situations or resume them after issues are resolved.\n\nThere are two separate workflows available:\n\n1. **Pause**: Halts all bridge operations.\n2. **Unpause**: Resumes bridge operations.\n\n## Procedure for Signers\n\n### 1. Update repo\n\n```bash\ncd contract-deployments\ngit pull\ncd solana/mainnet/2025-12-01-set-pause-bridge\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The **Ethereum application** needs to be opened on Ledger with the message \"Application is ready\".\n\n### 3. Verify the Proposal\n\nIdentify which action you are signing for (Pause or Unpause) and verify the corresponding proposal file.\n\n#### If Pausing (`proposal-pause.json`)\n\n**Verify proposal-level fields:**\n\n- `proposal-pause.json` root field `multisigId` must match `MCM_MULTISIG_ID` from `.env`\n- `proposal-pause.json` root field `validUntil` must match `MCM_VALID_UNTIL` from `.env`\n- The instruction `programId` must match `BRIDGE_PROGRAM_ID` from `.env`\n\n**Verify instruction data:**\n\n1. **Discriminant:**\n\n   ```bash\n   echo -n \"global:set_pause_status\" | shasum -a 256 | cut -c1-16\n   ```\n\n   Expected output: `761991d972d1ec91`\n\n2. **Full instruction data:**\n   ```bash\n   jq -r '.instructions[0].data' proposal-pause.json | base64 -d | xxd -p -c 256\n   ```\n   Expected output: `761991d972d1ec9101` (ends in `01` for `true`)\n\n#### If Unpausing (`proposal-unpause.json`)\n\n**Verify proposal-level fields:**\n\n- `proposal-unpause.json` root field `multisigId` must match `MCM_MULTISIG_ID` from `.env`\n- `proposal-unpause.json` root field `validUntil` must match `MCM_VALID_UNTIL` from `.env`\n- The instruction `programId` must match `BRIDGE_PROGRAM_ID` from `.env`\n\n**Verify instruction data:**\n\n1. **Discriminant:** (Same as above)\n\n2. **Full instruction data:**\n   ```bash\n   jq -r '.instructions[0].data' proposal-unpause.json | base64 -d | xxd -p -c 256\n   ```\n   Expected output: `761991d972d1ec9100` (ends in `00` for `false`)\n\n### 4. Sign the proposal\n\nRun the signing command for the appropriate action. **Note: This process requires signing multiple times (20 times) to generate signatures for future nonces.**\n\n**To Pause:**\n\n```bash\nmake sign-pause\n```\n\n**To Unpause:**\n\n```bash\nmake sign-unpause\n```\n\nThis command will:\n\n1. Iterate 20 times, incrementing the nonce (preOpCount/postOpCount).\n2. Prompt you to sign on your Ledger for each iteration.\n3. Save all signatures to a text file (`signatures-pause.txt` or `signatures-unpause.txt`).\n\n**Verify on your Ledger**: Check that the data you're signing matches the proposal hash displayed in the terminal for each iteration.\n\n### 5. Send signature to Facilitator\n\nSend the generated signature file (`signatures-pause.txt` or `signatures-unpause.txt`) to the Facilitator via your secure communication channel.\n\n**That's it!** The Facilitator will collect all signatures and execute the proposal.\n\n## For Facilitators\n\nSee [FACILITATORS.md](./FACILITATORS.md) for complete instructions on preparing, executing, and verifying this task.\n"
  },
  {
    "path": "solana/mainnet/2025-12-01-set-pause-bridge/artifacts/mcm-proposal-execute.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"4eyEqGj6YCgMtsJ6AUBTQRF8wX94Xhvs5VHVhzVBCCpeogn9LDCbG3wb12K6qpEpwnasrNiLtQxd64JxWPNCU4Re\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 4\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F\",\n        \"6o2vZjD4B7XDGhRWzPCbwYL2Y6RhwVseAjyqsRtGKT8B\",\n        \"DMtzswCcRcsMmJasgHTNZcBHZvdBkrBe248CBdEXxpJm\",\n        \"6yUZwFtM6EqsHkCgK2D4eAJkGqi3bAGSefma5SHSKRop\",\n        \"HNCne2FkVaNghhjKXapxJzPaBvAKDG1Ge3gqhZyfVWLM\",\n        \"7AoCt88ceFPCm43cj9K8w8xxWfhWRXEHZ2NGkDYNTCip\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\"\n      ],\n      \"recentBlockhash\": \"H2PkndR1vkDz4TLbd2B3xQynhnjyQwSLCASBEC38w3wm\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 7,\n          \"accounts\": [\n            1,\n            4,\n            2,\n            5,\n            6,\n            0,\n            3,\n            6\n          ],\n          \"data\": \"3XtzmXSf21G7ZgSaukdCPnKeKSpmU4LsofeemapAhJezh47KjzKQdAhUaARhnxVDmenMaSoED4tgdvmSRvoNHJg3pZxeEhXXAcDaVt6rHAiiRCKBtkAoSwX3Ys31duyd6zmWwNesWcy9Hprz\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      5018288927,\n      4134240,\n      1252800,\n      4565760,\n      1343280,\n      1141440,\n      498162560,\n      1141440\n    ],\n    \"postBalances\": [\n      5018283927,\n      4134240,\n      1252800,\n      4565760,\n      1343280,\n      1141440,\n      498162560,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 5,\n            \"accounts\": [\n              3,\n              6\n            ],\n            \"data\": \"2WBxVujLscd9h\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: Execute\",\n      \"Program HNCne2FkVaNghhjKXapxJzPaBvAKDG1Ge3gqhZyfVWLM invoke [2]\",\n      \"Program log: Instruction: SetPauseStatus\",\n      \"Program HNCne2FkVaNghhjKXapxJzPaBvAKDG1Ge3gqhZyfVWLM consumed 14974 of 177621 compute units\",\n      \"Program HNCne2FkVaNghhjKXapxJzPaBvAKDG1Ge3gqhZyfVWLM success\",\n      \"Program data: 3Q/UHSP8/04HAAAAAAAAAPMpg+hxvIfRWplPlfX1BU2YSYyAzwmzuvqRy5UHFDs2CQAAAHYZkdly0eyRAA==\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 42981 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 42981\n  },\n  \"blockTime\": 1764697125,\n  \"slot\": 384025036\n}\n"
  },
  {
    "path": "solana/mainnet/2025-12-01-set-pause-bridge/artifacts/mcm-proposal-set-root.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"5XXMaFTKHQbyWZpXHEdB5UpEHd2PUUqhPuDTUecPpLvBMnR3hugdh7UvQv2ehdnka1xDRDbwVhfPh4X5Jtb2v3JD\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 3\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"B2AXjqycQE931CcBmBbvcwwTbZcG3yp7x37YUwBhbYqL\",\n        \"6yUZwFtM6EqsHkCgK2D4eAJkGqi3bAGSefma5SHSKRop\",\n        \"FkAC5qHy5XNv7dp11tFmknyBywGEfg2k21wJfjxpM8F8\",\n        \"6o2vZjD4B7XDGhRWzPCbwYL2Y6RhwVseAjyqsRtGKT8B\",\n        \"HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F\",\n        \"11111111111111111111111111111111\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\"\n      ],\n      \"recentBlockhash\": \"DLizLcFFuMG7GuRdjehQTH45NYBiz6MPnK3i8efb9Vnz\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 7,\n          \"accounts\": [\n            1,\n            2,\n            3,\n            4,\n            5,\n            0,\n            6\n          ],\n          \"data\": \"Gdc3k3gD7jPD3revrVeipictGK3zP6uKYYtjeA2WmBG16eguDWRqgXJrt7XLXPvrcWubTMsLgmyM751E3zBDmF9npRsNP4GjCEMa2pYXZ2qYTtDmFwFApjcmCfgAmMSLi7a2cD5oW2G5iqnCupnAHJti6EZnnFmVjtoA1vGTRYTj1Ag5VvSPMqMWJRURFmUJXqUMQPmwpmpLBs8UyCiXpPuNeQCvh4XXCcLfzDc\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      5016901927,\n      2345520,\n      1343280,\n      0,\n      1252800,\n      4134240,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      5018288927,\n      0,\n      1343280,\n      953520,\n      1252800,\n      4134240,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 6,\n            \"accounts\": [\n              0,\n              3\n            ],\n            \"data\": \"11117UcthqATmHRa77Wg3s82tLzKywRJgz1rjE74d3DpY6sdpp9N8y8o18gibatAtTN2fi\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: SetRootEip712\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program data: 0hm7digqPXfJu2RJcTqr1kIOyIG1NPZHfHZIul0MFOj627xwXzXXtOYZ/XsBAAAAAAAAAPQBSIadtkZNgnPsGWNmBTNoNFhAOFoGUSCNFCp281+8BwAAAAAAAAAIAAAAAAAAAAE=\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 104106 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 104106\n  },\n  \"blockTime\": 1764697110,\n  \"slot\": 384024998\n}\n"
  },
  {
    "path": "solana/mainnet/2025-12-01-set-pause-bridge/artifacts/mcm-signatures-append.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"2jY5kL958vY7D1FpSB8mRuLaroqSWkdRaZsfrPPeVMaWh6uAcsXFQKWvZ1MtbxyCRcPFDBEA1DjvbNFgKpGn38fq\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"B2AXjqycQE931CcBmBbvcwwTbZcG3yp7x37YUwBhbYqL\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\"\n      ],\n      \"recentBlockhash\": \"39XxXwDcxaXbYe7vWBBF8VASSvNdbCRSk3CDnvSwQv7Q\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"8JM1NbBrt3Xh3kxoE3gUoUhdacSAaBKUdPn3SULoy5MqoavKwgx6PuL7BgcsCS3qmVTh9Pn9cdp4nce5xk6bfb4qTCYPyAYon8T5ewbbdewv64MjbgQgiWykYNzwVmx9kbk6XQHceqtMYuwRNHhoxvWqzHqwT6PebusH3tmr88PHjHfKTpAXPNQfdSicgxvYbNNQYm2GAA5tnvMcbppjRE1ZGF7WHrw4Zvb4mZqZsrcpQug79j4pmfqizrQjKtexsD5FcxxYMbHUiyGc2qTEaD9srkJa3zbZjzg7KvVhxzRzi13ucB5y1kzbkr6MbCgvkrDyQ9Lowj6aJi5o6MYEQ4k9tL2GPzekjiVws1wo42fVzAoKh7CVKiop\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      5016911927,\n      2345520,\n      1141440\n    ],\n    \"postBalances\": [\n      5016906927,\n      2345520,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: AppendSignatures\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 6885 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 6885\n  },\n  \"blockTime\": 1764697083,\n  \"slot\": 384024928\n}\n"
  },
  {
    "path": "solana/mainnet/2025-12-01-set-pause-bridge/artifacts/mcm-signatures-clear.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"3ZBVhm3WXwZ9NxZx7RoN8do7SCWeDQpqTF43cvQ8cCGggmE87Cgp8AsR7JbNKs89jd4ZuSKw22pfhtgBmkybUACr\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"B2AXjqycQE931CcBmBbvcwwTbZcG3yp7x37YUwBhbYqL\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\"\n      ],\n      \"recentBlockhash\": \"3tff8bdsugbReB1JAMpVwPDequzKxWbeeh5Ko7GhF2Gi\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"8jAR6gNqPo6ag5UQd3Uhrdz3ToYrgL25vdFQiAb5NEDNwu69M6hz7zNJZW8fY1i1RMw297WpMoGJxs8iybMXXHxn4wyjprHSMue6vRnr\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      5016921927,\n      2345520,\n      1141440\n    ],\n    \"postBalances\": [\n      5019262447,\n      0,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: ClearSignatures\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 5303 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 5303\n  },\n  \"blockTime\": 1764697014,\n  \"slot\": 384024745\n}\n"
  },
  {
    "path": "solana/mainnet/2025-12-01-set-pause-bridge/artifacts/mcm-signatures-finalize.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"2RPYrh2R3CqEwzkVe75Pn4GUvPoND4Lzxsmj3HTS79x5gkXwCZ2g2qiVePmYMFtj2VgbSUyzMdiswVKtWBcNAuhQ\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"B2AXjqycQE931CcBmBbvcwwTbZcG3yp7x37YUwBhbYqL\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\"\n      ],\n      \"recentBlockhash\": \"AZN5rdSVnp8cz2mAavQrbVWy5FsBYGzM5r2HmHMAo2zx\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"8VPNxavkg2Yj38NCocv5Cq5gNj6AXt2M4QRQjqgjJnXPoyHsmdy1UZGC2esCMUdwYCNABF1RFiNcXjLGxH1hJFDMMXsNaikRwP65nesC\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      5016906927,\n      2345520,\n      1141440\n    ],\n    \"postBalances\": [\n      5016901927,\n      2345520,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: FinalizeSignatures\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 6071 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 6071\n  },\n  \"blockTime\": 1764697097,\n  \"slot\": 384024963\n}\n"
  },
  {
    "path": "solana/mainnet/2025-12-01-set-pause-bridge/artifacts/mcm-signatures-init.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"4Bg832DtGGVN1gbFZNJ2dWWpfHbL2WqJ8NV39HVAe8VhVkcifHwXqeKCCk1Fu1HDTEHGi4yw3KpYVmQViLZ79zPn\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"B2AXjqycQE931CcBmBbvcwwTbZcG3yp7x37YUwBhbYqL\",\n        \"11111111111111111111111111111111\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\"\n      ],\n      \"recentBlockhash\": \"NJvb2AEyjtrmFR7wUQdPaLCzHGFrWYYWRxg9aFrcyLa\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 3,\n          \"accounts\": [\n            1,\n            0,\n            2\n          ],\n          \"data\": \"2QCcPn6AhHR9Zi4mhnFE53M8tJopZFLmSWFEPUWVFoNxRRu5UeGEiNaziCV1M4xVmPjXETJP8MG8ZiLBWaPHgGoLduJq6CB1sUFcfmXQpr\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      5019262447,\n      0,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      5016911927,\n      2345520,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 2,\n            \"accounts\": [\n              0,\n              1\n            ],\n            \"data\": \"11112nodbJCN8fXPKGyCu9NpWVwv2xDdwMYHeJzX2ebt61C1xzbo3WXdusmuwBCkbU62dn\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: InitSignatures\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 9485 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 9485\n  },\n  \"blockTime\": 1764697068,\n  \"slot\": 384024889\n}\n"
  },
  {
    "path": "solana/mainnet/2025-12-01-set-pause-bridge/proposal-pause.json",
    "content": "{\n  \"multisigId\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n  \"validUntil\": 2080184806,\n  \"instructions\": [\n    {\n      \"programId\": \"HNCne2FkVaNghhjKXapxJzPaBvAKDG1Ge3gqhZyfVWLM\",\n      \"data\": \"dhmR2XLR7JEB\",\n      \"accounts\": [\n        {\n          \"pubkey\": \"DMtzswCcRcsMmJasgHTNZcBHZvdBkrBe248CBdEXxpJm\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"7AoCt88ceFPCm43cj9K8w8xxWfhWRXEHZ2NGkDYNTCip\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        }\n      ]\n    }\n  ],\n  \"rootMetadata\": {\n    \"chainId\": 1,\n    \"multisig\": \"HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F\",\n    \"preOpCount\": 5,\n    \"postOpCount\": 6,\n    \"overridePreviousRoot\": true\n  }\n}\n"
  },
  {
    "path": "solana/mainnet/2025-12-01-set-pause-bridge/proposal-unpause.json",
    "content": "{\n  \"multisigId\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n  \"validUntil\": 2080184806,\n  \"instructions\": [\n    {\n      \"programId\": \"HNCne2FkVaNghhjKXapxJzPaBvAKDG1Ge3gqhZyfVWLM\",\n      \"data\": \"dhmR2XLR7JEA\",\n      \"accounts\": [\n        {\n          \"pubkey\": \"DMtzswCcRcsMmJasgHTNZcBHZvdBkrBe248CBdEXxpJm\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"7AoCt88ceFPCm43cj9K8w8xxWfhWRXEHZ2NGkDYNTCip\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        }\n      ]\n    }\n  ],\n  \"rootMetadata\": {\n    \"chainId\": 1,\n    \"multisig\": \"HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F\",\n    \"preOpCount\": 6,\n    \"postOpCount\": 7,\n    \"overridePreviousRoot\": true\n  }\n}\n"
  },
  {
    "path": "solana/mainnet/2025-12-01-upgrade-bridge-and-rollback/.gitignore",
    "content": "bridge/\n*keypair.json\nrollback.so\n"
  },
  {
    "path": "solana/mainnet/2025-12-01-upgrade-bridge-and-rollback/FACILITATORS.md",
    "content": "# Facilitator Instructions: Bridge Program Upgrade with Rollback\n\n## Overview\n\nAs a Facilitator, you are responsible for:\n1. Preparing the bridge program upgrade buffer (with patch applied)\n2. Preparing the rollback buffer (current program bytecode)\n3. Creating a merged upgrade/rollback proposal\n4. Coordinating with Signers and collecting signatures\n5. Executing the upgrade on-chain\n6. Executing the rollback if needed\n\n## Prerequisites\n\n```bash\ncd contract-deployments\ngit pull\ncd solana/<network>/<task-directory>\nmake setup-deps\n```\n\nEnsure you have:\n- Rust toolchain installed (via `make setup-deps`)\n- Solana CLI installed and configured (via `make setup-deps`)\n- Anchor CLI installed \n- `mcmctl` installed (via `make deps`)\n- `eip712sign` installed (via `make deps`)\n- A funded Solana wallet configured\n\n## Phase 1: Prepare Bridge Program Upgrade\n\n### 1.1. Update .env for bridge program upgrade\n\nSet the following in `.env`:\n\n```bash\nBRIDGE_REPO=<bridge-repo-url>\nBRIDGE_COMMIT=<commit-hash>\nUPGRADE_PATCH=patches/upgrade.patch\n```\n\nThen run:\n\n```bash\nmake step1-clone-bridge\n```\n\nThis will:\n- Remove any existing `bridge` directory\n- Clone the bridge repository\n- Checkout the specified commit\n- Apply the patch from `patches/upgrade.patch`\n- Install and build TypeScript clients\n\n### 1.2. Build the bridge programs\n\n```bash\nmake step2-build-programs\n```\n\nThis builds the bridge programs. The compiled binary will be in `bridge/solana/target/deploy/bridge.so`.\n\n### 1.3. Write program buffer\n\nEnsure the following variable is set in `.env`:\n\n```bash\nPROGRAM_BINARY=./bridge/solana/target/deploy/bridge.so\n```\n\nThen run:\n\n```bash\nmake step3-write-buffer\n```\n\nThis will output a buffer address. Copy it and add to `.env`:\n\n```bash\nBUFFER=<buffer-address-from-output>\n```\n\n### 1.4. Transfer buffer authority to MCM\n\nEnsure the following variable is set in `.env`:\n\n```bash\nNEW_BUFFER_AUTHORITY=$(MCM_AUTHORITY)\n```\n\nThen run:\n\n```bash\nmake step4-transfer-buffer\n```\n\nThis transfers the buffer authority from your wallet to the MCM authority PDA. The buffer is now controlled by MCM.\n\nCopy the transaction signature from the output.\n\n### 1.5. Generate set-buffer-authority artifacts\n\nFind the transaction signature from step 1.4 on Solana Explorer and add to `.env`:\n\n```bash\nSET_BUFFER_AUTHORITY_SIGNATURE=<transaction-signature>\n```\n\nThen generate the artifacts:\n\n```bash\nmake step5-generate-set-buffer-authority-artifacts\n```\n\nThis creates `artifacts/set-buffer-authority-artifacts.json`.\n\n## Phase 2: Prepare Rollback Buffer\n\n### 2.1. Dump current program\n\nEnsure the following variable is set in `.env`:\n\n```bash\nPROGRAM=<bridge-program-address>\nROLLBACK_PROGRAM_BINARY=./rollback.so\n```\n\nThen run:\n\n```bash\nmake step6-dump-current-program\n```\n\nThis dumps the current on-chain program bytecode to `rollback.so`.\n\n### 2.2. Write rollback buffer\n\n```bash\nmake step7-write-rollback-buffer\n```\n\nThis will output a buffer address. Copy it and add to `.env`:\n\n```bash\nROLLBACK_BUFFER=<rollback-buffer-address-from-output>\n```\n\n### 2.3. Transfer rollback buffer authority to MCM\n\n```bash\nmake step8-transfer-rollback-buffer\n```\n\nCopy the transaction signature from the output.\n\n### 2.4. Generate rollback buffer artifacts\n\nAdd the transaction signature to `.env`:\n\n```bash\nSET_ROLLBACK_BUFFER_AUTHORITY_SIGNATURE=<transaction-signature>\n```\n\nThen generate the artifacts:\n\n```bash\nmake step9-generate-rollback-buffer-artifacts\n```\n\nThis creates `artifacts/set-rollback-buffer-authority-artifacts.json`.\n\n## Phase 3: Create Merged Proposal\n\n### 3.1. Ensure all MCM variables are set\n\nVerify the following variables are set in `.env`:\n\n```bash\n# Common MCM Proposal Variables\nMCM_PROGRAM_ID=<mcm-program-id>\nMCM_MULTISIG_ID=<multisig-id>\nMCM_VALID_UNTIL=<unix-timestamp>\nMCM_OVERRIDE_PREVIOUS_ROOT=false  # or true if needed\nMCM_PROPOSAL_OUTPUT=proposal.json\n\n# Program upgrade variables\nPROGRAM=<bridge-program-address>\nBUFFER=<upgrade-buffer-address>\nROLLBACK_BUFFER=<rollback-buffer-address>\nSPILL=<your-wallet-address>\n```\n\n### 3.2. Create merged proposal\n\n```bash\nmake step10-create-proposal\n```\n\nThis creates `proposal.json` containing two instructions:\n- Instruction 0: Upgrade to the patched version\n- Instruction 1: Rollback to the original version\n\n### 3.3. Review proposal\n\nOpen and review `proposal.json` to verify:\n- Instructions count is 2\n- First instruction uses `BUFFER` (upgrade)\n- Second instruction uses `ROLLBACK_BUFFER` (rollback)\n- Program address matches `PROGRAM`\n- Spill address is correct\n\n## Phase 4: Coordinate with Signers and Collect Signatures\n\nCoordinate with Signers to collect their signatures. Each Signer will run `make sign` and provide their signature.\n\nConcatenate all signatures in the format: `0xSIG1,0xSIG2,0xSIG3`\n\nOnce you have all required signatures, add to `.env`:\n\n```bash\nMCM_SIGNATURES_COUNT=<number-of-signatures>\nMCM_SIGNATURES=0xSIG1,0xSIG2,0xSIG3\n```\n\n## Phase 5: Register and Execute Proposal\n\n### 5.1. Add execution variables to .env\n\nAdd the following variables to `.env`:\n\n```bash\nAUTHORITY=<your-wallet-keypair-path>\n```\n\n### 5.2. Register the proposal\n\n```bash\nmake step12-register-proposal\n```\n\nThis command:\n- Initializes signatures account\n- Appends signatures\n- Finalizes signatures\n- Sets root\n\n### 5.3. Execute the upgrade\n\n```bash\nmake step13-execute-upgrade\n```\n\nThis executes instruction 0 (upgrade to patched version).\n\n### 5.4. Execute the rollback (if needed)\n\nIf you need to rollback to the original version:\n\n```bash\nmake step14-execute-rollback\n```\n\nThis executes instruction 1 (rollback to original version).\n\n## Phase 6: Verification\n\n### 6.1. Verify program upgrade on Solana Explorer\n\nVisit the Solana Explorer for your network:\n- Mainnet: https://explorer.solana.com/\n- Devnet: https://explorer.solana.com/?cluster=devnet\n\nSearch for the bridge program address (`$PROGRAM`) and verify:\n- The \"Last Deployed Slot\" is recent\n- The upgrade authority is still the MCM authority\n- The program was upgraded successfully\n\n### 6.2. Update README\n\nUpdate the Status line in README.md to:\n\n```markdown\nStatus: [EXECUTED](https://explorer.solana.com/tx/<transaction-signature>?cluster=<network>)\n```\n\nReplace `<transaction-signature>` with the execution transaction signature and `<network>` with the appropriate cluster (devnet, devnet-alpha, mainnet-beta, etc.).\n"
  },
  {
    "path": "solana/mainnet/2025-12-01-upgrade-bridge-and-rollback/Makefile",
    "content": "include ../.env\ninclude .env\n\ninclude ../../Makefile\n\n.PHONY: install-rust\ninstall-rust:\n\tcurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y\n\trustup toolchain install $(RUST_TOOLCHAIN) && \\\n    rustup default $(RUST_TOOLCHAIN)\n\n.PHONY: install-solana-cli\ninstall-solana-cli:\n\tcurl -sSfL https://release.anza.xyz/v$(SOLANA_VERSION)/install | sh\n\n.PHONY: install-anchor\ninstall-anchor:\n\tcargo install --git https://github.com/coral-xyz/anchor --tag v$(ANCHOR_VERSION) anchor-cli --force\n\n.PHONY: setup-deps\nsetup-deps: install-rust install-solana-cli install-anchor\n\n##\n# MCM Program Upgrade with Rollback Workflow\n##\n\n# Step 1: Clone the bridge repo and apply patch\n.PHONY: step1-clone-bridge\nstep1-clone-bridge:\n\t@echo \"==> Step 1: Cloning and patching the bridge repo...\"\n\t@ rm -rf bridge\n\t@ git clone --filter=blob:none $(BRIDGE_REPO) bridge\n\t@ cd bridge && \\\n\t\tgit checkout $(BRIDGE_COMMIT) && \\\n\t\tgit apply ../$(UPGRADE_PATCH)\n\t@ cd bridge/clients/ts && \\\n\t\tbun install && \\\n\t\tbun run build\n\t@ cd bridge/scripts && \\\n\t\tbun install\n\n# Step 2: Build the bridge programs\n.PHONY: step2-build-programs\nstep2-build-programs:\n\t@echo \"==> Step 2: Building bridge programs...\"\n\tmkdir -p bridge/solana/target/deploy && \\\n\t\tcp $(BRIDGE_KEYPAIR) bridge/solana/target/deploy/bridge-keypair.json && \\\n\t\tcp $(BASE_RELAYER_KEYPAIR) bridge/solana/target/deploy/base_relayer-keypair.json && \\\n\tcd bridge/solana && \\\n\t\tanchor keys sync\n\tcd bridge/scripts && \\\n\t\tbun cli sol build \\\n\t\t--deploy-env $(DEPLOY_ENV) \\\n\t\t--bridge-program-kp ../../$(BRIDGE_KEYPAIR) \\\n\t\t--base-relayer-program-kp ../../$(BASE_RELAYER_KEYPAIR)\n\n# Step 3: Write program buffer\n.PHONY: step3-write-buffer\nstep3-write-buffer:\n\t@echo \"==> Step 3: Writing program buffer...\"\n\tmake sol-write-buffer\n\n# Step 4: Transfer buffer authority to MCM\n.PHONY: step4-transfer-buffer\nstep4-transfer-buffer:\n\t@echo \"==> Step 4: Transferring buffer authority to MCM...\"\n\tmake sol-set-buffer-authority\n\n# Step 5: Generate set-buffer-authority artifacts\n.PHONY: step5-generate-set-buffer-authority-artifacts\nstep5-generate-set-buffer-authority-artifacts:\n\t@echo \"==> Step 5: Generating MCM set-buffer-authority artifacts...\"\n\tmake sol-confirm SIG=$(SET_BUFFER_AUTHORITY_SIGNATURE) output=artifacts/set-buffer-authority-artifacts.json\n\n##\n# Rollback Buffer Preparation\n##\n\n# Step 6: Dump current program to rollback.so\n.PHONY: step6-dump-current-program\nstep6-dump-current-program:\n\t@echo \"==> Step 6: Dumping current program to rollback.so...\"\n\tsolana program dump $(PROGRAM) $(ROLLBACK_PROGRAM_BINARY) --url $(SOL_RPC_URL)\n\n# Step 7: Write rollback buffer\n.PHONY: step7-write-rollback-buffer\nstep7-write-rollback-buffer:\n\t@echo \"==> Step 7: Writing rollback buffer...\"\n\tmake sol-write-buffer PROGRAM_BINARY=$(ROLLBACK_PROGRAM_BINARY)\n\n# Step 8: Transfer rollback buffer authority to MCM\n.PHONY: step8-transfer-rollback-buffer\nstep8-transfer-rollback-buffer:\n\t@echo \"==> Step 8: Transferring rollback buffer authority to MCM...\"\n\tmake sol-set-buffer-authority BUFFER=$(ROLLBACK_BUFFER)\n\n# Step 9: Generate rollback buffer artifacts\n.PHONY: step9-generate-rollback-buffer-artifacts\nstep9-generate-rollback-buffer-artifacts:\n\t@echo \"==> Step 9: Generating rollback buffer artifacts...\"\n\tmake sol-confirm SIG=$(SET_ROLLBACK_BUFFER_AUTHORITY_SIGNATURE) output=artifacts/set-rollback-buffer-authority-artifacts.json\n\n##\n# Proposal Creation and Execution\n##\n\n# Step 10: Create merged upgrade/rollback proposal\n.PHONY: step10-create-proposal\nstep10-create-proposal:\n\t@echo \"==> Step 10: Creating merged upgrade/rollback MCM proposal...\"\n\t@echo \"  → Creating upgrade proposal...\"\n\t@make mcm-proposal-loader-v3-upgrade \\\n\t\tMCM_PROPOSAL_OUTPUT=upgrade-proposal.json\n\t@echo \"  → Creating rollback proposal...\"\n\t@make mcm-proposal-loader-v3-upgrade \\\n\t\tBUFFER=$(ROLLBACK_BUFFER) \\\n\t\tMCM_PROPOSAL_OUTPUT=rollback-proposal.json\n\t@echo \"  → Merging proposals...\"\n\t@jq -s '.[0] as $$upgrade | .[1] as $$rollback | $$upgrade | .instructions = ($$upgrade.instructions + $$rollback.instructions) | .rootMetadata.postOpCount = (.rootMetadata.preOpCount + 2)' \\\n\t\tupgrade-proposal.json rollback-proposal.json > proposal.json\n\t@rm -f upgrade-proposal.json rollback-proposal.json\n\t@echo \"✓ Merged proposal created: proposal.json\"\n\t@echo \"  - Instructions count: $$(jq '.instructions | length' proposal.json)\"\n\t@echo \"  - preOpCount: $$(jq '.rootMetadata.preOpCount' proposal.json)\"\n\t@echo \"  - postOpCount: $$(jq '.rootMetadata.postOpCount' proposal.json)\"\n\n# Step 11: Sign proposal\n.PHONY: sign\nsign:\n\t@echo \"==> Step 11: Signing proposal...\"\n\tmake mcm-sign\n\n# Step 12: Register proposal (signatures + set-root)\n.PHONY: step12-register-proposal\nstep12-register-proposal:\n\t@echo \"==> Step 12: Registering MCM proposal...\"\n\t@make mcm-signatures-all\n\t@make mcm-proposal-set-root\n\n# Step 13: Execute upgrade\n.PHONY: step13-execute-upgrade\nstep13-execute-upgrade:\n\t@echo \"==> Step 13: Executing upgrade...\"\n\t@make mcm-proposal-execute MCM_START_INDEX=0 MCM_OPERATION_COUNT=1\n\t@mv artifacts/mcm-proposal-execute.json artifacts/mcm-upgrade-execute.json\n\n# Step 14: Execute rollback\n.PHONY: step14-execute-rollback\nstep14-execute-rollback:\n\t@echo \"==> Step 14: Executing rollback...\"\n\t@make mcm-proposal-execute MCM_START_INDEX=1 MCM_OPERATION_COUNT=1\n\t@mv artifacts/mcm-proposal-execute.json artifacts/mcm-rollback-execute.json\n"
  },
  {
    "path": "solana/mainnet/2025-12-01-upgrade-bridge-and-rollback/README.md",
    "content": "# Upgrade Bridge Program with Rollback\n\nStatus: [EXECUTED](https://explorer.solana.com/tx/4MWawPNfUuMquXpjjDJ8pQQ7tXrifUCQP9d96BJfJeasAGtMMmSUWK6aJJQZ2GJ5MEKvaeZBjxEwfw49YX7jaFso?cluster=mainnet)\n\nRollback: https://explorer.solana.com/tx/3GJBmZeg4UiZSZCzjnpAUN8o7zLCbpXUuPWvvpEd5meUX1D9bjrYmYJ5ST1Qk5zDYoi7uszVTH5U7CNnxroieMc?cluster=mainnet\n\n## Description\n\nThis task performs a test upgrade of the bridge program followed by a rollback using the Multi-Chain Multisig (MCM) governance system.\n\nThe proposal contains two instructions:\n- **Instruction 0**: Upgrade to the patched version\n- **Instruction 1**: Rollback to the original version\n\n## Procedure for Signers\n\n### 1. Update repo\n\n```bash\ncd contract-deployments\ngit pull\ncd solana/mainnet/2025-12-01-upgrade-bridge-and-rollback\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The **Ethereum application** needs to be opened on Ledger with the message \"Application is ready\".\n\n### 3. Verify the Proposal\n\n#### 3.1. Verify Instruction 1 (BPF Loader Upgradeable - Upgrade)\n\n**Program ID:**\n\nVerify instruction 1 has program ID: `BPFLoaderUpgradeab1e11111111111111111111111`\n\n**Instruction Data:**\n\nVerify this is the Upgrade instruction (discriminant = 3):\n\n```bash\njq -r '.instructions[0].data' proposal.json | base64 -d | xxd -p -c 256\n```\n\nExpected output: `03000000`\n\nThis is the u32 little-endian representation of 3, which corresponds to the [Upgrade](https://github.com/solana-program/loader-v3/blob/main/program/src/instruction.rs#L223) instruction in BPF Loader Upgradeable.\n\n#### 3.2. Verify Instruction 2 (BPF Loader Upgradeable - Rollback)\n\n**Program ID:**\n\nVerify instruction 2 has program ID: `BPFLoaderUpgradeab1e11111111111111111111111`\n\n**Instruction Data:**\n\nVerify this is also the Upgrade instruction (discriminant = 3):\n\n```bash\njq -r '.instructions[1].data' proposal.json | base64 -d | xxd -p -c 256\n```\n\nExpected output: `03000000`\n\nThis rollback instruction uses the same Upgrade discriminant but with a buffer containing the original program bytecode.\n\n### 4. Sign the proposal\n\n```bash\nmake sign\n```\n\nThis command will:\n1. Display the proposal hash\n2. Prompt you to sign on your Ledger\n3. Output your signature\n\n**Verify on your Ledger**: Check that the data you're signing matches the proposal hash displayed in the terminal.\n\nAfter signing, you will see output like:\n\n```\nSignature: 1234567890abcdef...\n```\n\n### 5. Send signature to Facilitator\n\nCopy the **entire signature** and send it to the Facilitator via your secure communication channel.\n\n**That's it!** The Facilitator will collect all signatures and execute the proposal.\n\n## For Facilitators\n\nSee [FACILITATORS.md](./FACILITATORS.md) for complete instructions on preparing, executing, and verifying this task.\n"
  },
  {
    "path": "solana/mainnet/2025-12-01-upgrade-bridge-and-rollback/artifacts/mcm-proposal-set-root.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"3Xj8YWSuiGUsUomQbXAH4cLbbhiVVtrzDcR7bDn8JqGxmUkLo5YdcfELMQ59BkXN7G1VXSnjCRgG61U8ch4EBV2X\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 3\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"4VRTMjHZarH1wTJKXkkW82PvK3neQoq5b189AGDHDUhP\",\n        \"8HbtqBXPeS8DPfEx1r4kDyYFXuddrvZdxXXqMYyfdiKY\",\n        \"Cfd4nJhR8d9C3c1t456u4kvxaxH2vJ8YtKk65yDi39c9\",\n        \"FDAHR8SdPZnWDcK6yvoCYHBf6ggTjLyomiQDQ767FH3c\",\n        \"E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3\",\n        \"11111111111111111111111111111111\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\"\n      ],\n      \"recentBlockhash\": \"E5NVwAu2LdC7ytZkJSjKEpeegyGsUDWZkWtfihSNWKGN\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 7,\n          \"accounts\": [\n            1,\n            2,\n            3,\n            4,\n            5,\n            0,\n            6\n          ],\n          \"data\": \"5eKRp7yWnavbVMvLc7WTeNLXgQZHNTvquMyjaspSK7Pdjz7ZrrUaadEydVqa7WwpNFoZNj3Nuiw47tDZJteS4TEbiCEKYJN1tXbv9ufUMNrrMqJqviQ4pVC2TZFXPz579nPRkfkrS1ra4my2CQrptwsbDfuw6grGtYVZiYtNW3kFukinnhyd6caG4CAADTxmuKbYaqtQZTtfejsBCrCuKeGzDamvuNMKrpr3SEMPnE4ZGMLGPnTgJu2Pn9ACKzRb3sso1wCACaPCCuLkMBw\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      4999150771,\n      2345520,\n      1343280,\n      0,\n      1252800,\n      3062400,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      5000537771,\n      0,\n      1343280,\n      953520,\n      1252800,\n      3062400,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 6,\n            \"accounts\": [\n              0,\n              3\n            ],\n            \"data\": \"11117UcthqATmHRa77Wg3s82tLzKywRJgz1rjE74d3DpY6sdpp9N8y8o18gibatAtTN2fi\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: SetRootEip712\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program data: 0hm7digqPXesGd+99YvebGUV7u9QPiSgwoP8kZNs5ucnBOL9KbgecBu/NWkBAAAAAAAAAMMpm7g6ahfJ/wVgN8Ww4F9n9YCqNZB8zw9o6j8G2GBQBQAAAAAAAAAHAAAAAAAAAAA=\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 102241 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 102241\n  },\n  \"blockTime\": 1764711815,\n  \"slot\": 384062747\n}\n"
  },
  {
    "path": "solana/mainnet/2025-12-01-upgrade-bridge-and-rollback/artifacts/mcm-rollback-execute.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"3GJBmZeg4UiZSZCzjnpAUN8o7zLCbpXUuPWvvpEd5meUX1D9bjrYmYJ5ST1Qk5zDYoi7uszVTH5U7CNnxroieMc\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 6\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3\",\n        \"FDAHR8SdPZnWDcK6yvoCYHBf6ggTjLyomiQDQ767FH3c\",\n        \"HFygZ3CeFb7E7j3WgVKWBn57mRWqAR6Rf5d2ekGz1bNH\",\n        \"HNCne2FkVaNghhjKXapxJzPaBvAKDG1Ge3gqhZyfVWLM\",\n        \"4NQJ82o44wTyA4nV7fKQArvXFXDazKzNZbzuQ9PN6ZKZ\",\n        \"9WMMfXL33gXKT5E38LhojDGhbQi6TeBqvStSwchLcrDL\",\n        \"8HbtqBXPeS8DPfEx1r4kDyYFXuddrvZdxXXqMYyfdiKY\",\n        \"BPFLoaderUpgradeab1e11111111111111111111111\",\n        \"DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2\",\n        \"SysvarRent111111111111111111111111111111111\",\n        \"SysvarC1ock11111111111111111111111111111111\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\"\n      ],\n      \"recentBlockhash\": \"CFSv3oCg82KMa7q2bDzKCnctqBd9p1seqhBNSsPMq7d7\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 12,\n          \"accounts\": [\n            1,\n            7,\n            2,\n            8,\n            9,\n            0,\n            3,\n            4,\n            5,\n            6,\n            10,\n            11,\n            9\n          ],\n          \"data\": \"65zRtZe3ydJWJeJJEUXq3RVmLzRGFdSm94DUpibi5UNcLWiV78xjAha9PcSq7YHaLzfcDy9wRNdk32c6mpZWzuopPeyxbv1xpeXQ3gdBXoV8Bp4LpnTWu9982uW2sMrSL55mwywse\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      4985391091,\n      3062400,\n      1252800,\n      6131432880,\n      1141440,\n      6120992884,\n      6133086542,\n      1343280,\n      1,\n      499234400,\n      1009200,\n      1169280,\n      1141440\n    ],\n    \"postBalances\": [\n      4985386091,\n      3062400,\n      1252800,\n      6131432880,\n      1141440,\n      0,\n      12254079426,\n      1343280,\n      1,\n      499234400,\n      1009200,\n      1169280,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 8,\n            \"accounts\": [\n              3,\n              4,\n              5,\n              6,\n              10,\n              11,\n              9\n            ],\n            \"data\": \"5Sxr3\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: Execute\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [2]\",\n      \"Upgraded program HNCne2FkVaNghhjKXapxJzPaBvAKDG1Ge3gqhZyfVWLM\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 success\",\n      \"Program data: 3Q/UHSP8/04GAAAAAAAAAAKo9pFOiKGw4hAVPvdjrisAwrk9FsEk0sBTehAEgAAABAAAAAMAAAA=\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 44217 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 44217\n  },\n  \"blockTime\": 1764712088,\n  \"slot\": 384063455\n}\n"
  },
  {
    "path": "solana/mainnet/2025-12-01-upgrade-bridge-and-rollback/artifacts/mcm-signatures-append.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"3HeXdfQNC5eKKMwVdjhPkNMjJMG249xGM2dWYDhgt2PRMtNtnhA5mBWFZY8mAMEyDs7inCFT6c2jyihLGwPApVZn\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"4VRTMjHZarH1wTJKXkkW82PvK3neQoq5b189AGDHDUhP\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\"\n      ],\n      \"recentBlockhash\": \"ACfKJS9TLiYV1bUiJk1sdMKXoA1xQE8wLEjM1foYeizn\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"8JM1NbBrt3Xh3kxoE3gUoUhdacSAaBKUdPn3SULoy5MqoavKwgx6PuKGYXYdKE2CV5HdB4X9G8AE5ujZ8HNAjm4AhBB1sLsH7VXqeQPzznChybqPGvmNi8c5mMvUmxLaosL5Z8XWpk5dNaRoZLvMTsSGs28xnvJZuRy2Tvejj7L5ntMT3AebaH4PHywKRzrQGgdBMZ4wRrzefz9bCRu6NfPUYq4dCc9BVFHXbJnMU2j3b5uLszUS4LZtZC1rwuSUdohcHRvaVtA27HNfTT8tW6hpfv3xx2oojeexf7SiQSe18wBEeCeDMyYwd4iwDMdCt1kZnqh7rKDZ3rnJwTzu1Z5Dv6uUfAvwJ4sVvcGxwWFn9wRztd5WF6tE\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      4999160771,\n      2345520,\n      1141440\n    ],\n    \"postBalances\": [\n      4999155771,\n      2345520,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: AppendSignatures\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 5385 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 5385\n  },\n  \"blockTime\": 1764711786,\n  \"slot\": 384062672\n}\n"
  },
  {
    "path": "solana/mainnet/2025-12-01-upgrade-bridge-and-rollback/artifacts/mcm-signatures-finalize.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"2n7ZYFuuWT2CgdMnpfMxtd6VD5hPAc1W9Mejn6H3uSxxKF2YTh4bRamvu2EDC1MdTe6WRjmArcpk3LBnUYyWKUwa\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 1\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"4VRTMjHZarH1wTJKXkkW82PvK3neQoq5b189AGDHDUhP\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\"\n      ],\n      \"recentBlockhash\": \"4RjGHW3rccH7d2ZK6VB2hhC9DxyP8yRWPwvTA74cSAqw\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0\n          ],\n          \"data\": \"8VPNxavkg2Yj38NCocv5Cq5gNj6AXt2M4QRQjqgjJnXPoyHsmdy1UZE2EbTfxkVg9SVC2g4QiKsqzrEoP1CuWTkgNddqEgtM3pyihpAt\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      4999155771,\n      2345520,\n      1141440\n    ],\n    \"postBalances\": [\n      4999150771,\n      2345520,\n      1141440\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: FinalizeSignatures\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 4571 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 4571\n  },\n  \"blockTime\": 1764711801,\n  \"slot\": 384062709\n}\n"
  },
  {
    "path": "solana/mainnet/2025-12-01-upgrade-bridge-and-rollback/artifacts/mcm-signatures-init.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"4Zo4Yys593iZs3iFqtjKS2AAZdLMfybqMVNuMx59UDiX7tf5XkhYxG1cKNet683MHhZdXdh9Y4iApBA6cfYvbzTe\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"4VRTMjHZarH1wTJKXkkW82PvK3neQoq5b189AGDHDUhP\",\n        \"11111111111111111111111111111111\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\"\n      ],\n      \"recentBlockhash\": \"DBCzUid35WJWNrbUnsBu7h87WcGeCs1sh2xdsw5GEbJc\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 3,\n          \"accounts\": [\n            1,\n            0,\n            2\n          ],\n          \"data\": \"2QCcPn6AhHR9Zi4mhnFE53M8tJopZFLmSWFEPUWVFoNxRRu5UeGEiNaq8yByWveVHTHrGdUxKxiqbA2fLsXXAAigurAHKqknothtaiAUuQ\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      5001511291,\n      0,\n      1,\n      1141440\n    ],\n    \"postBalances\": [\n      4999160771,\n      2345520,\n      1,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 2,\n            \"accounts\": [\n              0,\n              1\n            ],\n            \"data\": \"11112nodbJCN8fXPKGyCu9NpWVwv2xDdwMYHeJzX2ebt61C1xzbo3WXdusmuwBCkbU62dn\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: InitSignatures\",\n      \"Program 11111111111111111111111111111111 invoke [2]\",\n      \"Program 11111111111111111111111111111111 success\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 7985 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 7985\n  },\n  \"blockTime\": 1764711770,\n  \"slot\": 384062629\n}\n"
  },
  {
    "path": "solana/mainnet/2025-12-01-upgrade-bridge-and-rollback/artifacts/mcm-upgrade-execute.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"4MWawPNfUuMquXpjjDJ8pQQ7tXrifUCQP9d96BJfJeasAGtMMmSUWK6aJJQZ2GJ5MEKvaeZBjxEwfw49YX7jaFso\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 6\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3\",\n        \"FDAHR8SdPZnWDcK6yvoCYHBf6ggTjLyomiQDQ767FH3c\",\n        \"HFygZ3CeFb7E7j3WgVKWBn57mRWqAR6Rf5d2ekGz1bNH\",\n        \"HNCne2FkVaNghhjKXapxJzPaBvAKDG1Ge3gqhZyfVWLM\",\n        \"Z6VLMqRMBALVzdSixanC49k7TBWhu9tEdvcPGJV6cL2\",\n        \"9WMMfXL33gXKT5E38LhojDGhbQi6TeBqvStSwchLcrDL\",\n        \"8HbtqBXPeS8DPfEx1r4kDyYFXuddrvZdxXXqMYyfdiKY\",\n        \"BPFLoaderUpgradeab1e11111111111111111111111\",\n        \"DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2\",\n        \"SysvarRent111111111111111111111111111111111\",\n        \"SysvarC1ock11111111111111111111111111111111\",\n        \"7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY\"\n      ],\n      \"recentBlockhash\": \"H61b2HaFsDap3F5n1raWh13VB1VsuJuKFYefsna37486\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 12,\n          \"accounts\": [\n            1,\n            7,\n            2,\n            8,\n            9,\n            0,\n            3,\n            4,\n            5,\n            6,\n            10,\n            11,\n            9\n          ],\n          \"data\": \"2WdZbr4cJKkR8bDbEdbqzfkAVHVTczCFDroACHGbZUy1NNEc7pxLKtYPGMYr1SGTPbPe3SxdMYgmvUdGS5T58T4mzR6gKJE9HKoPa6vQB17yNSvs2P7mydnBBDuQ7ZSiQ6bfuyR5PGTvZXya9Tj8KXGhaGPNGosSmD8bmCT3sUUK7Nxt11hdB\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      4990087771,\n      3062400,\n      1252800,\n      6131432880,\n      1141440,\n      6121605363,\n      11481179,\n      1343280,\n      1,\n      499234400,\n      1009200,\n      1169280,\n      1141440\n    ],\n    \"postBalances\": [\n      4990082771,\n      3062400,\n      1252800,\n      6131432880,\n      1141440,\n      0,\n      6133086542,\n      1343280,\n      1,\n      499234400,\n      1009200,\n      1169280,\n      1141440\n    ],\n    \"innerInstructions\": [\n      {\n        \"index\": 0,\n        \"instructions\": [\n          {\n            \"programIdIndex\": 8,\n            \"accounts\": [\n              3,\n              4,\n              5,\n              6,\n              10,\n              11,\n              9\n            ],\n            \"data\": \"5Sxr3\",\n            \"stackHeight\": 2\n          }\n        ]\n      }\n    ],\n    \"logMessages\": [\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]\",\n      \"Program log: Instruction: Execute\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [2]\",\n      \"Upgraded program HNCne2FkVaNghhjKXapxJzPaBvAKDG1Ge3gqhZyfVWLM\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 success\",\n      \"Program data: 3Q/UHSP8/04FAAAAAAAAAAKo9pFOiKGw4hAVPvdjrisAwrk9FsEk0sBTehAEgAAABAAAAAMAAAA=\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 44501 of 200000 compute units\",\n      \"Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 44501\n  },\n  \"blockTime\": 1764711952,\n  \"slot\": 384063104\n}\n"
  },
  {
    "path": "solana/mainnet/2025-12-01-upgrade-bridge-and-rollback/artifacts/set-buffer-authority-artifacts.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"5EQFosN7k7HuRi8NBtDgwD9wsxqjyentbjV9RkiA6ex2y4GtTrapBtsuuDy7yXAc15Jfz3RHNSSt4cM4MFS5iiZz\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"Z6VLMqRMBALVzdSixanC49k7TBWhu9tEdvcPGJV6cL2\",\n        \"BPFLoaderUpgradeab1e11111111111111111111111\",\n        \"DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2\"\n      ],\n      \"recentBlockhash\": \"6o1LpqrbsqNtiEGrppkKMcJ1KSvMoz5Uw2W97ceBaaP1\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0,\n            3\n          ],\n          \"data\": \"6vx8P\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      2335618847,\n      6121605363,\n      1,\n      499234400\n    ],\n    \"postBalances\": [\n      2335613847,\n      6121605363,\n      1,\n      499234400\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]\",\n      \"New authority Some(DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2)\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 2370\n  },\n  \"blockTime\": 1764629762,\n  \"slot\": 383851740\n}\n"
  },
  {
    "path": "solana/mainnet/2025-12-01-upgrade-bridge-and-rollback/artifacts/set-rollback-buffer-authority-artifacts.json",
    "content": "{\n  \"confirmationStatus\": \"finalized\",\n  \"transaction\": {\n    \"signatures\": [\n      \"3zJWuLKPkjFVQc1fvBBHGiFyRHa9xT9a4k7b3a1EXV3rbsJsNCKYxm45GxswLZKpC8hm8TeG4ydXiywJk1CMZJJg\"\n    ],\n    \"message\": {\n      \"header\": {\n        \"numRequiredSignatures\": 1,\n        \"numReadonlySignedAccounts\": 0,\n        \"numReadonlyUnsignedAccounts\": 2\n      },\n      \"accountKeys\": [\n        \"8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp\",\n        \"4NQJ82o44wTyA4nV7fKQArvXFXDazKzNZbzuQ9PN6ZKZ\",\n        \"BPFLoaderUpgradeab1e11111111111111111111111\",\n        \"DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2\"\n      ],\n      \"recentBlockhash\": \"GeypX2SMuNioomXc4v5WrSxijQ6waR3NJP84jtRE3FY3\",\n      \"instructions\": [\n        {\n          \"programIdIndex\": 2,\n          \"accounts\": [\n            1,\n            0,\n            3\n          ],\n          \"data\": \"6vx8P\",\n          \"stackHeight\": null\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"err\": null,\n    \"status\": {\n      \"Ok\": null\n    },\n    \"fee\": 5000,\n    \"preBalances\": [\n      5020265967,\n      6120992883,\n      1,\n      499234400\n    ],\n    \"postBalances\": [\n      5020260967,\n      6120992883,\n      1,\n      499234400\n    ],\n    \"innerInstructions\": [],\n    \"logMessages\": [\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]\",\n      \"New authority Some(DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2)\",\n      \"Program BPFLoaderUpgradeab1e11111111111111111111111 success\"\n    ],\n    \"preTokenBalances\": [],\n    \"postTokenBalances\": [],\n    \"rewards\": [],\n    \"loadedAddresses\": {\n      \"writable\": [],\n      \"readonly\": []\n    },\n    \"computeUnitsConsumed\": 2370\n  },\n  \"blockTime\": 1764630791,\n  \"slot\": 383854392\n}\n"
  },
  {
    "path": "solana/mainnet/2025-12-01-upgrade-bridge-and-rollback/patches/upgrade.patch",
    "content": "diff --git a/solana/programs/bridge/src/lib.rs b/solana/programs/bridge/src/lib.rs\nindex 70cb385..fbdfde3 100644\n--- a/solana/programs/bridge/src/lib.rs\n+++ b/solana/programs/bridge/src/lib.rs\n@@ -249,6 +249,7 @@ pub mod bridge {\n         amount: u64,\n         call: Option<Call>,\n     ) -> Result<()> {\n+        msg!(\"UPGRADED\");\n         bridge_sol_handler(ctx, outgoing_message_salt, to, amount, call)\n     }\n \n"
  },
  {
    "path": "solana/mainnet/2025-12-01-upgrade-bridge-and-rollback/proposal.json",
    "content": "{\n  \"multisigId\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n  \"validUntil\": 1765130011,\n  \"instructions\": [\n    {\n      \"programId\": \"BPFLoaderUpgradeab1e11111111111111111111111\",\n      \"data\": \"AwAAAA==\",\n      \"accounts\": [\n        {\n          \"pubkey\": \"HFygZ3CeFb7E7j3WgVKWBn57mRWqAR6Rf5d2ekGz1bNH\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"HNCne2FkVaNghhjKXapxJzPaBvAKDG1Ge3gqhZyfVWLM\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"Z6VLMqRMBALVzdSixanC49k7TBWhu9tEdvcPGJV6cL2\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"9WMMfXL33gXKT5E38LhojDGhbQi6TeBqvStSwchLcrDL\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"SysvarRent111111111111111111111111111111111\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        },\n        {\n          \"pubkey\": \"SysvarC1ock11111111111111111111111111111111\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        },\n        {\n          \"pubkey\": \"DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        }\n      ]\n    },\n    {\n      \"programId\": \"BPFLoaderUpgradeab1e11111111111111111111111\",\n      \"data\": \"AwAAAA==\",\n      \"accounts\": [\n        {\n          \"pubkey\": \"HFygZ3CeFb7E7j3WgVKWBn57mRWqAR6Rf5d2ekGz1bNH\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"HNCne2FkVaNghhjKXapxJzPaBvAKDG1Ge3gqhZyfVWLM\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"4NQJ82o44wTyA4nV7fKQArvXFXDazKzNZbzuQ9PN6ZKZ\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"9WMMfXL33gXKT5E38LhojDGhbQi6TeBqvStSwchLcrDL\",\n          \"isSigner\": false,\n          \"isWritable\": true\n        },\n        {\n          \"pubkey\": \"SysvarRent111111111111111111111111111111111\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        },\n        {\n          \"pubkey\": \"SysvarC1ock11111111111111111111111111111111\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        },\n        {\n          \"pubkey\": \"DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2\",\n          \"isSigner\": false,\n          \"isWritable\": false\n        }\n      ]\n    }\n  ],\n  \"rootMetadata\": {\n    \"chainId\": 1,\n    \"multisig\": \"E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3\",\n    \"preOpCount\": 5,\n    \"postOpCount\": 7,\n    \"overridePreviousRoot\": false\n  }\n}\n"
  },
  {
    "path": "solana/setup-templates/template-set-pause-bridge/FACILITATORS.md",
    "content": "# Facilitator Instructions: MCM Bridge Pause/Unpause\n\n## Overview\n\nAs a Facilitator, you are responsible for:\n\n1. Preparing the bridge pause/unpause configuration\n2. Creating the MCM proposals (both pause and unpause)\n3. Committing and pushing the proposals to the repo\n4. Coordinating with Signers\n5. Collecting signatures for a range of nonces\n6. Executing the specific proposal (pause or unpause) onchain when needed\n\n## Prerequisites\n\n```bash\ncd contract-deployments\ngit pull\ncd solana/<network>/<task-directory>\nmake deps\n```\n\nEnsure you have:\n\n- `mcmctl` installed (via `make deps`)\n- `eip712sign` installed (via `make deps`)\n- A funded Solana wallet configured\n\n## Phase 1: Prepare and Generate Proposals\n\n### 1.1. Update .env\n\nSet the following in `.env`:\n\n```bash\nMCM_PROGRAM_ID=<mcm-program-id>\nMCM_MULTISIG_ID=<multisig-id>\nMCM_VALID_UNTIL=<unix-timestamp>\nMCM_OVERRIDE_PREVIOUS_ROOT=false  # or true if needed\n\n# Bridge configuration\nBRIDGE_PROGRAM_ID=<bridge-program-id>\n```\n\n### 1.2. Generate proposals\n\nGenerate both pause and unpause proposals to have them ready for any situation.\n\n```bash\n# Generate Pause Proposal (proposal-pause.json)\nmake step1-create-proposal-pause\n\n# Generate Unpause Proposal (proposal-unpause.json)\nmake step1-create-proposal-unpause\n```\n\n### 1.3. Review proposals\n\nOpen and review the generated proposal files (`proposal-pause.json` and `proposal-unpause.json`) to verify:\n\n- Bridge program ID is correct\n- Pause status is correct in the instruction data (ends in `01` for pause, `00` for unpause)\n- Valid until timestamp is appropriate\n\n### 1.4. Commit and push\n\n```bash\ngit add .\ngit commit -m \"Add MCM bridge pause/unpause proposals\"\ngit push\n```\n\n## Phase 2: Coordinate with Signers and Collect Signatures\n\nCoordinate with Signers to collect their signatures. Signers will generate signatures for a range of 20 nonces to ensure a valid signature is available even if other operations occur on the multisig.\n\nAsk signers to run:\n\n- `make sign-pause` (to generate `signatures-pause.txt`)\n- `make sign-unpause` (to generate `signatures-unpause.txt`)\n\nCollect these text files from the signers.\n\n## Phase 3: Execute Proposal\n\nWhen an emergency action (Pause) or recovery (Unpause) is required:\n\n### 3.1. Determine Current Nonce\n\nCheck the current `preOpCount` (nonce) of the multisig. You can check this on the Solana Explorer by looking at the Multisig account data, or by inspecting the error if a dry-run fails.\n\n### 3.2. aggregate Signatures\n\nConcatenate signatures in the format: `0xSIG1,0xSIG2,0xSIG3`\n\n### 3.3. Update .env\n\nUpdate `.env` with the collected signatures:\n\n```bash\nMCM_SIGNATURES_COUNT=<number-of-signatures>\nMCM_SIGNATURES=0xSIG1,0xSIG2,0xSIG3\n```\n\n### 3.4. Execute\n\nRun the execution command for the desired action, providing the current nonce. This will update the proposal file to match the chain state and execute it.\n\n**To Pause:**\n\n```bash\nNONCE=<current-nonce> make step3-execute-proposal-pause\n```\n\n**To Unpause:**\n\n```bash\nNONCE=<current-nonce> make step3-execute-proposal-unpause\n```\n\nThis command will:\n\n- Update the proposal's `preOpCount` and `postOpCount` to match the provided `NONCE`.\n- Initialize signatures account.\n- Append signatures.\n- Finalize signatures.\n- Set root.\n- Execute proposal.\n\n## Phase 4: Verification\n\n### 4.1. View transaction on Solana Explorer\n\nVisit the Solana Explorer for your network:\n\n- Mainnet: https://explorer.solana.com/\n- Devnet: https://explorer.solana.com/?cluster=devnet\n\nSearch for the execution transaction and verify:\n\n- The transaction was successful\n- The program logs show `Instruction: SetPauseStatus` (Anchor log)\n- The pause status matches the intended action (paused or unpaused)\n\n### 4.2. Update README\n\nUpdate the Status line in README.md to:\n\n```markdown\nStatus: [EXECUTED](https://explorer.solana.com/tx/<transaction-signature>?cluster=<network>)\n```\n"
  },
  {
    "path": "solana/setup-templates/template-set-pause-bridge/Makefile",
    "content": "include ../.env\ninclude .env\n\ninclude ../../Makefile\n\n##\n# MCM Bridge Pause/Unpause Workflow\n##\n\nPAUSE_OUTPUT = proposal-pause.json\nUNPAUSE_OUTPUT = proposal-unpause.json\n\n# Step 1: Create pause/unpause proposal\n.PHONY: step1-create-proposal-pause\nstep1-create-proposal-pause:\n\t@echo \"==> Step 1: Creating MCM pause/unpause proposal...\"\n\tMCM_PROPOSAL_OUTPUT=$(PAUSE_OUTPUT) PAUSED=true make mcm-proposal-bridge-pause\n\n.PHONY: step1-create-proposal-unpause\nstep1-create-proposal-unpause:\n\t@echo \"==> Step 1: Creating MCM pause/unpause proposal...\"\n\tMCM_PROPOSAL_OUTPUT=$(UNPAUSE_OUTPUT) PAUSED=false make mcm-proposal-bridge-pause\n\n# Step 2: Sign proposals\n.PHONY: sign-pause\nsign-pause:\n\t@echo \"==> Step 2: Signing proposal...\"\n\t@rm -f signatures-pause.txt\n\t@for i in $$(seq 1 20); do \\\n\t\techo \"Iteration $$i: Incrementing preOpCount and postOpCount...\"; \\\n\t\tjq '.rootMetadata.preOpCount += 1 | .rootMetadata.postOpCount += 1' $(PAUSE_OUTPUT) > $(PAUSE_OUTPUT).tmp && mv $(PAUSE_OUTPUT).tmp $(PAUSE_OUTPUT); \\\n\t\tnonce=$$(jq -r '.rootMetadata.preOpCount' $(PAUSE_OUTPUT)); \\\n\t\techo \"Signing nonce $$nonce...\"; \\\n\t\tMCM_PROPOSAL_OUTPUT=$(PAUSE_OUTPUT) make mcm-sign | tee sign_output.tmp; \\\n\t\techo \"Nonce: $$nonce\" >> signatures-pause.txt; \\\n\t\tgrep -E \"^Data:|^Signer:|^Signature:\" sign_output.tmp >> signatures-pause.txt || true; \\\n\t\techo \"\" >> signatures-pause.txt; \\\n\t\trm sign_output.tmp; \\\n\tdone\n\n.PHONY: sign-unpause\nsign-unpause:\n\t@echo \"==> Step 2: Signing proposal...\"\n\t@rm -f signatures-unpause.txt\n\t@for i in $$(seq 1 20); do \\\n\t\techo \"Iteration $$i: Incrementing preOpCount and postOpCount...\"; \\\n\t\tjq '.rootMetadata.preOpCount += 1 | .rootMetadata.postOpCount += 1' $(UNPAUSE_OUTPUT) > $(UNPAUSE_OUTPUT).tmp && mv $(UNPAUSE_OUTPUT).tmp $(UNPAUSE_OUTPUT); \\\n\t\tnonce=$$(jq -r '.rootMetadata.preOpCount' $(UNPAUSE_OUTPUT)); \\\n\t\techo \"Signing nonce $$nonce...\"; \\\n\t\tMCM_PROPOSAL_OUTPUT=$(UNPAUSE_OUTPUT) make mcm-sign | tee sign_output.tmp; \\\n\t\techo \"Nonce: $$nonce\" >> signatures-unpause.txt; \\\n\t\tgrep -E \"^Data:|^Signer:|^Signature:\" sign_output.tmp >> signatures-unpause.txt || true; \\\n\t\techo \"\" >> signatures-unpause.txt; \\\n\t\trm sign_output.tmp; \\\n\tdone\n\n# Step 3: Execute proposal (signatures + set-root + execute)\n.PHONY: step3-execute-proposal-pause\nstep3-execute-proposal-pause:\n\t@echo \"==> Step 3: Executing MCM proposal...\"\n\t@if [ -n \"$(NONCE)\" ]; then \\\n\t\techo \"Updating proposal with nonce $(NONCE)...\"; \\\n\t\tjq '.rootMetadata.preOpCount = $(NONCE) | .rootMetadata.postOpCount = ($(NONCE) + 1)' $(PAUSE_OUTPUT) > $(PAUSE_OUTPUT).tmp && mv $(PAUSE_OUTPUT).tmp $(PAUSE_OUTPUT); \\\n\tfi\n\tMCM_PROPOSAL_OUTPUT=$(PAUSE_OUTPUT) make mcm-all\n\n.PHONY: step3-execute-proposal-unpause\nstep3-execute-proposal-unpause:\n\t@echo \"==> Step 3: Executing MCM proposal...\"\n\t@if [ -n \"$(NONCE)\" ]; then \\\n\t\techo \"Updating proposal with nonce $(NONCE)...\"; \\\n\t\tjq '.rootMetadata.preOpCount = $(NONCE) | .rootMetadata.postOpCount = ($(NONCE) + 1)' $(UNPAUSE_OUTPUT) > $(UNPAUSE_OUTPUT).tmp && mv $(UNPAUSE_OUTPUT).tmp $(UNPAUSE_OUTPUT); \\\n\tfi\n\tMCM_PROPOSAL_OUTPUT=$(UNPAUSE_OUTPUT) make mcm-all"
  },
  {
    "path": "solana/setup-templates/template-set-pause-bridge/README.md",
    "content": "# MCM Bridge Pause/Unpause\n\nStatus: PENDING\n\n## Description\n\nThis task pauses or unpauses the Bridge program using the MCM program. This is a critical security operation that can be used to halt bridge operations in emergency situations or resume them after issues are resolved.\n\nThere are two separate workflows available:\n\n1. **Pause**: Halts all bridge operations.\n2. **Unpause**: Resumes bridge operations.\n\n## Procedure for Signers\n\n### 1. Update repo\n\n```bash\ncd contract-deployments\ngit pull\ncd solana/<network>/<task-directory>\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The **Ethereum application** needs to be opened on Ledger with the message \"Application is ready\".\n\n### 3. Verify the Proposal\n\nIdentify which action you are signing for (Pause or Unpause) and verify the corresponding proposal file.\n\n#### If Pausing (`proposal-pause.json`)\n\n**Verify proposal-level fields:**\n\n- `proposal-pause.json` root field `multisigId` must match `MCM_MULTISIG_ID` from `.env`\n- `proposal-pause.json` root field `validUntil` must match `MCM_VALID_UNTIL` from `.env`\n- The instruction `programId` must match `BRIDGE_PROGRAM_ID` from `.env`\n\n**Verify instruction data:**\n\n1. **Discriminant:**\n\n   ```bash\n   echo -n \"global:set_pause_status\" | shasum -a 256 | cut -c1-16\n   ```\n\n   Expected output: `761991d972d1ec91`\n\n2. **Full instruction data:**\n\n   ```bash\n   jq -r '.instructions[0].data' proposal-pause.json | base64 -d | xxd -p -c 256\n   ```\n\n   Expected output: `761991d972d1ec9101` (ends in `01` for `true`)\n\n#### If Unpausing (`proposal-unpause.json`)\n\n**Verify proposal-level fields:**\n\n- `proposal-unpause.json` root field `multisigId` must match `MCM_MULTISIG_ID` from `.env`\n- `proposal-unpause.json` root field `validUntil` must match `MCM_VALID_UNTIL` from `.env`\n- The instruction `programId` must match `BRIDGE_PROGRAM_ID` from `.env`\n\n**Verify instruction data:**\n\n1. **Discriminant:** (Same as above)\n\n2. **Full instruction data:**\n   ```bash\n   jq -r '.instructions[0].data' proposal-unpause.json | base64 -d | xxd -p -c 256\n   ```\n   Expected output: `761991d972d1ec9100` (ends in `00` for `false`)\n\n### 4. Sign the proposal\n\nRun the signing command for the appropriate action. **Note: This process requires signing multiple times (20 times) to generate signatures for future nonces.**\n\n**To Pause:**\n\n```bash\nmake sign-pause\n```\n\n**To Unpause:**\n\n```bash\nmake sign-unpause\n```\n\nThis command will:\n\n1. Iterate 20 times, incrementing the nonce (preOpCount/postOpCount).\n2. Prompt you to sign on your Ledger for each iteration.\n3. Save all signatures to a text file (`signatures-pause.txt` or `signatures-unpause.txt`).\n\n**Verify on your Ledger**: Check that the data you're signing matches the proposal hash displayed in the terminal for each iteration.\n\n### 5. Send signature to Facilitator\n\nSend the generated signature file (`signatures-pause.txt` or `signatures-unpause.txt`) to the Facilitator via your secure communication channel.\n\n**That's it!** The Facilitator will collect all signatures and execute the proposal.\n\n## For Facilitators\n\nSee [FACILITATORS.md](./FACILITATORS.md) for complete instructions on preparing, executing, and verifying this task.\n"
  },
  {
    "path": "solana/setup-templates/template-update-signers-mcm/FACILITATORS.md",
    "content": "# Facilitator Instructions: MCM Signers Update\n\n## Overview\n\nAs a Facilitator, you are responsible for:\n1. Preparing the new signers configuration\n2. Creating the MCM proposal\n3. Committing and pushing the proposal to the repo\n4. Coordinating with Signers\n5. Collecting signatures\n6. Executing the proposal on-chain\n\n## Prerequisites\n\n```bash\ncd contract-deployments\ngit pull\ncd solana/<network>/<task-directory>\nmake deps\n```\n\nEnsure you have:\n- `mcmctl` installed (via `make deps`)\n- `eip712sign` installed (via `make deps`)\n- A funded Solana wallet configured\n\n## Phase 1: Prepare and Generate Proposal\n\n### 1.1. Update .env with signers configuration\n\nSet the following in `.env`:\n\n```bash\nMCM_PROGRAM_ID=<mcm-program-id>\nMCM_MULTISIG_ID=<multisig-id>\nMCM_VALID_UNTIL=<unix-timestamp>\nMCM_OVERRIDE_PREVIOUS_ROOT=false  # or true if needed\nMCM_PROPOSAL_OUTPUT=proposal.json\n\n# New signers configuration\nMCM_NEW_SIGNERS=0xADDRESS1,0xADDRESS2,0xADDRESS3\nMCM_SIGNER_GROUPS=0,0,1\nMCM_GROUP_QUORUMS=2,1\nMCM_GROUP_PARENTS=0,0\nMCM_CLEAR_SIGNERS=false  # or true if needed\nMCM_CLEAR_ROOT=false  # or true if needed\n```\n\n### 1.2. Generate proposal\n\n```bash\nmake step1-create-proposal\n```\n\nThis creates the proposal file (default `proposal.json` or whatever is set in `MCM_PROPOSAL_OUTPUT`).\n\n### 1.3. Review proposal\n\nOpen and review the generated proposal file to verify:\n- All new signers are included\n- Signer groups are correctly assigned\n- Group quorums are appropriate\n- Group parent relationships are correct\n- Valid until timestamp is appropriate\n\n### 1.4. Commit and push\n\n```bash\ngit add .\ngit commit -m \"Add MCM signers update proposal\"\ngit push\n```\n\n## Phase 2: Coordinate with Signers and Collect Signatures\n\nCoordinate with Signers to collect their signatures. Each Signer will run `make sign` and provide their signature.\n\nConcatenate all signatures in the format: `0xSIG1,0xSIG2,0xSIG3`\n\nOnce you have all required signatures, update `.env`:\n\n```bash\nMCM_SIGNATURES_COUNT=<number-of-signatures>\nMCM_SIGNATURES=0xSIG1,0xSIG2,0xSIG3\n```\n\n## Phase 3: Execute Proposal\n\n```bash\nmake step3-execute-proposal\n```\n\nThis command executes all the necessary steps:\n- Initialize signatures account\n- Append signatures\n- Finalize signatures\n- Set root\n- Execute proposal\n- Print the new configuration\n\n## Phase 4: Verification\n\n### 4.1. Verify MCM configuration\n\nCheck that:\n- All new signers are present\n- Old signers (if removed) are no longer present\n- Signers are in the correct groups\n- Group quorums are set correctly\n- Group parent relationships are correct\n\n### 4.2. View on Solana Explorer\n\nVisit the Solana Explorer for your network:\n- Mainnet: https://explorer.solana.com/\n- Devnet: https://explorer.solana.com/?cluster=devnet\n\nSearch for the execution transaction to verify the update.\n\n### 4.3. Update README\n\nUpdate the Status line in README.md to:\n\n```markdown\nStatus: [EXECUTED](https://explorer.solana.com/tx/<transaction-signature>?cluster=<network>)\n```\n\nReplace `<transaction-signature>` with the execution transaction signature and `<network>` with the appropriate cluster (devnet, mainnet-beta, etc.).\n"
  },
  {
    "path": "solana/setup-templates/template-update-signers-mcm/Makefile",
    "content": "include ../.env\ninclude .env\n\ninclude ../../Makefile\n\n##\n# MCM Signers Update Workflow\n##\n\n# Step 1: Create signers update proposal\n.PHONY: step1-create-proposal\nstep1-create-proposal:\n\t@echo \"==> Step 1: Creating MCM signers update proposal...\"\n\tmake mcm-proposal-update-signers\n\n# Step 2: Sign proposal\n.PHONY: sign\nsign:\n\t@echo \"==> Step 2: Signing proposal...\"\n\tmake mcm-sign\n\n# Step 3: Execute proposal (signatures + set-root + execute)\n.PHONY: step3-execute-proposal\nstep3-execute-proposal:\n\t@echo \"==> Step 3: Executing MCM proposal...\"\n\tmake mcm-all\n\tmake mcm-signers-print-config\n"
  },
  {
    "path": "solana/setup-templates/template-update-signers-mcm/README.md",
    "content": "# MCM Signers Update via Multi-Chain Multisig\n\nStatus: PENDING\n\n## Description\n\nThis task updates the signers configuration for a Multi-Chain Multisig (MCM) instance. This includes adding or removing signers, modifying signer groups, adjusting group quorums, and updating group parent relationships.\n\n## Procedure for Signers\n\n### 1. Update repo\n\n```bash\ncd contract-deployments\ngit pull\ncd solana/<network>/<task-directory>\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The **Ethereum application** needs to be opened on Ledger with the message \"Application is ready\".\n\n### 3. Verify the Proposal\n\nBefore signing, verify the proposal contents to ensure it matches expectations.\n\n#### 3.1. Verify Program ID\n\nOpen `proposal.json` and verify that all instructions use the MCM program ID. The program ID should be documented in the task-specific README or deployment artifacts.\n\n#### 3.2. Verify Instruction Sequence\n\nThe MCM signer update process involves multiple instructions in a specific sequence:\n- **(Optional) ClearSigners** - only if `MCM_CLEAR_SIGNERS=true` in `.env`\n- **0: InitSigners**\n- **1..N: AppendSigners** - one or more (batches of max 10 signers each)\n- **N+1: FinalizeSigners**\n- **N+2: SetConfig**\n\n**Before verifying individual instructions, check:**\n- All instructions must use `MCM_PROGRAM_ID` as their `programId`\n- `proposal.json` root field `multisigId` must match `MCM_MULTISIG_ID` from `.env`\n- `proposal.json` root field `validUntil` must match `MCM_VALID_UNTIL` from `.env`\n\n#### 3.2.1. (Optional) ClearSigners\n\nThis instruction is only present if `MCM_CLEAR_SIGNERS=true` in `.env`.\n\n**Verify discriminant:**\n\n```bash\necho -n \"global:clear_signers\" | shasum -a 256 | cut -c1-16\n```\n\nExpected output: `5a8caa92804b64af`\n\n**Verify full instruction data:**\n\n```bash\njq -r '.instructions[N].data' proposal.json | base64 -d | xxd -p -c 256\n```\n\nExpected output format: `5a8caa92804b64af[MULTISIG_ID (32 bytes)]`\n\n**Parameters:**\n- **multisig_id** (32 bytes): The multisig instance identifier\n  - **Verify:** Must match `MCM_MULTISIG_ID` from `.env`\n\n#### 3.2.2. Instruction 0: InitSigners\n\nInitializes the signer storage.\n\n**Verify discriminant:**\n\n```bash\necho -n \"global:init_signers\" | shasum -a 256 | cut -c1-16\n```\n\nExpected output: `66b681108a8edfc4`\n\n**Verify full instruction data:**\n\n```bash\njq -r '.instructions[N].data' proposal.json | base64 -d | xxd -p -c 256\n```\n\nExpected output format: `66b681108a8edfc4[MULTISIG_ID (32 bytes)][TOTAL_SIGNERS (1 byte)]`\n\n**Parameters:**\n- **multisig_id** (32 bytes): The multisig instance identifier\n  - **Verify:** Must match `MCM_MULTISIG_ID` from `.env`\n- **total_signers** (u8, 1 byte): Total number of signers to be added\n  - **Verify:** Must equal the count of comma-separated addresses in `MCM_NEW_SIGNERS` from `.env`\n\n#### 3.2.3. Instructions 1..N: AppendSigners\n\nAdds signer addresses in batches. May appear multiple times (max 10 signers per batch).\n\n**Verify discriminant:**\n\n```bash\necho -n \"global:append_signers\" | shasum -a 256 | cut -c1-16\n```\n\nExpected output: `eed1fb2729f19219`\n\n**Verify full instruction data:**\n\n```bash\njq -r '.instructions[N].data' proposal.json | base64 -d | xxd -p -c 256\n```\n\nExpected output format: `eed1fb2729f19219[MULTISIG_ID (32 bytes)][VEC_LENGTH (u32 LE, 4 bytes)][SIGNER_1 (20 bytes)]...[SIGNER_N (20 bytes)]`\n\n**Parameters:**\n- **multisig_id** (32 bytes): The multisig instance identifier\n  - **Verify:** Must match `MCM_MULTISIG_ID` from `.env`\n- **signers_batch** (Vec<[u8; 20]>):\n  - Length (u32 little-endian, 4 bytes): Number of signers in this batch\n  - Signer addresses (20 bytes each): Ethereum addresses\n  - **Verify:** All signer addresses across all AppendSigners instructions (concatenated in order) must match the comma-separated addresses in `MCM_NEW_SIGNERS` from `.env`\n\n**Note:** Total signers across all AppendSigners instructions must match `total_signers` from InitSigners.\n\n#### 3.2.4. Instruction N+1: FinalizeSigners\n\nFinalizes the signer list.\n\n**Verify discriminant:**\n\n```bash\necho -n \"global:finalize_signers\" | shasum -a 256 | cut -c1-16\n```\n\nExpected output: `31fe9ae289c7783f`\n\n**Verify full instruction data:**\n\n```bash\njq -r '.instructions[N].data' proposal.json | base64 -d | xxd -p -c 256\n```\n\nExpected output format: `31fe9ae289c7783f[MULTISIG_ID (32 bytes)]`\n\n**Parameters:**\n- **multisig_id** (32 bytes): The multisig instance identifier\n  - **Verify:** Must match `MCM_MULTISIG_ID` from `.env`\n\n#### 3.2.5. Instruction N+2: SetConfig\n\nSets the final multisig configuration (groups, quorums, and parents).\n\n**Verify discriminant:**\n\n```bash\necho -n \"global:set_config\" | shasum -a 256 | cut -c1-16\n```\n\nExpected output: `6c9e9aafd4623442`\n\n**Verify full instruction data:**\n\n```bash\njq -r '.instructions[N].data' proposal.json | base64 -d | xxd -p -c 256\n```\n\nExpected output format: `6c9e9aafd4623442[MULTISIG_ID (32 bytes)][SIGNER_GROUPS_VEC_LENGTH (u32 LE, 4 bytes)][SIGNER_GROUPS (N bytes)][GROUP_QUORUMS (32 bytes)][GROUP_PARENTS (32 bytes)][CLEAR_ROOT (1 byte)]`\n\n**Parameters:**\n- **multisig_id** (32 bytes): The multisig instance identifier\n  - **Verify:** Must match `MCM_MULTISIG_ID` from `.env`\n- **signer_groups** (Vec<u8>):\n  - Length (u32 little-endian, 4 bytes): Number of signers\n  - Group assignments (u8, 1 byte each): Group ID for each signer\n  - **Verify:** Must match comma-separated values in `MCM_SIGNER_GROUPS` from `.env`\n- **group_quorums** (array of 32 u8): Quorum threshold for each group\n  - **Verify:** Must match comma-separated values in `MCM_GROUP_QUORUMS` from `.env` (remaining bytes padded with zeros)\n- **group_parents** (array of 32 u8): Parent group ID for each group\n  - **Verify:** Must match comma-separated values in `MCM_GROUP_PARENTS` from `.env` (remaining bytes padded with zeros)\n- **clear_root** (bool, 1 byte): Whether to clear the previous root\n  - **Verify:** Must match `MCM_CLEAR_ROOT` from `.env`: `true` = `01`, `false` or omitted = `00`\n\n#### 3.3. Verify Proposal Metadata\n\nCheck the proposal metadata in `proposal.json`:\n\n- **validUntil**: Unix timestamp - verify this is in the future (typically within 7 days)\n- **multisig**: The MCM multisig address for this network\n- **preOpCount**: The operation count before this proposal\n- **postOpCount**: Should be preOpCount + total number of instructions\n\n### 4. Sign the proposal\n\n```bash\nmake sign\n```\n\nThis command will:\n1. Display the proposal hash\n2. Prompt you to sign on your Ledger\n3. Output your signature\n\n**Verify on your Ledger**: Check that the data you're signing matches the proposal hash displayed in the terminal.\n\nAfter signing, you will see output like:\n\n```\nSignature: 1234567890abcdef...\n```\n\n### 5. Send signature to Facilitator\n\nCopy the **entire signature** and send it to the Facilitator via your secure communication channel.\n\n**That's it!** The Facilitator will collect all signatures and execute the proposal.\n\n## For Facilitators\n\nSee [FACILITATORS.md](./FACILITATORS.md) for complete instructions on preparing, executing, and verifying this task.\n"
  },
  {
    "path": "solana/setup-templates/template-upgrade-bridge/.gitignore",
    "content": "bridge/\n*keypair.json\n"
  },
  {
    "path": "solana/setup-templates/template-upgrade-bridge/FACILITATORS.md",
    "content": "# Facilitator Instructions: Bridge Program Upgrade\n\n## Overview\n\nAs a Facilitator, you are responsible for:\n1. Preparing the bridge program upgrade buffer\n2. Creating the upgrade proposal\n3. Coordinating with Signers and collecting signatures\n4. Executing the proposal on-chain\n\n## Prerequisites\n\n```bash\ncd contract-deployments\ngit pull\ncd solana/<network>/<task-directory>\nmake setup-deps\n```\n\nEnsure you have:\n- Rust toolchain installed (via `make setup-deps`)\n- Solana CLI installed and configured (via `make setup-deps`)\n- Anchor CLI installed \n- `mcmctl` installed (via `make deps`)\n- `eip712sign` installed (via `make deps`)\n- A funded Solana wallet configured\n\n## Phase 1: Prepare Bridge Program Upgrade\n\n### 1.1. Update .env for bridge program upgrade\n\nSet the following in `.env`:\n\n```bash\nBRIDGE_REPO=<bridge-repo-url>\nBRIDGE_COMMIT=<commit-hash>\nBRIDGE_KEYPAIR=<path-to-bridge-keypair.json>\nBASE_RELAYER_KEYPAIR=<path-to-base-relayer-keypair.json>\nDEPLOY_ENV=<deploy-environment>\n```\n\nThen run:\n\n```bash\nmake step1-clone-bridge\n```\n\nThis will:\n- Remove any existing `bridge` directory\n- Clone the bridge repository\n- Checkout the specified commit\n- Install and build TypeScript clients\n- Install script dependencies\n\n### 1.2. Build the bridge programs\n\n```bash\nmake step2-build-programs\n```\n\nThis builds the bridge programs. The compiled binary will be in `bridge/solana/target/deploy/bridge.so`.\n\nThe build process:\n- Copies keypairs to the target directory\n- Synchronizes Anchor keys\n- Builds using the bridge CLI script\n\n### 1.3. Write program buffer\n\nAdd the following variable to `.env`:\n\n```bash\nPROGRAM_BINARY=bridge/solana/target/deploy/bridge.so\n```\n\nThen run:\n\n```bash\nmake step3-write-buffer\n```\n\nThis will output a buffer address. Copy it and add to `.env`:\n\n```bash\nBUFFER=<buffer-address-from-output>\n```\n\n### 1.4. Transfer buffer authority to MCM\n\nAdd the following variables to `.env`:\n\n```bash\nMCM_AUTHORITY=<mcm-authority-pda>\n```\n\nThen run:\n\n```bash\nmake step4-transfer-buffer\n```\n\nThis transfers the buffer authority from your wallet to the MCM authority PDA. The buffer is now controlled by MCM.\n\nCopy the transaction signature from the output.\n\n### 1.5. Generate set-buffer-authority artifacts\n\nFind the transaction signature from step 1.4 on Solana Explorer and add to `.env`:\n\n```bash\nSET_BUFFER_AUTHORITY_SIGNATURE=<transaction-signature>\n```\n\nThen generate the artifacts:\n\n```bash\nmake step5-generate-set-buffer-authority-artifacts\n```\n\nThis creates `artifacts/set-buffer-authority-artifacts.json` which will be used in the upgrade proposal.\n\n### 1.6. Create upgrade proposal\n\nAdd the following variables to `.env`:\n\n```bash\n# Common MCM Proposal Variables\nMCM_PROGRAM_ID=<mcm-program-id>\nMCM_MULTISIG_ID=<multisig-id>\nMCM_VALID_UNTIL=<unix-timestamp>\nMCM_OVERRIDE_PREVIOUS_ROOT=false  # or true if needed\nMCM_PROPOSAL_OUTPUT=proposal.json\n\nPROGRAM=<bridge-program-address>\nSPILL=<your-wallet-address>\n```\n\nThen run:\n\n```bash\nmake step6-create-upgrade-proposal\n```\n\nThis creates `upgrade-proposal.json` with the program upgrade instruction.\n\n### 1.7. Review upgrade proposal\n\nOpen and review `upgrade-proposal.json` to verify:\n- Program address matches `PROGRAM`\n- Buffer address matches `BUFFER`\n- Spill address is correct\n- All instructions are correct\n\n## Phase 2: Coordinate with Signers and Collect Signatures\n\nCoordinate with Signers to collect their signatures. Each Signer will run `make sign` and provide their signature.\n\nConcatenate all signatures in the format: `0xSIG1,0xSIG2,0xSIG3`\n\nOnce you have all required signatures, add to `.env`:\n\n```bash\nMCM_SIGNATURES_COUNT=<number-of-signatures>\nMCM_SIGNATURES=0xSIG1,0xSIG2,0xSIG3\n```\n\n## Phase 3: Execute Proposal\n\n### 3.1. Add execution variables to .env\n\nAdd the following variables to `.env`:\n\n```bash\nAUTHORITY=<your-wallet-keypair-path>\n```\n\n### 3.2. Execute the proposal\n\n```bash\nmake step8-execute-proposal\n```\n\nThis command executes all the necessary steps:\n- Initialize signatures account\n- Append signatures\n- Finalize signatures\n- Set root\n- Execute both operations (config update + program upgrade)\n\n## Phase 4: Verification\n\n### 4.1. Verify program upgrade on Solana Explorer\n\nVisit the Solana Explorer for your network:\n- Mainnet: https://explorer.solana.com/\n- Devnet: https://explorer.solana.com/?cluster=devnet\n\nSearch for the bridge program address (`$PROGRAM`) and verify:\n- The \"Last Deployed Slot\" is recent\n- The upgrade authority is still the MCM authority\n- The program was upgraded successfully\n\n### 4.2. Update README\n\nUpdate the Status line in README.md to:\n\n```markdown\nStatus: [EXECUTED](https://explorer.solana.com/tx/<transaction-signature>?cluster=<network>)\n```\n\nReplace `<transaction-signature>` with the execution transaction signature and `<network>` with the appropriate cluster (devnet, devnet-alpha, mainnet-beta, etc.)."
  },
  {
    "path": "solana/setup-templates/template-upgrade-bridge/Makefile",
    "content": "include ../.env\ninclude .env\n\ninclude ../../Makefile\n\n.PHONY: install-rust\ninstall-rust:\n\tcurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y\n\trustup toolchain install $(RUST_TOOLCHAIN) && \\\n    rustup default $(RUST_TOOLCHAIN)\n\n.PHONY: install-solana-cli\ninstall-solana-cli:\n\tcurl -sSfL https://release.anza.xyz/v$(SOLANA_VERSION)/install | sh\n\n.PHONY: install-anchor\ninstall-anchor:\n\tcargo install --git https://github.com/coral-xyz/anchor --tag v$(ANCHOR_VERSION) anchor-cli --force\n\n.PHONY: setup-deps\nsetup-deps: install-rust install-solana-cli install-anchor\n\n##\n# MCM Program Upgrade Workflow\n##\n\n# Step 1: Clone the bridge repo\n.PHONY: step1-clone-bridge\nstep1-clone-bridge:\n\t@echo \"==> Step 1: Cloning the bridge repo...\"\n\t@ rm -rf bridge\n\t@ git clone --filter=blob:none $(BRIDGE_REPO) bridge\n\t@ cd bridge && \\\n\t\tgit checkout $(BRIDGE_COMMIT)\n\t@ cd bridge/clients/ts && \\\n\t\tbun install && \\\n\t\tbun run build\n\t@ cd bridge/scripts && \\\n\t\tbun install\n\n# Step 2: Build the bridge programs\n.PHONY: step2-build-programs\nstep2-build-programs:\n\t@echo \"==> Step 2: Building bridge programs...\"\n\tmkdir -p bridge/solana/target/deploy && \\\n\t\tcp $(BRIDGE_KEYPAIR) bridge/solana/target/deploy/bridge-keypair.json && \\\n\t\tcp $(BASE_RELAYER_KEYPAIR) bridge/solana/target/deploy/base_relayer-keypair.json && \\\n\tcd bridge/solana && \\\n\t\tanchor keys sync\n\tcd bridge/scripts && \\\n\t\tbun cli sol build \\\n\t\t--deploy-env $(DEPLOY_ENV) \\\n\t\t--bridge-program-kp ../../$(BRIDGE_KEYPAIR) \\\n\t\t--base-relayer-program-kp ../../$(BASE_RELAYER_KEYPAIR)\n\n# Step 3: Write program buffer\n.PHONY: step3-write-buffer\nstep3-write-buffer:\n\t@echo \"==> Step 3: Writing program buffer...\"\n\tmake sol-write-buffer\n\n# Step 4: Transfer buffer authority to MCM\n.PHONY: step4-transfer-buffer\nstep4-transfer-buffer:\n\t@echo \"==> Step 4: Transferring buffer authority to MCM...\"\n\tmake sol-set-buffer-authority\n\n# Step 5: Generate set-buffer-authority artifacts (use solana explorer to get the signature of the set-buffer-authority tx)\n.PHONY: step5-generate-set-buffer-authority-artifacts\nstep5-generate-set-buffer-authority-artifacts:\n\t@echo \"==> Step 5: Generating MCM set-buffer-authority artifacts...\"\n\tmake sol-confirm SIG=$(SET_BUFFER_AUTHORITY_SIGNATURE) output=artifacts/set-buffer-authority-artifacts.json\n\n# Step 6: Create upgrade proposal\n.PHONY: step6-create-proposal\nstep6-create-proposal:\n\t@echo \"==> Step 6: Creating MCM upgrade proposal...\"\n\tmake mcm-proposal-loader-v3-upgrade\n\n# Step 7: Sign proposal\n.PHONY: sign\nsign:\n\t@echo \"==> Step 7: Signing proposal...\"\n\tmake mcm-sign\n\n# Step 8: Execute proposal (signatures + set-root + execute)\n.PHONY: step8-execute-proposal\nstep8-execute-proposal:\n\t@echo \"==> Step 8: Executing MCM proposal...\"\n\tmake mcm-all\n"
  },
  {
    "path": "solana/setup-templates/template-upgrade-bridge/README.md",
    "content": "# Upgrade Bridge Program \n\nStatus: PENDING\n\n## Description\n\nThis task upgrades the bridge program using the Multi-Chain Multisig (MCM) governance system.\n\n## Procedure for Signers\n\n### 1. Update repo\n\n```bash\ncd contract-deployments\ngit pull\ncd solana/<network>/<task-directory>\nmake deps\n```\n\n### 2. Setup Ledger\n\nYour Ledger needs to be connected and unlocked. The **Ethereum application** needs to be opened on Ledger with the message \"Application is ready\".\n\n### 3. Verify the Proposal\n\n#### 3.1. Verify Instruction 1 (BPF Loader Upgradeable - Upgrade)\n\n**Program ID:**\n\nVerify instruction 1 has program ID: `BPFLoaderUpgradeab1e11111111111111111111111`\n\n**Instruction Data:**\n\nVerify this is the Upgrade instruction (discriminant = 3):\n\n```bash\njq -r '.instructions[0].data' proposal.json | base64 -d | xxd -p -c 256\n```\n\nExpected output: `03000000`\n\nThis is the u32 little-endian representation of 3, which corresponds to the [Upgrade](https://github.com/solana-program/loader-v3/blob/main/program/src/instruction.rs#L223) instruction in BPF Loader Upgradeable.\n\n### 4. Sign the proposal\n\n```bash\nmake sign\n```\n\nThis command will:\n1. Display the proposal hash\n2. Prompt you to sign on your Ledger\n3. Output your signature\n\n**Verify on your Ledger**: Check that the data you're signing matches the proposal hash displayed in the terminal.\n\nAfter signing, you will see output like:\n\n```\nSignature: 1234567890abcdef...\n```\n\n### 5. Send signature to Facilitator\n\nCopy the **entire signature** and send it to the Facilitator via your secure communication channel.\n\n**That's it!** The Facilitator will collect all signatures and execute the proposal.\n\n## For Facilitators\n\nSee [FACILITATORS.md](./FACILITATORS.md) for complete instructions on preparing, executing, and verifying this task.\n"
  },
  {
    "path": "zeronet/2026-03-19-deploy-proxy-admin/DeployNestedOwnership.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.24;\n\nimport {Script} from \"forge-std/Script.sol\";\nimport {Safe} from \"safe-smart-account/contracts/Safe.sol\";\nimport {SafeProxyFactory} from \"safe-smart-account/contracts/proxies/SafeProxyFactory.sol\";\nimport {stdJson} from \"forge-std/StdJson.sol\";\nimport {Strings} from \"@openzeppelin/contracts/utils/Strings.sol\";\nimport {console} from \"forge-std/console.sol\";\n\n// Deploys a nested 3-Safe ownership structure for use as proxyAdminOwner.\n//\n// Structure:\n//   SafeA — 3-of-13 multisig (individual signers)\n//   SafeB — 1-of-13 multisig (same individual signers)\n//   SafeC — 2-of-2 multisig owned by SafeA and SafeB\n//\n// SafeC becomes the proxyAdminOwner / l1ProxyAdminOwner.\n// l2ProxyAdminOwner = uint160(SafeC) + 0x1111000000000000000000000000000000001111\n//\n// Required env vars:\n//   L1_GNOSIS_SAFE_IMPLEMENTATION         — address of Gnosis Safe singleton\n//   L1_GNOSIS_COMPATIBILITY_FALLBACK_HANDLER — address of compatibility fallback handler\n//   SAFE_PROXY_FACTORY                    — address of SafeProxyFactory\n//\n// Required input file (same directory as this script):\n//   addresses.json — { \"owners\": [\"0x...\", ...] }  (exactly 13 addresses)\n//\n// Output file written after deployment:\n//   deployed-addresses.json — { \"SafeA\": \"0x...\", \"SafeB\": \"0x...\", \"SafeC\": \"0x...\" }\n//\n// Run:\n//   forge script DeployNestedOwnership.sol --rpc-url $L1_RPC_URL --broadcast --sender $DEPLOYER\n\ncontract DeployNestedOwnership is Script {\n    using Strings for address;\n    using stdJson for string;\n\n    address public immutable SAFE_IMPLEMENTATION;\n    address public immutable FALLBACK_HANDLER;\n    address public immutable SAFE_PROXY_FACTORY;\n    address public zAddr;\n\n    uint256 constant SAFE_A_THRESHOLD = 3;\n    uint256 constant SAFE_B_THRESHOLD = 1;\n    uint256 constant SAFE_C_THRESHOLD = 2;\n    uint256 constant EXPECTED_OWNER_COUNT = 13;\n\n    constructor() {\n        SAFE_IMPLEMENTATION = vm.envAddress(\"L1_GNOSIS_SAFE_IMPLEMENTATION\");\n        FALLBACK_HANDLER = vm.envAddress(\"L1_GNOSIS_COMPATIBILITY_FALLBACK_HANDLER\");\n        SAFE_PROXY_FACTORY = vm.envAddress(\"SAFE_PROXY_FACTORY\");\n    }\n\n    function run() public {\n        string memory json = vm.readFile(\"addresses.json\");\n        address[] memory owners = abi.decode(json.parseRaw(\".owners\"), (address[]));\n\n        require(owners.length == EXPECTED_OWNER_COUNT, \"Expected 13 owners in addresses.json\");\n\n        console.log(\"Deploying SafeA (3-of-13) with owners:\");\n        _printOwners(owners);\n        console.log(\"Deploying SafeB (1-of-13) with same owners\");\n\n        vm.startBroadcast();\n        address safeA = _createAndInitProxy(owners, SAFE_A_THRESHOLD);\n        address safeB = _createAndInitProxy(owners, SAFE_B_THRESHOLD);\n\n        address[] memory safeCOwners = new address[](2);\n        safeCOwners[0] = safeA;\n        safeCOwners[1] = safeB;\n        address safeC = _createAndInitProxy(safeCOwners, SAFE_C_THRESHOLD);\n        vm.stopBroadcast();\n\n        _postCheck(safeA, safeB, safeC, owners);\n\n        vm.writeFile(\n            \"deployed-addresses.json\",\n            string.concat(\n                \"{\",\n                \"\\\"SafeA\\\": \\\"\", safeA.toHexString(), \"\\\",\",\n                \"\\\"SafeB\\\": \\\"\", safeB.toHexString(), \"\\\",\",\n                \"\\\"SafeC\\\": \\\"\", safeC.toHexString(), \"\\\"\",\n                \"}\"\n            )\n        );\n    }\n\n    function _postCheck(\n        address safeAAddr,\n        address safeBAddr,\n        address safeCAddr,\n        address[] memory expectedOwners\n    ) private view {\n        Safe safeA = Safe(payable(safeAAddr));\n        Safe safeB = Safe(payable(safeBAddr));\n        Safe safeC = Safe(payable(safeCAddr));\n\n        require(safeA.getThreshold() == SAFE_A_THRESHOLD, \"PostCheck: SafeA threshold\");\n        require(safeB.getThreshold() == SAFE_B_THRESHOLD, \"PostCheck: SafeB threshold\");\n        require(safeC.getThreshold() == SAFE_C_THRESHOLD, \"PostCheck: SafeC threshold\");\n\n        address[] memory safeAOwners = safeA.getOwners();\n        address[] memory safeBOwners = safeB.getOwners();\n        address[] memory safeCOwners = safeC.getOwners();\n\n        require(safeAOwners.length == EXPECTED_OWNER_COUNT, \"PostCheck: SafeA owner count\");\n        require(safeBOwners.length == EXPECTED_OWNER_COUNT, \"PostCheck: SafeB owner count\");\n        require(safeCOwners.length == 2, \"PostCheck: SafeC owner count\");\n\n        for (uint256 i; i < expectedOwners.length; i++) {\n            require(safeAOwners[i] == expectedOwners[i], \"PostCheck: SafeA owner mismatch\");\n            require(safeBOwners[i] == expectedOwners[i], \"PostCheck: SafeB owner mismatch\");\n        }\n\n        require(safeC.isOwner(safeAAddr), \"PostCheck: SafeC should have SafeA as owner\");\n        require(safeC.isOwner(safeBAddr), \"PostCheck: SafeC should have SafeB as owner\");\n\n        console.log(\"PostCheck passed\");\n        console.log(\"SafeA:\", safeAAddr);\n        console.log(\"SafeB:\", safeBAddr);\n        console.log(\"SafeC:\", safeCAddr);\n    }\n\n    function _createAndInitProxy(address[] memory owners, uint256 threshold) private returns (address) {\n        bytes memory initializer =\n            abi.encodeCall(Safe.setup, (owners, threshold, zAddr, \"\", FALLBACK_HANDLER, zAddr, 0, payable(zAddr)));\n        return address(SafeProxyFactory(SAFE_PROXY_FACTORY).createProxyWithNonce(SAFE_IMPLEMENTATION, initializer, 0));\n    }\n\n    function _printOwners(address[] memory owners) private pure {\n        for (uint256 i; i < owners.length; i++) {\n            console.logAddress(owners[i]);\n        }\n    }\n}\n"
  },
  {
    "path": "zeronet/2026-03-19-deploy-proxy-admin/Makefile",
    "content": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 1\nendif\n\n.PHONY: deps\ndeps:\n\tforge install --no-git safe-global/safe-smart-account@21dc82410445637820f600c7399a804ad55841d5\n\n.PHONY: dryrun\ndryrun:\n\tforge script --rpc-url $(L1_RPC_URL) DeployNestedOwnership --account testnet-admin -vvvv\n\n.PHONY: deploy\ndeploy:\n\tforge script --rpc-url $(L1_RPC_URL) DeployNestedOwnership --account testnet-admin --broadcast -vvvv\n"
  },
  {
    "path": "zeronet/2026-03-19-deploy-proxy-admin/README.md",
    "content": "# Deploy Proxy Admin (Nested Safe Ownership)\n\nStatus: EXECUTED\n\n## Overview\n\nDeploys a nested 3-Safe ownership structure to serve as the `proxyAdminOwner` on Zedinet (Hoodi testnet, L1 chain ID 560048).\n\nStructure:\n- **SafeA** — 3-of-13 multisig (individual signers)\n- **SafeB** — 1-of-13 multisig (same individual signers)\n- **SafeC** — 2-of-2 multisig owned by SafeA and SafeB\n\nSafeC becomes the `proxyAdminOwner` / `l1ProxyAdminOwner`.\n\n## Procedure\n\n### 1. Update repo and install dependencies\n\n```bash\ncd contract-deployments\ngit pull\ncd zedinet/2026-03-19-deploy-proxy-admin\nmake deps\n```\n\n### 2. Configure environment\n\nEnsure the following variables are set (in `zedinet/.env` or a local `.env`):\n\n```\nL1_GNOSIS_SAFE_IMPLEMENTATION=<address>\nL1_GNOSIS_COMPATIBILITY_FALLBACK_HANDLER=<address>\nSAFE_PROXY_FACTORY=<address>\n```\n\n### 3. Verify `addresses.json`\n\nConfirm that `addresses.json` contains exactly 13 owner addresses:\n\n```json\n{\n  \"owners\": [\"0x...\", ...]\n}\n```\n\n### 4. Deploy the Safes\n\n```bash\nmake deploy\n```\n\nThis will deploy SafeA, SafeB, and SafeC onchain and write their addresses to `deployed-addresses.json`. Commit this file to the repo.\n\n### 5. Update `zedinet/.env`\n\nAfter deployment, populate the following variables in `zedinet/.env` with the SafeC address from `deployed-addresses.json`:\n\n```\nBASE_SECURITY_COUNCIL=<SafeC address>\nCB_COORDINATOR_MULTISIG=<SafeC address>\nCB_MULTISIG=<SafeC address>\nINCIDENT_MULTISIG=<SafeC address>\nOP_MULTISIG=<SafeC address>\nPROXY_ADMIN_OWNER=<SafeC address>\n```\n"
  },
  {
    "path": "zeronet/2026-03-19-deploy-proxy-admin/addresses.json",
    "content": "{\n  \"owners\": [\n    \"0x931E24B032511d8dD029AedeB44837FAc251f3d8\",\n    \"0x0CF2F86C3338993ce10F74d6f4B095712c7efe26\",\n    \"0x420c8fE1dDb0593c71487445576c87c17f177179\",\n    \"0xE45AC81eA7f53dea5f0bd6Caa0733DD5c02d3b60\",\n    \"0x9986ccaf9E3DE0fFEF82a0f7fA3a06D5aFe07252\",\n    \"0x4ffd98B5EEA905eC25aA3daF180552F67873Ed78\",\n    \"0x5F1955729e3D6129FB73813E891742D473fc74F7\",\n    \"0x6e427c3212C0b63BE0C382F97715D49b011bFF33\",\n    \"0xEdecf2c444559210a865a22acfc6A2a25590Ab1b\",\n    \"0xb2d9a52e76841279EF0372c534C539a4f68f8C0B\",\n    \"0x644d0F5c2C55A4679b4BFe057B87ba203AF9aC0D\",\n    \"0x7f10098BD53519c739cA8A404afE127647D94774\",\n    \"0xEE316Db0eDaee45347DfC498795a01311F085225\"\n  ]\n}\n"
  },
  {
    "path": "zeronet/2026-03-19-deploy-proxy-admin/deployed-addresses.json",
    "content": "{\"SafeA\": \"0x856611ed7e07d83243b15e93f6321f2df6865852\",\"SafeB\": \"0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\",\"SafeC\": \"0x3d59999977e0896ee1f8783bb8251df16fb483e9\"}"
  },
  {
    "path": "zeronet/2026-03-19-deploy-proxy-admin/foundry.toml",
    "content": "[profile.default]\nsrc = '.'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 200\nsolc_version = \"0.8.24\"\nvia-ir = false\nremappings = [\n    'forge-std/=lib/forge-std/src/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/',\n    'safe-smart-account/=lib/safe-smart-account/',\n]\nskip = [\n    \"lib/**/test/**\",\n    \"lib/**/tests/**\",\n    \"lib/**/certora/**\",\n]\n\n[lint]\nlint_on_build = false\n"
  },
  {
    "path": "zeronet/2026-03-19-deploy-proxy-admin/records/DeployNestedOwnership.sol/560048/run-1773955648605.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x14f8e13fd77c6491d89db143d53ec302916f38442d14731f292db6532b474329\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67\",\n      \"function\": \"createProxyWithNonce(address,bytes,uint256)\",\n      \"arguments\": [\n        \"0x41675C099F32341bf84BFc5382aF534df5C7461a\",\n        \"0xb63e800d00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000fd0732dc9e303f09fcef3a7388ad10a83459ec99000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000931e24b032511d8dd029aedeb44837fac251f3d80000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe26000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b600000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe072520000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000005f1955729e3d6129fb73813e891742d473fc74f70000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff33000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d0000000000000000000000007f10098bd53519c739ca8a404afe127647d94774000000000000000000000000ee316db0edaee45347dfc498795a01311f0852250000000000000000000000000000000000000000000000000000000000000000\",\n        \"0\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x70ef7bd10e24f6a24418015f6052b480d366fbf8\",\n        \"to\": \"0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67\",\n        \"gas\": \"0xc1064\",\n        \"value\": \"0x0\",\n        \"input\": \"0x1688f0b900000000000000000000000041675c099f32341bf84bfc5382af534df5c7461a0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e4b63e800d00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000fd0732dc9e303f09fcef3a7388ad10a83459ec99000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000931e24b032511d8dd029aedeb44837fac251f3d80000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe26000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b600000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe072520000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000005f1955729e3d6129fb73813e891742d473fc74f70000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff33000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d0000000000000000000000007f10098bd53519c739ca8a404afe127647d94774000000000000000000000000ee316db0edaee45347dfc498795a01311f085225000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x3\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [\n        {\n          \"transactionType\": \"CREATE2\",\n          \"contractName\": null,\n          \"address\": \"0x856611ed7e07d83243b15e93f6321f2df6865852\",\n          \"initCode\": \"0x608060405234801561001057600080fd5b506040516101e63803806101e68339818101604052602081101561003357600080fd5b8101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806101c46022913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060ab806101196000396000f3fe608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea264697066735822122003d1488ee65e08fa41e58e888a9865554c535f2c77126a82cb4c0f917f31441364736f6c63430007060033496e76616c69642073696e676c65746f6e20616464726573732070726f766964656400000000000000000000000041675c099f32341bf84bfc5382af534df5c7461a\"\n        }\n      ],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x9c41c6acd0edf4bd18d3ad581cd59a68e002ccaa88fb1b2a06bc3447458018e5\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67\",\n      \"function\": \"createProxyWithNonce(address,bytes,uint256)\",\n      \"arguments\": [\n        \"0x41675C099F32341bf84BFc5382aF534df5C7461a\",\n        \"0xb63e800d00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000fd0732dc9e303f09fcef3a7388ad10a83459ec99000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000931e24b032511d8dd029aedeb44837fac251f3d80000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe26000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b600000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe072520000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000005f1955729e3d6129fb73813e891742d473fc74f70000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff33000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d0000000000000000000000007f10098bd53519c739ca8a404afe127647d94774000000000000000000000000ee316db0edaee45347dfc498795a01311f0852250000000000000000000000000000000000000000000000000000000000000000\",\n        \"0\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x70ef7bd10e24f6a24418015f6052b480d366fbf8\",\n        \"to\": \"0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67\",\n        \"gas\": \"0xc1064\",\n        \"value\": \"0x0\",\n        \"input\": \"0x1688f0b900000000000000000000000041675c099f32341bf84bfc5382af534df5c7461a0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e4b63e800d00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000fd0732dc9e303f09fcef3a7388ad10a83459ec99000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000931e24b032511d8dd029aedeb44837fac251f3d80000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe26000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b600000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe072520000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000005f1955729e3d6129fb73813e891742d473fc74f70000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff33000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d0000000000000000000000007f10098bd53519c739ca8a404afe127647d94774000000000000000000000000ee316db0edaee45347dfc498795a01311f085225000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x4\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [\n        {\n          \"transactionType\": \"CREATE2\",\n          \"contractName\": null,\n          \"address\": \"0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\",\n          \"initCode\": \"0x608060405234801561001057600080fd5b506040516101e63803806101e68339818101604052602081101561003357600080fd5b8101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806101c46022913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060ab806101196000396000f3fe608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea264697066735822122003d1488ee65e08fa41e58e888a9865554c535f2c77126a82cb4c0f917f31441364736f6c63430007060033496e76616c69642073696e676c65746f6e20616464726573732070726f766964656400000000000000000000000041675c099f32341bf84bfc5382af534df5c7461a\"\n        }\n      ],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x012c9b49abc7a701bae729d4bbf3a11315d0516450e2e5301a1df8d3f3edbc28\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67\",\n      \"function\": \"createProxyWithNonce(address,bytes,uint256)\",\n      \"arguments\": [\n        \"0x41675C099F32341bf84BFc5382aF534df5C7461a\",\n        \"0xb63e800d0000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000fd0732dc9e303f09fcef3a7388ad10a83459ec990000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba0000000000000000000000000000000000000000000000000000000000000000\",\n        \"0\"\n      ],\n      \"transaction\": {\n        \"from\": \"0x70ef7bd10e24f6a24418015f6052b480d366fbf8\",\n        \"to\": \"0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67\",\n        \"gas\": \"0x5f377\",\n        \"value\": \"0x0\",\n        \"input\": \"0x1688f0b900000000000000000000000041675c099f32341bf84bfc5382af534df5c7461a000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000184b63e800d0000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000fd0732dc9e303f09fcef3a7388ad10a83459ec990000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x5\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [\n        {\n          \"transactionType\": \"CREATE2\",\n          \"contractName\": null,\n          \"address\": \"0x3d59999977e0896ee1f8783bb8251df16fb483e9\",\n          \"initCode\": \"0x608060405234801561001057600080fd5b506040516101e63803806101e68339818101604052602081101561003357600080fd5b8101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806101c46022913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060ab806101196000396000f3fe608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea264697066735822122003d1488ee65e08fa41e58e888a9865554c535f2c77126a82cb4c0f917f31441364736f6c63430007060033496e76616c69642073696e676c65746f6e20616464726573732070726f766964656400000000000000000000000041675c099f32341bf84bfc5382af534df5c7461a\"\n        }\n      ],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x2497bd\",\n      \"logs\": [\n        {\n          \"address\": \"0x856611ed7e07d83243b15e93f6321f2df6865852\",\n          \"topics\": [\n            \"0x141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a8\",\n            \"0x0000000000000000000000004e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fd0732dc9e303f09fcef3a7388ad10a83459ec99000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000931e24b032511d8dd029aedeb44837fac251f3d80000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe26000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b600000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe072520000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000005f1955729e3d6129fb73813e891742d473fc74f70000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff33000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d0000000000000000000000007f10098bd53519c739ca8a404afe127647d94774000000000000000000000000ee316db0edaee45347dfc498795a01311f085225\",\n          \"blockHash\": \"0x71df3a8e1bb424458242efd65c323e9a4b9174807e410030ebb12904dedd3e2e\",\n          \"blockNumber\": \"0x25625a\",\n          \"blockTimestamp\": \"0x69bc6a3c\",\n          \"transactionHash\": \"0x14f8e13fd77c6491d89db143d53ec302916f38442d14731f292db6532b474329\",\n          \"transactionIndex\": \"0xb\",\n          \"logIndex\": \"0xe\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67\",\n          \"topics\": [\n            \"0x4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e235\",\n            \"0x000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852\"\n          ],\n          \"data\": \"0x00000000000000000000000041675c099f32341bf84bfc5382af534df5c7461a\",\n          \"blockHash\": \"0x71df3a8e1bb424458242efd65c323e9a4b9174807e410030ebb12904dedd3e2e\",\n          \"blockNumber\": \"0x25625a\",\n          \"blockTimestamp\": \"0x69bc6a3c\",\n          \"transactionHash\": \"0x14f8e13fd77c6491d89db143d53ec302916f38442d14731f292db6532b474329\",\n          \"transactionIndex\": \"0xb\",\n          \"logIndex\": \"0xf\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000200000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000008000000000000000000000000000000000500000000000000000000000100000000000000000000000800000000000200000000200000000000008000000000000000000000000000000000000000000000100040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000010000000000000000100020000200000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x14f8e13fd77c6491d89db143d53ec302916f38442d14731f292db6532b474329\",\n      \"transactionIndex\": \"0xb\",\n      \"blockHash\": \"0x71df3a8e1bb424458242efd65c323e9a4b9174807e410030ebb12904dedd3e2e\",\n      \"blockNumber\": \"0x25625a\",\n      \"gasUsed\": \"0x83fb9\",\n      \"effectiveGasPrice\": \"0x3e2e47b4\",\n      \"from\": \"0x70ef7bd10e24f6a24418015f6052b480d366fbf8\",\n      \"to\": \"0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67\",\n      \"contractAddress\": null\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x2cd776\",\n      \"logs\": [\n        {\n          \"address\": \"0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\",\n          \"topics\": [\n            \"0x141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a8\",\n            \"0x0000000000000000000000004e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fd0732dc9e303f09fcef3a7388ad10a83459ec99000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000931e24b032511d8dd029aedeb44837fac251f3d80000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe26000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b600000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe072520000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000005f1955729e3d6129fb73813e891742d473fc74f70000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff33000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d0000000000000000000000007f10098bd53519c739ca8a404afe127647d94774000000000000000000000000ee316db0edaee45347dfc498795a01311f085225\",\n          \"blockHash\": \"0x71df3a8e1bb424458242efd65c323e9a4b9174807e410030ebb12904dedd3e2e\",\n          \"blockNumber\": \"0x25625a\",\n          \"blockTimestamp\": \"0x69bc6a3c\",\n          \"transactionHash\": \"0x9c41c6acd0edf4bd18d3ad581cd59a68e002ccaa88fb1b2a06bc3447458018e5\",\n          \"transactionIndex\": \"0xc\",\n          \"logIndex\": \"0x10\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67\",\n          \"topics\": [\n            \"0x4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e235\",\n            \"0x000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\"\n          ],\n          \"data\": \"0x00000000000000000000000041675c099f32341bf84bfc5382af534df5c7461a\",\n          \"blockHash\": \"0x71df3a8e1bb424458242efd65c323e9a4b9174807e410030ebb12904dedd3e2e\",\n          \"blockNumber\": \"0x25625a\",\n          \"blockTimestamp\": \"0x69bc6a3c\",\n          \"transactionHash\": \"0x9c41c6acd0edf4bd18d3ad581cd59a68e002ccaa88fb1b2a06bc3447458018e5\",\n          \"transactionIndex\": \"0xc\",\n          \"logIndex\": \"0x11\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010010000000000000000000000000000000000800000008000000001000000008000000000000000500000000000000800000000100000000000000000000000800000000000200000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000080000010000000000000000100020000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x9c41c6acd0edf4bd18d3ad581cd59a68e002ccaa88fb1b2a06bc3447458018e5\",\n      \"transactionIndex\": \"0xc\",\n      \"blockHash\": \"0x71df3a8e1bb424458242efd65c323e9a4b9174807e410030ebb12904dedd3e2e\",\n      \"blockNumber\": \"0x25625a\",\n      \"gasUsed\": \"0x83fb9\",\n      \"effectiveGasPrice\": \"0x3e2e47b4\",\n      \"from\": \"0x70ef7bd10e24f6a24418015f6052b480d366fbf8\",\n      \"to\": \"0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67\",\n      \"contractAddress\": null\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x31266d\",\n      \"logs\": [\n        {\n          \"address\": \"0x3d59999977e0896ee1f8783bb8251df16fb483e9\",\n          \"topics\": [\n            \"0x141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a8\",\n            \"0x0000000000000000000000004e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67\"\n          ],\n          \"data\": \"0x000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fd0732dc9e303f09fcef3a7388ad10a83459ec990000000000000000000000000000000000000000000000000000000000000002000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\",\n          \"blockHash\": \"0x71df3a8e1bb424458242efd65c323e9a4b9174807e410030ebb12904dedd3e2e\",\n          \"blockNumber\": \"0x25625a\",\n          \"blockTimestamp\": \"0x69bc6a3c\",\n          \"transactionHash\": \"0x012c9b49abc7a701bae729d4bbf3a11315d0516450e2e5301a1df8d3f3edbc28\",\n          \"transactionIndex\": \"0xd\",\n          \"logIndex\": \"0x12\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67\",\n          \"topics\": [\n            \"0x4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e235\",\n            \"0x0000000000000000000000003d59999977e0896ee1f8783bb8251df16fb483e9\"\n          ],\n          \"data\": \"0x00000000000000000000000041675c099f32341bf84bfc5382af534df5c7461a\",\n          \"blockHash\": \"0x71df3a8e1bb424458242efd65c323e9a4b9174807e410030ebb12904dedd3e2e\",\n          \"blockNumber\": \"0x25625a\",\n          \"blockTimestamp\": \"0x69bc6a3c\",\n          \"transactionHash\": \"0x012c9b49abc7a701bae729d4bbf3a11315d0516450e2e5301a1df8d3f3edbc28\",\n          \"transactionIndex\": \"0xd\",\n          \"logIndex\": \"0x13\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000002000000000000000010000000000000000000000000000000000000000008000000000000000000000000000000000500000000000000000000000100000000000000000000100800000000000200000000000000000000000000000000000000000000000000000000000000000000100000000000000000200000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000010000000000000000100020000000400000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x012c9b49abc7a701bae729d4bbf3a11315d0516450e2e5301a1df8d3f3edbc28\",\n      \"transactionIndex\": \"0xd\",\n      \"blockHash\": \"0x71df3a8e1bb424458242efd65c323e9a4b9174807e410030ebb12904dedd3e2e\",\n      \"blockNumber\": \"0x25625a\",\n      \"gasUsed\": \"0x44ef7\",\n      \"effectiveGasPrice\": \"0x3e2e47b4\",\n      \"from\": \"0x70ef7bd10e24f6a24418015f6052b480d366fbf8\",\n      \"to\": \"0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1773955648605,\n  \"chain\": 560048,\n  \"commit\": \"2a91156\"\n}"
  },
  {
    "path": "zeronet/2026-04-01-activate-multiproof/FACILITATOR.md",
    "content": "# Facilitator Guide\n\nGuide for facilitators managing this task.\n\n## Deployment prerequisites\n\nBefore collecting signatures, complete all deploy steps:\n\n```bash\ncd contract-deployments\ngit pull\ncd zeronet/2026-04-01-activate-multiproof\nmake deps\nmake deploy-cb-multicall\nmake deploy-nitro-verifier\nmake deploy-multiproof\nmake setup-nitro\n```\n\n`make deploy-cb-multicall` deploys the canonical `CBMulticall` helper used by `MultisigScript` signer-side simulations on zeronet.\n\n`make deploy-nitro-verifier` deploys `RiscZeroSetVerifier` and `NitroEnclaveVerifier` (with the deployer as temporary owner) and wires the RiscZero verify route. Initializes `addresses.json`.\n\n`make deploy-multiproof` deploys the remaining contracts (TEEProverRegistry, DelayedWETH, TEEVerifier, AggregateVerifier, etc.). The TEEProverRegistry and DelayedWETH proxies are initialized at deploy time and their admin is transferred to the L1 ProxyAdmin. Appends addresses to `addresses.json`.\n\n`make setup-nitro` configures the NitroEnclaveVerifier: sets the `proofSubmitter` to the TEEProverRegistry proxy and transfers ownership to the multisig (`TEE_PROVER_REGISTRY_OWNER`). This step runs directly via the deployer Ledger (no multisig signatures required).\n\n## Generate validation files\n\n```bash\ncd contract-deployments\ngit pull\ncd zeronet/2026-04-01-activate-multiproof\nmake deps\nmake gen-validation-multiproof-cb\nmake gen-validation-multiproof-sc\n```\n\nThis produces:\n\n- `validations/multiproof-cb-signer.json`\n- `validations/multiproof-sc-signer.json`\n\n## Pre-sign check: `STARTING_ANCHOR_*` correctness\n\n`STARTING_ANCHOR_ROOT` and `STARTING_ANCHOR_L2_BLOCK_NUMBER` are chain-critical.\nBefore collecting signatures, verify both values against the target RPC endpoints.\n\n### 1. Validate that the anchor block number is expected\n\nConfirm `STARTING_ANCHOR_L2_BLOCK_NUMBER` matches the planned cutover value (if one was agreed)\n\n```bash\nBLOCK=$STARTING_ANCHOR_L2_BLOCK_NUMBER\ncast block $BLOCK --rpc-url $L2_RPC_URL\n```\n\n### 2. Derive output root from that exact block\n\nUse `optimism_outputAtBlock` with the same block and compare to `STARTING_ANCHOR_ROOT` from `.env`.\n\n```bash\nBLOCK=$STARTING_ANCHOR_L2_BLOCK_NUMBER\nOUTPUT_ROOT=$(cast rpc optimism_outputAtBlock $(cast 2h $BLOCK) --rpc-url $OP_NODE_RPC_URL | jq -r '.outputRoot')\necho $OUTPUT_ROOT\necho $STARTING_ANCHOR_ROOT\n```\n\nExpected result:\n\n- `OUTPUT_ROOT == STARTING_ANCHOR_ROOT`\n\n### 3. RPC requirements\n\n- `L2_RPC_URL` should point to the target L2 execution RPC.\n- `OP_NODE_RPC_URL` must expose `optimism_outputAtBlock` (typically an OP node RPC).\n- Depending on block age and provider retention, an archive-capable RPC may be required.\n\n## Execute the transaction\n\n### 1. Update repo\n\n```bash\ncd contract-deployments\ngit pull\ncd zeronet/2026-04-01-activate-multiproof\nmake deps\n```\n\n### 2. Collect signatures for `CB_SIGNER_SAFE_ADDR`\n\nConcatenate all signatures and export as the `SIGNATURES` environment variable:\n\n```bash\nexport SIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"\n```\n\nThen run:\n\n```bash\nSIGNATURES=$SIGNATURES make approve-multiproof-cb\n```\n\n### 3. Collect signatures for `CB_SC_SAFE_ADDR`\n\nConcatenate all signatures and export as the `SIGNATURES` environment variable:\n\n```bash\nexport SIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"\n```\n\nThen run:\n\n```bash\nSIGNATURES=$SIGNATURES make approve-multiproof-sc\n```\n\n### 4. Execute the multiproof activation batch\n\n```bash\nmake execute-activate-multiproof\n```\n\n"
  },
  {
    "path": "zeronet/2026-04-01-activate-multiproof/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\ninclude ../.env\ninclude .env\n\nSIGNER_TOOL_PATH = ../../signer-tool\nRPC_URL = $(L1_RPC_URL)\nDEPLOYER := $(shell cast wallet address --ledger --mnemonic-derivation-path $(LEDGER_HD_PATH))\nACTIVATE_MULTIPROOF_SCRIPT_NAME = script/ActivateMultiproofStack.s.sol:ActivateMultiproofStack\nMULTIPROOF_CB_SENDER := $(shell cast call $(CB_MULTISIG) \"getOwners()(address[])\" --rpc-url $(L1_RPC_URL) | tr -d '[]' | cut -d',' -f1)\nMULTIPROOF_SC_SENDER := $(shell cast call $(BASE_SECURITY_COUNCIL) \"getOwners()(address[])\" --rpc-url $(L1_RPC_URL) | tr -d '[]' | cut -d',' -f1)\n\n.PHONY: apply-patches\napply-patches:\n\tcd lib/contracts && patch -p1 < ../../patch/asr-reset-anchor-game.patch\n\n.PHONY: deps\ndeps: task-extra-deps apply-patches\n\n.PHONY: task-extra-deps\ntask-extra-deps:\n\tforge install --no-git github.com/base/op-enclave@a2d5398f04c3a8e4df929d58ee638ba4a037bfec\n\tforge install --no-git github.com/risc0/risc0-ethereum@a78ac4a52fe9cfa14120c3b496430f0d42e1d8d3\n\tforge install --no-git github.com/succinctlabs/sp1-contracts@22c4a47cd0a388cb4e25b4f2513954e4275c74ca\n\tgit clone --no-checkout https://github.com/OpenZeppelin/openzeppelin-contracts.git lib/openzeppelin-contracts-v5 && \\\n\t\tcd lib/openzeppelin-contracts-v5 && git checkout dbb6104ce834628e473d2173bbc9d47f81a9eec3\n\tgit clone --no-checkout https://github.com/Vectorized/solady.git lib/solady-v0.0.245 && \\\n\t\tcd lib/solady-v0.0.245 && git checkout e0ef35adb0ccd1032794731a995cb599bba7b537\n\n##\n# Deployment\n##\n.PHONY: deploy-cb-multicall\ndeploy-cb-multicall:\n\tforge script --rpc-url $(L1_RPC_URL) script/DeployCBMulticall.s.sol:DeployCBMulticall \\\n\t\t--ledger --hd-paths $(LEDGER_HD_PATH) --broadcast -vvvv\n\n.PHONY: deploy-nitro-verifier\ndeploy-nitro-verifier:\n\tforge script --rpc-url $(L1_RPC_URL) script/DeployNitroVerifier.s.sol:DeployNitroVerifier \\\n\t\t--ledger --hd-paths $(LEDGER_HD_PATH) --broadcast -vvvv --sender $(DEPLOYER)\n\n.PHONY: deploy-multiproof\ndeploy-multiproof:\n\tforge script --rpc-url $(L1_RPC_URL) script/DeployMultiproofStack.s.sol:DeployMultiproofStack \\\n\t\t--ledger --hd-paths $(LEDGER_HD_PATH) --broadcast -vvvv --sender $(DEPLOYER)\n\n.PHONY: setup-nitro\nsetup-nitro:\n\tforge script --rpc-url $(L1_RPC_URL) script/SetupNitroEnclaveVerifier.s.sol:SetupNitroEnclaveVerifier \\\n\t\t--ledger --hd-paths $(LEDGER_HD_PATH) --broadcast -vvvv --sender $(DEPLOYER)\n\n##\n# Activate Multiproof\n##\n\n.PHONY: gen-validation-multiproof-cb\ngen-validation-multiproof-cb: deps-signer-tool\n\t$(call GEN_VALIDATION,$(ACTIVATE_MULTIPROOF_SCRIPT_NAME),$(CB_MULTISIG),$(MULTIPROOF_CB_SENDER),multiproof-cb-signer.json,)\n\n.PHONY: gen-validation-multiproof-sc\ngen-validation-multiproof-sc: deps-signer-tool\n\t$(call GEN_VALIDATION,$(ACTIVATE_MULTIPROOF_SCRIPT_NAME),$(BASE_SECURITY_COUNCIL),$(MULTIPROOF_SC_SENDER),multiproof-sc-signer.json,)\n\n.PHONY: approve-multiproof-cb\napprove-multiproof-cb: SCRIPT_NAME := $(ACTIVATE_MULTIPROOF_SCRIPT_NAME)\napprove-multiproof-cb:\n\t$(call MULTISIG_APPROVE,$(CB_MULTISIG),$(SIGNATURES))\n\n.PHONY: approve-multiproof-sc\napprove-multiproof-sc: SCRIPT_NAME := $(ACTIVATE_MULTIPROOF_SCRIPT_NAME)\napprove-multiproof-sc:\n\t$(call MULTISIG_APPROVE,$(BASE_SECURITY_COUNCIL),$(SIGNATURES))\n\n.PHONY: execute-activate-multiproof\nexecute-activate-multiproof: SCRIPT_NAME := $(ACTIVATE_MULTIPROOF_SCRIPT_NAME)\nexecute-activate-multiproof:\n\t$(call MULTISIG_EXECUTE,0x)\n"
  },
  {
    "path": "zeronet/2026-04-01-activate-multiproof/README.md",
    "content": "# Activate Multiproof\n\nStatus: [EXECUTED](https://hoodi.etherscan.io/tx/0xbe0eb99650a815fbfed83ba6063a4c1dbe9444e2a55acda4d3a850fb825a5804)\n\n## Description\n\nThis task activates multiproof on `zeronet`.\n\nThis task does not include the proposer-side follow-up steps after the upgrade.\n\n## Procedure\n\n## Sign Task\n\n### 1. Update repo\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n### 2. Run the signing tool\n\n```bash\ncd contract-deployments\nmake sign-task\n```\n\n### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\n- Select the correct signer role from the list of available users to sign.\n- After completion, close the signer tool with `Ctrl + C`.\n\n### 4. Send signature to facilitator\n\nCopy the signature output and send it to the designated facilitator via the agreed communication channel.\n\nFor facilitator instructions, see `FACILITATOR.md`.\n"
  },
  {
    "path": "zeronet/2026-04-01-activate-multiproof/addresses.json",
    "content": "{\n  \"nitroEnclaveVerifier\": \"0x5eD42a8Eb9E1F0B466047c02156d894968d42FF9\",\n  \"riscZeroSetVerifier\": \"0x5492E1ecd7867AeAd78464EbD5def30F96d462ba\",\n  \"riscZeroVerifierRouter\": \"0x32Db7dc407AC886807277636a1633A1381748DD8\",\n  \"teeProverRegistryImpl\": \"0x3b0D2F6A1F9d9De3A163e1F0aaF845dD47Ce3122\",\n  \"teeProverRegistryProxy\": \"0xf1d1441B7d98f191f5CFBE4660D3684FEa004AFc\",\n  \"teeVerifier\": \"0x6F3DB1c1F5110b20EfBBCCD13367Bca8898092E6\",\n  \"zkVerifier\": \"0x4730CEc510E664838B20B576881702b64651Cc45\",\n  \"delayedWETHImpl\": \"0xF5f747bB3bBb45bB019fc49Bf2E9F2Ee93158C72\",\n  \"delayedWETHProxy\": \"0x8fF945fcAd2ca8d66Fa1ba63C70440328Bb14FF3\",\n  \"aggregateVerifier\": \"0x6Ed60b2e1bdc8Bcf333e12e716AF2bC63BB263d6\",\n  \"optimismPortal2Impl\": \"0x27b8D2D28540B133f9454535867e3b89b78d88B0\",\n  \"disputeGameFactoryImpl\": \"0xC5942bF8039CEf74414305A67384C382fB5E0Bb4\",\n  \"anchorStateRegistryImpl\": \"0x144A55c8d46a347cD08204c0327cB411527F846e\"\n}"
  },
  {
    "path": "zeronet/2026-04-01-activate-multiproof/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 200\nauto_detect_solc = true\nevm_version = \"prague\"\nvia-ir = false\nremappings = [\n    '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@rari-capital/solmate/=lib/solmate/',\n    '@base-contracts/=lib/contracts/',\n    'solady/=lib/solady/src/',\n    '@solady/=lib/solady/src/',\n    '@solady-v0.0.245/=lib/solady-v0.0.245/src/',\n    '@lib-keccak/=lib/lib-keccak/contracts/lib',\n    'forge-std/=lib/forge-std/src/',\n    'interfaces/dispute/=lib/contracts/interfaces/dispute/',\n    'interfaces/cannon/=lib/contracts/interfaces/cannon/',\n    'interfaces/multiproof/=lib/contracts/interfaces/multiproof/',\n    'interfaces/universal/=lib/contracts/interfaces/universal/',\n    'interfaces/L1/=lib/contracts/interfaces/L1/',\n    'interfaces/legacy/=lib/contracts/interfaces/legacy/',\n    'src/dispute/=lib/contracts/src/dispute/',\n    'src/multiproof/=lib/contracts/src/multiproof/',\n    'src/universal/=lib/contracts/src/universal/',\n    'src/L1/=lib/contracts/src/L1/',\n    'src/cannon/=lib/contracts/src/cannon/',\n    'src/vendor/=lib/contracts/src/vendor/',\n    'src/libraries/=lib/contracts/src/libraries/',\n    'lib/op-enclave/=lib/op-enclave/',\n    'openzeppelin/=lib/risc0-ethereum/lib/openzeppelin-contracts/',\n]\n"
  },
  {
    "path": "zeronet/2026-04-01-activate-multiproof/patch/asr-reset-anchor-game.patch",
    "content": "diff --git a/src/dispute/AnchorStateRegistry.sol b/src/dispute/AnchorStateRegistry.sol\n--- a/src/dispute/AnchorStateRegistry.sol\n+++ b/src/dispute/AnchorStateRegistry.sol\n@@ -101,6 +101,7 @@\n         // Now perform initialization logic.\n         systemConfig = _systemConfig;\n         disputeGameFactory = _disputeGameFactory;\n         startingAnchorRoot = _startingAnchorRoot;\n+        anchorGame = IFaultDisputeGame(address(0));\n         respectedGameType = _startingRespectedGameType;\n \n         // Set the retirement timestamp to the current timestamp the first time the contract is\n"
  },
  {
    "path": "zeronet/2026-04-01-activate-multiproof/records/ActivateMultiproofStack.s.sol/560048/approve-latest.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xffc986d3dd269d9eebf9ebc58b84c5ccd8e507e68a24507f17c9c1e55886f644\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n        \"0\",\n        \"0xd4d9bdcd22bb7f4bf895f73b31b2e96523769dc5fdad9324a33bb0cb8ed68837639225b6\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x2599eda6a2cbebd66be855a8a22d789c9229ae3d1bf9459c1313ad96dee2543f506dcf9646e4d260e9e5a883c984fa95b4c42bd5751cfbc73fe5e6e5a421a9881b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\",\n        \"gas\": \"0x21395\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000003d59999977e0896ee1f8783bb8251df16fb483e90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd22bb7f4bf895f73b31b2e96523769dc5fdad9324a33bb0cb8ed68837639225b60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412599eda6a2cbebd66be855a8a22d789c9229ae3d1bf9459c1313ad96dee2543f506dcf9646e4d260e9e5a883c984fa95b4c42bd5751cfbc73fe5e6e5a421a9881b00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x26\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xfe5bd\",\n      \"logs\": [\n        {\n          \"address\": \"0x3d59999977e0896ee1f8783bb8251df16fb483e9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x22bb7f4bf895f73b31b2e96523769dc5fdad9324a33bb0cb8ed68837639225b6\",\n            \"0x000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x6d55086279b23c7dc7825512d5cf54acb79719fc9b2ae245d7e44a596b8c7ab1\",\n          \"blockNumber\": \"0x26ba31\",\n          \"blockTimestamp\": \"0x69ce817c\",\n          \"transactionHash\": \"0xffc986d3dd269d9eebf9ebc58b84c5ccd8e507e68a24507f17c9c1e55886f644\",\n          \"transactionIndex\": \"0x18\",\n          \"logIndex\": \"0x7\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0x72cd6c07eb200bb92f727e94d9bf1e51d4bba6f244748744c6721d1be94aa26e\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x6d55086279b23c7dc7825512d5cf54acb79719fc9b2ae245d7e44a596b8c7ab1\",\n          \"blockNumber\": \"0x26ba31\",\n          \"blockTimestamp\": \"0x69ce817c\",\n          \"transactionHash\": \"0xffc986d3dd269d9eebf9ebc58b84c5ccd8e507e68a24507f17c9c1e55886f644\",\n          \"transactionIndex\": \"0x18\",\n          \"logIndex\": \"0x8\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000010000000000000000000000000000000000000000040000000001000000000000000000000000000000000000000000100000000000000000010000000000000000000000000000080000000800000000000000001000000008000000400000000000400000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000200000000080000000000200000000000000000000800000000002000000000000000000000000000010000000000000000000000000000000000000000000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xffc986d3dd269d9eebf9ebc58b84c5ccd8e507e68a24507f17c9c1e55886f644\",\n      \"transactionIndex\": \"0x18\",\n      \"blockHash\": \"0x6d55086279b23c7dc7825512d5cf54acb79719fc9b2ae245d7e44a596b8c7ab1\",\n      \"blockNumber\": \"0x26ba31\",\n      \"gasUsed\": \"0x180dc\",\n      \"effectiveGasPrice\": \"0x180e611\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1775141247929,\n  \"chain\": 560048,\n  \"commit\": \"6d9ab82\"\n}"
  },
  {
    "path": "zeronet/2026-04-01-activate-multiproof/records/ActivateMultiproofStack.s.sol/560048/run-1775141210100.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xdcc7310fbe84d628b8e8e5cc94d3270e336bedff29b0680e85e1f2aec8ccdeb9\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x856611ed7e07d83243b15e93f6321f2df6865852\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n        \"0\",\n        \"0xd4d9bdcd22bb7f4bf895f73b31b2e96523769dc5fdad9324a33bb0cb8ed68837639225b6\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x413b332fcdebdcd8a658b9aae42ffebf755679f968295d27fe67ae1b6f92d1201886e1ebae1bbe183e672ff2877a7b25fb4257bbaf314bf18aade3a7cc31e98c1c036dfbd53fd28a05041d1fe81642165b317c3a327ed2ee7a0937ee505a3cbd5e59ce34e3823bcd2a18797d6697c464227e20a99d28412a3a740689afe22280f21bd9848efdff1d875e4800d96815bfb3a833ecb5594aae2a8993ea16ae44e851c109741569abdd97a50223ef99650c7e005520932bc459e3e67345b2516dbd22b51c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x856611ed7e07d83243b15e93f6321f2df6865852\",\n        \"gas\": \"0x25fb4\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000003d59999977e0896ee1f8783bb8251df16fb483e90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd22bb7f4bf895f73b31b2e96523769dc5fdad9324a33bb0cb8ed68837639225b60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3413b332fcdebdcd8a658b9aae42ffebf755679f968295d27fe67ae1b6f92d1201886e1ebae1bbe183e672ff2877a7b25fb4257bbaf314bf18aade3a7cc31e98c1c036dfbd53fd28a05041d1fe81642165b317c3a327ed2ee7a0937ee505a3cbd5e59ce34e3823bcd2a18797d6697c464227e20a99d28412a3a740689afe22280f21bd9848efdff1d875e4800d96815bfb3a833ecb5594aae2a8993ea16ae44e851c109741569abdd97a50223ef99650c7e005520932bc459e3e67345b2516dbd22b51c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x25\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x4256c3\",\n      \"logs\": [\n        {\n          \"address\": \"0x3d59999977e0896ee1f8783bb8251df16fb483e9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x22bb7f4bf895f73b31b2e96523769dc5fdad9324a33bb0cb8ed68837639225b6\",\n            \"0x000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x4485c14579987da112fc7dcca037a3df39ed836ab7a3e70abfdf019abe50faaf\",\n          \"blockNumber\": \"0x26ba2e\",\n          \"blockTimestamp\": \"0x69ce8158\",\n          \"transactionHash\": \"0xdcc7310fbe84d628b8e8e5cc94d3270e336bedff29b0680e85e1f2aec8ccdeb9\",\n          \"transactionIndex\": \"0x6\",\n          \"logIndex\": \"0x10\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x856611ed7e07d83243b15e93f6321f2df6865852\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0x0fd93c1be8910e174a826dca8b286076506a87c88859519c52c585c39c214495\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x4485c14579987da112fc7dcca037a3df39ed836ab7a3e70abfdf019abe50faaf\",\n          \"blockNumber\": \"0x26ba2e\",\n          \"blockTimestamp\": \"0x69ce8158\",\n          \"transactionHash\": \"0xdcc7310fbe84d628b8e8e5cc94d3270e336bedff29b0680e85e1f2aec8ccdeb9\",\n          \"transactionIndex\": \"0x6\",\n          \"logIndex\": \"0x11\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000010000000000000200000000000000000000000000040000001001000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000080000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000008000240000000000008000000000020000000000000000000000000000000000000040000004000000200000000080000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000200000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xdcc7310fbe84d628b8e8e5cc94d3270e336bedff29b0680e85e1f2aec8ccdeb9\",\n      \"transactionIndex\": \"0x6\",\n      \"blockHash\": \"0x4485c14579987da112fc7dcca037a3df39ed836ab7a3e70abfdf019abe50faaf\",\n      \"blockNumber\": \"0x26ba2e\",\n      \"gasUsed\": \"0x1b7f8\",\n      \"effectiveGasPrice\": \"0x180e611\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x856611ed7e07d83243b15e93f6321f2df6865852\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1775141210100,\n  \"chain\": 560048,\n  \"commit\": \"6d9ab82\"\n}"
  },
  {
    "path": "zeronet/2026-04-01-activate-multiproof/records/ActivateMultiproofStack.s.sol/560048/run-1775141247929.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xffc986d3dd269d9eebf9ebc58b84c5ccd8e507e68a24507f17c9c1e55886f644\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n        \"0\",\n        \"0xd4d9bdcd22bb7f4bf895f73b31b2e96523769dc5fdad9324a33bb0cb8ed68837639225b6\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x2599eda6a2cbebd66be855a8a22d789c9229ae3d1bf9459c1313ad96dee2543f506dcf9646e4d260e9e5a883c984fa95b4c42bd5751cfbc73fe5e6e5a421a9881b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\",\n        \"gas\": \"0x21395\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000003d59999977e0896ee1f8783bb8251df16fb483e90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd22bb7f4bf895f73b31b2e96523769dc5fdad9324a33bb0cb8ed68837639225b60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412599eda6a2cbebd66be855a8a22d789c9229ae3d1bf9459c1313ad96dee2543f506dcf9646e4d260e9e5a883c984fa95b4c42bd5751cfbc73fe5e6e5a421a9881b00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x26\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xfe5bd\",\n      \"logs\": [\n        {\n          \"address\": \"0x3d59999977e0896ee1f8783bb8251df16fb483e9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x22bb7f4bf895f73b31b2e96523769dc5fdad9324a33bb0cb8ed68837639225b6\",\n            \"0x000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x6d55086279b23c7dc7825512d5cf54acb79719fc9b2ae245d7e44a596b8c7ab1\",\n          \"blockNumber\": \"0x26ba31\",\n          \"blockTimestamp\": \"0x69ce817c\",\n          \"transactionHash\": \"0xffc986d3dd269d9eebf9ebc58b84c5ccd8e507e68a24507f17c9c1e55886f644\",\n          \"transactionIndex\": \"0x18\",\n          \"logIndex\": \"0x7\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0x72cd6c07eb200bb92f727e94d9bf1e51d4bba6f244748744c6721d1be94aa26e\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x6d55086279b23c7dc7825512d5cf54acb79719fc9b2ae245d7e44a596b8c7ab1\",\n          \"blockNumber\": \"0x26ba31\",\n          \"blockTimestamp\": \"0x69ce817c\",\n          \"transactionHash\": \"0xffc986d3dd269d9eebf9ebc58b84c5ccd8e507e68a24507f17c9c1e55886f644\",\n          \"transactionIndex\": \"0x18\",\n          \"logIndex\": \"0x8\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000010000000000000000000000000000000000000000040000000001000000000000000000000000000000000000000000100000000000000000010000000000000000000000000000080000000800000000000000001000000008000000400000000000400000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000200000000080000000000200000000000000000000800000000002000000000000000000000000000010000000000000000000000000000000000000000000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xffc986d3dd269d9eebf9ebc58b84c5ccd8e507e68a24507f17c9c1e55886f644\",\n      \"transactionIndex\": \"0x18\",\n      \"blockHash\": \"0x6d55086279b23c7dc7825512d5cf54acb79719fc9b2ae245d7e44a596b8c7ab1\",\n      \"blockNumber\": \"0x26ba31\",\n      \"gasUsed\": \"0x180dc\",\n      \"effectiveGasPrice\": \"0x180e611\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1775141247929,\n  \"chain\": 560048,\n  \"commit\": \"6d9ab82\"\n}"
  },
  {
    "path": "zeronet/2026-04-01-activate-multiproof/records/ActivateMultiproofStack.s.sol/560048/run-1775141298391.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xbe0eb99650a815fbfed83ba6063a4c1dbe9444e2a55acda4d3a850fb825a5804\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x3d59999977e0896ee1f8783bb8251df16fb483e9\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303\",\n        \"0\",\n        \"0x858cc8320000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000008a0000000000000000000000000000000000000000000000000000000000000092000000000000000000000000000000000000000000000000000000000000009a00000000000000000000000000000000000000000000000000000000000000a200000000000000000000000000000000000000000000000000000000000000aa0000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c580130300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000074482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000580000000000000000000000000000000000000000000000000000000000000066000000000000000000000000044f00318360258744a0daa957c2d15080a47346900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec40000000000000000000000007b9fb81a8e041814903c9385b22d88ac303df69900000000000000000000000027b8d2d28540b133f9454535867e3b89b78d88b00000000000000000000000000000000000000000000000000000000000000000000000000000000044f00318360258744a0daa957c2d15080a47346900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a8090000000000000000000000000c5942bf8039cef74414305a67384c382fb5e0bb40000000000000000000000000000000000000000000000000000000000000000000000000000000044f00318360258744a0daa957c2d15080a4734690000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001449623609d00000000000000000000000060a6c389f0bc5ce4269a40d9695927bc58700328000000000000000000000000144a55c8d46a347cd08204c0327cb411527f846e000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a447a222c5000000000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea80000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a8090aaada834ea301486fdf3fc2cb72efa2bbee04bccc29af4d03a4bfbf272a2664a00000000000000000000000000000000000000000000000000000000000867a4000000000000000000000000000000000000000000000000000000000000026d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a8090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000084b1070957000000000000000000000000000000000000000000000000000000000000026d0000000000000000000000006ed60b2e1bdc8bcf333e12e716af2bc63bb263d60000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a80900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441e334240000000000000000000000000000000000000000000000000000000000000026d00000000000000000000000000000000000000000000000000b1a2bc2ec500000000000000000000000000000000000000000000000000000000000000000000000000000000000060a6c389f0bc5ce4269a40d9695927bc58700328000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000004d5a3e12e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x3d59999977e0896ee1f8783bb8251df16fb483e9\",\n        \"gas\": \"0x69262\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c5801303000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000b64858cc8320000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000008a0000000000000000000000000000000000000000000000000000000000000092000000000000000000000000000000000000000000000000000000000000009a00000000000000000000000000000000000000000000000000000000000000a200000000000000000000000000000000000000000000000000000000000000aa0000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c580130300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000074482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000580000000000000000000000000000000000000000000000000000000000000066000000000000000000000000044f00318360258744a0daa957c2d15080a47346900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec40000000000000000000000007b9fb81a8e041814903c9385b22d88ac303df69900000000000000000000000027b8d2d28540b133f9454535867e3b89b78d88b00000000000000000000000000000000000000000000000000000000000000000000000000000000044f00318360258744a0daa957c2d15080a47346900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a8090000000000000000000000000c5942bf8039cef74414305a67384c382fb5e0bb40000000000000000000000000000000000000000000000000000000000000000000000000000000044f00318360258744a0daa957c2d15080a4734690000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001449623609d00000000000000000000000060a6c389f0bc5ce4269a40d9695927bc58700328000000000000000000000000144a55c8d46a347cd08204c0327cb411527f846e000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a447a222c5000000000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea80000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a8090aaada834ea301486fdf3fc2cb72efa2bbee04bccc29af4d03a4bfbf272a2664a00000000000000000000000000000000000000000000000000000000000867a4000000000000000000000000000000000000000000000000000000000000026d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a8090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000084b1070957000000000000000000000000000000000000000000000000000000000000026d0000000000000000000000006ed60b2e1bdc8bcf333e12e716af2bc63bb263d60000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a80900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441e334240000000000000000000000000000000000000000000000000000000000000026d00000000000000000000000000000000000000000000000000b1a2bc2ec500000000000000000000000000000000000000000000000000000000000000000000000000000000000060a6c389f0bc5ce4269a40d9695927bc58700328000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000004d5a3e12e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x27\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x2d0bfc\",\n      \"logs\": [\n        {\n          \"address\": \"0x7b9fb81a8e041814903c9385b22d88ac303df699\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x00000000000000000000000027b8d2d28540b133f9454535867e3b89b78d88b0\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x4718af96ff82993b15719f2f9c1087e313cad578180217d834a377fdf6027c53\",\n          \"blockNumber\": \"0x26ba35\",\n          \"blockTimestamp\": \"0x69ce81ac\",\n          \"transactionHash\": \"0xbe0eb99650a815fbfed83ba6063a4c1dbe9444e2a55acda4d3a850fb825a5804\",\n          \"transactionIndex\": \"0x1a\",\n          \"logIndex\": \"0x13\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x154972ab98a5e321a9c7ab7677973f1f501a8090\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x000000000000000000000000c5942bf8039cef74414305a67384c382fb5e0bb4\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x4718af96ff82993b15719f2f9c1087e313cad578180217d834a377fdf6027c53\",\n          \"blockNumber\": \"0x26ba35\",\n          \"blockTimestamp\": \"0x69ce81ac\",\n          \"transactionHash\": \"0xbe0eb99650a815fbfed83ba6063a4c1dbe9444e2a55acda4d3a850fb825a5804\",\n          \"transactionIndex\": \"0x1a\",\n          \"logIndex\": \"0x14\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x60a6c389f0bc5ce4269a40d9695927bc58700328\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x000000000000000000000000144a55c8d46a347cd08204c0327cb411527f846e\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x4718af96ff82993b15719f2f9c1087e313cad578180217d834a377fdf6027c53\",\n          \"blockNumber\": \"0x26ba35\",\n          \"blockTimestamp\": \"0x69ce81ac\",\n          \"transactionHash\": \"0xbe0eb99650a815fbfed83ba6063a4c1dbe9444e2a55acda4d3a850fb825a5804\",\n          \"transactionIndex\": \"0x1a\",\n          \"logIndex\": \"0x15\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x60a6c389f0bc5ce4269a40d9695927bc58700328\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000002\",\n          \"blockHash\": \"0x4718af96ff82993b15719f2f9c1087e313cad578180217d834a377fdf6027c53\",\n          \"blockNumber\": \"0x26ba35\",\n          \"blockTimestamp\": \"0x69ce81ac\",\n          \"transactionHash\": \"0xbe0eb99650a815fbfed83ba6063a4c1dbe9444e2a55acda4d3a850fb825a5804\",\n          \"transactionIndex\": \"0x1a\",\n          \"logIndex\": \"0x16\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x154972ab98a5e321a9c7ab7677973f1f501a8090\",\n          \"topics\": [\n            \"0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de\",\n            \"0x0000000000000000000000006ed60b2e1bdc8bcf333e12e716af2bc63bb263d6\",\n            \"0x000000000000000000000000000000000000000000000000000000000000026d\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x4718af96ff82993b15719f2f9c1087e313cad578180217d834a377fdf6027c53\",\n          \"blockNumber\": \"0x26ba35\",\n          \"blockTimestamp\": \"0x69ce81ac\",\n          \"transactionHash\": \"0xbe0eb99650a815fbfed83ba6063a4c1dbe9444e2a55acda4d3a850fb825a5804\",\n          \"transactionIndex\": \"0x1a\",\n          \"logIndex\": \"0x17\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x154972ab98a5e321a9c7ab7677973f1f501a8090\",\n          \"topics\": [\n            \"0xa47fcdf075d680d3817bfca7973b373e1a5f6cfc3b444748299cc2b83d8348f9\",\n            \"0x000000000000000000000000000000000000000000000000000000000000026d\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x4718af96ff82993b15719f2f9c1087e313cad578180217d834a377fdf6027c53\",\n          \"blockNumber\": \"0x26ba35\",\n          \"blockTimestamp\": \"0x69ce81ac\",\n          \"transactionHash\": \"0xbe0eb99650a815fbfed83ba6063a4c1dbe9444e2a55acda4d3a850fb825a5804\",\n          \"transactionIndex\": \"0x1a\",\n          \"logIndex\": \"0x18\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x154972ab98a5e321a9c7ab7677973f1f501a8090\",\n          \"topics\": [\n            \"0x74d6665c4b26d5596a5aa13d3014e0c06af4d322075a797f87b03cd4c5bc91ca\",\n            \"0x000000000000000000000000000000000000000000000000000000000000026d\",\n            \"0x00000000000000000000000000000000000000000000000000b1a2bc2ec50000\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x4718af96ff82993b15719f2f9c1087e313cad578180217d834a377fdf6027c53\",\n          \"blockNumber\": \"0x26ba35\",\n          \"blockTimestamp\": \"0x69ce81ac\",\n          \"transactionHash\": \"0xbe0eb99650a815fbfed83ba6063a4c1dbe9444e2a55acda4d3a850fb825a5804\",\n          \"transactionIndex\": \"0x1a\",\n          \"logIndex\": \"0x19\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x60a6c389f0bc5ce4269a40d9695927bc58700328\",\n          \"topics\": [\n            \"0x6e5b1ba771e8e484f741ed085f039ff4e5c6e882eaf68f550fb390922d0ae4a7\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000069ce81ac\",\n          \"blockHash\": \"0x4718af96ff82993b15719f2f9c1087e313cad578180217d834a377fdf6027c53\",\n          \"blockNumber\": \"0x26ba35\",\n          \"blockTimestamp\": \"0x69ce81ac\",\n          \"transactionHash\": \"0xbe0eb99650a815fbfed83ba6063a4c1dbe9444e2a55acda4d3a850fb825a5804\",\n          \"transactionIndex\": \"0x1a\",\n          \"logIndex\": \"0x1a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x3d59999977e0896ee1f8783bb8251df16fb483e9\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0x22bb7f4bf895f73b31b2e96523769dc5fdad9324a33bb0cb8ed68837639225b6\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x4718af96ff82993b15719f2f9c1087e313cad578180217d834a377fdf6027c53\",\n          \"blockNumber\": \"0x26ba35\",\n          \"blockTimestamp\": \"0x69ce81ac\",\n          \"transactionHash\": \"0xbe0eb99650a815fbfed83ba6063a4c1dbe9444e2a55acda4d3a850fb825a5804\",\n          \"transactionIndex\": \"0x1a\",\n          \"logIndex\": \"0x1b\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000010000000000000000400000000000800000000080040004000109000000000020000000001000000200000000000008000008000000000000300000000400000000000000000002084020000000100000004002000020001002000100000000800000000000000000000000000000000000000000000000000000000000400000000000000000000000000000008080000000000000000200000000000000108000012000000404000000200000000080000000000000000020000020000000000000002002050000000000000000000200008000000000000000000000000000000000200000000000000000000000000000000000004100\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xbe0eb99650a815fbfed83ba6063a4c1dbe9444e2a55acda4d3a850fb825a5804\",\n      \"transactionIndex\": \"0x1a\",\n      \"blockHash\": \"0x4718af96ff82993b15719f2f9c1087e313cad578180217d834a377fdf6027c53\",\n      \"blockNumber\": \"0x26ba35\",\n      \"gasUsed\": \"0x47e59\",\n      \"effectiveGasPrice\": \"0x180e611\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x3d59999977e0896ee1f8783bb8251df16fb483e9\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1775141298391,\n  \"chain\": 560048,\n  \"commit\": \"6d9ab82\"\n}"
  },
  {
    "path": "zeronet/2026-04-01-activate-multiproof/records/DeployMultiproofStack.s.sol/560048/run-1775133494692.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x35ef6c628c2ec239750e05e58c35deaa4928306d77c4dd8249e59822113bacae\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"TEEProverRegistry\",\n      \"contractAddress\": \"0x3b0d2f6a1f9d9de3a163e1f0aaf845dd47ce3122\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x5eD42a8Eb9E1F0B466047c02156d894968d42FF9\",\n        \"0x154972aB98A5e321a9c7aB7677973f1F501a8090\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"gas\": \"0x20fe9a\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c06040523480156200001157600080fd5b50604051620022c0380380620022c08339810160408190526200003491620006a1565b6001600160a01b0381166200005c57604051635af9c0d760e11b815260040160405180910390fd5b6001600160a01b03828116608052811660a05260408051600080825260208201909252620000909161dead91829162000098565b50506200071e565b600054610100900460ff1615808015620000b95750600054600160ff909116105b80620000e95750620000d6306200031160201b62000aa61760201c565b158015620000e9575060005460ff166001145b620001525760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801562000176576000805461ff0019166101001790555b6200018062000320565b6200018b8562000388565b62000196846200040e565b6065805463ffffffff191663ffffffff841617905560005b8351811015620002c25760006001600160a01b0316848281518110620001d857620001d8620006e0565b60200260200101516001600160a01b031614620002ad576001606860008684815181106200020a576200020a620006e0565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055508381815181106200025e576200025e620006e0565b60200260200101516001600160a01b03167ffc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d26001604051620002a4911515815260200190565b60405180910390a25b80620002b981620006f6565b915050620001ae565b5080156200030a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b6001600160a01b03163b151590565b600054610100900460ff166200037c5760405162461bcd60e51b815260206004820152602b6024820152600080516020620022a083398151915260448201526a6e697469616c697a696e6760a81b606482015260840162000149565b6200038662000493565b565b6200039262000505565b6001600160a01b038116620004005760405162461bcd60e51b815260206004820152602d60248201527f4f776e61626c654d616e616765643a206e6577206f776e65722069732074686560448201526c207a65726f206164647265737360981b606482015260840162000149565b6200040b8162000560565b50565b62000418620005b2565b6001600160a01b038116620004885760405162461bcd60e51b815260206004820152602f60248201527f4f776e61626c654d616e616765643a206e6577206d616e61676572206973207460448201526e6865207a65726f206164647265737360881b606482015260840162000149565b6200040b8162000639565b600054610100900460ff16620004ef5760405162461bcd60e51b815260206004820152602b6024820152600080516020620022a083398151915260448201526a6e697469616c697a696e6760a81b606482015260840162000149565b620004fa3362000560565b620003863362000639565b6033546001600160a01b03163314620003865760405162461bcd60e51b8152602060048201526027602482015260008051602062002280833981519152604482015266329037bbb732b960c91b606482015260840162000149565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6033546001600160a01b0316331480620005d657506034546001600160a01b031633145b620003865760405162461bcd60e51b815260206004820152603660248201526000805160206200228083398151915260448201527f65206f776e6572206f7220746865206d616e6167657200000000000000000000606482015260840162000149565b603480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c8590600090a35050565b6001600160a01b03811681146200040b57600080fd5b60008060408385031215620006b557600080fd5b8251620006c2816200068b565b6020840151909250620006d5816200068b565b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b6000600182016200071757634e487b7160e01b600052601160045260246000fd5b5060010190565b60805160a051611b2e62000752600039600081816101ff0152610d9d0152600081816102ac01526107340152611b2e6000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806394a277d1116100b8578063d25600561161007c578063d2560056146102ce578063d5f5058214610301578063e4edf85214610314578063e8533e2914610327578063e9ed9b641461034a578063f2fde38b1461035d57600080fd5b806394a277d11461025257806394b2822f1461025a578063ba58e82a1461026f578063bbdc02db14610282578063c80d23f6146102a757600080fd5b806354fd4d501161010a57806354fd4d50146101b85780636666efdb146101df578063715018a6146101f257806382ff53a1146101fa57806386b4ebd3146102215780638da5cb5b1461024157600080fd5b8063089208d8146101475780630ba24fe0146101515780630dcaeaf2146101645780632712e20d14610180578063481c6a7514610193575b600080fd5b61014f610370565b005b61014f61015f366004611284565b610384565b61016d610e1081565b6040519081526020015b60405180910390f35b61014f61018e366004611379565b6103fa565b6034546001600160a01b03165b6040516001600160a01b039091168152602001610177565b60408051808201825260058152640302e352e360dc1b602082015290516101779190611480565b61014f6101ed3660046114b3565b610644565b61014f6106e5565b6101a07f000000000000000000000000000000000000000000000000000000000000000081565b61016d61022f366004611284565b60676020526000908152604090205481565b6033546001600160a01b03166101a0565b61016d6106f7565b610262610706565b60405161017791906114ce565b61014f61027d366004611564565b610712565b6065546102929063ffffffff1681565b60405163ffffffff9091168152602001610177565b6101a07f000000000000000000000000000000000000000000000000000000000000000081565b6102f16102dc366004611284565b60666020526000908152604090205460ff1681565b6040519015158152602001610177565b6102f161030f366004611284565b6108f4565b61014f610322366004611284565b610940565b6102f1610335366004611284565b60686020526000908152604090205460ff1681565b61014f6103583660046115d0565b6109c2565b61014f61036b366004611284565b610a29565b610378610ab5565b6103826000610b43565b565b61038c610ab5565b6001600160a01b0381166000908152606660209081526040808320805460ff1916905560679091528120556103c2606982610b95565b506040516001600160a01b038216907fb64c2e472ebdc8f61a76438be3074f3e38569b2ebd8a9cc71dcc9b181defd78e90600090a250565b600054610100900460ff161580801561041a5750600054600160ff909116105b806104345750303b158015610434575060005460ff166001145b61049c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156104bf576000805461ff0019166101001790555b6104c7610ce0565b6104d085610a29565b6104d984610940565b6065805463ffffffff191663ffffffff841617905560005b83518110156105f65760006001600160a01b03168482815181106105175761051761160e565b60200260200101516001600160a01b0316146105e4576001606860008684815181106105455761054561160e565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055508381815181106105965761059661160e565b60200260200101516001600160a01b03167ffc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d260016040516105db911515815260200190565b60405180910390a25b806105ee8161163a565b9150506104f1565b50801561063d576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b61064c610d0f565b6065805463ffffffff83811663ffffffff1983161790925516600061066f610d79565b9050806106a7576065805463ffffffff841663ffffffff19909116179055604080516313d0866160e11b815290519081900360040190fd5b60405163ffffffff841681527fde7d61181e5b13fcab68f1d4a0be52854e613272de874356f9d0102594aa4e9b9060200160405180910390a1505050565b6106ed610d0f565b6103826000610ee4565b6000610701610d79565b905090565b60606107016069610f36565b61071a610ab5565b604051636d114be360e01b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636d114be390610772908890889060019089908990600401611692565b6000604051808303816000875af1158015610791573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107b991908101906118c8565b90506000815160038111156107d0576107d061167c565b146107ee576040516320dd787760e11b815260040160405180910390fd5b42610e106103e8836040015167ffffffffffffffff1661080e9190611a21565b6108189190611a43565b116108365760405163696bbf1f60e01b815260040160405180910390fd5b60006108458260e0015161100b565b60c08301518051919250906041146108705760405163145a1fdd60e31b815260040160405180910390fd5b6040602182018190206001600160a01b038116600090815260666020908152838220805460ff191660011790556067905291909120839055806108b46069826110e2565b506040516001600160a01b038216907f97110439909bcbb4488918a0cbe54781949ecf5d1415e972bf922a92df93fb3f90600090a2505050505050505050565b6001600160a01b03811660009081526066602052604081205460ff16801561093a575061091f610d79565b6001600160a01b038316600090815260676020526040902054145b92915050565b610948610ab5565b6001600160a01b0381166109b65760405162461bcd60e51b815260206004820152602f60248201527f4f776e61626c654d616e616765643a206e6577206d616e61676572206973207460448201526e6865207a65726f206164647265737360881b6064820152608401610493565b6109bf81610b43565b50565b6109ca610d0f565b6001600160a01b038216600081815260686020908152604091829020805460ff191685151590811790915591519182527ffc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d2910160405180910390a25050565b610a31610d0f565b6001600160a01b038116610a9d5760405162461bcd60e51b815260206004820152602d60248201527f4f776e61626c654d616e616765643a206e6577206f776e65722069732074686560448201526c207a65726f206164647265737360981b6064820152608401610493565b6109bf81610ee4565b6001600160a01b03163b151590565b6033546001600160a01b0316331480610ad857506034546001600160a01b031633145b6103825760405162461bcd60e51b815260206004820152603660248201527f4f776e61626c654d616e616765643a2063616c6c6572206973206e6f74207468604482015275329037bbb732b91037b9103a34329036b0b730b3b2b960511b6064820152608401610493565b603480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c8590600090a35050565b63978aab926004526000828152602481206001600160a01b03929092169168fbb67fda52d4bfb8be198301610bd25763f5a267f16000526004601cfd5b82610be45768fbb67fda52d4bfb8bf92505b80546bffffffffffffffffffffffff811680610c675760019350848260601c03610c2257600183018054845560028401805490915560009055610cd7565b84600184015460601c03610c4457600283018054600185015560009055610cd7565b84600284015460601c03610c5e5760006002840155610cd7565b60009350610cd7565b82602052846000526040600020805480610c82575050610cd7565b60018360011c039250826001820314610cba578285015460601c8060601b600183038701556000848701558060005250806040600020555b5060018260011b17845460601c60601b1784556000815550600193505b50505092915050565b600054610100900460ff16610d075760405162461bcd60e51b815260040161049390611a5b565b610382611236565b6033546001600160a01b031633146103825760405162461bcd60e51b815260206004820152602760248201527f4f776e61626c654d616e616765643a2063616c6c6572206973206e6f74207468604482015266329037bbb732b960c91b6064820152608401610493565b606554604051630db42dcf60e11b815263ffffffff909116600482015260009081907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631b685b9e90602401602060405180830381865afa158015610dec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e109190611aa6565b60408051600481526024810182526020810180516001600160e01b03166260ff5160e21b179052905191925060009182916001600160a01b03851691610e569190611ac3565b600060405180830381855afa9150503d8060008114610e91576040519150601f19603f3d011682016040523d82523d6000602084013e610e96565b606091505b5091509150811580610eaa57508051602014155b15610ec857604051639fb4826960e01b815260040160405180910390fd5b80806020019051810190610edc9190611adf565b935050505090565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b63978aab926004526000818152602481206060915068fbb67fda52d4bfb8bf81548060a01b60a01c6040519450846020018260601c9250838314158302815281610fc5578215610fc057600191508185015460601c92508215610fc0578284141590920260208301525060028381015460601c918215610fc0576003915083831415830260408201525b610ff5565b600191821c915b82811015610ff3578581015460601c858114158102600583901b8401529350600101610fcc565b505b8186528160051b81016040525050505050919050565b6000805b82518110156110c85782818151811061102a5761102a61160e565b60200260200101516000015167ffffffffffffffff166000036110b657600083828151811061105b5761105b61160e565b6020026020010151602001519050806000015181602001516040516020016110979291909182526001600160801b031916602082015260300190565b6040516020818303038152906040528051906020012092505050919050565b806110c08161163a565b91505061100f565b506040516385269c3d60e01b815260040160405180910390fd5b63978aab926004526000828152602481206001600160a01b03929092169168fbb67fda52d4bfb8be19830161111f5763f5a267f16000526004601cfd5b826111315768fbb67fda52d4bfb8bf92505b80546bffffffffffffffffffffffff811682602052806111f9578160601c80611164578560601b84556001945050610cd7565b8581036111715750610cd7565b600184015460601c80611192578660601b6001860155600195505050610cd7565b8681036111a0575050610cd7565b600285015460601c806111c2578760601b600287015560019650505050610cd7565b8781036111d157505050610cd7565b6000928352604080842060019055918352818320600290558252902060039055506007908117905b846000526040600020805461122c578160011c91508560601b828501558160010181558260020184556001945050610cd7565b5050505092915050565b600054610100900460ff1661125d5760405162461bcd60e51b815260040161049390611a5b565b61126633610ee4565b61038233610b43565b6001600160a01b03811681146109bf57600080fd5b60006020828403121561129657600080fd5b81356112a18161126f565b9392505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156112e1576112e16112a8565b60405290565b604051610120810167ffffffffffffffff811182821017156112e1576112e16112a8565b604051601f8201601f1916810167ffffffffffffffff81118282101715611334576113346112a8565b604052919050565b600067ffffffffffffffff821115611356576113566112a8565b5060051b60200190565b803563ffffffff8116811461137457600080fd5b919050565b6000806000806080858703121561138f57600080fd5b843561139a8161126f565b93506020858101356113ab8161126f565b9350604086013567ffffffffffffffff8111156113c757600080fd5b8601601f810188136113d857600080fd5b80356113eb6113e68261133c565b61130b565b81815260059190911b8201830190838101908a83111561140a57600080fd5b928401925b828410156114315783356114228161126f565b8252928401929084019061140f565b809650505050505061144560608601611360565b905092959194509250565b60005b8381101561146b578181015183820152602001611453565b8381111561147a576000848401525b50505050565b602081526000825180602084015261149f816040850160208701611450565b601f01601f19169190910160400192915050565b6000602082840312156114c557600080fd5b6112a182611360565b6020808252825182820181905260009190848201906040850190845b8181101561150f5783516001600160a01b0316835292840192918401916001016114ea565b50909695505050505050565b60008083601f84011261152d57600080fd5b50813567ffffffffffffffff81111561154557600080fd5b60208301915083602082850101111561155d57600080fd5b9250929050565b6000806000806040858703121561157a57600080fd5b843567ffffffffffffffff8082111561159257600080fd5b61159e8883890161151b565b909650945060208701359150808211156115b757600080fd5b506115c48782880161151b565b95989497509550505050565b600080604083850312156115e357600080fd5b82356115ee8161126f565b91506020830135801515811461160357600080fd5b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161164c5761164c611624565b5060010190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b634e487b7160e01b600052602160045260246000fd5b6060815260006116a6606083018789611653565b600386106116c457634e487b7160e01b600052602160045260246000fd5b85602084015282810360408401526116dd818587611653565b98975050505050505050565b80516004811061137457600080fd5b805160ff8116811461137457600080fd5b805167ffffffffffffffff8116811461137457600080fd5b600082601f83011261173257600080fd5b815160206117426113e68361133c565b82815260059290921b8401810191818101908684111561176157600080fd5b8286015b8481101561177c5780518352918301918301611765565b509695505050505050565b600082601f83011261179857600080fd5b815167ffffffffffffffff8111156117b2576117b26112a8565b6117c5601f8201601f191660200161130b565b8181528460208386010111156117da57600080fd5b6117eb826020830160208701611450565b949350505050565b600082601f83011261180457600080fd5b815160206118146113e68361133c565b8281526060928302850182019282820191908785111561183357600080fd5b8387015b858110156118bb57808903828112156118505760008081fd5b6118586112be565b61186183611709565b8152604080601f19840112156118775760008081fd5b61187f6112be565b848901518152908401519092506001600160801b0319811681146118a35760008081fd5b82880152808701919091528452928401928101611837565b5090979650505050505050565b6000602082840312156118da57600080fd5b815167ffffffffffffffff808211156118f257600080fd5b90830190610120828603121561190757600080fd5b61190f6112e7565b611918836116e9565b8152611926602084016116f8565b602082015261193760408401611709565b604082015260608301518281111561194e57600080fd5b61195a87828601611721565b60608301525060808301518281111561197257600080fd5b61197e87828601611787565b60808301525060a08301518281111561199657600080fd5b6119a287828601611787565b60a08301525060c0830151828111156119ba57600080fd5b6119c687828601611787565b60c08301525060e0830151828111156119de57600080fd5b6119ea878286016117f3565b60e0830152506101008084015183811115611a0457600080fd5b611a1088828701611787565b918301919091525095945050505050565b600082611a3e57634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115611a5657611a56611624565b500190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600060208284031215611ab857600080fd5b81516112a18161126f565b60008251611ad5818460208701611450565b9190910192915050565b600060208284031215611af157600080fd5b505191905056fea264697066735822122049eb4151bc35b6e4dee87f1ae07cf06f358a54acac02b5c9e84e35da76c085e364736f6c634300080f00334f776e61626c654d616e616765643a2063616c6c6572206973206e6f74207468496e697469616c697a61626c653a20636f6e7472616374206973206e6f7420690000000000000000000000005ed42a8eb9e1f0b466047c02156d894968d42ff9000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a8090\",\n        \"nonce\": \"0x15\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xbb456df7116616c6b21cad61c62cc2065cc9fbd1ea9b2b8ae3a634ebbbcb2297\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"DelayedWETH\",\n      \"contractAddress\": \"0xf5f747bb3bbb45bb019fc49bf2e9f2ee93158c72\",\n      \"function\": null,\n      \"arguments\": [\n        \"86400\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"gas\": \"0x165c8c\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c060405234801561001057600080fd5b5060405161144138038061144183398101604081905261002f91610106565b600160805260a0819052610041610047565b5061011f565b600054610100900460ff16156100b35760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614610104576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60006020828403121561011857600080fd5b5051919050565b60805160a0516112ef6101526000396000818161035d0152610f2d0152600081816102e40152610c2401526112ef6000f3fe60806040526004361061016a5760003560e01c806370a08231116100d1578063a9059cbb1161008a578063d0e30db011610064578063d0e30db014610179578063dad544e0146104ed578063dd62ed3e14610502578063f3fef3a31461054857610179565b8063a9059cbb14610459578063c4d66de814610479578063cd47bde11461049957610179565b806370a082311461038157806379502c55146103b75780637eee288d146103cc57806395d89b41146103ec578063977a5ec514610419578063a7e21e801461043957610179565b8063313ce56711610123578063313ce5671461027657806333d7e2bd1461029d57806338d38c97146102d55780633e47158c1461030857806354fd4d501461031d5780636a42b8f81461034e57610179565b806306fdde0314610181578063095ea7b3146101c95780630ca35682146101f957806318160ddd1461021957806323b872dd146102365780632e1a7d4d1461025657610179565b3661017957610177610568565b005b610177610568565b34801561018d57600080fd5b5060408051808201909152600d81526c2bb930b83832b21022ba3432b960991b60208201525b6040516101c091906110d0565b60405180910390f35b3480156101d557600080fd5b506101e96101e436600461113a565b6105c3565b60405190151581526020016101c0565b34801561020557600080fd5b50610177610214366004611166565b61062f565b34801561022557600080fd5b50475b6040519081526020016101c0565b34801561024257600080fd5b506101e961025136600461117f565b610746565b34801561026257600080fd5b50610177610271366004611166565b6108a0565b34801561028257600080fd5b5061028b601281565b60405160ff90911681526020016101c0565b3480156102a957600080fd5b506004546102bd906001600160a01b031681565b6040516001600160a01b0390911681526020016101c0565b3480156102e157600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061028b565b34801561031457600080fd5b506102bd6108ad565b34801561032957600080fd5b506101b3604051806040016040528060058152602001640312e352e360dc1b81525081565b34801561035a57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610228565b34801561038d57600080fd5b5061022861039c3660046111c0565b6001600160a01b031660009081526001602052604090205490565b3480156103c357600080fd5b506102bd610a5f565b3480156103d857600080fd5b506101776103e736600461113a565b610add565b3480156103f857600080fd5b506040805180820190915260048152630ae8aa8960e31b60208201526101b3565b34801561042557600080fd5b5061017761043436600461113a565b610b24565b34801561044557600080fd5b506101776104543660046111c0565b610beb565b34801561046557600080fd5b506101e961047436600461113a565b610c0e565b34801561048557600080fd5b506101776104943660046111c0565b610c22565b3480156104a557600080fd5b506104d86104b43660046111dd565b60036020908152600092835260408084209091529082529020805460019091015482565b604080519283526020830191909152016101c0565b3480156104f957600080fd5b506102bd610d41565b34801561050e57600080fd5b5061022861051d3660046111dd565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561055457600080fd5b5061017761056336600461113a565b610d88565b336000908152600160205260408120805434929061058790849061122c565b909155505060405134815233907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9060200160405180910390a2565b3360008181526002602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061061e9086815260200190565b60405180910390a350600192915050565b610637610d41565b6001600160a01b0316336001600160a01b0316146106955760405162461bcd60e51b81526020600482015260166024820152752232b630bcb2b22ba2aa241d103737ba1037bbb732b960511b60448201526064015b60405180910390fd5b60004782106106a457476106a6565b815b604051909150600090339083908381818185875af1925050503d80600081146106eb576040519150601f19603f3d011682016040523d82523d6000602084013e6106f0565b606091505b50509050806107415760405162461bcd60e51b815260206004820152601b60248201527f44656c61796564574554483a207265636f766572206661696c65640000000000604482015260640161068c565b505050565b6001600160a01b03831660009081526001602052604081205482111561076b57600080fd5b6001600160a01b03841660008181526002602090815260408083203380855292529091205491148015906107a157506000198114155b156107ec57828110156107b357600080fd5b6001600160a01b0385166000908152600260209081526040808320338452909152812080548592906107e6908490611244565b90915550505b6001600160a01b03851660009081526001602052604081208054859290610814908490611244565b90915550506001600160a01b0384166000908152600160205260408120805485929061084190849061122c565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161088d91815260200190565b60405180910390a3506001949350505050565b6108aa3382610d88565b50565b6000806108d87fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b90506001600160a01b038116156108ee57919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000815250516002610931919061125b565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000919091179061098c906060015b604051602081830303815290604052805190602001205490565b146109aa576040516354e433cd60e01b815260040160405180910390fd5b604080513060208201526001918101919091526000906109cc90606001610972565b90506001600160a01b03811615610a4657806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3f919061127a565b9250505090565b60405163332144db60e01b815260040160405180910390fd5b6000600460009054906101000a90046001600160a01b03166001600160a01b03166335e80ab36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ab4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad8919061127a565b905090565b3360009081526003602090815260408083206001600160a01b03861684529091528120426001820155805490918391839190610b1a90849061122c565b9091555050505050565b610b2c610d41565b6001600160a01b0316336001600160a01b031614610b855760405162461bcd60e51b81526020600482015260166024820152752232b630bcb2b22ba2aa241d103737ba1037bbb732b960511b604482015260640161068c565b6001600160a01b03821660008181526002602090815260408083203380855290835292819020859055518481529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3610741823383610746565b6108aa81610434836001600160a01b031660009081526001602052604090205490565b6000610c1b338484610746565b9392505050565b7f0000000000000000000000000000000000000000000000000000000000000000600054610100900460ff16158015610c62575060005460ff8083169116105b610cc55760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161068c565b6000805461ffff191660ff831617610100179055610ce1610fda565b600480546001600160a01b0319166001600160a01b0384161790556000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6000610d4b6108ad565b6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ab4573d6000803e3d6000fd5b6004805460408051635c975abb60e01b815290516001600160a01b0390921692635c975abb9282820192602092908290030181865afa158015610dcf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df39190611297565b15610e405760405162461bcd60e51b815260206004820152601f60248201527f44656c61796564574554483a20636f6e74726163742069732070617573656400604482015260640161068c565b3360009081526003602090815260408083206001600160a01b038616845290915290208054821115610eca5760405162461bcd60e51b815260206004820152602d60248201527f44656c61796564574554483a20696e73756666696369656e7420756e6c6f636b60448201526c1959081dda5d1a191c985dd85b609a1b606482015260840161068c565b6000816001015411610f2a5760405162461bcd60e51b8152602060048201526024808201527f44656c61796564574554483a207769746864726177616c206e6f7420756e6c6f60448201526318dad95960e21b606482015260840161068c565b427f00000000000000000000000000000000000000000000000000000000000000008260010154610f5b919061122c565b1115610fb75760405162461bcd60e51b815260206004820152602560248201527f44656c61796564574554483a207769746864726177616c2064656c6179206e6f6044820152641d081b595d60da1b606482015260840161068c565b81816000016000828254610fcb9190611244565b9091555061074190508261102a565b33610fe36108ad565b6001600160a01b03161415801561100a575033610ffe610d41565b6001600160a01b031614155b1561102857604051636202851360e11b815260040160405180910390fd5b565b3360009081526001602052604090205481111561104657600080fd5b3360009081526001602052604081208054839290611065908490611244565b9091555050604051339082156108fc029083906000818181858888f19350505050158015611097573d6000803e3d6000fd5b5060405181815233907f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b659060200160405180910390a250565b600060208083528351808285015260005b818110156110fd578581018301518582016040015282016110e1565b8181111561110f576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146108aa57600080fd5b6000806040838503121561114d57600080fd5b823561115881611125565b946020939093013593505050565b60006020828403121561117857600080fd5b5035919050565b60008060006060848603121561119457600080fd5b833561119f81611125565b925060208401356111af81611125565b929592945050506040919091013590565b6000602082840312156111d257600080fd5b8135610c1b81611125565b600080604083850312156111f057600080fd5b82356111fb81611125565b9150602083013561120b81611125565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b6000821982111561123f5761123f611216565b500190565b60008282101561125657611256611216565b500390565b600081600019048311821515161561127557611275611216565b500290565b60006020828403121561128c57600080fd5b8151610c1b81611125565b6000602082840312156112a957600080fd5b81518015158114610c1b57600080fdfea264697066735822122033c67988de809e4c5b2b93a62924bf8a4a8026929b429359ecf0d885e5c557a064736f6c634300080f00330000000000000000000000000000000000000000000000000000000000015180\",\n        \"nonce\": \"0x16\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x5b53b767060403df37054fd9dbbb65ec64198fde74388e97ccdb7ab0a3b5e83a\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0xf1d1441b7d98f191f5cfbe4660d3684fea004afc\",\n      \"function\": null,\n      \"arguments\": [\n        \"0xb2d9a52e76841279EF0372c534C539a4f68f8C0B\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"gas\": \"0x8b589\",\n        \"value\": \"0x0\",\n        \"input\": \"0x608060405234801561001057600080fd5b5060405161078e38038061078e83398101604081905261002f916100b5565b6100388161003e565b506100e5565b600061005660008051602061076e8339815191525490565b60008051602061076e833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61067a806100f46000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100ae5780638f283970146100db578063f851a440146100fb5761005d565b3661005d5761005b610110565b005b61005b610110565b34801561007157600080fd5b5061005b610080366004610521565b6101c8565b61009861009336600461053c565b61020e565b6040516100a591906105bf565b60405180910390f35b3480156100ba57600080fd5b506100c361033e565b6040516001600160a01b0390911681526020016100a5565b3480156100e757600080fd5b5061005b6100f6366004610521565b6103a9565b34801561010757600080fd5b506100c36103e4565b600061013a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90506001600160a01b0381166101a55760405162461bcd60e51b815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e697469616044820152641b1a5e995960da1b60648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e806101c2573d6000fd5b503d6000f35b600080516020610625833981519152546001600160a01b0316336001600160a01b031614806101f5575033155b156102065761020381610432565b50565b610203610110565b60606102266000805160206106258339815191525490565b6001600160a01b0316336001600160a01b03161480610243575033155b1561032f5761025184610432565b600080856001600160a01b0316858560405161026e929190610614565b600060405180830381855af49150503d80600081146102a9576040519150601f19603f3d011682016040523d82523d6000602084013e6102ae565b606091505b5091509150816103265760405162461bcd60e51b815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c656400000000000000606482015260840161019c565b91506103379050565b610337610110565b9392505050565b60006103566000805160206106258339815191525490565b6001600160a01b0316336001600160a01b03161480610373575033155b1561039e57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6103a6610110565b90565b600080516020610625833981519152546001600160a01b0316336001600160a01b031614806103d6575033155b15610206576102038161048e565b60006103fc6000805160206106258339815191525490565b6001600160a01b0316336001600160a01b03161480610419575033155b1561039e57506000805160206106258339815191525490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8181556040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006104a66000805160206106258339815191525490565b600080516020610625833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b80356001600160a01b038116811461051c57600080fd5b919050565b60006020828403121561053357600080fd5b61033782610505565b60008060006040848603121561055157600080fd5b61055a84610505565b9250602084013567ffffffffffffffff8082111561057757600080fd5b818601915086601f83011261058b57600080fd5b81358181111561059a57600080fd5b8760208285010111156105ac57600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156105ec578581018301518582016040015282016105d0565b818111156105fe576000604083870101525b50601f01601f1916929092016040019392505050565b818382376000910190815291905056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103a2646970667358221220e57aa3e97a31d2fac4bc10410d79155cadf30ff00bb10cb44a6bb3913b6877c264736f6c634300080f0033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"nonce\": \"0x17\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x7e503c1d0e0f142224604ef67a14a9fa3fd5b7b49cb092b077f7210f0a27806d\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0xf1d1441b7d98f191f5cfbe4660d3684fea004afc\",\n      \"function\": \"upgradeToAndCall(address,bytes)\",\n      \"arguments\": [\n        \"0x3b0D2F6A1F9d9De3A163e1F0aaF845dD47Ce3122\",\n        \"0x2712e20d000000000000000000000000856611ed7e07d83243b15e93f6321f2df68658520000000000000000000000005f109182a097c40cc936742be4b55c1a08ac4dd90000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000026d00000000000000000000000000000000000000000000000000000000000000020000000000000000000000005679a6b3817a014d6f3dcd64569d6858f4e92f5e000000000000000000000000ad3b1402b3ec6a23c3913258d3811f132e7e35e0\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0xf1d1441b7d98f191f5cfbe4660d3684fea004afc\",\n        \"gas\": \"0x439ab\",\n        \"value\": \"0x0\",\n        \"input\": \"0x4f1ef2860000000000000000000000003b0d2f6a1f9d9de3a163e1f0aaf845dd47ce3122000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000e42712e20d000000000000000000000000856611ed7e07d83243b15e93f6321f2df68658520000000000000000000000005f109182a097c40cc936742be4b55c1a08ac4dd90000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000026d00000000000000000000000000000000000000000000000000000000000000020000000000000000000000005679a6b3817a014d6f3dcd64569d6858f4e92f5e000000000000000000000000ad3b1402b3ec6a23c3913258d3811f132e7e35e000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x18\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xd4a4c4950b58794d7129534e65790baafe0afad64ed0410de803a203c05a3a5d\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0xf1d1441b7d98f191f5cfbe4660d3684fea004afc\",\n      \"function\": \"changeAdmin(address)\",\n      \"arguments\": [\n        \"0x44F00318360258744A0dAa957c2d15080A473469\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0xf1d1441b7d98f191f5cfbe4660d3684fea004afc\",\n        \"gas\": \"0x99b4\",\n        \"value\": \"0x0\",\n        \"input\": \"0x8f28397000000000000000000000000044f00318360258744a0daa957c2d15080a473469\",\n        \"nonce\": \"0x19\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xaa95384d7629e843c40152b945c202a071e1a45a7425f41cca0f3ab778e7df1b\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0x8ff945fcad2ca8d66fa1ba63c70440328bb14ff3\",\n      \"function\": null,\n      \"arguments\": [\n        \"0xb2d9a52e76841279EF0372c534C539a4f68f8C0B\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"gas\": \"0x8b589\",\n        \"value\": \"0x0\",\n        \"input\": \"0x608060405234801561001057600080fd5b5060405161078e38038061078e83398101604081905261002f916100b5565b6100388161003e565b506100e5565b600061005660008051602061076e8339815191525490565b60008051602061076e833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61067a806100f46000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100ae5780638f283970146100db578063f851a440146100fb5761005d565b3661005d5761005b610110565b005b61005b610110565b34801561007157600080fd5b5061005b610080366004610521565b6101c8565b61009861009336600461053c565b61020e565b6040516100a591906105bf565b60405180910390f35b3480156100ba57600080fd5b506100c361033e565b6040516001600160a01b0390911681526020016100a5565b3480156100e757600080fd5b5061005b6100f6366004610521565b6103a9565b34801561010757600080fd5b506100c36103e4565b600061013a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90506001600160a01b0381166101a55760405162461bcd60e51b815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e697469616044820152641b1a5e995960da1b60648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e806101c2573d6000fd5b503d6000f35b600080516020610625833981519152546001600160a01b0316336001600160a01b031614806101f5575033155b156102065761020381610432565b50565b610203610110565b60606102266000805160206106258339815191525490565b6001600160a01b0316336001600160a01b03161480610243575033155b1561032f5761025184610432565b600080856001600160a01b0316858560405161026e929190610614565b600060405180830381855af49150503d80600081146102a9576040519150601f19603f3d011682016040523d82523d6000602084013e6102ae565b606091505b5091509150816103265760405162461bcd60e51b815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c656400000000000000606482015260840161019c565b91506103379050565b610337610110565b9392505050565b60006103566000805160206106258339815191525490565b6001600160a01b0316336001600160a01b03161480610373575033155b1561039e57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6103a6610110565b90565b600080516020610625833981519152546001600160a01b0316336001600160a01b031614806103d6575033155b15610206576102038161048e565b60006103fc6000805160206106258339815191525490565b6001600160a01b0316336001600160a01b03161480610419575033155b1561039e57506000805160206106258339815191525490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8181556040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006104a66000805160206106258339815191525490565b600080516020610625833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b80356001600160a01b038116811461051c57600080fd5b919050565b60006020828403121561053357600080fd5b61033782610505565b60008060006040848603121561055157600080fd5b61055a84610505565b9250602084013567ffffffffffffffff8082111561057757600080fd5b818601915086601f83011261058b57600080fd5b81358181111561059a57600080fd5b8760208285010111156105ac57600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156105ec578581018301518582016040015282016105d0565b818111156105fe576000604083870101525b50601f01601f1916929092016040019392505050565b818382376000910190815291905056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103a2646970667358221220e57aa3e97a31d2fac4bc10410d79155cadf30ff00bb10cb44a6bb3913b6877c264736f6c634300080f0033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"nonce\": \"0x1a\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x7e3dfe6038fe823f629b82a3f28732ec7102c44a0a6fc3b3e065b397264ac41f\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0x8ff945fcad2ca8d66fa1ba63c70440328bb14ff3\",\n      \"function\": \"upgradeToAndCall(address,bytes)\",\n      \"arguments\": [\n        \"0xF5f747bB3bBb45bB019fc49Bf2E9F2Ee93158C72\",\n        \"0xc4d66de8000000000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea80\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x8ff945fcad2ca8d66fa1ba63c70440328bb14ff3\",\n        \"gas\": \"0x22ede\",\n        \"value\": \"0x0\",\n        \"input\": \"0x4f1ef286000000000000000000000000f5f747bb3bbb45bb019fc49bf2e9f2ee93158c7200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea8000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x1b\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x1a193465d57530fd91ca64fef9a199c2029c38cfd7bce3e35fcc65df59f6dce5\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"Proxy\",\n      \"contractAddress\": \"0x8ff945fcad2ca8d66fa1ba63c70440328bb14ff3\",\n      \"function\": \"changeAdmin(address)\",\n      \"arguments\": [\n        \"0x44F00318360258744A0dAa957c2d15080A473469\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x8ff945fcad2ca8d66fa1ba63c70440328bb14ff3\",\n        \"gas\": \"0x99b4\",\n        \"value\": \"0x0\",\n        \"input\": \"0x8f28397000000000000000000000000044f00318360258744a0daa957c2d15080a473469\",\n        \"nonce\": \"0x1c\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x5c3f7b44a83863b0cd16137e2d8654183dd6087327bfe7a177be817795475b7a\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"TEEVerifier\",\n      \"contractAddress\": \"0x6f3db1c1f5110b20efbbccd13367bca8898092e6\",\n      \"function\": null,\n      \"arguments\": [\n        \"0xf1d1441B7d98f191f5CFBE4660D3684FEa004AFc\",\n        \"0x60A6C389F0BC5cE4269A40d9695927bC58700328\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"gas\": \"0xa893c\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c060405234801561001057600080fd5b5060405161097c38038061097c83398101604081905261002f9161005e565b6001600160a01b039081166080521660a052610098565b6001600160a01b038116811461005b57600080fd5b50565b6000806040838503121561007157600080fd5b825161007c81610046565b602084015190925061008d81610046565b809150509250929050565b60805160a05161089e6100de60003960008181606c01528181610245015281816102fc01526103b101526000818160d70152818161047001526104ff015261089e6000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806318efb9c21461006757806354fd4d50146100ab5780635e02132e146100d2578063ab750e75146100f9578063ece20f361461011c578063f9df65eb14610126575b600080fd5b61008e7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b60408051808201825260058152640302e322e360dc1b602082015290516100a291906106dd565b61008e7f000000000000000000000000000000000000000000000000000000000000000081565b61010c610107366004610732565b610133565b60405190151581526020016100a2565b61012461045b565b005b60005461010c9060ff1681565b6000805460ff161561015857604051632f3cfa1960e21b815260040160405180910390fd5b605584101561017a57604051632d0e1a9d60e11b815260040160405180910390fd5b600061018960148287896107b1565b610192916107db565b60601c90503660006101a860556014898b6107b1565b915091506000806101ef8785858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506105d492505050565b9092509050600081600481111561020857610208610810565b1461022657604051638baa579f60e01b815260040160405180910390fd5b60405163e8533e2960e01b81526001600160a01b0386811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063e8533e2990602401602060405180830381865afa15801561028c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b09190610826565b6102dd576040516377f1708f60e01b81526001600160a01b03861660048201526024015b60405180910390fd5b60405163692b002b60e11b81526001600160a01b0383811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063d256005690602401602060405180830381865afa158015610343573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103679190610826565b61038f5760405163bf18af4360e01b81526001600160a01b03831660048201526024016102d4565b6040516386b4ebd360e01b81526001600160a01b0383811660048301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906386b4ebd390602401602060405180830381865afa1580156103fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061041e919061084f565b905088811461044a5760405163415e3f9d60e01b815260048101829052602481018a90526044016102d4565b5060019a9950505050505050505050565b6040516324b5ce0b60e11b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa1580156104bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e39190610826565b158061057457506040516304e50fed60e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906304e50fed90602401602060405180830381865afa15801561054e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105729190610826565b155b1561059257604051637c3e4fdb60e01b815260040160405180910390fd5b6000805460ff191660011790556040513381527f3e2a844f441471ec38f2e944e29cfe184c2fc1e108af1a0bc92ca4357bac19519060200160405180910390a1565b600080825160410361060a5760208301516040840151606085015160001a6105fe87828585610619565b94509450505050610612565b506000905060025b9250929050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561065057506000905060036106d4565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156106a4573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166106cd576000600192509250506106d4565b9150600090505b94509492505050565b600060208083528351808285015260005b8181101561070a578581018301518582016040015282016106ee565b8181111561071c576000604083870101525b50601f01601f1916929092016040019392505050565b6000806000806060858703121561074857600080fd5b843567ffffffffffffffff8082111561076057600080fd5b818701915087601f83011261077457600080fd5b81358181111561078357600080fd5b88602082850101111561079557600080fd5b6020928301999098509187013596604001359550909350505050565b600080858511156107c157600080fd5b838611156107ce57600080fd5b5050820193919092039150565b6bffffffffffffffffffffffff1981358181169160148510156108085780818660140360031b1b83161692505b505092915050565b634e487b7160e01b600052602160045260246000fd5b60006020828403121561083857600080fd5b8151801515811461084857600080fd5b9392505050565b60006020828403121561086157600080fd5b505191905056fea264697066735822122006032e206a992891847092ead96bad5e2fc8b34f9ec8727bad9fae1d434ecbe564736f6c634300080f0033000000000000000000000000f1d1441b7d98f191f5cfbe4660d3684fea004afc00000000000000000000000060a6c389f0bc5ce4269a40d9695927bc58700328\",\n        \"nonce\": \"0x1d\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xcf5c5f428fa1591b89e486bf04941ecb878271853aacf5c4f0e7be7e9a6425bc\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"MockVerifier\",\n      \"contractAddress\": \"0x4730cec510e664838b20b576881702b64651cc45\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x60A6C389F0BC5cE4269A40d9695927bC58700328\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"gas\": \"0x4bdc6\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60a060405234801561001057600080fd5b506040516103ee3803806103ee83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b6080516103566100986000396000818160560152818161011401526101a301526103566000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80635e02132e14610051578063ab750e7514610095578063ece20f36146100b8578063f9df65eb146100c2575b600080fd5b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6100a86100a3366004610278565b6100cf565b604051901515815260200161008c565b6100c06100ff565b005b6000546100a89060ff1681565b6000805460ff16156100f457604051632f3cfa1960e21b815260040160405180910390fd5b506001949350505050565b6040516324b5ce0b60e11b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa158015610163573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061018791906102f7565b158061021857506040516304e50fed60e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906304e50fed90602401602060405180830381865afa1580156101f2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061021691906102f7565b155b1561023657604051637c3e4fdb60e01b815260040160405180910390fd5b6000805460ff191660011790556040513381527f3e2a844f441471ec38f2e944e29cfe184c2fc1e108af1a0bc92ca4357bac19519060200160405180910390a1565b6000806000806060858703121561028e57600080fd5b843567ffffffffffffffff808211156102a657600080fd5b818701915087601f8301126102ba57600080fd5b8135818111156102c957600080fd5b8860208285010111156102db57600080fd5b6020928301999098509187013596604001359550909350505050565b60006020828403121561030957600080fd5b8151801515811461031957600080fd5b939250505056fea26469706673582212201f342f597ebc70538a5723a92e29cdbd7357eb0213d342d393f58b3c9d73a3ca64736f6c634300080f003300000000000000000000000060a6c389f0bc5ce4269a40d9695927bc58700328\",\n        \"nonce\": \"0x1e\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xa10119fb6b09dc357b76f78deb0a328e3efc3f482074325c084ce648504126fc\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"AggregateVerifier\",\n      \"contractAddress\": \"0x6ed60b2e1bdc8bcf333e12e716af2bc63bb263d6\",\n      \"function\": null,\n      \"arguments\": [\n        \"621\",\n        \"0x60A6C389F0BC5cE4269A40d9695927bC58700328\",\n        \"0x8fF945fcAd2ca8d66Fa1ba63C70440328Bb14FF3\",\n        \"0x6F3DB1c1F5110b20EfBBCCD13367Bca8898092E6\",\n        \"0x4730CEc510E664838B20B576881702b64651Cc45\",\n        \"0xbcf94c238e15b5e423050df2b6f354ab2c5f3af791d8f862f654a195af9f491e\",\n        \"(0x33870b16176c98af4b2c96f721f9a7fa68ea92f8244618360a1592f5719085d8, 0x00719a15f7d3cb34da5c1caa72bfa7e397fd8f16808bdb958bc6da03999762c7)\",\n        \"0xab64b3118d2d030a3fd3fe3005239a2f332e48848bbedddca9e10df77ac7303e\",\n        \"763360\",\n        \"600\",\n        \"30\",\n        \"1\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"gas\": \"0x3be96c\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6102606040523480156200001257600080fd5b5060405162003add38038062003add833981016040819052620000359162000264565b82158062000041575081155b8062000057575062000054828462000345565b15155b15620000845760405163462b853960e11b8152600481018490526024810183905260440160405180910390fd5b8060011415801562000097575080600214155b15620000b65760405163b1016ea760e01b815260040160405180910390fd5b63ffffffff8c16610220526001600160a01b038b1660808190526040805163f2b4e61760e01b8152905163f2b4e617916004808201926020929091908290030181865afa1580156200010c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013291906200035c565b6001600160a01b0390811660a0528a811660c05289811660e0528816610120526101008790528551610140526020860151610160526101808590526101a08490526101c08390526101e08290526102408190526200018f620001c0565b6200019c90602062000399565b620001a990607e620003bb565b6102005250620003ed9a5050505050505050505050565b60006101e0516101c051620001d69190620003d6565b905090565b6001600160a01b0381168114620001f157600080fd5b50565b80516200020181620001db565b919050565b6000604082840312156200021957600080fd5b604080519081016001600160401b03811182821017156200024a57634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b6000806000806000806000806000806000806101a08d8f0312156200028857600080fd5b8c5163ffffffff811681146200029d57600080fd5b9b50620002ad60208e01620001f4565b9a50620002bd60408e01620001f4565b9950620002cd60608e01620001f4565b9850620002dd60808e01620001f4565b975060a08d01519650620002f58e60c08f0162000206565b95506101008d015194506101208d015193506101408d015192506101608d015191506101808d015190509295989b509295989b509295989b565b634e487b7160e01b600052601260045260246000fd5b6000826200035757620003576200032f565b500690565b6000602082840312156200036f57600080fd5b81516200037c81620001db565b9392505050565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615620003b657620003b662000383565b500290565b60008219821115620003d157620003d162000383565b500190565b600082620003e857620003e86200032f565b500490565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161354f6200058e600039600081816103930152610f17015260008181610992015281816114b40152612149015260006110d2015260008181610704015281816119b801528181612a660152612aa101526000818161055d015281816113e50152818161142001526119d90152600061080c015260008181610a8b01528181612b840152612d010152600081816108740152612db90152600081816108400152612d220152600081816108f901528181611c200152612d8801526000818161034c01528181612ba50152612c6101526000818161044a01528181611cb10152612c32015260008181610a0001528181610c1d01528181610cd301526116880152600081816107d80152818161119e01526121a101526000818161068d01528181611350015281816114df0152818161179d0152818161188f015281816119370152818161225e015281816122f20152818161241d015281816124b00152612543015261354f6000f3fe6080604052600436106103355760003560e01c806370872aa5116101ab5780639ded3952116100f7578063c26783e911610095578063d1ee5e4b1161006f578063d1ee5e4b14610a62578063d28cb06f14610a79578063e41f96ad14610aad578063fa24f74314610acd57600080fd5b8063c26783e9146109ee578063cf09e0d014610a22578063cfcf984b14610a4257600080fd5b8063b97cb80f116100d1578063b97cb80f14610963578063bbdc02db14610983578063bcef3b55146109b6578063bdb337d1146109cb57600080fd5b80639ded3952146108e7578063addecc061461091b578063b74df35a1461094e57600080fd5b806382ff53a111610164578063908cb80e1161013e578063908cb80e146108625780639730163d146108965780639840fd84146108ac57806399735e32146108d257600080fd5b806382ff53a1146107c65780638417d3c2146107fa57806387d34f161461082e57600080fd5b806370872aa51461072657806374f8bf321461073b578063786b844b146107505780637948690a146107655780637a6bc9e11461078f57806380f323a7146107b057600080fd5b806335c4377b1161028557806354fd4d5011610223578063609d3334116101fd578063609d3334146106b15780636361506d146106c657806364d12136146106db5780636dc86e81146106f257600080fd5b806354fd4d501461062057806357da950e1461064e5780635c0cba331461067e57600080fd5b80634224b1e71161025f5780634224b1e7146105b557806342316182146105c857806349edf35a146105ea5780634e95eb581461060a57600080fd5b806335c4377b1461054b57806337b1b2291461057f5780633fada3fd1461059457600080fd5b8063200d2ed2116102f257806325fc2ace116102cc57806325fc2ace146104eb5780632810e1d6146105005780632845e5bb14610515578063324a13c91461053557600080fd5b8063200d2ed21461046c57806323edb2e01461049a578063250e69bd146104ba57600080fd5b80630183fd441461033a57806310fbee28146103815780631333db2e146103b557806319effeb4146103cc5780631ee5d7c81461040b5780631f83757414610438575b600080fd5b34801561034657600080fd5b5061036e7f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020015b60405180910390f35b34801561038d57600080fd5b5061036e7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103c157600080fd5b506103ca610af1565b005b3480156103d857600080fd5b506000546103f390600160401b90046001600160401b031681565b6040516001600160401b039091168152602001610378565b34801561041757600080fd5b50610420610dff565b6040516001600160a01b039091168152602001610378565b34801561044457600080fd5b506104207f000000000000000000000000000000000000000000000000000000000000000081565b34801561047857600080fd5b5060005461048d90600160801b900460ff1681565b6040516103789190612fad565b3480156104a657600080fd5b50600354610420906001600160a01b031681565b3480156104c657600080fd5b506000546104db90600160901b900460ff1681565b6040519015158152602001610378565b3480156104f757600080fd5b5060015461036e565b34801561050c57600080fd5b5061048d610e36565b34801561052157600080fd5b506007546103f3906001600160401b031681565b34801561054157600080fd5b5061036e60055481565b34801561055757600080fd5b5061036e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561058b57600080fd5b5061042061105e565b3480156105a057600080fd5b506003546104db90600160a01b900460ff1681565b6103ca6105c336600461300f565b61106f565b3480156105d457600080fd5b506105dd6116f2565b60405161037891906130a8565b3480156105f657600080fd5b5061036e6106053660046130c2565b611711565b34801561061657600080fd5b5061036e61010081565b34801561062c57600080fd5b506040805180820190915260058152640302e312e360dc1b60208201526105dd565b34801561065a57600080fd5b50600154600254610669919082565b60408051928352602083019190915201610378565b34801561068a57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610420565b3480156106bd57600080fd5b506105dd61175e565b3480156106d257600080fd5b5061036e611783565b3480156106e757600080fd5b506103f36201518081565b3480156106fe57600080fd5b5061036e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561073257600080fd5b5060025461036e565b34801561074757600080fd5b5061042061178f565b34801561075c57600080fd5b506103ca61179b565b34801561077157600080fd5b5061077a611999565b60405163ffffffff9091168152602001610378565b34801561079b57600080fd5b506003546104db90600160a81b900460ff1681565b3480156107bc57600080fd5b5061036e60045481565b3480156107d257600080fd5b506104207f000000000000000000000000000000000000000000000000000000000000000081565b34801561080657600080fd5b5061036e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561083a57600080fd5b5061036e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561086e57600080fd5b5061036e7f000000000000000000000000000000000000000000000000000000000000000081565b3480156108a257600080fd5b5061036e611fff81565b3480156108b857600080fd5b5061042071f90827f1c53a10cb7a02335b17532000293581565b3480156108de57600080fd5b5061036e6119a5565b3480156108f357600080fd5b506104207f000000000000000000000000000000000000000000000000000000000000000081565b34801561092757600080fd5b5060075461093c90600160401b900460ff1681565b60405160ff9091168152602001610378565b34801561095a57600080fd5b5061036e6119b1565b34801561096f57600080fd5b506103ca61097e3660046130db565b6119fd565b34801561098f57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061077a565b3480156109c257600080fd5b5061036e611d14565b3480156109d757600080fd5b50600754426001600160401b0390911611156104db565b3480156109fa57600080fd5b506104207f000000000000000000000000000000000000000000000000000000000000000081565b348015610a2e57600080fd5b506000546103f3906001600160401b031681565b348015610a4e57600080fd5b506103ca610a5d36600461300f565b611d20565b348015610a6e57600080fd5b506103f362093a8081565b348015610a8557600080fd5b5061036e7f000000000000000000000000000000000000000000000000000000000000000081565b348015610ab957600080fd5b506103ca610ac83660046130db565b611e52565b348015610ad957600080fd5b50610ae2612142565b6040516103789392919061312b565b600268929eee149b4bd212685403610b115763ab143c066000526004601cfd5b600268929eee149b4bd2126855600354600160a81b900460ff1615610b49576040516317bfe5f760e01b815260040160405180910390fd5b6007546001600160401b0390811614610b9d57600054600160401b90046001600160401b03166001600160401b0316600003610b9857604051636082930560e11b815260040160405180910390fd5b610bdf565b6000546001600160401b0316610bb6906212750061316f565b6001600160401b0316421015610bdf576040516304643c3960e01b815260040160405180910390fd5b600354600160a01b900460ff16610c945760035460048054604051637eee288d60e01b81526001600160a01b039384169281019290925260248201527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b158015610c6357600080fd5b505af1158015610c77573d6000803e3d6000fd5b50506003805460ff60a01b1916600160a01b17905550610df09050565b60038054600160a81b60ff60a81b198216179091556004805460405163f3fef3a360e01b81526001600160a01b039384169281019290925260248201527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b158015610d1957600080fd5b505af1158015610d2d573d6000803e3d6000fd5b5050600354600454604051600094506001600160a01b039092169250908381818185875af1925050503d8060008114610d82576040519150601f19603f3d011682016040523d82523d6000602084013e610d87565b606091505b5050905080610da9576040516383e6cc6b60e01b815260040160405180910390fd5b6003546004546040519081526001600160a01b03909116907f87e12c2565042763daa6bf5842ed2b6447f17f7e28f9a4905fe3959581396ead9060200160405180910390a2505b600168929eee149b4bd2126855565b6000600681805b6001811115610e1757610e17612f97565b81526020810191909152604001600020546001600160a01b0316919050565b600080600054600160801b900460ff166002811115610e5757610e57612f97565b14610e755760405163f1a9458160e01b815260040160405180910390fd5b6000610e7f612183565b90506000816002811115610e9557610e95612f97565b03610eb357604051634962835760e11b815260040160405180910390fd5b6001816002811115610ec757610ec7612f97565b03610ee4576000805460ff60801b1916600160801b179055610fde565b600754426001600160401b039091161115610f12576040516304643c3960e01b815260040160405180910390fd5b6007547f0000000000000000000000000000000000000000000000000000000000000000600160401b90910460ff161015610f605760405163344de4bf60e01b815260040160405180910390fd5b60055415610fca576000805460ff60801b1916600160801b1781556001905260066020527f3e5fec24aa4dc4e5aee2e025e51e1392c72a2500577559fae9665c6d52bd6a3154600380546001600160a01b0319166001600160a01b03909216919091179055610fde565b6000805460ff60801b1916600160811b1790555b600080546fffffffffffffffff00000000000000001916600160401b426001600160401b03160217908190556040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da609161104491600160801b90910460ff1690612fad565b60405180910390a15050600054600160801b900460ff1690565b600061106a60006123d8565b905090565b600054600160881b900460ff16156110995760405162dc149f60e41b815260040160405180910390fd5b6000602060016110a9848361319a565b6110b391906131b2565b6110bd91906131c9565b6110c89060206131eb565b90506000816110f87f0000000000000000000000000000000000000000000000000000000000000000604061319a565b611102919061319a565b905080361461111957639824bdab6000526004601cfd5b611127611124611d14565b90565b61113e60016111346119b1565b61060591906131b2565b146111825761115060016111346119b1565b61115b611124611d14565b60405163f33fa6cf60e01b8152600481019290925260248201526044015b60405180910390fd5b63ffffffff61118f611999565b63ffffffff161461134e5760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bb8aa1fc6111d3611999565b6040516001600160e01b031960e084901b16815263ffffffff919091166004820152602401606060405180830381865afa158015611215573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112399190613223565b92505050611246816123fb565b6112635760405163346119f760e01b815260040160405180910390fd5b60405180604001604052806112d3836001600160a01b031663bcef3b556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111249190613285565b8152602001826001600160a01b03166399735e326040518163ffffffff1660e01b8152600401602060405180830381865afa158015611316573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133a9190613285565b9052805160015560200151600255506113dc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663664ed8306040518163ffffffff1660e01b81526004016040805180830381865afa1580156113ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113cf919061329e565b8051600155602001516002555b60025461140a907f00000000000000000000000000000000000000000000000000000000000000009061319a565b6114126119a5565b1461146f57600254611445907f00000000000000000000000000000000000000000000000000000000000000009061319a565b61144d6119a5565b60405163043d96bb60e11b815260048101929092526024820152604401611179565b600080546001600160401b03421671ff000000000000000000ffffffffffffffff1990911617600160881b17905560408051630f27ce5f60e21b8152905163ffffffff7f000000000000000000000000000000000000000000000000000000000000000016916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691633c9f397c916004808201926020929091908290030181865afa15801561152b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061154f91906132fa565b6000805460ff60901b191663ffffffff9290921692909214600160901b02178155600780546001600160401b0367ffffffffffffffff199091161790558484828161159c5761159c613315565b919091013560f81c905060018111156115b7576115b7612f97565b905060006115c960216001878961332b565b6115d291613355565b905060006115e460416021888a61332b565b6115ed91613355565b90506115f98282612634565b61163b611609876041818b61332b565b8561161261105e565b60015487905b600254611626611124611d14565b61162e6119a5565b6116366116f2565b6127e4565b61164c8361164761105e565b612884565b61165461105e565b600380546001600160a01b0319166001600160a01b0392831617905534600481815560408051630d0e30db60e41b815290517f00000000000000000000000000000000000000000000000000000000000000009094169363d0e30db0939282810192600092919082900301818588803b1580156116d057600080fd5b505af11580156116e4573d6000803e3d6000fd5b505050505050505050505050565b606061106a60786117016119b1565b61170c9060206131eb565b612967565b600061171b6119b1565b821061173a5760405163a6c661fd60e01b815260040160405180910390fd5b6117586117488360206131eb565b61175390607861319a565b6129a9565b92915050565b606061106a605461176d6119b1565b6117789060206131eb565b61170c90602461319a565b600061106a60346129a9565b60006006816001610e06565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061181d9190613373565b1561183b5760405163379a7ed960e01b815260040160405180910390fd5b600054600160401b90046001600160401b03166001600160401b031660000361187757604051636082930560e11b815260040160405180910390fd5b604051630314d2b360e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa1580156118de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119029190613373565b90508061192257604051634851bd9b60e01b815260040160405180910390fd5b6040516317cf21a960e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561198357600080fd5b505af1925050508015611994575060015b505b50565b600061106a60746129c9565b600061106a60546129a9565b600061106a7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006131c9565b60008054600160801b900460ff166002811115611a1c57611a1c612f97565b14611a3a5760405163f1a9458160e01b815260040160405180910390fd5b600084846000818110611a4f57611a4f613315565b919091013560f81c90506001811115611a6a57611a6a612f97565b90506000600681836001811115611a8357611a83612f97565b6001811115611a9457611a94612f97565b81526020810191909152604001600020546001600160a01b031603611ace57806040516304b045a760e31b81526004016111799190613395565b60055415611b54576001600554611ae591906131b2565b8314611b045760405163a6c661fd60e01b815260040160405180910390fd5b611b0d83611711565b8214611b1d578161115b84611711565b6001816001811115611b3157611b31612f97565b14611b4f576040516369ed70ab60e01b815260040160405180910390fd5b611b5e565b611b5e83836129ec565b6000806000611b6c86612a3b565b91945092509050611bbb611b83886001818c61332b565b8633611b90611124611783565b88888c898e604051602001611ba791815260200190565b6040516020818303038152906040526127e4565b611bc484612ad4565b604080518781526020810187905233917f5a8d9d181e6a59fe5477a50721401b6332a810b9183e15ac62d386379a05a717910160405180910390a26001846001811115611c1357611c13612f97565b03611c96576005600090557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ece20f366040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611c7957600080fd5b505af1158015611c8d573d6000803e3d6000fd5b50505050611d0a565b6000846001811115611caa57611caa612f97565b03611d0a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ece20f366040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156116d057600080fd5b5050505050505050565b600061106a60146129a9565b60008054600160801b900460ff166002811115611d3f57611d3f612f97565b14611d5d5760405163067fe19560e41b815260040160405180910390fd5b600754426001600160401b0390911611611d8a5760405163df469ccb60e01b815260040160405180910390fd5b600082826000818110611d9f57611d9f613315565b919091013560f81c90506001811115611dba57611dba612f97565b90506000600681836001811115611dd357611dd3612f97565b6001811115611de457611de4612f97565b81526020810191909152604001600020546001600160a01b031614611e1e57806040516338a094bd60e11b81526004016111799190613395565b611e43611e2e836001818761332b565b8333611e3b611124611783565b600154611618565b611e4d8133612884565b505050565b60008054600160801b900460ff166002811115611e7157611e71612f97565b14611e8f5760405163f1a9458160e01b815260040160405180910390fd5b611e98306123fb565b611eb5576040516357e25a0960e01b815260040160405180910390fd5b6001611ebf612183565b6002811115611ed057611ed0612f97565b03611eee5760405163346119f760e01b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8546001600160a01b0316611f425760006040516304b045a760e31b81526004016111799190613395565b600160005260066020527f3e5fec24aa4dc4e5aee2e025e51e1392c72a2500577559fae9665c6d52bd6a31546001600160a01b031615611f985760016040516338a094bd60e11b81526004016111799190613395565b600084846000818110611fad57611fad613315565b919091013560f81c90506001811115611fc857611fc8612f97565b90506001816001811115611fde57611fde612f97565b14611ffc576040516369ed70ab60e01b815260040160405180910390fd5b61200683836129ec565b600080600061201486612a3b565b9194509250905061202b611b83886001818c61332b565b336006600086600181111561204257612042612f97565b600181111561205357612053612f97565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001600760088282829054906101000a900460ff166120a491906133a9565b92506101000a81548160ff021916908360ff16021790555062093a806001600160401b0316426120d4919061319a565b6007805467ffffffffffffffff19166001600160401b039290921691909117905561210086600161319a565b60055560405186815233907f7a180232c19fd38c83e493856a42688c477bae7e82039103b2c1ea6a6162e5299060200160405180910390a25050505050505050565b60008060607f0000000000000000000000000000000000000000000000000000000000000000612170611d14565b61217861175e565b925092509250909192565b600063ffffffff612192611999565b63ffffffff16146123d25760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bb8aa1fc6121d6611999565b6040516001600160e01b031960e084901b16815263ffffffff919091166004820152602401606060405180830381865afa158015612218573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061223c9190613223565b604051631a51a37560e11b81526001600160a01b0380831660048301529194507f000000000000000000000000000000000000000000000000000000000000000090911692506334a346ea9150602401602060405180830381865afa1580156122a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122cd9190613373565b8061235d5750604051635958a19360e01b81526001600160a01b0382811660048301527f00000000000000000000000000000000000000000000000000000000000000001690635958a19390602401602060405180830381865afa158015612339573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061235d9190613373565b1561236a57600191505090565b806001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123cc91906133ce565b91505090565b50600290565b6000806123ed3660011981013560f01c900390565b929092013560601c92915050565b6040516304e50fed60e01b81526001600160a01b0382811660048301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906304e50fed90602401602060405180830381865afa158015612466573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061248a9190613373565b801561251d5750604051631a51a37560e11b81526001600160a01b0383811660048301527f000000000000000000000000000000000000000000000000000000000000000016906334a346ea90602401602060405180830381865afa1580156124f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061251b9190613373565b155b80156125b05750604051635958a19360e01b81526001600160a01b0383811660048301527f00000000000000000000000000000000000000000000000000000000000000001690635958a19390602401602060405180830381865afa15801561258a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ae9190613373565b155b801561175857506001826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061261b91906133ce565b600281111561262c5761262c612f97565b141592915050565b43811061265d5760405163096fec2960e21b815260048101829052436024820152604401611179565b60008061266a83436131b2565b9050610100811161267e578240915061278d565b611fff811161276b5760008071f90827f1c53a10cb7a02335b1753200029356001600160a01b0316856040516020016126b991815260200190565b60408051601f19818403018152908290526126d3916133ef565b600060405180830381855afa9150503d806000811461270e576040519150601f19603f3d011682016040523d82523d6000602084013e612713565b606091505b509150915081158061272757508051602014155b1561274e57604051630f0b8f8160e01b815260048101869052436024820152604401611179565b808060200190518101906127629190613285565b9350505061278d565b604051630f0b8f8160e01b815260048101849052436024820152604401611179565b816127b457604051630f0b8f8160e01b815260048101849052436024820152604401611179565b8382146127de576040516380b1ae5160e01b81526004810185905260248101839052604401611179565b50505050565b6001891015612806576040516309bde33960e01b815260040160405180910390fd5b600088600181111561281a5761281a612f97565b03612835576128308a8a89898989898989612b79565b612878565b600188600181111561284957612849612f97565b0361285f576128308a8a89898989898989612cf6565b6040516369ed70ab60e01b815260040160405180910390fd5b50505050505050505050565b806006600084600181111561289b5761289b612f97565b60018111156128ac576128ac612f97565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001600760088282829054906101000a900460ff166128fd91906133a9565b92506101000a81548160ff021916908360ff16021790555061291d612e41565b81600181111561292f5761292f612f97565b6040516001600160a01b038316907f62f393acfb3d3425116fe9be7a6509a4b652bda54fdac2df2b7273135ecd58e790600090a35050565b6060600061297d3660011981013560f01c900390565b905060405191508282528284820160208401378260208301016000815260208101604052505092915050565b6000806129be3660011981013560f01c900390565b929092013592915050565b6000806129de3660011981013560f01c900390565b929092013560e01c92915050565b6129f46119b1565b8210612a135760405163a6c661fd60e01b815260040160405180910390fd5b80612a1d83611711565b0361199457604051635de57d7360e11b815260040160405180910390fd5b60008080808415612a5957612a546106056001876131b2565b612a5d565b6001545b90506000612a8b7f0000000000000000000000000000000000000000000000000000000000000000876131eb565b600254612a98919061319a565b90506000612ac67f00000000000000000000000000000000000000000000000000000000000000008361316f565b929791965091945092505050565b60066000826001811115612aea57612aea612f97565b6001811115612afb57612afb612f97565b81526020810191909152604001600090812080546001600160a01b0319169055600754600160401b900460ff169003612b475760405163344de4bf60e01b815260040160405180910390fd5b6007805460001960ff600160401b808404821692909201160268ff000000000000000019909116179055611996612edf565b6000878787878787877f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000604051602001612bdc9998979695949392919061340b565b6040516020818303038152906040528051906020012090506000888b8b604051602001612c0b93929190613488565b60408051601f198184030181529082905263ab750e7560e01b825291506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ab750e7590612c8b9084907f00000000000000000000000000000000000000000000000000000000000000009087906004016134b4565b602060405180830381865afa158015612ca8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ccc9190613373565b612ce9576040516309bde33960e01b815260040160405180910390fd5b5050505050505050505050565b6000878787878787877f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000604051602001612d599998979695949392919061340b565b60408051601f1981840301815290829052805160209091012063ab750e7560e01b825291506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ab750e7590612de3908d908d907f00000000000000000000000000000000000000000000000000000000000000009087906004016134d9565b602060405180830381865afa158015612e00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e249190613373565b612878576040516309bde33960e01b815260040160405180910390fd5b6000612e4b612f4f565b905067fffffffffffffffe196001600160401b03821601612e8357506007805467ffffffffffffffff19166001600160401b03179055565b6000612e8f824261316f565b600754909150612eba906001600160401b0380841691166001600160401b0316808218908211021890565b6007805467ffffffffffffffff19166001600160401b03929092169190911790555050565b6000612ee9612f4f565b905067fffffffffffffffe196001600160401b03821601612f2157506007805467ffffffffffffffff19166001600160401b03179055565b612f2b814261316f565b6007805467ffffffffffffffff19166001600160401b039290921691909117905550565b6007546000906002600160401b90910460ff1610612f6f57506201518090565b600754600160401b900460ff16600103612f8b575062093a8090565b506001600160401b0390565b634e487b7160e01b600052602160045260246000fd5b6020810160038310612fc157612fc1612f97565b91905290565b60008083601f840112612fd957600080fd5b5081356001600160401b03811115612ff057600080fd5b60208301915083602082850101111561300857600080fd5b9250929050565b6000806020838503121561302257600080fd5b82356001600160401b0381111561303857600080fd5b61304485828601612fc7565b90969095509350505050565b60005b8381101561306b578181015183820152602001613053565b838111156127de5750506000910152565b60008151808452613094816020860160208601613050565b601f01601f19169290920160200192915050565b6020815260006130bb602083018461307c565b9392505050565b6000602082840312156130d457600080fd5b5035919050565b600080600080606085870312156130f157600080fd5b84356001600160401b0381111561310757600080fd5b61311387828801612fc7565b90989097506020870135966040013595509350505050565b63ffffffff84168152826020820152606060408201526000613150606083018461307c565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b60006001600160401b0380831681851680830382111561319157613191613159565b01949350505050565b600082198211156131ad576131ad613159565b500190565b6000828210156131c4576131c4613159565b500390565b6000826131e657634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561320557613205613159565b500290565b805163ffffffff8116811461321e57600080fd5b919050565b60008060006060848603121561323857600080fd5b6132418461320a565b925060208401516001600160401b038116811461325d57600080fd5b60408501519092506001600160a01b038116811461327a57600080fd5b809150509250925092565b60006020828403121561329757600080fd5b5051919050565b6000604082840312156132b057600080fd5b604051604081018181106001600160401b03821117156132e057634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b60006020828403121561330c57600080fd5b6130bb8261320a565b634e487b7160e01b600052603260045260246000fd5b6000808585111561333b57600080fd5b8386111561334857600080fd5b5050820193919092039150565b8035602083101561175857600019602084900360031b1b1692915050565b60006020828403121561338557600080fd5b815180151581146130bb57600080fd5b6020810160028310612fc157612fc1612f97565b600060ff821660ff84168060ff038211156133c6576133c6613159565b019392505050565b6000602082840312156133e057600080fd5b8151600381106130bb57600080fd5b60008251613401818460208701613050565b9190910192915050565b6bffffffffffffffffffffffff198a60601b16815288601482015287603482015260006001600160401b0360c01b808960c01b16605484015287605c840152808760c01b16607c840152508451613469816084850160208901613050565b90910160848101939093525060a482015260c401979650505050505050565b6bffffffffffffffffffffffff198460601b168152818360148301376000910160140190815292915050565b6060815260006134c7606083018661307c565b60208301949094525060400152919050565b606081528360608201528385608083013760006080858301015260006080601f19601f87011683010190508360208301528260408301529594505050505056fea264697066735822122059bd1c62d99c1e3063b7a40f25a4933f5fd17d2b4dc926e03d3a6a69cc48d01064736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000026d00000000000000000000000060a6c389f0bc5ce4269a40d9695927bc587003280000000000000000000000008ff945fcad2ca8d66fa1ba63c70440328bb14ff30000000000000000000000006f3db1c1f5110b20efbbccd13367bca8898092e60000000000000000000000004730cec510e664838b20b576881702b64651cc45bcf94c238e15b5e423050df2b6f354ab2c5f3af791d8f862f654a195af9f491e33870b16176c98af4b2c96f721f9a7fa68ea92f8244618360a1592f5719085d800719a15f7d3cb34da5c1caa72bfa7e397fd8f16808bdb958bc6da03999762c7ab64b3118d2d030a3fd3fe3005239a2f332e48848bbedddca9e10df77ac7303e00000000000000000000000000000000000000000000000000000000000ba5e00000000000000000000000000000000000000000000000000000000000000258000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000001\",\n        \"nonce\": \"0x1f\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x614d5130b03d132b6c8ca5facf7e71ba54683169ecf155aa2c8d9bd71918a23d\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"OptimismPortal2\",\n      \"contractAddress\": \"0x27b8d2d28540b133f9454535867e3b89b78d88b0\",\n      \"function\": null,\n      \"arguments\": [\n        \"0\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"gas\": \"0x4c26b4\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c06040523480156200001157600080fd5b506040516200455838038062004558833981016040819052620000349162000110565b600360805260a0819052620000486200004f565b506200012a565b600054610100900460ff1615620000bc5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116146200010e576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200012357600080fd5b5051919050565b60805160a0516143fa6200015e600039600081816105d001526117580152600081816102630152610e8a01526143fa6000f3fe6080604052600436106101d15760003560e01c806371c1566e116100f7578063a3860f4811610095578063cff0ab9611610064578063cff0ab96146105f4578063dad544e01461065f578063e9e05c4214610674578063f2b4e6171461068757600080fd5b8063a3860f4814610507578063b682c44414610527578063bb2c727e14610547578063bf653a5c146105c157600080fd5b8063952b2797116100d1578063952b2797146104825780639bf62d8214610497578063a14238e7146104b7578063a35d99df146104e757600080fd5b806371c1566e146104425780638b4c40b0146101f65780638c3152e91461046257600080fd5b806345884d321161016f578063513747ab1161013e578063513747ab1461039e57806354fd4d50146103d95780635c0cba331461040d5780635c975abb1461042d57600080fd5b806345884d3214610301578063485cc955146103315780634870496f146103515780634fd0434c1461037157600080fd5b80633c9f397c116101ab5780633c9f397c1461028d5780633e47158c146102b757806343ca1c50146102cc578063452a9320146102ec57600080fd5b806333d7e2bd146101fd57806335e80ab31461023a57806338d38c971461024f57600080fd5b366101f8576101f63334620186a060006040518060200160405280600081525061069c565b005b600080fd5b34801561020957600080fd5b5060375461021d906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561024657600080fd5b5061021d610893565b34801561025b57600080fd5b5060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610231565b34801561029957600080fd5b506102a2610906565b60405163ffffffff9091168152602001610231565b3480156102c357600080fd5b5061021d610974565b3480156102d857600080fd5b506101f66102e7366004613aa9565b610b26565b3480156102f857600080fd5b5061021d610dc9565b34801561030d57600080fd5b5061032161031c366004613afa565b610e13565b6040519015158152602001610231565b34801561033d57600080fd5b506101f661034c366004613b17565b610e88565b34801561035d57600080fd5b506101f661036c366004613b45565b610ff7565b34801561037d57600080fd5b5061038661155f565b6040516001600160401b039091168152602001610231565b3480156103aa57600080fd5b506103cb6103b9366004613c02565b6000908152603c602052604090205490565b604051908152602001610231565b3480156103e557600080fd5b5060408051808201825260058152640352e322e360dc1b602082015290516102319190613c73565b34801561041957600080fd5b50603e5461021d906001600160a01b031681565b34801561043957600080fd5b506103216115cd565b34801561044e57600080fd5b506101f661045d366004613c86565b61163b565b34801561046e57600080fd5b506101f661047d366004613cab565b61183b565b34801561048e57600080fd5b506103cb611848565b3480156104a357600080fd5b5060325461021d906001600160a01b031681565b3480156104c357600080fd5b506103216104d2366004613c02565b60336020526000908152604090205460ff1681565b3480156104f357600080fd5b50610386610502366004613cfc565b6118b6565b34801561051357600080fd5b5061021d610522366004613d19565b6118cf565b34801561053357600080fd5b50603f5461021d906001600160a01b031681565b34801561055357600080fd5b5061059a610562366004613c86565b60396020908152600092835260408084209091529082529020546001600160a01b03811690600160a01b90046001600160401b031682565b604080516001600160a01b0390931683526001600160401b03909116602083015201610231565b3480156105cd57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103cb565b34801561060057600080fd5b50600154610630906001600160801b038116906001600160401b03600160801b8204811691600160c01b90041683565b604080516001600160801b0390941684526001600160401b039283166020850152911690820152606001610231565b34801561066b57600080fd5b5061021d611907565b6101f6610682366004613d49565b61069c565b34801561069357600080fd5b5061021d61194e565b8260005a90506106aa611998565b156106ce5734156106ce57604051635eac705160e11b815260040160405180910390fd5b6106d66119f4565b1561074b57341561074b57603f60009054906101000a90046001600160a01b03166001600160a01b0316631ee116bf346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561073157600080fd5b505af1158015610745573d6000803e3d6000fd5b50505050505b83801561076057506001600160a01b03871615155b1561077e5760405163c5defbad60e01b815260040160405180910390fd5b61078883516118b6565b6001600160401b0316856001600160401b031610156107ba576040516370c8bdbd60e01b815260040160405180910390fd5b6201d4c0835111156107df57604051635aa3bac960e01b815260040160405180910390fd5b336107e8611a88565b610805575033731111000000000000000000000000000000001111015b60003488888888604051602001610820959493929190613dc7565b60405160208183030381529060405290506000896001600160a01b0316836001600160a01b03167fb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32846040516108769190613c73565b60405180910390a4505061088a8282611ac5565b50505050505050565b603754604080516335e80ab360e01b815290516000926001600160a01b0316916335e80ab39160048083019260209291908290030181865afa1580156108dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109019190613e16565b905090565b603e5460408051630f27ce5f60e21b815290516000926001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015610950573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109019190613e45565b60008061099f7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b90506001600160a01b038116156109b557919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e6765720000000000008152505160026109f89190613e78565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e6765720000000000009190911790610a53906060015b604051602081830303815290604052805190602001205490565b14610a71576040516354e433cd60e01b815260040160405180910390fd5b60408051306020820152600191810191909152600090610a9390606001610a39565b90506001600160a01b03811615610b0d57806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ae2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b069190613e16565b9250505090565b60405163332144db60e01b815260040160405180910390fd5b610b2e611d09565b610b36611998565b15610b5e57606082015115610b5e57604051635eac705160e11b815260040160405180910390fd5b6032546001600160a01b031661dead14610b8b57604051631bfd55d760e31b815260040160405180910390fd5b610b988260400151611d2f565b15610bb65760405163c5defbad60e01b815260040160405180910390fd5b6000610bc183611d58565b9050610bcd818361163b565b6000818152603360205260409020805460ff19166001179055610bee6119f4565b15610c6757606083015115610c6757603f5460608401516040516308d445bd60e41b81526001600160a01b0390921691638d445bd091610c349160040190815260200190565b600060405180830381600087803b158015610c4e57600080fd5b505af1158015610c62573d6000803e3d6000fd5b505050505b8260200151603260006101000a8154816001600160a01b0302191690836001600160a01b031602179055506000610cb08460400151856080015186606001518760a00151611da5565b603280546001600160a01b03191661dead17905560405190915082907fdb5c7652857aa163daadd670e116628fb42e869d8ac4251ef8971d9e5727df1b90610cfd90841515815260200190565b60405180910390a2610d0d6119f4565b15610d975780158015610d24575060008460600151115b15610d9757603f60009054906101000a90046001600160a01b03166001600160a01b0316631ee116bf85606001516040518263ffffffff1660e01b81526004016000604051808303818588803b158015610d7d57600080fd5b505af1158015610d91573d6000803e3d6000fd5b50505050505b80158015610da55750326001145b15610dc3576040516355ac081b60e11b815260040160405180910390fd5b50505050565b60375460408051630229549960e51b815290516000926001600160a01b03169163452a93209160048083019260209291908290030181865afa1580156108dd573d6000803e3d6000fd5b603e546040516322c4269960e11b81526001600160a01b03838116600483015260009216906345884d3290602401602060405180830381865afa158015610e5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e829190613e97565b92915050565b7f0000000000000000000000000000000000000000000000000000000000000000600054610100900460ff16158015610ec8575060005460ff8083169116105b610f305760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805461ffff191660ff831617610100179055610f4c611e03565b603780546001600160a01b038086166001600160a01b031992831617909255603e805492851692909116919091179055610f84611e51565b6032546001600160a01b0316610fa957603280546001600160a01b03191661dead1790555b610fb1611f95565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b610fff611d09565b61100c8560400151611d2f565b1561102a5760405163c5defbad60e01b815260040160405180910390fd5b611032611998565b1561105a5760608501511561105a57604051635eac705160e11b815260040160405180910390fd5b600061106461194e565b6001600160a01b031663bb8aa1fc866040518263ffffffff1660e01b815260040161109191815260200190565b606060405180830381865afa1580156110ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d29190613eb4565b603e546040516324b5ce0b60e11b81526001600160a01b0380841660048301529295509116925063496b9c169150602401602060405180830381865afa158015611120573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111449190613e97565b611161576040516379ca920760e11b815260040160405180910390fd5b603e546040516304e50fed60e01b81526001600160a01b038381166004830152909116906304e50fed90602401602060405180830381865afa1580156111ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111cf9190613e97565b6111ec5760405163e29927ed60e01b815260040160405180910390fd5b6001816001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa15801561122c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112509190613f17565b600281111561126157611261613f01565b0361127f5760405163e29927ed60e01b815260040160405180910390fd5b6112f0816001600160a01b031663cf09e0d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e49190613f38565b6001600160401b031690565b6001600160401b031642116113185760405163b4caa4e560e01b815260040160405180910390fd5b61132f61132a36869003860186613f55565b612050565b611397826001600160a01b031663bcef3b556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611370573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113949190613fba565b90565b146113b55760405163426149af60e01b815260040160405180910390fd5b60006113c087611d58565b905060008160006040516020016113e1929190918252602082015260400190565b60408051601f198184030181528282528051602091820120908301819052925061143c910160408051601f1981840301815282820190915260018252600160f81b6020830152906114328789613fd3565b896040013561208f565b151560000361145e5760405163172bf79d60e11b815260040160405180910390fd5b6040805180820182526001600160a01b0380861682526001600160401b03428116602080850191825260008881526039825286812033808352908352878220965187549451909516600160a01b026001600160e01b03199094169486169490941792909217909455868152603c845284812080546001810182559082528482200180546001600160a01b0319169092179091558b840151928c01519351928216939091169185917f67a6208cfcc0801d50f6cbe764733f4fddf66ac0b04442061a8a8c0cb6b63f6291a4604051339083907f798f9f13695f8f045aa5f80ed8efebb695f3c7fe65da381969f2f28bf3c60b9790600090a35050505050505050565b603e5460408051634086d18360e01b815290516000926001600160a01b031691634086d1839160048083019260209291908290030181865afa1580156115a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109019190613f38565b60375460408051635c975abb60e01b815290516000926001600160a01b031691635c975abb9160048083019260209291908290030181865afa158015611617573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109019190613e97565b60008281526039602090815260408083206001600160a01b038581168552908352818420825180840184529054918216808252600160a01b9092046001600160401b031681850152868552603390935292205490919060ff16156116b257604051631cc2841d60e21b815260040160405180910390fd5b81602001516001600160401b03166000036116e05760405163665357ed60e11b815260040160405180910390fd5b611721816001600160a01b031663cf09e0d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c0573d6000803e3d6000fd5b6001600160401b031682602001516001600160401b0316116117565760405163b4caa4e560e01b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000082602001516001600160401b0316426117909190614056565b116117ae57604051636cde00df60e11b815260040160405180910390fd5b603e54604051636c4f446760e01b81526001600160a01b03838116600483015290911690636c4f446790602401602060405180830381865afa1580156117f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061181c9190613e97565b610dc3576040516306654aff60e31b815260040160405180910390fd5b565b6118458133610b26565b50565b603e546040805163952b279760e01b815290516000926001600160a01b03169163952b27979160048083019260209291908290030181865afa158015611892573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109019190613fba565b60006118c382602861406d565b610e829061520861409c565b603c60205281600052604060002081815481106118eb57600080fd5b6000918252602090912001546001600160a01b03169150829050565b6000611911610974565b6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108dd573d6000803e3d6000fd5b603e546040805163f2b4e61760e01b815290516000926001600160a01b03169163f2b4e6179160048083019260209291908290030181865afa1580156108dd573d6000803e3d6000fd5b6037546040516347af267b60e01b81526f21aaa9aa27a6afa3a0a9afaa27a5a2a760811b60048201526000916001600160a01b0316906347af267b90602401602060405180830381865afa158015611617573d6000803e3d6000fd5b6037546040516347af267b60e01b81526a08aa890be989e8696849eb60ab1b60048201526000916001600160a01b0316906347af267b90602401602060405180830381865afa158015611a4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a6f9190613e97565b8015610901575050603f546001600160a01b0316151590565b6000323303611a975750600190565b333b601703611abf57604051602081016040526020600082333c5160e81c62ef010014905090565b50600090565b600154600090611ae590600160c01b90046001600160401b031643614056565b90506000611af16120b3565b90506000816020015160ff16826000015163ffffffff16611b1291906140dd565b90508215611c0157600154600090611b3b908390600160801b90046001600160401b031661410b565b90506000836040015160ff1683611b52919061414a565b600154611b699084906001600160801b031661414a565b611b7391906140dd565b600154909150600090611bb290611b949084906001600160801b03166141cf565b866060015163ffffffff168760a001516001600160801b0316612153565b90506001861115611be157611bde611b9482876040015160ff1660018a611bd99190614056565b612172565b90505b6001600160801b0316600160c01b6001600160401b034316021760015550505b60018054869190601090611c26908490600160801b90046001600160401b031661409c565b92506101000a8154816001600160401b0302191690836001600160401b03160217905550816000015163ffffffff16600160000160109054906101000a90046001600160401b03166001600160401b03161315611c96576040516377ebef4d60e01b815260040160405180910390fd5b600154600090611cb8906001600160801b03166001600160401b038816613e78565b90506000611cca48633b9aca006121c7565b611cd49083614210565b905060005a611ce39088614056565b905080821115611cff57611cff611cfa8284614056565b6121dd565b5050505050505050565b611d116115cd565b156118395760405163b9c3c2ef60e01b815260040160405180910390fd5b60006001600160a01b038216301480610e82575050603f546001600160a01b0390811691161490565b80516020808301516040808501516060860151608087015160a08801519351600097611d88979096959101614224565b604051602081830303815290604052805190602001209050919050565b6000806000611db586600061220b565b905080611deb576308c379a06000526020805278185361666543616c6c3a204e6f7420656e6f756768206761736058526064601cfd5b600080855160208701888b5af1979650505050505050565b33611e0c610974565b6001600160a01b031614158015611e33575033611e27611907565b6001600160a01b031614155b1561183957604051636202851360e11b815260040160405180910390fd5b6037546040516347af267b60e01b81526a08aa890be989e8696849eb60ab1b60048201526001600160a01b03909116906347af267b90602401602060405180830381865afa158015611ea7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ecb9190613e97565b8015611ee05750603f546001600160a01b0316155b80611f7757506037546040516347af267b60e01b81526a08aa890be989e8696849eb60ab1b60048201526001600160a01b03909116906347af267b90602401602060405180830381865afa158015611f3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f609190613e97565b158015611f775750603f546001600160a01b031615155b1561183957604051639c46cd7960e01b815260040160405180910390fd5b600054610100900460ff166120005760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610f27565b600154600160c01b90046001600160401b03166000036118395760408051606081018252633b9aca0080825260006020830152436001600160401b031691909201819052600160c01b0217600155565b60008160000151826020015183604001518460600151604051602001611d88949392919093845260208401929092526040830152606082015260800190565b60008061209b86612229565b90506120a98186868661225b565b9695505050505050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152603754604080516366398d8160e11b815290516000926001600160a01b03169163cc731b029160048083019260c09291908290030181865afa15801561212f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e829190614286565b6000612168612162858561228b565b8361229a565b90505b9392505050565b6000670de0b6b3a76400006121b361218a85836140dd565b61219c90670de0b6b3a764000061410b565b6121ae85670de0b6b3a764000061414a565b6122a9565b6121bd908661414a565b61216891906140dd565b60008183116121d6578161216b565b5090919050565b6000805a90505b825a6121f09083614056565b1015612206576121ff82614338565b91506121e4565b505050565b600080603f83619c4001026040850201603f5a021015949350505050565b6060818051906020012060405160200161224591815260200190565b6040516020818303038152906040529050919050565b60006122828461226c8786866122da565b8051602091820120825192909101919091201490565b95945050505050565b60008183136121d6578161216b565b60008183126121d6578161216b565b600061216b670de0b6b3a7640000836122c186612b70565b6122cb919061414a565b6122d591906140dd565b612d4b565b606060008451116123255760405162461bcd60e51b81526020600482015260156024820152744d65726b6c65547269653a20656d707479206b657960581b6044820152606401610f27565b600061233084612ef4565b9050600061233d86612fdf565b905060008460405160200161235491815260200190565b60405160208183030381529060405290506000805b8451811015612b1957600085828151811061238657612386614351565b6020026020010151905084518311156123f85760405162461bcd60e51b815260206004820152602e60248201527f4d65726b6c65547269653a206b657920696e646578206578636565647320746f60448201526d0e8c2d840d6caf240d8cadccee8d60931b6064820152608401610f27565b8260000361249757805180516020918201206040516124469261242092910190815260200190565b604051602081830303815290604052858051602091820120825192909101919091201490565b6124925760405162461bcd60e51b815260206004820152601d60248201527f4d65726b6c65547269653a20696e76616c696420726f6f7420686173680000006044820152606401610f27565b61258d565b80515160201161251d57805180516020918201206040516124c19261242092910190815260200190565b6124925760405162461bcd60e51b815260206004820152602760248201527f4d65726b6c65547269653a20696e76616c6964206c6172676520696e7465726e6044820152660c2d840d0c2e6d60cb1b6064820152608401610f27565b80518451602080870191909120825191909201201461258d5760405162461bcd60e51b815260206004820152602660248201527f4d65726b6c65547269653a20696e76616c696420696e7465726e616c206e6f646044820152650ca40d0c2e6d60d31b6064820152608401610f27565b61259960106001614367565b8160200151510361274157845183036126d9576125d381602001516010815181106125c6576125c6614351565b6020026020010151613042565b9650600087511161264c5760405162461bcd60e51b815260206004820152603b60248201527f4d65726b6c65547269653a2076616c7565206c656e677468206d75737420626560448201527f2067726561746572207468616e207a65726f20286272616e63682900000000006064820152608401610f27565b6001865161265a9190614056565b82146126ce5760405162461bcd60e51b815260206004820152603a60248201527f4d65726b6c65547269653a2076616c7565206e6f6465206d757374206265206c60448201527f617374206e6f646520696e2070726f6f6620286272616e6368290000000000006064820152608401610f27565b50505050505061216b565b60008584815181106126ed576126ed614351565b602001015160f81c60f81b60f81c9050600082602001518260ff168151811061271857612718614351565b6020026020010151905061272b816130c4565b9550612738600186614367565b94505050612b06565b600281602001515103612aad576000612759826130e9565b905060008160008151811061277057612770614351565b016020015160f81c9050600061278760028361437f565b6127929060026143a1565b905060006127a3848360ff1661310d565b905060006127b18a8961310d565b905060006127bf8383613143565b9050808351146128375760405162461bcd60e51b815260206004820152603a60248201527f4d65726b6c65547269653a20706174682072656d61696e646572206d7573742060448201527f736861726520616c6c206e6962626c65732077697468206b65790000000000006064820152608401610f27565b60ff85166002148061284c575060ff85166003145b156129ed57808251146128c75760405162461bcd60e51b815260206004820152603d60248201527f4d65726b6c65547269653a206b65792072656d61696e646572206d757374206260448201527f65206964656e746963616c20746f20706174682072656d61696e6465720000006064820152608401610f27565b6128e187602001516001815181106125c6576125c6614351565b9c5060008d511161295a5760405162461bcd60e51b815260206004820152603960248201527f4d65726b6c65547269653a2076616c7565206c656e677468206d75737420626560448201527f2067726561746572207468616e207a65726f20286c65616629000000000000006064820152608401610f27565b60018c516129689190614056565b88146129dc5760405162461bcd60e51b815260206004820152603860248201527f4d65726b6c65547269653a2076616c7565206e6f6465206d757374206265206c60448201527f617374206e6f646520696e2070726f6f6620286c6561662900000000000000006064820152608401610f27565b50505050505050505050505061216b565b60ff85161580612a00575060ff85166001145b15612a3f57612a2c8760200151600181518110612a1f57612a1f614351565b60200260200101516130c4565b9950612a38818a614367565b9850612aa2565b60405162461bcd60e51b815260206004820152603260248201527f4d65726b6c65547269653a2072656365697665642061206e6f64652077697468604482015271040c2dc40eadcd6dcdeeedc40e0e4caccd2f60731b6064820152608401610f27565b505050505050612b06565b60405162461bcd60e51b815260206004820152602860248201527f4d65726b6c65547269653a20726563656976656420616e20756e706172736561604482015267626c65206e6f646560c01b6064820152608401610f27565b5080612b1181614338565b915050612369565b5060405162461bcd60e51b815260206004820152602560248201527f4d65726b6c65547269653a2072616e206f7574206f662070726f6f6620656c656044820152646d656e747360d81b6064820152608401610f27565b6000808213612bad5760405162461bcd60e51b815260206004820152600960248201526815539111519253915160ba1b6044820152606401610f27565b60006060612bba846131c7565b03609f8181039490941b90931c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b393909302929092017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b6000680248ce36a70cb26b3e198213612d6657506000919050565b680755bf798b4a1bf1e58212612dad5760405162461bcd60e51b815260206004820152600c60248201526b4558505f4f564552464c4f5760a01b6044820152606401610f27565b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b8051606090806001600160401b03811115612f1157612f11613931565b604051908082528060200260200182016040528015612f5657816020015b6040805180820190915260608082526020820152815260200190600190039081612f2f5790505b50915060005b81811015612fd8576040518060400160405280858381518110612f8157612f81614351565b60200260200101518152602001612fb0868481518110612fa357612fa3614351565b6020026020010151613265565b815250838281518110612fc557612fc5614351565b6020908102919091010152600101612f5c565b5050919050565b606080604051905082518060011b603f8101601f1916830160405280835250602084016020830160005b83811015613037578060011b82018184015160001a8060041c8253600f811660018301535050600101613009565b509295945050505050565b6060600080600061305285613278565b91945092509050600081600181111561306d5761306d613f01565b1461308b576040516307fe6cb960e21b815260040160405180910390fd5b6130958284614367565b8551146130b557604051630b8aa6f760e31b815260040160405180910390fd5b6122828560200151848461356e565b606060208260000151106130e0576130db82613042565b610e82565b610e8282613601565b6060610e8261310883602001516000815181106125c6576125c6614351565b612fdf565b60608251821061312c5750604080516020810190915260008152610e82565b61216b838384865161313e9190614056565b613617565b6000808251845110613156578251613159565b83515b90505b80821080156131b0575082828151811061317857613178614351565b602001015160f81c60f81b6001600160f81b03191684838151811061319f5761319f614351565b01602001516001600160f81b031916145b156131c05781600101915061315c565b5092915050565b60008082116132045760405162461bcd60e51b815260206004820152600960248201526815539111519253915160ba1b6044820152606401610f27565b5060016001600160801b03821160071b82811c6001600160401b031060061b1782811c63ffffffff1060051b1782811c61ffff1060041b1782811c60ff10600390811b90911783811c600f1060021b1783811c909110821b1791821c111790565b6060610e8261327383613759565b6137ad565b600080600083600001516000036132a257604051635ab458fb60e01b815260040160405180910390fd5b6020840151805160001a607f81116132c7576000600160009450945094505050613567565b60b7811161335f5760006132dc608083614056565b905080876000015111613302576040516366c9448560e01b815260040160405180910390fd5b6001838101516001600160f81b031916908214801561332e5750600160ff1b6001600160f81b03198216105b1561334c5760405163babb01dd60e01b815260040160405180910390fd5b5060019550935060009250613567915050565b60bf811161344157600061337460b783614056565b90508087600001511161339a576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b03191660008190036133cb5760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c603781116133fa5760405163babb01dd60e01b815260040160405180910390fd5b6134048184614367565b895111613424576040516366c9448560e01b815260040160405180910390fd5b61342f836001614367565b97509550600094506135679350505050565b60f7811161348d57600061345660c083614056565b90508087600001511161347c576040516366c9448560e01b815260040160405180910390fd5b600195509350849250613567915050565b600061349a60f783614056565b9050808760000151116134c0576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b03191660008190036134f15760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c603781116135205760405163babb01dd60e01b815260040160405180910390fd5b61352a8184614367565b89511161354a576040516366c9448560e01b815260040160405180910390fd5b613555836001614367565b97509550600194506135679350505050565b9193909250565b6060816001600160401b0381111561358857613588613931565b6040519080825280601f01601f1916602001820160405280156135b2576020820181803683370190505b509050811561216b5760006135c78486614367565b90506020820160005b848110156135e85782810151828201526020016135d0565b848111156135f7576000858301525b5050509392505050565b6060610e8282602001516000846000015161356e565b60608182601f01101561365d5760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610f27565b8282840110156136a05760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610f27565b818301845110156136e75760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b6044820152606401610f27565b6060821580156137065760405191506000825260208201604052613750565b6040519150601f8416801560200281840101858101878315602002848b0101015b8183101561373f578051835260209283019201613727565b5050858452601f01601f1916604052505b50949350505050565b6040805180820190915260008082526020820152815160000361378f57604051635ab458fb60e01b815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b606060008060006137bd85613278565b9194509250905060018160018111156137d8576137d8613f01565b146137f6576040516325ce355f60e11b815260040160405180910390fd5b84516138028385614367565b1461382057604051630b8aa6f760e31b815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816138375790505093506000835b8651811015613925576000806138aa6040518060400160405280858c6000015161388e9190614056565b8152602001858c602001516138a39190614367565b9052613278565b5091509150604051806040016040528083836138c69190614367565b8152602001848b602001516138db9190614367565b8152508885815181106138f0576138f0614351565b6020908102919091010152613906600185614367565b93506139128183614367565b61391c9084614367565b92505050613864565b50845250919392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561396f5761396f613931565b604052919050565b6001600160a01b038116811461184557600080fd5b600082601f83011261399d57600080fd5b81356001600160401b038111156139b6576139b6613931565b6139c9601f8201601f1916602001613947565b8181528460208386010111156139de57600080fd5b816020850160208301376000918101602001919091529392505050565b600060c08284031215613a0d57600080fd5b60405160c081016001600160401b038282108183111715613a3057613a30613931565b816040528293508435835260208501359150613a4b82613977565b81602084015260408501359150613a6182613977565b816040840152606085013560608401526080850135608084015260a0850135915080821115613a8f57600080fd5b50613a9c8582860161398c565b60a0830152505092915050565b60008060408385031215613abc57600080fd5b82356001600160401b03811115613ad257600080fd5b613ade858286016139fb565b9250506020830135613aef81613977565b809150509250929050565b600060208284031215613b0c57600080fd5b813561216b81613977565b60008060408385031215613b2a57600080fd5b8235613b3581613977565b91506020830135613aef81613977565b600080600080600085870360e0811215613b5e57600080fd5b86356001600160401b0380821115613b7557600080fd5b613b818a838b016139fb565b9750602089013596506080603f1984011215613b9c57600080fd5b60408901955060c0890135925080831115613bb657600080fd5b828901925089601f840112613bca57600080fd5b8235915080821115613bdb57600080fd5b508860208260051b8401011115613bf157600080fd5b959894975092955050506020019190565b600060208284031215613c1457600080fd5b5035919050565b60005b83811015613c36578181015183820152602001613c1e565b83811115610dc35750506000910152565b60008151808452613c5f816020860160208601613c1b565b601f01601f19169290920160200192915050565b60208152600061216b6020830184613c47565b60008060408385031215613c9957600080fd5b823591506020830135613aef81613977565b600060208284031215613cbd57600080fd5b81356001600160401b03811115613cd357600080fd5b613cdf848285016139fb565b949350505050565b6001600160401b038116811461184557600080fd5b600060208284031215613d0e57600080fd5b813561216b81613ce7565b60008060408385031215613d2c57600080fd5b50508035926020909101359150565b801515811461184557600080fd5b600080600080600060a08688031215613d6157600080fd5b8535613d6c81613977565b9450602086013593506040860135613d8381613ce7565b92506060860135613d9381613d3b565b915060808601356001600160401b03811115613dae57600080fd5b613dba8882890161398c565b9150509295509295909350565b8581528460208201526001600160401b0360c01b8460c01b16604082015282151560f81b604882015260008251613e05816049850160208701613c1b565b919091016049019695505050505050565b600060208284031215613e2857600080fd5b815161216b81613977565b63ffffffff8116811461184557600080fd5b600060208284031215613e5757600080fd5b815161216b81613e33565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615613e9257613e92613e62565b500290565b600060208284031215613ea957600080fd5b815161216b81613d3b565b600080600060608486031215613ec957600080fd5b8351613ed481613e33565b6020850151909350613ee581613ce7565b6040850151909250613ef681613977565b809150509250925092565b634e487b7160e01b600052602160045260246000fd5b600060208284031215613f2957600080fd5b81516003811061216b57600080fd5b600060208284031215613f4a57600080fd5b815161216b81613ce7565b600060808284031215613f6757600080fd5b604051608081018181106001600160401b0382111715613f8957613f89613931565b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b600060208284031215613fcc57600080fd5b5051919050565b60006001600160401b0380841115613fed57613fed613931565b8360051b6020613ffe818301613947565b86815291850191818101903684111561401657600080fd5b865b8481101561404a578035868111156140305760008081fd5b61403c36828b0161398c565b845250918301918301614018565b50979650505050505050565b60008282101561406857614068613e62565b500390565b60006001600160401b038083168185168183048111821515161561409357614093613e62565b02949350505050565b60006001600160401b038083168185168083038211156140be576140be613e62565b01949350505050565b634e487b7160e01b600052601260045260246000fd5b6000826140ec576140ec6140c7565b600160ff1b82146000198414161561410657614106613e62565b500590565b60008083128015600160ff1b85018412161561412957614129613e62565b6001600160ff1b038401831381161561414457614144613e62565b50500390565b60006001600160ff1b038184138284138082168684048611161561417057614170613e62565b600160ff1b600087128281168783058912161561418f5761418f613e62565b600087129250878205871284841616156141ab576141ab613e62565b878505871281841616156141c1576141c1613e62565b505050929093029392505050565b600080821280156001600160ff1b03849003851316156141f1576141f1613e62565b600160ff1b839003841281161561420a5761420a613e62565b50500190565b60008261421f5761421f6140c7565b500490565b8681526001600160a01b03868116602083015285166040820152606081018490526080810183905260c060a0820181905260009061426490830184613c47565b98975050505050505050565b805160ff8116811461428157600080fd5b919050565b600060c0828403121561429857600080fd5b60405160c081018181106001600160401b03821117156142ba576142ba613931565b60405282516142c881613e33565b81526142d660208401614270565b60208201526142e760408401614270565b604082015260608301516142fa81613e33565b6060820152608083015161430d81613e33565b608082015260a08301516001600160801b038116811461432c57600080fd5b60a08201529392505050565b60006001820161434a5761434a613e62565b5060010190565b634e487b7160e01b600052603260045260246000fd5b6000821982111561437a5761437a613e62565b500190565b600060ff831680614392576143926140c7565b8060ff84160691505092915050565b600060ff821660ff8416808210156143bb576143bb613e62565b9003939250505056fea264697066735822122061ac961cebb2674aa5ef9662b2cc0e585955b5a6a7b88f1913278c38e01d474064736f6c634300080f00330000000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x20\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x442a7ac7df330c93c4dc668fa6d407e8a91b90bdc6d9e6de73d0d77d84472e5e\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"DisputeGameFactory\",\n      \"contractAddress\": \"0xc5942bf8039cef74414305a67384c382fb5e0bb4\",\n      \"function\": null,\n      \"arguments\": null,\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"gas\": \"0x1ecb45\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60a060405234801561001057600080fd5b50600160805261001e610023565b6100e3565b600054610100900460ff161561008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156100e1576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051611aa4610105600039600081816102180152610c100152611aa46000f3fe60806040526004361061012a5760003560e01c80636593dc6e116100ab57806396cd97201161006f57806396cd97201461038e578063b1070957146103ae578063bb8aa1fc146103ce578063c4d66de814610421578063dad544e014610441578063f2fde38b1461045657600080fd5b80636593dc6e146102fb578063715018a61461032857806374cc86ac1461033d57806382ecf2f61461035d5780638da5cb5b1461037057600080fd5b806338d38c97116100f257806338d38c97146102045780633e47158c146102425780634d1975b41461025757806354fd4d50146102765780635f0150cb146102b457600080fd5b80631011f3771461012f57806314f6b1a31461015f5780631b685b9e146101815780631e334240146101b7578063254bd683146101d7575b600080fd5b61014261013d366004611344565b610476565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561016b57600080fd5b5061017f61017a3660046113e2565b6104fe565b005b34801561018d57600080fd5b5061014261019c366004611419565b6065602052600090815260409020546001600160a01b031681565b3480156101c357600080fd5b5061017f6101d2366004611434565b610563565b3480156101e357600080fd5b506101f76101f236600461145e565b6105af565b60405161015691906114ed565b34801561021057600080fd5b5060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610156565b34801561024e57600080fd5b5061014261078e565b34801561026357600080fd5b506068545b604051908152602001610156565b34801561028257600080fd5b506102a7604051806040016040528060058152602001640312e342e360dc1b81525081565b604051610156919061158b565b3480156102c057600080fd5b506102d46102cf36600461159e565b610940565b604080516001600160a01b0390931683526001600160401b03909116602083015201610156565b34801561030757600080fd5b50610268610316366004611419565b60666020526000908152604090205481565b34801561033457600080fd5b5061017f610985565b34801561034957600080fd5b506102a7610358366004611419565b610999565b61014261036b36600461159e565b610a33565b34801561037c57600080fd5b506033546001600160a01b0316610142565b34801561039a57600080fd5b506102686103a936600461159e565b610aac565b3480156103ba57600080fd5b5061017f6103c93660046115f7565b610ae5565b3480156103da57600080fd5b506103ee6103e9366004611641565b610bb3565b6040805163ffffffff90941684526001600160401b0390921660208401526001600160a01b031690820152606001610156565b34801561042d57600080fd5b5061017f61043c36600461165a565b610c0e565b34801561044d57600080fd5b50610142610d28565b34801561046257600080fd5b5061017f61047136600461165a565b610d98565b600061048487878787610e11565b9050806001600160a01b0316634224b1e73485856040518463ffffffff1660e01b81526004016104b59291906116a0565b6000604051808303818588803b1580156104ce57600080fd5b505af11580156104e2573d6000803e3d6000fd5b50505050506104f48787878785610fb7565b9695505050505050565b610506611090565b63ffffffff821660008181526065602052604080822080546001600160a01b0319166001600160a01b038616908117909155905190917fff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de91a35050565b61056b611090565b63ffffffff8216600081815260666020526040808220849055518392917f74d6665c4b26d5596a5aa13d3014e0c06af4d322075a797f87b03cd4c5bc91ca91a35050565b606854606090831015806105c1575081155b610787575060408051600583901b8101602001909152825b838111610785576000606882815481106105f5576105f56116b4565b600091825260209091200154905060e081901c60a082901c6001600160401b03166001600160a01b03831663ffffffff8916830361077457600186510186526000816001600160a01b031663609d33346040518163ffffffff1660e01b8152600401600060405180830381865afa158015610674573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261069c91908101906116e0565b90506000826001600160a01b031663bcef3b556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610702919061178c565b90506040518060a00160405280888152602001878152602001856001600160401b03168152602001828152602001838152508860018a5161074391906117bb565b81518110610753576107536116b4565b60200260200101819052508888511061077157505050505050610785565b50505b505060001990920191506105d99050565b505b9392505050565b6000806107b97fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b90506001600160a01b038116156107cf57919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e67657200000000000081525051600261081291906117d2565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000919091179061086d906060015b604051602081830303815290604052805190602001205490565b1461088b576040516354e433cd60e01b815260040160405180910390fd5b604080513060208201526001918101919091526000906108ad90606001610853565b90506001600160a01b0381161561092757806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108fc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092091906117f1565b9250505090565b60405163332144db60e01b815260040160405180910390fd5b600080600061095187878787610aac565b6000908152606760205260409020546001600160a01b0381169860a09190911c6001600160401b0316975095505050505050565b61098d611090565b61099760006110ea565b565b606960205260009081526040902080546109b29061180e565b80601f01602080910402602001604051908101604052809291908181526020018280546109de9061180e565b8015610a2b5780601f10610a0057610100808354040283529160200191610a2b565b820191906000526020600020905b815481529060010190602001808311610a0e57829003601f168201915b505050505081565b6000610a4185858585610e11565b9050806001600160a01b0316638129fc1c346040518263ffffffff1660e01b81526004016000604051808303818588803b158015610a7e57600080fd5b505af1158015610a92573d6000803e3d6000fd5b5050505050610aa48585858585610fb7565b949350505050565b600084848484604051602001610ac59493929190611848565b604051602081830303815290604052805190602001209050949350505050565b610aed611090565b63ffffffff8416600090815260656020908152604080832080546001600160a01b0319166001600160a01b03881617905560699091529020610b308284836118bd565b5060405163ffffffff8516906001600160a01b038516907fff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de90600090a38363ffffffff167fa47fcdf075d680d3817bfca7973b373e1a5f6cfc3b444748299cc2b83d8348f98383604051610ba59291906116a0565b60405180910390a250505050565b600080600080600080610bfe60688881548110610bd257610bd26116b4565b906000526020600020015460e081901c9160a082901c6001600160401b0316916001600160a01b031690565b9199909850909650945050505050565b7f0000000000000000000000000000000000000000000000000000000000000000600054610100900460ff16158015610c4e575060005460ff8083169116105b610cb65760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805461ffff191660ff831617610100179055610cd261113c565b610cda61118a565b610ce3826110ea565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6000610d3261078e565b6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9391906117f1565b905090565b610da0611090565b6001600160a01b038116610e055760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610cad565b610e0e816110ea565b50565b63ffffffff84166000908152606560205260408120546001600160a01b031680610e555760405162c71b7960e21b815263ffffffff87166004820152602401610cad565b63ffffffff86166000908152606660205260409020543414610e8a57604051638620aa1960e01b815260040160405180910390fd5b6000610e976001436117bb565b63ffffffff881660009081526069602052604081208054924093509091610ebd9061180e565b80601f0160208091040260200160405190810160405280929190818152602001828054610ee99061180e565b8015610f365780601f10610f0b57610100808354040283529160200191610f36565b820191906000526020600020905b815481529060010190602001808311610f1957829003601f168201915b505050505090508051600003610f8957610f823388848989604051602001610f6295949392919061197d565b60408051601f198184030181529190526001600160a01b038516906111b9565b9350610fac565b610fa93388848b8a8a87604051602001610f6297969594939291906119b7565b93505b505050949350505050565b6000610fc586868686610aac565b60008181526067602052604090205490915015610ff85760405163014f6fe560e01b815260048101829052602401610cad565b60004260a01b60e088901b178317600083815260676020526040808220839055606880546001810182559083527fa2153420d844928b4421650203c77babc8b33d7f2e7b450e2966db0c220977530183905551919250879163ffffffff8a16916001600160a01b038716917f5b565efe82411da98814f356d0e7bcb8f0219b8d970307c5afb4a6903a8b2e359190a450505050505050565b6033546001600160a01b031633146109975760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610cad565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b3361114561078e565b6001600160a01b03161415801561116c575033611160610d28565b6001600160a01b031614155b1561099757604051636202851360e11b815260040160405180910390fd5b600054610100900460ff166111b15760405162461bcd60e51b8152600401610cad90611a23565b6109976111c7565b6000610787600084846111f7565b600054610100900460ff166111ee5760405162461bcd60e51b8152600401610cad90611a23565b610997336110ea565b600060608203516040830351602084035184518060208701018051600283016c5af43d3d93803e606057fd5bf3895289600d8a035278593da1005b363d3d373d3d3d3d610000806062363936013d738160481b1760218a03527f9e4ac34f21c619cefc926c8bd93b54bf5a39c7ab2127a895af1cc0691d7e3dff603a8a035272fd6100003d81600a3d39f336602c57343d527f6062820160781b1761ff9e82106059018a03528060f01b8352606c8101604c8a038cf0975050866112c35763301164256000526004601cfd5b90528552601f19850152603f19840152605f199092019190915292915050565b803563ffffffff811681146112f757600080fd5b919050565b60008083601f84011261130e57600080fd5b5081356001600160401b0381111561132557600080fd5b60208301915083602082850101111561133d57600080fd5b9250929050565b6000806000806000806080878903121561135d57600080fd5b611366876112e3565b95506020870135945060408701356001600160401b038082111561138957600080fd5b6113958a838b016112fc565b909650945060608901359150808211156113ae57600080fd5b506113bb89828a016112fc565b979a9699509497509295939492505050565b6001600160a01b0381168114610e0e57600080fd5b600080604083850312156113f557600080fd5b6113fe836112e3565b9150602083013561140e816113cd565b809150509250929050565b60006020828403121561142b57600080fd5b610787826112e3565b6000806040838503121561144757600080fd5b611450836112e3565b946020939093013593505050565b60008060006060848603121561147357600080fd5b61147c846112e3565b95602085013595506040909401359392505050565b60005b838110156114ac578181015183820152602001611494565b838111156114bb576000848401525b50505050565b600081518084526114d9816020860160208601611491565b601f01601f19169290920160200192915050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b8381101561157d57888303603f190185528151805184528781015188850152868101516001600160401b0316878501526060808201519085015260809081015160a091850182905290611569818601836114c1565b968901969450505090860190600101611514565b509098975050505050505050565b60208152600061078760208301846114c1565b600080600080606085870312156115b457600080fd5b6115bd856112e3565b93506020850135925060408501356001600160401b038111156115df57600080fd5b6115eb878288016112fc565b95989497509550505050565b6000806000806060858703121561160d57600080fd5b611616856112e3565b93506020850135611626816113cd565b925060408501356001600160401b038111156115df57600080fd5b60006020828403121561165357600080fd5b5035919050565b60006020828403121561166c57600080fd5b8135610787816113cd565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b602081526000610aa4602083018486611677565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6000602082840312156116f257600080fd5b81516001600160401b038082111561170957600080fd5b818401915084601f83011261171d57600080fd5b81518181111561172f5761172f6116ca565b604051601f8201601f19908116603f01168101908382118183101715611757576117576116ca565b8160405282815287602084870101111561177057600080fd5b611781836020830160208801611491565b979650505050505050565b60006020828403121561179e57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b6000828210156117cd576117cd6117a5565b500390565b60008160001904831182151516156117ec576117ec6117a5565b500290565b60006020828403121561180357600080fd5b8151610787816113cd565b600181811c9082168061182257607f821691505b60208210810361184257634e487b7160e01b600052602260045260246000fd5b50919050565b63ffffffff851681528360208201526060604082015260006104f4606083018486611677565b601f8211156118b857600081815260208120601f850160051c810160208610156118955750805b601f850160051c820191505b818110156118b4578281556001016118a1565b5050505b505050565b6001600160401b038311156118d4576118d46116ca565b6118e8836118e2835461180e565b8361186e565b6000601f84116001811461191c57600085156119045750838201355b600019600387901b1c1916600186901b178355611976565b600083815260209020601f19861690835b8281101561194d578685013582556020948501946001909201910161192d565b508682101561196a5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6bffffffffffffffffffffffff198660601b1681528460148201528360348201528183605483013760009101605401908152949350505050565b6bffffffffffffffffffffffff198860601b16815286601482015285603482015263ffffffff60e01b8560e01b16605482015282846058830137600083820160588101600081528451611a0e818360208901611491565b919091016058019a9950505050505050505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea26469706673582212200def0cc9a62325f1474f0037d35bef684db64d0a5872dcd0dc996ddc28c30aa264736f6c634300080f0033\",\n        \"nonce\": \"0x21\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xc61329af049d69001f25369a9dbb4bd0ab766c245443675d7292ff54f2a25575\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"AnchorStateRegistry\",\n      \"contractAddress\": \"0x144a55c8d46a347cd08204c0327cb411527f846e\",\n      \"function\": null,\n      \"arguments\": [\n        \"0\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"gas\": \"0x1b5d4d\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c060405234801561001057600080fd5b50604051620018d6380380620018d683398101604081905261003191610108565b600260805260a0819052610043610049565b50610121565b600054610100900460ff16156100b55760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614610106576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60006020828403121561011a57600080fd5b5051919050565b60805160a051611781620001556000396000818161045301526104f9015260008181610290015261094d01526117816000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80635958a19311610104578063952b2797116100a2578063e0a840eb11610071578063e0a840eb14610494578063ee658e45146104a7578063f2b4e617146104ba578063fdbb3dcf146104cd57600080fd5b8063952b27971461044e578063d5a3e12e1461047c578063d83ef26714610484578063dad544e01461048c57600080fd5b80636c4f4467116100de5780636c4f4467146103ed5780637258a807146104005780637d6be8dc146104285780637fc485041461043b57600080fd5b80635958a193146103945780635c975abb146103a7578063664ed830146103af57600080fd5b80633c9f397c1161017157806345884d321161014b57806345884d321461031a57806347a222c51461033d578063496b9c161461035057806354fd4d501461036357600080fd5b80633c9f397c146102ba5780633e47158c146102df5780634086d183146102e757600080fd5b806333d7e2bd116101ad57806333d7e2bd1461022457806334a346ea1461025557806335e80ab31461028157806338d38c971461028957600080fd5b80630314d2b3146101d457806304e50fed146101fc57806317cf21a91461020f575b600080fd5b6101e76101e2366004611384565b6104e0565b60405190151581526020015b60405180910390f35b6101e761020a366004611384565b6105b1565b61022261021d366004611384565b61061b565b005b60005461023d906201000090046001600160a01b031681565b6040516001600160a01b0390911681526020016101f3565b6101e7610263366004611384565b6001600160a01b031660009081526005602052604090205460ff1690565b61023d61071c565b60405160ff7f00000000000000000000000000000000000000000000000000000000000000001681526020016101f3565b6006546102ca9063ffffffff1681565b60405163ffffffff90911681526020016101f3565b61023d610799565b6006546103029064010000000090046001600160401b031681565b6040516001600160401b0390911681526020016101f3565b6101e7610328366004611384565b60056020526000908152604090205460ff1681565b61022261034b366004611400565b61094b565b6101e761035e366004611384565b610b03565b610387604051806040016040528060058152602001640332e372e360dc1b81525081565b6040516101f391906114f4565b6101e76103a2366004611384565b610b6e565b6101e7610be1565b6040805180820182526000808252602091820152815180830183526003548082526004549183019182528351908152905191810191909152016101f3565b6101e76103fb366004611384565b610c59565b61041361040e366004611507565b610d1c565b604080519283526020830191909152016101f3565b610222610436366004611384565b610d30565b610222610449366004611507565b610d84565b6040517f000000000000000000000000000000000000000000000000000000000000000081526020016101f3565b610222610dda565b610413610e46565b61023d610f58565b60025461023d906001600160a01b031681565b6101e76104b5366004611384565b610f9f565b60015461023d906001600160a01b031681565b6101e76104db366004611384565b611127565b60006104eb82611127565b6104f757506000919050565b7f0000000000000000000000000000000000000000000000000000000000000000610589836001600160a01b03166319effeb46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057d9190611540565b6001600160401b031690565b61059c906001600160401b031642611571565b116105a957506000919050565b506001919050565b6000816001600160a01b031663250e69bd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106159190611588565b92915050565b8061062581610c59565b610642576040516323d69b3d60e11b815260040160405180910390fd5b600061064c610e46565b91505080826001600160a01b03166399735e326040518163ffffffff1660e01b8152600401602060405180830381865afa15801561068e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b291906115aa565b116106d0576040516323d69b3d60e11b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0384169081179091556040517f474f180d74ea8751955ee261c93ff8270411b180408d1014c49f552c92a4d11e90600090a2505050565b60008060029054906101000a90046001600160a01b03166001600160a01b03166335e80ab36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610770573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079491906115c3565b905090565b6000806107c47fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b90506001600160a01b038116156107da57919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e67657200000000000081525051600261081d91906115e0565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e6765720000000000009190911790610878906060015b604051602081830303815290604052805190602001205490565b14610896576040516354e433cd60e01b815260040160405180910390fd5b604080513060208201526001918101919091526000906108b89060600161085e565b90506001600160a01b0381161561093257806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610907573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092b91906115c3565b9250505090565b60405163332144db60e01b815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000600054610100900460ff1615801561098b575060005460ff8083169116105b6109f25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805461ffff191660ff831617610100179055610a0e611274565b600080546001600160a01b03808816620100000262010000600160b01b0319909216919091178255600180549187166001600160a01b0319928316179055845160035560208501516004556002805490911690556006805463ffffffff851663ffffffff1990911617908190556001600160401b03640100000000909104169003610abb57600680546bffffffffffffffff000000001916640100000000426001600160401b0316021790555b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050565b6000610b0e82610f9f565b610b1a57506000919050565b6001600160a01b03821660009081526005602052604090205460ff1615610b4357506000919050565b610b4c82610b6e565b15610b5957506000919050565b610b61610be1565b156105a957506000919050565b6000600660049054906101000a90046001600160401b03166001600160401b0316610bd0836001600160a01b031663cf09e0d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610559573d6000803e3d6000fd5b6001600160401b0316111592915050565b60008060029054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c35573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107949190611588565b6000610c6482610b03565b610c7057506000919050565b610c79826105b1565b610c8557506000919050565b610c8e826104e0565b610c9a57506000919050565b6002826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfe9190611615565b6002811115610d0f57610d0f6115ff565b146105a957506000919050565b600080610d27610e46565b91509150915091565b610d386112c4565b6001600160a01b038116600081815260056020526040808220805460ff19166001179055517f192c289026d59a41a27f5aea08f3969b57931b0589202d14f4368cded95d3cda9190a250565b610d8c6112c4565b6006805463ffffffff191663ffffffff83169081179091556040519081527fcee0703b5e4bad4efededab85c9fd1aec17dee7c5f6c584330e0509b677745a29060200160405180910390a150565b610de26112c4565b600680546bffffffffffffffff000000001916640100000000426001600160401b03811691909102919091179091556040519081527f6e5b1ba771e8e484f741ed085f039ff4e5c6e882eaf68f550fb390922d0ae4a79060200160405180910390a1565b60025460009081906001600160a01b0316610e675750506003546004549091565b6002546040805163bcef3b5560e01b81529051610ed9926001600160a01b03169163bcef3b559160048083019260209291908290030181865afa158015610eb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed691906115aa565b90565b600260009054906101000a90046001600160a01b03166001600160a01b03166399735e326040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5091906115aa565b915091509091565b6000610f62610799565b6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610770573d6000803e3d6000fd5b600080600080846001600160a01b031663fa24f7436040518163ffffffff1660e01b8152600401600060405180830381865afa158015610fe3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261100b9190810190611636565b600154604051635f0150cb60e01b815293965091945092506000916001600160a01b0390911690635f0150cb9061104a908790879087906004016116e8565b6040805180830381865afa158015611066573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108a9190611716565b5090506000866001600160a01b0316635c0cba336040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f191906115c3565b9050866001600160a01b0316826001600160a01b031614801561111c57506001600160a01b03811630145b979650505050505050565b600061116a826001600160a01b03166319effeb46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610559573d6000803e3d6000fd5b6001600160401b03161580159061061557506002826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e09190611615565b60028111156111f1576111f16115ff565b148061061557506001826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa158015611238573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125c9190611615565b600281111561126d5761126d6115ff565b1492915050565b3361127d610799565b6001600160a01b0316141580156112a4575033611298610f58565b6001600160a01b031614155b156112c257604051636202851360e11b815260040160405180910390fd5b565b600060029054906101000a90046001600160a01b03166001600160a01b031663452a93206040518163ffffffff1660e01b8152600401602060405180830381865afa158015611317573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133b91906115c3565b6001600160a01b0316336001600160a01b0316146112c257604051630b94c86b60e21b815260040160405180910390fd5b6001600160a01b038116811461138157600080fd5b50565b60006020828403121561139657600080fd5b81356113a18161136c565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156113e6576113e66113a8565b604052919050565b63ffffffff8116811461138157600080fd5b60008060008084860360a081121561141757600080fd5b85356114228161136c565b945060208601356114328161136c565b93506040603f198201121561144657600080fd5b50604051604081018181106001600160401b0382111715611469576114696113a8565b60409081528601358152606086013560208201529150608085013561148d816113ee565b939692955090935050565b60005b838110156114b357818101518382015260200161149b565b838111156114c2576000848401525b50505050565b600081518084526114e0816020860160208601611498565b601f01601f19169290920160200192915050565b6020815260006113a160208301846114c8565b60006020828403121561151957600080fd5b81356113a1816113ee565b80516001600160401b038116811461153b57600080fd5b919050565b60006020828403121561155257600080fd5b6113a182611524565b634e487b7160e01b600052601160045260246000fd5b6000828210156115835761158361155b565b500390565b60006020828403121561159a57600080fd5b815180151581146113a157600080fd5b6000602082840312156115bc57600080fd5b5051919050565b6000602082840312156115d557600080fd5b81516113a18161136c565b60008160001904831182151516156115fa576115fa61155b565b500290565b634e487b7160e01b600052602160045260246000fd5b60006020828403121561162757600080fd5b8151600381106113a157600080fd5b60008060006060848603121561164b57600080fd5b8351611656816113ee565b6020850151604086015191945092506001600160401b038082111561167a57600080fd5b818601915086601f83011261168e57600080fd5b8151818111156116a0576116a06113a8565b6116b3601f8201601f19166020016113be565b91508082528760208285010111156116ca57600080fd5b6116db816020840160208601611498565b5080925050509250925092565b63ffffffff8416815282602082015260606040820152600061170d60608301846114c8565b95945050505050565b6000806040838503121561172957600080fd5b82516117348161136c565b915061174260208401611524565b9050925092905056fea2646970667358221220dce406ba98bc3c85475773886650fef7fe190ae1457e7e0faf970ac184def94764736f6c634300080f00330000000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x22\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x3ca363\",\n      \"logs\": [\n        {\n          \"address\": \"0x3b0d2f6a1f9d9de3a163e1f0aaf845dd47ce3122\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x5a96c5330e800e0e5619bd27424ac69ab94956cd762e97eb5ef08d1e8b9eb4ce\",\n          \"blockNumber\": \"0x26b7ea\",\n          \"blockTimestamp\": \"0x69ce6304\",\n          \"transactionHash\": \"0x35ef6c628c2ec239750e05e58c35deaa4928306d77c4dd8249e59822113bacae\",\n          \"transactionIndex\": \"0x1c\",\n          \"logIndex\": \"0xc\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x3b0d2f6a1f9d9de3a163e1f0aaf845dd47ce3122\",\n          \"topics\": [\n            \"0x80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c85\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x5a96c5330e800e0e5619bd27424ac69ab94956cd762e97eb5ef08d1e8b9eb4ce\",\n          \"blockNumber\": \"0x26b7ea\",\n          \"blockTimestamp\": \"0x69ce6304\",\n          \"transactionHash\": \"0x35ef6c628c2ec239750e05e58c35deaa4928306d77c4dd8249e59822113bacae\",\n          \"transactionIndex\": \"0x1c\",\n          \"logIndex\": \"0xd\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x3b0d2f6a1f9d9de3a163e1f0aaf845dd47ce3122\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n            \"0x000000000000000000000000000000000000000000000000000000000000dead\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x5a96c5330e800e0e5619bd27424ac69ab94956cd762e97eb5ef08d1e8b9eb4ce\",\n          \"blockNumber\": \"0x26b7ea\",\n          \"blockTimestamp\": \"0x69ce6304\",\n          \"transactionHash\": \"0x35ef6c628c2ec239750e05e58c35deaa4928306d77c4dd8249e59822113bacae\",\n          \"transactionIndex\": \"0x1c\",\n          \"logIndex\": \"0xe\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x3b0d2f6a1f9d9de3a163e1f0aaf845dd47ce3122\",\n          \"topics\": [\n            \"0x80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c85\",\n            \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n            \"0x000000000000000000000000000000000000000000000000000000000000dead\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x5a96c5330e800e0e5619bd27424ac69ab94956cd762e97eb5ef08d1e8b9eb4ce\",\n          \"blockNumber\": \"0x26b7ea\",\n          \"blockTimestamp\": \"0x69ce6304\",\n          \"transactionHash\": \"0x35ef6c628c2ec239750e05e58c35deaa4928306d77c4dd8249e59822113bacae\",\n          \"transactionIndex\": \"0x1c\",\n          \"logIndex\": \"0xf\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x3b0d2f6a1f9d9de3a163e1f0aaf845dd47ce3122\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0x5a96c5330e800e0e5619bd27424ac69ab94956cd762e97eb5ef08d1e8b9eb4ce\",\n          \"blockNumber\": \"0x26b7ea\",\n          \"blockTimestamp\": \"0x69ce6304\",\n          \"transactionHash\": \"0x35ef6c628c2ec239750e05e58c35deaa4928306d77c4dd8249e59822113bacae\",\n          \"transactionIndex\": \"0x1c\",\n          \"logIndex\": \"0x10\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000410000200000000000000000000000000000000800000000000000000001000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000020000000040000000000800000000000000000000000000000000400000000000000000000084000000000000000000000080000000000000000000000008000008000000000000000400000000000000000000000000000000000000000400000000000000000000040000008000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x35ef6c628c2ec239750e05e58c35deaa4928306d77c4dd8249e59822113bacae\",\n      \"transactionIndex\": \"0x1c\",\n      \"blockHash\": \"0x5a96c5330e800e0e5619bd27424ac69ab94956cd762e97eb5ef08d1e8b9eb4ce\",\n      \"blockNumber\": \"0x26b7ea\",\n      \"gasUsed\": \"0x196163\",\n      \"effectiveGasPrice\": \"0x180e611\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": null,\n      \"contractAddress\": \"0x3b0d2f6a1f9d9de3a163e1f0aaf845dd47ce3122\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x4dd6e3\",\n      \"logs\": [\n        {\n          \"address\": \"0xf5f747bb3bbb45bb019fc49bf2e9f2ee93158c72\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000ff\",\n          \"blockHash\": \"0x5a96c5330e800e0e5619bd27424ac69ab94956cd762e97eb5ef08d1e8b9eb4ce\",\n          \"blockNumber\": \"0x26b7ea\",\n          \"blockTimestamp\": \"0x69ce6304\",\n          \"transactionHash\": \"0xbb456df7116616c6b21cad61c62cc2065cc9fbd1ea9b2b8ae3a634ebbbcb2297\",\n          \"transactionIndex\": \"0x1d\",\n          \"logIndex\": \"0x11\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000002000000000000000000000200000000000000000000040000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xbb456df7116616c6b21cad61c62cc2065cc9fbd1ea9b2b8ae3a634ebbbcb2297\",\n      \"transactionIndex\": \"0x1d\",\n      \"blockHash\": \"0x5a96c5330e800e0e5619bd27424ac69ab94956cd762e97eb5ef08d1e8b9eb4ce\",\n      \"blockNumber\": \"0x26b7ea\",\n      \"gasUsed\": \"0x113380\",\n      \"effectiveGasPrice\": \"0x180e611\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": null,\n      \"contractAddress\": \"0xf5f747bb3bbb45bb019fc49bf2e9f2ee93158c72\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x5489ea\",\n      \"logs\": [\n        {\n          \"address\": \"0xf1d1441b7d98f191f5cfbe4660d3684fea004afc\",\n          \"topics\": [\n            \"0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n          \"blockHash\": \"0x5a96c5330e800e0e5619bd27424ac69ab94956cd762e97eb5ef08d1e8b9eb4ce\",\n          \"blockNumber\": \"0x26b7ea\",\n          \"blockTimestamp\": \"0x69ce6304\",\n          \"transactionHash\": \"0x5b53b767060403df37054fd9dbbb65ec64198fde74388e97ccdb7ab0a3b5e83a\",\n          \"transactionIndex\": \"0x1e\",\n          \"logIndex\": \"0x12\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000020000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000004000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x5b53b767060403df37054fd9dbbb65ec64198fde74388e97ccdb7ab0a3b5e83a\",\n      \"transactionIndex\": \"0x1e\",\n      \"blockHash\": \"0x5a96c5330e800e0e5619bd27424ac69ab94956cd762e97eb5ef08d1e8b9eb4ce\",\n      \"blockNumber\": \"0x26b7ea\",\n      \"gasUsed\": \"0x6b307\",\n      \"effectiveGasPrice\": \"0x180e611\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": null,\n      \"contractAddress\": \"0xf1d1441b7d98f191f5cfbe4660d3684fea004afc\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xf7b65\",\n      \"logs\": [\n        {\n          \"address\": \"0xf1d1441b7d98f191f5cfbe4660d3684fea004afc\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x0000000000000000000000003b0d2f6a1f9d9de3a163e1f0aaf845dd47ce3122\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf2de622c14b15a2f6ced9bbf09383556d3e5c914cec1aa6d4a05f0c6f1aaa2c1\",\n          \"blockNumber\": \"0x26b7eb\",\n          \"blockTimestamp\": \"0x69ce6310\",\n          \"transactionHash\": \"0x7e503c1d0e0f142224604ef67a14a9fa3fd5b7b49cb092b077f7210f0a27806d\",\n          \"transactionIndex\": \"0x4\",\n          \"logIndex\": \"0xa\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf1d1441b7d98f191f5cfbe4660d3684fea004afc\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf2de622c14b15a2f6ced9bbf09383556d3e5c914cec1aa6d4a05f0c6f1aaa2c1\",\n          \"blockNumber\": \"0x26b7eb\",\n          \"blockTimestamp\": \"0x69ce6310\",\n          \"transactionHash\": \"0x7e503c1d0e0f142224604ef67a14a9fa3fd5b7b49cb092b077f7210f0a27806d\",\n          \"transactionIndex\": \"0x4\",\n          \"logIndex\": \"0xb\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf1d1441b7d98f191f5cfbe4660d3684fea004afc\",\n          \"topics\": [\n            \"0x80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c85\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf2de622c14b15a2f6ced9bbf09383556d3e5c914cec1aa6d4a05f0c6f1aaa2c1\",\n          \"blockNumber\": \"0x26b7eb\",\n          \"blockTimestamp\": \"0x69ce6310\",\n          \"transactionHash\": \"0x7e503c1d0e0f142224604ef67a14a9fa3fd5b7b49cb092b077f7210f0a27806d\",\n          \"transactionIndex\": \"0x4\",\n          \"logIndex\": \"0xc\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf1d1441b7d98f191f5cfbe4660d3684fea004afc\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n            \"0x000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf2de622c14b15a2f6ced9bbf09383556d3e5c914cec1aa6d4a05f0c6f1aaa2c1\",\n          \"blockNumber\": \"0x26b7eb\",\n          \"blockTimestamp\": \"0x69ce6310\",\n          \"transactionHash\": \"0x7e503c1d0e0f142224604ef67a14a9fa3fd5b7b49cb092b077f7210f0a27806d\",\n          \"transactionIndex\": \"0x4\",\n          \"logIndex\": \"0xd\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf1d1441b7d98f191f5cfbe4660d3684fea004afc\",\n          \"topics\": [\n            \"0x80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c85\",\n            \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n            \"0x0000000000000000000000005f109182a097c40cc936742be4b55c1a08ac4dd9\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf2de622c14b15a2f6ced9bbf09383556d3e5c914cec1aa6d4a05f0c6f1aaa2c1\",\n          \"blockNumber\": \"0x26b7eb\",\n          \"blockTimestamp\": \"0x69ce6310\",\n          \"transactionHash\": \"0x7e503c1d0e0f142224604ef67a14a9fa3fd5b7b49cb092b077f7210f0a27806d\",\n          \"transactionIndex\": \"0x4\",\n          \"logIndex\": \"0xe\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf1d1441b7d98f191f5cfbe4660d3684fea004afc\",\n          \"topics\": [\n            \"0xfc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d2\",\n            \"0x0000000000000000000000005679a6b3817a014d6f3dcd64569d6858f4e92f5e\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0xf2de622c14b15a2f6ced9bbf09383556d3e5c914cec1aa6d4a05f0c6f1aaa2c1\",\n          \"blockNumber\": \"0x26b7eb\",\n          \"blockTimestamp\": \"0x69ce6310\",\n          \"transactionHash\": \"0x7e503c1d0e0f142224604ef67a14a9fa3fd5b7b49cb092b077f7210f0a27806d\",\n          \"transactionIndex\": \"0x4\",\n          \"logIndex\": \"0xf\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf1d1441b7d98f191f5cfbe4660d3684fea004afc\",\n          \"topics\": [\n            \"0xfc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d2\",\n            \"0x000000000000000000000000ad3b1402b3ec6a23c3913258d3811f132e7e35e0\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0xf2de622c14b15a2f6ced9bbf09383556d3e5c914cec1aa6d4a05f0c6f1aaa2c1\",\n          \"blockNumber\": \"0x26b7eb\",\n          \"blockTimestamp\": \"0x69ce6310\",\n          \"transactionHash\": \"0x7e503c1d0e0f142224604ef67a14a9fa3fd5b7b49cb092b077f7210f0a27806d\",\n          \"transactionIndex\": \"0x4\",\n          \"logIndex\": \"0x10\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xf1d1441b7d98f191f5cfbe4660d3684fea004afc\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0xf2de622c14b15a2f6ced9bbf09383556d3e5c914cec1aa6d4a05f0c6f1aaa2c1\",\n          \"blockNumber\": \"0x26b7eb\",\n          \"blockTimestamp\": \"0x69ce6310\",\n          \"transactionHash\": \"0x7e503c1d0e0f142224604ef67a14a9fa3fd5b7b49cb092b077f7210f0a27806d\",\n          \"transactionIndex\": \"0x4\",\n          \"logIndex\": \"0x11\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x0000000000040000020000000000020040000000000000000080000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000200000100000000000000000000000000000000000202080000004000000000080000000000000000000040000020000240002000000000000000000000000000000000000000008000000000000000008000000a000008000000000040000400000000000000000000000000000000000000042020000000000000000000040004000000000000080400004000800020000000000000000002000004001000000000000200000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x7e503c1d0e0f142224604ef67a14a9fa3fd5b7b49cb092b077f7210f0a27806d\",\n      \"transactionIndex\": \"0x4\",\n      \"blockHash\": \"0xf2de622c14b15a2f6ced9bbf09383556d3e5c914cec1aa6d4a05f0c6f1aaa2c1\",\n      \"blockNumber\": \"0x26b7eb\",\n      \"gasUsed\": \"0x30f1d\",\n      \"effectiveGasPrice\": \"0x180e611\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0xf1d1441b7d98f191f5cfbe4660d3684fea004afc\",\n      \"contractAddress\": null\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1e7479\",\n      \"logs\": [\n        {\n          \"address\": \"0xf1d1441b7d98f191f5cfbe4660d3684fea004afc\",\n          \"topics\": [\n            \"0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f\"\n          ],\n          \"data\": \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b00000000000000000000000044f00318360258744a0daa957c2d15080a473469\",\n          \"blockHash\": \"0xf2de622c14b15a2f6ced9bbf09383556d3e5c914cec1aa6d4a05f0c6f1aaa2c1\",\n          \"blockNumber\": \"0x26b7eb\",\n          \"blockTimestamp\": \"0x69ce6310\",\n          \"transactionHash\": \"0xd4a4c4950b58794d7129534e65790baafe0afad64ed0410de803a203c05a3a5d\",\n          \"transactionIndex\": \"0x7\",\n          \"logIndex\": \"0x19\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000020000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000004000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xd4a4c4950b58794d7129534e65790baafe0afad64ed0410de803a203c05a3a5d\",\n      \"transactionIndex\": \"0x7\",\n      \"blockHash\": \"0xf2de622c14b15a2f6ced9bbf09383556d3e5c914cec1aa6d4a05f0c6f1aaa2c1\",\n      \"blockNumber\": \"0x26b7eb\",\n      \"gasUsed\": \"0x6f48\",\n      \"effectiveGasPrice\": \"0x180e611\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0xf1d1441b7d98f191f5cfbe4660d3684fea004afc\",\n      \"contractAddress\": null\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x33b1db\",\n      \"logs\": [\n        {\n          \"address\": \"0x8ff945fcad2ca8d66fa1ba63c70440328bb14ff3\",\n          \"topics\": [\n            \"0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n          \"blockHash\": \"0xf2de622c14b15a2f6ced9bbf09383556d3e5c914cec1aa6d4a05f0c6f1aaa2c1\",\n          \"blockNumber\": \"0x26b7eb\",\n          \"blockTimestamp\": \"0x69ce6310\",\n          \"transactionHash\": \"0xaa95384d7629e843c40152b945c202a071e1a45a7425f41cca0f3ab778e7df1b\",\n          \"transactionIndex\": \"0xa\",\n          \"logIndex\": \"0x22\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000020000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xaa95384d7629e843c40152b945c202a071e1a45a7425f41cca0f3ab778e7df1b\",\n      \"transactionIndex\": \"0xa\",\n      \"blockHash\": \"0xf2de622c14b15a2f6ced9bbf09383556d3e5c914cec1aa6d4a05f0c6f1aaa2c1\",\n      \"blockNumber\": \"0x26b7eb\",\n      \"gasUsed\": \"0x6b307\",\n      \"effectiveGasPrice\": \"0x180e611\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": null,\n      \"contractAddress\": \"0x8ff945fcad2ca8d66fa1ba63c70440328bb14ff3\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1713c0\",\n      \"logs\": [\n        {\n          \"address\": \"0x8ff945fcad2ca8d66fa1ba63c70440328bb14ff3\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x000000000000000000000000f5f747bb3bbb45bb019fc49bf2e9f2ee93158c72\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x34b2f12d622e3347fe88aa24ff379f5be9eb98f200fbeb4437c1614245d4ab07\",\n          \"blockNumber\": \"0x26b7ec\",\n          \"blockTimestamp\": \"0x69ce631c\",\n          \"transactionHash\": \"0x7e3dfe6038fe823f629b82a3f28732ec7102c44a0a6fc3b3e065b397264ac41f\",\n          \"transactionIndex\": \"0x1b\",\n          \"logIndex\": \"0x7\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x8ff945fcad2ca8d66fa1ba63c70440328bb14ff3\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0x34b2f12d622e3347fe88aa24ff379f5be9eb98f200fbeb4437c1614245d4ab07\",\n          \"blockNumber\": \"0x26b7ec\",\n          \"blockTimestamp\": \"0x69ce631c\",\n          \"transactionHash\": \"0x7e3dfe6038fe823f629b82a3f28732ec7102c44a0a6fc3b3e065b397264ac41f\",\n          \"transactionIndex\": \"0x1b\",\n          \"logIndex\": \"0x8\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000400000000000000000000000000000000000000000000000000000020000000000000000000000000000020004000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000080000000000000000000000000000000000000000000000400000000000000000000000002000000000000000020000000000000000000040000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x7e3dfe6038fe823f629b82a3f28732ec7102c44a0a6fc3b3e065b397264ac41f\",\n      \"transactionIndex\": \"0x1b\",\n      \"blockHash\": \"0x34b2f12d622e3347fe88aa24ff379f5be9eb98f200fbeb4437c1614245d4ab07\",\n      \"blockNumber\": \"0x26b7ec\",\n      \"gasUsed\": \"0x17e22\",\n      \"effectiveGasPrice\": \"0x180e611\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x8ff945fcad2ca8d66fa1ba63c70440328bb14ff3\",\n      \"contractAddress\": null\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x178308\",\n      \"logs\": [\n        {\n          \"address\": \"0x8ff945fcad2ca8d66fa1ba63c70440328bb14ff3\",\n          \"topics\": [\n            \"0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f\"\n          ],\n          \"data\": \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b00000000000000000000000044f00318360258744a0daa957c2d15080a473469\",\n          \"blockHash\": \"0x34b2f12d622e3347fe88aa24ff379f5be9eb98f200fbeb4437c1614245d4ab07\",\n          \"blockNumber\": \"0x26b7ec\",\n          \"blockTimestamp\": \"0x69ce631c\",\n          \"transactionHash\": \"0x1a193465d57530fd91ca64fef9a199c2029c38cfd7bce3e35fcc65df59f6dce5\",\n          \"transactionIndex\": \"0x1c\",\n          \"logIndex\": \"0x9\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000020000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x1a193465d57530fd91ca64fef9a199c2029c38cfd7bce3e35fcc65df59f6dce5\",\n      \"transactionIndex\": \"0x1c\",\n      \"blockHash\": \"0x34b2f12d622e3347fe88aa24ff379f5be9eb98f200fbeb4437c1614245d4ab07\",\n      \"blockNumber\": \"0x26b7ec\",\n      \"gasUsed\": \"0x6f48\",\n      \"effectiveGasPrice\": \"0x180e611\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x8ff945fcad2ca8d66fa1ba63c70440328bb14ff3\",\n      \"contractAddress\": null\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1f9dd4\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x5c3f7b44a83863b0cd16137e2d8654183dd6087327bfe7a177be817795475b7a\",\n      \"transactionIndex\": \"0x1d\",\n      \"blockHash\": \"0x34b2f12d622e3347fe88aa24ff379f5be9eb98f200fbeb4437c1614245d4ab07\",\n      \"blockNumber\": \"0x26b7ec\",\n      \"gasUsed\": \"0x81acc\",\n      \"effectiveGasPrice\": \"0x180e611\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": null,\n      \"contractAddress\": \"0x6f3db1c1f5110b20efbbccd13367bca8898092e6\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x234380\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xcf5c5f428fa1591b89e486bf04941ecb878271853aacf5c4f0e7be7e9a6425bc\",\n      \"transactionIndex\": \"0x1e\",\n      \"blockHash\": \"0x34b2f12d622e3347fe88aa24ff379f5be9eb98f200fbeb4437c1614245d4ab07\",\n      \"blockNumber\": \"0x26b7ec\",\n      \"gasUsed\": \"0x3a5ac\",\n      \"effectiveGasPrice\": \"0x180e611\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": null,\n      \"contractAddress\": \"0x4730cec510e664838b20b576881702b64651cc45\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x30c790\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xa10119fb6b09dc357b76f78deb0a328e3efc3f482074325c084ce648504126fc\",\n      \"transactionIndex\": \"0x2\",\n      \"blockHash\": \"0x0e46a186825d4bf020b8ccb4456f8c627845c5aec474cda71a144daaa6f7e199\",\n      \"blockNumber\": \"0x26b7ed\",\n      \"gasUsed\": \"0x2e1605\",\n      \"effectiveGasPrice\": \"0x180e611\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": null,\n      \"contractAddress\": \"0x6ed60b2e1bdc8bcf333e12e716af2bc63bb263d6\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x78bbaf\",\n      \"logs\": [\n        {\n          \"address\": \"0x27b8d2d28540b133f9454535867e3b89b78d88b0\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000ff\",\n          \"blockHash\": \"0x0e46a186825d4bf020b8ccb4456f8c627845c5aec474cda71a144daaa6f7e199\",\n          \"blockNumber\": \"0x26b7ed\",\n          \"blockTimestamp\": \"0x69ce6328\",\n          \"transactionHash\": \"0x614d5130b03d132b6c8ca5facf7e71ba54683169ecf155aa2c8d9bd71918a23d\",\n          \"transactionIndex\": \"0x6\",\n          \"logIndex\": \"0xf\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000001000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x614d5130b03d132b6c8ca5facf7e71ba54683169ecf155aa2c8d9bd71918a23d\",\n      \"transactionIndex\": \"0x6\",\n      \"blockHash\": \"0x0e46a186825d4bf020b8ccb4456f8c627845c5aec474cda71a144daaa6f7e199\",\n      \"blockNumber\": \"0x26b7ed\",\n      \"gasUsed\": \"0x3a93ed\",\n      \"effectiveGasPrice\": \"0x180e611\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": null,\n      \"contractAddress\": \"0x27b8d2d28540b133f9454535867e3b89b78d88b0\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1dd512\",\n      \"logs\": [\n        {\n          \"address\": \"0xc5942bf8039cef74414305a67384c382fb5e0bb4\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000ff\",\n          \"blockHash\": \"0x3cb8f35e030e9e18f25517c8139c7cce98a5a6bb88a5cc3f878e5d56feb34349\",\n          \"blockNumber\": \"0x26b7ee\",\n          \"blockTimestamp\": \"0x69ce6334\",\n          \"transactionHash\": \"0x442a7ac7df330c93c4dc668fa6d407e8a91b90bdc6d9e6de73d0d77d84472e5e\",\n          \"transactionIndex\": \"0x1\",\n          \"logIndex\": \"0x2\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x442a7ac7df330c93c4dc668fa6d407e8a91b90bdc6d9e6de73d0d77d84472e5e\",\n      \"transactionIndex\": \"0x1\",\n      \"blockHash\": \"0x3cb8f35e030e9e18f25517c8139c7cce98a5a6bb88a5cc3f878e5d56feb34349\",\n      \"blockNumber\": \"0x26b7ee\",\n      \"gasUsed\": \"0x17b00e\",\n      \"effectiveGasPrice\": \"0x180e611\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": null,\n      \"contractAddress\": \"0xc5942bf8039cef74414305a67384c382fb5e0bb4\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x43dbf2\",\n      \"logs\": [\n        {\n          \"address\": \"0x144a55c8d46a347cd08204c0327cb411527f846e\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000ff\",\n          \"blockHash\": \"0x3cb8f35e030e9e18f25517c8139c7cce98a5a6bb88a5cc3f878e5d56feb34349\",\n          \"blockNumber\": \"0x26b7ee\",\n          \"blockTimestamp\": \"0x69ce6334\",\n          \"transactionHash\": \"0xc61329af049d69001f25369a9dbb4bd0ab766c245443675d7292ff54f2a25575\",\n          \"transactionIndex\": \"0x6\",\n          \"logIndex\": \"0xc\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000100000001000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xc61329af049d69001f25369a9dbb4bd0ab766c245443675d7292ff54f2a25575\",\n      \"transactionIndex\": \"0x6\",\n      \"blockHash\": \"0x3cb8f35e030e9e18f25517c8139c7cce98a5a6bb88a5cc3f878e5d56feb34349\",\n      \"blockNumber\": \"0x26b7ee\",\n      \"gasUsed\": \"0x150cb2\",\n      \"effectiveGasPrice\": \"0x180e611\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": null,\n      \"contractAddress\": \"0x144a55c8d46a347cd08204c0327cb411527f846e\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1775133494692,\n  \"chain\": 560048,\n  \"commit\": \"589455d\"\n}"
  },
  {
    "path": "zeronet/2026-04-01-activate-multiproof/records/DeployNitroVerifier.s.sol/560048/run-1775133374708.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x00b5ff21775f2a77d33f4a7ca389ba1d4316de4a9d689db7c1b6b29cc77f5e2b\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"RiscZeroSetVerifier\",\n      \"contractAddress\": \"0x5492e1ecd7867aead78464ebd5def30f96d462ba\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x32Db7dc407AC886807277636a1633A1381748DD8\",\n        \"0x70909b25db0db00f1d4b4016aeb876f53568a3e5a8e6397cb562d79947a02cc9\",\n        \"https://gateway.pinata.cloud/ipfs/bafybeicclqbjn5ief3ycqif6wv3n3wr43szv2locrmml5h7d4fkrz4jrum\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"gas\": \"0x140584\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60e060405234801561000f575f5ffd5b5060405161139a38038061139a83398101604081905261002e916101a8565b6001600160a01b0383166100555760405163217b186d60e21b815260040160405180910390fd5b6001600160a01b03831660805260c08290525f6100728282610303565b5061007c82610092565b6001600160e01b03191660a052506103ea915050565b5f6002806040516100da907f72697363302e536574496e636c7573696f6e526563656970745665726966696581526a72506172616d657465727360a81b6020820152602b0190565b602060405180830381855afa1580156100f5573d5f5f3e3d5ffd5b5050506040513d601f19601f8201168201806040525081019061011891906103bd565b6040805160208101929092528101849052600160f81b606082015260620160408051601f1981840301815290829052610150916103d4565b602060405180830381855afa15801561016b573d5f5f3e3d5ffd5b5050506040513d601f19601f8201168201806040525081019061018e91906103bd565b92915050565b634e487b7160e01b5f52604160045260245ffd5b5f5f5f606084860312156101ba575f5ffd5b83516001600160a01b03811681146101d0575f5ffd5b6020850151604086015191945092506001600160401b038111156101f2575f5ffd5b8401601f81018613610202575f5ffd5b80516001600160401b0381111561021b5761021b610194565b604051601f8201601f19908116603f011681016001600160401b038111828210171561024957610249610194565b604052818152828201602001881015610260575f5ffd5b8160208401602083015e5f602083830101528093505050509250925092565b600181811c9082168061029357607f821691505b6020821081036102b157634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102fe57805f5260205f20601f840160051c810160208510156102dc5750805b601f840160051c820191505b818110156102fb575f81556001016102e8565b50505b505050565b81516001600160401b0381111561031c5761031c610194565b6103308161032a845461027f565b846102b7565b6020601f821160018114610362575f831561034b5750848201515b5f19600385901b1c1916600184901b1784556102fb565b5f84815260208120601f198516915b828110156103915787850151825560209485019460019092019101610371565b50848210156103ae57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f602082840312156103cd575f5ffd5b5051919050565b5f82518060208501845e5f920191825250919050565b60805160a05160c051610f576104435f395f81816102170152818161035901528181610588015261068801525f8181608e0152818161044101526104a501525f818160d3015281816101e601526105540152610f575ff3fe608060405234801561000f575f5ffd5b5060043610610085575f3560e01c80636691f647116100585780636691f64714610154578063ab750e7514610167578063cdc971231461017a578063ffa1ad7414610190575f5ffd5b8063053c238d1461008957806308c84e70146100ce5780631599ead51461010d57806348cbdfca14610122575b5f5ffd5b6100b07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160e01b031990911681526020015b60405180910390f35b6100f57f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100c5565b61012061011b366004610a02565b6101ca565b005b610144610130366004610a39565b5f9081526001602052604090205460ff1690565b60405190151581526020016100c5565b610120610162366004610a95565b6101e4565b610120610175366004610add565b610332565b610182610354565b6040516100c5929190610b58565b6101bd6040518060400160405280600e81526020016d302e31302e302d616c7068612e3160901b81525081565b6040516100c59190610b78565b6101e16101d78280610b8a565b836020013561040b565b50565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ab750e7583837f0000000000000000000000000000000000000000000000000000000000000000600261024189610682565b60405161024e9190610bcd565b602060405180830381855afa158015610269573d5f5f3e3d5ffd5b5050506040513d601f19601f8201168201806040525081019061028c9190610be3565b6040518563ffffffff1660e01b81526004016102ab9493929190610c22565b5f6040518083038186803b1580156102c1575f5ffd5b505afa1580156102d3573d5f5f3e3d5ffd5b5050505f84815260016020819052604091829020805460ff19169091179055518491507fcb874ca5a04ca17d10924a9784b666fb412b518f2394912f61f4ddf614c5de16906103259085908590610c48565b60405180910390a2505050565b61034e848461034961034486866106d0565b61075a565b61040b565b50505050565b5f60607f00000000000000000000000000000000000000000000000000000000000000005f80805461038590610c5b565b80601f01602080910402602001604051908101604052809291908181526020018280546103b190610c5b565b80156103fc5780601f106103d3576101008083540402835291602001916103fc565b820191905f5260205f20905b8154815290600101906020018083116103df57829003601f168201915b50505050509050915091509091565b604080518082019091526060808252602082015261042c60045f8587610c93565b61043591610cba565b6001600160e01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916146104d85761047c60045f8587610c93565b61048591610cba565b604051632e2ce35360e21b81526001600160e01b031991821660048201527f0000000000000000000000000000000000000000000000000000000000000000909116602482015260440160405180910390fd5b60048311156104fe576104ee8360048187610c93565b8101906104fb9190610dcc565b90505b604051674c4541465f54414760c01b6020820152602881018390525f906048016040516020818303038152906040528051906020012090505f610544835f0151836108ba565b6020840151519091501561064c577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ab750e7584602001517f000000000000000000000000000000000000000000000000000000000000000060026105b286610682565b6040516105bf9190610bcd565b602060405180830381855afa1580156105da573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906105fd9190610be3565b6040518463ffffffff1660e01b815260040161061b93929190610ed5565b5f6040518083038186803b158015610631575f5ffd5b505afa158015610643573d5f5f3e3d5ffd5b5050505061067a565b5f8181526001602052604090205460ff1661067a5760405163439cc0cd60e01b815260040160405180910390fd5b505050505050565b604080517f00000000000000000000000000000000000000000000000000000000000000006020820152600160ff1b8183015260608082019390935281518082039093018352608001905290565b6106d86109c0565b6040805160a0810182528481527fa3acc27117418996340b84e5a90f3ef4c49d22c79e44aad822ec9c313e1eb8e26020820152815180830183529091820190805f81526020015f60ff1681525081526020015f5f1b815260200161075160405180604001604052808681526020015f5f1b8152506108fc565b90529392505050565b5f600280604051610783907172697363302e52656365697074436c61696d60701b815260120190565b602060405180830381855afa15801561079e573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906107c19190610be3565b606084015184516020860151608087015160408801515160189060028111156107ec576107ec610ef9565b60408a810151602090810151825191820199909952908101969096526060860194909452608085019290925260a084015263ffffffff909116901b60e01b6001600160e01b03191660c082015260f89190911b6001600160f81b03191660c4820152600160fa1b60c882015260ca015b60408051601f198184030181529082905261087691610bcd565b602060405180830381855afa158015610891573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906108b49190610be3565b92915050565b5f81815b84518110156108f4576108ea828683815181106108dd576108dd610f0d565b6020026020010151610991565b91506001016108be565b509392505050565b5f60028060405161091f906b1c9a5cd8cc0b93dd5d1c1d5d60a21b8152600c0190565b602060405180830381855afa15801561093a573d5f5f3e3d5ffd5b5050506040513d601f19601f8201168201806040525081019061095d9190610be3565b83516020808601516040805192830194909452928101919091526060810191909152600160f91b608082015260820161085c565b5f8183106109ab575f8281526020849052604090206109b9565b5f8381526020839052604090205b9392505050565b6040518060a001604052805f81526020015f81526020016109f0604080518082019091525f808252602082015290565b81526020015f81526020015f81525090565b5f60208284031215610a12575f5ffd5b813567ffffffffffffffff811115610a28575f5ffd5b8201604081850312156109b9575f5ffd5b5f60208284031215610a49575f5ffd5b5035919050565b5f5f83601f840112610a60575f5ffd5b50813567ffffffffffffffff811115610a77575f5ffd5b602083019150836020828501011115610a8e575f5ffd5b9250929050565b5f5f5f60408486031215610aa7575f5ffd5b83359250602084013567ffffffffffffffff811115610ac4575f5ffd5b610ad086828701610a50565b9497909650939450505050565b5f5f5f5f60608587031215610af0575f5ffd5b843567ffffffffffffffff811115610b06575f5ffd5b610b1287828801610a50565b90989097506020870135966040013595509350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b828152604060208201525f610b706040830184610b2a565b949350505050565b602081525f6109b96020830184610b2a565b5f5f8335601e19843603018112610b9f575f5ffd5b83018035915067ffffffffffffffff821115610bb9575f5ffd5b602001915036819003821315610a8e575f5ffd5b5f82518060208501845e5f920191825250919050565b5f60208284031215610bf3575f5ffd5b5051919050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b606081525f610c35606083018688610bfa565b6020830194909452506040015292915050565b602081525f610b70602083018486610bfa565b600181811c90821680610c6f57607f821691505b602082108103610c8d57634e487b7160e01b5f52602260045260245ffd5b50919050565b5f5f85851115610ca1575f5ffd5b83861115610cad575f5ffd5b5050820193919092039150565b80356001600160e01b03198116906004841015610ceb576001600160e01b0319600485900360031b81901b82161691505b5092915050565b634e487b7160e01b5f52604160045260245ffd5b6040805190810167ffffffffffffffff81118282101715610d2957610d29610cf2565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610d5857610d58610cf2565b604052919050565b5f82601f830112610d6f575f5ffd5b813567ffffffffffffffff811115610d8957610d89610cf2565b610d9c601f8201601f1916602001610d2f565b818152846020838601011115610db0575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f60208284031215610ddc575f5ffd5b813567ffffffffffffffff811115610df2575f5ffd5b820160408185031215610e03575f5ffd5b610e0b610d06565b813567ffffffffffffffff811115610e21575f5ffd5b8201601f81018613610e31575f5ffd5b803567ffffffffffffffff811115610e4b57610e4b610cf2565b8060051b610e5b60208201610d2f565b91825260208184018101929081019089841115610e76575f5ffd5b6020850194505b83851015610e9c57843580835260209586019590935090910190610e7d565b855250505050602082013567ffffffffffffffff811115610ebb575f5ffd5b610ec786828501610d60565b602083015250949350505050565b606081525f610ee76060830186610b2a565b60208301949094525060400152919050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52603260045260245ffdfea2646970667358221220c21567f963e567ba9fef74ac30d62d2b1df40472cb9f5823d5d86dec974ebb1164736f6c634300081c003300000000000000000000000032db7dc407ac886807277636a1633a1381748dd870909b25db0db00f1d4b4016aeb876f53568a3e5a8e6397cb562d79947a02cc90000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000005d68747470733a2f2f676174657761792e70696e6174612e636c6f75642f697066732f6261667962656963636c71626a6e35696566337963716966367776336e3377723433737a76326c6f63726d6d6c3568376434666b727a346a72756d000000\",\n        \"nonce\": \"0x12\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x330bb4f6ab6a26aaa97a800799ca62766a28d015aed3fb6c8c1fb0b42404c4ec\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"NitroEnclaveVerifier\",\n      \"contractAddress\": \"0x5ed42a8eb9e1f0b466047c02156d894968d42ff9\",\n      \"function\": null,\n      \"arguments\": [\n        \"0xb2d9a52e76841279EF0372c534C539a4f68f8C0B\",\n        \"3600\",\n        \"[]\",\n        \"0x641a0321a3e244efe456463195d606317ed7cdcc3c1756e09893f3c68f79bb5b\",\n        \"0x856611eD7E07D83243b15E93f6321f2df6865852\",\n        \"1\",\n        \"(0xce17a683c290c57ff91f00d4c0e6e6ec8aa2f73285af7d81b162327ba96321d6, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x32Db7dc407AC886807277636a1633A1381748DD8)\",\n        \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"gas\": \"0x2fbdc1\",\n        \"value\": \"0x0\",\n        \"input\": \"0x608060405234801561000f575f5ffd5b50604051612cbf380380612cbf83398101604081905261002e9161039c565b866001600160401b03165f0361005757604051635409e3e760e01b815260040160405180910390fd5b600380546001600160401b0319166001600160401b0389161790555f5b86518110156100c457600160025f898481518110610094576100946104c1565b60209081029190910181015182528101919091526040015f20805460ff1916911515919091179055600101610074565b506100ce886100f8565b6100d785610133565b6100e08461016f565b6100eb8383836101e2565b505050505050505061053e565b6001600160a01b0316638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b60048190556040518181527f63f2d4dca4c937ba68e57bbddd2b0a3560e5b497593228dbea7372c127c16dc8906020015b60405180910390a150565b6001600160a01b03811661019557604051629ef5cb60e01b815260040160405180910390fd5b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e2017090602001610164565b8160015f8560028111156101f8576101f86104d5565b6002811115610209576102096104d5565b815260208082019290925260409081015f20835181559183015160018301559190910151600290910180546001600160a01b0319166001600160a01b0390921691909117905581511561028e578060065f85600281111561026c5761026c6104d5565b600281111561027d5761027d6104d5565b815260208101919091526040015f20555b7f8c7491c9018c0b332e7d992d1b37db1a61f4c075cb30e237cc826c52c3166cef8383836040516102c1939291906104e9565b60405180910390a1505050565b80516001600160a01b03811681146102e4575f5ffd5b919050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715610325576103256102e9565b604052919050565b8051600381106102e4575f5ffd5b5f6060828403121561034b575f5ffd5b604051606081016001600160401b038111828210171561036d5761036d6102e9565b6040908152835182526020808501519083015290915081906103909084016102ce565b60408201525092915050565b5f5f5f5f5f5f5f5f610140898b0312156103b4575f5ffd5b6103bd896102ce565b60208a01519098506001600160401b03811681146103d9575f5ffd5b60408a01519097506001600160401b038111156103f4575f5ffd5b8901601f81018b13610404575f5ffd5b80516001600160401b0381111561041d5761041d6102e9565b8060051b61042d602082016102fd565b9182526020818401810192908101908e841115610448575f5ffd5b6020850194505b8385101561046e5784518083526020958601959093509091019061044f565b60608e0151909a50985061048b93505060808c0191506102ce9050565b935061049960a08a0161032d565b92506104a88a60c08b0161033b565b6101209990990151979a96995094979396929591945050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52602160045260245ffd5b60a081016003851061050957634e487b7160e01b5f52602160045260245ffd5b9381528251602080830191909152830151604080830191909152909201516001600160a01b0316606083015260809091015290565b6127748061054b5f395ff3fe6080604052600436106101af575f3560e01c80638cb50c44116100e7578063e3f4769511610087578063f2fde38b11610062578063f2fde38b146104d7578063f8b507c7146104ea578063f9f91b1314610516578063fee81cf41461057c575f5ffd5b8063e3f4769514610486578063ea9e4857146104a5578063f04e283e146104c4575f5ffd5b8063c9569bc3116100c2578063c9569bc3146103de578063cc05c0b31461040a578063d06d558714610429578063dd4a471d14610448575f5ffd5b80638cb50c44146103885780638da5cb5b146103a7578063a12b896a146103bf575f5ffd5b806363cd345611610152578063715018a61161012d578063715018a61461032d5780637221e6fc1461033557806374c183aa1461034a57806386546a4914610369575f5ffd5b806363cd3456146102b657806367451515146102d55780636d114be314610301575f5ffd5b80633a837cc21161018d5780633a837cc21461022657806354d1f13d1461024557806354fd4d501461024d5780635875335714610280575f5ffd5b806325692962146101b357806331b361e0146101bd578063369855e6146101ef575b5f5ffd5b6101bb6105ad565b005b3480156101c8575f5ffd5b506101dc6101d73660046119ac565b6105f9565b6040519081526020015b60405180910390f35b3480156101fa575f5ffd5b5060035461020e906001600160401b031681565b6040516001600160401b0390911681526020016101e6565b348015610231575f5ffd5b506101bb610240366004611a71565b610635565b6101bb61064d565b348015610258575f5ffd5b5060408051808201825260058152640302e312e360dc1b602082015290516101e69190611b28565b34801561028b575f5ffd5b505f5461029e906001600160a01b031681565b6040516001600160a01b0390911681526020016101e6565b3480156102c1575f5ffd5b506101bb6102d0366004611b51565b610686565b3480156102e0575f5ffd5b506102f46102ef3660046119ac565b6107c2565b6040516101e69190611b82565b34801561030c575f5ffd5b5061032061031b366004611bf0565b610853565b6040516101e69190611e04565b6101bb61095a565b348015610340575f5ffd5b506101dc60045481565b348015610355575f5ffd5b506101bb610364366004611e16565b61096d565b348015610374575f5ffd5b506101bb610383366004611e2d565b610981565b348015610393575f5ffd5b506101bb6103a2366004611e16565b610b15565b3480156103b2575f5ffd5b50638b78c6d8195461029e565b3480156103ca575f5ffd5b5061029e6103d9366004611b51565b610ba0565b3480156103e9575f5ffd5b506103fd6103f8366004611bf0565b610c82565b6040516101e69190611e6d565b348015610415575f5ffd5b506101bb610424366004611ed0565b610ecb565b348015610434575f5ffd5b506101bb610443366004611f00565b610ffe565b348015610453575f5ffd5b50610476610462366004611e16565b60026020525f908152604090205460ff1681565b60405190151581526020016101e6565b348015610491575f5ffd5b506101bb6104a0366004611f2f565b61100f565b3480156104b0575f5ffd5b506101bb6104bf366004611f48565b61108f565b6101bb6104d2366004611f00565b611188565b6101bb6104e5366004611f00565b6111c2565b3480156104f5575f5ffd5b50610509610504366004611f70565b6111e8565b6040516101e69190611fdf565b348015610521575f5ffd5b506105586105303660046119ac565b600160208190525f91825260409091208054918101546002909101546001600160a01b031683565b6040805193845260208401929092526001600160a01b0316908201526060016101e6565b348015610587575f5ffd5b506101dc610596366004611f00565b63389a75e1600c9081525f91909152602090205490565b5f6202a3006001600160401b03164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f5fa250565b5f60065f83600281111561060f5761060f611c6f565b600281111561062057610620611c6f565b81526020019081526020015f20549050919050565b61063d611357565b610648838383611371565b505050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f5fa2565b61068e611357565b5f60055f8460028111156106a4576106a4611c6f565b60028111156106b5576106b5611c6f565b815260208082019290925260409081015f9081206001600160e01b0319861682529092529020546001600160a01b0316905061deac1981016107165782826040516253454d60e31b815260040161070d929190612034565b60405180910390fd5b61dead60055f85600281111561072e5761072e611c6f565b600281111561073f5761073f611c6f565b815260208082019290925260409081015f9081206001600160e01b0319871680835293522080546001600160a01b0319166001600160a01b03939093169290921790915583600281111561079557610795611c6f565b6040517fcdce14b5df954ed0ddf4bd33cc38717ee1c46e06a27d69962dd7f03f70c449c4905f90a3505050565b6107ec60405180606001604052805f81526020015f81526020015f6001600160a01b031681525090565b60015f83600281111561080157610801611c6f565b600281111561081257610812611c6f565b815260208082019290925260409081015f20815160608101835281548152600182015493810193909352600201546001600160a01b03169082015292915050565b61085b611943565b5f546001600160a01b031633146108855760405163fe0232c360e01b815260040160405180910390fd5b5f60015f86600281111561089b5761089b611c6f565b60028111156108ac576108ac611c6f565b81526020019081526020015f205f015490506108cc85828989888861145d565b6108d886880188612388565b91506108e3826115a5565b91508460028111156108f7576108f7611c6f565b7f34d71c5db80e3c1db53f6d245503c531894f694aa26c7a967adf77167b126036835f01518460405160200161092d9190611e04565b60408051601f198184030181529082905261094892916123c1565b60405180910390a25095945050505050565b610962611357565b61096b5f6116dd565b565b610975611357565b61097e8161171a565b50565b610989611357565b6001600160a01b0381166109b057604051630e3ba0af60e01b815260040160405180910390fd5b61deac196001600160a01b038216016109dc5760405163043103a360e21b815260040160405180910390fd5b61dead60055f8560028111156109f4576109f4611c6f565b6002811115610a0557610a05611c6f565b815260208082019290925260409081015f9081206001600160e01b0319871682529092529020546001600160a01b031603610a565782826040516253454d60e31b815260040161070d929190612034565b8060055f856002811115610a6c57610a6c611c6f565b6002811115610a7d57610a7d611c6f565b815260208082019290925260409081015f9081206001600160e01b0319871680835293522080546001600160a01b0319166001600160a01b039390931692909217909155836002811115610ad357610ad3611c6f565b6040516001600160a01b03841681527f760c87aaca384c3dc82d5bcce05884a75cf787ef7f7cacaef26a6822b2831dd4906020015b60405180910390a3505050565b610b1d611357565b5f8181526002602052604090205460ff16610b4e57604051630eb0bcc760e31b81526004810182905260240161070d565b5f8181526002602052604090819020805460ff19169055517f49f59bec846fd3588d7d4900a9d7698f294a73043ed6c407d5c2cfa90b8b90d790610b959083815260200190565b60405180910390a150565b5f5f60055f856002811115610bb757610bb7611c6f565b6002811115610bc857610bc8611c6f565b815260208082019290925260409081015f9081206001600160e01b0319871682529092529020546001600160a01b0316905061deac198101610c205783836040516253454d60e31b815260040161070d929190612034565b6001600160a01b038116610c795760015f856002811115610c4357610c43611c6f565b6002811115610c5457610c54611c6f565b815260208101919091526040015f20600201546001600160a01b03169150610c7c9050565b90505b92915050565b5f546060906001600160a01b03163314610caf5760405163fe0232c360e01b815260040160405180910390fd5b5f60015f866002811115610cc557610cc5611c6f565b6002811115610cd657610cd6611c6f565b81526020019081526020015f206001015490505f60015f876002811115610cff57610cff611c6f565b6002811115610d1057610d10611c6f565b81526020019081526020015f205f015490505f60065f886002811115610d3857610d38611c6f565b6002811115610d4957610d49611c6f565b81526020019081526020015f20549050610d6787848b8b8a8a61145d565b5f610d74898b018b6123e0565b80519091508214610da557805160405163086e561f60e21b815261070d918491600401918252602082015260400190565b602081015151806001600160401b03811115610dc357610dc36119cc565b604051908082528060200260200182016040528015610dfc57816020015b610de9611943565b815260200190600190039081610de15790505b5095505f5b81811015610e5457610e2f83602001518281518110610e2257610e226124ce565b60200260200101516115a5565b878281518110610e4157610e416124ce565b6020908102919091010152600101610e01565b50886002811115610e6757610e67611c6f565b7fdfa767ad54931d8d889f34b418a66f09a0bec3406debbd9decbb8ce919c24ffe8588604051602001610e9a9190611e6d565b60408051601f1981840301815290829052610eb592916124e2565b60405180910390a2505050505095945050505050565b610ed3611357565b81610ef1576040516341a463a560e01b815260040160405180910390fd5b8160015f856002811115610f0757610f07611c6f565b6002811115610f1857610f18611c6f565b81526020019081526020015f205f015403610f4a578282604051633cf7da7760e21b815260040161070d9291906124fa565b8160015f856002811115610f6057610f60611c6f565b6002811115610f7157610f71611c6f565b81526020019081526020015f205f01819055508060065f856002811115610f9a57610f9a611c6f565b6002811115610fab57610fab611c6f565b815260208101919091526040015f205581836002811115610fce57610fce611c6f565b6040518381527f51084eb34dac0e8c796b2741ed1a6fed727311fc435b0af0dac30f0581dbce4990602001610b08565b611006611357565b61097e8161174f565b611017611357565b806001600160401b03165f0361104057604051635409e3e760e01b815260040160405180910390fd5b6003805467ffffffffffffffff19166001600160401b0383169081179091556040519081527fc620470b92e1af69c914495bff0725d3f9ddef58f4e3dad2d2e5b2f4bf63f0e390602001610b95565b611097611357565b806110b5576040516341a463a560e01b815260040160405180910390fd5b8060015f8460028111156110cb576110cb611c6f565b60028111156110dc576110dc611c6f565b81526020019081526020015f20600101540361110f578181604051633cf7da7760e21b815260040161070d9291906124fa565b8060015f84600281111561112557611125611c6f565b600281111561113657611136611c6f565b815260208101919091526040015f20600101558082600281111561115c5761115c611c6f565b6040517fa13c7e79c76dcced91cc62c49db73a3a02935aef810eea7b7942625e94bc4070905f90a35050565b611190611357565b63389a75e1600c52805f526020600c2080544211156111b657636f5e88185f526004601cfd5b5f905561097e816116dd565b6111ca611357565b8060601b6111df57637448fbae5f526004601cfd5b61097e816116dd565b60605f826001600160401b03811115611203576112036119cc565b60405190808252806020026020018201604052801561122c578160200160208202803683370190505b506004549091505f5b8481101561134d57365f878784818110611251576112516124ce565b90506020028101906112639190612515565b909250905060018483835f8161127b5761127b6124ce565b90506020020135146112c5578483835f81811061129a5761129a6124ce565b9050602002013560405163e4ac496b60e01b815260040161070d929190918252602082015260400190565b60015b8281101561131b5760025f8585848181106112e5576112e56124ce565b602090810292909201358352508101919091526040015f205460ff161561131b5761131160018361256e565b91506001016112c8565b508086858151811061132f5761132f6124ce565b60ff9290921660209283029190910190910152505050600101611235565b5090949350505050565b638b78c6d81954331461096b576382b429005f526004601cfd5b8160015f85600281111561138757611387611c6f565b600281111561139857611398611c6f565b815260208082019290925260409081015f20835181559183015160018301559190910151600290910180546001600160a01b0319166001600160a01b0390921691909117905581511561141d578060065f8560028111156113fb576113fb611c6f565b600281111561140c5761140c611c6f565b815260208101919091526040015f20555b7f8c7491c9018c0b332e7d992d1b37db1a61f4c075cb30e237cc826c52c3166cef83838360405161145093929190612587565b60405180910390a1505050565b5f6114698784846117c2565b9050600187600281111561147f5761147f611c6f565b0361153657806001600160a01b031663ab750e7584848960028a8a6040516114a89291906125cd565b602060405180830381855afa1580156114c3573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906114e691906125dc565b6040518563ffffffff1660e01b8152600401611505949392919061261b565b5f6040518083038186803b15801561151b575f5ffd5b505afa15801561152d573d5f5f3e3d5ffd5b5050505061159c565b600287600281111561154a5761154a611c6f565b036115835760405163020a49e360e51b81526001600160a01b038216906341493c60906115059089908990899089908990600401612641565b60405163146af65760e21b815260040160405180910390fd5b50505050505050565b6115ad611943565b5f825160038111156115c1576115c1611c6f565b146115ca575090565b816020015160ff165f036115e057506001815290565b5f5b826020015160ff16811015611671575f83606001518281518110611608576116086124ce565b60200260200101519050815f0361164a576004548114611644578360015b9081600381111561163957611639611c6f565b905250929392505050565b50611669565b5f8181526002602052604090205460ff1661166757836002611626565b505b6001016115e2565b505f6103e883604001516116859190612679565b60035490915042906116a0906001600160401b0316836126b2565b6001600160401b03161115806116bf575042816001600160401b031610155b156116cd5750506003815290565b6116d6836118e0565b5090919050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b60048190556040518181527f63f2d4dca4c937ba68e57bbddd2b0a3560e5b497593228dbea7372c127c16dc890602001610b95565b6001600160a01b03811661177557604051629ef5cb60e01b815260040160405180910390fd5b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e2017090602001610b95565b5f806117d160048285876126d1565b6117da916126f8565b90505f60055f8760028111156117f2576117f2611c6f565b600281111561180357611803611c6f565b815260208082019290925260409081015f9081206001600160e01b0319861682529092529020546001600160a01b0316905061deac19810161185b5785826040516253454d60e31b815260040161070d929190612034565b6001600160a01b0381166118ae5760015f87600281111561187e5761187e611c6f565b600281111561188f5761188f611c6f565b815260208101919091526040015f20600201546001600160a01b031690505b6001600160a01b0381166118d75785604051636725e36b60e11b815260040161070d9190612730565b95945050505050565b602081015160ff165b81606001515181101561193f575f8260600151828151811061190d5761190d6124ce565b6020908102919091018101515f908152600290915260409020805460ff191660019081179091559190910190506118e9565b5050565b604080516101208101909152805f81526020015f60ff1681526020015f6001600160401b031681526020016060815260200160608152602001606081526020016060815260200160608152602001606081525090565b8035600381106119a7575f5ffd5b919050565b5f602082840312156119bc575f5ffd5b6119c582611999565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b604080519081016001600160401b0381118282101715611a0257611a026119cc565b60405290565b60405161012081016001600160401b0381118282101715611a0257611a026119cc565b604051601f8201601f191681016001600160401b0381118282101715611a5357611a536119cc565b604052919050565b80356001600160a01b03811681146119a7575f5ffd5b5f5f5f83850360a0811215611a84575f5ffd5b611a8d85611999565b93506060601f1982011215611aa0575f5ffd5b50604051606081016001600160401b0381118282101715611ac357611ac36119cc565b604090815260208681013583529086013590820152611ae460608601611a5b565b6040820152929592945050506080919091013590565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6119c56020830184611afa565b80356001600160e01b0319811681146119a7575f5ffd5b5f5f60408385031215611b62575f5ffd5b611b6b83611999565b9150611b7960208401611b3a565b90509250929050565b81518152602080830151908201526040808301516001600160a01b03169082015260608101610c7c565b5f5f83601f840112611bbc575f5ffd5b5081356001600160401b03811115611bd2575f5ffd5b602083019150836020828501011115611be9575f5ffd5b9250929050565b5f5f5f5f5f60608688031215611c04575f5ffd5b85356001600160401b03811115611c19575f5ffd5b611c2588828901611bac565b9096509450611c38905060208701611999565b925060408601356001600160401b03811115611c52575f5ffd5b611c5e88828901611bac565b969995985093965092949392505050565b634e487b7160e01b5f52602160045260245ffd5b60048110611c9357611c93611c6f565b9052565b5f8151808452602084019350602083015f5b82811015611cc7578151865260209586019590910190600101611ca9565b5093949350505050565b5f8151808452602084019350602083015f5b82811015611cc757815180516001600160401b031687526020908101518051828901528101516001600160801b031916604088015260609096019590910190600101611ce3565b611d35828251611c83565b5f6020820151611d4a602085018260ff169052565b506040820151611d6560408501826001600160401b03169052565b5060608201516101206060850152611d81610120850182611c97565b905060808301518482036080860152611d9a8282611afa565b91505060a083015184820360a0860152611db48282611afa565b91505060c083015184820360c0860152611dce8282611afa565b91505060e083015184820360e0860152611de88282611cd1565b9150506101008301518482036101008601526118d78282611afa565b602081525f6119c56020830184611d2a565b5f60208284031215611e26575f5ffd5b5035919050565b5f5f5f60608486031215611e3f575f5ffd5b611e4884611999565b9250611e5660208501611b3a565b9150611e6460408501611a5b565b90509250925092565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015611ec457603f19878603018452611eaf858351611d2a565b94506020938401939190910190600101611e93565b50929695505050505050565b5f5f5f60608486031215611ee2575f5ffd5b611eeb84611999565b95602085013595506040909401359392505050565b5f60208284031215611f10575f5ffd5b6119c582611a5b565b80356001600160401b03811681146119a7575f5ffd5b5f60208284031215611f3f575f5ffd5b6119c582611f19565b5f5f60408385031215611f59575f5ffd5b611f6283611999565b946020939093013593505050565b5f5f60208385031215611f81575f5ffd5b82356001600160401b03811115611f96575f5ffd5b8301601f81018513611fa6575f5ffd5b80356001600160401b03811115611fbb575f5ffd5b8560208260051b8401011115611fcf575f5ffd5b6020919091019590945092505050565b602080825282518282018190525f918401906040840190835b8181101561201957835160ff16835260209384019390920191600101611ff8565b509095945050505050565b60038110611c9357611c93611c6f565b604081016120428285612024565b63ffffffff60e01b831660208301529392505050565b8035600481106119a7575f5ffd5b803560ff811681146119a7575f5ffd5b5f6001600160401b0382111561208e5761208e6119cc565b5060051b60200190565b5f82601f8301126120a7575f5ffd5b81356120ba6120b582612076565b611a2b565b8082825260208201915060208360051b8601019250858311156120db575f5ffd5b602085015b838110156120f85780358352602092830192016120e0565b5095945050505050565b5f82601f830112612111575f5ffd5b8135602083015f5f6001600160401b03841115612130576121306119cc565b50601f8301601f191660200161214581611a2b565b915050828152858383011115612159575f5ffd5b828260208301375f92810160200192909252509392505050565b5f82601f830112612182575f5ffd5b81356121906120b582612076565b808282526020820191506020606084028601019250858311156121b1575f5ffd5b602085015b838110156120f85780870360608112156121ce575f5ffd5b6121d66119e0565b6121df83611f19565b81526040601f19830112156121f2575f5ffd5b6121fa6119e0565b60208401358152915060408301356001600160801b03198116811461221d575f5ffd5b60208381019190915281810192909252845292909201916060016121b6565b5f610120828403121561224d575f5ffd5b612255611a08565b905061226082612058565b815261226e60208301612066565b602082015261227f60408301611f19565b604082015260608201356001600160401b0381111561229c575f5ffd5b6122a884828501612098565b60608301525060808201356001600160401b038111156122c6575f5ffd5b6122d284828501612102565b60808301525060a08201356001600160401b038111156122f0575f5ffd5b6122fc84828501612102565b60a08301525060c08201356001600160401b0381111561231a575f5ffd5b61232684828501612102565b60c08301525060e08201356001600160401b03811115612344575f5ffd5b61235084828501612173565b60e0830152506101008201356001600160401b0381111561236f575f5ffd5b61237b84828501612102565b6101008301525092915050565b5f60208284031215612398575f5ffd5b81356001600160401b038111156123ad575f5ffd5b6123b98482850161223c565b949350505050565b6123cb8184611c83565b604060208201525f6123b96040830184611afa565b5f602082840312156123f0575f5ffd5b81356001600160401b03811115612405575f5ffd5b820160408185031215612416575f5ffd5b61241e6119e0565b8135815260208201356001600160401b0381111561243a575f5ffd5b80830192505084601f83011261244e575f5ffd5b813561245c6120b582612076565b8082825260208201915060208360051b86010192508783111561247d575f5ffd5b602085015b838110156124bd5780356001600160401b0381111561249f575f5ffd5b6124ae8a6020838a010161223c565b84525060209283019201612482565b506020840152509095945050505050565b634e487b7160e01b5f52603260045260245ffd5b828152604060208201525f6123b96040830184611afa565b604081016125088285612024565b8260208301529392505050565b5f5f8335601e1984360301811261252a575f5ffd5b8301803591506001600160401b03821115612543575f5ffd5b6020019150600581901b3603821315611be9575f5ffd5b634e487b7160e01b5f52601160045260245ffd5b60ff8181168382160190811115610c7c57610c7c61255a565b60a081016125958286612024565b6125bf602083018580518252602080820151908301526040908101516001600160a01b0316910152565b826080830152949350505050565b818382375f9101908152919050565b5f602082840312156125ec575f5ffd5b5051919050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b606081525f61262e6060830186886125f3565b6020830194909452506040015292915050565b858152606060208201525f61265a6060830186886125f3565b828103604084015261266d8185876125f3565b98975050505050505050565b5f6001600160401b0383168061269d57634e487b7160e01b5f52601260045260245ffd5b806001600160401b0384160491505092915050565b6001600160401b038181168382160190811115610c7c57610c7c61255a565b5f5f858511156126df575f5ffd5b838611156126eb575f5ffd5b5050820193919092039150565b80356001600160e01b03198116906004841015612729576001600160e01b0319600485900360031b81901b82161691505b5092915050565b60208101610c7c828461202456fea2646970667358221220b0be530db464e0d66efa25996e5f99d3c1afc8e52606aa2f18756a3cadf514a464736f6c634300081c0033000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b0000000000000000000000000000000000000000000000000000000000000e100000000000000000000000000000000000000000000000000000000000000140641a0321a3e244efe456463195d606317ed7cdcc3c1756e09893f3c68f79bb5b000000000000000000000000856611ed7e07d83243b15e93f6321f2df68658520000000000000000000000000000000000000000000000000000000000000001ce17a683c290c57ff91f00d4c0e6e6ec8aa2f73285af7d81b162327ba96321d6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032db7dc407ac886807277636a1633a1381748dd800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x13\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xa16c06f168dccea6cd55878a494659ce225a7e7eedfde107b84a52171514c5ff\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"NitroEnclaveVerifier\",\n      \"contractAddress\": \"0x5ed42a8eb9e1f0b466047c02156d894968d42ff9\",\n      \"function\": \"addVerifyRoute(uint8,bytes4,address)\",\n      \"arguments\": [\n        \"1\",\n        \"0x242f9d5b\",\n        \"0x5492E1ecd7867AeAd78464EbD5def30F96d462ba\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x5ed42a8eb9e1f0b466047c02156d894968d42ff9\",\n        \"gas\": \"0x1097f\",\n        \"value\": \"0x0\",\n        \"input\": \"0x86546a490000000000000000000000000000000000000000000000000000000000000001242f9d5b000000000000000000000000000000000000000000000000000000000000000000000000000000005492e1ecd7867aead78464ebd5def30f96d462ba\",\n        \"nonce\": \"0x14\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x5cbfe9\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x00b5ff21775f2a77d33f4a7ca389ba1d4316de4a9d689db7c1b6b29cc77f5e2b\",\n      \"transactionIndex\": \"0x15\",\n      \"blockHash\": \"0x95de3773c283be674b2ba523b98e907d12c98fa589ac1de46fd03d95bd2c4c91\",\n      \"blockNumber\": \"0x26b7e3\",\n      \"gasUsed\": \"0xf66b5\",\n      \"effectiveGasPrice\": \"0x180e611\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": null,\n      \"contractAddress\": \"0x5492e1ecd7867aead78464ebd5def30f96d462ba\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x48ae4a\",\n      \"logs\": [\n        {\n          \"address\": \"0x5ed42a8eb9e1f0b466047c02156d894968d42ff9\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xcc40afe76b11b2c4565fda670a8181edd2037d405ad20c1aa2652a8a15c62745\",\n          \"blockNumber\": \"0x26b7e4\",\n          \"blockTimestamp\": \"0x69ce62bc\",\n          \"transactionHash\": \"0x330bb4f6ab6a26aaa97a800799ca62766a28d015aed3fb6c8c1fb0b42404c4ec\",\n          \"transactionIndex\": \"0x1a\",\n          \"logIndex\": \"0x12\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5ed42a8eb9e1f0b466047c02156d894968d42ff9\",\n          \"topics\": [\n            \"0x63f2d4dca4c937ba68e57bbddd2b0a3560e5b497593228dbea7372c127c16dc8\"\n          ],\n          \"data\": \"0x641a0321a3e244efe456463195d606317ed7cdcc3c1756e09893f3c68f79bb5b\",\n          \"blockHash\": \"0xcc40afe76b11b2c4565fda670a8181edd2037d405ad20c1aa2652a8a15c62745\",\n          \"blockNumber\": \"0x26b7e4\",\n          \"blockTimestamp\": \"0x69ce62bc\",\n          \"transactionHash\": \"0x330bb4f6ab6a26aaa97a800799ca62766a28d015aed3fb6c8c1fb0b42404c4ec\",\n          \"transactionIndex\": \"0x1a\",\n          \"logIndex\": \"0x13\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5ed42a8eb9e1f0b466047c02156d894968d42ff9\",\n          \"topics\": [\n            \"0x6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e20170\"\n          ],\n          \"data\": \"0x000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852\",\n          \"blockHash\": \"0xcc40afe76b11b2c4565fda670a8181edd2037d405ad20c1aa2652a8a15c62745\",\n          \"blockNumber\": \"0x26b7e4\",\n          \"blockTimestamp\": \"0x69ce62bc\",\n          \"transactionHash\": \"0x330bb4f6ab6a26aaa97a800799ca62766a28d015aed3fb6c8c1fb0b42404c4ec\",\n          \"transactionIndex\": \"0x1a\",\n          \"logIndex\": \"0x14\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x5ed42a8eb9e1f0b466047c02156d894968d42ff9\",\n          \"topics\": [\n            \"0x8c7491c9018c0b332e7d992d1b37db1a61f4c075cb30e237cc826c52c3166cef\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001ce17a683c290c57ff91f00d4c0e6e6ec8aa2f73285af7d81b162327ba96321d6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032db7dc407ac886807277636a1633a1381748dd80000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xcc40afe76b11b2c4565fda670a8181edd2037d405ad20c1aa2652a8a15c62745\",\n          \"blockNumber\": \"0x26b7e4\",\n          \"blockTimestamp\": \"0x69ce62bc\",\n          \"transactionHash\": \"0x330bb4f6ab6a26aaa97a800799ca62766a28d015aed3fb6c8c1fb0b42404c4ec\",\n          \"transactionIndex\": \"0x1a\",\n          \"logIndex\": \"0x15\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000400000000000000000000000000000100000000802000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001008000000000000020000000000000000000020000000001000000000800000000000000000000000000000000400000000400000000000000000000000000000000000000000000001100000000000008000008000000000000000000000000000000000000000400000000000000000000000800000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000400000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x330bb4f6ab6a26aaa97a800799ca62766a28d015aed3fb6c8c1fb0b42404c4ec\",\n      \"transactionIndex\": \"0x1a\",\n      \"blockHash\": \"0xcc40afe76b11b2c4565fda670a8181edd2037d405ad20c1aa2652a8a15c62745\",\n      \"blockNumber\": \"0x26b7e4\",\n      \"gasUsed\": \"0x24b95a\",\n      \"effectiveGasPrice\": \"0x180e611\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": null,\n      \"contractAddress\": \"0x5ed42a8eb9e1f0b466047c02156d894968d42ff9\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x496e82\",\n      \"logs\": [\n        {\n          \"address\": \"0x5ed42a8eb9e1f0b466047c02156d894968d42ff9\",\n          \"topics\": [\n            \"0x760c87aaca384c3dc82d5bcce05884a75cf787ef7f7cacaef26a6822b2831dd4\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n            \"0x242f9d5b00000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x0000000000000000000000005492e1ecd7867aead78464ebd5def30f96d462ba\",\n          \"blockHash\": \"0xcc40afe76b11b2c4565fda670a8181edd2037d405ad20c1aa2652a8a15c62745\",\n          \"blockNumber\": \"0x26b7e4\",\n          \"blockTimestamp\": \"0x69ce62bc\",\n          \"transactionHash\": \"0xa16c06f168dccea6cd55878a494659ce225a7e7eedfde107b84a52171514c5ff\",\n          \"transactionIndex\": \"0x1b\",\n          \"logIndex\": \"0x16\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000008000040000000000000000000000000000000000000001000000000000000000000000100000000000000000000000000000000000000000000000000000020000000000000000000100000000000001000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000400000000000000000000040000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xa16c06f168dccea6cd55878a494659ce225a7e7eedfde107b84a52171514c5ff\",\n      \"transactionIndex\": \"0x1b\",\n      \"blockHash\": \"0xcc40afe76b11b2c4565fda670a8181edd2037d405ad20c1aa2652a8a15c62745\",\n      \"blockNumber\": \"0x26b7e4\",\n      \"gasUsed\": \"0xc038\",\n      \"effectiveGasPrice\": \"0x180e611\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x5ed42a8eb9e1f0b466047c02156d894968d42ff9\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1775133374708,\n  \"chain\": 560048,\n  \"commit\": \"589455d\"\n}"
  },
  {
    "path": "zeronet/2026-04-01-activate-multiproof/records/SetupNitroEnclaveVerifier.s.sol/560048/run-1775133542995.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x7f7c0ababd79917edba85e9de3679fd8fb12027f77dfaf02ef4709e4e02fa45f\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x5ed42a8eb9e1f0b466047c02156d894968d42ff9\",\n      \"function\": \"setProofSubmitter(address)\",\n      \"arguments\": [\n        \"0xf1d1441B7d98f191f5CFBE4660D3684FEa004AFc\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x5ed42a8eb9e1f0b466047c02156d894968d42ff9\",\n        \"gas\": \"0xac45\",\n        \"value\": \"0x0\",\n        \"input\": \"0xd06d5587000000000000000000000000f1d1441b7d98f191f5cfbe4660d3684fea004afc\",\n        \"nonce\": \"0x23\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xf7d0b3156c30f0147c839173bb12c8129d305ae36c417824c87d6bd4668acc56\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x5ed42a8eb9e1f0b466047c02156d894968d42ff9\",\n      \"function\": \"transferOwnership(address)\",\n      \"arguments\": [\n        \"0x856611eD7E07D83243b15E93f6321f2df6865852\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x5ed42a8eb9e1f0b466047c02156d894968d42ff9\",\n        \"gas\": \"0x99c9\",\n        \"value\": \"0x0\",\n        \"input\": \"0xf2fde38b000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852\",\n        \"nonce\": \"0x24\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x27e457\",\n      \"logs\": [\n        {\n          \"address\": \"0x5ed42a8eb9e1f0b466047c02156d894968d42ff9\",\n          \"topics\": [\n            \"0x6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e20170\"\n          ],\n          \"data\": \"0x000000000000000000000000f1d1441b7d98f191f5cfbe4660d3684fea004afc\",\n          \"blockHash\": \"0xa3c85ed85e19135fa7d673f54e8a3f3038da76f3a1abae7c0062f1c2580b4397\",\n          \"blockNumber\": \"0x26b7f1\",\n          \"blockTimestamp\": \"0x69ce6358\",\n          \"transactionHash\": \"0x7f7c0ababd79917edba85e9de3679fd8fb12027f77dfaf02ef4709e4e02fa45f\",\n          \"transactionIndex\": \"0x8\",\n          \"logIndex\": \"0x16\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000400000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x7f7c0ababd79917edba85e9de3679fd8fb12027f77dfaf02ef4709e4e02fa45f\",\n      \"transactionIndex\": \"0x8\",\n      \"blockHash\": \"0xa3c85ed85e19135fa7d673f54e8a3f3038da76f3a1abae7c0062f1c2580b4397\",\n      \"blockNumber\": \"0x26b7f1\",\n      \"gasUsed\": \"0x75cb\",\n      \"effectiveGasPrice\": \"0x180e611\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x5ed42a8eb9e1f0b466047c02156d894968d42ff9\",\n      \"contractAddress\": null\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1461b0\",\n      \"logs\": [\n        {\n          \"address\": \"0x5ed42a8eb9e1f0b466047c02156d894968d42ff9\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n            \"0x000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x5a60656159305736db02a7d2a4f035bc468553e46afa27d5f763bdc3ef4985cb\",\n          \"blockNumber\": \"0x26b7f2\",\n          \"blockTimestamp\": \"0x69ce6364\",\n          \"transactionHash\": \"0xf7d0b3156c30f0147c839173bb12c8129d305ae36c417824c87d6bd4668acc56\",\n          \"transactionIndex\": \"0x3\",\n          \"logIndex\": \"0xb\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000400000000000000000200000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001008000000000000000000000000000000000000000000001000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000100000000000008000008000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xf7d0b3156c30f0147c839173bb12c8129d305ae36c417824c87d6bd4668acc56\",\n      \"transactionIndex\": \"0x3\",\n      \"blockHash\": \"0x5a60656159305736db02a7d2a4f035bc468553e46afa27d5f763bdc3ef4985cb\",\n      \"blockNumber\": \"0x26b7f2\",\n      \"gasUsed\": \"0x6f57\",\n      \"effectiveGasPrice\": \"0x180e611\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x5ed42a8eb9e1f0b466047c02156d894968d42ff9\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1775133542995,\n  \"chain\": 560048,\n  \"commit\": \"589455d\"\n}"
  },
  {
    "path": "zeronet/2026-04-01-activate-multiproof/script/ActivateMultiproofStack.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\n\nimport {ISystemConfig} from \"interfaces/L1/ISystemConfig.sol\";\nimport {IDisputeGameFactory} from \"interfaces/dispute/IDisputeGameFactory.sol\";\n\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Enum} from \"@base-contracts/script/universal/IGnosisSafe.sol\";\nimport {GameType, Hash, Proposal} from \"@base-contracts/src/dispute/lib/Types.sol\";\nimport {AnchorStateRegistry} from \"@base-contracts/src/dispute/AnchorStateRegistry.sol\";\nimport {DelayedWETH} from \"@base-contracts/src/dispute/DelayedWETH.sol\";\nimport {OptimismPortal2} from \"@base-contracts/src/L1/OptimismPortal2.sol\";\nimport {TEEProverRegistry} from \"@base-contracts/src/multiproof/tee/TEEProverRegistry.sol\";\n\ninterface IProxyAdmin {\n    function upgrade(address proxy, address implementation) external;\n    function upgradeAndCall(address proxy, address implementation, bytes calldata data) external payable;\n}\n\ninterface IProxy {\n    function implementation() external view returns (address);\n}\n\ninterface IDisputeGameFactoryAdmin {\n    function owner() external view returns (address);\n    function gameImpls(GameType gameType) external view returns (address);\n    function initBonds(GameType gameType) external view returns (uint256);\n    function setImplementation(GameType gameType, address impl, bytes calldata args) external;\n    function setInitBond(GameType gameType, uint256 initBond) external;\n}\n\ncontract ActivateMultiproofStack is MultisigScript {\n    address internal ownerSafeEnv;\n    address internal proxyAdminEnv;\n    address internal systemConfigEnv;\n    address internal optimismPortalEnv;\n    address internal disputeGameFactoryProxyEnv;\n    address internal anchorStateRegistryProxyEnv;\n\n    uint32 internal gameTypeEnv;\n    uint256 internal initBondEnv;\n    bytes32 internal startingAnchorRootEnv;\n    uint256 internal startingAnchorL2BlockNumberEnv;\n\n    // TEE registry parameters (used for post-check validation; proxies are initialized\n    // at deploy time in DeployMultiproofStack).\n    address internal teeProverRegistryOwnerEnv;\n    address internal teeProverRegistryManagerEnv;\n    address internal proposerEnv;\n    address internal challengerEnv;\n\n    // Addresses from the facilitator deploy step (addresses.json).\n    address internal newAggregateVerifier;\n    address internal newOptimismPortalImpl;\n    address internal newDgfImpl;\n    address internal newAsrImpl;\n    address internal newTeeProverRegistryImpl;\n    address internal newTeeProverRegistryProxy;\n    address internal newDelayedWethImpl;\n    address internal newDelayedWethProxy;\n\n    function setUp() public {\n        ownerSafeEnv = vm.envAddress(\"PROXY_ADMIN_OWNER\");\n        proxyAdminEnv = vm.envAddress(\"L1_PROXY_ADMIN\");\n        systemConfigEnv = vm.envAddress(\"SYSTEM_CONFIG\");\n        optimismPortalEnv = vm.envAddress(\"OPTIMISM_PORTAL\");\n        disputeGameFactoryProxyEnv = vm.envAddress(\"DISPUTE_GAME_FACTORY_PROXY\");\n        anchorStateRegistryProxyEnv = vm.envAddress(\"ANCHOR_STATE_REGISTRY_PROXY\");\n\n        gameTypeEnv = uint32(vm.envUint(\"GAME_TYPE\"));\n        initBondEnv = vm.envUint(\"INIT_BOND\");\n        startingAnchorRootEnv = vm.envBytes32(\"STARTING_ANCHOR_ROOT\");\n        startingAnchorL2BlockNumberEnv = vm.envUint(\"STARTING_ANCHOR_L2_BLOCK_NUMBER\");\n\n        teeProverRegistryOwnerEnv = vm.envAddress(\"TEE_PROVER_REGISTRY_OWNER\");\n        teeProverRegistryManagerEnv = vm.envAddress(\"TEE_PROVER_REGISTRY_MANAGER\");\n        proposerEnv = vm.envAddress(\"PROPOSER\");\n        challengerEnv = vm.envAddress(\"CHALLENGER\");\n\n        string memory root = vm.projectRoot();\n        string memory path = string.concat(root, \"/addresses.json\");\n        string memory json = vm.readFile(path);\n\n        newAggregateVerifier = vm.parseJsonAddress({json: json, key: \".aggregateVerifier\"});\n        newOptimismPortalImpl = vm.parseJsonAddress({json: json, key: \".optimismPortal2Impl\"});\n        newDgfImpl = vm.parseJsonAddress({json: json, key: \".disputeGameFactoryImpl\"});\n        newAsrImpl = vm.parseJsonAddress({json: json, key: \".anchorStateRegistryImpl\"});\n        newTeeProverRegistryImpl = vm.parseJsonAddress({json: json, key: \".teeProverRegistryImpl\"});\n        newTeeProverRegistryProxy = vm.parseJsonAddress({json: json, key: \".teeProverRegistryProxy\"});\n        newDelayedWethImpl = vm.parseJsonAddress({json: json, key: \".delayedWETHImpl\"});\n        newDelayedWethProxy = vm.parseJsonAddress({json: json, key: \".delayedWETHProxy\"});\n\n        // Sanity-check that the executing Safe holds the roles required by the non-ProxyAdmin calls\n        // that remain in this batch.\n        require(\n            IDisputeGameFactoryAdmin(disputeGameFactoryProxyEnv).owner() == ownerSafeEnv,\n            \"DGF owner != PROXY_ADMIN_OWNER: setImplementation/setInitBond will revert\"\n        );\n        require(\n            ISystemConfig(systemConfigEnv).guardian() == ownerSafeEnv,\n            \"Guardian != PROXY_ADMIN_OWNER: updateRetirementTimestamp will revert\"\n        );\n    }\n\n    /// @dev Builds the ordered batch of calls executed atomically by the owner Safe.\n    ///      Ordering constraints:\n    ///      - Proxy upgrades must precede any call that depends on new impl logic.\n    ///      - The AnchorStateRegistry reinitializer runs before `setImplementation`, but this is\n    ///        still safe because the batch executes atomically and no external caller can observe\n    ///        the intermediate state where the respected game type has been updated before the\n    ///        new DisputeGameFactory implementation is registered.\n    ///      - `updateRetirementTimestamp` retires old games after all wiring is done.\n    ///\n    ///      Note: TEEProverRegistry and DelayedWETH proxies are already initialized at deploy\n    ///      time (in DeployMultiproofStack) and do not require wiring in this batch.\n    ///\n    ///      Call summary:\n    ///      0. Upgrade OptimismPortal2 proxy.\n    ///      1. Upgrade DisputeGameFactory proxy.\n    ///      2. Upgrade + reinitialize AnchorStateRegistry proxy (sets respectedGameType).\n    ///      3. Register AggregateVerifier in the DisputeGameFactory.\n    ///      4. Set the init bond for the multiproof game type.\n    ///      5. Retire pre-cutover games.\n    function _buildCalls() internal view override returns (Call[] memory) {\n        Call[] memory calls = new Call[](6);\n\n        // 0. Upgrade the OptimismPortal2 proxy to the new implementation.\n        calls[0] = Call({\n            operation: Enum.Operation.Call,\n            target: proxyAdminEnv,\n            data: abi.encodeCall(IProxyAdmin.upgrade, (optimismPortalEnv, newOptimismPortalImpl)),\n            value: 0\n        });\n\n        // 1. Upgrade the DisputeGameFactory proxy to the new implementation.\n        calls[1] = Call({\n            operation: Enum.Operation.Call,\n            target: proxyAdminEnv,\n            data: abi.encodeCall(IProxyAdmin.upgrade, (disputeGameFactoryProxyEnv, newDgfImpl)),\n            value: 0\n        });\n\n        // 2. Upgrade the AnchorStateRegistry proxy and reinitialize to seed the starting anchor root,\n        //    wire the DGF dependency, and set the respected game type.\n        calls[2] = Call({\n            operation: Enum.Operation.Call,\n            target: proxyAdminEnv,\n            data: abi.encodeCall(\n                IProxyAdmin.upgradeAndCall,\n                (\n                    anchorStateRegistryProxyEnv,\n                    newAsrImpl,\n                    abi.encodeCall(\n                        AnchorStateRegistry.initialize,\n                        (\n                            ISystemConfig(systemConfigEnv),\n                            IDisputeGameFactory(disputeGameFactoryProxyEnv),\n                            Proposal({\n                                root: Hash.wrap(startingAnchorRootEnv), l2SequenceNumber: startingAnchorL2BlockNumberEnv\n                            }),\n                            GameType.wrap(gameTypeEnv)\n                        )\n                    )\n                )\n            ),\n            value: 0\n        });\n\n        // 3. Register the newly deployed AggregateVerifier as the implementation for the configured multiproof\n        //    game type in the DisputeGameFactory.\n        calls[3] = Call({\n            operation: Enum.Operation.Call,\n            target: disputeGameFactoryProxyEnv,\n            data: abi.encodeCall(\n                IDisputeGameFactoryAdmin.setImplementation, (GameType.wrap(gameTypeEnv), newAggregateVerifier, \"\")\n            ),\n            value: 0\n        });\n\n        // 4. Set the init bond required to create games of the new multiproof type.\n        calls[4] = Call({\n            operation: Enum.Operation.Call,\n            target: disputeGameFactoryProxyEnv,\n            data: abi.encodeCall(IDisputeGameFactoryAdmin.setInitBond, (GameType.wrap(gameTypeEnv), initBondEnv)),\n            value: 0\n        });\n\n        // 5. Retire any pre-cutover games so older disputes cannot remain respected\n        //    after the new multiproof configuration is activated.\n        calls[5] = Call({\n            operation: Enum.Operation.Call,\n            target: anchorStateRegistryProxyEnv,\n            data: abi.encodeCall(AnchorStateRegistry.updateRetirementTimestamp, ()),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal override {\n        _checkProxyUpgrades();\n        _checkAnchorStateRegistry();\n        _checkTeeProverRegistryProxy();\n        _checkDelayedWethProxy();\n        _checkDisputeGameFactory();\n    }\n\n    /// @dev Validates that every existing L1 proxy now points to its new implementation.\n    ///      1. Check that OptimismPortal2 proxy implementation equals the deployed impl.\n    ///      2. Check that DisputeGameFactory proxy implementation equals the deployed impl.\n    ///      3. Check that AnchorStateRegistry proxy implementation equals the deployed impl.\n    function _checkProxyUpgrades() internal {\n        vm.prank(proxyAdminEnv);\n        require(IProxy(optimismPortalEnv).implementation() == newOptimismPortalImpl, \"portal impl mismatch\");\n        vm.prank(proxyAdminEnv);\n        require(IProxy(disputeGameFactoryProxyEnv).implementation() == newDgfImpl, \"dgf impl mismatch\");\n        vm.prank(proxyAdminEnv);\n        require(IProxy(anchorStateRegistryProxyEnv).implementation() == newAsrImpl, \"asr impl mismatch\");\n    }\n\n    /// @dev Validates the AnchorStateRegistry reinitialization and cutover state.\n    ///      1. Check that systemConfig matches the .env value.\n    ///      2. Check that disputeGameFactory matches the .env value.\n    ///      3. Check that startingAnchorRoot matches the .env value.\n    ///      4. Check that the starting L2 sequence number matches the .env value.\n    ///      5. Check that respectedGameType is set to the multiproof game type.\n    ///      6. Check that retirementTimestamp equals block.timestamp.\n    ///      7. Check that OptimismPortal2 still references this ASR proxy.\n    function _checkAnchorStateRegistry() internal view {\n        AnchorStateRegistry asr = AnchorStateRegistry(anchorStateRegistryProxyEnv);\n\n        require(address(asr.systemConfig()) == systemConfigEnv, \"asr system config mismatch\");\n        require(address(asr.disputeGameFactory()) == disputeGameFactoryProxyEnv, \"asr dgf mismatch\");\n\n        Proposal memory startingAnchor = asr.getStartingAnchorRoot();\n        require(Hash.unwrap(startingAnchor.root) == startingAnchorRootEnv, \"anchor root mismatch\");\n        require(startingAnchor.l2SequenceNumber == startingAnchorL2BlockNumberEnv, \"anchor block mismatch\");\n        require(GameType.unwrap(asr.respectedGameType()) == gameTypeEnv, \"respected game type mismatch\");\n        require(asr.retirementTimestamp() == uint64(block.timestamp), \"retirement timestamp mismatch\");\n        require(\n            address(OptimismPortal2(payable(optimismPortalEnv)).anchorStateRegistry()) == anchorStateRegistryProxyEnv,\n            \"portal asr mismatch\"\n        );\n    }\n\n    /// @dev Validates the TEEProverRegistry proxy (initialized at deploy time in DeployMultiproofStack).\n    ///      1. Check that the proxy implementation is set to the deployed impl.\n    ///      2. Check that owner is set to TEE_PROVER_REGISTRY_OWNER.\n    ///      3. Check that manager is set to TEE_PROVER_REGISTRY_MANAGER.\n    ///      4. Check that gameType is set to the multiproof game type.\n    ///      5. Check that PROPOSER is flagged as valid.\n    ///      6. Check that the challenger is flagged as valid.\n    function _checkTeeProverRegistryProxy() internal {\n        vm.prank(proxyAdminEnv);\n        require(\n            IProxy(newTeeProverRegistryProxy).implementation() == newTeeProverRegistryImpl, \"tee registry impl mismatch\"\n        );\n\n        TEEProverRegistry registry = TEEProverRegistry(newTeeProverRegistryProxy);\n        require(registry.owner() == teeProverRegistryOwnerEnv, \"tee registry owner mismatch\");\n        require(registry.manager() == teeProverRegistryManagerEnv, \"tee registry manager mismatch\");\n        require(GameType.unwrap(registry.gameType()) == gameTypeEnv, \"tee registry game type mismatch\");\n        require(registry.isValidProposer(proposerEnv), \"tee registry proposer mismatch\");\n        require(registry.isValidProposer(challengerEnv), \"tee registry challenger mismatch\");\n    }\n\n    /// @dev Validates the DelayedWETH proxy (initialized at deploy time in DeployMultiproofStack).\n    ///      1. Check that the proxy implementation is set to the deployed impl.\n    ///      2. Check that systemConfig is initialized to the existing SystemConfig.\n    function _checkDelayedWethProxy() internal {\n        vm.prank(proxyAdminEnv);\n        require(IProxy(newDelayedWethProxy).implementation() == newDelayedWethImpl, \"delayed weth impl mismatch\");\n        require(\n            address(DelayedWETH(payable(newDelayedWethProxy)).systemConfig()) == systemConfigEnv,\n            \"delayed weth systemConfig mismatch\"\n        );\n    }\n\n    /// @dev Validates the DisputeGameFactory configuration for the new multiproof game type.\n    ///      1. Check that the game implementation is set to the deployed AggregateVerifier.\n    ///      2. Check that the init bond matches the .env value.\n    function _checkDisputeGameFactory() internal view {\n        IDisputeGameFactoryAdmin dgf = IDisputeGameFactoryAdmin(disputeGameFactoryProxyEnv);\n        require(dgf.gameImpls(GameType.wrap(gameTypeEnv)) == newAggregateVerifier, \"game impl mismatch\");\n        require(dgf.initBonds(GameType.wrap(gameTypeEnv)) == initBondEnv, \"init bond mismatch\");\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return ownerSafeEnv;\n    }\n}\n"
  },
  {
    "path": "zeronet/2026-04-01-activate-multiproof/script/DeployCBMulticall.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Script, console} from \"forge-std/Script.sol\";\n\ncontract DeployCBMulticall is Script {\n    bytes32 internal constant SALT = bytes32(uint256(1));\n    address internal constant EXPECTED_CB_MULTICALL = 0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303;\n\n    function run() external {\n        bytes memory initCode = _canonicalInitCode();\n\n        vm.assertEq(\n            vm.computeCreate2Address({salt: SALT, initCodeHash: keccak256(initCode), deployer: CREATE2_FACTORY}),\n            EXPECTED_CB_MULTICALL,\n            \"canonical init code does not map to expected address\"\n        );\n\n        if (EXPECTED_CB_MULTICALL.code.length > 0) {\n            console.log(\"CBMulticall already deployed:\", EXPECTED_CB_MULTICALL);\n            return;\n        }\n\n        vm.startBroadcast();\n        (bool ok,) = CREATE2_FACTORY.call(abi.encodePacked(SALT, initCode));\n        require(ok, \"CREATE2 deploy failed\");\n        vm.stopBroadcast();\n\n        require(EXPECTED_CB_MULTICALL.code.length > 0, \"deployment missing code\");\n        console.log(\"CBMulticall deployed at:\", EXPECTED_CB_MULTICALL);\n    }\n\n    // Canonical CBMulticall initcode verified identical on Ethereum mainnet and Sepolia.\n    // Source: base-contracts CBMulticall.sol compiled with solc 0.8.15.\n    function _canonicalInitCode() internal pure returns (bytes memory) {\n        return hex\"60a060405234801561001057600080fd5b503060805260805161110d610030600039600061085a015261110d6000f3fe60806040526004361061010e5760003560e01c80634d2301cc116100a557806386d516e811610074578063bce38bd711610059578063bce38bd7146102a3578063c3077fa9146102b6578063ee82ac5e146102c957600080fd5b806386d516e814610275578063a8b0574e1461028857600080fd5b80634d2301cc1461020757806372425d9d1461023c57806382ad56cb1461024f578063858cc8321461026257600080fd5b80633408e470116100e15780633408e470146101ac578063399542e9146101bf5780633e64a696146101e157806342cbb15c146101f457600080fd5b80630f28c97d14610113578063174dea7114610135578063252dba421461015557806327e86d6e14610176575b600080fd5b34801561011f57600080fd5b50425b6040519081526020015b60405180910390f35b610148610143366004610cb2565b6102e8565b60405161012c9190610deb565b610168610163366004610cb2565b6104bc565b60405161012c929190610e05565b34801561018257600080fd5b50437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0140610122565b3480156101b857600080fd5b5046610122565b6101d26101cd366004610e8d565b610662565b60405161012c93929190610ee7565b3480156101ed57600080fd5b5048610122565b34801561020057600080fd5b5043610122565b34801561021357600080fd5b50610122610222366004610f0f565b73ffffffffffffffffffffffffffffffffffffffff163190565b34801561024857600080fd5b5044610122565b61014861025d366004610cb2565b61067d565b610148610270366004610cb2565b610841565b34801561028157600080fd5b5045610122565b34801561029457600080fd5b5060405141815260200161012c565b6101486102b1366004610e8d565b610a72565b6101d26102c4366004610cb2565b610c47565b3480156102d557600080fd5b506101226102e4366004610f45565b4090565b6060818067ffffffffffffffff81111561030457610304610f5e565b60405190808252806020026020018201604052801561034a57816020015b6040805180820190915260008152606060208201528152602001906001900390816103225790505b5091503660005b828110156104b35760408051808201909152600081526060602082015286868381811061038057610380610f8d565b90506020028101906103929190610fbc565b925060408301356103a66020850185610f0f565b73ffffffffffffffffffffffffffffffffffffffff16816103ca6060870187610ffa565b6040516103d892919061105f565b60006040518083038185875af1925050503d8060008114610415576040519150601f19603f3d011682016040523d82523d6000602084013e61041a565b606091505b50602080850191909152901515808452908501351761048b577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8186848151811061049e5761049e610f8d565b60209081029190910101525050600101610351565b50505092915050565b436060828067ffffffffffffffff8111156104d9576104d9610f5e565b60405190808252806020026020018201604052801561050c57816020015b60608152602001906001900390816104f75790505b5091503660005b8281101561065857600087878381811061052f5761052f610f8d565b9050602002810190610541919061106f565b92506105506020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff166105736020850185610ffa565b60405161058192919061105f565b6000604051808303816000865af19150503d80600081146105be576040519150601f19603f3d011682016040523d82523d6000602084013e6105c3565b606091505b508684815181106105d6576105d6610f8d565b602090810291909101015290508061064f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064015b60405180910390fd5b50600101610513565b5050509250929050565b4380406060610672868686610a72565b905093509350939050565b6060818067ffffffffffffffff81111561069957610699610f5e565b6040519080825280602002602001820160405280156106df57816020015b6040805180820190915260008152606060208201528152602001906001900390816106b75790505b5091503660005b828110156104b35760408051808201909152600081526060602082015286868381811061071557610715610f8d565b905060200281019061072791906110a3565b92506107366020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff166107596040850185610ffa565b60405161076792919061105f565b6000604051808303816000865af19150503d80600081146107a4576040519150601f19603f3d011682016040523d82523d6000602084013e6107a9565b606091505b50602080840191909152901515808352908401351761081a577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8085838151811061082d5761082d610f8d565b6020908102919091010152506001016106e6565b606073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036108b2576040517fb25caa5100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818067ffffffffffffffff8111156108cc576108cc610f5e565b60405190808252806020026020018201604052801561091257816020015b6040805180820190915260008152606060208201528152602001906001900390816108ea5790505b5091503660005b828110156104b35760408051808201909152600081526060602082015286868381811061094857610948610f8d565b905060200281019061095a91906110a3565b92506109696020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff1661098c6040850185610ffa565b60405161099a92919061105f565b600060405180830381855af49150503d80600081146109d5576040519150601f19603f3d011682016040523d82523d6000602084013e6109da565b606091505b506020808401919091529015158083529084013517610a4b577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b80858381518110610a5e57610a5e610f8d565b602090810291909101015250600101610919565b6060818067ffffffffffffffff811115610a8e57610a8e610f5e565b604051908082528060200260200182016040528015610ad457816020015b604080518082019091526000815260606020820152815260200190600190039081610aac5790505b5091503660005b82811015610c3d57604080518082019091526000815260606020820152868683818110610b0a57610b0a610f8d565b9050602002810190610b1c919061106f565b9250610b2b6020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff16610b4e6020850185610ffa565b604051610b5c92919061105f565b6000604051808303816000865af19150503d8060008114610b99576040519150601f19603f3d011682016040523d82523d6000602084013e610b9e565b606091505b506020830152151581528715610c16578051610c16576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000006044820152606401610646565b80858381518110610c2957610c29610f8d565b602090810291909101015250600101610adb565b5050509392505050565b6000806060610c5860018686610662565b919790965090945092505050565b60008083601f840112610c7857600080fd5b50813567ffffffffffffffff811115610c9057600080fd5b6020830191508360208260051b8501011115610cab57600080fd5b9250929050565b60008060208385031215610cc557600080fd5b823567ffffffffffffffff811115610cdc57600080fd5b610ce885828601610c66565b90969095509350505050565b6000815180845260005b81811015610d1a57602081850181015186830182015201610cfe565b81811115610d2c576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b84811015610dde578583037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001895281518051151584528401516040858501819052610dca81860183610cf4565b9a86019a9450505090830190600101610d7c565b5090979650505050505050565b602081526000610dfe6020830184610d5f565b9392505050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610e7f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0888703018452610e6d868351610cf4565b95509284019290840190600101610e33565b509398975050505050505050565b600080600060408486031215610ea257600080fd5b83358015158114610eb257600080fd5b9250602084013567ffffffffffffffff811115610ece57600080fd5b610eda86828701610c66565b9497909650939450505050565b838152826020820152606060408201526000610f066060830184610d5f565b95945050505050565b600060208284031215610f2157600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610dfe57600080fd5b600060208284031215610f5757600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112610ff057600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261102f57600080fd5b83018035915067ffffffffffffffff82111561104a57600080fd5b602001915036819003821315610cab57600080fd5b8183823760009101908152919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112610ff057600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112610ff057600080fdfea26469706673582212209f691a293497bb27165763d864578342dbe9be7a828bb879a64afb9af27e455564736f6c634300080f0033\";\n    }\n}\n"
  },
  {
    "path": "zeronet/2026-04-01-activate-multiproof/script/DeployMultiproofStack.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Script, console} from \"forge-std/Script.sol\";\n\nimport {IAnchorStateRegistry} from \"interfaces/dispute/IAnchorStateRegistry.sol\";\nimport {IDelayedWETH} from \"interfaces/dispute/IDelayedWETH.sol\";\nimport {IDisputeGameFactory} from \"interfaces/dispute/IDisputeGameFactory.sol\";\nimport {ISystemConfig} from \"interfaces/L1/ISystemConfig.sol\";\nimport {INitroEnclaveVerifier} from \"interfaces/multiproof/tee/INitroEnclaveVerifier.sol\";\n\nimport {GameType} from \"@base-contracts/src/dispute/lib/Types.sol\";\nimport {DelayedWETH} from \"@base-contracts/src/dispute/DelayedWETH.sol\";\nimport {DisputeGameFactory} from \"@base-contracts/src/dispute/DisputeGameFactory.sol\";\nimport {AnchorStateRegistry} from \"@base-contracts/src/dispute/AnchorStateRegistry.sol\";\nimport {OptimismPortal2} from \"@base-contracts/src/L1/OptimismPortal2.sol\";\nimport {TEEProverRegistry} from \"@base-contracts/src/multiproof/tee/TEEProverRegistry.sol\";\nimport {TEEVerifier} from \"@base-contracts/src/multiproof/tee/TEEVerifier.sol\";\nimport {AggregateVerifier} from \"@base-contracts/src/multiproof/AggregateVerifier.sol\";\nimport {MockVerifier} from \"@base-contracts/src/multiproof/mocks/MockVerifier.sol\";\nimport {Proxy} from \"@base-contracts/src/universal/Proxy.sol\";\n\ninterface IProxy {\n    function implementation() external view returns (address);\n}\n\ncontract DeployMultiproofStack is Script {\n    // Existing Hoodi L1 dependencies consumed by the deploy.\n    address internal l1ProxyAdminEnv;\n    address internal anchorStateRegistryProxyEnv;\n    address internal disputeGameFactoryProxyEnv;\n\n    // Multiproof identity and chain-level parameters.\n    uint32 internal gameTypeEnv;\n    bytes32 internal teeImageHashEnv;\n    bytes32 internal zkRangeHashEnv;\n    bytes32 internal zkAggregateHashEnv;\n    bytes32 internal configHashEnv;\n    uint256 internal l2ChainIdEnv;\n    uint256 internal blockIntervalEnv;\n    uint256 internal intermediateBlockIntervalEnv;\n    uint256 internal proofThresholdEnv;\n\n    // Delay / timing parameters for the newly deployed implementations.\n    uint256 internal proofMaturityDelaySecondsEnv;\n    uint256 internal disputeGameFinalityDelaySecondsEnv;\n    uint256 internal delayedWethDelaySecondsEnv;\n\n    // Proxy initialization parameters (TEEProverRegistry + DelayedWETH).\n    address internal systemConfigEnv;\n    address internal teeProverRegistryOwnerEnv;\n    address internal teeProverRegistryManagerEnv;\n    address internal proposerEnv;\n    address internal challengerEnv;\n\n    // Predeployed RISC Zero / Nitro contracts consumed by this task.\n    address public nitroEnclaveVerifier;\n\n    // Freshly deployed contracts / implementations produced by this task.\n    address public teeProverRegistryImpl;\n    address public teeProverRegistryProxy;\n    address public teeVerifier;\n    address public zkVerifier;\n    address public delayedWethImpl;\n    address public delayedWethProxy;\n    address public aggregateVerifier;\n    address public optimismPortal2Impl;\n    address public disputeGameFactoryImpl;\n    address public anchorStateRegistryImpl;\n\n    function setUp() public {\n        // Existing Hoodi L1 dependencies consumed by the deploy.\n        l1ProxyAdminEnv = vm.envAddress(\"L1_PROXY_ADMIN\");\n        anchorStateRegistryProxyEnv = vm.envAddress(\"ANCHOR_STATE_REGISTRY_PROXY\");\n        disputeGameFactoryProxyEnv = vm.envAddress(\"DISPUTE_GAME_FACTORY_PROXY\");\n\n        // Multiproof identity and chain-level parameters.\n        gameTypeEnv = uint32(vm.envUint(\"GAME_TYPE\"));\n        teeImageHashEnv = vm.envBytes32(\"TEE_IMAGE_HASH\");\n        zkRangeHashEnv = vm.envBytes32(\"ZK_RANGE_HASH\");\n        zkAggregateHashEnv = vm.envBytes32(\"ZK_AGGREGATE_HASH\");\n        configHashEnv = vm.envBytes32(\"CONFIG_HASH\");\n        l2ChainIdEnv = vm.envUint(\"L2_CHAIN_ID\");\n        blockIntervalEnv = vm.envUint(\"BLOCK_INTERVAL\");\n        intermediateBlockIntervalEnv = vm.envUint(\"INTERMEDIATE_BLOCK_INTERVAL\");\n        proofThresholdEnv = vm.envUint(\"PROOF_THRESHOLD\");\n\n        // Delay / timing parameters for the newly deployed implementations.\n        proofMaturityDelaySecondsEnv = vm.envUint(\"PROOF_MATURITY_DELAY_SECONDS\");\n        disputeGameFinalityDelaySecondsEnv = vm.envUint(\"DISPUTE_GAME_FINALITY_DELAY_SECONDS\");\n        delayedWethDelaySecondsEnv = vm.envUint(\"DELAYED_WETH_DELAY_SECONDS\");\n\n        // Proxy initialization parameters (TEEProverRegistry + DelayedWETH).\n        systemConfigEnv = vm.envAddress(\"SYSTEM_CONFIG\");\n        teeProverRegistryOwnerEnv = vm.envAddress(\"TEE_PROVER_REGISTRY_OWNER\");\n        teeProverRegistryManagerEnv = vm.envAddress(\"TEE_PROVER_REGISTRY_MANAGER\");\n        proposerEnv = vm.envAddress(\"PROPOSER\");\n        challengerEnv = vm.envAddress(\"CHALLENGER\");\n\n        string memory root = vm.projectRoot();\n        string memory path = string.concat(root, \"/addresses.json\");\n        string memory json = vm.readFile(path);\n        nitroEnclaveVerifier = vm.parseJsonAddress({json: json, key: \".nitroEnclaveVerifier\"});\n    }\n\n    function run() external {\n        vm.startBroadcast();\n\n        // 0. Deploy the TEE prover registry implementation.\n        teeProverRegistryImpl = address(\n            new TEEProverRegistry({\n                nitroVerifier: INitroEnclaveVerifier(nitroEnclaveVerifier),\n                factory: IDisputeGameFactory(disputeGameFactoryProxyEnv)\n            })\n        );\n\n        // 1. Deploy the DelayedWETH implementation.\n        delayedWethImpl = address(new DelayedWETH({_delay: delayedWethDelaySecondsEnv}));\n\n        // 2. Deploy proxies with msg.sender as admin, initialize immediately,\n        //    then transfer admin to the real ProxyAdmin.\n        {\n            // 2a. TEEProverRegistry proxy: deploy, upgradeToAndCall to initialize\n            //     with the configured owner/manager/proposers/gameType, then hand\n            //     the proxy admin to the real ProxyAdmin.\n            address[] memory initialProposers = new address[](2);\n            initialProposers[0] = proposerEnv;\n            initialProposers[1] = challengerEnv;\n\n            Proxy teeProxy = new Proxy(msg.sender);\n            teeProxy.upgradeToAndCall(\n                teeProverRegistryImpl,\n                abi.encodeCall(\n                    TEEProverRegistry.initialize,\n                    (teeProverRegistryOwnerEnv, teeProverRegistryManagerEnv, initialProposers, GameType.wrap(gameTypeEnv))\n                )\n            );\n            teeProxy.changeAdmin(l1ProxyAdminEnv);\n            teeProverRegistryProxy = address(teeProxy);\n        }\n        {\n            // 2b. DelayedWETH proxy: deploy, upgradeToAndCall to initialize with\n            //     the existing SystemConfig, then hand the proxy admin to the real\n            //     ProxyAdmin.\n            Proxy wethProxy = new Proxy(msg.sender);\n            wethProxy.upgradeToAndCall(\n                delayedWethImpl, abi.encodeCall(DelayedWETH.initialize, (ISystemConfig(systemConfigEnv)))\n            );\n            wethProxy.changeAdmin(l1ProxyAdminEnv);\n            delayedWethProxy = address(wethProxy);\n        }\n\n        // 3. Deploy the stateless TEE verifier.\n        teeVerifier = address(\n            new TEEVerifier({\n                teeProverRegistry: TEEProverRegistry(teeProverRegistryProxy),\n                anchorStateRegistry: IAnchorStateRegistry(anchorStateRegistryProxyEnv)\n            })\n        );\n\n        // 4. Deploy the temporary mock ZK verifier used by the AggregateVerifier template.\n        zkVerifier = address(new MockVerifier({anchorStateRegistry: IAnchorStateRegistry(anchorStateRegistryProxyEnv)}));\n\n        // 5. Deploy the multiproof AggregateVerifier template.\n        aggregateVerifier = address(\n            new AggregateVerifier({\n                gameType_: GameType.wrap(gameTypeEnv),\n                anchorStateRegistry_: IAnchorStateRegistry(anchorStateRegistryProxyEnv),\n                delayedWETH: IDelayedWETH(payable(delayedWethProxy)),\n                teeVerifier: TEEVerifier(teeVerifier),\n                zkVerifier: MockVerifier(zkVerifier),\n                teeImageHash: teeImageHashEnv,\n                zkHashes: AggregateVerifier.ZkHashes({rangeHash: zkRangeHashEnv, aggregateHash: zkAggregateHashEnv}),\n                configHash: configHashEnv,\n                l2ChainId: l2ChainIdEnv,\n                blockInterval: blockIntervalEnv,\n                intermediateBlockInterval: intermediateBlockIntervalEnv,\n                proofThreshold: proofThresholdEnv\n            })\n        );\n\n        // 6. Deploy the new implementations for existing L1 proxies.\n        optimismPortal2Impl = address(new OptimismPortal2({_proofMaturityDelaySeconds: proofMaturityDelaySecondsEnv}));\n        disputeGameFactoryImpl = address(new DisputeGameFactory());\n        anchorStateRegistryImpl =\n            address(new AnchorStateRegistry({_disputeGameFinalityDelaySeconds: disputeGameFinalityDelaySecondsEnv}));\n\n        vm.stopBroadcast();\n\n        _postCheck();\n        _writeAddresses();\n    }\n\n    function _postCheck() internal {\n        _checkTeeProverRegistryImpl();\n        _checkTeeProverRegistryProxy();\n        _checkTeeVerifier();\n        _checkMockVerifier();\n        _checkDelayedWethImpl();\n        _checkDelayedWethProxy();\n        _checkAggregateVerifier();\n        _checkUpgradeTargetImpls();\n    }\n\n    /// @dev Validates the TEEProverRegistry **implementation** contract.\n    ///      1. Check that NITRO_VERIFIER points to the deployed NitroEnclaveVerifier.\n    ///      2. Check that DISPUTE_GAME_FACTORY points to the existing DGF proxy.\n    function _checkTeeProverRegistryImpl() internal view {\n        TEEProverRegistry impl = TEEProverRegistry(teeProverRegistryImpl);\n\n        require(address(impl.NITRO_VERIFIER()) == nitroEnclaveVerifier, \"registry nitro verifier mismatch\");\n        require(address(impl.DISPUTE_GAME_FACTORY()) == disputeGameFactoryProxyEnv, \"registry dgf mismatch\");\n    }\n\n    /// @dev Validates the TEEProverRegistry proxy after upgradeToAndCall.\n    ///      1. Check that the proxy implementation is set to the deployed impl.\n    ///      2. Check that owner is set to TEE_PROVER_REGISTRY_OWNER.\n    ///      3. Check that manager is set to TEE_PROVER_REGISTRY_MANAGER.\n    ///      4. Check that gameType is set to the multiproof game type.\n    ///      5. Check that PROPOSER is flagged as valid.\n    ///      6. Check that CHALLENGER is flagged as valid.\n    function _checkTeeProverRegistryProxy() internal {\n        vm.prank(l1ProxyAdminEnv);\n        require(\n            IProxy(teeProverRegistryProxy).implementation() == teeProverRegistryImpl, \"tee registry impl mismatch\"\n        );\n\n        TEEProverRegistry registry = TEEProverRegistry(teeProverRegistryProxy);\n        require(registry.owner() == teeProverRegistryOwnerEnv, \"tee registry owner mismatch\");\n        require(registry.manager() == teeProverRegistryManagerEnv, \"tee registry manager mismatch\");\n        require(GameType.unwrap(registry.gameType()) == gameTypeEnv, \"tee registry game type mismatch\");\n        require(registry.isValidProposer(proposerEnv), \"tee registry proposer mismatch\");\n        require(registry.isValidProposer(challengerEnv), \"tee registry challenger mismatch\");\n    }\n\n    /// @dev Validates the TEEVerifier contract. This is a stateless verifier whose\n    ///      immutables must reference the correct registry proxy and ASR proxy.\n    ///      1. Check that TEE_PROVER_REGISTRY points to the deployed TEEProverRegistry proxy.\n    ///      2. Check that ANCHOR_STATE_REGISTRY points to the existing ASR proxy.\n    function _checkTeeVerifier() internal view {\n        require(\n            address(TEEVerifier(teeVerifier).TEE_PROVER_REGISTRY()) == teeProverRegistryProxy,\n            \"tee verifier registry mismatch\"\n        );\n        require(\n            address(TEEVerifier(teeVerifier).ANCHOR_STATE_REGISTRY()) == anchorStateRegistryProxyEnv,\n            \"tee verifier asr mismatch\"\n        );\n    }\n\n    /// @dev Validates the MockVerifier used as the temporary ZK verifier placeholder.\n    ///      1. Check that ANCHOR_STATE_REGISTRY points to the existing ASR proxy.\n    function _checkMockVerifier() internal view {\n        require(\n            address(MockVerifier(zkVerifier).ANCHOR_STATE_REGISTRY()) == anchorStateRegistryProxyEnv,\n            \"mock verifier asr mismatch\"\n        );\n    }\n\n    /// @dev Validates the DelayedWETH **implementation** contract.\n    ///      1. Check that delay matches DELAYED_WETH_DELAY_SECONDS.\n    function _checkDelayedWethImpl() internal view {\n        require(\n            DelayedWETH(payable(delayedWethImpl)).delay() == delayedWethDelaySecondsEnv, \"delayed weth delay mismatch\"\n        );\n    }\n\n    /// @dev Validates the DelayedWETH proxy after upgradeToAndCall.\n    ///      1. Check that the proxy implementation is set to the deployed impl.\n    ///      2. Check that systemConfig is initialized to the existing SystemConfig.\n    function _checkDelayedWethProxy() internal {\n        vm.prank(l1ProxyAdminEnv);\n        require(IProxy(delayedWethProxy).implementation() == delayedWethImpl, \"delayed weth impl mismatch\");\n        require(\n            address(DelayedWETH(payable(delayedWethProxy)).systemConfig()) == systemConfigEnv,\n            \"delayed weth systemConfig mismatch\"\n        );\n    }\n\n    /// @dev Validates the AggregateVerifier template that the DisputeGameFactory will clone for new games.\n    ///      1. Check that gameType matches the .env value.\n    ///      2. Check that anchorStateRegistry points to the existing ASR proxy.\n    ///      3. Check that DISPUTE_GAME_FACTORY is derived from the ASR's disputeGameFactory().\n    ///      4. Check that DELAYED_WETH points to the deployed DelayedWETH proxy.\n    ///      5. Check that TEE_VERIFIER points to the deployed TEEVerifier.\n    ///      6. Check that ZK_VERIFIER points to the deployed MockVerifier.\n    ///      7. Check that TEE_IMAGE_HASH matches the .env value.\n    ///      8. Check that ZK_RANGE_HASH matches the .env value.\n    ///      9. Check that ZK_AGGREGATE_HASH matches the .env value.\n    ///      10. Check that CONFIG_HASH matches the .env value.\n    ///      11. Check that L2_CHAIN_ID matches the .env value.\n    ///      12. Check that BLOCK_INTERVAL matches the .env value.\n    ///      13. Check that INTERMEDIATE_BLOCK_INTERVAL matches the .env value.\n    ///      14. Check that PROOF_THRESHOLD matches the .env value.\n    function _checkAggregateVerifier() internal view {\n        AggregateVerifier av = AggregateVerifier(aggregateVerifier);\n\n        require(GameType.unwrap(av.gameType()) == gameTypeEnv, \"aggregate game type mismatch\");\n        require(address(av.anchorStateRegistry()) == anchorStateRegistryProxyEnv, \"aggregate asr mismatch\");\n        require(address(av.DISPUTE_GAME_FACTORY()) == disputeGameFactoryProxyEnv, \"aggregate dgf mismatch\");\n        require(address(av.DELAYED_WETH()) == delayedWethProxy, \"aggregate delayed weth mismatch\");\n        require(address(av.TEE_VERIFIER()) == teeVerifier, \"aggregate tee verifier mismatch\");\n        require(address(av.ZK_VERIFIER()) == zkVerifier, \"aggregate zk verifier mismatch\");\n        require(av.TEE_IMAGE_HASH() == teeImageHashEnv, \"aggregate tee image hash mismatch\");\n        require(av.ZK_RANGE_HASH() == zkRangeHashEnv, \"aggregate zk range hash mismatch\");\n        require(av.ZK_AGGREGATE_HASH() == zkAggregateHashEnv, \"aggregate zk aggregate hash mismatch\");\n        require(av.CONFIG_HASH() == configHashEnv, \"aggregate config hash mismatch\");\n        require(av.L2_CHAIN_ID() == l2ChainIdEnv, \"aggregate l2 chain mismatch\");\n        require(av.BLOCK_INTERVAL() == blockIntervalEnv, \"aggregate block interval mismatch\");\n        require(av.INTERMEDIATE_BLOCK_INTERVAL() == intermediateBlockIntervalEnv, \"aggregate intermediate mismatch\");\n        require(av.PROOF_THRESHOLD() == proofThresholdEnv, \"aggregate proof threshold mismatch\");\n    }\n\n    /// @dev Validates the new implementations for the existing L1 proxies.\n    ///      1. Check that OptimismPortal2 proofMaturityDelaySeconds matches the .env value.\n    ///      2. Check that AnchorStateRegistry disputeGameFinalityDelaySeconds matches the .env value.\n    function _checkUpgradeTargetImpls() internal view {\n        require(\n            OptimismPortal2(payable(optimismPortal2Impl)).proofMaturityDelaySeconds() == proofMaturityDelaySecondsEnv,\n            \"portal delay mismatch\"\n        );\n        require(\n            AnchorStateRegistry(anchorStateRegistryImpl).disputeGameFinalityDelaySeconds()\n                == disputeGameFinalityDelaySecondsEnv,\n            \"asr finality delay mismatch\"\n        );\n    }\n\n    function _writeAddresses() internal {\n        // Emit addresses for operator visibility and persist them for the upgrade script.\n        console.log(\"NitroEnclaveVerifier:\", nitroEnclaveVerifier);\n        console.log(\"TEEProverRegistry impl:\", teeProverRegistryImpl);\n        console.log(\"TEEProverRegistry proxy:\", teeProverRegistryProxy);\n        console.log(\"TEEVerifier:\", teeVerifier);\n        console.log(\"Mock ZKVerifier:\", zkVerifier);\n        console.log(\"DelayedWETH impl:\", delayedWethImpl);\n        console.log(\"DelayedWETH proxy:\", delayedWethProxy);\n        console.log(\"AggregateVerifier:\", aggregateVerifier);\n        console.log(\"OptimismPortal2 impl:\", optimismPortal2Impl);\n        console.log(\"DisputeGameFactory impl (no init bump required):\", disputeGameFactoryImpl);\n        console.log(\"AnchorStateRegistry impl:\", anchorStateRegistryImpl);\n\n        _writeAddress({key: \"nitroEnclaveVerifier\", value: nitroEnclaveVerifier});\n        _writeAddress({key: \"teeProverRegistryImpl\", value: teeProverRegistryImpl});\n        _writeAddress({key: \"teeProverRegistryProxy\", value: teeProverRegistryProxy});\n        _writeAddress({key: \"teeVerifier\", value: teeVerifier});\n        _writeAddress({key: \"zkVerifier\", value: zkVerifier});\n        _writeAddress({key: \"delayedWETHImpl\", value: delayedWethImpl});\n        _writeAddress({key: \"delayedWETHProxy\", value: delayedWethProxy});\n        _writeAddress({key: \"aggregateVerifier\", value: aggregateVerifier});\n        _writeAddress({key: \"optimismPortal2Impl\", value: optimismPortal2Impl});\n        _writeAddress({key: \"disputeGameFactoryImpl\", value: disputeGameFactoryImpl});\n        _writeAddress({key: \"anchorStateRegistryImpl\", value: anchorStateRegistryImpl});\n    }\n\n    function _writeAddress(string memory key, address value) internal {\n        vm.writeJson({json: vm.toString(value), path: \"addresses.json\", valueKey: string.concat(\".\", key)});\n    }\n}\n"
  },
  {
    "path": "zeronet/2026-04-01-activate-multiproof/script/DeployNitroVerifier.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\nimport {Script, console} from \"forge-std/Script.sol\";\n\nimport {\n    INitroEnclaveVerifier,\n    ZkCoProcessorConfig,\n    ZkCoProcessorType\n} from \"interfaces/multiproof/tee/INitroEnclaveVerifier.sol\";\n\nimport {IRiscZeroVerifier} from \"lib/risc0-ethereum/contracts/src/IRiscZeroVerifier.sol\";\nimport {RiscZeroSetVerifier, RiscZeroSetVerifierLib} from \"lib/risc0-ethereum/contracts/src/RiscZeroSetVerifier.sol\";\nimport {NitroEnclaveVerifier} from \"@base-contracts/src/multiproof/tee/NitroEnclaveVerifier.sol\";\n\ncontract DeployNitroVerifier is Script {\n    address internal teeProverRegistryOwnerEnv;\n    uint64 internal nitroInitialMaxTimeDiffSecondsEnv;\n    bytes32 internal nitroInitialRootCertEnv;\n    address internal riscZeroVerifierRouterEnv;\n    bytes32 internal riscZeroSetBuilderImageIdEnv;\n    bytes32 internal nitroZkVerifierIdEnv;\n\n    address public riscZeroSetVerifier;\n    address public nitroEnclaveVerifier;\n\n    function setUp() public {\n        teeProverRegistryOwnerEnv = vm.envAddress(\"TEE_PROVER_REGISTRY_OWNER\");\n        nitroInitialMaxTimeDiffSecondsEnv = uint64(vm.envUint(\"NITRO_INITIAL_MAX_TIME_DIFF_SECONDS\"));\n        nitroInitialRootCertEnv = vm.envBytes32(\"NITRO_INITIAL_ROOT_CERT\");\n        riscZeroVerifierRouterEnv = vm.envAddress(\"RISC0_VERIFIER_ROUTER\");\n        riscZeroSetBuilderImageIdEnv = vm.envBytes32(\"RISC0_SET_BUILDER_IMAGE_ID\");\n        nitroZkVerifierIdEnv = vm.envBytes32(\"NITRO_ZK_VERIFIER_ID\");\n    }\n\n    function run() external {\n        bytes32[] memory trustedCerts = new bytes32[](0);\n\n        vm.startBroadcast();\n\n        riscZeroSetVerifier = address(\n            new RiscZeroSetVerifier({\n                verifier: IRiscZeroVerifier(riscZeroVerifierRouterEnv),\n                imageId: riscZeroSetBuilderImageIdEnv,\n                _imageUrl: \"https://gateway.pinata.cloud/ipfs/bafybeicclqbjn5ief3ycqif6wv3n3wr43szv2locrmml5h7d4fkrz4jrum\"\n            })\n        );\n\n        nitroEnclaveVerifier = address(\n            new NitroEnclaveVerifier({\n                owner: msg.sender,\n                initialMaxTimeDiff: nitroInitialMaxTimeDiffSecondsEnv,\n                initializeTrustedCerts: trustedCerts,\n                initialRootCert: nitroInitialRootCertEnv,\n                initialProofSubmitter: teeProverRegistryOwnerEnv,\n                zkCoProcessor: ZkCoProcessorType.RiscZero,\n                config: ZkCoProcessorConfig({\n                    verifierId: nitroZkVerifierIdEnv, aggregatorId: bytes32(0), zkVerifier: riscZeroVerifierRouterEnv\n                }),\n                verifierProofId: bytes32(0)\n            })\n        );\n\n        // Wire the selector-specific route that sends RISC Zero set-inclusion proofs\n        // to the dedicated local RiscZeroSetVerifier. Ownership is retained by msg.sender\n        // so that SetupNitroEnclaveVerifier can call setProofSubmitter after the\n        // TEEProverRegistry proxy is deployed, then transfer ownership to the multisig.\n        NitroEnclaveVerifier(nitroEnclaveVerifier).addVerifyRoute(\n            ZkCoProcessorType.RiscZero,\n            RiscZeroSetVerifierLib.selector(riscZeroSetBuilderImageIdEnv),\n            riscZeroSetVerifier\n        );\n\n        vm.stopBroadcast();\n\n        _postCheck();\n        _writeAddresses();\n    }\n\n    function _postCheck() internal view {\n        _checkRiscZeroSetVerifier();\n        _checkNitroEnclaveVerifier();\n    }\n\n    /// @dev Validates the local RISC Zero set verifier deployment.\n    ///      1. Check that VERIFIER points to the configured external router.\n    ///      2. Check that SELECTOR matches the configured set-builder image ID.\n    function _checkRiscZeroSetVerifier() internal view {\n        RiscZeroSetVerifier setVerifier = RiscZeroSetVerifier(riscZeroSetVerifier);\n        bytes4 setVerifierSelector = RiscZeroSetVerifierLib.selector(riscZeroSetBuilderImageIdEnv);\n\n        require(address(setVerifier.VERIFIER()) == riscZeroVerifierRouterEnv, \"set verifier router mismatch\");\n        require(setVerifier.SELECTOR() == setVerifierSelector, \"set verifier selector mismatch\");\n    }\n\n    /// @dev Validates the NitroEnclaveVerifier deployment after route wiring.\n    ///      Ownership remains with the deployer (msg.sender) at this stage; it will be\n    ///      transferred to TEE_PROVER_REGISTRY_OWNER in SetupNitroEnclaveVerifier after\n    ///      setProofSubmitter is called.\n    ///      1. Check that maxTimeDiff matches NITRO_INITIAL_MAX_TIME_DIFF_SECONDS.\n    ///      2. Check that rootCert matches NITRO_INITIAL_ROOT_CERT.\n    ///      3. Check that proofSubmitter is the temporary owner placeholder.\n    ///      4. Check that the default RISC Zero config points at the external router\n    ///         and configured Nitro verifier image ID.\n    ///      5. Check that the verifier proof ID is zero for the default route.\n    ///      6. Check that the set-verifier selector route now points to the deployed\n    ///         RiscZeroSetVerifier (wired via addVerifyRoute at deploy time).\n    function _checkNitroEnclaveVerifier() internal view {\n        NitroEnclaveVerifier nev = NitroEnclaveVerifier(nitroEnclaveVerifier);\n        bytes4 setVerifierSelector = RiscZeroSetVerifierLib.selector(riscZeroSetBuilderImageIdEnv);\n\n        require(nev.maxTimeDiff() == nitroInitialMaxTimeDiffSecondsEnv, \"nitro max time diff mismatch\");\n        require(nev.rootCert() == nitroInitialRootCertEnv, \"nitro root cert mismatch\");\n        require(nev.proofSubmitter() == teeProverRegistryOwnerEnv, \"nitro placeholder submitter mismatch\");\n\n        ZkCoProcessorConfig memory cfg = nev.getZkConfig(ZkCoProcessorType.RiscZero);\n        require(cfg.verifierId == nitroZkVerifierIdEnv, \"nitro verifier id mismatch\");\n        require(cfg.aggregatorId == bytes32(0), \"nitro aggregator id mismatch\");\n        require(cfg.zkVerifier == riscZeroVerifierRouterEnv, \"nitro router mismatch\");\n        require(nev.getVerifierProofId(ZkCoProcessorType.RiscZero) == bytes32(0), \"nitro verifier proof id mismatch\");\n        require(\n            INitroEnclaveVerifier(nitroEnclaveVerifier).getZkVerifier(ZkCoProcessorType.RiscZero, setVerifierSelector)\n                == riscZeroSetVerifier,\n            \"nitro set-verifier route mismatch\"\n        );\n    }\n\n    function _writeAddresses() internal {\n        console.log(\"RiscZeroSetVerifier:\", riscZeroSetVerifier);\n        console.log(\"NitroEnclaveVerifier:\", nitroEnclaveVerifier);\n        console.log(\"RiscZeroVerifierRouter:\", riscZeroVerifierRouterEnv);\n\n        string memory root = \"root\";\n        string memory json =\n            vm.serializeAddress({objectKey: root, valueKey: \"riscZeroSetVerifier\", value: riscZeroSetVerifier});\n        json = vm.serializeAddress({objectKey: root, valueKey: \"nitroEnclaveVerifier\", value: nitroEnclaveVerifier});\n        json = vm.serializeAddress({\n            objectKey: root, valueKey: \"riscZeroVerifierRouter\", value: riscZeroVerifierRouterEnv\n        });\n        vm.writeJson({json: json, path: \"addresses.json\"});\n    }\n}\n"
  },
  {
    "path": "zeronet/2026-04-01-activate-multiproof/script/SetupNitroEnclaveVerifier.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\nimport {Script, console} from \"forge-std/Script.sol\";\n\nimport {\n    INitroEnclaveVerifier,\n    ZkCoProcessorConfig,\n    ZkCoProcessorType\n} from \"interfaces/multiproof/tee/INitroEnclaveVerifier.sol\";\n\nimport {RiscZeroSetVerifierLib} from \"lib/risc0-ethereum/contracts/src/RiscZeroSetVerifier.sol\";\nimport {NitroEnclaveVerifier} from \"@base-contracts/src/multiproof/tee/NitroEnclaveVerifier.sol\";\n\n/// @title SetupNitroEnclaveVerifier\n/// @notice Executed by the deployer EOA (via Ledger) after DeployMultiproofStack has deployed\n///         the TEEProverRegistry proxy. Sets the proof submitter to the TEEProverRegistry proxy\n///         and transfers NitroEnclaveVerifier ownership to the configured multisig owner.\ncontract SetupNitroEnclaveVerifier is Script {\n    address internal teeProverRegistryOwnerEnv;\n    address internal riscZeroVerifierRouterEnv;\n    bytes32 internal riscZeroSetBuilderImageIdEnv;\n\n    address internal nitroEnclaveVerifier;\n    address internal riscZeroSetVerifier;\n    address internal teeProverRegistryProxy;\n\n    function setUp() public {\n        teeProverRegistryOwnerEnv = vm.envAddress(\"TEE_PROVER_REGISTRY_OWNER\");\n        riscZeroVerifierRouterEnv = vm.envAddress(\"RISC0_VERIFIER_ROUTER\");\n        riscZeroSetBuilderImageIdEnv = vm.envBytes32(\"RISC0_SET_BUILDER_IMAGE_ID\");\n\n        string memory root = vm.projectRoot();\n        string memory path = string.concat(root, \"/addresses.json\");\n        string memory json = vm.readFile(path);\n\n        nitroEnclaveVerifier = vm.parseJsonAddress({json: json, key: \".nitroEnclaveVerifier\"});\n        riscZeroSetVerifier = vm.parseJsonAddress({json: json, key: \".riscZeroSetVerifier\"});\n        teeProverRegistryProxy = vm.parseJsonAddress({json: json, key: \".teeProverRegistryProxy\"});\n    }\n\n    function run() external {\n        vm.startBroadcast();\n\n        // 0. Set the proof submitter to the TEEProverRegistry proxy so the registry\n        //    can submit proofs to the NitroEnclaveVerifier.\n        NitroEnclaveVerifier(nitroEnclaveVerifier).setProofSubmitter(teeProverRegistryProxy);\n\n        // 1. Transfer ownership to the configured multisig owner now that all\n        //    deployer-only configuration is complete.\n        NitroEnclaveVerifier(nitroEnclaveVerifier).transferOwnership(teeProverRegistryOwnerEnv);\n\n        vm.stopBroadcast();\n\n        _postCheck();\n    }\n\n    function _postCheck() internal view {\n        NitroEnclaveVerifier nev = NitroEnclaveVerifier(nitroEnclaveVerifier);\n        bytes4 setVerifierSelector = RiscZeroSetVerifierLib.selector(riscZeroSetBuilderImageIdEnv);\n\n        require(nev.owner() == teeProverRegistryOwnerEnv, \"nitro owner mismatch\");\n        require(nev.proofSubmitter() == teeProverRegistryProxy, \"nitro proof submitter mismatch\");\n        require(\n            INitroEnclaveVerifier(nitroEnclaveVerifier).getZkVerifier(ZkCoProcessorType.RiscZero, setVerifierSelector)\n                == riscZeroSetVerifier,\n            \"nitro set-verifier route mismatch\"\n        );\n    }\n}\n"
  },
  {
    "path": "zeronet/2026-04-01-activate-multiproof/validations/multiproof-cb-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net script/ActivateMultiproofStack.s.sol:ActivateMultiproofStack --sig sign(address[]) [0x856611ed7e07d83243b15e93f6321f2df6865852] --sender 0x931E24B032511d8dD029AedeB44837FAc251f3d8\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net\",\n  \"skipTaskOriginValidation\": true,\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n    \"domainHash\": \"0xc88eae2baaa4c8513a3d87913666de9463f106158aaf8be5cd31588215ccd5c4\",\n    \"messageHash\": \"0x0b0dfe24279a1d6c94ca126289c2fae06b9779e8da9ede07df5a1584772d306e\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"CB Coordinator Safe - Zeronet\",\n      \"address\": \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Zeronet\",\n      \"address\": \"0x856611eD7E07D83243b15E93f6321f2df6865852\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xb233baf9705486af24f17bd743520541ecee77e39560c97844434546e1f231a2\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"DisputeGameFactory - Zeronet\",\n      \"address\": \"0x154972aB98A5e321a9c7aB7677973f1F501a8090\",\n      \"changes\": [\n        {\n          \"key\": \"0x32912047a4c082de3e601c4b381c2aa6252270818a4be33442b17fb41b6cf7d6\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000006ed60b2e1bdc8bcf333e12e716af2bc63bb263d6\",\n          \"description\": \"Updates the multiproof game implementation to the new AggregateVerifier.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x00000000000000000000000074fac1d45b98bae058f8f566201c9a81b85c7d50\",\n          \"after\": \"0x000000000000000000000000c5942bf8039cef74414305a67384c382fb5e0bb4\",\n          \"description\": \"Update address of DisputeGameFactory to new implementation.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xe599aaa2f8fda7c53529cbda86878cc948a0a03183dcb2ecbc676dee91952337\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x00000000000000000000000000000000000000000000000000b1a2bc2ec50000\",\n          \"description\": \"Sets the init bond for the multiproof game type.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Zeronet\",\n      \"address\": \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xc8f0cc10fb3d3155bd917cf66b22e63a82f0dc902bb2df5f9f9b4e2c7ef94042\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Records the CB Signer Safe approval on the coordinator Safe.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"AnchorStateRegistry - Zeronet\",\n      \"address\": \"0x60A6C389F0BC5cE4269A40d9695927bC58700328\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"before\": \"0x00000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea800001\",\n          \"after\": \"0x00000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea800002\",\n          \"description\": \"Runs the AnchorStateRegistry reinitializer for the multiproof cutover.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"before\": \"0xdead000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0xaaada834ea301486fdf3fc2cb72efa2bbee04bccc29af4d03a4bfbf272a2664a\",\n          \"description\": \"Sets the starting anchor root for the new multiproof game type.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x00000000000000000000000000000000000000000000000000000000000867a4\",\n          \"description\": \"Sets the starting anchor L2 block number for the new multiproof game type.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000006\",\n          \"before\": \"0x00000000000000000000000000000000000000000000000069bc78ac00000001\",\n          \"after\": \"0x00000000000000000000000000000000000000000000000069ce6dd80000026d\",\n          \"description\": \"Sets the respected game type to multiproof and updates the packed retirement timestamp slot; small differences are expected because this slot also stores a block.timestamp-derived value.\",\n          \"allowDifference\": true\n        },\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e\",\n          \"after\": \"0x000000000000000000000000144a55c8d46a347cd08204c0327cb411527f846e\",\n          \"description\": \"Update address of AnchorStateRegistry to new implementation.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"OptimismPortal - Zeronet\",\n      \"address\": \"0x7b9fB81a8e041814903C9385B22d88ac303DF699\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x0000000000000000000000007cf803296662e8c72a6c1d6450572209acf7f202\",\n          \"after\": \"0x00000000000000000000000027b8d2d28540b133f9454535867e3b89b78d88b0\",\n          \"description\": \"Update address of OptimismPortal to new implementation.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Zeronet\",\n      \"address\": \"0x856611eD7E07D83243b15E93f6321f2df6865852\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": [],\n  \"taskOriginConfig\": {\n    \"taskCreator\": {\n      \"commonName\": \"baptiste.oueriagli@coinbase.com\"\n    }\n  }\n}"
  },
  {
    "path": "zeronet/2026-04-01-activate-multiproof/validations/multiproof-sc-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net script/ActivateMultiproofStack.s.sol:ActivateMultiproofStack --sig sign(address[]) [0xC4c0aD998B5DfA4CF4B298970F21b9015a5eE7bA] --sender 0x931E24B032511d8dD029AedeB44837FAc251f3d8\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net\",\n  \"skipTaskOriginValidation\": true,\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n    \"domainHash\": \"0x1e2faea9157fbff31d9297595a71e2dedfeb1184207c07bb6bd64f807332a525\",\n    \"messageHash\": \"0x0b0dfe24279a1d6c94ca126289c2fae06b9779e8da9ede07df5a1584772d306e\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"CB Coordinator Safe - Zeronet\",\n      \"address\": \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Security Council Safe - Zeronet\",\n      \"address\": \"0xC4c0aD998B5DfA4CF4B298970F21b9015a5eE7bA\",\n      \"overrides\": [\n        {\n          \"key\": \"0xff9b2ac59c233d31e95bd0ee5c2aca7ee6faea7d5c34703ff31a17054efddc95\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"DisputeGameFactory - Zeronet\",\n      \"address\": \"0x154972aB98A5e321a9c7aB7677973f1F501a8090\",\n      \"changes\": [\n        {\n          \"key\": \"0x32912047a4c082de3e601c4b381c2aa6252270818a4be33442b17fb41b6cf7d6\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000006ed60b2e1bdc8bcf333e12e716af2bc63bb263d6\",\n          \"description\": \"Updates the multiproof game implementation to the new AggregateVerifier.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x00000000000000000000000074fac1d45b98bae058f8f566201c9a81b85c7d50\",\n          \"after\": \"0x000000000000000000000000c5942bf8039cef74414305a67384c382fb5e0bb4\",\n          \"description\": \"Update address of DisputeGameFactory to new implementation.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xe599aaa2f8fda7c53529cbda86878cc948a0a03183dcb2ecbc676dee91952337\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x00000000000000000000000000000000000000000000000000b1a2bc2ec50000\",\n          \"description\": \"Sets the init bond for the multiproof game type.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Coordinator Safe - Zeronet\",\n      \"address\": \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x5c72dc88e0a2e0117b96212ccb7fdb1263929c4844c20ed6a770f8d9e70c6b3e\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Records the Security Council Safe approval on the coordinator Safe.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"AnchorStateRegistry - Zeronet\",\n      \"address\": \"0x60A6C389F0BC5cE4269A40d9695927bC58700328\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"before\": \"0x00000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea800001\",\n          \"after\": \"0x00000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea800002\",\n          \"description\": \"Runs the AnchorStateRegistry reinitializer for the multiproof cutover.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"before\": \"0xdead000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0xaaada834ea301486fdf3fc2cb72efa2bbee04bccc29af4d03a4bfbf272a2664a\",\n          \"description\": \"Sets the starting anchor root for the new multiproof game type.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x00000000000000000000000000000000000000000000000000000000000867a4\",\n          \"description\": \"Sets the starting anchor L2 block number for the new multiproof game type.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000006\",\n          \"before\": \"0x00000000000000000000000000000000000000000000000069bc78ac00000001\",\n          \"after\": \"0x00000000000000000000000000000000000000000000000069ce6e380000026d\",\n          \"description\": \"Sets the respected game type to multiproof and updates the packed retirement timestamp slot; small differences are expected because this slot also stores a block.timestamp-derived value.\",\n          \"allowDifference\": true\n        },\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e\",\n          \"after\": \"0x000000000000000000000000144a55c8d46a347cd08204c0327cb411527f846e\",\n          \"description\": \"Update address of AnchorStateRegistry to new implementation.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"OptimismPortal - Zeronet\",\n      \"address\": \"0x7b9fB81a8e041814903C9385B22d88ac303DF699\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x0000000000000000000000007cf803296662e8c72a6c1d6450572209acf7f202\",\n          \"after\": \"0x00000000000000000000000027b8d2d28540b133f9454535867e3b89b78d88b0\",\n          \"description\": \"Update address of OptimismPortal to new implementation.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Security Council Safe - Zeronet\",\n      \"address\": \"0xC4c0aD998B5DfA4CF4B298970F21b9015a5eE7bA\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": [],\n  \"taskOriginConfig\": {\n    \"taskCreator\": {\n      \"commonName\": \"baptiste.oueriagli@coinbase.com\"\n    }\n  }\n}"
  },
  {
    "path": "zeronet/2026-04-07-upgrade-tee-registry-nitro/FACILITATOR.md",
    "content": "# Facilitator Guide\n\nGuide for facilitators managing this task.\n\n## Deployment prerequisites\n\nBefore collecting signatures, complete all deploy steps:\n\n```bash\ncd contract-deployments\ngit pull\ncd zeronet/2026-04-07-upgrade-tee-registry-nitro\nmake deps\nmake deploy-and-setup\n```\n\n`make deploy-and-setup` performs the EOA-authorized phase:\n\n- runs `DeployAndSetupNitro`:\n  - deploys new `NitroEnclaveVerifier`\n  - sets Nitro routes and proof submitter\n  - transfers Nitro ownership to `TEE_PROVER_REGISTRY_OWNER`\n  - writes initial `addresses.json`\n- runs `DeployTeeProverRegistryImpl`:\n  - deploys new `TEEProverRegistry` implementation\n  - appends `teeProverRegistryImpl` to `addresses.json`\n- runs `DeployAggregateVerifier`:\n  - redeploys `AggregateVerifier` with same immutables as existing one\n  - appends `aggregateVerifier` to `addresses.json`\n\nExpected `addresses.json` keys:\n\n- `nitroEnclaveVerifier`\n- `teeProverRegistryImpl`\n- `aggregateVerifier`\n\n## Generate validation files\n\n```bash\ncd contract-deployments\ngit pull\ncd zeronet/2026-04-07-upgrade-tee-registry-nitro\nmake deps\nmake gen-validation-upgrade-tee-cb\nmake gen-validation-upgrade-tee-sc\n```\n\nThis produces:\n\n- `validations/upgrade-tee-registry-cb-signer.json`\n- `validations/upgrade-tee-registry-sc-signer.json`\n\n## Execute the transaction\n\n### 1. Update repo\n\n```bash\ncd contract-deployments\ngit pull\ncd zeronet/2026-04-07-upgrade-tee-registry-nitro\nmake deps\n```\n\n### 2. Collect signatures for `CB_MULTISIG`\n\nConcatenate all signatures and export as the `SIGNATURES` environment variable:\n\n```bash\nexport SIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"\n```\n\nThen run:\n\n```bash\nSIGNATURES=$SIGNATURES make approve-upgrade-tee-cb\n```\n\n### 3. Collect signatures for `BASE_SECURITY_COUNCIL`\n\nConcatenate all signatures and export as the `SIGNATURES` environment variable:\n\n```bash\nexport SIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"\n```\n\nThen run:\n\n```bash\nSIGNATURES=$SIGNATURES make approve-upgrade-tee-sc\n```\n\n### 4. Execute upgrade batch\n\n```bash\nmake execute-upgrade-tee\n```\n\nPost-checks enforced by script:\n\n- `TEE_PROVER_REGISTRY_PROXY` implementation equals `teeProverRegistryImpl`\n- `TEEProverRegistry(proxy).NITRO_VERIFIER()` equals `nitroEnclaveVerifier`\n- `DisputeGameFactory.gameImpls(gameType)` equals `aggregateVerifier`\n"
  },
  {
    "path": "zeronet/2026-04-07-upgrade-tee-registry-nitro/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\n-include ../.env\ninclude .env\n\nSIGNER_TOOL_PATH = ../../signer-tool\nRPC_URL = $(L1_RPC_URL)\nDEPLOYER = $(shell cast wallet address --ledger --mnemonic-derivation-path $(LEDGER_HD_PATH))\nUPGRADE_TEE_REGISTRY_SCRIPT_NAME = script/UpgradeTeeProverRegistry.s.sol:UpgradeTeeProverRegistry\nUPGRADE_TEE_REGISTRY_CB_SENDER = $(shell cast call $(CB_MULTISIG) \"getOwners()(address[])\" --rpc-url $(L1_RPC_URL) | tr -d '[]' | cut -d',' -f1)\nUPGRADE_TEE_REGISTRY_SC_SENDER = $(shell cast call $(BASE_SECURITY_COUNCIL) \"getOwners()(address[])\" --rpc-url $(L1_RPC_URL) | tr -d '[]' | cut -d',' -f1)\n\n.PHONY: deps\ndeps: task-extra-deps\n\n.PHONY: task-extra-deps\ntask-extra-deps:\n\tforge install --no-git github.com/base/op-enclave@a2d5398f04c3a8e4df929d58ee638ba4a037bfec\n\tforge install --no-git github.com/risc0/risc0-ethereum@a78ac4a52fe9cfa14120c3b496430f0d42e1d8d3\n\tforge install --no-git github.com/succinctlabs/sp1-contracts@22c4a47cd0a388cb4e25b4f2513954e4275c74ca\n\tgit clone --no-checkout https://github.com/OpenZeppelin/openzeppelin-contracts.git lib/openzeppelin-contracts-v5 && \\\n\t\tcd lib/openzeppelin-contracts-v5 && git checkout dbb6104ce834628e473d2173bbc9d47f81a9eec3\n\tgit clone --no-checkout https://github.com/Vectorized/solady.git lib/solady-v0.0.245 && \\\n\t\tcd lib/solady-v0.0.245 && git checkout e0ef35adb0ccd1032794731a995cb599bba7b537\n\n##\n# Deployment and setup (EOA)\n##\n.PHONY: deploy-and-setup\ndeploy-and-setup:\nifndef VERIFIER_API_KEY\n\t$(error VERIFIER_API_KEY is not set)\nendif\n\tforge script --rpc-url $(L1_RPC_URL) script/DeployAndSetupNitro.s.sol:DeployAndSetupNitro \\\n\t\t--ledger --hd-paths $(LEDGER_HD_PATH) --broadcast --verify \\\n\t\t--verifier custom \\\n\t\t--verifier-url \"https://api.etherscan.io/v2/api?chainid=$(L1_CHAIN_ID)\" \\\n\t\t--verifier-api-key $(VERIFIER_API_KEY) \\\n\t\t-vvvv --sender $(DEPLOYER) && \\\n\tforge script --rpc-url $(L1_RPC_URL) script/DeployTeeProverRegistryImpl.s.sol:DeployTeeProverRegistryImpl \\\n\t\t--ledger --hd-paths $(LEDGER_HD_PATH) --broadcast --verify \\\n\t\t--verifier custom \\\n\t\t--verifier-url \"https://api.etherscan.io/v2/api?chainid=$(L1_CHAIN_ID)\" \\\n\t\t--verifier-api-key $(VERIFIER_API_KEY) \\\n\t\t-vvvv --sender $(DEPLOYER) && \\\n\tforge script --rpc-url $(L1_RPC_URL) script/DeployAggregateVerifier.s.sol:DeployAggregateVerifier \\\n\t\t--ledger --hd-paths $(LEDGER_HD_PATH) --broadcast --verify \\\n\t\t--verifier custom \\\n\t\t--verifier-url \"https://api.etherscan.io/v2/api?chainid=$(L1_CHAIN_ID)\" \\\n\t\t--verifier-api-key $(VERIFIER_API_KEY) \\\n\t\t-vvvv --sender $(DEPLOYER)\n\n##\n# Upgrade TEEProverRegistry proxy (multisig)\n##\n.PHONY: gen-validation-upgrade-tee-cb\ngen-validation-upgrade-tee-cb: deps-signer-tool\n\t$(call GEN_VALIDATION,$(UPGRADE_TEE_REGISTRY_SCRIPT_NAME),$(CB_MULTISIG),$(UPGRADE_TEE_REGISTRY_CB_SENDER),upgrade-tee-registry-cb-signer.json,)\n\n.PHONY: gen-validation-upgrade-tee-sc\ngen-validation-upgrade-tee-sc: deps-signer-tool\n\t$(call GEN_VALIDATION,$(UPGRADE_TEE_REGISTRY_SCRIPT_NAME),$(BASE_SECURITY_COUNCIL),$(UPGRADE_TEE_REGISTRY_SC_SENDER),upgrade-tee-registry-sc-signer.json,)\n\n.PHONY: approve-upgrade-tee-cb\napprove-upgrade-tee-cb: SCRIPT_NAME := $(UPGRADE_TEE_REGISTRY_SCRIPT_NAME)\napprove-upgrade-tee-cb:\n\t$(call MULTISIG_APPROVE,$(CB_MULTISIG),$(SIGNATURES))\n\n.PHONY: approve-upgrade-tee-sc\napprove-upgrade-tee-sc: SCRIPT_NAME := $(UPGRADE_TEE_REGISTRY_SCRIPT_NAME)\napprove-upgrade-tee-sc:\n\t$(call MULTISIG_APPROVE,$(BASE_SECURITY_COUNCIL),$(SIGNATURES))\n\n.PHONY: execute-upgrade-tee\nexecute-upgrade-tee: SCRIPT_NAME := $(UPGRADE_TEE_REGISTRY_SCRIPT_NAME)\nexecute-upgrade-tee:\n\t$(call MULTISIG_EXECUTE,0x)\n"
  },
  {
    "path": "zeronet/2026-04-07-upgrade-tee-registry-nitro/README.md",
    "content": "# Upgrade TEEProverRegistry Nitro Pointer\n\nStatus: [EXECUTED](https://hoodi.etherscan.io/tx/0xca03ee8d7bf83e660523910113cb64f75c15baab35777e75bbcb6dc2c8efdd3a)\n\n## Description\n\nThis task upgrades the `TEEProverRegistry` proxy on `zeronet` to a new implementation that points to a newly deployed `NitroEnclaveVerifier` with:\n\n- certificate expiry-aware caching\n- revoker role support\n\nThe task is intentionally split by caller permissions:\n\n- Phase 1: deployer EOA runs 3 scripts in order:\n  - `DeployAndSetupNitro`\n  - `DeployTeeProverRegistryImpl`\n  - `DeployAggregateVerifier`\n- Phase 2: ProxyAdmin owner multisig upgrades the TEE proxy and registers the new AggregateVerifier in the DisputeGameFactory\n\n## Procedure\n\n### Sign task\n\n#### 1. Update repo\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n#### 2. Run signing tool\n\n```bash\ncd contract-deployments\nmake sign-task\n```\n\n#### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\n- Select the correct signer role from the list of available users to sign.\n- After completion, close the signer tool with `Ctrl + C`.\n\n#### 4. Send signature to facilitator\n\nCopy the signature output and send it to the designated facilitator via the agreed communication channel.\n\nFor facilitator instructions, see `FACILITATOR.md`.\n"
  },
  {
    "path": "zeronet/2026-04-07-upgrade-tee-registry-nitro/addresses.json",
    "content": "{\n  \"nitroEnclaveVerifier\": \"0x4e3E30E148E803667913bE97A8ce9EBA39b65563\",\n  \"teeProverRegistryImpl\": \"0xcBb3F44B4378c014Ce7AAa15Bae54B433AC63085\",\n  \"aggregateVerifier\": \"0x016CdB236F103078677AEA6d9287eA9B2f33c872\"\n}"
  },
  {
    "path": "zeronet/2026-04-07-upgrade-tee-registry-nitro/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 200\nauto_detect_solc = true\nevm_version = \"prague\"\nvia-ir = false\nremappings = [\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@base-contracts/=lib/contracts/',\n    '@solady/=lib/solady/src/',\n    '@solady-v0.0.245/=lib/solady-v0.0.245/src/',\n    'forge-std/=lib/forge-std/src/',\n    'interfaces/dispute/=lib/contracts/interfaces/dispute/',\n    'interfaces/L1/=lib/contracts/interfaces/L1/',\n    'interfaces/legacy/=lib/contracts/interfaces/legacy/',\n    'interfaces/multiproof/=lib/contracts/interfaces/multiproof/',\n    'interfaces/universal/=lib/contracts/interfaces/universal/',\n    'src/libraries/=lib/contracts/src/libraries/',\n    'src/dispute/=lib/contracts/src/dispute/',\n    'src/universal/=lib/contracts/src/universal/',\n    'lib/op-enclave/=lib/op-enclave/',\n    'openzeppelin/=lib/risc0-ethereum/lib/openzeppelin-contracts/',\n    '@lib-keccak/=lib/lib-keccak/contracts/lib/',\n    'interfaces/cannon/=lib/contracts/interfaces/cannon/',\n    'src/cannon/=lib/contracts/src/cannon/',\n]\n"
  },
  {
    "path": "zeronet/2026-04-07-upgrade-tee-registry-nitro/records/DeployAggregateVerifier.s.sol/560048/run-1776099026069.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xed199d16f25e9e071c61548574075dfc61bd670d4bb448b948fc89285bf8153b\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"AggregateVerifier\",\n      \"contractAddress\": \"0xec35196ad4aa0be49d6054125bbc66e18dbd3344\",\n      \"function\": null,\n      \"arguments\": [\n        \"621\",\n        \"0x60A6C389F0BC5cE4269A40d9695927bC58700328\",\n        \"0x8fF945fcAd2ca8d66Fa1ba63C70440328Bb14FF3\",\n        \"0x6F3DB1c1F5110b20EfBBCCD13367Bca8898092E6\",\n        \"0x4730CEc510E664838B20B576881702b64651Cc45\",\n        \"0xbcf94c238e15b5e423050df2b6f354ab2c5f3af791d8f862f654a195af9f491e\",\n        \"(0x33870b16176c98af4b2c96f721f9a7fa68ea92f8244618360a1592f5719085d8, 0x00719a15f7d3cb34da5c1caa72bfa7e397fd8f16808bdb958bc6da03999762c7)\",\n        \"0xab64b3118d2d030a3fd3fe3005239a2f332e48848bbedddca9e10df77ac7303e\",\n        \"763360\",\n        \"600\",\n        \"30\",\n        \"1\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"gas\": \"0x3aea17\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6102606040523480156200001257600080fd5b50604051620039fc380380620039fc833981016040819052620000359162000264565b82158062000041575081155b8062000057575062000054828462000345565b15155b15620000845760405163462b853960e11b8152600481018490526024810183905260440160405180910390fd5b8060011415801562000097575080600214155b15620000b65760405163b1016ea760e01b815260040160405180910390fd5b63ffffffff8c16610220526001600160a01b038b1660808190526040805163f2b4e61760e01b8152905163f2b4e617916004808201926020929091908290030181865afa1580156200010c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013291906200035c565b6001600160a01b0390811660a0528a811660c05289811660e0528816610120526101008790528551610140526020860151610160526101808590526101a08490526101c08390526101e08290526102408190526200018f620001c0565b6200019c90602062000399565b620001a990608e620003bb565b6102005250620003ed9a5050505050505050505050565b60006101e0516101c051620001d69190620003d6565b905090565b6001600160a01b0381168114620001f157600080fd5b50565b80516200020181620001db565b919050565b6000604082840312156200021957600080fd5b604080519081016001600160401b03811182821017156200024a57634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b6000806000806000806000806000806000806101a08d8f0312156200028857600080fd5b8c5163ffffffff811681146200029d57600080fd5b9b50620002ad60208e01620001f4565b9a50620002bd60408e01620001f4565b9950620002cd60608e01620001f4565b9850620002dd60808e01620001f4565b975060a08d01519650620002f58e60c08f0162000206565b95506101008d015194506101208d015193506101408d015192506101608d015191506101808d015190509295989b509295989b509295989b565b634e487b7160e01b600052601260045260246000fd5b6000826200035757620003576200032f565b500690565b6000602082840312156200036f57600080fd5b81516200037c81620001db565b9392505050565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615620003b657620003b662000383565b500290565b60008219821115620003d157620003d162000383565b500190565b600082620003e857620003e86200032f565b500490565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161346762000595600039600081816103bf0152610f200152600081816109840152818161144901526120d2015260006110d601526000818161071801528181611941015281816129ee0152612a290152600081816105710152818161137a015281816113b50152611962015260006107f6015260008181610a8301528181612b0c0152612c8901526000818161085e0152612d4101526000818161082a0152612caa0152600081816108e301528181611ba90152612d1001526000818161037d01528181612b2d0152612be901526000818161045e01528181611c3a0152612bba0152600081816109f801528181610c2601528181610cdc015261161d015260006107c20152600081816106a101528181611188015281816112e5015281816114740152818161173201528181611824015281816118cc015281816121330152818161219d0152818161222f01528181612337015281816123ca0152818161245b01526124ee01526134676000f3fe6080604052600436106103345760003560e01c80636dc86e81116101ab5780639ded3952116100f7578063c26783e911610095578063d1ee5e4b1161006f578063d1ee5e4b14610a5a578063d28cb06f14610a71578063e41f96ad14610aa5578063fa24f74314610ac557600080fd5b8063c26783e9146109e6578063cf09e0d014610a1a578063cfcf984b14610a3a57600080fd5b8063b97cb80f116100d1578063b97cb80f1461094d578063bbdc02db1461096d578063bcef3b55146109ae578063bdb337d1146109c357600080fd5b80639ded3952146108d1578063addecc0614610905578063b74df35a1461093857600080fd5b806382ff53a111610164578063908cb80e1161013e578063908cb80e1461084c5780639730163d146108805780639840fd841461089657806399735e32146108bc57600080fd5b806382ff53a1146107b05780638417d3c2146107e457806387d34f161461081857600080fd5b80636dc86e811461070657806370872aa51461073a57806374f8bf321461074f578063786b844b146107645780637a6bc9e11461077957806380f323a71461079a57600080fd5b8063324a13c9116102855780634e95eb58116102235780635c0cba33116101fd5780635c0cba3314610692578063609d3334146106c55780636361506d146106da57806364d12136146106ef57600080fd5b80634e95eb581461061e57806354fd4d501461063457806357da950e1461066257600080fd5b80633fada3fd1161025f5780633fada3fd146105a85780634224b1e7146105c957806342316182146105dc57806349edf35a146105fe57600080fd5b8063324a13c91461054957806335c4377b1461055f57806337b1b2291461059357600080fd5b80631f837574116102f2578063250e69bd116102cc578063250e69bd146104ce57806325fc2ace146104ff5780632810e1d6146105145780632845e5bb1461052957600080fd5b80631f8375741461044c578063200d2ed21461048057806323edb2e0146104ae57600080fd5b8062821de3146103395780630183fd441461036b57806310fbee28146103ad5780631333db2e146103e157806319effeb4146103f85780631ee5d7c814610437575b600080fd5b34801561034557600080fd5b5061034e610ae9565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561037757600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610362565b3480156103b957600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103ed57600080fd5b506103f6610afa565b005b34801561040457600080fd5b5060005461041f90600160401b90046001600160401b031681565b6040516001600160401b039091168152602001610362565b34801561044357600080fd5b5061034e610e08565b34801561045857600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561048c57600080fd5b506000546104a190600160801b900460ff1681565b6040516103629190612f35565b3480156104ba57600080fd5b5060035461034e906001600160a01b031681565b3480156104da57600080fd5b506000546104ef90600160901b900460ff1681565b6040519015158152602001610362565b34801561050b57600080fd5b5060015461039f565b34801561052057600080fd5b506104a1610e3f565b34801561053557600080fd5b5060075461041f906001600160401b031681565b34801561055557600080fd5b5061039f60055481565b34801561056b57600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059f57600080fd5b5061034e611067565b3480156105b457600080fd5b506003546104ef90600160a01b900460ff1681565b6103f66105d7366004612f97565b611073565b3480156105e857600080fd5b506105f1611687565b6040516103629190613030565b34801561060a57600080fd5b5061039f61061936600461304a565b6116a6565b34801561062a57600080fd5b5061039f61010081565b34801561064057600080fd5b506040805180820190915260058152640302e312e360dc1b60208201526105f1565b34801561066e57600080fd5b5060015460025461067d919082565b60408051928352602083019190915201610362565b34801561069e57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061034e565b3480156106d157600080fd5b506105f16116f3565b3480156106e657600080fd5b5061039f611718565b3480156106fb57600080fd5b5061041f6201518081565b34801561071257600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561074657600080fd5b5060025461039f565b34801561075b57600080fd5b5061034e611724565b34801561077057600080fd5b506103f6611730565b34801561078557600080fd5b506003546104ef90600160a81b900460ff1681565b3480156107a657600080fd5b5061039f60045481565b3480156107bc57600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107f057600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561082457600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561085857600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561088c57600080fd5b5061039f611fff81565b3480156108a257600080fd5b5061034e71f90827f1c53a10cb7a02335b17532000293581565b3480156108c857600080fd5b5061039f61192e565b3480156108dd57600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561091157600080fd5b5060075461092690600160401b900460ff1681565b60405160ff9091168152602001610362565b34801561094457600080fd5b5061039f61193a565b34801561095957600080fd5b506103f6610968366004613063565b611986565b34801561097957600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610362565b3480156109ba57600080fd5b5061039f611c9d565b3480156109cf57600080fd5b50600754426001600160401b0390911611156104ef565b3480156109f257600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b348015610a2657600080fd5b5060005461041f906001600160401b031681565b348015610a4657600080fd5b506103f6610a55366004612f97565b611ca9565b348015610a6657600080fd5b5061041f62093a8081565b348015610a7d57600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b348015610ab157600080fd5b506103f6610ac0366004613063565b611ddb565b348015610ad157600080fd5b50610ada6120cb565b604051610362939291906130b3565b6000610af5607461210c565b905090565b600268929eee149b4bd212685403610b1a5763ab143c066000526004601cfd5b600268929eee149b4bd2126855600354600160a81b900460ff1615610b52576040516317bfe5f760e01b815260040160405180910390fd5b6007546001600160401b0390811614610ba657600054600160401b90046001600160401b03166001600160401b0316600003610ba157604051636082930560e11b815260040160405180910390fd5b610be8565b6000546001600160401b0316610bbf90621275006130f7565b6001600160401b0316421015610be8576040516304643c3960e01b815260040160405180910390fd5b600354600160a01b900460ff16610c9d5760035460048054604051637eee288d60e01b81526001600160a01b039384169281019290925260248201527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b158015610c6c57600080fd5b505af1158015610c80573d6000803e3d6000fd5b50506003805460ff60a01b1916600160a01b17905550610df99050565b60038054600160a81b60ff60a81b198216179091556004805460405163f3fef3a360e01b81526001600160a01b039384169281019290925260248201527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b158015610d2257600080fd5b505af1158015610d36573d6000803e3d6000fd5b5050600354600454604051600094506001600160a01b039092169250908381818185875af1925050503d8060008114610d8b576040519150601f19603f3d011682016040523d82523d6000602084013e610d90565b606091505b5050905080610db2576040516383e6cc6b60e01b815260040160405180910390fd5b6003546004546040519081526001600160a01b03909116907f87e12c2565042763daa6bf5842ed2b6447f17f7e28f9a4905fe3959581396ead9060200160405180910390a2505b600168929eee149b4bd2126855565b6000600681805b6001811115610e2057610e20612f1f565b81526020810191909152604001600020546001600160a01b0316919050565b600080600054600160801b900460ff166002811115610e6057610e60612f1f565b14610e7e5760405163f1a9458160e01b815260040160405180910390fd5b6000610e8861212f565b90506000816002811115610e9e57610e9e612f1f565b03610ebc57604051634962835760e11b815260040160405180910390fd5b6001816002811115610ed057610ed0612f1f565b03610eed576000805460ff60801b1916600160801b179055610fe7565b600754426001600160401b039091161115610f1b576040516304643c3960e01b815260040160405180910390fd5b6007547f0000000000000000000000000000000000000000000000000000000000000000600160401b90910460ff161015610f695760405163344de4bf60e01b815260040160405180910390fd5b60055415610fd3576000805460ff60801b1916600160801b1781556001905260066020527f3e5fec24aa4dc4e5aee2e025e51e1392c72a2500577559fae9665c6d52bd6a3154600380546001600160a01b0319166001600160a01b03909216919091179055610fe7565b6000805460ff60801b1916600160811b1790555b600080546fffffffffffffffff00000000000000001916600160401b426001600160401b03160217908190556040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da609161104d91600160801b90910460ff1690612f35565b60405180910390a15050600054600160801b900460ff1690565b6000610af5600061210c565b600054600160881b900460ff161561109d5760405162dc149f60e41b815260040160405180910390fd5b6000602060016110ad8483613122565b6110b7919061313a565b6110c19190613151565b6110cc906020613173565b90506000816110fc7f00000000000000000000000000000000000000000000000000000000000000006040613122565b6111069190613122565b905080361461111d57639824bdab6000526004601cfd5b61112b611128611c9d565b90565b611142600161113861193a565b610619919061313a565b1461118657611154600161113861193a565b61115f611128611c9d565b60405163f33fa6cf60e01b8152600481019290925260248201526044015b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166111b8610ae9565b6001600160a01b0316146112e35760006111d0610ae9565b90506111db81612315565b6111f85760405163346119f760e01b815260040160405180910390fd5b6040518060400160405280611268836001600160a01b031663bcef3b556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111289190613192565b8152602001826001600160a01b03166399735e326040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112cf9190613192565b905280516001556020015160025550611371565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663664ed8306040518163ffffffff1660e01b81526004016040805180830381865afa158015611340573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136491906131ab565b8051600155602001516002555b60025461139f907f000000000000000000000000000000000000000000000000000000000000000090613122565b6113a761192e565b14611404576002546113da907f000000000000000000000000000000000000000000000000000000000000000090613122565b6113e261192e565b60405163043d96bb60e11b81526004810192909252602482015260440161117d565b600080546001600160401b03421671ff000000000000000000ffffffffffffffff1990911617600160881b17905560408051630f27ce5f60e21b8152905163ffffffff7f000000000000000000000000000000000000000000000000000000000000000016916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691633c9f397c916004808201926020929091908290030181865afa1580156114c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e49190613207565b6000805460ff60901b191663ffffffff9290921692909214600160901b02178155600780546001600160401b0367ffffffffffffffff19909116179055848482816115315761153161322d565b919091013560f81c9050600181111561154c5761154c612f1f565b9050600061155e602160018789613243565b6115679161326d565b9050600061157960416021888a613243565b6115829161326d565b905061158e82826125df565b6115d061159e876041818b613243565b856115a7611067565b60015487905b6002546115bb611128611c9d565b6115c361192e565b6115cb611687565b61278f565b6115e1836115dc611067565b61282f565b6115e9611067565b600380546001600160a01b0319166001600160a01b0392831617905534600481815560408051630d0e30db60e41b815290517f00000000000000000000000000000000000000000000000000000000000000009094169363d0e30db0939282810192600092919082900301818588803b15801561166557600080fd5b505af1158015611679573d6000803e3d6000fd5b505050505050505050505050565b6060610af5608861169661193a565b6116a1906020613173565b612912565b60006116b061193a565b82106116cf5760405163a6c661fd60e01b815260040160405180910390fd5b6116ed6116dd836020613173565b6116e8906088613122565b612954565b92915050565b6060610af5605461170261193a565b61170d906020613173565b6116a1906034613122565b6000610af56034612954565b60006006816001610e0f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561178e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b2919061328b565b156117d05760405163379a7ed960e01b815260040160405180910390fd5b600054600160401b90046001600160401b03166001600160401b031660000361180c57604051636082930560e11b815260040160405180910390fd5b604051630314d2b360e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015611873573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611897919061328b565b9050806118b757604051634851bd9b60e01b815260040160405180910390fd5b6040516317cf21a960e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561191857600080fd5b505af1925050508015611929575060015b505b50565b6000610af56054612954565b6000610af57f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000613151565b60008054600160801b900460ff1660028111156119a5576119a5612f1f565b146119c35760405163f1a9458160e01b815260040160405180910390fd5b6000848460008181106119d8576119d861322d565b919091013560f81c905060018111156119f3576119f3612f1f565b90506000600681836001811115611a0c57611a0c612f1f565b6001811115611a1d57611a1d612f1f565b81526020810191909152604001600020546001600160a01b031603611a5757806040516304b045a760e31b815260040161117d91906132ad565b60055415611add576001600554611a6e919061313a565b8314611a8d5760405163a6c661fd60e01b815260040160405180910390fd5b611a96836116a6565b8214611aa6578161115f846116a6565b6001816001811115611aba57611aba612f1f565b14611ad8576040516369ed70ab60e01b815260040160405180910390fd5b611ae7565b611ae78383612974565b6000806000611af5866129c3565b91945092509050611b44611b0c886001818c613243565b8633611b19611128611718565b88888c898e604051602001611b3091815260200190565b60405160208183030381529060405261278f565b611b4d84612a5c565b604080518781526020810187905233917f5a8d9d181e6a59fe5477a50721401b6332a810b9183e15ac62d386379a05a717910160405180910390a26001846001811115611b9c57611b9c612f1f565b03611c1f576005600090557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ece20f366040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611c0257600080fd5b505af1158015611c16573d6000803e3d6000fd5b50505050611c93565b6000846001811115611c3357611c33612f1f565b03611c93577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ece20f366040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561166557600080fd5b5050505050505050565b6000610af56014612954565b60008054600160801b900460ff166002811115611cc857611cc8612f1f565b14611ce65760405163067fe19560e41b815260040160405180910390fd5b600754426001600160401b0390911611611d135760405163df469ccb60e01b815260040160405180910390fd5b600082826000818110611d2857611d2861322d565b919091013560f81c90506001811115611d4357611d43612f1f565b90506000600681836001811115611d5c57611d5c612f1f565b6001811115611d6d57611d6d612f1f565b81526020810191909152604001600020546001600160a01b031614611da757806040516338a094bd60e11b815260040161117d91906132ad565b611dcc611db78360018187613243565b8333611dc4611128611718565b6001546115ad565b611dd6813361282f565b505050565b60008054600160801b900460ff166002811115611dfa57611dfa612f1f565b14611e185760405163f1a9458160e01b815260040160405180910390fd5b611e2130612315565b611e3e576040516357e25a0960e01b815260040160405180910390fd5b6001611e4861212f565b6002811115611e5957611e59612f1f565b03611e775760405163346119f760e01b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8546001600160a01b0316611ecb5760006040516304b045a760e31b815260040161117d91906132ad565b600160005260066020527f3e5fec24aa4dc4e5aee2e025e51e1392c72a2500577559fae9665c6d52bd6a31546001600160a01b031615611f215760016040516338a094bd60e11b815260040161117d91906132ad565b600084846000818110611f3657611f3661322d565b919091013560f81c90506001811115611f5157611f51612f1f565b90506001816001811115611f6757611f67612f1f565b14611f85576040516369ed70ab60e01b815260040160405180910390fd5b611f8f8383612974565b6000806000611f9d866129c3565b91945092509050611fb4611b0c886001818c613243565b3360066000866001811115611fcb57611fcb612f1f565b6001811115611fdc57611fdc612f1f565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001600760088282829054906101000a900460ff1661202d91906132c1565b92506101000a81548160ff021916908360ff16021790555062093a806001600160401b03164261205d9190613122565b6007805467ffffffffffffffff19166001600160401b0392909216919091179055612089866001613122565b60055560405186815233907f7a180232c19fd38c83e493856a42688c477bae7e82039103b2c1ea6a6162e5299060200160405180910390a25050505050505050565b60008060607f00000000000000000000000000000000000000000000000000000000000000006120f9611c9d565b6121016116f3565b925092509250909192565b6000806121213660011981013560f01c900390565b929092013560601c92915050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316612163610ae9565b6001600160a01b03161461230f57600061217b610ae9565b604051631a51a37560e11b81526001600160a01b0380831660048301529192507f0000000000000000000000000000000000000000000000000000000000000000909116906334a346ea90602401602060405180830381865afa1580156121e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061220a919061328b565b8061229a5750604051635958a19360e01b81526001600160a01b0382811660048301527f00000000000000000000000000000000000000000000000000000000000000001690635958a19390602401602060405180830381865afa158015612276573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061229a919061328b565b156122a757600191505090565b806001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061230991906132e6565b91505090565b50600290565b60405163ee658e4560e01b81526001600160a01b0382811660048301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063ee658e4590602401602060405180830381865afa158015612380573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a4919061328b565b801561243557506040516304e50fed60e01b81526001600160a01b0383811660048301527f000000000000000000000000000000000000000000000000000000000000000016906304e50fed90602401602060405180830381865afa158015612411573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612435919061328b565b80156124c85750604051631a51a37560e11b81526001600160a01b0383811660048301527f000000000000000000000000000000000000000000000000000000000000000016906334a346ea90602401602060405180830381865afa1580156124a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124c6919061328b565b155b801561255b5750604051635958a19360e01b81526001600160a01b0383811660048301527f00000000000000000000000000000000000000000000000000000000000000001690635958a19390602401602060405180830381865afa158015612535573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612559919061328b565b155b80156116ed57506001826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c691906132e6565b60028111156125d7576125d7612f1f565b141592915050565b4381106126085760405163096fec2960e21b81526004810182905243602482015260440161117d565b600080612615834361313a565b905061010081116126295782409150612738565b611fff81116127165760008071f90827f1c53a10cb7a02335b1753200029356001600160a01b03168560405160200161266491815260200190565b60408051601f198184030181529082905261267e91613307565b600060405180830381855afa9150503d80600081146126b9576040519150601f19603f3d011682016040523d82523d6000602084013e6126be565b606091505b50915091508115806126d257508051602014155b156126f957604051630f0b8f8160e01b81526004810186905243602482015260440161117d565b8080602001905181019061270d9190613192565b93505050612738565b604051630f0b8f8160e01b81526004810184905243602482015260440161117d565b8161275f57604051630f0b8f8160e01b81526004810184905243602482015260440161117d565b838214612789576040516380b1ae5160e01b8152600481018590526024810183905260440161117d565b50505050565b60018910156127b1576040516309bde33960e01b815260040160405180910390fd5b60008860018111156127c5576127c5612f1f565b036127e0576127db8a8a89898989898989612b01565b612823565b60018860018111156127f4576127f4612f1f565b0361280a576127db8a8a89898989898989612c7e565b6040516369ed70ab60e01b815260040160405180910390fd5b50505050505050505050565b806006600084600181111561284657612846612f1f565b600181111561285757612857612f1f565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001600760088282829054906101000a900460ff166128a891906132c1565b92506101000a81548160ff021916908360ff1602179055506128c8612dc9565b8160018111156128da576128da612f1f565b6040516001600160a01b038316907f62f393acfb3d3425116fe9be7a6509a4b652bda54fdac2df2b7273135ecd58e790600090a35050565b606060006129283660011981013560f01c900390565b905060405191508282528284820160208401378260208301016000815260208101604052505092915050565b6000806129693660011981013560f01c900390565b929092013592915050565b61297c61193a565b821061299b5760405163a6c661fd60e01b815260040160405180910390fd5b806129a5836116a6565b0361192957604051635de57d7360e11b815260040160405180910390fd5b600080808084156129e1576129dc61061960018761313a565b6129e5565b6001545b90506000612a137f000000000000000000000000000000000000000000000000000000000000000087613173565b600254612a209190613122565b90506000612a4e7f0000000000000000000000000000000000000000000000000000000000000000836130f7565b929791965091945092505050565b60066000826001811115612a7257612a72612f1f565b6001811115612a8357612a83612f1f565b81526020810191909152604001600090812080546001600160a01b0319169055600754600160401b900460ff169003612acf5760405163344de4bf60e01b815260040160405180910390fd5b6007805460001960ff600160401b808404821692909201160268ff00000000000000001990911617905561192b612e67565b6000878787878787877f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000604051602001612b6499989796959493929190613323565b6040516020818303038152906040528051906020012090506000888b8b604051602001612b93939291906133a0565b60408051601f198184030181529082905263ab750e7560e01b825291506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ab750e7590612c139084907f00000000000000000000000000000000000000000000000000000000000000009087906004016133cc565b602060405180830381865afa158015612c30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c54919061328b565b612c71576040516309bde33960e01b815260040160405180910390fd5b5050505050505050505050565b6000878787878787877f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000604051602001612ce199989796959493929190613323565b60408051601f1981840301815290829052805160209091012063ab750e7560e01b825291506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ab750e7590612d6b908d908d907f00000000000000000000000000000000000000000000000000000000000000009087906004016133f1565b602060405180830381865afa158015612d88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dac919061328b565b612823576040516309bde33960e01b815260040160405180910390fd5b6000612dd3612ed7565b905067fffffffffffffffe196001600160401b03821601612e0b57506007805467ffffffffffffffff19166001600160401b03179055565b6000612e1782426130f7565b600754909150612e42906001600160401b0380841691166001600160401b0316808218908211021890565b6007805467ffffffffffffffff19166001600160401b03929092169190911790555050565b6000612e71612ed7565b905067fffffffffffffffe196001600160401b03821601612ea957506007805467ffffffffffffffff19166001600160401b03179055565b612eb381426130f7565b6007805467ffffffffffffffff19166001600160401b039290921691909117905550565b6007546000906002600160401b90910460ff1610612ef757506201518090565b600754600160401b900460ff16600103612f13575062093a8090565b506001600160401b0390565b634e487b7160e01b600052602160045260246000fd5b6020810160038310612f4957612f49612f1f565b91905290565b60008083601f840112612f6157600080fd5b5081356001600160401b03811115612f7857600080fd5b602083019150836020828501011115612f9057600080fd5b9250929050565b60008060208385031215612faa57600080fd5b82356001600160401b03811115612fc057600080fd5b612fcc85828601612f4f565b90969095509350505050565b60005b83811015612ff3578181015183820152602001612fdb565b838111156127895750506000910152565b6000815180845261301c816020860160208601612fd8565b601f01601f19169290920160200192915050565b6020815260006130436020830184613004565b9392505050565b60006020828403121561305c57600080fd5b5035919050565b6000806000806060858703121561307957600080fd5b84356001600160401b0381111561308f57600080fd5b61309b87828801612f4f565b90989097506020870135966040013595509350505050565b63ffffffff841681528260208201526060604082015260006130d86060830184613004565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b60006001600160401b03808316818516808303821115613119576131196130e1565b01949350505050565b60008219821115613135576131356130e1565b500190565b60008282101561314c5761314c6130e1565b500390565b60008261316e57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561318d5761318d6130e1565b500290565b6000602082840312156131a457600080fd5b5051919050565b6000604082840312156131bd57600080fd5b604051604081018181106001600160401b03821117156131ed57634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b60006020828403121561321957600080fd5b815163ffffffff8116811461304357600080fd5b634e487b7160e01b600052603260045260246000fd5b6000808585111561325357600080fd5b8386111561326057600080fd5b5050820193919092039150565b803560208310156116ed57600019602084900360031b1b1692915050565b60006020828403121561329d57600080fd5b8151801515811461304357600080fd5b6020810160028310612f4957612f49612f1f565b600060ff821660ff84168060ff038211156132de576132de6130e1565b019392505050565b6000602082840312156132f857600080fd5b81516003811061304357600080fd5b60008251613319818460208701612fd8565b9190910192915050565b6bffffffffffffffffffffffff198a60601b16815288601482015287603482015260006001600160401b0360c01b808960c01b16605484015287605c840152808760c01b16607c840152508451613381816084850160208901612fd8565b90910160848101939093525060a482015260c401979650505050505050565b6bffffffffffffffffffffffff198460601b168152818360148301376000910160140190815292915050565b6060815260006133df6060830186613004565b60208301949094525060400152919050565b606081528360608201528385608083013760006080858301015260006080601f19601f87011683010190508360208301528260408301529594505050505056fea2646970667358221220c61dabdbca300b7376b5f89062eb9d0a1ca9a2863f0019c89374ee2d1f976eaf64736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000026d00000000000000000000000060a6c389f0bc5ce4269a40d9695927bc587003280000000000000000000000008ff945fcad2ca8d66fa1ba63c70440328bb14ff30000000000000000000000006f3db1c1f5110b20efbbccd13367bca8898092e60000000000000000000000004730cec510e664838b20b576881702b64651cc45bcf94c238e15b5e423050df2b6f354ab2c5f3af791d8f862f654a195af9f491e33870b16176c98af4b2c96f721f9a7fa68ea92f8244618360a1592f5719085d800719a15f7d3cb34da5c1caa72bfa7e397fd8f16808bdb958bc6da03999762c7ab64b3118d2d030a3fd3fe3005239a2f332e48848bbedddca9e10df77ac7303e00000000000000000000000000000000000000000000000000000000000ba5e00000000000000000000000000000000000000000000000000000000000000258000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000001\",\n        \"nonce\": \"0x57\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x2d519c\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xed199d16f25e9e071c61548574075dfc61bd670d4bb448b948fc89285bf8153b\",\n      \"transactionIndex\": \"0x0\",\n      \"blockHash\": \"0x9cab25f4f99192f26724f72bb64861c7cd7c7c37a9f10467f97c4f70be3ff97a\",\n      \"blockNumber\": \"0x27d60c\",\n      \"gasUsed\": \"0x2d519c\",\n      \"effectiveGasPrice\": \"0x3b9aca07\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": null,\n      \"contractAddress\": \"0xec35196ad4aa0be49d6054125bbc66e18dbd3344\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1776099026069,\n  \"chain\": 560048,\n  \"commit\": \"5de5158\"\n}"
  },
  {
    "path": "zeronet/2026-04-07-upgrade-tee-registry-nitro/records/DeployAggregateVerifier.s.sol/560048/run-1776283494080.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x7e451a44fc86e6ca5db28da68c94d67a18361a0ce2fb59598bb43e2b781ea20a\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"AggregateVerifier\",\n      \"contractAddress\": \"0x016cdb236f103078677aea6d9287ea9b2f33c872\",\n      \"function\": null,\n      \"arguments\": [\n        \"621\",\n        \"0x60A6C389F0BC5cE4269A40d9695927bC58700328\",\n        \"0x8fF945fcAd2ca8d66Fa1ba63C70440328Bb14FF3\",\n        \"0x6F3DB1c1F5110b20EfBBCCD13367Bca8898092E6\",\n        \"0x4730CEc510E664838B20B576881702b64651Cc45\",\n        \"0xbcf94c238e15b5e423050df2b6f354ab2c5f3af791d8f862f654a195af9f491e\",\n        \"(0x33870b16176c98af4b2c96f721f9a7fa68ea92f8244618360a1592f5719085d8, 0x00719a15f7d3cb34da5c1caa72bfa7e397fd8f16808bdb958bc6da03999762c7)\",\n        \"0xab64b3118d2d030a3fd3fe3005239a2f332e48848bbedddca9e10df77ac7303e\",\n        \"763360\",\n        \"600\",\n        \"30\",\n        \"1\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"gas\": \"0x3aea27\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6102606040523480156200001257600080fd5b50604051620039fc380380620039fc833981016040819052620000359162000264565b82158062000041575081155b8062000057575062000054828462000345565b15155b15620000845760405163462b853960e11b8152600481018490526024810183905260440160405180910390fd5b8060011415801562000097575080600214155b15620000b65760405163b1016ea760e01b815260040160405180910390fd5b63ffffffff8c16610220526001600160a01b038b1660808190526040805163f2b4e61760e01b8152905163f2b4e617916004808201926020929091908290030181865afa1580156200010c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013291906200035c565b6001600160a01b0390811660a0528a811660c05289811660e0528816610120526101008790528551610140526020860151610160526101808590526101a08490526101c08390526101e08290526102408190526200018f620001c0565b6200019c90602062000399565b620001a990608e620003bb565b6102005250620003ed9a5050505050505050505050565b60006101e0516101c051620001d69190620003d6565b905090565b6001600160a01b0381168114620001f157600080fd5b50565b80516200020181620001db565b919050565b6000604082840312156200021957600080fd5b604080519081016001600160401b03811182821017156200024a57634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b6000806000806000806000806000806000806101a08d8f0312156200028857600080fd5b8c5163ffffffff811681146200029d57600080fd5b9b50620002ad60208e01620001f4565b9a50620002bd60408e01620001f4565b9950620002cd60608e01620001f4565b9850620002dd60808e01620001f4565b975060a08d01519650620002f58e60c08f0162000206565b95506101008d015194506101208d015193506101408d015192506101608d015191506101808d015190509295989b509295989b509295989b565b634e487b7160e01b600052601260045260246000fd5b6000826200035757620003576200032f565b500690565b6000602082840312156200036f57600080fd5b81516200037c81620001db565b9392505050565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615620003b657620003b662000383565b500290565b60008219821115620003d157620003d162000383565b500190565b600082620003e857620003e86200032f565b500490565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161346762000595600039600081816103bf0152610f200152600081816109840152818161144901526120d2015260006110d601526000818161071801528181611941015281816129ee0152612a290152600081816105710152818161137a015281816113b50152611962015260006107f6015260008181610a8301528181612b0c0152612c8901526000818161085e0152612d4101526000818161082a0152612caa0152600081816108e301528181611ba90152612d1001526000818161037d01528181612b2d0152612be901526000818161045e01528181611c3a0152612bba0152600081816109f801528181610c2601528181610cdc015261161d015260006107c20152600081816106a101528181611188015281816112e5015281816114740152818161173201528181611824015281816118cc015281816121330152818161219d0152818161222f01528181612337015281816123ca0152818161245b01526124ee01526134676000f3fe6080604052600436106103345760003560e01c80636dc86e81116101ab5780639ded3952116100f7578063c26783e911610095578063d1ee5e4b1161006f578063d1ee5e4b14610a5a578063d28cb06f14610a71578063e41f96ad14610aa5578063fa24f74314610ac557600080fd5b8063c26783e9146109e6578063cf09e0d014610a1a578063cfcf984b14610a3a57600080fd5b8063b97cb80f116100d1578063b97cb80f1461094d578063bbdc02db1461096d578063bcef3b55146109ae578063bdb337d1146109c357600080fd5b80639ded3952146108d1578063addecc0614610905578063b74df35a1461093857600080fd5b806382ff53a111610164578063908cb80e1161013e578063908cb80e1461084c5780639730163d146108805780639840fd841461089657806399735e32146108bc57600080fd5b806382ff53a1146107b05780638417d3c2146107e457806387d34f161461081857600080fd5b80636dc86e811461070657806370872aa51461073a57806374f8bf321461074f578063786b844b146107645780637a6bc9e11461077957806380f323a71461079a57600080fd5b8063324a13c9116102855780634e95eb58116102235780635c0cba33116101fd5780635c0cba3314610692578063609d3334146106c55780636361506d146106da57806364d12136146106ef57600080fd5b80634e95eb581461061e57806354fd4d501461063457806357da950e1461066257600080fd5b80633fada3fd1161025f5780633fada3fd146105a85780634224b1e7146105c957806342316182146105dc57806349edf35a146105fe57600080fd5b8063324a13c91461054957806335c4377b1461055f57806337b1b2291461059357600080fd5b80631f837574116102f2578063250e69bd116102cc578063250e69bd146104ce57806325fc2ace146104ff5780632810e1d6146105145780632845e5bb1461052957600080fd5b80631f8375741461044c578063200d2ed21461048057806323edb2e0146104ae57600080fd5b8062821de3146103395780630183fd441461036b57806310fbee28146103ad5780631333db2e146103e157806319effeb4146103f85780631ee5d7c814610437575b600080fd5b34801561034557600080fd5b5061034e610ae9565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561037757600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610362565b3480156103b957600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103ed57600080fd5b506103f6610afa565b005b34801561040457600080fd5b5060005461041f90600160401b90046001600160401b031681565b6040516001600160401b039091168152602001610362565b34801561044357600080fd5b5061034e610e08565b34801561045857600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561048c57600080fd5b506000546104a190600160801b900460ff1681565b6040516103629190612f35565b3480156104ba57600080fd5b5060035461034e906001600160a01b031681565b3480156104da57600080fd5b506000546104ef90600160901b900460ff1681565b6040519015158152602001610362565b34801561050b57600080fd5b5060015461039f565b34801561052057600080fd5b506104a1610e3f565b34801561053557600080fd5b5060075461041f906001600160401b031681565b34801561055557600080fd5b5061039f60055481565b34801561056b57600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059f57600080fd5b5061034e611067565b3480156105b457600080fd5b506003546104ef90600160a01b900460ff1681565b6103f66105d7366004612f97565b611073565b3480156105e857600080fd5b506105f1611687565b6040516103629190613030565b34801561060a57600080fd5b5061039f61061936600461304a565b6116a6565b34801561062a57600080fd5b5061039f61010081565b34801561064057600080fd5b506040805180820190915260058152640302e312e360dc1b60208201526105f1565b34801561066e57600080fd5b5060015460025461067d919082565b60408051928352602083019190915201610362565b34801561069e57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061034e565b3480156106d157600080fd5b506105f16116f3565b3480156106e657600080fd5b5061039f611718565b3480156106fb57600080fd5b5061041f6201518081565b34801561071257600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561074657600080fd5b5060025461039f565b34801561075b57600080fd5b5061034e611724565b34801561077057600080fd5b506103f6611730565b34801561078557600080fd5b506003546104ef90600160a81b900460ff1681565b3480156107a657600080fd5b5061039f60045481565b3480156107bc57600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107f057600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561082457600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561085857600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561088c57600080fd5b5061039f611fff81565b3480156108a257600080fd5b5061034e71f90827f1c53a10cb7a02335b17532000293581565b3480156108c857600080fd5b5061039f61192e565b3480156108dd57600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561091157600080fd5b5060075461092690600160401b900460ff1681565b60405160ff9091168152602001610362565b34801561094457600080fd5b5061039f61193a565b34801561095957600080fd5b506103f6610968366004613063565b611986565b34801561097957600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610362565b3480156109ba57600080fd5b5061039f611c9d565b3480156109cf57600080fd5b50600754426001600160401b0390911611156104ef565b3480156109f257600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b348015610a2657600080fd5b5060005461041f906001600160401b031681565b348015610a4657600080fd5b506103f6610a55366004612f97565b611ca9565b348015610a6657600080fd5b5061041f62093a8081565b348015610a7d57600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b348015610ab157600080fd5b506103f6610ac0366004613063565b611ddb565b348015610ad157600080fd5b50610ada6120cb565b604051610362939291906130b3565b6000610af5607461210c565b905090565b600268929eee149b4bd212685403610b1a5763ab143c066000526004601cfd5b600268929eee149b4bd2126855600354600160a81b900460ff1615610b52576040516317bfe5f760e01b815260040160405180910390fd5b6007546001600160401b0390811614610ba657600054600160401b90046001600160401b03166001600160401b0316600003610ba157604051636082930560e11b815260040160405180910390fd5b610be8565b6000546001600160401b0316610bbf90621275006130f7565b6001600160401b0316421015610be8576040516304643c3960e01b815260040160405180910390fd5b600354600160a01b900460ff16610c9d5760035460048054604051637eee288d60e01b81526001600160a01b039384169281019290925260248201527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b158015610c6c57600080fd5b505af1158015610c80573d6000803e3d6000fd5b50506003805460ff60a01b1916600160a01b17905550610df99050565b60038054600160a81b60ff60a81b198216179091556004805460405163f3fef3a360e01b81526001600160a01b039384169281019290925260248201527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b158015610d2257600080fd5b505af1158015610d36573d6000803e3d6000fd5b5050600354600454604051600094506001600160a01b039092169250908381818185875af1925050503d8060008114610d8b576040519150601f19603f3d011682016040523d82523d6000602084013e610d90565b606091505b5050905080610db2576040516383e6cc6b60e01b815260040160405180910390fd5b6003546004546040519081526001600160a01b03909116907f87e12c2565042763daa6bf5842ed2b6447f17f7e28f9a4905fe3959581396ead9060200160405180910390a2505b600168929eee149b4bd2126855565b6000600681805b6001811115610e2057610e20612f1f565b81526020810191909152604001600020546001600160a01b0316919050565b600080600054600160801b900460ff166002811115610e6057610e60612f1f565b14610e7e5760405163f1a9458160e01b815260040160405180910390fd5b6000610e8861212f565b90506000816002811115610e9e57610e9e612f1f565b03610ebc57604051634962835760e11b815260040160405180910390fd5b6001816002811115610ed057610ed0612f1f565b03610eed576000805460ff60801b1916600160801b179055610fe7565b600754426001600160401b039091161115610f1b576040516304643c3960e01b815260040160405180910390fd5b6007547f0000000000000000000000000000000000000000000000000000000000000000600160401b90910460ff161015610f695760405163344de4bf60e01b815260040160405180910390fd5b60055415610fd3576000805460ff60801b1916600160801b1781556001905260066020527f3e5fec24aa4dc4e5aee2e025e51e1392c72a2500577559fae9665c6d52bd6a3154600380546001600160a01b0319166001600160a01b03909216919091179055610fe7565b6000805460ff60801b1916600160811b1790555b600080546fffffffffffffffff00000000000000001916600160401b426001600160401b03160217908190556040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da609161104d91600160801b90910460ff1690612f35565b60405180910390a15050600054600160801b900460ff1690565b6000610af5600061210c565b600054600160881b900460ff161561109d5760405162dc149f60e41b815260040160405180910390fd5b6000602060016110ad8483613122565b6110b7919061313a565b6110c19190613151565b6110cc906020613173565b90506000816110fc7f00000000000000000000000000000000000000000000000000000000000000006040613122565b6111069190613122565b905080361461111d57639824bdab6000526004601cfd5b61112b611128611c9d565b90565b611142600161113861193a565b610619919061313a565b1461118657611154600161113861193a565b61115f611128611c9d565b60405163f33fa6cf60e01b8152600481019290925260248201526044015b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166111b8610ae9565b6001600160a01b0316146112e35760006111d0610ae9565b90506111db81612315565b6111f85760405163346119f760e01b815260040160405180910390fd5b6040518060400160405280611268836001600160a01b031663bcef3b556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111289190613192565b8152602001826001600160a01b03166399735e326040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112cf9190613192565b905280516001556020015160025550611371565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663664ed8306040518163ffffffff1660e01b81526004016040805180830381865afa158015611340573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136491906131ab565b8051600155602001516002555b60025461139f907f000000000000000000000000000000000000000000000000000000000000000090613122565b6113a761192e565b14611404576002546113da907f000000000000000000000000000000000000000000000000000000000000000090613122565b6113e261192e565b60405163043d96bb60e11b81526004810192909252602482015260440161117d565b600080546001600160401b03421671ff000000000000000000ffffffffffffffff1990911617600160881b17905560408051630f27ce5f60e21b8152905163ffffffff7f000000000000000000000000000000000000000000000000000000000000000016916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691633c9f397c916004808201926020929091908290030181865afa1580156114c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e49190613207565b6000805460ff60901b191663ffffffff9290921692909214600160901b02178155600780546001600160401b0367ffffffffffffffff19909116179055848482816115315761153161322d565b919091013560f81c9050600181111561154c5761154c612f1f565b9050600061155e602160018789613243565b6115679161326d565b9050600061157960416021888a613243565b6115829161326d565b905061158e82826125df565b6115d061159e876041818b613243565b856115a7611067565b60015487905b6002546115bb611128611c9d565b6115c361192e565b6115cb611687565b61278f565b6115e1836115dc611067565b61282f565b6115e9611067565b600380546001600160a01b0319166001600160a01b0392831617905534600481815560408051630d0e30db60e41b815290517f00000000000000000000000000000000000000000000000000000000000000009094169363d0e30db0939282810192600092919082900301818588803b15801561166557600080fd5b505af1158015611679573d6000803e3d6000fd5b505050505050505050505050565b6060610af5608861169661193a565b6116a1906020613173565b612912565b60006116b061193a565b82106116cf5760405163a6c661fd60e01b815260040160405180910390fd5b6116ed6116dd836020613173565b6116e8906088613122565b612954565b92915050565b6060610af5605461170261193a565b61170d906020613173565b6116a1906034613122565b6000610af56034612954565b60006006816001610e0f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561178e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b2919061328b565b156117d05760405163379a7ed960e01b815260040160405180910390fd5b600054600160401b90046001600160401b03166001600160401b031660000361180c57604051636082930560e11b815260040160405180910390fd5b604051630314d2b360e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015611873573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611897919061328b565b9050806118b757604051634851bd9b60e01b815260040160405180910390fd5b6040516317cf21a960e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561191857600080fd5b505af1925050508015611929575060015b505b50565b6000610af56054612954565b6000610af57f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000613151565b60008054600160801b900460ff1660028111156119a5576119a5612f1f565b146119c35760405163f1a9458160e01b815260040160405180910390fd5b6000848460008181106119d8576119d861322d565b919091013560f81c905060018111156119f3576119f3612f1f565b90506000600681836001811115611a0c57611a0c612f1f565b6001811115611a1d57611a1d612f1f565b81526020810191909152604001600020546001600160a01b031603611a5757806040516304b045a760e31b815260040161117d91906132ad565b60055415611add576001600554611a6e919061313a565b8314611a8d5760405163a6c661fd60e01b815260040160405180910390fd5b611a96836116a6565b8214611aa6578161115f846116a6565b6001816001811115611aba57611aba612f1f565b14611ad8576040516369ed70ab60e01b815260040160405180910390fd5b611ae7565b611ae78383612974565b6000806000611af5866129c3565b91945092509050611b44611b0c886001818c613243565b8633611b19611128611718565b88888c898e604051602001611b3091815260200190565b60405160208183030381529060405261278f565b611b4d84612a5c565b604080518781526020810187905233917f5a8d9d181e6a59fe5477a50721401b6332a810b9183e15ac62d386379a05a717910160405180910390a26001846001811115611b9c57611b9c612f1f565b03611c1f576005600090557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ece20f366040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611c0257600080fd5b505af1158015611c16573d6000803e3d6000fd5b50505050611c93565b6000846001811115611c3357611c33612f1f565b03611c93577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ece20f366040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561166557600080fd5b5050505050505050565b6000610af56014612954565b60008054600160801b900460ff166002811115611cc857611cc8612f1f565b14611ce65760405163067fe19560e41b815260040160405180910390fd5b600754426001600160401b0390911611611d135760405163df469ccb60e01b815260040160405180910390fd5b600082826000818110611d2857611d2861322d565b919091013560f81c90506001811115611d4357611d43612f1f565b90506000600681836001811115611d5c57611d5c612f1f565b6001811115611d6d57611d6d612f1f565b81526020810191909152604001600020546001600160a01b031614611da757806040516338a094bd60e11b815260040161117d91906132ad565b611dcc611db78360018187613243565b8333611dc4611128611718565b6001546115ad565b611dd6813361282f565b505050565b60008054600160801b900460ff166002811115611dfa57611dfa612f1f565b14611e185760405163f1a9458160e01b815260040160405180910390fd5b611e2130612315565b611e3e576040516357e25a0960e01b815260040160405180910390fd5b6001611e4861212f565b6002811115611e5957611e59612f1f565b03611e775760405163346119f760e01b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8546001600160a01b0316611ecb5760006040516304b045a760e31b815260040161117d91906132ad565b600160005260066020527f3e5fec24aa4dc4e5aee2e025e51e1392c72a2500577559fae9665c6d52bd6a31546001600160a01b031615611f215760016040516338a094bd60e11b815260040161117d91906132ad565b600084846000818110611f3657611f3661322d565b919091013560f81c90506001811115611f5157611f51612f1f565b90506001816001811115611f6757611f67612f1f565b14611f85576040516369ed70ab60e01b815260040160405180910390fd5b611f8f8383612974565b6000806000611f9d866129c3565b91945092509050611fb4611b0c886001818c613243565b3360066000866001811115611fcb57611fcb612f1f565b6001811115611fdc57611fdc612f1f565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001600760088282829054906101000a900460ff1661202d91906132c1565b92506101000a81548160ff021916908360ff16021790555062093a806001600160401b03164261205d9190613122565b6007805467ffffffffffffffff19166001600160401b0392909216919091179055612089866001613122565b60055560405186815233907f7a180232c19fd38c83e493856a42688c477bae7e82039103b2c1ea6a6162e5299060200160405180910390a25050505050505050565b60008060607f00000000000000000000000000000000000000000000000000000000000000006120f9611c9d565b6121016116f3565b925092509250909192565b6000806121213660011981013560f01c900390565b929092013560601c92915050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316612163610ae9565b6001600160a01b03161461230f57600061217b610ae9565b604051631a51a37560e11b81526001600160a01b0380831660048301529192507f0000000000000000000000000000000000000000000000000000000000000000909116906334a346ea90602401602060405180830381865afa1580156121e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061220a919061328b565b8061229a5750604051635958a19360e01b81526001600160a01b0382811660048301527f00000000000000000000000000000000000000000000000000000000000000001690635958a19390602401602060405180830381865afa158015612276573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061229a919061328b565b156122a757600191505090565b806001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061230991906132e6565b91505090565b50600290565b60405163ee658e4560e01b81526001600160a01b0382811660048301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063ee658e4590602401602060405180830381865afa158015612380573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a4919061328b565b801561243557506040516304e50fed60e01b81526001600160a01b0383811660048301527f000000000000000000000000000000000000000000000000000000000000000016906304e50fed90602401602060405180830381865afa158015612411573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612435919061328b565b80156124c85750604051631a51a37560e11b81526001600160a01b0383811660048301527f000000000000000000000000000000000000000000000000000000000000000016906334a346ea90602401602060405180830381865afa1580156124a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124c6919061328b565b155b801561255b5750604051635958a19360e01b81526001600160a01b0383811660048301527f00000000000000000000000000000000000000000000000000000000000000001690635958a19390602401602060405180830381865afa158015612535573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612559919061328b565b155b80156116ed57506001826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c691906132e6565b60028111156125d7576125d7612f1f565b141592915050565b4381106126085760405163096fec2960e21b81526004810182905243602482015260440161117d565b600080612615834361313a565b905061010081116126295782409150612738565b611fff81116127165760008071f90827f1c53a10cb7a02335b1753200029356001600160a01b03168560405160200161266491815260200190565b60408051601f198184030181529082905261267e91613307565b600060405180830381855afa9150503d80600081146126b9576040519150601f19603f3d011682016040523d82523d6000602084013e6126be565b606091505b50915091508115806126d257508051602014155b156126f957604051630f0b8f8160e01b81526004810186905243602482015260440161117d565b8080602001905181019061270d9190613192565b93505050612738565b604051630f0b8f8160e01b81526004810184905243602482015260440161117d565b8161275f57604051630f0b8f8160e01b81526004810184905243602482015260440161117d565b838214612789576040516380b1ae5160e01b8152600481018590526024810183905260440161117d565b50505050565b60018910156127b1576040516309bde33960e01b815260040160405180910390fd5b60008860018111156127c5576127c5612f1f565b036127e0576127db8a8a89898989898989612b01565b612823565b60018860018111156127f4576127f4612f1f565b0361280a576127db8a8a89898989898989612c7e565b6040516369ed70ab60e01b815260040160405180910390fd5b50505050505050505050565b806006600084600181111561284657612846612f1f565b600181111561285757612857612f1f565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001600760088282829054906101000a900460ff166128a891906132c1565b92506101000a81548160ff021916908360ff1602179055506128c8612dc9565b8160018111156128da576128da612f1f565b6040516001600160a01b038316907f62f393acfb3d3425116fe9be7a6509a4b652bda54fdac2df2b7273135ecd58e790600090a35050565b606060006129283660011981013560f01c900390565b905060405191508282528284820160208401378260208301016000815260208101604052505092915050565b6000806129693660011981013560f01c900390565b929092013592915050565b61297c61193a565b821061299b5760405163a6c661fd60e01b815260040160405180910390fd5b806129a5836116a6565b0361192957604051635de57d7360e11b815260040160405180910390fd5b600080808084156129e1576129dc61061960018761313a565b6129e5565b6001545b90506000612a137f000000000000000000000000000000000000000000000000000000000000000087613173565b600254612a209190613122565b90506000612a4e7f0000000000000000000000000000000000000000000000000000000000000000836130f7565b929791965091945092505050565b60066000826001811115612a7257612a72612f1f565b6001811115612a8357612a83612f1f565b81526020810191909152604001600090812080546001600160a01b0319169055600754600160401b900460ff169003612acf5760405163344de4bf60e01b815260040160405180910390fd5b6007805460001960ff600160401b808404821692909201160268ff00000000000000001990911617905561192b612e67565b6000878787878787877f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000604051602001612b6499989796959493929190613323565b6040516020818303038152906040528051906020012090506000888b8b604051602001612b93939291906133a0565b60408051601f198184030181529082905263ab750e7560e01b825291506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ab750e7590612c139084907f00000000000000000000000000000000000000000000000000000000000000009087906004016133cc565b602060405180830381865afa158015612c30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c54919061328b565b612c71576040516309bde33960e01b815260040160405180910390fd5b5050505050505050505050565b6000878787878787877f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000604051602001612ce199989796959493929190613323565b60408051601f1981840301815290829052805160209091012063ab750e7560e01b825291506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ab750e7590612d6b908d908d907f00000000000000000000000000000000000000000000000000000000000000009087906004016133f1565b602060405180830381865afa158015612d88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dac919061328b565b612823576040516309bde33960e01b815260040160405180910390fd5b6000612dd3612ed7565b905067fffffffffffffffe196001600160401b03821601612e0b57506007805467ffffffffffffffff19166001600160401b03179055565b6000612e1782426130f7565b600754909150612e42906001600160401b0380841691166001600160401b0316808218908211021890565b6007805467ffffffffffffffff19166001600160401b03929092169190911790555050565b6000612e71612ed7565b905067fffffffffffffffe196001600160401b03821601612ea957506007805467ffffffffffffffff19166001600160401b03179055565b612eb381426130f7565b6007805467ffffffffffffffff19166001600160401b039290921691909117905550565b6007546000906002600160401b90910460ff1610612ef757506201518090565b600754600160401b900460ff16600103612f13575062093a8090565b506001600160401b0390565b634e487b7160e01b600052602160045260246000fd5b6020810160038310612f4957612f49612f1f565b91905290565b60008083601f840112612f6157600080fd5b5081356001600160401b03811115612f7857600080fd5b602083019150836020828501011115612f9057600080fd5b9250929050565b60008060208385031215612faa57600080fd5b82356001600160401b03811115612fc057600080fd5b612fcc85828601612f4f565b90969095509350505050565b60005b83811015612ff3578181015183820152602001612fdb565b838111156127895750506000910152565b6000815180845261301c816020860160208601612fd8565b601f01601f19169290920160200192915050565b6020815260006130436020830184613004565b9392505050565b60006020828403121561305c57600080fd5b5035919050565b6000806000806060858703121561307957600080fd5b84356001600160401b0381111561308f57600080fd5b61309b87828801612f4f565b90989097506020870135966040013595509350505050565b63ffffffff841681528260208201526060604082015260006130d86060830184613004565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b60006001600160401b03808316818516808303821115613119576131196130e1565b01949350505050565b60008219821115613135576131356130e1565b500190565b60008282101561314c5761314c6130e1565b500390565b60008261316e57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561318d5761318d6130e1565b500290565b6000602082840312156131a457600080fd5b5051919050565b6000604082840312156131bd57600080fd5b604051604081018181106001600160401b03821117156131ed57634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b60006020828403121561321957600080fd5b815163ffffffff8116811461304357600080fd5b634e487b7160e01b600052603260045260246000fd5b6000808585111561325357600080fd5b8386111561326057600080fd5b5050820193919092039150565b803560208310156116ed57600019602084900360031b1b1692915050565b60006020828403121561329d57600080fd5b8151801515811461304357600080fd5b6020810160028310612f4957612f49612f1f565b600060ff821660ff84168060ff038211156132de576132de6130e1565b019392505050565b6000602082840312156132f857600080fd5b81516003811061304357600080fd5b60008251613319818460208701612fd8565b9190910192915050565b6bffffffffffffffffffffffff198a60601b16815288601482015287603482015260006001600160401b0360c01b808960c01b16605484015287605c840152808760c01b16607c840152508451613381816084850160208901612fd8565b90910160848101939093525060a482015260c401979650505050505050565b6bffffffffffffffffffffffff198460601b168152818360148301376000910160140190815292915050565b6060815260006133df6060830186613004565b60208301949094525060400152919050565b606081528360608201528385608083013760006080858301015260006080601f19601f87011683010190508360208301528260408301529594505050505056fea26469706673582212203abca49e729456bd777ac45f6bcfa1fc20e1f99bd0f4dc8071fb286363e5667f64736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000026d00000000000000000000000060a6c389f0bc5ce4269a40d9695927bc587003280000000000000000000000008ff945fcad2ca8d66fa1ba63c70440328bb14ff30000000000000000000000006f3db1c1f5110b20efbbccd13367bca8898092e60000000000000000000000004730cec510e664838b20b576881702b64651cc45bcf94c238e15b5e423050df2b6f354ab2c5f3af791d8f862f654a195af9f491e33870b16176c98af4b2c96f721f9a7fa68ea92f8244618360a1592f5719085d800719a15f7d3cb34da5c1caa72bfa7e397fd8f16808bdb958bc6da03999762c7ab64b3118d2d030a3fd3fe3005239a2f332e48848bbedddca9e10df77ac7303e00000000000000000000000000000000000000000000000000000000000ba5e00000000000000000000000000000000000000000000000000000000000000258000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000001\",\n        \"nonce\": \"0x5d\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x53d177\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x7e451a44fc86e6ca5db28da68c94d67a18361a0ce2fb59598bb43e2b781ea20a\",\n      \"transactionIndex\": \"0x21\",\n      \"blockHash\": \"0xb220f9dbe7d917d0e962435546fb526b4d9f9397bb58b8f8fcc1104d83a359a3\",\n      \"blockNumber\": \"0x280d14\",\n      \"gasUsed\": \"0x2d51a8\",\n      \"effectiveGasPrice\": \"0x3b9aca07\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": null,\n      \"contractAddress\": \"0x016cdb236f103078677aea6d9287ea9b2f33c872\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1776283494080,\n  \"chain\": 560048,\n  \"commit\": \"5a214a5\"\n}"
  },
  {
    "path": "zeronet/2026-04-07-upgrade-tee-registry-nitro/records/DeployAndSetupNitro.s.sol/560048/run-1776098805552.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x3b193068909627ab087b38a30ee5d537349ed3d74bd71414f509593e63bb7e0c\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"NitroEnclaveVerifier\",\n      \"contractAddress\": \"0xa52e326e5d8ea661408ce595070c3ae9ebe09e1d\",\n      \"function\": null,\n      \"arguments\": [\n        \"0xb2d9a52e76841279EF0372c534C539a4f68f8C0B\",\n        \"3600\",\n        \"[]\",\n        \"[]\",\n        \"0x641a0321a3e244efe456463195d606317ed7cdcc3c1756e09893f3c68f79bb5b\",\n        \"0xb2d9a52e76841279EF0372c534C539a4f68f8C0B\",\n        \"0x5F109182a097c40Cc936742be4B55c1A08aC4dd9\",\n        \"1\",\n        \"(0xce17a683c290c57ff91f00d4c0e6e6ec8aa2f73285af7d81b162327ba96321d6, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x32Db7dc407AC886807277636a1633A1381748DD8)\",\n        \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"gas\": \"0x329a39\",\n        \"value\": \"0x0\",\n        \"input\": \"0x608060405234801561000f575f5ffd5b5060405161300f38038061300f83398101604081905261002e91610517565b886001600160401b03165f0361005757604051635409e3e760e01b815260040160405180910390fd5b865188511461008a57875187516040516334a59dd760e01b81526004810192909252602482015260440160405180910390fd5b600480546001600160401b0319166001600160401b038b161790555f5b885181101561011e578781815181106100c2576100c26105fa565b602002602001015160035f8b84815181106100df576100df6105fa565b60209081029190910181015182528101919091526040015f2080546001600160401b0319166001600160401b03929092169190911790556001016100a7565b506101288a61016f565b610131866101aa565b61013a856101e6565b600180546001600160a01b0319166001600160a01b038616179055610160838383610259565b50505050505050505050610677565b6001600160a01b0316638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b60058190556040518181527f63f2d4dca4c937ba68e57bbddd2b0a3560e5b497593228dbea7372c127c16dc8906020015b60405180910390a150565b6001600160a01b03811661020c57604051629ef5cb60e01b815260040160405180910390fd5b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e20170906020016101db565b8160025f85600281111561026f5761026f61060e565b60028111156102805761028061060e565b815260208082019290925260409081015f20835181559183015160018301559190910151600290910180546001600160a01b0319166001600160a01b03909216919091179055815115610305578060075f8560028111156102e3576102e361060e565b60028111156102f4576102f461060e565b815260208101919091526040015f20555b7f8c7491c9018c0b332e7d992d1b37db1a61f4c075cb30e237cc826c52c3166cef83838360405161033893929190610622565b60405180910390a1505050565b80516001600160a01b038116811461035b575f5ffd5b919050565b80516001600160401b038116811461035b575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b03811182821017156103b2576103b2610376565b604052919050565b5f6001600160401b038211156103d2576103d2610376565b5060051b60200190565b5f82601f8301126103eb575f5ffd5b81516103fe6103f9826103ba565b61038a565b8082825260208201915060208360051b86010192508583111561041f575f5ffd5b602085015b8381101561043c578051835260209283019201610424565b5095945050505050565b5f82601f830112610455575f5ffd5b81516104636103f9826103ba565b8082825260208201915060208360051b860101925085831115610484575f5ffd5b602085015b8381101561043c5761049a81610360565b835260209283019201610489565b80516003811061035b575f5ffd5b5f606082840312156104c6575f5ffd5b604051606081016001600160401b03811182821017156104e8576104e8610376565b60409081528351825260208085015190830152909150819061050b908401610345565b60408201525092915050565b5f5f5f5f5f5f5f5f5f5f6101808b8d031215610531575f5ffd5b61053a8b610345565b995061054860208c01610360565b60408c01519099506001600160401b03811115610563575f5ffd5b61056f8d828e016103dc565b60608d015190995090506001600160401b0381111561058c575f5ffd5b6105988d828e01610446565b60808d015190985096506105b0905060a08c01610345565b94506105be60c08c01610345565b93506105cc60e08c016104a8565b92506105dc8c6101008d016104b6565b91505f6101608c01519050809150509295989b9194979a5092959850565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52602160045260245ffd5b60a081016003851061064257634e487b7160e01b5f52602160045260245ffd5b9381528251602080830191909152830151604080830191909152909201516001600160a01b0316606083015260809091015290565b61298b806106845f395ff3fe6080604052600436106101c5575f3560e01c80638cb50c44116100f2578063dd4a471d11610092578063f2fde38b11610062578063f2fde38b14610521578063f8b507c714610534578063f9f91b1314610560578063fee81cf4146105c6575f5ffd5b8063dd4a471d1461049c578063e3f47695146104d0578063ea9e4857146104ef578063f04e283e1461050e575f5ffd5b8063a12b896a116100cd578063a12b896a14610413578063c9569bc314610432578063cc05c0b31461045e578063d06d55871461047d575f5ffd5b80638cb50c44146103bd5780638da5cb5b146103dc5780639083dd9d146103f4575f5ffd5b80635875335711610168578063715018a611610138578063715018a6146103625780637221e6fc1461036a57806374c183aa1461037f57806386546a491461039e575f5ffd5b806358753357146102cd57806363cd3456146102eb578063674515151461030a5780636d114be314610336575f5ffd5b8063369855e6116101a3578063369855e61461023c5780633a837cc21461027357806354d1f13d1461029257806354fd4d501461029a575f5ffd5b806325692962146101c957806331b361e0146101d357806335dec5d114610205575b5f5ffd5b6101d16105f7565b005b3480156101de575f5ffd5b506101f26101ed366004611ae0565b610643565b6040519081526020015b60405180910390f35b348015610210575f5ffd5b50600154610224906001600160a01b031681565b6040516001600160a01b0390911681526020016101fc565b348015610247575f5ffd5b5060045461025b906001600160401b031681565b6040516001600160401b0390911681526020016101fc565b34801561027e575f5ffd5b506101d161028d366004611ba5565b61067f565b6101d1610697565b3480156102a5575f5ffd5b5060408051808201825260058152640302e332e360dc1b602082015290516101fc9190611c5c565b3480156102d8575f5ffd5b505f54610224906001600160a01b031681565b3480156102f6575f5ffd5b506101d1610305366004611c85565b6106d0565b348015610315575f5ffd5b50610329610324366004611ae0565b61080c565b6040516101fc9190611cb6565b348015610341575f5ffd5b50610355610350366004611d24565b61089d565b6040516101fc9190611f8d565b6101d16109a4565b348015610375575f5ffd5b506101f260055481565b34801561038a575f5ffd5b506101d1610399366004611f9f565b6109b7565b3480156103a9575f5ffd5b506101d16103b8366004611fb6565b6109cb565b3480156103c8575f5ffd5b506101d16103d7366004611f9f565b610b5f565b3480156103e7575f5ffd5b50638b78c6d81954610224565b3480156103ff575f5ffd5b506101d161040e366004611ff6565b610c42565b34801561041e575f5ffd5b5061022461042d366004611c85565b610c93565b34801561043d575f5ffd5b5061045161044c366004611d24565b610d75565b6040516101fc919061200f565b348015610469575f5ffd5b506101d1610478366004612072565b610fbe565b348015610488575f5ffd5b506101d1610497366004611ff6565b6110f1565b3480156104a7575f5ffd5b5061025b6104b6366004611f9f565b60036020525f90815260409020546001600160401b031681565b3480156104db575f5ffd5b506101d16104ea3660046120b8565b611102565b3480156104fa575f5ffd5b506101d16105093660046120d1565b611182565b6101d161051c366004611ff6565b61127b565b6101d161052f366004611ff6565b6112b5565b34801561053f575f5ffd5b5061055361054e3660046120f9565b6112db565b6040516101fc9190612168565b34801561056b575f5ffd5b506105a261057a366004611ae0565b600260208190525f91825260409091208054600182015491909201546001600160a01b031683565b6040805193845260208401929092526001600160a01b0316908201526060016101fc565b3480156105d1575f5ffd5b506101f26105e0366004611ff6565b63389a75e1600c9081525f91909152602090205490565b5f6202a3006001600160401b03164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f5fa250565b5f60075f83600281111561065957610659611da3565b600281111561066a5761066a611da3565b81526020019081526020015f20549050919050565b61068761145d565b610692838383611477565b505050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f5fa2565b6106d861145d565b5f60065f8460028111156106ee576106ee611da3565b60028111156106ff576106ff611da3565b815260208082019290925260409081015f9081206001600160e01b0319861682529092529020546001600160a01b0316905061deac1981016107605782826040516253454d60e31b81526004016107579291906121bd565b60405180910390fd5b61dead60065f85600281111561077857610778611da3565b600281111561078957610789611da3565b815260208082019290925260409081015f9081206001600160e01b0319871680835293522080546001600160a01b0319166001600160a01b0393909316929092179091558360028111156107df576107df611da3565b6040517fcdce14b5df954ed0ddf4bd33cc38717ee1c46e06a27d69962dd7f03f70c449c4905f90a3505050565b61083660405180606001604052805f81526020015f81526020015f6001600160a01b031681525090565b60025f83600281111561084b5761084b611da3565b600281111561085c5761085c611da3565b815260208082019290925260409081015f20815160608101835281548152600182015493810193909352600201546001600160a01b03169082015292915050565b6108a5611a70565b5f546001600160a01b031633146108cf5760405163fe0232c360e01b815260040160405180910390fd5b5f60025f8660028111156108e5576108e5611da3565b60028111156108f6576108f6611da3565b81526020019081526020015f205f01549050610916858289898888611563565b6109228688018861259f565b915061092d826116ab565b915084600281111561094157610941611da3565b7f34d71c5db80e3c1db53f6d245503c531894f694aa26c7a967adf77167b126036835f0151846040516020016109779190611f8d565b60408051601f198184030181529082905261099292916125d8565b60405180910390a25095945050505050565b6109ac61145d565b6109b55f6117dc565b565b6109bf61145d565b6109c881611819565b50565b6109d361145d565b6001600160a01b0381166109fa57604051630e3ba0af60e01b815260040160405180910390fd5b61deac196001600160a01b03821601610a265760405163043103a360e21b815260040160405180910390fd5b61dead60065f856002811115610a3e57610a3e611da3565b6002811115610a4f57610a4f611da3565b815260208082019290925260409081015f9081206001600160e01b0319871682529092529020546001600160a01b031603610aa05782826040516253454d60e31b81526004016107579291906121bd565b8060065f856002811115610ab657610ab6611da3565b6002811115610ac757610ac7611da3565b815260208082019290925260409081015f9081206001600160e01b0319871680835293522080546001600160a01b0319166001600160a01b039390931692909217909155836002811115610b1d57610b1d611da3565b6040516001600160a01b03841681527f760c87aaca384c3dc82d5bcce05884a75cf787ef7f7cacaef26a6822b2831dd4906020015b60405180910390a3505050565b638b78c6d819546001600160a01b0316336001600160a01b031614158015610b9257506001546001600160a01b03163314155b15610bb057604051633ae98a0760e21b815260040160405180910390fd5b5f818152600360205260408120546001600160401b03169003610be957604051630eb0bcc760e31b815260048101829052602401610757565b5f8181526003602052604090819020805467ffffffffffffffff19169055517f49f59bec846fd3588d7d4900a9d7698f294a73043ed6c407d5c2cfa90b8b90d790610c379083815260200190565b60405180910390a150565b610c4a61145d565b600180546001600160a01b0319166001600160a01b0383169081179091556040517f5549026e79f4449c2656308378875b265aaf4002b1ef696785f9439da13d4e36905f90a250565b5f5f60065f856002811115610caa57610caa611da3565b6002811115610cbb57610cbb611da3565b815260208082019290925260409081015f9081206001600160e01b0319871682529092529020546001600160a01b0316905061deac198101610d135783836040516253454d60e31b81526004016107579291906121bd565b6001600160a01b038116610d6c5760025f856002811115610d3657610d36611da3565b6002811115610d4757610d47611da3565b815260208101919091526040015f20600201546001600160a01b03169150610d6f9050565b90505b92915050565b5f546060906001600160a01b03163314610da25760405163fe0232c360e01b815260040160405180910390fd5b5f60025f866002811115610db857610db8611da3565b6002811115610dc957610dc9611da3565b81526020019081526020015f206001015490505f60025f876002811115610df257610df2611da3565b6002811115610e0357610e03611da3565b81526020019081526020015f205f015490505f60075f886002811115610e2b57610e2b611da3565b6002811115610e3c57610e3c611da3565b81526020019081526020015f20549050610e5a87848b8b8a8a611563565b5f610e67898b018b6125f7565b80519091508214610e9857805160405163086e561f60e21b8152610757918491600401918252602082015260400190565b602081015151806001600160401b03811115610eb657610eb6611b00565b604051908082528060200260200182016040528015610eef57816020015b610edc611a70565b815260200190600190039081610ed45790505b5095505f5b81811015610f4757610f2283602001518281518110610f1557610f156126e5565b60200260200101516116ab565b878281518110610f3457610f346126e5565b6020908102919091010152600101610ef4565b50886002811115610f5a57610f5a611da3565b7fdfa767ad54931d8d889f34b418a66f09a0bec3406debbd9decbb8ce919c24ffe8588604051602001610f8d919061200f565b60408051601f1981840301815290829052610fa892916126f9565b60405180910390a2505050505095945050505050565b610fc661145d565b81610fe4576040516341a463a560e01b815260040160405180910390fd5b8160025f856002811115610ffa57610ffa611da3565b600281111561100b5761100b611da3565b81526020019081526020015f205f01540361103d578282604051633cf7da7760e21b8152600401610757929190612711565b8160025f85600281111561105357611053611da3565b600281111561106457611064611da3565b81526020019081526020015f205f01819055508060075f85600281111561108d5761108d611da3565b600281111561109e5761109e611da3565b815260208101919091526040015f2055818360028111156110c1576110c1611da3565b6040518381527f51084eb34dac0e8c796b2741ed1a6fed727311fc435b0af0dac30f0581dbce4990602001610b52565b6110f961145d565b6109c88161184e565b61110a61145d565b806001600160401b03165f0361113357604051635409e3e760e01b815260040160405180910390fd5b6004805467ffffffffffffffff19166001600160401b0383169081179091556040519081527fc620470b92e1af69c914495bff0725d3f9ddef58f4e3dad2d2e5b2f4bf63f0e390602001610c37565b61118a61145d565b806111a8576040516341a463a560e01b815260040160405180910390fd5b8060025f8460028111156111be576111be611da3565b60028111156111cf576111cf611da3565b81526020019081526020015f206001015403611202578181604051633cf7da7760e21b8152600401610757929190612711565b8060025f84600281111561121857611218611da3565b600281111561122957611229611da3565b815260208101919091526040015f20600101558082600281111561124f5761124f611da3565b6040517fa13c7e79c76dcced91cc62c49db73a3a02935aef810eea7b7942625e94bc4070905f90a35050565b61128361145d565b63389a75e1600c52805f526020600c2080544211156112a957636f5e88185f526004601cfd5b5f90556109c8816117dc565b6112bd61145d565b8060601b6112d257637448fbae5f526004601cfd5b6109c8816117dc565b60605f826001600160401b038111156112f6576112f6611b00565b60405190808252806020026020018201604052801561131f578160200160208202803683370190505b506005549091505f5b8481101561145357365f878784818110611344576113446126e5565b9050602002810190611356919061272c565b909250905060018483835f8161136e5761136e6126e5565b90506020020135146113b8578483835f81811061138d5761138d6126e5565b9050602002013560405163e4ac496b60e01b8152600401610757929190918252602082015260400190565b60015b82811015611421575f60035f8686858181106113d9576113d96126e5565b602090810292909201358352508101919091526040015f20546001600160401b031690504281101561140b5750611421565b611416600184612785565b9250506001016113bb565b5080868581518110611435576114356126e5565b60ff9290921660209283029190910190910152505050600101611328565b5090949350505050565b638b78c6d8195433146109b5576382b429005f526004601cfd5b8160025f85600281111561148d5761148d611da3565b600281111561149e5761149e611da3565b815260208082019290925260409081015f20835181559183015160018301559190910151600290910180546001600160a01b0319166001600160a01b03909216919091179055815115611523578060075f85600281111561150157611501611da3565b600281111561151257611512611da3565b815260208101919091526040015f20555b7f8c7491c9018c0b332e7d992d1b37db1a61f4c075cb30e237cc826c52c3166cef8383836040516115569392919061279e565b60405180910390a1505050565b5f61156f8784846118c1565b9050600187600281111561158557611585611da3565b0361163c57806001600160a01b031663ab750e7584848960028a8a6040516115ae9291906127e4565b602060405180830381855afa1580156115c9573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906115ec91906127f3565b6040518563ffffffff1660e01b815260040161160b9493929190612832565b5f6040518083038186803b158015611621575f5ffd5b505afa158015611633573d5f5f3e3d5ffd5b505050506116a2565b600287600281111561165057611650611da3565b036116895760405163020a49e360e51b81526001600160a01b038216906341493c609061160b9089908990899089908990600401612858565b60405163146af65760e21b815260040160405180910390fd5b50505050505050565b6116b3611a70565b6001825160048111156116c8576116c8611da3565b146116d1575090565b816020015160ff165f036116e757506002815290565b5f5b826020015160ff16811015611770575f8360600151828151811061170f5761170f6126e5565b60200260200101519050815f03611739576005548114611733575050600282525090565b50611768565b5f818152600360205260409020546001600160401b031642811015611765575050600383525090919050565b50505b6001016116e9565b505f6103e883604001516117849190612890565b600454909150429061179f906001600160401b0316836128c9565b6001600160401b03161115806117be575042816001600160401b031610155b156117cc5750506004815290565b6117d5836119df565b5090919050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b60058190556040518181527f63f2d4dca4c937ba68e57bbddd2b0a3560e5b497593228dbea7372c127c16dc890602001610c37565b6001600160a01b03811661187457604051629ef5cb60e01b815260040160405180910390fd5b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e2017090602001610c37565b5f806118d060048285876128e8565b6118d99161290f565b90505f60065f8760028111156118f1576118f1611da3565b600281111561190257611902611da3565b815260208082019290925260409081015f9081206001600160e01b0319861682529092529020546001600160a01b0316905061deac19810161195a5785826040516253454d60e31b81526004016107579291906121bd565b6001600160a01b0381166119ad5760025f87600281111561197d5761197d611da3565b600281111561198e5761198e611da3565b815260208101919091526040015f20600201546001600160a01b031690505b6001600160a01b0381166119d65785604051636725e36b60e11b81526004016107579190612947565b95945050505050565b602081015160ff165b816060015151811015611a6c575f82606001518281518110611a0c57611a0c6126e5565b6020026020010151905082608001518281518110611a2c57611a2c6126e5565b6020908102919091018101515f92835260039091526040909120805467ffffffffffffffff19166001600160401b039092169190911790556001016119e8565b5050565b604080516101408101909152805f81526020015f60ff1681526020015f6001600160401b03168152602001606081526020016060815260200160608152602001606081526020016060815260200160608152602001606081525090565b803560038110611adb575f5ffd5b919050565b5f60208284031215611af0575f5ffd5b611af982611acd565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b604080519081016001600160401b0381118282101715611b3657611b36611b00565b60405290565b60405161014081016001600160401b0381118282101715611b3657611b36611b00565b604051601f8201601f191681016001600160401b0381118282101715611b8757611b87611b00565b604052919050565b80356001600160a01b0381168114611adb575f5ffd5b5f5f5f83850360a0811215611bb8575f5ffd5b611bc185611acd565b93506060601f1982011215611bd4575f5ffd5b50604051606081016001600160401b0381118282101715611bf757611bf7611b00565b604090815260208681013583529086013590820152611c1860608601611b8f565b6040820152929592945050506080919091013590565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f611af96020830184611c2e565b80356001600160e01b031981168114611adb575f5ffd5b5f5f60408385031215611c96575f5ffd5b611c9f83611acd565b9150611cad60208401611c6e565b90509250929050565b81518152602080830151908201526040808301516001600160a01b03169082015260608101610d6f565b5f5f83601f840112611cf0575f5ffd5b5081356001600160401b03811115611d06575f5ffd5b602083019150836020828501011115611d1d575f5ffd5b9250929050565b5f5f5f5f5f60608688031215611d38575f5ffd5b85356001600160401b03811115611d4d575f5ffd5b611d5988828901611ce0565b9096509450611d6c905060208701611acd565b925060408601356001600160401b03811115611d86575f5ffd5b611d9288828901611ce0565b969995985093965092949392505050565b634e487b7160e01b5f52602160045260245ffd5b60058110611dc757611dc7611da3565b9052565b5f8151808452602084019350602083015f5b82811015611dfb578151865260209586019590910190600101611ddd565b5093949350505050565b5f8151808452602084019350602083015f5b82811015611dfb5781516001600160401b0316865260209586019590910190600101611e17565b5f8151808452602084019350602083015f5b82811015611dfb57815180516001600160401b031687526020908101518051828901528101516001600160801b031916604088015260609096019590910190600101611e50565b611ea2828251611db7565b5f6020820151611eb7602085018260ff169052565b506040820151611ed260408501826001600160401b03169052565b5060608201516101406060850152611eee610140850182611dcb565b905060808301518482036080860152611f078282611e05565b91505060a083015184820360a0860152611f218282611c2e565b91505060c083015184820360c0860152611f3b8282611c2e565b91505060e083015184820360e0860152611f558282611c2e565b915050610100830151848203610100860152611f718282611e3e565b9150506101208301518482036101208601526119d68282611c2e565b602081525f611af96020830184611e97565b5f60208284031215611faf575f5ffd5b5035919050565b5f5f5f60608486031215611fc8575f5ffd5b611fd184611acd565b9250611fdf60208501611c6e565b9150611fed60408501611b8f565b90509250925092565b5f60208284031215612006575f5ffd5b611af982611b8f565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561206657603f19878603018452612051858351611e97565b94506020938401939190910190600101612035565b50929695505050505050565b5f5f5f60608486031215612084575f5ffd5b61208d84611acd565b95602085013595506040909401359392505050565b80356001600160401b0381168114611adb575f5ffd5b5f602082840312156120c8575f5ffd5b611af9826120a2565b5f5f604083850312156120e2575f5ffd5b6120eb83611acd565b946020939093013593505050565b5f5f6020838503121561210a575f5ffd5b82356001600160401b0381111561211f575f5ffd5b8301601f8101851361212f575f5ffd5b80356001600160401b03811115612144575f5ffd5b8560208260051b8401011115612158575f5ffd5b6020919091019590945092505050565b602080825282518282018190525f918401906040840190835b818110156121a257835160ff16835260209384019390920191600101612181565b509095945050505050565b60038110611dc757611dc7611da3565b604081016121cb82856121ad565b63ffffffff60e01b831660208301529392505050565b803560058110611adb575f5ffd5b803560ff81168114611adb575f5ffd5b5f6001600160401b0382111561221757612217611b00565b5060051b60200190565b5f82601f830112612230575f5ffd5b813561224361223e826121ff565b611b5f565b8082825260208201915060208360051b860101925085831115612264575f5ffd5b602085015b83811015612281578035835260209283019201612269565b5095945050505050565b5f82601f83011261229a575f5ffd5b81356122a861223e826121ff565b8082825260208201915060208360051b8601019250858311156122c9575f5ffd5b602085015b83811015612281576122df816120a2565b8352602092830192016122ce565b5f82601f8301126122fc575f5ffd5b8135602083015f5f6001600160401b0384111561231b5761231b611b00565b50601f8301601f191660200161233081611b5f565b915050828152858383011115612344575f5ffd5b828260208301375f92810160200192909252509392505050565b5f82601f83011261236d575f5ffd5b813561237b61223e826121ff565b8082825260208201915060206060840286010192508583111561239c575f5ffd5b602085015b838110156122815780870360608112156123b9575f5ffd5b6123c1611b14565b6123ca836120a2565b81526040601f19830112156123dd575f5ffd5b6123e5611b14565b60208401358152915060408301356001600160801b031981168114612408575f5ffd5b60208381019190915281810192909252845292909201916060016123a1565b5f6101408284031215612438575f5ffd5b612440611b3c565b905061244b826121e1565b8152612459602083016121ef565b602082015261246a604083016120a2565b604082015260608201356001600160401b03811115612487575f5ffd5b61249384828501612221565b60608301525060808201356001600160401b038111156124b1575f5ffd5b6124bd8482850161228b565b60808301525060a08201356001600160401b038111156124db575f5ffd5b6124e7848285016122ed565b60a08301525060c08201356001600160401b03811115612505575f5ffd5b612511848285016122ed565b60c08301525060e08201356001600160401b0381111561252f575f5ffd5b61253b848285016122ed565b60e0830152506101008201356001600160401b0381111561255a575f5ffd5b6125668482850161235e565b610100830152506101208201356001600160401b03811115612586575f5ffd5b612592848285016122ed565b6101208301525092915050565b5f602082840312156125af575f5ffd5b81356001600160401b038111156125c4575f5ffd5b6125d084828501612427565b949350505050565b6125e28184611db7565b604060208201525f6125d06040830184611c2e565b5f60208284031215612607575f5ffd5b81356001600160401b0381111561261c575f5ffd5b82016040818503121561262d575f5ffd5b612635611b14565b8135815260208201356001600160401b03811115612651575f5ffd5b80830192505084601f830112612665575f5ffd5b813561267361223e826121ff565b8082825260208201915060208360051b860101925087831115612694575f5ffd5b602085015b838110156126d45780356001600160401b038111156126b6575f5ffd5b6126c58a6020838a0101612427565b84525060209283019201612699565b506020840152509095945050505050565b634e487b7160e01b5f52603260045260245ffd5b828152604060208201525f6125d06040830184611c2e565b6040810161271f82856121ad565b8260208301529392505050565b5f5f8335601e19843603018112612741575f5ffd5b8301803591506001600160401b0382111561275a575f5ffd5b6020019150600581901b3603821315611d1d575f5ffd5b634e487b7160e01b5f52601160045260245ffd5b60ff8181168382160190811115610d6f57610d6f612771565b60a081016127ac82866121ad565b6127d6602083018580518252602080820151908301526040908101516001600160a01b0316910152565b826080830152949350505050565b818382375f9101908152919050565b5f60208284031215612803575f5ffd5b5051919050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b606081525f61284560608301868861280a565b6020830194909452506040015292915050565b858152606060208201525f61287160608301868861280a565b828103604084015261288481858761280a565b98975050505050505050565b5f6001600160401b038316806128b457634e487b7160e01b5f52601260045260245ffd5b806001600160401b0384160491505092915050565b6001600160401b038181168382160190811115610d6f57610d6f612771565b5f5f858511156128f6575f5ffd5b83861115612902575f5ffd5b5050820193919092039150565b80356001600160e01b03198116906004841015612940576001600160e01b0319600485900360031b81901b82161691505b5092915050565b60208101610d6f82846121ad56fea2646970667358221220836f977f2e04492facea00848c6edc399e74ec07c59b3cb91c9a18ae2711322564736f6c634300081c0033000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b0000000000000000000000000000000000000000000000000000000000000e10000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001a0641a0321a3e244efe456463195d606317ed7cdcc3c1756e09893f3c68f79bb5b000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b0000000000000000000000005f109182a097c40cc936742be4b55c1a08ac4dd90000000000000000000000000000000000000000000000000000000000000001ce17a683c290c57ff91f00d4c0e6e6ec8aa2f73285af7d81b162327ba96321d6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032db7dc407ac886807277636a1633a1381748dd8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x52\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x0b8ca0bf75bee5c9c12319e72d35a585903a059c5f1b0053956f07c572e9a14d\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"NitroEnclaveVerifier\",\n      \"contractAddress\": \"0xa52e326e5d8ea661408ce595070c3ae9ebe09e1d\",\n      \"function\": \"addVerifyRoute(uint8,bytes4,address)\",\n      \"arguments\": [\n        \"1\",\n        \"0x242f9d5b\",\n        \"0x5492E1ecd7867AeAd78464EbD5def30F96d462ba\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0xa52e326e5d8ea661408ce595070c3ae9ebe09e1d\",\n        \"gas\": \"0x1097f\",\n        \"value\": \"0x0\",\n        \"input\": \"0x86546a490000000000000000000000000000000000000000000000000000000000000001242f9d5b000000000000000000000000000000000000000000000000000000000000000000000000000000005492e1ecd7867aead78464ebd5def30f96d462ba\",\n        \"nonce\": \"0x53\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0xc2eec46d138eb59eddcb3a405b2f96abb5c58367bf98bba999b152741df5dcb5\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"NitroEnclaveVerifier\",\n      \"contractAddress\": \"0xa52e326e5d8ea661408ce595070c3ae9ebe09e1d\",\n      \"function\": \"setProofSubmitter(address)\",\n      \"arguments\": [\n        \"0xf1d1441B7d98f191f5CFBE4660D3684FEa004AFc\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0xa52e326e5d8ea661408ce595070c3ae9ebe09e1d\",\n        \"gas\": \"0xac65\",\n        \"value\": \"0x0\",\n        \"input\": \"0xd06d5587000000000000000000000000f1d1441b7d98f191f5cfbe4660d3684fea004afc\",\n        \"nonce\": \"0x54\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x1e649071d91a4ec75921383b23f8f842dabf078808cdea49c8c5f44b1ad8b437\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"NitroEnclaveVerifier\",\n      \"contractAddress\": \"0xa52e326e5d8ea661408ce595070c3ae9ebe09e1d\",\n      \"function\": \"transferOwnership(address)\",\n      \"arguments\": [\n        \"0x856611eD7E07D83243b15E93f6321f2df6865852\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0xa52e326e5d8ea661408ce595070c3ae9ebe09e1d\",\n        \"gas\": \"0x99c9\",\n        \"value\": \"0x0\",\n        \"input\": \"0xf2fde38b000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852\",\n        \"nonce\": \"0x55\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x51afa0\",\n      \"logs\": [\n        {\n          \"address\": \"0xa52e326e5d8ea661408ce595070c3ae9ebe09e1d\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xd0ffa55a796f5fbf61c5cea02d836afd305f2dcad45f06e2bfe067cd173f2c30\",\n          \"blockNumber\": \"0x27d5fc\",\n          \"blockTimestamp\": \"0x69dd1dd4\",\n          \"transactionHash\": \"0x3b193068909627ab087b38a30ee5d537349ed3d74bd71414f509593e63bb7e0c\",\n          \"transactionIndex\": \"0x1c\",\n          \"logIndex\": \"0x11\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xa52e326e5d8ea661408ce595070c3ae9ebe09e1d\",\n          \"topics\": [\n            \"0x63f2d4dca4c937ba68e57bbddd2b0a3560e5b497593228dbea7372c127c16dc8\"\n          ],\n          \"data\": \"0x641a0321a3e244efe456463195d606317ed7cdcc3c1756e09893f3c68f79bb5b\",\n          \"blockHash\": \"0xd0ffa55a796f5fbf61c5cea02d836afd305f2dcad45f06e2bfe067cd173f2c30\",\n          \"blockNumber\": \"0x27d5fc\",\n          \"blockTimestamp\": \"0x69dd1dd4\",\n          \"transactionHash\": \"0x3b193068909627ab087b38a30ee5d537349ed3d74bd71414f509593e63bb7e0c\",\n          \"transactionIndex\": \"0x1c\",\n          \"logIndex\": \"0x12\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xa52e326e5d8ea661408ce595070c3ae9ebe09e1d\",\n          \"topics\": [\n            \"0x6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e20170\"\n          ],\n          \"data\": \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n          \"blockHash\": \"0xd0ffa55a796f5fbf61c5cea02d836afd305f2dcad45f06e2bfe067cd173f2c30\",\n          \"blockNumber\": \"0x27d5fc\",\n          \"blockTimestamp\": \"0x69dd1dd4\",\n          \"transactionHash\": \"0x3b193068909627ab087b38a30ee5d537349ed3d74bd71414f509593e63bb7e0c\",\n          \"transactionIndex\": \"0x1c\",\n          \"logIndex\": \"0x13\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xa52e326e5d8ea661408ce595070c3ae9ebe09e1d\",\n          \"topics\": [\n            \"0x8c7491c9018c0b332e7d992d1b37db1a61f4c075cb30e237cc826c52c3166cef\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001ce17a683c290c57ff91f00d4c0e6e6ec8aa2f73285af7d81b162327ba96321d6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032db7dc407ac886807277636a1633a1381748dd80000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xd0ffa55a796f5fbf61c5cea02d836afd305f2dcad45f06e2bfe067cd173f2c30\",\n          \"blockNumber\": \"0x27d5fc\",\n          \"blockTimestamp\": \"0x69dd1dd4\",\n          \"transactionHash\": \"0x3b193068909627ab087b38a30ee5d537349ed3d74bd71414f509593e63bb7e0c\",\n          \"transactionIndex\": \"0x1c\",\n          \"logIndex\": \"0x14\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000400000000000000000000000000000100000000802000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000020000000000000000000020000000000000000000800000000000000000000000000000000400000000400000000000000000000000000000000000000000000001000000000000008000008000000000000000000000000000001008000000400000000000000000000000800000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000080000400000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x3b193068909627ab087b38a30ee5d537349ed3d74bd71414f509593e63bb7e0c\",\n      \"transactionIndex\": \"0x1c\",\n      \"blockHash\": \"0xd0ffa55a796f5fbf61c5cea02d836afd305f2dcad45f06e2bfe067cd173f2c30\",\n      \"blockNumber\": \"0x27d5fc\",\n      \"gasUsed\": \"0x26ecca\",\n      \"effectiveGasPrice\": \"0x3b9aca07\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": null,\n      \"contractAddress\": \"0xa52e326e5d8ea661408ce595070c3ae9ebe09e1d\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x526fd8\",\n      \"logs\": [\n        {\n          \"address\": \"0xa52e326e5d8ea661408ce595070c3ae9ebe09e1d\",\n          \"topics\": [\n            \"0x760c87aaca384c3dc82d5bcce05884a75cf787ef7f7cacaef26a6822b2831dd4\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n            \"0x242f9d5b00000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x0000000000000000000000005492e1ecd7867aead78464ebd5def30f96d462ba\",\n          \"blockHash\": \"0xd0ffa55a796f5fbf61c5cea02d836afd305f2dcad45f06e2bfe067cd173f2c30\",\n          \"blockNumber\": \"0x27d5fc\",\n          \"blockTimestamp\": \"0x69dd1dd4\",\n          \"transactionHash\": \"0x0b8ca0bf75bee5c9c12319e72d35a585903a059c5f1b0053956f07c572e9a14d\",\n          \"transactionIndex\": \"0x1d\",\n          \"logIndex\": \"0x15\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000020000000000000000000000000000000001000000000000000000000000000000000001008000000000000000080000000000000000000000000000000000000000400000000000000000000040000000000000000000000000000000000000000000080000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x0b8ca0bf75bee5c9c12319e72d35a585903a059c5f1b0053956f07c572e9a14d\",\n      \"transactionIndex\": \"0x1d\",\n      \"blockHash\": \"0xd0ffa55a796f5fbf61c5cea02d836afd305f2dcad45f06e2bfe067cd173f2c30\",\n      \"blockNumber\": \"0x27d5fc\",\n      \"gasUsed\": \"0xc038\",\n      \"effectiveGasPrice\": \"0x3b9aca07\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0xa52e326e5d8ea661408ce595070c3ae9ebe09e1d\",\n      \"contractAddress\": null\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x329bb\",\n      \"logs\": [\n        {\n          \"address\": \"0xa52e326e5d8ea661408ce595070c3ae9ebe09e1d\",\n          \"topics\": [\n            \"0x6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e20170\"\n          ],\n          \"data\": \"0x000000000000000000000000f1d1441b7d98f191f5cfbe4660d3684fea004afc\",\n          \"blockHash\": \"0x327ee3f835c30e7dc799b46d6e1e3a788f53dda1f5023be5a8b2d4049568429b\",\n          \"blockNumber\": \"0x27d5fd\",\n          \"blockTimestamp\": \"0x69dd1de0\",\n          \"transactionHash\": \"0xc2eec46d138eb59eddcb3a405b2f96abb5c58367bf98bba999b152741df5dcb5\",\n          \"transactionIndex\": \"0x3\",\n          \"logIndex\": \"0x3\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001008000000400000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xc2eec46d138eb59eddcb3a405b2f96abb5c58367bf98bba999b152741df5dcb5\",\n      \"transactionIndex\": \"0x3\",\n      \"blockHash\": \"0x327ee3f835c30e7dc799b46d6e1e3a788f53dda1f5023be5a8b2d4049568429b\",\n      \"blockNumber\": \"0x27d5fd\",\n      \"gasUsed\": \"0x75e1\",\n      \"effectiveGasPrice\": \"0x3b9aca07\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0xa52e326e5d8ea661408ce595070c3ae9ebe09e1d\",\n      \"contractAddress\": null\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x6866ec\",\n      \"logs\": [\n        {\n          \"address\": \"0xa52e326e5d8ea661408ce595070c3ae9ebe09e1d\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n            \"0x000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x327ee3f835c30e7dc799b46d6e1e3a788f53dda1f5023be5a8b2d4049568429b\",\n          \"blockNumber\": \"0x27d5fd\",\n          \"blockTimestamp\": \"0x69dd1de0\",\n          \"transactionHash\": \"0x1e649071d91a4ec75921383b23f8f842dabf078808cdea49c8c5f44b1ad8b437\",\n          \"transactionIndex\": \"0x12\",\n          \"logIndex\": \"0x34\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000400000000000000000200000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000008000008000000000040000000000000000001008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200080000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x1e649071d91a4ec75921383b23f8f842dabf078808cdea49c8c5f44b1ad8b437\",\n      \"transactionIndex\": \"0x12\",\n      \"blockHash\": \"0x327ee3f835c30e7dc799b46d6e1e3a788f53dda1f5023be5a8b2d4049568429b\",\n      \"blockNumber\": \"0x27d5fd\",\n      \"gasUsed\": \"0x6f57\",\n      \"effectiveGasPrice\": \"0x3b9aca07\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0xa52e326e5d8ea661408ce595070c3ae9ebe09e1d\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1776098805552,\n  \"chain\": 560048,\n  \"commit\": \"5de5158\"\n}"
  },
  {
    "path": "zeronet/2026-04-07-upgrade-tee-registry-nitro/records/DeployAndSetupNitro.s.sol/560048/run-1776283373418.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x32ca48284cb3626d961ca55d332c310276342cff9194aaaf05bf2c43a5152f8a\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"NitroEnclaveVerifier\",\n      \"contractAddress\": \"0x4e3e30e148e803667913be97a8ce9eba39b65563\",\n      \"function\": null,\n      \"arguments\": [\n        \"0xb2d9a52e76841279EF0372c534C539a4f68f8C0B\",\n        \"3600\",\n        \"[]\",\n        \"[]\",\n        \"0x641a0321a3e244efe456463195d606317ed7cdcc3c1756e09893f3c68f79bb5b\",\n        \"0xb2d9a52e76841279EF0372c534C539a4f68f8C0B\",\n        \"0x5F109182a097c40Cc936742be4B55c1A08aC4dd9\",\n        \"1\",\n        \"(0xce17a683c290c57ff91f00d4c0e6e6ec8aa2f73285af7d81b162327ba96321d6, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x32Db7dc407AC886807277636a1633A1381748DD8)\",\n        \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"gas\": \"0x3317c9\",\n        \"value\": \"0x0\",\n        \"input\": \"0x608060405234801561000f575f5ffd5b5060405161308138038061308183398101604081905261002e91610517565b886001600160401b03165f0361005757604051635409e3e760e01b815260040160405180910390fd5b865188511461008a57875187516040516334a59dd760e01b81526004810192909252602482015260440160405180910390fd5b600480546001600160401b0319166001600160401b038b161790555f5b885181101561011e578781815181106100c2576100c26105fa565b602002602001015160035f8b84815181106100df576100df6105fa565b60209081029190910181015182528101919091526040015f2080546001600160401b0319166001600160401b03929092169190911790556001016100a7565b506101288a61016f565b610131866101aa565b61013a856101e6565b600180546001600160a01b0319166001600160a01b038616179055610160838383610259565b50505050505050505050610677565b6001600160a01b0316638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b60058190556040518181527f63f2d4dca4c937ba68e57bbddd2b0a3560e5b497593228dbea7372c127c16dc8906020015b60405180910390a150565b6001600160a01b03811661020c57604051629ef5cb60e01b815260040160405180910390fd5b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e20170906020016101db565b8160025f85600281111561026f5761026f61060e565b60028111156102805761028061060e565b815260208082019290925260409081015f20835181559183015160018301559190910151600290910180546001600160a01b0319166001600160a01b03909216919091179055815115610305578060075f8560028111156102e3576102e361060e565b60028111156102f4576102f461060e565b815260208101919091526040015f20555b7f8c7491c9018c0b332e7d992d1b37db1a61f4c075cb30e237cc826c52c3166cef83838360405161033893929190610622565b60405180910390a1505050565b80516001600160a01b038116811461035b575f5ffd5b919050565b80516001600160401b038116811461035b575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b03811182821017156103b2576103b2610376565b604052919050565b5f6001600160401b038211156103d2576103d2610376565b5060051b60200190565b5f82601f8301126103eb575f5ffd5b81516103fe6103f9826103ba565b61038a565b8082825260208201915060208360051b86010192508583111561041f575f5ffd5b602085015b8381101561043c578051835260209283019201610424565b5095945050505050565b5f82601f830112610455575f5ffd5b81516104636103f9826103ba565b8082825260208201915060208360051b860101925085831115610484575f5ffd5b602085015b8381101561043c5761049a81610360565b835260209283019201610489565b80516003811061035b575f5ffd5b5f606082840312156104c6575f5ffd5b604051606081016001600160401b03811182821017156104e8576104e8610376565b60409081528351825260208085015190830152909150819061050b908401610345565b60408201525092915050565b5f5f5f5f5f5f5f5f5f5f6101808b8d031215610531575f5ffd5b61053a8b610345565b995061054860208c01610360565b60408c01519099506001600160401b03811115610563575f5ffd5b61056f8d828e016103dc565b60608d015190995090506001600160401b0381111561058c575f5ffd5b6105988d828e01610446565b60808d015190985096506105b0905060a08c01610345565b94506105be60c08c01610345565b93506105cc60e08c016104a8565b92506105dc8c6101008d016104b6565b91505f6101608c01519050809150509295989b9194979a5092959850565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52602160045260245ffd5b60a081016003851061064257634e487b7160e01b5f52602160045260245ffd5b9381528251602080830191909152830151604080830191909152909201516001600160a01b0316606083015260809091015290565b6129fd806106845f395ff3fe6080604052600436106101c5575f3560e01c80638cb50c44116100f2578063dd4a471d11610092578063f2fde38b11610062578063f2fde38b14610521578063f8b507c714610534578063f9f91b1314610560578063fee81cf4146105c6575f5ffd5b8063dd4a471d1461049c578063e3f47695146104d0578063ea9e4857146104ef578063f04e283e1461050e575f5ffd5b8063a12b896a116100cd578063a12b896a14610413578063c9569bc314610432578063cc05c0b31461045e578063d06d55871461047d575f5ffd5b80638cb50c44146103bd5780638da5cb5b146103dc5780639083dd9d146103f4575f5ffd5b80635875335711610168578063715018a611610138578063715018a6146103625780637221e6fc1461036a57806374c183aa1461037f57806386546a491461039e575f5ffd5b806358753357146102cd57806363cd3456146102eb578063674515151461030a5780636d114be314610336575f5ffd5b8063369855e6116101a3578063369855e61461023c5780633a837cc21461027357806354d1f13d1461029257806354fd4d501461029a575f5ffd5b806325692962146101c957806331b361e0146101d357806335dec5d114610205575b5f5ffd5b6101d16105f7565b005b3480156101de575f5ffd5b506101f26101ed366004611b52565b610643565b6040519081526020015b60405180910390f35b348015610210575f5ffd5b50600154610224906001600160a01b031681565b6040516001600160a01b0390911681526020016101fc565b348015610247575f5ffd5b5060045461025b906001600160401b031681565b6040516001600160401b0390911681526020016101fc565b34801561027e575f5ffd5b506101d161028d366004611c17565b61067f565b6101d1610697565b3480156102a5575f5ffd5b5060408051808201825260058152640302e332e360dc1b602082015290516101fc9190611cce565b3480156102d8575f5ffd5b505f54610224906001600160a01b031681565b3480156102f6575f5ffd5b506101d1610305366004611cf7565b6106d0565b348015610315575f5ffd5b50610329610324366004611b52565b61080c565b6040516101fc9190611d28565b348015610341575f5ffd5b50610355610350366004611d96565b61089d565b6040516101fc9190611fff565b6101d16109a4565b348015610375575f5ffd5b506101f260055481565b34801561038a575f5ffd5b506101d1610399366004612011565b6109b7565b3480156103a9575f5ffd5b506101d16103b8366004612028565b6109cb565b3480156103c8575f5ffd5b506101d16103d7366004612011565b610b5f565b3480156103e7575f5ffd5b50638b78c6d81954610224565b3480156103ff575f5ffd5b506101d161040e366004612068565b610c42565b34801561041e575f5ffd5b5061022461042d366004611cf7565b610c93565b34801561043d575f5ffd5b5061045161044c366004611d96565b610d75565b6040516101fc9190612081565b348015610469575f5ffd5b506101d16104783660046120e4565b610fbe565b348015610488575f5ffd5b506101d1610497366004612068565b6110f1565b3480156104a7575f5ffd5b5061025b6104b6366004612011565b60036020525f90815260409020546001600160401b031681565b3480156104db575f5ffd5b506101d16104ea36600461212a565b611102565b3480156104fa575f5ffd5b506101d1610509366004612143565b611182565b6101d161051c366004612068565b61127b565b6101d161052f366004612068565b6112b5565b34801561053f575f5ffd5b5061055361054e36600461216b565b6112db565b6040516101fc91906121da565b34801561056b575f5ffd5b506105a261057a366004611b52565b600260208190525f91825260409091208054600182015491909201546001600160a01b031683565b6040805193845260208401929092526001600160a01b0316908201526060016101fc565b3480156105d1575f5ffd5b506101f26105e0366004612068565b63389a75e1600c9081525f91909152602090205490565b5f6202a3006001600160401b03164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f5fa250565b5f60075f83600281111561065957610659611e15565b600281111561066a5761066a611e15565b81526020019081526020015f20549050919050565b61068761145d565b610692838383611477565b505050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f5fa2565b6106d861145d565b5f60065f8460028111156106ee576106ee611e15565b60028111156106ff576106ff611e15565b815260208082019290925260409081015f9081206001600160e01b0319861682529092529020546001600160a01b0316905061deac1981016107605782826040516253454d60e31b815260040161075792919061222f565b60405180910390fd5b61dead60065f85600281111561077857610778611e15565b600281111561078957610789611e15565b815260208082019290925260409081015f9081206001600160e01b0319871680835293522080546001600160a01b0319166001600160a01b0393909316929092179091558360028111156107df576107df611e15565b6040517fcdce14b5df954ed0ddf4bd33cc38717ee1c46e06a27d69962dd7f03f70c449c4905f90a3505050565b61083660405180606001604052805f81526020015f81526020015f6001600160a01b031681525090565b60025f83600281111561084b5761084b611e15565b600281111561085c5761085c611e15565b815260208082019290925260409081015f20815160608101835281548152600182015493810193909352600201546001600160a01b03169082015292915050565b6108a5611ae2565b5f546001600160a01b031633146108cf5760405163fe0232c360e01b815260040160405180910390fd5b5f60025f8660028111156108e5576108e5611e15565b60028111156108f6576108f6611e15565b81526020019081526020015f205f01549050610916858289898888611563565b61092286880188612611565b915061092d826116ab565b915084600281111561094157610941611e15565b7f34d71c5db80e3c1db53f6d245503c531894f694aa26c7a967adf77167b126036835f0151846040516020016109779190611fff565b60408051601f1981840301815290829052610992929161264a565b60405180910390a25095945050505050565b6109ac61145d565b6109b55f61184e565b565b6109bf61145d565b6109c88161188b565b50565b6109d361145d565b6001600160a01b0381166109fa57604051630e3ba0af60e01b815260040160405180910390fd5b61deac196001600160a01b03821601610a265760405163043103a360e21b815260040160405180910390fd5b61dead60065f856002811115610a3e57610a3e611e15565b6002811115610a4f57610a4f611e15565b815260208082019290925260409081015f9081206001600160e01b0319871682529092529020546001600160a01b031603610aa05782826040516253454d60e31b815260040161075792919061222f565b8060065f856002811115610ab657610ab6611e15565b6002811115610ac757610ac7611e15565b815260208082019290925260409081015f9081206001600160e01b0319871680835293522080546001600160a01b0319166001600160a01b039390931692909217909155836002811115610b1d57610b1d611e15565b6040516001600160a01b03841681527f760c87aaca384c3dc82d5bcce05884a75cf787ef7f7cacaef26a6822b2831dd4906020015b60405180910390a3505050565b638b78c6d819546001600160a01b0316336001600160a01b031614158015610b9257506001546001600160a01b03163314155b15610bb057604051633ae98a0760e21b815260040160405180910390fd5b5f818152600360205260408120546001600160401b03169003610be957604051630eb0bcc760e31b815260048101829052602401610757565b5f8181526003602052604090819020805467ffffffffffffffff19169055517f49f59bec846fd3588d7d4900a9d7698f294a73043ed6c407d5c2cfa90b8b90d790610c379083815260200190565b60405180910390a150565b610c4a61145d565b600180546001600160a01b0319166001600160a01b0383169081179091556040517f5549026e79f4449c2656308378875b265aaf4002b1ef696785f9439da13d4e36905f90a250565b5f5f60065f856002811115610caa57610caa611e15565b6002811115610cbb57610cbb611e15565b815260208082019290925260409081015f9081206001600160e01b0319871682529092529020546001600160a01b0316905061deac198101610d135783836040516253454d60e31b815260040161075792919061222f565b6001600160a01b038116610d6c5760025f856002811115610d3657610d36611e15565b6002811115610d4757610d47611e15565b815260208101919091526040015f20600201546001600160a01b03169150610d6f9050565b90505b92915050565b5f546060906001600160a01b03163314610da25760405163fe0232c360e01b815260040160405180910390fd5b5f60025f866002811115610db857610db8611e15565b6002811115610dc957610dc9611e15565b81526020019081526020015f206001015490505f60025f876002811115610df257610df2611e15565b6002811115610e0357610e03611e15565b81526020019081526020015f205f015490505f60075f886002811115610e2b57610e2b611e15565b6002811115610e3c57610e3c611e15565b81526020019081526020015f20549050610e5a87848b8b8a8a611563565b5f610e67898b018b612669565b80519091508214610e9857805160405163086e561f60e21b8152610757918491600401918252602082015260400190565b602081015151806001600160401b03811115610eb657610eb6611b72565b604051908082528060200260200182016040528015610eef57816020015b610edc611ae2565b815260200190600190039081610ed45790505b5095505f5b81811015610f4757610f2283602001518281518110610f1557610f15612757565b60200260200101516116ab565b878281518110610f3457610f34612757565b6020908102919091010152600101610ef4565b50886002811115610f5a57610f5a611e15565b7fdfa767ad54931d8d889f34b418a66f09a0bec3406debbd9decbb8ce919c24ffe8588604051602001610f8d9190612081565b60408051601f1981840301815290829052610fa8929161276b565b60405180910390a2505050505095945050505050565b610fc661145d565b81610fe4576040516341a463a560e01b815260040160405180910390fd5b8160025f856002811115610ffa57610ffa611e15565b600281111561100b5761100b611e15565b81526020019081526020015f205f01540361103d578282604051633cf7da7760e21b8152600401610757929190612783565b8160025f85600281111561105357611053611e15565b600281111561106457611064611e15565b81526020019081526020015f205f01819055508060075f85600281111561108d5761108d611e15565b600281111561109e5761109e611e15565b815260208101919091526040015f2055818360028111156110c1576110c1611e15565b6040518381527f51084eb34dac0e8c796b2741ed1a6fed727311fc435b0af0dac30f0581dbce4990602001610b52565b6110f961145d565b6109c8816118c0565b61110a61145d565b806001600160401b03165f0361113357604051635409e3e760e01b815260040160405180910390fd5b6004805467ffffffffffffffff19166001600160401b0383169081179091556040519081527fc620470b92e1af69c914495bff0725d3f9ddef58f4e3dad2d2e5b2f4bf63f0e390602001610c37565b61118a61145d565b806111a8576040516341a463a560e01b815260040160405180910390fd5b8060025f8460028111156111be576111be611e15565b60028111156111cf576111cf611e15565b81526020019081526020015f206001015403611202578181604051633cf7da7760e21b8152600401610757929190612783565b8060025f84600281111561121857611218611e15565b600281111561122957611229611e15565b815260208101919091526040015f20600101558082600281111561124f5761124f611e15565b6040517fa13c7e79c76dcced91cc62c49db73a3a02935aef810eea7b7942625e94bc4070905f90a35050565b61128361145d565b63389a75e1600c52805f526020600c2080544211156112a957636f5e88185f526004601cfd5b5f90556109c88161184e565b6112bd61145d565b8060601b6112d257637448fbae5f526004601cfd5b6109c88161184e565b60605f826001600160401b038111156112f6576112f6611b72565b60405190808252806020026020018201604052801561131f578160200160208202803683370190505b506005549091505f5b8481101561145357365f87878481811061134457611344612757565b9050602002810190611356919061279e565b909250905060018483835f8161136e5761136e612757565b90506020020135146113b8578483835f81811061138d5761138d612757565b9050602002013560405163e4ac496b60e01b8152600401610757929190918252602082015260400190565b60015b82811015611421575f60035f8686858181106113d9576113d9612757565b602090810292909201358352508101919091526040015f20546001600160401b031690504281101561140b5750611421565b6114166001846127f7565b9250506001016113bb565b508086858151811061143557611435612757565b60ff9290921660209283029190910190910152505050600101611328565b5090949350505050565b638b78c6d8195433146109b5576382b429005f526004601cfd5b8160025f85600281111561148d5761148d611e15565b600281111561149e5761149e611e15565b815260208082019290925260409081015f20835181559183015160018301559190910151600290910180546001600160a01b0319166001600160a01b03909216919091179055815115611523578060075f85600281111561150157611501611e15565b600281111561151257611512611e15565b815260208101919091526040015f20555b7f8c7491c9018c0b332e7d992d1b37db1a61f4c075cb30e237cc826c52c3166cef83838360405161155693929190612810565b60405180910390a1505050565b5f61156f878484611933565b9050600187600281111561158557611585611e15565b0361163c57806001600160a01b031663ab750e7584848960028a8a6040516115ae929190612856565b602060405180830381855afa1580156115c9573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906115ec9190612865565b6040518563ffffffff1660e01b815260040161160b94939291906128a4565b5f6040518083038186803b158015611621575f5ffd5b505afa158015611633573d5f5f3e3d5ffd5b505050506116a2565b600287600281111561165057611650611e15565b036116895760405163020a49e360e51b81526001600160a01b038216906341493c609061160b90899089908990899089906004016128ca565b60405163146af65760e21b815260040160405180910390fd5b50505050505050565b6116b3611ae2565b6001825160048111156116c8576116c8611e15565b146116d1575090565b816020015160ff165f036116e757506002815290565b5f5b826020015160ff16811015611788575f8360600151828151811061170f5761170f612757565b60200260200101519050815f0361175157600554811461174b578360025b9081600481111561174057611740611e15565b905250929392505050565b50611780565b5f818152600360205260409020546001600160401b03164281101561177d575050600383525090919050565b50505b6001016116e9565b50602082015160ff165b8260600151518110156117e2575f836080015182815181106117b6576117b6612757565b60200260200101519050806001600160401b03164211156117d95783600461172d565b50600101611792565b505f6103e883604001516117f69190612902565b6004549091504290611811906001600160401b03168361293b565b6001600160401b0316111580611830575042816001600160401b031610155b1561183e5750506004815290565b61184783611a51565b5090919050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b60058190556040518181527f63f2d4dca4c937ba68e57bbddd2b0a3560e5b497593228dbea7372c127c16dc890602001610c37565b6001600160a01b0381166118e657604051629ef5cb60e01b815260040160405180910390fd5b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e2017090602001610c37565b5f80611942600482858761295a565b61194b91612981565b90505f60065f87600281111561196357611963611e15565b600281111561197457611974611e15565b815260208082019290925260409081015f9081206001600160e01b0319861682529092529020546001600160a01b0316905061deac1981016119cc5785826040516253454d60e31b815260040161075792919061222f565b6001600160a01b038116611a1f5760025f8760028111156119ef576119ef611e15565b6002811115611a0057611a00611e15565b815260208101919091526040015f20600201546001600160a01b031690505b6001600160a01b038116611a485785604051636725e36b60e11b815260040161075791906129b9565b95945050505050565b602081015160ff165b816060015151811015611ade575f82606001518281518110611a7e57611a7e612757565b6020026020010151905082608001518281518110611a9e57611a9e612757565b6020908102919091018101515f92835260039091526040909120805467ffffffffffffffff19166001600160401b03909216919091179055600101611a5a565b5050565b604080516101408101909152805f81526020015f60ff1681526020015f6001600160401b03168152602001606081526020016060815260200160608152602001606081526020016060815260200160608152602001606081525090565b803560038110611b4d575f5ffd5b919050565b5f60208284031215611b62575f5ffd5b611b6b82611b3f565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b604080519081016001600160401b0381118282101715611ba857611ba8611b72565b60405290565b60405161014081016001600160401b0381118282101715611ba857611ba8611b72565b604051601f8201601f191681016001600160401b0381118282101715611bf957611bf9611b72565b604052919050565b80356001600160a01b0381168114611b4d575f5ffd5b5f5f5f83850360a0811215611c2a575f5ffd5b611c3385611b3f565b93506060601f1982011215611c46575f5ffd5b50604051606081016001600160401b0381118282101715611c6957611c69611b72565b604090815260208681013583529086013590820152611c8a60608601611c01565b6040820152929592945050506080919091013590565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f611b6b6020830184611ca0565b80356001600160e01b031981168114611b4d575f5ffd5b5f5f60408385031215611d08575f5ffd5b611d1183611b3f565b9150611d1f60208401611ce0565b90509250929050565b81518152602080830151908201526040808301516001600160a01b03169082015260608101610d6f565b5f5f83601f840112611d62575f5ffd5b5081356001600160401b03811115611d78575f5ffd5b602083019150836020828501011115611d8f575f5ffd5b9250929050565b5f5f5f5f5f60608688031215611daa575f5ffd5b85356001600160401b03811115611dbf575f5ffd5b611dcb88828901611d52565b9096509450611dde905060208701611b3f565b925060408601356001600160401b03811115611df8575f5ffd5b611e0488828901611d52565b969995985093965092949392505050565b634e487b7160e01b5f52602160045260245ffd5b60058110611e3957611e39611e15565b9052565b5f8151808452602084019350602083015f5b82811015611e6d578151865260209586019590910190600101611e4f565b5093949350505050565b5f8151808452602084019350602083015f5b82811015611e6d5781516001600160401b0316865260209586019590910190600101611e89565b5f8151808452602084019350602083015f5b82811015611e6d57815180516001600160401b031687526020908101518051828901528101516001600160801b031916604088015260609096019590910190600101611ec2565b611f14828251611e29565b5f6020820151611f29602085018260ff169052565b506040820151611f4460408501826001600160401b03169052565b5060608201516101406060850152611f60610140850182611e3d565b905060808301518482036080860152611f798282611e77565b91505060a083015184820360a0860152611f938282611ca0565b91505060c083015184820360c0860152611fad8282611ca0565b91505060e083015184820360e0860152611fc78282611ca0565b915050610100830151848203610100860152611fe38282611eb0565b915050610120830151848203610120860152611a488282611ca0565b602081525f611b6b6020830184611f09565b5f60208284031215612021575f5ffd5b5035919050565b5f5f5f6060848603121561203a575f5ffd5b61204384611b3f565b925061205160208501611ce0565b915061205f60408501611c01565b90509250925092565b5f60208284031215612078575f5ffd5b611b6b82611c01565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156120d857603f198786030184526120c3858351611f09565b945060209384019391909101906001016120a7565b50929695505050505050565b5f5f5f606084860312156120f6575f5ffd5b6120ff84611b3f565b95602085013595506040909401359392505050565b80356001600160401b0381168114611b4d575f5ffd5b5f6020828403121561213a575f5ffd5b611b6b82612114565b5f5f60408385031215612154575f5ffd5b61215d83611b3f565b946020939093013593505050565b5f5f6020838503121561217c575f5ffd5b82356001600160401b03811115612191575f5ffd5b8301601f810185136121a1575f5ffd5b80356001600160401b038111156121b6575f5ffd5b8560208260051b84010111156121ca575f5ffd5b6020919091019590945092505050565b602080825282518282018190525f918401906040840190835b8181101561221457835160ff168352602093840193909201916001016121f3565b509095945050505050565b60038110611e3957611e39611e15565b6040810161223d828561221f565b63ffffffff60e01b831660208301529392505050565b803560058110611b4d575f5ffd5b803560ff81168114611b4d575f5ffd5b5f6001600160401b0382111561228957612289611b72565b5060051b60200190565b5f82601f8301126122a2575f5ffd5b81356122b56122b082612271565b611bd1565b8082825260208201915060208360051b8601019250858311156122d6575f5ffd5b602085015b838110156122f35780358352602092830192016122db565b5095945050505050565b5f82601f83011261230c575f5ffd5b813561231a6122b082612271565b8082825260208201915060208360051b86010192508583111561233b575f5ffd5b602085015b838110156122f35761235181612114565b835260209283019201612340565b5f82601f83011261236e575f5ffd5b8135602083015f5f6001600160401b0384111561238d5761238d611b72565b50601f8301601f19166020016123a281611bd1565b9150508281528583830111156123b6575f5ffd5b828260208301375f92810160200192909252509392505050565b5f82601f8301126123df575f5ffd5b81356123ed6122b082612271565b8082825260208201915060206060840286010192508583111561240e575f5ffd5b602085015b838110156122f357808703606081121561242b575f5ffd5b612433611b86565b61243c83612114565b81526040601f198301121561244f575f5ffd5b612457611b86565b60208401358152915060408301356001600160801b03198116811461247a575f5ffd5b6020838101919091528181019290925284529290920191606001612413565b5f61014082840312156124aa575f5ffd5b6124b2611bae565b90506124bd82612253565b81526124cb60208301612261565b60208201526124dc60408301612114565b604082015260608201356001600160401b038111156124f9575f5ffd5b61250584828501612293565b60608301525060808201356001600160401b03811115612523575f5ffd5b61252f848285016122fd565b60808301525060a08201356001600160401b0381111561254d575f5ffd5b6125598482850161235f565b60a08301525060c08201356001600160401b03811115612577575f5ffd5b6125838482850161235f565b60c08301525060e08201356001600160401b038111156125a1575f5ffd5b6125ad8482850161235f565b60e0830152506101008201356001600160401b038111156125cc575f5ffd5b6125d8848285016123d0565b610100830152506101208201356001600160401b038111156125f8575f5ffd5b6126048482850161235f565b6101208301525092915050565b5f60208284031215612621575f5ffd5b81356001600160401b03811115612636575f5ffd5b61264284828501612499565b949350505050565b6126548184611e29565b604060208201525f6126426040830184611ca0565b5f60208284031215612679575f5ffd5b81356001600160401b0381111561268e575f5ffd5b82016040818503121561269f575f5ffd5b6126a7611b86565b8135815260208201356001600160401b038111156126c3575f5ffd5b80830192505084601f8301126126d7575f5ffd5b81356126e56122b082612271565b8082825260208201915060208360051b860101925087831115612706575f5ffd5b602085015b838110156127465780356001600160401b03811115612728575f5ffd5b6127378a6020838a0101612499565b8452506020928301920161270b565b506020840152509095945050505050565b634e487b7160e01b5f52603260045260245ffd5b828152604060208201525f6126426040830184611ca0565b60408101612791828561221f565b8260208301529392505050565b5f5f8335601e198436030181126127b3575f5ffd5b8301803591506001600160401b038211156127cc575f5ffd5b6020019150600581901b3603821315611d8f575f5ffd5b634e487b7160e01b5f52601160045260245ffd5b60ff8181168382160190811115610d6f57610d6f6127e3565b60a0810161281e828661221f565b612848602083018580518252602080820151908301526040908101516001600160a01b0316910152565b826080830152949350505050565b818382375f9101908152919050565b5f60208284031215612875575f5ffd5b5051919050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b606081525f6128b760608301868861287c565b6020830194909452506040015292915050565b858152606060208201525f6128e360608301868861287c565b82810360408401526128f681858761287c565b98975050505050505050565b5f6001600160401b0383168061292657634e487b7160e01b5f52601260045260245ffd5b806001600160401b0384160491505092915050565b6001600160401b038181168382160190811115610d6f57610d6f6127e3565b5f5f85851115612968575f5ffd5b83861115612974575f5ffd5b5050820193919092039150565b80356001600160e01b031981169060048410156129b2576001600160e01b0319600485900360031b81901b82161691505b5092915050565b60208101610d6f828461221f56fea2646970667358221220c6d4102ba5e3c055e8fd912a7f131d05009e9bfdac524a9f3bf8ba3e02dd386f64736f6c634300081c0033000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b0000000000000000000000000000000000000000000000000000000000000e10000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001a0641a0321a3e244efe456463195d606317ed7cdcc3c1756e09893f3c68f79bb5b000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b0000000000000000000000005f109182a097c40cc936742be4b55c1a08ac4dd90000000000000000000000000000000000000000000000000000000000000001ce17a683c290c57ff91f00d4c0e6e6ec8aa2f73285af7d81b162327ba96321d6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032db7dc407ac886807277636a1633a1381748dd8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x58\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x4ed172aff51b7dfa7ee1f5524647c4ecf73a8ae98dbfa7cd7ed110e2b1a28723\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"NitroEnclaveVerifier\",\n      \"contractAddress\": \"0x4e3e30e148e803667913be97a8ce9eba39b65563\",\n      \"function\": \"addVerifyRoute(uint8,bytes4,address)\",\n      \"arguments\": [\n        \"1\",\n        \"0x242f9d5b\",\n        \"0x5492E1ecd7867AeAd78464EbD5def30F96d462ba\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x4e3e30e148e803667913be97a8ce9eba39b65563\",\n        \"gas\": \"0x1097f\",\n        \"value\": \"0x0\",\n        \"input\": \"0x86546a490000000000000000000000000000000000000000000000000000000000000001242f9d5b000000000000000000000000000000000000000000000000000000000000000000000000000000005492e1ecd7867aead78464ebd5def30f96d462ba\",\n        \"nonce\": \"0x59\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x032490a925ff628e870b5b66cd20d4bf2a29f8b3a1f0f89aabc26644267988f4\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"NitroEnclaveVerifier\",\n      \"contractAddress\": \"0x4e3e30e148e803667913be97a8ce9eba39b65563\",\n      \"function\": \"setProofSubmitter(address)\",\n      \"arguments\": [\n        \"0xf1d1441B7d98f191f5CFBE4660D3684FEa004AFc\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x4e3e30e148e803667913be97a8ce9eba39b65563\",\n        \"gas\": \"0xac65\",\n        \"value\": \"0x0\",\n        \"input\": \"0xd06d5587000000000000000000000000f1d1441b7d98f191f5cfbe4660d3684fea004afc\",\n        \"nonce\": \"0x5a\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    },\n    {\n      \"hash\": \"0x0b2dd5e00a1bb071c2f38b05b5b468bd8613f6d68090c561cbf933e6149416d1\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": \"NitroEnclaveVerifier\",\n      \"contractAddress\": \"0x4e3e30e148e803667913be97a8ce9eba39b65563\",\n      \"function\": \"transferOwnership(address)\",\n      \"arguments\": [\n        \"0x856611eD7E07D83243b15E93f6321f2df6865852\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x4e3e30e148e803667913be97a8ce9eba39b65563\",\n        \"gas\": \"0x99c9\",\n        \"value\": \"0x0\",\n        \"input\": \"0xf2fde38b000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852\",\n        \"nonce\": \"0x5b\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x4a4285\",\n      \"logs\": [\n        {\n          \"address\": \"0x4e3e30e148e803667913be97a8ce9eba39b65563\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf2981b11d07de2498e430a6e379d14489c39812113700ef36b7b12a21ea567ad\",\n          \"blockNumber\": \"0x280d0a\",\n          \"blockTimestamp\": \"0x69dfeec4\",\n          \"transactionHash\": \"0x32ca48284cb3626d961ca55d332c310276342cff9194aaaf05bf2c43a5152f8a\",\n          \"transactionIndex\": \"0x28\",\n          \"logIndex\": \"0x1a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x4e3e30e148e803667913be97a8ce9eba39b65563\",\n          \"topics\": [\n            \"0x63f2d4dca4c937ba68e57bbddd2b0a3560e5b497593228dbea7372c127c16dc8\"\n          ],\n          \"data\": \"0x641a0321a3e244efe456463195d606317ed7cdcc3c1756e09893f3c68f79bb5b\",\n          \"blockHash\": \"0xf2981b11d07de2498e430a6e379d14489c39812113700ef36b7b12a21ea567ad\",\n          \"blockNumber\": \"0x280d0a\",\n          \"blockTimestamp\": \"0x69dfeec4\",\n          \"transactionHash\": \"0x32ca48284cb3626d961ca55d332c310276342cff9194aaaf05bf2c43a5152f8a\",\n          \"transactionIndex\": \"0x28\",\n          \"logIndex\": \"0x1b\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x4e3e30e148e803667913be97a8ce9eba39b65563\",\n          \"topics\": [\n            \"0x6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e20170\"\n          ],\n          \"data\": \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n          \"blockHash\": \"0xf2981b11d07de2498e430a6e379d14489c39812113700ef36b7b12a21ea567ad\",\n          \"blockNumber\": \"0x280d0a\",\n          \"blockTimestamp\": \"0x69dfeec4\",\n          \"transactionHash\": \"0x32ca48284cb3626d961ca55d332c310276342cff9194aaaf05bf2c43a5152f8a\",\n          \"transactionIndex\": \"0x28\",\n          \"logIndex\": \"0x1c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x4e3e30e148e803667913be97a8ce9eba39b65563\",\n          \"topics\": [\n            \"0x8c7491c9018c0b332e7d992d1b37db1a61f4c075cb30e237cc826c52c3166cef\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001ce17a683c290c57ff91f00d4c0e6e6ec8aa2f73285af7d81b162327ba96321d6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032db7dc407ac886807277636a1633a1381748dd80000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xf2981b11d07de2498e430a6e379d14489c39812113700ef36b7b12a21ea567ad\",\n          \"blockNumber\": \"0x280d0a\",\n          \"blockTimestamp\": \"0x69dfeec4\",\n          \"transactionHash\": \"0x32ca48284cb3626d961ca55d332c310276342cff9194aaaf05bf2c43a5152f8a\",\n          \"transactionIndex\": \"0x28\",\n          \"logIndex\": \"0x1d\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000400000000000000000004001000000100000000802000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000020000000000000000000020000000000000000000800000000000000000000000000000000400000000400000000000000000000000000000000000000000000001000000000000008000008000000000000000000000000000000000000000400000000000000000000000800000000000000000000000000000000000000000000100020000000000000000000000000000000000000000000000000400000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x32ca48284cb3626d961ca55d332c310276342cff9194aaaf05bf2c43a5152f8a\",\n      \"transactionIndex\": \"0x28\",\n      \"blockHash\": \"0xf2981b11d07de2498e430a6e379d14489c39812113700ef36b7b12a21ea567ad\",\n      \"blockNumber\": \"0x280d0a\",\n      \"gasUsed\": \"0x274d60\",\n      \"effectiveGasPrice\": \"0x3b9aca07\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": null,\n      \"contractAddress\": \"0x4e3e30e148e803667913be97a8ce9eba39b65563\"\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x63640b\",\n      \"logs\": [\n        {\n          \"address\": \"0x4e3e30e148e803667913be97a8ce9eba39b65563\",\n          \"topics\": [\n            \"0x760c87aaca384c3dc82d5bcce05884a75cf787ef7f7cacaef26a6822b2831dd4\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n            \"0x242f9d5b00000000000000000000000000000000000000000000000000000000\"\n          ],\n          \"data\": \"0x0000000000000000000000005492e1ecd7867aead78464ebd5def30f96d462ba\",\n          \"blockHash\": \"0xf2981b11d07de2498e430a6e379d14489c39812113700ef36b7b12a21ea567ad\",\n          \"blockNumber\": \"0x280d0a\",\n          \"blockTimestamp\": \"0x69dfeec4\",\n          \"transactionHash\": \"0x4ed172aff51b7dfa7ee1f5524647c4ecf73a8ae98dbfa7cd7ed110e2b1a28723\",\n          \"transactionIndex\": \"0x2e\",\n          \"logIndex\": \"0x34\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000004001000000000000000000000000000000000000020000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000020000000000000000000000000000000001000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000400000000000000000100040000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x4ed172aff51b7dfa7ee1f5524647c4ecf73a8ae98dbfa7cd7ed110e2b1a28723\",\n      \"transactionIndex\": \"0x2e\",\n      \"blockHash\": \"0xf2981b11d07de2498e430a6e379d14489c39812113700ef36b7b12a21ea567ad\",\n      \"blockNumber\": \"0x280d0a\",\n      \"gasUsed\": \"0xc038\",\n      \"effectiveGasPrice\": \"0x3b9aca07\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x4e3e30e148e803667913be97a8ce9eba39b65563\",\n      \"contractAddress\": null\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xecec9\",\n      \"logs\": [\n        {\n          \"address\": \"0x4e3e30e148e803667913be97a8ce9eba39b65563\",\n          \"topics\": [\n            \"0x6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e20170\"\n          ],\n          \"data\": \"0x000000000000000000000000f1d1441b7d98f191f5cfbe4660d3684fea004afc\",\n          \"blockHash\": \"0xe4cd4f9b62d92a9ed37c6f6d8ba6060e676534ffe14e74894b6eb5415713a9e3\",\n          \"blockNumber\": \"0x280d0b\",\n          \"blockTimestamp\": \"0x69dfeed0\",\n          \"transactionHash\": \"0x032490a925ff628e870b5b66cd20d4bf2a29f8b3a1f0f89aabc26644267988f4\",\n          \"transactionIndex\": \"0xf\",\n          \"logIndex\": \"0x13\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000004001000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000800000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x032490a925ff628e870b5b66cd20d4bf2a29f8b3a1f0f89aabc26644267988f4\",\n      \"transactionIndex\": \"0xf\",\n      \"blockHash\": \"0xe4cd4f9b62d92a9ed37c6f6d8ba6060e676534ffe14e74894b6eb5415713a9e3\",\n      \"blockNumber\": \"0x280d0b\",\n      \"gasUsed\": \"0x75e1\",\n      \"effectiveGasPrice\": \"0x3b9aca07\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x4e3e30e148e803667913be97a8ce9eba39b65563\",\n      \"contractAddress\": null\n    },\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x3387ec\",\n      \"logs\": [\n        {\n          \"address\": \"0x4e3e30e148e803667913be97a8ce9eba39b65563\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n            \"0x000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xe4cd4f9b62d92a9ed37c6f6d8ba6060e676534ffe14e74894b6eb5415713a9e3\",\n          \"blockNumber\": \"0x280d0b\",\n          \"blockTimestamp\": \"0x69dfeed0\",\n          \"transactionHash\": \"0x0b2dd5e00a1bb071c2f38b05b5b468bd8613f6d68090c561cbf933e6149416d1\",\n          \"transactionIndex\": \"0x15\",\n          \"logIndex\": \"0x25\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000400000000000000000204001000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000008000008000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000200000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x0b2dd5e00a1bb071c2f38b05b5b468bd8613f6d68090c561cbf933e6149416d1\",\n      \"transactionIndex\": \"0x15\",\n      \"blockHash\": \"0xe4cd4f9b62d92a9ed37c6f6d8ba6060e676534ffe14e74894b6eb5415713a9e3\",\n      \"blockNumber\": \"0x280d0b\",\n      \"gasUsed\": \"0x6f57\",\n      \"effectiveGasPrice\": \"0x3b9aca07\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x4e3e30e148e803667913be97a8ce9eba39b65563\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1776283373418,\n  \"chain\": 560048,\n  \"commit\": \"5a214a5\"\n}"
  },
  {
    "path": "zeronet/2026-04-07-upgrade-tee-registry-nitro/records/DeployTeeProverRegistryImpl.s.sol/560048/run-1776098855904.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x1a80c0107be40357ed70efd6cb1fc89a168c07ae0f2ff434310615c304ff5ad1\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"TEEProverRegistry\",\n      \"contractAddress\": \"0x97a4fa7db39950c53847bdffed9b1537638a7b6d\",\n      \"function\": null,\n      \"arguments\": [\n        \"0xA52E326E5d8Ea661408ce595070C3ae9ebe09e1d\",\n        \"0x154972aB98A5e321a9c7aB7677973f1F501a8090\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"gas\": \"0x2194d2\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c06040523480156200001157600080fd5b5060405162002349380380620023498339810160408190526200003491620006a1565b6001600160a01b0381166200005c57604051635af9c0d760e11b815260040160405180910390fd5b6001600160a01b03828116608052811660a05260408051600080825260208201909252620000909161dead91829162000098565b50506200071e565b600054610100900460ff1615808015620000b95750600054600160ff909116105b80620000e95750620000d6306200031160201b62000aa71760201c565b158015620000e9575060005460ff166001145b620001525760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801562000176576000805461ff0019166101001790555b6200018062000320565b6200018b8562000388565b62000196846200040e565b6065805463ffffffff191663ffffffff841617905560005b8351811015620002c25760006001600160a01b0316848281518110620001d857620001d8620006e0565b60200260200101516001600160a01b031614620002ad576001606860008684815181106200020a576200020a620006e0565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055508381815181106200025e576200025e620006e0565b60200260200101516001600160a01b03167ffc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d26001604051620002a4911515815260200190565b60405180910390a25b80620002b981620006f6565b915050620001ae565b5080156200030a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b6001600160a01b03163b151590565b600054610100900460ff166200037c5760405162461bcd60e51b815260206004820152602b60248201526000805160206200232983398151915260448201526a6e697469616c697a696e6760a81b606482015260840162000149565b6200038662000493565b565b6200039262000505565b6001600160a01b038116620004005760405162461bcd60e51b815260206004820152602d60248201527f4f776e61626c654d616e616765643a206e6577206f776e65722069732074686560448201526c207a65726f206164647265737360981b606482015260840162000149565b6200040b8162000560565b50565b62000418620005b2565b6001600160a01b038116620004885760405162461bcd60e51b815260206004820152602f60248201527f4f776e61626c654d616e616765643a206e6577206d616e61676572206973207460448201526e6865207a65726f206164647265737360881b606482015260840162000149565b6200040b8162000639565b600054610100900460ff16620004ef5760405162461bcd60e51b815260206004820152602b60248201526000805160206200232983398151915260448201526a6e697469616c697a696e6760a81b606482015260840162000149565b620004fa3362000560565b620003863362000639565b6033546001600160a01b03163314620003865760405162461bcd60e51b8152602060048201526027602482015260008051602062002309833981519152604482015266329037bbb732b960c91b606482015260840162000149565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6033546001600160a01b0316331480620005d657506034546001600160a01b031633145b620003865760405162461bcd60e51b815260206004820152603660248201526000805160206200230983398151915260448201527f65206f776e6572206f7220746865206d616e6167657200000000000000000000606482015260840162000149565b603480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c8590600090a35050565b6001600160a01b03811681146200040b57600080fd5b60008060408385031215620006b557600080fd5b8251620006c2816200068b565b6020840151909250620006d5816200068b565b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b6000600182016200071757634e487b7160e01b600052601160045260246000fd5b5060010190565b60805160a051611bb762000752600039600081816101ff0152610d9e0152600081816102ac01526107340152611bb76000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806394a277d1116100b8578063d25600561161007c578063d2560056146102ce578063d5f5058214610301578063e4edf85214610314578063e8533e2914610327578063e9ed9b641461034a578063f2fde38b1461035d57600080fd5b806394a277d11461025257806394b2822f1461025a578063ba58e82a1461026f578063bbdc02db14610282578063c80d23f6146102a757600080fd5b806354fd4d501161010a57806354fd4d50146101b85780636666efdb146101df578063715018a6146101f257806382ff53a1146101fa57806386b4ebd3146102215780638da5cb5b1461024157600080fd5b8063089208d8146101475780630ba24fe0146101515780630dcaeaf2146101645780632712e20d14610180578063481c6a7514610193575b600080fd5b61014f610370565b005b61014f61015f366004611285565b610384565b61016d610e1081565b6040519081526020015b60405180910390f35b61014f61018e36600461137a565b6103fa565b6034546001600160a01b03165b6040516001600160a01b039091168152602001610177565b60408051808201825260058152640302e352e360dc1b602082015290516101779190611481565b61014f6101ed3660046114b4565b610644565b61014f6106e5565b6101a07f000000000000000000000000000000000000000000000000000000000000000081565b61016d61022f366004611285565b60676020526000908152604090205481565b6033546001600160a01b03166101a0565b61016d6106f7565b610262610706565b60405161017791906114cf565b61014f61027d366004611565565b610712565b6065546102929063ffffffff1681565b60405163ffffffff9091168152602001610177565b6101a07f000000000000000000000000000000000000000000000000000000000000000081565b6102f16102dc366004611285565b60666020526000908152604090205460ff1681565b6040519015158152602001610177565b6102f161030f366004611285565b6108f5565b61014f610322366004611285565b610941565b6102f1610335366004611285565b60686020526000908152604090205460ff1681565b61014f6103583660046115d1565b6109c3565b61014f61036b366004611285565b610a2a565b610378610ab6565b6103826000610b44565b565b61038c610ab6565b6001600160a01b0381166000908152606660209081526040808320805460ff1916905560679091528120556103c2606982610b96565b506040516001600160a01b038216907fb64c2e472ebdc8f61a76438be3074f3e38569b2ebd8a9cc71dcc9b181defd78e90600090a250565b600054610100900460ff161580801561041a5750600054600160ff909116105b806104345750303b158015610434575060005460ff166001145b61049c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156104bf576000805461ff0019166101001790555b6104c7610ce1565b6104d085610a2a565b6104d984610941565b6065805463ffffffff191663ffffffff841617905560005b83518110156105f65760006001600160a01b03168482815181106105175761051761160f565b60200260200101516001600160a01b0316146105e4576001606860008684815181106105455761054561160f565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055508381815181106105965761059661160f565b60200260200101516001600160a01b03167ffc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d260016040516105db911515815260200190565b60405180910390a25b806105ee8161163b565b9150506104f1565b50801561063d576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b61064c610d10565b6065805463ffffffff83811663ffffffff1983161790925516600061066f610d7a565b9050806106a7576065805463ffffffff841663ffffffff19909116179055604080516313d0866160e11b815290519081900360040190fd5b60405163ffffffff841681527fde7d61181e5b13fcab68f1d4a0be52854e613272de874356f9d0102594aa4e9b9060200160405180910390a1505050565b6106ed610d10565b6103826000610ee5565b6000610701610d7a565b905090565b60606107016069610f37565b61071a610ab6565b604051636d114be360e01b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636d114be390610772908890889060019089908990600401611693565b6000604051808303816000875af1158015610791573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107b9919081019061192b565b90506001815160048111156107d0576107d061167d565b146107ee576040516320dd787760e11b815260040160405180910390fd5b42610e106103e8836040015167ffffffffffffffff1661080e9190611aaa565b6108189190611acc565b116108365760405163696bbf1f60e01b815260040160405180910390fd5b600061084682610100015161100c565b60e08301518051919250906041146108715760405163145a1fdd60e31b815260040160405180910390fd5b6040602182018190206001600160a01b038116600090815260666020908152838220805460ff191660011790556067905291909120839055806108b56069826110e3565b506040516001600160a01b038216907f97110439909bcbb4488918a0cbe54781949ecf5d1415e972bf922a92df93fb3f90600090a2505050505050505050565b6001600160a01b03811660009081526066602052604081205460ff16801561093b5750610920610d7a565b6001600160a01b038316600090815260676020526040902054145b92915050565b610949610ab6565b6001600160a01b0381166109b75760405162461bcd60e51b815260206004820152602f60248201527f4f776e61626c654d616e616765643a206e6577206d616e61676572206973207460448201526e6865207a65726f206164647265737360881b6064820152608401610493565b6109c081610b44565b50565b6109cb610d10565b6001600160a01b038216600081815260686020908152604091829020805460ff191685151590811790915591519182527ffc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d2910160405180910390a25050565b610a32610d10565b6001600160a01b038116610a9e5760405162461bcd60e51b815260206004820152602d60248201527f4f776e61626c654d616e616765643a206e6577206f776e65722069732074686560448201526c207a65726f206164647265737360981b6064820152608401610493565b6109c081610ee5565b6001600160a01b03163b151590565b6033546001600160a01b0316331480610ad957506034546001600160a01b031633145b6103825760405162461bcd60e51b815260206004820152603660248201527f4f776e61626c654d616e616765643a2063616c6c6572206973206e6f74207468604482015275329037bbb732b91037b9103a34329036b0b730b3b2b960511b6064820152608401610493565b603480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c8590600090a35050565b63978aab926004526000828152602481206001600160a01b03929092169168fbb67fda52d4bfb8be198301610bd35763f5a267f16000526004601cfd5b82610be55768fbb67fda52d4bfb8bf92505b80546bffffffffffffffffffffffff811680610c685760019350848260601c03610c2357600183018054845560028401805490915560009055610cd8565b84600184015460601c03610c4557600283018054600185015560009055610cd8565b84600284015460601c03610c5f5760006002840155610cd8565b60009350610cd8565b82602052846000526040600020805480610c83575050610cd8565b60018360011c039250826001820314610cbb578285015460601c8060601b600183038701556000848701558060005250806040600020555b5060018260011b17845460601c60601b1784556000815550600193505b50505092915050565b600054610100900460ff16610d085760405162461bcd60e51b815260040161049390611ae4565b610382611237565b6033546001600160a01b031633146103825760405162461bcd60e51b815260206004820152602760248201527f4f776e61626c654d616e616765643a2063616c6c6572206973206e6f74207468604482015266329037bbb732b960c91b6064820152608401610493565b606554604051630db42dcf60e11b815263ffffffff909116600482015260009081907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631b685b9e90602401602060405180830381865afa158015610ded573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e119190611b2f565b60408051600481526024810182526020810180516001600160e01b03166260ff5160e21b179052905191925060009182916001600160a01b03851691610e579190611b4c565b600060405180830381855afa9150503d8060008114610e92576040519150601f19603f3d011682016040523d82523d6000602084013e610e97565b606091505b5091509150811580610eab57508051602014155b15610ec957604051639fb4826960e01b815260040160405180910390fd5b80806020019051810190610edd9190611b68565b935050505090565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b63978aab926004526000818152602481206060915068fbb67fda52d4bfb8bf81548060a01b60a01c6040519450846020018260601c9250838314158302815281610fc6578215610fc157600191508185015460601c92508215610fc1578284141590920260208301525060028381015460601c918215610fc1576003915083831415830260408201525b610ff6565b600191821c915b82811015610ff4578581015460601c858114158102600583901b8401529350600101610fcd565b505b8186528160051b81016040525050505050919050565b6000805b82518110156110c95782818151811061102b5761102b61160f565b60200260200101516000015167ffffffffffffffff166000036110b757600083828151811061105c5761105c61160f565b6020026020010151602001519050806000015181602001516040516020016110989291909182526001600160801b031916602082015260300190565b6040516020818303038152906040528051906020012092505050919050565b806110c18161163b565b915050611010565b506040516385269c3d60e01b815260040160405180910390fd5b63978aab926004526000828152602481206001600160a01b03929092169168fbb67fda52d4bfb8be1983016111205763f5a267f16000526004601cfd5b826111325768fbb67fda52d4bfb8bf92505b80546bffffffffffffffffffffffff811682602052806111fa578160601c80611165578560601b84556001945050610cd8565b8581036111725750610cd8565b600184015460601c80611193578660601b6001860155600195505050610cd8565b8681036111a1575050610cd8565b600285015460601c806111c3578760601b600287015560019650505050610cd8565b8781036111d257505050610cd8565b6000928352604080842060019055918352818320600290558252902060039055506007908117905b846000526040600020805461122d578160011c91508560601b828501558160010181558260020184556001945050610cd8565b5050505092915050565b600054610100900460ff1661125e5760405162461bcd60e51b815260040161049390611ae4565b61126733610ee5565b61038233610b44565b6001600160a01b03811681146109c057600080fd5b60006020828403121561129757600080fd5b81356112a281611270565b9392505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156112e2576112e26112a9565b60405290565b604051610140810167ffffffffffffffff811182821017156112e2576112e26112a9565b604051601f8201601f1916810167ffffffffffffffff81118282101715611335576113356112a9565b604052919050565b600067ffffffffffffffff821115611357576113576112a9565b5060051b60200190565b803563ffffffff8116811461137557600080fd5b919050565b6000806000806080858703121561139057600080fd5b843561139b81611270565b93506020858101356113ac81611270565b9350604086013567ffffffffffffffff8111156113c857600080fd5b8601601f810188136113d957600080fd5b80356113ec6113e78261133d565b61130c565b81815260059190911b8201830190838101908a83111561140b57600080fd5b928401925b8284101561143257833561142381611270565b82529284019290840190611410565b809650505050505061144660608601611361565b905092959194509250565b60005b8381101561146c578181015183820152602001611454565b8381111561147b576000848401525b50505050565b60208152600082518060208401526114a0816040850160208701611451565b601f01601f19169190910160400192915050565b6000602082840312156114c657600080fd5b6112a282611361565b6020808252825182820181905260009190848201906040850190845b818110156115105783516001600160a01b0316835292840192918401916001016114eb565b50909695505050505050565b60008083601f84011261152e57600080fd5b50813567ffffffffffffffff81111561154657600080fd5b60208301915083602082850101111561155e57600080fd5b9250929050565b6000806000806040858703121561157b57600080fd5b843567ffffffffffffffff8082111561159357600080fd5b61159f8883890161151c565b909650945060208701359150808211156115b857600080fd5b506115c58782880161151c565b95989497509550505050565b600080604083850312156115e457600080fd5b82356115ef81611270565b91506020830135801515811461160457600080fd5b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161164d5761164d611625565b5060010190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b634e487b7160e01b600052602160045260246000fd5b6060815260006116a7606083018789611654565b600386106116c557634e487b7160e01b600052602160045260246000fd5b85602084015282810360408401526116de818587611654565b98975050505050505050565b80516005811061137557600080fd5b805160ff8116811461137557600080fd5b805167ffffffffffffffff8116811461137557600080fd5b600082601f83011261173357600080fd5b815160206117436113e78361133d565b82815260059290921b8401810191818101908684111561176257600080fd5b8286015b8481101561177d5780518352918301918301611766565b509695505050505050565b600082601f83011261179957600080fd5b815160206117a96113e78361133d565b82815260059290921b840181019181810190868411156117c857600080fd5b8286015b8481101561177d576117dd8161170a565b83529183019183016117cc565b600082601f8301126117fb57600080fd5b815167ffffffffffffffff811115611815576118156112a9565b611828601f8201601f191660200161130c565b81815284602083860101111561183d57600080fd5b61184e826020830160208701611451565b949350505050565b600082601f83011261186757600080fd5b815160206118776113e78361133d565b8281526060928302850182019282820191908785111561189657600080fd5b8387015b8581101561191e57808903828112156118b35760008081fd5b6118bb6112bf565b6118c48361170a565b8152604080601f19840112156118da5760008081fd5b6118e26112bf565b848901518152908401519092506001600160801b0319811681146119065760008081fd5b8288015280870191909152845292840192810161189a565b5090979650505050505050565b60006020828403121561193d57600080fd5b815167ffffffffffffffff8082111561195557600080fd5b90830190610140828603121561196a57600080fd5b6119726112e8565b61197b836116ea565b8152611989602084016116f9565b602082015261199a6040840161170a565b60408201526060830151828111156119b157600080fd5b6119bd87828601611722565b6060830152506080830151828111156119d557600080fd5b6119e187828601611788565b60808301525060a0830151828111156119f957600080fd5b611a05878286016117ea565b60a08301525060c083015182811115611a1d57600080fd5b611a29878286016117ea565b60c08301525060e083015182811115611a4157600080fd5b611a4d878286016117ea565b60e0830152506101008084015183811115611a6757600080fd5b611a7388828701611856565b8284015250506101208084015183811115611a8d57600080fd5b611a99888287016117ea565b918301919091525095945050505050565b600082611ac757634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115611adf57611adf611625565b500190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600060208284031215611b4157600080fd5b81516112a281611270565b60008251611b5e818460208701611451565b9190910192915050565b600060208284031215611b7a57600080fd5b505191905056fea2646970667358221220b6a0217189f5c33a2e8718bdc90443e9d036fca9f7adad11f8131995f976e6f764736f6c634300080f00334f776e61626c654d616e616765643a2063616c6c6572206973206e6f74207468496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069000000000000000000000000a52e326e5d8ea661408ce595070c3ae9ebe09e1d000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a8090\",\n        \"nonce\": \"0x56\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x424c41\",\n      \"logs\": [\n        {\n          \"address\": \"0x97a4fa7db39950c53847bdffed9b1537638a7b6d\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x6115d5c1dc0da4d6564798bb01e30f1840e5c728cfa3d2bedba5f96b7374026d\",\n          \"blockNumber\": \"0x27d600\",\n          \"blockTimestamp\": \"0x69dd1e10\",\n          \"transactionHash\": \"0x1a80c0107be40357ed70efd6cb1fc89a168c07ae0f2ff434310615c304ff5ad1\",\n          \"transactionIndex\": \"0xf\",\n          \"logIndex\": \"0x1c\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x97a4fa7db39950c53847bdffed9b1537638a7b6d\",\n          \"topics\": [\n            \"0x80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c85\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x6115d5c1dc0da4d6564798bb01e30f1840e5c728cfa3d2bedba5f96b7374026d\",\n          \"blockNumber\": \"0x27d600\",\n          \"blockTimestamp\": \"0x69dd1e10\",\n          \"transactionHash\": \"0x1a80c0107be40357ed70efd6cb1fc89a168c07ae0f2ff434310615c304ff5ad1\",\n          \"transactionIndex\": \"0xf\",\n          \"logIndex\": \"0x1d\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x97a4fa7db39950c53847bdffed9b1537638a7b6d\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n            \"0x000000000000000000000000000000000000000000000000000000000000dead\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x6115d5c1dc0da4d6564798bb01e30f1840e5c728cfa3d2bedba5f96b7374026d\",\n          \"blockNumber\": \"0x27d600\",\n          \"blockTimestamp\": \"0x69dd1e10\",\n          \"transactionHash\": \"0x1a80c0107be40357ed70efd6cb1fc89a168c07ae0f2ff434310615c304ff5ad1\",\n          \"transactionIndex\": \"0xf\",\n          \"logIndex\": \"0x1e\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x97a4fa7db39950c53847bdffed9b1537638a7b6d\",\n          \"topics\": [\n            \"0x80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c85\",\n            \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n            \"0x000000000000000000000000000000000000000000000000000000000000dead\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x6115d5c1dc0da4d6564798bb01e30f1840e5c728cfa3d2bedba5f96b7374026d\",\n          \"blockNumber\": \"0x27d600\",\n          \"blockTimestamp\": \"0x69dd1e10\",\n          \"transactionHash\": \"0x1a80c0107be40357ed70efd6cb1fc89a168c07ae0f2ff434310615c304ff5ad1\",\n          \"transactionIndex\": \"0xf\",\n          \"logIndex\": \"0x1f\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x97a4fa7db39950c53847bdffed9b1537638a7b6d\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0x6115d5c1dc0da4d6564798bb01e30f1840e5c728cfa3d2bedba5f96b7374026d\",\n          \"blockNumber\": \"0x27d600\",\n          \"blockTimestamp\": \"0x69dd1e10\",\n          \"transactionHash\": \"0x1a80c0107be40357ed70efd6cb1fc89a168c07ae0f2ff434310615c304ff5ad1\",\n          \"transactionIndex\": \"0xf\",\n          \"logIndex\": \"0x20\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000410000200000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000002000000001000000000000008000000000000000000000020000000040000000000800000000000000000000000000000000400000000000000000000004000000000000000000000080000000000000000000000008000008000000000000000400000000000000000000000000000000000000000400000000000000000000040000000000000002000000000000000020000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x1a80c0107be40357ed70efd6cb1fc89a168c07ae0f2ff434310615c304ff5ad1\",\n      \"transactionIndex\": \"0xf\",\n      \"blockHash\": \"0x6115d5c1dc0da4d6564798bb01e30f1840e5c728cfa3d2bedba5f96b7374026d\",\n      \"blockNumber\": \"0x27d600\",\n      \"gasUsed\": \"0x19d4f1\",\n      \"effectiveGasPrice\": \"0x3b9aca07\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": null,\n      \"contractAddress\": \"0x97a4fa7db39950c53847bdffed9b1537638a7b6d\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1776098855904,\n  \"chain\": 560048,\n  \"commit\": \"5de5158\"\n}"
  },
  {
    "path": "zeronet/2026-04-07-upgrade-tee-registry-nitro/records/DeployTeeProverRegistryImpl.s.sol/560048/run-1776283437409.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x3ff75d11bdc8d4be381290589936a39bfef807f710c383bb557726107b611d7b\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"TEEProverRegistry\",\n      \"contractAddress\": \"0xcbb3f44b4378c014ce7aaa15bae54b433ac63085\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x4e3E30E148E803667913bE97A8ce9EBA39b65563\",\n        \"0x154972aB98A5e321a9c7aB7677973f1F501a8090\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"gas\": \"0x2194d2\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c06040523480156200001157600080fd5b5060405162002349380380620023498339810160408190526200003491620006a1565b6001600160a01b0381166200005c57604051635af9c0d760e11b815260040160405180910390fd5b6001600160a01b03828116608052811660a05260408051600080825260208201909252620000909161dead91829162000098565b50506200071e565b600054610100900460ff1615808015620000b95750600054600160ff909116105b80620000e95750620000d6306200031160201b62000aa71760201c565b158015620000e9575060005460ff166001145b620001525760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801562000176576000805461ff0019166101001790555b6200018062000320565b6200018b8562000388565b62000196846200040e565b6065805463ffffffff191663ffffffff841617905560005b8351811015620002c25760006001600160a01b0316848281518110620001d857620001d8620006e0565b60200260200101516001600160a01b031614620002ad576001606860008684815181106200020a576200020a620006e0565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055508381815181106200025e576200025e620006e0565b60200260200101516001600160a01b03167ffc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d26001604051620002a4911515815260200190565b60405180910390a25b80620002b981620006f6565b915050620001ae565b5080156200030a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b6001600160a01b03163b151590565b600054610100900460ff166200037c5760405162461bcd60e51b815260206004820152602b60248201526000805160206200232983398151915260448201526a6e697469616c697a696e6760a81b606482015260840162000149565b6200038662000493565b565b6200039262000505565b6001600160a01b038116620004005760405162461bcd60e51b815260206004820152602d60248201527f4f776e61626c654d616e616765643a206e6577206f776e65722069732074686560448201526c207a65726f206164647265737360981b606482015260840162000149565b6200040b8162000560565b50565b62000418620005b2565b6001600160a01b038116620004885760405162461bcd60e51b815260206004820152602f60248201527f4f776e61626c654d616e616765643a206e6577206d616e61676572206973207460448201526e6865207a65726f206164647265737360881b606482015260840162000149565b6200040b8162000639565b600054610100900460ff16620004ef5760405162461bcd60e51b815260206004820152602b60248201526000805160206200232983398151915260448201526a6e697469616c697a696e6760a81b606482015260840162000149565b620004fa3362000560565b620003863362000639565b6033546001600160a01b03163314620003865760405162461bcd60e51b8152602060048201526027602482015260008051602062002309833981519152604482015266329037bbb732b960c91b606482015260840162000149565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6033546001600160a01b0316331480620005d657506034546001600160a01b031633145b620003865760405162461bcd60e51b815260206004820152603660248201526000805160206200230983398151915260448201527f65206f776e6572206f7220746865206d616e6167657200000000000000000000606482015260840162000149565b603480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c8590600090a35050565b6001600160a01b03811681146200040b57600080fd5b60008060408385031215620006b557600080fd5b8251620006c2816200068b565b6020840151909250620006d5816200068b565b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b6000600182016200071757634e487b7160e01b600052601160045260246000fd5b5060010190565b60805160a051611bb762000752600039600081816101ff0152610d9e0152600081816102ac01526107340152611bb76000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806394a277d1116100b8578063d25600561161007c578063d2560056146102ce578063d5f5058214610301578063e4edf85214610314578063e8533e2914610327578063e9ed9b641461034a578063f2fde38b1461035d57600080fd5b806394a277d11461025257806394b2822f1461025a578063ba58e82a1461026f578063bbdc02db14610282578063c80d23f6146102a757600080fd5b806354fd4d501161010a57806354fd4d50146101b85780636666efdb146101df578063715018a6146101f257806382ff53a1146101fa57806386b4ebd3146102215780638da5cb5b1461024157600080fd5b8063089208d8146101475780630ba24fe0146101515780630dcaeaf2146101645780632712e20d14610180578063481c6a7514610193575b600080fd5b61014f610370565b005b61014f61015f366004611285565b610384565b61016d610e1081565b6040519081526020015b60405180910390f35b61014f61018e36600461137a565b6103fa565b6034546001600160a01b03165b6040516001600160a01b039091168152602001610177565b60408051808201825260058152640302e352e360dc1b602082015290516101779190611481565b61014f6101ed3660046114b4565b610644565b61014f6106e5565b6101a07f000000000000000000000000000000000000000000000000000000000000000081565b61016d61022f366004611285565b60676020526000908152604090205481565b6033546001600160a01b03166101a0565b61016d6106f7565b610262610706565b60405161017791906114cf565b61014f61027d366004611565565b610712565b6065546102929063ffffffff1681565b60405163ffffffff9091168152602001610177565b6101a07f000000000000000000000000000000000000000000000000000000000000000081565b6102f16102dc366004611285565b60666020526000908152604090205460ff1681565b6040519015158152602001610177565b6102f161030f366004611285565b6108f5565b61014f610322366004611285565b610941565b6102f1610335366004611285565b60686020526000908152604090205460ff1681565b61014f6103583660046115d1565b6109c3565b61014f61036b366004611285565b610a2a565b610378610ab6565b6103826000610b44565b565b61038c610ab6565b6001600160a01b0381166000908152606660209081526040808320805460ff1916905560679091528120556103c2606982610b96565b506040516001600160a01b038216907fb64c2e472ebdc8f61a76438be3074f3e38569b2ebd8a9cc71dcc9b181defd78e90600090a250565b600054610100900460ff161580801561041a5750600054600160ff909116105b806104345750303b158015610434575060005460ff166001145b61049c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156104bf576000805461ff0019166101001790555b6104c7610ce1565b6104d085610a2a565b6104d984610941565b6065805463ffffffff191663ffffffff841617905560005b83518110156105f65760006001600160a01b03168482815181106105175761051761160f565b60200260200101516001600160a01b0316146105e4576001606860008684815181106105455761054561160f565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055508381815181106105965761059661160f565b60200260200101516001600160a01b03167ffc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d260016040516105db911515815260200190565b60405180910390a25b806105ee8161163b565b9150506104f1565b50801561063d576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b61064c610d10565b6065805463ffffffff83811663ffffffff1983161790925516600061066f610d7a565b9050806106a7576065805463ffffffff841663ffffffff19909116179055604080516313d0866160e11b815290519081900360040190fd5b60405163ffffffff841681527fde7d61181e5b13fcab68f1d4a0be52854e613272de874356f9d0102594aa4e9b9060200160405180910390a1505050565b6106ed610d10565b6103826000610ee5565b6000610701610d7a565b905090565b60606107016069610f37565b61071a610ab6565b604051636d114be360e01b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636d114be390610772908890889060019089908990600401611693565b6000604051808303816000875af1158015610791573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107b9919081019061192b565b90506001815160048111156107d0576107d061167d565b146107ee576040516320dd787760e11b815260040160405180910390fd5b42610e106103e8836040015167ffffffffffffffff1661080e9190611aaa565b6108189190611acc565b116108365760405163696bbf1f60e01b815260040160405180910390fd5b600061084682610100015161100c565b60e08301518051919250906041146108715760405163145a1fdd60e31b815260040160405180910390fd5b6040602182018190206001600160a01b038116600090815260666020908152838220805460ff191660011790556067905291909120839055806108b56069826110e3565b506040516001600160a01b038216907f97110439909bcbb4488918a0cbe54781949ecf5d1415e972bf922a92df93fb3f90600090a2505050505050505050565b6001600160a01b03811660009081526066602052604081205460ff16801561093b5750610920610d7a565b6001600160a01b038316600090815260676020526040902054145b92915050565b610949610ab6565b6001600160a01b0381166109b75760405162461bcd60e51b815260206004820152602f60248201527f4f776e61626c654d616e616765643a206e6577206d616e61676572206973207460448201526e6865207a65726f206164647265737360881b6064820152608401610493565b6109c081610b44565b50565b6109cb610d10565b6001600160a01b038216600081815260686020908152604091829020805460ff191685151590811790915591519182527ffc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d2910160405180910390a25050565b610a32610d10565b6001600160a01b038116610a9e5760405162461bcd60e51b815260206004820152602d60248201527f4f776e61626c654d616e616765643a206e6577206f776e65722069732074686560448201526c207a65726f206164647265737360981b6064820152608401610493565b6109c081610ee5565b6001600160a01b03163b151590565b6033546001600160a01b0316331480610ad957506034546001600160a01b031633145b6103825760405162461bcd60e51b815260206004820152603660248201527f4f776e61626c654d616e616765643a2063616c6c6572206973206e6f74207468604482015275329037bbb732b91037b9103a34329036b0b730b3b2b960511b6064820152608401610493565b603480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c8590600090a35050565b63978aab926004526000828152602481206001600160a01b03929092169168fbb67fda52d4bfb8be198301610bd35763f5a267f16000526004601cfd5b82610be55768fbb67fda52d4bfb8bf92505b80546bffffffffffffffffffffffff811680610c685760019350848260601c03610c2357600183018054845560028401805490915560009055610cd8565b84600184015460601c03610c4557600283018054600185015560009055610cd8565b84600284015460601c03610c5f5760006002840155610cd8565b60009350610cd8565b82602052846000526040600020805480610c83575050610cd8565b60018360011c039250826001820314610cbb578285015460601c8060601b600183038701556000848701558060005250806040600020555b5060018260011b17845460601c60601b1784556000815550600193505b50505092915050565b600054610100900460ff16610d085760405162461bcd60e51b815260040161049390611ae4565b610382611237565b6033546001600160a01b031633146103825760405162461bcd60e51b815260206004820152602760248201527f4f776e61626c654d616e616765643a2063616c6c6572206973206e6f74207468604482015266329037bbb732b960c91b6064820152608401610493565b606554604051630db42dcf60e11b815263ffffffff909116600482015260009081907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631b685b9e90602401602060405180830381865afa158015610ded573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e119190611b2f565b60408051600481526024810182526020810180516001600160e01b03166260ff5160e21b179052905191925060009182916001600160a01b03851691610e579190611b4c565b600060405180830381855afa9150503d8060008114610e92576040519150601f19603f3d011682016040523d82523d6000602084013e610e97565b606091505b5091509150811580610eab57508051602014155b15610ec957604051639fb4826960e01b815260040160405180910390fd5b80806020019051810190610edd9190611b68565b935050505090565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b63978aab926004526000818152602481206060915068fbb67fda52d4bfb8bf81548060a01b60a01c6040519450846020018260601c9250838314158302815281610fc6578215610fc157600191508185015460601c92508215610fc1578284141590920260208301525060028381015460601c918215610fc1576003915083831415830260408201525b610ff6565b600191821c915b82811015610ff4578581015460601c858114158102600583901b8401529350600101610fcd565b505b8186528160051b81016040525050505050919050565b6000805b82518110156110c95782818151811061102b5761102b61160f565b60200260200101516000015167ffffffffffffffff166000036110b757600083828151811061105c5761105c61160f565b6020026020010151602001519050806000015181602001516040516020016110989291909182526001600160801b031916602082015260300190565b6040516020818303038152906040528051906020012092505050919050565b806110c18161163b565b915050611010565b506040516385269c3d60e01b815260040160405180910390fd5b63978aab926004526000828152602481206001600160a01b03929092169168fbb67fda52d4bfb8be1983016111205763f5a267f16000526004601cfd5b826111325768fbb67fda52d4bfb8bf92505b80546bffffffffffffffffffffffff811682602052806111fa578160601c80611165578560601b84556001945050610cd8565b8581036111725750610cd8565b600184015460601c80611193578660601b6001860155600195505050610cd8565b8681036111a1575050610cd8565b600285015460601c806111c3578760601b600287015560019650505050610cd8565b8781036111d257505050610cd8565b6000928352604080842060019055918352818320600290558252902060039055506007908117905b846000526040600020805461122d578160011c91508560601b828501558160010181558260020184556001945050610cd8565b5050505092915050565b600054610100900460ff1661125e5760405162461bcd60e51b815260040161049390611ae4565b61126733610ee5565b61038233610b44565b6001600160a01b03811681146109c057600080fd5b60006020828403121561129757600080fd5b81356112a281611270565b9392505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156112e2576112e26112a9565b60405290565b604051610140810167ffffffffffffffff811182821017156112e2576112e26112a9565b604051601f8201601f1916810167ffffffffffffffff81118282101715611335576113356112a9565b604052919050565b600067ffffffffffffffff821115611357576113576112a9565b5060051b60200190565b803563ffffffff8116811461137557600080fd5b919050565b6000806000806080858703121561139057600080fd5b843561139b81611270565b93506020858101356113ac81611270565b9350604086013567ffffffffffffffff8111156113c857600080fd5b8601601f810188136113d957600080fd5b80356113ec6113e78261133d565b61130c565b81815260059190911b8201830190838101908a83111561140b57600080fd5b928401925b8284101561143257833561142381611270565b82529284019290840190611410565b809650505050505061144660608601611361565b905092959194509250565b60005b8381101561146c578181015183820152602001611454565b8381111561147b576000848401525b50505050565b60208152600082518060208401526114a0816040850160208701611451565b601f01601f19169190910160400192915050565b6000602082840312156114c657600080fd5b6112a282611361565b6020808252825182820181905260009190848201906040850190845b818110156115105783516001600160a01b0316835292840192918401916001016114eb565b50909695505050505050565b60008083601f84011261152e57600080fd5b50813567ffffffffffffffff81111561154657600080fd5b60208301915083602082850101111561155e57600080fd5b9250929050565b6000806000806040858703121561157b57600080fd5b843567ffffffffffffffff8082111561159357600080fd5b61159f8883890161151c565b909650945060208701359150808211156115b857600080fd5b506115c58782880161151c565b95989497509550505050565b600080604083850312156115e457600080fd5b82356115ef81611270565b91506020830135801515811461160457600080fd5b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161164d5761164d611625565b5060010190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b634e487b7160e01b600052602160045260246000fd5b6060815260006116a7606083018789611654565b600386106116c557634e487b7160e01b600052602160045260246000fd5b85602084015282810360408401526116de818587611654565b98975050505050505050565b80516005811061137557600080fd5b805160ff8116811461137557600080fd5b805167ffffffffffffffff8116811461137557600080fd5b600082601f83011261173357600080fd5b815160206117436113e78361133d565b82815260059290921b8401810191818101908684111561176257600080fd5b8286015b8481101561177d5780518352918301918301611766565b509695505050505050565b600082601f83011261179957600080fd5b815160206117a96113e78361133d565b82815260059290921b840181019181810190868411156117c857600080fd5b8286015b8481101561177d576117dd8161170a565b83529183019183016117cc565b600082601f8301126117fb57600080fd5b815167ffffffffffffffff811115611815576118156112a9565b611828601f8201601f191660200161130c565b81815284602083860101111561183d57600080fd5b61184e826020830160208701611451565b949350505050565b600082601f83011261186757600080fd5b815160206118776113e78361133d565b8281526060928302850182019282820191908785111561189657600080fd5b8387015b8581101561191e57808903828112156118b35760008081fd5b6118bb6112bf565b6118c48361170a565b8152604080601f19840112156118da5760008081fd5b6118e26112bf565b848901518152908401519092506001600160801b0319811681146119065760008081fd5b8288015280870191909152845292840192810161189a565b5090979650505050505050565b60006020828403121561193d57600080fd5b815167ffffffffffffffff8082111561195557600080fd5b90830190610140828603121561196a57600080fd5b6119726112e8565b61197b836116ea565b8152611989602084016116f9565b602082015261199a6040840161170a565b60408201526060830151828111156119b157600080fd5b6119bd87828601611722565b6060830152506080830151828111156119d557600080fd5b6119e187828601611788565b60808301525060a0830151828111156119f957600080fd5b611a05878286016117ea565b60a08301525060c083015182811115611a1d57600080fd5b611a29878286016117ea565b60c08301525060e083015182811115611a4157600080fd5b611a4d878286016117ea565b60e0830152506101008084015183811115611a6757600080fd5b611a7388828701611856565b8284015250506101208084015183811115611a8d57600080fd5b611a99888287016117ea565b918301919091525095945050505050565b600082611ac757634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115611adf57611adf611625565b500190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600060208284031215611b4157600080fd5b81516112a281611270565b60008251611b5e818460208701611451565b9190910192915050565b600060208284031215611b7a57600080fd5b505191905056fea26469706673582212206841dd7cf7095e3660db234c78ff2dfad797b03542c1508ac32eb039270d258a64736f6c634300080f00334f776e61626c654d616e616765643a2063616c6c6572206973206e6f74207468496e697469616c697a61626c653a20636f6e7472616374206973206e6f7420690000000000000000000000004e3e30e148e803667913be97a8ce9eba39b65563000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a8090\",\n        \"nonce\": \"0x5c\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x19d4f1\",\n      \"logs\": [\n        {\n          \"address\": \"0xcbb3f44b4378c014ce7aaa15bae54b433ac63085\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x4d1c6d896f7116429d46ca8cce633934053d268cd90caf394e732b0baf87064d\",\n          \"blockNumber\": \"0x280d0e\",\n          \"blockTimestamp\": \"0x69dfef00\",\n          \"transactionHash\": \"0x3ff75d11bdc8d4be381290589936a39bfef807f710c383bb557726107b611d7b\",\n          \"transactionIndex\": \"0x0\",\n          \"logIndex\": \"0x0\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xcbb3f44b4378c014ce7aaa15bae54b433ac63085\",\n          \"topics\": [\n            \"0x80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c85\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n            \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x4d1c6d896f7116429d46ca8cce633934053d268cd90caf394e732b0baf87064d\",\n          \"blockNumber\": \"0x280d0e\",\n          \"blockTimestamp\": \"0x69dfef00\",\n          \"transactionHash\": \"0x3ff75d11bdc8d4be381290589936a39bfef807f710c383bb557726107b611d7b\",\n          \"transactionIndex\": \"0x0\",\n          \"logIndex\": \"0x1\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xcbb3f44b4378c014ce7aaa15bae54b433ac63085\",\n          \"topics\": [\n            \"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\",\n            \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n            \"0x000000000000000000000000000000000000000000000000000000000000dead\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x4d1c6d896f7116429d46ca8cce633934053d268cd90caf394e732b0baf87064d\",\n          \"blockNumber\": \"0x280d0e\",\n          \"blockTimestamp\": \"0x69dfef00\",\n          \"transactionHash\": \"0x3ff75d11bdc8d4be381290589936a39bfef807f710c383bb557726107b611d7b\",\n          \"transactionIndex\": \"0x0\",\n          \"logIndex\": \"0x2\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xcbb3f44b4378c014ce7aaa15bae54b433ac63085\",\n          \"topics\": [\n            \"0x80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c85\",\n            \"0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n            \"0x000000000000000000000000000000000000000000000000000000000000dead\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x4d1c6d896f7116429d46ca8cce633934053d268cd90caf394e732b0baf87064d\",\n          \"blockNumber\": \"0x280d0e\",\n          \"blockTimestamp\": \"0x69dfef00\",\n          \"transactionHash\": \"0x3ff75d11bdc8d4be381290589936a39bfef807f710c383bb557726107b611d7b\",\n          \"transactionIndex\": \"0x0\",\n          \"logIndex\": \"0x3\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xcbb3f44b4378c014ce7aaa15bae54b433ac63085\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"blockHash\": \"0x4d1c6d896f7116429d46ca8cce633934053d268cd90caf394e732b0baf87064d\",\n          \"blockNumber\": \"0x280d0e\",\n          \"blockTimestamp\": \"0x69dfef00\",\n          \"transactionHash\": \"0x3ff75d11bdc8d4be381290589936a39bfef807f710c383bb557726107b611d7b\",\n          \"transactionIndex\": \"0x0\",\n          \"logIndex\": \"0x4\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000410000200000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000020000000040000000000800000000000000000000000000000000400000000000000000000004000000000000000000000080000000000000000000000008000008000000000000000400000000000000000000000000000000000000000400000000000000000000040000002000000000000080000000000020000000000000000000000000000000000000000000000020000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x3ff75d11bdc8d4be381290589936a39bfef807f710c383bb557726107b611d7b\",\n      \"transactionIndex\": \"0x0\",\n      \"blockHash\": \"0x4d1c6d896f7116429d46ca8cce633934053d268cd90caf394e732b0baf87064d\",\n      \"blockNumber\": \"0x280d0e\",\n      \"gasUsed\": \"0x19d4f1\",\n      \"effectiveGasPrice\": \"0x3b9aca07\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": null,\n      \"contractAddress\": \"0xcbb3f44b4378c014ce7aaa15bae54b433ac63085\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1776283437409,\n  \"chain\": 560048,\n  \"commit\": \"5a214a5\"\n}"
  },
  {
    "path": "zeronet/2026-04-07-upgrade-tee-registry-nitro/records/UpgradeTEEProverRegistry.s.sol/560048/approve-latest.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x7019b1e0c43dea766d565a30f88460043af419b7d77d28ea41d49427adb4b76a\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n        \"0\",\n        \"0xd4d9bdcd10531e3244334c5ea696f4b65395c3ad5856ea9020fe9b40a802745ac3624802\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x5b0f66c08806b9833a9005b8df8399bad03874cde3a5770c05c3ab105485257e4442caa307b87204f7180c6508dedaad8a6a7163d17edd9ab5ab1e10f64beccc1c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\",\n        \"gas\": \"0x1b752\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000003d59999977e0896ee1f8783bb8251df16fb483e90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd10531e3244334c5ea696f4b65395c3ad5856ea9020fe9b40a802745ac36248020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000415b0f66c08806b9833a9005b8df8399bad03874cde3a5770c05c3ab105485257e4442caa307b87204f7180c6508dedaad8a6a7163d17edd9ab5ab1e10f64beccc1c00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x5f\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xa0b15\",\n      \"logs\": [\n        {\n          \"address\": \"0x3d59999977e0896ee1f8783bb8251df16fb483e9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x10531e3244334c5ea696f4b65395c3ad5856ea9020fe9b40a802745ac3624802\",\n            \"0x000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x3fd5a0204d7163ac1683a9a2cfba122020699c07ce294295db1d289ae232f300\",\n          \"blockNumber\": \"0x2825bf\",\n          \"blockTimestamp\": \"0x69e13240\",\n          \"transactionHash\": \"0x7019b1e0c43dea766d565a30f88460043af419b7d77d28ea41d49427adb4b76a\",\n          \"transactionIndex\": \"0x3\",\n          \"logIndex\": \"0x8\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0xa25d44e215426af2dcb298940d57ffe22ede5a100f27640300ab1209e1f4fbe3\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x3fd5a0204d7163ac1683a9a2cfba122020699c07ce294295db1d289ae232f300\",\n          \"blockNumber\": \"0x2825bf\",\n          \"blockTimestamp\": \"0x69e13240\",\n          \"transactionHash\": \"0x7019b1e0c43dea766d565a30f88460043af419b7d77d28ea41d49427adb4b76a\",\n          \"transactionIndex\": \"0x3\",\n          \"logIndex\": \"0x9\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400200000000000000000000000001000000000000000000040000000001000000000000000000000000000000000000000000100000000000000000010000000000000000000000000000000000000800000000000000001000000008000000400000000000000000000000800000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000400000000000004000000200000000080000000000200000000000000000000000000000000000000000000000000000000000000000000000000400000000000000002000000000000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x7019b1e0c43dea766d565a30f88460043af419b7d77d28ea41d49427adb4b76a\",\n      \"transactionIndex\": \"0x3\",\n      \"blockHash\": \"0x3fd5a0204d7163ac1683a9a2cfba122020699c07ce294295db1d289ae232f300\",\n      \"blockNumber\": \"0x2825bf\",\n      \"gasUsed\": \"0x13e10\",\n      \"effectiveGasPrice\": \"0x3b9aca07\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1776366145163,\n  \"chain\": 560048,\n  \"commit\": \"8e8f6bc\"\n}"
  },
  {
    "path": "zeronet/2026-04-07-upgrade-tee-registry-nitro/records/UpgradeTEEProverRegistry.s.sol/560048/run-1776366039649.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x5e91719fb42d17516e1cf945c043a5feb27e5a3d29013b16036feafd08dfd94f\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x856611ed7e07d83243b15e93f6321f2df6865852\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n        \"0\",\n        \"0xd4d9bdcd10531e3244334c5ea696f4b65395c3ad5856ea9020fe9b40a802745ac3624802\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xa17a91785a0bbb1f150e766899175cede444cb512b400b6d6dba3c3ee76cf9a2741db938d776041ced8eb136367ee7816d634fcf531305dcaf1d5b6a2f56d4ef1c021a2389dbbefe0b0e37c5a5d0e898728f727bdcfeba04e7c426bc8839ccff660ae146bddfb8fe280cab60f68a022d9e8ea6f26f8a5941584b2ce1a4e8e5f3291b8bf9a153b674351c97f3169387fb576a4c07ee61d3065f347635c812e0e13d9e79c2af88a4d0fd06caa6481852d06eb0dd8290f04470d82f7c40e9d61cfc2cfd1c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x856611ed7e07d83243b15e93f6321f2df6865852\",\n        \"gas\": \"0x20392\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000003d59999977e0896ee1f8783bb8251df16fb483e90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd10531e3244334c5ea696f4b65395c3ad5856ea9020fe9b40a802745ac36248020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3a17a91785a0bbb1f150e766899175cede444cb512b400b6d6dba3c3ee76cf9a2741db938d776041ced8eb136367ee7816d634fcf531305dcaf1d5b6a2f56d4ef1c021a2389dbbefe0b0e37c5a5d0e898728f727bdcfeba04e7c426bc8839ccff660ae146bddfb8fe280cab60f68a022d9e8ea6f26f8a5941584b2ce1a4e8e5f3291b8bf9a153b674351c97f3169387fb576a4c07ee61d3065f347635c812e0e13d9e79c2af88a4d0fd06caa6481852d06eb0dd8290f04470d82f7c40e9d61cfc2cfd1c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x5e\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x2a277b\",\n      \"logs\": [\n        {\n          \"address\": \"0x3d59999977e0896ee1f8783bb8251df16fb483e9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x10531e3244334c5ea696f4b65395c3ad5856ea9020fe9b40a802745ac3624802\",\n            \"0x000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x1f9183f049ce78eb5058f58411f741f05dd28d5c279245f714ef9ab4e8317951\",\n          \"blockNumber\": \"0x2825b7\",\n          \"blockTimestamp\": \"0x69e131d4\",\n          \"transactionHash\": \"0x5e91719fb42d17516e1cf945c043a5feb27e5a3d29013b16036feafd08dfd94f\",\n          \"transactionIndex\": \"0x7\",\n          \"logIndex\": \"0x1a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x856611ed7e07d83243b15e93f6321f2df6865852\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0x054ce929f01f7a0b4b37765395ce9e6deecf8f8e5da39795293ef06f175b721f\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x1f9183f049ce78eb5058f58411f741f05dd28d5c279245f714ef9ab4e8317951\",\n          \"blockNumber\": \"0x2825b7\",\n          \"blockTimestamp\": \"0x69e131d4\",\n          \"transactionHash\": \"0x5e91719fb42d17516e1cf945c043a5feb27e5a3d29013b16036feafd08dfd94f\",\n          \"transactionIndex\": \"0x7\",\n          \"logIndex\": \"0x1b\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00040000400200000000000000000200000001000000000000000000040000001001000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000010000000000000000000000200000000000008000000000000000000000000000000000000000000000000040000004000000200000000080000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000002000000000000000200000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x5e91719fb42d17516e1cf945c043a5feb27e5a3d29013b16036feafd08dfd94f\",\n      \"transactionIndex\": \"0x7\",\n      \"blockHash\": \"0x1f9183f049ce78eb5058f58411f741f05dd28d5c279245f714ef9ab4e8317951\",\n      \"blockNumber\": \"0x2825b7\",\n      \"gasUsed\": \"0x17544\",\n      \"effectiveGasPrice\": \"0x3b9aca07\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x856611ed7e07d83243b15e93f6321f2df6865852\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1776366039649,\n  \"chain\": 560048,\n  \"commit\": \"8e8f6bc\"\n}"
  },
  {
    "path": "zeronet/2026-04-07-upgrade-tee-registry-nitro/records/UpgradeTEEProverRegistry.s.sol/560048/run-1776366145163.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x7019b1e0c43dea766d565a30f88460043af419b7d77d28ea41d49427adb4b76a\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n        \"0\",\n        \"0xd4d9bdcd10531e3244334c5ea696f4b65395c3ad5856ea9020fe9b40a802745ac3624802\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x5b0f66c08806b9833a9005b8df8399bad03874cde3a5770c05c3ab105485257e4442caa307b87204f7180c6508dedaad8a6a7163d17edd9ab5ab1e10f64beccc1c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\",\n        \"gas\": \"0x1b752\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000003d59999977e0896ee1f8783bb8251df16fb483e90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd10531e3244334c5ea696f4b65395c3ad5856ea9020fe9b40a802745ac36248020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000415b0f66c08806b9833a9005b8df8399bad03874cde3a5770c05c3ab105485257e4442caa307b87204f7180c6508dedaad8a6a7163d17edd9ab5ab1e10f64beccc1c00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x5f\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xa0b15\",\n      \"logs\": [\n        {\n          \"address\": \"0x3d59999977e0896ee1f8783bb8251df16fb483e9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x10531e3244334c5ea696f4b65395c3ad5856ea9020fe9b40a802745ac3624802\",\n            \"0x000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x3fd5a0204d7163ac1683a9a2cfba122020699c07ce294295db1d289ae232f300\",\n          \"blockNumber\": \"0x2825bf\",\n          \"blockTimestamp\": \"0x69e13240\",\n          \"transactionHash\": \"0x7019b1e0c43dea766d565a30f88460043af419b7d77d28ea41d49427adb4b76a\",\n          \"transactionIndex\": \"0x3\",\n          \"logIndex\": \"0x8\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0xa25d44e215426af2dcb298940d57ffe22ede5a100f27640300ab1209e1f4fbe3\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x3fd5a0204d7163ac1683a9a2cfba122020699c07ce294295db1d289ae232f300\",\n          \"blockNumber\": \"0x2825bf\",\n          \"blockTimestamp\": \"0x69e13240\",\n          \"transactionHash\": \"0x7019b1e0c43dea766d565a30f88460043af419b7d77d28ea41d49427adb4b76a\",\n          \"transactionIndex\": \"0x3\",\n          \"logIndex\": \"0x9\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400200000000000000000000000001000000000000000000040000000001000000000000000000000000000000000000000000100000000000000000010000000000000000000000000000000000000800000000000000001000000008000000400000000000000000000000800000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000400000000000004000000200000000080000000000200000000000000000000000000000000000000000000000000000000000000000000000000400000000000000002000000000000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x7019b1e0c43dea766d565a30f88460043af419b7d77d28ea41d49427adb4b76a\",\n      \"transactionIndex\": \"0x3\",\n      \"blockHash\": \"0x3fd5a0204d7163ac1683a9a2cfba122020699c07ce294295db1d289ae232f300\",\n      \"blockNumber\": \"0x2825bf\",\n      \"gasUsed\": \"0x13e10\",\n      \"effectiveGasPrice\": \"0x3b9aca07\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1776366145163,\n  \"chain\": 560048,\n  \"commit\": \"8e8f6bc\"\n}"
  },
  {
    "path": "zeronet/2026-04-07-upgrade-tee-registry-nitro/records/UpgradeTEEProverRegistry.s.sol/560048/run-1776366338393.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xca03ee8d7bf83e660523910113cb64f75c15baab35777e75bbcb6dc2c8efdd3a\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x3d59999977e0896ee1f8783bb8251df16fb483e9\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303\",\n        \"0\",\n        \"0x858cc8320000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000360000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c580130300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000028482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000012000000000000000000000000044f00318360258744a0daa957c2d15080a47346900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000f1d1441b7d98f191f5cfbe4660d3684fea004afc000000000000000000000000cbb3f44b4378c014ce7aaa15bae54b433ac6308500000000000000000000000000000000000000000000000000000000000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a8090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000084b1070957000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000016cdb236f103078677aea6d9287ea9b2f33c8720000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x3d59999977e0896ee1f8783bb8251df16fb483e9\",\n        \"gas\": \"0x28d0f\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005a00000000000000000000000000000000000000000000000000000000000000424858cc8320000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000360000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c580130300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000028482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000012000000000000000000000000044f00318360258744a0daa957c2d15080a47346900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000f1d1441b7d98f191f5cfbe4660d3684fea004afc000000000000000000000000cbb3f44b4378c014ce7aaa15bae54b433ac6308500000000000000000000000000000000000000000000000000000000000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a8090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000084b1070957000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000016cdb236f103078677aea6d9287ea9b2f33c8720000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x60\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x3a3d7d\",\n      \"logs\": [\n        {\n          \"address\": \"0xf1d1441b7d98f191f5cfbe4660d3684fea004afc\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x000000000000000000000000cbb3f44b4378c014ce7aaa15bae54b433ac63085\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xc51ded63bff9018b0ed134264952bec301e81b9aa532b4ba44a4f80107cf1fcd\",\n          \"blockNumber\": \"0x2825cf\",\n          \"blockTimestamp\": \"0x69e13300\",\n          \"transactionHash\": \"0xca03ee8d7bf83e660523910113cb64f75c15baab35777e75bbcb6dc2c8efdd3a\",\n          \"transactionIndex\": \"0x1f\",\n          \"logIndex\": \"0x14\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x154972ab98a5e321a9c7ab7677973f1f501a8090\",\n          \"topics\": [\n            \"0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de\",\n            \"0x000000000000000000000000016cdb236f103078677aea6d9287ea9b2f33c872\",\n            \"0x000000000000000000000000000000000000000000000000000000000000026d\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xc51ded63bff9018b0ed134264952bec301e81b9aa532b4ba44a4f80107cf1fcd\",\n          \"blockNumber\": \"0x2825cf\",\n          \"blockTimestamp\": \"0x69e13300\",\n          \"transactionHash\": \"0xca03ee8d7bf83e660523910113cb64f75c15baab35777e75bbcb6dc2c8efdd3a\",\n          \"transactionIndex\": \"0x1f\",\n          \"logIndex\": \"0x15\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x154972ab98a5e321a9c7ab7677973f1f501a8090\",\n          \"topics\": [\n            \"0xa47fcdf075d680d3817bfca7973b373e1a5f6cfc3b444748299cc2b83d8348f9\",\n            \"0x000000000000000000000000000000000000000000000000000000000000026d\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xc51ded63bff9018b0ed134264952bec301e81b9aa532b4ba44a4f80107cf1fcd\",\n          \"blockNumber\": \"0x2825cf\",\n          \"blockTimestamp\": \"0x69e13300\",\n          \"transactionHash\": \"0xca03ee8d7bf83e660523910113cb64f75c15baab35777e75bbcb6dc2c8efdd3a\",\n          \"transactionIndex\": \"0x1f\",\n          \"logIndex\": \"0x16\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x3d59999977e0896ee1f8783bb8251df16fb483e9\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0x10531e3244334c5ea696f4b65395c3ad5856ea9020fe9b40a802745ac3624802\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xc51ded63bff9018b0ed134264952bec301e81b9aa532b4ba44a4f80107cf1fcd\",\n          \"blockNumber\": \"0x2825cf\",\n          \"blockTimestamp\": \"0x69e13300\",\n          \"transactionHash\": \"0xca03ee8d7bf83e660523910113cb64f75c15baab35777e75bbcb6dc2c8efdd3a\",\n          \"transactionIndex\": \"0x1f\",\n          \"logIndex\": \"0x17\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400200000000000000000000400001000004800000000080040000000001000000000000000000000000000000000000000008000000000000000000100000400400000000000000000002004000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000100020000000400000000000000000000000000000000000000000000000000000000000000000108000010000000004000000200000000080000000000000000000002020000000000000000000000004000000000000000000000000000000000000000000000000020002000000000000000000000000008000000000000100\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xca03ee8d7bf83e660523910113cb64f75c15baab35777e75bbcb6dc2c8efdd3a\",\n      \"transactionIndex\": \"0x1f\",\n      \"blockHash\": \"0xc51ded63bff9018b0ed134264952bec301e81b9aa532b4ba44a4f80107cf1fcd\",\n      \"blockNumber\": \"0x2825cf\",\n      \"gasUsed\": \"0x1be8a\",\n      \"effectiveGasPrice\": \"0x3b9aca07\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x3d59999977e0896ee1f8783bb8251df16fb483e9\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1776366338393,\n  \"chain\": 560048,\n  \"commit\": \"8e8f6bc\"\n}"
  },
  {
    "path": "zeronet/2026-04-07-upgrade-tee-registry-nitro/script/DeployAggregateVerifier.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Script, console} from \"forge-std/Script.sol\";\n\nimport {IAnchorStateRegistry} from \"interfaces/dispute/IAnchorStateRegistry.sol\";\nimport {IDelayedWETH} from \"interfaces/dispute/IDelayedWETH.sol\";\n\nimport {GameType} from \"@base-contracts/src/dispute/lib/Types.sol\";\nimport {AggregateVerifier} from \"@base-contracts/src/multiproof/AggregateVerifier.sol\";\nimport {TEEVerifier} from \"@base-contracts/src/multiproof/tee/TEEVerifier.sol\";\nimport {MockVerifier} from \"@base-contracts/src/multiproof/mocks/MockVerifier.sol\";\n\ncontract DeployAggregateVerifier is Script {\n    address internal existingAggregateVerifierEnv;\n\n    // Derived from the existing AggregateVerifier at setUp time.\n    GameType internal gameType;\n    IAnchorStateRegistry internal anchorStateRegistry;\n    IDelayedWETH internal delayedWeth;\n    address internal teeVerifier;\n    address internal zkVerifier;\n    bytes32 internal teeImageHash;\n    bytes32 internal zkRangeHash;\n    bytes32 internal zkAggregateHash;\n    bytes32 internal configHash;\n    uint256 internal l2ChainId;\n    uint256 internal blockInterval;\n    uint256 internal intermediateBlockInterval;\n    uint256 internal proofThreshold;\n\n    address public aggregateVerifier;\n\n    function setUp() public {\n        existingAggregateVerifierEnv = vm.envAddress(\"EXISTING_AGGREGATE_VERIFIER\");\n\n        // Read all immutables from the existing AggregateVerifier to ensure continuity.\n        AggregateVerifier existing = AggregateVerifier(existingAggregateVerifierEnv);\n        gameType = existing.gameType();\n        anchorStateRegistry = existing.anchorStateRegistry();\n        delayedWeth = existing.DELAYED_WETH();\n        teeVerifier = address(existing.TEE_VERIFIER());\n        zkVerifier = address(existing.ZK_VERIFIER());\n        teeImageHash = existing.TEE_IMAGE_HASH();\n        zkRangeHash = existing.ZK_RANGE_HASH();\n        zkAggregateHash = existing.ZK_AGGREGATE_HASH();\n        configHash = existing.CONFIG_HASH();\n        l2ChainId = existing.L2_CHAIN_ID();\n        blockInterval = existing.BLOCK_INTERVAL();\n        intermediateBlockInterval = existing.INTERMEDIATE_BLOCK_INTERVAL();\n        proofThreshold = existing.PROOF_THRESHOLD();\n    }\n\n    function run() external {\n        vm.startBroadcast();\n\n        aggregateVerifier = address(\n            new AggregateVerifier({\n                gameType_: gameType,\n                anchorStateRegistry_: anchorStateRegistry,\n                delayedWETH: delayedWeth,\n                teeVerifier: TEEVerifier(teeVerifier),\n                zkVerifier: MockVerifier(zkVerifier),\n                teeImageHash: teeImageHash,\n                zkHashes: AggregateVerifier.ZkHashes({rangeHash: zkRangeHash, aggregateHash: zkAggregateHash}),\n                configHash: configHash,\n                l2ChainId: l2ChainId,\n                blockInterval: blockInterval,\n                intermediateBlockInterval: intermediateBlockInterval,\n                proofThreshold: proofThreshold\n            })\n        );\n\n        vm.stopBroadcast();\n\n        _postCheck();\n        _writeAddresses();\n    }\n\n    function _postCheck() internal view {\n        AggregateVerifier av = AggregateVerifier(aggregateVerifier);\n\n        require(GameType.unwrap(av.gameType()) == GameType.unwrap(gameType), \"aggregate game type mismatch\");\n        require(address(av.anchorStateRegistry()) == address(anchorStateRegistry), \"aggregate asr mismatch\");\n        require(address(av.DISPUTE_GAME_FACTORY()) == address(anchorStateRegistry.disputeGameFactory()), \"aggregate dgf mismatch\");\n        require(address(av.DELAYED_WETH()) == address(delayedWeth), \"aggregate delayed weth mismatch\");\n        require(address(av.TEE_VERIFIER()) == teeVerifier, \"aggregate tee verifier mismatch\");\n        require(address(av.ZK_VERIFIER()) == zkVerifier, \"aggregate zk verifier mismatch\");\n        require(av.TEE_IMAGE_HASH() == teeImageHash, \"aggregate tee image hash mismatch\");\n        require(av.ZK_RANGE_HASH() == zkRangeHash, \"aggregate zk range hash mismatch\");\n        require(av.ZK_AGGREGATE_HASH() == zkAggregateHash, \"aggregate zk aggregate hash mismatch\");\n        require(av.CONFIG_HASH() == configHash, \"aggregate config hash mismatch\");\n        require(av.L2_CHAIN_ID() == l2ChainId, \"aggregate l2 chain id mismatch\");\n        require(av.BLOCK_INTERVAL() == blockInterval, \"aggregate block interval mismatch\");\n        require(av.INTERMEDIATE_BLOCK_INTERVAL() == intermediateBlockInterval, \"aggregate intermediate interval mismatch\");\n        require(av.PROOF_THRESHOLD() == proofThreshold, \"aggregate proof threshold mismatch\");\n    }\n\n    function _writeAddresses() internal {\n        console.log(\"AggregateVerifier:\", aggregateVerifier);\n        vm.writeJson({json: vm.toString(aggregateVerifier), path: \"addresses.json\", valueKey: \".aggregateVerifier\"});\n    }\n}\n"
  },
  {
    "path": "zeronet/2026-04-07-upgrade-tee-registry-nitro/script/DeployAndSetupNitro.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\nimport {Script, console} from \"forge-std/Script.sol\";\n\nimport {\n    INitroEnclaveVerifier,\n    ZkCoProcessorConfig,\n    ZkCoProcessorType\n} from \"interfaces/multiproof/tee/INitroEnclaveVerifier.sol\";\n\nimport {RiscZeroSetVerifier, RiscZeroSetVerifierLib} from \"lib/risc0-ethereum/contracts/src/RiscZeroSetVerifier.sol\";\nimport {NitroEnclaveVerifier} from \"@base-contracts/src/multiproof/tee/NitroEnclaveVerifier.sol\";\n\ncontract DeployAndSetupNitro is Script {\n    address internal existingNitroEnclaveVerifierEnv;\n    address internal teeProverRegistryOwnerEnv;\n    address internal teeProverRegistryProxyEnv;\n    address internal nitroRevokerEnv;\n    bytes32 internal riscZeroSetBuilderImageIdEnv;\n\n    // Derived from the existing NitroEnclaveVerifier at setUp time.\n    uint64 internal nitroInitialMaxTimeDiff;\n    bytes32 internal nitroInitialRootCert;\n    address internal riscZeroVerifierRouter;\n    address internal riscZeroSetVerifier;\n    bytes32 internal nitroZkVerifierId;\n\n    address public nitroEnclaveVerifier;\n\n    function setUp() public {\n        existingNitroEnclaveVerifierEnv = vm.envAddress(\"EXISTING_NITRO_ENCLAVE_VERIFIER\");\n        teeProverRegistryOwnerEnv = vm.envAddress(\"TEE_PROVER_REGISTRY_OWNER\");\n        teeProverRegistryProxyEnv = vm.envAddress(\"TEE_PROVER_REGISTRY_PROXY\");\n        nitroRevokerEnv = vm.envAddress(\"NITRO_REVOKER\");\n        riscZeroSetBuilderImageIdEnv = vm.envBytes32(\"RISC0_SET_BUILDER_IMAGE_ID\");\n\n        // Read config from the existing NitroEnclaveVerifier to ensure continuity.\n        NitroEnclaveVerifier existingNev = NitroEnclaveVerifier(existingNitroEnclaveVerifierEnv);\n        nitroInitialMaxTimeDiff = existingNev.maxTimeDiff();\n        nitroInitialRootCert = existingNev.rootCert();\n\n        ZkCoProcessorConfig memory cfg = existingNev.getZkConfig(ZkCoProcessorType.RiscZero);\n        riscZeroVerifierRouter = cfg.zkVerifier;\n        nitroZkVerifierId = cfg.verifierId;\n\n        bytes4 setVerifierSelector = RiscZeroSetVerifierLib.selector(riscZeroSetBuilderImageIdEnv);\n        riscZeroSetVerifier = INitroEnclaveVerifier(existingNitroEnclaveVerifierEnv)\n            .getZkVerifier({_zkCoProcessor: ZkCoProcessorType.RiscZero, _selector: setVerifierSelector});\n    }\n\n    function run() external {\n        bytes32[] memory trustedCerts = new bytes32[](0);\n        uint64[] memory trustedCertExpiries = new uint64[](0);\n\n        vm.startBroadcast();\n\n        nitroEnclaveVerifier = address(\n            new NitroEnclaveVerifier({\n                owner: msg.sender,\n                initialMaxTimeDiff: nitroInitialMaxTimeDiff,\n                initializeTrustedCerts: trustedCerts,\n                initializeTrustedCertExpiries: trustedCertExpiries,\n                initialRootCert: nitroInitialRootCert,\n                initialProofSubmitter: msg.sender,\n                initialRevoker: nitroRevokerEnv,\n                zkCoProcessor: ZkCoProcessorType.RiscZero,\n                config: ZkCoProcessorConfig({\n                    verifierId: nitroZkVerifierId, aggregatorId: bytes32(0), zkVerifier: riscZeroVerifierRouter\n                }),\n                verifierProofId: bytes32(0)\n            })\n        );\n\n        NitroEnclaveVerifier(nitroEnclaveVerifier).addVerifyRoute({\n            zkCoProcessor: ZkCoProcessorType.RiscZero,\n            selector: RiscZeroSetVerifierLib.selector(riscZeroSetBuilderImageIdEnv),\n            verifier: riscZeroSetVerifier\n        });\n        NitroEnclaveVerifier(nitroEnclaveVerifier).setProofSubmitter(teeProverRegistryProxyEnv);\n        NitroEnclaveVerifier(nitroEnclaveVerifier).transferOwnership(teeProverRegistryOwnerEnv);\n\n        vm.stopBroadcast();\n\n        _postCheck();\n        _writeAddresses();\n    }\n\n    function _postCheck() internal view {\n        _checkRiscZeroSetVerifier();\n        _checkNitroEnclaveVerifier();\n    }\n\n    function _checkRiscZeroSetVerifier() internal view {\n        RiscZeroSetVerifier setVerifier = RiscZeroSetVerifier(riscZeroSetVerifier);\n        bytes4 setVerifierSelector = RiscZeroSetVerifierLib.selector(riscZeroSetBuilderImageIdEnv);\n\n        require(address(setVerifier.VERIFIER()) == riscZeroVerifierRouter, \"set verifier router mismatch\");\n        require(setVerifier.SELECTOR() == setVerifierSelector, \"set verifier selector mismatch\");\n    }\n\n    function _checkNitroEnclaveVerifier() internal view {\n        NitroEnclaveVerifier nev = NitroEnclaveVerifier(nitroEnclaveVerifier);\n        bytes4 setVerifierSelector = RiscZeroSetVerifierLib.selector(riscZeroSetBuilderImageIdEnv);\n\n        require(nev.maxTimeDiff() == nitroInitialMaxTimeDiff, \"nitro max time diff mismatch\");\n        require(nev.rootCert() == nitroInitialRootCert, \"nitro root cert mismatch\");\n        require(nev.proofSubmitter() == teeProverRegistryProxyEnv, \"nitro proof submitter mismatch\");\n        require(nev.revoker() == nitroRevokerEnv, \"nitro revoker mismatch\");\n        require(nev.owner() == teeProverRegistryOwnerEnv, \"nitro owner mismatch\");\n\n        ZkCoProcessorConfig memory cfg = nev.getZkConfig(ZkCoProcessorType.RiscZero);\n        require(cfg.verifierId == nitroZkVerifierId, \"nitro verifier id mismatch\");\n        require(cfg.aggregatorId == bytes32(0), \"nitro aggregator id mismatch\");\n        require(cfg.zkVerifier == riscZeroVerifierRouter, \"nitro router mismatch\");\n        require(nev.getVerifierProofId(ZkCoProcessorType.RiscZero) == bytes32(0), \"nitro verifier proof id mismatch\");\n        require(\n            INitroEnclaveVerifier(nitroEnclaveVerifier)\n                .getZkVerifier({_zkCoProcessor: ZkCoProcessorType.RiscZero, _selector: setVerifierSelector})\n            == riscZeroSetVerifier,\n            \"nitro set-verifier route mismatch\"\n        );\n    }\n\n    function _writeAddresses() internal {\n        console.log(\"NitroEnclaveVerifier:\", nitroEnclaveVerifier);\n\n        string memory root = \"root\";\n        string memory json =\n            vm.serializeAddress({objectKey: root, valueKey: \"nitroEnclaveVerifier\", value: nitroEnclaveVerifier});\n        vm.writeJson({json: json, path: \"addresses.json\"});\n    }\n}\n"
  },
  {
    "path": "zeronet/2026-04-07-upgrade-tee-registry-nitro/script/DeployTEEProverRegistryImpl.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Script, console} from \"forge-std/Script.sol\";\nimport {INitroEnclaveVerifier} from \"interfaces/multiproof/tee/INitroEnclaveVerifier.sol\";\nimport {IDisputeGameFactory} from \"interfaces/dispute/IDisputeGameFactory.sol\";\nimport {TEEProverRegistry} from \"@base-contracts/src/multiproof/tee/TEEProverRegistry.sol\";\n\ncontract DeployTeeProverRegistryImpl is Script {\n    address internal disputeGameFactoryProxyEnv;\n    address internal nitroEnclaveVerifier;\n\n    address public teeProverRegistryImpl;\n\n    function setUp() public {\n        disputeGameFactoryProxyEnv = vm.envAddress(\"DISPUTE_GAME_FACTORY_PROXY\");\n\n        string memory root = vm.projectRoot();\n        string memory path = string.concat(root, \"/addresses.json\");\n        string memory json = vm.readFile(path);\n\n        nitroEnclaveVerifier = vm.parseJsonAddress({json: json, key: \".nitroEnclaveVerifier\"});\n    }\n\n    function run() external {\n        vm.startBroadcast();\n\n        teeProverRegistryImpl = address(\n            new TEEProverRegistry({\n                nitroVerifier: INitroEnclaveVerifier(nitroEnclaveVerifier),\n                factory: IDisputeGameFactory(disputeGameFactoryProxyEnv)\n            })\n        );\n\n        vm.stopBroadcast();\n\n        _postCheck();\n        _writeAddresses();\n    }\n\n    function _postCheck() internal view {\n        TEEProverRegistry registry = TEEProverRegistry(teeProverRegistryImpl);\n        require(address(registry.NITRO_VERIFIER()) == nitroEnclaveVerifier, \"tee registry nitro mismatch\");\n        require(address(registry.DISPUTE_GAME_FACTORY()) == disputeGameFactoryProxyEnv, \"tee registry dgf mismatch\");\n    }\n\n    function _writeAddresses() internal {\n        console.log(\"TEEProverRegistryImpl:\", teeProverRegistryImpl);\n        vm.writeJson({\n            json: vm.toString(teeProverRegistryImpl), path: \"addresses.json\", valueKey: \".teeProverRegistryImpl\"\n        });\n    }\n}\n"
  },
  {
    "path": "zeronet/2026-04-07-upgrade-tee-registry-nitro/script/UpgradeTEEProverRegistry.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\n\nimport {MultisigScript, Enum} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {GameType} from \"@base-contracts/src/dispute/lib/Types.sol\";\nimport {AggregateVerifier} from \"@base-contracts/src/multiproof/AggregateVerifier.sol\";\nimport {TEEProverRegistry} from \"@base-contracts/src/multiproof/tee/TEEProverRegistry.sol\";\n\ninterface IProxyAdmin {\n    function upgrade(address proxy, address implementation) external;\n}\n\ninterface IProxy {\n    function implementation() external view returns (address);\n}\n\ninterface IDisputeGameFactory {\n    function gameImpls(GameType gameType) external view returns (address);\n    function setImplementation(GameType gameType, address impl, bytes calldata args) external;\n}\n\ncontract UpgradeTeeProverRegistry is MultisigScript {\n    address internal ownerSafeEnv;\n    address internal proxyAdminEnv;\n    address internal teeProverRegistryProxyEnv;\n    address internal disputeGameFactoryProxyEnv;\n\n    address internal newTeeProverRegistryImpl;\n    address internal newNitroEnclaveVerifier;\n    address internal newAggregateVerifier;\n\n    // Derived from the deployed AggregateVerifier.\n    GameType internal gameType;\n\n    function setUp() public {\n        ownerSafeEnv = vm.envAddress(\"PROXY_ADMIN_OWNER\");\n        proxyAdminEnv = vm.envAddress(\"L1_PROXY_ADMIN\");\n        teeProverRegistryProxyEnv = vm.envAddress(\"TEE_PROVER_REGISTRY_PROXY\");\n        disputeGameFactoryProxyEnv = vm.envAddress(\"DISPUTE_GAME_FACTORY_PROXY\");\n\n        string memory root = vm.projectRoot();\n        string memory path = string.concat(root, \"/addresses.json\");\n        string memory json = vm.readFile(path);\n\n        newTeeProverRegistryImpl = vm.parseJsonAddress({json: json, key: \".teeProverRegistryImpl\"});\n        newNitroEnclaveVerifier = vm.parseJsonAddress({json: json, key: \".nitroEnclaveVerifier\"});\n        newAggregateVerifier = vm.parseJsonAddress({json: json, key: \".aggregateVerifier\"});\n\n        gameType = AggregateVerifier(newAggregateVerifier).gameType();\n    }\n\n    function _buildCalls() internal view override returns (Call[] memory) {\n        Call[] memory calls = new Call[](2);\n\n        // 0. Upgrade the TEEProverRegistry proxy to the new implementation (points to new NEV).\n        calls[0] = Call({\n            operation: Enum.Operation.Call,\n            target: proxyAdminEnv,\n            data: abi.encodeCall(IProxyAdmin.upgrade, (teeProverRegistryProxyEnv, newTeeProverRegistryImpl)),\n            value: 0\n        });\n\n        // 1. Register the new AggregateVerifier in the DisputeGameFactory.\n        calls[1] = Call({\n            operation: Enum.Operation.Call,\n            target: disputeGameFactoryProxyEnv,\n            data: abi.encodeCall(IDisputeGameFactory.setImplementation, (gameType, newAggregateVerifier, \"\")),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal override {\n        vm.prank(proxyAdminEnv);\n        require(\n            IProxy(teeProverRegistryProxyEnv).implementation() == newTeeProverRegistryImpl,\n            \"tee registry implementation mismatch\"\n        );\n        require(\n            address(TEEProverRegistry(teeProverRegistryProxyEnv).NITRO_VERIFIER()) == newNitroEnclaveVerifier,\n            \"tee registry nitro mismatch\"\n        );\n        require(\n            IDisputeGameFactory(disputeGameFactoryProxyEnv).gameImpls(gameType) == newAggregateVerifier,\n            \"dgf aggregate verifier mismatch\"\n        );\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return ownerSafeEnv;\n    }\n}\n"
  },
  {
    "path": "zeronet/2026-04-07-upgrade-tee-registry-nitro/validations/upgrade-tee-registry-cb-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net script/UpgradeTeeProverRegistry.s.sol:UpgradeTeeProverRegistry --sig sign(address[]) [0x856611ed7e07d83243b15e93f6321f2df6865852] --sender 0x931E24B032511d8dD029AedeB44837FAc251f3d8\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net\",\n  \"skipTaskOriginValidation\": true,\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n    \"domainHash\": \"0xc88eae2baaa4c8513a3d87913666de9463f106158aaf8be5cd31588215ccd5c4\",\n    \"messageHash\": \"0x48e3995e89b5093eb1b9e1954b27a93ec24aa87e90eb8b4a1d1da4d8a1f1049c\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Zeronet\",\n      \"address\": \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Zeronet\",\n      \"address\": \"0x856611eD7E07D83243b15E93f6321f2df6865852\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xa440aa26b229b26e1a9a257dd91c1614c61b99807d725a60ba76059e4e4a4dc3\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"DisputeGameFactory Proxy - Zeronet\",\n      \"address\": \"0x154972aB98A5e321a9c7aB7677973f1F501a8090\",\n      \"changes\": [\n        {\n          \"key\": \"0x32912047a4c082de3e601c4b381c2aa6252270818a4be33442b17fb41b6cf7d6\",\n          \"before\": \"0x0000000000000000000000006ed60b2e1bdc8bcf333e12e716af2bc63bb263d6\",\n          \"after\": \"0x000000000000000000000000016cdb236f103078677aea6d9287ea9b2f33c872\",\n          \"description\": \"Updates the AggregateVerifier implementation address for game type 621.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Proxy Admin Owner - Zeronet\",\n      \"address\": \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000002\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xc6da430873ecec5a5fc3670db199efefdae78b642b94f0f6e44d7dc26ad1af34\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Sets an approval for this transaction.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Zeronet\",\n      \"address\": \"0x856611eD7E07D83243b15E93f6321f2df6865852\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000002\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"TEE Prover Registry Proxy - Zeronet\",\n      \"address\": \"0xf1d1441B7d98f191f5CFBE4660D3684FEa004AFc\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x0000000000000000000000003b0d2f6a1f9d9de3a163e1f0aaf845dd47ce3122\",\n          \"after\": \"0x000000000000000000000000cbb3f44b4378c014ce7aaa15bae54b433ac63085\",\n          \"description\": \"Updates TEEProverRegistry proxy implementation address.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": [],\n  \"taskOriginConfig\": {\n    \"taskCreator\": {\n      \"commonName\": \"baptiste.oueriagli@coinbase.com\"\n    }\n  }\n}\n"
  },
  {
    "path": "zeronet/2026-04-07-upgrade-tee-registry-nitro/validations/upgrade-tee-registry-sc-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net script/UpgradeTeeProverRegistry.s.sol:UpgradeTeeProverRegistry --sig sign(address[]) [0xC4c0aD998B5DfA4CF4B298970F21b9015a5eE7bA] --sender 0x931E24B032511d8dD029AedeB44837FAc251f3d8\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net\",\n  \"skipTaskOriginValidation\": true,\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n    \"domainHash\": \"0x1e2faea9157fbff31d9297595a71e2dedfeb1184207c07bb6bd64f807332a525\",\n    \"messageHash\": \"0x48e3995e89b5093eb1b9e1954b27a93ec24aa87e90eb8b4a1d1da4d8a1f1049c\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Zeronet\",\n      \"address\": \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Security Council Safe - Zeronet\",\n      \"address\": \"0xC4c0aD998B5DfA4CF4B298970F21b9015a5eE7bA\",\n      \"overrides\": [\n        {\n          \"key\": \"0x8f1177d976166466f1c918a3473f431c3ae7cabf62887733eb8eacb7ae4ccc08\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"DisputeGameFactory Proxy - Zeronet\",\n      \"address\": \"0x154972aB98A5e321a9c7aB7677973f1F501a8090\",\n      \"changes\": [\n        {\n          \"key\": \"0x32912047a4c082de3e601c4b381c2aa6252270818a4be33442b17fb41b6cf7d6\",\n          \"before\": \"0x0000000000000000000000006ed60b2e1bdc8bcf333e12e716af2bc63bb263d6\",\n          \"after\": \"0x000000000000000000000000016cdb236f103078677aea6d9287ea9b2f33c872\",\n          \"description\": \"Updates the AggregateVerifier implementation address for game type 621.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Proxy Admin Owner - Zeronet\",\n      \"address\": \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000002\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x1c998127e74c9016d83d5844597ffa246ac577edaf327d9428f5f1ddc7e3a0ac\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Sets an approval for this transaction.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Security Council Safe - Zeronet\",\n      \"address\": \"0xC4c0aD998B5DfA4CF4B298970F21b9015a5eE7bA\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000002\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"TEE Prover Registry Proxy - Zeronet\",\n      \"address\": \"0xf1d1441B7d98f191f5CFBE4660D3684FEa004AFc\",\n      \"changes\": [\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x0000000000000000000000003b0d2f6a1f9d9de3a163e1f0aaf845dd47ce3122\",\n          \"after\": \"0x000000000000000000000000cbb3f44b4378c014ce7aaa15bae54b433ac63085\",\n          \"description\": \"Updates TEEProverRegistry proxy implementation address.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": [],\n  \"taskOriginConfig\": {\n    \"taskCreator\": {\n      \"commonName\": \"baptiste.oueriagli@coinbase.com\"\n    }\n  }\n}\n"
  },
  {
    "path": "zeronet/2026-04-17-fix-nitro-verifier/FACILITATOR.md",
    "content": "# Facilitator Guide\n\nGuide for facilitators managing this task.\n\n## Generate validation file\n\n```bash\ncd contract-deployments\ngit pull\ncd zeronet/2026-04-17-fix-nitro-verifier\nmake deps\nmake gen-validation\n```\n\nThis produces `validations/fix-nitro-verifier-cb-signer.json`, which signers should use in the signing UI.\n\n## Execute the transaction\n\n### 1. Update repo\n\n```bash\ncd contract-deployments\ngit pull\ncd zeronet/2026-04-17-fix-nitro-verifier\nmake deps\n```\n\n### 2. Collect signatures from all participating signers\n\nConcatenate all signatures and export as the `SIGNATURES` environment variable:\n\n```bash\nexport SIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"\n```\n\n### 3. Execute\n\n```bash\nSIGNATURES=$SIGNATURES make execute\n```\n\nPost-checks enforced by the script:\n\n- `NitroEnclaveVerifier.owner()` remains `TEE_PROVER_REGISTRY_OWNER`\n- `NitroEnclaveVerifier.proofSubmitter()` remains unchanged\n- `NitroEnclaveVerifier.revoker()` remains unchanged\n- `NitroEnclaveVerifier.maxTimeDiff()` remains unchanged\n- `NitroEnclaveVerifier.rootCert()` remains unchanged\n- `NitroEnclaveVerifier.getZkConfig(RiscZero).verifierId` equals `NITRO_ZK_VERIFIER_ID`\n- `NitroEnclaveVerifier.getZkConfig(RiscZero).aggregatorId` remains unchanged\n- `NitroEnclaveVerifier.getZkConfig(RiscZero).zkVerifier` remains unchanged\n- `NitroEnclaveVerifier.getVerifierProofId(RiscZero)` remains unchanged\n"
  },
  {
    "path": "zeronet/2026-04-17-fix-nitro-verifier/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\n-include ../.env\ninclude .env\n\nRPC_URL = $(L1_RPC_URL)\nSCRIPT_NAME = script/FixNitroVerifierId.s.sol:FixNitroVerifierId\nSENDER ?= $(shell cast call $(TEE_PROVER_REGISTRY_OWNER) \"getOwners()(address[])\" --rpc-url $(L1_RPC_URL) | tr -d '[]' | cut -d',' -f1)\n\n.PHONY: deps\ndeps: task-extra-deps\n\n.PHONY: task-extra-deps\ntask-extra-deps:\n\tforge install --no-git github.com/base/op-enclave@a2d5398f04c3a8e4df929d58ee638ba4a037bfec\n\tforge install --no-git github.com/risc0/risc0-ethereum@a78ac4a52fe9cfa14120c3b496430f0d42e1d8d3\n\tforge install --no-git github.com/succinctlabs/sp1-contracts@22c4a47cd0a388cb4e25b4f2513954e4275c74ca\n\tgit clone --no-checkout https://github.com/OpenZeppelin/openzeppelin-contracts.git lib/openzeppelin-contracts-v5 && \\\n\t\tcd lib/openzeppelin-contracts-v5 && git checkout dbb6104ce834628e473d2173bbc9d47f81a9eec3\n\tgit clone --no-checkout https://github.com/Vectorized/solady.git lib/solady-v0.0.245 && \\\n\t\tcd lib/solady-v0.0.245 && git checkout e0ef35adb0ccd1032794731a995cb599bba7b537\n\n.PHONY: validate-config\nvalidate-config:\n\t@test -n \"$(BASE_CONTRACTS_COMMIT)\" || (echo \"BASE_CONTRACTS_COMMIT required\" && exit 1)\n\t@test -n \"$(TEE_PROVER_REGISTRY_OWNER)\" || (echo \"TEE_PROVER_REGISTRY_OWNER required\" && exit 1)\n\t@test -n \"$(NITRO_ENCLAVE_VERIFIER)\" || (echo \"NITRO_ENCLAVE_VERIFIER required\" && exit 1)\n\t@test -n \"$(CURRENT_NITRO_ZK_VERIFIER_ID)\" || (echo \"CURRENT_NITRO_ZK_VERIFIER_ID required\" && exit 1)\n\t@test -n \"$(NITRO_ZK_VERIFIER_ID)\" || (echo \"NITRO_ZK_VERIFIER_ID required\" && exit 1)\n\t@test -n \"$(SENDER)\" || (echo \"SENDER required\" && exit 1)\n\t@echo \"Configuration validated successfully\"\n\n.PHONY: gen-validation\ngen-validation: validate-config deps-signer-tool\n\tmkdir -p validations; \\\n\t$(call GEN_VALIDATION,$(SCRIPT_NAME),,$(SENDER),fix-nitro-verifier-cb-signer.json,)\n\n.PHONY: execute\nexecute: validate-config\n\t$(call MULTISIG_EXECUTE,$(SIGNATURES))\n"
  },
  {
    "path": "zeronet/2026-04-17-fix-nitro-verifier/README.md",
    "content": "# Fix Nitro Verifier ID\n\nStatus: [EXECUTED](https://hoodi.etherscan.io/tx/0x3b7898e2c9b47b5000ba09cf67933c6b98027a4e49eecfe00539ad8e7f2e08ce)\n\n## Description\n\nThis task updates the live Zeronet `NitroEnclaveVerifier` (`0x4e3E30E148E803667913bE97A8ce9EBA39b65563`) to use the corrected RISC Zero verifier program ID.\n\nIt is a single-call multisig task that invokes `updateVerifierId` for the RISC Zero path, changing the Nitro verifier ID from `0xce17a683c290c57ff91f00d4c0e6e6ec8aa2f73285af7d81b162327ba96321d6` to `0x15051db631d6ed382d957c795a558a0abdd00d0d22a1670455721bc2712d3d6e`.\n\nThe task starts from the post-execution state of the executed Zeronet upgrade task in [PR #663](https://github.com/base/contract-deployments/pull/663). It does not redeploy `NitroEnclaveVerifier`, `TEEProverRegistry`, or `AggregateVerifier`. It preserves the current Nitro owner, proof submitter, revoker, root cert, max time diff, router, aggregator ID, and verifier proof ID.\n\n## Procedure\n\n### Sign task\n\n#### 1. Update repo and install deps\n\n```bash\ncd contract-deployments\ngit pull\ncd zeronet/2026-04-17-fix-nitro-verifier\nmake deps\n```\n\n#### 2. Run the signing tool\n\n```bash\ncd contract-deployments\nmake sign-task\n```\n\n#### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\nSelect the correct task user from the list of available users and sign the transaction.\n\n#### 4. Send the signature to the facilitator\n\nFacilitator execution steps are documented in `FACILITATOR.md`.\n"
  },
  {
    "path": "zeronet/2026-04-17-fix-nitro-verifier/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 200\nauto_detect_solc = true\nevm_version = \"prague\"\nvia-ir = false\nremappings = [\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@base-contracts/=lib/contracts/',\n    '@solady/=lib/solady/src/',\n    '@solady-v0.0.245/=lib/solady-v0.0.245/src/',\n    'forge-std/=lib/forge-std/src/',\n    'interfaces/dispute/=lib/contracts/interfaces/dispute/',\n    'interfaces/L1/=lib/contracts/interfaces/L1/',\n    'interfaces/legacy/=lib/contracts/interfaces/legacy/',\n    'interfaces/multiproof/=lib/contracts/interfaces/multiproof/',\n    'interfaces/universal/=lib/contracts/interfaces/universal/',\n    'src/libraries/=lib/contracts/src/libraries/',\n    'src/dispute/=lib/contracts/src/dispute/',\n    'src/universal/=lib/contracts/src/universal/',\n    'lib/op-enclave/=lib/op-enclave/',\n    'openzeppelin/=lib/risc0-ethereum/lib/openzeppelin-contracts/',\n    '@lib-keccak/=lib/lib-keccak/contracts/lib/',\n    'interfaces/cannon/=lib/contracts/interfaces/cannon/',\n    'src/cannon/=lib/contracts/src/cannon/',\n]\n"
  },
  {
    "path": "zeronet/2026-04-17-fix-nitro-verifier/records/FixNitroVerifierId.s.sol/560048/run-1776445069900.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x3b7898e2c9b47b5000ba09cf67933c6b98027a4e49eecfe00539ad8e7f2e08ce\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x856611ed7e07d83243b15e93f6321f2df6865852\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x4e3E30E148E803667913bE97A8ce9EBA39b65563\",\n        \"0\",\n        \"0xcc05c0b3000000000000000000000000000000000000000000000000000000000000000115051db631d6ed382d957c795a558a0abdd00d0d22a1670455721bc2712d3d6e0000000000000000000000000000000000000000000000000000000000000000\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x7fc57a5347915d6e4b8e0f95de9b52bf9f134cd0b692d13337454cba7875f1ef095b521ebd1630af6004339005c6956432b2a343df2a80b9fe454c2e8ad93f5a1c9fe9aee86c0c839a653cbd9180a08c48583268649789b9c2825022aa798dd8154c0800a4ba097e9f08b676f55db5534f8d21909cd7f521a00493b2233fd41b0c1c6ef284f6da691a58f249a388f595c8874ae453fdd951b63671b6cb146a06cbcb2f7f9b450d786bfda8987d94e48500245665d67eee86a0d11735cadbd401e9811b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x856611ed7e07d83243b15e93f6321f2df6865852\",\n        \"gas\": \"0x1ab62\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000004e3e30e148e803667913be97a8ce9eba39b655630000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000064cc05c0b3000000000000000000000000000000000000000000000000000000000000000115051db631d6ed382d957c795a558a0abdd00d0d22a1670455721bc2712d3d6e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c37fc57a5347915d6e4b8e0f95de9b52bf9f134cd0b692d13337454cba7875f1ef095b521ebd1630af6004339005c6956432b2a343df2a80b9fe454c2e8ad93f5a1c9fe9aee86c0c839a653cbd9180a08c48583268649789b9c2825022aa798dd8154c0800a4ba097e9f08b676f55db5534f8d21909cd7f521a00493b2233fd41b0c1c6ef284f6da691a58f249a388f595c8874ae453fdd951b63671b6cb146a06cbcb2f7f9b450d786bfda8987d94e48500245665d67eee86a0d11735cadbd401e9811b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x61\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x51f7ef\",\n      \"logs\": [\n        {\n          \"address\": \"0x4e3e30e148e803667913be97a8ce9eba39b65563\",\n          \"topics\": [\n            \"0x51084eb34dac0e8c796b2741ed1a6fed727311fc435b0af0dac30f0581dbce49\",\n            \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n            \"0x15051db631d6ed382d957c795a558a0abdd00d0d22a1670455721bc2712d3d6e\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x72b44d4d3e9f2297ff53d4f0376cf130887b6272db7229a858cc106e1e849c07\",\n          \"blockNumber\": \"0x283d40\",\n          \"blockTimestamp\": \"0x69e2668c\",\n          \"transactionHash\": \"0x3b7898e2c9b47b5000ba09cf67933c6b98027a4e49eecfe00539ad8e7f2e08ce\",\n          \"transactionIndex\": \"0x12\",\n          \"logIndex\": \"0x31\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x856611ed7e07d83243b15e93f6321f2df6865852\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0x731b0b2cddb9bcb5fd20ae099c63d79a920594dd1a574b41fc1c48f0b94c65f7\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x72b44d4d3e9f2297ff53d4f0376cf130887b6272db7229a858cc106e1e849c07\",\n          \"blockNumber\": \"0x283d40\",\n          \"blockTimestamp\": \"0x69e2668c\",\n          \"transactionHash\": \"0x3b7898e2c9b47b5000ba09cf67933c6b98027a4e49eecfe00539ad8e7f2e08ce\",\n          \"transactionIndex\": \"0x12\",\n          \"logIndex\": \"0x32\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000020400000000000000000000004001000000000000000000000050000001000000000000000000000000000000000000000000000000080000000040000000000000100000000000000000000000000000200040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200008000000008000000000000000000000000000000000000000000000000000000004000000400000000000000000000000000000000000000000000400000000000000000000000000000000000000100040000000000000000000000000000000000000000800000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x3b7898e2c9b47b5000ba09cf67933c6b98027a4e49eecfe00539ad8e7f2e08ce\",\n      \"transactionIndex\": \"0x12\",\n      \"blockHash\": \"0x72b44d4d3e9f2297ff53d4f0376cf130887b6272db7229a858cc106e1e849c07\",\n      \"blockNumber\": \"0x283d40\",\n      \"gasUsed\": \"0x1356c\",\n      \"effectiveGasPrice\": \"0x3b9aca07\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x856611ed7e07d83243b15e93f6321f2df6865852\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1776445069900,\n  \"chain\": 560048,\n  \"commit\": \"1242d16\"\n}"
  },
  {
    "path": "zeronet/2026-04-17-fix-nitro-verifier/script/FixNitroVerifierId.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\nimport {Vm} from \"forge-std/Vm.sol\";\n\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {MultisigScript} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Enum} from \"@base-contracts/script/universal/IGnosisSafe.sol\";\nimport {ZkCoProcessorConfig, ZkCoProcessorType} from \"interfaces/multiproof/tee/INitroEnclaveVerifier.sol\";\nimport {NitroEnclaveVerifier} from \"@base-contracts/src/multiproof/tee/NitroEnclaveVerifier.sol\";\n\ncontract FixNitroVerifierId is MultisigScript {\n    address internal nitroOwnerEnv;\n    address internal nitroEnclaveVerifierEnv;\n    bytes32 internal currentNitroZkVerifierIdEnv;\n    bytes32 internal newNitroZkVerifierIdEnv;\n\n    address internal currentProofSubmitter;\n    address internal currentRevoker;\n    uint64 internal currentMaxTimeDiff;\n    bytes32 internal currentRootCert;\n    bytes32 internal currentAggregatorId;\n    address internal currentRouter;\n    bytes32 internal currentVerifierProofId;\n\n    function setUp() public {\n        nitroOwnerEnv = vm.envAddress(\"TEE_PROVER_REGISTRY_OWNER\");\n        nitroEnclaveVerifierEnv = vm.envAddress(\"NITRO_ENCLAVE_VERIFIER\");\n        currentNitroZkVerifierIdEnv = vm.envBytes32(\"CURRENT_NITRO_ZK_VERIFIER_ID\");\n        newNitroZkVerifierIdEnv = vm.envBytes32(\"NITRO_ZK_VERIFIER_ID\");\n\n        require(currentNitroZkVerifierIdEnv != newNitroZkVerifierIdEnv, \"verifier id already target\");\n\n        NitroEnclaveVerifier nev = NitroEnclaveVerifier(nitroEnclaveVerifierEnv);\n        require(nev.owner() == nitroOwnerEnv, \"nitro owner mismatch\");\n\n        currentProofSubmitter = nev.proofSubmitter();\n        currentRevoker = nev.revoker();\n        currentMaxTimeDiff = nev.maxTimeDiff();\n        currentRootCert = nev.rootCert();\n        currentVerifierProofId = nev.getVerifierProofId(ZkCoProcessorType.RiscZero);\n\n        ZkCoProcessorConfig memory cfg = nev.getZkConfig(ZkCoProcessorType.RiscZero);\n        require(cfg.verifierId == currentNitroZkVerifierIdEnv, \"unexpected current verifier id\");\n\n        currentAggregatorId = cfg.aggregatorId;\n        currentRouter = cfg.zkVerifier;\n    }\n\n    function _buildCalls() internal view override returns (Call[] memory calls) {\n        calls = new Call[](1);\n\n        calls[0] = Call({\n            operation: Enum.Operation.Call,\n            target: nitroEnclaveVerifierEnv,\n            data: abi.encodeCall(\n                NitroEnclaveVerifier.updateVerifierId,\n                (ZkCoProcessorType.RiscZero, newNitroZkVerifierIdEnv, currentVerifierProofId)\n            ),\n            value: 0\n        });\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        NitroEnclaveVerifier nev = NitroEnclaveVerifier(nitroEnclaveVerifierEnv);\n        ZkCoProcessorConfig memory cfg = nev.getZkConfig(ZkCoProcessorType.RiscZero);\n\n        require(nev.owner() == nitroOwnerEnv, \"nitro owner changed\");\n        require(nev.proofSubmitter() == currentProofSubmitter, \"nitro proof submitter changed\");\n        require(nev.revoker() == currentRevoker, \"nitro revoker changed\");\n        require(nev.maxTimeDiff() == currentMaxTimeDiff, \"nitro max time diff changed\");\n        require(nev.rootCert() == currentRootCert, \"nitro root cert changed\");\n        require(cfg.verifierId == newNitroZkVerifierIdEnv, \"nitro verifier id mismatch\");\n        require(cfg.aggregatorId == currentAggregatorId, \"nitro aggregator id changed\");\n        require(cfg.zkVerifier == currentRouter, \"nitro router changed\");\n        require(\n            nev.getVerifierProofId(ZkCoProcessorType.RiscZero) == currentVerifierProofId,\n            \"nitro verifier proof id changed\"\n        );\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return nitroOwnerEnv;\n    }\n}\n"
  },
  {
    "path": "zeronet/2026-04-17-fix-nitro-verifier/validations/fix-nitro-verifier-cb-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net script/FixNitroVerifierId.s.sol:FixNitroVerifierId --sig sign(address[]) [] --sender 0x931E24B032511d8dD029AedeB44837FAc251f3d8\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net\",\n  \"skipTaskOriginValidation\": true,\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x856611eD7E07D83243b15E93f6321f2df6865852\",\n    \"domainHash\": \"0xc88eae2baaa4c8513a3d87913666de9463f106158aaf8be5cd31588215ccd5c4\",\n    \"messageHash\": \"0xbee760b0eb211eda9ebc731c7b84a2e381491873c14003eca70bdcf997f811f8\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"CB Signer Safe - Zeronet\",\n      \"address\": \"0x856611eD7E07D83243b15E93f6321f2df6865852\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x74139f45c055985357da01c4284f32ad254e5309f5799669df497a09b95388f4\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"NitroEnclaveVerifier - Zeronet\",\n      \"address\": \"0x4e3E30E148E803667913bE97A8ce9EBA39b65563\",\n      \"changes\": [\n        {\n          \"key\": \"0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0\",\n          \"before\": \"0xce17a683c290c57ff91f00d4c0e6e6ec8aa2f73285af7d81b162327ba96321d6\",\n          \"after\": \"0x15051db631d6ed382d957c795a558a0abdd00d0d22a1670455721bc2712d3d6e\",\n          \"description\": \"Updates the RISC Zero verifier ID used by NitroEnclaveVerifier.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Zeronet\",\n      \"address\": \"0x856611eD7E07D83243b15E93f6321f2df6865852\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000002\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": [],\n  \"taskOriginConfig\": {\n    \"taskCreator\": {\n      \"commonName\": \"baptiste.oueriagli@coinbase.com\"\n    }\n  }\n}"
  },
  {
    "path": "zeronet/2026-04-17-fix-tee-image-hash/FACILITATOR.md",
    "content": "# Facilitator Guide\n\nGuide for facilitators managing this task.\n\n## Deployment prerequisites\n\nBefore collecting signatures, complete the EOA-authorized phase:\n\n```bash\ncd contract-deployments\ngit pull\ncd zeronet/2026-04-17-fix-tee-image-hash\nmake deps\nmake deploy-aggregate-verifier\n```\n\n`make deploy-aggregate-verifier` runs `DeployAggregateVerifier`:\n\n- redeploys `AggregateVerifier` with the same immutables as the existing one, overriding only `TEE_IMAGE_HASH` with the corrected value\n- writes `addresses.json`\n\nExpected `addresses.json` key:\n\n- `aggregateVerifier`\n\n## Generate validation files\n\n```bash\ncd contract-deployments\ngit pull\ncd zeronet/2026-04-17-fix-tee-image-hash\nmake deps\nmake gen-validation-fix-cb\nmake gen-validation-fix-sc\n```\n\nThis produces:\n\n- `validations/fix-tee-image-hash-cb-signer.json`\n- `validations/fix-tee-image-hash-sc-signer.json`\n\n## Execute the transaction\n\n### 1. Update repo\n\n```bash\ncd contract-deployments\ngit pull\ncd zeronet/2026-04-17-fix-tee-image-hash\nmake deps\n```\n\n### 2. Collect signatures for `CB_MULTISIG`\n\nConcatenate all signatures and export as the `SIGNATURES` environment variable:\n\n```bash\nexport SIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"\n```\n\nThen run:\n\n```bash\nSIGNATURES=$SIGNATURES make approve-fix-cb\n```\n\n### 3. Collect signatures for `BASE_SECURITY_COUNCIL`\n\nConcatenate all signatures and export as the `SIGNATURES` environment variable:\n\n```bash\nexport SIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"\n```\n\nThen run:\n\n```bash\nSIGNATURES=$SIGNATURES make approve-fix-sc\n```\n\n### 4. Execute upgrade batch\n\n```bash\nmake execute-fix\n```\n\nPost-checks enforced by script:\n\n- `DisputeGameFactory.gameImpls(621)` equals the newly deployed `aggregateVerifier`\n- `aggregateVerifier.TEE_IMAGE_HASH()` equals `TEE_IMAGE_HASH`\n"
  },
  {
    "path": "zeronet/2026-04-17-fix-tee-image-hash/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\n-include ../.env\ninclude .env\n\nSIGNER_TOOL_PATH = ../../signer-tool\nRPC_URL = $(L1_RPC_URL)\nDEPLOYER = $(shell cast wallet address --ledger --mnemonic-derivation-path $(LEDGER_HD_PATH))\nFIX_SCRIPT_NAME = script/FixTeeImageHash.s.sol:FixTeeImageHash\nFIX_CB_SENDER = $(shell cast call $(CB_MULTISIG) \"getOwners()(address[])\" --rpc-url $(L1_RPC_URL) | tr -d '[]' | cut -d',' -f1)\nFIX_SC_SENDER = $(shell cast call $(BASE_SECURITY_COUNCIL) \"getOwners()(address[])\" --rpc-url $(L1_RPC_URL) | tr -d '[]' | cut -d',' -f1)\n\n.PHONY: deps\ndeps: task-extra-deps\n\n.PHONY: task-extra-deps\ntask-extra-deps:\n\tforge install --no-git github.com/base/op-enclave@a2d5398f04c3a8e4df929d58ee638ba4a037bfec\n\tforge install --no-git github.com/risc0/risc0-ethereum@a78ac4a52fe9cfa14120c3b496430f0d42e1d8d3\n\tforge install --no-git github.com/succinctlabs/sp1-contracts@22c4a47cd0a388cb4e25b4f2513954e4275c74ca\n\tgit clone --no-checkout https://github.com/OpenZeppelin/openzeppelin-contracts.git lib/openzeppelin-contracts-v5 && \\\n\t\tcd lib/openzeppelin-contracts-v5 && git checkout dbb6104ce834628e473d2173bbc9d47f81a9eec3\n\tgit clone --no-checkout https://github.com/Vectorized/solady.git lib/solady-v0.0.245 && \\\n\t\tcd lib/solady-v0.0.245 && git checkout e0ef35adb0ccd1032794731a995cb599bba7b537\n\n##\n# Deployment (EOA)\n##\n.PHONY: deploy-aggregate-verifier\ndeploy-aggregate-verifier:\nifndef VERIFIER_API_KEY\n\t$(error VERIFIER_API_KEY is not set)\nendif\n\tforge script --rpc-url $(L1_RPC_URL) script/DeployAggregateVerifier.s.sol:DeployAggregateVerifier \\\n\t\t--ledger --hd-paths $(LEDGER_HD_PATH) --broadcast --verify \\\n\t\t--verifier custom \\\n\t\t--verifier-url \"https://api.etherscan.io/v2/api?chainid=$(L1_CHAIN_ID)\" \\\n\t\t--verifier-api-key $(VERIFIER_API_KEY) \\\n\t\t-vvvv --sender $(DEPLOYER)\n\n##\n# Fix TEE image hash (multisig)\n##\n.PHONY: gen-validation-fix-cb\ngen-validation-fix-cb: deps-signer-tool\n\t$(call GEN_VALIDATION,$(FIX_SCRIPT_NAME),$(CB_MULTISIG),$(FIX_CB_SENDER),fix-tee-image-hash-cb-signer.json,)\n\n.PHONY: gen-validation-fix-sc\ngen-validation-fix-sc: deps-signer-tool\n\t$(call GEN_VALIDATION,$(FIX_SCRIPT_NAME),$(BASE_SECURITY_COUNCIL),$(FIX_SC_SENDER),fix-tee-image-hash-sc-signer.json,)\n\n.PHONY: approve-fix-cb\napprove-fix-cb: SCRIPT_NAME := $(FIX_SCRIPT_NAME)\napprove-fix-cb:\n\t$(call MULTISIG_APPROVE,$(CB_MULTISIG),$(SIGNATURES))\n\n.PHONY: approve-fix-sc\napprove-fix-sc: SCRIPT_NAME := $(FIX_SCRIPT_NAME)\napprove-fix-sc:\n\t$(call MULTISIG_APPROVE,$(BASE_SECURITY_COUNCIL),$(SIGNATURES))\n\n.PHONY: execute-fix\nexecute-fix: SCRIPT_NAME := $(FIX_SCRIPT_NAME)\nexecute-fix:\n\t$(call MULTISIG_EXECUTE,0x)\n"
  },
  {
    "path": "zeronet/2026-04-17-fix-tee-image-hash/README.md",
    "content": "# Fix TEE Image Hash\n\nStatus: [EXECUTED](https://hoodi.etherscan.io/tx/0x5040cdbab505f66c32db1b5d334325091243ea76a169053eab0b22b27c66c7e3)\n\n## Description\n\nThis task redeploys `AggregateVerifier` on `zeronet` with a corrected `TEE_IMAGE_HASH` and registers the new implementation under game type `621` in the `DisputeGameFactory`.\n\n`TEE_IMAGE_HASH` is an `immutable` of `AggregateVerifier`, so an in-place update is impossible. The fix therefore consists of:\n\n- redeploying `AggregateVerifier` with identical immutables, overriding only `TEE_IMAGE_HASH` from `0xbcf94c238e15b5e423050df2b6f354ab2c5f3af791d8f862f654a195af9f491e` to `0x11fb64617dfa2875d31b0cfb656666fd8cee65eb134fefeca171b9b6b4444a64`\n- pointing `DisputeGameFactory.gameImpls(621)` at the new implementation\n\nNo other contract is redeployed or upgraded. `TEEProverRegistry`, `NitroEnclaveVerifier`, `TEEVerifier`, `DelayedWETH`, and `AnchorStateRegistry` are untouched.\n\nThe task is intentionally split by caller permissions:\n\n- Phase 1: deployer EOA runs `DeployAggregateVerifier`\n- Phase 2: `PROXY_ADMIN_OWNER` multisig (nested `CB_MULTISIG` + `BASE_SECURITY_COUNCIL`) registers the new `AggregateVerifier` in the `DisputeGameFactory`\n\n## Procedure\n\n### Sign task\n\n#### 1. Update repo\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n#### 2. Run signing tool\n\n```bash\ncd contract-deployments\nmake sign-task\n```\n\n#### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\n- Select the correct signer role from the list of available users to sign.\n- After completion, close the signer tool with `Ctrl + C`.\n\n#### 4. Send signature to facilitator\n\nCopy the signature output and send it to the designated facilitator via the agreed communication channel.\n\nFor facilitator instructions, see `FACILITATOR.md`.\n"
  },
  {
    "path": "zeronet/2026-04-17-fix-tee-image-hash/addresses.json",
    "content": "{\n  \"aggregateVerifier\": \"0xeBF217B345fd635B0614e4F56afbe2136528883e\"\n}"
  },
  {
    "path": "zeronet/2026-04-17-fix-tee-image-hash/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 200\nauto_detect_solc = true\nevm_version = \"prague\"\nvia-ir = false\nremappings = [\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@base-contracts/=lib/contracts/',\n    '@solady/=lib/solady/src/',\n    '@solady-v0.0.245/=lib/solady-v0.0.245/src/',\n    'forge-std/=lib/forge-std/src/',\n    'interfaces/dispute/=lib/contracts/interfaces/dispute/',\n    'interfaces/L1/=lib/contracts/interfaces/L1/',\n    'interfaces/legacy/=lib/contracts/interfaces/legacy/',\n    'interfaces/multiproof/=lib/contracts/interfaces/multiproof/',\n    'interfaces/universal/=lib/contracts/interfaces/universal/',\n    'src/libraries/=lib/contracts/src/libraries/',\n    'src/dispute/=lib/contracts/src/dispute/',\n    'src/universal/=lib/contracts/src/universal/',\n    'lib/op-enclave/=lib/op-enclave/',\n    'openzeppelin/=lib/risc0-ethereum/lib/openzeppelin-contracts/',\n    '@lib-keccak/=lib/lib-keccak/contracts/lib/',\n    'interfaces/cannon/=lib/contracts/interfaces/cannon/',\n    'src/cannon/=lib/contracts/src/cannon/',\n]\n"
  },
  {
    "path": "zeronet/2026-04-17-fix-tee-image-hash/records/DeployAggregateVerifier.s.sol/560048/run-1776453426877.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x21e96b0e806f3ffafc5779168f62e9338f515b1491039daabe9523202c202569\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"AggregateVerifier\",\n      \"contractAddress\": \"0xebf217b345fd635b0614e4f56afbe2136528883e\",\n      \"function\": null,\n      \"arguments\": [\n        \"621\",\n        \"0x60A6C389F0BC5cE4269A40d9695927bC58700328\",\n        \"0x8fF945fcAd2ca8d66Fa1ba63C70440328Bb14FF3\",\n        \"0x6F3DB1c1F5110b20EfBBCCD13367Bca8898092E6\",\n        \"0x4730CEc510E664838B20B576881702b64651Cc45\",\n        \"0x11fb64617dfa2875d31b0cfb656666fd8cee65eb134fefeca171b9b6b4444a64\",\n        \"(0x33870b16176c98af4b2c96f721f9a7fa68ea92f8244618360a1592f5719085d8, 0x00719a15f7d3cb34da5c1caa72bfa7e397fd8f16808bdb958bc6da03999762c7)\",\n        \"0xab64b3118d2d030a3fd3fe3005239a2f332e48848bbedddca9e10df77ac7303e\",\n        \"763360\",\n        \"600\",\n        \"30\",\n        \"1\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"gas\": \"0x3aea27\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6102606040523480156200001257600080fd5b50604051620039fc380380620039fc833981016040819052620000359162000264565b82158062000041575081155b8062000057575062000054828462000345565b15155b15620000845760405163462b853960e11b8152600481018490526024810183905260440160405180910390fd5b8060011415801562000097575080600214155b15620000b65760405163b1016ea760e01b815260040160405180910390fd5b63ffffffff8c16610220526001600160a01b038b1660808190526040805163f2b4e61760e01b8152905163f2b4e617916004808201926020929091908290030181865afa1580156200010c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013291906200035c565b6001600160a01b0390811660a0528a811660c05289811660e0528816610120526101008790528551610140526020860151610160526101808590526101a08490526101c08390526101e08290526102408190526200018f620001c0565b6200019c90602062000399565b620001a990608e620003bb565b6102005250620003ed9a5050505050505050505050565b60006101e0516101c051620001d69190620003d6565b905090565b6001600160a01b0381168114620001f157600080fd5b50565b80516200020181620001db565b919050565b6000604082840312156200021957600080fd5b604080519081016001600160401b03811182821017156200024a57634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b6000806000806000806000806000806000806101a08d8f0312156200028857600080fd5b8c5163ffffffff811681146200029d57600080fd5b9b50620002ad60208e01620001f4565b9a50620002bd60408e01620001f4565b9950620002cd60608e01620001f4565b9850620002dd60808e01620001f4565b975060a08d01519650620002f58e60c08f0162000206565b95506101008d015194506101208d015193506101408d015192506101608d015191506101808d015190509295989b509295989b509295989b565b634e487b7160e01b600052601260045260246000fd5b6000826200035757620003576200032f565b500690565b6000602082840312156200036f57600080fd5b81516200037c81620001db565b9392505050565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615620003b657620003b662000383565b500290565b60008219821115620003d157620003d162000383565b500190565b600082620003e857620003e86200032f565b500490565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161346762000595600039600081816103bf0152610f200152600081816109840152818161144901526120d2015260006110d601526000818161071801528181611941015281816129ee0152612a290152600081816105710152818161137a015281816113b50152611962015260006107f6015260008181610a8301528181612b0c0152612c8901526000818161085e0152612d4101526000818161082a0152612caa0152600081816108e301528181611ba90152612d1001526000818161037d01528181612b2d0152612be901526000818161045e01528181611c3a0152612bba0152600081816109f801528181610c2601528181610cdc015261161d015260006107c20152600081816106a101528181611188015281816112e5015281816114740152818161173201528181611824015281816118cc015281816121330152818161219d0152818161222f01528181612337015281816123ca0152818161245b01526124ee01526134676000f3fe6080604052600436106103345760003560e01c80636dc86e81116101ab5780639ded3952116100f7578063c26783e911610095578063d1ee5e4b1161006f578063d1ee5e4b14610a5a578063d28cb06f14610a71578063e41f96ad14610aa5578063fa24f74314610ac557600080fd5b8063c26783e9146109e6578063cf09e0d014610a1a578063cfcf984b14610a3a57600080fd5b8063b97cb80f116100d1578063b97cb80f1461094d578063bbdc02db1461096d578063bcef3b55146109ae578063bdb337d1146109c357600080fd5b80639ded3952146108d1578063addecc0614610905578063b74df35a1461093857600080fd5b806382ff53a111610164578063908cb80e1161013e578063908cb80e1461084c5780639730163d146108805780639840fd841461089657806399735e32146108bc57600080fd5b806382ff53a1146107b05780638417d3c2146107e457806387d34f161461081857600080fd5b80636dc86e811461070657806370872aa51461073a57806374f8bf321461074f578063786b844b146107645780637a6bc9e11461077957806380f323a71461079a57600080fd5b8063324a13c9116102855780634e95eb58116102235780635c0cba33116101fd5780635c0cba3314610692578063609d3334146106c55780636361506d146106da57806364d12136146106ef57600080fd5b80634e95eb581461061e57806354fd4d501461063457806357da950e1461066257600080fd5b80633fada3fd1161025f5780633fada3fd146105a85780634224b1e7146105c957806342316182146105dc57806349edf35a146105fe57600080fd5b8063324a13c91461054957806335c4377b1461055f57806337b1b2291461059357600080fd5b80631f837574116102f2578063250e69bd116102cc578063250e69bd146104ce57806325fc2ace146104ff5780632810e1d6146105145780632845e5bb1461052957600080fd5b80631f8375741461044c578063200d2ed21461048057806323edb2e0146104ae57600080fd5b8062821de3146103395780630183fd441461036b57806310fbee28146103ad5780631333db2e146103e157806319effeb4146103f85780631ee5d7c814610437575b600080fd5b34801561034557600080fd5b5061034e610ae9565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561037757600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610362565b3480156103b957600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103ed57600080fd5b506103f6610afa565b005b34801561040457600080fd5b5060005461041f90600160401b90046001600160401b031681565b6040516001600160401b039091168152602001610362565b34801561044357600080fd5b5061034e610e08565b34801561045857600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561048c57600080fd5b506000546104a190600160801b900460ff1681565b6040516103629190612f35565b3480156104ba57600080fd5b5060035461034e906001600160a01b031681565b3480156104da57600080fd5b506000546104ef90600160901b900460ff1681565b6040519015158152602001610362565b34801561050b57600080fd5b5060015461039f565b34801561052057600080fd5b506104a1610e3f565b34801561053557600080fd5b5060075461041f906001600160401b031681565b34801561055557600080fd5b5061039f60055481565b34801561056b57600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059f57600080fd5b5061034e611067565b3480156105b457600080fd5b506003546104ef90600160a01b900460ff1681565b6103f66105d7366004612f97565b611073565b3480156105e857600080fd5b506105f1611687565b6040516103629190613030565b34801561060a57600080fd5b5061039f61061936600461304a565b6116a6565b34801561062a57600080fd5b5061039f61010081565b34801561064057600080fd5b506040805180820190915260058152640302e312e360dc1b60208201526105f1565b34801561066e57600080fd5b5060015460025461067d919082565b60408051928352602083019190915201610362565b34801561069e57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061034e565b3480156106d157600080fd5b506105f16116f3565b3480156106e657600080fd5b5061039f611718565b3480156106fb57600080fd5b5061041f6201518081565b34801561071257600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561074657600080fd5b5060025461039f565b34801561075b57600080fd5b5061034e611724565b34801561077057600080fd5b506103f6611730565b34801561078557600080fd5b506003546104ef90600160a81b900460ff1681565b3480156107a657600080fd5b5061039f60045481565b3480156107bc57600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107f057600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561082457600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561085857600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561088c57600080fd5b5061039f611fff81565b3480156108a257600080fd5b5061034e71f90827f1c53a10cb7a02335b17532000293581565b3480156108c857600080fd5b5061039f61192e565b3480156108dd57600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561091157600080fd5b5060075461092690600160401b900460ff1681565b60405160ff9091168152602001610362565b34801561094457600080fd5b5061039f61193a565b34801561095957600080fd5b506103f6610968366004613063565b611986565b34801561097957600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610362565b3480156109ba57600080fd5b5061039f611c9d565b3480156109cf57600080fd5b50600754426001600160401b0390911611156104ef565b3480156109f257600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b348015610a2657600080fd5b5060005461041f906001600160401b031681565b348015610a4657600080fd5b506103f6610a55366004612f97565b611ca9565b348015610a6657600080fd5b5061041f62093a8081565b348015610a7d57600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b348015610ab157600080fd5b506103f6610ac0366004613063565b611ddb565b348015610ad157600080fd5b50610ada6120cb565b604051610362939291906130b3565b6000610af5607461210c565b905090565b600268929eee149b4bd212685403610b1a5763ab143c066000526004601cfd5b600268929eee149b4bd2126855600354600160a81b900460ff1615610b52576040516317bfe5f760e01b815260040160405180910390fd5b6007546001600160401b0390811614610ba657600054600160401b90046001600160401b03166001600160401b0316600003610ba157604051636082930560e11b815260040160405180910390fd5b610be8565b6000546001600160401b0316610bbf90621275006130f7565b6001600160401b0316421015610be8576040516304643c3960e01b815260040160405180910390fd5b600354600160a01b900460ff16610c9d5760035460048054604051637eee288d60e01b81526001600160a01b039384169281019290925260248201527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b158015610c6c57600080fd5b505af1158015610c80573d6000803e3d6000fd5b50506003805460ff60a01b1916600160a01b17905550610df99050565b60038054600160a81b60ff60a81b198216179091556004805460405163f3fef3a360e01b81526001600160a01b039384169281019290925260248201527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b158015610d2257600080fd5b505af1158015610d36573d6000803e3d6000fd5b5050600354600454604051600094506001600160a01b039092169250908381818185875af1925050503d8060008114610d8b576040519150601f19603f3d011682016040523d82523d6000602084013e610d90565b606091505b5050905080610db2576040516383e6cc6b60e01b815260040160405180910390fd5b6003546004546040519081526001600160a01b03909116907f87e12c2565042763daa6bf5842ed2b6447f17f7e28f9a4905fe3959581396ead9060200160405180910390a2505b600168929eee149b4bd2126855565b6000600681805b6001811115610e2057610e20612f1f565b81526020810191909152604001600020546001600160a01b0316919050565b600080600054600160801b900460ff166002811115610e6057610e60612f1f565b14610e7e5760405163f1a9458160e01b815260040160405180910390fd5b6000610e8861212f565b90506000816002811115610e9e57610e9e612f1f565b03610ebc57604051634962835760e11b815260040160405180910390fd5b6001816002811115610ed057610ed0612f1f565b03610eed576000805460ff60801b1916600160801b179055610fe7565b600754426001600160401b039091161115610f1b576040516304643c3960e01b815260040160405180910390fd5b6007547f0000000000000000000000000000000000000000000000000000000000000000600160401b90910460ff161015610f695760405163344de4bf60e01b815260040160405180910390fd5b60055415610fd3576000805460ff60801b1916600160801b1781556001905260066020527f3e5fec24aa4dc4e5aee2e025e51e1392c72a2500577559fae9665c6d52bd6a3154600380546001600160a01b0319166001600160a01b03909216919091179055610fe7565b6000805460ff60801b1916600160811b1790555b600080546fffffffffffffffff00000000000000001916600160401b426001600160401b03160217908190556040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da609161104d91600160801b90910460ff1690612f35565b60405180910390a15050600054600160801b900460ff1690565b6000610af5600061210c565b600054600160881b900460ff161561109d5760405162dc149f60e41b815260040160405180910390fd5b6000602060016110ad8483613122565b6110b7919061313a565b6110c19190613151565b6110cc906020613173565b90506000816110fc7f00000000000000000000000000000000000000000000000000000000000000006040613122565b6111069190613122565b905080361461111d57639824bdab6000526004601cfd5b61112b611128611c9d565b90565b611142600161113861193a565b610619919061313a565b1461118657611154600161113861193a565b61115f611128611c9d565b60405163f33fa6cf60e01b8152600481019290925260248201526044015b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166111b8610ae9565b6001600160a01b0316146112e35760006111d0610ae9565b90506111db81612315565b6111f85760405163346119f760e01b815260040160405180910390fd5b6040518060400160405280611268836001600160a01b031663bcef3b556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111289190613192565b8152602001826001600160a01b03166399735e326040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112cf9190613192565b905280516001556020015160025550611371565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663664ed8306040518163ffffffff1660e01b81526004016040805180830381865afa158015611340573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136491906131ab565b8051600155602001516002555b60025461139f907f000000000000000000000000000000000000000000000000000000000000000090613122565b6113a761192e565b14611404576002546113da907f000000000000000000000000000000000000000000000000000000000000000090613122565b6113e261192e565b60405163043d96bb60e11b81526004810192909252602482015260440161117d565b600080546001600160401b03421671ff000000000000000000ffffffffffffffff1990911617600160881b17905560408051630f27ce5f60e21b8152905163ffffffff7f000000000000000000000000000000000000000000000000000000000000000016916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691633c9f397c916004808201926020929091908290030181865afa1580156114c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e49190613207565b6000805460ff60901b191663ffffffff9290921692909214600160901b02178155600780546001600160401b0367ffffffffffffffff19909116179055848482816115315761153161322d565b919091013560f81c9050600181111561154c5761154c612f1f565b9050600061155e602160018789613243565b6115679161326d565b9050600061157960416021888a613243565b6115829161326d565b905061158e82826125df565b6115d061159e876041818b613243565b856115a7611067565b60015487905b6002546115bb611128611c9d565b6115c361192e565b6115cb611687565b61278f565b6115e1836115dc611067565b61282f565b6115e9611067565b600380546001600160a01b0319166001600160a01b0392831617905534600481815560408051630d0e30db60e41b815290517f00000000000000000000000000000000000000000000000000000000000000009094169363d0e30db0939282810192600092919082900301818588803b15801561166557600080fd5b505af1158015611679573d6000803e3d6000fd5b505050505050505050505050565b6060610af5608861169661193a565b6116a1906020613173565b612912565b60006116b061193a565b82106116cf5760405163a6c661fd60e01b815260040160405180910390fd5b6116ed6116dd836020613173565b6116e8906088613122565b612954565b92915050565b6060610af5605461170261193a565b61170d906020613173565b6116a1906034613122565b6000610af56034612954565b60006006816001610e0f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561178e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b2919061328b565b156117d05760405163379a7ed960e01b815260040160405180910390fd5b600054600160401b90046001600160401b03166001600160401b031660000361180c57604051636082930560e11b815260040160405180910390fd5b604051630314d2b360e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015611873573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611897919061328b565b9050806118b757604051634851bd9b60e01b815260040160405180910390fd5b6040516317cf21a960e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561191857600080fd5b505af1925050508015611929575060015b505b50565b6000610af56054612954565b6000610af57f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000613151565b60008054600160801b900460ff1660028111156119a5576119a5612f1f565b146119c35760405163f1a9458160e01b815260040160405180910390fd5b6000848460008181106119d8576119d861322d565b919091013560f81c905060018111156119f3576119f3612f1f565b90506000600681836001811115611a0c57611a0c612f1f565b6001811115611a1d57611a1d612f1f565b81526020810191909152604001600020546001600160a01b031603611a5757806040516304b045a760e31b815260040161117d91906132ad565b60055415611add576001600554611a6e919061313a565b8314611a8d5760405163a6c661fd60e01b815260040160405180910390fd5b611a96836116a6565b8214611aa6578161115f846116a6565b6001816001811115611aba57611aba612f1f565b14611ad8576040516369ed70ab60e01b815260040160405180910390fd5b611ae7565b611ae78383612974565b6000806000611af5866129c3565b91945092509050611b44611b0c886001818c613243565b8633611b19611128611718565b88888c898e604051602001611b3091815260200190565b60405160208183030381529060405261278f565b611b4d84612a5c565b604080518781526020810187905233917f5a8d9d181e6a59fe5477a50721401b6332a810b9183e15ac62d386379a05a717910160405180910390a26001846001811115611b9c57611b9c612f1f565b03611c1f576005600090557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ece20f366040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611c0257600080fd5b505af1158015611c16573d6000803e3d6000fd5b50505050611c93565b6000846001811115611c3357611c33612f1f565b03611c93577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ece20f366040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561166557600080fd5b5050505050505050565b6000610af56014612954565b60008054600160801b900460ff166002811115611cc857611cc8612f1f565b14611ce65760405163067fe19560e41b815260040160405180910390fd5b600754426001600160401b0390911611611d135760405163df469ccb60e01b815260040160405180910390fd5b600082826000818110611d2857611d2861322d565b919091013560f81c90506001811115611d4357611d43612f1f565b90506000600681836001811115611d5c57611d5c612f1f565b6001811115611d6d57611d6d612f1f565b81526020810191909152604001600020546001600160a01b031614611da757806040516338a094bd60e11b815260040161117d91906132ad565b611dcc611db78360018187613243565b8333611dc4611128611718565b6001546115ad565b611dd6813361282f565b505050565b60008054600160801b900460ff166002811115611dfa57611dfa612f1f565b14611e185760405163f1a9458160e01b815260040160405180910390fd5b611e2130612315565b611e3e576040516357e25a0960e01b815260040160405180910390fd5b6001611e4861212f565b6002811115611e5957611e59612f1f565b03611e775760405163346119f760e01b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8546001600160a01b0316611ecb5760006040516304b045a760e31b815260040161117d91906132ad565b600160005260066020527f3e5fec24aa4dc4e5aee2e025e51e1392c72a2500577559fae9665c6d52bd6a31546001600160a01b031615611f215760016040516338a094bd60e11b815260040161117d91906132ad565b600084846000818110611f3657611f3661322d565b919091013560f81c90506001811115611f5157611f51612f1f565b90506001816001811115611f6757611f67612f1f565b14611f85576040516369ed70ab60e01b815260040160405180910390fd5b611f8f8383612974565b6000806000611f9d866129c3565b91945092509050611fb4611b0c886001818c613243565b3360066000866001811115611fcb57611fcb612f1f565b6001811115611fdc57611fdc612f1f565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001600760088282829054906101000a900460ff1661202d91906132c1565b92506101000a81548160ff021916908360ff16021790555062093a806001600160401b03164261205d9190613122565b6007805467ffffffffffffffff19166001600160401b0392909216919091179055612089866001613122565b60055560405186815233907f7a180232c19fd38c83e493856a42688c477bae7e82039103b2c1ea6a6162e5299060200160405180910390a25050505050505050565b60008060607f00000000000000000000000000000000000000000000000000000000000000006120f9611c9d565b6121016116f3565b925092509250909192565b6000806121213660011981013560f01c900390565b929092013560601c92915050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316612163610ae9565b6001600160a01b03161461230f57600061217b610ae9565b604051631a51a37560e11b81526001600160a01b0380831660048301529192507f0000000000000000000000000000000000000000000000000000000000000000909116906334a346ea90602401602060405180830381865afa1580156121e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061220a919061328b565b8061229a5750604051635958a19360e01b81526001600160a01b0382811660048301527f00000000000000000000000000000000000000000000000000000000000000001690635958a19390602401602060405180830381865afa158015612276573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061229a919061328b565b156122a757600191505090565b806001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061230991906132e6565b91505090565b50600290565b60405163ee658e4560e01b81526001600160a01b0382811660048301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063ee658e4590602401602060405180830381865afa158015612380573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a4919061328b565b801561243557506040516304e50fed60e01b81526001600160a01b0383811660048301527f000000000000000000000000000000000000000000000000000000000000000016906304e50fed90602401602060405180830381865afa158015612411573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612435919061328b565b80156124c85750604051631a51a37560e11b81526001600160a01b0383811660048301527f000000000000000000000000000000000000000000000000000000000000000016906334a346ea90602401602060405180830381865afa1580156124a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124c6919061328b565b155b801561255b5750604051635958a19360e01b81526001600160a01b0383811660048301527f00000000000000000000000000000000000000000000000000000000000000001690635958a19390602401602060405180830381865afa158015612535573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612559919061328b565b155b80156116ed57506001826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c691906132e6565b60028111156125d7576125d7612f1f565b141592915050565b4381106126085760405163096fec2960e21b81526004810182905243602482015260440161117d565b600080612615834361313a565b905061010081116126295782409150612738565b611fff81116127165760008071f90827f1c53a10cb7a02335b1753200029356001600160a01b03168560405160200161266491815260200190565b60408051601f198184030181529082905261267e91613307565b600060405180830381855afa9150503d80600081146126b9576040519150601f19603f3d011682016040523d82523d6000602084013e6126be565b606091505b50915091508115806126d257508051602014155b156126f957604051630f0b8f8160e01b81526004810186905243602482015260440161117d565b8080602001905181019061270d9190613192565b93505050612738565b604051630f0b8f8160e01b81526004810184905243602482015260440161117d565b8161275f57604051630f0b8f8160e01b81526004810184905243602482015260440161117d565b838214612789576040516380b1ae5160e01b8152600481018590526024810183905260440161117d565b50505050565b60018910156127b1576040516309bde33960e01b815260040160405180910390fd5b60008860018111156127c5576127c5612f1f565b036127e0576127db8a8a89898989898989612b01565b612823565b60018860018111156127f4576127f4612f1f565b0361280a576127db8a8a89898989898989612c7e565b6040516369ed70ab60e01b815260040160405180910390fd5b50505050505050505050565b806006600084600181111561284657612846612f1f565b600181111561285757612857612f1f565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001600760088282829054906101000a900460ff166128a891906132c1565b92506101000a81548160ff021916908360ff1602179055506128c8612dc9565b8160018111156128da576128da612f1f565b6040516001600160a01b038316907f62f393acfb3d3425116fe9be7a6509a4b652bda54fdac2df2b7273135ecd58e790600090a35050565b606060006129283660011981013560f01c900390565b905060405191508282528284820160208401378260208301016000815260208101604052505092915050565b6000806129693660011981013560f01c900390565b929092013592915050565b61297c61193a565b821061299b5760405163a6c661fd60e01b815260040160405180910390fd5b806129a5836116a6565b0361192957604051635de57d7360e11b815260040160405180910390fd5b600080808084156129e1576129dc61061960018761313a565b6129e5565b6001545b90506000612a137f000000000000000000000000000000000000000000000000000000000000000087613173565b600254612a209190613122565b90506000612a4e7f0000000000000000000000000000000000000000000000000000000000000000836130f7565b929791965091945092505050565b60066000826001811115612a7257612a72612f1f565b6001811115612a8357612a83612f1f565b81526020810191909152604001600090812080546001600160a01b0319169055600754600160401b900460ff169003612acf5760405163344de4bf60e01b815260040160405180910390fd5b6007805460001960ff600160401b808404821692909201160268ff00000000000000001990911617905561192b612e67565b6000878787878787877f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000604051602001612b6499989796959493929190613323565b6040516020818303038152906040528051906020012090506000888b8b604051602001612b93939291906133a0565b60408051601f198184030181529082905263ab750e7560e01b825291506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ab750e7590612c139084907f00000000000000000000000000000000000000000000000000000000000000009087906004016133cc565b602060405180830381865afa158015612c30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c54919061328b565b612c71576040516309bde33960e01b815260040160405180910390fd5b5050505050505050505050565b6000878787878787877f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000604051602001612ce199989796959493929190613323565b60408051601f1981840301815290829052805160209091012063ab750e7560e01b825291506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ab750e7590612d6b908d908d907f00000000000000000000000000000000000000000000000000000000000000009087906004016133f1565b602060405180830381865afa158015612d88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dac919061328b565b612823576040516309bde33960e01b815260040160405180910390fd5b6000612dd3612ed7565b905067fffffffffffffffe196001600160401b03821601612e0b57506007805467ffffffffffffffff19166001600160401b03179055565b6000612e1782426130f7565b600754909150612e42906001600160401b0380841691166001600160401b0316808218908211021890565b6007805467ffffffffffffffff19166001600160401b03929092169190911790555050565b6000612e71612ed7565b905067fffffffffffffffe196001600160401b03821601612ea957506007805467ffffffffffffffff19166001600160401b03179055565b612eb381426130f7565b6007805467ffffffffffffffff19166001600160401b039290921691909117905550565b6007546000906002600160401b90910460ff1610612ef757506201518090565b600754600160401b900460ff16600103612f13575062093a8090565b506001600160401b0390565b634e487b7160e01b600052602160045260246000fd5b6020810160038310612f4957612f49612f1f565b91905290565b60008083601f840112612f6157600080fd5b5081356001600160401b03811115612f7857600080fd5b602083019150836020828501011115612f9057600080fd5b9250929050565b60008060208385031215612faa57600080fd5b82356001600160401b03811115612fc057600080fd5b612fcc85828601612f4f565b90969095509350505050565b60005b83811015612ff3578181015183820152602001612fdb565b838111156127895750506000910152565b6000815180845261301c816020860160208601612fd8565b601f01601f19169290920160200192915050565b6020815260006130436020830184613004565b9392505050565b60006020828403121561305c57600080fd5b5035919050565b6000806000806060858703121561307957600080fd5b84356001600160401b0381111561308f57600080fd5b61309b87828801612f4f565b90989097506020870135966040013595509350505050565b63ffffffff841681528260208201526060604082015260006130d86060830184613004565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b60006001600160401b03808316818516808303821115613119576131196130e1565b01949350505050565b60008219821115613135576131356130e1565b500190565b60008282101561314c5761314c6130e1565b500390565b60008261316e57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561318d5761318d6130e1565b500290565b6000602082840312156131a457600080fd5b5051919050565b6000604082840312156131bd57600080fd5b604051604081018181106001600160401b03821117156131ed57634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b60006020828403121561321957600080fd5b815163ffffffff8116811461304357600080fd5b634e487b7160e01b600052603260045260246000fd5b6000808585111561325357600080fd5b8386111561326057600080fd5b5050820193919092039150565b803560208310156116ed57600019602084900360031b1b1692915050565b60006020828403121561329d57600080fd5b8151801515811461304357600080fd5b6020810160028310612f4957612f49612f1f565b600060ff821660ff84168060ff038211156132de576132de6130e1565b019392505050565b6000602082840312156132f857600080fd5b81516003811061304357600080fd5b60008251613319818460208701612fd8565b9190910192915050565b6bffffffffffffffffffffffff198a60601b16815288601482015287603482015260006001600160401b0360c01b808960c01b16605484015287605c840152808760c01b16607c840152508451613381816084850160208901612fd8565b90910160848101939093525060a482015260c401979650505050505050565b6bffffffffffffffffffffffff198460601b168152818360148301376000910160140190815292915050565b6060815260006133df6060830186613004565b60208301949094525060400152919050565b606081528360608201528385608083013760006080858301015260006080601f19601f87011683010190508360208301528260408301529594505050505056fea26469706673582212203abca49e729456bd777ac45f6bcfa1fc20e1f99bd0f4dc8071fb286363e5667f64736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000026d00000000000000000000000060a6c389f0bc5ce4269a40d9695927bc587003280000000000000000000000008ff945fcad2ca8d66fa1ba63c70440328bb14ff30000000000000000000000006f3db1c1f5110b20efbbccd13367bca8898092e60000000000000000000000004730cec510e664838b20b576881702b64651cc4511fb64617dfa2875d31b0cfb656666fd8cee65eb134fefeca171b9b6b4444a6433870b16176c98af4b2c96f721f9a7fa68ea92f8244618360a1592f5719085d800719a15f7d3cb34da5c1caa72bfa7e397fd8f16808bdb958bc6da03999762c7ab64b3118d2d030a3fd3fe3005239a2f332e48848bbedddca9e10df77ac7303e00000000000000000000000000000000000000000000000000000000000ba5e00000000000000000000000000000000000000000000000000000000000000258000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000001\",\n        \"nonce\": \"0x62\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x2f65eb\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x21e96b0e806f3ffafc5779168f62e9338f515b1491039daabe9523202c202569\",\n      \"transactionIndex\": \"0x1\",\n      \"blockHash\": \"0x68d4d8b17337c2f5d625df9460986e464cd3e1700b0bc6a1a34f40e44ee7c5b7\",\n      \"blockNumber\": \"0x283fbb\",\n      \"gasUsed\": \"0x2d51a8\",\n      \"effectiveGasPrice\": \"0x3b9aca07\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": null,\n      \"contractAddress\": \"0xebf217b345fd635b0614e4f56afbe2136528883e\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1776453426877,\n  \"chain\": 560048,\n  \"commit\": \"85d9dac\"\n}"
  },
  {
    "path": "zeronet/2026-04-17-fix-tee-image-hash/records/FixTeeImageHash.s.sol/560048/approve-latest.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x0c2c84b8ea44e6c2219eb122f8abec6d10a39dc08fe9a4f71af2c08c76c2650d\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n        \"0\",\n        \"0xd4d9bdcd1a3b11bb06f216f6c7e1a975be968874e9ff2e1c78aa751b48c19ee10c3d76ed\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x2583d1d7fc6b31df219b7db21d1ce7d3b4d117650bc81e3903fd2b56ad277db962e190bdef440d289f31b5520df90d82c66f54ab0e9c3323d3069a31878d6a2a1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\",\n        \"gas\": \"0x1b752\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000003d59999977e0896ee1f8783bb8251df16fb483e90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd1a3b11bb06f216f6c7e1a975be968874e9ff2e1c78aa751b48c19ee10c3d76ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412583d1d7fc6b31df219b7db21d1ce7d3b4d117650bc81e3903fd2b56ad277db962e190bdef440d289f31b5520df90d82c66f54ab0e9c3323d3069a31878d6a2a1b00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x64\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x3587f8\",\n      \"logs\": [\n        {\n          \"address\": \"0x3d59999977e0896ee1f8783bb8251df16fb483e9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x1a3b11bb06f216f6c7e1a975be968874e9ff2e1c78aa751b48c19ee10c3d76ed\",\n            \"0x000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x66f8a60a7ceb1eed4982cac7243e486d096e7784f61ee3d97cdf46546f8c9756\",\n          \"blockNumber\": \"0x28409d\",\n          \"blockTimestamp\": \"0x69e29284\",\n          \"transactionHash\": \"0x0c2c84b8ea44e6c2219eb122f8abec6d10a39dc08fe9a4f71af2c08c76c2650d\",\n          \"transactionIndex\": \"0x24\",\n          \"logIndex\": \"0x18\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0x0dc0208ea125bb8c540db6c477395ddbcfbacf12f2d35e7cb42e330733f836dc\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x66f8a60a7ceb1eed4982cac7243e486d096e7784f61ee3d97cdf46546f8c9756\",\n          \"blockNumber\": \"0x28409d\",\n          \"blockTimestamp\": \"0x69e29284\",\n          \"transactionHash\": \"0x0c2c84b8ea44e6c2219eb122f8abec6d10a39dc08fe9a4f71af2c08c76c2650d\",\n          \"transactionIndex\": \"0x24\",\n          \"logIndex\": \"0x19\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000440000000000000000000000000000000000000000000000040000000001000000000000000000000000000000000000000000100000000000000000010000000000000000000000000000000000000800000000000000001000000008000000400000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000200000000000004000000200000000080000000000200000000000000000000000000000000000000000000000000000020000000000000200000000000000000000000000000000000000000000000120000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x0c2c84b8ea44e6c2219eb122f8abec6d10a39dc08fe9a4f71af2c08c76c2650d\",\n      \"transactionIndex\": \"0x24\",\n      \"blockHash\": \"0x66f8a60a7ceb1eed4982cac7243e486d096e7784f61ee3d97cdf46546f8c9756\",\n      \"blockNumber\": \"0x28409d\",\n      \"gasUsed\": \"0x13e10\",\n      \"effectiveGasPrice\": \"0x3b9aca07\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1776456325644,\n  \"chain\": 560048,\n  \"commit\": \"5a4c81b\"\n}"
  },
  {
    "path": "zeronet/2026-04-17-fix-tee-image-hash/records/FixTeeImageHash.s.sol/560048/run-1776456290482.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x3bf2c468b450a9218e40f25850c7966a42118834629e4d87953aac47dd74a11a\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x856611ed7e07d83243b15e93f6321f2df6865852\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n        \"0\",\n        \"0xd4d9bdcd1a3b11bb06f216f6c7e1a975be968874e9ff2e1c78aa751b48c19ee10c3d76ed\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xb49d386bb1608245302ff708266211f77152a0941e3361859be3b8ccaf1a3a35214b7fb5b941494ad12f36a2e45868725a565e9cd4586f41adbd7fb578375e9b1cc586ddbb8d9c9dc9311a48971fbafc53c210d2921ae8fb960e88aa366986a0305b6acd8b5934b8fbc8855a23db9016b951e1b44336ef48a10efcc170e4b7a0951b80c1a9ed48548cbf3c9bf2cfd6135210eae4070581a9a9e93dda6d04f3bbe93857741d094f21953d67ab29c5f7bd519fc636255f90cd1a64f34411555d64073b1c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x856611ed7e07d83243b15e93f6321f2df6865852\",\n        \"gas\": \"0x20392\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000003d59999977e0896ee1f8783bb8251df16fb483e90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd1a3b11bb06f216f6c7e1a975be968874e9ff2e1c78aa751b48c19ee10c3d76ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3b49d386bb1608245302ff708266211f77152a0941e3361859be3b8ccaf1a3a35214b7fb5b941494ad12f36a2e45868725a565e9cd4586f41adbd7fb578375e9b1cc586ddbb8d9c9dc9311a48971fbafc53c210d2921ae8fb960e88aa366986a0305b6acd8b5934b8fbc8855a23db9016b951e1b44336ef48a10efcc170e4b7a0951b80c1a9ed48548cbf3c9bf2cfd6135210eae4070581a9a9e93dda6d04f3bbe93857741d094f21953d67ab29c5f7bd519fc636255f90cd1a64f34411555d64073b1c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x63\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x33fe2d\",\n      \"logs\": [\n        {\n          \"address\": \"0x3d59999977e0896ee1f8783bb8251df16fb483e9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x1a3b11bb06f216f6c7e1a975be968874e9ff2e1c78aa751b48c19ee10c3d76ed\",\n            \"0x000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xdf256d1eea855db55ab43ab6039310bbcdf4134c91d65c3ab1157b0ed93fef06\",\n          \"blockNumber\": \"0x28409a\",\n          \"blockTimestamp\": \"0x69e29260\",\n          \"transactionHash\": \"0x3bf2c468b450a9218e40f25850c7966a42118834629e4d87953aac47dd74a11a\",\n          \"transactionIndex\": \"0x2c\",\n          \"logIndex\": \"0x14\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x856611ed7e07d83243b15e93f6321f2df6865852\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0x93ccc0cd448c22a3852291dda960c27ca0dfbfbde03ef52a9faecb3434e36112\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xdf256d1eea855db55ab43ab6039310bbcdf4134c91d65c3ab1157b0ed93fef06\",\n          \"blockNumber\": \"0x28409a\",\n          \"blockTimestamp\": \"0x69e29260\",\n          \"transactionHash\": \"0x3bf2c468b450a9218e40f25850c7966a42118834629e4d87953aac47dd74a11a\",\n          \"transactionIndex\": \"0x2c\",\n          \"logIndex\": \"0x15\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000440000000000000000000200000000000000000000000000040000001001000000000080000000000000000000000000000000100000000000000000000000000000000000000000000000000000000004000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000200000000000008000000000000000000000000400000000000000000000000140000004000000200000000080000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000200000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x3bf2c468b450a9218e40f25850c7966a42118834629e4d87953aac47dd74a11a\",\n      \"transactionIndex\": \"0x2c\",\n      \"blockHash\": \"0xdf256d1eea855db55ab43ab6039310bbcdf4134c91d65c3ab1157b0ed93fef06\",\n      \"blockNumber\": \"0x28409a\",\n      \"gasUsed\": \"0x17544\",\n      \"effectiveGasPrice\": \"0x3b9aca07\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x856611ed7e07d83243b15e93f6321f2df6865852\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1776456290482,\n  \"chain\": 560048,\n  \"commit\": \"5a4c81b\"\n}"
  },
  {
    "path": "zeronet/2026-04-17-fix-tee-image-hash/records/FixTeeImageHash.s.sol/560048/run-1776456325644.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x0c2c84b8ea44e6c2219eb122f8abec6d10a39dc08fe9a4f71af2c08c76c2650d\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n        \"0\",\n        \"0xd4d9bdcd1a3b11bb06f216f6c7e1a975be968874e9ff2e1c78aa751b48c19ee10c3d76ed\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x2583d1d7fc6b31df219b7db21d1ce7d3b4d117650bc81e3903fd2b56ad277db962e190bdef440d289f31b5520df90d82c66f54ab0e9c3323d3069a31878d6a2a1b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\",\n        \"gas\": \"0x1b752\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000003d59999977e0896ee1f8783bb8251df16fb483e90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd1a3b11bb06f216f6c7e1a975be968874e9ff2e1c78aa751b48c19ee10c3d76ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412583d1d7fc6b31df219b7db21d1ce7d3b4d117650bc81e3903fd2b56ad277db962e190bdef440d289f31b5520df90d82c66f54ab0e9c3323d3069a31878d6a2a1b00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x64\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x3587f8\",\n      \"logs\": [\n        {\n          \"address\": \"0x3d59999977e0896ee1f8783bb8251df16fb483e9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0x1a3b11bb06f216f6c7e1a975be968874e9ff2e1c78aa751b48c19ee10c3d76ed\",\n            \"0x000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x66f8a60a7ceb1eed4982cac7243e486d096e7784f61ee3d97cdf46546f8c9756\",\n          \"blockNumber\": \"0x28409d\",\n          \"blockTimestamp\": \"0x69e29284\",\n          \"transactionHash\": \"0x0c2c84b8ea44e6c2219eb122f8abec6d10a39dc08fe9a4f71af2c08c76c2650d\",\n          \"transactionIndex\": \"0x24\",\n          \"logIndex\": \"0x18\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0x0dc0208ea125bb8c540db6c477395ddbcfbacf12f2d35e7cb42e330733f836dc\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x66f8a60a7ceb1eed4982cac7243e486d096e7784f61ee3d97cdf46546f8c9756\",\n          \"blockNumber\": \"0x28409d\",\n          \"blockTimestamp\": \"0x69e29284\",\n          \"transactionHash\": \"0x0c2c84b8ea44e6c2219eb122f8abec6d10a39dc08fe9a4f71af2c08c76c2650d\",\n          \"transactionIndex\": \"0x24\",\n          \"logIndex\": \"0x19\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000440000000000000000000000000000000000000000000000040000000001000000000000000000000000000000000000000000100000000000000000010000000000000000000000000000000000000800000000000000001000000008000000400000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000200000000000004000000200000000080000000000200000000000000000000000000000000000000000000000000000020000000000000200000000000000000000000000000000000000000000000120000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x0c2c84b8ea44e6c2219eb122f8abec6d10a39dc08fe9a4f71af2c08c76c2650d\",\n      \"transactionIndex\": \"0x24\",\n      \"blockHash\": \"0x66f8a60a7ceb1eed4982cac7243e486d096e7784f61ee3d97cdf46546f8c9756\",\n      \"blockNumber\": \"0x28409d\",\n      \"gasUsed\": \"0x13e10\",\n      \"effectiveGasPrice\": \"0x3b9aca07\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1776456325644,\n  \"chain\": 560048,\n  \"commit\": \"5a4c81b\"\n}"
  },
  {
    "path": "zeronet/2026-04-17-fix-tee-image-hash/records/FixTeeImageHash.s.sol/560048/run-1776456384746.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x5040cdbab505f66c32db1b5d334325091243ea76a169053eab0b22b27c66c7e3\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x3d59999977e0896ee1f8783bb8251df16fb483e9\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x154972aB98A5e321a9c7aB7677973f1F501a8090\",\n        \"0\",\n        \"0xb1070957000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000ebf217b345fd635b0614e4f56afbe2136528883e00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x3d59999977e0896ee1f8783bb8251df16fb483e9\",\n        \"gas\": \"0x19abf\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a80900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000084b1070957000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000ebf217b345fd635b0614e4f56afbe2136528883e00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x65\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1a2d55\",\n      \"logs\": [\n        {\n          \"address\": \"0x154972ab98a5e321a9c7ab7677973f1f501a8090\",\n          \"topics\": [\n            \"0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de\",\n            \"0x000000000000000000000000ebf217b345fd635b0614e4f56afbe2136528883e\",\n            \"0x000000000000000000000000000000000000000000000000000000000000026d\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x4e3e1692fce124a9ade1c9b4e2e66ecce9c09c1e46c759e25368d10e0bc3b016\",\n          \"blockNumber\": \"0x2840a1\",\n          \"blockTimestamp\": \"0x69e292c0\",\n          \"transactionHash\": \"0x5040cdbab505f66c32db1b5d334325091243ea76a169053eab0b22b27c66c7e3\",\n          \"transactionIndex\": \"0x18\",\n          \"logIndex\": \"0x9\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x154972ab98a5e321a9c7ab7677973f1f501a8090\",\n          \"topics\": [\n            \"0xa47fcdf075d680d3817bfca7973b373e1a5f6cfc3b444748299cc2b83d8348f9\",\n            \"0x000000000000000000000000000000000000000000000000000000000000026d\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x4e3e1692fce124a9ade1c9b4e2e66ecce9c09c1e46c759e25368d10e0bc3b016\",\n          \"blockNumber\": \"0x2840a1\",\n          \"blockTimestamp\": \"0x69e292c0\",\n          \"transactionHash\": \"0x5040cdbab505f66c32db1b5d334325091243ea76a169053eab0b22b27c66c7e3\",\n          \"transactionIndex\": \"0x18\",\n          \"logIndex\": \"0xa\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x3d59999977e0896ee1f8783bb8251df16fb483e9\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0x1a3b11bb06f216f6c7e1a975be968874e9ff2e1c78aa751b48c19ee10c3d76ed\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x4e3e1692fce124a9ade1c9b4e2e66ecce9c09c1e46c759e25368d10e0bc3b016\",\n          \"blockNumber\": \"0x2840a1\",\n          \"blockTimestamp\": \"0x69e292c0\",\n          \"transactionHash\": \"0x5040cdbab505f66c32db1b5d334325091243ea76a169053eab0b22b27c66c7e3\",\n          \"transactionIndex\": \"0x18\",\n          \"logIndex\": \"0xb\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000440000000000000000000000000000000000800000000080040000000001000000000000000000000000000000000000000008000000000000000000100000000480000000000000000000004000000000000000000000000000000002000000000000000000000000000000000004000000000000000000000000000000000000400000000000000000000000000000000000000000000000000400000000000000108000010000000004000000200000000080000000000000000000000000000000000000000000000000000000000800000020000000000000000000000000000000000000000000000000000000000000000000000000000100\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x5040cdbab505f66c32db1b5d334325091243ea76a169053eab0b22b27c66c7e3\",\n      \"transactionIndex\": \"0x18\",\n      \"blockHash\": \"0x4e3e1692fce124a9ade1c9b4e2e66ecce9c09c1e46c759e25368d10e0bc3b016\",\n      \"blockNumber\": \"0x2840a1\",\n      \"gasUsed\": \"0x12960\",\n      \"effectiveGasPrice\": \"0x3b9aca07\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x3d59999977e0896ee1f8783bb8251df16fb483e9\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1776456384746,\n  \"chain\": 560048,\n  \"commit\": \"5a4c81b\"\n}"
  },
  {
    "path": "zeronet/2026-04-17-fix-tee-image-hash/script/DeployAggregateVerifier.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Script, console} from \"forge-std/Script.sol\";\n\nimport {IAnchorStateRegistry} from \"interfaces/dispute/IAnchorStateRegistry.sol\";\nimport {IDelayedWETH} from \"interfaces/dispute/IDelayedWETH.sol\";\n\nimport {GameType} from \"@base-contracts/src/dispute/lib/Types.sol\";\nimport {AggregateVerifier} from \"@base-contracts/src/multiproof/AggregateVerifier.sol\";\nimport {TEEVerifier} from \"@base-contracts/src/multiproof/tee/TEEVerifier.sol\";\nimport {MockVerifier} from \"@base-contracts/src/multiproof/mocks/MockVerifier.sol\";\n\n/// @notice Redeploys AggregateVerifier with a corrected TEE_IMAGE_HASH.\n/// All other immutables are read on-chain from the existing AggregateVerifier to\n/// guarantee continuity.\ncontract DeployAggregateVerifier is Script {\n    address internal existingAggregateVerifierEnv;\n    bytes32 internal currentTeeImageHashEnv;\n    bytes32 internal newTeeImageHashEnv;\n\n    GameType internal gameType;\n    IAnchorStateRegistry internal anchorStateRegistry;\n    IDelayedWETH internal delayedWeth;\n    address internal teeVerifier;\n    address internal zkVerifier;\n    bytes32 internal zkRangeHash;\n    bytes32 internal zkAggregateHash;\n    bytes32 internal configHash;\n    uint256 internal l2ChainId;\n    uint256 internal blockInterval;\n    uint256 internal intermediateBlockInterval;\n    uint256 internal proofThreshold;\n\n    address public aggregateVerifier;\n\n    function setUp() public {\n        existingAggregateVerifierEnv = vm.envAddress(\"EXISTING_AGGREGATE_VERIFIER\");\n        currentTeeImageHashEnv = vm.envBytes32(\"CURRENT_TEE_IMAGE_HASH\");\n        newTeeImageHashEnv = vm.envBytes32(\"TEE_IMAGE_HASH\");\n\n        require(currentTeeImageHashEnv != newTeeImageHashEnv, \"tee image hash already target\");\n\n        AggregateVerifier existing = AggregateVerifier(existingAggregateVerifierEnv);\n\n        require(existing.TEE_IMAGE_HASH() == currentTeeImageHashEnv, \"unexpected current tee image hash\");\n\n        gameType = existing.gameType();\n        anchorStateRegistry = existing.anchorStateRegistry();\n        delayedWeth = existing.DELAYED_WETH();\n        teeVerifier = address(existing.TEE_VERIFIER());\n        zkVerifier = address(existing.ZK_VERIFIER());\n        zkRangeHash = existing.ZK_RANGE_HASH();\n        zkAggregateHash = existing.ZK_AGGREGATE_HASH();\n        configHash = existing.CONFIG_HASH();\n        l2ChainId = existing.L2_CHAIN_ID();\n        blockInterval = existing.BLOCK_INTERVAL();\n        intermediateBlockInterval = existing.INTERMEDIATE_BLOCK_INTERVAL();\n        proofThreshold = existing.PROOF_THRESHOLD();\n    }\n\n    function run() external {\n        vm.startBroadcast();\n\n        aggregateVerifier = address(\n            new AggregateVerifier({\n                gameType_: gameType,\n                anchorStateRegistry_: anchorStateRegistry,\n                delayedWETH: delayedWeth,\n                teeVerifier: TEEVerifier(teeVerifier),\n                zkVerifier: MockVerifier(zkVerifier),\n                teeImageHash: newTeeImageHashEnv,\n                zkHashes: AggregateVerifier.ZkHashes({rangeHash: zkRangeHash, aggregateHash: zkAggregateHash}),\n                configHash: configHash,\n                l2ChainId: l2ChainId,\n                blockInterval: blockInterval,\n                intermediateBlockInterval: intermediateBlockInterval,\n                proofThreshold: proofThreshold\n            })\n        );\n\n        vm.stopBroadcast();\n\n        _postCheck();\n        _writeAddresses();\n    }\n\n    function _postCheck() internal view {\n        AggregateVerifier av = AggregateVerifier(aggregateVerifier);\n\n        require(GameType.unwrap(av.gameType()) == GameType.unwrap(gameType), \"aggregate game type mismatch\");\n        require(address(av.anchorStateRegistry()) == address(anchorStateRegistry), \"aggregate asr mismatch\");\n        require(\n            address(av.DISPUTE_GAME_FACTORY()) == address(anchorStateRegistry.disputeGameFactory()),\n            \"aggregate dgf mismatch\"\n        );\n        require(address(av.DELAYED_WETH()) == address(delayedWeth), \"aggregate delayed weth mismatch\");\n        require(address(av.TEE_VERIFIER()) == teeVerifier, \"aggregate tee verifier mismatch\");\n        require(address(av.ZK_VERIFIER()) == zkVerifier, \"aggregate zk verifier mismatch\");\n        require(av.TEE_IMAGE_HASH() == newTeeImageHashEnv, \"aggregate tee image hash mismatch\");\n        require(av.ZK_RANGE_HASH() == zkRangeHash, \"aggregate zk range hash mismatch\");\n        require(av.ZK_AGGREGATE_HASH() == zkAggregateHash, \"aggregate zk aggregate hash mismatch\");\n        require(av.CONFIG_HASH() == configHash, \"aggregate config hash mismatch\");\n        require(av.L2_CHAIN_ID() == l2ChainId, \"aggregate l2 chain id mismatch\");\n        require(av.BLOCK_INTERVAL() == blockInterval, \"aggregate block interval mismatch\");\n        require(\n            av.INTERMEDIATE_BLOCK_INTERVAL() == intermediateBlockInterval, \"aggregate intermediate interval mismatch\"\n        );\n        require(av.PROOF_THRESHOLD() == proofThreshold, \"aggregate proof threshold mismatch\");\n    }\n\n    function _writeAddresses() internal {\n        console.log(\"AggregateVerifier:\", aggregateVerifier);\n\n        string memory root = \"root\";\n        string memory json =\n            vm.serializeAddress({objectKey: root, valueKey: \"aggregateVerifier\", value: aggregateVerifier});\n        vm.writeJson({json: json, path: \"addresses.json\"});\n    }\n}\n"
  },
  {
    "path": "zeronet/2026-04-17-fix-tee-image-hash/script/FixTeeImageHash.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\n\nimport {MultisigScript, Enum} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {GameType} from \"@base-contracts/src/dispute/lib/Types.sol\";\nimport {AggregateVerifier} from \"@base-contracts/src/multiproof/AggregateVerifier.sol\";\n\ninterface IDisputeGameFactory {\n    function gameImpls(GameType gameType) external view returns (address);\n    function setImplementation(GameType gameType, address impl, bytes calldata args) external;\n}\n\n/// @notice Swaps the game-type 621 implementation in the DisputeGameFactory to the newly\n/// deployed AggregateVerifier carrying the corrected TEE_IMAGE_HASH.\ncontract FixTeeImageHash is MultisigScript {\n    address internal ownerSafeEnv;\n    address internal disputeGameFactoryProxyEnv;\n    address internal existingAggregateVerifierEnv;\n    bytes32 internal newTeeImageHashEnv;\n\n    address internal newAggregateVerifier;\n    GameType internal gameType;\n\n    function setUp() public {\n        ownerSafeEnv = vm.envAddress(\"PROXY_ADMIN_OWNER\");\n        disputeGameFactoryProxyEnv = vm.envAddress(\"DISPUTE_GAME_FACTORY_PROXY\");\n        existingAggregateVerifierEnv = vm.envAddress(\"EXISTING_AGGREGATE_VERIFIER\");\n        newTeeImageHashEnv = vm.envBytes32(\"TEE_IMAGE_HASH\");\n\n        string memory root = vm.projectRoot();\n        string memory path = string.concat(root, \"/addresses.json\");\n        string memory json = vm.readFile(path);\n\n        newAggregateVerifier = vm.parseJsonAddress({json: json, key: \".aggregateVerifier\"});\n        require(newAggregateVerifier != existingAggregateVerifierEnv, \"new aggregate verifier equals existing\");\n\n        AggregateVerifier newAv = AggregateVerifier(newAggregateVerifier);\n        gameType = newAv.gameType();\n\n        // Guard: the freshly deployed AggregateVerifier must carry the target hash.\n        require(newAv.TEE_IMAGE_HASH() == newTeeImageHashEnv, \"new aggregate tee image hash mismatch\");\n\n        // Guard: the AggregateVerifier currently registered in the DGF for this game type must be\n        // the same one the deploy script cloned. The deploy script already asserted that contract\n        // carries CURRENT_TEE_IMAGE_HASH, so this transitively validates the prestate we are replacing.\n        require(\n            IDisputeGameFactory(disputeGameFactoryProxyEnv).gameImpls(gameType) == existingAggregateVerifierEnv,\n            \"dgf impl does not match existing aggregate verifier\"\n        );\n    }\n\n    function _buildCalls() internal view override returns (Call[] memory) {\n        Call[] memory calls = new Call[](1);\n\n        calls[0] = Call({\n            operation: Enum.Operation.Call,\n            target: disputeGameFactoryProxyEnv,\n            data: abi.encodeCall(IDisputeGameFactory.setImplementation, (gameType, newAggregateVerifier, \"\")),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {\n        IDisputeGameFactory dgf = IDisputeGameFactory(disputeGameFactoryProxyEnv);\n\n        require(dgf.gameImpls(gameType) == newAggregateVerifier, \"dgf aggregate verifier mismatch\");\n        require(\n            AggregateVerifier(newAggregateVerifier).TEE_IMAGE_HASH() == newTeeImageHashEnv,\n            \"new aggregate tee image hash mismatch\"\n        );\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return ownerSafeEnv;\n    }\n}\n"
  },
  {
    "path": "zeronet/2026-04-17-fix-tee-image-hash/validations/fix-tee-image-hash-cb-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net script/FixTeeImageHash.s.sol:FixTeeImageHash --sig sign(address[]) [0x856611ed7e07d83243b15e93f6321f2df6865852] --sender 0x931E24B032511d8dD029AedeB44837FAc251f3d8\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net\",\n  \"skipTaskOriginValidation\": true,\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n    \"domainHash\": \"0xc88eae2baaa4c8513a3d87913666de9463f106158aaf8be5cd31588215ccd5c4\",\n    \"messageHash\": \"0x3695561de0ac9c43dd9fd2a573b0d83c96526f4c326f38538e9227d805226c67\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Zeronet\",\n      \"address\": \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Zeronet\",\n      \"address\": \"0x856611eD7E07D83243b15E93f6321f2df6865852\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x28d7e9f232f55cee8990b6400fc11aaca470568b6fd2aa22e1e68766e31b2288\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"DisputeGameFactory Proxy - Zeronet\",\n      \"address\": \"0x154972aB98A5e321a9c7aB7677973f1F501a8090\",\n      \"changes\": [\n        {\n          \"key\": \"0x32912047a4c082de3e601c4b381c2aa6252270818a4be33442b17fb41b6cf7d6\",\n          \"before\": \"0x000000000000000000000000016cdb236f103078677aea6d9287ea9b2f33c872\",\n          \"after\": \"0x000000000000000000000000ebf217b345fd635b0614e4f56afbe2136528883e\",\n          \"description\": \"Updates `gameImpls[621]` in the DisputeGameFactory to the newly deployed AggregateVerifier carrying the corrected TEE_IMAGE_HASH.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Proxy Admin Owner - Zeronet\",\n      \"address\": \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000002\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xf077a78388245f191c880d239235ebc3d7f72cdab9f0985784294025945c667c\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Records the approval of this task's transaction hash by the CB Signer Safe (nested approver of the Proxy Admin Owner).\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Zeronet\",\n      \"address\": \"0x856611eD7E07D83243b15E93f6321f2df6865852\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": [],\n  \"taskOriginConfig\": {\n    \"taskCreator\": {\n      \"commonName\": \"baptiste.oueriagli@coinbase.com\"\n    }\n  }\n}"
  },
  {
    "path": "zeronet/2026-04-17-fix-tee-image-hash/validations/fix-tee-image-hash-sc-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net script/FixTeeImageHash.s.sol:FixTeeImageHash --sig sign(address[]) [0xC4c0aD998B5DfA4CF4B298970F21b9015a5eE7bA] --sender 0x931E24B032511d8dD029AedeB44837FAc251f3d8\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net\",\n  \"skipTaskOriginValidation\": true,\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n    \"domainHash\": \"0x1e2faea9157fbff31d9297595a71e2dedfeb1184207c07bb6bd64f807332a525\",\n    \"messageHash\": \"0x23947027a0a7bb52553170bbafb5f8d70c746d91e291dea22cbd3d10630fc4e5\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Zeronet\",\n      \"address\": \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Security Council Safe - Zeronet\",\n      \"address\": \"0xC4c0aD998B5DfA4CF4B298970F21b9015a5eE7bA\",\n      \"overrides\": [\n        {\n          \"key\": \"0x11a6d020c004c751458b2b827deb00fd77b6680a64b12d68b75d5d56510d66ec\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"DisputeGameFactory Proxy - Zeronet\",\n      \"address\": \"0x154972aB98A5e321a9c7aB7677973f1F501a8090\",\n      \"changes\": [\n        {\n          \"key\": \"0x32912047a4c082de3e601c4b381c2aa6252270818a4be33442b17fb41b6cf7d6\",\n          \"before\": \"0x000000000000000000000000016cdb236f103078677aea6d9287ea9b2f33c872\",\n          \"after\": \"0x000000000000000000000000ebf217b345fd635b0614e4f56afbe2136528883e\",\n          \"description\": \"Updates `gameImpls[621]` in the DisputeGameFactory to the newly deployed AggregateVerifier carrying the corrected TEE_IMAGE_HASH.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Proxy Admin Owner - Zeronet\",\n      \"address\": \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000002\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x2d7922aa0e202de4c56956b9059b1bf02491887b8baa857be9c03e6f852806b1\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Records the approval of this task's transaction hash by the Security Council Safe (nested approver of the Proxy Admin Owner).\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Security Council Safe - Zeronet\",\n      \"address\": \"0xC4c0aD998B5DfA4CF4B298970F21b9015a5eE7bA\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000002\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": [],\n  \"taskOriginConfig\": {\n    \"taskCreator\": {\n      \"commonName\": \"baptiste.oueriagli@coinbase.com\"\n    }\n  }\n}"
  },
  {
    "path": "zeronet/2026-04-21-update-zk-config/FACILITATOR.md",
    "content": "# Facilitator Guide\n\nGuide for facilitators managing this task.\n\n## Deployment prerequisites\n\nBefore collecting signatures, complete the EOA-authorized phase:\n\n```bash\ncd contract-deployments\ngit pull\ncd zeronet/2026-04-21-update-zk-config\nmake deps\nmake deploy-zk-verifier\nmake deploy-aggregate-verifier\nmake deploy-anchor-state-registry\n```\n\n`make deploy-zk-verifier` runs `DeployZkVerifier`:\n\n- deploys the `ZkVerifier` used by this task\n- writes `zkVerifier` to `addresses.json`\n\n`make deploy-aggregate-verifier` runs `DeployAggregateVerifier`:\n\n- redeploys `AggregateVerifier` with the same immutables as the existing one, overriding `ZK_VERIFIER`, `TEE_IMAGE_HASH`, `ZK_RANGE_HASH`, and `ZK_AGGREGATE_HASH`\n- writes `aggregateVerifier` to `addresses.json`\n\n`make deploy-anchor-state-registry` runs `DeployAnchorStateRegistry`:\n\n- deploys the next `AnchorStateRegistry` implementation with the same finality delay as the live proxy\n- writes `anchorStateRegistryImpl` to `addresses.json`\n\nExpected `addresses.json` keys:\n\n- `zkVerifier`\n- `aggregateVerifier`\n- `anchorStateRegistryImpl`\n\n## Pre-sign check: `STARTING_ANCHOR_*` correctness\n\n`STARTING_ANCHOR_ROOT` and `STARTING_ANCHOR_L2_BLOCK_NUMBER` are chain-critical.\nBefore collecting signatures, verify both values against the target RPC endpoints.\n\n### 1. Validate that the anchor block number is expected\n\nConfirm `STARTING_ANCHOR_L2_BLOCK_NUMBER` matches the planned cutover value.\n\n```bash\nBLOCK=$STARTING_ANCHOR_L2_BLOCK_NUMBER\ncast block $BLOCK --rpc-url $L2_RPC_URL\n```\n\n### 2. Derive output root from that exact block\n\nUse `optimism_outputAtBlock` with the same block and compare to `STARTING_ANCHOR_ROOT` from `.env`.\n\n```bash\nBLOCK=$STARTING_ANCHOR_L2_BLOCK_NUMBER\nOUTPUT_ROOT=$(cast rpc optimism_outputAtBlock $(cast 2h $BLOCK) --rpc-url $OP_NODE_RPC_URL | jq -r '.outputRoot')\necho $OUTPUT_ROOT\necho $STARTING_ANCHOR_ROOT\n```\n\nExpected result:\n\n- `OUTPUT_ROOT == STARTING_ANCHOR_ROOT`\n\n### 3. RPC requirements\n\n- `L2_RPC_URL` should point to the target L2 execution RPC.\n- `OP_NODE_RPC_URL` must expose `optimism_outputAtBlock`.\n- Depending on block age and provider retention, an archive-capable RPC may be required.\n\n## Generate validation files\n\n```bash\ncd contract-deployments\ngit pull\ncd zeronet/2026-04-21-update-zk-config\nmake deps\nmake gen-validation-update-zk-config-cb\nmake gen-validation-update-zk-config-sc\n```\n\nThis produces:\n\n- `validations/update-zk-config-cb-signer.json`\n- `validations/update-zk-config-sc-signer.json`\n\n## Execute the transaction\n\n### 1. Update repo\n\n```bash\ncd contract-deployments\ngit pull\ncd zeronet/2026-04-21-update-zk-config\nmake deps\n```\n\n### 2. Collect signatures for `CB_MULTISIG`\n\nConcatenate all signatures and export as the `SIGNATURES` environment variable:\n\n```bash\nexport SIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"\n```\n\nThen run:\n\n```bash\nSIGNATURES=$SIGNATURES make approve-update-zk-config-cb\n```\n\n### 3. Collect signatures for `BASE_SECURITY_COUNCIL`\n\nConcatenate all signatures and export as the `SIGNATURES` environment variable:\n\n```bash\nexport SIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"\n```\n\nThen run:\n\n```bash\nSIGNATURES=$SIGNATURES make approve-update-zk-config-sc\n```\n\n### 4. Execute upgrade batch\n\n```bash\nmake execute-update-zk-config\n```\n\nPost-checks enforced by script:\n\n- `AnchorStateRegistry` proxy implementation equals the newly deployed `anchorStateRegistryImpl`\n- `AnchorStateRegistry.anchorGame()` equals `address(0)`\n- `AnchorStateRegistry.getStartingAnchorRoot()` equals the configured `STARTING_ANCHOR_ROOT` and `STARTING_ANCHOR_L2_BLOCK_NUMBER`\n- `DisputeGameFactory.gameImpls(gameType)` equals the newly deployed `aggregateVerifier`\n- `zkVerifier.SP1_VERIFIER()` equals the configured `SP1_VERIFIER`\n- `aggregateVerifier.ZK_VERIFIER()` equals the newly deployed `zkVerifier`\n- `aggregateVerifier.TEE_IMAGE_HASH()` equals the configured `TEE_IMAGE_HASH`\n- `aggregateVerifier.ZK_RANGE_HASH()` equals the configured `ZK_RANGE_HASH`\n- `aggregateVerifier.ZK_AGGREGATE_HASH()` equals the configured `ZK_AGGREGATE_HASH`\n"
  },
  {
    "path": "zeronet/2026-04-21-update-zk-config/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\ninclude ../.env\ninclude .env\n\nSIGNER_TOOL_PATH = ../../signer-tool\nRPC_URL = $(L1_RPC_URL)\nDEPLOYER = $(shell cast wallet address --ledger --mnemonic-derivation-path $(LEDGER_HD_PATH))\nUPDATE_ZK_CONFIG_SCRIPT_NAME = script/UpdateZkConfig.s.sol:UpdateZkConfig\nUPDATE_ZK_CONFIG_CB_SENDER = $(shell cast call $(CB_MULTISIG) \"getOwners()(address[])\" --rpc-url $(L1_RPC_URL) | tr -d '[]' | cut -d',' -f1)\nUPDATE_ZK_CONFIG_SC_SENDER = $(shell cast call $(BASE_SECURITY_COUNCIL) \"getOwners()(address[])\" --rpc-url $(L1_RPC_URL) | tr -d '[]' | cut -d',' -f1)\n\n.PHONY: apply-patches\napply-patches:\n\tcd lib/contracts && patch -p1 < ../../patch/asr-reset-anchor-game.patch\n\n.PHONY: deps\ndeps: task-extra-deps apply-patches\n\n.PHONY: task-extra-deps\ntask-extra-deps:\n\tforge install --no-git github.com/base/op-enclave@a2d5398f04c3a8e4df929d58ee638ba4a037bfec\n\tforge install --no-git github.com/risc0/risc0-ethereum@a78ac4a52fe9cfa14120c3b496430f0d42e1d8d3\n\tforge install --no-git github.com/succinctlabs/sp1-contracts@22c4a47cd0a388cb4e25b4f2513954e4275c74ca\n\tgit clone --no-checkout https://github.com/OpenZeppelin/openzeppelin-contracts.git lib/openzeppelin-contracts-v5 && \\\n\t\tcd lib/openzeppelin-contracts-v5 && git checkout dbb6104ce834628e473d2173bbc9d47f81a9eec3\n\tgit clone --no-checkout https://github.com/Vectorized/solady.git lib/solady-v0.0.245 && \\\n\t\tcd lib/solady-v0.0.245 && git checkout e0ef35adb0ccd1032794731a995cb599bba7b537\n\n##\n# Deployment (EOA)\n##\n.PHONY: deploy-zk-verifier\ndeploy-zk-verifier:\nifndef VERIFIER_API_KEY\n\t$(error VERIFIER_API_KEY is not set)\nendif\n\tforge script --rpc-url $(L1_RPC_URL) script/DeployZkVerifier.s.sol:DeployZkVerifier \\\n\t\t--ledger --hd-paths $(LEDGER_HD_PATH) --broadcast --verify \\\n\t\t--verifier custom \\\n\t\t--verifier-url \"https://api.etherscan.io/v2/api?chainid=$(L1_CHAIN_ID)\" \\\n\t\t--verifier-api-key $(VERIFIER_API_KEY) \\\n\t\t-vvvv --sender $(DEPLOYER)\n\n.PHONY: deploy-aggregate-verifier\ndeploy-aggregate-verifier:\nifndef VERIFIER_API_KEY\n\t$(error VERIFIER_API_KEY is not set)\nendif\n\tforge script --rpc-url $(L1_RPC_URL) script/DeployAggregateVerifier.s.sol:DeployAggregateVerifier \\\n\t\t--ledger --hd-paths $(LEDGER_HD_PATH) --broadcast --verify \\\n\t\t--verifier custom \\\n\t\t--verifier-url \"https://api.etherscan.io/v2/api?chainid=$(L1_CHAIN_ID)\" \\\n\t\t--verifier-api-key $(VERIFIER_API_KEY) \\\n\t\t-vvvv --sender $(DEPLOYER)\n\n.PHONY: deploy-anchor-state-registry\ndeploy-anchor-state-registry:\nifndef VERIFIER_API_KEY\n\t$(error VERIFIER_API_KEY is not set)\nendif\n\tforge script --rpc-url $(L1_RPC_URL) script/DeployAnchorStateRegistry.s.sol:DeployAnchorStateRegistry \\\n\t\t--ledger --hd-paths $(LEDGER_HD_PATH) --broadcast --verify \\\n\t\t--verifier custom \\\n\t\t--verifier-url \"https://api.etherscan.io/v2/api?chainid=$(L1_CHAIN_ID)\" \\\n\t\t--verifier-api-key $(VERIFIER_API_KEY) \\\n\t\t-vvvv --sender $(DEPLOYER)\n\n##\n# Update ZK config (multisig)\n##\n.PHONY: gen-validation-update-zk-config-cb\ngen-validation-update-zk-config-cb: deps-signer-tool\n\t$(call GEN_VALIDATION,$(UPDATE_ZK_CONFIG_SCRIPT_NAME),$(CB_MULTISIG),$(UPDATE_ZK_CONFIG_CB_SENDER),update-zk-config-cb-signer.json,)\n\n.PHONY: gen-validation-update-zk-config-sc\ngen-validation-update-zk-config-sc: deps-signer-tool\n\t$(call GEN_VALIDATION,$(UPDATE_ZK_CONFIG_SCRIPT_NAME),$(BASE_SECURITY_COUNCIL),$(UPDATE_ZK_CONFIG_SC_SENDER),update-zk-config-sc-signer.json,)\n\n.PHONY: approve-update-zk-config-cb\napprove-update-zk-config-cb: SCRIPT_NAME := $(UPDATE_ZK_CONFIG_SCRIPT_NAME)\napprove-update-zk-config-cb:\n\t$(call MULTISIG_APPROVE,$(CB_MULTISIG),$(SIGNATURES))\n\n.PHONY: approve-update-zk-config-sc\napprove-update-zk-config-sc: SCRIPT_NAME := $(UPDATE_ZK_CONFIG_SCRIPT_NAME)\napprove-update-zk-config-sc:\n\t$(call MULTISIG_APPROVE,$(BASE_SECURITY_COUNCIL),$(SIGNATURES))\n\n.PHONY: execute-update-zk-config\nexecute-update-zk-config: SCRIPT_NAME := $(UPDATE_ZK_CONFIG_SCRIPT_NAME)\nexecute-update-zk-config:\n\t$(call MULTISIG_EXECUTE,0x)\n"
  },
  {
    "path": "zeronet/2026-04-21-update-zk-config/README.md",
    "content": "# Update ZK Config\n\nStatus: [EXECUTED](https://hoodi.etherscan.io/tx/0x84511c640a3f316cba8e6d6442ec152e5378013b9adc40b732633f283d2ea2a0)\n\n## Description\n\nThis task updates the verifier configuration of the multiproof implementation on `zeronet` and resets the `AnchorStateRegistry` starting anchor root.\n\n- deploying a new `ZkVerifier`\n- redeploying `AggregateVerifier` with identical immutables, overriding `ZK_VERIFIER`, `TEE_IMAGE_HASH`, `ZK_RANGE_HASH`, and `ZK_AGGREGATE_HASH`\n- deploying a new `AnchorStateRegistry` implementation\n- upgrading `AnchorStateRegistry` to seed the new starting anchor root and clear `anchorGame`\n- pointing `DisputeGameFactory.gameImpls(gameType)` at the new `AggregateVerifier`\n\n## Procedure\n\n### Sign task\n\n#### 1. Update repo\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n#### 2. Run signing tool\n\n```bash\ncd contract-deployments\nmake sign-task\n```\n\n#### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\n- Select the correct signer role from the list of available users to sign.\n- After completion, close the signer tool with `Ctrl + C`.\n\n#### 4. Send signature to facilitator\n\nCopy the signature output and send it to the designated facilitator via the agreed communication channel.\n\nFor facilitator instructions, see `FACILITATOR.md`.\n"
  },
  {
    "path": "zeronet/2026-04-21-update-zk-config/addresses.json",
    "content": "{\n  \"zkVerifier\": \"0x5faAF7614056F09C7a525dCf76244d0832d64038\",\n  \"aggregateVerifier\": \"0xFE3E1D27023c4c2E85a7DB89d880499958Abb77D\",\n  \"anchorStateRegistryImpl\": \"0x97Cf8c67E0bCA7b55909191A731F4d762c9d5Ff1\"\n}"
  },
  {
    "path": "zeronet/2026-04-21-update-zk-config/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 200\nauto_detect_solc = true\nevm_version = \"prague\"\nvia-ir = false\nremappings = [\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@base-contracts/=lib/contracts/',\n    '@solady/=lib/solady/src/',\n    '@solady-v0.0.245/=lib/solady-v0.0.245/src/',\n    'forge-std/=lib/forge-std/src/',\n    'interfaces/dispute/=lib/contracts/interfaces/dispute/',\n    'interfaces/L1/=lib/contracts/interfaces/L1/',\n    'interfaces/legacy/=lib/contracts/interfaces/legacy/',\n    'interfaces/multiproof/=lib/contracts/interfaces/multiproof/',\n    'interfaces/universal/=lib/contracts/interfaces/universal/',\n    'src/L1/=lib/contracts/src/L1/',\n    'src/libraries/=lib/contracts/src/libraries/',\n    'src/dispute/=lib/contracts/src/dispute/',\n    'src/universal/=lib/contracts/src/universal/',\n    'lib/op-enclave/=lib/op-enclave/',\n    'openzeppelin/=lib/risc0-ethereum/lib/openzeppelin-contracts/',\n    '@lib-keccak/=lib/lib-keccak/contracts/lib/',\n    'interfaces/cannon/=lib/contracts/interfaces/cannon/',\n    'src/cannon/=lib/contracts/src/cannon/',\n]\n"
  },
  {
    "path": "zeronet/2026-04-21-update-zk-config/patch/asr-reset-anchor-game.patch",
    "content": "diff --git a/src/dispute/AnchorStateRegistry.sol b/src/dispute/AnchorStateRegistry.sol\nindex 0e2c41c..02e16a8 100644\n--- a/src/dispute/AnchorStateRegistry.sol\n+++ b/src/dispute/AnchorStateRegistry.sol\n@@ -77,7 +77,7 @@ contract AnchorStateRegistry is ProxyAdminOwnedBase, Initializable, Reinitializa\n     error AnchorStateRegistry_Unauthorized();\n \n     /// @param _disputeGameFinalityDelaySeconds The dispute game finality delay in seconds.\n-    constructor(uint256 _disputeGameFinalityDelaySeconds) ReinitializableBase(2) {\n+    constructor(uint256 _disputeGameFinalityDelaySeconds) ReinitializableBase(3) {\n         DISPUTE_GAME_FINALITY_DELAY_SECONDS = _disputeGameFinalityDelaySeconds;\n         _disableInitializers();\n     }\n@@ -102,6 +102,7 @@ contract AnchorStateRegistry is ProxyAdminOwnedBase, Initializable, Reinitializa\n         systemConfig = _systemConfig;\n         disputeGameFactory = _disputeGameFactory;\n         startingAnchorRoot = _startingAnchorRoot;\n+        anchorGame = IFaultDisputeGame(address(0));\n         respectedGameType = _startingRespectedGameType;\n \n         // Set the retirement timestamp to the current timestamp the first time the contract is\n"
  },
  {
    "path": "zeronet/2026-04-21-update-zk-config/records/DeployAggregateVerifier.s.sol/560048/run-1776963810337.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xeb42b38108c11a7fcc888ab8be7ea749ad8ebcd2b33c03cf590843044b2b3828\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"AggregateVerifier\",\n      \"contractAddress\": \"0xfe3e1d27023c4c2e85a7db89d880499958abb77d\",\n      \"function\": null,\n      \"arguments\": [\n        \"621\",\n        \"0x60A6C389F0BC5cE4269A40d9695927bC58700328\",\n        \"0x8fF945fcAd2ca8d66Fa1ba63C70440328Bb14FF3\",\n        \"0x6F3DB1c1F5110b20EfBBCCD13367Bca8898092E6\",\n        \"0x5faAF7614056F09C7a525dCf76244d0832d64038\",\n        \"0x213ad2e8f1594e1c386ef88ed9d2ec0df5a968f5228a5b17f4b0040599726515\",\n        \"(0x23081d5f7a4d3ce04d41c2f03b386bad4f42a99d5b4c8ef44f4c362c2c595464, 0x0020f5df94945d8d40bc2b11128cbf2535565f5cde58960029017ee2ccef46d7)\",\n        \"0xab64b3118d2d030a3fd3fe3005239a2f332e48848bbedddca9e10df77ac7303e\",\n        \"763360\",\n        \"600\",\n        \"30\",\n        \"1\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"gas\": \"0x3aea17\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6102606040523480156200001257600080fd5b50604051620039fc380380620039fc833981016040819052620000359162000264565b82158062000041575081155b8062000057575062000054828462000345565b15155b15620000845760405163462b853960e11b8152600481018490526024810183905260440160405180910390fd5b8060011415801562000097575080600214155b15620000b65760405163b1016ea760e01b815260040160405180910390fd5b63ffffffff8c16610220526001600160a01b038b1660808190526040805163f2b4e61760e01b8152905163f2b4e617916004808201926020929091908290030181865afa1580156200010c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013291906200035c565b6001600160a01b0390811660a0528a811660c05289811660e0528816610120526101008790528551610140526020860151610160526101808590526101a08490526101c08390526101e08290526102408190526200018f620001c0565b6200019c90602062000399565b620001a990608e620003bb565b6102005250620003ed9a5050505050505050505050565b60006101e0516101c051620001d69190620003d6565b905090565b6001600160a01b0381168114620001f157600080fd5b50565b80516200020181620001db565b919050565b6000604082840312156200021957600080fd5b604080519081016001600160401b03811182821017156200024a57634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b6000806000806000806000806000806000806101a08d8f0312156200028857600080fd5b8c5163ffffffff811681146200029d57600080fd5b9b50620002ad60208e01620001f4565b9a50620002bd60408e01620001f4565b9950620002cd60608e01620001f4565b9850620002dd60808e01620001f4565b975060a08d01519650620002f58e60c08f0162000206565b95506101008d015194506101208d015193506101408d015192506101608d015191506101808d015190509295989b509295989b509295989b565b634e487b7160e01b600052601260045260246000fd5b6000826200035757620003576200032f565b500690565b6000602082840312156200036f57600080fd5b81516200037c81620001db565b9392505050565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615620003b657620003b662000383565b500290565b60008219821115620003d157620003d162000383565b500190565b600082620003e857620003e86200032f565b500490565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161346762000595600039600081816103bf0152610f200152600081816109840152818161144901526120d2015260006110d601526000818161071801528181611941015281816129ee0152612a290152600081816105710152818161137a015281816113b50152611962015260006107f6015260008181610a8301528181612b0c0152612c8901526000818161085e0152612d4101526000818161082a0152612caa0152600081816108e301528181611ba90152612d1001526000818161037d01528181612b2d0152612be901526000818161045e01528181611c3a0152612bba0152600081816109f801528181610c2601528181610cdc015261161d015260006107c20152600081816106a101528181611188015281816112e5015281816114740152818161173201528181611824015281816118cc015281816121330152818161219d0152818161222f01528181612337015281816123ca0152818161245b01526124ee01526134676000f3fe6080604052600436106103345760003560e01c80636dc86e81116101ab5780639ded3952116100f7578063c26783e911610095578063d1ee5e4b1161006f578063d1ee5e4b14610a5a578063d28cb06f14610a71578063e41f96ad14610aa5578063fa24f74314610ac557600080fd5b8063c26783e9146109e6578063cf09e0d014610a1a578063cfcf984b14610a3a57600080fd5b8063b97cb80f116100d1578063b97cb80f1461094d578063bbdc02db1461096d578063bcef3b55146109ae578063bdb337d1146109c357600080fd5b80639ded3952146108d1578063addecc0614610905578063b74df35a1461093857600080fd5b806382ff53a111610164578063908cb80e1161013e578063908cb80e1461084c5780639730163d146108805780639840fd841461089657806399735e32146108bc57600080fd5b806382ff53a1146107b05780638417d3c2146107e457806387d34f161461081857600080fd5b80636dc86e811461070657806370872aa51461073a57806374f8bf321461074f578063786b844b146107645780637a6bc9e11461077957806380f323a71461079a57600080fd5b8063324a13c9116102855780634e95eb58116102235780635c0cba33116101fd5780635c0cba3314610692578063609d3334146106c55780636361506d146106da57806364d12136146106ef57600080fd5b80634e95eb581461061e57806354fd4d501461063457806357da950e1461066257600080fd5b80633fada3fd1161025f5780633fada3fd146105a85780634224b1e7146105c957806342316182146105dc57806349edf35a146105fe57600080fd5b8063324a13c91461054957806335c4377b1461055f57806337b1b2291461059357600080fd5b80631f837574116102f2578063250e69bd116102cc578063250e69bd146104ce57806325fc2ace146104ff5780632810e1d6146105145780632845e5bb1461052957600080fd5b80631f8375741461044c578063200d2ed21461048057806323edb2e0146104ae57600080fd5b8062821de3146103395780630183fd441461036b57806310fbee28146103ad5780631333db2e146103e157806319effeb4146103f85780631ee5d7c814610437575b600080fd5b34801561034557600080fd5b5061034e610ae9565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561037757600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610362565b3480156103b957600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103ed57600080fd5b506103f6610afa565b005b34801561040457600080fd5b5060005461041f90600160401b90046001600160401b031681565b6040516001600160401b039091168152602001610362565b34801561044357600080fd5b5061034e610e08565b34801561045857600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561048c57600080fd5b506000546104a190600160801b900460ff1681565b6040516103629190612f35565b3480156104ba57600080fd5b5060035461034e906001600160a01b031681565b3480156104da57600080fd5b506000546104ef90600160901b900460ff1681565b6040519015158152602001610362565b34801561050b57600080fd5b5060015461039f565b34801561052057600080fd5b506104a1610e3f565b34801561053557600080fd5b5060075461041f906001600160401b031681565b34801561055557600080fd5b5061039f60055481565b34801561056b57600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059f57600080fd5b5061034e611067565b3480156105b457600080fd5b506003546104ef90600160a01b900460ff1681565b6103f66105d7366004612f97565b611073565b3480156105e857600080fd5b506105f1611687565b6040516103629190613030565b34801561060a57600080fd5b5061039f61061936600461304a565b6116a6565b34801561062a57600080fd5b5061039f61010081565b34801561064057600080fd5b506040805180820190915260058152640302e312e360dc1b60208201526105f1565b34801561066e57600080fd5b5060015460025461067d919082565b60408051928352602083019190915201610362565b34801561069e57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061034e565b3480156106d157600080fd5b506105f16116f3565b3480156106e657600080fd5b5061039f611718565b3480156106fb57600080fd5b5061041f6201518081565b34801561071257600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561074657600080fd5b5060025461039f565b34801561075b57600080fd5b5061034e611724565b34801561077057600080fd5b506103f6611730565b34801561078557600080fd5b506003546104ef90600160a81b900460ff1681565b3480156107a657600080fd5b5061039f60045481565b3480156107bc57600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107f057600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561082457600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561085857600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561088c57600080fd5b5061039f611fff81565b3480156108a257600080fd5b5061034e71f90827f1c53a10cb7a02335b17532000293581565b3480156108c857600080fd5b5061039f61192e565b3480156108dd57600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561091157600080fd5b5060075461092690600160401b900460ff1681565b60405160ff9091168152602001610362565b34801561094457600080fd5b5061039f61193a565b34801561095957600080fd5b506103f6610968366004613063565b611986565b34801561097957600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610362565b3480156109ba57600080fd5b5061039f611c9d565b3480156109cf57600080fd5b50600754426001600160401b0390911611156104ef565b3480156109f257600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b348015610a2657600080fd5b5060005461041f906001600160401b031681565b348015610a4657600080fd5b506103f6610a55366004612f97565b611ca9565b348015610a6657600080fd5b5061041f62093a8081565b348015610a7d57600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b348015610ab157600080fd5b506103f6610ac0366004613063565b611ddb565b348015610ad157600080fd5b50610ada6120cb565b604051610362939291906130b3565b6000610af5607461210c565b905090565b600268929eee149b4bd212685403610b1a5763ab143c066000526004601cfd5b600268929eee149b4bd2126855600354600160a81b900460ff1615610b52576040516317bfe5f760e01b815260040160405180910390fd5b6007546001600160401b0390811614610ba657600054600160401b90046001600160401b03166001600160401b0316600003610ba157604051636082930560e11b815260040160405180910390fd5b610be8565b6000546001600160401b0316610bbf90621275006130f7565b6001600160401b0316421015610be8576040516304643c3960e01b815260040160405180910390fd5b600354600160a01b900460ff16610c9d5760035460048054604051637eee288d60e01b81526001600160a01b039384169281019290925260248201527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b158015610c6c57600080fd5b505af1158015610c80573d6000803e3d6000fd5b50506003805460ff60a01b1916600160a01b17905550610df99050565b60038054600160a81b60ff60a81b198216179091556004805460405163f3fef3a360e01b81526001600160a01b039384169281019290925260248201527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b158015610d2257600080fd5b505af1158015610d36573d6000803e3d6000fd5b5050600354600454604051600094506001600160a01b039092169250908381818185875af1925050503d8060008114610d8b576040519150601f19603f3d011682016040523d82523d6000602084013e610d90565b606091505b5050905080610db2576040516383e6cc6b60e01b815260040160405180910390fd5b6003546004546040519081526001600160a01b03909116907f87e12c2565042763daa6bf5842ed2b6447f17f7e28f9a4905fe3959581396ead9060200160405180910390a2505b600168929eee149b4bd2126855565b6000600681805b6001811115610e2057610e20612f1f565b81526020810191909152604001600020546001600160a01b0316919050565b600080600054600160801b900460ff166002811115610e6057610e60612f1f565b14610e7e5760405163f1a9458160e01b815260040160405180910390fd5b6000610e8861212f565b90506000816002811115610e9e57610e9e612f1f565b03610ebc57604051634962835760e11b815260040160405180910390fd5b6001816002811115610ed057610ed0612f1f565b03610eed576000805460ff60801b1916600160801b179055610fe7565b600754426001600160401b039091161115610f1b576040516304643c3960e01b815260040160405180910390fd5b6007547f0000000000000000000000000000000000000000000000000000000000000000600160401b90910460ff161015610f695760405163344de4bf60e01b815260040160405180910390fd5b60055415610fd3576000805460ff60801b1916600160801b1781556001905260066020527f3e5fec24aa4dc4e5aee2e025e51e1392c72a2500577559fae9665c6d52bd6a3154600380546001600160a01b0319166001600160a01b03909216919091179055610fe7565b6000805460ff60801b1916600160811b1790555b600080546fffffffffffffffff00000000000000001916600160401b426001600160401b03160217908190556040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da609161104d91600160801b90910460ff1690612f35565b60405180910390a15050600054600160801b900460ff1690565b6000610af5600061210c565b600054600160881b900460ff161561109d5760405162dc149f60e41b815260040160405180910390fd5b6000602060016110ad8483613122565b6110b7919061313a565b6110c19190613151565b6110cc906020613173565b90506000816110fc7f00000000000000000000000000000000000000000000000000000000000000006040613122565b6111069190613122565b905080361461111d57639824bdab6000526004601cfd5b61112b611128611c9d565b90565b611142600161113861193a565b610619919061313a565b1461118657611154600161113861193a565b61115f611128611c9d565b60405163f33fa6cf60e01b8152600481019290925260248201526044015b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166111b8610ae9565b6001600160a01b0316146112e35760006111d0610ae9565b90506111db81612315565b6111f85760405163346119f760e01b815260040160405180910390fd5b6040518060400160405280611268836001600160a01b031663bcef3b556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111289190613192565b8152602001826001600160a01b03166399735e326040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112cf9190613192565b905280516001556020015160025550611371565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663664ed8306040518163ffffffff1660e01b81526004016040805180830381865afa158015611340573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136491906131ab565b8051600155602001516002555b60025461139f907f000000000000000000000000000000000000000000000000000000000000000090613122565b6113a761192e565b14611404576002546113da907f000000000000000000000000000000000000000000000000000000000000000090613122565b6113e261192e565b60405163043d96bb60e11b81526004810192909252602482015260440161117d565b600080546001600160401b03421671ff000000000000000000ffffffffffffffff1990911617600160881b17905560408051630f27ce5f60e21b8152905163ffffffff7f000000000000000000000000000000000000000000000000000000000000000016916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691633c9f397c916004808201926020929091908290030181865afa1580156114c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e49190613207565b6000805460ff60901b191663ffffffff9290921692909214600160901b02178155600780546001600160401b0367ffffffffffffffff19909116179055848482816115315761153161322d565b919091013560f81c9050600181111561154c5761154c612f1f565b9050600061155e602160018789613243565b6115679161326d565b9050600061157960416021888a613243565b6115829161326d565b905061158e82826125df565b6115d061159e876041818b613243565b856115a7611067565b60015487905b6002546115bb611128611c9d565b6115c361192e565b6115cb611687565b61278f565b6115e1836115dc611067565b61282f565b6115e9611067565b600380546001600160a01b0319166001600160a01b0392831617905534600481815560408051630d0e30db60e41b815290517f00000000000000000000000000000000000000000000000000000000000000009094169363d0e30db0939282810192600092919082900301818588803b15801561166557600080fd5b505af1158015611679573d6000803e3d6000fd5b505050505050505050505050565b6060610af5608861169661193a565b6116a1906020613173565b612912565b60006116b061193a565b82106116cf5760405163a6c661fd60e01b815260040160405180910390fd5b6116ed6116dd836020613173565b6116e8906088613122565b612954565b92915050565b6060610af5605461170261193a565b61170d906020613173565b6116a1906034613122565b6000610af56034612954565b60006006816001610e0f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561178e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b2919061328b565b156117d05760405163379a7ed960e01b815260040160405180910390fd5b600054600160401b90046001600160401b03166001600160401b031660000361180c57604051636082930560e11b815260040160405180910390fd5b604051630314d2b360e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015611873573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611897919061328b565b9050806118b757604051634851bd9b60e01b815260040160405180910390fd5b6040516317cf21a960e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561191857600080fd5b505af1925050508015611929575060015b505b50565b6000610af56054612954565b6000610af57f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000613151565b60008054600160801b900460ff1660028111156119a5576119a5612f1f565b146119c35760405163f1a9458160e01b815260040160405180910390fd5b6000848460008181106119d8576119d861322d565b919091013560f81c905060018111156119f3576119f3612f1f565b90506000600681836001811115611a0c57611a0c612f1f565b6001811115611a1d57611a1d612f1f565b81526020810191909152604001600020546001600160a01b031603611a5757806040516304b045a760e31b815260040161117d91906132ad565b60055415611add576001600554611a6e919061313a565b8314611a8d5760405163a6c661fd60e01b815260040160405180910390fd5b611a96836116a6565b8214611aa6578161115f846116a6565b6001816001811115611aba57611aba612f1f565b14611ad8576040516369ed70ab60e01b815260040160405180910390fd5b611ae7565b611ae78383612974565b6000806000611af5866129c3565b91945092509050611b44611b0c886001818c613243565b8633611b19611128611718565b88888c898e604051602001611b3091815260200190565b60405160208183030381529060405261278f565b611b4d84612a5c565b604080518781526020810187905233917f5a8d9d181e6a59fe5477a50721401b6332a810b9183e15ac62d386379a05a717910160405180910390a26001846001811115611b9c57611b9c612f1f565b03611c1f576005600090557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ece20f366040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611c0257600080fd5b505af1158015611c16573d6000803e3d6000fd5b50505050611c93565b6000846001811115611c3357611c33612f1f565b03611c93577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ece20f366040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561166557600080fd5b5050505050505050565b6000610af56014612954565b60008054600160801b900460ff166002811115611cc857611cc8612f1f565b14611ce65760405163067fe19560e41b815260040160405180910390fd5b600754426001600160401b0390911611611d135760405163df469ccb60e01b815260040160405180910390fd5b600082826000818110611d2857611d2861322d565b919091013560f81c90506001811115611d4357611d43612f1f565b90506000600681836001811115611d5c57611d5c612f1f565b6001811115611d6d57611d6d612f1f565b81526020810191909152604001600020546001600160a01b031614611da757806040516338a094bd60e11b815260040161117d91906132ad565b611dcc611db78360018187613243565b8333611dc4611128611718565b6001546115ad565b611dd6813361282f565b505050565b60008054600160801b900460ff166002811115611dfa57611dfa612f1f565b14611e185760405163f1a9458160e01b815260040160405180910390fd5b611e2130612315565b611e3e576040516357e25a0960e01b815260040160405180910390fd5b6001611e4861212f565b6002811115611e5957611e59612f1f565b03611e775760405163346119f760e01b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8546001600160a01b0316611ecb5760006040516304b045a760e31b815260040161117d91906132ad565b600160005260066020527f3e5fec24aa4dc4e5aee2e025e51e1392c72a2500577559fae9665c6d52bd6a31546001600160a01b031615611f215760016040516338a094bd60e11b815260040161117d91906132ad565b600084846000818110611f3657611f3661322d565b919091013560f81c90506001811115611f5157611f51612f1f565b90506001816001811115611f6757611f67612f1f565b14611f85576040516369ed70ab60e01b815260040160405180910390fd5b611f8f8383612974565b6000806000611f9d866129c3565b91945092509050611fb4611b0c886001818c613243565b3360066000866001811115611fcb57611fcb612f1f565b6001811115611fdc57611fdc612f1f565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001600760088282829054906101000a900460ff1661202d91906132c1565b92506101000a81548160ff021916908360ff16021790555062093a806001600160401b03164261205d9190613122565b6007805467ffffffffffffffff19166001600160401b0392909216919091179055612089866001613122565b60055560405186815233907f7a180232c19fd38c83e493856a42688c477bae7e82039103b2c1ea6a6162e5299060200160405180910390a25050505050505050565b60008060607f00000000000000000000000000000000000000000000000000000000000000006120f9611c9d565b6121016116f3565b925092509250909192565b6000806121213660011981013560f01c900390565b929092013560601c92915050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316612163610ae9565b6001600160a01b03161461230f57600061217b610ae9565b604051631a51a37560e11b81526001600160a01b0380831660048301529192507f0000000000000000000000000000000000000000000000000000000000000000909116906334a346ea90602401602060405180830381865afa1580156121e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061220a919061328b565b8061229a5750604051635958a19360e01b81526001600160a01b0382811660048301527f00000000000000000000000000000000000000000000000000000000000000001690635958a19390602401602060405180830381865afa158015612276573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061229a919061328b565b156122a757600191505090565b806001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061230991906132e6565b91505090565b50600290565b60405163ee658e4560e01b81526001600160a01b0382811660048301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063ee658e4590602401602060405180830381865afa158015612380573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a4919061328b565b801561243557506040516304e50fed60e01b81526001600160a01b0383811660048301527f000000000000000000000000000000000000000000000000000000000000000016906304e50fed90602401602060405180830381865afa158015612411573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612435919061328b565b80156124c85750604051631a51a37560e11b81526001600160a01b0383811660048301527f000000000000000000000000000000000000000000000000000000000000000016906334a346ea90602401602060405180830381865afa1580156124a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124c6919061328b565b155b801561255b5750604051635958a19360e01b81526001600160a01b0383811660048301527f00000000000000000000000000000000000000000000000000000000000000001690635958a19390602401602060405180830381865afa158015612535573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612559919061328b565b155b80156116ed57506001826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c691906132e6565b60028111156125d7576125d7612f1f565b141592915050565b4381106126085760405163096fec2960e21b81526004810182905243602482015260440161117d565b600080612615834361313a565b905061010081116126295782409150612738565b611fff81116127165760008071f90827f1c53a10cb7a02335b1753200029356001600160a01b03168560405160200161266491815260200190565b60408051601f198184030181529082905261267e91613307565b600060405180830381855afa9150503d80600081146126b9576040519150601f19603f3d011682016040523d82523d6000602084013e6126be565b606091505b50915091508115806126d257508051602014155b156126f957604051630f0b8f8160e01b81526004810186905243602482015260440161117d565b8080602001905181019061270d9190613192565b93505050612738565b604051630f0b8f8160e01b81526004810184905243602482015260440161117d565b8161275f57604051630f0b8f8160e01b81526004810184905243602482015260440161117d565b838214612789576040516380b1ae5160e01b8152600481018590526024810183905260440161117d565b50505050565b60018910156127b1576040516309bde33960e01b815260040160405180910390fd5b60008860018111156127c5576127c5612f1f565b036127e0576127db8a8a89898989898989612b01565b612823565b60018860018111156127f4576127f4612f1f565b0361280a576127db8a8a89898989898989612c7e565b6040516369ed70ab60e01b815260040160405180910390fd5b50505050505050505050565b806006600084600181111561284657612846612f1f565b600181111561285757612857612f1f565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001600760088282829054906101000a900460ff166128a891906132c1565b92506101000a81548160ff021916908360ff1602179055506128c8612dc9565b8160018111156128da576128da612f1f565b6040516001600160a01b038316907f62f393acfb3d3425116fe9be7a6509a4b652bda54fdac2df2b7273135ecd58e790600090a35050565b606060006129283660011981013560f01c900390565b905060405191508282528284820160208401378260208301016000815260208101604052505092915050565b6000806129693660011981013560f01c900390565b929092013592915050565b61297c61193a565b821061299b5760405163a6c661fd60e01b815260040160405180910390fd5b806129a5836116a6565b0361192957604051635de57d7360e11b815260040160405180910390fd5b600080808084156129e1576129dc61061960018761313a565b6129e5565b6001545b90506000612a137f000000000000000000000000000000000000000000000000000000000000000087613173565b600254612a209190613122565b90506000612a4e7f0000000000000000000000000000000000000000000000000000000000000000836130f7565b929791965091945092505050565b60066000826001811115612a7257612a72612f1f565b6001811115612a8357612a83612f1f565b81526020810191909152604001600090812080546001600160a01b0319169055600754600160401b900460ff169003612acf5760405163344de4bf60e01b815260040160405180910390fd5b6007805460001960ff600160401b808404821692909201160268ff00000000000000001990911617905561192b612e67565b6000878787878787877f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000604051602001612b6499989796959493929190613323565b6040516020818303038152906040528051906020012090506000888b8b604051602001612b93939291906133a0565b60408051601f198184030181529082905263ab750e7560e01b825291506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ab750e7590612c139084907f00000000000000000000000000000000000000000000000000000000000000009087906004016133cc565b602060405180830381865afa158015612c30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c54919061328b565b612c71576040516309bde33960e01b815260040160405180910390fd5b5050505050505050505050565b6000878787878787877f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000604051602001612ce199989796959493929190613323565b60408051601f1981840301815290829052805160209091012063ab750e7560e01b825291506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ab750e7590612d6b908d908d907f00000000000000000000000000000000000000000000000000000000000000009087906004016133f1565b602060405180830381865afa158015612d88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dac919061328b565b612823576040516309bde33960e01b815260040160405180910390fd5b6000612dd3612ed7565b905067fffffffffffffffe196001600160401b03821601612e0b57506007805467ffffffffffffffff19166001600160401b03179055565b6000612e1782426130f7565b600754909150612e42906001600160401b0380841691166001600160401b0316808218908211021890565b6007805467ffffffffffffffff19166001600160401b03929092169190911790555050565b6000612e71612ed7565b905067fffffffffffffffe196001600160401b03821601612ea957506007805467ffffffffffffffff19166001600160401b03179055565b612eb381426130f7565b6007805467ffffffffffffffff19166001600160401b039290921691909117905550565b6007546000906002600160401b90910460ff1610612ef757506201518090565b600754600160401b900460ff16600103612f13575062093a8090565b506001600160401b0390565b634e487b7160e01b600052602160045260246000fd5b6020810160038310612f4957612f49612f1f565b91905290565b60008083601f840112612f6157600080fd5b5081356001600160401b03811115612f7857600080fd5b602083019150836020828501011115612f9057600080fd5b9250929050565b60008060208385031215612faa57600080fd5b82356001600160401b03811115612fc057600080fd5b612fcc85828601612f4f565b90969095509350505050565b60005b83811015612ff3578181015183820152602001612fdb565b838111156127895750506000910152565b6000815180845261301c816020860160208601612fd8565b601f01601f19169290920160200192915050565b6020815260006130436020830184613004565b9392505050565b60006020828403121561305c57600080fd5b5035919050565b6000806000806060858703121561307957600080fd5b84356001600160401b0381111561308f57600080fd5b61309b87828801612f4f565b90989097506020870135966040013595509350505050565b63ffffffff841681528260208201526060604082015260006130d86060830184613004565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b60006001600160401b03808316818516808303821115613119576131196130e1565b01949350505050565b60008219821115613135576131356130e1565b500190565b60008282101561314c5761314c6130e1565b500390565b60008261316e57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561318d5761318d6130e1565b500290565b6000602082840312156131a457600080fd5b5051919050565b6000604082840312156131bd57600080fd5b604051604081018181106001600160401b03821117156131ed57634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b60006020828403121561321957600080fd5b815163ffffffff8116811461304357600080fd5b634e487b7160e01b600052603260045260246000fd5b6000808585111561325357600080fd5b8386111561326057600080fd5b5050820193919092039150565b803560208310156116ed57600019602084900360031b1b1692915050565b60006020828403121561329d57600080fd5b8151801515811461304357600080fd5b6020810160028310612f4957612f49612f1f565b600060ff821660ff84168060ff038211156132de576132de6130e1565b019392505050565b6000602082840312156132f857600080fd5b81516003811061304357600080fd5b60008251613319818460208701612fd8565b9190910192915050565b6bffffffffffffffffffffffff198a60601b16815288601482015287603482015260006001600160401b0360c01b808960c01b16605484015287605c840152808760c01b16607c840152508451613381816084850160208901612fd8565b90910160848101939093525060a482015260c401979650505050505050565b6bffffffffffffffffffffffff198460601b168152818360148301376000910160140190815292915050565b6060815260006133df6060830186613004565b60208301949094525060400152919050565b606081528360608201528385608083013760006080858301015260006080601f19601f87011683010190508360208301528260408301529594505050505056fea2646970667358221220d3b5eb91dc16da011f56c371afbf1e187d3c2d1be76f5787e8a077c8c330b93764736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000026d00000000000000000000000060a6c389f0bc5ce4269a40d9695927bc587003280000000000000000000000008ff945fcad2ca8d66fa1ba63c70440328bb14ff30000000000000000000000006f3db1c1f5110b20efbbccd13367bca8898092e60000000000000000000000005faaf7614056f09c7a525dcf76244d0832d64038213ad2e8f1594e1c386ef88ed9d2ec0df5a968f5228a5b17f4b004059972651523081d5f7a4d3ce04d41c2f03b386bad4f42a99d5b4c8ef44f4c362c2c5954640020f5df94945d8d40bc2b11128cbf2535565f5cde58960029017ee2ccef46d7ab64b3118d2d030a3fd3fe3005239a2f332e48848bbedddca9e10df77ac7303e00000000000000000000000000000000000000000000000000000000000ba5e00000000000000000000000000000000000000000000000000000000000000258000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000001\",\n        \"nonce\": \"0x6d\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x4835c7\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xeb42b38108c11a7fcc888ab8be7ea749ad8ebcd2b33c03cf590843044b2b3828\",\n      \"transactionIndex\": \"0x1d\",\n      \"blockHash\": \"0xce3eeb66144cef85d46919b0e207d252e8a764614ec380b1e8feee3d1ed0e1ed\",\n      \"blockNumber\": \"0x28d783\",\n      \"gasUsed\": \"0x2d519c\",\n      \"effectiveGasPrice\": \"0x3b9aca07\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": null,\n      \"contractAddress\": \"0xfe3e1d27023c4c2e85a7db89d880499958abb77d\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1776963810337,\n  \"chain\": 560048,\n  \"commit\": \"f430840\"\n}"
  },
  {
    "path": "zeronet/2026-04-21-update-zk-config/records/DeployAnchorStateRegistry.s.sol/560048/run-1776963870263.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x9fcf90614edd1013700366e61305b75d621e8dd89f95309758821e253df8c8c3\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"AnchorStateRegistry\",\n      \"contractAddress\": \"0x97cf8c67e0bca7b55909191a731f4d762c9d5ff1\",\n      \"function\": null,\n      \"arguments\": [\n        \"0\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"gas\": \"0x1b5d4d\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c060405234801561001057600080fd5b50604051620018d6380380620018d683398101604081905261003191610108565b600360805260a0819052610043610049565b50610121565b600054610100900460ff16156100b55760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614610106576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60006020828403121561011a57600080fd5b5051919050565b60805160a051611781620001556000396000818161045301526104f9015260008181610290015261094d01526117816000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80635958a19311610104578063952b2797116100a2578063e0a840eb11610071578063e0a840eb14610494578063ee658e45146104a7578063f2b4e617146104ba578063fdbb3dcf146104cd57600080fd5b8063952b27971461044e578063d5a3e12e1461047c578063d83ef26714610484578063dad544e01461048c57600080fd5b80636c4f4467116100de5780636c4f4467146103ed5780637258a807146104005780637d6be8dc146104285780637fc485041461043b57600080fd5b80635958a193146103945780635c975abb146103a7578063664ed830146103af57600080fd5b80633c9f397c1161017157806345884d321161014b57806345884d321461031a57806347a222c51461033d578063496b9c161461035057806354fd4d501461036357600080fd5b80633c9f397c146102ba5780633e47158c146102df5780634086d183146102e757600080fd5b806333d7e2bd116101ad57806333d7e2bd1461022457806334a346ea1461025557806335e80ab31461028157806338d38c971461028957600080fd5b80630314d2b3146101d457806304e50fed146101fc57806317cf21a91461020f575b600080fd5b6101e76101e2366004611384565b6104e0565b60405190151581526020015b60405180910390f35b6101e761020a366004611384565b6105b1565b61022261021d366004611384565b61061b565b005b60005461023d906201000090046001600160a01b031681565b6040516001600160a01b0390911681526020016101f3565b6101e7610263366004611384565b6001600160a01b031660009081526005602052604090205460ff1690565b61023d61071c565b60405160ff7f00000000000000000000000000000000000000000000000000000000000000001681526020016101f3565b6006546102ca9063ffffffff1681565b60405163ffffffff90911681526020016101f3565b61023d610799565b6006546103029064010000000090046001600160401b031681565b6040516001600160401b0390911681526020016101f3565b6101e7610328366004611384565b60056020526000908152604090205460ff1681565b61022261034b366004611400565b61094b565b6101e761035e366004611384565b610b03565b610387604051806040016040528060058152602001640332e372e360dc1b81525081565b6040516101f391906114f4565b6101e76103a2366004611384565b610b6e565b6101e7610be1565b6040805180820182526000808252602091820152815180830183526003548082526004549183019182528351908152905191810191909152016101f3565b6101e76103fb366004611384565b610c59565b61041361040e366004611507565b610d1c565b604080519283526020830191909152016101f3565b610222610436366004611384565b610d30565b610222610449366004611507565b610d84565b6040517f000000000000000000000000000000000000000000000000000000000000000081526020016101f3565b610222610dda565b610413610e46565b61023d610f58565b60025461023d906001600160a01b031681565b6101e76104b5366004611384565b610f9f565b60015461023d906001600160a01b031681565b6101e76104db366004611384565b611127565b60006104eb82611127565b6104f757506000919050565b7f0000000000000000000000000000000000000000000000000000000000000000610589836001600160a01b03166319effeb46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057d9190611540565b6001600160401b031690565b61059c906001600160401b031642611571565b116105a957506000919050565b506001919050565b6000816001600160a01b031663250e69bd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106159190611588565b92915050565b8061062581610c59565b610642576040516323d69b3d60e11b815260040160405180910390fd5b600061064c610e46565b91505080826001600160a01b03166399735e326040518163ffffffff1660e01b8152600401602060405180830381865afa15801561068e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b291906115aa565b116106d0576040516323d69b3d60e11b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0384169081179091556040517f474f180d74ea8751955ee261c93ff8270411b180408d1014c49f552c92a4d11e90600090a2505050565b60008060029054906101000a90046001600160a01b03166001600160a01b03166335e80ab36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610770573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079491906115c3565b905090565b6000806107c47fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b90506001600160a01b038116156107da57919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e67657200000000000081525051600261081d91906115e0565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e6765720000000000009190911790610878906060015b604051602081830303815290604052805190602001205490565b14610896576040516354e433cd60e01b815260040160405180910390fd5b604080513060208201526001918101919091526000906108b89060600161085e565b90506001600160a01b0381161561093257806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610907573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092b91906115c3565b9250505090565b60405163332144db60e01b815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000600054610100900460ff1615801561098b575060005460ff8083169116105b6109f25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805461ffff191660ff831617610100179055610a0e611274565b600080546001600160a01b03808816620100000262010000600160b01b0319909216919091178255600180549187166001600160a01b0319928316179055845160035560208501516004556002805490911690556006805463ffffffff851663ffffffff1990911617908190556001600160401b03640100000000909104169003610abb57600680546bffffffffffffffff000000001916640100000000426001600160401b0316021790555b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050565b6000610b0e82610f9f565b610b1a57506000919050565b6001600160a01b03821660009081526005602052604090205460ff1615610b4357506000919050565b610b4c82610b6e565b15610b5957506000919050565b610b61610be1565b156105a957506000919050565b6000600660049054906101000a90046001600160401b03166001600160401b0316610bd0836001600160a01b031663cf09e0d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610559573d6000803e3d6000fd5b6001600160401b0316111592915050565b60008060029054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c35573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107949190611588565b6000610c6482610b03565b610c7057506000919050565b610c79826105b1565b610c8557506000919050565b610c8e826104e0565b610c9a57506000919050565b6002826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfe9190611615565b6002811115610d0f57610d0f6115ff565b146105a957506000919050565b600080610d27610e46565b91509150915091565b610d386112c4565b6001600160a01b038116600081815260056020526040808220805460ff19166001179055517f192c289026d59a41a27f5aea08f3969b57931b0589202d14f4368cded95d3cda9190a250565b610d8c6112c4565b6006805463ffffffff191663ffffffff83169081179091556040519081527fcee0703b5e4bad4efededab85c9fd1aec17dee7c5f6c584330e0509b677745a29060200160405180910390a150565b610de26112c4565b600680546bffffffffffffffff000000001916640100000000426001600160401b03811691909102919091179091556040519081527f6e5b1ba771e8e484f741ed085f039ff4e5c6e882eaf68f550fb390922d0ae4a79060200160405180910390a1565b60025460009081906001600160a01b0316610e675750506003546004549091565b6002546040805163bcef3b5560e01b81529051610ed9926001600160a01b03169163bcef3b559160048083019260209291908290030181865afa158015610eb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed691906115aa565b90565b600260009054906101000a90046001600160a01b03166001600160a01b03166399735e326040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5091906115aa565b915091509091565b6000610f62610799565b6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610770573d6000803e3d6000fd5b600080600080846001600160a01b031663fa24f7436040518163ffffffff1660e01b8152600401600060405180830381865afa158015610fe3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261100b9190810190611636565b600154604051635f0150cb60e01b815293965091945092506000916001600160a01b0390911690635f0150cb9061104a908790879087906004016116e8565b6040805180830381865afa158015611066573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108a9190611716565b5090506000866001600160a01b0316635c0cba336040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f191906115c3565b9050866001600160a01b0316826001600160a01b031614801561111c57506001600160a01b03811630145b979650505050505050565b600061116a826001600160a01b03166319effeb46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610559573d6000803e3d6000fd5b6001600160401b03161580159061061557506002826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e09190611615565b60028111156111f1576111f16115ff565b148061061557506001826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa158015611238573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125c9190611615565b600281111561126d5761126d6115ff565b1492915050565b3361127d610799565b6001600160a01b0316141580156112a4575033611298610f58565b6001600160a01b031614155b156112c257604051636202851360e11b815260040160405180910390fd5b565b600060029054906101000a90046001600160a01b03166001600160a01b031663452a93206040518163ffffffff1660e01b8152600401602060405180830381865afa158015611317573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133b91906115c3565b6001600160a01b0316336001600160a01b0316146112c257604051630b94c86b60e21b815260040160405180910390fd5b6001600160a01b038116811461138157600080fd5b50565b60006020828403121561139657600080fd5b81356113a18161136c565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156113e6576113e66113a8565b604052919050565b63ffffffff8116811461138157600080fd5b60008060008084860360a081121561141757600080fd5b85356114228161136c565b945060208601356114328161136c565b93506040603f198201121561144657600080fd5b50604051604081018181106001600160401b0382111715611469576114696113a8565b60409081528601358152606086013560208201529150608085013561148d816113ee565b939692955090935050565b60005b838110156114b357818101518382015260200161149b565b838111156114c2576000848401525b50505050565b600081518084526114e0816020860160208601611498565b601f01601f19169290920160200192915050565b6020815260006113a160208301846114c8565b60006020828403121561151957600080fd5b81356113a1816113ee565b80516001600160401b038116811461153b57600080fd5b919050565b60006020828403121561155257600080fd5b6113a182611524565b634e487b7160e01b600052601160045260246000fd5b6000828210156115835761158361155b565b500390565b60006020828403121561159a57600080fd5b815180151581146113a157600080fd5b6000602082840312156115bc57600080fd5b5051919050565b6000602082840312156115d557600080fd5b81516113a18161136c565b60008160001904831182151516156115fa576115fa61155b565b500290565b634e487b7160e01b600052602160045260246000fd5b60006020828403121561162757600080fd5b8151600381106113a157600080fd5b60008060006060848603121561164b57600080fd5b8351611656816113ee565b6020850151604086015191945092506001600160401b038082111561167a57600080fd5b818601915086601f83011261168e57600080fd5b8151818111156116a0576116a06113a8565b6116b3601f8201601f19166020016113be565b91508082528760208285010111156116ca57600080fd5b6116db816020840160208601611498565b5080925050509250925092565b63ffffffff8416815282602082015260606040820152600061170d60608301846114c8565b95945050505050565b6000806040838503121561172957600080fd5b82516117348161136c565b915061174260208401611524565b9050925092905056fea264697066735822122028c609ba4e31b93ddcba7791812c0802f324ef94bdcf365021a76f53543f4eea64736f6c634300080f00330000000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x6e\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1602ca\",\n      \"logs\": [\n        {\n          \"address\": \"0x97cf8c67e0bca7b55909191a731f4d762c9d5ff1\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000ff\",\n          \"blockHash\": \"0x7a3e265760b1dc6098faab238d052fcff19c84d9fe64997ec938e703a13035b9\",\n          \"blockNumber\": \"0x28d789\",\n          \"blockTimestamp\": \"0x69ea510c\",\n          \"transactionHash\": \"0x9fcf90614edd1013700366e61305b75d621e8dd89f95309758821e253df8c8c3\",\n          \"transactionIndex\": \"0x3\",\n          \"logIndex\": \"0x0\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000008000000000000040080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x9fcf90614edd1013700366e61305b75d621e8dd89f95309758821e253df8c8c3\",\n      \"transactionIndex\": \"0x3\",\n      \"blockHash\": \"0x7a3e265760b1dc6098faab238d052fcff19c84d9fe64997ec938e703a13035b9\",\n      \"blockNumber\": \"0x28d789\",\n      \"gasUsed\": \"0x150cb2\",\n      \"effectiveGasPrice\": \"0x3b9aca07\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": null,\n      \"contractAddress\": \"0x97cf8c67e0bca7b55909191a731f4d762c9d5ff1\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1776963870263,\n  \"chain\": 560048,\n  \"commit\": \"f430840\"\n}"
  },
  {
    "path": "zeronet/2026-04-21-update-zk-config/records/DeployZkVerifier.s.sol/560048/run-1776963357472.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xcaf778d5c7cd8919684fb46ae58f06070beed1ab8832f1b7818afd2c820fce38\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"ZkVerifier\",\n      \"contractAddress\": \"0x5faaf7614056f09c7a525dcf76244d0832d64038\",\n      \"function\": null,\n      \"arguments\": [\n        \"0x7DA83eC4af493081500Ecd36d1a72c23F8fc2abd\",\n        \"0x60A6C389F0BC5cE4269A40d9695927bC58700328\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"gas\": \"0x6a3b8\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c060405234801561001057600080fd5b506040516105de3803806105de83398101604081905261002f9161005e565b6001600160a01b039081166080521660a052610098565b6001600160a01b038116811461005b57600080fd5b50565b6000806040838503121561007157600080fd5b825161007c81610046565b602084015190925061008d81610046565b809150509250929050565b60805160a05161050e6100d06000396000818160db015261015e015260008181609c0152818161021f01526102ae015261050e6000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806354fd4d50146100675780635e02132e1461009757806378dbfee1146100d6578063ab750e75146100fd578063ece20f3614610120578063f9df65eb1461012a575b600080fd5b60408051808201825260058152640302e312e360dc1b6020820152905161008e91906103d0565b60405180910390f35b6100be7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161008e565b6100be7f000000000000000000000000000000000000000000000000000000000000000081565b61011061010b3660046103ea565b610137565b604051901515815260200161008e565b61012861020a565b005b6000546101109060ff1681565b6000805460ff161561015c57604051632f3cfa1960e21b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166341493c60848460405160200161019f91815260200190565b60405160208183030381529060405288886040518563ffffffff1660e01b81526004016101cf9493929190610469565b60006040518083038186803b1580156101e757600080fd5b505afa1580156101fb573d6000803e3d6000fd5b50600198975050505050505050565b6040516324b5ce0b60e11b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa15801561026e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061029291906104b6565b158061032357506040516304e50fed60e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906304e50fed90602401602060405180830381865afa1580156102fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032191906104b6565b155b1561034157604051637c3e4fdb60e01b815260040160405180910390fd5b6000805460ff191660011790556040513381527f3e2a844f441471ec38f2e944e29cfe184c2fc1e108af1a0bc92ca4357bac19519060200160405180910390a1565b6000815180845260005b818110156103a95760208185018101518683018201520161038d565b818111156103bb576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006103e36020830184610383565b9392505050565b6000806000806060858703121561040057600080fd5b843567ffffffffffffffff8082111561041857600080fd5b818701915087601f83011261042c57600080fd5b81358181111561043b57600080fd5b88602082850101111561044d57600080fd5b6020928301999098509187013596604001359550909350505050565b8481526060602082015260006104826060830186610383565b8281036040840152838152838560208301376000602085830101526020601f19601f86011682010191505095945050505050565b6000602082840312156104c857600080fd5b815180151581146103e357600080fdfea2646970667358221220d6d9cb32e94723b42bd04390d4347617422fa76bd46d51b62e40b4deb5ffe29164736f6c634300080f00330000000000000000000000007da83ec4af493081500ecd36d1a72c23f8fc2abd00000000000000000000000060a6c389f0bc5ce4269a40d9695927bc58700328\",\n        \"nonce\": \"0x6c\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1381d6\",\n      \"logs\": [],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xcaf778d5c7cd8919684fb46ae58f06070beed1ab8832f1b7818afd2c820fce38\",\n      \"transactionIndex\": \"0x13\",\n      \"blockHash\": \"0x5e3afde40546c74d46c8455b80525e824de6552f6f6fa19e8dee444108906c55\",\n      \"blockNumber\": \"0x28d763\",\n      \"gasUsed\": \"0x51b7a\",\n      \"effectiveGasPrice\": \"0x3b9aca07\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": null,\n      \"contractAddress\": \"0x5faaf7614056f09c7a525dcf76244d0832d64038\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1776963357472,\n  \"chain\": 560048,\n  \"commit\": \"f430840\"\n}"
  },
  {
    "path": "zeronet/2026-04-21-update-zk-config/records/UpdateZkConfig.s.sol/560048/approve-latest.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xdee9a17460efff02140a692015449c15c14e6cb026f6cb860b6e6f8303736bac\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x856611ed7e07d83243b15e93f6321f2df6865852\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n        \"0\",\n        \"0xd4d9bdcdb72acb827b3ed0e5a6239ea3e550cf6d11b702251bdd2310e8b4c2cc23ef886b\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x6eea76256609267dd0449ac1e120df28c966f41a0160571357845bf42ed8a89e01b9a4d2029a0e6ae8c6a6e0107b08db52cfda5560ae17f9a7c91516a3ae66a71b576e9d87c45eef11ffa73b22530f61a68d1f027589937225f08fb60d02fb89e84a57f9def74d255e2fe05f0985c7d72d4dffb1e43cd1f809d3cd72c8739af1cb1c8adf314b546adec3b9ad8f097af369d029622795eda2423a6915fc5acc4761be021a9a9eff1e74f0780a48a383ce9d38bd8eae4104815d2cff210a904246db411c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x856611ed7e07d83243b15e93f6321f2df6865852\",\n        \"gas\": \"0x20392\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000003d59999977e0896ee1f8783bb8251df16fb483e90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcdb72acb827b3ed0e5a6239ea3e550cf6d11b702251bdd2310e8b4c2cc23ef886b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c36eea76256609267dd0449ac1e120df28c966f41a0160571357845bf42ed8a89e01b9a4d2029a0e6ae8c6a6e0107b08db52cfda5560ae17f9a7c91516a3ae66a71b576e9d87c45eef11ffa73b22530f61a68d1f027589937225f08fb60d02fb89e84a57f9def74d255e2fe05f0985c7d72d4dffb1e43cd1f809d3cd72c8739af1cb1c8adf314b546adec3b9ad8f097af369d029622795eda2423a6915fc5acc4761be021a9a9eff1e74f0780a48a383ce9d38bd8eae4104815d2cff210a904246db411c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x70\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1ae625\",\n      \"logs\": [\n        {\n          \"address\": \"0x3d59999977e0896ee1f8783bb8251df16fb483e9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xb72acb827b3ed0e5a6239ea3e550cf6d11b702251bdd2310e8b4c2cc23ef886b\",\n            \"0x000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x133779d25d2fb157b01e18b8b6869fb1a5666feb5b2759b69a29dfddefc112cf\",\n          \"blockNumber\": \"0x28da87\",\n          \"blockTimestamp\": \"0x69ea7908\",\n          \"transactionHash\": \"0xdee9a17460efff02140a692015449c15c14e6cb026f6cb860b6e6f8303736bac\",\n          \"transactionIndex\": \"0x4\",\n          \"logIndex\": \"0x11\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x856611ed7e07d83243b15e93f6321f2df6865852\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0x7ada20efe88baacda97af6fea120889c88e3ba3544e1d5ad9b8f0bebb3a4da77\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x133779d25d2fb157b01e18b8b6869fb1a5666feb5b2759b69a29dfddefc112cf\",\n          \"blockNumber\": \"0x28da87\",\n          \"blockTimestamp\": \"0x69ea7908\",\n          \"transactionHash\": \"0xdee9a17460efff02140a692015449c15c14e6cb026f6cb860b6e6f8303736bac\",\n          \"transactionIndex\": \"0x4\",\n          \"logIndex\": \"0x12\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000200000000000000000000000000040000001001000000000000000000000000000000000000000000100800000000000000000000000000000000000000008000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000200000000000008000000000000000000008020000000000000000000000000040000004000000200000000080000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000200000000100080000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xdee9a17460efff02140a692015449c15c14e6cb026f6cb860b6e6f8303736bac\",\n      \"transactionIndex\": \"0x4\",\n      \"blockHash\": \"0x133779d25d2fb157b01e18b8b6869fb1a5666feb5b2759b69a29dfddefc112cf\",\n      \"blockNumber\": \"0x28da87\",\n      \"gasUsed\": \"0x17544\",\n      \"effectiveGasPrice\": \"0x3b9aca07\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x856611ed7e07d83243b15e93f6321f2df6865852\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1776974090194,\n  \"chain\": 560048,\n  \"commit\": \"574ff8c\"\n}"
  },
  {
    "path": "zeronet/2026-04-21-update-zk-config/records/UpdateZkConfig.s.sol/560048/run-1776973851527.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xcf8bc44da8ea679d763cc092627b91cfb2cdf5e0d47038f3d2ae66508aaff2ae\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n        \"0\",\n        \"0xd4d9bdcdb72acb827b3ed0e5a6239ea3e550cf6d11b702251bdd2310e8b4c2cc23ef886b\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0xc5db38a111804634c6d47091a4f9eba210761c2b35ac2ac6f06e3f108fcf14a606e9ca0124a6bde33f6a99340fb6968202a30b05fb3e946c465b308a6c6ce27f1c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\",\n        \"gas\": \"0x1b752\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000003d59999977e0896ee1f8783bb8251df16fb483e90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcdb72acb827b3ed0e5a6239ea3e550cf6d11b702251bdd2310e8b4c2cc23ef886b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041c5db38a111804634c6d47091a4f9eba210761c2b35ac2ac6f06e3f108fcf14a606e9ca0124a6bde33f6a99340fb6968202a30b05fb3e946c465b308a6c6ce27f1c00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x6f\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x343010\",\n      \"logs\": [\n        {\n          \"address\": \"0x3d59999977e0896ee1f8783bb8251df16fb483e9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xb72acb827b3ed0e5a6239ea3e550cf6d11b702251bdd2310e8b4c2cc23ef886b\",\n            \"0x000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x2b0ee86fba0ff20427871f6416550e1b554f5fa1561df840f2f2434725d218ad\",\n          \"blockNumber\": \"0x28da75\",\n          \"blockTimestamp\": \"0x69ea7818\",\n          \"transactionHash\": \"0xcf8bc44da8ea679d763cc092627b91cfb2cdf5e0d47038f3d2ae66508aaff2ae\",\n          \"transactionIndex\": \"0x1c\",\n          \"logIndex\": \"0x21\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0x450a5329efee76e2100ced6be0419d1cd80431d80e99d23da33aa1cbd4059be0\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x2b0ee86fba0ff20427871f6416550e1b554f5fa1561df840f2f2434725d218ad\",\n          \"blockNumber\": \"0x28da75\",\n          \"blockTimestamp\": \"0x69ea7818\",\n          \"transactionHash\": \"0xcf8bc44da8ea679d763cc092627b91cfb2cdf5e0d47038f3d2ae66508aaff2ae\",\n          \"transactionIndex\": \"0x1c\",\n          \"logIndex\": \"0x22\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000001000000000000000000000000000000000000000000100800000000040000010040000000000000000000000000000000000800000000000000001000000008000000400000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000008020000000000000000000000000000000004000000200000000080000000000200000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xcf8bc44da8ea679d763cc092627b91cfb2cdf5e0d47038f3d2ae66508aaff2ae\",\n      \"transactionIndex\": \"0x1c\",\n      \"blockHash\": \"0x2b0ee86fba0ff20427871f6416550e1b554f5fa1561df840f2f2434725d218ad\",\n      \"blockNumber\": \"0x28da75\",\n      \"gasUsed\": \"0x13e10\",\n      \"effectiveGasPrice\": \"0x3b9aca07\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1776973851527,\n  \"chain\": 560048,\n  \"commit\": \"574ff8c\"\n}"
  },
  {
    "path": "zeronet/2026-04-21-update-zk-config/records/UpdateZkConfig.s.sol/560048/run-1776974090194.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xdee9a17460efff02140a692015449c15c14e6cb026f6cb860b6e6f8303736bac\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x856611ed7e07d83243b15e93f6321f2df6865852\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n        \"0\",\n        \"0xd4d9bdcdb72acb827b3ed0e5a6239ea3e550cf6d11b702251bdd2310e8b4c2cc23ef886b\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x6eea76256609267dd0449ac1e120df28c966f41a0160571357845bf42ed8a89e01b9a4d2029a0e6ae8c6a6e0107b08db52cfda5560ae17f9a7c91516a3ae66a71b576e9d87c45eef11ffa73b22530f61a68d1f027589937225f08fb60d02fb89e84a57f9def74d255e2fe05f0985c7d72d4dffb1e43cd1f809d3cd72c8739af1cb1c8adf314b546adec3b9ad8f097af369d029622795eda2423a6915fc5acc4761be021a9a9eff1e74f0780a48a383ce9d38bd8eae4104815d2cff210a904246db411c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x856611ed7e07d83243b15e93f6321f2df6865852\",\n        \"gas\": \"0x20392\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000003d59999977e0896ee1f8783bb8251df16fb483e90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcdb72acb827b3ed0e5a6239ea3e550cf6d11b702251bdd2310e8b4c2cc23ef886b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c36eea76256609267dd0449ac1e120df28c966f41a0160571357845bf42ed8a89e01b9a4d2029a0e6ae8c6a6e0107b08db52cfda5560ae17f9a7c91516a3ae66a71b576e9d87c45eef11ffa73b22530f61a68d1f027589937225f08fb60d02fb89e84a57f9def74d255e2fe05f0985c7d72d4dffb1e43cd1f809d3cd72c8739af1cb1c8adf314b546adec3b9ad8f097af369d029622795eda2423a6915fc5acc4761be021a9a9eff1e74f0780a48a383ce9d38bd8eae4104815d2cff210a904246db411c0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x70\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1ae625\",\n      \"logs\": [\n        {\n          \"address\": \"0x3d59999977e0896ee1f8783bb8251df16fb483e9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xb72acb827b3ed0e5a6239ea3e550cf6d11b702251bdd2310e8b4c2cc23ef886b\",\n            \"0x000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x133779d25d2fb157b01e18b8b6869fb1a5666feb5b2759b69a29dfddefc112cf\",\n          \"blockNumber\": \"0x28da87\",\n          \"blockTimestamp\": \"0x69ea7908\",\n          \"transactionHash\": \"0xdee9a17460efff02140a692015449c15c14e6cb026f6cb860b6e6f8303736bac\",\n          \"transactionIndex\": \"0x4\",\n          \"logIndex\": \"0x11\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x856611ed7e07d83243b15e93f6321f2df6865852\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0x7ada20efe88baacda97af6fea120889c88e3ba3544e1d5ad9b8f0bebb3a4da77\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x133779d25d2fb157b01e18b8b6869fb1a5666feb5b2759b69a29dfddefc112cf\",\n          \"blockNumber\": \"0x28da87\",\n          \"blockTimestamp\": \"0x69ea7908\",\n          \"transactionHash\": \"0xdee9a17460efff02140a692015449c15c14e6cb026f6cb860b6e6f8303736bac\",\n          \"transactionIndex\": \"0x4\",\n          \"logIndex\": \"0x12\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000200000000000000000000000000040000001001000000000000000000000000000000000000000000100800000000000000000000000000000000000000008000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000200000000000008000000000000000000008020000000000000000000000000040000004000000200000000080000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000200000000100080000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xdee9a17460efff02140a692015449c15c14e6cb026f6cb860b6e6f8303736bac\",\n      \"transactionIndex\": \"0x4\",\n      \"blockHash\": \"0x133779d25d2fb157b01e18b8b6869fb1a5666feb5b2759b69a29dfddefc112cf\",\n      \"blockNumber\": \"0x28da87\",\n      \"gasUsed\": \"0x17544\",\n      \"effectiveGasPrice\": \"0x3b9aca07\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x856611ed7e07d83243b15e93f6321f2df6865852\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1776974090194,\n  \"chain\": 560048,\n  \"commit\": \"574ff8c\"\n}"
  },
  {
    "path": "zeronet/2026-04-21-update-zk-config/records/UpdateZkConfig.s.sol/560048/run-1776974497944.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x84511c640a3f316cba8e6d6442ec152e5378013b9adc40b732633f283d2ea2a0\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x3d59999977e0896ee1f8783bb8251df16fb483e9\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303\",\n        \"0\",\n        \"0x858cc8320000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000460000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c580130300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000038482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000022000000000000000000000000044f00318360258744a0daa957c2d15080a4734690000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001449623609d00000000000000000000000060a6c389f0bc5ce4269a40d9695927bc5870032800000000000000000000000097cf8c67e0bca7b55909191a731f4d762c9d5ff1000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a447a222c5000000000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea80000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a8090333041604fff095bd1f06c0d4e9294c64522d9a780e5a497559045e724f1f696000000000000000000000000000000000000000000000000000000000016e288000000000000000000000000000000000000000000000000000000000000026d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a8090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000084b1070957000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000fe3e1d27023c4c2e85a7db89d880499958abb77d0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000\",\n        \"1\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x3d59999977e0896ee1f8783bb8251df16fb483e9\",\n        \"gas\": \"0x34276\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006a00000000000000000000000000000000000000000000000000000000000000524858cc8320000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000460000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c580130300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000038482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000022000000000000000000000000044f00318360258744a0daa957c2d15080a4734690000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001449623609d00000000000000000000000060a6c389f0bc5ce4269a40d9695927bc5870032800000000000000000000000097cf8c67e0bca7b55909191a731f4d762c9d5ff1000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a447a222c5000000000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea80000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a8090333041604fff095bd1f06c0d4e9294c64522d9a780e5a497559045e724f1f696000000000000000000000000000000000000000000000000000000000016e288000000000000000000000000000000000000000000000000000000000000026d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a8090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000084b1070957000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000fe3e1d27023c4c2e85a7db89d880499958abb77d0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x71\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x24cbae\",\n      \"logs\": [\n        {\n          \"address\": \"0x60a6c389f0bc5ce4269a40d9695927bc58700328\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x00000000000000000000000097cf8c67e0bca7b55909191a731f4d762c9d5ff1\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x8790000e925d4bacb61d46424a37af1ebad050bb0cda6bd50651fd440466ddcf\",\n          \"blockNumber\": \"0x28daa6\",\n          \"blockTimestamp\": \"0x69ea7aa0\",\n          \"transactionHash\": \"0x84511c640a3f316cba8e6d6442ec152e5378013b9adc40b732633f283d2ea2a0\",\n          \"transactionIndex\": \"0x19\",\n          \"logIndex\": \"0xf\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x60a6c389f0bc5ce4269a40d9695927bc58700328\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"blockHash\": \"0x8790000e925d4bacb61d46424a37af1ebad050bb0cda6bd50651fd440466ddcf\",\n          \"blockNumber\": \"0x28daa6\",\n          \"blockTimestamp\": \"0x69ea7aa0\",\n          \"transactionHash\": \"0x84511c640a3f316cba8e6d6442ec152e5378013b9adc40b732633f283d2ea2a0\",\n          \"transactionIndex\": \"0x19\",\n          \"logIndex\": \"0x10\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x154972ab98a5e321a9c7ab7677973f1f501a8090\",\n          \"topics\": [\n            \"0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de\",\n            \"0x000000000000000000000000fe3e1d27023c4c2e85a7db89d880499958abb77d\",\n            \"0x000000000000000000000000000000000000000000000000000000000000026d\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x8790000e925d4bacb61d46424a37af1ebad050bb0cda6bd50651fd440466ddcf\",\n          \"blockNumber\": \"0x28daa6\",\n          \"blockTimestamp\": \"0x69ea7aa0\",\n          \"transactionHash\": \"0x84511c640a3f316cba8e6d6442ec152e5378013b9adc40b732633f283d2ea2a0\",\n          \"transactionIndex\": \"0x19\",\n          \"logIndex\": \"0x11\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x154972ab98a5e321a9c7ab7677973f1f501a8090\",\n          \"topics\": [\n            \"0xa47fcdf075d680d3817bfca7973b373e1a5f6cfc3b444748299cc2b83d8348f9\",\n            \"0x000000000000000000000000000000000000000000000000000000000000026d\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x8790000e925d4bacb61d46424a37af1ebad050bb0cda6bd50651fd440466ddcf\",\n          \"blockNumber\": \"0x28daa6\",\n          \"blockTimestamp\": \"0x69ea7aa0\",\n          \"transactionHash\": \"0x84511c640a3f316cba8e6d6442ec152e5378013b9adc40b732633f283d2ea2a0\",\n          \"transactionIndex\": \"0x19\",\n          \"logIndex\": \"0x12\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x3d59999977e0896ee1f8783bb8251df16fb483e9\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0xb72acb827b3ed0e5a6239ea3e550cf6d11b702251bdd2310e8b4c2cc23ef886b\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x8790000e925d4bacb61d46424a37af1ebad050bb0cda6bd50651fd440466ddcf\",\n          \"blockNumber\": \"0x28daa6\",\n          \"blockTimestamp\": \"0x69ea7aa0\",\n          \"transactionHash\": \"0x84511c640a3f316cba8e6d6442ec152e5378013b9adc40b732633f283d2ea2a0\",\n          \"transactionIndex\": \"0x19\",\n          \"logIndex\": \"0x13\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000400000000000800000000080040000000001000000000020000000000000000000000000000008000800000000000000100000000400000000000000000002004020000000004000000000000010008002010000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000080000000000008020200000000000000108000010000000404000000200000000080000000000000000000000020000000000000000000040000000000000000001000000000000000000000000000000800000000000000000000000000000000000000000000000100\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x84511c640a3f316cba8e6d6442ec152e5378013b9adc40b732633f283d2ea2a0\",\n      \"transactionIndex\": \"0x19\",\n      \"blockHash\": \"0x8790000e925d4bacb61d46424a37af1ebad050bb0cda6bd50651fd440466ddcf\",\n      \"blockNumber\": \"0x28daa6\",\n      \"gasUsed\": \"0x23a93\",\n      \"effectiveGasPrice\": \"0x3b9aca07\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x3d59999977e0896ee1f8783bb8251df16fb483e9\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1776974497944,\n  \"chain\": 560048,\n  \"commit\": \"574ff8c\"\n}"
  },
  {
    "path": "zeronet/2026-04-21-update-zk-config/script/DeployAggregateVerifier.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Script, console} from \"forge-std/Script.sol\";\n\nimport {IAnchorStateRegistry} from \"interfaces/dispute/IAnchorStateRegistry.sol\";\nimport {IDelayedWETH} from \"interfaces/dispute/IDelayedWETH.sol\";\nimport {IDisputeGameFactory} from \"interfaces/dispute/IDisputeGameFactory.sol\";\nimport {IVerifier} from \"interfaces/multiproof/IVerifier.sol\";\n\nimport {GameType} from \"@base-contracts/src/dispute/lib/Types.sol\";\nimport {AggregateVerifier} from \"@base-contracts/src/multiproof/AggregateVerifier.sol\";\nimport {TEEVerifier} from \"@base-contracts/src/multiproof/tee/TEEVerifier.sol\";\nimport {ZkVerifier} from \"@base-contracts/src/multiproof/zk/ZKVerifier.sol\";\n\n/// @notice Redeploys AggregateVerifier with a new verifier config.\n/// All other immutables are read on-chain from the existing AggregateVerifier to\n/// guarantee continuity.\ncontract DeployAggregateVerifier is Script {\n    // Task config from .env.\n    address internal disputeGameFactoryProxyEnv;\n    GameType internal gameTypeEnv;\n    address internal sp1VerifierEnv;\n    bytes32 internal teeImageHashEnv;\n    bytes32 internal zkRangeHashEnv;\n    bytes32 internal zkAggregateHashEnv;\n\n    // Live multiproof implementation currently registered in the DGF.\n    address internal currentAggregateVerifier;\n\n    // Immutable constructor args copied from the live AggregateVerifier.\n    GameType internal currentGameType;\n    IAnchorStateRegistry internal currentAnchorStateRegistry;\n    IDelayedWETH internal currentDelayedWeth;\n    address internal currentTeeVerifier;\n    bytes32 internal currentConfigHash;\n    uint256 internal currentL2ChainId;\n    uint256 internal currentBlockInterval;\n    uint256 internal currentIntermediateBlockInterval;\n    uint256 internal currentProofThreshold;\n\n    // Deployment input produced by DeployZkVerifier and read from addresses.json.\n    address internal nextZkVerifier;\n\n    // Deployment output written to addresses.json.\n    address public aggregateVerifier;\n\n    function setUp() public {\n        disputeGameFactoryProxyEnv = vm.envAddress(\"DISPUTE_GAME_FACTORY_PROXY\");\n        gameTypeEnv = GameType.wrap(uint32(vm.envUint(\"GAME_TYPE\")));\n        sp1VerifierEnv = vm.envAddress(\"SP1_VERIFIER\");\n        teeImageHashEnv = vm.envBytes32(\"TEE_IMAGE_HASH\");\n        zkRangeHashEnv = vm.envBytes32(\"ZK_RANGE_HASH\");\n        zkAggregateHashEnv = vm.envBytes32(\"ZK_AGGREGATE_HASH\");\n\n        currentAggregateVerifier = address(IDisputeGameFactory(disputeGameFactoryProxyEnv).gameImpls(gameTypeEnv));\n        require(currentAggregateVerifier != address(0), \"current aggregate verifier not found\");\n\n        AggregateVerifier currentAggregate = AggregateVerifier(currentAggregateVerifier);\n        require(\n            GameType.unwrap(currentAggregate.gameType()) == GameType.unwrap(gameTypeEnv), \"current game type mismatch\"\n        );\n\n        currentGameType = currentAggregate.gameType();\n        currentAnchorStateRegistry = currentAggregate.anchorStateRegistry();\n        currentDelayedWeth = currentAggregate.DELAYED_WETH();\n        currentTeeVerifier = address(currentAggregate.TEE_VERIFIER());\n        currentConfigHash = currentAggregate.CONFIG_HASH();\n        currentL2ChainId = currentAggregate.L2_CHAIN_ID();\n        currentBlockInterval = currentAggregate.BLOCK_INTERVAL();\n        currentIntermediateBlockInterval = currentAggregate.INTERMEDIATE_BLOCK_INTERVAL();\n        currentProofThreshold = currentAggregate.PROOF_THRESHOLD();\n\n        string memory root = vm.projectRoot();\n        string memory path = string.concat(root, \"/addresses.json\");\n        string memory json = vm.readFile(path);\n        nextZkVerifier = vm.parseJsonAddress({json: json, key: \".zkVerifier\"});\n\n        require(nextZkVerifier != address(0), \"next zk verifier not set\");\n        require(\n            address(ZkVerifier(nextZkVerifier).ANCHOR_STATE_REGISTRY()) == address(currentAnchorStateRegistry),\n            \"next zk verifier asr mismatch\"\n        );\n        require(address(ZkVerifier(nextZkVerifier).SP1_VERIFIER()) == sp1VerifierEnv, \"next zk verifier sp1 mismatch\");\n    }\n\n    function run() external {\n        vm.startBroadcast();\n\n        aggregateVerifier = address(\n            new AggregateVerifier({\n                gameType_: currentGameType,\n                anchorStateRegistry_: currentAnchorStateRegistry,\n                delayedWETH: currentDelayedWeth,\n                teeVerifier: TEEVerifier(currentTeeVerifier),\n                zkVerifier: IVerifier(nextZkVerifier),\n                teeImageHash: teeImageHashEnv,\n                zkHashes: AggregateVerifier.ZkHashes({rangeHash: zkRangeHashEnv, aggregateHash: zkAggregateHashEnv}),\n                configHash: currentConfigHash,\n                l2ChainId: currentL2ChainId,\n                blockInterval: currentBlockInterval,\n                intermediateBlockInterval: currentIntermediateBlockInterval,\n                proofThreshold: currentProofThreshold\n            })\n        );\n\n        vm.stopBroadcast();\n\n        _postCheck();\n        _writeAddresses();\n    }\n\n    function _postCheck() internal view {\n        AggregateVerifier av = AggregateVerifier(aggregateVerifier);\n\n        require(GameType.unwrap(av.gameType()) == GameType.unwrap(currentGameType), \"aggregate game type mismatch\");\n        require(address(av.anchorStateRegistry()) == address(currentAnchorStateRegistry), \"aggregate asr mismatch\");\n        require(\n            address(av.DISPUTE_GAME_FACTORY()) == address(currentAnchorStateRegistry.disputeGameFactory()),\n            \"aggregate dgf mismatch\"\n        );\n        require(address(av.DELAYED_WETH()) == address(currentDelayedWeth), \"aggregate delayed weth mismatch\");\n        require(address(av.TEE_VERIFIER()) == currentTeeVerifier, \"aggregate tee verifier mismatch\");\n        require(address(av.ZK_VERIFIER()) == nextZkVerifier, \"aggregate zk verifier mismatch\");\n        require(av.TEE_IMAGE_HASH() == teeImageHashEnv, \"aggregate tee image hash mismatch\");\n        require(av.ZK_RANGE_HASH() == zkRangeHashEnv, \"aggregate zk range hash mismatch\");\n        require(av.ZK_AGGREGATE_HASH() == zkAggregateHashEnv, \"aggregate zk aggregate hash mismatch\");\n        require(av.CONFIG_HASH() == currentConfigHash, \"aggregate config hash mismatch\");\n        require(av.L2_CHAIN_ID() == currentL2ChainId, \"aggregate l2 chain id mismatch\");\n        require(av.BLOCK_INTERVAL() == currentBlockInterval, \"aggregate block interval mismatch\");\n        require(\n            av.INTERMEDIATE_BLOCK_INTERVAL() == currentIntermediateBlockInterval,\n            \"aggregate intermediate interval mismatch\"\n        );\n        require(av.PROOF_THRESHOLD() == currentProofThreshold, \"aggregate proof threshold mismatch\");\n    }\n\n    function _writeAddresses() internal {\n        console.log(\"AggregateVerifier:\", aggregateVerifier);\n        vm.writeJson({json: vm.toString(aggregateVerifier), path: \"addresses.json\", valueKey: \".aggregateVerifier\"});\n    }\n}\n"
  },
  {
    "path": "zeronet/2026-04-21-update-zk-config/script/DeployAnchorStateRegistry.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Script, console} from \"forge-std/Script.sol\";\n\nimport {AnchorStateRegistry} from \"@base-contracts/src/dispute/AnchorStateRegistry.sol\";\n\n/// @notice Deploys the next AnchorStateRegistry implementation used to reset the starting anchor root.\ncontract DeployAnchorStateRegistry is Script {\n    // Task config from .env.\n    address internal anchorStateRegistryProxyEnv;\n\n    // Constructor args copied from the live AnchorStateRegistry proxy.\n    uint256 internal currentDisputeGameFinalityDelaySeconds;\n    uint8 internal currentInitVersion;\n\n    // Deployment output written to addresses.json.\n    address public anchorStateRegistryImpl;\n\n    function setUp() public {\n        anchorStateRegistryProxyEnv = vm.envAddress(\"ANCHOR_STATE_REGISTRY_PROXY\");\n        require(anchorStateRegistryProxyEnv != address(0), \"anchor state registry proxy not found\");\n\n        AnchorStateRegistry currentAsr = AnchorStateRegistry(anchorStateRegistryProxyEnv);\n        currentDisputeGameFinalityDelaySeconds = currentAsr.disputeGameFinalityDelaySeconds();\n        currentInitVersion = currentAsr.initVersion();\n    }\n\n    function run() external {\n        vm.startBroadcast();\n\n        anchorStateRegistryImpl = address(\n            new AnchorStateRegistry({_disputeGameFinalityDelaySeconds: currentDisputeGameFinalityDelaySeconds})\n        );\n\n        vm.stopBroadcast();\n\n        _postCheck();\n        _writeAddresses();\n    }\n\n    function _postCheck() internal view {\n        AnchorStateRegistry nextAsr = AnchorStateRegistry(anchorStateRegistryImpl);\n\n        require(\n            nextAsr.disputeGameFinalityDelaySeconds() == currentDisputeGameFinalityDelaySeconds,\n            \"anchor state registry finality delay mismatch\"\n        );\n        require(nextAsr.initVersion() == currentInitVersion + 1, \"anchor state registry init version mismatch\");\n    }\n\n    function _writeAddresses() internal {\n        console.log(\"AnchorStateRegistry impl:\", anchorStateRegistryImpl);\n        vm.writeJson({\n            json: vm.toString(anchorStateRegistryImpl), path: \"addresses.json\", valueKey: \".anchorStateRegistryImpl\"\n        });\n    }\n}\n"
  },
  {
    "path": "zeronet/2026-04-21-update-zk-config/script/DeployZkVerifier.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Script, console} from \"forge-std/Script.sol\";\n\nimport {AggregateVerifier} from \"@base-contracts/src/multiproof/AggregateVerifier.sol\";\nimport {GameType} from \"@base-contracts/src/dispute/lib/Types.sol\";\nimport {IAnchorStateRegistry} from \"interfaces/dispute/IAnchorStateRegistry.sol\";\nimport {IDisputeGameFactory} from \"interfaces/dispute/IDisputeGameFactory.sol\";\nimport {ISP1Verifier} from \"src/dispute/zk/ISP1Verifier.sol\";\nimport {ZkVerifier} from \"@base-contracts/src/multiproof/zk/ZKVerifier.sol\";\n\n/// @notice Deploys the ZK verifier used by the multiproof AggregateVerifier.\ncontract DeployZkVerifier is Script {\n    // Task config from .env.\n    address internal disputeGameFactoryProxyEnv;\n    GameType internal gameTypeEnv;\n    address internal sp1VerifierEnv;\n\n    // Live multiproof implementation currently registered in the DGF.\n    address internal currentAggregateVerifier;\n\n    // Constructor args copied from the live AggregateVerifier.\n    address internal currentAnchorStateRegistry;\n\n    // Deployment output written to addresses.json.\n    address public zkVerifier;\n\n    function setUp() public {\n        disputeGameFactoryProxyEnv = vm.envAddress(\"DISPUTE_GAME_FACTORY_PROXY\");\n        gameTypeEnv = GameType.wrap(uint32(vm.envUint(\"GAME_TYPE\")));\n        sp1VerifierEnv = vm.envAddress(\"SP1_VERIFIER\");\n\n        currentAggregateVerifier = address(IDisputeGameFactory(disputeGameFactoryProxyEnv).gameImpls(gameTypeEnv));\n        require(currentAggregateVerifier != address(0), \"current aggregate verifier not found\");\n\n        AggregateVerifier currentAggregate = AggregateVerifier(currentAggregateVerifier);\n        require(\n            GameType.unwrap(currentAggregate.gameType()) == GameType.unwrap(gameTypeEnv), \"current game type mismatch\"\n        );\n        currentAnchorStateRegistry = address(currentAggregate.anchorStateRegistry());\n\n        require(currentAnchorStateRegistry != address(0), \"anchor state registry not found\");\n        require(sp1VerifierEnv != address(0), \"sp1 verifier not set\");\n    }\n\n    function run() external {\n        vm.startBroadcast();\n\n        zkVerifier = address(\n            new ZkVerifier({\n                sp1Verifier: ISP1Verifier(sp1VerifierEnv),\n                anchorStateRegistry: IAnchorStateRegistry(currentAnchorStateRegistry)\n            })\n        );\n\n        vm.stopBroadcast();\n\n        _postCheck();\n        _writeAddresses();\n    }\n\n    function _postCheck() internal view {\n        require(\n            address(ZkVerifier(zkVerifier).ANCHOR_STATE_REGISTRY()) == currentAnchorStateRegistry,\n            \"zk verifier asr mismatch\"\n        );\n        require(address(ZkVerifier(zkVerifier).SP1_VERIFIER()) == sp1VerifierEnv, \"zk verifier sp1 verifier mismatch\");\n    }\n\n    function _writeAddresses() internal {\n        console.log(\"ZKVerifier:\", zkVerifier);\n\n        string memory root = \"root\";\n        string memory json = vm.serializeAddress({objectKey: root, valueKey: \"zkVerifier\", value: zkVerifier});\n        vm.writeJson({json: json, path: \"addresses.json\"});\n    }\n}\n"
  },
  {
    "path": "zeronet/2026-04-21-update-zk-config/script/UpdateZkConfig.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\n\nimport {ISystemConfig} from \"interfaces/L1/ISystemConfig.sol\";\nimport {IDisputeGameFactory} from \"interfaces/dispute/IDisputeGameFactory.sol\";\n\nimport {MultisigScript, Enum} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {GameType, Hash, Proposal} from \"@base-contracts/src/dispute/lib/Types.sol\";\nimport {AnchorStateRegistry} from \"@base-contracts/src/dispute/AnchorStateRegistry.sol\";\nimport {AggregateVerifier} from \"@base-contracts/src/multiproof/AggregateVerifier.sol\";\nimport {ZkVerifier} from \"@base-contracts/src/multiproof/zk/ZKVerifier.sol\";\n\ninterface IProxyAdmin {\n    function owner() external view returns (address);\n    function upgradeAndCall(address proxy, address implementation, bytes calldata data) external payable;\n}\n\ninterface IProxy {\n    function implementation() external view returns (address);\n}\n\ninterface IDisputeGameFactoryAdmin {\n    function owner() external view returns (address);\n    function gameImpls(GameType gameType) external view returns (address);\n    function setImplementation(GameType gameType, address impl, bytes calldata args) external;\n}\n\n/// @notice Resets the AnchorStateRegistry starting anchor and updates the live multiproof implementation\n/// in the DisputeGameFactory to the newly deployed AggregateVerifier carrying the new verifier config.\ncontract UpdateZkConfig is MultisigScript {\n    // Task config from .env.\n    address internal ownerSafeEnv;\n    address internal proxyAdminEnv;\n    address internal systemConfigEnv;\n    address internal anchorStateRegistryProxyEnv;\n    address internal disputeGameFactoryProxyEnv;\n    GameType internal gameTypeEnv;\n    address internal sp1VerifierEnv;\n    bytes32 internal teeImageHashEnv;\n    bytes32 internal zkRangeHashEnv;\n    bytes32 internal zkAggregateHashEnv;\n    bytes32 internal startingAnchorRootEnv;\n    uint256 internal startingAnchorL2BlockNumberEnv;\n\n    // Live onchain state.\n    address internal currentAggregateVerifier;\n    address internal currentZkVerifier;\n    address internal currentAnchorStateRegistryImpl;\n    uint256 internal currentAsrDisputeGameFinalityDelaySeconds;\n    uint8 internal currentAsrInitVersion;\n\n    // Deployment outputs produced by the EOA scripts and read from addresses.json.\n    address internal nextAggregateVerifier;\n    address internal nextZkVerifier;\n    address internal nextAnchorStateRegistryImpl;\n\n    // AggregateVerifier metadata used by the multisig update call and post-checks.\n    GameType internal nextGameType;\n\n    function setUp() public {\n        ownerSafeEnv = vm.envAddress(\"PROXY_ADMIN_OWNER\");\n        proxyAdminEnv = vm.envAddress(\"L1_PROXY_ADMIN\");\n        systemConfigEnv = vm.envAddress(\"SYSTEM_CONFIG\");\n        anchorStateRegistryProxyEnv = vm.envAddress(\"ANCHOR_STATE_REGISTRY_PROXY\");\n        disputeGameFactoryProxyEnv = vm.envAddress(\"DISPUTE_GAME_FACTORY_PROXY\");\n        gameTypeEnv = GameType.wrap(uint32(vm.envUint(\"GAME_TYPE\")));\n        sp1VerifierEnv = vm.envAddress(\"SP1_VERIFIER\");\n        teeImageHashEnv = vm.envBytes32(\"TEE_IMAGE_HASH\");\n        zkRangeHashEnv = vm.envBytes32(\"ZK_RANGE_HASH\");\n        zkAggregateHashEnv = vm.envBytes32(\"ZK_AGGREGATE_HASH\");\n        startingAnchorRootEnv = vm.envBytes32(\"STARTING_ANCHOR_ROOT\");\n        startingAnchorL2BlockNumberEnv = vm.envUint(\"STARTING_ANCHOR_L2_BLOCK_NUMBER\");\n\n        require(IProxyAdmin(proxyAdminEnv).owner() == ownerSafeEnv, \"proxy admin owner mismatch\");\n        require(IDisputeGameFactoryAdmin(disputeGameFactoryProxyEnv).owner() == ownerSafeEnv, \"dgf owner mismatch\");\n\n        currentAggregateVerifier = IDisputeGameFactoryAdmin(disputeGameFactoryProxyEnv).gameImpls(gameTypeEnv);\n        require(currentAggregateVerifier != address(0), \"current aggregate verifier not found\");\n\n        AggregateVerifier currentAggregate = AggregateVerifier(currentAggregateVerifier);\n        require(\n            GameType.unwrap(currentAggregate.gameType()) == GameType.unwrap(gameTypeEnv), \"current game type mismatch\"\n        );\n        require(\n            address(currentAggregate.anchorStateRegistry()) == anchorStateRegistryProxyEnv,\n            \"current aggregate asr mismatch\"\n        );\n        currentZkVerifier = address(currentAggregate.ZK_VERIFIER());\n\n        AnchorStateRegistry currentAsr = AnchorStateRegistry(anchorStateRegistryProxyEnv);\n        currentAsrDisputeGameFinalityDelaySeconds = currentAsr.disputeGameFinalityDelaySeconds();\n        currentAsrInitVersion = currentAsr.initVersion();\n\n        vm.prank(proxyAdminEnv);\n        currentAnchorStateRegistryImpl = IProxy(anchorStateRegistryProxyEnv).implementation();\n\n        string memory root = vm.projectRoot();\n        string memory path = string.concat(root, \"/addresses.json\");\n        string memory json = vm.readFile(path);\n\n        nextAggregateVerifier = vm.parseJsonAddress({json: json, key: \".aggregateVerifier\"});\n        nextZkVerifier = vm.parseJsonAddress({json: json, key: \".zkVerifier\"});\n        nextAnchorStateRegistryImpl = vm.parseJsonAddress({json: json, key: \".anchorStateRegistryImpl\"});\n\n        require(nextAggregateVerifier != address(0), \"next aggregate verifier not set\");\n        require(nextAggregateVerifier != currentAggregateVerifier, \"next aggregate verifier equals current\");\n        require(nextZkVerifier != address(0), \"next zk verifier not set\");\n        require(nextZkVerifier != currentZkVerifier, \"next zk verifier equals current\");\n        require(nextAnchorStateRegistryImpl != address(0), \"next asr impl not set\");\n        require(nextAnchorStateRegistryImpl != currentAnchorStateRegistryImpl, \"next asr impl equals current\");\n        require(sp1VerifierEnv != address(0), \"sp1 verifier not set\");\n        require(zkRangeHashEnv != bytes32(0), \"zk range hash not set\");\n        require(zkAggregateHashEnv != bytes32(0), \"zk aggregate hash not set\");\n        require(startingAnchorRootEnv != bytes32(0), \"starting anchor root not set\");\n        require(startingAnchorL2BlockNumberEnv != 0, \"starting anchor block not set\");\n\n        AggregateVerifier nextAggregate = AggregateVerifier(nextAggregateVerifier);\n        nextGameType = nextAggregate.gameType();\n\n        require(GameType.unwrap(nextGameType) == GameType.unwrap(gameTypeEnv), \"next game type mismatch\");\n        require(\n            address(nextAggregate.anchorStateRegistry()) == anchorStateRegistryProxyEnv, \"next aggregate asr mismatch\"\n        );\n        require(\n            address(nextAggregate.DISPUTE_GAME_FACTORY()) == address(currentAggregate.DISPUTE_GAME_FACTORY()),\n            \"next aggregate dgf mismatch\"\n        );\n        require(\n            address(nextAggregate.DELAYED_WETH()) == address(currentAggregate.DELAYED_WETH()),\n            \"next aggregate delayed weth mismatch\"\n        );\n        require(\n            address(nextAggregate.TEE_VERIFIER()) == address(currentAggregate.TEE_VERIFIER()),\n            \"next aggregate tee verifier mismatch\"\n        );\n        require(address(nextAggregate.ZK_VERIFIER()) == nextZkVerifier, \"next aggregate zk verifier mismatch\");\n        require(nextAggregate.TEE_IMAGE_HASH() == teeImageHashEnv, \"next aggregate tee image hash mismatch\");\n        require(nextAggregate.ZK_RANGE_HASH() == zkRangeHashEnv, \"next aggregate zk range hash mismatch\");\n        require(nextAggregate.ZK_AGGREGATE_HASH() == zkAggregateHashEnv, \"next aggregate zk aggregate hash mismatch\");\n        require(nextAggregate.CONFIG_HASH() == currentAggregate.CONFIG_HASH(), \"next aggregate config hash mismatch\");\n        require(nextAggregate.L2_CHAIN_ID() == currentAggregate.L2_CHAIN_ID(), \"next aggregate l2 chain id mismatch\");\n        require(\n            nextAggregate.BLOCK_INTERVAL() == currentAggregate.BLOCK_INTERVAL(),\n            \"next aggregate block interval mismatch\"\n        );\n        require(\n            nextAggregate.INTERMEDIATE_BLOCK_INTERVAL() == currentAggregate.INTERMEDIATE_BLOCK_INTERVAL(),\n            \"next aggregate intermediate interval mismatch\"\n        );\n        require(\n            nextAggregate.PROOF_THRESHOLD() == currentAggregate.PROOF_THRESHOLD(),\n            \"next aggregate proof threshold mismatch\"\n        );\n        require(\n            address(ZkVerifier(nextZkVerifier).ANCHOR_STATE_REGISTRY()) == anchorStateRegistryProxyEnv,\n            \"next zk verifier asr mismatch\"\n        );\n        require(address(ZkVerifier(nextZkVerifier).SP1_VERIFIER()) == sp1VerifierEnv, \"next zk verifier sp1 mismatch\");\n\n        AnchorStateRegistry nextAsrImpl = AnchorStateRegistry(nextAnchorStateRegistryImpl);\n        require(\n            nextAsrImpl.disputeGameFinalityDelaySeconds() == currentAsrDisputeGameFinalityDelaySeconds,\n            \"next asr finality delay mismatch\"\n        );\n        require(nextAsrImpl.initVersion() == currentAsrInitVersion + 1, \"next asr init version mismatch\");\n    }\n\n    function _buildCalls() internal view override returns (Call[] memory) {\n        Call[] memory calls = new Call[](2);\n\n        calls[0] = Call({\n            operation: Enum.Operation.Call,\n            target: proxyAdminEnv,\n            data: abi.encodeCall(\n                IProxyAdmin.upgradeAndCall,\n                (\n                    anchorStateRegistryProxyEnv,\n                    nextAnchorStateRegistryImpl,\n                    abi.encodeCall(\n                        AnchorStateRegistry.initialize,\n                        (\n                            ISystemConfig(systemConfigEnv),\n                            IDisputeGameFactory(disputeGameFactoryProxyEnv),\n                            Proposal({\n                                root: Hash.wrap(startingAnchorRootEnv), l2SequenceNumber: startingAnchorL2BlockNumberEnv\n                            }),\n                            nextGameType\n                        )\n                    )\n                )\n            ),\n            value: 0\n        });\n\n        calls[1] = Call({\n            operation: Enum.Operation.Call,\n            target: disputeGameFactoryProxyEnv,\n            data: abi.encodeCall(IDisputeGameFactoryAdmin.setImplementation, (nextGameType, nextAggregateVerifier, \"\")),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal override {\n        IDisputeGameFactoryAdmin dgf = IDisputeGameFactoryAdmin(disputeGameFactoryProxyEnv);\n        AggregateVerifier currentAggregate = AggregateVerifier(currentAggregateVerifier);\n        AggregateVerifier nextAggregate = AggregateVerifier(nextAggregateVerifier);\n        AnchorStateRegistry asr = AnchorStateRegistry(anchorStateRegistryProxyEnv);\n        Proposal memory startingAnchor = asr.getStartingAnchorRoot();\n        (Hash currentAnchorRoot, uint256 currentAnchorL2BlockNumber) = asr.getAnchorRoot();\n\n        vm.prank(proxyAdminEnv);\n        require(\n            IProxy(anchorStateRegistryProxyEnv).implementation() == nextAnchorStateRegistryImpl, \"asr impl mismatch\"\n        );\n\n        require(address(asr.systemConfig()) == systemConfigEnv, \"asr system config mismatch\");\n        require(address(asr.disputeGameFactory()) == disputeGameFactoryProxyEnv, \"asr dgf mismatch\");\n        require(address(asr.anchorGame()) == address(0), \"asr anchor game not reset\");\n        require(Hash.unwrap(startingAnchor.root) == startingAnchorRootEnv, \"asr starting anchor root mismatch\");\n        require(startingAnchor.l2SequenceNumber == startingAnchorL2BlockNumberEnv, \"asr starting anchor block mismatch\");\n        require(Hash.unwrap(currentAnchorRoot) == startingAnchorRootEnv, \"asr current anchor root mismatch\");\n        require(currentAnchorL2BlockNumber == startingAnchorL2BlockNumberEnv, \"asr current anchor block mismatch\");\n        require(GameType.unwrap(asr.respectedGameType()) == GameType.unwrap(gameTypeEnv), \"asr game type mismatch\");\n        require(\n            asr.disputeGameFinalityDelaySeconds() == currentAsrDisputeGameFinalityDelaySeconds,\n            \"asr finality delay mismatch\"\n        );\n        require(asr.initVersion() == currentAsrInitVersion + 1, \"asr init version mismatch\");\n\n        require(dgf.gameImpls(nextGameType) == nextAggregateVerifier, \"dgf aggregate verifier mismatch\");\n        require(\n            address(nextAggregate.anchorStateRegistry()) == anchorStateRegistryProxyEnv, \"next aggregate asr mismatch\"\n        );\n        require(\n            address(nextAggregate.DISPUTE_GAME_FACTORY()) == address(currentAggregate.DISPUTE_GAME_FACTORY()),\n            \"next aggregate dgf mismatch\"\n        );\n        require(\n            address(nextAggregate.DELAYED_WETH()) == address(currentAggregate.DELAYED_WETH()),\n            \"next aggregate delayed weth mismatch\"\n        );\n        require(\n            address(nextAggregate.TEE_VERIFIER()) == address(currentAggregate.TEE_VERIFIER()),\n            \"next aggregate tee verifier mismatch\"\n        );\n        require(address(nextAggregate.ZK_VERIFIER()) == nextZkVerifier, \"next aggregate zk verifier mismatch\");\n        require(nextAggregate.TEE_IMAGE_HASH() == teeImageHashEnv, \"next aggregate tee image hash mismatch\");\n        require(nextAggregate.ZK_RANGE_HASH() == zkRangeHashEnv, \"next aggregate zk range hash mismatch\");\n        require(nextAggregate.ZK_AGGREGATE_HASH() == zkAggregateHashEnv, \"next aggregate zk aggregate hash mismatch\");\n        require(nextAggregate.CONFIG_HASH() == currentAggregate.CONFIG_HASH(), \"next aggregate config hash mismatch\");\n        require(nextAggregate.L2_CHAIN_ID() == currentAggregate.L2_CHAIN_ID(), \"next aggregate l2 chain id mismatch\");\n        require(\n            nextAggregate.BLOCK_INTERVAL() == currentAggregate.BLOCK_INTERVAL(),\n            \"next aggregate block interval mismatch\"\n        );\n        require(\n            nextAggregate.INTERMEDIATE_BLOCK_INTERVAL() == currentAggregate.INTERMEDIATE_BLOCK_INTERVAL(),\n            \"next aggregate intermediate interval mismatch\"\n        );\n        require(\n            nextAggregate.PROOF_THRESHOLD() == currentAggregate.PROOF_THRESHOLD(),\n            \"next aggregate proof threshold mismatch\"\n        );\n        require(\n            address(ZkVerifier(nextZkVerifier).ANCHOR_STATE_REGISTRY()) == anchorStateRegistryProxyEnv,\n            \"next zk verifier asr mismatch\"\n        );\n        require(address(ZkVerifier(nextZkVerifier).SP1_VERIFIER()) == sp1VerifierEnv, \"next zk verifier sp1 mismatch\");\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return ownerSafeEnv;\n    }\n}\n"
  },
  {
    "path": "zeronet/2026-04-21-update-zk-config/validations/update-zk-config-cb-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net script/UpdateZkConfig.s.sol:UpdateZkConfig --sig sign(address[]) [0x856611ed7e07d83243b15e93f6321f2df6865852] --sender 0x931E24B032511d8dD029AedeB44837FAc251f3d8\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net\",\n  \"skipTaskOriginValidation\": true,\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n    \"domainHash\": \"0xc88eae2baaa4c8513a3d87913666de9463f106158aaf8be5cd31588215ccd5c4\",\n    \"messageHash\": \"0x0e55738c840807ab5d3b05bacdb89f50eb66eb465db551c2cfdde55c21e84edb\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Zeronet\",\n      \"address\": \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Zeronet\",\n      \"address\": \"0x856611eD7E07D83243b15E93f6321f2df6865852\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xf01317cc6e8cac1c31d4025b6e09295b1966a30699c1ad601036829e2b1e6326\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"DisputeGameFactory Proxy - Zeronet\",\n      \"address\": \"0x154972aB98A5e321a9c7aB7677973f1F501a8090\",\n      \"changes\": [\n        {\n          \"key\": \"0x32912047a4c082de3e601c4b381c2aa6252270818a4be33442b17fb41b6cf7d6\",\n          \"before\": \"0x000000000000000000000000ebf217b345fd635b0614e4f56afbe2136528883e\",\n          \"after\": \"0x000000000000000000000000fe3e1d27023c4c2e85a7db89d880499958abb77d\",\n          \"description\": \"Updates `gameImpls[621]` in the DisputeGameFactory to the newly deployed AggregateVerifier carrying the updated verifier configuration.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Proxy Admin Owner - Zeronet\",\n      \"address\": \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x6e1f62b489b838ef8b2eb074602d9da1a1ce2dd02471ee1d7b9815802839d5bb\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Records the approval of this task's transaction hash by the CB Signer Safe (nested approver of the Proxy Admin Owner).\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"AnchorStateRegistry - Zeronet\",\n      \"address\": \"0x60A6C389F0BC5cE4269A40d9695927bC58700328\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"before\": \"0x00000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea800002\",\n          \"after\": \"0x00000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea800003\",\n          \"description\": \"Runs the AnchorStateRegistry reinitializer for the verifier config update and anchor reset, keeping the packed SystemConfig address unchanged and bumping initVersion from 2 to 3.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"before\": \"0xaaada834ea301486fdf3fc2cb72efa2bbee04bccc29af4d03a4bfbf272a2664a\",\n          \"after\": \"0x333041604fff095bd1f06c0d4e9294c64522d9a780e5a497559045e724f1f696\",\n          \"description\": \"Resets the starting anchor root for the multiproof game type.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"before\": \"0x00000000000000000000000000000000000000000000000000000000000867a4\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000016e288\",\n          \"description\": \"Resets the starting anchor L2 block number for the multiproof game type to 0x16e288 (1499784).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x000000000000000000000000144a55c8d46a347cd08204c0327cb411527f846e\",\n          \"after\": \"0x00000000000000000000000097cf8c67e0bca7b55909191a731f4d762c9d5ff1\",\n          \"description\": \"Update address of AnchorStateRegistry to new implementation.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Zeronet\",\n      \"address\": \"0x856611eD7E07D83243b15E93f6321f2df6865852\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": [],\n  \"taskOriginConfig\": {\n    \"taskCreator\": {\n      \"commonName\": \"baptiste.oueriagli@coinbase.com\"\n    }\n  }\n}"
  },
  {
    "path": "zeronet/2026-04-21-update-zk-config/validations/update-zk-config-sc-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net script/UpdateZkConfig.s.sol:UpdateZkConfig --sig sign(address[]) [0xC4c0aD998B5DfA4CF4B298970F21b9015a5eE7bA] --sender 0x931E24B032511d8dD029AedeB44837FAc251f3d8\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net\",\n  \"skipTaskOriginValidation\": true,\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n    \"domainHash\": \"0x1e2faea9157fbff31d9297595a71e2dedfeb1184207c07bb6bd64f807332a525\",\n    \"messageHash\": \"0xb7f83234d1b9ac88a1f8ba81fe483c328a6f1181586e4ba05110b30859170405\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Zeronet\",\n      \"address\": \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Security Council Safe - Zeronet\",\n      \"address\": \"0xC4c0aD998B5DfA4CF4B298970F21b9015a5eE7bA\",\n      \"overrides\": [\n        {\n          \"key\": \"0x677591fbec8e6b2545ca61bb732fd3aa8092c928393a9b0a5a38eb473d27d1c9\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"DisputeGameFactory Proxy - Zeronet\",\n      \"address\": \"0x154972aB98A5e321a9c7aB7677973f1F501a8090\",\n      \"changes\": [\n        {\n          \"key\": \"0x32912047a4c082de3e601c4b381c2aa6252270818a4be33442b17fb41b6cf7d6\",\n          \"before\": \"0x000000000000000000000000ebf217b345fd635b0614e4f56afbe2136528883e\",\n          \"after\": \"0x000000000000000000000000fe3e1d27023c4c2e85a7db89d880499958abb77d\",\n          \"description\": \"Updates `gameImpls[621]` in the DisputeGameFactory to the newly deployed AggregateVerifier carrying the updated verifier configuration.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Proxy Admin Owner - Zeronet\",\n      \"address\": \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x8454e2620e9840cfedba4e175663979af6af179d042235b07cfee98419e2ab98\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Records the approval of this task's transaction hash by the Security Council Safe (nested approver of the Proxy Admin Owner).\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"AnchorStateRegistry - Zeronet\",\n      \"address\": \"0x60A6C389F0BC5cE4269A40d9695927bC58700328\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"before\": \"0x00000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea800002\",\n          \"after\": \"0x00000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea800003\",\n          \"description\": \"Runs the AnchorStateRegistry reinitializer for the verifier config update and anchor reset, keeping the packed SystemConfig address unchanged and bumping initVersion from 2 to 3.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"before\": \"0xaaada834ea301486fdf3fc2cb72efa2bbee04bccc29af4d03a4bfbf272a2664a\",\n          \"after\": \"0x333041604fff095bd1f06c0d4e9294c64522d9a780e5a497559045e724f1f696\",\n          \"description\": \"Resets the starting anchor root for the multiproof game type.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"before\": \"0x00000000000000000000000000000000000000000000000000000000000867a4\",\n          \"after\": \"0x000000000000000000000000000000000000000000000000000000000016e288\",\n          \"description\": \"Resets the starting anchor L2 block number for the multiproof game type to 0x16e288 (1499784).\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x000000000000000000000000144a55c8d46a347cd08204c0327cb411527f846e\",\n          \"after\": \"0x00000000000000000000000097cf8c67e0bca7b55909191a731f4d762c9d5ff1\",\n          \"description\": \"Update address of AnchorStateRegistry to new implementation.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Security Council Safe - Zeronet\",\n      \"address\": \"0xC4c0aD998B5DfA4CF4B298970F21b9015a5eE7bA\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": [],\n  \"taskOriginConfig\": {\n    \"taskCreator\": {\n      \"commonName\": \"baptiste.oueriagli@coinbase.com\"\n    }\n  }\n}"
  },
  {
    "path": "zeronet/2026-04-23-fix-starting-anchor-root/FACILITATOR.md",
    "content": "# Facilitator Guide\n\nGuide for facilitators managing this task.\n\n## Deployment prerequisites\n\nBefore collecting signatures, complete the EOA-authorized phase:\n\n```bash\ncd contract-deployments\ngit pull\ncd zeronet/2026-04-23-fix-starting-anchor-root\nmake deps\nmake deploy-anchor-state-registry\n```\n\n`make deploy-anchor-state-registry` runs `DeployAnchorStateRegistry`:\n\n- deploys the next `AnchorStateRegistry` implementation with the same finality delay as the live proxy\n- writes `anchorStateRegistryImpl` to `addresses.json`\n\nExpected `addresses.json` key:\n\n- `anchorStateRegistryImpl`\n\n## Pre-sign check: `STARTING_ANCHOR_*` correctness\n\nUse the proofs RPC for this check:\n\n```bash\nBLOCK=$STARTING_ANCHOR_L2_BLOCK_NUMBER\nOUTPUT_ROOT=$(cast rpc optimism_outputAtBlock $(cast 2h $BLOCK) --rpc-url https://base-zeronet-reth-proofs-donotuse.cbhq.net:7545 | jq -r '.outputRoot')\necho $OUTPUT_ROOT\necho $STARTING_ANCHOR_ROOT\n```\n\nExpected result:\n\n- `OUTPUT_ROOT == STARTING_ANCHOR_ROOT`\n\n## Generate validation files\n\n```bash\ncd contract-deployments\ngit pull\ncd zeronet/2026-04-23-fix-starting-anchor-root\nmake deps\nmake gen-validation-fix-starting-anchor-root-cb\nmake gen-validation-fix-starting-anchor-root-sc\n```\n\nThis produces:\n\n- `validations/fix-starting-anchor-root-cb-signer.json`\n- `validations/fix-starting-anchor-root-sc-signer.json`\n\n## Execute the transaction\n\n### 1. Update repo\n\n```bash\ncd contract-deployments\ngit pull\ncd zeronet/2026-04-23-fix-starting-anchor-root\nmake deps\n```\n\n### 2. Collect signatures for `CB_MULTISIG`\n\nConcatenate all signatures and export as the `SIGNATURES` environment variable:\n\n```bash\nexport SIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"\n```\n\nThen run:\n\n```bash\nSIGNATURES=$SIGNATURES make approve-fix-starting-anchor-root-cb\n```\n\n### 3. Collect signatures for `BASE_SECURITY_COUNCIL`\n\nConcatenate all signatures and export as the `SIGNATURES` environment variable:\n\n```bash\nexport SIGNATURES=\"[SIGNATURE1][SIGNATURE2]...\"\n```\n\nThen run:\n\n```bash\nSIGNATURES=$SIGNATURES make approve-fix-starting-anchor-root-sc\n```\n\n### 4. Execute upgrade batch\n\n```bash\nmake execute-fix-starting-anchor-root\n```\n\nPost-checks enforced by script:\n\n- `AnchorStateRegistry` proxy implementation equals the newly deployed `anchorStateRegistryImpl`\n- `AnchorStateRegistry.anchorGame()` equals `address(0)`\n- `AnchorStateRegistry.getStartingAnchorRoot()` equals the corrected `STARTING_ANCHOR_ROOT` and `STARTING_ANCHOR_L2_BLOCK_NUMBER`\n"
  },
  {
    "path": "zeronet/2026-04-23-fix-starting-anchor-root/Makefile",
    "content": "include ../../Makefile\ninclude ../../Multisig.mk\ninclude ../.env\ninclude .env\n\nSIGNER_TOOL_PATH = ../../signer-tool\nRPC_URL = $(L1_RPC_URL)\nDEPLOYER = $(shell cast wallet address --ledger --mnemonic-derivation-path $(LEDGER_HD_PATH))\nFIX_STARTING_ANCHOR_ROOT_SCRIPT_NAME = script/FixStartingAnchorRoot.s.sol:FixStartingAnchorRoot\nFIX_STARTING_ANCHOR_ROOT_CB_SENDER = $(shell cast call $(CB_MULTISIG) \"getOwners()(address[])\" --rpc-url $(L1_RPC_URL) | tr -d '[]' | cut -d',' -f1)\nFIX_STARTING_ANCHOR_ROOT_SC_SENDER = $(shell cast call $(BASE_SECURITY_COUNCIL) \"getOwners()(address[])\" --rpc-url $(L1_RPC_URL) | tr -d '[]' | cut -d',' -f1)\n\n.PHONY: apply-patches\napply-patches:\n\tcd lib/contracts && patch -p1 < ../../patch/asr-reset-anchor-game.patch\n\n.PHONY: deps\ndeps: apply-patches\n\n##\n# Deployment (EOA)\n##\n.PHONY: deploy-anchor-state-registry\ndeploy-anchor-state-registry:\nifndef VERIFIER_API_KEY\n\t$(error VERIFIER_API_KEY is not set)\nendif\n\tforge script --rpc-url $(L1_RPC_URL) script/DeployAnchorStateRegistry.s.sol:DeployAnchorStateRegistry \\\n\t\t--ledger --hd-paths $(LEDGER_HD_PATH) --broadcast --verify \\\n\t\t--verifier custom \\\n\t\t--verifier-url \"https://api.etherscan.io/v2/api?chainid=$(L1_CHAIN_ID)\" \\\n\t\t--verifier-api-key $(VERIFIER_API_KEY) \\\n\t\t-vvvv --sender $(DEPLOYER)\n\n##\n# Fix starting anchor root (multisig)\n##\n.PHONY: gen-validation-fix-starting-anchor-root-cb\ngen-validation-fix-starting-anchor-root-cb: deps-signer-tool\n\t$(call GEN_VALIDATION,$(FIX_STARTING_ANCHOR_ROOT_SCRIPT_NAME),$(CB_MULTISIG),$(FIX_STARTING_ANCHOR_ROOT_CB_SENDER),fix-starting-anchor-root-cb-signer.json,)\n\n.PHONY: gen-validation-fix-starting-anchor-root-sc\ngen-validation-fix-starting-anchor-root-sc: deps-signer-tool\n\t$(call GEN_VALIDATION,$(FIX_STARTING_ANCHOR_ROOT_SCRIPT_NAME),$(BASE_SECURITY_COUNCIL),$(FIX_STARTING_ANCHOR_ROOT_SC_SENDER),fix-starting-anchor-root-sc-signer.json,)\n\n.PHONY: approve-fix-starting-anchor-root-cb\napprove-fix-starting-anchor-root-cb: SCRIPT_NAME := $(FIX_STARTING_ANCHOR_ROOT_SCRIPT_NAME)\napprove-fix-starting-anchor-root-cb:\n\t$(call MULTISIG_APPROVE,$(CB_MULTISIG),$(SIGNATURES))\n\n.PHONY: approve-fix-starting-anchor-root-sc\napprove-fix-starting-anchor-root-sc: SCRIPT_NAME := $(FIX_STARTING_ANCHOR_ROOT_SCRIPT_NAME)\napprove-fix-starting-anchor-root-sc:\n\t$(call MULTISIG_APPROVE,$(BASE_SECURITY_COUNCIL),$(SIGNATURES))\n\n.PHONY: execute-fix-starting-anchor-root\nexecute-fix-starting-anchor-root: SCRIPT_NAME := $(FIX_STARTING_ANCHOR_ROOT_SCRIPT_NAME)\nexecute-fix-starting-anchor-root:\n\t$(call MULTISIG_EXECUTE,0x)\n"
  },
  {
    "path": "zeronet/2026-04-23-fix-starting-anchor-root/README.md",
    "content": "# Fix Starting Anchor Root\n\nStatus: [EXECUTED](https://hoodi.etherscan.io/tx/0x76e97ddf73d9d2868439c15aa513efe141cfa828ec574ceb6c09180bc55cf5d8)\n\n## Description\n\nThis task corrects the starting anchor root in `AnchorStateRegistry` on `zeronet`.\n\n- deploying a new `AnchorStateRegistry` implementation\n- upgrading and reinitializing `AnchorStateRegistry` with the corrected starting anchor root\n\n## Procedure\n\n### Sign task\n\n#### 1. Update repo\n\n```bash\ncd contract-deployments\ngit pull\n```\n\n#### 2. Run signing tool\n\n```bash\ncd contract-deployments\nmake sign-task\n```\n\n#### 3. Open the UI at [http://localhost:3000](http://localhost:3000)\n\n- Select the correct signer role from the list of available users to sign.\n- After completion, close the signer tool with `Ctrl + C`.\n\n#### 4. Send signature to facilitator\n\nCopy the signature output and send it to the designated facilitator via the agreed communication channel.\n\nFor facilitator instructions, see `FACILITATOR.md`.\n"
  },
  {
    "path": "zeronet/2026-04-23-fix-starting-anchor-root/addresses.json",
    "content": "{\n  \"anchorStateRegistryImpl\": \"0x596c4145Fb7A5030Fb063BfC89Ff5D81724D86e7\"\n}"
  },
  {
    "path": "zeronet/2026-04-23-fix-starting-anchor-root/foundry.toml",
    "content": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\", path = \"./\" }]\noptimizer = true\noptimizer_runs = 200\nauto_detect_solc = true\nevm_version = \"prague\"\nvia-ir = false\nremappings = [\n    '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',\n    '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',\n    '@base-contracts/=lib/contracts/',\n    '@solady/=lib/solady/src/',\n    '@solady-v0.0.245/=lib/solady-v0.0.245/src/',\n    'forge-std/=lib/forge-std/src/',\n    'interfaces/dispute/=lib/contracts/interfaces/dispute/',\n    'interfaces/L1/=lib/contracts/interfaces/L1/',\n    'interfaces/legacy/=lib/contracts/interfaces/legacy/',\n    'interfaces/multiproof/=lib/contracts/interfaces/multiproof/',\n    'interfaces/universal/=lib/contracts/interfaces/universal/',\n    'src/L1/=lib/contracts/src/L1/',\n    'src/libraries/=lib/contracts/src/libraries/',\n    'src/dispute/=lib/contracts/src/dispute/',\n    'src/universal/=lib/contracts/src/universal/',\n    'lib/op-enclave/=lib/op-enclave/',\n    'openzeppelin/=lib/risc0-ethereum/lib/openzeppelin-contracts/',\n    '@lib-keccak/=lib/lib-keccak/contracts/lib/',\n    'interfaces/cannon/=lib/contracts/interfaces/cannon/',\n    'src/cannon/=lib/contracts/src/cannon/',\n]\n"
  },
  {
    "path": "zeronet/2026-04-23-fix-starting-anchor-root/patch/asr-reset-anchor-game.patch",
    "content": "diff --git a/src/dispute/AnchorStateRegistry.sol b/src/dispute/AnchorStateRegistry.sol\nindex 0e2c41c..2bc5746 100644\n--- a/src/dispute/AnchorStateRegistry.sol\n+++ b/src/dispute/AnchorStateRegistry.sol\n@@ -77,7 +77,7 @@ contract AnchorStateRegistry is ProxyAdminOwnedBase, Initializable, Reinitializa\n     error AnchorStateRegistry_Unauthorized();\n \n     /// @param _disputeGameFinalityDelaySeconds The dispute game finality delay in seconds.\n-    constructor(uint256 _disputeGameFinalityDelaySeconds) ReinitializableBase(2) {\n+    constructor(uint256 _disputeGameFinalityDelaySeconds) ReinitializableBase(4) {\n         DISPUTE_GAME_FINALITY_DELAY_SECONDS = _disputeGameFinalityDelaySeconds;\n         _disableInitializers();\n     }\n@@ -102,6 +102,7 @@ contract AnchorStateRegistry is ProxyAdminOwnedBase, Initializable, Reinitializa\n         systemConfig = _systemConfig;\n         disputeGameFactory = _disputeGameFactory;\n         startingAnchorRoot = _startingAnchorRoot;\n+        anchorGame = IFaultDisputeGame(address(0));\n         respectedGameType = _startingRespectedGameType;\n \n         // Set the retirement timestamp to the current timestamp the first time the contract is\n"
  },
  {
    "path": "zeronet/2026-04-23-fix-starting-anchor-root/records/DeployAnchorStateRegistry.s.sol/560048/run-1776984413388.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x0a70cbdf9984c3d692dd3bba621f658b342291eab7cadcdd422ea1609d51f838\",\n      \"transactionType\": \"CREATE\",\n      \"contractName\": \"AnchorStateRegistry\",\n      \"contractAddress\": \"0x596c4145fb7a5030fb063bfc89ff5d81724d86e7\",\n      \"function\": null,\n      \"arguments\": [\n        \"0\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"gas\": \"0x1b5d4d\",\n        \"value\": \"0x0\",\n        \"input\": \"0x60c060405234801561001057600080fd5b50604051620018d6380380620018d683398101604081905261003191610108565b600460805260a0819052610043610049565b50610121565b600054610100900460ff16156100b55760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614610106576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60006020828403121561011a57600080fd5b5051919050565b60805160a051611781620001556000396000818161045301526104f9015260008181610290015261094d01526117816000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80635958a19311610104578063952b2797116100a2578063e0a840eb11610071578063e0a840eb14610494578063ee658e45146104a7578063f2b4e617146104ba578063fdbb3dcf146104cd57600080fd5b8063952b27971461044e578063d5a3e12e1461047c578063d83ef26714610484578063dad544e01461048c57600080fd5b80636c4f4467116100de5780636c4f4467146103ed5780637258a807146104005780637d6be8dc146104285780637fc485041461043b57600080fd5b80635958a193146103945780635c975abb146103a7578063664ed830146103af57600080fd5b80633c9f397c1161017157806345884d321161014b57806345884d321461031a57806347a222c51461033d578063496b9c161461035057806354fd4d501461036357600080fd5b80633c9f397c146102ba5780633e47158c146102df5780634086d183146102e757600080fd5b806333d7e2bd116101ad57806333d7e2bd1461022457806334a346ea1461025557806335e80ab31461028157806338d38c971461028957600080fd5b80630314d2b3146101d457806304e50fed146101fc57806317cf21a91461020f575b600080fd5b6101e76101e2366004611384565b6104e0565b60405190151581526020015b60405180910390f35b6101e761020a366004611384565b6105b1565b61022261021d366004611384565b61061b565b005b60005461023d906201000090046001600160a01b031681565b6040516001600160a01b0390911681526020016101f3565b6101e7610263366004611384565b6001600160a01b031660009081526005602052604090205460ff1690565b61023d61071c565b60405160ff7f00000000000000000000000000000000000000000000000000000000000000001681526020016101f3565b6006546102ca9063ffffffff1681565b60405163ffffffff90911681526020016101f3565b61023d610799565b6006546103029064010000000090046001600160401b031681565b6040516001600160401b0390911681526020016101f3565b6101e7610328366004611384565b60056020526000908152604090205460ff1681565b61022261034b366004611400565b61094b565b6101e761035e366004611384565b610b03565b610387604051806040016040528060058152602001640332e372e360dc1b81525081565b6040516101f391906114f4565b6101e76103a2366004611384565b610b6e565b6101e7610be1565b6040805180820182526000808252602091820152815180830183526003548082526004549183019182528351908152905191810191909152016101f3565b6101e76103fb366004611384565b610c59565b61041361040e366004611507565b610d1c565b604080519283526020830191909152016101f3565b610222610436366004611384565b610d30565b610222610449366004611507565b610d84565b6040517f000000000000000000000000000000000000000000000000000000000000000081526020016101f3565b610222610dda565b610413610e46565b61023d610f58565b60025461023d906001600160a01b031681565b6101e76104b5366004611384565b610f9f565b60015461023d906001600160a01b031681565b6101e76104db366004611384565b611127565b60006104eb82611127565b6104f757506000919050565b7f0000000000000000000000000000000000000000000000000000000000000000610589836001600160a01b03166319effeb46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057d9190611540565b6001600160401b031690565b61059c906001600160401b031642611571565b116105a957506000919050565b506001919050565b6000816001600160a01b031663250e69bd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106159190611588565b92915050565b8061062581610c59565b610642576040516323d69b3d60e11b815260040160405180910390fd5b600061064c610e46565b91505080826001600160a01b03166399735e326040518163ffffffff1660e01b8152600401602060405180830381865afa15801561068e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b291906115aa565b116106d0576040516323d69b3d60e11b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0384169081179091556040517f474f180d74ea8751955ee261c93ff8270411b180408d1014c49f552c92a4d11e90600090a2505050565b60008060029054906101000a90046001600160a01b03166001600160a01b03166335e80ab36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610770573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079491906115c3565b905090565b6000806107c47fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b90506001600160a01b038116156107da57919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e67657200000000000081525051600261081d91906115e0565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e6765720000000000009190911790610878906060015b604051602081830303815290604052805190602001205490565b14610896576040516354e433cd60e01b815260040160405180910390fd5b604080513060208201526001918101919091526000906108b89060600161085e565b90506001600160a01b0381161561093257806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610907573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092b91906115c3565b9250505090565b60405163332144db60e01b815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000600054610100900460ff1615801561098b575060005460ff8083169116105b6109f25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805461ffff191660ff831617610100179055610a0e611274565b600080546001600160a01b03808816620100000262010000600160b01b0319909216919091178255600180549187166001600160a01b0319928316179055845160035560208501516004556002805490911690556006805463ffffffff851663ffffffff1990911617908190556001600160401b03640100000000909104169003610abb57600680546bffffffffffffffff000000001916640100000000426001600160401b0316021790555b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050565b6000610b0e82610f9f565b610b1a57506000919050565b6001600160a01b03821660009081526005602052604090205460ff1615610b4357506000919050565b610b4c82610b6e565b15610b5957506000919050565b610b61610be1565b156105a957506000919050565b6000600660049054906101000a90046001600160401b03166001600160401b0316610bd0836001600160a01b031663cf09e0d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610559573d6000803e3d6000fd5b6001600160401b0316111592915050565b60008060029054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c35573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107949190611588565b6000610c6482610b03565b610c7057506000919050565b610c79826105b1565b610c8557506000919050565b610c8e826104e0565b610c9a57506000919050565b6002826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfe9190611615565b6002811115610d0f57610d0f6115ff565b146105a957506000919050565b600080610d27610e46565b91509150915091565b610d386112c4565b6001600160a01b038116600081815260056020526040808220805460ff19166001179055517f192c289026d59a41a27f5aea08f3969b57931b0589202d14f4368cded95d3cda9190a250565b610d8c6112c4565b6006805463ffffffff191663ffffffff83169081179091556040519081527fcee0703b5e4bad4efededab85c9fd1aec17dee7c5f6c584330e0509b677745a29060200160405180910390a150565b610de26112c4565b600680546bffffffffffffffff000000001916640100000000426001600160401b03811691909102919091179091556040519081527f6e5b1ba771e8e484f741ed085f039ff4e5c6e882eaf68f550fb390922d0ae4a79060200160405180910390a1565b60025460009081906001600160a01b0316610e675750506003546004549091565b6002546040805163bcef3b5560e01b81529051610ed9926001600160a01b03169163bcef3b559160048083019260209291908290030181865afa158015610eb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed691906115aa565b90565b600260009054906101000a90046001600160a01b03166001600160a01b03166399735e326040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5091906115aa565b915091509091565b6000610f62610799565b6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610770573d6000803e3d6000fd5b600080600080846001600160a01b031663fa24f7436040518163ffffffff1660e01b8152600401600060405180830381865afa158015610fe3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261100b9190810190611636565b600154604051635f0150cb60e01b815293965091945092506000916001600160a01b0390911690635f0150cb9061104a908790879087906004016116e8565b6040805180830381865afa158015611066573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108a9190611716565b5090506000866001600160a01b0316635c0cba336040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f191906115c3565b9050866001600160a01b0316826001600160a01b031614801561111c57506001600160a01b03811630145b979650505050505050565b600061116a826001600160a01b03166319effeb46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610559573d6000803e3d6000fd5b6001600160401b03161580159061061557506002826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e09190611615565b60028111156111f1576111f16115ff565b148061061557506001826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa158015611238573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125c9190611615565b600281111561126d5761126d6115ff565b1492915050565b3361127d610799565b6001600160a01b0316141580156112a4575033611298610f58565b6001600160a01b031614155b156112c257604051636202851360e11b815260040160405180910390fd5b565b600060029054906101000a90046001600160a01b03166001600160a01b031663452a93206040518163ffffffff1660e01b8152600401602060405180830381865afa158015611317573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133b91906115c3565b6001600160a01b0316336001600160a01b0316146112c257604051630b94c86b60e21b815260040160405180910390fd5b6001600160a01b038116811461138157600080fd5b50565b60006020828403121561139657600080fd5b81356113a18161136c565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156113e6576113e66113a8565b604052919050565b63ffffffff8116811461138157600080fd5b60008060008084860360a081121561141757600080fd5b85356114228161136c565b945060208601356114328161136c565b93506040603f198201121561144657600080fd5b50604051604081018181106001600160401b0382111715611469576114696113a8565b60409081528601358152606086013560208201529150608085013561148d816113ee565b939692955090935050565b60005b838110156114b357818101518382015260200161149b565b838111156114c2576000848401525b50505050565b600081518084526114e0816020860160208601611498565b601f01601f19169290920160200192915050565b6020815260006113a160208301846114c8565b60006020828403121561151957600080fd5b81356113a1816113ee565b80516001600160401b038116811461153b57600080fd5b919050565b60006020828403121561155257600080fd5b6113a182611524565b634e487b7160e01b600052601160045260246000fd5b6000828210156115835761158361155b565b500390565b60006020828403121561159a57600080fd5b815180151581146113a157600080fd5b6000602082840312156115bc57600080fd5b5051919050565b6000602082840312156115d557600080fd5b81516113a18161136c565b60008160001904831182151516156115fa576115fa61155b565b500290565b634e487b7160e01b600052602160045260246000fd5b60006020828403121561162757600080fd5b8151600381106113a157600080fd5b60008060006060848603121561164b57600080fd5b8351611656816113ee565b6020850151604086015191945092506001600160401b038082111561167a57600080fd5b818601915086601f83011261168e57600080fd5b8151818111156116a0576116a06113a8565b6116b3601f8201601f19166020016113be565b91508082528760208285010111156116ca57600080fd5b6116db816020840160208601611498565b5080925050509250925092565b63ffffffff8416815282602082015260606040820152600061170d60608301846114c8565b95945050505050565b6000806040838503121561172957600080fd5b82516117348161136c565b915061174260208401611524565b9050925092905056fea26469706673582212206b6a958611f4a2314f775fd720e634495ad6ffc294b127551934c8ec9fba58b264736f6c634300080f00330000000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x72\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x24aa7c\",\n      \"logs\": [\n        {\n          \"address\": \"0x596c4145fb7a5030fb063bfc89ff5d81724d86e7\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x00000000000000000000000000000000000000000000000000000000000000ff\",\n          \"blockHash\": \"0x5b27a188e72a7ca5c913d466c8272808bbf1d31fe6ba73bd4871d8aa8529427a\",\n          \"blockNumber\": \"0x28dd9d\",\n          \"blockTimestamp\": \"0x69eaa140\",\n          \"transactionHash\": \"0x0a70cbdf9984c3d692dd3bba621f658b342291eab7cadcdd422ea1609d51f838\",\n          \"transactionIndex\": \"0x4\",\n          \"logIndex\": \"0x7\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000002000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000100000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x0a70cbdf9984c3d692dd3bba621f658b342291eab7cadcdd422ea1609d51f838\",\n      \"transactionIndex\": \"0x4\",\n      \"blockHash\": \"0x5b27a188e72a7ca5c913d466c8272808bbf1d31fe6ba73bd4871d8aa8529427a\",\n      \"blockNumber\": \"0x28dd9d\",\n      \"gasUsed\": \"0x150cb2\",\n      \"effectiveGasPrice\": \"0x3b9aca07\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": null,\n      \"contractAddress\": \"0x596c4145fb7a5030fb063bfc89ff5d81724d86e7\"\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1776984413388,\n  \"chain\": 560048,\n  \"commit\": \"0483f1e\"\n}"
  },
  {
    "path": "zeronet/2026-04-23-fix-starting-anchor-root/records/FixStartingAnchorRoot.s.sol/560048/approve-latest.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xa9a94b9f759990319e82ae4637085ac8d16885b966ca05cc0ba5c0222bd491f5\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x856611ed7e07d83243b15e93f6321f2df6865852\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n        \"0\",\n        \"0xd4d9bdcdc38e795602c9d3d10383dc66d3b6787c691d50712ba86ad9569e54cbc9089885\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x9ed3e895d92b0032444e094a6c87d7bbd153acba42d5b6337d648243bf33103a11b77e521c46ecbf7a66d6e0d93067fac58e26ca8d012793e4203e2cc6272d2b1c7f6fad9d51fe3a75814221bff08531bd66ab7e2457e1f1db0eba828fbf290cef6b3ebfec2b2fcce1b698416e0c319a1afe26921c543c12040a0ff0f0d401bc7c1b5525f21a75b181fe90e3021725520b8b3d1762165ce726a807bd239001ae45724c69ff242a506c796e8430b101744b5d70cc56a7aa3d42bdef498f5faddff1601b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x856611ed7e07d83243b15e93f6321f2df6865852\",\n        \"gas\": \"0x20381\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000003d59999977e0896ee1f8783bb8251df16fb483e90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcdc38e795602c9d3d10383dc66d3b6787c691d50712ba86ad9569e54cbc90898850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c39ed3e895d92b0032444e094a6c87d7bbd153acba42d5b6337d648243bf33103a11b77e521c46ecbf7a66d6e0d93067fac58e26ca8d012793e4203e2cc6272d2b1c7f6fad9d51fe3a75814221bff08531bd66ab7e2457e1f1db0eba828fbf290cef6b3ebfec2b2fcce1b698416e0c319a1afe26921c543c12040a0ff0f0d401bc7c1b5525f21a75b181fe90e3021725520b8b3d1762165ce726a807bd239001ae45724c69ff242a506c796e8430b101744b5d70cc56a7aa3d42bdef498f5faddff1601b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x74\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xf403b\",\n      \"logs\": [\n        {\n          \"address\": \"0x3d59999977e0896ee1f8783bb8251df16fb483e9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xc38e795602c9d3d10383dc66d3b6787c691d50712ba86ad9569e54cbc9089885\",\n            \"0x000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x5405ab83c1c4ad21d0fd7e2b19813373a31c326de0c4f555cc7342ece851e2ae\",\n          \"blockNumber\": \"0x28de1b\",\n          \"blockTimestamp\": \"0x69eaa758\",\n          \"transactionHash\": \"0xa9a94b9f759990319e82ae4637085ac8d16885b966ca05cc0ba5c0222bd491f5\",\n          \"transactionIndex\": \"0x17\",\n          \"logIndex\": \"0x6\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x856611ed7e07d83243b15e93f6321f2df6865852\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0xbcf0652825417058d9ee2a7fcf2876b84a63dbb6e2f315aec51c51fe4912024d\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x5405ab83c1c4ad21d0fd7e2b19813373a31c326de0c4f555cc7342ece851e2ae\",\n          \"blockNumber\": \"0x28de1b\",\n          \"blockTimestamp\": \"0x69eaa758\",\n          \"transactionHash\": \"0xa9a94b9f759990319e82ae4637085ac8d16885b966ca05cc0ba5c0222bd491f5\",\n          \"transactionIndex\": \"0x17\",\n          \"logIndex\": \"0x7\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000200000000000000000000000000040000001001000000000000000000000000000000000000000000100000000000000000000000000000000000000200000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000008100000000000000000000000000200000000000008000000000000000000000000000000000000000000000000040000004000000200000100080000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000040100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xa9a94b9f759990319e82ae4637085ac8d16885b966ca05cc0ba5c0222bd491f5\",\n      \"transactionIndex\": \"0x17\",\n      \"blockHash\": \"0x5405ab83c1c4ad21d0fd7e2b19813373a31c326de0c4f555cc7342ece851e2ae\",\n      \"blockNumber\": \"0x28de1b\",\n      \"gasUsed\": \"0x17538\",\n      \"effectiveGasPrice\": \"0x3b9aca07\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x856611ed7e07d83243b15e93f6321f2df6865852\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1776985945169,\n  \"chain\": 560048,\n  \"commit\": \"49c9513\"\n}"
  },
  {
    "path": "zeronet/2026-04-23-fix-starting-anchor-root/records/FixStartingAnchorRoot.s.sol/560048/run-1776985056998.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xa1571fb8f3bf0b54e7e1a8547a3dae5db03a260317182ad64e116467de0368a5\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n        \"0\",\n        \"0xd4d9bdcdc38e795602c9d3d10383dc66d3b6787c691d50712ba86ad9569e54cbc9089885\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x823f52da5fd8768ab8da39a21ba4e8eaab91a8e5d670b300b50f4328e2fd826f7b82b95f9e5eab719ba274f8c2ccf9e0fb4dedbab6c73e2c32aef70aa40601d61c\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\",\n        \"gas\": \"0x1b742\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000003d59999977e0896ee1f8783bb8251df16fb483e90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcdc38e795602c9d3d10383dc66d3b6787c691d50712ba86ad9569e54cbc9089885000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041823f52da5fd8768ab8da39a21ba4e8eaab91a8e5d670b300b50f4328e2fd826f7b82b95f9e5eab719ba274f8c2ccf9e0fb4dedbab6c73e2c32aef70aa40601d61c00000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x73\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x3242a3\",\n      \"logs\": [\n        {\n          \"address\": \"0x3d59999977e0896ee1f8783bb8251df16fb483e9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xc38e795602c9d3d10383dc66d3b6787c691d50712ba86ad9569e54cbc9089885\",\n            \"0x000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x1f0c46bdbfe5fd5055e1c5765c3001a3d0e22d7de3156388bf3e238396850d9c\",\n          \"blockNumber\": \"0x28ddd3\",\n          \"blockTimestamp\": \"0x69eaa3e0\",\n          \"transactionHash\": \"0xa1571fb8f3bf0b54e7e1a8547a3dae5db03a260317182ad64e116467de0368a5\",\n          \"transactionIndex\": \"0x17\",\n          \"logIndex\": \"0x1a\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0xb97111daf12129caf47ea9ed7dfc5644137caeaea6cfbfd36631eb766205bad0\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x1f0c46bdbfe5fd5055e1c5765c3001a3d0e22d7de3156388bf3e238396850d9c\",\n          \"blockNumber\": \"0x28ddd3\",\n          \"blockTimestamp\": \"0x69eaa3e0\",\n          \"transactionHash\": \"0xa1571fb8f3bf0b54e7e1a8547a3dae5db03a260317182ad64e116467de0368a5\",\n          \"transactionIndex\": \"0x17\",\n          \"logIndex\": \"0x1b\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000000000000000000000000000040000000001000000000000000000000000004000000000000000100000000000000000010000000000000000000200000000000000000800000000000000001000000008000000400000400000000000000000800000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000004000000200000000080000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xa1571fb8f3bf0b54e7e1a8547a3dae5db03a260317182ad64e116467de0368a5\",\n      \"transactionIndex\": \"0x17\",\n      \"blockHash\": \"0x1f0c46bdbfe5fd5055e1c5765c3001a3d0e22d7de3156388bf3e238396850d9c\",\n      \"blockNumber\": \"0x28ddd3\",\n      \"gasUsed\": \"0x13e04\",\n      \"effectiveGasPrice\": \"0x3b9aca07\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1776985056998,\n  \"chain\": 560048,\n  \"commit\": \"49c9513\"\n}"
  },
  {
    "path": "zeronet/2026-04-23-fix-starting-anchor-root/records/FixStartingAnchorRoot.s.sol/560048/run-1776985945169.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0xa9a94b9f759990319e82ae4637085ac8d16885b966ca05cc0ba5c0222bd491f5\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x856611ed7e07d83243b15e93f6321f2df6865852\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n        \"0\",\n        \"0xd4d9bdcdc38e795602c9d3d10383dc66d3b6787c691d50712ba86ad9569e54cbc9089885\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x9ed3e895d92b0032444e094a6c87d7bbd153acba42d5b6337d648243bf33103a11b77e521c46ecbf7a66d6e0d93067fac58e26ca8d012793e4203e2cc6272d2b1c7f6fad9d51fe3a75814221bff08531bd66ab7e2457e1f1db0eba828fbf290cef6b3ebfec2b2fcce1b698416e0c319a1afe26921c543c12040a0ff0f0d401bc7c1b5525f21a75b181fe90e3021725520b8b3d1762165ce726a807bd239001ae45724c69ff242a506c796e8430b101744b5d70cc56a7aa3d42bdef498f5faddff1601b\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x856611ed7e07d83243b15e93f6321f2df6865852\",\n        \"gas\": \"0x20381\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a7612020000000000000000000000003d59999977e0896ee1f8783bb8251df16fb483e90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcdc38e795602c9d3d10383dc66d3b6787c691d50712ba86ad9569e54cbc90898850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c39ed3e895d92b0032444e094a6c87d7bbd153acba42d5b6337d648243bf33103a11b77e521c46ecbf7a66d6e0d93067fac58e26ca8d012793e4203e2cc6272d2b1c7f6fad9d51fe3a75814221bff08531bd66ab7e2457e1f1db0eba828fbf290cef6b3ebfec2b2fcce1b698416e0c319a1afe26921c543c12040a0ff0f0d401bc7c1b5525f21a75b181fe90e3021725520b8b3d1762165ce726a807bd239001ae45724c69ff242a506c796e8430b101744b5d70cc56a7aa3d42bdef498f5faddff1601b0000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x74\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0xf403b\",\n      \"logs\": [\n        {\n          \"address\": \"0x3d59999977e0896ee1f8783bb8251df16fb483e9\",\n          \"topics\": [\n            \"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c\",\n            \"0xc38e795602c9d3d10383dc66d3b6787c691d50712ba86ad9569e54cbc9089885\",\n            \"0x000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0x5405ab83c1c4ad21d0fd7e2b19813373a31c326de0c4f555cc7342ece851e2ae\",\n          \"blockNumber\": \"0x28de1b\",\n          \"blockTimestamp\": \"0x69eaa758\",\n          \"transactionHash\": \"0xa9a94b9f759990319e82ae4637085ac8d16885b966ca05cc0ba5c0222bd491f5\",\n          \"transactionIndex\": \"0x17\",\n          \"logIndex\": \"0x6\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x856611ed7e07d83243b15e93f6321f2df6865852\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0xbcf0652825417058d9ee2a7fcf2876b84a63dbb6e2f315aec51c51fe4912024d\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0x5405ab83c1c4ad21d0fd7e2b19813373a31c326de0c4f555cc7342ece851e2ae\",\n          \"blockNumber\": \"0x28de1b\",\n          \"blockTimestamp\": \"0x69eaa758\",\n          \"transactionHash\": \"0xa9a94b9f759990319e82ae4637085ac8d16885b966ca05cc0ba5c0222bd491f5\",\n          \"transactionIndex\": \"0x17\",\n          \"logIndex\": \"0x7\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000200000000000000000000000000040000001001000000000000000000000000000000000000000000100000000000000000000000000000000000000200000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000008100000000000000000000000000200000000000008000000000000000000000000000000000000000000000000040000004000000200000100080000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000040100000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0xa9a94b9f759990319e82ae4637085ac8d16885b966ca05cc0ba5c0222bd491f5\",\n      \"transactionIndex\": \"0x17\",\n      \"blockHash\": \"0x5405ab83c1c4ad21d0fd7e2b19813373a31c326de0c4f555cc7342ece851e2ae\",\n      \"blockNumber\": \"0x28de1b\",\n      \"gasUsed\": \"0x17538\",\n      \"effectiveGasPrice\": \"0x3b9aca07\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x856611ed7e07d83243b15e93f6321f2df6865852\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1776985945169,\n  \"chain\": 560048,\n  \"commit\": \"49c9513\"\n}"
  },
  {
    "path": "zeronet/2026-04-23-fix-starting-anchor-root/records/FixStartingAnchorRoot.s.sol/560048/run-1776985969684.json",
    "content": "{\n  \"transactions\": [\n    {\n      \"hash\": \"0x76e97ddf73d9d2868439c15aa513efe141cfa828ec574ceb6c09180bc55cf5d8\",\n      \"transactionType\": \"CALL\",\n      \"contractName\": null,\n      \"contractAddress\": \"0x3d59999977e0896ee1f8783bb8251df16fb483e9\",\n      \"function\": \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n      \"arguments\": [\n        \"0x44F00318360258744A0dAa957c2d15080A473469\",\n        \"0\",\n        \"0x9623609d00000000000000000000000060a6c389f0bc5ce4269a40d9695927bc58700328000000000000000000000000596c4145fb7a5030fb063bfc89ff5d81724d86e7000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a447a222c5000000000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea80000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a80904373f15239be5592ac833621e7a4af2e3e1e5bb9212a938613ac5201b1da0539000000000000000000000000000000000000000000000000000000000016e288000000000000000000000000000000000000000000000000000000000000026d00000000000000000000000000000000000000000000000000000000\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x0000000000000000000000000000000000000000\",\n        \"0x000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba000000000000000000000000000000000000000000000000000000000000000001\"\n      ],\n      \"transaction\": {\n        \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n        \"to\": \"0x3d59999977e0896ee1f8783bb8251df16fb483e9\",\n        \"gas\": \"0x227aa\",\n        \"value\": \"0x0\",\n        \"input\": \"0x6a76120200000000000000000000000044f00318360258744a0daa957c2d15080a4734690000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000001449623609d00000000000000000000000060a6c389f0bc5ce4269a40d9695927bc58700328000000000000000000000000596c4145fb7a5030fb063bfc89ff5d81724d86e7000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a447a222c5000000000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea80000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a80904373f15239be5592ac833621e7a4af2e3e1e5bb9212a938613ac5201b1da0539000000000000000000000000000000000000000000000000000000000016e288000000000000000000000000000000000000000000000000000000000000026d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000\",\n        \"nonce\": \"0x75\",\n        \"chainId\": \"0x88bb0\"\n      },\n      \"additionalContracts\": [],\n      \"isFixedGasLimit\": false\n    }\n  ],\n  \"receipts\": [\n    {\n      \"status\": \"0x1\",\n      \"cumulativeGasUsed\": \"0x1fee76\",\n      \"logs\": [\n        {\n          \"address\": \"0x60a6c389f0bc5ce4269a40d9695927bc58700328\",\n          \"topics\": [\n            \"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b\",\n            \"0x000000000000000000000000596c4145fb7a5030fb063bfc89ff5d81724d86e7\"\n          ],\n          \"data\": \"0x\",\n          \"blockHash\": \"0xf9305914f8236d87167b5ac4a3fbd3d8547ab8e228d4fc12cf7ced2cd2fd66a5\",\n          \"blockNumber\": \"0x28de1c\",\n          \"blockTimestamp\": \"0x69eaa770\",\n          \"transactionHash\": \"0x76e97ddf73d9d2868439c15aa513efe141cfa828ec574ceb6c09180bc55cf5d8\",\n          \"transactionIndex\": \"0x6\",\n          \"logIndex\": \"0xc\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x60a6c389f0bc5ce4269a40d9695927bc58700328\",\n          \"topics\": [\n            \"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"blockHash\": \"0xf9305914f8236d87167b5ac4a3fbd3d8547ab8e228d4fc12cf7ced2cd2fd66a5\",\n          \"blockNumber\": \"0x28de1c\",\n          \"blockTimestamp\": \"0x69eaa770\",\n          \"transactionHash\": \"0x76e97ddf73d9d2868439c15aa513efe141cfa828ec574ceb6c09180bc55cf5d8\",\n          \"transactionIndex\": \"0x6\",\n          \"logIndex\": \"0xd\",\n          \"removed\": false\n        },\n        {\n          \"address\": \"0x3d59999977e0896ee1f8783bb8251df16fb483e9\",\n          \"topics\": [\n            \"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e\",\n            \"0xc38e795602c9d3d10383dc66d3b6787c691d50712ba86ad9569e54cbc9089885\"\n          ],\n          \"data\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"blockHash\": \"0xf9305914f8236d87167b5ac4a3fbd3d8547ab8e228d4fc12cf7ced2cd2fd66a5\",\n          \"blockNumber\": \"0x28de1c\",\n          \"blockTimestamp\": \"0x69eaa770\",\n          \"transactionHash\": \"0x76e97ddf73d9d2868439c15aa513efe141cfa828ec574ceb6c09180bc55cf5d8\",\n          \"transactionIndex\": \"0x6\",\n          \"logIndex\": \"0xe\",\n          \"removed\": false\n        }\n      ],\n      \"logsBloom\": \"0x00000000400000000000000000000000400000000000000800000000040000000001000000000020000000000000000000000000000000000000000000000000000000000000000000000200000022000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000080000000000000000200000000000000080000000000000404000000200000000080000000000000000000000020000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000\",\n      \"type\": \"0x2\",\n      \"transactionHash\": \"0x76e97ddf73d9d2868439c15aa513efe141cfa828ec574ceb6c09180bc55cf5d8\",\n      \"transactionIndex\": \"0x6\",\n      \"blockHash\": \"0xf9305914f8236d87167b5ac4a3fbd3d8547ab8e228d4fc12cf7ced2cd2fd66a5\",\n      \"blockNumber\": \"0x28de1c\",\n      \"gasUsed\": \"0x18f66\",\n      \"effectiveGasPrice\": \"0x3b9aca07\",\n      \"from\": \"0xb2d9a52e76841279ef0372c534c539a4f68f8c0b\",\n      \"to\": \"0x3d59999977e0896ee1f8783bb8251df16fb483e9\",\n      \"contractAddress\": null\n    }\n  ],\n  \"libraries\": [],\n  \"pending\": [],\n  \"returns\": {},\n  \"timestamp\": 1776985969684,\n  \"chain\": 560048,\n  \"commit\": \"49c9513\"\n}"
  },
  {
    "path": "zeronet/2026-04-23-fix-starting-anchor-root/script/DeployAnchorStateRegistry.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Script, console} from \"forge-std/Script.sol\";\n\nimport {AnchorStateRegistry} from \"@base-contracts/src/dispute/AnchorStateRegistry.sol\";\n\n/// @notice Deploys the next AnchorStateRegistry implementation used to correct the starting anchor root.\ncontract DeployAnchorStateRegistry is Script {\n    address internal anchorStateRegistryProxyEnv;\n\n    uint256 internal currentDisputeGameFinalityDelaySeconds;\n    uint8 internal currentInitVersion;\n\n    address public anchorStateRegistryImpl;\n\n    function setUp() public {\n        anchorStateRegistryProxyEnv = vm.envAddress(\"ANCHOR_STATE_REGISTRY_PROXY\");\n        require(anchorStateRegistryProxyEnv != address(0), \"anchor state registry proxy not found\");\n\n        AnchorStateRegistry currentAsr = AnchorStateRegistry(anchorStateRegistryProxyEnv);\n        currentDisputeGameFinalityDelaySeconds = currentAsr.disputeGameFinalityDelaySeconds();\n        currentInitVersion = currentAsr.initVersion();\n    }\n\n    function run() external {\n        vm.startBroadcast();\n\n        anchorStateRegistryImpl = address(\n            new AnchorStateRegistry({_disputeGameFinalityDelaySeconds: currentDisputeGameFinalityDelaySeconds})\n        );\n\n        vm.stopBroadcast();\n\n        _postCheck();\n        _writeAddresses();\n    }\n\n    function _postCheck() internal view {\n        AnchorStateRegistry nextAsr = AnchorStateRegistry(anchorStateRegistryImpl);\n\n        require(\n            nextAsr.disputeGameFinalityDelaySeconds() == currentDisputeGameFinalityDelaySeconds,\n            \"anchor state registry finality delay mismatch\"\n        );\n        require(nextAsr.initVersion() == currentInitVersion + 1, \"anchor state registry init version mismatch\");\n    }\n\n    function _writeAddresses() internal {\n        console.log(\"AnchorStateRegistry impl:\", anchorStateRegistryImpl);\n\n        string memory root = \"root\";\n        string memory json =\n            vm.serializeAddress({objectKey: root, valueKey: \"anchorStateRegistryImpl\", value: anchorStateRegistryImpl});\n        vm.writeJson({json: json, path: \"addresses.json\"});\n    }\n}\n"
  },
  {
    "path": "zeronet/2026-04-23-fix-starting-anchor-root/script/FixStartingAnchorRoot.s.sol",
    "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {Vm} from \"forge-std/Vm.sol\";\n\nimport {ISystemConfig} from \"interfaces/L1/ISystemConfig.sol\";\nimport {IDisputeGameFactory} from \"interfaces/dispute/IDisputeGameFactory.sol\";\n\nimport {MultisigScript, Enum} from \"@base-contracts/script/universal/MultisigScript.sol\";\nimport {Simulation} from \"@base-contracts/script/universal/Simulation.sol\";\nimport {GameType, Hash, Proposal} from \"@base-contracts/src/dispute/lib/Types.sol\";\nimport {AnchorStateRegistry} from \"@base-contracts/src/dispute/AnchorStateRegistry.sol\";\n\ninterface IProxyAdmin {\n    function owner() external view returns (address);\n    function upgradeAndCall(address proxy, address implementation, bytes calldata data) external payable;\n}\n\ninterface IProxy {\n    function implementation() external view returns (address);\n}\n\n/// @notice Corrects the starting anchor root stored in the AnchorStateRegistry.\ncontract FixStartingAnchorRoot is MultisigScript {\n    address internal ownerSafeEnv;\n    address internal proxyAdminEnv;\n    address internal systemConfigEnv;\n    address internal anchorStateRegistryProxyEnv;\n    address internal disputeGameFactoryProxyEnv;\n    GameType internal gameTypeEnv;\n    bytes32 internal startingAnchorRootEnv;\n    uint256 internal startingAnchorL2BlockNumberEnv;\n\n    address internal currentAnchorStateRegistryImpl;\n    uint256 internal currentAsrDisputeGameFinalityDelaySeconds;\n    uint8 internal currentAsrInitVersion;\n\n    address internal nextAnchorStateRegistryImpl;\n\n    function setUp() public {\n        ownerSafeEnv = vm.envAddress(\"PROXY_ADMIN_OWNER\");\n        proxyAdminEnv = vm.envAddress(\"L1_PROXY_ADMIN\");\n        systemConfigEnv = vm.envAddress(\"SYSTEM_CONFIG\");\n        anchorStateRegistryProxyEnv = vm.envAddress(\"ANCHOR_STATE_REGISTRY_PROXY\");\n        disputeGameFactoryProxyEnv = vm.envAddress(\"DISPUTE_GAME_FACTORY_PROXY\");\n        gameTypeEnv = GameType.wrap(uint32(vm.envUint(\"GAME_TYPE\")));\n        startingAnchorRootEnv = vm.envBytes32(\"STARTING_ANCHOR_ROOT\");\n        startingAnchorL2BlockNumberEnv = vm.envUint(\"STARTING_ANCHOR_L2_BLOCK_NUMBER\");\n\n        require(IProxyAdmin(proxyAdminEnv).owner() == ownerSafeEnv, \"proxy admin owner mismatch\");\n\n        AnchorStateRegistry currentAsr = AnchorStateRegistry(anchorStateRegistryProxyEnv);\n        currentAsrDisputeGameFinalityDelaySeconds = currentAsr.disputeGameFinalityDelaySeconds();\n        currentAsrInitVersion = currentAsr.initVersion();\n\n        vm.prank(proxyAdminEnv);\n        currentAnchorStateRegistryImpl = IProxy(anchorStateRegistryProxyEnv).implementation();\n\n        string memory root = vm.projectRoot();\n        string memory path = string.concat(root, \"/addresses.json\");\n        string memory json = vm.readFile(path);\n\n        nextAnchorStateRegistryImpl = vm.parseJsonAddress({json: json, key: \".anchorStateRegistryImpl\"});\n\n        require(nextAnchorStateRegistryImpl != address(0), \"next asr impl not set\");\n        require(nextAnchorStateRegistryImpl != currentAnchorStateRegistryImpl, \"next asr impl equals current\");\n        require(startingAnchorRootEnv != bytes32(0), \"starting anchor root not set\");\n        require(startingAnchorL2BlockNumberEnv != 0, \"starting anchor block not set\");\n\n        AnchorStateRegistry nextAsrImpl = AnchorStateRegistry(nextAnchorStateRegistryImpl);\n        require(\n            nextAsrImpl.disputeGameFinalityDelaySeconds() == currentAsrDisputeGameFinalityDelaySeconds,\n            \"next asr finality delay mismatch\"\n        );\n        require(nextAsrImpl.initVersion() == currentAsrInitVersion + 1, \"next asr init version mismatch\");\n    }\n\n    function _buildCalls() internal view override returns (Call[] memory) {\n        Call[] memory calls = new Call[](1);\n\n        calls[0] = Call({\n            operation: Enum.Operation.Call,\n            target: proxyAdminEnv,\n            data: abi.encodeCall(\n                IProxyAdmin.upgradeAndCall,\n                (\n                    anchorStateRegistryProxyEnv,\n                    nextAnchorStateRegistryImpl,\n                    abi.encodeCall(\n                        AnchorStateRegistry.initialize,\n                        (\n                            ISystemConfig(systemConfigEnv),\n                            IDisputeGameFactory(disputeGameFactoryProxyEnv),\n                            Proposal({\n                                root: Hash.wrap(startingAnchorRootEnv), l2SequenceNumber: startingAnchorL2BlockNumberEnv\n                            }),\n                            gameTypeEnv\n                        )\n                    )\n                )\n            ),\n            value: 0\n        });\n\n        return calls;\n    }\n\n    function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal override {\n        AnchorStateRegistry asr = AnchorStateRegistry(anchorStateRegistryProxyEnv);\n        Proposal memory startingAnchor = asr.getStartingAnchorRoot();\n        (Hash currentAnchorRoot, uint256 currentAnchorL2BlockNumber) = asr.getAnchorRoot();\n\n        vm.prank(proxyAdminEnv);\n        require(\n            IProxy(anchorStateRegistryProxyEnv).implementation() == nextAnchorStateRegistryImpl, \"asr impl mismatch\"\n        );\n\n        require(address(asr.systemConfig()) == systemConfigEnv, \"asr system config mismatch\");\n        require(address(asr.disputeGameFactory()) == disputeGameFactoryProxyEnv, \"asr dgf mismatch\");\n        require(address(asr.anchorGame()) == address(0), \"asr anchor game not reset\");\n        require(Hash.unwrap(startingAnchor.root) == startingAnchorRootEnv, \"asr starting anchor root mismatch\");\n        require(startingAnchor.l2SequenceNumber == startingAnchorL2BlockNumberEnv, \"asr starting anchor block mismatch\");\n        require(Hash.unwrap(currentAnchorRoot) == startingAnchorRootEnv, \"asr current anchor root mismatch\");\n        require(currentAnchorL2BlockNumber == startingAnchorL2BlockNumberEnv, \"asr current anchor block mismatch\");\n        require(GameType.unwrap(asr.respectedGameType()) == GameType.unwrap(gameTypeEnv), \"asr game type mismatch\");\n        require(\n            asr.disputeGameFinalityDelaySeconds() == currentAsrDisputeGameFinalityDelaySeconds,\n            \"asr finality delay mismatch\"\n        );\n        require(asr.initVersion() == currentAsrInitVersion + 1, \"asr init version mismatch\");\n    }\n\n    function _ownerSafe() internal view override returns (address) {\n        return ownerSafeEnv;\n    }\n}\n"
  },
  {
    "path": "zeronet/2026-04-23-fix-starting-anchor-root/validations/fix-starting-anchor-root-cb-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net script/FixStartingAnchorRoot.s.sol:FixStartingAnchorRoot --sig sign(address[]) [0x856611ed7e07d83243b15e93f6321f2df6865852] --sender 0x931E24B032511d8dD029AedeB44837FAc251f3d8\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net\",\n  \"skipTaskOriginValidation\": true,\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n    \"domainHash\": \"0xc88eae2baaa4c8513a3d87913666de9463f106158aaf8be5cd31588215ccd5c4\",\n    \"messageHash\": \"0x0ff6fce4b7c10174db087292441af48396dfad7c508efaf595a6f34c6fcba7fd\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Zeronet\",\n      \"address\": \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Zeronet\",\n      \"address\": \"0x856611eD7E07D83243b15E93f6321f2df6865852\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0xe9540050175d15c3a95106fc8495f17742778c434e1c5f5b6c1ebe00b852c90a\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Proxy Admin Owner - Zeronet\",\n      \"address\": \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x6d7df9aa194cec9a6ec1e34c70c8bb742ca231d9226ade7c1a0817a139c311c8\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Records the approval of this task's transaction hash by the CB Signer Safe (nested approver of the Proxy Admin Owner).\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"AnchorStateRegistry - Zeronet\",\n      \"address\": \"0x60A6C389F0BC5cE4269A40d9695927bC58700328\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"before\": \"0x00000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea800003\",\n          \"after\": \"0x00000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea800004\",\n          \"description\": \"Runs the AnchorStateRegistry reinitializer for the starting anchor root correction, keeping the packed SystemConfig address unchanged and bumping initVersion from 3 to 4.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"before\": \"0x333041604fff095bd1f06c0d4e9294c64522d9a780e5a497559045e724f1f696\",\n          \"after\": \"0x4373f15239be5592ac833621e7a4af2e3e1e5bb9212a938613ac5201b1da0539\",\n          \"description\": \"Corrects the starting anchor root for the multiproof game type from 0x333041604fff095bd1f06c0d4e9294c64522d9a780e5a497559045e724f1f696 to 0x4373f15239be5592ac833621e7a4af2e3e1e5bb9212a938613ac5201b1da0539.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x00000000000000000000000097cf8c67e0bca7b55909191a731f4d762c9d5ff1\",\n          \"after\": \"0x000000000000000000000000596c4145fb7a5030fb063bfc89ff5d81724d86e7\",\n          \"description\": \"Update address of AnchorStateRegistry to new implementation.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"CB Signer Safe - Zeronet\",\n      \"address\": \"0x856611eD7E07D83243b15E93f6321f2df6865852\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000006\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": [],\n  \"taskOriginConfig\": {\n    \"taskCreator\": {\n      \"commonName\": \"baptiste.oueriagli@coinbase.com\"\n    }\n  }\n}"
  },
  {
    "path": "zeronet/2026-04-23-fix-starting-anchor-root/validations/fix-starting-anchor-root-sc-signer.json",
    "content": "{\n  \"cmd\": \"forge script --rpc-url https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net script/FixStartingAnchorRoot.s.sol:FixStartingAnchorRoot --sig sign(address[]) [0xC4c0aD998B5DfA4CF4B298970F21b9015a5eE7bA] --sender 0x931E24B032511d8dD029AedeB44837FAc251f3d8\",\n  \"ledgerId\": 1,\n  \"rpcUrl\": \"https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net\",\n  \"skipTaskOriginValidation\": true,\n  \"expectedDomainAndMessageHashes\": {\n    \"address\": \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n    \"domainHash\": \"0x1e2faea9157fbff31d9297595a71e2dedfeb1184207c07bb6bd64f807332a525\",\n    \"messageHash\": \"0x16829ef235a276989ba78cd6da290a07211627e047a5c0ff4b5feb16e918c742\"\n  },\n  \"stateOverrides\": [\n    {\n      \"name\": \"Proxy Admin Owner - Zeronet\",\n      \"address\": \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n      \"overrides\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Override the threshold to 1 so the transaction simulation can occur.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Security Council Safe - Zeronet\",\n      \"address\": \"0xC4c0aD998B5DfA4CF4B298970F21b9015a5eE7bA\",\n      \"overrides\": [\n        {\n          \"key\": \"0x53b009f5fdb874363c12ef7c86308607c3772aee58d3ee5e720e65b9107a2710\",\n          \"value\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Simulates an approval from msg.sender in order for the task simulation to succeed.\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"stateChanges\": [\n    {\n      \"name\": \"Proxy Admin Owner - Zeronet\",\n      \"address\": \"0x3d59999977e0896ee1f8783bB8251DF16fb483E9\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x501e1a4e0022971c0ea2475e2900c8204a6d484ccf93001449c459df5a3964bf\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000001\",\n          \"description\": \"Records the approval of this task's transaction hash by the Security Council Safe (nested approver of the Proxy Admin Owner).\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"AnchorStateRegistry - Zeronet\",\n      \"address\": \"0x60A6C389F0BC5cE4269A40d9695927bC58700328\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n          \"before\": \"0x00000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea800003\",\n          \"after\": \"0x00000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea800004\",\n          \"description\": \"Runs the AnchorStateRegistry reinitializer for the starting anchor root correction, keeping the packed SystemConfig address unchanged and bumping initVersion from 3 to 4.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000003\",\n          \"before\": \"0x333041604fff095bd1f06c0d4e9294c64522d9a780e5a497559045e724f1f696\",\n          \"after\": \"0x4373f15239be5592ac833621e7a4af2e3e1e5bb9212a938613ac5201b1da0539\",\n          \"description\": \"Corrects the starting anchor root for the multiproof game type from 0x333041604fff095bd1f06c0d4e9294c64522d9a780e5a497559045e724f1f696 to 0x4373f15239be5592ac833621e7a4af2e3e1e5bb9212a938613ac5201b1da0539.\",\n          \"allowDifference\": false\n        },\n        {\n          \"key\": \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n          \"before\": \"0x00000000000000000000000097cf8c67e0bca7b55909191a731f4d762c9d5ff1\",\n          \"after\": \"0x000000000000000000000000596c4145fb7a5030fb063bfc89ff5d81724d86e7\",\n          \"description\": \"Update address of AnchorStateRegistry to new implementation.\",\n          \"allowDifference\": false\n        }\n      ]\n    },\n    {\n      \"name\": \"Security Council Safe - Zeronet\",\n      \"address\": \"0xC4c0aD998B5DfA4CF4B298970F21b9015a5eE7bA\",\n      \"changes\": [\n        {\n          \"key\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"before\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n          \"after\": \"0x0000000000000000000000000000000000000000000000000000000000000005\",\n          \"description\": \"Increments the nonce\",\n          \"allowDifference\": false\n        }\n      ]\n    }\n  ],\n  \"balanceChanges\": [],\n  \"taskOriginConfig\": {\n    \"taskCreator\": {\n      \"commonName\": \"baptiste.oueriagli@coinbase.com\"\n    }\n  }\n}"
  }
]